Komplexität und Berechenbarkeit Das Studium von (abstrakten) Computermodellen gibt uns Einsichten über unsere eigenen (intellektuellen) Grenzen.
Wie komplex ist ein Problem? Wie viele Operationen sind nötig um abhängig von der Eingabelänge zu Lösung zu kommen? Beispiel: Unär nach Binär 11111111111111111 10001 5 Ersetzungsoperationen /^(1+)\1(α|$)/$1α0/ /^1(1+)\1(α|$)/$1α1/ /^1α/1/! /^$/0/! 1 11111111α1 2 1111α01 3 11α001 4 1α0001 5 10001
Rein literale Markov Algorithmen Ohne reguläre Ausdrücke Rein literale Markov Algorithmen Wie viele Operationen sind bei rein literalen Ersetzungsregeln nötig? Beispiel: Unär nach Binär 11111111111111111 10001 /1β/β0/ /0β/1/ /β/1/ /α1/βα/ /α// ! /1/α1/ //0/ ! 1 5 α11111111111111111 2 3 βα1111111111111111 1α1111111111111111 … 50 10001α 51 4 10001 51 Ersetzungsoperationen
Komplexitätsklassen Anzahl Operationen in Abhängigkeit der Eingabelänge n O(1) Konstant Addition O(log n) Logarithmisch Suche in einer geordneten Liste O(n) Linear Suche in einer ungeordneten Liste O(n log n) Quasilinear Sortieren von Elementen O(nx) Polynomiel Multiplication O(xn) Exponentiel Traveling Salesman Problem In der Informatik wir die O-Notation bei der Analyse von Algorithmen verwendet und gibt ein Mass für die Anzahl der Elementarschritte in Abhängigkeit von der Größe der Eingangsvariablen an.
Es gibt Programme die … … starten, laufen & selbständig stoppen … starten, laufen, laufen, laufen …
Es gibt Markow Algorithmen die … … starten, laufen und stoppen
Es gibt Markow Algorithmen die … … starten, laufen, laufen, laufen … z.B. ein Primzahlengenerator II (2) III (3) IIIII (5) IIIIIII (7) IIIIIIIIIII (11) IIIIIIIIIIIII (13) IIIIIIIIIIIIIIIII … …
Hält Algorithmus A für Eingabe E? Halteproblem Kann (algorithmisch) entschieden werden, ob ein Algorithmus A für eine bestimmt Eingabe E hält? H A Hält Algorithmus A für Eingabe E? JA oder E NEIN
Hält Algorithmus A für Eingabe E? Sorry … H A Hält Algorithmus A für Eingabe E? JA oder E NEIN Es gibt keinen Algorithmus H, der für beliebige (A, E) entscheiden kann ob der Algorithmus A zur Eingebe E hält. Das Halteproblem ist unentscheidbar!
Beweis (1) Annahme es gibt ein Algorithmus H, so dass … H Hält Algorithmus A für Eingabe E? A E JA NEIN oder Daraus lässt sich ein Algorithmus B bauen, so dass… B H A Hält Algorithmus A für Eingabe E? JA E NEIN JA
Hält Algorithmus B für Eingabe B? Beweis (2) Hält B auf die Eingabe von B? B H B Hält Algorithmus B für Eingabe B? JA B NEIN JA B hält auf B gemäss H und läuft weiter B hält nicht auf B gemäss H und hält Annahme H existiert war falsch
Siehe … https://youtu.be/wGLQiHXHWNk https://youtu.be/macM_MtS_w4
Diagonalisierung 𝐸 1 𝐸 2 … 𝐸 𝐷 𝐸 𝐷′ 𝐴 1 H ∞ 𝐴 2 𝐴 3 ⋮ ⋱ 𝐴 𝐷 𝐴 𝐷′ 𝐻 ?