Logische Programmierung - LinkFang.de





Logische Programmierung


Logische Programmierung (Prädikative Programmierung) ist ein Programmierparadigma, das auf der mathematischen Logik beruht. Anders als bei der imperativen Programmierung besteht ein Logik-Programm nicht aus einer Folge von Anweisungen, sondern aus einer Menge von Axiomen, welche hier als eine Ansammlung von Fakten oder Annahmen zu verstehen ist. Stellt der Benutzer eines Logik-Programms eine Anfrage, so versucht der Interpreter, die Lösungsaussage allein aus den Axiomen zu berechnen.

Dazu werden eine Menge von so genannten Regeln und Anweisungen, die der Syntax gemäß aufgebaut sind zusammen mit der Information, welche Lösungsmethode vorgesehen ist, in den Programmcode eingefügt. Logische Programmiersprachen gehören zu den deklarativen Programmiersprachen und haben ihre Ursprünge im Forschungsgebiet Künstliche Intelligenz.

In einem imperativen Programm wird genau beschrieben, wie und in welcher Reihenfolge ein Problem zu lösen ist. Im Gegensatz dazu wird in einem logikbasierten Programm beschrieben, was gilt. Das Wie ist durch die Lösungsmethode vorgegeben. Die Lösung wird aus den Regeln hergeleitet.

Die bekannteste logische Programmiersprache ist Prolog.

Erläuterungen

Die Syntax gibt an, wie Regeln geschrieben werden müssen, damit der Computer sie verwenden kann. Regeln sind Wenn-Dann-Aussagen und Fakten, die das Wissen zu einem Problemkreis beschreiben. Daneben gibt es spezielle Konstrukte, um die Lösungsmethode zu beeinflussen. Am bekanntesten ist die Rückwärtsabschneidung (engl. cut) in Prolog, womit z. B. Ausnahmeregeln modelliert werden.

Einem regelbasierten Programm kann man Fragen (engl. query) stellen, indem man ein Ziel (engl. goal) vorgibt.

Die Lösungsmethode gibt vor, wie die Inferenzmaschine die Regeln interpretiert, um die Frage zu beantworten. In Prolog wird eine Tiefensuche (engl. depth first) mit Unifikation und Backtracking verwendet. Auch andere Methoden sind geeignet und werden je nach Anwendungsfall auch eingesetzt.

Beispiel

Dieses Beispiel ist in natürlicher Sprache formuliert, um das Prinzip aufzuzeigen.

Fakten:

Lucia ist die Mutter von Minna.
Lucia ist die Mutter von Klaus.
Minna ist die Mutter von Nadine.

Regel:

Falls X ist die Mutter von Y und Y ist die Mutter von Z Dann X ist die Großmutter von Z.

Frage/Ziel:

Wer ist die Großmutter von Nadine?

Antwort des Computers, Folgerung aus den Fakten und Regeln:

Lucia

Einsatzgebiete

Typische Einsatzgebiete sind Simulatoren, Generatoren, sowie Systeme zur Diagnose und Prognose. Anwendungen der Logikprogrammierung finden sich in folgenden Bereichen:

Beispiele außerhalb der Informatik:

Auf dem Gebiet der Informatik und Computertechnik:

Weblinks


Kategorien: Programmierparadigma

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Logische Programmierung (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.