Inhaltsverzeichnis
Berechenbarkeit
- Komplexität von Algorithmen und Problemen
- Grenzen Aufzeigen
- Berechnungsmodelle
Problemkategorien
- O(1) - Lookup
- O(log n) - Binärsuche in einer Sortierten Liste
- O(n) - majority, max, …
- O(n log n) - sortieren z.b. heap sort
- O(n^x) - Polynomiell → P
- O(x^n) - Exponentiell z.B. TSP → NP
Aber es hängt von Modell ab. Die Muster in erweiterten MA sind mächtig und weisen versteckte laufzeitkosten auf. → Reduktion auf das einfachste mögliche Modell - ohne prinzipiell etwas zu verlieren. bei den MA → einzige Textliterale sind zulässig.
Primfaktorzerlegung
Siehe Serie X
Reduktion auf Suchliterale
Bespiel: Eingabe Verdoppeln /(.*)/$1$1/ ! wird über ein Alphabet {0, 1} zu
/ασ/0α/ /ατ/1α/ /0σ/σ0/ /1σ/σ1/ /0τ/τ0/ /1τ/τ1/ /β1/τ1β/ /β0/σ0β/ /α// /β// ! //αβ/
Universeller Markov-Algorithmus
Ist ein MA der als Eingabe I = (ma, i) einen MA m und eine Eingabe i entgegen nimmt und die MA m auf die Eingabe i anwendet (simuliert).
Problem: Hört die Ausführung von ma auf i irgend einmal ab → Halteproblem.
Interessante Frage Stellung: Gibt es einen Algorithmus der Entscheiden kann ob eine MA m für die Eingabe i haltet?
→ wird
