Grundlagen der Informatik — Skript

Logik, Algorithmen, Datenstrukturen, Sortieren, Komplexität & UML

Kompakt aufbereitetes Skript mit Formeln, Beispielen und Skizzen — das erste Kapitel ist komplett kostenlos, der Rest schaltest du mit dem Modul frei.

Kap. 1

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.

Beispiel:Für die Aussage (A∧B)⇒C mit drei Teilaussagen besitzt die Wahrheitstafel 2³=8 Zeilen; nur wenn A und B beide wahr sind, muss zusätzlich C wahr sein, damit die Gesamtaussage wahr ist.

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.

Beispiel:Die Formel ¬(A∧¬B) lässt sich per De-Morgan umformen zu ¬A∨¬¬B = ¬A∨B — bereits in disjunktiver Normalform.

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).

Beispiel:Die Formel A∧¬A ist unerfüllbar (kein Wahrheitswert von A macht sie wahr), während A∨¬A eine Tautologie ist (jede Belegung macht sie wahr).

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).

Beispiel:Um M={¬P∨Q, ¬Q∨R, P} ⊨ R zu zeigen, bildet man M∪{¬R}. Resolution von P und ¬P∨Q liefert Q; Resolution von Q und ¬Q∨R liefert R; Resolution von R und ¬R liefert die leere Klausel □ — ein Widerspruch, also gilt M⊨R.
Kap. 2

Prädikatenlogik

🔒 Gesperrt

Die 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 freischalten
Kap. 3

Boolesche Algebra

🔒 Gesperrt

Die 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 freischalten
Kap. 4

Algorithmen: Grundbegriffe und Eigenschaften

🔒 Gesperrt

Bevor 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 freischalten
Kap. 5

Entwurfsprinzipien und Testen von Algorithmen

🔒 Gesperrt

Einen 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 freischalten
Kap. 6

Datenstrukturen I: Abstrakte Datentypen, Listen, Keller und Schlangen

🔒 Gesperrt

Datenstrukturen 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 freischalten
Kap. 7

Datenstrukturen 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 freischalten
Kap. 8

Komplexität von Algorithmen

🔒 Gesperrt

Um 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 freischalten
Kap. 9

Sortierverfahren

🔒 Gesperrt

Sortieren 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 freischalten
Kap. 10

Datenstrukturen III: Kürzeste Wege und minimale Spannbäume

🔒 Gesperrt

Graphalgorithmen 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 freischalten
Kap. 11

UML: Anwendungsfall-, Klassen- und Objektdiagramme

🔒 Gesperrt

Die 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 freischalten
Kap. 12

UML: Verhaltensdiagramme

🔒 Gesperrt

Wä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