You are on page 1of 4

Tarea 4

Ing. Luis Roberto González Góngora


Matrı́cula 612438
Ing. Claudio Bernardo Rodrı́guez Rodrı́guez
Matrı́cula 902138
Sistemas de Búsqueda y Razonamiento

Septiembre 2010
1 Puzzle 1 Lights Out
Formular el problema para ser resuelto por un agente resolvedor de problemas (PSA) en un documento que incluya:

Una forma adecuada para describir los estados del problema. En este caso, detallando como lo describirı́an en Scheme.
Para una matriz de 3x3 utilizando el archivo de toureuropaCI.scm se utilizarán estados que describan lo que pasarı́a si se
presiona cada casilla de la celda.
     
0 0 0 0 0 1 0 0 1
E= 0 0 0   1 1 0   1 1 0 
0 0 0 0 0 0 0 0 0

En Scheme se puede representar por medio de lista, ası́ cada elemento es accesible y podemos alterar uno por uno. El
estado meta para este caso es (0 0 0 0 0 0 0 0 0).
El estado inicial es variable y puede ser ingresado por el usuario, sin embargo para mtodos del ejercicio se utilizaron las
siguientes listas: (1 1 1 1 1 1 1 1 1) y (0 0 1 1 1 0 0 0 0)

Sucesores Los sucesores para el Lights Out son cada uno de sus ”botones” en este caso elementos de la matriz. Cuando
se presione uno se deben de cambiar de estado aparte del presionado aquellos elementos que estn adyacentes sus lados.

Sucesor Acción
(if (= A 0)(+ A 1)(- A 1))
PresionarA (if (= B 0)(+ B 1)(- B 1))
(if (= D 0)(+ D 1)(- D 1))
(if (= B 0)(+ B 1)(- B 1))
(if (= A 0)(+ A 1)(- A 1))
PresionarB
(if (= C 0)(+ C 1)(- C 1))
(if (= E 0)(+ E 1)(- E 1))
(if (= C 0)(+ C 1)(- C 1))
PresionarC (if (= C 0)(+ C 1)(- C 1))
(if (= F 0)(+ F 1)(- F 1))
(if (= D 0)(+ D 1)(- D 1))
(if (= A 0)(+ A 1)(- A 1))
PresionarD
(if (= G 0)(+ G 1)(- G 1))
(if (= E 0)(+ E 1)(- E 1))
(if (= E 0)(+ E 1)(- E 1))
(if (= B 0)(+ B 1)(- B 1))
PresionarE (if (= D 0)(+ D 1)(- D 1))
(if (= F 0)(+ F 1)(- F 1))
(if (= H 0)(+ H 1)(- H 1))
(if (= F 0)(+ F 1)(- F 1))
(if (= C 0)(+ C 1)(- C 1))
PresionarF
(if (= I 0)(+ I 1)(- I 1))
(if (= E 0)(+ E 1)(- E 1))
(if (= G 0)(+ G 1)(- G 1))
PresionarG (if (= D 0)(+ D 1)(- D 1))
(if (= H 0)(+ H 1)(- H 1))
(if (= H 0)(+ H 1)(- H 1))
(if (= G 0)(+ G 1)(- G 1))
PresionarH
(if (= I 0)(+ I 1)(- I 1))
(if (= E 0)(+ E 1)(- E 1))
(if (= I 0)(+ I 1)(- I 1))
PresionarI (if (= F 0)(+ F 1)(- F 1))
(if (= H 0)(+ H 1)(- H 1))

1
La prueba de meta es una lista que contenga puros zeros que en la actualidad serı́a una matriz como la que sigue:
 
0 0 0
Estado final =  0 0 0 
0 0 0

El costo de la ruta es 1 por cada vez que se presiona un botón.

La heurı́stica es la suma de 1 por cada botón que esté fuera del estado deseado.

2 Puzzle 2 Jocuri
Formular el problema para ser resuelto por un agente resolvedor de problemas (PSA):
El problema se representó en forma de una matriz como sigue
 
0

 0 0 0 

E=  0 0 0 0 0 

 0 0 0 
0

En Scheme se puede representar por medio de lista, ası́ cada elemento es accesible y podemos alterar uno por uno. El
estado meta para este caso es (0 0 0 0 0 0 0 0 0 0 0 0 0).
El estado inicial es variable y debe ser ingreso por el usuario, no obstante el estado inicial oficial del jocuri es el siguiente:
(1 1 1 1 1 1 1 1 1 1 0 1 0).
Para fines de realizar el programa su utilizó la siguiente configuración de variables para la posición dada en la matriz
siguiente:  
A

 B C D 

E=  E F G H I 

 J K L 
M

Sucesores Los sucesores para el Jocuri son cada uno de sus fichas en este caso elementos de la matriz. Cuando se
cambie la ficha de posición se elimina otra en el proceso.

Sucesor Acción Sucesor Acción Sucesor Acción


Posición A a E Posición E a A Posición I a A
Mover A Posición A a G Mover E Posición E a G Mover I Posición I a G
Posición A a I Posición E a M Posición I a M
Posición B a D Posición J a B
Mover B Posición B a L Mover F Posición F a H Mover J Posición J a D
Posición B a J Posición J a L
Posición G a A
Posición C a K Posición G a E Posición K a C
Mover C Mover G Mover K
Posición G a I
Posición G a M
Posición D a B Posición L a J
Mover D Posición D a J Mover H Posición H a F Mover L Posición L a B
Posición D a L Posición L a D
Posición M a E
Mover M Posición M a G
Posición M a I

2
La prueba de meta es una lista que contenga puros zeros menos uno que en la actualidad serı́a una matriz como la
que sigue:  
0

 0 0 0 

Estado final =  0 0 0 0 0 

 0 0 0 
1
El costo de la ruta es 1 por cada vez que se mueve una ficha.

La heurı́stica es la suma de 1 por cada botón que esté fuera del estado deseado menos 1.

3 Conclusiones
Se utilizó un método que le permitiera al usuario generar su propio estado inicial y estado meta con el fin que pueda
corroborar si su combinación tiene o no tiene solución. Desafortunamente puede tomar mucho tiempo para el Jocuri
encontrar todas las combinaciones posibles de donde puede quedar la ficha al final.

You might also like