Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 47
UUNN JJUUEEGGOO DDEE DDOOMMIINNÓÓ CCOONN
RRAAZZOONNAAMMIIEENNTTOO BBAASSAADDOO EENN LLÓÓGGIICCAA
DDIIFFUUSSAA
Miguel Humber to Hur tado Colegio Univers i tar io de Los Teques, Cec i l io Acosta
miguelhu r@gmai l . com
Invest igac ión Rev is ta
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, rule based system, domino game, computational intelligence.
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 48
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%.
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 49
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.
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 50
EL JUEGO DE DOMINÓ
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.
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 51
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.
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 52
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
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 53
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
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 54
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 JUEGOS POR COMPUTADOR
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,
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 55
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:
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 se hace un “llamado” a distintos
subprocesos/subsistemas encargados de las actividades macro
representadas en la mayoría de los juegos. Lo subdivide en los
subsistemas que se definen en los párrafos siguientes.
Entrada
Redes
Actualización
Visualización
Audio
LAN o Internet
Tarjeta de Audio
Video 3D
Framebuffer
Dispositivos de
Entrada
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 56
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
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 57
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
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 58
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
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 59
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
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 60
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
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 61
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
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 62
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.
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 63
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
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 64
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.
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
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
0 J A D P J P
1 J P
2 J P
3 J A P J P J D N D J
4 J D P J P
5 J D D A P J D D D D D P N
6 S P D D P J 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
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 65
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
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 66
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.
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 67
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.
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 68
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
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 69
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).
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 70
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
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 71
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.
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 72
- 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.
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 73
Historia: Estructura convencional del juego de Dominó. No aplica.
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.
Fig. 4. La pantalla del juego.
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 74
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 Entrenamiento Salida 6 6
Torneo Prueba Tantos 100
Fecha 10/01/2009 Colores No
Lugar Los Teques Aleatoria Si
Número 15 Retardo 30Seg
Obs
Resultados Match
Anotador Partida Ganador
Jueces 1 1
2 2
3 1
Entrada/salida
Resultados
Partida
Partida
Manos Salidor Ganador Puntos Equipo1 Equipo2
1
2
3
Total
Gana
Recrear
Partida
Si/No
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.
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 75
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.
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 76
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
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 77
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ón-
investigació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.
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 78
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
El jugador de turno jugará a una pinta repetidamente
60%
R1E1
Jugar a la ficha de la que se poseen más piezas.
ESE1C1
Dadas las piezas candidatas, asignarle a cada cara el grado de levante.
E2 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”)
80%
R1E2 Soltar los dobles
ESE2C1: Asignar al doble el grado de levante 6.
E3 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”).
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.
E4 Trancar para agarrarlos buchones
En la situación de tranca del juego, aplicarla si se espera
obtener un número elevado de tantos
80
R1E4 Si es favorable, trancar el juego.
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 79
(…cont.) Tabla de estrategias del juego
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.
E5 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.
E6 El que le pega a su familia se arruina
No castigar las piezas del compañero.
60
R1E6 Si la pieza candidata castiga un tope favorable, asignar el grado de desarrollo en 10
E7 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 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.
E9 Impedir la salida de los
dobles
No permitir que el contrario
juegue sus doble
70
R1E9 Impedir que el contrario juego dobles
ESE9C1 Pegar al tope que esté abierto a los dobles favorables al contrario
Un Juego de Dominó con Razonamiento Basado en Lógica Difusa
INVESTIGACIÓN Revista para conocer y transformar. No. 13, 2008 80
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.
Miguel Humberto Hurtado
INVESTIGACIÓN Revista para conocer y transformar. No.13, 2008 81
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 Domino, 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.
Top Related