Bienvenidos

hola a todos bienvenidos al blog comenten!!^_^








jueves, 11 de noviembre de 2010

programa logico en prolog

PROLOG

hola como estan pss aqui les dejo el intento que hise de este programa logico hacerlo en prolog, pues me costo mucho trabajo como enlazar logicamente cada termino:S pero pues hise el intento, espero sus comentarios.

intente hacer este programa en prolog en base al siguiente razonamiento

Que las edades y los nombres de Alex, Brook, Cody, Dusty y Erin ser A, B, C, D y E.
C dice que A, que C = A 10. Si C eran menores de A, que estaría mintiendo, por lo que C debe ser mayor de A. (Pero aún acostado.)
Tenemos un C <
C dice que A, que B <D. Como C> A, C está mintiendo, por lo que B> D.
Tenemos un C <, D <B.
D dice a B, que D = E 9. Como D <B, D está diciendo la verdad, por lo que D> E.
Tenemos un C <E <D <B, D, E = 9.
E le dice a B, que E = A 7. Como E <B, E está diciendo la verdad, por lo que E> A.
Tenemos un C <, A <E <D <B, D, E = 9, E = A 7.
Puesto que D = E E = 9 y A-7, D = A = A 7 9 16.
Tenemos un C <, A <E <D <B, D, E = 9 = A 16, E = A 7.
B dice a C, que E <C. Si B> C entonces B estaría mintiendo, por lo que entonces E> C, entonces A y C <<E <D <B. Sin embargo, dice C a D, que C = D ± 6, ya que C <D, esto da C = D - 6. Sin embargo, tenemos que E = D - 9, lo que haría E <C, dando una contradicción. La suposición de que B> C es por lo tanto falso, por lo que B <C.
Tenemos un <E <D <B <C, D = E = 9 A 16, E = A 7.
A dice que B, que B = (17/10) A. Como A <B, A es diciendo la verdad.
Tenemos un <E <D <B <C, B = (17/10) A, D = E = 9 A 16, E = A 7.
B dice a C, que | C - D | = | D - E |? | C - D | = 9. Como B <C, B está diciendo la verdad, por lo que C = D 9. Como D = A 16, C = A 16 9? C = A 25.
Tenemos un <E <D <B <C, B = (17/10) A, C = A 25, D = A 16, E = A 7.
Con la tecla D <B <C, tenemos un 16 <(17/10) A <A 25? 16 <(7 / 10) <25? 160 / 7 <A <250 / 7? 22 7.6 <A <35 5.7. Puesto que B y A deben estar números enteros, y A = B (17/10)? B - A = (7 / 10), (7 / 10) debe ser un número entero. Por lo tanto, A debe ser divisible por 10. El único número entero montaje 22 7.6 <A <35 5 / 7 es A = 30.
Tenemos que A = 30, B = (17/10) A, C = A 25, D = A 16, E = A 7.
Por lo tanto A, B = 30 = 51, C = 55, D = 46, E = 37.



12 comentarios:

  1. muy bien por el codigo y que bueno que hayas modificado el reporte

    ResponderEliminar
  2. me revolvi un poco por todo lo que pusiste, pero ya con la imagen ya se entiende mejor, bueno reporte

    ResponderEliminar
  3. muy bien el problema y bien por la imagen y que bueno que hiciste el intento saludos.

    ResponderEliminar
  4. pues si lo redactaste muy bien el problema y es bueno deperdido hacer el intento porque pues si note el problema un poco dificil de comprender pero la imagen ayudo mucho.

    ResponderEliminar
  5. muy bien aunque la redacción se ve muy revuelto pero con la imagen se entiende

    ResponderEliminar
  6. Hola!
    La verdad tu reporte me revolvio, pues me perdi en tu redaccion, me hubiera gustado que hubieras planteado primero el problema y ya despues pusieras el coidigo pero en sii con la imagen se entiende o almenos lo pude entender
    a parte mejor hacer el intento a no hacer nada!

    ResponderEliminar
  7. El problema es bueno pero seria mejor que lo acomodaras

    ResponderEliminar
  8. El programa esta muy bueno, pero coincido con mi compañera esta un poco revuelto y es un poco difícil entenderlo, pero al final lo comprendí

    ResponderEliminar
  9. Te quedo bien el reporte, aunque la explicacion si, esta algo revuelta, pero de todas formas te salio muy bien.

    ResponderEliminar
  10. hola, me parecio muy interesante el problema, aunque la explicacion esta un poco confusa, de todos maneras muy bien resueleto, cuidate, saludos

    ResponderEliminar
  11. una aclaracion a todos :)
    la explicacion de este problema ya la habia puesto antes de una forma mas facil de entender, esta es como la forma matematica de resolverlo y por eso es que son muchos numeros, ami tambien me revolvio , solo lo puse para que vieran que de ese razonamiento matematico hize el programa en prolog en base a eso, pero pues la solucion del problema esta en otra entrada que habia echo antes que esta, espero que les quede mas claro en la forma que lo explique anteriormentee
    nos vemos

    ResponderEliminar
  12. Muy buen trabajo, aunque me revolví, pero bien por todo el esfuerzote que haces.

    ResponderEliminar