SlideShare una empresa de Scribd logo
INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5
Árboles y búsqueda con   adversario Los entornos competitivos, en los cuales los objetivos del agente están en conflicto, dan ocasión a problemas de búsqueda entre adversarios, a menudo conocido como juegos.
La manera natural de responder un juego es mediante un árbol de juegos que es un tipo especial de árbol semántico en los que los nodos representan configuraciones de tableros
y las ramas indican como una configuración puede transformarse en otra mediante un solo movimiento.
Por supuesto existe un giro especial en el hecho de que las decisiones son tomadas por dos adversarios que toman una decisión a la vez.
Un juego se define formalmente como una clase de problemas de búsquedas con los componentes siguientes:
El estado inicial: Que incluye la posición del tablero e identifica al jugador que mueve.
Una función sucesor: Que devuelve una lista de pares (movimiento, estado), indicando un movimiento legal y el estado que resulta.
Un test Terminal: Que determina cuando se termina el juego. A los estados donde el juego se ha terminado se les llama estados terminales.
Una función de utilidad: También llamada función objetivo o función de rentabilidad, que da un valor numérico a los estados terminales.  En los juegos, el resultado es un triunfo, pérdida o empate, con valores +1, -1 o 0.
Un árbol (parcial) de búsqueda para el juego de tres en raya.
Búsqueda entre adversarios Uso : decidir mejor jugada en cada momento para cierto tipo de juegos. ¿Que tipo de juegos? 2 jugadores.  Movimientos alternos (jugador MAX, jugador MIN)
Representación del juego Representación del estado Representación del estado ganador (por estructura o propiedades o función de utilidad) Definir los operadores de movimiento
Búsqueda entre adversarios
Búsqueda entre adversarios En una busqueda con adversarios se debe : generar todo el árbol de jugadas. Se etiquetan las jugadas terminales, dependiendo de si gana MAX o MIN, con un valor de  utilidad  de, por ejemplo, “+1” o “-1”. El objetivo es encontrar un conjunto de movimientos accesible que dé como ganador a MAX. Se propagan los valores de las jugadas terminales de las hojas hasta la raíz. Una búsqueda en profundidad minimiza el espacio.
Búsqueda entre adversarios
Búsqueda entre adversarios
Búsqueda entre adversarios Aproximación heurística : definir una función que nos indique lo cerca que estamos de una jugada ganadora (o perdedora). En esta función interviene información del dominio. Esta función no representa ningún coste ni es una distancia en pasos. Por convención: las jugadas ganadoras se evalúan a “+  ” las jugadas perdedoras se evalúan a “-  ” El algoritmo busca con profundidad limitada. Cada nueva decisión implicará repetir parte de la búsqueda.
Algoritmo minimax (1) Calcula la decisión minimax del estado actual. Usa un cálculo simple recurrente de los valores minimax de cada estado sucesor. La recursión avanza hacia las hojas del árbol. Los valores minimax  retroceden  por el árbol cuando la recursión se va deshaciendo.
Algoritmo minimax (2) Primero utiliza la función Utilidad para descubrir que sus valores son 3, 12 y 8. Entonces toma el mínimo de estos valores, 3, y lo devuelve como el valor del nodo  B .  A B
Minimax
Ejemplo 3 en raya e: estado x profundidad    entero e = número de filas, columnas y diagonales completas disponibles para max - número de filas, columnas y diagonales completas disponibles para min max juega con X  y  desea maximizar e min juega con     y  desea minimizar e valores altos: buena posición para el que tiene que mover (profundidad par o impar) Controlar las simetrías X X X0 X 0 X 0 X 0 X 0  X 0 X X 0 0  X X 0 X 0 X 0 X 0 6-5=1  5-5=0  6-5=1  5-5=0  4-5=-1  5-4=1  6-4=2  5-6=-1  6-6=0  6-6=0  5-6=-1  4-6=-2 Min= -1 Min= 1 Min= -2 Max = 1 La mejor jugada de max es pues  tras lo cual min podría jugar  X 0 X
0 X X  0 X 0 X X 0 X X X  0 0  X X  0 X 0 X  0 X 0 X  0 X 0 X  0 X 0 X  0 0 X 4-2=2 3-2=1 4-2=2 2-2=0 4-2=2 3-2=1 Min=0 0 X X 0 0 X X  0 0 X 0 X 0  0 X X 4-2=2  4-2=2  5-2=3  3-2=1  4-2=2  4-2=2 Min=0 Min=1 Min=0 Max = 1 La mejor jugada de max es pues  tras lo cual min podría jugar  0 X X 0  0 X X …………… ... …………… ... 0 X X 0  0 X X 0 0 X X
0  0 X X 0  0 X X X X  0  0 X X 0  0 X X X 0  0 X X X 0  0 X X  X X  0  0 0  X X X  0  0 X X  0 X  0  0 X X  0 X  0  0 X  0 X 2-1=1 3-1=2 2-1=1 3-1=2 Min=1 Min= -    Min= -    Min= -    Min= -    Max=1 La mejor jugada de max es pues  X  0  0 X X
Poda alfa-beta Problema de la búsqueda minimax: el número de estados que tiene que examinar es exponencial con el número de movimientos. Es posible calcular la decisión minimax correcta sin mirar todos los nodos en el árbol. La  poda alfa-beta  permite eliminar partes grandes del árbol, sin influir en la decisión final.
A B C D a1 a2 a3 b1 b2 b3 c1 c2 c3 d1 d2 d3 3 12 8 2 4 6 14 5 2 3 3 2 2 MAX MIN El mejor movimiento de MAX en la raíz es a1, porque conduce al sucesor con el valor minimax mas alto, y la mejor respuesta de MIN es b1, por que conduce al sucesor con el valor minimax mas bajo.
A B C D 3 [-  , +  ] [-  , 3] (a) (a) La primera hoja debajo de B tiene el valor 3. De ahí B, que es un nodo MIN, tiene un valor de cómo máximo 3.
A B C D 3 [-  , +  ] [-  , 3] (b) (b) La segunda hoja debajo de B tiene el valor 12; MIN evitara este movimiento, entonces el valor de B es todavía como máximo 3. 12
A B C D 3 [3, +  ] [3, 3] (c) (c) La tercera hoja debajo de B tiene el valor 8; hemos visto a todos los sucesores de B, entonces el valor de B es exactamente 3. Ahora, podemos deducir que el valor de la raíz es al menos 3., por que MAX tiene una opción digna de 3 en la raíz. 12 8
A B C D 3 [3, +  ] [3, 3] (d) (d) La primera hoja debajo de C tiene el valor 2. De ahí, C que es un nodo MIN, tiene un valor de cómo máximo 2. Pero sabemos que B vale 3, entonces MAX nunca elegiría C. Por lo tanto, no hay ninguna razón en mirar a los otros sucesores de C. Este es un ejemplo de la poda Alfa-Beta. 12 8 [-   , 2] 2
A B C D 3 [3, 14] [3, 3] (e) (e) La primera hoja debajo de D tiene el valor 14,entonces D vale como máximo 14. Este todavía es mas alto que la mejor alternativa de MAX (es decir, 3), entonces tenemos que seguir explorando a los sucesores de D. Note también que ahora tenemos límites sobre todos los sucesores de la raíz, entonces el valor de la raíz es como máximo 14. 12 8 [-   , 2] [-   , 14] 2 14
A B C D 3 [3, 3] [3, 3] (f) (f) El segundo sucesor de D vale 5, así que otra vez tenemos que seguir explorando. El tercer sucesor vale 2, así que ahora D vale exactamente 2. La decisión de MAX en la raíz es moverse a B, dando un valor de 3. 12 8 [-   , 2] [2,2] 2 14 5 2
Poda alfa-beta Los dos parámetros alfa y beta describen los límites sobre los valores que aparecen a lo largo del camino:  = el valor de la mejor opción (el más alto) que se ha encontrado hasta el momento en cualquier punto del camino, para MAX  = el valor de la mejor opción (el más bajo) que se ha encontrado hasta el momento en cualquier punto del camino, para MIN La búsqueda alfa-beta actualiza el valor de    y    según se va recorriendo el árbol y termina la recursión cuando encuentra un nodo peor que el actual valor    o    correspondiente.
MAX V i {     } Si V i  >     modificar   Si V i         poda   Retornar   {     } Si V i  <    modificar   Si V i        poda   Retornar   MIN V i Las cotas    y    se transmiten de padres a hijos de 1 en 1 y en el orden de visita de los nodos.     es la cota inferior de un nodo max.    es la cota superior de un nodo min.
Fin

Más contenido relacionado

PPTX
Programación 3: árboles binarios y ordenados
PDF
03 Modelo Relacional
PPTX
Ejercicio de subneteo vlsm y cidr
PPTX
Taller de Base de Datos - Unidad 7 Conectividad
DOCX
Ejercicios en clase Unidad II
DOCX
algoritmos distribuidos
PPTX
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Programación 3: árboles binarios y ordenados
03 Modelo Relacional
Ejercicio de subneteo vlsm y cidr
Taller de Base de Datos - Unidad 7 Conectividad
Ejercicios en clase Unidad II
algoritmos distribuidos
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.

La actualidad más candente (20)

PPTX
PPTX
Gestores de base de datos
PPTX
Búsqueda Primero el Mejor
PPTX
Elementos caracteristicos de la poo
PPT
Algebra relacional
DOCX
control de concurrencia
PDF
Programa de Cola Estática
PPTX
sistema gestor BD PostgreSql
DOCX
Scrip de la base de datos cine
PPT
Unidad 5 TransformacióN Er A Relacional NormalizacióN
DOCX
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
PPTX
La maquina de Turing, sus tipos y aplicaciones.
PPT
Teoría de Resonancia Adaptativa ART
PPT
metodos de busqueda en inteligencia artificial
PDF
PDF
Ejercicios resueltos grafos
PDF
Modelo de entidad relación extendido
PDF
Alfabetos-Lenguajes y Automatas 1
PPT
Base de Datos: Modelo Entidad-Relacion
DOCX
Cuadro comparativo tipos de busquedas en IA
Gestores de base de datos
Búsqueda Primero el Mejor
Elementos caracteristicos de la poo
Algebra relacional
control de concurrencia
Programa de Cola Estática
sistema gestor BD PostgreSql
Scrip de la base de datos cine
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
La maquina de Turing, sus tipos y aplicaciones.
Teoría de Resonancia Adaptativa ART
metodos de busqueda en inteligencia artificial
Ejercicios resueltos grafos
Modelo de entidad relación extendido
Alfabetos-Lenguajes y Automatas 1
Base de Datos: Modelo Entidad-Relacion
Cuadro comparativo tipos de busquedas en IA
Publicidad

Similar a busquedas con adversarios (20)

PPT
1789019.ppt
PPTX
Busqueda entre adversarios
PPTX
Busqueda Entre Adversarios
PPTX
Arboles min max
PPTX
clase6-IA PARA JUEGOS - Inteligencia Aritficial.pptx
PDF
Exp BúSqueda Entre Adversarios
PDF
Conecta 4 en C
DOCX
Búsqueda entre adversarios
PDF
Decisiones Optimas en Juego
PPTX
Presentacion funciones heuristicas para el ajedrez
PPT
DOCX
Paper
PPTX
Criterios de Búsqueda en Inteligencia Artificial
PPTX
MinMax
PPT
PODA ALFA-BETA
PPTX
Criterios de Búsquedas en Inteligencia artificial
PDF
Tipos de Búsqueda- Cuadro Comparativo
PPTX
gato-tictactoe-120725114620-phpapp02.pptx
PDF
Poda Alfa-Beta
PPTX
Cuadro comparativo
1789019.ppt
Busqueda entre adversarios
Busqueda Entre Adversarios
Arboles min max
clase6-IA PARA JUEGOS - Inteligencia Aritficial.pptx
Exp BúSqueda Entre Adversarios
Conecta 4 en C
Búsqueda entre adversarios
Decisiones Optimas en Juego
Presentacion funciones heuristicas para el ajedrez
Paper
Criterios de Búsqueda en Inteligencia Artificial
MinMax
PODA ALFA-BETA
Criterios de Búsquedas en Inteligencia artificial
Tipos de Búsqueda- Cuadro Comparativo
gato-tictactoe-120725114620-phpapp02.pptx
Poda Alfa-Beta
Cuadro comparativo
Publicidad

Último (20)

PPT
Que son las redes de computadores y sus partes
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PDF
Maste clas de estructura metálica y arquitectura
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
Sesion 1 de microsoft power point - Clase 1
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
Diapositiva proyecto de vida, materia catedra
PPTX
Presentación de Redes de Datos modelo osi
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
Que son las redes de computadores y sus partes
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
Maste clas de estructura metálica y arquitectura
Presentación PASANTIAS AuditorioOO..pptx
El-Gobierno-Electrónico-En-El-Estado-Bolivia
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Sesion 1 de microsoft power point - Clase 1
Propuesta BKP servidores con Acronis1.pptx
Estrategia de apoyo tecnología grado 9-3
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
introduccion a las_web en el 2025_mejoras.ppt
Diapositiva proyecto de vida, materia catedra
Presentación de Redes de Datos modelo osi
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
Zarate Quispe Alex aldayir aplicaciones de internet .docx
REDES INFORMATICAS REDES INFORMATICAS.pptx

busquedas con adversarios

  • 1. INGENIERIA INFORMATICA Y SISTEMAS INTELIGENCIA ARTIFICIAL BUSQUEDAS CON ADVERSARIOS Sesión 5
  • 2. Árboles y búsqueda con adversario Los entornos competitivos, en los cuales los objetivos del agente están en conflicto, dan ocasión a problemas de búsqueda entre adversarios, a menudo conocido como juegos.
  • 3. La manera natural de responder un juego es mediante un árbol de juegos que es un tipo especial de árbol semántico en los que los nodos representan configuraciones de tableros
  • 4. y las ramas indican como una configuración puede transformarse en otra mediante un solo movimiento.
  • 5. Por supuesto existe un giro especial en el hecho de que las decisiones son tomadas por dos adversarios que toman una decisión a la vez.
  • 6. Un juego se define formalmente como una clase de problemas de búsquedas con los componentes siguientes:
  • 7. El estado inicial: Que incluye la posición del tablero e identifica al jugador que mueve.
  • 8. Una función sucesor: Que devuelve una lista de pares (movimiento, estado), indicando un movimiento legal y el estado que resulta.
  • 9. Un test Terminal: Que determina cuando se termina el juego. A los estados donde el juego se ha terminado se les llama estados terminales.
  • 10. Una función de utilidad: También llamada función objetivo o función de rentabilidad, que da un valor numérico a los estados terminales. En los juegos, el resultado es un triunfo, pérdida o empate, con valores +1, -1 o 0.
  • 11. Un árbol (parcial) de búsqueda para el juego de tres en raya.
  • 12. Búsqueda entre adversarios Uso : decidir mejor jugada en cada momento para cierto tipo de juegos. ¿Que tipo de juegos? 2 jugadores. Movimientos alternos (jugador MAX, jugador MIN)
  • 13. Representación del juego Representación del estado Representación del estado ganador (por estructura o propiedades o función de utilidad) Definir los operadores de movimiento
  • 15. Búsqueda entre adversarios En una busqueda con adversarios se debe : generar todo el árbol de jugadas. Se etiquetan las jugadas terminales, dependiendo de si gana MAX o MIN, con un valor de utilidad de, por ejemplo, “+1” o “-1”. El objetivo es encontrar un conjunto de movimientos accesible que dé como ganador a MAX. Se propagan los valores de las jugadas terminales de las hojas hasta la raíz. Una búsqueda en profundidad minimiza el espacio.
  • 18. Búsqueda entre adversarios Aproximación heurística : definir una función que nos indique lo cerca que estamos de una jugada ganadora (o perdedora). En esta función interviene información del dominio. Esta función no representa ningún coste ni es una distancia en pasos. Por convención: las jugadas ganadoras se evalúan a “+  ” las jugadas perdedoras se evalúan a “-  ” El algoritmo busca con profundidad limitada. Cada nueva decisión implicará repetir parte de la búsqueda.
  • 19. Algoritmo minimax (1) Calcula la decisión minimax del estado actual. Usa un cálculo simple recurrente de los valores minimax de cada estado sucesor. La recursión avanza hacia las hojas del árbol. Los valores minimax retroceden por el árbol cuando la recursión se va deshaciendo.
  • 20. Algoritmo minimax (2) Primero utiliza la función Utilidad para descubrir que sus valores son 3, 12 y 8. Entonces toma el mínimo de estos valores, 3, y lo devuelve como el valor del nodo B . A B
  • 22. Ejemplo 3 en raya e: estado x profundidad  entero e = número de filas, columnas y diagonales completas disponibles para max - número de filas, columnas y diagonales completas disponibles para min max juega con X y desea maximizar e min juega con  y desea minimizar e valores altos: buena posición para el que tiene que mover (profundidad par o impar) Controlar las simetrías X X X0 X 0 X 0 X 0 X 0 X 0 X X 0 0 X X 0 X 0 X 0 X 0 6-5=1 5-5=0 6-5=1 5-5=0 4-5=-1 5-4=1 6-4=2 5-6=-1 6-6=0 6-6=0 5-6=-1 4-6=-2 Min= -1 Min= 1 Min= -2 Max = 1 La mejor jugada de max es pues tras lo cual min podría jugar X 0 X
  • 23. 0 X X 0 X 0 X X 0 X X X 0 0 X X 0 X 0 X 0 X 0 X 0 X 0 X 0 X 0 X 0 0 X 4-2=2 3-2=1 4-2=2 2-2=0 4-2=2 3-2=1 Min=0 0 X X 0 0 X X 0 0 X 0 X 0 0 X X 4-2=2 4-2=2 5-2=3 3-2=1 4-2=2 4-2=2 Min=0 Min=1 Min=0 Max = 1 La mejor jugada de max es pues tras lo cual min podría jugar 0 X X 0 0 X X …………… ... …………… ... 0 X X 0 0 X X 0 0 X X
  • 24. 0 0 X X 0 0 X X X X 0 0 X X 0 0 X X X 0 0 X X X 0 0 X X X X 0 0 0 X X X 0 0 X X 0 X 0 0 X X 0 X 0 0 X 0 X 2-1=1 3-1=2 2-1=1 3-1=2 Min=1 Min= -  Min= -  Min= -  Min= -  Max=1 La mejor jugada de max es pues X 0 0 X X
  • 25. Poda alfa-beta Problema de la búsqueda minimax: el número de estados que tiene que examinar es exponencial con el número de movimientos. Es posible calcular la decisión minimax correcta sin mirar todos los nodos en el árbol. La poda alfa-beta permite eliminar partes grandes del árbol, sin influir en la decisión final.
  • 26. A B C D a1 a2 a3 b1 b2 b3 c1 c2 c3 d1 d2 d3 3 12 8 2 4 6 14 5 2 3 3 2 2 MAX MIN El mejor movimiento de MAX en la raíz es a1, porque conduce al sucesor con el valor minimax mas alto, y la mejor respuesta de MIN es b1, por que conduce al sucesor con el valor minimax mas bajo.
  • 27. A B C D 3 [-  , +  ] [-  , 3] (a) (a) La primera hoja debajo de B tiene el valor 3. De ahí B, que es un nodo MIN, tiene un valor de cómo máximo 3.
  • 28. A B C D 3 [-  , +  ] [-  , 3] (b) (b) La segunda hoja debajo de B tiene el valor 12; MIN evitara este movimiento, entonces el valor de B es todavía como máximo 3. 12
  • 29. A B C D 3 [3, +  ] [3, 3] (c) (c) La tercera hoja debajo de B tiene el valor 8; hemos visto a todos los sucesores de B, entonces el valor de B es exactamente 3. Ahora, podemos deducir que el valor de la raíz es al menos 3., por que MAX tiene una opción digna de 3 en la raíz. 12 8
  • 30. A B C D 3 [3, +  ] [3, 3] (d) (d) La primera hoja debajo de C tiene el valor 2. De ahí, C que es un nodo MIN, tiene un valor de cómo máximo 2. Pero sabemos que B vale 3, entonces MAX nunca elegiría C. Por lo tanto, no hay ninguna razón en mirar a los otros sucesores de C. Este es un ejemplo de la poda Alfa-Beta. 12 8 [-  , 2] 2
  • 31. A B C D 3 [3, 14] [3, 3] (e) (e) La primera hoja debajo de D tiene el valor 14,entonces D vale como máximo 14. Este todavía es mas alto que la mejor alternativa de MAX (es decir, 3), entonces tenemos que seguir explorando a los sucesores de D. Note también que ahora tenemos límites sobre todos los sucesores de la raíz, entonces el valor de la raíz es como máximo 14. 12 8 [-  , 2] [-  , 14] 2 14
  • 32. A B C D 3 [3, 3] [3, 3] (f) (f) El segundo sucesor de D vale 5, así que otra vez tenemos que seguir explorando. El tercer sucesor vale 2, así que ahora D vale exactamente 2. La decisión de MAX en la raíz es moverse a B, dando un valor de 3. 12 8 [-  , 2] [2,2] 2 14 5 2
  • 33. Poda alfa-beta Los dos parámetros alfa y beta describen los límites sobre los valores que aparecen a lo largo del camino:  = el valor de la mejor opción (el más alto) que se ha encontrado hasta el momento en cualquier punto del camino, para MAX  = el valor de la mejor opción (el más bajo) que se ha encontrado hasta el momento en cualquier punto del camino, para MIN La búsqueda alfa-beta actualiza el valor de  y  según se va recorriendo el árbol y termina la recursión cuando encuentra un nodo peor que el actual valor  o  correspondiente.
  • 34. MAX V i {   } Si V i >  modificar  Si V i   poda  Retornar  {   } Si V i <  modificar  Si V i   poda  Retornar  MIN V i Las cotas  y  se transmiten de padres a hijos de 1 en 1 y en el orden de visita de los nodos.  es la cota inferior de un nodo max.  es la cota superior de un nodo min.
  • 35. Fin