Logik Beispiele (Logik Einführung Kapitel 9)
Im Laufe der Zeit wurden sehr viele Logiken für die unterschiedlichsten Anwendungsgebiete definiert.
In diesem Kapitel wollen wir einige der bekanntesten beispielhaft anführen.
Zu den Klassischen Logiken zählen z.B.
- die Aussagenlogik
- und die Prädikatenlogik.
Beispiele Nichtklassischer Logiken sind z.B.
- Mehrwertige Logiken
- Modallogiken
- und Nichtmonotone Logiken.
Aussagenlogik
(Logik Einführung Kapitel 9.1)
Die Aussagenlogik ist eine sehr einfache klassische Logik. Sie ist sehr intuitiv, weil sie sich an die natürliche Sprache anlehnt.
Aussagen werden üblicherweise mittels der Operatoren
- UND
- ODER
- WENN … DANN
- GENAU DANN WENN
verknüpft, und über einen einstelligen Operator
- NICHT
verneint.
Sie nicht sehr ausdrucksstark, da die Atome keine innere Struktur besitzen.
Beispiel – Mögliche Sätze in der Aussagenlogik
In der Aussagenlogik werden u.a. Sätze der folgenden Form untersucht:
- die_sonne_scheint UND wir_gehen_schimmen
- WENN rex_bellt DANN rex_ist_ein_hund
- zahl_durch_3_teilbar GENAU DANN WENN ziffernsumme_durch_3_teilbar
Beispiel – Die Wumpus-Welt in der Aussagenlogik
Betrachten wir wieder die Wumpus-Welt.
Innerhalb der Aussagenlogik könnten wir z.B. ausdrücken, dass
- WENN (NICHT GestankB1)
DANN (NICHT WumpusA1
UND NICHT WumpusB2
UND NICHT WumpusB1
UND NICHT WumpusC1)Die Tatsache, dass sich kein Wumpus in einem benachbarten Feld befinden kann, wenn kein Gestank wahrnehmbar ist, bedarf allerdings solch einer Regel für jedes Spielfeld:
- WENN (NICHT GestankC1)
DANN (NICHT WumpusB1
UND NICHT WumpusC1
UND NICHT WumpusD1
UND NICHT WumpusC2)- WENN (NICHT GestankA1)
DANN (NICHT WumpusA1
UND NICHT WumpusB1
UND NICHT WumpusA2)- etc.
Insgesamt wären also allein für diese Spielregel 16 Formeln notwendig.
Prädikatenlogik
(Logik Einführung Kapitel 9.2)
Sie kann als Erweiterung der Aussagenlogik betrachtet werden.
Hier hier ist zusätzlich eine innere Struktur und eine Quantifizierung der Atome möglich.
Zusätzlich zu den aussagenlogischen Elementen haben wir in der Prädikatenlogik
- Variablen
- Konstanten
- n-äre Funktionen auf Variablen und Konstanten
- Prädikate (als n-äre Relationen zwischen Objekten) auf Variablen, Konstanten und Funktionen
- Quantoren (Operatoren, die sich auf die Variablen beziehen) ‚FÜR_ALLE‘ und ‚ES_EXISTIERT_MINDESTENS_EIN‘
zur Verfügung.
Innerhalb der Prädikatenlogik lässt sich ein großer Bereich von Sätzen formalisieren und auf ihre Gültigkeit prüfen.
Sie spielt in der Mathematik, Informatik und Linguistik eine große Rolle und wird oft bei Expertensystemen und in der künstlichen Intelligenz eingesetzt.
Eine bekannte Form der angewandten Prädikatenlogik ist z.B. die Programmiersprache Prolog.
Beispiel – Mögliche Sätze in der Prädikatenlogik
In der Aussagenlogik werden u.a. Sätze der folgenden Form untersucht:
- FÜR_ALLE x: WENN bellt(x) DANN hund(x)
- bellt(Rex)
Daraus können wir schließen, dass
- hund(Rex)
Beispiel – Die Wumpus-Welt in der Prädikatenlogik
In der Prädikatenlogik können wir die 16 Sätze, die wir in der Aussagenlogik benötigen um das Nichtvorhandensein eines Gestankes in Bezug zur möglichen Position des Wumpus zu setzen, mittels einem einzigen Satz ausdrücken (wobei a und b Variablen sind):
- WENN (NICHT Gestank(a,b))
DANN (NICHT Wumpus(a,b)
UND NICHT Wumpus(minus(a),b)
UND NICHT Wumpus(plus(a),b)
UND NICHT Wumpus(a,minus(b))
UND NICHT Wumpus(a,plus(b)))wobei wir die Funktionen ‚minus‘ und ‚plus‘ entsprechend definieren müssen.
Mehrwertige Logiken
(Logik Einführung Kapitel 9.3)
Die wohl bekannteste mehrwertige Logik ist die Fuzzy-Logik, die auf der boolschen Logik (eine 2-wertige Logik mit den Operatoren UND, ODER, NICHT) aufbaut, aber unendlich viele Werte (dargestellt als reelle Zahl zwischen 0 und 1) für den Grad der Wahrheit besitzt.
Die Fuzzy-Logik wurde entwickelt, um unscharfes (menschliches) Wissen darzustellen.
Ihre Basis bilden so genannte unscharfe Mengen – Mengen in denen ein Element neben „enthalten“ und „nicht enthalten“ auch z.B. „ein wenig enthalten“ sein kann. Die Zugehörigkeit zu einer Menge wird meist durch eine so genannte Fuzzyfunktion definiert.
Sie wird hauptsachlich bei der Steuerung von Maschinen (auch „gewöhnlichen“ Haushaltsgeräten) und Robotern eingesetzt.
Beispiel – Fuzzyfunktion für das Alter eines Menschen
Angenommen wir haben
- Personendaten mit einer Angabe des Alters
und wollen diese Personen
- unscharf definierten Altersgruppen
wie
- „noch jung“
- „alt“
zuordnen.
Dies könnten wir durch die folgende Fuzzyfunktion ausdrücken:
Jedes Dreieck definiert eine der Altersgruppen – es umfasst einen Bereich von mehreren Jahren und bestimmt den Grad der Zugehörigkeit zu der jeweiligen Altersgruppe.
Eine Person mit 45 Jahren wäre so zu 75% noch jung und bereits zu 25% mittleren Alters.
Beispiel – Die Wumpus-Welt in einer mehrwertigen Logik
Betrachten wir wieder die Wumpus-Welt.
In einer mehrwertigen Logik wäre es nicht nur möglich auszudrücken, dass
- auf einem Feld ein Luftzug spürbar ist oder nicht
sondern auch
- verschiedene Grade des Luftzuges
zu differenzieren.
Ein leichter Luftzug könnte z.B. bedeuten, dass die Fallgrube noch einige Felder weit entfernt ist.
Modallogiken
(Logik Einführung Kapitel 9.4)
Sie enthalten, zusätzlich zu den Elementen der Prädikatenlogik, Operatoren mit denen Modalitäten wie z.B. „möglich“, „notwendig“, „immer (in der Zukunft)“, oder „manchmal/irgendwann (in der Zukunft)“ ausgedrückt werden können.
Beispiel – Mögliche modallogische Aussagen
Neben Sätzen wie
- „Es regnet“
kann auch mit Sätzen der Form
- „Irgendwann wird es regnen“
- „Möglicherweise wird es regnen“
umgegangen werden.
Beispiel – Die Wumpus-Welt in einer Modallogik
Grundlage ist wieder die Wumpus-Welt.
Wird auf Feld [B,1] ein Luftzug wahrgenommen, könnten wir in einer Modallogik ausdrücken, dass
- „Möglicherweise befindet sich eine Fallgrube auf Feld [C,1]“
Nichtmonotone Logiken
(Logik Einführung Kapitel 9.5)
Ihnen fehlt die Eigenschaft der Monotonie.
Dies bedeutet, dass generierte Erkenntnisse zu einem späteren Zeitpunkt (nach Hinzukommen neuen Wissens) revidiert werden können.
Hierzu verwendet man meist so genannte Default-Schlüsse. Ein Default-Schluss ist so lange gültig, bis er durch einen klassischen Schluss widerlegt wird.
Beispiel – Kann Tux fliegen?
In einer nichtmonotonen Logik wäre z.B. folgendes möglich:
Haben wir die Voraussetzung
- Tux ist ein Vogel
und eine Begründung
- Vögel können normalerweise fliegen
so können wir mit einem Default-Schluss
- Tux kann fliegen
schließen.
Erhalten wir die zusätzlichen Informationen
- Tux ist ein Pinguin
- Pinguine können nicht fliegen
schließen wir daraus klassisch, dass
- Tux kann nicht fliegen
Die zusätzliche Information führt also zu einer Revidierung des Default-Schlusses.
Beispiel – Die Wumpus-Welt in einer Nichtmonotonen Logik
Grundlage ist wieder die Wumpus-Welt.
In einer nichtmonotonen Logik wäre es möglich, aus der Tatsache, dass
- auf Feld [B,1] ein Luftzug wahrgenommen wird
mittels eines Default-Schlusses zu schließen, dass sich
- sowohl auf Feld [C,1],
- als auch auf Feld [B,2]
Fallgruben befinden.
Erhalten wir die zusätzlichen Informationen
- Kein Luftzug auf Feld [A,2]
schließen wir daraus klassisch, dass
- Keine Fallgrube auf Feld [B,2]
Durch den Schluss wird der Default-Schluss revidiert.