Professional Documents
Culture Documents
de Valladolid.
Integrantes:
Fecha: 05/06/2015
Semestre: 8 A
Programacin lgica.
La programacin lgica es un tipo de paradigmas de programacin dentro del
paradigma de programacin declarativa. El resto de los subparadigmas de
programacin dentro de la programacin declarativa son: programacin
funcional, programacin con restricciones, programas DSL (de dominio
especfico) e hbridos.
Programacin por restricciones.
La Programacin por restricciones es un paradigma de la programacin en
informtica, donde las relaciones entre las variables son expresadas en
trminos de restricciones (ecuaciones). Actualmente es usada como una
tecnologa de software para la descripcin y resolucin de problemas
combinatorios particularmente difciles, especialmente en las reas de
planificacin y programacin de tareas (calendarizacin).
Programacin funcional.
La programacin funcional es un paradigma de programacin declarativa
basado en la utilizacin de funciones aritmticas que no maneja datos mutables
o de estado.
Programacin declarativa
La Programacin Declarativa, en contraposicin a la programacin imperativa
es un paradigma de programacin que est basado en el desarrollo de
programas especificando o "declarando" un conjunto de condiciones,
proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que
describen el problema y detallan su solucin.
Paradigma de programacin.
Un paradigma de programacin es una propuesta tecnolgica adoptada por
una comunidad de programadores cuyo ncleo central es incuestionable en
Prolog.
Es un Lenguaje de Programacin diseado para representar y utilizar el
conocimiento que se tiene sobre un determinado dominio. Los programas en
Prolog responden preguntas sobre el tema del cual tienes conocimiento.
Sistemas de informacin.
Un sistema de informacin es un conjunto de elementos orientados al
tratamiento y administracin de datos e informacin, organizados y listos para
su uso posterior, generados para cubrir una necesidad o un objetivo.
Clusulas de Horn.
Una clusula de Horn es una regla de inferencia lgica con una serie de
premisas (cero, una o ms), y un nico consecuente. Las clusulas de Horn
son las instrucciones bsicas del lenguaje de programacin Prolog, de
paradigma declarativo. Una clusula de Horn es una clusula (una disyuncin
de literales), con a lo sumo, uno positivo literal. Ejemplo de una clusula de
Horn.
Una clusula de Horn con exactamente un literal positivo es una clusula
definitiva, una clusula de Horn sin literales positivos a veces se denomina
"clusula de un objetivo", sobre todo en la lgica de programacin.
Una frmula de Horn es una forma normal conjuntiva cuyas clusulas son
todos de Horns, en otras palabras, se trata de una conjuncin de clusulas de
Horn. Un doble clusula de Horn es una clusula con a lo sumo, uno negativo
literal. Ejemplo de una formula.
Reglas
Las reglas engloban todos los casos en el siguiente sentido:
Un hecho es una regla con cuerpo vaco
Un objetivo es una regla con cabeza vaca
Y el xito es una regla con cabeza y cuerpo vacos
Predicados y programas lgicos.
Un predicado p queda denido por el conjunto de clusulas (hechos y reglas)
cuyas cabezas tienen ese smbolo de predicado.
Un programa lgico es un conjunto de deniciones de predicados (es decir, un
conjunto de clusulas denidas: hechos y reglas).
Resolucin SLD.
La resolucin general es un mecanismo muy potente de demostracin pero
tiene un alto grado de indeterminismo: en la seleccin de las clausulas con las
que hacer resolucin y en la seleccin de los literales a utilizar en la resolucin.
Ejemplo.
La S indica que se est usando una regla ja para seleccionar el literal sobre el
que operara el paso de resolucin (una regla de computacin).
La L indica que el proceso es lineal puesto que siempre se usa como padre en
el paso de la resolucin al ms reciente resolvente (es la clusula central, la
clusula lateral es precisamente la que se toma usando al regla de
computacin).
Funciones de verdad
fv : {False,True} {False,True}
fv(i) =
True si i = False
False si i = True
fv : {False,True}
2 {False,True}
fv(i, j) =
True si i = j = True
False en otro caso
fv : {False,True}
2 {False,True}
fv(i, j) =
False si i = j = False
True en otro caso
Funciones de verdad
fv : {False,True}
2 {False,True}
fv(i, j) =
False si i = True y j = False
True en otro caso
fv : {False,True}
2 {False,True}
fv(i, j) =
True si i = j
False en otro caso
Interpretacin:
Una interpretacin I es un conjunto de smbolos proposicionales
Interpretaciones: Conjunto de todas las interpretaciones
sig : FProp Interpretaciones {False,True}
sig(p, I) =
True si p I
False en otro caso
sig(F, I) = fv(sig(F, I))
sig(F G, I) = fv(sig(F, I),sig(G, I))
sig(F G, I) = fv(sig(F, I),sig(G, I))
Ejemplo: F = (p q) (q r)
I = {p,r}
sig(F, I) = sig((p q) (q r), I)
= fv(sig(p q, I),sig(q r, I))
= fv(sig(p q, I),sig(q r, I))
= fv(fv(sig(p, I),sig(q, I)),
fv(sig(q, I),sig(r, I)))
= fv(fv(True, False), fv(fv(sig(q, I)),True))
= fv(True, fv(fv(False),True))
= fv(True, fv(True,True))
= fv(True
Lenguajes de
Programacin
Concepto
Caractersticas
Tipo de Sintaxis
Origen
Forma de Definirlos
PROLOG
Prolog es un lenguaje de
programacin especialmente
indicado para modelar problemas
que impliquen objetos y las
relaciones entre ellos. Est
basado en los siguientes
mecanismos bsicos: unificacin,
estructuras de datos basadas en
rboles
y backtracking automtico.
Proveniente del
francs
PROgrammation en
LOGique.
PROLOG Se compone de
hechos (datos) y un
conjunto de reglas, es
decir, relaciones entre
objetos de la base de
datos.
Los comentarios se
definen entre los smbolos
/* y */.
Usa reglas de
resolucin para evaluar
los literales y reglas de
estrechamiento.
LISP
CLIPS
La intercambiabilidad
del cdigo y los datos
tambin da a Lisp su
instantneamente
reconocible sintaxis.
Su sintaxis est
basada en la sintaxis
de ART (otra
herramienta para el
desarrollo de
sistemas expertos).
El nombre LISP
deriva del "List
Processing"
(Proceso de Listas).
Fue desarrollado en
1954 por John
McCarthy.
CLIPS es un
acrnimo de C,
Lenguage
Integrated
Produccin Sistema
(Sistema de
Produccin
Integrado en
Lenguaje C).
Fue creado a partir
de 1984, en el
Lyndon B. Johnson
Space de la NASA.
LISP Se compone de
listas encadenadas y por
un conjunto de
instrucciones o reglas.
Los comentarios se
definen con el smbolo ;
(punto y coma).
Una llamada de funcin o
una forma sintctica es
escrita como una lista,
con la funcin o el nombre
del operador en primer
lugar, y los argumentos a
continuacin.
Se compone bsicamente
de reglas definidas, y est
basado en texto que
incluyen herramientas.
Los comentarios se
colocan detrs de un
(punto y coma) (;).
Una funcin comienza con
un parntesis izquierdo,
seguido por el nombre de
la funcin y a continuacin
le siguen los argumentos
de la funcin separados
por uno o ms espacios.
La llamada a la funcin
finaliza con un parntesis
de cierre.
Si, es la respuesta
?- Valioso(X.).
X=oro;
X=plata;
X=bronce;
no
Programa.
En este programa se establecen las reglas, las cuales se realizan las consultas
y mediante la lgica nos dar la respuesta indicada.
>Le_gusta(juan,maria). A Juan le gusta Mara
>Le_gusta(pedro,carla).
>Le_gusta(jorge,maria). A estos predicados (de aridad 2) tambin se les
conoce como hechos.
?- Le_gusta(X,maria).
X=juan;
X=jorge;
no
?- Le_gusta(X,Y).
le_gusta_por(juan,maria,ojos grandes).
grandes ojos.
Conclusin:
Daniel Aminadab Puc Nahuat.
En este trabajo se investig sobre la programacin lgica que es un paradigma
de programacin que se basa mediante la lgica de primer orden, la
programacin lgica tiene sus lenguajes de programacin alguna de ellas Clisp,
Prolog, alf entre otros las cuales se mencionan en el cuadro comparativo que
se realiz en los puntos 5, entre ella mencionamos la forma en que declaran
sus reglas, su semntica, la sintaxis, y sus funciones comparando los entre s,
la programacin lgica como su nombre lo dice al momento de hacer las
sentencias en los programas, especifican claramente las reglas de las cuales al
momento de ejecutar las sentencias va ir buscando la respuesta de tal manera
que si se encuentra de volver un valor positivo, sino esto seguir buscando
hasta que haya terminado de buscar y comparar todo sino encuentra esto nos
devolver una respuesta falsa. De igual manera se realiz la investigacin de
un programa que utiliza la programacin lgica la cual est desarrollada en
Prolog y con un poco de explicacin, el programa en si tiene guardad las
sentencias o reglas despus se realiza las consultas, si la consulta est dentro
del programa guardada esto de volver el valor adecuado de igual forma si no
encuentra la respuesta.
Bibliografa.
http://www.amzi.com/articles/code07_whitepaper.
http://www.dc.uba.ar/materias/plp/cursos/2012/cuat1/descargas/teoricas/p
l1.pdf
http://www.cs.upc.edu/~bejar/ia/transpas/lab/clips-n.pdf
http://elvex.ugr.es/decsai/intelligent/workbook/ai/CLIPS.pdf
http://www.uco.es/users/sventura/misc/TutorialCLIPS/TutorCLIPS02.htm