Beruflich Dokumente
Kultur Dokumente
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.
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:
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
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).