adversarial Search Techniques

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
เรื่อง การแก้ไขปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
Advertisements

ลิมิตและความต่อเนื่อง
(Some Extension of Limit Concept)
ความน่าจะเป็น Probability.
ความสำคัญของงานวิจัย เสนอ รศ.ดร.เผชิญ กิจระการ
กฎเกณฑ์เบื้องต้นเกี่ยวกับการนับ
การทำงานแบบเลือกทำ (Selection)
ข้อตกลงในการเรียน พื้นฐานที่จำเป็นสำหรับนำไปใช้ในเรื่อง
ออกแบบการนำเทคโนโลยีกระบวนการ
ต้นไม้และนิยามที่เกี่ยวข้อง
ขอต้อนรับเข้าสู่ สาระที่ 3 เรขาคณิต. ขอต้อนรับเข้าสู่ สาระที่ 3 เรขาคณิต.
Decision Tree.
บทที่ 4 ทฤษฎีเกม Game Theory
การแก้ปัญหาด้วยคอมพิวเตอร์
อสมการ.
บทที่ 2 หลักการแก้ปัญหา
แผนผัง FlowChart Flow Chart คือ ขั้นตอนที่นำผลที่ได้จากการกำหนดและการ วิเคราะห์ปัญหามาเขียนเป็นแผนภาพหรือสัญลักษณ์ ประโยชน์ของผังงาน -ช่วยลำดับขั้นตอนการทำงานของโปรแกรม.
องค์ประกอบ e-Learning และ WBI
หน่วยที่ 2 วิธีการออกแบบโปรแกรม
การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
Decision Tree Analysis
Image Processing & Computer Vision
กลุ่มสาระการเรียนรู้คณิตศาสตร์ โรงเรียนอัสสัมชัญอุบลราชธานี
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
บทที่ 4 การโปรแกรมเชิงเส้น (Linear Programming)
เกม (Game) หมายถึง การแข่งขัน
MAT 231: คณิตศาสตร์ไม่ต่อเนื่อง (6) ทรี-ต้นไม้(Trees)
DATA STRUCTURE IN C กราฟ (Graph).
ทุกอย่างย่อมมีสิ่งที่ดีกว่าเสมอ
การใช้งานเบื้องต้นของเครื่องคิดเลขทางการเงิน
ความหมาย ปัญญาประดิษฐ์
Process Analysis 2 การวิเคราะห์กระบวนการ
บทที่ 8 File Management. ประเด็นที่ต้องพิจารณา ถ้าต้องการเก็บข้อมูลจะเก็บข้อมูลไว้ที่ไหน สามารถเก็บข้อมูลตรงไปยัง media โดยไม่ต้อง จัดรูปแบบการเก็บได้หรือไม่
กฏเกณฑ์นับเบื้องต้นเกี่ยวกับการนับ วิทยาลัยการอาชีพวังไกลกังวล
แฟกทอเรียลและการเรียงสับเปลี่ยน
คณิตศาสตร์คอมพิวเตอร์
การแก้ปัญหาทางเทคโนโลยีสารสนเทศ
ประชากรและการสุ่มกลุ่มตัวอย่าง
1 การอ่านตำรา การอ่านตำรา.
การเขียนผังงาน จุดประสงค์ 1.อธิบายความของผังงานได้
Artificial Intelligence (AI)
บทที่ 2 หลักการแก้ปัญหา
การแก้ปัญหาด้วยคอมพิวเตอร์
เรื่องหลักการแก้ปัญหา
โปรแกรมประยุกต์อื่นๆ
ชุดฝึกแทนค่าตัวแปรในนิพจน์พีชคณิต
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
การประเมินค่างาน ดร. สุจิตรา ธนานันท์.
การเขียนผังงาน (Flowchart)
คณิตศาสตร์ (ค33101) หน่วยการเรียนรู้ที่ 7 เรื่อง สถิติ
หลักการแก้ปัญหา
Chapter 01 Problem-Solving Concept แนวคิดการแก้ปัญหา
ต้นไม้ Tree (2) ผู้สอน อาจารย์ ยืนยง กันทะเนตร
School of Information Communication Technology,
การค้นในปริภูมิสถานะ
รูปร่างเครือข่ายคอมพิวเตอร์ จัดทำโดย เด็กชาย คณิศร อ้อยกลาง เลขที่ 36 ม.2/5 เสนอ อ.สายฝน เอกกันทา โรงเรียนจักรคำคณาทร จ.ลำพูน.
BC305 การวิเคราะห์และออกแบบระบบสารสนเทศ
วิทยาลัยเทคโนโลยีพณิชยการเชียงใหม่
คณิตศาสตร์พื้นฐาน ค ชั้นมัธยมศึกษาปีที่ 3 โดย ครูชำนาญ ยันต์ทอง
งานสำนักงาน หน่วยการเรียนรู้ที่ 3.
บท นำ ความ เป็นมา และ ความสำ คัญของ ปัญหา การเรียนการสอนที่ใช้อยู่ในปัจจุบัน มี วัตถุประสงค์ประการหนึ่ง คือมุ่งปลูกฝังให้นักเรียน ได้ใฝ่รู้ใฝ่เรียนการปลูกฝังให้นักเรียนรักการอ่านจึงมี
คณิตศาสตร์พื้นฐาน ค ชั้นมัธยมศึกษาปีที่ 3 โดย ครูชำนาญ ยันต์ทอง
ผังงาน (Flow chart).
ต้นไม้ Tree [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Introduction to ARTIFICIAL Intelligence
การค้นในปริภูมิสถานะ
ลิมิตและความต่อเนื่องของฟังก์ชัน
หลักการโปรแกรมเบื้องต้น
ค32213 คณิตศาสตร์สำหรับคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
การดำเนินงาน ป้องกันและลดอุบัติเหตุทางถนนอำเภอศรีธาตุ
ใบสำเนางานนำเสนอ:

adversarial Search Techniques Choopan Rattanapoka 357353 – Introduction to AI

Adversarial Search Techniques เรียกอีกชื่อว่า Game search techiques เป็นเทคนิคที่ใช้ในการแก้ปัญหาในเกมที่มีผู้เล่นแข่งขันกันระหว่าง 2 คน เกมส์ที่สามารถใช้เทคนิคนี้แก้ปัญหาได้ ผู้เล่นจะต้องสามารถมองเห็น ภาพรวมของเกมได้ เช่น หมากรุก ผู้เล่นสามารถวางเห็นตำแหน่งต่างๆจะสามารถทราบว่าผู้เล่น สามารถลงตาไหนได้บ้าง การค้นหาแบบนี้จะมีความซับซ้อนกว่าแบบอื่นๆ เนื่องจาก จะต้องคิดถึง กระบวนการคิดของฝ่ายตรงข้ามด้วย

ส่วนประกอบพื้นฐานที่ต้องกำหนด Initial state กำหนดสถานะเริ่มต้น Successor Function กำหนดเซตของการกระทำทั้งหมดที่เป็นไปได้ Terminal Test ตัวกำหนดการสิ้นสุด สถานะสิ้นสุดเรียกว่า Terminal state Utility Function ฟังก์ชันที่กำหนดค่าของ Terminal state เป็น ตัวเลขบ่งบอกผลลัพธ์ของเกม เช่น ชนะ (+1) แพ้ (-1) เสมอ (0) ถ้า บางเกมมีการวัดผลที่ซับซ้อนอาจใช้ค่าได้

ตัวอย่างปัญหาเกม OX (tic-tac-toe) สถานะเริ่มต้น X’s turn X X X X … O’s turn X O X O X O X’s turn … X O X O X O สถานะสิ้นสุด -1 1

วิธีค้นหา วิธีค้นหาแบบ adversarial มีเทคนิคที่นิยมกันใช้อยู่ 2 เทคนิค คือ Minimax เป็นเทคนิคที่นำมาประยุกต์ใช้งานได้ง่าย แต่เหมาะสำหรับแก้ปัญหาที่มีเส้นทาง การสำรวจไม่มาก เนื่องจากจะใช้ทรัพยากรในการค้นหาเส้นทางค่อนข้างสูง Alpha-Beta pruning เป็นเทคนิคที่พัฒนาต่อมาจาก Minimax เพื่อตัดเส้นทางบางเส้นทางที่คิดว่า ไม่จำเป็นออก ทำให้หมดสำหรับงานที่มีเส้นทางสำรวจเป็นจำนวนมาก ใช้ ทรัพยากรในการสำรวจต่ำกว่า Minimax

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

วิธีการเลือกเส้นทางของ Minimax 3 MIN 3 2 2 MAX 3 12 8 2 40 6 5 2 การหาค่าของ minimax ถ้าเป็นโหนดใบ ค่าในโหนดคือ Utility function ถ้าเป็นโหนดในชั้น MAX ค่าในโหนดคือค่าที่สูงที่สุดของโหนดลูก ถ้าเป็นโหนดในชั้น MIN ค่าในโหนดคือค่าที่น้อยที่สุดของโหนดลูก

ตัวอย่าง Minimax กับ tic-tac-toe MAX(X) O X O X O X MIN(O) O X O X O X O X O X O X MAX(X) Utility = -1 Utility = -1 O X O X O X O X MIN(O) Utility = 0 Utility = 1 Utility = 1 Utility = 0

แทนค่า Minimax MAX MIN -1 -1 MAX -1 -1 1 1 MIN 1 1

ตัวอย่าง Minimax กับ tic-tac-toe MAX(X) O X O X O X MIN(O) O X O X O X O X O X O X MAX(X) Utility = -1 Utility = -1 O X O X O X O X MIN(O) Utility = 0 Utility = 1 Utility = 1 Utility = 0

แบบฝึกหัด 1 : หาค่าและเส้นทางของ Minimax 9 2 -5 2 4 7 -2 -5 8

แบบฝึกหัด 2 : เกมหยิบเหรียญ กำหนดให้สถานะเริ่มต้นมีเหรียญอยู่ 5 เหรียญ มีผู้เล่น 2 คน ผลัดกันหยิบเหรียญ แต่ละตาผู้เล่นจะต้องหยิบ 1 เหรียญ หรือ 2 เหรียญ คนที่หยิบเหรียญสุดท้ายคนนั้นแพ้ ให้เราเป็นคนเริ่มต้นหยิบเหรียญคนแรก กำหนด Utility function -1 เราแพ้ 1 เราชนะ จงเขียนปริภูมิสถานะ, หาค่า minimax, และเลือกทางเดินที่จะชนะ

Alpha-Beta Pruning Minimax เป็นกระบวนการมุ่งหาเส้นทางจากทุกกิ่ง ถ้าเกมมีเส้นทางเยอะจะทำให้เสียเวลาในการค้นหาเส้นทางอย่างมาก Alpha-beta pruning หรือ Alpha-beta cutoff เป็นเทคนิคที่ พัฒนาขึ้นมาจาก Minimax เพื่อตัดเส้นทางที่ไม่จำเป็นออกไป ทำให้ ประหยัดเวลาในการค้นหาเส้นทาง Alpha เป็นค่าที่ดีที่สุดที่นำมาช่วยเลือกให้กับโหนด MAX ซึ่งค่าจะไม่ สามารถลดลงได้ Beta เป็นค่าที่ดีที่สุดที่นำมาช่วยเลือกให้กับโหนด MIN ซึ่งค่าจะไม่ สามารถเพิ่มขึ้นได้

สิ่งที่ควรจดจำเกี่ยวกับ Alpha-beta pruning การค้นหาภายใต้โหนด MIN จะหยุดลงต่อเมื่อค่า Beta น้อยกว่าหรือ เท่ากับค่า Alpha ของโหนด MAX ที่เป็นพ่อ การค้นหาภายใต้โหนด MAX จะหยุดลงต่อเมื่อค่า Alpha มากกว่าหรือ เท่ากับค่า Beta ของโหนด MIN ที่เป็นพ่อ

วิธีการเลือกเส้นทางของ Alpha-beta pruning 3 9 8 2 4 6 5 MAX Alpha = 3 MIN Beta = 3 Beta = 2 ß = 2 5 MAX 3 9 8 2 5 2

แบบฝึกหัด 3 : Alpha-beta pruning 8 1 4 -7 3 -6 -2 5

แบบฝึกหัด 4 : Alpha-beta pruning 2 3 5 9 7 4 2 1 5 6

การประยุกต์ heuristic function กับ tic-tac-toe กลับมาดูเกม tic-tac-toe อีกครั้ง การกำหนดค่า Utility function แบบ -1, 0, 1 อาจจะไม่สะดวกนัก ถ้าเกมมีความลึกและเส้นทางที่มาก ดังนั้นการค้นหาไปจนถึงจุดสิ้นสุดของ tree นั้นอาจใช้เวลานาน การกำหนด heuristic function ที่ดีจะทำให้เราประเมินเส้นทางได้ แม้ว่าจะไม่ต้องลงไปลึกจนถึงโหนดใบ

Heuristic สำหรับ tic-tac-toe Heuristic ที่น่าสนใจคือ E(n) = M(n) – O(n) M(n) จำนวนเส้นทางที่ผู้เล่นจะชนะ (กำหนดให้ผู้เล่นเป็น X) O(n) จำนวนเส้นทางที่ฝ่ายตรงข้ามจะชนะ (กำหนดให้ฝ่ายตรงข้ามเป็น O) E(n) ค่าประเมินสำหรับสถานะ n X O M(n) = 6 X O E(n) = 6 – 5 = 1 X O O(n) = 5

แบบฝึกหัด : หาค่า heuristic การใส่ค่าประเมินในกรณีที่มีการแพ้ชนะ ถ้า O ชนะจะให้ค่าเป็น -∞ ถ้า X ชนะจะให้ค่าเป็น ∞ X O O X X O O X

การประยุกต์ heuristic function กับ tic-tac-toe

แบบฝึกหัดทำส่ง จงเขียน Minimax tree, Alpha-beta pruning จากซ้ายไปขวา C D 5 E F G H 3 7 J K L M N P 5 9 7 R S T U 7 3 5