Sei sulla pagina 1di 25

Universidad San Martn de Porres Inteligencia Artificial y Robtica CRUCIGRAMA

INTEGRANTES Aguilar Pastor, Sara Blancas Tunqui, Alicia Choquepure Choque, Jenny Gonzles Guilln, Jos Paredes Flores, Marcelo

Introduccin
El trabajo que ha sido desarrollado es una
propuesta de solucin ya que existen diferentes formas de realizarlas, dicho trabajo pertenece al curso de Inteligencia Artificial y Robtica, el trabajo desarrollado tiene como titulo Creacin de Crucigrama .

Introduccin
El presente trabajo consiste en aplicar el tema de bsqueda aplicado en el curso de Inteligencia Artificial y Robtica en un juego de Crucigrama, plantendolo, implementndolo y solucionndolo en un lenguaje de programacin de alto nivel como LISP.

El Problema
El problema a resolver mediante los algoritmos de bsqueda inteligente en la creacin del crucigrama es la concordancia y coherencia de las palabras contenidas en el diccionario El grado de complejidad puede estar limitado por el tamao del crucigrama ya que al ser de mayor orden ser mas complicado poder ingresar las palabras con sus respectivas intersecciones.

Objetivo
Crear un crucigrama en un lenguaje de
programacin de alto nivel llamado LISP, desde los ms simples hasta los ms complejos, con la finalidad de armar diferentes juegos.

Planteamiento del Problema


En la creacin del crucigrama es la
concordancia y coherencia de las palabras contenidas en el diccionario es decir las palabras pueden ser ingresadas de izquierda a derecha o de arriba abajo. El grado de complejidad puede estar limitado por el tamao del crucigrama ya que al ser de mayor orden ser mas complicado poder ingresar las palabras con sus respectivas intersecciones.

Planteamiento del Problema


Otro factor puede ser las palabras que
contenga el diccionario ya que puede darse el caso que no se pueda ingresar las palabras con sus respectivas intersecciones. La creacin de un crucigrama esto ira de la mano con el tamao (orden N x M) que se haya definido.

Modelo de Solucin
El primer paso para resolver un
crucigrama se representa la palabra, que significa interpretar y definir la palabra. En nuestro trabajo lo que queremos captar es el lenguaje de programacin LISP para poder realizar el crucigrama escogido, y hacerlo lo ms sencillo posible.

1.- Definicin del tamao de la cuadrilla.

2.- Definicin de las palabras del diccionario con longitud adecuada.

3.- Definir la ubicacin de las palabras en las casillas (horizontal).

SI

NO

4.- Ubicacin de las palabras de manera que la misma letra se encuentre en la interseccin de las palabras (vertical).

SI

NO

5.- Definir estado inicial, estado final, operadores y costos. 6.- Plantear el problema en LISP.

7.- Implementar las funciones en LISP (programa). NO

8.- Realizar pruebas al programa. (Funcionamiento)

El programa Corre?

SI

9.- Formulacin del Informe.

10.-Presentacin del Trabajo.

1. Planteamiento de la Solucin

Desarrollo Experimental

Para desarrollar este crucigrama, hemos


realizado uno de la dimensin de N x M (3*6), para que no sea muy extenso con nuestro diccionario propuesto.

Se va probando cada palabra de nuestro


diccionario, para ir resolviendo poco a poco.

Desarrollo Experimental
La Bsqueda es para cada palabra del
diccionario, se utiliza la primera palabra y as luego se hace la transpuesta para colocarla en la columna que el programa ya lo realiza con alguna funcin determinada. Diccionario: mesa, lpiz, parte, ta, poema, mouse, casa.

Desarrollo Experimental
2. Desarrollo Experimental
(defun inicial (listh) (progn (prin1 " ") (terpri) (prin1 "Crucigrama de 3 Horizontales y 6 Verticales = Casilla Negra " ) (terpri)(prin1 (car listh)) (terpri) (prin1 (car (cdr listh))) (terpri) (prin1 (car (cdr (cdr listh))))) (terpri) (prin1 " ") )

Desarrollo Experimental
- En

este pseucodigo se muestra el estado inicial del crucigrama, el cual se encuentra sin rellenar los casilleros, encontrndose en blanco: Inicio Declaracin de la funcin inicial del estado inicial del crucigrama. Imprime Crucigrama de 3 horizontal y 6 vertical y describir casilla negra es realiza salto de lnea

Desarrollo Experimental
imprime la cabecera de lista ingresada realiza salto de lnea imprime la cabecera del resto de la lista ingresada realiza salto de lnea imprime la cabecera del resto del resto de la lista ingresada realiza salto de lnea fin

Desarrollo Experimental
3.- Implementacin Este programa est realizado en un alto nivel de un lenguaje de programacin llamado LISP y las funciones que se realiza son los cdigos para que el programa corra satisfactoriamente.

Desarrollo Experimental
El estado inicio para nuestro trabajo son
las casilla blancas y nuestro estado meta son las casillas rellenadas o sino las palabras no llegan a rellenar todas las casillas se pondr una o varias casillas negras como repetimos es .

Desarrollo Experimental
Este es un ejemplo, de un aspecto tcnico
que luego se cre varias funciones que realice creaciones de matrices y como tambin se podra hacer suponiendo que la matriz era N x M, como en nuestro caso:

Desarrollo Experimental
Inicio del Programa Crucigrama Funcin que muestra el estado inicial del crucigrama.
(defun inicial (listh) (progn (prin1 " ")(terpri) (prin1 "Crucigrama de 3 Horizontales y 6 Verticales = Casilla Negra ")(terpri)(prin1 (car listh))(terpri) (prin1 (car (cdr listh)))(terpri) (prin1 (car (cdr (cdr listh))))) (terpri) (prin1 " ") )

Desarrollo Experimental
4 .- Anlisis de Resultados ejemplo1 CL-USER 4 : 3 > (inicial '(( 0 0 0 0 0) (0 0 0 0 0 )(0 0 0 0 ))) "Crucigrama de 3 Horizontales y 6 Verticales = Casilla Negra ( 0 0 0 0 0) (0 0 0 0 0 ) (0 0 0 0 ) " " " "

Desarrollo Experimental
CL-USER 5 : 3 > (crucigrama '(( l a p i z) (m o u s e )(c a s a )))" "Crucigrama de 3 Horizontales y 6 Verticales = Casilla Negra ( L A P I Z) (M O U S E ) (C A S A ) " " " "

Desarrollo Experimental
Ejemplo 2
CL-USER 3 : 1 > (crucigrama '(( l a p i z) (m o u s e )(c a s a ))) "Crucigrama de 3 Horizontales y 6 Verticales = Casilla Negra ( L A P I Z) (M O U S E ) (C A S A ) " " " "

Conclusiones
El problema se cre en LISP, que
consisti en comparar la palabra colocada desintegrando letra por letra con la base de datos que se tiene, con el algoritmo realizado se ha tratado de encontrar una solucin lo mas sencilla posible.

Conclusiones
El trabajo que estamos realizando
permite la construccin de un crucigrama de la dimensin N x M que ms adelante si se puede, se implementar algunos grados de dificultad. Nuestro diccionario para nosotros son nuestras palabras claves para la creacin del crucigrama, sin ese diccionario el programa saldra error.

Recomendaciones
Se deber definir bien el mtodo de
bsqueda que se implementar, ya que as se encontrar la solucin mas sencilla y corta. Se deber definir los estados posibles que se encontrara, para as poder solucionar el problema lo ms rpido posible.

Recomendaciones
El programa est realizado para una
matriz de N x M, tener en cuenta esa parte para que luego no salga error.

Se puede realizar diferentes diccionarios


para este programa, siempre y cuando cambiarlo desde su inicio del programa.

Potrebbero piacerti anche