Jeudi, 31 août, 2006
Introduction:
Au début des années 70, le Français Alain Colmenauer a développé le langage PROLOG qui permet également le développement d'applications de manière déclarative.
En général, PROLOG est un démonstrateur automatique de problèmes, qui utilise une Base de Connaissances sous forme de règles d'inférence déductives (clauses de Horn), c'est-à-dire que ses règles ont pour conséquence une action unique et les inférences obtenues sont strictement logiques (vraies ou fausses), bien que cela puisse sembler une limitation, ceci n'est pas totalement juste, puisque PROLOG permet de programmer des mécanismes inférentiels avec une logique probabiliste, puisqu'il s'agit de recherches dans des arbres avec accumulation de preuves.
Le PROLOG, en tant que langage issu du calcul des prédicats,, a repris les idées suivantes de la logique pour son exécution.
1) Un ensemble d'axiomes établis.
2) Des règles d'inférence qui se résolvent par résolution et unification.
3) L'objectif à démontrer, qui seront les conditions à unifier avec les règles.
Il a également repris du LISP le traitement des listes pour la représentation de structures complexes. Bien que PROLOG ait son origine dans la logique mathématique, ce n'était pas une transposition exacte, et il est lié aux discussions que mènent depuis des années les principaux chercheurs en Intelligence Artificielle, qui sont divisés en deux grands groupes, de una parte Minsky quien propone estudiar los mecanismos del pensamiento humano y luego simularlo en la computadora.
Lo más importante para Minsky son los conceptos, sea la interpretación que se le puede dar a cada palabra en dependencia de un contexto dado.
El otro grupo encabezado por Mac Carthy (autor del LISP), afirma que la lógica matemática es el elemento característico para la representación del razonamiento y su implantación en la computadora, este grupo centra su atención en la formalización y en la estructura de los conocimientos más que en el sentido de los mismos.
La lógica desde la antigüedad se concibió como el método de descubrir las leyes del pensamiento, mais ces lois ont toujours été limitées à la pensée scientifique et plus particulièrement mathématique, laissant de côté le sens commun. Cette déficience est reconnue par les défenseurs de la logique, mais ils considèrent que la logique est la seule voie possible pour développer des programmes capables de montrer de l'intelligence.
Programmation déclarative
Dans la programmation déclarative, l'essentiel ne réside pas dans les instructions données de manière séquentielle (programmation prescriptive), à la place, le programmeur se consacre à décrire le problème à travers des règles et des faits qui fonctionnent de manière indépendante et c'est grâce à un mécanisme d'inférence que les règles sont exécutées.
Dans la programmation déclarative, les règles (base de connaissances) est séparé du programme de gestion (machine d'inférence).
Exemple de programmation déclarative:
Si Prémisses alors Conclusion
Si P alors C
Où:P et C instructions nous serions en présence d'une représentation procédurale.
P et C faits assertions nous serions en présence d'une représentation déclarative.
Exemple de représentation procédurale
Si A1 = B1 et A2 > B2 alors X := A1 + A2
Où A1 = B1 et A2 > B2 sont des comparaisons qui prendront la valeur de 'vrai' 'faux'.
soit que nous aurions:
Si P1 et P2 alors C
où P1 et P2 seraient des variables logiques (donneraient vrai ou faux)
Exemple de représentation déclarative
Cela dans n'importe quel langage se ferait de la manière suivante:
X := Juan est un étudiant
Y := Juan tiene 7 años”
if X = Juan es un estudiante” and Y = Juan tiene 7 años”
then Z := Juan esta en la primaria”
Veamos ahora la forma de formalizar los hechos aserciones
Exemple: Juan tiene 10 años de edad
1) religion technologique
edad(Juan, 10)
Ejemplo1: El león es un mamífero
es-un(leon, mamifero)
1)
2) gusta(maria, cine)
Veamos ahora algunos ejemplos donde se combinan los hechos en formas de reglas cláusulas:
si
et
alors
1) si
2) vive(tiburon, en-agua) si vive(pez, en-agua) y es-un(pez, tiburon)
Observen que en prolog la conclusión se pone delante de las premisas
Representación en forma de reglas:
si Premisas entonces Conclusión
si
alors
Donde la conclusión puede estar compuesta por varios hechos aserciones.
Representación en prolog:
Conclusión si Premisas
si
Donde la conclusión estará dada por un solo hecho aserción.
Ejercicio 1:
1. A María le gusta el tenis.
2. A Tomas le gusta el béisbol.
trois. A José le gustan los deportes que le gustan a Tomas.
1.
2.
S
Ejercicio 2:
si
et
Posted by