🧠 AI-Lab

Account

Lade Account...

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.

Regel ≠ Modell Suche ≠ Training Speicher ≠ VerstĂ€ndnis Algorithmus ≠ neuronales Netz gute Architektur = passendes Werkzeug fĂŒr passendes Problem

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.

A: X → Y x ∈ X = Eingabe y ∈ Y = Ausgabe A(x) = Ergebnis des Algorithmus

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

7
2
9
1
5
4

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ĂŒck

KomplexitÀ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.

NotationNameIntuitionBeispiel
O(1)konstantAufwand bleibt gleichArray-Zugriff per Index
O(log n)logarithmischSuchraum wird halbiertbinÀre Suche
O(n)lineareinmal durch alle Datenlineare Suche
O(n log n)linear-logarithmischtypisch fĂŒr gute SortierungMerge Sort, QuickSort im Mittel
O(nÂČ)quadratischalle Paare vergleichenBubble Sort, Doppelschleifen
O(2ⁿ)exponentiellalle Möglichkeiten explodierenTeilmenge aller Entscheidungen
O(n!)faktoriellalle Reihenfolgen testenBrute-Force-TSP
Beispiel bei n = 1.000.000 O(1): ungefĂ€hr 1 Schritt O(log n): ungefĂ€hr 20 Schritte O(n): ungefĂ€hr 1.000.000 Schritte O(nÂČ): ungefĂ€hr 1.000.000.000.000 Schritte

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.

G = (V, E) V = Menge der Knoten E = Menge der Kanten w(e) = Kosten oder Gewicht einer Kante Kosten(Pfad) = ÎŁ w(e)
ABCDETSP: Jeder Knoten genau einmal, zurĂŒck zum Start.

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.

V = {A, B, C, D, E} π = Reihenfolge der StĂ€dte Tour: π₁ → π₂ → ... → πₙ → π₁ Kosten(π) = Σᔹ d(Ï€á”ą, Ï€á”ąâ‚Šâ‚) mit πₙ₊₁ = π₁ Ziel: π* = argmin Kosten(π)

Beispiel mit A = (60, 80) und B = (210, 45):

d(A,B) = √((210 - 60)ÂČ + (45 - 80)ÂČ) d(A,B) = √(150ÂČ + (-35)ÂČ) d(A,B) = √(22500 + 1225) d(A,B) = √23725 ≈ 154.0
alle Reihenfolgen: n! symmetrische Rundreisen: (n - 1)! / 2 n = 5 → 12 echte Rundreisen n = 10 → 181.440 echte Rundreisen n = 20 → 60.822.550.204.416.000 echte Rundreisen

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 / nachABCDE
A0.0154.0290.4295.8190.1
B154.00.0148.7212.7215.1
C290.4148.70.0139.5257.0
D295.8212.7139.50.0171.2
E190.1215.1257.0171.20.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.

Vektor x = [x₁, x₂, ..., xₙ] Beispiel: x = [Breite, Höhe, Gewicht, Rundheit] NOVA-Beispiel: x = [0.8, 0.5, 0.7, 0.1]

Interaktives Beispiel

Ändere die Werte der beiden 2D-Vektoren. Danach siehst du Distanz, Skalarprodukt und Cosine Similarity.

Rechnung

ab
a = [2, 1] b = [4, 3] a · b = 2·4 + 1·3 = 11.00 ||a|| = √(2ÂČ + 1ÂČ) = 2.236 ||b|| = √(4ÂČ + 3ÂČ) = 5.000 Distanz = √((2-4)ÂČ + (1-3)ÂČ) = 2.828 cos(a,b) = (a·b) / (||a||·||b||) = 0.984

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.

Alphabet: ÎŁ = { a, b } Wort: w = abbab Menge aller Wörter: ÎŁ* Sprache: L ⊆ ÎŁ*

Beispiel einer Sprache

L = { w ∈ {a,b}* | w beginnt mit a und endet mit b } erlaubt: ab, aab, abb, aaab nicht erlaubt: a, b, ba, bba

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.

EbeneSprachtypMaschinenmodellBeispielIntuition
Typ 3RegulĂ€rEndlicher Automat{ a bⁿ | n ≄ 0 }einfache Muster ohne unbegrenzten Speicher
Typ 2KontextfreiKellerautomat{ aⁿ bⁿ | n ≄ 0 }verschachtelte Strukturen mit Stack
Typ 1KontextsensitivbeschrĂ€nkte Turingmaschine{ aⁿ bⁿ cⁿ | n ≄ 1 }mehrere abhĂ€ngige Bedingungen
Typ 0Rekursiv aufzÀhlbarTuringmaschineallgemeine berechenbare Problemevolle 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.

DFA = (Q, ÎŁ, ÎŽ, q₀, F) Q = Menge der ZustĂ€nde ÎŁ = Alphabet ÎŽ = Übergangsfunktion q₀ = Startzustand F = akzeptierende EndzustĂ€nde

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.

ababq0q1dead
Zustandbei abei bBedeutung
q0q1qdeadStart, noch kein a gelesen
q1qdeadq1akzeptierend, danach nur b
qdeadqdeadqdeadFehlerzustand

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

Akzeptiert: Das Wort gehört zur Sprache.

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.

G = (V, ÎŁ, P, S) V = Nichtterminale, also Hilfssymbole ÎŁ = Terminale, also echte Zeichen der Sprache P = Produktionsregeln S = Startsymbol

Typ 3: RegulÀre Grammatik

S → aB B → bB B → Δ
L = { a bⁿ | n ≄ 0 } Beispiele: a, ab, abb, abbb, ...

Typ 2: Kontextfreie Grammatik

S → aSb S → Δ

Eine mögliche Ableitung:

S → aSb → aaSbb → aaaSbbb → aaabbb
L = { aⁿ bⁿ | n ≄ 0 } Beispiele: Δ, ab, aabb, aaabbb Nicht erlaubt: abb, aab, abab, ba

Typ 1: Kontextsensitiv

L = { aⁿ bⁿ cⁿ | n ≄ 1 } Beispiele: abc, aabbcc, aaabbbccc Nicht erlaubt: aabcc, abbccc, aabbc

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.

Halteproblem: Eingabe: Programm P und Eingabe x Frage: HĂ€lt P(x) irgendwann an? Aussage: Es gibt keinen allgemeinen Algorithmus, der das fĂŒr alle P und x korrekt entscheidet.

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 wird geladen...

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