Teil A
Transcription
Teil A
Teil A Definition für berechenbare Zahlfunktionen Register-berechenbar: Eine Funktion f:⊆IN^k →IN heisst berechenbar genau dann, wenn es eine k-stellige Registermaschine M mit f = f_M gibt. WHILE-berechenbar: Eine Funktion f:⊆IN^k →IN heisst WHILE-berechenbar genau dann, wenn f=ACοτ(P)οEC für ein WHILE-Programm P gilt. Eine Funktion f ist WHILE-berechenbar genau dann, wenn sie Registerberechenbar ist. µ-Rekursion: Es seien Prk, µ~ und Sub die Operationen der primitiven Rekursion, µ-Rekursion und Substitution. Eine Funktion f:⊆IN^k →IN heisst µ-rekursiv genau dann, wenn sie sich in endlich vielen Schritten aus der Menge der rekursiven Grundfunktionen durch wiederholtes Anwenden der Operatoren Sub, Prk und µ~ erzeugen lässt. Definition für berechenbare Wortfunktionen Touring-berechenbar: Eine Wortfunktion f:⊆ (Σ*)^k → Σ* heisst berechenbar genau dann, wenn f=f_M für eine Touringmaschine M gilt. (Wobei Σ ein Alphabet und k∈IN ist) Band-berechenbar: Eine Wortfunktion f:⊆ (Σ*)^k → Σ* ist Band-berechenbar genau dann, wenn sie Touring-berechenbar ist. Touring-berechenbar = Band-berechenbar Zu jeder Touringmaschine M gibt es eine Bandmaschine M‘ mit f_M=f_M‘ bzw. t_M=t_M‘. Zu jeder Bandmaschine M‘ gibt es eine Touringmaschine M, die dasselbe Bandalphabet wie M hat und für die f_M=f_M‘ bzw. t_M=t_M‘ gilt. Nachweis: Band → Touring trivial, Aufspaltung des einen Bandes. Touring→ Band: „Zusammenkleben“ der Bänder ⇒ Neues Arbeitsalphabet Γ das aus k+1-Tupeln besteht, die jeweils als ein Symbol aufgefasst werden. Markieren der Kopfposition auf dem jeweiligen Band durch „überstreichen“ des jeweiligen Symbols. Zeitbedarf Bandmaschine im Vergleich zu Touringmaschine: Quadratisch Hilfssymbol(lemma) Zu jeder Bandmaschine M mit Ein-/Ausgabealphabet Σ, gibt es eine Bandmaschine M‘ mit dem Arbeitsalphabet Γ‘=Σ∪{B}, so dass f_M=f_M‘ und t_M=t_M‘ gelten. Nachweisidee: Simulation der Datenmenge, jedes Wort aus der ursprünglichen Datenmenge wird durch ein genügend grosses Wort (m≥2 und 2^m ≥ |Γ| der neuen Datenmenge verschlüsselt wird. Zusätzlich findet eine Anpassung der Eingabecodierung, sowie der Ausgabecodierung statt., so dass alle Datenworte gleichviel Platz m auf dem Band einnehmen. Für das Flussdiagramm werden zusätzliche Befehle der Form L_m , R_m usw. eingeführt, die jeweils auf m-Felder des Bandes wirken. Das Flussdiagramm der Bandmaschine wird dann dementsprechend verfeinert. Bandmaschine Datenmenge D:=Γ*xΓxΓ* wobei Σ⊂Γ und B∈Γ\Σ Darstellung als 3-Tupel (u,a,v) mit u,v∈Γ* und a∈Γ Befehlssatz einer Bandmaschine Kopfbewegung um ein Zeichen nach [L]inks oder [R]echts. Schreibbefehl: x∈Γ. x Test ist Zeichen unter Kopf gleich x. x? Konfigurationsmenge 2-Tupel aus (Marke im Flussdiagramm, (Datenelement)), wobei im Datenelement zusätzlich die Kopfposition markiert ist. Unterschied „heisst“ berechenbar - „ist“ berechenbar „Heisst“ berechenbar = mathematische Definition (theoretische Berechenbarkeit, da Lösungsweg vorhanden. „ist“ bererchenbar = tatsächliche maschinelle Berechenbarkeit. Zum Beispiel Speicher-/Zeitbedarf tatsächlich darstellbar. Berechenbarkeit über IN^k (Cantorsche Tupelfunktion) Die Cantorsche Paarungsfunktion π:IN^2→IN sei definiert durch: π(x,y):=Summe von i=0 bis x+y über i + y für alle x,y∈IN Für k=1,2,3 seien π^k:IN^k→IN induktiv wie folgt definiert: π^1(x):=x, π^(n+1)(x1,x1,....,xn+1):=π(π^n(x1,x2,...,xn),xn+1) für alle n,x,x1,...,xn+1∈IN mit n≥1 Eigenschaften: π^k ist bijektiv und berechenbar. Die Umkehrung von π ist berechenbar. Für f:⊆IN→IN, g:⊆IN^k→IN mit g=f(π^k) gilt: f berechenbar⇔g berechenbar Zusammenhang zwischen berechenbaren Wort- und Zahlfunktionen Chursche These Die Register-berechenbaren Funktionen sind genau die maschinell berechenbaren Zahlenfunktionen. Register-berechenbar ⇒ Touring-berechenbar Es sei Σ:={0} und f:⊆IN^k →IN Register-berechenbar. Dann gibt es eine Touring-berechenbare Funktion g:⊆ (Σ*)^k → Σ* mit g(0^x1,...,0^xn)=0^(f(x1,...,xn) für alle x1,...,xn ∈ IN. Nachweis über geeignete Simulation. Je Register der Registermaschine ein Band der Touringmaschine. Codierung der Eingabe x∈IN durch entsprechende Anzahl von Zeichen a∈Σ. Simulation der Registerbefehle durch entsprechende Bandoperationen. Über bijektive Standardnummerierung von Σ* Es sei Σ ein Alphabet, υ:IN→Σ* eine Standardnummerierung von Σ*und k∈IN. Die Funktion υ‘:IN^k→(Σ*)^k sei definiert, durch υ‘(i1,...,ik):=(υ(i1),..., υ(ik)) für i1,...,ik ∈IN. Es sei g:⊆(Σ*)^k →Σ*. Dann gilt: g berechenbar ⇔ υ^-1gυ‘ :⊆IN^k→IN berechenbar. Analog gilt für eine Funktion f: ⊆IN^k→IN: f berechenbar ⇔ υfυ‘^-1 : :⊆(Σ*)^k →Σ* berechenbar. Definiton der Standardnummerierungϕ (1) Es sei eine Ordnungsfunktion a: {1,..,8}→Ω definiert durch (a1,a2,...,a8):= (1,B,(,),:,,,R,L,). Es sei νΩ die aus a abgeleitete Standardnummerierung von Ω*. (2) Es sei νP(i):IN→BP definiert durch: νP(i):=νΩ(i) falls νΩ(i)∈BP „(:B,,)“ sonst (3) Es sei ξ:BM→P^1 definiert durch ξ(M):=ι^-1f_Mι (Wobei ι:IN→{1}*. ι(i):=1*) (4) Dann sei ϕ:IN→P^1 definiert durch ϕi:=ϕ(i)=ξνMνP(i) für alle i∈IN, die Standardnummerierung ϕ von P^1. Das heisst graphisch dargestellt: νP νM ξ IN → BP ⊆ Ω* → BM → P^1 ⊆ R^1 bzw. ϕ(i) := ξ νMνP(i) utm-Theorem, smn-Theorem, Rekursionssatz und Aquivalenzsatz von Rogers Standardkomplexität Φi Es sei eine totale Nummerierung Φ einer gewissen Menge von Funktionen von IN nach IN wie folgt definiert: Φi(x):=SZi(q0i,(ε,B,1^mB)) wobei qo die Anfangsmarke und SZ die Schrittzahlfunktion der Bandmaschine i ist. Φ heisst die Standardkomplexität zu ϕ. h(i,n,t) ist berechenbar Sei h(i,n,t):= 1+ϕi(n) für Φi(n) ≤ t falls Φi existitiert und 0 sonst. utm-Theorem (universelle Touringmaschine) Es sei ϕ:IN→P^1 die Standardnummerierung von P^1 und uϕ:⊆IN^2→IN definiert durch uϕ(i,x):=ϕi(x) für alle i,x ∈ IN. Dann ist uϕ berechenbar und heisst universelle Funktion von ϕ. Berechnet nach Eingabe von (i,x) das Programm (die Funktion) i für die Eingabe (an der Stelle) x. Beweis über h(i,n,t)-Funktion mit folgendem Flussdiagramm: 1: R0:=h(R1,R2,R3),2; 2: R0=0,3,4; 3: R3=R3+1,1; 4: R0=R0-1,5; 5:Halt. Gesucht wird mit diesem „Programm“ die kleinste Zahl t für die h(i,n,t)≠0 gilt. smn-Theorem (Übersetzungsfunktion) Es sei f∈P^2 eine beliebige 2 stellige berechenbare Funktion. Dann gibt es eine total-rekursive Funktion r∈R^1 mit ∀(i,j∈IN) (f(i,j)=ϕr(i)(j). Bestimmt aus gegebenen Band-Programmen neue Band-Programme mit vorgegebenen Eigenschaften. utm- und smn-Theorem sind fundamentale Anforderungen an Programmiersprachen. Rekursionssatz Zu jeder Funktion f∈R^1 gibt es eine Zahl n mit ϕn = ϕ f(n). Selbstreproduktion Es gibt eine Zahl n, so dass ϕn(x)=n für alle x∈IN. Äquivalenzsatz von Rogers Es sei ψ:IN→P^1 eine Nummerierung von P^1. Dann sind die folgenden Eigenschaften äquivalent: (1) Es gibt Funktionen g,h ∈ R^1 mit ϕ=ψg und ψ=ϕh (d.h. ϕ und ψ sind äquivalent.) (2) ψ erfüllt das utm- und das smn-Theorem: utm(ψ) :⇔ die universelle Funktion uψ:IN^2→IN von ψ ist berechenbar. (wobei uψ(i,x):=ψi(x)) smn(ψ) :⇔ (∀f∈P^2)(∃s∈R^1)(∀i,x)ψs(i)(x)=f(i,x) Definitionen für rekursive (entscheidbare) Mengen Charakteristische Funktion Eine Menge A ⊆IN^k (k≥1) heisst rekursiv genau dann, wenn die charakteristische Funktion cfA:IN→IN, definiert durch: cfA(x):= 1 falls x∈A , 0 sonst berechenbar ist. Über eine totale Funktion f A ⊆IN^k heisst rekursiv genau dann, wenn es eine totale berechenbare Funktion f∈R^1 gibt mit A=f^1({o}) Bild einer wachsenden totalen Funktion Sei A ⊆IN unendlich. Dann ist A rekursiv genau dann, wenn es eine wachsende Funktion f∈R^1 gibt mit A=Bild(f). IN/A rekursiv-aufzählbar Eine Menge A ⊆IN^k heisst rekursiv genau dann, wenn A und IN\A rekursiv-aufzählbar sind. Definitionen für rekursiv-aufzählbare Mengen Definitonsbereich einer partiellen Funktion Eine Menge A ⊆IN^k heisst rekursiv-aufzählbar genau dann, wenn es eine partielle berechenbare Funktion f: ⊆IN^k→IN gibt mit A=Def(f). Analog für Wortmengen. A⊆Σ* Bildbereich einer totalen Funktion Eine Menge A ⊆IN^k heisst rekursiv-aufzählbar genau dann, wenn A=∅ oder A=Bild(g) für ein g∈R^1 Projektionssatz Eine Menge A ⊆IN^k heisst rekursiv-aufzählbar genau dann, wenn A={x∈IN^k|(∃t)(x,t)∈B für eine rekursive Menge B⊆IN^(k+1)} Abgeschlossenheit für rekursive Mengen Schnitt, Vereinigung und Komplement Es gilt: A∩B: Denn cf(A∩B)(x)=min{cfA(x),cfB(x)} A∪B: Denn cf(A∪B)(x)=max{cfA(x),cfB(x)} IN\A: Denn cf(IN\A)(x)=1-cfA(x) für rekursiv aufzählbare Mengen: Schnitt und Vereinigung. Es gilt: A∩B: Sei f partielle Funktion von IN^k nach IN mit f=f_A+f_B Dann ist Def(f)= Def(f_A)∩Def(f_B) A∪B: „parallele“ Ausführung der Berechung von f_A und f_B hält eine der Berechnungen an, so ist x∈A∪B sonst nicht. Beispiele für eine Menge die rekursiv-aufzählbar aber nicht rekursiv ist Halteproblem (Kϕ bzw. K°ϕ ) Kϕ := {i∈IN|ϕi(i) existiert} (Selbstanwendbarkeitsproblem) K°ϕ := {(i,x) ∈ IN^2| ϕi(x) existiert} (Halteproblem) Beide Mengen sind rekursiv aufzählbar aber nicht rekursiv, denn die Komplemente sind nicht rekursivaufzählbar. Nachweis: K°ϕ ist rekursiv-aufzählbar, denn K°ϕ=Def(uϕ) und uϕ ∈ P^1. Kϕ ist rekursiv-aufzählbar, denn sei h:⊆IN→IN h(i):=uϕ(i,i) für alle i∈IN, dann ist h berechenbar mit Def(h)=Kϕ. Wäre K°ϕ rekursiv, dann müsste die Funktion h:IN^2→IN mit h(i,x)= 1 falls ϕi(x) existiert und 0 sonst existieren. Dies steht aber im Widerspruch zum Kurstext. Wäre Kϕ rekursiv, so wäre IN\Kϕ rekursiv-aufzählbar. Sei i∈IN und (Def(ϕ0),Def(ϕ1),...) die Folge aller rekursiv-aufzählbaren Teilmengen von IN dann gilt mit Definition von Kϕ: i∈ IN\Kϕ⇔i∉ Kϕ.⇔ i∉ Def(ϕi) ⇒ IN\Kϕ≠ Def(ϕi) für alle i∈IN. Da die Liste (Def(ϕ0),Def(ϕ1),...) alle rekursiv-aufzählbaren Teilmengen enthält kann IN\Kϕ nicht rekursiv-aufzählbar sein. Postsches Korrespondenzproblem Gibt es für eine Folge von Wortpaaren (ui,vi) eine Sortierung, so dass ui1ui2...uik=vi1vi2...vik gilt? Satz von Rice Falls F∈P und F≠∅ und F≠P ist, dann ist die Menge ϕ^-1(F)={i∈IN|ϕi∈F nicht rekursiv} Grob gesagt kann man keine nicht triviale Eigenschaft von Funktionen anhand ihrer Programme entscheiden. Korrektheitsprobem (nicht einmal rekursiv-aufzählbar) Es gibt kein Programm, dass feststellt, ob ein anderes Programm fehlerfrei arbeitet. Diagonalisierung Beweis Methode z.B. dafür, dass eine nicht berechenbare Funktion g:⊆IN→IN existiert. Seien alle partiell berechenbaren Funktionen f∈P^1 durchnummeriert. (das geht, da die Menge P^1 abzählbar unendlich ist.) und sei ϕi(i) der i-te Funktionswert an der Stelle i. Die Funktion g(i):= ϕi(i)+1 falls ϕi(i) existiert und 0 sonst. Dann ist g offensichtlich berechenbar ⇒ ∃k∈IN mit ϕk=g. Da sich aber g von jeder Funktion aus ϕi an der Stelle i unterscheidet ist g∉P^1 Widerspruch. Nummerierungen und induzierte Berechenbarkeit ((ν,ν)-Berechenbarkeit) Nummerierung einer Menge Eine Nummerierung einer Menge M ist eine surjektive Abbildung ν:⊆IN→M (ν,ν)-Berechenbar Es seien ν0:⊆IN→M0,..., νk:⊆IN→Mk Nummerierungen. Eine Funktion f:⊆M1xM2x...xMk→M0 heisst (ν1,ν2,...,νk,ν0)-berechenbar genau dann, wenn es eine berechenbare Funktion g:⊆IN^k→IN gibt mit: f(ν1(i1),ν2(i2),...,νk(ik))= ν0οg(i1,...,ik) für alle (i1,...,ik) mit (ν1(i1),ν2(i2),...,νk(ik))∈Def(f). Wir sagen auch f ist eine heisst (ν1,ν2,...,νk,ν0)-Spur von g. Berechnung auf rationalen Zahlen νQ:IN→Q, νQ<i,j,k>:=(i-j)/(k+1) ∀i,j,k∈ IN. Berechnung dann über eine Funktion g:⊆IN→IN mit f:⊆Q→Q über f:=νQοgονQ^-1 Berechnung auf reellen Zahlen Cauchy-Darstellung der reellen Zahlen Für w∈Def(ν_rat) sei x:= ν_rat(w) Die Cauchy-Darstellung ρ:⊆Σ^w→IR der reellen Zahlen sei wie folgt definiert: ρ(p)=x :⇔ es gibt u0,u1,...∈Def(ν_rat), so dass p=u0#u1#u2#... (∀k∈IN)(i>k)|ui-uk|≤2^-k und x=lim uk für k→∞ Typ-2 Maschine Modifikation der Touringmaschine. Eine k-stellige Typ-2 Maschine hat k unendliche Eingabebänder für Eingaben p1,p2,..,pk∈Σ^w ein überall unendliches Einwegausgabeband. Und endlich viele normale Touringbänder als Arbeitsbänder. (ρ,ρ)-Berechenbarkeit Eine Funktione f:⊆IR^n→IR heisst berechenbar genau dann, wenn sie (ρ,...,ρ,ρ)-berechenbar ist. Berechenbare reelle Funktionen x^2,x,x+y,x*y, 1/x,Wurzel (x), sin, log, Exponentialfunktion e^x Teil B Kontrolltouringmaschine Definition Kontrolltouringmaschine (Aufbau und Funktionsweise) Eine k-Band Kontrolltouringmaschine M ist eine Touringmaschine mit Eingabealphabet Σ∪{0,1}, Arbeitsalphabet Γ, einem Eingabeband (Band1) für x, einem Einwegeingabeband (Band0) für den zu x gehörigen „Beweis“, k-Arbeitsbändern, einem aktzeptierenden Endzustand q+ und einem verwerfenden Endzustand q-. Erkannte Sprache L_M={x∈Σ*|∃y∈{0,1}. τM(x,y)=1} wobei τM der von M berechnete Test ist. Und y als Hilfseingabe den nichtdeterministischen Anteil. y ist der „Beweis“ für die Eingabe auf Band1 wenn der Automat mit q+ anhält. reguläre Mengen(Sprachen) Von rechtslinearen Grammatiken erzeugt Reguläre Sprachen werden von Typ-3-(rechtslinearen)-Grammatiken erzeugt: G:=(Π,Σ,R,S) wobei Π die Menge der Nichtterminale ist, Σ ein Alphabet, S das Startnichtterminal und R eine Menge von Regeln(Zuordnungsvorschriften (U,V) für die gilt: ∀(U,V)∈R. U∈Π^1 ∧ V∈Σ*∪Σ*•Π d.h. alle Regeln in G haben die Form: A→wB,A→w mit A,B∈Π,w∈Σ* Von endlichen Automaten erkannt Ein endlicher Automat ist ein Quintupel A=(Σ,Q,q0,F,δ) mit Σ ist Alphabet, Q ist die Menge der Zustände, q0 ist der Anfangszustand, F ist die Menge der Endzustände und δ:=(QxΣXQ) ist die Überführungsrelation. Die von A erkannte(akzeptierte) Sprache L(A):= {x∈Σ*|∃q∈F. (q0,x,q)∈δ*} A heisst determiniert, wenn es für jeden Zustand q maximal einen Folgezustand für alle a∈Σ gibt. A heisst vollständig, wenn es für jeden Zustand q zu jedem a∈Σ mindestens einen Folgezustand gibt. Als Abschluss mit den Operatoren ∪,•,* Sei Σ ein Alphabet. (1) Die ∅ ist reguläre Menge über Σ. Ist a∈Σ, so ist die Wortmenge {a} eine reguläre Menge über Σ. (2) Sind X und Y reguläre Mengen, so auch X∪Y,X•Y,X* (3) Jede reguläre Menge lässt sich durch (1) und (2) definieren. Pumping-Lemma für reguläre Sprachen Sei L⊆Σ* regulär. Dann gilt: Es gibt ein n∈IN, so dass für alle t,t‘,z∈Σ* mit tzt‘∈L und lg(z)=n gilt: ∃u,v,w∈Σ*.(z=uvw ∧ v≠ε ∧ ∀i≥0.tuv^iwt‘∈L). Für n kann man die Zustandszahl eines endlichen Automaten A mit L(A)=L wählen. Wenn L regulär ist gibt es also eine Konstante n (die nur von L abhängt), so dass man in jedem Teilwort z der Länge n eines jeden Wortes x aus L (der Länge ≥ n) ein Teilwort v mit der Eigenschaft findet, dass beim Ersetzen von v in x durch eine beliebig häufige Wiederholung vî von v („Aufpumpen“) wiederum ein Wort aus L entsteht. Beispiel für eine nicht reguläre Menge {a^nb^n} a) Pumping-Lemma für reguläre Sprachen Angenommen L ist regulär. Dann gibt es ein n mit den im Pumpinglemma genannten Eigenschaften. Sei a^nb^n∈L und t:=ε, z=a^n, t‘=b^n. Dann kann z in u,v,w zerlegt werden mit z=uvw und v≠ε. Es gibt dann k∈IN mit 1≤k≤n und v=a^k. Mit i=0 gilt dann tuv^0wt‘=tuwt‘=a^(n-k)b^n∉L Widerspruch zum Pumpinglemma.⇒ L ist nicht regulär b) anschaulich, weil sich ein endlicher Automat nicht „merken“ kann wieviele beliebig viele a’s er gelesen hat. Im Gegensatz dazu Kellerautomat der die a’s auf dem Kellerspeicher „zwischenlagert“. rechtslineare Normalformgrammatiken haben die Form: A→aB,A→ε mit A,B∈Π und a∈Σ Umwandlung von rechtslinearen Grammatiken in rechtslineare Normalformgrammatiken mittels Transformation: 1) NT Normieren der Terminalregeln A→w wird zu A→wE,E→ε 2) VR Verkürzen der Regellängen: A→awB wird zu A→aC,C→wB 3) ELR Eliminieren längentreuer Regeln: A→B,B→aC wird zu A→aC Vom endlichen Automaten zum Regulären Ausdruck (Lij^k) Über die Rekursionsformel Allg. L(A)= ∪{L1j^n|j∈F}(∪{ε} falls q0∈F) für alle j∈F wobei n=|Q| Wobei Lij^k=Lij^(k-1)∪Lik^(k-1)•(Lkk^(k-1))*•Lkj^(k-1) gilt. Anschaulich: Ein Wort w überführt den Zustand i in den Zustand j, wobei als Zwischenzustände höchstens 1,..,k vorkommen. Potenzautomaten Zu jedem endlichen Automaten A gibt es einen vollständigen deterministischen Automaten B mit L(A)=L(B). Konstruktion über „WHILE“-Programm bzw. daraus resultierender Zustandtabelle.q,a,b,W\V Kontextfreie (Typ-2-)Sprachen Kontextfreie Grammatik für a^nb^n S→aSb|ε Beispiel für eine Menge die nicht kontextfrei ist a^nb^nc^n Nachweis über Pumpinglemma für Kontextfreie Sprachen Pumpinglemma für kontextfreie Sprachen Sei L kontextfrei. Dann gibt es ein p∈IN, so dass man jedes Wort z∈L mit lg(z)≥p so in Teilworte uvwxy zerlegen kann, dass gilt: z=uvwxy, vx≠ε, lg(vwx)≤p, ∀i≥0.uv^îwx^îy∈L Ist L=L(G) mit einer Chomsky-Normalformgrammatik G=(Π,Σ,R,S), so gilt die Aussage für jedes p≥2^#Π Regelmenge der kontextfreien Grammatik in Chomsky-Normalform Allgemein R von Kontextfreien Grammatiken. ∀(U,V)∈R. U∈Π^1 Chomsky-Normalform: 1) Enthält keine ε-Regeln. Mit Ausnahme von S→ε zur Erzeugung des leeren Wortes. 2) R⊆Π^1x(Π^2∪Σ), d.h. V besteht entweder aus einem Terminal oder aus 2 Nichtterminalen. Transformation von kontextfreien Grammatiken in Chomsky-Normalform ET Ersetzen von Terminalen A→ab, wird zu A→A’B‘,A‘→a und B‘→b VR Verkürzen von Regellängen A→ABC, wird zu A→AD,D→BC ELR Eliminieren längentreuer Regeln der Form A→B, B→b wird zu A→b PASCAL Syntax von PASCAL Backus Naur Form. Ist kontextfrei. PASCAL kontextfrei? Nein, da jede Variable vor ihrer Verwendung deklariert werden muss. Diverse „Mustersprachen“ und Aussagen dazu a^nb^m regulär Angabe eines endlichen Automaten. Regulärer Ausdruck: a*b* a^5b^5 regulär a^nb^n kontextfrei Regel: S→aSb|ε ww^R nichtdeterministisch kontextfrei Regel: S→0S0|1S1|ε w$wR deterministisch kontextfrei Angabe eines Kellerautomaten ww nicht kontextfrei w$w ist nicht kontextfrei Beweis mittels Pumpinglemma möglich {w∈{1,0}*|010 ist Teilwort} regulär Angabe eines endlichen Automaten a^nb^nc^n nicht kontextfrei Komplexitätstheorie Zusammenhang zwischen Platz und Zeitbedarf? t~M ≤ c^(s~M), falls s~M mind. log – wächst. D.h. der Zeitbedarf ist durch den zur Verfügung stehenden Platz begrenzt. Da auf beschränktem Platz(Band) nur eine endliche Anzahl von unterschiedlichen Konfigurationen entstehen kann. Wird aber 2mal dieselbe Konfiguration im Verlauf einer Rechnung erreicht, so befindet sich das Programm in einer Endlosschleife. s~M≤t~M, denn jeder Schreibschritt verbraucht mind. eine Zeiteinheit. Es kann also nicht mehr Band beschrieben werden, als Zeiteinheiten zur Verfügung stehen. P-NP-Problem P⊂NP? Definition von P und NP P:=∪ZEIT(n^k) für alle k∈IN (ZEIT(n^k):={L|Es gibt TM M mit L(M)=L und t~M∈Ο(n^k)} NP:=∪NZEIT(n^k) für alle k∈IN (NZEIT(n^k):={L|Es gibt KTM M die L beweist und t~M∈Ο(n^k)} Deterministische Abschätzung von NP NP⊆PSPACE⊆∪ZEIT((2^n)^c)) über c∈IN NP-hart Eine Menge X⊆Σ* heisst NP-hart genau dann, wenn ∀L∈NP. L≤pol X gilt. D.h. Es gibt f∈FP so dass x∈L⇔f(x)∈X ist. NP-vollständig Eine Menge X⊆Σ* heisst NP-vollständig genau dann, wenn sie NP-hart ist und X∈NP gilt. Beispiele für NP-vollständige Mengen 2D-Domino, SAT, 3SAT, CLIQUE, Hamiltonkreisproblem, TravelingSalesman, Rucksackproblem,... Bedeutung von A∈ZEIT(n^2) rekursiv ? Es gibt ein Touringmaschine, die A in O(n^2)Zeit erkennt. A ist rekursiv. TM hält immer. Bedeutung von A∈NZEIT(n^2) und rekursiv? Es gibt eine KTM M die x∈A in O(n^2)Zeit bei geeignetem Beweis erkennt. A ist aber nicht in NZEIT(n^2) entscheidbar, sondern nur in ZEIT(c^(n^2)) wg NZEIT(n^2)⊆∪ ZEIT(c^(n^2)) über alle c∈IN A dennoch rekursiv Bedeutung von A∈BAND(n^2) rekursiv? A∈Band (n^2) bedeutet, das es eine Touringmaschine gibt, die A mit einem Platzbedarf von maximal n^2 entscheidet , ob x∈A gilt oder nicht. Wobei lg(x)=n. Die Menge A ist rekursiv. Satz von Savitch Für alle Funktionen f:IN→IN mit log∈Ο(f) gilt: NBAND(f)⊆BAND(f^2) A∈ZEIT(f)? ZEIT(f):={L| Es gibt TM M mit LM=L und t~M∈Ο(f)} A=Sprache f=totale Funktion Konstruierbarkeit Zeitkonstruierbar: Eine Funktion f:IN→IN heisst zeitkonstruierbar, falls es eine Touringmaschine M gibt, so dass ∀n∈IN.fM(0^n)=0^(f(n)) und t~M∈Ο(f) Bandkonstruierbar: Eine Funktion f:IN→IN heisst bandkonstruierbar, falls es eine Touringmaschine M gibt, so dass ∀n∈IN.fM(0^n)=0^(f(n)) und s~M∈Ο(f) Jede Zeitkonstruierbare Funktion ist auch bandkonstruierbar.( wg. s~M≤t~M) Zeitshierarchiesatz ZEIT(f)⊂ZEIT(g) Sei g:IN→IN zeitkonstruierbar., n∈O(g), f:IN→IN, f∈O(g), g∉O(f(n)*log(f(n))), dann ist ZEIT(f)⊂ZEIT(g)