Your SlideShare is downloading. ×
0
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
Presentacion funciones heuristicas para el ajedrez
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

Presentacion funciones heuristicas para el ajedrez

1,174

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
1,174
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
34
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

Transcript

  • 1. Contenido:Debido a que el ajedrez es un juego objetivo de IA desdehace mucho tiempo, se presenta lo siguiente:• Un ambiente de 2 jugadores con perfecta información.• El árbol del juego.• MiniMax: Propaga valores de nodos terminales a internos.• Poda Alfa-beta: Elimina partes grandes del árbol.• Árbol demasiado grande: no se llega a nodos terminales.• Función de evaluación: sobre nodos a profundidad d.• Extensiones singulares.• Especulación: factor de ramificación.
  • 2. Árbol de juegos• Alternan jugadores por niveles• Sucesores de un nodo: todas los movimientos legales que ese jugador puede hacer
  • 3. MiniMaxCuál es el mejor movimiento?Supongo que el oponente elige el movimiento que más le conviene.
  • 4. MiniMax• Idea: propagar hacia atrás el valor de los hijos• Nodos terminales: valor 1, -1 (gana A o gana B)• Dos tipos de nodos: max: gana con 1 min: gana con -1• Propagación hacia atrás: max: el máximo de los valores de los hijos min: el mínimo de los valores de los hijos
  • 5. Algoritmo MiniMaxEvaluar nodo n de un árbol de juegos1. Expandir el árbol bajo n2. Evaluar los nodos terminales.3. Seleccionar un nodo sin valor que todos sus hijoshansido valuados. Si no existe, retornar el valor de n. Stop.4. Si el nodo es max, asignar el máximo de sus hijos.Si el nodo es min asignar el mínimo de sus hijos. Ir a 3.
  • 6. Algoritmo MiniMaxEl algoritmo anterior tiene un problema: ¿cuál?Supone búsqueda en anchura:4. Si el nodo es max, asignar el máximo de sushijos.Si el nodo es min asignar el mínimo de sus hijos.Espacio exponencial
  • 7. MiniMax en DFS1. L = {n}2. x ← extrae-primero(L).Si x =n con valor asignado, retorna ese valor. Stop.3. Si x tiene valor w, nodo p es padre de x con valor vSi p es max, asignar max(v, w) a p.Si p es min, asignar min(v, w) a p.Eliminar x de L, ir a 2.4. Si x no tiene valor y es un nodo terminal,asignar +1 o -1 como valor, depende si gana para max o min5. Si x no tiene valor y no es un nodo terminal,asignar - ∞ o + ∞ como valor, depende si es max o min
  • 8. MiniMax en DFSMinimax ha de guardar:• sucesores de rama actual (como DFS)• nodos en la rama actual: para actualizar su valor
  • 9. Alfa-BetaCon una buena ordenación de sucesores,
  • 10. Función de evaluación
  • 11. Función de evaluación para el Ajedreze(n) → [-1, +1]– sustituye la detección de nodos terminales– es imperfectaAjedrez: sumar los valores de las piezaspeón, caballo, alfil, torre, reina1 3 3 5 10B: suma de las blancas N: suma de las negrase(n) = B - N / B + N
  • 12. Efecto Horizonte
  • 13. Efecto Horizonte en Ajedrez• Efecto horizonte: una jugada que inicialmente parecebuena puede resultar mala• el peligro no se ve, está tras el horizonte• la función de evaluación es incapaz de detectarlo• Solución fuerza bruta: buscar más profundo• coste computacional• en ajedrez, hay muchos movimientos quepueden retrasar una jugada de peligro• Aproximación selectiva: identificar los nodos en los quese debe profundizar más → extensiones singulares
  • 14. Extensiones Singulares
  • 15. Deep Blue• Proyecto de IBM•Alfa-beta paralelo: • Hardware especializado (2 millones posiciones / sg) • Extensiones singulares, quiescencia • Función de evaluación sofisticada • Biblioteca: aperturas y finales• Resultados: • Venció a Kasparov en 1997 • Ratio 2700, Kasparov 2800 • quantity had become quality - la cantidad se había convertido en la calidad
  • 16. Algunas especulaciones¿Por qué los programas son buenos en ciertosjuegos y en otros no?Hipótesis: • Programa = búsqueda • Rendimiento frente a humanos: aumenta con profundidad d • Número de estados a visitar bd en tiempo fijadoDepende de b factor de ramificación: • Si b pequeño, se puede profundizar → buen rendimiento • Si b grande, no se puede profundizar → rendimiento pobre
  • 17. Algunas especulacionesFactor de ramificación: • damas: 4 • othello: < 10 • ajedrez: 36 • go: 361el campeón mundial es un programaOtras ideas: • aprendizaje (backgammon) • dificultad cuando se intercambian muchas piezas
  • 18. Por ultimo, Gracias!Nunca consideres el estudio como un deber, sinocomo una oportunidad para penetrar en elmaravilloso mundo del saber.Albert Einstein

×