prolog clausulas de horn

Upload: pablo-crn

Post on 07-Mar-2016

231 views

Category:

Documents


0 download

DESCRIPTION

DIAPOSITIVAS CON LAS CLAUSULAS DE HORN Y EJEMPLOS EN PROLOG

TRANSCRIPT

  • Materia: Programacin Logica y Funcional Prolog: clausulas de HornProfesor: M.C. Ma. Petra Paredes XochihuaAlumno: Luis Alfredo Cuapantecatl Martnez

    Semestre: 5 grupo : A fecha 27-octubre-2015

  • prologProlog es un lenguaje de programacin lgica cuya primera versin fue desarrollada a principios de la dcada de 1970 por Colmerauer en la universidad de Marsella. Contrariamente a otros lenguajes de programacin basados es estructuras de control y definicin de funciones para calcular resultados, Prolog est orientado a la especificacin de relaciones para responder consultas. En ese sentido Prolog es similar a un sistema de base de datos, aunque en el contexto de la inteligencia artificial se prefiere hablar de bases de conocimiento, enfatizando la complejidad estructural de los datos y de las deducciones que se pueden obtener de ellos.

  • Ejemplos:Por ejemplo, para especificar la relacin el padre de X es Y, se crea una base de conocimiento con hechos expresados mediante un predicado padre(X,Y) de la siguiente manera:

    padre( juan, pedro ).padre( jos, pedro ).padre( mara,pedro ).padre(pedro, pablo).padre(ana, alberto).

  • IDE swi prolog

  • Clausulas de HornEn lgica proposicional, una frmula lgica es una clusula de Horn si es una clusula (disyuncin de literales) con, como mximo, un literal positivo. Se llaman as por el lgico Alfred Horn, el primero en sealar la importancia de estas clusulas en 1951.

  • sintaxisLa sintaxis es:

    ::= . ::= :- . ::= | , ::= | empieza con mayscula | empieza con minscula | ( ) trmino compuesto

    ::= .

  • En prologhija (A, B) :- mujer (A), padre (B, A).que podra leerse as: "A es hija de B si A es mujer y B es padre de A".

  • Obsrvese que, en PROLOG, el smbolo :- separa la conclusin de las condiciones. En PROLOG, las variables se escriben comenzando por una letra mayscula. Todas las condiciones deben cumplirse simultneamente para que la conclusin sea vlida; por tanto, la coma (en algunas versiones de PROLOG se sustituye la coma por el smbolo &) que separa las distintas condiciones es equivalente a la conjuncin copulativa.

  • La disyuncin, en cambio, no se representa mediante smbolos especiales, sino definiendo reglas nuevas, como la siguiente:hija (A, B) :- mujer (A), madre (B, A).

  • Lgica de la clausula de HornNo hay lmite para el nmero de argumentos.Ejm:% tiene 1 argumento.es_soltero(Ricardo).% tiene 3 argumentos.especialista_en(Jeannet,Matemticas,Lgica). Estas especificaciones se denominan: hechos Un hecho consiste de un predicado, uno o msargumentos entre parntesis separados por comas yterminados en un punto.

  • Un hecho describe una relacin esttica entre losobjetos (argumentos). Las relaciones generales entre objetos (o grupos deobjetos) se llaman reglas. Ejm:Persona3 es abuelo de Persona1, si Persona2 es padre dePersona1 y Persona3 es padre de Persona2.Formalizando: Regla abuelo.abuelo(Persona1, Persona3):-padre(Persona1, Persona2),padre(Persona2, Persona3

  • En esta regla usamos: Los operadores lgicos SI (:-) tambin Y (,). Cada regla termina en un punto (.). La primera parte se denomina conclusin (antes delsmbolo :-). Lo que sigue se denomina premisas formado por uno oms hechos separados por comas y termina en punto (.). Note que abuelo comienza con minscula. Los argumentos deben empezar con mayscula. A estos argumentos denominamos variables.

  • Para finalizar:Si en lgica escribimos: SI p Y q ENTONCES r. En Prolog es: r:- p, q. Cuando las premisas son verdaderas la conclusintambin lo es. La forma general es:Conclusin:- premisa1, premisa2,premisaN.

  • Referencias:http://www.swi-prolog.org/pldoc/man?section=quickstartManual de iniciacin a prolog