proyecto

Post on 29-Jan-2016

215 views 1 download

description

prroyecto de Rogelioromanifloresunajma-epis 2015

Transcript of proyecto

Universidad InsurgentesInteligencia Artificial 2

Proyecto 1Árbol Genealógico

Alejandro Salazar Guerrero

febrero 2014

1

Contenido

I. Objetivo

II. Introducción

III. Desarrollo

IV. Conclusiones

V. Referencias

2

I. Objetivo

Este proyecto tiene como propósito la presentación y documentación de un programa en Prolog

relacionado con el manejo de un árbol genealógico. Me interesa desarrollar habilidades para

programar en un lenguaje de inteligencia artificial y ver la manera en que se pueden hacer

inferencias lógicas de alto nivel.

3

II. Introducción

La programación en Prolog, corresponde a la programación de la quinta generación de

computadoras, representa el nivel más desarrollados en cuanto a las posibilidades que tiene la

computadora para emular el pensamiento humano. Prolog es un lenguaje de alto nivel que ha

sido actualizado a la versión Visual para el ambiente gráfico. En el futuro este lenguaje permitirá

llevar a cabo el reconocimiento de imágenes y voz.

El trabajo que presento se basa en la estructura familiar formada por los padres, abuelos y 4

hijos. Se presenta el diagrama del árbol genealógico, el cual permite establecer las relaciones

dentro del programa. Posteriormente se presentan algunas preguntas que se espera que el

sistema responda, y finalmente, el código y ejecución del programa, donde se observa el

funcionamiento del mismo.

4

III. Desarrollo

La familia está compuesta por 10 miembros: El abuelo paterno (Joel), la abuela paterna

(Luisa), el abuelo materno (Ramiro), la abuela materna (Alicia), el padre de la familia

(Ricardo), la madre (Martha), los hijos (Juan, Luis, Rocío, Mónica).

5

Preguntas que el sistema responde:

1. ¿ quiénes son los abuelos?

2. ¿ de quién es abuelo Joel?

3. ¿quiénes son los nietos?

4. ¿quiénes son hermanos?

5. ¿quién es la madre de Rocío?

6. ¿de quién es padre Ricardo?

El diagrama muestra la forma en que el programa recorre los contenidos del diagrama de

nodos para establecer las relaciones entre los familiares y llevar a cabo los procesos de inferencia lógica.

Código del programa.

domains nombre=symbolpredicates progenitor(nombre,nombre) hombre(nombre) mujer(nombre) abuelo(nombre,nombre)

6

abuela(nombre,nombre) padre(nombre,nombre) madre(nombre,nombre) hermano(nombre,nombre) hermana(nombre,nombre) esposa(nombre,nombre) esposo(nombre,nombre) hijo(nombre,nombre) hija(nombre,nombre)clauses hombre(joel). hombre(ramiro). hombre(ricardo). hombre(juan). hombre(luis). mujer(luisa). mujer(alicia). mujer(martha). mujer(rocio). mujer(monica). progenitor(joel,ricardo). progenitor(luisa,ricardo). progenitor(ramiro,martha). progenitor(alicia,martha). progenitor(martha,juan). progenitor(martha,luis). progenitor(martha,rocio). progenitor(martha,monica). progenitor(ricardo,juan). progenitor(ricardo,luis). progenitor(ricardo,rocio). progenitor(ricardo,monica). padre(X,Y):-progenitor(X,Y),hombre(X). madre(X,Y):-progenitor(X,Y),mujer(X). abuelo(X,Y):-progenitor(X,Z),progenitor(Z,Y),hombre(X). abuela(X,Y):-progenitor(X,Z),progenitor(Z,Y),mujer(X). hermano(X,Y):-padre(Z,X),padre(Z,Y), hombre(X), X<>Y. hermana(X,Y):-padre(Z,X),padre(Z,Y), mujer(X), X<>Y. esposa(X,Y):-madre(X,Z), padre(Y,Z), mujer(X). esposo(X,Y):-padre(X,Z), madre(Y,Z), hombre(X). hijo(X,Y):-progenitor(Y,X), hombre(X). hija(X,Y):-progenitor(Y,X), mujer(X).

Ejecución del programa

7

8

IV. Conclusiones

hj

9

V. Referencias

10

11