Logische Programmiermerkmale und Beispiele

Logische Programmiermerkmale und Beispiele

Der Logische Programmierung Es ist ein Programmierparadigma, das logische Schaltungen anstelle von mathematischen Funktionen verwendet, um zu kontrollieren, wie die Fakten und Regeln angegeben werden.

Anstelle eines sorgfältig strukturierten Kontrollflusss, der vorschreibt, wann sie ausgeführt werden sollen und wie Sie Anrufe zu Funktionen oder anderen Anweisungen bewerten, werden die logischen Regeln des Programms als logische Klauseln oder Prädikate geschrieben.

Beispiele für die logische Programmierung im Prolog. Quelle: Von Kuldeepsheoran1 - Screenshot, CC von -SA 3.0, Wikimedia Commons

Dieser Ansatz, der häufig in der genetischen und evolutionären Programmierung verwendet wird.

Jede Regel enthält einen Header und einen Körper mit einer formalisierten Logik anstelle einer ausführbaren mathematischen Funktion. Zum Beispiel: "Und es ist wahr (Kopf): Wenn C1, C2 und C3 wahr sind (Körper)". Die Fakten oder Ergebnisse werden ohne Körper ausgedrückt, wie "und ist wahr".

Mit einigen Programmiersprachen wie Prolog jedoch. Zum Beispiel: "C1, C2 und C3 hinzufügen und hinzufügen".

[TOC]

Eigenschaften der logischen Programmierung

Die logische Programmierung unterscheidet sich erheblich von den anderen vorhandenen Programmierstrategien. Anstelle von Anweisungen an einen Computer mit dem Programm werden Beziehungen zwischen Objekten hergestellt. Auf diese Weise kann der Computer diese Beziehungen argumentieren und somit logische Lösungen erreichen.

Innerhalb eines logischen Programms gibt es zwei Hauptcodesätze: Fakten und Regeln. Die Regeln gelten für die Fakten, um Kenntnisse über die Umwelt zu erhalten.

Wahrheit und logischer Abzug

Logische Programme können durch zwei wichtige Konzepte entschlüsselt werden: Wahrheit und logischer Abzug. Die Wahrheit kommt, wenn die Berechnung im Programm bei der Implementierung der Programmsymbole wahr ist oder nicht. Der logische Abzug bestimmt, ob eine logische Klausel eine Folge des Programms ist.

Kann Ihnen dienen: Arten von Anwendungssoftware

Diese Anweisungen werden immer als logische Sätze und Klauseln interpretiert, wobei das Ergebnis seiner Ausführung eine logische Folge der Berechnungen ist, die enthalten.

Logik erster Ordnung

Es ist ein Zweig der Aussagenlogik. Überlegen Sie, ob Objekte aus teilweise Perspektive der Welt wahr oder falsch sind, als Domäne bezeichnet. Die logische Programmierung basiert auf einer Verallgemeinerung der First -Order -Logik.

Diese Logik besteht aus Syntax und Semantik. Syntax ist die formale Sprache, die zum Ausdruck von Konzepten verwendet wird. Andererseits gibt die Semantik der ersten Logikformeln -Order -Order an, wie Sie den wahren Wert jeder Formel bestimmen können.

Diese Logik basiert neben einer Reihe von Axiomen und Inferenzregeln auf einem Alphabet und einer ersten Ordnung.

Klausale Form

Es ist eine Untergruppe der Logik der ersten Bestellung. Es hat eine normalisierte Form, in der ein Satz durch ein universelles Präfix oder eine Kette von universellen Quantifizierern und eine freie Menge von Klauselquantifizierern definiert wird.

Bei der Anfrage einer Konsultation aus dem Programm wird der Körper der Klausel, deren Überschrift übereinstimmt, berücksichtigt. Dies entspricht der Anwendung einer Inferenzregel in der Logik.

Als Übergang von Inferenz werden zwei Klauseln ausgewählt, die als Eigenschaft ein X -Dilemma (ein positives wörtliches) und das andere ein Dilemmax (ein negatives wörtliches) enthält (ein negatives wörtliches). Dieses Dilemma werden als komplementär bezeichnet.

Aus diesen beiden anfänglichen Klauseln wird mit allen Literalen eine neue Aufschlüsselungsklausel aufgebaut, mit Ausnahme der ergänzenden.

Künstliche Intelligenz

Die logische Programmierung ist eine Methodik, mit der Computer abgeleitet werden können, da es nützlich ist, Wissen darzustellen. Logik wird verwendet, um Wissen und Schlussfolgerung darzustellen, um es zu handhaben.

Kann Ihnen dienen: nticx

Die Logik, die zur Darstellung von Wissen verwendet wird, ist die Klauselform. Es wird verwendet, weil die erste Bestellung gut verstanden wird und alle Rechenprobleme darstellen kann.

Prolog ist eine Programmiersprache, die auf logischen Programmierideen basiert. Die Idee des Prologs ist es, Logik eine Programmiersprache erscheinen zu lassen.

Logische Programmierbeispiele

Beispiel 1

- Fakt: Rubí ist eine Katze.

- Regel: Alle Katzen haben Zähne.

- Beratung: Rubí hat Zähne?

- Schlussfolgerung: Ja.

Die Regel "Alle Katzen haben Zähne" können auf Rubí angewendet werden, da es eine Tatsache gibt, dass "Rubí eine Katze ist". Dieses Beispiel ist nicht mit einer Syntax einer echten Programmiersprache geschrieben.

Beispiel 2

Dieses Beispiel kann in Prolog geschrieben werden, um eine der bekanntesten logischen Programmiersprachen zu sein:

- weiblich (Alissa).

- männlich (Bobby).

- männlich (Carlos).

- weiblich (Doris).

- Son_ (Doris, Carlos).

- Son_ (Carlos, Bobby).

- Sohn_ (Doris, Alissa).

- Vater (f, p):- männlich (f), Sohn (p, f).

Dieses Programm ist schwer zu lesen, da sich Prolog bemerkenswert von anderen Sprachen unterscheidet. Jede Komponente des Codes, der „weiblich (Alissa) ähnelt“." es ist eine Tatsache.

Eine Regel lautet "Vater_ (f, p):- männlich (f), Sohn (p, f)". Das Symbol ":-" kann als "Es ist wahr, wenn" gelesen werden. Die Großbuchstaben bedeuten, dass die Variablen auf jedes Objekt angewendet werden können, sodass F Carlos, Doris, Alissa oder Bobby bedeuten kann. Dieser Code kann übersetzt werden wie:

- Alissa ist eine Frau.

- Bobby ist ein Mann.

- Carlos ist ein Mann.

- Doris ist eine Frau.

Es kann Ihnen dienen: Ausgabegeräte: Merkmale, welche Verwendung, Typen, Beispiele

- Doris ist Carlos 'Tochter.

- Carlos ist der Sohn von Bobby.

- Doris ist Alissas Tochter.

- "F ist der Vater von p" ist wahr, wenn f ein Mann ist und wenn P der Sohn von f ist.

Beratung

Angenommen, Sie möchten das Programm für weitere Informationen konsultieren. Sie können versuchen zu bitten, dass Sie von dem Pater Bobby sind: ?- Vater (Bobby, x). Das System zeigt die folgende Antwort an: x = carlos.

In diesem Fall tritt eine Beziehung auf, bei der einer seiner Werte eine Variable ist. Was er tat, war, verschiedene Objekte auf diese Beziehung anzuwenden, bis einer von ihnen logisch solide war.

Carlos 'einziger Vater ist Bobby und Bobby ist ein Mann. Dies befriedigte die Regel.". Wenn x gleich "Carlos" ist, ist die Logik solide.

Andere Konsultationen

Weitere allgemeinere Konsultationen können an Prolog durchgeführt werden, wodurch das System mehrere Ergebnisse erzielt wird:

- ?- Vater (Vater, Kind).

- Vater = Bobby

- Kind = Carlos

- Vater = Carlos

- Kind = Doris

Wie beobachtet werden könnte, erfordert logische Programmierung keine Informationen, dass Alissa oder Bobby Menschen sind, um Wissen über sie zu erhalten. Tatsächlich ist es nicht notwendig anzuzeigen, dass es ein Konzept namens Person gibt.

In den meisten nicht -logischen Programmiersprachen sollten diese Konzepte zunächst definiert werden, bevor Programme schreiben, die Informationen über Personen verarbeiten.

Verweise

  1. Deep AI (2020). Logikprogrammierung. Genommen von: Deepai.Org.
  2. Wikiversity (2020). Theorie der Programmiersprachen/Logikprogrammierung. Genommen von: in: in.Wikiversität.Org.
  3. Imperial College London (2006). Logikprogrammierung. Genommen von: doc.IC.AC.Vereinigtes Königreich.
  4. Jia-huai du (2020). Einführung in Logic Programmmm. Universität von Alberta. Genommen von: Eng.Ucy.AC.Cy.
  5. C2 Wiki (2020). Logikprogrammierung. Genommen von: Wiki.C2.com.