You are on page 1of 10

[Escriba el nombre de la compaa]

[Ao]
[Escriba el ttulo del
documento]
[Escriba el subttulo del documento]
Oliver





























Introduccin
Nuestro proyecto trata sobre el problema que tiene un campesino al querer cruzar
un rio. Tiene una balsa donde solo cabe una persona pero lleva con l un ganso,
un zorro y un costal de maz y solo puede pasar con uno de ellos a la vez.
Lgicamente si se lleva a uno tiene problemas con los otros 2 que deje. Es aqu
que mediante los temas vistos en la clase de Inteligencia Artificial I como son la
lgica proposicional y algoritmos de bsqueda (profundidad y anchura) nos
ayudaran a resolver este pequeo problema.




Objetivo
Mostrar una solucin al dilema por el que est pasando el campesino, mostrando
paso a paso los temas vistos en la clase de Inteligencia Artificial I. Nuestro
Objetivo Principal es llevar al campesino, al zorro, el ganso y el costal de maz del
otro lado del rio.












Desarrollo
Problema:

Supongamos que un campesino desea cruzar un ro. Para eso tiene un bote en el
que puede cruzar el ro, el problema es que tiene a un zorro, un ganso y un costal
de maz. En cada viaje, en cualquiera de los dos sentidos, debe viajar el
campesino ya que es el que debe remar. En un inicio estn los 4 de un lado del ro
y el objetivo final es que estn los 4 del otro lado. Existen dos restricciones
importantes que son las siguientes:
Cuando el campesino no est, no pueden quedar juntos el zorro y el ganso
porque el primero se come al segundo.
Tampoco pueden quedar juntos el ganso y el costal de maz porque el
primero se come al segundo.
El objetivo de este problema es encontrar la forma segura para que el
campesino pueda realizar sus viajes y que pasen todos al otro extremo del rio.










Unidad 1: Fundamentos
Lgica proposicional
Proposiciones:
1. Si el campesino sube al bote entonces puede cruzar el rio.
2. Si campesino sube al bote con el zorro entonces no puede cruzar el rio.
3. El zorro y el ganso no pueden cruzar el rio.
4. El campesino y el ganso si pueden cruzar el rio.
5. Si el campesino sube al bote con el ganso entonces si puede cruzar el rio
pero no puede cruzar el rio si sube al bote solo con el maz.

C= Campesino
Z= Zorro
G= Ganso
M= Maz
P= sube al bote
Q= cruzan el rio

1. (C ^ P) Q
2. (C ^ Z ^ P) Q
3. Z ^ G ^ Q
4. C ^ G ^Q
5. ((C ^ G ^ P) Q ) ^ ((C ^ M) Q)








Unidad 3: Sistemas de Razonamiento Lgico
En este paso del proyecto usamos el programa Prolog:
El programa Prolog tiene las siguientes caractersticas:
El programa consta de una secuencia de oraciones, que guardan una relacin
implcita de conyuncin. Todas las variables tienen cuantificacin universal
implcita y cuando las variables aparecen en oraciones distintas se consideran
como diferentes.
Las oraciones son atmicas, o bien una implicacin que no tiene antecedentes
negados y un consecuente atmico.
Los trminos pueden ser signos de constante, variables o trminos funcionales.
En Prolog se emplea un operador de negacin como falla: una meta no P se
considera demostrada si el sistema no logra demostrar P.
Todos los trminos diferentes desde el punto de vista sintctico se considra
como que refieren a objetos diferentes.
En Prolog el consecuente o cabeza, est del lado izquierdo; los antecedentes o
cuerpo, a la derecha.
Prolog enumera toas las soluciones correspondientes a una consulta, pero no las
agrupa en un conjunto. Ms bien toca al programa del usuario decidir lo que har
con cada solucin conforme sta es enumerada.








Bueno ya dicho esto ejecutaremos nuestro programa prolog.
Al iniciar nos mostrara la pantalla de consultas, aqu consultaremos con prolog la
pregunta que queramos hacerle siempre y cuando tenga la respuesta en su base
de datos.











Consultaremos nuestro problema ya hecho en prolog. El cual en la pantalla de
consulta daremos en la pestaa File y despus Edit y obtendremos esta ventana.
Yo lo guarde con el nombre Cruce.









Saldra nuestro cdigo:














Estado inicial y final, orden de la estructura estado (Campesino, Zorro, Ganzo,
Maiz) en el estado inicial todos estan en el extremo izquierdo del rio

Aqu estn definidos los posibles movimientos que el Campesino puede hacer
para cruzar el rio.




En esta parte se definen los problemas que habra por ejemplo la primera parte del
cdigo se dice que no habr problemas si el campesino y el maz estn en el
mismo extremo y en el segundo que no habr problemas si el zorro y el maz
estn del mismo extremo del rio.

En esta parte empezamos la solucin del problema .

Estas son funciones auxiliares que nos marcan los extremos del rio.

Aqu la palabra solucin est remarcada de rojo porque con esa palabra
consultaremos el problema y el programa nos dar la solucin.

Aqu estamos dando un pequeo programa que nos ayuda ir de un estado inicial
al estado final haciendo una bsqueda en profundidad donde:
A: Estado inicial
B: Camino recorrido (en reversa)
C: Camino que se recorrio en total a la solucion (en reversa)


Problema solucionado en Prolog.


Conclusin
Concluimos que este proyecto es para que el alumno piense con un poco ms de
lgica ya que hay que pensar en las consecuencias lgicas que los actos pueden
hacer como por ejemplo si el campesino se hubiera ido primero con el zorro el
ganso vivira pero tambin este acabara con el maz. Lo que hace que tenga
pensar en sus viajes sin que uno se coma al otro (zorro al ganso y ganso al maz).
El objetivo fue cumplido y todos pudieron pasar ya que con la ayuda de la Lgica
proposicional, mapas conceptuales, sistemas de razonamiento lgico y la
bsqueda de satisfaccin y restricciones pudimos resolver este problema.