En el Captulo 2 se introdujeron los ntomos multiagente en los cuales cualquier
agente tendr que considerar las acciones de otros agentes y cmo afectan a su propio bienestar. La imprevisibilidad de estos otros agentes puede introducir muchas posibles contngoidas en el proceso de resolucin de problemas del agente, como se discuti en el Captulo 3. En el Captulo 2 tambin se introdujo la diferencia entre entornos multiagente cooperativos y competitivos. Los entornos competitivos, en los cuales los objetivos del agente estn en conflicto, dan ocasin a problemas de bsqueda odre ju eg os advocaras a menudo conocidos como juegos. La teora maiontica dejuegas una rama de la Economa, ve a cualquier entorno multiagente como un juego a condicin de que el impacto de cada agente sobre los dems sea significativo, sin tener en cuenta si los agentes son cooperativos o competitivos1. En IA, los juegos son, por lo general, una clase ms especializada (que los tericos de juegos llaman juegos de sum aca^ de dos jugadores, por turnos, determinista, de drmarnpafecta). En nuestra terminologa, significan entornos deterministas, totalmente observables en los cuales hay dos agentes cuyas acciones deben alternar y en los que los valores utilidad, al final de juego, son siempre iguales y opuestos. Por ejemplo, si un jugador gana un juego de ajedrez (+1), el otro jugador necesariamente pierde (-1). Esta oposicin entre las funciones de utilidad de los agentes hace la situacin entre adversarios. Consideraremos brevemente en este captulo juegos multijugador, juegos de suma no cero, y juegos estocsticos, pero aplazaremos hasta el Captulo 17 la discusin de la teora de juegos apropiada. Losjuegos han ocupado las facultades intelectuales de la gente (a veces a un grado alarmante) mientras ha existido la civilizacin. Para los investigadores de IA, la naturaleza abstracta de losjuegos los hacen un tema atractivo a estudiar. El estado de un juego es fcil de representar, y los agentes estn restringidos, por lo general, a un pequeo nmero de acciones cuyos resultados estn definidos por reglas precisas. Losjuegos fsicos, como croquet y hockey sobre hielo, tienen descripciones mucho ms complicadas, una variedad mucho ms grande de acciones posibles, y reglas bastante imprecisas que definen la legalidad de las acciones. A excepcin del ftbol de robots, estos juegos fsicos no han tenido mucho inters en la comunidad de IA. El jugar a juegos fue una de las primeras tareas emprendidas en IA. Hacia 1950, casi tan pronto como los computadores se hicieron programables, el ajedrez fue abordado por Konrad Zuse (el inventor del primer computador programable y del primer lenguaje de programacin), por Claude Shannon (el inventor de la teora de informacin), por Noibert Wiener (el creador de la teora de control moderna), y por Alan Turing. Desde entonces, hubo un progreso continuo en el nivel de juego, hasta tal punto que las mquinas han superado a la gente en las damas y en Otelo, han denotado a campeones humanos (aunque no siempre) en ajedrez y backgammon, y son competitivos en muchos otros juegos. La excepcin principal es Go, en el que los computadores funcionan a nivel aficionado. Losjuegos, a diferencia de la mayor parte de los problemas de juguete estudiados en el Captulo 3, son interesantes porque son demasiado difciles para resolverlos. Por ejemplo, el ajedrez tiene un factor de ramificacin promedio de aproximadamente 35, y losjuegos a menudo van a 50 movimientos por cada jugador, entonces el rbol de bsqueda
tiene aproximadamente 35100 o 10154 nodos (aunque el grafo de bsqueda tenga
slo aproximadamente 1040 nodos distintos). Por lo tanto, losjuegos, como el mundo real, requieren la capacidad de tomar alguna decisin cuando es infactible calcular la decisin ptima. Losjuegos tambin castigan la ineficiencia con severidad. Mientras que una implementacin de la bsqueda A* que sea medio eficiente costar simplemente dos veces ms para ejecutarse por completo, un programa de ajedrez que sea medio eficiente en la utilizacin de su tiempo disponible, probablemente tendr que descartarse si no intervienen otros factores. La investigacin en juegos ha generado, por lo tanto, varias ideas interesantes sobre cmo hacer uso, lo mejor posible, del tiempo. Comenzamos con una definicin del movimiento ptimo y un algoritmo para encontrarlo. Veremos tcnicas para elegir un movimiento bueno cuando el tiempo es limitado. La poda nos permite ignorar partes del rbol de bsqueda que no marcan ninguna diferencia para obtener la opcin final, y las fundones de evaluacin heursticas nos permiten aproximar la utilidad verdadera de un estado sin hacer una bsqueda completa. La Seccin 6.5 habla de juegos como el backgammon que incluyen un elemento de posibilidad; tambin hablamos del bridge, que incluye elementos de informadn imperfecta al no ser visibles todas las cartas a cada jugador. Finalmente, veremos cmo se desenvuelven los programas de juegos contra la oposicin humana y las direcciones para el desarrollo futuro. 6.2 Decisiones ptimas en juegos Consideraremos juegos con dos jugadores, que llamaremos max y min por motivos que pronto se harn evidentes, max mueve primero, y luego mueven por turno hasta que el juego se termina. Al final de juego, se conceden puntos al jugador ganador y penalizaciones al perdedor. Un juego puede definirse formalmente como una clase de problemas de bsqueda con los componentes siguientes: El estado inicial, que incluye la posicin del tablero e identifica al jugador que mueve. Una funcin sucesor, que devuelve una lista de pares (movimiento, estado), indicando un movimiento legal y el estado que resulta. Un test terminal, que determina cundo se termina el juego. A los estados donde el juego se ha terminado se les llaman estados terminales Una funcin utilidad (tambin llamada funcin objetivo o funcin de rentabilidad), que da un valor numrico a los estados terminales. En el ajedrez, el resultado es un triunfo, prdida, o empate, con valores + 1 , - 1 o 0. Algunos juegos tienen una variedad ms amplia de resultados posibles: las rentabilidades en el backgammon se extienden desde +192 a -192. Este captulo trata principalmente juegos de suma cero, aunque mencionemos brevemente juegos con suma no cero. rbol de juegos El estado inicial y los movimientos legales para cada lado definen el rbol de juegos. La Figura 6.1 muestra la parte del rbol de juegos para el tic-tac-toe (tres en raya). Desde el estado inicial, max tiene nueve movimientos posibles. El juego alterna entre la colocacin de una X para max y la colocacin de un O para min, hasta que alcancemos nodos hoja correspondientes a estados terminales, de modo que un jugador tenga tres en raya o todos los cuadrados estn llenos. El nmero sobre cada nodo hoja indica el valor de utilidad del estado terminal desde el punto de vista de max ; se supone que los valores altos son buenos para max y malos para min (por eso los nombres de los jugadores).
Este trabajo de max al usar el rbol de bsqueda (en