SlideShare una empresa de Scribd logo
1 de 74
Descargar para leer sin conexión
BÚSQUEDA ENTRE
 ADVERSARIOS
      CAPITULO 6




  INTEGRANTES:     Diana L. Poma
                   Ana Paz

                   Edwin Maza

                   Argenis Riofrío
JUEGOS
 Los juegos han desafiado en intelecto humano
  desde que existe la civilización.
 En los entornos multi-agente (cooperativos o
  competitivos), cualquier agente tiene que
  considerar las acciones de otros agentes
 La imprevisibilidad de estos otros agentes puede
  introducir muchas contingencias en el proceso de
  resolución de problemas
 Los entornos competitivos, en los cuales los
  objetivos de los agentes están en conflicto, dan
  ocasión a problemas de búsqueda entre
  adversarios, a menudo conocidos como juegos
JUEGOS
 Desde los 50s la comunidad de inteligencia
  artificial se interesó por los juegos (Turing,
  Shannon, Zuse, etc.)
 Los juegos son un dominio apropiado para explorar
  la inteligencia computacional.
 Tarea bien estructurada, que permite medir
  claramente el éxito o fracaso.
 No requiere gran cantidad de conocimiento.
  Pueden ser resueltos buscando una ruta del estado
  inicial a la meta.
 Con el progreso continuo del juego las maquinas
  han superado a las personas, derrotando a
  campeones mundiales humanos en ajedrez y
  backgammon.
JUEGOS
 La teoría matemática de juegos, una rama de la
  economía, ve a cualquier entorno multiagente
  como un juego
 Los “juegos” que se tratan en IA son una clase
  más especializada, usualmente tienen las
  siguientes características:
     Ambientes totalmente observables.

     Dos jugadores

     Son deterministas

     Información perfecta

     Movimientos alternados
JUEGOS
 Los juegos son interesantes porque son demasiado
  difíciles de resolver.
 El ajedrez, por ejemplo, tiene un factor de
  ramificación promedio de 35 y los juegos van a
  menudo a 50 movimientos por cada jugador:
     grafo de búsqueda: aproximadamente 1040
      nodos distintos
     árbol de búsqueda: 35100 o 10154 nodos
 Los juegos, como el mundo real, requieren la
  capacidad de tomar alguna decisión (la jugada)
  cuando es infactible calcular la decisión óptima.
 La investigación en juegos ha generado, varias
  ideas interesantes de cómo hacer uso del tiempo, lo
  mejor posible.
DECISIONES OPTIMAS EN EL
         JUEGO
INTRODUCCIÓN

   Un juego puede definirse formalmente como una clase
    de problemas de búsqueda con los componentes
    siguientes:
       El estado inicial
       Una función sucesor, que devuelve una lista de
        pares (movimiento, estado)
       Un test terminal, que determina cuándo termina
        el juego (por estructura o propiedades o función
        utilidad)
       Una función utilidad


                                                 7
                                                 7
BÚSQUEDA ENTRE ADVERSARIOS
BÚSQUEDA ENTRE ADVERSARIOS
  Aproximación trivial: 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.
 Incluso un juego simple como tic-tac-toe es
  demasiado complejo para dibujar el árbol de
  juegos entero.
BÚSQUEDA ENTRE ADVERSARIOS
BÚSQUEDA ENTRE ADVERSARIOS
BÚSQUEDA ENTRE ADVERSARIOS
BÚSQUEDA ENTRE ADVERSARIOS
BÚSQUEDA ENTRE ADVERSARIOS
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.
•    El algoritmo busca con profundidad limitada.
•    Cada nueva decisión por parte del adversario
     implicará repetir parte de la búsqueda.
EJEMPLO: TIC-TAC-TOE
   e (función utilidad) = 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 0 y desea minimizar e
   Valores absolutos altos de e: buena posición para el que tiene que mover
   Controlar las simetrías
   Utilizar una profundidad de parada (en el ejemplo: 2)
EJEMPLO: TIC-TAC-TOE
EJEMPLO: TIC-TAC-TOE




   Por convención:
     las jugadas ganadoras se evalúan a “+    ”
     las jugadas perdedoras se evalúan a “-   ”
PROCEDIMIENTO MINIMAX

 Tres   ideas básicas:
     Evaluación estática: cálculo de un número que refleje la
      calidad del tablero (positivo indica una posición favorable,
      negativo una favorable al adversario).
     Búsqueda hacia delante: se deben analizar varios
      niveles abajo para tomar una buena decisión (en
      profundidad limitada).
     Modelado de adversarios: se modela el comportamiento
      de un jugador de maximización (la máquina) y uno de
      minimización (el adversario). Ambos siempre toman las
      mejores decisiones.
¿QUÉ HACE MINIMAX?

                                            2
            Nivel de Maximización

                                    2               1
  Nivel de Minimización


                                3                   4



                  2                     7       1       8


• ¿qué jugada debemos seleccionar?
• ¿realmente estamos seguros que será una buena jugada?
• ¿el adversario podría quedar en una posición adecuada
  para hacernos daño?
ANALIZANDO EL PROCEDIMIENTO

 En   el nivel de maximización se busca un movimiento
    que lleve a un número positivo grande. En el de
    minimización uno que lleve hacia negativos.
 Las   decisiones del maximizador deben tener
    conocimiento de las alternativas disponibles para el
    minimizador del nivel inferior, y al revés.
 Cuando     se alcanza el limite de exploración, el
    evaluador estático proporciona una base directa para
    la selección de alternativas.
   Minimax propaga información de abajo hacia arriba.
ALGORITMO
 Para   efectuar una búsqueda mediante MINIMAX:
     Si el límite de búsqueda se ha alcanzado, calcular el valor
      estático de la posición actual. Dar a conocer el resultado.
     De otro modo, si el nivel es de minimización, usar MINIMAX
      en los hijos de la posición actual y dar a conocer el menor de los
      resultados.
     De lo contrario, si el nivel es de maximización, usar MINIMAX
      en los hijos de la posición actual y notificar el mayor de los
      resultados.
ORDEN DE VISITAS Y EVALUACIÓN

                     5–2
                     10 – 2

       2–2                          7–1
       4–2                          9–1




     1–2       3–7            6–1     8–8
EJEMPLO MINIMAX




   Valor-Minimax(n): utilidad para MAX de estar en el
    estado n asumiendo que ambos jugadores jueguen
    óptimamente.
 Valor-Minimax(n):
   Utilidad(n), si n es un estado terminal
   maxs∈Sucesores(n) Valor-Minimax(s), si n es un estado
    MAX
   mins∈Sucesores(n) Valor-Minimax(s), si n es un estado MIN
ALGORITMO MINIMAX
 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
                                 A




                B




   El algoritmo primero va hacia abajo a los tres nodos
    izquierdos y utiliza la función Utilidad para descubrir
    que sus valores son 3, 12 y 8.
ALGORITMO MINIMAX
                             A




             B               C               D




Entonces el algoritmo toma el mínimo de estos valores,
 3, y lo devuelve como el valor del nodo B.
…
ALGORITMO MINIMAX

   Realiza una exploración primero en profundidad
    completa del árbol de juegos.
   Si la profundidad máxima del árbol es m, y hay b
    movimientos legales en cada punto, entonces la
    complejidad :
       en tiempo es O(bm);
       en espacio es
         • O(bm) si se generan todos los sucesores a la
           vez;
         • O(m) si se generan los sucesores uno por uno.

   Juegos reales: los costos de tiempo son inaceptables,
    pero este algoritmo sirve como base para el primer
    análisis matemático y para algoritmos más prácticos.
PODA ALFA-BETA
PODA ALFA-BETA
DECISIONES EN TIEMPO REAL
       IMPERFECTAS
INTRODUCCIÓN
   Algoritmo minimax genera el espacio entero

   Algoritmo alfa-beta permite podar partes grades de
    él, además tiene que buscar en todos los caminos,
    hasta los estados terminales.

   Estos aun no son óptimos en cuanto al tiempo

   Shannon en 1950 propuso que los programas
    deberían cortar la búsqueda antes y aplicar una
    función de evaluación heurística a los estados.

   Convirtiendo los nodos no terminales en hojas
    terminales. (Test-límite)
FUNCIONES DE EVALUACIÓN
o    Devuelve una estimación de la utilidad
     esperada de una posición dada. (Capitulo 4 y
     juego de Ajedrez)

¿Cómo diseñamos funciones de evaluación
   buenas?

1.   Ordenar los estados terminales – (función de
     utilidad verdadera)
2.   El cálculo no debe utilizar demasiado tiempo
3.   Para estados terminales, la función de
     evaluación debería estar correlacionada con las
     posibilidades actuales de ganar.
FUNCIONES DE EVALUACIÓN

   En caso del juego de ajedrez, si cortamos la
    búsqueda en algún estado no termina, el
    algoritmo seria incierto sobre los resultados
    finales.

   Las funciones de evaluación trabajan calculando
    varias características. (El juego de ajedrez,
    numero de perones capturados)
FUNCIONES DE EVALUACIÓN

   Las características juntas definen       varias
    categorías o clases de equivalencia.

   Cualquier categoría puede tener algunos estados
    que conduzcan a empates, triunfos o pérdidas.

   Se puede obtener un valor que refleje la
    proporción de estado en con cada resultado.
FUNCIONES DE EVALUACIÓN

 Ejemplo: Estados encontrados en la categoría
  que conducen.
 72% de triunfo. (Utilidad + 1)

 20% de pérdida (-1)

 8% a un empate (0)

 Se lo puede determinar para cada categoría, y
  que puede producirse una función para cualquier
  estado.
FUNCIONES DE EVALUACIÓN
   En la práctica se requiere demasiadas categorías
    y demasiada experiencia para estimar todas las
    posibilidades de ganar.

   Matemáticamente se existe una función llamada
    función ponderada lineal
FUNCIONES DE EVALUACIÓN
 Donde: cada es un peso y cada es una
  característica de la posición.
 En el ajedrez sería serían los números de cada
  clase de pieza sobre el tablero y los podrían ser
  los valores que tienen las piezas.
FUNCIONES DE EVALUACIÓN

   El axioma debería ser muy fuerte de tal forma
    que contribuya a que cada característica sea
    independiente de los valores de las otras
    características
CORTE DE LA BÚSQUEDA 1/4

   Se debe modificar la búsqueda ALFA-BETA de
    modo que llame a la función heurística Eval
    cuando se corte la búsqueda.

   Se sustituye la función Teste_Terminal con la
    siguiente si TEST-CORTE(estado, profundidad)
    entonces devolver Eval(estado).
CORTE DE LA BÚSQUEDA 2/4
   La profundidad se     incrementa    sobre   cada
    llamada recursiva.

   Para controlar la cantidad de búsqueda es poner
    un límite de profundidad fijo. De modo que la
    función devuelve verdadero para la profundidad
    mayor de que la fija.

   Una aproximación robusta       es   aplicar   la
    profundidad iterativa.
CORTE DE LA BÚSQUEDA 3/4

   Pueden conducir a errores.

   Las posiciones no estables en un ajedrez se
    pueden extender hasta que se alcancen posiciones
    estables.   Denominada        búsqueda        de
    estabilidad o de reposo, a veces se restringe a
    solo ciertos tipos de movimientos, como
    movimientos de captura, que resolverán
    rápidamente la incertidumbre en la posición.
CORTE DE LA BÚSQUEDA 4/4
   Efecto horizonte es más difícil de eliminar. Se
    produce cuando el programa afronta un
    movimiento, del oponente.

   El uso de extensiones excepcionales ha sido
    bastante eficaz para evitar el efecto horizonte sin
    añadir demasiado coste a la búsqueda.

   Como conclusión , la combinación de todas las
    técnicas descritas proporciona un programa que
    pueda jugar al ajedrez loablemente (O a otros
    juegos).
JUEGOS QUE INCLUYEN UN
ELEMENTO DE POSIBILIDAD
INTRODUCCIÓN

 En la vida real existen factores imprevisible.
 Los juegos reflejan esto (los dados).

 El elemento aleatorio acerca a la realidad

 Backgammon

 Indicaciones
BACKGAMMON
BACKGAMMON
 El objetivo de Backgammon es quitar todas sus
  piezas del tablero antes que su oponente.
 Un árbol de juegos en el backgamman debe
  incluir nodos de posibilidad, nodos max, nodos
  min.
BACKGAMMON




 Blanco sabe cuáles son sus propios movimientos
  legales, no sabe lo que va salir a Negro.
 Blanco no puede construir un árbol de juegos estándar
  con el ajedrez. (Nodos de posibilidad)
BLANCO


                                                        NEGRO




   Una posición típica del backgammon. El objetivo del juego es
    mover todas las fichas del tablero. Blanco mueve a la derecha
    hacía 25, y los movimientos de Negro al contrarío, hacia 0. Una
    ficha puede moverse a cualquier posición a menos que haya varias
    piezas del oponente; si hay un oponente, es capturado y debe
    comenzar. En la posición mostrada, Blanca ha sacado 6-5 y debe
    elegir entre cuatro movimientos legales: (5-10,5-11 ), (5-11 ,19-24),
    (5- 10, 10- 16) y (5-11, 11- 16).
NODOS DE
                                                               POSIBILID
                                                                  AD


POSIBLES                                                       Posibilidad
TIRADAS                                                          de que
                                                                 ocurra




     Figura 6.11   Árbol de juegos esquemático para la posición del
                               backgammon
   Hay 36 resultados posibles. 6 x 6 lados.

                    11   12   13   14   15   16
                    21   22   23   24   25   26
                    31   32   33   34   35   36
                    41   42   43   44   45   46
                    51   52   53   54   55   56
                    61   62   63   64   65   66
 Perocomo 6 y 5 es igual a   5 y 6 solo hay
 21 resultados distintos


           11 12 13 14 15 16
           21 22 23 24 25 26
           31 32 33 34 35 36
           41 42 43 44 45 46
           51 52 53 54 55 56
           61 62 63 64 65 66
 Los   6 dobles tienen una posibilidad de 1/36


              11   12   13   14   15   16
              21   22   23   24   25   26
              31   32   33   34   35   36
              41   42   43   44   45   46
              51   52   53   54   55   56
              61   62   63   64   65   66
Los   15 restantes 1/18
        11 12 13 14 15 16
        21 22 23 24 25 26
        31 32 33 34 35 36
        41 42 43 44 45 46
        51 52 53 54 55 56
        61 62 63 64 65 66
PROGRAMAS DE JUEGOS
PROGRAMAS DE JUEGOS: AJEDREZ

 Tiene unas reglas claramente definidas y unos
  objetivos inequívocos.
 Deep Blue fue clasificado como el mejor jugador de
  ajedrez de ordenador en el mundo, además de ser
  el primero en batir al maestro del ajedrez Garry
  Kasparov.
 La búsqueda que utiliza la alfa-beta estándar de
  profundidad iterativa, con capacidad de generar
  extensiones mas allá de su limite.
PROGRAMAS DE JUEGOS: DAMAS


 Chinook (J.Schaffer) es probablemente el mejor
  programa de ordenador de Damas, ya que fue el
  primero en ganar un campeonato del mundo
  contra humanos.
 Este programa usa la búsqueda alfa-beta.

 Chinook usa una base de datos pre calculados de
  444 billones de posiciones con 8 o menos piezas
  sobre el tablero para así hacer la fase final del
  juego de forma impecable.
PROGRAMAS DE JUEGOS: OTELO

 Llamado también Reversi, siendo mas popular
  como un juego de computador que como de mesa.
 Otelo crea interés entre los programadores
  debido a la sencillez de sus reglas: sólo un tipo de
  movimiento, un único tipo de fichas, etc
 Por ejemplo, el programa Logistello en 1997
  derrotó claramente al campeón mundial
  Murakami por 6 victorias a 0.
 Minimax es el método de decisión que utiliza
  otelo para minimizar la pérdida máxima
  esperada en juegos, con poda alfa-beta.
PROGRAMAS DE JUEGOS: BACKGAMMON
   El elemento de incertidumbre que
    introduce el lanzamiento de dados en
    el juego del backgammon hace de la
    búsqueda un lujo muy costoso.
 El primer programa que tuvo repercusión, BK.G,
  utilizaba sólo búsqueda de una capa, aunque la
  función de evaluación era bastante compleja.
 Y lo más interesante es que su inteligencia
  artificial está mejorando gradualmente.
 Recientemente, Gerry Tesauro combinó el método
  de aprendizaje de Samuel con las técnicas de las
  redes neuronales para crear una nueva función de
  evaluación.
 El programa TD-Gammon está considerado sin
  lugar a dudas entre los tres mejores jugadores del
  mundo
PROGRAMAS DE JUEGOS: GO

 Juego de mesa mas popular de Asia, que …. …….
  requiere tanta disciplina como el ajedrez.
 El tablero es de 19x19, el factor de ramificación
  comienza en 361, desalentando los métodos de
  búsqueda.
 La mayor parte de los mejores programas mejores
  combinan técnicas de reconocimiento de modelos
  con la búsqueda limitada.
 Los programas mas fuertes son Goemate de Chen
  Zhixing y Go4++ de Michael Reiss.
 Go es una área que se beneficiara de la
  investigación que utiliza métodos de razonamiento
  mas sofisticados .
PROGRAMAS DE JUEGOS: BRIDGE

 Es un juego de información imperfecta: en donde
  las cartas de un jugador se esconden de los otros.
 El juego optimo en el bridge incluye elementos de
  reunión de información, comunicación y
  probabilidades.
 Bridge barón, es un sistema de juegos que usa
  planes complejos y jerárquicos que implica ideas
  de alto nivel como astucia y aprieto.
 GIB, el mejor programa de bridge actual,
  aproxima esta idea, generando 100 partidas
  consistente con información propuesta y
  escogiendo la acción que gana mas en promedio
GRACIAS

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Decisiones Optimas en Juego
Decisiones Optimas en JuegoDecisiones Optimas en Juego
Decisiones Optimas en Juego
 
Knowledge representation
Knowledge representationKnowledge representation
Knowledge representation
 
Algorithm Introduction
Algorithm IntroductionAlgorithm Introduction
Algorithm Introduction
 
Tema: Teoria de Juegos
Tema: Teoria de JuegosTema: Teoria de Juegos
Tema: Teoria de Juegos
 
La teoria de los juegos
La teoria de los juegosLa teoria de los juegos
La teoria de los juegos
 
Minmax Algorithm In Artificial Intelligence slides
Minmax Algorithm In Artificial Intelligence slidesMinmax Algorithm In Artificial Intelligence slides
Minmax Algorithm In Artificial Intelligence slides
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
Sistemas tiempo-real
Sistemas tiempo-realSistemas tiempo-real
Sistemas tiempo-real
 
AI 6 | Adversarial Search
AI 6 | Adversarial SearchAI 6 | Adversarial Search
AI 6 | Adversarial Search
 
Reinforcement Learning
Reinforcement LearningReinforcement Learning
Reinforcement Learning
 
Tic Tac Toe using Mini Max Algorithm
Tic Tac Toe using Mini Max AlgorithmTic Tac Toe using Mini Max Algorithm
Tic Tac Toe using Mini Max Algorithm
 
Game Playing in Artificial Intelligence
Game Playing in Artificial IntelligenceGame Playing in Artificial Intelligence
Game Playing in Artificial Intelligence
 
Process Scheduling
Process SchedulingProcess Scheduling
Process Scheduling
 
Lecture 2 agent and environment
Lecture 2   agent and environmentLecture 2   agent and environment
Lecture 2 agent and environment
 
jBPM6 Updates
jBPM6 UpdatesjBPM6 Updates
jBPM6 Updates
 
Iterative deepening search
Iterative deepening searchIterative deepening search
Iterative deepening search
 
AI_Unit I notes .pdf
AI_Unit I notes .pdfAI_Unit I notes .pdf
AI_Unit I notes .pdf
 
Unidad 4 entorno economico logistica
Unidad 4 entorno economico logisticaUnidad 4 entorno economico logistica
Unidad 4 entorno economico logistica
 
Lógica y Algoritmos
Lógica y AlgoritmosLógica y Algoritmos
Lógica y Algoritmos
 
Minimax
MinimaxMinimax
Minimax
 

Destacado

Destacado (12)

Fundamentos de la inteligencia artificial
Fundamentos de la inteligencia artificialFundamentos de la inteligencia artificial
Fundamentos de la inteligencia artificial
 
PODA ALFA-BETA
PODA ALFA-BETAPODA ALFA-BETA
PODA ALFA-BETA
 
La critica del arte
La critica del arteLa critica del arte
La critica del arte
 
Modelos de crítica de arte
Modelos de crítica de arteModelos de crítica de arte
Modelos de crítica de arte
 
Diapositivas La acreditación en el Perú
Diapositivas La acreditación  en el PerúDiapositivas La acreditación  en el Perú
Diapositivas La acreditación en el Perú
 
El Juego TicTacToe (Gato) mediante Arboles de Decisiones
El Juego TicTacToe (Gato) mediante Arboles de DecisionesEl Juego TicTacToe (Gato) mediante Arboles de Decisiones
El Juego TicTacToe (Gato) mediante Arboles de Decisiones
 
Modelo critico
Modelo criticoModelo critico
Modelo critico
 
PRINCIPALES MODELOS O TIPOS DE EVALUACIÓN DE ENSEÑANZA-APRENDIZAJE.
PRINCIPALES MODELOS O TIPOS DE EVALUACIÓN DE ENSEÑANZA-APRENDIZAJE.PRINCIPALES MODELOS O TIPOS DE EVALUACIÓN DE ENSEÑANZA-APRENDIZAJE.
PRINCIPALES MODELOS O TIPOS DE EVALUACIÓN DE ENSEÑANZA-APRENDIZAJE.
 
Modelos de evaluación pdf
Modelos de evaluación pdfModelos de evaluación pdf
Modelos de evaluación pdf
 
Modelo Pedagogico Critico Resumen
Modelo Pedagogico Critico ResumenModelo Pedagogico Critico Resumen
Modelo Pedagogico Critico Resumen
 
Modelos De Evaluación
Modelos De EvaluaciónModelos De Evaluación
Modelos De Evaluación
 
TIPOS DE EVALUACIÓN EDUCATIVA
TIPOS DE EVALUACIÓN EDUCATIVATIPOS DE EVALUACIÓN EDUCATIVA
TIPOS DE EVALUACIÓN EDUCATIVA
 

Similar a Decisiones optimas en tiempo real

Búsqueda entre adversarios
Búsqueda entre adversariosBúsqueda entre adversarios
Búsqueda entre adversariosIsrael Rey
 
Paper
PaperPaper
PaperAlex
 
Algoritmo minimax
Algoritmo minimaxAlgoritmo minimax
Algoritmo minimaxJeffoG92
 
Conecta 4 en C
Conecta 4 en CConecta 4 en C
Conecta 4 en CSNPP
 
Busqueda entre adversarios
Busqueda entre adversariosBusqueda entre adversarios
Busqueda entre adversariosgvnyps
 
Decisiones optimas en juego
Decisiones optimas en juegoDecisiones optimas en juego
Decisiones optimas en juegoJeffoG92
 
Algoritmo para el juego del gato
Algoritmo para el juego del gatoAlgoritmo para el juego del gato
Algoritmo para el juego del gatoEdwinVega49
 
Revista unidad iii teoria de los juegos
Revista unidad iii teoria de los juegosRevista unidad iii teoria de los juegos
Revista unidad iii teoria de los juegosYackelin Angulo
 
Teoría de Juegos
Teoría de JuegosTeoría de Juegos
Teoría de Juegosemilioft
 
TEORÍA DE JUEGOS EXPO.pptx
TEORÍA DE JUEGOS EXPO.pptxTEORÍA DE JUEGOS EXPO.pptx
TEORÍA DE JUEGOS EXPO.pptxWilliamDextre1
 
Presentacion de teoria de juegos
Presentacion de teoria de juegosPresentacion de teoria de juegos
Presentacion de teoria de juegostheCJ
 

Similar a Decisiones optimas en tiempo real (20)

Arboles min max
Arboles min maxArboles min max
Arboles min max
 
Búsqueda entre adversarios
Búsqueda entre adversariosBúsqueda entre adversarios
Búsqueda entre adversarios
 
Paper
PaperPaper
Paper
 
Algoritmo minimax
Algoritmo minimaxAlgoritmo minimax
Algoritmo minimax
 
Conecta 4 en C
Conecta 4 en CConecta 4 en C
Conecta 4 en C
 
MinMax
MinMaxMinMax
MinMax
 
Busqueda entre adversarios
Busqueda entre adversariosBusqueda entre adversarios
Busqueda entre adversarios
 
1789019.ppt
1789019.ppt1789019.ppt
1789019.ppt
 
Teoria del juego
Teoria del juegoTeoria del juego
Teoria del juego
 
Decisiones optimas en juego
Decisiones optimas en juegoDecisiones optimas en juego
Decisiones optimas en juego
 
Algoritmo para el juego del gato
Algoritmo para el juego del gatoAlgoritmo para el juego del gato
Algoritmo para el juego del gato
 
Teoria de los juegos
Teoria de los juegosTeoria de los juegos
Teoria de los juegos
 
Revista unidad iii teoria de los juegos
Revista unidad iii teoria de los juegosRevista unidad iii teoria de los juegos
Revista unidad iii teoria de los juegos
 
Teoría de Juegos
Teoría de JuegosTeoría de Juegos
Teoría de Juegos
 
Proyecto
ProyectoProyecto
Proyecto
 
TEORÍA DE JUEGOS EXPO.pptx
TEORÍA DE JUEGOS EXPO.pptxTEORÍA DE JUEGOS EXPO.pptx
TEORÍA DE JUEGOS EXPO.pptx
 
Teoria de juegos
Teoria de juegosTeoria de juegos
Teoria de juegos
 
Presentacion de teoria de juegos
Presentacion de teoria de juegosPresentacion de teoria de juegos
Presentacion de teoria de juegos
 
Final
FinalFinal
Final
 
busquedas con adversarios
busquedas con adversariosbusquedas con adversarios
busquedas con adversarios
 

Más de Diana

Client side explotation
Client side explotationClient side explotation
Client side explotationDiana
 
Client side explotation
Client side explotationClient side explotation
Client side explotationDiana
 
Proyecto sbc
Proyecto sbcProyecto sbc
Proyecto sbcDiana
 
Consultas del RDF de los Beatles
Consultas del RDF de los BeatlesConsultas del RDF de los Beatles
Consultas del RDF de los BeatlesDiana
 
Repositorio rdf
Repositorio rdfRepositorio rdf
Repositorio rdfDiana
 
Predición Meteorológica con Redes Neuronales
Predición Meteorológica con Redes NeuronalesPredición Meteorológica con Redes Neuronales
Predición Meteorológica con Redes NeuronalesDiana
 
Aplicación con Weka Predicciones Meteorológicas
Aplicación con Weka Predicciones MeteorológicasAplicación con Weka Predicciones Meteorológicas
Aplicación con Weka Predicciones MeteorológicasDiana
 
Tallerde Inteligencia Artificial Avanzada
Tallerde Inteligencia Artificial AvanzadaTallerde Inteligencia Artificial Avanzada
Tallerde Inteligencia Artificial AvanzadaDiana
 
Agente: Acondicionador de Aire Inteligente
Agente: Acondicionador de Aire InteligenteAgente: Acondicionador de Aire Inteligente
Agente: Acondicionador de Aire InteligenteDiana
 
Anexos: Agente Acondicionador De Aire Inteligente
Anexos: Agente Acondicionador De Aire InteligenteAnexos: Agente Acondicionador De Aire Inteligente
Anexos: Agente Acondicionador De Aire InteligenteDiana
 
Agente: Acondicionador De Aire Inteligente
Agente: Acondicionador De Aire InteligenteAgente: Acondicionador De Aire Inteligente
Agente: Acondicionador De Aire InteligenteDiana
 
Estrategias De BúSqueda No Informada
Estrategias De BúSqueda No InformadaEstrategias De BúSqueda No Informada
Estrategias De BúSqueda No InformadaDiana
 
Modelado Del Retardo Tcp
Modelado Del Retardo TcpModelado Del Retardo Tcp
Modelado Del Retardo TcpDiana
 
Modelado del Retardo TCP
Modelado del Retardo TCPModelado del Retardo TCP
Modelado del Retardo TCPDiana
 
Centro de Información Bibliotecario
Centro de Información Bibliotecario Centro de Información Bibliotecario
Centro de Información Bibliotecario Diana
 
Centro de Computo Comunitario
Centro de Computo ComunitarioCentro de Computo Comunitario
Centro de Computo ComunitarioDiana
 
Sumador en Paralelo de Circuito Integrado
Sumador en Paralelo de Circuito IntegradoSumador en Paralelo de Circuito Integrado
Sumador en Paralelo de Circuito IntegradoDiana
 
Multiprocesamiento
MultiprocesamientoMultiprocesamiento
MultiprocesamientoDiana
 
Introduction To Parallel Computing
Introduction To Parallel ComputingIntroduction To Parallel Computing
Introduction To Parallel ComputingDiana
 
Open Innovation
Open InnovationOpen Innovation
Open InnovationDiana
 

Más de Diana (20)

Client side explotation
Client side explotationClient side explotation
Client side explotation
 
Client side explotation
Client side explotationClient side explotation
Client side explotation
 
Proyecto sbc
Proyecto sbcProyecto sbc
Proyecto sbc
 
Consultas del RDF de los Beatles
Consultas del RDF de los BeatlesConsultas del RDF de los Beatles
Consultas del RDF de los Beatles
 
Repositorio rdf
Repositorio rdfRepositorio rdf
Repositorio rdf
 
Predición Meteorológica con Redes Neuronales
Predición Meteorológica con Redes NeuronalesPredición Meteorológica con Redes Neuronales
Predición Meteorológica con Redes Neuronales
 
Aplicación con Weka Predicciones Meteorológicas
Aplicación con Weka Predicciones MeteorológicasAplicación con Weka Predicciones Meteorológicas
Aplicación con Weka Predicciones Meteorológicas
 
Tallerde Inteligencia Artificial Avanzada
Tallerde Inteligencia Artificial AvanzadaTallerde Inteligencia Artificial Avanzada
Tallerde Inteligencia Artificial Avanzada
 
Agente: Acondicionador de Aire Inteligente
Agente: Acondicionador de Aire InteligenteAgente: Acondicionador de Aire Inteligente
Agente: Acondicionador de Aire Inteligente
 
Anexos: Agente Acondicionador De Aire Inteligente
Anexos: Agente Acondicionador De Aire InteligenteAnexos: Agente Acondicionador De Aire Inteligente
Anexos: Agente Acondicionador De Aire Inteligente
 
Agente: Acondicionador De Aire Inteligente
Agente: Acondicionador De Aire InteligenteAgente: Acondicionador De Aire Inteligente
Agente: Acondicionador De Aire Inteligente
 
Estrategias De BúSqueda No Informada
Estrategias De BúSqueda No InformadaEstrategias De BúSqueda No Informada
Estrategias De BúSqueda No Informada
 
Modelado Del Retardo Tcp
Modelado Del Retardo TcpModelado Del Retardo Tcp
Modelado Del Retardo Tcp
 
Modelado del Retardo TCP
Modelado del Retardo TCPModelado del Retardo TCP
Modelado del Retardo TCP
 
Centro de Información Bibliotecario
Centro de Información Bibliotecario Centro de Información Bibliotecario
Centro de Información Bibliotecario
 
Centro de Computo Comunitario
Centro de Computo ComunitarioCentro de Computo Comunitario
Centro de Computo Comunitario
 
Sumador en Paralelo de Circuito Integrado
Sumador en Paralelo de Circuito IntegradoSumador en Paralelo de Circuito Integrado
Sumador en Paralelo de Circuito Integrado
 
Multiprocesamiento
MultiprocesamientoMultiprocesamiento
Multiprocesamiento
 
Introduction To Parallel Computing
Introduction To Parallel ComputingIntroduction To Parallel Computing
Introduction To Parallel Computing
 
Open Innovation
Open InnovationOpen Innovation
Open Innovation
 

Decisiones optimas en tiempo real

  • 1. BÚSQUEDA ENTRE ADVERSARIOS CAPITULO 6 INTEGRANTES: Diana L. Poma Ana Paz Edwin Maza Argenis Riofrío
  • 2. JUEGOS  Los juegos han desafiado en intelecto humano desde que existe la civilización.  En los entornos multi-agente (cooperativos o competitivos), cualquier agente tiene que considerar las acciones de otros agentes  La imprevisibilidad de estos otros agentes puede introducir muchas contingencias en el proceso de resolución de problemas  Los entornos competitivos, en los cuales los objetivos de los agentes están en conflicto, dan ocasión a problemas de búsqueda entre adversarios, a menudo conocidos como juegos
  • 3. JUEGOS  Desde los 50s la comunidad de inteligencia artificial se interesó por los juegos (Turing, Shannon, Zuse, etc.)  Los juegos son un dominio apropiado para explorar la inteligencia computacional.  Tarea bien estructurada, que permite medir claramente el éxito o fracaso.  No requiere gran cantidad de conocimiento. Pueden ser resueltos buscando una ruta del estado inicial a la meta.  Con el progreso continuo del juego las maquinas han superado a las personas, derrotando a campeones mundiales humanos en ajedrez y backgammon.
  • 4. JUEGOS  La teoría matemática de juegos, una rama de la economía, ve a cualquier entorno multiagente como un juego  Los “juegos” que se tratan en IA son una clase más especializada, usualmente tienen las siguientes características:  Ambientes totalmente observables.  Dos jugadores  Son deterministas  Información perfecta  Movimientos alternados
  • 5. JUEGOS  Los juegos son interesantes porque son demasiado difíciles de resolver.  El ajedrez, por ejemplo, tiene un factor de ramificación promedio de 35 y los juegos van a menudo a 50 movimientos por cada jugador:  grafo de búsqueda: aproximadamente 1040 nodos distintos  árbol de búsqueda: 35100 o 10154 nodos  Los juegos, como el mundo real, requieren la capacidad de tomar alguna decisión (la jugada) cuando es infactible calcular la decisión óptima.  La investigación en juegos ha generado, varias ideas interesantes de cómo hacer uso del tiempo, lo mejor posible.
  • 7. INTRODUCCIÓN  Un juego puede definirse formalmente como una clase de problemas de búsqueda con los componentes siguientes:  El estado inicial  Una función sucesor, que devuelve una lista de pares (movimiento, estado)  Un test terminal, que determina cuándo termina el juego (por estructura o propiedades o función utilidad)  Una función utilidad 7 7
  • 9. BÚSQUEDA ENTRE ADVERSARIOS  Aproximación trivial: 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.  Incluso un juego simple como tic-tac-toe es demasiado complejo para dibujar el árbol de juegos entero.
  • 17. 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. • El algoritmo busca con profundidad limitada. • Cada nueva decisión por parte del adversario implicará repetir parte de la búsqueda.
  • 18. EJEMPLO: TIC-TAC-TOE  e (función utilidad) = 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 0 y desea minimizar e  Valores absolutos altos de e: buena posición para el que tiene que mover  Controlar las simetrías  Utilizar una profundidad de parada (en el ejemplo: 2)
  • 20. EJEMPLO: TIC-TAC-TOE  Por convención:  las jugadas ganadoras se evalúan a “+ ”  las jugadas perdedoras se evalúan a “- ”
  • 21. PROCEDIMIENTO MINIMAX  Tres ideas básicas:  Evaluación estática: cálculo de un número que refleje la calidad del tablero (positivo indica una posición favorable, negativo una favorable al adversario).  Búsqueda hacia delante: se deben analizar varios niveles abajo para tomar una buena decisión (en profundidad limitada).  Modelado de adversarios: se modela el comportamiento de un jugador de maximización (la máquina) y uno de minimización (el adversario). Ambos siempre toman las mejores decisiones.
  • 22. ¿QUÉ HACE MINIMAX? 2 Nivel de Maximización 2 1 Nivel de Minimización 3 4 2 7 1 8 • ¿qué jugada debemos seleccionar? • ¿realmente estamos seguros que será una buena jugada? • ¿el adversario podría quedar en una posición adecuada para hacernos daño?
  • 23. ANALIZANDO EL PROCEDIMIENTO  En el nivel de maximización se busca un movimiento que lleve a un número positivo grande. En el de minimización uno que lleve hacia negativos.  Las decisiones del maximizador deben tener conocimiento de las alternativas disponibles para el minimizador del nivel inferior, y al revés.  Cuando se alcanza el limite de exploración, el evaluador estático proporciona una base directa para la selección de alternativas.  Minimax propaga información de abajo hacia arriba.
  • 24. ALGORITMO  Para efectuar una búsqueda mediante MINIMAX:  Si el límite de búsqueda se ha alcanzado, calcular el valor estático de la posición actual. Dar a conocer el resultado.  De otro modo, si el nivel es de minimización, usar MINIMAX en los hijos de la posición actual y dar a conocer el menor de los resultados.  De lo contrario, si el nivel es de maximización, usar MINIMAX en los hijos de la posición actual y notificar el mayor de los resultados.
  • 25. ORDEN DE VISITAS Y EVALUACIÓN 5–2 10 – 2 2–2 7–1 4–2 9–1 1–2 3–7 6–1 8–8
  • 26. EJEMPLO MINIMAX  Valor-Minimax(n): utilidad para MAX de estar en el estado n asumiendo que ambos jugadores jueguen óptimamente.
  • 27.  Valor-Minimax(n):  Utilidad(n), si n es un estado terminal  maxs∈Sucesores(n) Valor-Minimax(s), si n es un estado MAX  mins∈Sucesores(n) Valor-Minimax(s), si n es un estado MIN
  • 28. ALGORITMO MINIMAX  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.
  • 29. ALGORITMO MINIMAX A B  El algoritmo primero va hacia abajo a los tres nodos izquierdos y utiliza la función Utilidad para descubrir que sus valores son 3, 12 y 8.
  • 30. ALGORITMO MINIMAX A B C D Entonces el algoritmo toma el mínimo de estos valores, 3, y lo devuelve como el valor del nodo B. …
  • 31. ALGORITMO MINIMAX  Realiza una exploración primero en profundidad completa del árbol de juegos.  Si la profundidad máxima del árbol es m, y hay b movimientos legales en cada punto, entonces la complejidad :  en tiempo es O(bm);  en espacio es • O(bm) si se generan todos los sucesores a la vez; • O(m) si se generan los sucesores uno por uno.  Juegos reales: los costos de tiempo son inaceptables, pero este algoritmo sirve como base para el primer análisis matemático y para algoritmos más prácticos.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43. DECISIONES EN TIEMPO REAL IMPERFECTAS
  • 44. INTRODUCCIÓN  Algoritmo minimax genera el espacio entero  Algoritmo alfa-beta permite podar partes grades de él, además tiene que buscar en todos los caminos, hasta los estados terminales.  Estos aun no son óptimos en cuanto al tiempo  Shannon en 1950 propuso que los programas deberían cortar la búsqueda antes y aplicar una función de evaluación heurística a los estados.  Convirtiendo los nodos no terminales en hojas terminales. (Test-límite)
  • 45. FUNCIONES DE EVALUACIÓN o Devuelve una estimación de la utilidad esperada de una posición dada. (Capitulo 4 y juego de Ajedrez) ¿Cómo diseñamos funciones de evaluación buenas? 1. Ordenar los estados terminales – (función de utilidad verdadera) 2. El cálculo no debe utilizar demasiado tiempo 3. Para estados terminales, la función de evaluación debería estar correlacionada con las posibilidades actuales de ganar.
  • 46. FUNCIONES DE EVALUACIÓN  En caso del juego de ajedrez, si cortamos la búsqueda en algún estado no termina, el algoritmo seria incierto sobre los resultados finales.  Las funciones de evaluación trabajan calculando varias características. (El juego de ajedrez, numero de perones capturados)
  • 47. FUNCIONES DE EVALUACIÓN  Las características juntas definen varias categorías o clases de equivalencia.  Cualquier categoría puede tener algunos estados que conduzcan a empates, triunfos o pérdidas.  Se puede obtener un valor que refleje la proporción de estado en con cada resultado.
  • 48. FUNCIONES DE EVALUACIÓN  Ejemplo: Estados encontrados en la categoría que conducen.  72% de triunfo. (Utilidad + 1)  20% de pérdida (-1)  8% a un empate (0)  Se lo puede determinar para cada categoría, y que puede producirse una función para cualquier estado.
  • 49. FUNCIONES DE EVALUACIÓN  En la práctica se requiere demasiadas categorías y demasiada experiencia para estimar todas las posibilidades de ganar.  Matemáticamente se existe una función llamada función ponderada lineal
  • 50. FUNCIONES DE EVALUACIÓN  Donde: cada es un peso y cada es una característica de la posición.  En el ajedrez sería serían los números de cada clase de pieza sobre el tablero y los podrían ser los valores que tienen las piezas.
  • 51. FUNCIONES DE EVALUACIÓN  El axioma debería ser muy fuerte de tal forma que contribuya a que cada característica sea independiente de los valores de las otras características
  • 52. CORTE DE LA BÚSQUEDA 1/4  Se debe modificar la búsqueda ALFA-BETA de modo que llame a la función heurística Eval cuando se corte la búsqueda.  Se sustituye la función Teste_Terminal con la siguiente si TEST-CORTE(estado, profundidad) entonces devolver Eval(estado).
  • 53. CORTE DE LA BÚSQUEDA 2/4  La profundidad se incrementa sobre cada llamada recursiva.  Para controlar la cantidad de búsqueda es poner un límite de profundidad fijo. De modo que la función devuelve verdadero para la profundidad mayor de que la fija.  Una aproximación robusta es aplicar la profundidad iterativa.
  • 54. CORTE DE LA BÚSQUEDA 3/4  Pueden conducir a errores.  Las posiciones no estables en un ajedrez se pueden extender hasta que se alcancen posiciones estables. Denominada búsqueda de estabilidad o de reposo, a veces se restringe a solo ciertos tipos de movimientos, como movimientos de captura, que resolverán rápidamente la incertidumbre en la posición.
  • 55. CORTE DE LA BÚSQUEDA 4/4  Efecto horizonte es más difícil de eliminar. Se produce cuando el programa afronta un movimiento, del oponente.  El uso de extensiones excepcionales ha sido bastante eficaz para evitar el efecto horizonte sin añadir demasiado coste a la búsqueda.  Como conclusión , la combinación de todas las técnicas descritas proporciona un programa que pueda jugar al ajedrez loablemente (O a otros juegos).
  • 56. JUEGOS QUE INCLUYEN UN ELEMENTO DE POSIBILIDAD
  • 57. INTRODUCCIÓN  En la vida real existen factores imprevisible.  Los juegos reflejan esto (los dados).  El elemento aleatorio acerca a la realidad  Backgammon  Indicaciones
  • 59. BACKGAMMON  El objetivo de Backgammon es quitar todas sus piezas del tablero antes que su oponente.  Un árbol de juegos en el backgamman debe incluir nodos de posibilidad, nodos max, nodos min.
  • 60. BACKGAMMON  Blanco sabe cuáles son sus propios movimientos legales, no sabe lo que va salir a Negro.  Blanco no puede construir un árbol de juegos estándar con el ajedrez. (Nodos de posibilidad)
  • 61. BLANCO NEGRO  Una posición típica del backgammon. El objetivo del juego es mover todas las fichas del tablero. Blanco mueve a la derecha hacía 25, y los movimientos de Negro al contrarío, hacia 0. Una ficha puede moverse a cualquier posición a menos que haya varias piezas del oponente; si hay un oponente, es capturado y debe comenzar. En la posición mostrada, Blanca ha sacado 6-5 y debe elegir entre cuatro movimientos legales: (5-10,5-11 ), (5-11 ,19-24), (5- 10, 10- 16) y (5-11, 11- 16).
  • 62. NODOS DE POSIBILID AD POSIBLES Posibilidad TIRADAS de que ocurra Figura 6.11 Árbol de juegos esquemático para la posición del backgammon
  • 63. Hay 36 resultados posibles. 6 x 6 lados. 11 12 13 14 15 16 21 22 23 24 25 26 31 32 33 34 35 36 41 42 43 44 45 46 51 52 53 54 55 56 61 62 63 64 65 66
  • 64.  Perocomo 6 y 5 es igual a 5 y 6 solo hay 21 resultados distintos 11 12 13 14 15 16 21 22 23 24 25 26 31 32 33 34 35 36 41 42 43 44 45 46 51 52 53 54 55 56 61 62 63 64 65 66
  • 65.  Los 6 dobles tienen una posibilidad de 1/36 11 12 13 14 15 16 21 22 23 24 25 26 31 32 33 34 35 36 41 42 43 44 45 46 51 52 53 54 55 56 61 62 63 64 65 66
  • 66. Los 15 restantes 1/18 11 12 13 14 15 16 21 22 23 24 25 26 31 32 33 34 35 36 41 42 43 44 45 46 51 52 53 54 55 56 61 62 63 64 65 66
  • 68. PROGRAMAS DE JUEGOS: AJEDREZ  Tiene unas reglas claramente definidas y unos objetivos inequívocos.  Deep Blue fue clasificado como el mejor jugador de ajedrez de ordenador en el mundo, además de ser el primero en batir al maestro del ajedrez Garry Kasparov.  La búsqueda que utiliza la alfa-beta estándar de profundidad iterativa, con capacidad de generar extensiones mas allá de su limite.
  • 69. PROGRAMAS DE JUEGOS: DAMAS  Chinook (J.Schaffer) es probablemente el mejor programa de ordenador de Damas, ya que fue el primero en ganar un campeonato del mundo contra humanos.  Este programa usa la búsqueda alfa-beta.  Chinook usa una base de datos pre calculados de 444 billones de posiciones con 8 o menos piezas sobre el tablero para así hacer la fase final del juego de forma impecable.
  • 70. PROGRAMAS DE JUEGOS: OTELO  Llamado también Reversi, siendo mas popular como un juego de computador que como de mesa.  Otelo crea interés entre los programadores debido a la sencillez de sus reglas: sólo un tipo de movimiento, un único tipo de fichas, etc  Por ejemplo, el programa Logistello en 1997 derrotó claramente al campeón mundial Murakami por 6 victorias a 0.  Minimax es el método de decisión que utiliza otelo para minimizar la pérdida máxima esperada en juegos, con poda alfa-beta.
  • 71. PROGRAMAS DE JUEGOS: BACKGAMMON  El elemento de incertidumbre que introduce el lanzamiento de dados en el juego del backgammon hace de la búsqueda un lujo muy costoso.  El primer programa que tuvo repercusión, BK.G, utilizaba sólo búsqueda de una capa, aunque la función de evaluación era bastante compleja.  Y lo más interesante es que su inteligencia artificial está mejorando gradualmente.  Recientemente, Gerry Tesauro combinó el método de aprendizaje de Samuel con las técnicas de las redes neuronales para crear una nueva función de evaluación.  El programa TD-Gammon está considerado sin lugar a dudas entre los tres mejores jugadores del mundo
  • 72. PROGRAMAS DE JUEGOS: GO  Juego de mesa mas popular de Asia, que …. ……. requiere tanta disciplina como el ajedrez.  El tablero es de 19x19, el factor de ramificación comienza en 361, desalentando los métodos de búsqueda.  La mayor parte de los mejores programas mejores combinan técnicas de reconocimiento de modelos con la búsqueda limitada.  Los programas mas fuertes son Goemate de Chen Zhixing y Go4++ de Michael Reiss.  Go es una área que se beneficiara de la investigación que utiliza métodos de razonamiento mas sofisticados .
  • 73. PROGRAMAS DE JUEGOS: BRIDGE  Es un juego de información imperfecta: en donde las cartas de un jugador se esconden de los otros.  El juego optimo en el bridge incluye elementos de reunión de información, comunicación y probabilidades.  Bridge barón, es un sistema de juegos que usa planes complejos y jerárquicos que implica ideas de alto nivel como astucia y aprieto.  GIB, el mejor programa de bridge actual, aproxima esta idea, generando 100 partidas consistente con información propuesta y escogiendo la acción que gana mas en promedio