TRUJILLO-PERU Universidad Nacional de
Trujillo
ESCUELA DE INFORMATICA
INTEGRANTES:
APRECIADO RIVERA JHEFERSOWN
DOMINGUEZ H...
1
INDICE
1. DEDICATORIA ………………………………………………………………...................... 2
2. INTRODUCCION …………………………………………………………………………........
2
DEDICATORIA
A Dios, por
brindarnosla dicha
de la salud y
bienestar físico y
espiritual
Dedicado a todoslas
personase int...
3
INTRODUCCION
Los juegos de lógica son una gran herramienta educativa para
profesores.
Son juegos divertidos para que los...
4
Capítulo 1: ANTECEDENTES DEL ACERTIJO
Este acertijo es un forma parte de los denominados “puzzles de cruzar el
río”, en ...
5
 Estado final (único): pasar todos a la derecha.
 Operadores :
Pasa el granjero solo
Pasa el granjero con el lobo
Pasa...
6
2.4. TIPOS DEMETODOS DEBUSQUEDA:
 Búsqueda por anchura:
- Los nodos se visitan y generan niveles
- La estructura para l...
7
 Gráficodeespacio deestado,incluidas estadosinseguros:
3.1 PEOR CASO: BUCLEINFINITO:
Trate agricultor teniendo lobo. Ca...
8
Capítulo 4: IMPLEMENTACIONENPROLOG:
4.1ALGORITMO :
%Cambiar
cambiar(d,i).
cambiar(i,d).
%Mover
mover([X,X,Cabra,Col],lob...
9
4.2ANALISIS DECODIGO:
 Para resolver este problema, se puede codificar la configuración
de los 4 objetos (el granjero, ...
10
 Ahora, uno puede codificar todos los movimientos válidos:
cambiar(d, i).
cambiar(i, d).
mover([X,X,Cabra,Col],lobo,[Y...
11
 Esta recursión es fácilmente codificada como:
solucion([d,d,d,d],[]).
solucion(Config,[Movi|Rest]) :-
mover(Config,Mo...
12
ANEXOS:
 Del libro: Applications of C++ Programming: Administration, Finance, and
Statistics. Pag. 339 – 345. Algoritm...
13
14
15
16
17
18
BIBLIOGRAFIA:
 VICENTEMEAVILLA,el lobola cabra y la col 272 pags
 Applicationsof C++Programming:Administration,Financ...
Próxima SlideShare
Cargando en…5
×

Juego Lógico. El lobo, la cabra y la col

2.190 visualizaciones

Publicado el

La presente monografía es sobre el juego lógico de El lobo , la cabra y la col

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

  • Sé el primero en recomendar esto

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

No hay notas en la diapositiva.

Juego Lógico. El lobo, la cabra y la col

  1. 1. TRUJILLO-PERU Universidad Nacional de Trujillo ESCUELA DE INFORMATICA INTEGRANTES: APRECIADO RIVERA JHEFERSOWN DOMINGUEZ HONORIO EMERSON ALEXANDER ESQUIVEL SALDAÑA GIANCARLOS LAURENTE PACHAMANGO CRISTHIAN EL GRANJERO, EL LOBO, LA CABRA Y LA COL DOCENTE: ARTURO DIAZ PULIDO MONOGRAFIA
  2. 2. 1 INDICE 1. DEDICATORIA ………………………………………………………………...................... 2 2. INTRODUCCION …………………………………………………………………………........... 3 3. MARCO TEORICO …………………………………………………………………………………….. 4 3.1 ANTECEDENTESDE ACERTIJO …………………………………………………….. 4 3.2 ANALISISDEACERTIJO …………………………………………………….. 4 3.2.1 DECLARACION DEACERTIJO …………………………………………… 4 3.2.2 METODO DE SOLUCION POR ESTADOS ………………………….. 4 3.2.3 AUTOMATA DE SOLUCIONES …………………………………………. 5 3.2.4 TIPODE METODOS DE BUSQUEDA …………………………………. 6 3.3 REPPRESENTACION DECASOY PROBLEMA ……………………………………….. 6 3.3.1 PEOR CASO ……………………………………………………………………….. 7 3.4 IMPLEMENTACION EN PROLOG ………………………………………………………. 8 3.4.1 ALGORITMO …………………………………………………………………….. 8 3.4.2 ANALISISDEALGORITMO …………………………………………………… 10 4. CONCLUSIONES ……………………………………………………………………………………….. 11 5. ANEXOS ……………………………………………………………………………………… 12 6. BIOGRAFIA ……………………………………………………………………………………….. 18
  3. 3. 2 DEDICATORIA A Dios, por brindarnosla dicha de la salud y bienestar físico y espiritual Dedicado a todoslas personase integrantes de Esta monografía que invirtieron tiempo, responsabilidad, Y muchascosas. A todos los apasionados por las Ciencias de la Computación Que día a día se abstraen para darle la mejor Solución a los problemasde la humanidad.
  4. 4. 3 INTRODUCCION Los juegos de lógica son una gran herramienta educativa para profesores. Son juegos divertidos para que los niños jueguen y a la vez abran sus mentes. Hay todo tipo de juegos de lógica que se adaptan a cualquier edad. Con los “Juegos de lógica” desarrollamos el intelecto, trabajamos las matemáticas, la lógica, la agilidad visual, vemos los problemas desde una perspectiva nueva y original que nos ayudará en el futuro a afrontar los problemas y vicisitudes de la vida. Hay mucha variedad en los juegos de lógica: Desde los clásicos como jeroglíficos o puzles. A los más actuales como los sudukus. Hay acertijos que tienen miles de años y otros que tienen sólo días. Sólo es cuestión de imaginación. El acertijo del lobo, la cabra y la col es un popular juego de lógica. Se sabe que existe al menos desde el siglo IX y que forma parte del folclore de un gran número de grupos étnicos. En este caso se plantea la solución a un acertijo matemático. Se esquematiza la solución con un gráfico de autómata para un mejor entendimiento. Se explica los 2 tipos de búsqueda pero solo se utilizara un tipo de búsqueda. La solución se realiza implementa en el lenguaje de programación llamado Prolog.
  5. 5. 4 Capítulo 1: ANTECEDENTES DEL ACERTIJO 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; un zorro, una gallina y unas semillas; un zorro, un ganso y una mazorca de maíz y una pantera, un cerdo y unas gachas. 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, Uganda, Zambia y Zimbabue. 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. Este acertijo era uno de los favoritos de Lewis Carroll, y ha sido incluido en varios libros de matemática recreativa Capítulo 2: ANALISISDEL ACERTIJO 2.1. DECLARACIONDEL ACERTIJO: Hace mucho tiempo un granjero fue al mercado y compró un lobo, una cabra y una col. Para volver a su casa tenía que cruzar un río. El agricultor dispone de una barca para cruzar a la otra orilla, pero en la barca solo caben él y una de sus compras. Si el lobo se queda solo con la cabra se la come, si la cabra se queda sola con la col se la come. El reto del granjero era cruzar él mismo y dejar sus compras a la otra orilla del río, dejando cada compra intacta. ¿Cómo lo hizo? 2.2. METODO DESOLUCIONPORESTADOS:  Espacio de estados: granjero, cabra, lobo, col; izquierda y derecha.  Numero de estados: 13.  Estado inicial: izquierda.
  6. 6. 5  Estado final (único): pasar todos a la derecha.  Operadores : Pasa el granjero solo Pasa el granjero con el lobo Pasa el granjero con la cabra Pasa el granjero con la col  Paso de soluciones: Dejar la cabra al otro lado Vuelve Dejar el lobo del otro lado Regresar con la cabra Dejar a la col o al lobo del otro lado Vuelve Dejar a la cabra del otro lado 2.3. AUTOMATA DEL PROCESO DESOLUCINES:  Estados :  Diagrama del autómata :
  7. 7. 6 2.4. TIPOS DEMETODOS DEBUSQUEDA:  Búsqueda por anchura: - Los nodos se visitan y generan niveles - La estructura para los nodos abiertos es una cola (FIFO) - Un nodo es visitado cuando todos los nodos de los niveles superiores y sus hermanos precedentes han sido visitados  Búsqueda por profundidad: - Los nodos se visitan y generan buscando los nodos a mayor profundidad y retrocediendo cuando no se encuentran los nodos sucesores - La estructura de los nodos abiertos es un pila (LIFO) - Para garantizar que el algoritmo acaba de imponerse un límite en la profundidad de explosión. Capítulo 3: REPRESENTACIÓNY CASOS DEL PROBLEMA  Estado Predicado (F, W, G, C), describe la ubicación del agricultor, lobo, la cabra y la col.  Las ubicaciones posibles son el correo para este, w para oeste, banco para cada una de las 4 variables.  Estado inicial es el estado (w, w, w, w)  Estado de metas es estatal (e, e, e, e)
  8. 8. 7  Gráficodeespacio deestado,incluidas estadosinseguros: 3.1 PEOR CASO: BUCLEINFINITO: Trate agricultor teniendo lobo. Cabra come la col. Inseguro? Backtrack.
  9. 9. 8 Capítulo 4: IMPLEMENTACIONENPROLOG: 4.1ALGORITMO : %Cambiar cambiar(d,i). cambiar(i,d). %Mover mover([X,X,Cabra,Col],lobo,[Y,Y,Cabra,Col]) :- cambiar(X,Y). mover([X,Lobo,X,Col],cabra,[Y,Lobo,Y,Col]) :- cambiar(X,Y). mover([X,Lobo,Cabra,X],col,[Y,Lobo,Cabra,Y]) :- cambiar(X,Y). mover([X,Lobo,Cabra,C],nada,[Y,Lobo,Cabra,C]) :- cambiar(X,Y). %Revisar esIgual(X,X,_). esIgual(X,_,X). %Verificar verificacion([Granjero,Lobo,Cabra,Col]) : esIgual(Granjero,Cabra,Lobo), esIgual(Granjero,Cabra,Col). %Hallar la solución solucion([d,d,d,d],[]). solucion(Config,[Movi|Rest]) :- mover(Config,Movi,SigConfig), verificacion(SigConfig), solucion(SigConfig,Rest).
  10. 10. 9 4.2ANALISIS DECODIGO:  Para resolver este problema, se puede codificar la configuración de los 4 objetos (el granjero, el lobo, la cabra, la col) en forma de lista.  Si ' i ' denota la ribera izquierda y ' d ' la ribera derecha, entonces el estado inicial es el siguiente: [i, i, i, i] (Todo el mundo está en la orilla de la izquierda)  Si el granjero se va con el lobo, entonces la configuración se convierte en: [d, d, i, i] (y la cabra se come la col)  La configuración final deseada es: [d, d, d, d] (Todo el mundo está en la orilla de la derecha)  En cada movimiento, el granjero cruza el río con el lobo, la cabra, la col, o nada. Cada movimiento puede ser representado por un átomo correspondiente: lobo, la cabra, la col, y nada.  Esto se puede escribir como un predicado de movimiento(Config, Movi, SigConfig) donde : Config es una configuración Movi es uno de los cuatro movimientos básicos SigConfig es la configuración que resulta de la aplicación de esa medida a Config  Ahora, hay un movimiento cuando van el granjero y el lobo mover ([X, X, Cabra, Col], lobo, [Y, Y, Cabra, Col]): - cambio (X, Y).  que supone que un predicado de cambio se define como: cambiar (d, i). cambiar (i, d).  Uno podría haber pensado en sólo escribir: mover ([X, X, Cabra, Col], lobo, [Y, Y, Cabra, Col]).  pero en este caso X e Y anteriormente podrían unificar a cualquier átomo (por ejemplo, a la cabra), el cual no es válido.
  11. 11. 10  Ahora, uno puede codificar todos los movimientos válidos: cambiar(d, i). cambiar(i, d). mover([X,X,Cabra,Col],lobo,[Y,Y,Cabra,Col]) :- cambiar(X,Y). mover([X,Lobo,X,Col],cabra,[Y,Lobo,Y,Col]) :- cambiar(X,Y). mover([X,Lobo,Cabra,X],col,[Y,Lobo,Cabra,Y]) :- cambiar(X,Y). mover([X,Lobo,Cabra,C],nada,[Y,Lobo,Cabra,C]) :- cambiar(X,Y).  A continuación, las configuraciones deben ser probadas para la seguridad (para que nada se coma a nada). Para ello se define un predicado esIgual(X, Y, Z) que es true si al menos uno de Y o Z es igual a X. esIgual(X, X, _). esIgual (X, _, X).  La idea es que si al menos uno, la cabra o el lobo está en el mismo lado del granjero, y si al menos una, la cabra o la col, está en el mismo lado del granjero. Esto puede ser codificada como: verificacion([Granjero,Lobo,Cabra,Col]) :- esIgual(Granjero,Cabra,Lobo), esIgual(Granjero,Cabra,Col).  Una solución se define como una configuración inicial y una lista de movimientos que le lleva a la configuración del objetivo. Una solución para [d, d, d, d] sería la lista vacía (no se necesitan movimientos). De lo contrario, una solución se define recursivamente como una movida que le lleva a una configuración segura, seguido de una solución.
  12. 12. 11  Esta recursión es fácilmente codificada como: solucion([d,d,d,d],[]). solucion(Config,[Movi|Rest]) :- mover(Config,Movi,SigConfig), verificacion(SigConfig), solucion(SigConfig,Rest).  ADVERTENCIA: Una solución podría ser arbitraria larga (por ejemplo, insertar un número infinito de nada se mueve cuando la cabra está en un lado y el lobo y la col en la otra). Pero aquí se pidió una solución de una longitud específica, se le obliga a: ? - Length (X, 7), solución ([w, w, w, w], X). X = [cabra, nada, el lobo, la cabra, la col, la nada, la cabra] CONCLUSIONES:  El problema ayuda a incrementar la capacidad de análisis de la persona dado que se utiliza mucha lógica para su análisis.  El documento plantea una implementación a un acertijo matemático con más de 1000 años de antigüedad.  Para el desarrollo del problema se estructuro en forma de árbol por lo cual se utilizó el lenguaje de programación prolog y métodos de búsqueda por profundidad.  Hay Infinidad de juegos de lógica. Todos tienen una cosa en común, nos ayudan a ejercitar el cerebro. Son juegos con los que podemos pasar horas y horas y no sentirnos culpables, porque estamos haciendo algo útil, estamos poniendo en forma nuestras mente, así en el futuro éste estará más sano.
  13. 13. 12 ANEXOS:  Del libro: Applications of C++ Programming: Administration, Finance, and Statistics. Pag. 339 – 345. Algoritmo del granjero, lobo, la cabra y la col implementadoenC++.
  14. 14. 13
  15. 15. 14
  16. 16. 15
  17. 17. 16
  18. 18. 17
  19. 19. 18 BIBLIOGRAFIA:  VICENTEMEAVILLA,el lobola cabra y la col 272 pags  Applicationsof C++Programming:Administration,Finance,andStatistics.  http://books.google.com.pe/books?id=I8bq7QaM7UsC&pg=PA339&dq=wolf+c abbage+goat&hl=es&sa=X&ei=u0izU5icNriosAT7lYHoBA&ved=0CBkQ6AEwAA# v=onepage&q=wolf%20cabbage%20goat&f=false  http://es.wikipedia.org/wiki/Acertijo_del_lobo,_la_cabra_y_la_col

×