Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Fundamentos de la programación lógica



Partes: 1, 2

    Monografias.com

    Programación Lógica
    Contenidos

    2. Fundamentos de la Programación Lógica
    2.1 Introducción a la representación en Lógica.
    2.2 Representación mediante Cláusulas. 
    2.3 Unificación y sustitución.
    2.4 Resolución por Refutación. 
    2.5 Sistemas de Deducción o No-Resolución. 
    2.6 Programación Lógica y Prolog.
    2.7 Bibliografía básica:
    Principles of Artificial Intelligence, N.J. Nilsson, Springer-Verlag, 1982.
    From Logic Programming to Prolog, K.R. Apt, Prentice-Hall, 1997.

    Monografias.com

    Programación Lógica
    Objetivos:

    Presentar la lógica de predicados de primer orden como formalismo de representación del conocimiento e inferencia.

    Estudiar los métodos de inferencia automáticos aplicables a la lógica de predicados, esencialmente el método de resolución por refutación.

    Monografias.com

    Programación Lógica
    Representación e inferencia en la lógica de predicados
    Idea:
    La lógica como sistema de representación del conocimiento y de obtención de consecuencias (control)
    Cálculo de predicados de primer orden
    Fórmulas
    Fórmulas atómicas
    Conectores

    Monografias.com

    Programación Lógica
    autor(quijote, cervantes)

    escritor(cervantes)
    Predicado: Un predicado es un símbolo cuyo valor se encuentra en el dominio lógico (verdadero o falso) y representa alguna cualidad semántica, en un cierto contexto, acerca de las relaciones entre objetos o entidades
    Fórmulas atómicas
    Términos
    autor(quijote, Quién)
    autor(quijote, mejor(novelista, españa))

    Monografias.com

    Programación Lógica
    Constante:

    Representa un término con un valor semántico determinado

    Fórmulas atómica :: Predicado | Predicado(Términos)

    Términos :: Término | Término, Términos

    Término :: Variable | Constante | Functor

    Functor :: NombreFunctor(Términos)

    Variable:

    Representa un término cuyo valor no está determinado inicialmente y su dominio de definición debe coincidir con el de los términos constantes

    Functor:

    Es un símbolo que posee valor en el dominio de las variables y constantes, pero que no es ni una variable ni una constante.

    Normas léxicas:

    Las variables siempre empiezan por mayúscula

    las constantes por minúscula

    Monografias.com

    Programación Lógica
    Conectores

    Permiten construir fórmulas complejas a partir de fórmulas o expresiones atómicas

    Negación : ? (~)
    Disyunción : ? (OR)
    Conjunción : ? (AND)
    Implicación : ? (?)
    Equivalencia : ?

    Monografias.com

    Programación Lógica
    Negación: Genera una fórmula que posee valores lógicos complementarios a los de la fórmula sobre la que se aplica. Estrictamente no es un conector, pues no conecta dos fórmulas sino que transforma una.

    ? autor(hamlet, cervantes)

    Disyunción: Genera una fórmula cuyo valor lógico es el “OR” de los valores de las dos fórmulas que conecta.

    estado(bombilla, encendida) ? estado(bombilla, apagada)

    Conjunción: Genera una fórmula cuyo valor lógico es el “AND” de los valores de las dos fórmulas que conecta.

    color(coche, rojo) ? color(camisa, azul)

    Monografias.com

    Programación Lógica
    Implicación: Genera una fórmula compuesta no-simétrica que es cierta siempre, salvo cuando el antecedente es cierto y el consecuente falso.

    p ? q es equivalente a ?p ? q

    p q p ? q ?p ?p ? q

    0 0 1 1 1
    0 1 1 1 1
    1 0 0 0 0
    1 1 1 0 1

    está(cielo, azul) ? ? lloverá(hoy)

    ? está(cielo, azul) ? ? lloverá(hoy)

    Monografias.com

    Programación Lógica
    Equivalencia o doble implicación: Genera una fórmula que es cierta sólo si las dos componentes poseen idéntico valor.

    p ? q es equivalente a (p ? q) ? (q ? p)

    p q p ? q q ? p (p ? q) ? (q ? p)

    0 0 1 1 1
    0 1 1 0 0
    1 0 0 1 0
    1 1 1 1 1

    llueve(hoy) ? está(cielo, nublado)

    Monografias.com

    Programación Lógica
    Equivalencias

    Complemento: p ? ? p ? 1
    Doble negación: ? ( ? p ) ? p
    Conmutativa: p ? q ? q ? p
    p ? q ? q ? p

    Distributiva: p ? (q ? r) ? (p ? q) ? (p ? r)
    p ? (q ? r) ? (p ? q) ? (p ? r)

    Asociativa: p ? (q ? r) ? (p ? q) ? r
    p ? (q ? r) ? (p ? q) ? r

    Leyes de De Morgan: ? (p ? q) ? ? p ? ? q
    ? (p ? q) ? ? p ? ? q

    Ley del contrapositivo: p ? q ? ? q ? ? p

    Monografias.com

    Programación Lógica
    Cuantificadores
    Establecen el ámbito de existencia de las variables
    Cuantificador Universal (?):

    Cuando acompaña a una variable X establece que la fórmula es siempre válida para cada valor posible de la variable X. La variable X se dice entonces cuantificada universalmente.

    “Todo cuerpo con masa cae”

    (?X) ( [cuerpo(X) ? posee(masa, X)] ? cae(X) )

    Monografias.com

    Programación Lógica
    Cuantificadores
    Establecen el ámbito de existencia de las variables
    Cuantificador Existencial (?):

    Establece que como mínimo existe un valor de la variable cuantificada que hace cierta la fórmula. La variable se dice cuantificada existencialmente.

    “Alguién descubrió la penicilina”

    (? X) ( descubrió( X, penicilina )

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter