Markierungsalgorithmus - LinkFang.de





Markierungsalgorithmus


Der Markierungsalgorithmus (auch Unterstreichungsalgorithmus) ist ein Algorithmus zur Überprüfung von Horn-Formeln auf Erfüllbarkeit. Im Unterschied zu allgemeinen aussagenlogischen Formeln, für die vermutet wird, dass kein Polynomialzeit-Algorithmus existiert (siehe Erfüllbarkeitsproblem der Aussagenlogik), ist mit diesem Markierungsalgorithmus auf der Menge der Horn-Formeln, die eine Teilmenge der aussagenlogischen Formeln darstellen, ein Polynomialzeit-Algorithmus bekannt (eine Implementierung in linearer Zeit ist möglich).

Horn-Formeln

Hauptartikel: Horn-Formel

Horn-Formeln sind eine Konjunktion von Horn-Klauseln. Horn-Klauseln sind dabei spezielle Klauseln, die höchstens ein positives Literal besitzen. Horn-Klauseln lassen sich nach den Regeln der Aussagenlogik auch als Implikation darstellen. Die folgende Tabelle gibt einen Überblick über die zwei möglichen Typen einer Horn-Klausel und ein Beispiel in Form der Disjunktion und der Implikation.

Typ Disjunktion Implikation
1 [math]\neg x_1 \vee \neg x_2 \vee \ldots \vee \neg x_n[/math] [math]x_1 \wedge x_2 \wedge \ldots \wedge x_n \rightarrow 0[/math]
2 [math]\neg x_1 \vee \neg x_2 \vee \ldots \vee \neg x_n \vee y[/math] [math]x_1 \wedge x_2 \wedge \ldots \wedge x_n \rightarrow y[/math]

Die Variable [math]n[/math] kann für Klauseln vom Typ 2 auch 0 sein. Horn-Formeln, die nur Klauseln vom Typ 1 enthalten, sind trivialerweise erfüllbar. Durch die Belegung der Variablen mit 0 wird die gesamte Aussage wahr. Horn-Formeln, die nur Klauseln vom Typ 2 besitzen, sind erfüllbar, indem man alle Variablen mit 1 belegt.

Algorithmus

Sei [math]\phi[/math] eine beliebige Horn-Formel. Folgender Algorithmus erkennt, ob [math]\phi[/math] erfüllbar ist, oder nicht.

Für alle Klauseln der Form [math]\psi= x_1[/math]:
Markiere [math]x_1[/math]
Solange [math]\phi[/math] Klauseln [math]\psi=\neg x_1 \vee \ldots \vee \neg x_n[/math] vom Typ 1 oder [math]\psi=\neg x_1 \vee \ldots \vee \neg x_n \vee y[/math] vom Typ 2 enthält, wobei [math]x_1, \ldots, x_n[/math] markiert sind und [math]y[/math] im Falle von Klauseln von Typ 2 noch nicht markiert ist:
Falls [math]\phi[/math] eine entsprechende Klausel [math]\psi[/math] vom Typ 1 enthält:
Beende den Algorithmus mit der Ausgabe unerfüllbar.
Andernfalls:
Wähle eine entsprechende Klausel [math]\psi[/math] vom Typ 2 beliebig und
markiere [math]y[/math] überall in [math]\phi[/math].
Beende den Algorithmus mit der Ausgabe erfüllbar. Wenn man alle markierten Variablen mit wahr belegt und die restlichen Variablen mit falsch, so erhält man eine Belegung, die [math]\phi[/math] erfüllt.

Motivation des Algorithmus: Der Algorithmus markiert alle Variablen, die zwangsläufigerweise mit wahr belegt werden müssen (nämlich zuerst die Variablen in den Klauseln, die nur aus einem positiven Literal bestehen, und danach in den Klauseln, die eine Implikation darstellen und bei denen die Variablen auf der linken Seite der Implikation schon alle mit wahr belegt sind, die Variable auf der rechten Seite.). Wenn sich dabei kein Widerspruch ergibt, ist die Formel erfüllbar.

Weblinks


Kategorien: Mathematische Logik

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Markierungsalgorithmus (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.