Un juego de dominó con razonamiento basado en lógica difusa

July 27, 2017 | Autor: M. Hurtado | Categoría: Programacion, Teoria de Juegos, Lógica Difusa
Share Embed


Descripción

Miguel Humberto Hurtado

UN JUEGO DE DOMINÓ CON RAZONAMIENTO BASADO EN LÓGICA DIFUSA M ig u e l Hum ber t o Hur t ad o Co l eg i o U ni v er s i tar i o de Los T eq u es , C ec i li o Ac os t a miguel [email protected] Investigación Revista Nro 13 - 2008, p. 47–81

RESUMEN En el presente trabajo se propone un modelo para la creación de una aplicación computarizada que implante un juego de dominó basado en el uso de la Lógica Difusa. El computador que ejecute la aplicación actuará mediante inteligencia computacional basada en reglas. Las reglas serán las estrategias establecidas usualmente en el juego de dominó entre cuatro adversarios divididos en equipos de dos. Se utilizará la lógica difusa como elemento de asignación de valores idóneos a reglas de tipo empírico, como un mecanismo de inteligencia computacional. Paralelamente se presenta el modelo para el diseño del juego. Palabras clave: Lógica Difusa, sistema basado en reglas, dominó, inteligencia computacional

A DOMINO GAME WITH REASONING BASED ON FUZZY LOGIC

ABSTRACT This work proposes a model to create a computerized application that implants a domino game based on fuzzy logic. The computer that executes the application will act by means of computational intelligence based on rules. The rules will be the strategies usually established in the domino game: four adversaries divided into two teams. The fuzzy logic will be used to allocate suitable values to empirical rules, like a mechanism of computational intelligence. The model for the design game will also be presented. Keywords: Fuzzy Logic, computational intelligence.

rule

based

system,

INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

domino

game,

47

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

INTRODUCCIÓN El desarrollo de sistemas de información convencionales contempla una serie de procesos sujetos a reglas y normas de carácter determinístico, es decir, que para las mismas entradas producen siempre los mismos resultados. Con el apoyo de las metodologías de análisis y diseño de sistemas, los sistemas se ciñen a un conjunto de normativas matemáticas y/o lógicas que determinan un flujo de información preciso, para dar respuesta a las necesidades de los sistemas en estudio. La lógica tradicional subyacente en los sistemas convencionales se fundamenta en la asignación de dos posibles valores a las proposiciones que conforman los aspectos presentes en una estructura determinada: 0 ó 1, verdadero o falso. En la misma medida en que los sistemas convencionales pasan a ser soluciones comunes, se requiere del uso del computador como apoyo a otras situaciones en principio no determinísticas, en las que el valor de verdad de las proposiciones subyacentes ya no se limita a los valores 0 y 1. Un ejemplo de ello viene dado por un sistema de admisión de estudiantes a una carrera, donde un estudio de carácter vocacional indica que un candidato a ingreso lo es en un determinado porcentaje, por cuanto el elemento

“vocación” está sujeto a un conjunto de

restricciones que impiden, de manera directa, asignar un valor binario (0 ó 1) a la capacidad de un ser humano. Ante esta situación se han adoptado medidas tales como la presentada por la Teoría de Conjuntos Difusos. Ésta contempla la posibilidad de que un elemento pertenezca a un conjunto “en un determinado grado”. De esta forma, un estudiante pudiera pertenecer al conjunto de los estudiantes bien preparados con un grado de pertenencia de un 80%. 48

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

Así como la información se presenta con valores difusos, las reglas de diversos sistemas poseen, por naturaleza, dicha característica. Un sistema para conducir un vehículo se enfrenta a un conjunto de reglas difusas tales como esquivar, frenar o acelerar en condiciones donde la precisión matemática no existe. Para dar solución a problemas de tal índole, nuevamente puede considerarse el apoyo de la lógica difusa en combinación con los denominados sistemas basados en reglas. Así, se opera no sólo sobre hechos difusos, sino también mediante inferencias que vayan más allá de la lógica binaria. El presente trabajo se enfoca en el juego de dominó por sus características de manejo de hechos y reglas de carácter difuso. La construcción de un juego de dominó fundamentado en lógica difusa posee dos aspectos distintos; por una parte, el desarrollo de la aplicación como tal, bien sea lúdica o como herramienta de apoyo a la investigación, y por otra, el desarrollo de la estrategia inteligente que permita manejar la información difusa. Mediante la aplicación de los métodos de análisis y diseño de sistemas y del método deductivo propio de las matemáticas, se establecerá un modelo para la aplicación y uno para el manejo de la información difusa. Este artículo se inicia con la descripción del juego de dominó como narrativa que sustentará tanto el modelo de la aplicación como el diseño de la estrategia. Continúa con la discusión de un esquema formal para desarrollo de juegos por computadora, y se establece el diseño de la aplicación. Posteriormente se analizan las bases relacionadas con la teoría de juegos y la lógica difusa que dan lugar a la estrategia inteligente a ser utilizada en el juego.

INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

49

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

EL JUEGO DE D OMINÓ Reciben el nombre de dominó aquellas piezas o fichas, generalmente rectangulares, que poseen una representación de dos símbolos determinados (Dominoes, 2009). Con tales piezas se obtiene la posibilidad de plantear una variedad de juegos mediante distintas configuraciones de requerimientos u objetivos. Un grupo de ellos se basa en que los valores en las fichas son representación de los números del cero a un valor máximo (6, 9, etc.). Dentro de tal esquema, uno de los basamentos para distintos tipos de juego viene dado por la acción de concatenar dos fichas a través de sus extremos iguales. Una de las versiones del juego, conocida como dominó por parejas, se presenta como una actividad lúdica donde se conforman dos equipos de dos personas cada uno, bajo las siguientes características: 1. El juego posee un conjunto de 28 piezas también denominadas fichas o piedras. Cada pieza refleja una combinación de los números del cero (0) al seis (6) tomados de dos en dos, incluyendo repeticiones, mediante una figura rectangular dividida en dos partes, denominadas caras, con puntos que representan los valores de la ficha. Al valor de la cara se le denomina “pinta” o “palo”. Las piezas se denominan según los valores que la conforman. Por ejemplo, la combinación 3,5 se denomina “tres cinco” o “cinco tres” indistintamente. Las partes que no contienen puntos se denominan “blanco” en lugar de “cero”. Las fichas con ambos lados iguales se nombran mediante la palabra “doble” y el valor correspondiente.

50

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

2. Las dos parejas de jugadores se ubican en forma de rombo, con un jugador por cada vértice, de forma tal que ninguno pueda ver las piezas del resto. Si se enumera consecutivamente 1, 2, 3 y 4 a los jugadores, de forma contraria al movimiento de las agujas del reloj, los jugadores 1 y 3 forman pareja contra los jugadores 2 y 4. 3. Cada jugador recibe un total de 7 piezas distribuidas de forma aleatoria, para utilizarlas una en cada turno a medida que el juego se desarrolla. En cada momento del juego, cualquier jugador puede ver cuantas piezas le quedan a sus adversarios y a su pareja, pero no puede ver cuales son. 4. Al iniciarse una partida, el jugador que recibe el doble seis (denominada “la cochina”), la coloca sobre la mesa y da inicio a una ronda o mano de una partida del juego. Tal jugador recibe el nombre de “salidor”, y se guarda como referencia que “salió en la primera mano”. 5. Cada vez que un jugador termina su turno, le corresponde jugar al contrincante siguiente, en sentido contrario al de las agujas del reloj, quien pasa a ser “el jugador”. Éste deberá colocar la siguiente pieza de forma tal que junte una de sus caras con el extremo equivalente de la hilera de piezas previamente colocadas en la mesa. Se dice en tal caso que el jugador “golpeó” o “le pegó” a la ficha, y que “jugó” a la pieza que queda libre. De no tener una pieza de tales características, el jugador pierde el turno, situación que informa diciendo “paso”. No se permite lo que en el argot cotidiano se conoce como “pasar agachado”, es decir, que el jugador pase teniendo al menos una pieza posible de ser jugada. Esto da origen a las jugadas “forzadas”, al obligar a alguno de los competidores a realizar una jugada por no tener otras piezas que jugar 6. Siguiendo la secuencia anterior para cada jugador, gana la mano, o la ronda, el primer jugador que juegue todas sus piezas, y, con él, gana el equipo que conforma con su compañero. INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

51

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

7. Una vez que uno de los jugadores se convierte en el ganador de una mano o ronda, al equipo al cual pertenece se le asigna el total de tantos representado por la suma de los valores de las fichas que los jugadores del bando contrario no pudieron colocar. Los puntos obtenidos se van acumulando hasta que uno de los dos equipos logre alcanzar un máximo previamente determinado. En el presente ejemplo, se tomará 100 tantos. 8. Al concluir cada ronda o mano, si uno de los equipos logra acumular el máximo de tantos establecido, concluye la partida. De no haber ganador, es decir, si ninguno de los equipos ha llegado al máximo de puntos, se distribuyen nuevamente las piezas y le toca colocar la primera pieza al jugador inmediatamente a la derecha del jugador que salió en la mano previa. Tal jugador puede iniciar con la pieza que desee. 9. El proceso anterior se continúa hasta que se logre un ganador de la partida. 10. En el caso de que, sin agotarse las piezas de cada jugador, se llegue a una situación límite en la que ninguno de los jugadores puede colocar una pieza más, el juego “está trancado”, y gana la mano el equipo que posee menor cantidad de tantos en las piezas que quedaron sin jugar. El puntaje que se le acumula es la suma de los tantos sin jugar del equipo contrario. De no haber ganador, la mano queda en tablas. En tal caso, se dice que el jugador salidor “pierde la ventaja de la salida”. 11. Se asume que no existe comunicación entre ninguno de los cuatro jugadores, es decir, que no existe forma de influir en el resultado de una partida al no poder transmitir información sobre cual pieza jugar o no. 12. Se asume también que cada jugador puede llevar en su memoria un registro de las jugadas realizadas a medida que se 52

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

desarrolla el juego. De esta forma, cualquiera de los participantes puede recordar que alguien no tuvo o colocó una pieza determinada. 13. Una situación particular del juego se da cuando sólo uno de los jugadores posee las piezas para poder jugar en un momento determinado. En tal caso, el jugador “está encabezado” por los valores correspondientes. Otra situación particular es la del jugador que posee un doble y no puede jugarlo porque ya han salido las seis piezas restantes del mismo palo. En tal caso se dice que el doble está “muerto”. Es de destacar que en el año 2005, la Asociación Mundial de Dominó utilizó un esquema para determinar la salida inicial, el cual se basa en que cada jugador selecciona una pieza de manera aleatoria. El jugador que obtiene la pieza con la suma mayor de valores iniciará la partida correspondiente, pudiendo jugar de primera opción la ficha que desee. El interés del juego de dominó viene dado por la posibilidad de que, de acuerdo a las reglas previamente establecidas, y conforme a las piezas que cada jugador tome al azar (o “levante”, en el argot), se pueda desarrollar el dominio por alguno de los dos equipos contrincantes. Al querer cualquiera de los equipos deshacerse de sus fichas, un mecanismo es el de forzar al contrario a responder ante un grupo de piezas, e impedir que coloque las que les conviene de entre sus propias fichas. Esta primera táctica, al igual que otras, se traduce en la sabiduría popular en un conjunto de estrategias que se representan en el argot del juego con frases como “El que no repite no gana” o “El que le pega a su familia se arruina”. Bajo la presunción de que cada contendiente pretende lograr el dominio del juego, y que cada jugador posee una “lógica” destinada a efectuar la mejor jugada, los jugadores basan sus estrategias en el manejo de los palos que poseen en mayor cantidad, y en un registro en memoria de aquellas fichas que ha jugado el compañero y los y INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

53

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

contrincantes. Tal información es difusa por naturaleza, debido a que las jugadas pueden ser forzadas sin que esto sea evidente. El elemento azar está presente desde el momento en que se distribuyen las fichas de manera aleatoria, generándose lo que se denomina “buenas o malas manos”. Sin embargo, el registro memorizado de las jugadas es el elemento referente para justificar derrotas o explicar triunfos.

EL DESARROLLO DE JUE GOS POR COMPUTADO R Los juegos por computador han sido uno de los tipos de aplicaciones computarizadas de mayor desarrollo. Desde los juegos en modo texto, donde la información se limitaba a manipulación de valores con poca respuesta visual, a los actuales juegos impregnados de realismo y apoyados en técnicas de Inteligencia Artificial, los juegos por computadora poseen tipologías y niveles variados que se reflejan en la complejidad requerida para su diseño. Sin ser exhaustivos, se hace referencia a varios tipos de juegos en la enciclopedia Web Wikipedia (Juego, 2009), donde se conceptualizan los juegos de aventura, disparos, educativos, estrategia, lucha, horror, plataforma, rol, musicales, simulación, deportivos, carreras, acción y aventura, entre otros. La bibliografía refiere a diferentes materiales relacionados con herramientas metodológicas para la creación de juegos por computador. Teixeira (2002), por ejemplo, describe y analiza un conjunto de aspectos a considerar. Recomienda la elaboración de un “documento de mini diseño” como estructura inicial para dar forma al juego, el cual incluye los aspectos descripción general, metas del juego, interacción de jugador y juego, diseño de menús y opciones del juego, historia, visión general de los enemigos y temas (gráficos y de audio). Una versión más detallada incluye a los anteriores: requerimientos, jugando el juego, descripción de caracteres y atributos, descripción de NPC (personajes no controlados por computador) y atributos, reglas para jugador, caracteres y NPC, todas las reglas definidas, interacción de los jugadores y el juego, 54

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

descripción de la música, descripción del sonido, descripción de los niveles, temas y metas; visión de la aplicación de inteligencia artificial y una

conclusión. Se entiende que cada uno de los elementos,

previamente señalados, posee su correspondencia con el “código” de programación y la estructura de datos que los refleja en una aplicación computarizada. Corresponde así al diseñador, a la empresa de desarrollo de software o al especialista, dar respuesta a los mismos, con la integración de arte, ciencia y técnica que requiere el caso, y con el apoyo de especialistas en las diversas actividades involucradas. En cuanto a la estructura interna, Hall (2001) plantea que, en líneas generales, los diversos juegos obedecen a una estructura representada en la siguiente figura:

Dispositivos de Entrada

Entrada Redes

LAN o Internet

Actualización Video 3D Framebuffer

Visualización Audio

Tarjeta de Audio

Figura 2: Ciclo de programación. Fuente: Hall(2001). Adapt: Miguel H. Hurtado

La figura 2 representa un “ciclo” o estructura repetitiva de programación,

donde

subprocesos/subsistemas

se

hace

encargados

un de

“llamado” las

a

actividades

distintos macro

representadas en la mayoría de los juegos. Lo subdivide en los subsistemas que se definen en los párrafos siguientes. INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

55

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

El subsistema de entrada toma la información del teclado, ratón u otros dispositivos de entrada y la lleva al juego. El subsistema de redes maneja la conexión a través de una red LAN o través de la red Internet, lo que permite el jugar con distintos usuarios en localidades remotas. El subsistema de actualización es el encargado de tomar las entradas del juego, los elementos concernientes a la lógica del mismo, y la información contenida en las variables del juego para producir con ellos los cambios provocados por la jugada del usuario o por el paso del tiempo. Una vez hecho este proceso, el subsistema de actualización envía la información al subsistema de visualización para que muestre el resultado correspondiente. El subsistema de audio emite aquella información de sonidos que se corresponde con el juego. Este ciclo se repite hasta que se logra algún estado que conlleve a pasar a una siguiente fase, concluir una etapa, o finalizar el juego.

Cada uno de los elementos previamente mostrados varía en complejidad dependiendo del juego correspondiente. En algunos juegos se requiere gran capacidad de procesamiento de imágenes; en otros, se requiere la aplicación de leyes físicas de acuerdo a modelos matemáticos. A los elementos anteriores debe agregarse el manejo de opciones de usuario, operaciones de inicialización, opciones de configuración

y

opciones

de

finalización

como

componentes

generalmente aceptados.

Las opciones de usuario permitirán especificar aspectos tales como nombre, clave, u otros datos de carácter personal. Las operaciones de inicialización son dadas por procesos que asignan a determinadas variables los valores correspondientes al inicio del juego, como el valor máximo de una partida o un nivel de dificultad. Las opciones de configuración especifican elementos el idioma y/o los 56

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

colores de fondo que se fijan de manera específica al inicio del juego o en su instalación. Las opciones de finalización tanto para una etapa como para el propio juego, controlan el récord de un jugador, el tiempo transcurrido e incluso puede tenerse la posibilidad de guardar el estado del juego con todas las variables espacio temporales requeridas. De esta forma, cuando el usuario lo desee puede retomar un juego desde el estado en el que lo dejó.

De manera análoga a lo planteado en referencia al diseño de la aplicación, el desarrollador, la empresa, el especialista o el investigador es el responsable por los procesos lógico-matemáticos, transformados a algoritmos, que requiere el subsistema de actualización. Este subsistema se encarga del la interrelación y activación de los diversos procesos lógico-matemáticos que integran el núcleo de la aplicación. A pesar de que para determinados juegos tal subsistema pudiese resultar no sólo sencillo, sino incluso manejar contenido académico de actividades de formación de profesionales del área de informática, tales como rutinas de búsqueda y/o ordenamiento, el caso del dominó posee una estructura particular que conlleva a que el estudio del algoritmo que opera el proceso lógico sea un tema de investigación por sí mismo. Esto conduce a trabajar el diseño general de la aplicación y el centro del juego como los dos aspectos que conformarán la presente investigación.

DISEÑO GENERAL DE LA APLICACIÓN: PLAN DE DISEÑO DEL J UEGO DE DOMINÓ Como juego monousuario la estructura del dominó debería corresponderse

con

versiones

antecedentes

de

la

presente

investigación, es decir, aquellas donde el usuario es un jugador cuyo compañero de partida es el computador, y se enfrenta al equipo contrario INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

57

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

controlado también por el sistema. Sin embargo, existen diversas consideraciones sobre aspectos como la cantidad de jugadores manejados por el computador o si las cartas están descubiertas o no, que obligan a cambios en la estructura y deben contemplarse en la etapa de estudio preliminar. Algunos de estos aspectos son: 1. Si las fichas están descubiertas o no. Jugar con las piezas descubiertas permitiría evaluar la jugada del computador de manera directa, a fin de verificar las opciones tal como se están accionando. De igual forma, permitiría comparar las estrategias del computador con las estrategias del humano. 2. Que el usuario introduzca las piezas de los cuatro jugadores o que sean asignadas de manera aleatoria. La base fundamental es que la distribución de las piezas sea aleatoria. Adicionalmente, la posible carga de los valores de las piezas por parte del usuario permitiría analizar partidas previamente jugadas en entornos reales, lo cual serviría de estudio tanto del juego como de los valores que se asignen a las distintas piezas para la estrategia del computador. 3. La cantidad de jugadores controlados por el computador y sus combinaciones. 4. El uso del juego en red. Las cuatro condiciones previas influyen en el desarrollo de los distintos subsistemas de la aplicación y deben ser consideradas en la fase inicial del proceso de diseño. Lo que no se contemple en una primera etapa, puede aumentar, de manera drástica, el esfuerzo requerido para incorporarlo en futuras versiones del juego. De igual forma, debe considerarse el rol del computador en la estructura del juego. De hecho, existen varias posibilidades: 1. Establecer un mecanismo virtual de juego entre cuatro jugadores humanos, es decir, donde el computador sea tan sólo un 58

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

mecanismo para acortar distancias. Tal alternativa es valedera en un juego en redes de computadoras, donde cada contrincante está ante una mesa virtual y el programa de dominó le ofrece el juego para que sea visto y jugado desde su perspectiva, de manera análoga a la vida real. En este caso, el papel del computador se limita a representar y transmitir la situación en cada estado del juego. No se plantean situaciones de toma de decisiones para el computador relacionadas con estrategias. Los jugadores siguen siendo los humanos. 2. Implantar una estrategia determinística para el computador, lo cual no es el caso del juego de dominó. 3. Aprovechar las ventajas del uso del computador en cuanto a sus capacidades de cálculo y de memoria, para determinar “jugadas razonables” conociendo las piezas de los contrincantes (aspecto factible al ser el computador el que controla las piezas), lo cual no es el objetivo de la presente investigación. 4. Simular el comportamiento de un “buen jugador” de dominó, atendiendo a un proceso “lógico” que pueda ser catalogado como similar al de un humano. Este cuarto caso es el objetivo del juego a desarrollar en la presente investigación. Se entiende, en consecuencia, que el juego como actividad lúdica será la aplicación que presente el aspecto gráfico del juego de dominó, y su flujo de información. El jugador o los jugadores controlados por la máquina estarán dotados de una estructura de razonamiento que será el objeto de estudio de la sección de este trabajo titulada el Centro del Juego.

Cantidad de jugadores emulados por el computador Supóngase que los jugadores de una partida se denotan como 1, 2, 3 y 4. De igual forma, supóngase que los jugadores 1 y 3 forman una

INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

59

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

pareja que enfrenta a los jugadores 2 y 4. Se puede asumir las siguientes posibilidades: Posibilidad 1: El computador juega como 1, 2, 3 y 4; no hay jugadores humanos. Permitiría evaluar la forma de juego del computador, en cuyo caso las piezas deben mostrarse de manera descubierta. Puede cambiarse el color de las piezas a los efectos de diferenciar fácilmente las jugadas correspondientes. Posibilidad 2: El computador juega como 2 y 4; el humano como 1 y 3. Es análogo al caso del computador como 1 y 3 y el humano como 2 y 4. Representa una opción ideal para evaluar el rendimiento de jugadores humanos frente al computador. En tal caso, la opción es que los computadores sean programados para un juego en redes u otro mecanismo de comunicación. Bajo un esquema de evaluación, se puede jugar abierto y en una sola máquina. Esto cambia el esquema del juego de dominó para el usuario, por cuanto ahora está en conocimiento de las piezas que posee el computador, aún cuando no le sean visibles. Una posibilidad es desarrollar una estructura procedimental de forma que tanto los jugadores como el computador reciban la información de cuál pieza se está jugando en un momento determinado, sin visualizar las fichas que posee el resto de los jugadores. Esto último puede lograrse con un mecanismo que permita conocer las piezas de los jugadores 1 y 3, sin que éstas sean visibles, por ejemplo, mediante una opción de menú. De esta manera, se puede indicar a los jugadores 1 y 3 las piezas que les corresponden, y continuar el juego sin que las piezas sean visibles. El aspecto procedimental debe incluir el mecanismo para indicar al computador las jugadas de 1 y de 3. Posibilidad 3: El computador juega 2, 3, 4 y el usuario juega 1, con el jugador 1 visible. Es la opción clásica típica de un juego monousuario. Permite el juego como simple actividad lúdica. Al descubierto, facilitaría el analizar el esquema del computador con la ventaja de evaluar las 60

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

estrategias como compañero y como contrincante. Puede incluir una opción que brinde la posibilidad de que el computador recomiende una pieza determinada, a manera de “entrenamiento”. Posibilidad 4: El usuario controla cada jugador, sólo como mesa virtual. Tiene sentido como nivel de evaluación si se agrega la opción que el computador evalúe las posibles jugadas y, a posteriori, se verifique la pieza recomendada por el computador. Posibilidad 5: El usuario controla a los jugadores 1 y 2, el computador a los jugadores 3 y 4. Aceptable como “juego compartido” o en redes, permitiendo que dos usuarios sean contrincantes en un juego normalmente establecido para 4 personas. Posibilidad 6: El computador controla al jugador 1, el usuario controla al resto. Valedera para jugar con sólo tres usuarios. Como evaluación, permitiría controlar las jugadas de los usuarios 2, 3 y 4 para evaluar las respuestas del computador. Los aspectos anteriores poseen respuesta en un diseño computarizado mediante las siguientes consideraciones: 1. Una opción del programa denominada “tipojugador”, para cada jugador, la cual refleje con el valor 0 si el jugador correspondiente será controlador por el computador, o el valor 1 en caso de ser controlado por el usuario. Se inicializará por defecto en el valor 0 para cada jugador, como indicador de que el jugador será controlado por el computador. 2. Una opción del programa denominada “cubierta”, para cada jugador, la cual controle si las fichas se presentan cubiertas o no. Se inicializará en el valor VERDADERO (“Si” o 1). Será verificada al momento de repartir las piezas a cada jugador, y en caso de ser su valor VERDADERO (“SI” o 1), se presentará la ficha correspondiente de manera oculta. En caso de poseer el valor FALSO (“No” o 0), las piezas

INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

61

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

se presentarán descubiertas. La opción podrá cambiarse en el menú de opciones del juego. 3. Un mecanismo de retardo para que el computador espere antes de realizar la jugada. De lo contrario, la velocidad de la computadora puede impedir la adecuada interacción con el usuario. Esto puede hacerse mediante un tiempo determinado o mediante una acción del usuario, a los efectos de mostrar su jugada. Al mismo tiempo debe haber indicaciones de qué jugador está en turno. En el caso del computador, debe quedar claro por cual extremo (cabeza) juega. En el caso de que le corresponda jugar al usuario, debe haber un mecanismo de señalar cual pieza jugar, y por cual cabeza. La asignación del tiempo de juego entre jugadas puede establecerse como una opción de configuración. 4. Un mecanismo, opción y estructura para la carga de las piezas al inicio de cada mano. 5. Una opción del usuario que permita realizar las jugadas sólo a nivel de evaluación. 6. Una opción que permita “mostrar” las piezas ocultas de los jugadores. 7. Una opción de guardar/cargar la “repartición” de las piezas. 8. La opción de guardar la partida completa, incluyendo los lapsos de tiempo

utilizados

por

cada

jugador

para

“pensar”

la

jugada

correspondiente. 9. Una opción que permita verificar si la primera mano de cada partida se inicia de forma tradicional, es decir, con el jugador que posea el doble seis, o si se inicia de forma aleatoria, es decir, con el jugador que obtenga la mayor de un grupo de cuatro piezas distribuidas a los jugadores de manera visible y aleatoria. 10. Una opción para variar el color de la pieza. 11. La opción de guardar la matriz de control del juego. 62

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

El esquema de notación El desarrollo de un programa que permita jugar dominó conlleva una estructura de datos y un conjunto de procedimientos que reflejen las piezas jugadas, y su orden de colocación. De esta manera es posible recrear la partida de la forma en la cual fue jugada, contemplando aspectos como el tiempo empleado por cada jugador. En el caso particular del presente juego, el mínimo de información inicial viene dado por la pieza que jugó el jugador de turno, y si jugó por la cabeza derecha o la izquierda. De forma análoga, existen jugadas que obedecen a casos particulares, como el hecho de que un jugador pase o acueste un doble por cualquiera de los extremos de la mesa. Adicionalmente,

la

información

previamente

planteada

se

corresponde con cada una de las manos del juego. Esto significa que el esquema de notación previo, aplicable a cada mano por separado, debe incorporarse a un esquema mayor que contemple cada mano de una partida determinada. Para generar una similitud con un modelo escrito, pudiéramos suponer que cada partida se anota en una hoja preparada para ello. La información de dicha planilla debe contener elementos tales como lugar y torneo, fecha y hora de inicio de la partida, jugadores involucrados y una designación para cada uno, jugadores que conforman pareja, orden de los jugadores y jugador que salió en la primera mano. Esta información se corresponde con lo referido a la partida de manera general. Adicionalmente, para cada mano puede colocarse el jugador salidor, el número de la mano, si el jugador “acostó” la pieza, si el jugador pasó, si la mano está trancada, o si el jugador finalizó. Debe colocarse el puntaje logrado por el jugador ganador, o por cada uno de los dos equipos en el caso de que haya habido una tranca, y las piezas que cada jugador dejó de jugar. La planilla debe considerar los tantos correspondientes a cada mano y a cada equipo, así como el total INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

63

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

definitivo y el equipo ganador. A los efectos de torneos, debe incorporarse un espacio para observaciones, el responsable de la anotación, los nombres de los jueces, y toda aquella información necesaria para llevar un adecuado control de la partida.

D M W R D M W R D M W R D M W R D M 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 J A D P J P 0 J P 1 J P 2 J A P J P J D N D J 3 J D P J P 4 J D D A P J D D D D D P N 5 J P 6 S P D D P T G

Leyendas: S: Salió, A: Acostó; E: Encabezó; J: Jugó; N: Pasó; P: Pegó; C: Cuadró; D: Dejó; T: Trancó; G: Ganó. Fig 3. Matriz de Control de Juego

En un trabajo llevado a cabo por Miranda, Guerrero, Osorio, y Martínez (Hurtado, 2008), se estableció un esquema matricial (fig 3, Matriz de Control de Juego) para registrar cada jugada que se realice y la información correspondiente a los casos particulares como pase y tranca. En el proceso de búsqueda de información en Internet no fue posible determinar un esquema de anotación en uso por la Asociación Venezolana de Dominó, a pesar de que el dominó ha sido reconocido como deporte olímpico. Un aporte del presente trabajo vendría dado por el esquema de notación para el seguimiento del juego. En lo concerniente al orden de las jugadas no se requiere de la matriz previamente referida por cuanto la información de análisis no formaría parte de lo que reflejaría la hoja de control del juego. Esto 64

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

plantea la posibilidad de tres maneras básicas para anotación del juego de dominó, a saber un esquema de pares ordenados, un esquema basado en cadena de caracteres, y un esquema basado en la simplificación de la matriz sugerida por el grupo. Para una mano determinada, debe considerarse que el orden de representación de una pieza influye en su significado. De esta manera, la secuencia ab, en cualquiera de sus formas equivalentes, indica o bien la salida, o bien que el jugador le pegó a la pieza representada como a, y dejó abierta la pieza representada como b. Como consecuencia, las siguientes secuencias son equivalentes, y se corresponden con una mano jugada en uno de los casos de prueba llevado a cabo con el grupo, cuya narrativa se presenta a continuación. Notación Matricial D M W R D M W R D M W R D M W R D M 6 6 3 3 6 0 5 5 0 4 3 0 4 2 5 6 1 6 3 3 5 0 0 5 4 5 3 0 4 2 3 6 1 3 Notación en forma de pares ordenados (6,6)(6,3)(3,3)(3,5)(6,0)(0,0)(5,5)(5,4)(0,5) (4,3)(3,0)(0,4)(4,2)(2,3)(5,6)(P,P)(6,1)(1,3) Notación de Cadenas 666333356000555405433004422356PP6113

Figura 4. Notaciones para el juego Narrativa: Juegan D (Dámaso), M (Miguel), W (William), y R (Rafael). Hacen equipo los jugadores Dámaso y William contra Miguel y Rafael. Sale Dámaso con el doble seis, Miguel juega el 6 3, William se acuesta con doble 3 y Rafael juega 3 5. Dámaso juega 6 0, Miguel acuesta el doble blanco, William acuesta el doble 5 y Rafael juega el 5 4. Dámaso juega el blanco cinco, Miguel el 4 3, William el 3 0 y Rafael el 0 4. Dámaso juega el 4 2, Miguel el 2 3 , William el 5 6 y Rafael pasa. Dámaso juega el 6 1, y Miguel juega el 1 3, trancando la partida. Dámaso INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

65

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

y William cuentan 29 tantos, en tanto que Miguel y Rafael cuentan 27 tantos. Gana la mano el equipo conformado por Miguel y Rafael, obteniendo 29 tantos a su favor.

EL CENTRO DEL JUEGO. TEORÍA DE JUEGOS Y DOMINÓ La Teoría de Juegos es una rama de las matemáticas que se encarga de estudiar juegos como el dominó. Dicha teoría divide los juegos en determinísticos y no determinísticos. Los primeros son aquellos para los cuales es posible generar una estrategia ganadora, es decir, una secuencia de pasos o estrategia que se dice ganadora por cuanto representa una garantía de victoria para el jugador que la aplique, independientemente de las circunstancias. Los juegos no determinísticos son aquellos para los cuales no existe una estrategia ganadora. En el caso del dominó, la presencia del elemento “azar” implica que no es posible determinar una estrategia ganadora para uno de los equipos. Aun en el caso de que uno de los jugadores posea un grupo de piezas con una “estructura favorable”, su “jugada” dependerá de cómo hayan sido colocadas las piezas previas. Esto impide afirmar que “una buena mano” garantice el ganarla. Por extensión, no se garantiza ganar la partida. Sin embargo, autores como Simosa (1980), “El tigre de Carayaca”, plantean que existen jugadores catalogados como “buenos”, y que ganan en una mayoría de casos, lo que pareciese apuntar a que desarrollan una estrategia “exitosa” de pensamiento difuso.

Dominó y lógica difusa Crear una aplicación computarizada para jugar dominó implica generar una estrategia para que el computador haga las veces de un jugador y “decida” que pieza jugar en un determinado momento como si fuese un humano. 66

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

Los seres humanos juegan al dominó mediante la aplicación de ciertas reglas de tipo heurístico, de las cuales algunas de las comunes son: - Repetir la pieza a la cual debe responder el adversario - Respetar el juego favorable del compañero de partida mediante el uso de combinaciones que faciliten la salida de sus piezas - Impedir la entrada de las piezas que favorezcan el ataque del adversario. Las reglas previamente nombradas se basan en determinadas presunciones que se dan al inicio de una partida, como que cada jugador favorece la entrada de las piezas de las cuales posee mayor cantidad. De esta manera, se intenta hacer pasar a los jugadores contrarios y lograr, como consecuencia, el dominio de cada mano. Un esquema para dotar al computador de estas estructuras consiste en aplicar la estadística, es decir, la teoría de probabilidades como elemento numérico para asignar la probabilidad de seleccionar la mejor jugada en cada caso. Otro criterio consiste en asignar un grado de correspondencia entre una jugada y algunas de las reglas previamente planteadas, de forma que a cada pieza se le asigne un valor de “conveniencia” como jugada favorable, para así establecer un mecanismo de selección de la mejor jugada. El presente trabajo de investigación asume que tal unidad de medida, en caso de existir, será correspondiente a un esquema “difuso”, y en consecuencia, se plantea el elaborar una estrategia de juego sustentada en la lógica difusa.

Lógica difusa y sistemas difusos El estudio y la conformación teórica de la lógica borrosa (Fuzzy Logic) o lógica difusa se debe al profesor de Ingeniería Eléctrica Lotfi A. INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

67

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

Zadeh (1965), Universidad de California, Berkeley, en su primera publicación en 1965. En ella se fundamentan los conceptos que amplían el campo de la lógica al contemplar no sólo los valores bivalentes (0 y 1, verdadero y falso), sino elementos correspondientes a un rango de valores. Como ejemplo, puede afirmarse que una persona pertenece al conjunto de las personas altas “en un grado de un 80 por ciento”. La teoría de los conjuntos difusos desarrolla y extiende gran parte de los resultados correspondientes a las operaciones, leyes y definiciones de la lógica clásica, y contribuye como elemento central en la definición de sistemas difusos. Los sistemas relacionados con esta área son aquellos que en su mayoría contemplan valores y propiedades de la lógica difusa como parte integrante de sus estructuras. La inteligencia computacional aplicada es uno de los campos en el que se ha desarrollado su aplicación, donde los sistemas basados en conocimiento la

utilizan

como elemento de soporte. Los sistemas basados en reglas son aquellos en los cuales las estructuras se presentan como elementos de la forma IF antecedente THEN consecuente. Se genera así la organización de un grupo o secuencia de reglas que permite concluir, clasificar, establecer relaciones,

inferir

o

responder

a

situaciones

de

conocimiento

fundamentadas en dicha organización, lo que conduce a los sistemas basados en conocimiento. Los

sistemas

basados

en

conocimiento

se

conforman

generalmente de un conjunto de hechos denominado base de conocimientos, y un motor de inferencia. Dadas determinadas entradas, el sistema aplica los hechos establecidos en la base de conocimiento y las operaciones (manejo de reglas) del motor de inferencia para llegar a los resultados correspondientes y resolver una situación dada. A nivel de inteligencia computacional se establece una estructura rígida de control 68

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

de hechos basada en los procedimientos algorítmicos rigurosos establecidos en los programas de computadora. Tal rigidez se suaviza con

la

inclusión

de

las

“etiquetas

lingüísticas”

lográndose,

adicionalmente, el tratamiento de información en la forma: “Si (hay_dinero_en_cuenta) y (historial_favorable_de_crédito) entonces (Aprobar crédito)”. La relación lingüística anterior, vista como componente muy remoto de un sistema basado en reglas, debe vencer la limitación de los aspectos

precisos

tales

como

“hay_dinero_en_cuenta”

o

“historial_favorable_de_crédito” (etiquetas lingüísticas). Tal como plantea Sanz (1996), los sistemas basados en lógica difusa “constan de una base de reglas, en este caso expresadas en términos borrosos, y de un motor de inferencia que aplica esas reglas a un conjunto de datos de entrada para obtener unos resultados de salida” (p. 3). Como los datos de entrada y los de salida deben estar expresados de manera difusa, se requiere de los procesos de “fuzzificación” y “defuzzificación”. El primero de ellos convierte la entrada en valores difusos, y el segundo convierte los resultados en acciones concretas. De acuerdo a Sanz (ob. cit.), existen diversos mecanismos para convertir las expresiones. Si las reglas son del tipo si Inp1 es Adj1 y Inp2 es Adj2 entonces Out es Adj, “el controlador se denomina de Mamdani por ser quien primero lo propuso en 1974 para estabilizar un sistema en torno a su punto de trabajo” (p. 3). De igual forma, Si las reglas son del tipo: si Inp1 es Adj1 y Inp2 es Adj2 entonces Out=f(Inp1,Inp2), “el controlador se denomina de Sugeno por ser quien primero lo propuso” (Sanz, ob. cit., p.4).

INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

69

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

En la nomenclatura anterior, Inp1,Inp2 son entradas, Out es la salida, Adj, Adj1 y Adj2 son etiquetas lingüísticas. f(Inp1,Inp2) expresa una función de las entradas inp1 e inp2. Dominó y computadores En función de los planteamientos previos, se pretende generar un modelo para un juego de dominó computarizado mediante el cual se simule el comportamiento de un “buen jugador”, respondiendo a un proceso lógico similar al de un humano. El modelo permitirá distribuir las piezas de forma aleatoria, llevar el control del orden de las jugadas, controlar los tantos o puntos de cada equipo, y las fichas jugadas por el resto de los jugadores. Los planteamientos teóricos permiten establecer una analogía entre los sistemas Sugeno – Mandini y el juego de dominó. Cada jugada representa un estado del sistema en el que la entrada es el conjunto de piezas de un jugador, los elementos lingüísticos establecidos en el argot cotidiano se convierten en las reglas que sustentan el motor de inferencia (en conjunción con los valores difusos de las piezas), y las estructuras

generales

de

fuzzificación,

defuzzificación,

base

de

conocimientos, y motor de inferencia se materializan mediante los algoritmos correspondientes. Establecimiento del modelo: En el caso particular del presente modelo, cada jugada altera el estado del sistema. En tal sentido: -Se genera para cada jugador una base de conocimiento difuso con un valor dinámico correspondiente a cada palo o pinta indicando la conveniencia para desarrollar el juego por ellas (piezas que más se posee), denominado Grado de Levante, y un valor denominado Grado de Desarrollo, también dinámico, el cual aumenta o disminuye para cada palo o pinta en función de las piezas colocadas por el jugador y/o su 70

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

compañero, y de las jugadas realizadas por los contrarios. Nótese que tal valor no diferencia las jugadas forzadas. El Grado de Levante se recalcula para cada turno y se actualiza la base de conocimientos, verificándose las piezas factibles de jugarse y considerando las ya jugadas, y se “fuzzifica” la entrada (piezas del usuario), asignando a cada pieza el valor wi (peso) correspondiente. Para realizar la jugada, se consideran tanto el Grado de Levante como el Grado de Desarrollo para cada pinta, en función de las reglas que le sean aplicables. Al concretarse la jugada, se actualiza el Grado de Desarrollo de cada pinta, tanto para un equipo como para el otro, acumulando un punto a las piezas que coloca el jugador y su compañero y un punto negativo a las piezas que coloca el contrario. A las piezas “golpeadas” se les asigna un valor positivo o negativo dependiendo de si son golpeadas por los contrarios o por el jugador y/o su compañero. Tal información se utiliza tanto para los jugadores de un bando como del otro multiplicándolo por 1 o por –1 según a quien se aplique. El modelo representa un control procedimental rígido para el establecimiento del peso de cada valor. - El motor de inferencia aplicará un conjunto de reglas difusas (cuyo factor de fuzzificación o peso de cada regla estará configurado de antemano con los valores por defecto de la aplicación, posteriormente modificables por intervención del usuario), y se decide si cada regla es aplicable a los valores de cada ficha. En caso de ser aplicable, se calcula para cada regla su función de fuzzificación, determinando los productos de los grados de levante y desarrollo por el valor de la regla, y acumulando los valores para cada pinta posible de ser jugada. Esto dará como resultado un arreglo de valores para cada pinta según las reglas aplicables. De tal conjunto de valores se toma el máximo para cada pinta, y de tales máximos se toma el mayor, lo cual representa la pieza a jugar. Nótese que el cálculo se efectúa sobre el valor de la pinta que se desea jugar, considerando la pieza como jugable. Este hecho asocia la pinta o palo con la pieza. INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

71

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

- El modelo debe contemplar la posibilidad de explicar las jugadas realizadas. En tal sentido, debe almacenarse la secuencia de valores generados. Igualmente deben considerarse aspectos tales como los términos pieza candidata (pieza que puede ser jugada), pieza conveniente (pieza que debe ser jugada según determinada regla) y pieza a jugar (pieza conveniente con mayor valor de “conveniencia”), así como las situaciones de paso o jugada forzada.

DISEÑO DEL JUEGO DE DOMINÓ Descripción general: Dominó Fuzzy representa un juego de dominó por parejas en el cual el usuario puede jugar contra el computador o evaluar las jugadas del computador en una partida determinada. Metas del juego: El usuario debe vencer al computador en una partida convencional, o modificar/evaluar las opciones que brinda en modo “entrenamiento”. La pantalla del juego: La pantalla de juego estará conformada por el tapete verde típico de las mesas de juego, el espacio para las fichas, y la libreta de anotaciones. Las piezas que se van jugando se disponen en la mesa con la posición correspondiente a la primera ficha ubicada en el centro de la mesa de manera que sus dos caras apunten hacia los jugadores 3 y 1 en caso de ser un doble y hacia los jugadores 2 y 4 en caso contrario, con las piezas del jugador 1 colocadas en la línea inferior de la pantalla. Si la pieza no es un doble, se colocará el valor menor en el extremo izquierdo. En la parte superior del juego se presentarán los menús desde donde el usuario podrá modificar las opciones o realizar acciones tales como guardar un juego, cargar un juego previamente guardado o iniciar una partida.

72

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

Historia: Estructura convencional del juego de Dominó. No aplica.

Fig. 4. La pantalla del juego. Visión general de los enemigos: Estructura convencional del juego de Dominó. No aplica. Temas gráficos: Creación de las piezas del dominó. Manejo de las mismas como elementos de dibujo. Temas de audio. Diseño de los menú y opciones del juego: Menú Jugadores: Permite preestablecer, para cada jugador: un nombre, un número, si sus piezas serán visibles y si es controlado por el humano o el computador. Menú Especiales: Determina si las piezas estarán cubiertas, si el computador juega o si el computador verifica. La opción muestra etiqueta permitirá que el computador señale la o las etiquetas lingüísticas involucradas en la decisión de una jugada. Menú Partida: Permite cargar, guardar o recuperar una partida o sólo la repartición. La opción de cargar permite ingresar los datos de una partida. La opción de ver records muestra los ganadores de partidas previas, y la opción jugar inicia una nueva partida. INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

73

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

Menú Mano: Permite visualizar que jugador es el salidor inicial, quien sale en la mano actual y si tal información es visible. Menú Motor de Inferencia: Permite visualizar las reglas y asignarles peso. Opciones de Salida: Entrada/salida Datos

de

Partida

Datos partida Partida Torneo Fecha Lugar Número

Obs Anotador Jueces

Entrada/salida

Partida

Resultados

Manos

Partida

Entrenamiento Prueba 10/01/2009 Los Teques 15

Salida Tantos Colores Aleatoria Retardo

66 100 No Si 30Seg

Resultados Match Partida Ganador 1 1 2 2 3 1 Salidor Ganador Puntos Equipo1

Equipo2

1 2 3 Total Gana

Recrear

Si/No

Partida

Los datos de partida representan la información general de la partida y las opciones generales de partida, tales como el máximo de tantos, el retardo, si es aleatoria, si la salida es tradicional y si las piezas poseen colores. Los datos de resultado permiten mostrar la información de las manos que conforman una partida determinada, y la opción recrear partida permite mostrar la partida tal cual como se jugó, mediante la matriz de control de juego.

74

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

Jugando el juego: Se establecen las opciones. Al darse inicio al juego se chequean las opciones y el juego las considera para la toma de decisiones, reglas y los aspectos que muestra. Se determina el salidor bien sea por la regla del doble seis o por la pieza más alta, dependiendo del esquema seleccionado. Se inicia una mano de acuerdo a las reglas del juego. El jugador, una vez jugada la pieza mediante el uso del teclado o del ratón, espera el tiempo establecido para la jugada, o presiona el botón continuar para acelerar el juego. Al concluirse la mano, el computador totaliza y muestra el botón continuar a efectos de seguir a la próxima mano. Concluida la partida, el jugador tiene la opción de guardarla, recrearla o jugar una próxima partida. Descripción de caracteres y atributos Tablero: Mesa color verde. Por medio de opciones puede cambiarse el color. Contiene las piezas de cada jugador, el tablero de anotación y las piezas que se van jugando. Puede variar dependiendo de las opciones, para colocar las piezas al descubierto o no, o para mostrar quien fue el “salidor” de la mano y de la partida. Adicionalmente, debe presentar como ventanas emergentes los datos de los menús. Piezas: Las piezas son fichas de dominó en estilo sencillo. Anotación: Tablero pequeño con grupo 1 (jugadores 1 y 3), grupo 2 (jugadores 2 y 4). A fin de personalizarlo, puede colocarse los nombres de los jugadores. Jugador por computador: Obedece a las características del motor de inferencia. Jugador no controlado por computador: Obedece a las reglas NPC. Descripción de NPC y atributos: Los jugadores no controlados por el computador son los usuarios, ya considerados en el análisis del juego.

INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

75

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

Reglas para jugador, caracteres y NPC: Para ambos tipos de jugadores se impedirá las jugadas no valederas. Para los jugadores controlados por el computador se jugará y se esperará un tiempo a fin de pasar al próximo jugador. A los jugadores no controlados por el computador se les presentará las fichas como objetos que sean seleccionados por medio del ratón. Si la pieza es seleccionada, se verificará si puede ser jugada. De poder jugarse, se verificará si por un solo extremo. En caso de que sea por ambos extremos se pedirá al usuario que indique por cual, mediante la acción del ratón. Todas las reglas definidas: Vienen dadas por las reglas del dominó; las reglas del motor de inferencia, los procedimientos de entrada y salida, los aspectos considerados por defecto, los mecanismos de control y los aspectos relacionados con el flujo de información. Interacción de jugador y juego: Mediante las opciones de menú, el usuario puede seleccionar el/los jugadores cuyas piezas serán visibles o no, y cuales serán el/los jugadores controlados por el computador. Una vez establecida la modalidad del juego, el usuario indicará la pieza a jugar y por cual extremo. El juego colocará la pieza y

realizará

posteriormente su propia jugada. El esquema se mantiene hasta concluir la partida. El usuario tendrá la opción de guardar la correspondiente partida. Descripción de la música: No llevará música. Descripción del sonido: Efecto de mezclado. Sonido de colocación de ficha. Descripción de los niveles y sus temas y metas: No aplica. Visión de la aplicación de Inteligencia Artificial: Motor difuso. Conclusión: El presente es un modelo para el desarrollo de la aplicación. El prototipo se ha diseñado en un lenguaje de alto nivel, mediante la elaboración de la mesa de juego, la planilla de anotación, las fichas o 76

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

piezas, la elaboración del panel, la implementación de los caracteres, y las bases del motor de inferencia. Por sus características de aplicacióninvestigación, no se plantean aspectos tales como gráficos en tercera dimensión u opciones de animación, los cuales pueden contemplarse en versiones futuras.

EL CENTRO DEL JUEGO Esquema general del juego Para cada jugada 1. Al grado de desarrollo de la pinta a la que le pega el jugador, se le acumula un punto negativo si el jugador es 1 o 3 y positivo en caso contrario. 2. Al grado de desarrollo del valor que se juega, se le acumula un punto positivo si el jugador es 1 o 3 y negativo en caso contrario. 3. Se creará una estructura para almacenar la repartición de las fichas mediante una función aleatoria. De esta forma, cada jugador recibirá las piezas que le corresponden. Se crearán estructuras de datos estáticas para el control de la base de conocimientos, encargada de una generación dinámica de valores difusos mediante reglas como conteo de pintas y cantidad de piezas de pintas favorables. Igualmente, se crearán estructuras para aspectos de orden numérico como cantidad de tantos que ha salido. 4. El flujo de información del juego se lleva a cabo mediante la estructura procedimental del algoritmo. 5. Se eliminan del motor de inferencia las decisiones triviales (pasar, jugar obligado), permitiendo que el algoritmo central tome directamente estas decisiones.

INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

77

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

Tabla de estrategias del juego La siguiente tabla refleja las estrategias usuales del juego de dominó. Cada estrategia se inicia con una fila que la enumera, coloca su etiqueta lingüística, define la regla y le asigna el peso correspondiente. Se concluye con una línea que refleja los algoritmos para implementar la estrategia en el computador. Tabla de estrategias del juego E1

Gallo que no repite no es gallo R1E 1 ESE 1C1

E2

E3

E4

60 %

Jugar a la ficha de la que se poseen más piezas. Dadas las piezas candidatas, asignarle a cada cara el grado de levante.

Con dobles no se llega ni a la esquina

El jugador debe salir de los dobles para evitar que posteriormente no pueda jugarlos (dobles “muertos”)

R1E2

Soltar los dobles

ESE2C1:

Asignar al doble el grado de levante 6.

Con violín reservar el doble

El jugador que tiene 5 o más fichas de una misma pinta, debe conservar el doble porque el mismo representa una jugada mas (“Encabezamiento”).

80 %

60

R1E3

Si la pieza candidata es el doble de un grupo con grado de levante 5, no jugarlo en ese momento.

ESE3C1

Colocar el peso de la regla E2 en 10. Recalcular si es necesario. Retornar el doble a su grado de levante original.

Trancar para agarrarlos buchones

R1E4

78

El jugador de turno jugará a una pinta repetidamente

En la situación de tranca del juego, aplicarla si se espera obtener un número elevado de tantos

80

Si es favorable, trancar el juego.

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

(…cont.) Tabla de estrategias del juego

E5

E6

ESE4C1

Determinar el número de tantos por jugar, y promediarlo por fichas. Estimar la cantidad de tantos de cada equipo. Si el estimado de tantos de los contrarios es mayor en un 20%, realizar la tranca.

Mano segura no se tranca

Si se tiene la seguridad de que se ganará la mano, no se debe efectuar la tranca

R1E5

Si se está encabezado, no tirar la tranca.

ESE5C1

Determinar si se está encabezado. En tal caso, no tirar la tranca. Colocar el peso a la regla E4 en 10. Colocar el temporalmente el grado de desarrollo de la pieza en 1.

El que le pega a su familia se arruina R1E6

E7

60

Si la pieza candidata castiga un tope favorable, asignar el grado de desarrollo en 10

Jugar para la mano

Favorecer el jugo del participante “mano”.

80

R1E7

Favorecer a la mano

ESE7C1

Si es mano el jugador compañero, y la pieza es favorable en su grado de desarrollo, colocar el grado de desarrollo en 6.

E8

E9

No castigar las piezas del compañero.

Botar tantos.

Soltar tantos para que no sean contados

70

R1E8

Favorecer la salida de las piezas de alto puntaje.

ESE8C1

Si hay dos o más piezas candidatas, Sumar temporalmente los valores de las pintas de las piezas a los grados de desarrollo de cada pieza.

Impedir la salida de los

No

permitir

que

dobles

juegue sus doble

el

contrario

70

R1E9

Impedir que el contrario juego dobles

ESE9C1

Pegar al tope que esté abierto a los dobles favorables al contrario

INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

79

Un Juego de Dominó con Razonamiento Basado en Lógica Difusa

CONCLUSIONES El proceso de investigación realizado se apoyó en las estructuras deductivas propias de las matemáticas, y el análisis de sistemas de información. Se propuso el modelo tanto para la aplicación como para la estrategia de carácter difuso que da soporte al centro del juego. El modelo de la aplicación puede ser desarrollado en un lenguaje de programación orientado a ambientes gráficos. El modelo para el motor de inferencia debe ser verificado en un segundo proceso investigativo bien sea mediante un mecanismo de demostración matemática, o bien mediante un diseño experimental. De forma manual, los profesores Miranda, Osorio y Guerrero aplicaron, conjuntamente con el investigador (Hurtado, 2008), las heurísticas

previamente

señaladas

obteniendo

una

secuencia

relativamente favorable de casos en los cuales la jugada, analizada mediante juicio de expertos, representaba adecuadamente a un jugador con posibilidad de ganar en más de un 50% de los casos. Esto ubicaría a tal jugador en un rango de posibilidades de éxito superior al que le correspondería mediante los parámetros de la probabilidad convencional, colocándolo dentro del rango de los jugadores superiores al promedio.

80

INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008

Miguel Humberto Hurtado

REFERENCIAS Dominoes. (2009, November 3). En Wikipedia, The Free Encyclopedia. De: http://en.wikipedia.org/w/index.php?title=Dominoes&oldid=323671666 Hall, J. (2001). Programming Linux Games. Building Multimedia Applications with SDL, OpenAL(tm), and Other APIs, Loki Software, Inc., ISBN-10 1-886411-49-2, ISBN-13 978-1-886411-49-4, Pp. 15, fig 1.6 Hurtado, M. (2008, junio). Creación de un juego de dominó con razonamiento, Taller realizado para las jornadas Hacia los Tópicos de Investigación, Colegio Universitario de Los Teques “Cecilio Acosta”, Los Teques, Estado Bolivariano de Miranda, Venezuela. Juego. (2009). Wikipedia, La enciclopedia libre. De http://es.wikipedia.org/w/index.php?title=Juego&oldid=31171218. Martínez, J., Muñoz, A. Juego de Domino para cuatro jugadores utilizando agentes artificiales, Instituto Nacional de Astrofísica, Óptica y Electrónica, Coordinación de Ciencias Computacionales, Luís Enrique Erro No 1., Sta. Ma. Tonantzintla, 72840 Puebla, Mexico. Sanz, A. (1996). Lógica Borrosa: incidencia en las aplicaciones industriales, Departamento de Ingeniería, Electrónica y Comunicaciones, University of Zaragoza, Spain, entro Politécnico Superior, María de Luna 3, Zaragoza 50015, SPAIN. Simosa, H. (1980). El Tigre de Carayaca: Ciencia y Arte en el Dominó, 8va. Edición, Raúl Clemente Editores C.A.: Valencia, Venezuela. Teixeira de Sousa, B.l (2002). Pp. 601, Game Programming All in One, Premier Press 2002, ISBN: 1-931841-23-3 Teoría de juegos. (2009) de octubre. Wikipedia, La enciclopedia libre. De:Videojuegos, http://es.wikipedia.org/wiki/Juego#Videojuegos [en línea] Zadeh, L. (1965). Fuzzy sets. Information and Control, 8(3):338-353.

INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008

81

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.