Notas en Ing - prolog

3
10/11/2015 Notas en Ing. Sistemas: Árbol Genealógico en Prolog http://notasensistemas.blogspot.pe/2011/12/arbolgenealogicoenprolog.html 1/3 Notas en Ing. Sistemas domingo, 18 de diciembre de 2011 Árbol Genealógico en Prolog En esta entrada trataremos sobre la representación de un árbol genealógico en prolog mediante un ejemplo del árbol de la familia Gonzales. Luego, codificaremos los hechos en Prolog, especificando quien es padre de quien y quien es madre de quien, según se representa en el árbol genealógico y a partir de estas relaciones podremos codificar functores que expresen las demás relaciones de parentesco en la familia. La familia Gonzales A continuación, presentamos el árbol genealógico de la familia Gonzales (clic en la imagen para agrandar). Codificación en Prolog % Hechos esMadreDe(sara, jorge). esMadreDe(sara, gonzalo). esMadreDe(sara, lucia). esMadreDe(lucia, jose). esMadreDe(lucha, martin). esMadreDe(daniela, ana). esMadreDe(daniela, miguel). esMadreDe(carmen, dora). esMadreDe(carmen, enrique). esPadreDe(manuel, gonzalo). esPadreDe(manuel, lucia). esPadreDe(manuel, fernando). esPadreDe(jorge, martin). esPadreDe(jorge, francisco). esPadreDe(gonzalo, ana). esPadreDe(gonzalo, miguel). esPadreDe(fernando, dora). esPadreDe(fernando, enrique). % Reglas esAbuelaDe(A,B) :‐ esMadreDe(A, N), esMadreDe(N, B). esAbuelaDe(A,B) :‐ esPadreDe(A, N), esPadreDe(N, B). esAbuelaDe(A,B) :‐ esPadreDe(A, N), esMadreDe(N, B). esAbuelaDe(A,B) :‐ esMadreDe(A, N), esPadreDe(N, B). esNietoDe(A, B) :‐ esAbuelaDe(B, A). esHermanoDe(A, B) :‐ esMadreDe(N, A), esMadreDe(N, B), not(A=B). esHermanoDe(A, B) :‐ esPadreDe(N, A), esPadreDe(N, B), Cargando... Buscar en este blog 2015 (3) 2013 (4) 2012 (6) 2011 (19) diciembre (3) Prezi: Una nueva forma de hacer presentaciones Árbol Genealógico en Prolog Ejercicios con listas en Scheme noviembre (2) octubre (6) septiembre (8) Archivo programacion (14) redes (10) java (9) cisco (8) poo (6) configuracion router (4) configuracion switch (4) enrutamiento dinamico (4) rails (4) ror (4) ruby on rails (4) web (4) c# (3) configuracion vlan (3) eclipselink (3) enrutamiento estatico (3) java ee (3) jpa (3) jsf (3) netbeans (3) primefaces (3) ruby (3) Etiquetas herramientas (2) ospf (2) prolog (2) rip (2) windows (2) c (1) c++ (1) cableado (1) compilacion (1) devkit (1) encapsulamiento (1) fibra optica (1) gliffy (1) modelado (1) mvc (1) mysql (1) prezi (1) railsinstaller (1) rest (1) scheme (1) visual studio (1) vtp (1) 234,613 Contador de Visitas

description

adf

Transcript of Notas en Ing - prolog

Page 1: Notas en Ing - prolog

10/11/2015 Notas en Ing. Sistemas: Árbol Genealógico en Prolog

http://notasensistemas.blogspot.pe/2011/12/arbolgenealogicoenprolog.html 1/3

Notas en Ing. Sistemasdomingo, 18 de diciembre de 2011

Árbol Genealógico en PrologEn esta entrada  trataremos sobre  la  representación de un árbol  genealógico en prolog mediante unejemplo del árbol de  la  familia Gonzales. Luego, codificaremos  los hechos en Prolog, especificandoquien es padre de quien y quien es madre de quien, según se representa en el árbol genealógico y apartir  de  estas  relaciones  podremos  codificar  functores  que  expresen  las  demás  relaciones  deparentesco en la familia.

La familia Gonzales

A  continuación,  presentamos  el  árbol  genealógico  de  la  familia Gonzales  (clic  en  la  imagen  paraagrandar).

Codificación en Prolog

% HechosesMadreDe(sara, jorge).esMadreDe(sara, gonzalo).esMadreDe(sara, lucia).esMadreDe(lucia, jose).esMadreDe(lucha, martin).esMadreDe(daniela, ana).esMadreDe(daniela, miguel).esMadreDe(carmen, dora).esMadreDe(carmen, enrique).esPadreDe(manuel, gonzalo).esPadreDe(manuel, lucia).esPadreDe(manuel, fernando).esPadreDe(jorge, martin).esPadreDe(jorge, francisco).esPadreDe(gonzalo, ana).esPadreDe(gonzalo, miguel).esPadreDe(fernando, dora).esPadreDe(fernando, enrique).

% ReglasesAbuelaDe(A,B) :‐ esMadreDe(A, N), esMadreDe(N, B).esAbuelaDe(A,B) :‐ esPadreDe(A, N), esPadreDe(N, B).esAbuelaDe(A,B) :‐ esPadreDe(A, N), esMadreDe(N, B).esAbuelaDe(A,B) :‐ esMadreDe(A, N), esPadreDe(N, B).esNietoDe(A, B) :‐ esAbuelaDe(B, A).esHermanoDe(A, B) :‐ esMadreDe(N, A), esMadreDe(N, B), not(A=B).esHermanoDe(A, B) :‐ esPadreDe(N, A), esPadreDe(N, B),

Cargando...

Buscar en este blog

►  2015 (3)

►  2013 (4)

►  2012 (6)

▼  2011 (19)▼  diciembre (3)

Prezi: Una nueva forma de hacerpresentaciones

Árbol Genealógico en Prolog

Ejercicios con listas en Scheme

►  noviembre (2)

►  octubre (6)

►  septiembre (8)

Archivo

programacion  (14)  redes  (10)java  (9)  cisco  (8)  poo  (6)  configuracionrouter  (4)  configuracion  switch  (4)enrutamiento dinamico (4) rails (4) ror (4) rubyon rails (4) web (4) c#  (3)  configuracion  vlan(3)  eclipselink  (3)  enrutamiento  estatico  (3)java  ee  (3)  jpa  (3)  jsf  (3)  netbeans  (3)primefaces (3) ruby (3) 

Etiquetas

herramientas (2) ospf (2)prolog (2) rip (2) windows (2) c (1) c++ (1) cableado (1)compilacion  (1)  devkit  (1)  encapsulamiento  (1)  fibra  optica(1)  gliffy  (1)  modelado  (1)  mvc  (1)  mysql  (1)  prezi  (1)railsinstaller (1) rest (1) scheme (1) visual studio (1) vtp (1)

 

 234,613Contador de Visitas

Page 2: Notas en Ing - prolog

10/11/2015 Notas en Ing. Sistemas: Árbol Genealógico en Prolog

http://notasensistemas.blogspot.pe/2011/12/arbolgenealogicoenprolog.html 2/3

Entrada más reciente Entrada antiguaPágina principal

Suscribirse a: Enviar comentarios (Atom)

Publicado por Administrador en 1:01:00 p. m.   

 not(A=B).esSobrinoDe(A, B) :‐ esHermanoDe(N, A), esMadreDe(N, B).esSobrinoDe(A, B) :‐ esHermanoDe(N, A), esPadreDe(N, B).esTioDe(A, B) :‐ esSobrinoDe(B, A).esPrimoDe(A, B) :‐ esTioDe(A, N), esMadreDe(N, B), not(A=B).esPrimoDe(A, B) :‐ esTioDe(A, N), esPadreDe(N, B), not(A=B).

Como  podemos  observar,  a  partir  de  los  hechos  obtenidos  del  árbol  genealógico  (relaciones  depaternidad "EsPadreDe" y "EsMadreDe", podemos inferir  todas las demás relaciones de parentescocomo abuelo, primo, tío, nieto, hermano entre otros.

Salir

  Avisarme

Introduce tu comentario...

Comentar como:  Angeliitho Inocenth (Google)

Publicar   Vista previa

No hay comentarios:

Publicar un comentario en la entrada

Diferencias entre Enrutamiento Estático y Dinámico, Protocolo VectorDistancia y Estado de EnlaceEn esta entrada tratermos sobre las diferencias existentes entre el enrutamiento estático y el enrutamiento dinámico, y también hablaremos s...

Enrutamiento Dinámico con OSPF en Routers CiscoEn esta trateremos sobre la configuración del enrutamiendo dinámico de routers Cisco mediante el protocolo OSPF. Como podemos ver en el di...

Enrutamiento Estático en Routers CiscoEn esta entrada hablaremos acerca de cómo realizar un enrutamiento estático en routers Cisco. Como podemos apreciar en el diagrama, tenemo...

Enrutamiento Dinámico con RIP en Routers CiscoEn esta entrada trateremos sobre la configuración del enrutamiento dinámico de routers Cisco mediante el protocolo RIP. Como podemos ver en...

Ejemplos de polimorfismo en C#En esta entrada trataremos sobre el concepto del polimorfismo y daremos unos ejemplos.

Lo mas visto

Plantilla Simple. Imágenes de plantillas de gaffera. Con la tecnología de Blogger.

Page 3: Notas en Ing - prolog

10/11/2015 Notas en Ing. Sistemas: Árbol Genealógico en Prolog

http://notasensistemas.blogspot.pe/2011/12/arbolgenealogicoenprolog.html 3/3