<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Markierungsalgorithmus</id>
	<title>Markierungsalgorithmus - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Markierungsalgorithmus"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Markierungsalgorithmus&amp;action=history"/>
	<updated>2026-05-30T08:13:33Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Markierungsalgorithmus&amp;diff=212735&amp;oldid=prev</id>
		<title>imported&gt;Xenein: /* growthexperiments-addlink-summary-summary:3|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Markierungsalgorithmus&amp;diff=212735&amp;oldid=prev"/>
		<updated>2024-11-15T03:01:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:3|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Der &amp;#039;&amp;#039;&amp;#039;Markierungsalgorithmus&amp;#039;&amp;#039;&amp;#039; (auch &amp;#039;&amp;#039;&amp;#039;Unterstreichungsalgorithmus&amp;#039;&amp;#039;&amp;#039;) ist ein [[Algorithmus]] zur Überprüfung von [[Horn-Formel]]n auf [[Erfüllbarkeit]]. Im Unterschied zu allgemeinen [[Aussagenlogik|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).&lt;br /&gt;
&lt;br /&gt;
== Horn-Formeln ==&lt;br /&gt;
{{Hauptartikel|Horn-Formel}}&lt;br /&gt;
&lt;br /&gt;
Horn-Formeln sind eine [[Konjunktion (Logik)|Konjunktion]] von Horn-Klauseln. Horn-Klauseln sind dabei spezielle [[Disjunktionsterm|Klausel]]n, 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.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Typ&lt;br /&gt;
! Disjunktion&lt;br /&gt;
! Implikation&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| &amp;lt;math&amp;gt;\neg x_1 \vee \neg x_2 \vee \ldots \vee \neg x_n&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt;x_1 \wedge x_2 \wedge \ldots \wedge x_n \rightarrow 0&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| &amp;lt;math&amp;gt;\neg x_1 \vee \neg x_2 \vee \ldots \vee \neg x_n \vee y&amp;lt;/math&amp;gt;&lt;br /&gt;
| &amp;lt;math&amp;gt;x_1 \wedge x_2 \wedge \ldots \wedge x_n \rightarrow y&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die Variable &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; kann für Klauseln vom Typ 2 auch 0 sein. In diesem Fall nennt man die Klausel auch einen Fakt. 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.&lt;br /&gt;
&lt;br /&gt;
== Algorithmus ==&lt;br /&gt;
Sei &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; eine beliebige Horn-Formel. Folgender Algorithmus gibt aus, ob &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; erfüllbar ist oder nicht. (&amp;#039;&amp;#039;Markieren&amp;#039;&amp;#039; bedeutet dabei, jedes Vorkommen einer Variable in &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; zu markieren.)&lt;br /&gt;
&lt;br /&gt;
:* Schritt 1:&lt;br /&gt;
:** Falls keine Fakten existieren:&lt;br /&gt;
:*** Ausgabe &amp;quot;erfüllbar&amp;quot;.&lt;br /&gt;
:** Sonst:&lt;br /&gt;
:*** Markiere alle Fakten.&lt;br /&gt;
:* Schritt 2:&lt;br /&gt;
:** Falls eine Klausel &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; aus &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; von Typ 1 existiert, so dass alle &amp;lt;math&amp;gt;x_i&lt;br /&gt;
&amp;lt;/math&amp;gt; markiert sind:&lt;br /&gt;
:*** Ausgabe &amp;quot;unerfüllbar&amp;quot;.&lt;br /&gt;
:** Falls keine Klausel &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; aus &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; von Typ 2 existiert, so dass alle &amp;lt;math&amp;gt;x_i&lt;br /&gt;
&amp;lt;/math&amp;gt; markiert sind:&lt;br /&gt;
:*** Ausgabe &amp;quot;erfüllbar&amp;quot;.&lt;br /&gt;
:** Falls eine Klausel &amp;lt;math&amp;gt;\psi&amp;lt;/math&amp;gt; aus &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; von Typ 2 existiert, so dass alle &amp;lt;math&amp;gt;x_i&lt;br /&gt;
&amp;lt;/math&amp;gt; markiert sind aber y nicht:&lt;br /&gt;
:*** Markiere y. &lt;br /&gt;
:*** Gehe zu Schritt 2.&lt;br /&gt;
:** Sonst:&lt;br /&gt;
:*** Ausgabe &amp;quot;erfüllbar&amp;quot;.&lt;br /&gt;
: Endet der Algorithmus mit der Ausgabe &amp;#039;&amp;#039;erfüllbar&amp;#039;&amp;#039;, so erhält man eine Belegung, die &amp;lt;math&amp;gt;\phi&amp;lt;/math&amp;gt; erfüllt, indem man alle markierten Variablen mit &amp;#039;&amp;#039;wahr&amp;#039;&amp;#039; belegt und die restlichen Variablen mit &amp;#039;&amp;#039;falsch&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Motivation des Algorithmus: Der Algorithmus markiert alle Variablen, die zwangsläufigerweise mit &amp;#039;&amp;#039;wahr&amp;#039;&amp;#039; belegt werden müssen (nämlich zuerst die Variablen in den Fakten, und danach in den Klauseln, die eine Implikation darstellen und bei denen die Variablen auf der linken Seite der Implikation schon alle mit &amp;#039;&amp;#039;wahr&amp;#039;&amp;#039; belegt sind). Wenn sich dabei kein Widerspruch ergibt, ist die Formel erfüllbar.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://lamboolda.com/logic#5 Online Markierungsalgorithmus auf Formeln anwendet]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mathematische Logik]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Xenein</name></author>
	</entry>
</feed>