Generación y resolución de puzles automática como apoyo a diseñadores de videojuegos
Abstract
En este Trabajo de Fin de Grado modelamos, resolvemos y generamos cinco tipos de rompecabezas de la conocida saga de videojuegos el Profesor Layton. Para ello utilizamos diferentes técnicas de Inteligencia Artificial, como la búsqueda heurística A*, la búsqueda metaheurística de optimización Enfriamiento Simulado y los algoritmos genéticos. Además incorporamos una interfaz gráfica para que el usuario pueda recibir pistas para llegar a la solución del puzle en tiempo real y para que pueda generar los puzles con diferentes dificultades. Finalmente comprobamos que los algoritmos utilizados son óptimos mediante graficas de medidas de tiempos de ejecución y validez de las soluciones generadas.
Full text
GENERACIÓN Y RESOLUCIÓN DE PUZLES AUTOMÁTICA COMO
APOYO A DISEÑADORES DE VIDEOJUEGOS
AUTOMATIC PUZZLE GENERATION AND SOLVING AS A SUPPORT
FOR GAME DESIGNERS
TRABAJO FIN DE GRADO
CURSO 2023-2024
AUTOR
Es he Babon A cauz
DIRECTOR
Ismael Sag edo Oli enza
GRADO EN INGENIERÍA INFORMÁTICA
FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
GENERACIÓN Y RESOLUCIÓN DE PUZLES AUTOMÁTICA COMO
APOYO A DISEÑADORES DE VIDEOJUEGOS
AUTOMATIC PUZZLE GENERATION AND SOLVING AS A SUPPORT
FOR GAME DESIGNERS
TRABAJO DE FIN DE GRADO EN INGENIERÍA INFORMÁTICA
AUTOR
ESTHER BABON ARCAUZ
DIRECTOR
ISMAEL SAGREDO OLIVENZA
CONVOCATORIA: SEPTIEMBRE 2024
GRADO EN INGENIERÍA INFORMÁTICA
FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
13 DE SEPTIEMBRE DE 2024
III
DEDICATORIA
A mi amona
V
AGRADECIMIENTOS
A Guille, Ósca y odos los que han hecho que es e camino sea más lle ade o.
VII
RESUMEN
GENERACIÓN Y RESOLUCIÓN DE PUZLES AUTOMÁTICA COMO APOYO A DISEÑADORES DE VIDEOJUEGOS
En es e T abajo de Fin de G ado modelamos, esol emos y gene amos cinco ipos
de ompecabezas de la conocida saga de ideojuegos el P o eso Lay on. Pa a ello
u ilizamos di e en es écnicas de In eligencia A i icial, como la búsqueda heu ís ica A*,
la búsqueda me aheu ís ica de op imización En iamien o Simulado y los algo i mos
gené icos. Además inco po amos una in e az g á ica pa a que el usua io pueda ecibi
pis as pa a llega a la solución del puzle en iempo eal y pa a que pueda gene a los
puzles con di e en es di icul ades. Finalmen e comp obamos que los algo i mos
u ilizados son óp imos median e g a icas de medidas de iempos de ejecución y alidez
de las soluciones gene adas.
Palab as cla e
Puzle, IA, Modela , Resol e , Gene a , Heu ís ica, Búsqueda, A*, Gené icos,
Algo i mos
XV
ÍNDICE DE FIGURAS
Figu a 1: Wa e Pi che s [43] ..................................................................................................19
Figu a 2: Tiempo gene ación Ja as ......................................................................................23
Figu a 3: Tiempo esolución Ja as .......................................................................................23
Figu a 4: GUI menú Ja as ......................................................................................................24
Figu a 5: GUI esol e Ja as ...................................................................................................24
Figu a 6: GUI esol e Ja as pis a ..........................................................................................25
Figu a 7: GUI gene a Ja as ..................................................................................................26
Figu a 8: A wo m's D eam [33] ...............................................................................................27
Figu a 9: Tiempo gene ación 8/16-puzle ..............................................................................30
Figu a 10: Tiempo esolución 8/16-puzle ...............................................................................30
Figu a 11: GUI menú 8/16-Puzle .............................................................................................31
Figu a 12: GUI esol e 8/16-Puzle ..........................................................................................31
Figu a 13: GUI gene a 8-Puzle ...............................................................................................32
Figu a 14: GUI gene a 16-Puzle .............................................................................................33
Figu a 15: S omp on i ! [34].....................................................................................................34
Figu a 16: Tiempo gene a S omp .........................................................................................36
Figu a 17: Tiempo esol e S omp ..........................................................................................37
Figu a 18: GUI menú S omp ...................................................................................................37
Figu a 19: GUI esol e S omp ................................................................................................38
Figu a 20: GUI gene ación S omp 1 ......................................................................................39
Figu a 21: GUI gene ación S omp 2 ......................................................................................39
Figu a 22: Ge he Ball Ou ! [35] ............................................................................................40
XVI
Figu a 23: Tiempo gene ación Pelo a ...................................................................................43
Figu a 24: Tiempo esolución Pelo a .....................................................................................44
Figu a 25: GUI menú Pelo a ...................................................................................................44
Figu a 26: GUI esol e Pelo a 1 .............................................................................................45
Figu a 27: GUI esol e Pelo a 2 .............................................................................................46
Figu a 28: GUI gene a Pelo a 1.............................................................................................46
Figu a 29: GUI gene a Pelo a 2.............................................................................................47
Figu a 30: Ha g am [37] ..........................................................................................................48
Figu a 31: Fi ness Núme o de gene aciones ........................................................................53
Figu a 32: Tiempo ejecución núme o de gene aciones .....................................................54
Figu a 33: Fi ness po amaño de población ........................................................................55
Figu a 34: Tiempo po amaño de población ......................................................................55
Figu a 35: Fi ness po amaño de o neo ..............................................................................56
Figu a 36: Tiempo po amaño de o neo ............................................................................57
Figu a 37: Fi ness po p obabilidad de c uce .......................................................................58
Figu a 38: Tiempo po p obabilidad de c uce .....................................................................58
Figu a 39: Fi ness po p obabilidad de mu ación ................................................................59
Figu a 40: Tiempo po p obabilidad de mu ación ..............................................................60
Figu a 41: Fi ness solución 100 Ha g am................................................................................60
Figu a 42: GUI menú Ha g am ...............................................................................................61
Figu a 43:GUI esol e Ha g am .............................................................................................62
Figu a 44: GUI esol e Ha g am piezas ................................................................................63
XVII
Índice de ablas
Tabla 1: Ca ac e ís icas PC ....................................................................................................16
Tabla 2: Di icul ades gene ación Ja as ...............................................................................22
Tabla 3: Di icul ades gene ación puzle8/16 .........................................................................29
Tabla 4: Di icul ades gene ación S omp ..............................................................................36
Tabla 5: Di icul ades gene ación Pelo a ..............................................................................43
1
Capí ulo 1 - In oducción
1.1 Mo i ación
El campo de la In eligencia A i icial ha ganado mucha a ención en los úl imos años
mayo i a iamen e debido a la popula ización y accesibilidad pública de sis emas de
cha basados en In eligencia A i icial como Cha GPT o gene ado es de con enido
mul imedia como S able Di usion o So a. A medida que a la población se le ha acili ado
el uso de es e ipo de he amien as, se ha in e esado más po cómo uncionan y a que
o os sec o es se pueden aplica .
Sin emba go, exis en múl iples aplicaciones donde el uso de la IA simbólica clásica iene
cabida. Po ejemplo, Cha GPT iene p oblemas pa a ealiza cálculos ma emá icos
complejos [1], y además es poco e icien e a la ho a esol e de o ma óp ima puzles
como el 8-Puzzle o el cubo de Rubik. Conc e amen e, en un es udio ecien e [2]
con igu a on LLMs pa a la esolución de puzles, es as LLMs especializadas, conseguían
una asa de acie o del 93.2% en el 8-puzle, cuando A* puede esol e es e ipo de puzle
en poco iempo y con una asa de acie o del 100%. A pesa de los a ances
conseguidos con la u ilización de los LLMs, en es e ipo de p oblemas sigue siendo más
con enien e ecu i a la IA simbólica clásica.
En es e T abajo de Fin de G ado que emos esol e y gene a puzles o p oblemas de la
conocida saga de juegos El P o eso Lay on [3], median e el uso de algo i mos de
búsqueda heu ís ica.
La saga de ideojuegos del P o eso Lay on se cen a en esol e mis e ios, pa a a anza
en la his o ia debemos esol e una mul i ud de puzles de odo ipo y de di e en es
di icul ades. Todo ello amenizado po una his o ia que da consis encia a la sucesión de
puzles que amos esol iendo.
La mo i ación as es e TFG es pe mi i a los diseñado es de juegos de es e ipo, dispone
de un asis en e que en el caso de que los jugado es se queden a ascados, les ayude
con algún ipo de pis a. La ayuda puede se p opo cionada median e un bo ón que, al
2
se pulsado, p opo ciona al usua io el siguien e paso que debe hace pa a llega a la
solución. Pa a puzles más complejos, pod íamos eque i de o o ipo de ayudas como
e emos más adelan e.
Desde el pun o de is a de diseñado es de ideojuegos, que emos que puedan gene a
puzles de mane a au omá ica pa a que puedan usa sus capacidades en o os
aspec os del diseño de ideojuegos. Si deciden gene a los puzles ellos mismos, pod án
comp oba si son esolubles median e es a he amien a.
La gene ación y esolución de ompecabezas es un ema de in e és popula , y se e
e lejado en el núme o de a ículos publicados en los úl imos años. Mencionamos y
discu imos es os a ículos en el siguien e capi ulo.
1.2 Obje i os
El obje i o p incipal de es e abajo de in de g ado es esol e y gene a cie os ipos de
puzles o igina ios de la saga de ideojuegos El P o eso Lay on [3], median e écnicas de
In eligencia A i icial en un iempo su icien emen e bueno como pa a pode da pis as
o soluciones pa ciales al usua io en iempo eal.
Pa a pode cumpli el obje i o p incipal, hemos enido que cumpli los siguien es
subobje i os:
• Modela algunos ipos de puzles de ejemplo.
• Pa a cada ipo de puzle, de e mina qué algo i mo de búsqueda es el más
óp imo pa a esol e lo.
• De e mina los pa áme os ideales de los di e en es modelos pa a que el iempo
de ejecución sea el mínimo y la solución sea óp ima.
• Pode isualiza los p oblemas y soluciones median e una in e az g á ica.
• Gene a los di e en es ipos de puzle con a iedad de di icul ades.
3
1.3 Plan de abajo
Oc ub e 2023:
• In es iga la exis encia de algo i mos de gene ación de puzles.
No iemb e 2023:
• In es iga los di e en es ipos de algo i mos de esolución basados en
In eligencia A i icial.
Diciemb e 2023:
• Modela y esol e algunos ompecabezas median e búsqueda heu ís ica.
Ene o 2024:
• In es iga o os ipos de búsqueda pa a los p oblemas que no se pueden
esol e de es a mane a.
Feb e o 2024:
• Aplica algo i mos gené icos pa a la esolución de uno de los ompecabezas.
Ma zo 2024:
• Te mina de modela y esol e odos los ompecabezas
Ab il 2024:
• Gene a median e la alea o iedad los di e en es puzles.
4
Mayo 2024:
• Empeza a gene a una in e az g á ica.
• Comenza a edac a la memo ia.
Junio 2024:
• Tes ea y a egla la esolución y la gene ación de los di e en es modelos.
Julio 2024:
• In es iga y encon a los alo es ideales de los pa áme os del algo i mo
gené ico
Agos o 2024:
• Te mina la in e az g a ica
• Saca g a icas de iempo de gene ación y esolución de los di e en es
ompecabezas
5
Capí ulo 2 - Es ado de la cues ión
La gene ación y esolución au omá ica de puzles o p oblemas ha ganado
conside able a ención an o en la indus ia del ideojuego como en la in o má ica. Tal
y como se decla a en el a ículo Au oma ic Gene a ion and Analysis o Physics-Based
Puzzle Games [4], es o es debido a la en aja que p opo ciona en la apidez de
gene ación de es e ipo de con enido. Además de ebaja los cos es de p oducción,
in oduce una g an can idad de a iaciones en los juegos.
La capacidad de gene a y esol e puzles de o ma au omá ica pe mi e la c eación de
con enido adap a i o que puede ajus a se en iempo eal a las habilidades del jugado ,
p opo cionando una expe iencia de juego pe sonalizada.
En es e capí ulo e isamos la li e a u a ac ual sob e los algo i mos y écnicas u ilizados
an o en la gene ación como en la esolución de puzles.
2.1 Algo i mos de gene ación de puzles
2.1.1 Algo i mos basados en g a os
En el a ículo: Au oma ed maze gene a ion and human in e ac ion [5], Fol in
consigue gene a labe in os u ilizando algo i mos basados en g a os. Un labe in o es un
pasa iempo que consis e en llega de un pun o o igen a un pun o des ino, su di icul ad
eside en que con ienen caminos sin salida y gene almen e, un solo eco ido co ec o.
Los algo i mos basados en g a os son aquellos que ienen como ipo de da os un g a o.
Un g a o es á de inido po un conjun o de a is as, un conjun o de é ices y una ma iz
de adyacencia. La ma iz de adyacencia de ine las conexiones en e los é ices
median e las a is as.
U iliza los siguien es algo i mos pa a gene a labe in os:
6
• Algo i mo de P im [6]: comienza desde un nodo a bi a io y se expande
seleccionando las a is as de meno peso que conec an nodos incluidos con
nodos no incluido. De es a mane a encuen a el á bol de expansión mínima en
un g a o conec ado y no di igido. Un á bol de expansión mínima, conocido
como Minimum Spanning T ee [7], es un subconjun o de un g a o que conec a
odos los nodos con el meno cos o posible.
• Algo i mo de K uskal [8]: comienza o denando odas las a is as po peso y luego,
siemp e que no o men un ciclo, las a añadiendo al á bol. De es a mane a
encuen a el á bol de expansión mínima.
• Back acking [9]: es una écnica de esolución de p oblemas que cons uye
soluciones inc emen ales y e ocede cuando se de e mina que la solución
pa cial no puede lle a a una solución comple a álida, explo ando odas las
posibles opciones.
• Hun and Kill [10]: Es un algo i mo u ilizado en la gene ación de labe in os.
Funciona al e nando en e dos ases: "caza ", donde busca una celda no isi ada,
y "ma a ", donde ex iende un camino alea o iamen e desde esa celda has a que
ya no puede con inua .
• Bac e ial G ow h [5]: es e algo i mo simula el c ecimien o de bac e ias,
expandiéndose desde un pun o inicial y eplicándose hacia á eas adyacen es, a
menudo usado en la gene ación de labe in os o pa ones o gánicos.
El análisis es muy exhaus i o, ya que analiza los iempos que a da en gene a los
labe in os, el iempo que a da el usua io a llega a la solución, el iempo de la solución
óp ima, el camino a la mejo solución, el núme o de mo imien os del usua io y el núme o
mínimo de mo imien os pa a llega a la solución. Cabe señala la al a de es udio sob e
la di icul ad de los labe in os gene ados.
7
2.1.2 Algo i mo de Tu e [11]
En el a ículo Puzzle gene a o s and symme ic puzzle layou [12], log an p oduci
de mane a au omá ica puzles cíclicos. Un p oblema es cíclico cuando u ilizamos un
mismo conjun o de acciones que aplicamos a cada es ado pa a llega a la solución,
que es a su ez el es ado inicial. Un ejemplo de un p oblema cíclico es el conocido cubo
de Rubik.
El algo i mo u ilizado pa a la gene ación es el algo i mo de Tu e [11]. Es e algo i mo
basado en p incipios geomé icos ga an iza que un g a o se pueda dibuja de mane a
que odas sus a is as se ep esen an como líneas ec as que no se c uzan, man eniendo
así la sime ía y la cla idad del diseño del puzle.
La in es igación incluye una implemen ación y explo a cómo se pueden c ea y
modi ica los ni eles de di icul ad de los p oblemas.
2.1.3 Algo i mo Answe Se P og amming wi h P oposi ional Schema
[13]
El a ículo Gene a ing celula puzzles wi h logic p og ams [14] se cen a en la
p oducción au omá ica de p oblemas celula es. Los p oblemas celula es son aquellos
en los que los alo es de las celdas es án es ingidos po no mas que in oluc an g upos
de celdas. Un ejemplo popula de es e ipo de puzles es el Sudoku.
El algo i mo u ilizado pa a gene a p oblemas celula es es el de Answe Se P og amming
wi h P oposi ional Schema [13], es e se basa en de ini p oblemas a a és de eglas
lógicas y encon a espues as alidas que sa is agan las eglas, median e el
plan eamien o decla a i o. Median e es e algo i mo se exp esan las es icciones del
puzle y se gene an soluciones comple as de o ma alea o ia. Después, eniendo la
solución, se u iliza el algo i mo de educción de pis as pa a de e mina el núme o mínimo
de pis as necesa ias pa a que el p oblema sea esoluble y único. Siendo las pis as las
celdas con alo es p ede inidos.
15
Capí ulo 3 - He amien as
En es e capí ulo enume amos las he amien as que han sido indispensables pa a
la ealización de es e abajo. Las he amien as que hemos u ilizado son lib e ías de
código abie o de Py hon. El código de es e p oyec o ha sido ealizado u ilizando la
e sión 3.8.10 de Py hon, puede que u ilizando e siones supe io es no cumpla con las
uncionalidades aquí desc i as.
3.1 AIMA [26]
El código de la lib e ía AIMA es á basado en el lib o de A i icial In elligence: A
Mode n App oach [27]
AIMA con iene las uncionalidades necesa ias pa a pode modela un p oblema y
esol e lo u ilizando di e en es algo i mos de In eligencia A i icial, en e o as muchas.
En nues o caso, lo hemos u ilizado pa a modela p oblemas y esol e los u ilizando en la
g an mayo ía de casos, el algo i mo A*. Pa a modela los p oblemas hemos u ilizado la
clase P oblem del módulo sea ch.
3.2 Numpy [28]
Numpy es una lib e ía de Py hon u ilizada pa a la compu ación cien í ica.
P opo ciona un ipo de a ay mul idimensional llamado nda ay. Es e ipo de da os
acili a la manipulación de g andes olúmenes de da os numé icos. Incluye ope aciones
ec o izadas y unciones ma emá icas y es adís icas.
Hemos u ilizado la biblio eca Numpy pa a la manipulación de da os numé icos.
16
3.3 Tkin e [29]
Tkin e es una lib e ía de Py hon u ilizada pa a gene a in e aces g á icas. Tkin e
[29] pe mi e c ea odos los elemen os g á icos necesa ios pa a gene a una in e az
g á ica accesible.
Hemos u ilizado Tkin e pa a gene a la in e az g á ica del p oyec o. Con iene menús
pa a selecciona que ipo de puzle que emos esol e o gene a , pe mi e al usua io
in oduci los da os de los es ados iniciales y obje i os de los p oblemas de una mane a
in e ac i a y pe mi e una isualización de los p oblemas gene ados au omá icamen e
más amigable con el usua io. Asimismo, empaque a las excepciones que se puedan
gene a en el código.
3.4 Time [30]
Time es un módulo de Py hon que p opo ciona unciones co espondien es al
iempo.
Hemos u ilizado la lib e ía ime pa a medi los iempos de ejecución de los di e en es
algo i mos de gene ación y esolución que hemos de inido.
Las medidas de iempo se han omado en un o denado de sob emesa con encional
con las siguien es ca ac e ís icas (Ve Tabla 1):
P ocesado
AMD Ryzen 7 2700X Eigh -Co e 3.7GHz
RAM
16 GB
Ta je a g á ica
NVIDIA GeFo ce GTX 1050 Ti
Sis ema Ope a i o
Windows 10 P o 64bi s
Tabla 1: Ca ac e ís icas PC
17
3.5 Ma plo lib [31]
Ma plo lib es una lib e ía de Py hon que p opo ciona las he amien as de
isualización de da os pa a el ecosis ema cien í ico de Py hon. Es a he amien a acili a
la explo ación de da os in e ac i a, p oduce esul ados adecuados pa a publicaciones,
p opo ciona una in e az g á ica simple, acili a los diag amas habi uales y posibili a
isualizaciones complejas.
Hemos u ilizado es a he amien a pa a isualiza los iempos de gene ación y esolución
de los di e en es modelos, en e o as.
19
Capí ulo 4 - Modelado de p oblemas
De odos los p oblemas p esen es en el Doc o Lay on, hemos seleccionado
algunos de ellos, en o den c ecien e de complejidad, pa a p oba nues os algo i mos.
A con inuación, enume amos los di e en es puzles implemen ados y que algo i mos y
heu ís icas hemos u ilizado pa a esol e los.
4.1 Puzle 1: Ja as (Wa e Pi che s)
El puzle de las ja as consis e en que hay es ja as de las que sabemos la
capacidad máxima de líquido que pueden con ene . Se nos da un es ado inicial y un
es ado obje i o, en los que se de e mina la can idad de líquido que iene cada ja a. El
juego consis e en llega del es ado inicial al es ado obje i o median e las acciones de
mo e el líquido con enido en las di e en es ja as de una a o a.
Es e ompecabezas es á incluido en el juego P o esso Lay on and he Cu ious Village
[32].
Figu a 1: Wa e Pi che s [43]
20
4.1.1 Algo i mo u ilizado
Hemos decidido u iliza el algo i mo de búsqueda heu ís ica A* po que la
heu ís ica de inida es admisible y po an o el algo i mo encuen a la solución si exis e.
Además, es e algo i mo nos p opo ciona una lis a de las acciones que ha omado pa a
llega del es ado inicial al obje i o, po lo que podemos i dando pis as al usua io en
iempo eal.
4.1.2 Modelado
Pa a modela es e ipo de puzle hemos c eado una ins ancia de la clase P oblem
de la lib e ía AIMA [26]. De inimos el nodo es ado como una upla de es posiciones en
la que el alo de la p ime a posición es la can idad de líquido que con iene la p ime a
ja a, el alo de la segunda posición es la can idad que con iene la segunda ja a y el
alo de la e ce a posición es la can idad que con iene la e ce a ja a.
Inicializamos la ins ancia de la clase P oblem pasándole po pa áme os el es ado inicial,
el es ado obje i o y una upla que indica la can idad máxima que puede con ene
cada ja a.
Pa a pode u iliza la clase P oblem enemos que de ini ambién las unciones de
acciones, esul ados y heu ís ica.
4.1.2.1 Acciones
En la unción de acciones de inimos odas las acciones que se pueden oma
pa a un es ado.
En es e caso, comp obamos pa a cada ja a “a” si con iene líquido, si es así,
comp obamos si el es o de las ja as “b” es án al máximo de su capacidad, si no es así
añadi emos a la lis a de acciones las acciones de: e e con enido de la ja a “a” en la
ja a “b”, pa a odas las combinaciones de ja as que cumplan lo mencionado.
21
4.1.2.2 Resul ados
En la unción de esul ados de inimos el es ado que p oduce el aplica las
di e en es acciones.
Teniendo en cuen a que las acciones son, “ e e el con enido de la ja a “a” en la ja a
“b”, calcula emos el mínimo en e el con enido de la ja a “a” y el con enido que cabe
en la ja a “b”, eniendo en cuen a su capacidad máxima y la can idad que iene
ac ualmen e. Es e mínimo que hemos calculado es la can idad de líquido que se á
e ido de la ja a “a” a la ja a “b”. De es a mane a nos asegu amos de que las ja as
no desbo den.
La unción de esul ado de uel e una upla es ado con los alo es de can idades de
líquidos ac ualizados.
4.1.2.3 Heu ís ica
Hemos de e minado la heu ís ica como la di e encia absolu a mínima de la
can idad de líquido en las ja as en el es ado ac ual espec o al es ado inal.
Ejemplo: Tenemos 3 ja as con capacidades máximas de 16,9 y 7 li os, el es ado obje i o
es que las p ime as dos ja as con engan cada una exac amen e 8 li os, y el es ado
inicial es que la p ime a ja a es á o almen e llena. El alo de la heu ís ica la calculamos
de la siguien e mane a:
h’ (16,0,0) = min (|16-8|, |0-8|, |0-0|) = 8
La heu ís ica es admisible po que subes ima o iguala el cos e eal desde el es ado ac ual
al es ado obje i o.
22
4.1.3 Gene ación
Teniendo en cuen a que en los puzles de es e ipo el es ado inicial consis e
siemp e en que la ja a 1 con iene su capacidad máxima y las o as dos ja as es án
acías, Bas a con gene a núme os alea o ios pa a los alo es de capacidad máxima
de cada ja a y después gene a alo es alea o ios desde ce o a la capacidad máxima
pa a los alo es del es ado inal de cada ja a.
Hemos que ido añadi ambién una a iable de di icul ad, el usua io puede selecciona
qué di icul ad iene el p oblema gene ado. La di icul ad del p oblema es á
de e minada po el núme o de acciones que hay del es ado inicial al obje i o. Ve Tabla
2.
Di icul ad
Núme o de pasos has a la solución
Fácil
0-7
In e medio
8-14
Di ícil
15-19
Muy di ícil
20-24
Tabla 2: Di icul ades gene ación Ja as
4.1.4 Tiempos
En nues o abajo, el iempo que a da el algo i mo en gene a y esol e puzles
es impo an e, ya que que emos que el usua io in e ac úe a iempo eal. Es as medidas
de iempo mues an ambién, lo bien que hemos modelado el p oblema y de inido la
unción heu ís ica. En la Figu a 2, podemos obse a que el iempo en el que gene amos
100 puzles alidos del ipo Ja a es, en el caso peo , de algo más de 1 segundo.
23
Po o o lado, podemos obse a en la Figu a 3, que el iempo de esolución de 100
puzles de ipo Ja a es, en el caso peo , de 0’014 segundos. Es e iempo es lo
su icien emen e bueno como pa a pode da al usua io espues a en iempo eal.
Figu a 2: Tiempo gene ación Ja as
Figu a 3: Tiempo esolución Ja as
30
Figu a 9: Tiempo gene ación 8/16-puzle
Figu a 10: Tiempo esolución 8/16-puzle
31
4.2.5 In e az g a ica
La in e az g á ica pe mi e al usua io an o esol e como gene a puzles de es e
ipo (Ve Figu a 11). Si el usua io quie e esol e un puzle end á que ing esa el es ado
inicial y el es ado obje i o, después p ocede á a pulsa en el bo ón de esol e y la
in e az mos a a el siguien e paso a la solución jun o con el núme o de pasos que hace
al a da pa a llega a ella (Ve Figu a 12). También puede pedi la siguien e pis a has a
llega a la solución.
Figu a 11: GUI menú 8/16-Puzle
Figu a 12: GUI esol e 8/16-Puzle
32
Po o o lado, si el usua io desea gene a es e ipo de p oblemas, selecciona á una
di icul ad y la in e az le mos a á an o el es ado inicial como el es ado obje i o del
p oblema gene ado. Si escoge las opciones ácil o in e medio, la in e az gene a un
puzle-8 en pan alla (Ve Figu a 13), si escoge di ícil o muy di ícil la in e az gene a un
puzle-16 (Ve Figu a 14).
Figu a 13: GUI gene a 8-Puzle
33
Figu a 14: GUI gene a 16-Puzle
34
4.3 Puzle 4: Flip panels: S omp on i !
Es e ipo de puzle consis e en: dado un able o donde las di e en es posiciones
pueden oma dos alo es, dos colo es, consegui o ma la con igu ación de colo es
que se da en el es ado obje i o median e la acción de pisa casillas. Al pisa una casilla
cambian de colo sus cua o casillas adyacen es y la misma.
Es e ompecabezas es á incluido en el juego P o esso Lay on s. Phoenix W igh : Ace
A o ney [33]
Figu a 15: S omp on i ! [34]
4.3.1 Algo i mo u ilizado
Hemos decidido u iliza el algo i mo de búsqueda heu ís ica A* po las mismas
azones que los dos ompecabezas an e io es.
4.3.2 Modelado
Pa a modela es e ipo de puzle hemos c eado una ins ancia de la clase P oblem
de la lib e ía AIMA.
De inimos el nodo es ado como un a ay del amaño del able o, los alo es que pueden
oma las posiciones del a ay son 0 pa a el colo blanco y 1 pa a el colo neg o.
Inicializamos la ins ancia de la clase P oblem pasándole po pa áme os el es ado inicial
y el es ado obje i o.
35
Pa a pode u iliza la clase P oblem enemos que de ini ambién las unciones de
acciones, esul ados y heu ís ica.
4.3.2.1 Acciones
Las acciones consis en en pisa cada posición del able o.
4.3.2.2 Resul ados
Los esul ados de las acciones consis en en cambia el alo de las casillas
adyacen es a la pisada, si son blancas se ac ualizan a neg o y ice e sa. Las casillas que
cambian su alo son la casillas supe io , in e io , de echa e izquie da de la pisada,
siemp e que exis an, cumpliendo las es icciones del amaño del able o.
4.3.2.3 Heu ís ica
Hemos de inido la heu ís ica como la suma de las piezas que ienen un colo
di e en e al del es ado obje i o.
4.3.3 Gene ación
Pa a la gene ación de es e puzle, el usua io debe á in oduci una di icul ad.
Dependiendo de la di icul ad seleccionada gene amos un able o de un amaño
especi ico, en el alea o iamen e asignamos los colo es blanco y neg o a las celdas. Es e
able o gene ado se á el es ado inicial del p oblema. Pa a gene a el es ado obje i o
aplicamos alea o iamen e un núme o de acciones de la lis a de posibles acciones has a
gene a lo. La di icul ad es á de e minada po el núme o de pasos necesa io pa a llega
a la solución y el amaño del able o. Ve Tabla 4.
36
Di icul ad
Núme o de pasos has a la
solución
Tamaño del able o
Fácil
1-5
3x3
In e medio
6-20
3x3
Di ícil
1-5
4x4
Muy di ícil
6-20
4x4
Tabla 4: Di icul ades gene ación S omp
4.3.4 Tiempos
En el caso de es e p oblema, emos que a da más que el p oblema de las ja as
en gene a los p oblemas. Aunque sea bas an e supe io nos pa ece un iempo
su icien emen e bueno como pa a da espues a en iempo eal al usua io. Ve Figu a
16.
Figu a 16: Tiempo gene a S omp
37
En el caso de esol e los p oblemas de es e ipo, podemos obse a que lo hace muy
ápido (Ve Figu a 17), es o quie e deci que la heu ís ica que hemos aplicado es
admisible.
4.3.5 In e az g á ica
El usua io puede escoge si esol e o gene a un puzle de es e ipo en el menú
p incipal de la in e az g á ica que hemos gene ado. Ve Figu a 18.
Figu a 17: Tiempo esol e S omp
Figu a 18: GUI menú S omp
38
Si el usua io escoge esol e el puzle, la in e az pedi á que in oduzca el núme o de ilas
y columnas del able o. Se gene an dos able os del amaño indicado po el núme o de
ilas y columnas, una pa a desc ibi el es ado inicial y o a pa a desc ibi el es ado
obje i o. El usua io desc ibe el es ado pulsando en las di e en es celdas del able o, al
pulsa sob e ellas se cambia de colo . Una ez haya e minado pulsa á el bo ón de
esol e y se gene a á la solución con la opción de enseña los siguien es pasos. Ve
Figu a 19.
Po o o lado, si el usua io quie e gene a un puzle de es e ipo, debe selecciona una
di icul ad y pulsa en gene a puzle. Se dibuja en pan alla, el es ado inicial y el es ado
obje i o del p oblema gene ado. Ve Figu a 20 y Figu a 21.
Figu a 19: GUI esol e S omp
39
Figu a 20: GUI gene ación S omp 1
Figu a 21: GUI gene ación S omp 2
46
Po o o lado, si el usua io quie e gene a es e ipo de ompecabezas, debe á
selecciona una di icul ad y la in e az mos a á po pan alla el puzle gene ado. Ve
Figu a 28 y Figu a 29.
Figu a 27: GUI esol e Pelo a 2
Figu a 28: GUI gene a Pelo a 1
47
Figu a 29: GUI gene a Pelo a 2
48
4.5 Puzle 5: Ha g am
Es e ipo de puzle consis e en, dado un able o con posiciones acías y posiciones
en las que no se pueden pone piezas, y una lis a de piezas de di e en es amaños y
o mas, llena el able o u ilizando odas las piezas eniendo en cuen a que las piezas se
pueden o a y ol ea .
Es e ompecabezas es á incluido en el juego P o esso Lay on and he Unwound Fu u e
[36]
Figu a 30: Ha g am [37]
4.5.1 Algo i mo u ilizado
A la ho a de decidi qué algo i mo u iliza pa a encon a solución a es e ipo de
p oblema conside amos u iliza el algo i mo de búsqueda A* pe o decidimos que no e a
una buena opción po que el núme o de piezas y las di e en es o aciones ha ían que el
espacio de búsqueda uese demasiado g ande como pa a pode esol e lo usando
es e algo i mo. Po lo que decidimos que el en oque ap opiado e a usa algo i mos
gené icos [25].
Aunque exis en lib e ías de Py hon que implemen an el algo i mo gené ico, decidimos
implemen a lo noso os mismos pa a ene más con ol sob e el modelado de los
indi iduos, gene ación de la población y los algo i mos de c uce, mu ación y selección
u ilizados.
El esquema que sigue un algo i mo gené ico es el siguien e:
49
Gene a alea o iamen e una población inicial de amaño X
• Calcula la alo ación de cada indi iduo median e la unción i ness
• Selecciona Y indi iduos median e la selección po o neo
• Aplica el ope ado gené ico de c uce, eniendo en cuen a la p obabilidad de
c uce
• Aplica el ope ado gené ico de mu ación, eniendo en cuen a la p obabilidad
de mu ación
Se cicla sob e los pun os supe io es has a que se encuen a una solución, has a que se
supe a el núme o de gene aciones p e iamen e de inido o has a que se supe a un
iempo de e minado.
El ipo de solución que nos b inda un algo i mo gené ico es la solución o al del
p oblema, no nos da los pasos in e medios pa a llega a la solución. Es o pod ía supone
un p oblema pa a noso os, ya que que emos gene a pis as o pasos pa a el usua io.
Hemos decidido que damos como pis a la mane a co ec a de coloca una pieza
conc e a.
4.5.2 Modelado
Pa a empeza , hemos de inido un a ay que desc ibe el able o, donde las
posiciones no álidas oman alo -1 y las posiciones a llena oman alo 0, y una lis a
de a ays, que consis e en la lis a de piezas disponibles.
Hemos especi icado ambién las o aciones que puede oma una pieza pueden oma
alo es del 0 al 7, eniendo es os alo es el siguien e signi icado:
• 0: la pieza al y como iene de inida
• 1: La pieza gi ada 90º
• 2: La pieza gi ada 180º
50
• 3: La pieza gi ada 270º
• 4: La pieza ol eada ho izon almen e
• 5: La pieza gi ada 90º y ol eada ho izon almen e
• 6: La pieza gi ada 180º y ol eada ho izon almen e
• 7: La pieza gi ada 270º y ol eada ho izon almen e
Pa a cie as piezas algunas o aciones esul an en la misma con igu ación de la pieza,
es o no gene a ningún p oblema.
Hemos de inido los indi iduos como una lis a de longi ud igual al núme o de piezas a
coloca , donde pa a cada pieza, gene amos una lis a que con iene las coo denadas
donde se posiciona la pieza y la o ación que oma.
4.5.2.1 Gene ación de la población
Al gene a una población, c eamos muchos indi iduos no álidos, sea po que dos
piezas se pisan en e ellas o sea po que hay piezas colocadas en posiciones no álidas.
Pa a no desca a del odo es os indi iduos, hemos decidido ac ualiza las coo denadas
de la pieza a [-1,-1] y deci que no es án colocadas.
De mane a que, gene amos alea o iamen e la población, dando alo es a las
coo denadas y o aciones de las piezas, después la pasamos po una unción de alidez
pa a que ma que las piezas que no se pueden posiciona como no posicionadas.
4.5.2.2 Función i ness
La unción de e aluación es ablece una medida numé ica de la bondad de la
solución. En el caso de es e p oblema la hemos especi icado como el núme o de casillas
del able o que es án ocupadas po piezas di idido en e el núme o de casillas del
51
able o. De es a mane a, damos p io idad a los indi iduos que más piezas del puzle
engan colocadas.
4.5.2.3 Selección de indi iduos
Hemos op ado po u iliza el mé odo de selección po o neo, conocido como
Tou namen Selec ion [38], de es a mane a escogemos los mejo es candida os pa a el
c uce de indi iduos.
En la selección po o neo escogemos subg upos de amaño p de indi iduos de la
población. Los miemb os de cada subg upo se some en a la unción de e aluación pa a
e cuál de ellos es el mejo , se elige a un indi iduo de cada subg upo pa a el
c uce. Va iando el núme o p de indi iduos que pa icipan en cada o neo se modi ica
la p esión de selección.
Si p es al o hay muchos indi iduos en cada o neo y la p esión de selección es al a, los
peo es indi iduos ienen pocas opo unidades y se cen a la búsqueda de las soluciones
en un en o no p óximo a las mejo es soluciones ac uales.
Si p es bajo el amaño del o neo es educido y la p esión de selección disminuye, los
peo es indi iduos ienen más opo unidades. Se deja el camino abie o pa a la
explo ación de nue as egiones del espacio de búsqueda.
4.5.2.4 C uce
Una ez seleccionados los indi iduos, és os son ecombinados median e algo i mos de
c uce pa a p oduci la descendencia que se inse a á en la siguien e gene ación.
Hemos esuel o el c uce en c uce de un pun o, conocido como SPX (Single Poin
C osso e ) [39], que consis e en co a los indi iduos po un pun o escogido
alea o iamen e, di e enciando así la cabeza y la cola, después in e cambiamos las
52
colas de los dos indi iduos a c uza gene ando de es a mane a dos descendien es que
con ienen in o mación de ambos pad es.
4.5.2.5 Mu ación
Los algo i mos de mu ación consis en en modi ica unos genes del c omosoma
con una p obabilidad (> 10%) pa a ga an iza que ningún pun o del espacio de
búsqueda enga una p obabilidad nula de se examinado.
Pa a consegui mejo es esul ados hemos decidido u iliza una mu ación di igida. La
mu ación di igida in en a solo mu a las pa es de los indi iduos que ienen la capacidad
de mejo a la solución.
En es e caso calculamos pa a cada pieza la con ibución que hacen al i ness gene al,
pa a que las mu aciones se en oquen en las zonas del able o que ienen po encial de
mejo a . Mu amos los indi iduos que ienen impac o nega i o.
La mu ación de un indi iduo consis e en cambia los alo es del indi iduo
alea o iamen e. Hemos u ilizado es a écnica pa a no cae en mínimos locales. Los
mínimos locales ocu en cuando los indi iduos de nues a población son pa ecidos en e
ellos y no ocupan odo el espacio de soluciones, llegando de es a mane a a la mejo
solución den o de un segmen o del espacio de soluciones, pe o que no son la solución
óp ima. Median e la mu ación gene amos indi iduos más di e sos explo ando el
espacio de soluciones de o ma más amplia, consiguiendo de es a mane a llega a
soluciones op imas. Además, la mu ación ayuda a man ene la di e sidad gené ica lo
que con ibuye a encon a nue as soluciones.
53
4.5.3 Pa áme os
Al algo i mo gené ico diseñado, debemos in oduci le los alo es de los
pa áme os de la p obabilidad de c uce, p obabilidad de mu ación, el núme o de
gene aciones, el amaño del o neo y el amaño de la población.
Pa a que nues o algo i mo gene e en el mínimo iempo posible las mejo es soluciones,
amos a busca el alo op imo de es os pa áme os.
4.5.3.1 Núme o de gene aciones
El núme o de gene aciones es el pa áme o que de e mina el núme o de eces
que e oluciona el algo i mo gené ico. Un núme o de gene aciones mayo puede
p opo ciona más y mejo es esul ados, aumen ando el iempo de ejecución.
Vemos que el núme o de gene aciones no a ec a en el esul ado de la unción i ness
del mejo indi iduo (Ve Figu a 31). Respec o al iempo de ejecución emos en la Figu a
32, que es meno con el alo de 50. Como que emos que el usua io ob enga la
espues a en el mínimo iempo posible, el alo que amos a da al núme o de
gene aciones es de 50.
Figu a 31: Fi ness Núme o de gene aciones
54
Figu a 32: Tiempo ejecución núme o de gene aciones
4.5.3.2 Tamaño de la población
El amaño de la población es el pa áme o que de e mina cuan os indi iduos hay
en cada gene ación. Un amaño de la población mayo ole a una mayo di e sidad
de los indi iduos, educiendo de es a mane a la posibilidad de cae en mínimos locales,
y aumen ando el iempo de ejecución po gene ación.
En nues o caso emos que el amaño de la población no a ec a en el alo de la
unción i ness (Ve Figu a 33). Respec o al iempo de ejecución emos que cuan o
mayo es la población, meno es el iempo (Ve Figu a 34). Hemos dicho que, cuan o
mayo es el amaño de la población, mayo es el iempo de ejecución po gene ación,
pe o en nues o caso, al gene a una población mayo , enemos mayo di e sidad
gené ica y podemos llega a la solución con menos gene aciones. Es deci , el iempo
de ejecución po gene ación es mayo , pe o hacen al a menos gene aciones pa a
llega a la solución po lo que el iempo o al es meno . Como el amaño de la población
no a ec a a la calidad de la solución y cuan o mayo es el amaño de la población
meno es el iempo de ejecución, decidimos da el alo de 1500 al amaño de la
población.
55
Figu a 33: Fi ness po amaño de población
Figu a 34: Tiempo po amaño de población
62
Si el usua io decide que quie e esol e es e ipo de puzle, pulsa en el menú del puzle en
esol e . La in e az pide que el usua io p opo ciones el núme o de ilas y columnas del
able o. El usua io en onces debe desc ibi el able o, poniendo las posiciones no alidas
en neg o, las acías en blanco y si hay alguna pieza colocada pin a la de o o colo .
Es o se hace como hemos is o en an e io es p oblemas, pulsando las celdas del able o.
Po ejemplo, en la Figu a 43, emos que hay posiciones no álidas y hay una pieza ya
colocada en el puzle.
Figu a 43:GUI esol e Ha g am
Cuando el usua io pulsa el bo ón de gua da able o, la in e az pedi á el núme o de
piezas a coloca . Pa a cada una de las piezas la in e az pide el núme o de ilas y de
columnas que ocupan y hab á que dibuja las, poniendo en neg o las posiciones no
alidas. Ve Figu a 44.
63
Figu a 44: GUI esol e Ha g am piezas
Una ez el usua io ha desc i o odas las piezas, pulsa en esol e pa a que la in e az le
mues e el esul ado.
64
Capí ulo 5 - Conclusión y abajo u u o
Como conclusión, hemos conseguido modela , esol e y gene a cinco ipos de
puzle de mane a e icaz. Los iempos de esolución son lo bas an e buenos como pa a
conside a se en iempo eal. Además, hemos c eado una in e az g á ica sencilla pa a
pode p oba es os p oblemas con di e en es ni eles de di icul ad y e como los
algo i mos esuel en los puzles y p opo cionan pis as a los usua ios.
Po o o lado, hay a ios aspec os del p oyec o que no hemos podido implemen a po
al a de iempo. A con inuación, enume amos en o den de p io idad las mejo as que
nos gus a ía habe añadido en es e p oyec o:
• Respec o a la gene ación de los di e en es p oblemas, los algo i mos que
u ilizamos no son óp imos, ya que es án condicionados po la alea o iedad.
En los a ículos in es igados sob e la gene ación, u ilizaban algo i mos más
p ecisos. Dejamos pa a abajo u u o la in es igación e implemen ación de
algo i mos más in o mados pa a la gene ación de los ompecabezas
in es igados.
• Siguiendo con la gene ación, hemos de inido las di icul ades de los di e en es
puzles con nues o p opio c i e io, cada usua io debe ía se capaz de de ini
la di icul ad. Po eso, pensamos que se ía con enien e que el usua io pueda
escoge el núme o de pasos que se ienen que hace pa a llega a la solución,
el amaño del able o y el núme o de ichas del p oblema que gene amos.
• Acabando con la gene ación, no hemos podido gene a el ipo de puzle de
Ha g am, lo dejamos como abajo u u o.
• Respec o a los iempos de esolución de los di e en es p oblemas, opinamos
que casi odos son óp imos, el único que di ie e de la de inición de espues a
en iempo eal es el ompecabezas de Ha g am. Nos gus a ía mejo a el
iempo de esolución del algo i mo gené ico sin sac i ica los alo es
adecuados de las soluciones. También, como comen amos en el apa ado
de iempo, se puede op a en el juego po inclui un se de puzles p e iamen e
esuel os pa a consegui ene la pis a en iempo eal o lanza el cálculo en
65
pa alelo mien as el usua io obse a el puzle, pa a e i a el iempo de espe a
de 2 minu os en encon a la solución.
• Con elación a los p oblemas modelados, son unos pocos en e cien os, nos
ag ada ía modela más ipos de p oblemas o de alguna mane a uni ica la
esolución de muchos ipos de p oblema, sin ene que aplica di e en es
heu ís icas.
• En lo que co esponde a la in e az g á ica, quisié amos hace la más amigable
con el usua io. Sob e odo, en los aspec os de in oduci el es ado en el que
se encuen a el p oblema.
• Po o o lado hubiese sido de g an in e és in es iga el uso de edes neu onales
pa a las di e en es aplicaciones de las heu ís icas. Tal y como se comen a en
el a ículo mencionado en el es ado del a e.
• Pa a inaliza , nos hubiese gus ado usa a ian es de A* más op imas como las
desc i as en el es ado del a e, pa a aquellos puzles donde A* no ha podido
esol e los en un iempo sa is ac o io y hemos u ilizado algo i mos de
búsqueda local. Es o es debido a que A* nos puede p opo ciona la
secuencia de pasos, pe o o os algo i mos como el algo i mo gené ico solo
nos p opo ciona la solución inal, lo que di icul a la gene ación de pis as pa a
el usua io.
66
In oduc ion
Mo i a ion
A i icial In elligence ield has a ac ed signi ican a en ion o he las ew yea s,
mos ly because o he popula iza ion and public access o AI based cha sys ems as
Cha GPT o mul imedia con en gene a o s as S able Di usion and So a. As people ha e
become mo e amilia wi h hese ools, hey ha e become mo e in e es ed in how hey
wo k and o wha o he sec o s may be applied.
Howe e , he e is s ill oom o he use o classical symbolic AI in mul iple applica ions. Fo
example, Cha GPT has oubles doing complex ma hema ical calcula ions [1],
u he mo e, i is no e icien o op imal puzzle sol ing, such as he 8-Puzzle and he
Rubik’s cube. In pa icula , in a ecen s udy [2] LLMs we e con igu ed speci ically o
puzzle Sol ing, achie ing a 93.2% success in he 8-Puzzle, when A* algo i hm is known o
sol e i in Li le ime wi h a 100% success a e. Despi e he ad an ages achie ed wi h he
use o LLMs, in his ype o p oblems i s ill is mo e con enien o u n o he classical
symbolic AI.
In his inal p ojec we wan o sol e and gene a e puzzles om he well-known ideo
game saga P o esso Lay on [3], ia he use o heu is ic sea ch algo i hms.
The ideo game saga o P o esso Lay on ocuses on Sol ing mys e ies; o mo e o wa d
in he s o y, we ha e o sol e a mul i ude o puzzles o all kind and di icul ies. All his
enli ened by a s o y ha gi es consis ency o he succession o puzzles ha we sol e.
The Mo i a ion behind his P ojec is o allow puzzle game de elope s o ha e an assis an
ha in he case ha playe s ge s uck, help hem wi h some kind o hin . This help can be
p opo ioned h ough a bu on ha when p essed, p o ides he use wi h he nex s ep i
67
mus do o ge o he solu ion. Fo mo e complex puzzles, we may equi e o he ypes o
aids as we will see below.
F om game de elope s’ poin o iew, we wan o allow hem Gene a ing puzzles
au oma ically, so ha hey can use hei capaci ies in o he aspec s o game designing.
I hey decide hey wan o gene a e hei own puzzles, hey can check i he puzzles a e
sol able h ough his ool.
Puzzle gene a ion and Sol ing is a opic o popula in e es , which is e lec ed in he
numbe o a icles published in ecen yea s. We men ion and discuss hese a icles in he
nex chap e .
Goals
The main objec i e o his p ojec is o sol e and gene a e ce ain puzzle ypes om he
ideo game saga P o esso Lay on h ough A i icial In elligence echniques in a Good
enough ime o be able o gi e clues o pa ial solu ions o he use in eal ime.
In o de o achie e he main goal, we had o achie e he ollowing subobjec i es:
• Model some ypes o sample puzzles.
• Fo each ype o puzzles, de e mine which sea ch algo i hm is he mos op imum
one o esol e i .
• Es ablish he ideal pa ame e s o he di e en models so ha he execu ion ime is
minimum, and he solu ion is op imum.
• Being able o display p oblems and solu ions ia a g aphic in e ace.
• Gene a e a a ie y o puzzles wi h di e en di icul ies.
68
Wo k plan
Oc obe 2023:
• S udy he exis ence o puzzle gene a ion algo i hms.
No embe 2023:
• In es iga e se e al ypes o AI based p oblem Sol ing algo i hms.
Decembe 2023:
• Model and sol e some puzzles h ough heu is ic sea ch.
Janua y 2024:
• S udy o he ypes o sea ches o puzzles ha canno be esol ed h ough
heu is ic sea ch.
Feb ua y 2024:
• Apply gene ic algo i hms o esol ing one o he puzzles.
Ma ch 2024:
• Finish modeling and sol ing all he puzzles.
Ap il 2024:
• Gene a e ia andomiza ion he di e se ypes o puzzles.
69
May 2024:
• S a o gene a e a g aphic in e ace.
• S a o d a he disse a ion.
June 2024:
• Tes ing and ixing he esolu ion and gene a ion o he di e en models.
July 2024:
• S udy he ideal alues o he gene ic algo i hm pa ame e s.
Augus 2024:
• Finish he g aphical in e ace.
• Ge plo s o he execu ion ime so he solu ion and gene a ion o he di e en
puzzles modeled.
71
Conclusions and u u e wo k
To conclude, we ha e managed o model, esol e, and gene a e i e ypes o
puzzles e icien ly. Mo eo e , he sol ing imes a e Good enough o be conside ed eal-
ime. In addi ion, we ha e c ea ed a simple g aphical in e ace o be able o es hese
p oblems a di e en di icul y le els and see how he algo i hms sol e he puzzles and
p o ide hin s o he use s.
On he o he hand, he e a e a ious aspec s o he p ojec we ha e no been able o
implemen . Below, we lis in o de o p io i y he imp o emen s we would like o ha e
added o he p ojec :
• Rega ding he gene a ion o he p oblems, he algo i hms we ha e used a e
no op imal due o hei eliance on andomness. On he a icles esea ched
abou gene a ion, hey used mo e p ecise algo i hms. We lea e o u u e wo k
he in es iga ion and implemen a ion o mo e in o med algo i hms o he
gene a ion o he in es iga ed puzzles.
• While on he subjec o gene a ion, we ha e de ined he di icul ies o he
di e en puzzles wi h ou own c i e ion, each use should be able o de ine he
di icul y. The e o e, we hough i would be con enien ha he use can
choose he numbe o s eps ha ha e o be done o each he solu ion, he
size o he boa d and he numbe o iles o he p oblem gene a ed.
• Pu ing an end o he subjec o gene a ion, we ha e no been able o
gene a e de puzzle called Ha g am, we lea e i as u u e wo k.
• Conce ning esolu ion imes o he di e en p oblems, we hink all o hem a e
op imal, he only one ha di e s om he de ini ion o eal- ime Answe is he
one o sol ing he Ha g am puzzle. We would like o imp o e he sol ing ime
o he gene ic algo i hm wi hou sac i icing he adequa e solu ion alues. Also,
as men ioned, he de elope could choose o include a se o p e iously
sol ed puzzles in he game o ge he clue in eal ime o o launch he