Min Max Algorithm ใน AI: ส่วนประกอบ คุณสมบัติ ข้อดี & ข้อจำกัด
เผยแพร่แล้ว: 2020-12-22อัลกอริธึมขั้นต่ำสุดใน AI หรือ ที่เรียกกันทั่วไปว่า minimax เป็นอัลกอริธึมย้อนรอยที่ใช้ในการตัดสินใจ ทฤษฎีเกม และปัญญาประดิษฐ์ (AI) ใช้เพื่อค้นหาการเคลื่อนไหวที่เหมาะสมที่สุดสำหรับผู้เล่น โดยถือว่าคู่ต่อสู้เล่นอย่างเหมาะสมด้วย คอมพิวเตอร์เล่นสองคนยอดนิยมหรือเกมออนไลน์ เช่น Chess, Tic-Tac-Toe, Checkers, Go เป็นต้น ใช้อัลกอริทึมนี้
อัลกอริธึมย้อนรอยถูกใช้เพื่อค้นหาวิธีแก้ไขปัญหาการคำนวณในลักษณะที่ผู้สมัครถูกสร้างขึ้นทีละขั้นเพื่อแก้ปัญหา ทีละขั้น และผู้สมัครที่ไม่สำเร็จในการแก้ปัญหาจะถูกละทิ้งทันที
สารบัญ
มันทำงานอย่างไร?
ใน อัลกอริธึมขั้นต่ำสุดใน AI มีผู้เล่นสองคนคือ Maximiser และ Minimiser ผู้เล่นทั้งสองนี้เล่นเกมโดยพยายามทำคะแนนให้สูงสุดหรือให้ประโยชน์สูงสุดในขณะที่ฝ่ายตรงข้ามพยายามทำคะแนนให้ต่ำที่สุดหรือให้ผลประโยชน์ขั้นต่ำ
กระดานเกมทุกกระดานมีคะแนนการประเมินที่กำหนดไว้ ดังนั้น Maximiser จะเลือกค่าสูงสุด และ Minimiser จะเลือกค่าที่น้อยที่สุดด้วยการเคลื่อนไหวตอบโต้ หาก Maximiser ได้เปรียบ คะแนนของกระดานจะเป็นค่าบวก และหาก Minimiser ได้เปรียบ คะแนนของกระดานจะเป็นค่าลบ
ขึ้นอยู่กับแนวคิดของเกมที่ไม่มีผลรวมซึ่งคะแนนยูทิลิตี้ทั้งหมดจะถูกแบ่งระหว่างผู้เล่นสองคน ดังนั้น การเพิ่มคะแนนของผู้เล่นคนหนึ่งจะทำให้คะแนนของผู้เล่นฝ่ายตรงข้ามลดลง ทำให้คะแนนรวมเป็นศูนย์เสมอ ดังนั้น เพื่อให้ผู้เล่นคนหนึ่งชนะ อีกคนต้องแพ้
เข้าร่วม หลักสูตร Machine Learning Certification & AI ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก รับ Masters, Executive PGP หรือ ACP เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

แยกย่อยอัลกอริธึมขั้นต่ำสูงสุดใน AI
มีการสำรวจแผนผังเกมที่สมบูรณ์ด้วยอัลกอริธึมการค้นหาเชิงลึกในอัลกอริธึมขั้น ต่ำสูงสุดใน AI มันดำเนินลงไปที่โหนดปลายทางของต้นไม้ทั้งหมดแล้วย้อนกลับผ่านต้นไม้
เป้าหมายคือการค้นหาการเคลื่อนไหวที่ดีที่สุดสำหรับผู้เล่น ซึ่งสามารถทำได้โดยเลือกโหนดที่มีคะแนนการประเมินที่ดีที่สุด ทางเลือกที่ดีที่สุดจะทำหลังจากประเมินการเคลื่อนไหวที่เป็นไปได้ทั้งหมดของคู่ต่อสู้ อัลกอริธึมมองไปข้างหน้าถึงค่าที่เป็นไปได้ทั้งหมดจนถึงตอนท้ายและทำการตัดสินใจสำหรับผู้เล่น
แหล่งที่มา
โครงสร้างเกมด้านบนเป็นโครงสร้างข้อมูลที่ซ้อนกันซึ่งใช้ในการประเมินการเคลื่อนไหว ที่นี่โหนดรูทคือระดับ 0 ซึ่งแตกแขนงออกเป็นระดับ 1 หรือโหนดหลัก ซึ่งแยกย่อยออกเป็นระดับ 2 หรือโหนดย่อย การแตกแขนงออกไปสามารถดำเนินต่อไปได้หลายระดับ โดยมีศักยภาพในระดับอนันต์ ระดับ 0 เหมือนกับสถานะปัจจุบันของกระดาน ในขณะที่ระดับ 1 เป็นสถานะที่เป็นไปได้ทั้งหมดของกระดานขึ้นอยู่กับการย้ายครั้งต่อไป
ดังนั้น หากผู้เล่น 2 ทำการย้าย เราสามารถสันนิษฐานได้ว่าโหนดรูทเป็นสถานะปัจจุบันของกระดาน รอการเคลื่อนไหวของผู้เล่น 1 โหนดระดับ 1 มีการเคลื่อนไหวที่เป็นไปได้ทั้งหมดสำหรับผู้เล่น 1 และโหนดระดับ 2 มีการเคลื่อนไหวที่เป็นไปได้ทั้งหมดสำหรับผู้เล่น 2 ตามการย้ายที่เป็นไปได้ของผู้เล่น 1
ลองพิจารณาตัวอย่างที่มีสี่สถานะสุดท้ายและเส้นทางที่จะไปถึงสิ่งเหล่านี้คือจากรากถึงใบทั้งสี่ของต้นไม้ ค่าของสี่ใบคือ 3, 6 ทางด้านซ้ายและ 4, 7 ทางด้านขวา ถึงตาของ Maximiser/Player 1 ที่จะเคลื่อนไหว ในการรันอัลกอริธึม ต้องมีสมมติฐานสำหรับการเคลื่อนไหวแต่ละครั้ง
หากผู้เล่น 1 เลือกที่จะไปทางซ้าย Minimiser/ผู้เล่น 2 จะต้องเลือกอย่างน้อยระหว่าง 3 ถึง 6 ดังนั้นพวกเขาจะเลือก 3 ในขณะที่หากผู้เล่น 1 เลือกถูก ผู้เล่น 2 จะเลือก 4 ซึ่งเป็นขั้นต่ำ ของสองค่าคือ 4 และ 7 ดังนั้น ระดับ 1 ตอนนี้มีค่า 3 และ 4

เนื่องจากเป็นเทิร์นของ Player 1/Maximiser พวกเขาจึงต้องเลือกโหนดระดับ 1 สูงสุด ดังนั้นพวกเขาจะเลือก 3 จากนั้นตัวเลือกที่เหมาะสมที่สุดคือไปทางซ้าย
ขั้นตอนสำหรับ อัลกอริธึมขั้นต่ำสุดใน AI สามารถระบุได้ดังนี้:
- สร้างแผนผังเกมทั้งหมด
- ประเมินคะแนนสำหรับโหนดปลายสุดตามฟังก์ชันการประเมิน
- ย้อนรอยจากลีฟไปยังโหนดรูท:
สำหรับ Maximizer ให้เลือกโหนดที่มีคะแนนสูงสุด
สำหรับ Minimizer ให้เลือกโหนดที่มีคะแนนขั้นต่ำ

- ที่โหนดรูท เลือกโหนดที่มีค่าสูงสุดและเลือกการย้ายที่เกี่ยวข้อง
อ่านเพิ่มเติม: แนวคิดโครงการการเรียนรู้ของเครื่อง
คุณสมบัติของอัลกอริธึมสูงสุดขั้นต่ำใน AI
- อัลกอริธึมเสร็จสมบูรณ์ หมายความว่าในแผนผังการค้นหาที่มีขอบเขตจำกัด จะพบวิธีแก้ปัญหาอย่างแน่นอน
- จะเป็นการดีที่สุดหากผู้เล่นทั้งสองเล่นอย่างเหมาะสมที่สุด
- เนื่องจาก Depth-First Search (DFS) สำหรับแผนผังเกม ความซับซ้อนของเวลาของอัลกอริทึมคือ O(b m ) โดยที่ b คือปัจจัยการแตกแขนง และ m คือความลึกสูงสุดของทรี
- เช่นเดียวกับ DFS ความซับซ้อนของพื้นที่ของอัลกอริทึมนี้คือ O(bm)
ข้อดี
- มีการประเมินพื้นที่การค้นหาอย่างละเอียด
- การตัดสินใจในเรื่อง AI นั้นทำได้ง่าย
- เครื่องจักรใหม่และสมาร์ทได้รับการพัฒนาด้วยอัลกอริธึมนี้
ข้อจำกัด
- เนื่องจากปัจจัยการแตกแขนงที่ใหญ่มาก กระบวนการในการบรรลุเป้าหมายจึงช้ากว่า
- การประเมินและการค้นหาโหนดและสาขาที่เป็นไปได้ทั้งหมดจะลดประสิทธิภาพและประสิทธิภาพของเครื่องยนต์
- ผู้เล่นทั้งสองมีทางเลือกมากเกินไปในการตัดสินใจ
- หากมีการจำกัดเวลาและพื้นที่ จะไม่สามารถสำรวจต้นไม้ทั้งหมดได้
แต่ด้วยการตัดแต่งกิ่งอัลฟ่า-เบต้า อัลกอริธึมสามารถปรับปรุงได้
บทสรุป
บทความนี้จะอธิบายทุกแง่มุมของ อัลกอริทึม min-max ใน AI ประการแรก การแนะนำทฤษฎีมีตัวอย่างสถานที่ที่ใช้ หลังจากนั้นจะมีคำอธิบายว่าอัลกอริทึมทำงานอย่างไรในเกม
อัลกอริธึมถูกแบ่งย่อยเพื่ออธิบายว่าการตัดสินใจในการเคลื่อนไหวที่เหมาะสมนั้นขึ้นอยู่กับการเคลื่อนไหวและการโต้กลับของผู้เล่นอย่างไร คุณสมบัติของอัลกอริทึมจะแสดงรายการแล้ว สุดท้ายนี้ มีข้อดีและข้อเสียของอัลกอริทึมไว้ด้วย
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับแมชชีนเลิร์นนิง โปรดดูที่ IIIT-B & upGrad's Executive PG Program in Machine Learning & AI ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 450 ชั่วโมง กรณีศึกษาและการมอบหมายมากกว่า 30 รายการ IIIT -B สถานะศิษย์เก่า 5+ โครงการหลักที่ปฏิบัติได้จริง & ความช่วยเหลืองานกับ บริษัท ชั้นนำ
อัลกอริทึม min-max ทำงานอย่างไร
มีผู้เข้าร่วมสองคนในอัลกอริธึม AI min max: Maximiser และ Minimizer ผู้เล่นทั้งสองนี้แข่งขันกันในเกม โดยที่คนหนึ่งพยายามทำคะแนนสูงสุดหรือได้ผลประโยชน์สูงสุด และอีกคนพยายามเพื่อให้ได้คะแนนต่ำสุดหรือได้ประโยชน์ขั้นต่ำ เนื่องจากแต่ละกระดานเกมมีคะแนนการประเมิน Maximiser จะเลือกค่าสูงสุด ในขณะที่ Minimizer จะเลือกค่าที่ต่ำที่สุดด้วยการเคลื่อนไหวตอบโต้ เมื่อ Maximiser ได้เปรียบ คะแนนของกระดานจะเป็นบวก แต่เมื่อ Minimizer ดูเหมือนจะได้เปรียบ คะแนนของกระดานจะเป็นลบ
คุณสมบัติของอัลกอริทึม min max ใน AI คืออะไร?
อัลกอริธึมเสร็จสมบูรณ์ ซึ่งหมายความว่าโซลูชันเกือบจะถูกค้นพบในแผนผังการค้นหาแบบจำกัด เหมาะอย่างยิ่งหากผู้เล่นทั้งสองทำผลงานได้ดีที่สุด ความซับซ้อนชั่วคราวของอัลกอริทึมสำหรับแผนผังเกมคือ O(bm) โดยที่ b คือปัจจัยการแตกแขนง และ m คือความลึกสูงสุดของแผนผัง เนื่องจาก Depth-First Search (DFS) อัลกอริธึมนี้ เช่น DFS มีความซับซ้อนของพื้นที่ O(bm)
ข้อจำกัดของอัลกอริธึม minimax คืออะไร?
กระบวนการในการบรรลุเป้าหมายนั้นช้ากว่าเนื่องจากปัจจัยการแตกแขนงที่ใหญ่ ประสิทธิภาพและประสิทธิภาพของเครื่องยนต์ได้รับผลกระทบจากการประเมินและค้นหาโหนดและสาขาที่เป็นไปได้ทั้งหมด ผู้เล่นทั้งสองมีตัวเลือกมากมายให้เลือก เป็นไปไม่ได้ที่จะตรวจสอบต้นไม้ทั้งหมดหากมีข้อจำกัดด้านเวลาและพื้นที่ อย่างไรก็ตาม อัลกอริทึมสามารถปรับปรุงได้โดย Alpha-Beta Pruning