SlideShare une entreprise Scribd logo
1  sur  15
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
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
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.
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.
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
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.
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
Universidad Nacional De Trujillo
Escuela De Informática
PROGRAMACION EN LOGICA Página 8
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))
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
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)
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),
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.
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
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/

Contenu connexe

En vedette

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

En vedette (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Monografia

  • 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. 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. 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. 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. 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. 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. 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. Universidad Nacional De Trujillo Escuela De Informática PROGRAMACION EN LOGICA Página 8
  • 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. 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. 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. 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. 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. 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. 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/