Kapitel 0 · 0.5
Theoretische Informatik
Theoretische Informatik klingt am Anfang abstrakt. In Wahrheit ist sie das Fundament unter fast allem, was wir spÀter bauen: Algorithmen, Suche, Sortierung, Graphen, Vektoren, Automaten, formale Sprachen, Grammatiken, Berechenbarkeit und Grenzen von Maschinen. Ohne diese Grundlagen wirkt moderne KI wie Magie. Mit diesen Grundlagen sieht man: KI ist ein System aus berechenbaren Bausteinen.
Warum dieses Kapitel existiert
KI steht nicht auĂerhalb der Informatik
Ein Sprachmodell kann beeindruckend antworten. Ein Bildmodell kann Objekte erkennen. Ein RAG-System kann Dokumente durchsuchen. Trotzdem laufen all diese Systeme nicht auĂerhalb der Informatik. Sie verarbeiten Zeichen, Zahlen, Vektoren, ZustĂ€nde, Speicher und Wahrscheinlichkeiten.
Ein Algorithmus ist nicht automatisch KI. Ein Modell ersetzt nicht jede Regel. Ein neuronales Netz ist nicht automatisch die beste Lösung. Oft ist ein sauberer Suchalgorithmus, ein Sortierverfahren, eine Zustandsmaschine oder eine Datenstruktur besser als ein Modell.
FĂŒr NOVA ist das zentral. NOVA soll nicht ĂŒberall blind ein LLM draufwerfen. NOVA soll wissen, wann sie suchen, sortieren, vergleichen, trainieren, abrufen, klassifizieren oder einfach eine klare Regel ausfĂŒhren muss.
Algorithmus
Was ist ein Algorithmus?
Ein Algorithmus ist eine endliche, eindeutig beschriebene Handlungsanweisung zur Lösung eines Problems. Er bekommt eine Eingabe, fĂŒhrt definierte Schritte aus und erzeugt eine Ausgabe.
Das klingt einfach, ist aber mĂ€chtig. Ein Algorithmus kann Zahlen sortieren, einen kĂŒrzesten Weg finden, eine Datei komprimieren, einen Text parsen oder eine Liste durchsuchen. DafĂŒr braucht er kein Bewusstsein und kein Training. Er folgt einer prĂ€zisen Vorschrift.
In mathematischer Form können wir einen Algorithmus als Abbildung verstehen. Er nimmt Werte aus einer Eingabemenge und liefert Werte aus einer Ausgabemenge.
Der Unterschied zu Machine Learning ist wichtig: Einen klassischen Algorithmus schreiben wir direkt auf. Ein Modell im Machine Learning wird dagegen aus Beispielen angepasst. Beides kann spÀter in NOVA zusammenarbeiten.
Klassische Problemlösungen
Animierte Algorithmen: Schritt fĂŒr Schritt durchlaufen
Algorithmen versteht man besser, wenn man sieht, wie sie arbeiten. Deshalb laufen die Beispiele hier nicht nur als Text, sondern als kleine Animationen. Du kannst sie abspielen, pausieren, zurĂŒcksetzen oder Schritt fĂŒr Schritt durchgehen.
Der wichtige Punkt: Diese Verfahren sind keine neuronalen Netze. Sie lernen nicht aus Daten. Sie folgen exakt beschriebenen Regeln. Genau deshalb sind sie fĂŒr NOVA trotzdem wichtig.
QuickSort: Pivot wÀhlen und rekursiv sortieren
QuickSort wĂ€hlt ein Pivot-Element. Kleinere Elemente kommen nach links, gröĂere nach rechts. Danach werden beide Seiten rekursiv sortiert.
In der Praxis sehr wichtig, weil QuickSort im Mittel schnell ist und oft wenig Zusatzspeicher braucht.
Animiertes Beispiel
Schritt 1 von 6
Ausgangsliste
QuickSort startet mit der unsortierten Liste.
Laufzeit
Im Mittel O(n log n), im schlechtesten Fall O(nÂČ), wenn die Pivot-Wahl ungĂŒnstig ist.
NOVA-Bezug
NOVA braucht solche Verfahren, wenn sie Daten effizient ordnen muss. Ein LLM sollte nicht fĂŒr Aufgaben benutzt werden, die ein Algorithmus exakt lösen kann.
Pseudocode
quicksort(L):
wenn LĂ€nge(L) <= 1:
gib L zurĂŒck
pivot = wÀhle ein Element aus L
links = alle Elemente < pivot
mitte = alle Elemente == pivot
rechts = alle Elemente > pivot
gib quicksort(links) + mitte + quicksort(rechts) zurĂŒckKomplexitĂ€t
Warum Effizienz wichtig ist
Ein Algorithmus kann korrekt sein und trotzdem praktisch unbrauchbar, wenn er zu langsam ist. Deshalb betrachtet man nicht nur, ob ein Verfahren funktioniert, sondern wie stark sein Aufwand mit der EingabegröĂe wĂ€chst.
Die O-Notation beschreibt dieses Wachstum grob. Sie sagt nicht, wie viele Millisekunden ein Programm exakt braucht, sondern wie sich der Aufwand verhĂ€lt, wenn n gröĂer wird.
| Notation | Name | Intuition | Beispiel |
|---|---|---|---|
| O(1) | konstant | Aufwand bleibt gleich | Array-Zugriff per Index |
| O(log n) | logarithmisch | Suchraum wird halbiert | binÀre Suche |
| O(n) | linear | einmal durch alle Daten | lineare Suche |
| O(n log n) | linear-logarithmisch | typisch fĂŒr gute Sortierung | Merge Sort, QuickSort im Mittel |
| O(nÂČ) | quadratisch | alle Paare vergleichen | Bubble Sort, Doppelschleifen |
| O(2âż) | exponentiell | alle Möglichkeiten explodieren | Teilmenge aller Entscheidungen |
| O(n!) | faktoriell | alle Reihenfolgen testen | Brute-Force-TSP |
Genau deshalb ist âfunktioniert dochâ nicht genug. Ein Verfahren muss auch skalieren. NOVA kann auf kleinen Demo-Daten schnell wirken, aber bei groĂen Wissensspeichern, Bilddaten oder TrainingslĂ€ufen braucht sie effiziente Verfahren.
Graphen und Optimierung
Travelling Salesman und Chinese Postman
Graphprobleme sind ĂŒberall: Routenplanung, Netzwerke, AbhĂ€ngigkeiten, Webseiten, Dokumentverweise, MissionszustĂ€nde und Wissensgraphen. Ein Graph besteht aus Knoten und Kanten.
Die Knoten können Orte sein. Die Kanten sind Verbindungen zwischen diesen Orten. Eine Kante kann ein Gewicht haben: Entfernung, Zeit, Energie, Risiko oder Kosten. Wenn Orte Koordinaten besitzen, kann die Distanz zwischen zwei Orten mit Vektorrechnung berechnet werden.
Aktuelle Route
A â B â C â D â E â A
Kosten â 803.4
Vergleichstour
A â B â D â C â E â A
Kosten â 953.3
Schon bei fĂŒnf Knoten sieht man: Eine andere Reihenfolge kann andere Gesamtkosten erzeugen. TSP sucht nicht irgendeine Runde, sondern die beste.
Travelling Salesman Problem
Beim Travelling Salesman Problem, kurz TSP, soll eine Rundreise gefunden werden, die jeden Knoten genau einmal besucht und am Ende zum Start zurĂŒckkehrt. Ziel ist die minimale GesamtlĂ€nge.
Mathematisch betrachtet man eine Menge von StÀdten V und eine Distanzfunktion d. Eine Tour ist eine Permutation der StÀdte. Gesucht ist die Permutation mit minimalen Gesamtkosten.
Beispiel mit A = (60, 80) und B = (210, 45):
Distanzmatrix aus Koordinaten
FĂŒr TSP und viele Graphprobleme brauchen wir Distanzen zwischen Knoten. Aus Koordinaten wird eine Distanzmatrix. Jede Zelle zeigt die Entfernung zwischen zwei Knoten.
| von / nach | A | B | C | D | E |
|---|---|---|---|---|---|
| A | 0.0 | 154.0 | 290.4 | 295.8 | 190.1 |
| B | 154.0 | 0.0 | 148.7 | 212.7 | 215.1 |
| C | 290.4 | 148.7 | 0.0 | 139.5 | 257.0 |
| D | 295.8 | 212.7 | 139.5 | 0.0 | 171.2 |
| E | 190.1 | 215.1 | 257.0 | 171.2 | 0.0 |
Eine solche Matrix ist spĂ€ter auch fĂŒr KI nĂŒtzlich: Bei Embeddings vergleichen wir keine StĂ€dte, sondern Vektoren. Die Idee bleibt Ă€hnlich: Wir messen NĂ€he, Abstand oder Ăhnlichkeit.
Warum das fĂŒr NOVA zĂ€hlt
Wenn NOVA spĂ€ter Missionen plant, Aufgaben priorisiert oder Wege durch einen Wissensgraphen sucht, muss sie unterscheiden: Will sie bestimmte Knoten besuchen? Will sie alle Verbindungen abdecken? Will sie die kĂŒrzeste Route? Oder sucht sie nur eine gute Heuristik? Das ist klassische Informatik, nicht Magie.
Vektoren
Die BrĂŒcke von Informatik zu Machine Learning
Vektoren sind geordnete Zahlenlisten. Sie sind eine der wichtigsten BrĂŒcken zwischen klassischer Informatik, Mathematik und moderner KI. Ein Bild kann als Vektor oder Tensor dargestellt werden. Ein Text kann ĂŒber Embeddings als Vektor dargestellt werden.
Wenn wir Objekte als Vektoren darstellen, können wir AbstĂ€nde, Ăhnlichkeiten und Richtungen berechnen.
Interaktives Beispiel
Ăndere die Werte der beiden 2D-Vektoren. Danach siehst du Distanz, Skalarprodukt und Cosine Similarity.
Rechnung
Distanz misst, wie weit zwei Punkte auseinander liegen. Cosine Similarity misst eher, ob zwei Vektoren in eine Ă€hnliche Richtung zeigen. FĂŒr RAG und Embeddings ist diese Richtung oft wichtiger als die reine LĂ€nge.
Ăberleitung zu RAG und Embeddings
Wenn NOVA spĂ€ter Dokumente durchsucht, vergleicht sie nicht nur Buchstaben. Ein Textabschnitt kann als Embedding-Vektor gespeichert werden. Eine Frage wird ebenfalls in einen Vektor ĂŒbersetzt. Danach sucht NOVA nach Vektoren mit hoher Ăhnlichkeit.
Formale Sprachen
Sprache als Menge von Zeichenketten
Eine formale Sprache ist eine Menge von Wörtern ĂŒber einem Alphabet. Ein Alphabet ist eine Menge erlaubter Zeichen. Ein Wort ist eine endliche Folge solcher Zeichen. Eine Sprache ist eine Menge solcher Wörter.
Diese Reihenfolge ist wichtig: Erst verstehen wir, was eine formale Sprache ist. Dann ordnet die Chomsky-Hierarchie verschiedene Sprachtypen. Danach schauen wir uns konkrete Automaten und Grammatiken an.
Beispiel einer Sprache
Chomsky-Hierarchie
Der Rahmen: Welche Maschine erkennt welche Sprache?
Die Chomsky-Hierarchie kommt vor den konkreten Grammatikbeispielen, weil sie den Rahmen liefert. Sie ordnet formale Sprachen danach, welche Art von Regeln nötig ist und welches Maschinenmodell diese Sprache erkennen kann.
| Ebene | Sprachtyp | Maschinenmodell | Beispiel | Intuition |
|---|---|---|---|---|
| Typ 3 | RegulÀr | Endlicher Automat | { a b⿠| n ℠0 } | einfache Muster ohne unbegrenzten Speicher |
| Typ 2 | Kontextfrei | Kellerautomat | { aâż bâż | n â„ 0 } | verschachtelte Strukturen mit Stack |
| Typ 1 | Kontextsensitiv | beschrÀnkte Turingmaschine | { a⿠b⿠c⿠| n ℠1 } | mehrere abhÀngige Bedingungen |
| Typ 0 | Rekursiv aufzÀhlbar | Turingmaschine | allgemeine berechenbare Probleme | volle allgemeine Berechnung |
Danach sind Automaten und Grammatiken keine losen Beispiele mehr: Ein endlicher Automat gehört zu regulĂ€ren Sprachen. Ein Kellerautomat gehört zu kontextfreien Sprachen. Eine Turingmaschine steht fĂŒr allgemeine Berechnung.
Automaten
ZustĂ€nde, ĂbergĂ€nge und akzeptierte Wörter
Ein Automat ist ein Modell fĂŒr ein System mit ZustĂ€nden. Er liest Eingaben Zeichen fĂŒr Zeichen und wechselt abhĂ€ngig vom aktuellen Zustand und dem gelesenen Zeichen in einen neuen Zustand.
Das ist extrem wichtig, weil viele Software-Systeme als Zustandsmaschinen verstanden werden können: Login-Flows, Missionsstufen, RoboterzustÀnde, Parser, DialogzustÀnde oder Trainingsphasen.
Beispielautomat fĂŒr L = { a bâż | n â„ 0 }
Dieser Automat akzeptiert Wörter, die mit genau einem a beginnen und danach nur noch b enthalten. Beispiele: a, ab, abb, abbb.
| Zustand | bei a | bei b | Bedeutung |
|---|---|---|---|
| q0 | q1 | qdead | Start, noch kein a gelesen |
| q1 | qdead | q1 | akzeptierend, danach nur b |
| qdead | qdead | qdead | Fehlerzustand |
Interaktiver Test
Gib ein Wort ĂŒber dem Alphabet {a,b} ein. Der Automat prĂŒft, ob es zur Sprache a bâż gehört.
Zustandslauf
q0 â a:q1 â b:q1 â b:q1 â b:q1
NOVA-Bezug
Eine Missionspipeline kann Àhnlich funktionieren: Zustand lesen, Ereignis verarbeiten, neuen Zustand setzen. Das ist keine neuronale Magie, sondern saubere Zustandslogik.
Grammatikbeispiele
Wie Regeln Wörter erzeugen
Nachdem der Rahmen durch die Chomsky-Hierarchie klar ist, schauen wir uns konkrete Grammatikregeln an. Eine Grammatik beschreibt, wie Wörter einer Sprache erzeugt werden.
Typ 3: RegulÀre Grammatik
Typ 2: Kontextfreie Grammatik
Eine mögliche Ableitung:
Typ 1: Kontextsensitiv
Berechenbarkeit
Nicht alles, was man fragen kann, ist automatisch lösbar
Theoretische Informatik zeigt nicht nur, was Maschinen können. Sie zeigt auch Grenzen. Es gibt Probleme, fĂŒr die kein allgemeiner Algorithmus existiert. Das berĂŒhmteste Beispiel ist das Halteproblem.
Das Halteproblem fragt: Gibt es einen Algorithmus, der fĂŒr jedes beliebige Programm und jede Eingabe entscheidet, ob dieses Programm irgendwann anhĂ€lt? Die Antwort ist nein.
FĂŒr KI ist diese Denkweise wichtig. Ein Modell kann beeindruckend wirken, aber es hebt grundlegende Grenzen der Berechnung nicht auf. Es kann falsche Antworten geben, unsicher sein, Kontext verlieren oder ein Problem nur heuristisch annĂ€hern.
NOVA-Ăberleitung
Warum NOVA diese Theorie braucht
Regeln
MenĂŒfĂŒhrung, feste Workflows, API-Routen und Statuslogik sind besser als klare Regeln modelliert.
Automaten
Missionen, Trainingsstufen und ZustÀnde lassen sich als Zustandsmaschinen verstehen.
Suche
RAG, Logs, Dokumente und Erinnerungen brauchen Suchverfahren und Datenstrukturen.
Vektoren
Embeddings, Ăhnlichkeit, Dokumentensuche und Bildfeatures beruhen auf Vektorrechnung.
Modelle
Bildklassifikation, Sprachverarbeitung und Vorhersagen brauchen gelernte Parameter.
Training
Training verĂ€ndert Parameter. Retrieval sucht Informationen. Diese Unterscheidung bleibt fĂŒr NOVA entscheidend.
Ein schlechtes KI-System nennt alles âKIâ. Ein gutes System trennt: Was ist Regel? Was ist Suche? Was ist Speicher? Was ist Vektorvergleich? Was ist Modell? Was ist Training? Genau diese Trennung macht NOVA spĂ€ter nachvollziehbar.
Zusammenfassung
Was du hier mitnehmen sollst
- â Algorithmen sind prĂ€zise Verfahren, nicht automatisch KI.
- â Animationen zeigen, dass Algorithmen Schritt fĂŒr Schritt ZustĂ€nde verĂ€ndern.
- â Suchen, Sortieren, QuickSort, Merge Sort und Graphverfahren sind klassische Problemlösungen.
- â LaufzeitkomplexitĂ€t erklĂ€rt, warum ein korrektes Verfahren trotzdem praktisch schlecht sein kann.
- â Travelling Salesman und Chinese Postman zeigen, dass Planung und Routenprobleme mathematisch verschieden sein können.
- â Vektoren sind die BrĂŒcke von klassischer Mathematik zu Machine Learning, Embeddings, RAG und Ăhnlichkeit.
- â Die sinnvolle Reihenfolge ist: formale Sprachen, Chomsky-Hierarchie, Automaten und dann konkrete Grammatikbeispiele.
- â Berechenbarkeit zeigt Grenzen: Nicht jede Frage ist allgemein algorithmisch lösbar.
- â NOVA wird besser, wenn wir Regeln, Automaten, Speicher, Suche, Modelle, Vektoren und Training sauber trennen.
NOVA Energie-Log
RTX-Verbrauch
NOVA schÀtzt hier, wie viel GPU-Energie deine Bildanalyse- und CUDA-LÀufe bisher ungefÀhr verbraucht haben.
Lade Energie-Daten...