งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

INC 551 Artificial Intelligence Lecture 5 Adversarial Search (Game Playing)

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "INC 551 Artificial Intelligence Lecture 5 Adversarial Search (Game Playing)"— ใบสำเนางานนำเสนอ:

1 INC 551 Artificial Intelligence Lecture 5 Adversarial Search (Game Playing)

2 Game Playing Environment ประกอบด้วย “enemies” หรือ “hostile agents” Enemies are “unpredictable” To deal with the problem: Consider every possibility of reply

3 Types of Games

4 Search Technique จะสามารถทำการ search เพื่อหาทางเดินที่ดีที่สุดได้โดยคิดตาเดินจาก enemies มาเป็น branching factor ด้วย หลังจากนั้นจะใช้ minimax algorithm ในการตัดสินใจ

5 การแตก node ของ Game O-X ผู้เล่น 2 คน ชื่อ Max และ Min

6 Minimax Algorithm สมมติว่าที่ depth = 2 เป็น terminal states ทั้งหมด

7 Minimax Algorithm

8 Property of Minimax Complete: ถ้า search tree มีขนาดจำกัด Optimal: yes ถ้า opponent optimal Time Complexity: Space Complexity:( แบบ Depth-first) For a normal chess game: b=35, m=100 Time?? -> infeasible

9 Real Problem with Minimax จะใช้การ cut-off คือกำหนด depth มากสุดที่จะ search ลงไป และ node ที่ลึกสุดนั้นจะใช้ evaluation function (heuristic) เพื่อประมาณคะแนนของ node นั้น

10 Heuristics for Game Search ใน game ทั่วไป เราจะไม่สามารถแตก node ไปจนสิ้นสุดได้ ( เวลาจำกัด ) Heuristics จะถูกใช้ในการประมาณค่าของ state ของ game เมื่อ depth ลึกมากกว่าที่กำหนด

11 Heuristic in chess – material value Pawn=1, knight=3, bishop=3, rook=5, queen=9

12 Minimax ใน case ที่ opponent ทำพลาดบ้าง

13 Alpha-beta Pruning Use with minimax for eliminating the nodes that looks bad Each node will keep the lower limit and upper limit of possible score, called alpha and beta value [alpha,beta] Will follow the rules to stop expanding nodes

14 Rules for Terminating search on nodes Stop below any MIN node have a beta value less than or equal to alpha value of any of its MAX ancestors Stop below any MAX node have an alpha value greater than or equal to beta value of any of its MIN ancestors

15 Alpha-beta Pruning จะไม่ expand node ต่อถ้าพบค่าต่ำๆที่ปลาย

16 (3,∞) (3,3)

17 (3,∞) (-∞,2) (3,3)

18 (3,∞) (-∞,2) (3,3)(-∞,14)

19 (3,∞) (-∞,2) (3,3)(-∞,5)

20 (3,3) (-∞,2) (3,3) (2,2)

21 Alpha-Beta Algorithm

22 Property of Pruning Final result ไม่เปลี่ยนแปลง เรียงลำดับเอา Good move ขึ้นก่อน จะทำให้ pruning ดี

23 Deterministic Games in Practice

24 Games with chance Backgammon

25 Search Technique with Chance จะเอา chance มาเพิ่มเป็นการแตก node ด้วย เอาคะแนนคูณกับ probability เป็นคะแนนรวมทั้งหมด

26 Coin-flipping Game เกมส์ที่ต้องมีการโยนเหรียญและเลือกเดินคนละครั้ง เราเดิน โยนเหรียญ เขาเดิน

27 Alpha-Beta Pruning สามารถทำได้กับ non-deterministic problems โดยกำหนด ขอบเขตของคะแนนในแต่ละ node อย่างไรก็ตาม pruning จะได้น้อยกว่าแบบ deterministic problems

28

29

30

31

32

33

34

35

36 กำหนดคะแนนในช่วง [-2,2] ในกรณีที่เราสามารถกำหนด bound

37

38

39

40

41

42 Case Study (Othello)

43 Standard Board Size: 8x8 = 64 squares Depth: about 60 moves Branching factor: varied 0-20 Estimated search time for depth 32 = 3 days Estimated search time for depth 60 = 2,100 years

44 Game playing Tactic Opening (around move 1-12) Use opening book Mid game (around move 13 – 35) Use Evaluation function End game (around move 36-end) Use exhaustive search

45 Opening There are 3 ways of opening in Othello. Use statistic records for 100,000+ games to determine which opening win the most.

46 Mid Game Evaluation function use heuristics to give score to board position Don’t play on certain square Prefer corner Want great mobility Edge and corner patterns Evaluation function is the key to strong Othello program

47 End Game Search to the end

48 Breakthrough Event Year 1997 : 6 game match Takeshi Murakami (Othello world champion) vs Logistello (by Michael Buro)

49

50

51

52 Takeshi Murakami (Othello world champion) Win 0 match, get 120 discs Logistello (by Michael Buro) Win 6 matches, get 264 discs Final Result


ดาวน์โหลด ppt INC 551 Artificial Intelligence Lecture 5 Adversarial Search (Game Playing)

งานนำเสนอที่คล้ายกัน


Ads by Google