Aussagenlogik
Die Aussagenlogik ist das formale Fundament, auf dem Programmiersprachen, Schaltkreise und algorithmische Bedingungen aufbauen. Dieses Kapitel führt die Grundoperationen und wichtigsten Rechenregeln ein.
1.1 Aussagen, Junktoren und Wahrheitstafeln
Eine Aussage besitzt genau einen Wahrheitswert (wahr/falsch). Aus Aussagen A, B lassen sich mit Junktoren zusammengesetzte Aussagen bilden: Negation ¬A, Konjunktion A∧B, Disjunktion A∨B, Implikation A⇒B und Äquivalenz A⇔B. Eine Wahrheitstafel listet systematisch den Wahrheitswert der zusammengesetzten Aussage für jede mögliche Kombination der Wahrheitswerte ihrer Bestandteile auf.
Wahrheitstafel
Tabellarische Auflistung des Wahrheitswerts einer Aussage für jede Kombination der Teilaussagen.
Bei n Teilaussagen besitzt die zugehörige Wahrheitstafel 2ⁿ Zeilen, da jede Teilaussage unabhängig zwei Werte annehmen kann — dieses exponentielle Wachstum ist ein früher Vorgeschmack auf Komplexitätsbetrachtungen in späteren Kapiteln.
1.2 Äquivalenzumformungen und Normalformen
Die De Morganschen Regeln ¬(A∧B)≡¬A∨¬B und ¬(A∨B)≡¬A∧¬B erlauben es, Negationen durch die Formel hindurchzuziehen. Jede aussagenlogische Formel lässt sich in disjunktive Normalform (DNF: Disjunktion von Konjunktionen von Literalen) oder konjunktive Normalform (KNF: Konjunktion von Disjunktionen von Literalen) überführen.
Disjunktive Normalform (DNF)
Formel als Disjunktion von Konjunktionen einzelner Literale.
Normalformen sind praktisch wichtig, weil viele algorithmische Verfahren (z. B. das Erfüllbarkeitsproblem SAT) auf einer bestimmten Normalform aufsetzen — die Umformung in KNF ist z. B. ein Standardschritt in automatisierten Beweissystemen.
1.3 Erfüllbarkeit und Allgemeingültigkeit
Eine Formel heißt erfüllbar, wenn mindestens eine Belegung ihrer Variablen sie wahr macht, und allgemeingültig (Tautologie), wenn JEDE Belegung sie wahr macht. Eine Formel ist unerfüllbar, wenn keine Belegung sie wahr macht — äquivalent dazu, dass ihre Negation eine Tautologie ist.
Erfüllbarkeit
Eigenschaft einer Formel, für mindestens eine Variablenbelegung wahr zu sein.
SAT-Problem
Entscheidungsproblem, ob eine aussagenlogische Formel erfüllbar ist; erstes bekanntes NP-vollständiges Problem.
Das Erfüllbarkeitsproblem (SAT) — die Frage, ob eine gegebene aussagenlogische Formel erfüllbar ist — ist algorithmisch bedeutsam: Es ist das erste bewiesene NP-vollständige Problem und damit ein zentraler Referenzpunkt der Komplexitätstheorie (siehe Kapitel 8).
1.4 Resolution und das Deduktionstheorem
Um zu prüfen, ob eine Formelmenge M eine Formel F logisch impliziert (M⊨F), nutzt das Deduktionstheorem einen Umweg über Unerfüllbarkeit: M⊨F gilt genau dann, wenn M∪{¬F} unerfüllbar ist. Diese Rückführung ist algorithmisch wertvoll, weil sich Unerfüllbarkeit systematisch durch Widerspruchsherleitung nachweisen lässt, während der direkte Nachweis einer Folgerung schwerer zu automatisieren ist.
Resolvente
Neue Klausel, die durch Resolution aus zwei Klauseln mit komplementären Literalen entsteht.
Resolutionssatz
Eine Klauselmenge ist unerfüllbar genau dann, wenn sich durch wiederholte Resolution die leere Klausel herleiten lässt.
Die Resolutionsregel liefert genau ein solches Widerspruchsverfahren: Enthält eine Klausel (Disjunktion von Literalen) ein Literal A und eine andere Klausel dessen Negation ¬A, lässt sich eine neue Klausel (die Resolvente) bilden, die alle übrigen Literale beider Ausgangsklauseln enthält: aus (A∨C) und (¬A∨D) folgt die Resolvente (C∨D). Der Resolutionssatz besagt: Eine Klauselmenge ist genau dann unerfüllbar, wenn sich durch wiederholtes Anwenden der Resolutionsregel irgendwann die leere Klausel (der Widerspruch) herleiten lässt.
Kombiniert man beide Sätze, ergibt sich das Resolutionsverfahren zum automatisierten Beweisen: Um M⊨F zu zeigen, überführt man M∪{¬F} in Klauselform und wendet wiederholt Resolution an, bis entweder die leere Klausel entsteht (Beweis erfolgreich) oder keine neue Resolvente mehr möglich ist (Beweis gescheitert).
Prädikatenlogik
🔒 GesperrtDie Aussagenlogik kann keine Aussagen über Objekte und ihre Eigenschaften ausdrücken. Die Prädikatenlogik erweitert sie um Variablen, Prädikate und Quantoren und ist damit ausdrucksstark genug für die meisten mathematischen und informatischen Aussagen.
Dieses Kapitel gehört zum Modul Grundlagen der Informatik und ist nach dem Kauf sofort freigeschaltet.
Modul freischaltenBoolesche Algebra
🔒 GesperrtDie Boolesche Algebra überträgt die Gesetze der Aussagenlogik in eine algebraische Struktur, die die Grundlage jeder digitalen Schaltung bildet. Dieses Kapitel behandelt ihre Axiome und die Vereinfachung boolescher Ausdrücke.
Dieses Kapitel gehört zum Modul Grundlagen der Informatik und ist nach dem Kauf sofort freigeschaltet.
Modul freischaltenAlgorithmen: Grundbegriffe und Eigenschaften
🔒 GesperrtBevor konkrete Algorithmen und Datenstrukturen behandelt werden, klärt dieses Kapitel, was einen Algorithmus überhaupt ausmacht und welche Eigenschaften ihn korrekt und nützlich machen.
Dieses Kapitel gehört zum Modul Grundlagen der Informatik und ist nach dem Kauf sofort freigeschaltet.
Modul freischaltenEntwurfsprinzipien und Testen von Algorithmen
🔒 GesperrtEinen Algorithmus zu entwerfen ist nur die halbe Aufgabe — er muss auch systematisch auf Korrektheit geprüft werden. Dieses Kapitel behandelt gängige Entwurfsstrategien und Testmethoden.
Dieses Kapitel gehört zum Modul Grundlagen der Informatik und ist nach dem Kauf sofort freigeschaltet.
Modul freischaltenDatenstrukturen I: Abstrakte Datentypen, Listen, Keller und Schlangen
🔒 GesperrtDatenstrukturen organisieren, wie Daten im Speicher abgelegt und zugänglich gemacht werden. Dieses Kapitel behandelt das Konzept des abstrakten Datentyps sowie die grundlegenden linearen Strukturen.
Dieses Kapitel gehört zum Modul Grundlagen der Informatik und ist nach dem Kauf sofort freigeschaltet.
Modul freischaltenDatenstrukturen II: Graphen, Bäume und binäre Suchbäume
🔒 GesperrtÜber lineare Strukturen hinaus benötigen viele Probleme hierarchische oder vernetzte Datenstrukturen. Dieses Kapitel führt Graphen und Bäume als zentrale nichtlineare Strukturen ein.
Dieses Kapitel gehört zum Modul Grundlagen der Informatik und ist nach dem Kauf sofort freigeschaltet.
Modul freischaltenKomplexität von Algorithmen
🔒 GesperrtUm Algorithmen fair zu vergleichen, braucht es ein von konkreter Hardware unabhängiges Effizienzmaß. Dieses Kapitel führt die Landau-Notation ein und behandelt die Grundzüge der Komplexitätsklassifikation.
Dieses Kapitel gehört zum Modul Grundlagen der Informatik und ist nach dem Kauf sofort freigeschaltet.
Modul freischaltenSortierverfahren
🔒 GesperrtSortieren ist eines der am häufigsten untersuchten algorithmischen Grundprobleme. Dieses Kapitel behandelt mehrere klassische Sortierverfahren mit unterschiedlichen Laufzeit- und Speichereigenschaften.
Dieses Kapitel gehört zum Modul Grundlagen der Informatik und ist nach dem Kauf sofort freigeschaltet.
Modul freischaltenDatenstrukturen III: Kürzeste Wege und minimale Spannbäume
🔒 GesperrtGraphalgorithmen lösen praktisch bedeutsame Probleme wie Routenplanung und Netzwerkdesign. Dieses Kapitel behandelt die klassischen Algorithmen zur Bestimmung kürzester Wege und minimaler Spannbäume.
Dieses Kapitel gehört zum Modul Grundlagen der Informatik und ist nach dem Kauf sofort freigeschaltet.
Modul freischaltenUML: Anwendungsfall-, Klassen- und Objektdiagramme
🔒 GesperrtDie Unified Modeling Language (UML) liefert eine standardisierte grafische Notation, um Softwaresysteme zu entwerfen und zu dokumentieren. Dieses Kapitel behandelt die strukturellen Diagrammtypen zur Modellierung von Anforderungen und Datenmodellen.
Dieses Kapitel gehört zum Modul Grundlagen der Informatik und ist nach dem Kauf sofort freigeschaltet.
Modul freischaltenUML: Verhaltensdiagramme
🔒 GesperrtWährend Klassen- und Objektdiagramme die statische Struktur zeigen, beschreiben Verhaltensdiagramme, wie sich ein System über die Zeit verhält. Dieses Kapitel behandelt Sequenz-, Zustands- und Aktivitätsdiagramme.
Dieses Kapitel gehört zum Modul Grundlagen der Informatik und ist nach dem Kauf sofort freigeschaltet.
Modul freischalten