Die drei Grundaussagen der Prolog-Sprache sind Fakten, Regeln und Abfragen und entsprechen den vorangestellten und kopflosen HORN-Klauseln. Daher kann die Programmierung in der PROLOG-Sprache auf die Bekanntgabe von Fakten, die Definition von Regeln und das Auslösen von Abfragen reduziert werden.
Die Betriebsumgebung dieses Artikels: Windows 7-System, Dell G3-Computer.
Prolog (Abkürzung für Programming in Logic) ist eine logische Programmiersprache. Es basiert auf den theoretischen Grundlagen der Logik und wurde zunächst in Forschungsfeldern wie der natürlichen Sprache eingesetzt.
Einführung in Prolog
Eine logische Programmiersprache. Um die Ausführungseffizienz der Reduktionsmethode zu verbessern, entwickelte die französische Comolaue-Gruppe 1972 einen Programmausführer für das Theorembeweisprogramm mit dem Namen PROLOG (Programming In Logic), was die Geburtsstunde der ersten logischen Programmiersprache PROLOG markierte. 1974 und später klärte R. Kowalski die theoretischen Grundlagen von PROLOG aus der Perspektive der HORN-Klausel der Prädikatenlogik weiter und schlug systematisch die Idee der Logikprogrammierung vor.
Es gibt drei Arten von Grundaussagen in der PROLOG-Sprache, die jeweils Fakten, Regeln und Anfragen darstellen und den Headed- (Bodyless, Body) und Headless HORN-Klauseln entsprechen. Zum Beispiel:
Beim Programmieren in der Sprache PROLOG geht es also darum, Fakten zu deklarieren, Regeln zu definieren und Fragen zu stellen.
Der Erklärungs- und Ausführungsprozess des PROLOG-Programms verwendet eine spezifische Eingabereduktion, d Die neue Klausel wird dann mit der ursprünglichen Klauselmenge verglichen. Finden Sie die reduzierte Form einer Klausel von usw. Zu keinem Zeitpunkt wird die Reduktion zwischen zwei abgeleiteten Sätzen oder zwei Sätzen des ursprünglichen Satzes von Sätzen gefunden. Im obigen Beispiel
⑥: -human(u), greek(u) (die Reduktionsformel von ④ und ⑤, mgu=u/x)
⑦: -greek(socarates) (die Reduktionsformel von ② und ⑥, mgu= Socarates/u)
⑧: - (Die Reduktion von ③ und ⑦ ergibt einen Leersatz)
Die Antwort auf die Frage lautet u=Socarates. Es ist ersichtlich, dass das PROLOG-Erklärungssystem tatsächlich ein Theorembeweisprogramm oder Problemlösungsprogramm ist, das auf dem Reduktionsprinzip basiert.
Geringe räumlich-zeitliche Effizienz ist ein wichtiges Problem, das sich auf die Anwendung der PROLOG-Sprache auswirkt. Die Möglichkeiten zur Verbesserung der Effizienz sind: Verbesserung des PROLOG-Interpretationssystems, Übernahme des PROLOG-Kompilierungssystems, Entwicklung der PROLOG-Maschine, Einführung von Metaregeln zur Steuerung, Verwendung heuristischer Suche Methoden, die intelligentes Backtracking ermöglichen, nutzen kollaborative und gleichzeitige Lösungstechnologie, um parallele Verarbeitungsmechanismen zu entwickeln.
Da der PROLOG-Interpreter automatisch Lösungen für Probleme auf der Grundlage von Inferenzregeln finden kann, können sich Programmierer auf die Offenlegung der logischen Beziehungen zwischen Objekten konzentrieren, ohne zu viel über die Details des Prozesses nachdenken zu müssen. Dies ist die Richtung der automatischen Programmierung . Aber die PROLOG-Sprache weist auch einige nichtlogische Merkmale auf. Um beispielsweise das Backtracking zu steuern, wird die CUT-Technologie verwendet (Cut-Off-Technologie, was bedeutet, dass Programmierer das CUT-Symbol verwenden! Technologie, um dem System mitzuteilen, dass es in der Vergangenheit durchgeführte nutzlose Suchpfade nicht mehr berücksichtigt und dies nicht mehr tut Backtracking-Punkte müssen aufgezeichnet werden) und führt das Prädikat „assert“ (in der Datenbank „add-Klausel“) und „ret ract“ (delete-Klausel aus der Datenbank) ein. Dies führt dazu, dass sich die Axiomenmenge des Systems während des Argumentationsprozesses ändert, was nicht mit den Grundideen der Logik gleicher Ordnung vereinbar ist. Daher ist PROLOG keine logische Programmiersprache im engeren Sinne. Um sie logischer zu gestalten, müssen die nichtlogischen Komponenten der Sprache auf ein Minimum beschränkt werden, und die Forschung in diesem Bereich ist im Gange.
Empfohlen: „Programmiervideo“
Das obige ist der detaillierte Inhalt vonWas sind die drei Grundaussagen der Prologsprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!