You are on page 1of 6

INTELIGENCIA ARTIFICIAL APLICADA A LA TEORA DE

JUEGOS
(JUEGO TIC TAC TOE)
2do Autor

3er Autor

Afiliacin 2do Autor


1ra lnea de direccin
2da lnea de direccin
Nmero de telfono y cdigo
internacional

Afiliacin 3er Autor


1ra lnea de direccin
2da lnea de direccin
Nmero de telfono y cdigo
internacional

Correo electrnico 2do Autor

Correo electrnico 3er Autor


(Arial 12 pts.)

Jhon R. Molina rodero


Ingeniera de sistemas(Estudiante)
Universidad de Cundinamarca
Ubat-Cundinamarca-Colombia
jrmolina@mail.unicundi.edu.co

RESUMEN
El cerebro humano a lo largo de la evolucin ha sufrido bastantes
cambios los cuales se ven reflejados en la manera de relacionar al
ser humano con su ambiente, de la toma de decisiones, de la
resolucin de problemas y gracias a eso ha generado cada vez
mayores avances capaces de dar solucin a las diferentes
necesidades que se le presentan, sin embargo y viendo las actuales
problemticas que la sociedad est afrontando, cada vez son ms
los profesionales que investigan la posibilidad de crear un sistema
que sea autnomo en sus decisiones, que sea capaz de solventar de
la mejor manera los problemas que se le presenten, con lo cual se
llega a la siguiente pregunta:
Ser posible crear sistemas capaces de generar conocimiento por
si mismos?
Que tomen decisiones?
Que tengan la capacidad de tener criterio propio?
Que sean inteligentes?
A partir del estudio de la teora de juegos se ha profundizado en el
anlisis de los juegos competitivos entre dos personas, es decir, la
lgica que se usa siempre que se interacta con otro ser humano
cuando, por ejemplo, en el famoso juego Tic Tac Toe (triqui) se
presentan jugadas alternadas de dos jugadores; se busca la mejor
las posibles secuencias del juego y as encontrar la mejor forma de
jugar.
Palabras clave: Teora de juegos, inteligencia artificial, sistemas,
Tic tac toe, estrategias.
ABSTRACT
The human brain along the evolution has undergone several
changes which are reflected in the way to relate to human beings
with their environment, decision making, the resolution of
problems and thanks to that has generated increasing progress
able to give solution to the different needs that are presented to it,

however and watching the current problems that society is facing,


every time there are more professionals who are investigating the
possibility of creating a system that is autonomous in its
decisions, which is able to solve in the best way the problems
submitted to it with which it comes to the following question:
will it be possible to create Systems capable of generating
knowledge by themselves?
How to take decisions?
Do you have the ability to have their own criteria?
What are smart?
From the study of the theory of games has deepened in the
analysis of the competitive games between two persons, that is to
say, the logic that is used whenever you interact with another
human being when, for example, in the famous game Tic Tac Toe
(triqui) are played staggered two players; they are looking for the
best possible sequences of the game and find the best way to play.
Key words: theory of games, artificial intelligence, systems, Tic
Tac Toe, strategies.
INTRODUCCION
El ser humano ha pensado desarrollar sistemas inteligentes
capaces de tener criterio propio o aunque sea aspectos del
razonamiento del ser humano, con lo cual aparece la llamada
Inteligencia Artificial que no es otra cosa sino la capacidad de una
mquina o software de crear conocimiento partiendo de la
experiencia, de la toma de decisiones, de la capacidad de
razonar. Pero para llegar a tal punto se debe comprender
primero el funcionamiento del cerebro humano, se debe entender
de tal manera que se puedan construir mecanismos en base a sus
funciones, es decir, se deben responder primero a muchas
preguntas: por ejemplo, cmo pensamos? Qu hace al cerebro
tomar decisiones? Cmo son las formas de aprendizaje y cmo

se toma del mundo la informacin para ser procesada? La


conciencia es fsica o cmo se compone? Y lo ms importante Se
podr desarrollar una mquina inteligente en el futuro?
Pero, qu busca la inteligencia artificial? Bsicamente busca
mejorar la inteligencia humana en todos sus aspectos, aumentar la
capacidad intelectual, ayudar en la construccin de robots y
mquinas inteligentes, con capacidad de conciencia, de pronto.
Objetivo
Viendo que la inteligencia artificial es la capacidad del ser
humano de otorgar a una mquina o sistema la virtud de pensar
y la teora de juegos trae consigo un escenario relacionado con los
juegos competitivos (llamado as porque las dos partes que estn
inmersas en el juego no establecen contacto alguno previo a la
realizacin del juego, eliminando la posibilidad de algn tipo de
acuerdo o negociacin) se pretende realizar un software capaz de
responder a jugadas de una persona del comn mediante una
interfaz sencilla; el juego debe incluir un men para registrar al
jugador, un tablero de juego, configuraciones bsicas(tales como
sonido, seleccin de fichas), debe contar con un registro de las
partidas y de 2 diferentes modos de juego humano-humano y
humano-mquina.

Lgica del triqui (Algoritmo minimax)


El algoritmo minimax se puede ver como una especializacin de
bactracking para juegos por turnos de dos jugadores. Ninguna de
estas palabras sobra, Minimax est pensado para juegos por turnos
de dos jugadores, y nada ms. Minimax sirve para que la IA elija
el siguiente movimiento a realizar suponiendo que el otro jugador
siempre escoger el movimiento que ms perjudique a la IA.
Consiste simplemente en recorrer todo el rbol de soluciones a
partir de un estado dado, es decir, segn las casillas que han sido
rellenadas. Por lo tanto, minimax se ejecutar cada vez que le
toque mover a la IA
A continuacin se explican los pasos tpicos del algoritmo
minimax:
1.

Se genera el rbol de soluciones completo a partir de un


nodo dado.

El juego Tic Tac Toe (triqui)


El comnmente juego de mesa llamado triqui es una matriz de
3x3 donde 2 jugadores buscan colocar sus fichas de forma
secuencial ya se por filas, por columnas o en las diagonales
(donde existen 8 formas de ganar). Inventado por un estudiante de
la Universidad de Cambridge en 1952, llamado A.S.Douglas en
ese entonces se llamaba OXO y es una forma de ilustrar su tesis
en el Doctorado (PhD) sobre la interaccin entre el ser humano y
un ordenador; el OXO deba correr en un ordenador , all se
encontraba EDSAC (Electronic Delay Storage Automatic
Calculator), la primera computadora operacional que poda
almacenar programas electrnicos de computdora.

2.

Figura 2. Diseo del rbol de soluciones minimax.


Para cada nodo hoja, es decir, un nodo sin hijos que es
un estado terminal del juego le asignamos un valor
numrico que describe si le interesa a la IA alcanzar o
no ese nodo hoja.

Figura 1. Interfaz del OXO vista en el EDSAC.


http://1.bp.blogspot.com/_7xifJZMEyaY/R2EjkUA4_RI/AAAAA
AAAABE/g-Ur5eOISyY/s320/OXO_emulated_screenshot.png
Un juego que segn Mahoney (2005) es el fiel ejemplo de la
teora de juegos cuando no existen los criterios de incertidumbre y
alta complejidad.
Otros autores como Marchi y Fischer (2006) han ahondado en el
estudio del triqui y plantean, basados en el criterio de los juegos
de suma cero, la bsqueda del equilibrio del juego entre dos
jugadores, puesto que la mejor estrategia para el jugador que
comienza es jugar en el centro, dado que como se va a mostrar
mucho ms adelante, esta opcin desarrollada de forma racional,
desemboca en un juego sin ganador. A su vez Franjen (2004),
aborda el juego aplicndole la estructura de los juegos que
aprenden.

Figura 3. Lgica de la primera jugada por parte de la IA


3.

Y lo que har el algoritmo minimax cuando vaya


regresando hacia atrs como haca bactracking, ser
comunicarle a la llamada recursiva superior cul es el
mejor nodo hoja alcanzado hasta el momento. Cada
llamada recursiva tiene que saber a quin le toca jugar,
para analizar si el movimiento realizado pertenece a la
IA o al otro jugador, ya que cuando sea el turno de la IA
nos interesa MAXIMIZAR el resultado, y cuando sea el
turno del rival MINIMIZAR su resultado. La forma ms
fcil de implementar el algoritmo es crear dos
funciones, MIN y MAX que se irn llamadas

recursivamente la una a la otra para simular el juego por


turnos. La del MIN tpicamente simular el movimiento
del otro jugador, y la de MAX simular el movimiento
de la IA.

METODOLOGA Y PROCESO DE DESARROLLO


La metodologa de desarrollo de software elegida para la
elaboracin del programa es SCRUM puesto que su aplicacin se
hace en fases relativamente cortas dependiendo de los requisitos y
del grupo de trabajo con el que se cuenta.

RESULTADOS
El juego fue desarrollado en java en la plataforma Netbeans IDE
8.0.2 aplicando los conceptos antes vistos y dando como producto
final un software confiable capaz de cumplir con los requisitos
establecidos.
Adems del producto se tuvieron en cuenta otros resultados como
los conocimientos adquiridos, la experiencia del trabajo en grupo
el uso adecuado de una metodologa de desarrollo previamente
establecida y escogida por el lder de proyecto.
El juego ha participado en 2 ponencias de proyectos ocupando las
primeras posiciones; fue presentado en la gala de proyectos
realizada en la Universidad de Cundinamarca seccional Ubat
denominada Tecnology Day con un total de 18 proyectos
ocupando el segundo puesto y tambin fue presentado en la
Unisangil en su 3ra gala de proyectos ocupando el tercer puesto.
Ahora se muestran las interfaces del juego:

Figura 4. Ciclo de la metodologa SCRUM aplicada al proyecto.


http://etherpad.proyectolatin.org/up/aaea7098b048d17f4bbe2
a2bb599abeb.png
El proyecto se ejecuta en bloques temporales cortos y fijos (2
semanas por iteracin), generando en cada una de ellas un
resultado completo, un incremento de producto final que sea
susceptible de ser entregado con el mnimo esfuerzo al cliente
cuando lo solicite.
El proceso parte de los objetivos o los requisitos priorizados del
producto, estos van a ser encargados de generar el plan de
proyecto donde se realiza el respectivo cronograma de iteraciones
y entregas; las diferentes actividades que se llevan a cabo en
SCRUM son las siguientes:
1.
2.
3.

Planificacin de la iteracin: Donde se toman los


requisitos y se elaboran las listas de tareas
Ejecucin de la iteracin: Se realizan una reunin de
sincronizacin
Inspeccin y adaptacin: Al final de cada iteracin se
presentan los resultados y se analiza el rendimiento del
equipo
En el desarrollo del software (Tic Tac Toe) se tuvieron
en cuenta dichos pasos logrando as la correcta entrega
del producto, es decir, el juego funcional y que cumpla
con los requisitos establecidos por el cliente.

CONCLUSIONES

El juego ha sido probado por diferentes personas las cuales con


sus aportes han ayudado a mejorarlo dando asi la experiencia de
una mejor jugabilidad y obtener mejores resultados.

La inteligencia artificial va a permitir desarrollar


sistemas ms eficaces y eficientes que sean capaces de
tomar decisiones precisas respecto a diversas
situaciones que se planteen o se estn gestando, sin
embargo no se puede llegar a construirla sin conocer a
nosotros mismos, sin saber cmo se generan los
pensamientos y las ideas, como se acta frente a los
problemas y cmo se solucionan.

La investigacin de operaciones a travs de la teora de


juegos ayuda a analizar de manera sencilla el
comportamiento de dos personas frente a un problema
ya sea sencillo o complejo, permite entender por medio
de la lgica la mejor forma de solucionar un algoritmo.

Las diferentes metodologas de desarrollo de software


son indispensables para el ptimo proceso de
elaboracin de un producto adems de proveer
herramientas nos da una gua estable de cmo hacer las
cosas, sin embargo se debe de elegir de acuerdo a lo que
se planea hacer y sobre todo al tiempo y a lo que se
desea conseguir.

El proceso que se tuvo en cuenta para el desarrollo de


este juego da varias pautas para dar inicio o futuros
proyectos y as adquirir mayor conocimiento sobre el
desarrollo de la lgica y del pensamiento humano para
entender ms afondo lo que en realidad significa la
inteligencia artificial.

SI LO PUEDES IMAGINAR, LO PUEDES


PROGRAMAR. (Annimo)

REFERENCIAS
[1] HILLIER, Frederick & LIEBERMAN, Gerald
(2002). Investigacin de Operaciones.
Sptima edicin. Editorial Mc Graw Hill
Interamericana, Mxico D. F.

coevolutionary game learning. University of


Pretoria.
[5] WU, Thomas, Introduccin a la Programacin Orientada a
objetos con Java, Editorial McGraw Hill,2001.
[6] Naughton, Patrick, Childt, Herbert, Java Manual de
Referencia, Editorial McGraw Hill, 1997.

[2] AARSETH, Espen (2005). Game Studies: What is


it Good For?. The International Digital Media
& Arts Association Journal. Vol. 2 No. 1, pp
3. Documento en Internet en http://www.computerspacefan.com/History.htm

[7] Wang, Paul, Java con Programacin orientada a Objetos y


aplicaciones en la www, International Thomson Editores
S.A.,2000.

[3] MARCHI, Ezio y FISCHER, Geraldo W. (2006). Tic


tac toe in Four Dimensions, with a FORTRAN
Program on a PC. Documento en: http://
cabierta.uchile.cl/revista/21/articulos/pdf/
paper4.doc
[4] FRANJEN, Cornelis J. (2004) PSO-Based

[9] Deitel, H.M., Como Programar en Java, Editorial Prentice


Hall, 1998. - Bobadilla Jess, Comunicaciones y Bases de
Datos con Java, Editorial Alfaomega, 2003.

[8] Lemay, Laura, Cadenhead, Rogers, Aprendiendo Java 2 en 21


das, Editorial Prentice Hall, 1999.

[10] Deitel, H.M., Como Programar en Java, Editorial Prentice


Hall, 1998

You might also like