Your SlideShare is downloading. ×
0
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Juegos minimax AlfaBeta
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Juegos minimax AlfaBeta

2,238

Published on

Descripcion minimax alfabeta .

Descripcion minimax alfabeta .

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,238
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
53
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • INTELIGENCIA ARTIFICIAL Jorge Rodriguez
  • INTELIGENCIA ARTIFICIAL Jorge Rodriguez
  • INTELIGENCIA ARTIFICIAL Jorge Rodriguez
  • INTELIGENCIA ARTIFICIAL Jorge Rodriguez
  • INTELIGENCIA ARTIFICIAL Jorge Rodriguez
  • INTELIGENCIA ARTIFICIAL Jorge Rodriguez
  • Transcript

    • 1. Juegos Nelson Becerra Correa Fundación FABBECOR-ONG
    • 2.  
    • 3. Bibliografía <ul><li>Conferencia : Miguel Illescas, Gran Maestro Internacional. Kasparov, Deep Blue y la mente del ajedrecista. </li></ul><ul><li>http://www.ocf.berkeley.edu/~yosenl/extras/alphabeta/alphabeta </li></ul><ul><li>Jorge Egger M. Desarrollo de la maestría ajedrecística computacional. Utilizando recursos restringidos. Universidad de chile. Facultad de ciencias físicas y matemáticas. Departamento de ciencias de la computación, Santiago de chile, Julio 2003. </li></ul><ul><li>Técnicas de inteligencia artificial en Juego. Nelson Becerra Correa, Fondo de publicaciones Universidad Distrital (FJC), Año 2003. </li></ul><ul><li>w.acm.uiuc.edu/sigart/docs/MinimaxPresentation.ppt </li></ul>
    • 4.  
    • 5. TEORIA DE JUEGOS <ul><li>Fué creada para solucionar problemas económicos. Los pioneros de esta teoría son John Von Newman y Oskar Morgestern. </li></ul><ul><li>En la actualidad se aplica a la Psicología, la administarción , las ciencias políticas etc. </li></ul>
    • 6. Cl asificación de los juegos NUMERO PARTICIPANTES <ul><li>Unipersonales </li></ul><ul><li>Bipersonales </li></ul><ul><li>N-personas N>2 </li></ul>NUMERO ESTRATEGIAS <ul><li>Finito (estrategias finitas) ‏ </li></ul><ul><li>Infinitas </li></ul>DE ACUERDO A LA INFORMACION <ul><li>Información perfecta (Secuenciales) </li></ul><ul><li>Información Imperfecta (Yan ken Po) (Dilema pri) </li></ul>DE ACUERDO A LA SUMA <ul><li>Juegos de suma cero (ajedrez, oso, go,mankala) </li></ul><ul><li>Juegos de suma distinta de cero (F) </li></ul>
    • 7.  
    • 8.  
    • 9. Como juegan las maquinas
    • 10. Como juegan las maquinas
    • 11. Como juegan las maquinas
    • 12. Como juegan las maquinas
    • 13. Como juegan las maquinas
    • 14. DEEP-BLUE potencia de calculo
    • 15. Función de evaluación
    • 16. Función de evaluación
    • 17. Posición que un programa sin Tablas de Transposición no puede solucionar. Las Blancas ganan mediante 1.Rb1!! Rb7 2.Rc1!! <ul><li>30 movimientos sería necesaria, y eso tomaría miles de horas de tiempo de CPU. </li></ul><ul><li>Con tablas Hash 6 movimientos, puesto que existen 130 diferentes tipos de posiciones obtenibles desde la inicial. </li></ul>
    • 18.  
    • 19.  
    • 20. Basic Idea <ul><li>Search problem </li></ul><ul><ul><li>Searching a tree of the possible moves in order to find the move that produces the best result </li></ul></ul><ul><ul><li>Depth First Search algorithm </li></ul></ul><ul><li>Assume the opponent is also playing optimally </li></ul><ul><ul><li>Try to guarantee a win anyway! </li></ul></ul>
    • 21. Árbol de variantes <ul><li>En los inicios de 1970 la búsqueda en árboles de variantes alcanzaba la cantidad aproximada de 200 posiciones por segundo. </li></ul><ul><li>En año 2003, DEEP BLUE busca en 2.000.000 de posiciones por segundo. </li></ul><ul><li>Los mejores programas logran examinar todas las secuencias de movimientos con una profundidad de 8 a 10 movidas en el árbol (4 a 5 jugadas por bando). </li></ul>
    • 22.  
    • 23. Required Pieces for Minimax <ul><li>An initial state </li></ul><ul><ul><li>The positions of all the pieces </li></ul></ul><ul><ul><li>Whose turn it is </li></ul></ul><ul><li>Operators </li></ul><ul><ul><li>Legal moves the player can make </li></ul></ul><ul><li>Terminal Test </li></ul><ul><ul><li>Determines if a state is a final state </li></ul></ul><ul><li>Utility Function </li></ul>
    • 24. Utility Function <ul><li>Gives the utility of a game state </li></ul><ul><ul><li>utility(State) </li></ul></ul><ul><li>Examples </li></ul><ul><ul><li>-1, 0, and +1, for Player 1 loses, draw, Player 1 wins, respectively </li></ul></ul><ul><ul><li>Difference between the point totals for the two players </li></ul></ul><ul><ul><li>Weighted sum of factors (e.g. Chess) </li></ul></ul><ul><ul><ul><li>utility(S) = w 1 f 1 (S) + w 2 f 2 (S) + ... + w n f n (S) </li></ul></ul></ul><ul><ul><ul><ul><li>f 1 (S) = (Number of white queens) – (Number of black queens), w 1 = 9 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>f 2 (S) = (Number of white rooks) – (Number of black rooks), w 2 = 5 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>... </li></ul></ul></ul></ul>
    • 25. Two Agents <ul><li>MAX </li></ul><ul><ul><li>Wants to maximize the result of the utility function </li></ul></ul><ul><li>MIN </li></ul><ul><ul><li>Wants to minimize the result of the evaluation function </li></ul></ul>
    • 26.  
    • 27. … MINIMAX <ul><li>Ejemplo de definición de función evaluadora: </li></ul><ul><li>Si p no es posición ganadora para ningún ganado, entonces: </li></ul><ul><ul><li>e(p)= (el nº de filas, columnas y diagonales completas que todavía estan libres para MAX) – (nº de filas, columnas, diagonales completas que todavía estan libres para MIN) </li></ul></ul><ul><li>Si p es una posición ganadora para MAX, entonces </li></ul><ul><ul><li>e(p)= ∞ (donde ∞ indica un número positivo muy grande) </li></ul></ul><ul><li>Si p es una posición ganadora para MIN, entonces </li></ul><ul><ul><li>e(p)= - ∞ </li></ul></ul>
    • 28. … MINIMAX Se tiene que e(p)=6 – 4 = 2 http://www.ocf.berkeley.edu/~yosenl/extras/alphabeta/alphabeta.html
    • 29. Basic Algorithm
    • 30. ALGORITMOS DE JUEGOS <ul><li>Algoritmos de primera generación </li></ul><ul><ul><li>se caracterizan por confiar en la capacidad bruta de las maquinas </li></ul></ul><ul><li>Algoritmos de segunda generación: </li></ul><ul><ul><li>Surge la inquietud de que mientras la maquina examina miles de posiciones su oponente humano solo examina algunas de ellas </li></ul></ul>
    • 31. ALGORITMOS DE PRIMERA GENERACION <ul><li>MINIMAX </li></ul><ul><li>NEGAMAX </li></ul><ul><li>ALFA/BETA </li></ul><ul><li>FALFA/BETA </li></ul><ul><li>LALFA/BETA </li></ul><ul><li>PALFA/BETA </li></ul><ul><li>SCOUT </li></ul>
    • 32. MINIMAX NEGAMAX ALFA/BETA FALFA/BETA
    • 33. LALFA/BETA PALFA/BETA SCOUT
    • 34. Max Min Max Min Starting node and labels MiniMax Search
    • 35. Max Min Max Min Continue expand the search space
    • 36. Max Min Max Min Continue expand the search space
    • 37. Max Min Max Min 2 3 5 0 9 7 4 Expand the search space down 3-ply
    • 38. Max Min Max Min 2 3 5 0 9 7 4 Propagate the leaf values backward Pick Max values at Max Level 9 0 3 7 7
    • 39. Max Min Max Min 2 3 5 0 9 7 4 Continue propagate the values backward Pick Min values at Min Level 9 0 3 7 7 3 0
    • 40. Max Min Max Min 2 3 5 0 9 7 4 Continue propagate the values backward Pick Max values at Max Level 9 0 3 7 7 3 0 3
    • 41. Max Min Max Min 2 3 5 0 9 7 4 The move picked by Max 9 0 3 7 7 3 0 3
    • 42. Example MINIMAX <ul><li>Coins game </li></ul><ul><ul><li>There is a stack of N coins </li></ul></ul><ul><ul><li>In turn, players take 1, 2, or 3 coins from the stack </li></ul></ul><ul><ul><li>The player who takes the last coin loses </li></ul></ul>
    • 43. Coins Game: Formal Definition <ul><li>Initial State : </li></ul><ul><li>The number of coins in the stack </li></ul><ul><li>Operators : </li></ul><ul><ul><li>1. Remove one coin </li></ul></ul><ul><ul><li>2. Remove two coins </li></ul></ul><ul><ul><li>3. Remove three coins </li></ul></ul><ul><li>Terminal Test: </li></ul><ul><li>There are no coins left on the stack </li></ul><ul><li>Utility Function: F(S) </li></ul><ul><ul><li>F(S) = 1 if MAX wins, 0 if MIN wins </li></ul></ul>
    • 44. N = 4 K = N = 3 K = N = 2 K = N = 1 K = N = 0 K = N = 1 K = N = 2 K = N = 0 K = N = 0 K = N = 1 K = N = 0 K = N = 1 K = N = 0 K = N = 0 K = 1 2 3 3 2 1 2 1 1 1 2 1 1 N = 0 K = 1 F(S)= 0 F(S)= 0 F(S)= 0 F(S)= 1 F(S)= 1 F(S)=1 F(S)= 1 MAX MIN
    • 45. N = 4 K = 1 N = 3 K = 0 N = 2 K = 0 N = 1 K = 1 N = 0 K = 1 N = 1 K = 0 N = 2 K = 1 N = 0 K = 1 N = 0 K = 1 N = 1 K = 0 N = 0 K = 0 N = 1 K = 1 N = 0 K = 0 N = 0 K = 0 1 2 3 3 2 1 2 1 1 1 2 1 1 N = 0 K = 1 1 F(S)=0 F(S)=0 F(S)=0 F(S)=1 F(S)=1 FFS(51791527S)=1 F(S)=1 MAX MIN Solution F(S)=1
    • 46. Analysis <ul><li>Max Depth: 5 </li></ul><ul><li>Branch factor: 3 </li></ul><ul><li>Number of nodes: 15 </li></ul><ul><li>Even with this trivial example, you can see that these trees can get very big </li></ul><ul><ul><li>Generally, there are O(b d ) nodes to search for </li></ul></ul><ul><ul><ul><li>Branch factor b: maximum number of moves from each node </li></ul></ul></ul><ul><ul><ul><li>Depth d: maximum depth of the tree </li></ul></ul></ul><ul><ul><li>Exponential time to run the algorithm! </li></ul></ul><ul><ul><li>How can we make it faster? </li></ul></ul>
    • 47.  
    • 48. Alpha-Beta Pruning <ul><li>Main idea: Avoid processing subtrees that have no effect on the result </li></ul><ul><li>Two new parameters </li></ul><ul><ul><li>α: The best value for MAX seen so far </li></ul></ul><ul><ul><li>β: The best value for MIN seen so far </li></ul></ul><ul><li>α is used in MIN nodes, and is assigned in MAX nodes </li></ul><ul><li>β is used in MAX nodes, and is assigned in MIN nodes </li></ul>
    • 49. Alpha-Beta Pruning <ul><li>MAX (Not at level 0) </li></ul><ul><ul><li>If a subtree is found with a value k greater than the value of β, then we do not need to continue searching subtrees </li></ul></ul><ul><ul><ul><li>MAX can do at least as good as k in this node, so MIN would never choose to go here! </li></ul></ul></ul><ul><li>MIN </li></ul><ul><ul><li>If a subtree is found with a value k less than the value of α, then we do not need to continue searching subtrees </li></ul></ul><ul><ul><ul><li>MIN can do at least as good as k in this node, so MAX would never choose to go here! </li></ul></ul></ul>
    • 50. Max Min Max Min Starting node and labels Alpha-Beta Prune
    • 51. Max Min Max Min Perform a DFS
    • 52. Max Min Max Min Continue the DFS
    • 53. Max Min Max Min 2 3 Until reach the depth we want, i.e., 3-ply in this case
    • 54. Max Min Max Min 2 3 3 Propagate leaf values backward
    • 55. Max Min Max Min 2 3 3 3
    • 56. Max Min Max Min 2 3 3 3 3
    • 57. Max Min Max Min 2 3 3 3 3 Alpha Node Beta Node
    • 58. Max Min Max Min 2 3 3 3 3 Alpha Beta 5 New DFS path Ended with 5
    • 59. Max Min Max Min 2 3 3 3 3 Alpha Beta 5 5 Propagate backward
    • 60. Max Min Max Min 2 3 3 3 3 Alpha Beta 5 5 Because 3 < 5 The branch is pruned. Beta-Prune
    • 61. Max Min Max Min 2 3 3 3 3 Alpha Beta 5 5 New 3-ply DFS Ended with 0 0
    • 62. Max Min Max Min 2 3 3 3 3 Alpha Beta 5 5 0 0 Propagate backward
    • 63. Max Min Max Min 2 3 3 3 3 Alpha Beta 5 5 0 0 Propagate backward 0
    • 64. Max Min Max Min 2 3 3 3 3 Alpha Beta 5 5 0 0 The branch is cut off Because 3 > 0 Alpha Prune 0
    • 65. Algorithm
    • 66. N = 4 K = N = 3 K = N = 2 K = N = 1 K = N = 0 K = N = 1 K = N = 2 K = N = 0 K = N = 0 K = N = 1 K = N = 3 K = N = 1 K = N = 0 K = N = 0 K = 1 2 3 3 2 1 2 1 1 1 2 1 1 N = 0 K = 1 F(S)=0 F(S)=0 F(S)=0 F(S)=1 F(S)=1 F(S)=1 F(S)=1 MAX MIN α = β = α = β = α = β = α = β = α = β = α = β = α = β = α = β = α = β = α = β = α = β = α = β = α = β = α = β = α = β =
    • 67. N = 4 K = 0 1 N = 3 K = 1 0 N = 2 K = 1 0 N = 1 K = 1 N = 0 K = 1 N = 1 K = 0 N = 2 K = 1 N = 0 K = 1 N = 0 K = 1 N = 1 K = N = 3 K = 0 N = 1 K = 1 N = 0 K = N = 0 K = 0 1 2 3 3 2 1 2 1 1 1 2 1 1 N = 0 K = 1 1 F(S)=0 F(S)=0 F(S)=0 F(S)=1 F(S)=1 F(S)=1 F(S)=1 MAX MIN α = β = 1 0 α = 0 β = α = 0 β = 1 0 α = β = 0 α = 1 β = α = 0 β = 0 α = 0 β = 0 α = 0 β = 1 α = 0 β = α = 0 β = 0 α = 0 β = α = 1 β = 0 α = β = α = 1 β = 0 α = 0 β = 1
    • 68.  
    • 69. Conclusion <ul><li>Minimax finds optimal play for deterministic, fully observable, two-player games </li></ul><ul><li>Alpha-Beta reduction makes it faster </li></ul>

    ×