3.4 Alfa-Beta Multijugador [Inteligencia Artificial]

Iniciado por Andrey, Octubre 26, 2017, 11:35:28 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.


Cada agente intenta maximizar su propia puntuación, por lo que propagamos los valores basados en cada movimiento empezamos con el agente de nivel 3.
Aquí el agente tiene una opción entre un 1 y un 2, por lo que va a elegir el 2.
A continuación tiene un 3 y un 4, por lo que va a elegir el 4.
Luego se elige entre el 5 y el 6, elegirá el 6.
Y luego un 7 y 8, elegirá el 8.
El siguiente es un nivel 2 de jugador.
El jugador 2 es la elección entre un 7 y un 5 por lo que toara el 7.
Luego un 3 y un 1, elegirá el 3.
Y por último el jugador del 1, y el jugador 1 elegirá el 7 en comparación con un 1.




La siguiente pregunta es si Alfa-Beta puede trabajar con los juegos multijugador.
Puede funcionar, siempre y cuando algunos de los valores de los jugadores y funciones de valoración, tengan un límite superior y el valor de cada jugador un límite inferior.

Para nuestro número de movimientos la función de valoración para el aislamiento, cero es un numero natural de encuadernado.
¿Pero lo vuelve un límite superior para la suma?

Si una función de evaluación podría estimar el número total de movimientos restantes para cada jugador, que funcionaria. Debido a que la suma del número total de movimientos no debe exceder el número de cuadros vacíos en el tablero de aislamiento.
Por ejemplo con esta tabla, el limite debe ser 22 o alrededor de siete por jugador.


Esto está bien en teoría. Sin embargo, el límite superior iba a cambiar con cada nivel del árbol de juego.


Vamos a decir que la suma de las puntuaciones de jugador puede ser superior que diez.
Y para hacer las cosas aún más fáciles, vamos a decir que la suma tiene que ser exactamente igual a diez.
Veamos la rama más abajo a la izquierda del árbol de búsqueda.

Ya que sabemos que el valor máximo es de diez, no tiene sentido en la evaluación de las siguientes dos ramas a la derecha.


Puede volver a lo sumo diez y ya tenemos esa opción, podemos ignorarlos y propagar los valores en el árbol.
Y podemos poner límites a lo que los valores estarían en el nodo del nivel superior. Sin embargo en este caso no ayuda.
El valor del jugador podría estar en cualquier parte de cero a diez, los otros serán menos de diez, pero la rama media limitara las cosas un poco.

Y se verá un ejemplo de poda poco profunda para la rama derecha.
En el nivel inferior de la rama media, el jugador dos escogerá la mejor opción que queda.

Ahora vemos que un jugador tendrá un valor mayor o igual a tres, y puesto que la suma tiene que ser diez, cada uno de los otros están limitados a valores menores o iguales a siete.


Pero en la siguiente rama, la rama dos obtendrá un siete o mejor, lo que significa que el jugador uno obtendrá un periodo de tres o menos.


Como ya tenemos un tres, podemos podar esta última rama, sus valores no importaran, porque vamos a elegir la opción que ya tenemos.


Complete los rangos de valores para este árbol de juego de tres jugadores y seleccione las ramas a podar. La puntuación máxima combinada es 9.

En esta situación significa que la suma de las tres calificaciones es menor o igual a 9.
Ya que estamos usando la Beta-Alpha, se puede introducir un numero exacto como 4 o una gama como de menos o igual a 4.
Asi que llenar las casillas y a continuación selecciona cuales se deben podar ya sean ramas o nodos.


LA primera rama de la izquierda es simple.
Escogemos la opción donde el jugador dos tiene la mejor puntuación.

En la rama media, vamos a empezar con el primer nodo de la hoja de la izquierda, el segundo jugador solo se refiere a la maximización de su propia puntuación.

Por lo que sabemos van a elegir un nodo donde consiguen mayor o igual a 7, debido a que las puntuaciones se suman a 9 esto se restringe a las otras puntuaciones a lo suma menor o igual a 2.

Sin embargo el siguiente nivel es jugador del primer movimiento y ya tiene una mejor elección de la rama izquierda, en el 3 en comparación con menos o igual a 2. So significa que no hay manera de que elija la rama media, asi que se pueden podar los dos nodos restantes.



Una situación similar se produce en el lado derecho, podemos podar el nodo mas a la derecha por la misma razón.




Juegos probabilísticos

¿Que pasa si quiero hacer un jugador para un juego en equipo como lo es Backgammon?
En el Backgammon los movimientos se limitan cada vez en las funciones de los dos dados.

Dado que no se puede a saber el resultado de los dados de antemano, parecería en un principio que no se puede hacer un árbol de juego para ello. Actualmente se puede, luego de usar un algoritmo llamado ExpectiMax para hacer mejores decisiones de elección en sus movimientos a mostrarnos como manejamos juegos probabilísticos.

Para mostrar cómo funcionan los juegos de probabilidad, se hizo una versión de aislamiento llamada aislamiento descuidado.
En este juego, los jugadores no pueden moverse realmente donde pretenden,
Por ejemplo si un jugador esta intentando ir a un punto, que solo tiene una probabilidad de 80% de llegar al lugar previsto.
Tiene una probabilidad del 10% de oscilar a su lugar objetivo.

Y una probabilidad de 10% del jugador de la computadora va a pasar su objetivo.


Pero supongamos que el jugador de la computadora esta en el lugar donde esta con movimiento muy limitado, Si el jugador de la computadora se esta moviendo hacia la derecha, no puede ir mas alla de la frontera.
En este caso no hay 100% de probabilidad de que va a llegar al lugar deseado.


Si el jugador de la computadora esta tratando de pasar al ultimo lugar, hay un 90% de posibilidad de que se pase del lugar y un 10% de probilidad de que no llegue.


Del mismo modo si el jugador de la computadora esta tratando de pasar por uno, hay una probabilidad del 90% que llegara al lugar una vez y un 10% de probabilidad que se pase del lugar deseado.





"Es un mundo brutal y peligroso el que hay allá afuera... Pero encontré mi camino. El caos es mi hogar, y me aseguraré de que no escapes de el"...

"Solo se necesita una excusa para cambiar el mundo"