Sie sind auf Seite 1von 5

22 de noviembre 2012 Resolucion de unificacin

Hacer una sola inferencia a partir de un par de clusulas de Horn se llama resolucin El principio de resolucin es similar a la idea transistividad en algebra Definicin cuando se aplica a las clusulas de Horn , una resolucin establece que si h es la cabeza de la V clausulas y concuerda con alguno de los trminos de otra clausula de horn , entonces ese termino puede ser remplazado por h. En otras palabras si se tiene: h trminos t t1, h, t t2 la segunda clausula puede resolverse como tt1 trmino, t2

ejemplo: speak(Mary,English) talkswith (x,y ) speak ( X,L) speak(Y,L) x y speak(Mary,English) es una clausula de Horn con una lista vacia de trminos por lo que es incondicionalmente verdaderas.

La resolucin permite deducir : Talkswith (Mary,English) ) speak(Mary,English) speaks(Y,English),mary y

Suponiendo que X = Mary Y L= English

Se observa que la resolucin ayuda a obtener conclusiones

Definition La asignacin de valores a variables durante la resolucin se llama instanciacin

Defintion Unificacin es un proceso de correspondencia de patrones que determina cuales instanciaciones particulares pueden hacerse a las variables mientras se realizan simultneamente una serie de resoluciones .

Prolog es el lenguaje principal de este paradigma esta basado en los principios de resolucin y unificacin Los programas de prolog estn hechos de trminos que pueden ser constantes, variables o estructuras.

Constantes the, zebra , bob , . (ENTEROS NO NEGATIVOS) 24 Variables =A-2, a-2, -) comienzan por maysculas

Estructuras = predicado con cero o mas arguemntos escritos en notacin funcional h(zebra) speaks (Who, russian) hp(X,Y)

Aridad de una estructura es el numero de argumentos Los hechos y reglas en prolog son realizaciones de las ideas formales de las clausulas de Horn Un hecho es un termino de seguido de un punto

Una regla es untermino seguido por :- y una serie de trminos separados por comas y terminada por un punto

Term:- term,term2,termn.

Las reglas se interpretan como solo si don de la coma juega el papel de operador AND

Ejemplo de un programa:

Speaks(allen , russian). Speaks(bob,English). Speaks(mary, russian). Speaks(mary,english) 4 hechos

Talkswith(person1,person2):- speaks(person1,L), speaks(person2,L),person 1 \=person 2. son diferentes personas

se define una relacion entre 2 personas que es Verdadera cuando hablan elmismo idioma y

Un programa de prolog tiene xito cuando existen instancias de las variables para todos los trminos ala derecha de :- que aprueban para esas asignaciones de otra manera la regla no tiene xito la regla falla

La regla definida tiene xito para

Person 1 = allen Person2 = mary

Ya que existe una instancia de la variable L L= russian para la cual todos los predicados son simultneamente exitosos Guas para escribir programas en prolog: Identificadores que comienzan con Mayscula o gin bajo son variables. Todo lo dems es tomado como constante. No debe haber espacios entre el nombre del predicado y el parntesis izquierdo que habre la lista de argumentos Todos los hechos , reglas y consultas terminan en punto El archivo de un programa prolog termina con EOL ?-Speaks(Who, russian). Who= allen; Who= mary; No ?-talkswith(Who, allen). Who= No ?-talkswith(P1,P2)

Tarea: Parent(A,B):- father(A,B). Parent(A,B):- mother(A,B). granParent(C,D):- parent (C,E)parent(E,D). mother (mary,sue). mother (mary,bill). mother (sue,nancy). mother (sue,jeff). mother(jean,ron). Father(john,sue). Father(jonh,bill). Father(bob,nancy). father(bob,jeff). Father(bill,ron).

Encontrar los granparents de ron Definer la relacion de hermanos(x,y)

Definer la relacion de tios (x,y) Definer la relacion de granparents(x,Y)

Das könnte Ihnen auch gefallen