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)