“ การค้นหา Monte-Carlo” ทำงานอย่างไร


16

ฉันเคยได้ยินเกี่ยวกับแนวคิดนี้ในโพสต์ของ Reddit เกี่ยวกับ Alpha Go ฉันพยายามอ่านบทความและบทความ แต่ไม่สามารถเข้าใจอัลกอริทึมได้จริง ๆ

ดังนั้นใครบางคนสามารถให้คำอธิบายที่เข้าใจง่ายว่าอัลกอริทึมการค้นหา Monte-Carlo ทำงานอย่างไรและมันถูกใช้ในการสร้างบอท AI ที่เล่นเกมได้อย่างไร?


คำอธิบายที่ดีของอัลกอริทึม MCTS สามารถพบได้ที่: https://towardsdatascience.com/monte-carlo-tree-search-in-reinforcement-learning-b97d3e743d0f
nbro

คำตอบ:


13

วิธีการมอนติคาร์โลเป็นวิธีการที่คุณสร้างค่าสุ่มหรือการจำลองจำนวนมากและสร้างข้อสรุปบางอย่างตามรูปแบบทั่วไปเช่นค่าเฉลี่ยและความแปรปรวน

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

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

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

หากคุณต้องการข้อมูลเพิ่มเติมหรือเพื่อดูภาพประกอบฉันพบบทความที่น่าสนใจในหัวข้อ: C. Browne et al., การสำรวจวิธีการค้นหาต้นไม้ Monte Carlo ( พื้นที่เก็บข้อมูลแบบเปิด / ลิงก์ถาวร (paywalled) )


ดังนั้นโดยพื้นฐานแล้วสิ่งที่มอนเต้คาร์โลทำในอัลฟาโกคือการสร้างกลยุทธ์ระยะยาวโดยพิจารณาการผสมผสานการเคลื่อนไหวที่แตกต่างกันแทนที่จะเลือกวิธีอื่น (เลือกกลยุทธ์และการเคลื่อนไหวเพื่อให้บรรลุ)
Diego Antonio Rosario Palomino

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