Registermaschine: LOAD/STORE Turingmaschine

Werbung
Registermaschine: LOAD/STORE
βŠ‚
Turingmaschine: 𝑀 = (𝑄, Ξ£, Ξ“, 𝐡, π‘ž0 , 𝐹, 𝛿). Zustandsmenge, Eingabealphabet, Bandalphabet Ξ£ Ξ“,
β‰ 
B=Blank, Startzustand, akzeptierende Endzustände, Zustandsüberführungsfunktion (𝑄 × Ξ“ β†’ 𝑄 ×
Ξ“ × {𝐿, 𝑅, 𝑁})
NTM: 𝑄 × Ξ“ β†’ 𝒫(𝑄 × Ξ“ × {𝐿, 𝑅, 𝑁}) ( -> Menge). T(x) kürzeste akz.Rechnung wenn M x akz, sonst 1.
TM simuliert NTM: 2𝑂(𝑑(𝑛)) βˆ’ 𝑧𝑒𝑖𝑑 𝑂(𝑠(𝑛) 𝑑(𝑛)) βˆ’ π‘π‘™π‘Žπ‘‘π‘§
Konfiguration π‘˜ ∈ Ξ“ βˆ— × π‘„ × Ξ“ βˆ— Zustand, Bandinhalt und Kopfposition zu Zeitpunkt t
Kellerautomat: NPDA = (States Q, Eingabealphabet Ξ£, Kelleralphabet Ξ“, Überführungsfunktion Ξ΄,
Startzustand z0, Kellergrundsymbol Z0, akzeptierende Zustände F)
M akzeptiert L wenn M für jedes x auf L in endl. Schritten in Endzustand übergeht.
L ist rekursiv aufzählbar wenn es eine TM M gibt, die L akzeptiert.
M entscheidet L wenn M jedes x aus L akzeptiert und für alle y aus Kompl. L hält.
L ist entscheidbar wenn es eine TM M gibt, die L entscheidet.
Church-Turing-These: Die im intuitiven Sinn berechenbaren Funktionen sind genau die, die durch
Turingmaschinen berechenbar sind.
Halteproblem (allgemein): H = {<M>w | M ist eine det. 1-Band-TM, die gestartet mit w hält }
Nicht entscheidbar: Eingabe y, Falls y = <M>: MH ? <M> e H, ja: Endlosschleife, nein: halte
Rekursiv aufzählbar:
Halteproblem (initialies): HΞ΅ = {<M> | M ist det. 1-B-TM, die gestartet mit Ξ΅ hält
Reduktion: Ist eine total berechenbare Fkt f: {0,1}*->{0,1}* für die gilt: x e L1 <=> f(x) e L 2... L1 <= L2
Sprachen:
Grammatik
Typ0: beliebig
Sprache
Rekursiv
aufzählbar
Automat
TM
Produktion
Abgeschlossen
Not
𝛼→𝛽
πΏβˆ— , 𝐿 β‹… 𝐿,βˆͺ,∩
𝐿̅
βˆ—
βˆ—
𝛼 ∈ 𝑉 𝑁𝑉
𝛽 ∈ π‘‰βˆ—
Typ1:
Kontextsensitiv NTM lin s(n)
𝛼𝐴𝛽 β†’ 𝛼𝛾𝛽
βˆͺ,∩, 𝐿 β‹… 𝐿, 𝐿̅, πΏβˆ—
βˆ—
𝐴 ∈ 𝑁, 𝛼𝛽 ∈ 𝑉
kontextsensitiv
𝛾 ∈ 𝑉+
Typ2: kontextfrei Kontextfrei
N Stack PDA
𝐴→𝛾
βˆͺ, 𝐿𝑅 , 𝐿 β‹… 𝐿, πΏβˆ— , 𝐿 ∩, 𝐿̅
βˆ—
𝐴 ∈ 𝑁, 𝛾 ∈ 𝑉
∩ πΏπ‘Ÿπ‘’π‘”
Typ3: regulär
regulär
DFA / NFA
π‘†β†’πœ–
βˆͺ,∩, 𝐿̅, 𝐿 β‹… 𝐿, πΏβˆ—
𝐴 β†’ π‘Žπ΅ ∨ 𝐴 β†’ π΅π‘Ž
=(Q,Ξ£,Ξ΄,q0,F)
𝐴 β†’ π‘Ž, 𝐴 β†’ πœ€
𝐴, 𝐡 ∈ 𝑁, π‘Ž ∈ Ξ£
Grammatik: Tupel (V Varaiblen, Ξ£ Alphabet Terminalen, S Startsymbol, P Menge von Produktionen)
Satz von Rice: Es ist nicht möglich irgendeinen nichttrivialen Aspekt des funktionalen Verhaltens einer
TM algorithmisch zu entscheiden. 𝑆 βŠ† (𝑅 = {𝑓|𝑓: {0,1}βˆ— β†’ {0,1}βˆ— π‘π‘’π‘Ÿπ‘’π‘β„Žπ‘’π‘›π‘π‘Žπ‘Ÿ})π‘šπ‘–π‘‘ βˆ… β‰  𝑆 β‰ 
𝑅. π‘ƒπ‘Ÿπ‘œπ‘”(𝑆)𝑖𝑠𝑑 π‘›π‘–π‘β„Žπ‘‘ π‘’π‘›π‘‘π‘ π‘β„Žπ‘’π‘–π‘‘π‘π‘Žπ‘Ÿ.
DTIME(t(n)) = { L| es ex. Eine det . TM die L entscheidet }
NTIME(t(n)) = { L | es ex. NTM die L entscheidet }
CLIQUE = { <G,k> | G ist Graph der vollständigen Teilgraph der Größe k enthält } [NP-vollst]
Hammilton-Kreis: HC = { <G> | G enthält Hamilton-Kreis } (Graph, der jeden Knoten einmal enthält
Traveling-Salesperson: TSP = { <G,c,k> | Graph H mit Kantengewichtsfunktion c hat einen HamiltonKreis mit Gewicht <= k }
Vertex Cover: VC = {<G,k> | G hat Knotenüberdeckung der Größe k } [NP-vollst]
Polynomiell reduzierbar: L1<=L2, Laufzeit für Berechnung von f(x) ist O(|x|^k), k e N
NP-schwer: L ist np-schwer wenn βˆ€π‘™ β€² ∈ 𝑁𝑃: 𝐿′ ≀𝑝 𝐿
NP-vollständig: 𝐿 ∈ 𝑁𝑃, 𝐿 𝑖𝑠𝑑 𝑁𝑃 βˆ’ π‘ π‘β„Žπ‘€π‘’π‘Ÿ
Satz von Cook:
Variable: x1..xn, Literal: x –x, Klausel der Länge n: n veroderte Literale, Ausdruck (KNF): Verundete
Klauseln. Size(Ξ¦) = Unds + Oders.
Belegung: Abbildung c: V -> {true, false}, c(Ξ¦) = Auswertung des Ausdrucks.
Eine KND heißt erfüllbar wenn es eine Belegung c gibt, so dass c(Ξ¦)=true
Erfüllbarkeitsproblem (Statisfiability Prob) SAT = {<Ξ¦> | Ξ¦ ist eine erfüllbare KNF } [NP-vollständig]
3SAT = {< Ξ¦ >| Ξ¦ ist KNF, jede Klausel hat 3 Literale aus 3 versch Variablen, Ξ¦ ist erfüllbar }
Binary Programming BP = {<A,b>|A e Mn,m(Z)*,b e Zn, Ex. y e {0,1}n : Ay <= b}
DFA – Äquivalenz von Zuständen: Zustände q, qβ€˜ sind äquivalent wenn für alle Wörter w gilt:
d(q,w) e F <=> d(qβ€˜, w) e F
NEQ
1. Paare mit einem akzeptierenden Zustand markieren
2. Solange noch ein Paar (pq) und ein Zeichen a sodass (d(p,a), d(q,a)) markiert ist, markiere
(pq).
NFA -> DFA
1. Potenzmenge der Zustände hinschreiben + Zustand für leere Menge
2. Kanten eintragen.
Rijk (DFA -> Regex)
π‘˜
𝑅𝑖𝑗
= {π‘₯ ∈ Ξ£ βˆ— |𝛿(π‘žπ‘– , π‘₯) = π‘žπ‘— 𝑒𝑛𝑑 π‘˜π‘’π‘–π‘› π‘’π‘β„Žπ‘‘π‘’π‘Ÿ π‘π‘€π‘–π‘ π‘β„Žπ‘’π‘›π‘§π‘’π‘ π‘‘π‘Žπ‘›π‘‘ β„Žπ‘Žπ‘‘ 𝐼𝑛𝑑𝑒π‘₯ > π‘˜}
βˆ—
π‘˜+1
π‘˜
π‘˜
π‘˜
π‘˜
𝑅𝑖𝑗
= 𝑅𝑖𝑗
βˆͺ 𝑅𝑖,π‘˜+1
(π‘…π‘˜+1,π‘˜+1
) π‘…π‘˜+1,𝑗
Reguläre Pump-Eigenschaft: L hat RPE falls gilt: βˆƒπ‘ ∈ 𝑁 βˆ€π‘§ ∈ 𝐿, |𝑧| β‰₯ 𝑝 βˆƒπ‘’, 𝑣, 𝑀 ∈ Ξ£βˆ— , 𝑧 = 𝑒𝑣𝑀 mit
1. |𝑒𝑣| ≀ 𝑝 2. |𝑣| β‰₯ 1 3. βˆ€π‘– β‰₯ 0: 𝑒𝑣 𝑖 𝑀 ∈ 𝐿
L ist reg. => L hat reg. PE. Nicht andersrum!
Kontextfreie Pump-Eigenschaft: L hat KFPE falls gilt: βˆƒπ‘ ∈ β„• βˆ€π‘§ ∈ 𝐿, |𝑧| β‰₯ 𝑛𝐿 βˆƒπ‘’, 𝑣, 𝑀, π‘₯, 𝑦, 𝑧 =
𝑒𝑣𝑀π‘₯𝑦: 1. |𝑣π‘₯| β‰₯ 1 2. |𝑣𝑀π‘₯| ≀ 𝑝 3. βˆ€π‘– β‰₯ 0: 𝑒𝑣 𝑖 𝑀π‘₯ 𝑖 𝑦 ∈ 𝐿
Grammatik beweisen:
βŠ‡: β€žJedes Wort in L kann durch meinen Grammatik erzeugt werdenβ€œ: Regelfolgen anwenden
βŠ†: β€žMeine Grammatik kann nur Wörter in L erzeugenβ€œ: n’s zählen etc
Herunterladen
Explore flashcards