วิธีการใช้ปัญญาประดิษฐ์ในหมากรุกคอมพิวเตอร์


19

ในบางเอกสาร (ประวัติศาสตร์) หมากรุกถูกเรียกว่า drosophila ของปัญญาประดิษฐ์ ในขณะที่ฉันคิดว่าในการวิจัยปัจจุบันการประยุกต์ใช้อัลกอริทึมการค้นหาเป็นวิทยาศาสตร์คอมพิวเตอร์ขั้นสูงที่ดีที่สุดแต่ฉันเชื่อว่ายังมีพื้นที่ที่สามารถนำไปใช้ (และฝึกฝน) เทคนิค AI

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

ตัวอย่างที่ซับซ้อนมากขึ้นคือการใช้ฟังก์ชั่นการประเมินการเรียนรู้(ตัวอย่างเช่นหนึ่งสามารถปรับค่าของตารางชิ้นสี่เหลี่ยม ) อย่างไรก็ตามฉันคิดว่า:

  • ให้เสียงทั้งหมดเนื่องจากมีตำแหน่งจริงจำนวนมหาศาล (ตรงข้ามกับจำนวนบรรทัดเปิดจริง)
  • และด้วยราคา (ระยะเวลา) ของเกมหมากรุกคอมพิวเตอร์และความต้องการในการเล่น

เราจะทำสิ่งนี้ได้อย่างมีประสิทธิภาพได้อย่างไร (หรือฉันควรดูเทคนิคอื่น ๆ เช่นโครงข่ายประสาทเทียม)


3
วิธีการมาตรฐานคือ minimun pruned alpha-beta ด้วยการแก้ปัญหา มันมาจากตระกูล Search ของ AI แทนที่จะมาจากตระกูล machine-learning
Lyndon White

2
โดยทั่วไปแล้วหมากรุกระดับมืออาชีพจะจำเกมทั้งหมดที่พวกเขาเล่นมาก่อนหน้านี้ ... ดังนั้นพวกเขาจึงมีความทรงจำที่แข็งแกร่ง

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

wrt the อุปมา, มันน่าจะเป็นมากกว่า "ดรอสโซฟิล่าของปัญญาประดิษฐ์" wrt แง่มุมที่แตกต่างกัน, โดยพิจารณาว่ามันไม่ได้ชนะมนุษย์สูงสุดอย่างเด็ดขาดจนกระทั่ง ~ 1997, และการวิจัยเกี่ยวกับมันยังคงดำเนินต่อไป
vzn

คำตอบ:


16

พื้นที่ของรัฐทั้งหมดสำหรับหมากรุกมีมหาศาล - มันสามารถประมาณคร่าว ๆ ได้ว่าเป็น 10 43 (หมายเลขShannon (Shannon, 1950) , ( Wikipedia )

แนวคิดที่คุณนำเสนอ - ตัวแทนเสริมการเรียนรู้ที่เล่นร่วมกันเพื่อเรียนรู้เกม - ถูกนำไปใช้กับแบ็คแกมมอน - TD-Gammon (Tesauro, 1995) , ( บทในการเสริมการเรียนรู้โดย Sutton & Barto ) นอกจากนี้ยังใช้ Neural Networks เพื่อประเมินฟังก์ชั่นค่าของเกม อย่างไรก็ตามปัญหานี้ง่ายกว่ามากเนื่องจากจำนวนสถานะในแบ็คแกมมอนมีขนาดเล็กกว่าหมากรุกอย่างมากกล่าวคือ: 18,528,584,051,601,162,496 ( แบ็คแกมมอนฟอรัมการเก็บถาวรฟอรัม )

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

อ้างอิง:


1
ส่วนที่ยากที่สุดกำลังมาพร้อมกับวิธีการทดลองเพื่อให้คะแนนผลลัพธ์ของการเปิด ช่องเปิดที่แตกต่างกันนั้นดีในรูปแบบที่ต่างกันดังนั้นอาจมีช่องเปิดหลากหลายที่ยอมรับได้
JDong

3

ฉันค่อนข้างแน่ใจว่าวิธีการใด ๆ (หรือแปลก) ที่เป็นไปได้ของ AI หรือ ML ในตำราเรียนได้รับการทดลองและล้มเหลวมากเมื่อเทียบกับกำลังดุร้ายธรรมดา

มุมมองส่วนบุคคลของฉันคือหมากรุกต่อ se ไม่สนใจ AI สมัยใหม่อีกต่อไป ... เพียงเพราะมันถูกแก้ไข : เพียงแค่ใช้คอมพิวเตอร์ที่ทันสมัยและกำลังดุร้าย ดังนั้นฉันไม่รู้สึกว่ามีความจำเป็นในการสร้างระบบ "อัจฉริยะ" เพื่อแก้ปัญหาได้อย่างมีประสิทธิภาพมากขึ้น (ทำงานได้ดีในโทรศัพท์มือถือของฉัน) และฉันเชื่อว่าไม่จำเป็นต้องรู้ วิธีการ "ฉลาด" ที่จะมีอยู่


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

1
ขอบคุณฉันพูดว่าแก้ไขในแง่ที่กำลังดุร้ายเป็นวิธีแก้ปัญหา แน่นอนชุมชน AI (โดยทั่วไปไม่ใช่แค่ที่นี่) ไม่พอใจกับ "วิธีแก้ปัญหา" นั้น อย่างไรก็ตามเรามีระบบการคำนวณที่นำเสนอพฤติกรรม "ฉลาด" สำหรับการแก้ปัญหานี้และยังชนะมนุษย์ที่ดีที่สุดในยุคนั้น โดยส่วนตัวแล้วฉันเชื่อว่าหมากรุกจะไม่เข้ากับ AI หลังจากไม่กี่ปีที่ผ่านมาเมื่อนักวิชาการจำนวนมากที่ใช้เวลาส่วนใหญ่ในการโจมตีจนเกษียณ

ฉันจะไม่เรียกการใช้งานหมากรุกคอมพิวเตอร์ในปัจจุบันว่า 'แก้ไขโดยกำลังเดรัจฉาน' - พวกเขายังคงค้นหาเกมเมตาเสตจำนวนมาก แต่มีองค์ประกอบหลายอย่างของกำลังที่ไม่ดุร้ายอยู่ตรงนั้น แน่นอนว่าพวกเขาไม่ใช่ทางออก "แบบมนุษย์" ที่จะพูดคุยกับปัญหาอื่น ๆ ได้ดี แต่ฉันไม่แปลกใจเลยว่าถ้าเรามีหมากรุก AI แบบ "มนุษย์" มันจะมีคำสั่งน้อยลง มีประสิทธิภาพมากกว่าโซลูชันเฉพาะทางในปัจจุบันทำให้ด้อยกว่า
Peteris

ฉันคิดว่าคำตอบนี้และความเห็นของมันถูกหักล้างอย่างชัดเจนโดย AlphaZero ของ Google: en.wikipedia.org/wiki/AlphaZeroแม้ว่าคุณจะยอมรับคำวิจารณ์เกี่ยวกับการตั้งค่าสำหรับ Stockfish และพวกเขาได้วาดการแข่งขันทั้งหมดแล้วระบบที่ไปถึงระดับนั้น ด้วยการฝึกฝนเพียงไม่กี่ชั่วโมงก็ถือว่าเหนือกว่าอย่างเห็นได้ชัด
Kamal

2

ฉันคิดว่ามันคุ้มค่าที่จะทราบว่าเพื่อกำหนดวิธีจัดการกับปัญหา AI คุณต้องกำหนดมัน ไม่ว่าจะเป็นที่สังเกตได้อย่างเต็มที่หรือสังเกตได้บางส่วนและไม่ว่าจะเป็นกำหนดหรือStochastic / โอกาส

หมากรุกเป็นสังเกตครบ (ไม่เหมือนแบ็คแกมมอน, Monopoly หรือโป๊กเกอร์เป็นต้น) นอกจากนี้ยังเป็นตายตัว (เช่นหมากฮอสและไปตัวอย่างเช่น) สุดท้ายฝ่ายตรงข้ามที่มีอยู่และเนื่องจากการที่เมื่อพิจารณาต่อไปย้ายที่ดีที่สุดจะเป็นประโยชน์ที่จะใช้ความขัดแย้งค้นหาประเภทของ อัลกอริธึมเช่น MiniMax การจำแนกปัญหาสามารถช่วยเราพิจารณาว่าอัลกอริทึมการค้นหาประเภทใดที่เราต้องการนำไปใช้ และในกรณีของหมากรุก Adversarial Search ก็เหมาะสม

Minimax โดยเฉพาะอย่างยิ่งมี

O(bn)

O(bm)

ดังนั้นในกรณีของหมากรุก b จะเท่ากับ 35 และ m จะเท่ากับ 100 มีวิธีการรอบตัวหรือกลยุทธ์ในการทำให้มีประสิทธิภาพมากขึ้นเช่นการตัดอัลฟาเบต้า


นอกจากนี้ยังมีข้อสังเกตว่าในบริบทนี้เกมจบเกมหมากรุกที่มีจำนวนไม่เกินสองเกมนั้นได้จัดเรียงเป็นตารางแล้ว - เป็นการเพิ่มประสิทธิภาพต่อไป
BartoszKP

นี่เป็นวิธีการปกติ แต่ไม่ใช่วิธีการเรียนรู้ของเครื่อง คำถามใช้แท็กการเรียนรู้ของเครื่อง
Lyndon White

@Oinabox ถึงแม้ว่ามันเคยเป็นจริงผู้ถามไม่ได้กล่าวถึงชื่อหรือเนื้อหาที่เขาสนใจในการเรียนรู้ของเครื่องโดยเฉพาะในตอนท้ายที่เขาแบ่งปันตัวอย่างหนึ่งของวิธีการที่เขามีอยู่ในใจ ไม่จำเป็นต้อง จำกัด ปัญหาให้กับการเรียนรู้ของเครื่องหรืออัลกอริทึมการเรียนรู้เดียว (NN)
Iancovici

แน่นอนนี่เป็นสิ่งที่ดี
Lyndon White

เพื่อความแม่นยำหมากรุกไม่สามารถสังเกตได้อย่างเต็มรูปแบบเนื่องจากตำแหน่งที่เราไม่ทราบตัวอย่างเช่นมีราชาหรือนักเล่นไพ่คนหนึ่งที่ย้ายไปแล้วหรือไม่แม้ว่ามันจะเป็นสิ่งสำคัญสำหรับรุ่นย้าย (ยังคงเป็นไปได้? แต่โปรแกรมเมอร์สามารถทำให้มันสังเกตได้อย่างเต็มที่โดยการเปลี่ยนตำแหน่งแทนความแตกต่างที่ไม่ใช่กษัตริย์ / โกงและย้ายกษัตริย์ / โกงเป็นตัวเลขที่แตกต่างกันแม้ว่ามันจะเพิ่มความยากลำบากบางอย่าง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.