Monografia

374 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
374
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
4
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Monografia

  1. 1. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 1 UNIVERSIDAD NACIONAL DE TRUJILLO FACULTAD DE CIENCIAS FISICA Y MATEMATICAS INGENIERIA INFORMÁTICA CURSO: PROGRAMACIÓN EN LOGICA “PROBLEMA: EL LOBO, LA CABRA Y LA COL” ELABORADO POR: BALTODANO RODRIGUEZ,Byron Bryan BARDALES LEQUERICA,Brenda Josselyn LAZARO MAURICIO,Carlos Antonio PROFESOR: DIAZ PULIDO JOSE ARTURO 2014-I
  2. 2. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 2 INDICE Pág. DEDICATORIA.……………………………………………………… 3 INTRODUCCION…………………………………………………...... 4 CAPITULO I DESCRIPCIÓN DEL PROBLEMA.............................................. 5 CAPITULO II HISTORIAS Y VARIACIONES……………………………………….. 6 CAPITULO III RESOLUCIÓN DEL PROBLEMA EN EL ESPACIO DE ESTADOS…………..…………………………………...7 3.1. Resolución 3.2. Representacion de Estados 3.3. La construcción Grafica del Estado de Transición CAPITULO IV PROGRAMA EN PROLOG……………………………………………….11 CONCLUSIONES…………………………………………………………14 BLIOGRAFIA ……………………………………………………….15
  3. 3. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 3 DEDICATORIA Este trabajo lo dedicamos a dios todo poderoso por darnos fuerza y valor para seguir adelante en nuestra carrera Este trabajo lo dedicamos a nuestros padres que con su apoyo moral y económico que nos brindan día a día para seguir adelante.
  4. 4. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 4 INTRODUCCION A lo largo de los años se han ido creando múltiples juegos de diversos tipos, entre ellos están los juegos lógicos. Estos juegos están orientados más a los niños que al público en general, ya que permiten hacerles una pequeña introducción a la inducción e imaginación. Además permite agilizar un poco la habilidad en matemáticas, lógica e incluso imaginación. Ya que permiten ver los problemas de diversas perspectivas en búsqueda de una solución. En este trabajo se plantea el juego del Granjero, la cabra, la col y el Lobo. Es uno de los juegos más conocidos de Lógica, se sabe que es uno de los juegos que forma parte del folclore de un número de grupos étnicos.
  5. 5. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 5 CAPITULO I: DESCRIPCIÓN DEL PROBLEMA  Un granjero y su lobo, la cabra y el repollo vienen a la orilla de un río que quieren cruzar.  Hay un barco en la orilla del río que sólo el agricultor puede remar.  El agricultor puede tener como máximo un otro objeto además de él en un cruce.  Si el lobo es dejado con la cabra, el lobo se comerá la cabra  Si la cabra es dejada con la col, la cabra se comerá la col
  6. 6. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 6 CAPITULO II HISTORIAS Y VARIACIONES Este acertijo es un forma parte de los denominados “puzzles de cruzar el río”, en los que el objetivo es mover una serie de objetos al otro lado del río siguiendo una serie de normas. La aparición más temprana de este problema es en el manuscrito medieval Propositiones ad Acuendos Juvenes, los tres objetos son un lobo, una cabra y una col. Existen variaciones de este acertijo siendo los objetos una cabra, una oveja y un repollo;3 ;2 , p. 26 un zorro, una gallina y unas semillas;4 un zorro, un ganso y una mazorca de maíz5 y una pantera, un cerdo y unas gachas.6 La lógica del acertijo sigue siendo la misma. Este acertijo ha formado parte del folclore de los afroamericanos, Camerún, Cabo Verde, Dinamarca, Etiopía, Ghana, Italia, Rusia, Rumania, Escocia, Sudán, Ugand a, Zambia yZimbabue.2 , pp. 26–27;7 En algunos lugares de África, se han encontrado variaciones del juego en las cuales la barca no puede llevar dos objetos en lugar de sólo uno.2 , p. 27. Este acertijo era uno de los favoritos de Lewis Carroll,8 y ha sido incluido en varios libros de matemática recreativa.2 , p. 26. El acertijo también ha sido parodiado en el episodio Adiós, Maggie, adiós de la temporada 20 de la serie de animación Los Simpson. En él, Homer debe cruzar un río con Maggie,Santa's Little Helper y un veneno para ratas. No puede dejar al perro con Maggie ni a Maggie con el veneno.
  7. 7. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 7 CAPITULO III RESOLUCIÓN DEL PROBLEMA EN EL ESPACIO DE ESTADOS 2.1. Resolución: 2.1.1 Espacio de estados: granjero, cabra, lobo, col; izquierda y derecha. 2.1.2 Numero de estados: 13 2.1.3 Estado inicial : izquierda 2.1.4 Estado final (único) : pasar todos a la derecha 2.1.5 Operadores :  Pasa el granjero solo  Pasa el granjero con el lobo  Pasa el granjero con la cabra  Pasa el granjero con la col 2.1.6 Solución :  Deja a la cabra al otro lado  Vuelve  Deja al lobo en el otro lado  Regresa con la cabra  Deja la col o al lobo en el otro lado  Vuelve  Deja la cabra al otro lado
  8. 8. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 8
  9. 9. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 9 2.2. RepresentacióndelEstado: Vamos a definir un estado de los rompecabezas por la ubicación del grangero (F), el Lobo (W), cabra (G), y la col (C). Después de cada paso de la embarcación, cada entidad debe ser en la orilla izquierda. Cada estado puede ser representado en anidada-lista de notación, utilizando dos sub-listas: - La primera sub-lista describe las entidades que figuran en la margen izquierda - el segundo indica las entidades de la margen derecha. Así, el estado inicial se denota por ((F W g C) ()): Y el estado de la meta, por (() (F W g C)): 2.3. La construcciónGrafica delEstado de Transición: ¿Qué movimientos son posibles desde el estado inicial ((FWGC), ())? O el granjero cruza el río para sí solo, o con uno de sus tres posesiones. Por lo tanto hay cuatro posibles movimientos, que representamos por el estado resultante: 1. ((W G C) (F)) 2. ((G C) (F W)) 3. ((W C) (F G)) 4. ((W G) (F C))
  10. 10. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 10 En lo anterior, estados seguros aparecen en estados azules, y letales en rojo. Por ejemplo, Estado 2 es letal porque la cabra puede comer la col. Ahora podemos empezar a construir el grafo de transición de estados, que cuando esté completo contener un nodo para cada uno de los trece estados posibles del rompecabezas. Sus bordes se conectar cada par de estados que son accesibles a cada otra por un solo movimiento F W G C W G C F G C F W C F W G W G F C F W C G W F G C W C F G F G C W F W G C C F W G F W G C F C W G
  11. 11. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 11 CAPITULO IV PROGRAMA EN PROLOG resolver (Id_Problema,PMax,Solucion) resolver_pmax(Problema,PMax,[Eo|Solucion]) :- estado_inicial(Problema,Eo), resolver_pmax(Problema,Eo,PMax,[Eo],Solucion). % resolver(Id_Problema,Ei,NumPasos,Visitados,Solucion) resolver_pmax(Problema,En,_,_,[]) :- estado_final(Problema,En). resolver_pmax(Problema,Ei,NumPasos,Visitados,[En|Es]) :- NumPasos > 0, NumPasos1 is NumPasos-1, mover(Problema,Ei,En), no_esta(En,Visitados), resolver_pmax(Problema,En,NumPasos1,[En|Visitados],Es). no_esta(_,[]). no_esta(X,[Y|Ys]) :- X == Y, no_esta(X,Ys). % representaremos el estado del problema por una estructura estado/4: % % estado(Granjero,Lobo,Cabra,Col)
  12. 12. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 12 % donde cada componente representa el margen del rio en que se % encuentra cada personaje (izq o der) % al principio todos estan al mismo lado (izq) estado_inicial(glcc, estado(izq,izq,izq,izq)). % al final deben estar todos al otro lado (der) estado_final(glcc, estado(der,der,der,der)). % movimientos posibles % cruza el granjero con el lobo mover(glcc,estado(X,X,Cabra,Col), estado(Y,Y,Cabra,Col)) :- cruza(X,Y), a_salvo(estado(Y,Y,Cabra,Col)). % cruza el granjero con la cabra mover(glcc,estado(X,Lobo,X,Col),estado(Y,Lobo,Y,Col)) :- cruza(X,Y). % no es necesario comprobar nada % cruza el granjero con la col mover(glcc,estado(X,Lobo,Cabra,X),estado(Y,Lobo,Cabra,Y)) :- cruza(X,Y), a_salvo(estado(Y,Lobo,Cabra,Y)). % cruza el granjero solo mover(glcc, estado(X,Lobo,Cabra,Col), estado(Y,Lobo,Cabra,Col)) :- cruza(X,Y),
  13. 13. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 13 a_salvo(estado(Y,Lobo,Cabra,Col)). cruza(izq,der). cruza(der,izq). % una configuracion es segura: % 1) si el granjero y la cabra estan en el mismo lado del rio a_salvo(estado(X,_,X,_)). % 2) si el granjero y la cabra estan en lados distintos, % el lobo y la col deben estar con el granjero a_salvo(estado(X,X,Cabra,X)) :- X = Cabra.
  14. 14. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 14 CONCLUSIONES 1. Aprendimos un nuevo algoritmo y de esta manera se obtuvieron nuevos conocimientos. 2. Aprendimos sobre el trabajo en equipo en que fuesen complicadas de comprender durante la implementación del programa. 3. Este problema nos ayudo a incrementar nuestra capacidad de análisis donde utilizamos mucha lógica. 4. Este tipo de juego lógicos nos ayudaron a incrementar mas nuestros conocimientos
  15. 15. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 15 BIBLIOGRAFIA 1. http://es.wikipedia.org/wiki/Acertijo_del_lobo,_la_cabra_y_la_col#Historia_y _variaciones 2. http://inteligencia2013udla.blogspot.com/2013/06/problema-acertijo-del- lobo-la-cabra-y.html 3. http://blog.jle.im/entry/wolf-goat-cabbage-the-list-monadplus-logic-problems 4. http://www.it.uu.se/edu/course/homepage/ai/vt08/Lecture_2/

×