Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Logische Programmierung

Die Lösungsmethode gibt vor, wie die Inferenzmaschine die Regeln interpretiert, um die Frage zu beantworten. In Prolog wird eine Tiefensuche (engl. depth …

Inhalt4 Abschnitte
  1. 1. Grundprinzip
  2. 2. Regeln, Ziele und Lösungsverfahren
  3. 3. Beispiel einer Schlussfolgerung
  4. 4. Einsatzgebiete

Grundprinzip

Logische Programmierung, auch prädikative Programmierung oder Logikprogrammierung genannt, ist ein Programmierparadigma auf Grundlage der mathematischen Logik. Ein Logikprogramm besteht nicht aus einer festgelegten Folge von Anweisungen, sondern aus Axiomen, also Fakten oder Annahmen, sowie daraus aufgebauten Regeln. Der Benutzer stellt eine Anfrage; der Interpreter versucht, die Antwort allein aus diesen Axiomen und Regeln herzuleiten.

Logische Programmiersprachen gehören zu den deklarativen Programmiersprachen. Bei der imperativen Programmierung legt das Programm genau fest, wie und in welcher Reihenfolge ein Problem gelöst wird. Ein logikbasiertes Programm beschreibt dagegen vor allem, was gilt. Wie die Lösung gefunden wird, bestimmt die vorgesehene Lösungsmethode. Die bekannteste logische Programmiersprache ist Prolog.

Regeln, Ziele und Lösungsverfahren

Die Syntax bestimmt, wie Fakten und Regeln geschrieben werden müssen, damit der Computer sie verarbeiten kann. Regeln sind Wenn-Dann-Aussagen; gemeinsam mit den Fakten beschreiben sie das Wissen über einen bestimmten Problemkreis.

Eine Anfrage (englisch „query“) wird gestellt, indem ein Ziel (englisch „goal“) vorgegeben wird. Die Inferenzmaschine, also der Teil des Systems, der Schlussfolgerungen zieht, interpretiert die Regeln nach einer festgelegten Lösungsmethode und versucht so, das Ziel zu erreichen.

Prolog verwendet eine Tiefensuche (englisch „depth first“) zusammen mit Unifikation und Backtracking. Unifikation gleicht passende Ausdrücke und Variablen miteinander ab. Beim Backtracking kehrt das System nach einem erfolglosen Lösungsweg zu einer früheren Entscheidung zurück und untersucht eine Alternative. Je nach Anwendungsfall können auch andere Verfahren eingesetzt werden.

Spezielle Konstrukte können die Suche beeinflussen. Bekannt ist die Rückwärtsabschneidung (englisch „cut“) in Prolog, mit der sich beispielsweise Ausnahmeregeln modellieren lassen.

Beispiel einer Schlussfolgerung

Gegeben sind drei Fakten: Lucia ist die Mutter von Minna, Lucia ist die Mutter von Klaus und Minna ist die Mutter von Nadine.

Hinzu kommt die Regel: Falls X die Mutter von Y ist und Y die Mutter von Z ist, dann ist X die Großmutter von Z.

Auf die Frage „Wer ist die Großmutter von Nadine?“ setzt das System die Fakten in die Regel ein. Da Lucia die Mutter von Minna und Minna die Mutter von Nadine ist, folgert es als Antwort: Lucia.

Einsatzgebiete

Typische Einsatzgebiete der logischen Programmierung sind Simulatoren, Generatoren sowie Diagnose- und Prognosesysteme. Sie wird unter anderem in der Künstlichen Intelligenz, in Datenbanken und in Expertensystemen eingesetzt.

Weitere im Artikel genannte Anwendungen sind Produktkonfiguratoren, Routenplaner und Marktsimulationen in Wirtschaft und Handel, medizinische Diagnosesysteme sowie Theorembeweiser und Theoremgeneratoren in der Mathematik. In den Naturwissenschaften können geologische und meteorologische Datensammlungen ausgewertet und abgefragt sowie Vorhersagesysteme für Wetter, Erdbeben und Wasserstände entwickelt werden. Hinzu kommen CAD und CAM, Soziologie, Psychologie und Computerlinguistik, etwa für maschinelle Übersetzung sowie das Erkennen und Verstehen gesprochener Sprache.

In Informatik und Computertechnik nennt der Artikel außerdem den Entwurf und die Simulation von Prozessoren und Schaltkreisen, Compilerbau, parallele Datenverarbeitung, Rapid Prototyping und Computerspiele, beispielsweise zur Steuerung von Taktik, Strategie und dem simulierten „intelligenten“ Verhalten anderer Spielfiguren. Beim Dokumentenmanagement gehören die Verarbeitung strukturierter Dokumente, das Semantische Web und XSLT zu den genannten Feldern. Der Artikel weist ausdrücklich darauf hin, dass diese Angaben zu den Einsatzgebieten nicht hinreichend belegt sind.

Weiterlesen

Programmierparadigma Grundlegend für den Entwurf von Programmiersprachen sind die Paradigmen der imperativen und der deklarativen Programmierung. Beim letzteren sind als wichtige … Mathematische Logik Die Aussagenlogik, stärkere klassische Logiken wie Prädikatenlogik der ... Es gibt viele Verbindungen zwischen der mathematischen Logik und der Informatik. Imperative Programmierung Imperative Programmierung (lateinisch imperare ‚anordnen', ‚befehlen') ist ein Programmierparadigma, nach dem „ein Programm aus einer Folge von Anweisungen … Deklarative Programmierung Die deklarative Programmierung ist ein Programmierparadigma, bei dem die Beschreibung des Problems im Vordergrund steht. Der Lösungsweg wird dann … Künstliche Intelligenz Künstliche Intelligenz (kurz KI, englisch artificial intelligence, kurz AI) ist ein Forschungs- und Anwendungsgebiet der Informatik. Prolog (Programmiersprache) Prolog (vom Französischen: programmation en logique, deutsch: „Programmieren in Logik“) ist eine Programmiersprache, die Anfang der 1970er Jahre maßgeblich … Tiefensuche Tiefensuche (englisch depth-first search, DFS) ist in der Informatik ein Verfahren zum Suchen von Knoten in einem Graphen. Sie zählt zu den uninformierten … Unifikation (Logik) Die Unifikation hat insbesondere in der Computerlogik und Computerlinguistik eine größere Bedeutung erlangt. So nutzt etwa die Inferenzmaschine des Prolog- … Backtracking Der Begriff Rücksetzverfahren oder englisch Backtracking (Rückverfolgung) bezeichnet eine Problemlösungsmethode innerhalb der Algorithmik. Datenbank Eine Datenbank, auch Datenbanksystem genannt, ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe einer Datenbank ist es, große … Expertensystem Ein Expertensystem (XPS oder auch ES) ist ein Computerprogramm, das Menschen bei der Lösung komplexerer Probleme wie ein Experte unterstützen kann, indem es … Wirtschaft Wirtschaft oder Ökonomie ist die Gesamtheit aller Einrichtungen und Handlungen, die der planvollen Befriedigung der Bedürfnisse dienen.