Donnerstag, 31. August, 2006
Introducción:
Zu Beginn der 70er Jahre entwickelte der Franzose Alain Colmenuer die Programmiersprache PROLOG, die ebenfalls die Entwicklung von Anwendungen in deklarativer Form ermöglicht.
Im Allgemeinen ist PROLOG ein automatischer Problemlöser, der eine Wissensbasis in Form von deduktiven Inferenzregeln verwendet (Horn-Klauseln), das heißt, seine Regeln haben als Konsequenz eine einzelne Aktion, und die erhaltenen Inferenzschlüsse sind strikt logisch (wahr oder falsch), obwohl dies wie eine Einschränkung erscheinen mag, ist dies nicht ganz zutreffend, da PROLOG die Programmierung von Inferenzmechanismen mit probabilistischer Logik ermöglicht, da es sich um Baumsuchen mit Akkumulation von Beweisen handelt.
PROLOG als aus der Prädikatenkalkül entstandene Sprache, nahm für seine Ausführung die folgenden Ideen aus der Logik auf.
1) Ein Set von gemachten Axiomen.
2) Schlussregeln, die durch Resolutions- und Unifikationsverfahren gelöst werden.
3) Das zu beweisende Ziel, das die mit den Regeln zu vereinheitlichenden Bedingungen sein wird.
Es übernahm auch vom LISP die Behandlung von Listen für die Darstellung komplexer Strukturen. Obwohl PROLOG seinen Ursprung in der mathematischen Logik hat, war es keine exakte Übertragung, und es ist mit den Diskussionen verbunden, die seit Jahren die wichtigsten Forscher der Künstlichen Intelligenz führen, die in zwei große Gruppen geteilt sind, 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, aber diese Gesetze waren immer auf wissenschaftliches Denken und ganz besonders auf mathematisches Denken beschränkt, der gesunde Menschenverstand blieb außen vor. Dieses Defizit wird von den Vertretern der Logik anerkannt, aber sie betrachten die Logik als den einzigen möglichen Weg, Programme zu entwickeln, die in der Lage sind, Intelligenz zu zeigen.
Deklarative Programmierung
In der deklarativen Programmierung sind nicht die in sequentieller Form gegebenen Anweisungen das Wesentliche (vorschreibende Programmierung), stattdessen, beschäftigt sich der Programmierer damit, das Problem durch Regeln und Fakten zu beschreiben, die unabhängig funktionieren, und es ist durch einen Inferenzmechanismus, dass die Regeln ausgeführt werden.
In der deklarativen Programmierung die Regeln (Wissensbasis) ist vom Managementprogramm getrennt (Inferenzmaschine).
Beispiel für deklarative Programmierung:
Wenn Prämissen, dann Schlussfolgerung
Wenn P, dann C
Wo:P und C Anweisungen würden wir eine prozedurale Darstellung haben.
P und C Fakten/Behauptungen, würden wir eine deklarative Darstellung haben.
Beispiel für prozedurale Darstellung
Wenn A1 = B1 und A2 > B2, dann X := A1 + A2
Wo A1 = B1 und A2 > B2 Vergleiche sind, die den Wert 'wahr' oder 'falsch' annehmen.
dann hätten wir:
Wenn P1 und P2, dann C
wo P1 und P2 logische Variablen wären (würden wahr oder falsch ergeben)
Beispiel für deklarative Darstellung
Dies würde in jeder Sprache wie folgt gemacht werden:
X := Juan ist ein Student
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
Beispiel: Juan tiene 10 años de edad
1) technologische Religion
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:
Ja
und
also
1) Ja
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
Ja
also
Donde la conclusión puede estar compuesta por varios hechos aserciones.
Representación en prolog:
Conclusión si Premisas
Ja
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.
three. A José le gustan los deportes, que le gustan a Tomas.
1.
2.
S
Ejercicio 2:
Ja
und
Veröffentlicht von