กลับไปหน้าบทความ

อ่าน 5 นาที

อัลกอริทึมของพระเจ้า

อัลกอริทึมของพระเจ้าสำหรับลูกบาศก์รูบิก เป็นแนวคิดที่มาจากการอภิปรายเกี่ยวกับวิธีการแก้ปริศนา ลูกบาศก์รูบิก [ 1 ] แต่ยังสามารถนำไปใช้กับ ปริศนาเชิง การจัดเรียง และ เกมคณิตศาสตร์...

อัลกอริทึมของพระเจ้า

อัลกอริทึมของพระเจ้าสำหรับลูกบาศก์รูบิกเป็นแนวคิดที่มาจากการอภิปรายเกี่ยวกับวิธีการแก้ปริศนาลูกบาศก์รูบิก[ 1 ]แต่ยังสามารถนำไปใช้กับปริศนาเชิงการจัดเรียง และเกมคณิตศาสตร์ อื่นๆ ได้อีก ด้วย[ 2 ]หมายถึงอัลกอริทึมใดๆ ที่สร้างวิธีแก้ปัญหาโดยใช้จำนวนการเคลื่อนไหวน้อยที่สุดเท่าที่จะเป็นไปได้ (กล่าวคือ ผู้แก้ปัญหาไม่ควรต้องใช้การเคลื่อนไหวมากกว่าจำนวนนี้) การอ้างอิงถึงพระเจ้าขึ้นอยู่กับแนวคิดที่ว่า สิ่งมีชีวิต ที่รอบรู้จะทราบขั้นตอนที่เหมาะสมที่สุดจากการกำหนดค่าใดๆ ก็ตาม

ขอบเขต

คำนิยาม

แนวคิดนี้ใช้ได้กับปริศนาที่สามารถมี "รูปแบบ" ได้จำนวน จำกัดโดยมี "การเคลื่อนไหว" ที่กำหนดไว้อย่างชัดเจนและค่อนข้างน้อย ซึ่งสามารถนำไปใช้กับรูปแบบต่างๆ และนำไปสู่รูปแบบใหม่ได้ การแก้ปริศนาหมายถึงการไปถึง "รูปแบบสุดท้าย" ที่กำหนดไว้ ซึ่งอาจเป็นรูปแบบเดียวหรือหลายรูปแบบก็ได้ ในการแก้ปริศนา จะมีการใช้ลำดับการเคลื่อนไหว โดยเริ่มต้นจากรูปแบบเริ่มต้นที่กำหนดไว้

สารละลาย

อัลกอริทึมสามารถถือได้ว่าสามารถแก้ปริศนาดังกล่าวได้ หากรับการกำหนดค่าเริ่มต้นแบบสุ่มเป็นอินพุต และสร้างลำดับการเคลื่อนไหวที่นำไปสู่การกำหนดค่าสุดท้ายเป็นเอาต์พุต ( หากสามารถแก้ปริศนาได้จากการกำหนดค่าเริ่มต้นนั้น มิฉะนั้นจะบ่งชี้ถึงความเป็นไปไม่ได้ของวิธีแก้ปัญหา) วิธีแก้ปัญหาที่ดีที่สุดคือ ลำดับการเคลื่อนไหวสั้นที่สุดเท่าที่จะเป็นไปได้ ค่าสูงสุดของสิ่งนี้ในบรรดาการกำหนดค่าเริ่มต้นทั้งหมดเรียกว่าจำนวนของพระเจ้า [ 3 ] หรือ เรียกอย่างเป็นทางการว่าค่ามินิแม็กซ์[ 4 ]ดังนั้น อัลกอริทึมของพระเจ้าสำหรับปริศนาที่กำหนด จึงเป็นอัลกอริทึมที่แก้ปริศนาและสร้างเฉพาะวิธีแก้ปัญหาที่ดีที่สุดเท่านั้น

นักเขียนบางคน เช่น เดวิด จอยเนอร์ พิจารณาว่าอัลกอริทึมที่จะเรียกว่า "อัลกอริทึมของพระเจ้า" ได้อย่างเหมาะสมนั้น ควรจะใช้งานได้จริง ด้วย ซึ่งหมายความว่าอัลกอริทึมนั้นไม่ต้องการหน่วยความจำหรือเวลาจำนวนมากเป็นพิเศษ ตัวอย่างเช่น การใช้ตารางค้นหา ขนาดใหญ่ ที่จัดทำดัชนีโดยการกำหนดค่าเริ่มต้นจะช่วยให้สามารถค้นหาวิธีแก้ปัญหาได้อย่างรวดเร็วมาก แต่จะต้องใช้หน่วยความจำจำนวนมหาศาล[ 5 ]

แทนที่จะขอคำตอบที่สมบูรณ์ เราอาจขอเพียงการเคลื่อนไหวเดียวจากสถานะเริ่มต้นที่ไม่ใช่สถานะสุดท้าย โดยที่การเคลื่อนไหวนั้นเป็นการเคลื่อนไหวแรกของคำตอบที่ดีที่สุด อัลกอริทึมสำหรับปัญหาเวอร์ชันการเคลื่อนไหวเดียวสามารถเปลี่ยนเป็นอัลกอริทึมสำหรับปัญหาดั้งเดิมได้โดยการเรียกใช้ซ้ำๆในขณะที่ใช้การเคลื่อนไหวแต่ละครั้งที่รายงานกับสถานะปัจจุบัน จนกว่าจะถึงสถานะสุดท้าย ในทางกลับกัน อัลกอริทึมใดๆ สำหรับปัญหาดั้งเดิมสามารถเปลี่ยนเป็นอัลกอริทึมสำหรับเวอร์ชันการเคลื่อนไหวเดียวได้โดยการตัดผลลัพธ์ให้เหลือเพียงการเคลื่อนไหวแรก

ตัวอย่าง

ปริศนาที่รู้จักกันดีซึ่งตรงกับคำอธิบายนี้ ได้แก่ปริศนาเชิงกลเช่นลูกบาศก์รูบิกหอคอยฮานอยและปริศนา 15 นอกจากนี้ ยังรวมถึงเกมเล่นคนเดียวอย่างเกมไพ่หมุดโซลิแทร์ และ ปริศนาตรรกะ มากมาย เช่นปัญหาของมิชชันนารีและมนุษย์กินคน ปริศนา เหล่านี้มีจุดร่วมกันคือ สามารถจำลองทางคณิตศาสตร์ได้ในรูปของกราฟแบบมีทิศทางโดยที่การจัดเรียงเป็นจุดยอด และการเคลื่อนที่เป็นส่วนโค้ง

ปริศนาเชิงกล

ปริศนาn

ปริศนาสิบห้าสามารถแก้ได้ด้วยการเคลื่อนย้ายไทล์เดี่ยว 80 ครั้ง[ 6 ]หรือการเคลื่อนย้ายไทล์หลายอัน 43 ครั้ง[ 7 ]ในกรณีที่เลวร้ายที่สุด สำหรับการวางนัยทั่วไปของปริศนาnปัญหาของการค้นหาวิธีแก้ปัญหาที่เหมาะสมที่สุดนั้นเป็นปัญหาNP-hard [ 8 ]ดังนั้นจึงไม่ทราบว่ามีอัลกอริทึม God ที่ใช้งานได้จริงหรือ ไม่

หอคอยแห่งฮานอย

สำหรับ ปริศนา หอคอยฮานอย อัลกอริทึมของพระเจ้าเป็นที่รู้จักสำหรับจำนวนดิสก์ที่กำหนด จำนวนการเคลื่อนย้ายเพิ่มขึ้น แบบทวีคูณตามจำนวนดิสก์( ) [ 9 ]

ลูกบาศก์รูบิก

ลูกรูบิคที่สลับตำแหน่ง

อัลกอริทึมในการกำหนดจำนวนการเคลื่อนย้ายขั้นต่ำเพื่อแก้ลูกบาศก์รูบิกได้รับการตีพิมพ์ในปี 1997 โดยRichard E. Korf [ 10 ] แม้ว่าจะทราบกันมาตั้งแต่ปี 1995 แล้วว่า 20 เป็นขอบเขตล่างของจำนวนการเคลื่อนย้ายสำหรับวิธีแก้ปัญหาในกรณีที่เลวร้ายที่สุด แต่ Tom Rokicki ได้พิสูจน์ในปี 2010 ว่าไม่มีการจัดเรียงใดที่ต้องใช้การเคลื่อนย้ายมากกว่า 20 ครั้ง[ 11 ]ดังนั้น 20 จึงเป็นขอบเขตบนที่ชัดเจน ของความยาวของวิธีแก้ปัญหาที่เหมาะสมที่สุด นักคณิตศาสตร์David Singmasterได้ "คาดเดาอย่างไม่รอบคอบ" ว่าตัวเลขนี้คือ 20 ในปี 1980 [ 4 ]

เกมที่ยังแก้ไม่ตก

เกมที่รู้จักกันดีบางเกมที่มีชุดกฎและการเคลื่อนไหวที่กำหนดไว้อย่างดีและจำกัดมากนั้น ไม่เคยมีอัลกอริทึมของพระเจ้าสำหรับกลยุทธ์การชนะที่กำหนดไว้ ตัวอย่างเช่น เกมกระดานหมากรุกและโกะ[ 12 ] เกมทั้งสองนี้มีจำนวนตำแหน่งที่เพิ่มขึ้นอย่างรวดเร็วในแต่ละการเคลื่อนไหว จำนวนตำแหน่งที่เป็นไปได้ทั้งหมดประมาณ 5×10 44 [ 13 ]สำหรับหมากรุกและ 10 180 (บนกระดาน 19×19) สำหรับโกะ[ 14 ] นั้นมากเกินไปที่จะอนุญาตให้มีวิธีแก้ปัญหาแบบใช้กำลังทั้งหมดด้วยเทคโนโลยีการคำนวณในปัจจุบัน (เปรียบเทียบกับลูกบาศก์รูบิกที่ได้รับการแก้ไขแล้วด้วยความยากลำบากอย่างมาก ซึ่งมีเพียงประมาณตำแหน่ง 4.3 × 10 19ตำแหน่ง[ 15 ] ) ด้วยเหตุนี้ การกำหนดอัลกอริทึมของพระเจ้าสำหรับเกมเหล่านี้ด้วยกำลังทั้งหมดจึงเป็นไปไม่ได้ แม้ว่าคอมพิวเตอร์หมากรุกจะถูกสร้างขึ้นมาซึ่งสามารถเอาชนะผู้เล่นมนุษย์ที่เก่งที่สุดได้ แต่พวกมันก็ไม่ได้คำนวณเกมทั้งหมดจนจบ ตัวอย่างเช่น Deep Blueค้นหาเพียง 11 ตาเดินล่วงหน้า (นับการเดินของผู้เล่นแต่ละคนเป็นสองตาเดิน) ลดพื้นที่การค้นหาเหลือเพียง 10 17 [ 16 ] หลังจากนั้น มันจะประเมินแต่ละตำแหน่งเพื่อหาความ ได้ เปรียบตามกฎที่ได้มาจากการเล่นและประสบการณ์ของมนุษย์

แม้แต่กลยุทธ์นี้ก็ยังเป็นไปไม่ได้สำหรับโกะ นอกจากจะมีตำแหน่งที่ต้องประเมินจำนวนมากแล้ว ยังไม่มีใครสร้างชุดกฎง่ายๆ สำหรับประเมินความแข็งแกร่งของตำแหน่งโกะได้สำเร็จเหมือนที่ทำในหมากรุก แม้ว่าเครือข่ายประสาทเทียมที่ฝึกฝนผ่านการเรียนรู้แบบเสริมแรงจะสามารถให้การประเมินตำแหน่งที่เกินความสามารถของมนุษย์ได้ก็ตาม[ 17 ] อัลกอริทึมการประเมินมีแนวโน้มที่จะทำผิดพลาดขั้นพื้นฐาน[ 18 ]ดังนั้นแม้แต่การมองไปข้างหน้าอย่างจำกัดโดยมีเป้าหมายจำกัดอยู่ที่การค้นหาตำแหน่งชั่วคราวที่แข็งแกร่งที่สุด อัลกอริทึมของพระเจ้าก็ยังเป็นไปไม่ได้สำหรับโกะ

ในทางกลับกันหมากรุก (หมากฮอส) ถูกสงสัยมานานแล้วว่า "เล่นจนหมด" โดยผู้เชี่ยวชาญ[ 19 ] ในปี 2550 Schaeffer และคณะได้พิสูจน์เรื่องนี้โดยการคำนวณฐานข้อมูลของตำแหน่งทั้งหมดที่มีตัวหมากสิบตัวหรือน้อยกว่านั้น โดยให้ขั้นตอนวิธีของพระเจ้าสำหรับเกมหมากรุกตอนจบทั้งหมด ซึ่งใช้เพื่อพิสูจน์ว่าเกมหมากรุกที่เล่นอย่างสมบูรณ์แบบทั้งหมดจบลงด้วยการเสมอ[ 20 ] อย่างไรก็ตาม หมากรุกที่มีเพียงตำแหน่ง5 × 10 20 [ 21 ]และน้อยกว่านั้นอีก3.9 × 10 13ในฐานข้อมูล[ 22 ]เป็นปัญหาที่แก้ไขได้ง่ายกว่ามาก – อยู่ในระดับเดียวกับลูกบาศก์รูบิก

ขนาดของเซตตำแหน่งของปริศนาไม่ได้กำหนดว่าอัลกอริทึมของพระเจ้าเป็นไปได้หรือไม่ ปริศนาหอคอยฮานอยที่แก้แล้วสามารถมีจำนวนชิ้นส่วนได้ตามอำเภอใจ และจำนวนตำแหน่งจะเพิ่มขึ้นแบบทวีคูณตามอย่างไรก็ตาม อัลกอริทึมการแก้ปัญหาสามารถนำไปใช้กับปัญหาขนาดใดก็ได้ โดยมีเวลาทำงานที่ปรับขนาดตาม[ 23 ]

ดูเพิ่มเติม

หมายเหตุ

  1. ^ Paul Anthony Jones, Jedburgh Justice and Kentish Fire: The Origins of English in Ten Phrases and Expressions , Hachette UK, 2014 ISBN 1472116224.
  2. ดูเช่น Rubik's Cubic Compendiumโดย Ernö Rubik, Tamás Varga, Gerzson Kéri, György Marx และ Tamás Vekerdy ​​(1987, Oxford University Press, ISBN 0-19-853202-4(หน้า 207: "...พีระมิดซ์นั้นง่ายกว่าลูกบาศก์มหัศจรรย์มาก...นิโคลัส แฮมมอนด์ได้แสดงให้เห็นว่าอัลกอริทึมของพระเจ้ามีขั้นตอนอย่างมากที่สุด 21 ขั้นตอน (รวมถึงขั้นตอนการย้ายจุดยอดสี่ขั้นตอนที่ไม่สำคัญ) [เมื่อไม่นานมานี้ มีผู้คนสามคนค้นพบอัลกอริทึมของพระเจ้า จำนวนขั้นตอนสูงสุดคือ 15 ขั้นตอน (รวมถึงขั้นตอนการย้ายจุดยอดสี่ขั้นตอน)]"
  3. ^ Jonathan Fildes (11 สิงหาคม 2010). "การแสวงหาวิธีแก้ลูกบาศก์รูบิกอย่างรวดเร็วสิ้นสุดลงแล้ว" . BBC News .
  4. ^ a b Singmaster, หน้า 311, 1980
  5. ^จอยเนอร์, หน้า 149
  6. ^ A. Brüngger, A. Marzetta, K. Fukuda และ J. Nievergelt,แพลตฟอร์มการค้นหาแบบขนาน ZRAM และการประยุกต์ใช้ , Annals of Operations Research 90 (1999), หน้า 45–63
  7. ^ Norskog, Bruce; Davidson, Morley (8 ธันวาคม 2010). "ปริศนา Fifteen สามารถแก้ได้ใน 43 ตาเดิน " . Domain of the Cube Forum . สืบค้นเมื่อ15 มีนาคม 2022 .
  8. ^ Daniel Ratner, Manfred K. Warmuth (1986). "การหาคำตอบที่สั้นที่สุดสำหรับส่วนขยาย N × N ของปริศนา 15 ข้อนั้นทำได้ยาก"ใน Proceedings AAAI-86การประชุมระดับชาติว่าด้วยปัญญาประดิษฐ์ พ.ศ. 2529 หน้า 168–172
  9. รูเอดา, คาร์ลอส (สิงหาคม 2000). "ทางออกที่ดีที่สุดสำหรับปริศนาหอคอยแห่งฮานอย " Universidad Autónoma de Manizales [มหาวิทยาลัยอิสระแห่ง Manizales ] มานิซาเล, โคลอมเบียเก็บถาวรจากต้นฉบับเมื่อ 2004-06-05 . สืบค้นเมื่อ 15 มีนาคม 2565 .
  10. ^ Richard E. Korf , "การค้นหาวิธีแก้ปัญหาที่เหมาะสมที่สุดสำหรับลูกบาศก์รูบิกโดยใช้ฐานข้อมูลรูปแบบ ", Proc. Natl. Conf. on Artificial Intelligence (AAAI-97), Providence, Rhode Island, กรกฎาคม 1997, หน้า 700–705
  11. ^ Rokicki, Tomas; Kociemba, Herbert; Davidson, Morley; Dethridge, John (2010). "God's Number is 20" . Cube20.org . สืบค้นเมื่อ15 มีนาคม 2022 .
  12. ^โรเทนเบิร์ก, หน้า 11
  13. ^จอห์น ทรอมป์. "การจัดอันดับตำแหน่งหมากรุก" . GitHub .
  14. ^บอม, หน้า 199
  15. ^ซิงมาสเตอร์, 1981
  16. ^บอม, หน้า 188
  17. ^
    • บอม, หน้า 197
    • โมฮัมมาเดียน หน้า 11
  18. ^บอม, หน้า 197
  19. ^เฟรเซอร์และฮันนาห์, หน้า 197
  20. ^มัวร์และเมอร์เทนส์ บทที่ 1.3 "การเล่นหมากรุกกับพระเจ้า"
  21. ^ Schaefferและคณะ , หน้า 1518
  22. ^มัวร์และเมอร์เทนส์, "หมายเหตุ" บทที่ 1
  23. ^รูเอดา
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=God%27s_algorithm&oldid=1357736447 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ อัลกอริทึมของพระเจ้า

อัลกอริทึมของพระเจ้าสำหรับลูกบาศก์รูบิก เป็นแนวคิดที่มาจากการอภิปรายเกี่ยวกับวิธีการแก้ปริศนา ลูกบาศก์รูบิก [ 1 ] แต่ยังสามารถนำไปใช้กับ ปริศนาเชิง การจัดเรียง และ เกมคณิตศาสตร์...

คำนิยาม

แนวคิดนี้ใช้ได้กับ ปริศนา ที่สามารถมี "รูปแบบ" ได้จำนวน จำกัดโดยมี "การเคลื่อนไหว" ที่กำหนดไว้อย่างชัดเจนและค่อนข้างน้อย ซึ่งสามารถนำไปใช้กับรูปแบบต่างๆ และนำไปสู่รูปแบบใหม่ได้ การแก้ปริศนาหมายถึงการไปถึง "รูปแบบสุดท้าย" ที่กำหนดไว้...

สารละลาย

อัลกอริทึมสามารถถือได้ว่าสามารถแก้ปริศนาดังกล่าวได้ หากรับการกำหนดค่าเริ่มต้นแบบสุ่มเป็นอินพุต และสร้างลำดับการเคลื่อนไหวที่นำไปสู่การกำหนดค่าสุดท้ายเป็นเอาต์พุต ( หาก สามารถแก้ปริศนาได้จากการกำหนดค่าเริ่มต้นนั้น...

ตัวอย่าง

ปริศนาที่รู้จักกันดีซึ่งตรงกับคำอธิบายนี้ ได้แก่ ปริศนาเชิงกล เช่น ลูกบาศก์รูบิก หอคอย ฮานอย และ ปริศนา 15 นอกจากนี้ ยังรวมถึงเกมเล่นคนเดียวอย่างเกม ไพ่หมุดโซลิแทร์ และ ปริศนาตรรกะ มากมาย เช่น ปัญหาของมิชชันนารีและมนุษย์กินคน ปริศนา เหล่านี้มีจุดร่วมกันคือ...