Upload
allex-ortecho
View
697
Download
4
Embed Size (px)
Citation preview
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS
INGENIERÍA INFORMÁTICA PROGRAMACIÓN LÓGICA
MONOGRAFÍA
PROBLEMA DE LAS JARRAS
AUTORES ANTHONY STEWART ARAUJO FERNANDEZ
JUAN ANTONIO CABEZA RAMIREZ JHON ALEXANDER LEON ORTECHO
TRUJILLO PERÚ 2014
1
ÍNDICE DEDICATORIA 4
INTRODUCCIÓN 5
1. MARCO TEÓRICO 7
1.1. Capítulo I: PLANTEAMIENTO DEL PROBLEMA 7
1.1.1. Caso Base Problema de Jarras de 5 Litros y 3 Litros 7
1.1.2. Caso Específico Problema de Jarras de 4 Litros y 3 Litros 8
1.2. Capítulo 2: DESARROLLO DEL PROBLEMA 8
1.2.1. Búsqueda en Profundidad (BEP) 9
1.2.2. Búsqueda en Anchura (BEA) 10
1.2.3. Análisis del Caso Base Problema de las Jarras de
5 Litros y 3 Litros 11
1.2.4. Análisis del Caso Específico Problema de las
Jarras de 4 Litros y 3 Litros 13
1.3. Capítulo 3: APLICACIONES EN LA SOCIEDAD 15
CONCLUSIONES 17
ANEXOS 18
APÉNDICE A 19
APÉNDICE B 21
BIBLIOGRAFÍAS 22
2
ÍNDICE DE IMÁGENES
1. Fig 1 Recorrido de la Búsqueda por Profundidad 10 2. Fig 2 Recorrido de Búsqueda por Anchura 11 3. Fig 3 Solución del problema de las jarras de 5 Litros y 3 Litros 12 4. Fig 4 Solución del Problema de las Jarras para el caso específico 14
3
A mis profesores y maestros de la escuela de Informática que nos enseñan día a día
cómo ser mejores en nuestra carrera sin dejar nuestro lado sociocultural que la
empleamos para ayudar a muchas personas.
Esta pequeña monografía lograda gracias al empeño de todo nuestro grupo de trabajo hecha para enseñanza
y aprendizaje del usuario que leerá esta monografía.
4
INTRODUCCIÓN
Es cierto que la tecnología evoluciona y va cambiando conforme avanza el tiempo,
claro ya es fácil decir que a menudo los avances tecnológicos nos dejan atónitos
con tantas nuevas cosas que podemos ver y disfrutar hoy en día para que faciliten
nuestra calidad de vida. Pero no se da en todos los países, regiones o ciudades
del mundo, la tecnología puede ir avanzando pero no esta al alcance de todos, he
aquí nuestra problemática que muy pocos saben y no se dan cuenta; en la parte de
la sierra o selva de nuestro país, o pueblos alejados de las grandes ciudades, nos
5
damos con la sorpresa que aun siguen habiendo los conocidos trueques y que a
veces estos son mal hechos debido a que no cuentan con un instrumento de
medida.
Teniendo en cuenta esta situación, nos centramos en como resolver o tratar de
resolver esta situación mediante una paradoja ya conocida en el ámbito de la
programación lógica, esta paradoja es conocida como “El problema de las jarras”.
Esta paradoja nos dará una alternativa para poder realizar estos intercambios o
ventas para aquellas personas que no cuentan con instrumentos de medida.
En la presente monografía nos centraremos en dos puntos esenciales primero en
el análisis de esta paradoja junto con la relación que tiene con los métodos de
búsquedas, y cómo podría ayudar a los pobladores de zonas remotas a realizar
una buena medición de sus productos a la hora de hacer trueques o ventas, y así
ver como se puede aplicar esta paradoja en solucionar problemas(. no tan solo de
liquidos tambien de otros materiales.)
En la realización del presente estudio ha tenido dificultades debido a que la
paradoja tiene muchas versiones distintas, que cada cultura altera de acuerdo a
sus principios y otros factores; es por eso que nos centraremos en dos casos
específico (uno es el que dio origen a la paradoja y el otro que uno de los más
conocido) para poder sintetizar nuestra información y poder centrarnos en un
punto, y así poder integrar la información recaudada en esta presente monografía.
6
1. MARCO TEÓRICO
1.1. Capítulo 1: PLANTEAMIENTO DEL PROBLEMA
La paradoja de “El problema de las jarras” tiene muchas versiones que se
obtuvieron al modificar el caso base que fue planteado por uno amigo de
Siméon Poisson que desarrollo esta paradoja. Para lo cual nuestra monografía
se centrará en este caso base y en una de sus versiones que es muy conocida.
Teniendo eso en mente se presentarán los dos casos a analizar.
1.1.1 Caso Base Problema de Jarras de 5 Litros y 3 Litros
La familia de Siméon Poisson intentó que su hijo fuera de todo, desde
abogado a cirujano, lo primero alegando que no servía para nada más.
Inició una o dos de estas profesiones con notable ineptitud, pero al final
encontró su verdadero oficio cuando, durante un viaje, alguien le planteó un
problema análogo al que tratamos a continuación.
Lo resolvió al instante y desde entonces Poisson descubrió su verdadera
vocación, llegando a ser uno de los más grandes matemáticos del siglo
XIX.
El problema dice: Dos amigos que tienen una jarra de 8 litros de vino lo
quieren repartir en 2 partes iguales. Disponen también de dos jarra vacías
de 5 y 3 litros respectivamente. La pregunta es clara, ¿cómo pueden
repartirse el vino en 2 partes iguales sin tirar nada?.
7
1.1.2 Caso Específico Problema de Jarras de 4 Litros y 3 Litros
Este caso es una modificación del primero, sólo se modificó una parte para
obtener otra cantidad distinta. En sí el problema puede modificarse de
diferentes maneras para obtener distintas cantidades pero en este ejemplo
nos centraremos en el de 4 litros y otra de 3 litros.
Disponemos de dos jarras de agua, una de 4 litros de capacidad y otra de
3 litros de capacidad. Inicialmente están ambas vacías. El estado objetivo
es que la jarra de 4 litros de capacidad contenga dos litros de agua,
independientemente el contenido de la otra, sabiendo que en ninguna de
las jarras hay una señal de volumen distinta de su capacidad.
1.2. Capítulo 2: DESARROLLO DEL PROBLEMA
En este capítulo analizaremos cómo desarrollar el problema de las
jarras mediante búsquedas, entrando a detallar en qué consisten estas
búsquedas y cómo ayudan a solucionar esta paradoja.
1.2.1. Búsqueda en Profundidad (BEP)
Un algoritmo de búsqueda se basa en la construcción de un árbol,
cuyo nodo raíz representa el estado inicial, es decir, la situación desde
8
la cual partimos (en el caso de las Jarras de Agua, el estado inicial es
que las dos jarras están vacías). Cada uno de los nodos hijos del raíz
representarán los estados posibles a los que se puede cambiar desde
el estado inicial, y así sucesivamente.
En la búsqueda primero en profundidad, partiendo del estado inicial, el
algoritmo comienza a examinar cada uno de las transiciones posibles,
construyendo el árbol de estados, pero no abandona una rama hasta
haber agotado todas las posibilidades, o haber llegado a la solución
(denominada estado final o estado meta). Por tanto, su funcionamiento
sería el siguiente: Parte del estado inicial y examina la primera de las
posibilidades de transición, a continuación, pasa a examinar la primera
de las posibilidades del nuevo estado, y así sucesivamente, va bajando
de nivel en el árbol. Una vez que ha alcanzado el estado meta o un
estado ya repetido (lo cual indica que por esa rama no va a ninguna
parte), examina la siguiente posibilidad del último nodo explorado, y así
hasta completar el árbol.
9
Fig 1 Recorrido de la Búsqueda por Profundidad disponible en:
http://www.monografias.com/trabajospdf5/recorridoybusquedaarboles/recorridoybusquedaarboles.shtml
1.2.2. Búsqueda en Anchura (BEA)
Es un procedimiento para recorrer o buscar elementos en un árbol.
Intuitivamente, se comienza en la raíz (eligiendo algún nodo como
elemento raíz en el caso de un grafo) y se exploran todos los vecinos
de este nodo. A continuación para cada uno de los vecinos se exploran
sus respectivos vecinos adyacentes, y así hasta que se recorra todo el
árbol.
Formalmente, BFS es un algoritmo de búsqueda sin información, que
expande y examina todos los nodos de un árbol sistemáticamente para
buscar una solución. El algoritmo no usa ninguna estrategia heurística.
10
Fig 2 Recorrido de Búsqueda por Anchura disponible en:
http://pier.guillen.com.mx/algorithms/09busqueda/09.1introduccion.htm
1.2.3. Análisis del Caso Base Problema de las Jarras de 5 Litros y 3
Litros
En la paradoja que cuenta con las 3 jarras analizamos la solución de la
siguiente manera:
Tener 3 jarras de 8, 5 y 3 litros, se dispone también solamente de 8 litros
de agua y se debe lograr dejar 4 litros en la jarra de 8.
Solución N°1:
Cada columna es una jarra indicada como 8 5 y 3, los número debajo son
los litros de agua que tengo y que voy pasando:
8 5 3 > Jarras
8 0 0 > Estado inicial, jarra de 8 litros llena
5 0 3 > Llenar jarra de 3, me quedan 5 litros en la de 8
11
5 3 0 > Paso los 3 litros a la de 5
2 3 3 > Llenar jarra de 3, me quedan 2 en la de 8
2 5 1 > Llenar jarra de 5 con la de 3, me sobra 1 litro en la de 3
7 0 1 > Paso los 5 litros a la de 8
7 1 0 > Paso el litro de la jarra de 3 a la de 5
4 1 3 > Llenar la jarra de 3 litros, la de 8 me queda con 4 litros, el
resultado esperado.
Solución N°2:
Fig 3 Solución del problema de las jarras de 5 Litros y 3 Litros disponible en: Edward Kasner y James Newman, A.(2007), MAtemáticas e Imaginación, D.R. Libreria S.A., Pág. 127
12
Desarrollo de la Solución:
8 5 3 > Jarras
8 0 0 > Estado inicial, jarra de 8 litros llena
3 5 0 > Llenar jarra de 5, me quedan 3 litros en la de 8
3 2 3 > Paso los 3 litros a la jarra de 3 litros.
6 2 0 > Llenar jarra de 8, me quedan 5 en la de 8
6 0 2 > Paso los 2 litros a la jarra de 3 litros
1 5 2 > Paso los 5 litros de la jarra de 8 litros a la jarra de 5 litros
1 4 3 > Pasó un litro de la jarra de 5 litros a la jarra de 3 litros
4 4 0 >Llenar la jarra de 8 litros con los 3 litros de la jarra de 3 litros.
1.2.4. Análisis del Caso Específico Problema de las Jarras de 4
Litros y 3 Litros
Las operaciones que podemos realizar para conseguir nuestro objetivo son
6:
Llenar la jarra de 4 litros completamente (para ello, la jarra de 4 litros
no debe estar completamente llena).
Llenar la jarra de 3 litros completamente (para ello, la jarra de 3 litros
no debe estar completamente llena).
13
Vaciar la jarra de 4 litros (para ello, la jarra debe contener algo de
líquido).
Vaciar la jarra de 3 litros (para ello, la jarra debe contener algo de
líquido).
Verter el contenido de la jarra de 4 litros en la jarra de 3 litros (para
ello, la jarra de 4 litros debe contener algo de líquido y la de 3 litros
no estar completamente llena).
Verter el contenido de la jarra de 3 litros en la jarra de 4 litros (para
ello, la jarra de 3 litros debe contener algo de líquido y la de 4 litros
no estar completamente llena).
Fig 4 Solución del Problema de las Jarras para el caso específico disponible en:
http://www.uco.es/users/sventura/misc/TutorialCLIPS/Practica6.htm
14
1.3. Capítulo 3: APLICACIONES EN LA SOCIEDAD
Esta paradoja de las jarras que se generan a veces en la vida diaria
de una persona del campo se pueden desarrollar fácilmente si es
que conocemos el procedimiento de esta, y así poder aplicar a las
labores diarias de un campesino que no cuenta con muchas
herramientas de medición. Aplicando este método a sus simples
labores puede tener con exactitud y precisión cuánto corresponde
dar de sus productos que ofrece a sus vecinos sin que se vea
perjudicado.
Esto puede llevar a que no solo aplicamos esta técnica de desarrollo
para lo que dice el título, “Problema de las Jarras”, no sólo es
aplicable con líquidos, si no también lo podemos hacer con otros
materias del cual tengamos una medida exacta y queramos otra de la
cual no tenemos, pero queremos esa misma precisión y esto lleva
consigo a ponerla en desarrollo con otros productos con los cuales
trabaja un campesino, ya se el arroz el trigo y otros productos que
se puedan manipular fácilmente.
Podemos citar estos casos con una ejemplo:
Supongamos que el campesino quiere hacer un cambio de
15
alguno de sus productos, pero se da cuenta que dicha cantidad que
le pidieron no tiene una medida referencial para ello, pero no quiere
generarse una pérdida dando de mas, pero el campesino sabía el
desarrollo de la paradoja de las Jarrones de Agua y así con eso
pudo solucionar su problema con la cantidad exacta que debía de
dar.
16
CONCLUSIONES A lo largo del proyecto, obteniendo el conocimiento y conociendo el caso del
problema de las jarras, hemos podido encontrar una necesidad que se
muestra en las zonas más alejadas de nuestro Perú, nos hemos podido dar
cuenta que con la instrucción y el conocimiento adecuado, no se requiere de
grandes ordenadores, o sistemas sotisficados para poder solucionar una
necesidad, como la que hemos planteado en nuestra monografía. Será de
gran utilidad y además de evitar costos, también se garantiza la efectividad del
método, a la hora de emplearlo.
Aquellos planteamientos que se han resuelto a través por las matemáticas y la
lógica, son la base para que luego, se desarrolle y plasme una forma diferente
y más precisa, mucho más rápida en el avance de nuestra historia.
17
ANEXOS
18
APÉNDICE A Código del planteamiento del problema de las Jarras tanto para el caso base como para el caso específico. Hecho en Prolog
Código en Prolog por anchura y profundidad %%%%%%%%%%%%%% Búsquedad en profundidad %%%%%%%%%%% profundidad(Sol): inicial(N),
pp([],N,Sol). pp(Path,N,[N|Path]):final(N),!. pp(Path,N,Sol): s(N,N1),
not(member(N1,[N|Path])), pp([N|Path],N1,Sol).
profundidad(Sol): inicial(N),
pp([N],Sol). pp([H|T],Sol): s(H,NF),
final(NF), Sol1=[NF,H|T], reverse(Sol1,Sol),!.
pp([H|T],Sol): s(H,N),
not(member(N,[H|T])), pp([N,H|T],Sol).
%%%%%%%%%%%%%%%% Búsqueda en anchura%%%%%%%%%%%%%%% anchura(S): inicial(E),
pa([[E]],S). pa([[E|C]|_],S): final(E),
!, reverse([E|C],S).
pa([N|R],S): expande([N|R],Sucesores),
append(R,Sucesores,NAbiertos), /*writeln(NAbiertos),*/ pa(NAbiertos,S).
19
expande([[E|C]|R],Sucesores): findall([E1,E|C],(s(E,E1),not(memberchk(E1,C)),
not((member(X,R),subset([E1],X)))),Sucesores). %%%%%%%%%%%%%%%% Problema de las jarras %%%%%%%%%%%%%%%% %%%%% capacidad 4 y 3, se requiere obtener 2 %%%%% modificar para los valores para %%%%% capacidad 5 y 3, se requiere obtener 4 inicial(00). final(2_). final(_2). s(XY,4Y): X<4.%llenar una jarra s(XY,X3): Y<3. s(XY,0Z):Z is (X+Y), Z=<3, X>0.%Vaciar una en la otra s(XY,Z0):Z is (Y+X), Z=<4, Y>0. s(XY,4Z):Z is (Y(4X)), Z>=0, X<4.%llenar alguna con parte de la otra s(XY,Z3):Z is (X(3Y)), Z>=0, Y<3. s(XY,0Y):X>0.%vaciar alguna s(XY,X0):Y>0. %%%%%%%%%%% Otra notacion %%%%%%%%%%%%%%%%%%%%%%% /* inicial([0,0]). final([2,_]). final([_,2]). s([X,Y],[4,Y]): X<4. s([X,Y],[X,3]): Y<3. s([X,Y],[0,Z]):Z is (X+Y), Z<4, X>0. s([X,Y],[Z,0]):Z is (Y+X), Z<5, Y>0. s([X,Y],[4,Z]):Z is (Y(4X)), Z>(1), X<4. s([X,Y],[Z,3]):Z is (X(3Y)), Z>(1), Y<3. s([X,Y],[0,Y]):X>0. s([X,Y],[X,0]):Y>0. */
20
APÉNDICE B Fuentes libro sobre el nacimiento de la paradoja y otras en internet:
Google Books : http://books.google.com.pe/books?id=zdBHMHV3m5YC&pg=PA124&lpg=PA124&dq=simeon+poisson++y+las+jarras&source=bl&ots=3IjWLjFSD_&sig=7CDs6fHxdEvuiaY08Sp1ATR5khw&hl=es419&sa=X&ei=_jqwU6P8Ns6syAS7zYKgCg&ved=0CCIQ6AEwAQ#v=onepage&q=simeon%20poisson%20%20y%20las%20jarras&f=false
21
BIBLIOGRAFÍA Samuel Gutiérrez Revenga, A. (2006), Algoritmos de búsqueda en
profundidad y en anchura, en la página
http://www.dma.fi.upm.es/java/matematicadiscreta/busqueda/ > (página
consultada el día 28062014).
Wikipedia, enciclopedia libre, A. (2013),Búsqueda en Anchura, en la página
http://es.wikipedia.org/wiki/B%C3%BAsqueda_en_anchura > (página
consultada el día 27062014).
Juan José Cruz Jiménez, A. (2013), El problema de las Jarras de Agua con
CLIPS Búsqueda primero en profundidad, en la página
http://www.uco.es/~i42crjij/aplicada/mem6_1.htm > (página consultada el día
28062014).
Edward Kasner y James Newman, A.(2007), MAtemáticas e Imaginación,
D.R. Libreria S.A., Pág. 125 130.
Silvana Arias, A. (2011), Resolución del problema de “Las Jarras”, en la
página
http://smacmil.wordpress.com/2011/03/25/resolucionalproblemadelasjarras
/ > (página visitada el día 29062014).
22