• Keine Ergebnisse gefunden

Theoretische Informatik 2 Übungsblatt 1

N/A
N/A
Protected

Academic year: 2021

Aktie "Theoretische Informatik 2 Übungsblatt 1"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Theoretische Informatik 2 Übungsblatt 1

Thomas Haas TU Braunschweig

Prof. Dr. Roland Meyer Sommersemester 2020

Ausgabe: 12.05.2020 Abgabe: 22.05.2020, 17:00

Geben Sie Ihre Lösungen bis Freitag, 22.05.2020 17:00 Uhr, per E-Mail an ihren Tutor ab.

Fertigen Sie dazu ihre Hausaufgaben direkt in .pdf Form an oder scannen ihre handschriftlichen Hausaufgaben ein. Geben Sie in Gruppen von4 Personenab.

Aufgabe 1: Von PDAs zu Turing-Maschinen [6 Punkte]

In der letzten Hausaufgabe haben Sie gezeigt, dass reguläre Sprachen durch TMs erkannt wer- den, indem Sie zu einem NFA eine entsprechende NTM gebaut haben. Nun sollen Sie zeigen, dass TMs auch (unverwunderlich) kontextfreie Sprachen erkennen.

Konstruieren Sie zu einem beliebigen PDAA= (Q,Σ,Γ,q0,#,δ)mit Akzeptanz beim leeren Stack, eine NTMMmitL(M)=L(A). Erklären Sie, warum ihre Konstruktion korrekt ist.

Hinweis:Benutzen Sie eine 2-Band NTM.

Aufgabe 2: TMs und berechenbare Funktionen [8 Punkte]

Sie dürfen im folgenden auch Mehrband-TMs benutzen. Dabei wird für die Ausgabe einer Mehrband-TM am Ende der Berechnung lediglich der Inhalt von Band 1 betrachtet. D.h. bei Ak- zeptanz muss auf Band 1 eine Konfiguration erreicht worden sein wie bei einer üblichen 1-Band TM (also von der Formqf.w). Die Konfiguration aller anderen Bänder wird ignoriert.

1. [4 Punkte] Konstruieren Sie eine TMMadd, die die Funktion add∶ N2 →N,add(n,m)=n+m berechnet. Werfen Sie einen Blick in die Vorlesungssaufzeichnung oder das Skript, um her- auszufinden wie die Eingabe und die Ausgabe kodiert werden.

2. [4 Punkte] Konstruieren Sie eine TM M, die die Funktion f ∶ {a,b} → {a,b,c} mit f(w)=awa.bwb.cwa+∣wbberechnet.

Aufgabe 3: Interpretation einer TM [6 Punkte]

Betrachten Sie die Turing-Maschine

M=(Q,{a,b},{a,b,A,B, },q0,δ,{qF})

wobeiQ={q0,qa,R,qb,R,qa,L,qb,L,qE,a,qE,b,qE,a,qE,b,qgoL,qF}undδgegeben ist durch folgenden Graphen.

(2)

q0

qa,R qa,E qa,L qa,E

qb,R qb,E qb,L qb,E

qgoL qF

aaR

X∣X∣L x∣x∣R

a∣A∣L

bAL

xxL

X∣X∣R xAR

b∣b∣R

X∣X∣L xxR

aBL

b∣B∣L

x∣x∣L

X∣X∣R

x∣B∣R YYL ∣ ∣R

YYL

Hierbei verwenden wirX ∈{A,B, },Y∈{A,B}undx∈{a,b}.

Geben Sie die berechnete (partielle) Funktion an und eine informelle Beschreibung der Arbeits- weise der Turing-Maschine. Beschreiben Sie dabei kurz welche ”Aufgaben” die einzelnen Zustän- de haben.

Aufgabe 4: Komposition von berechenbaren Funktionen [8 Punkte]

Seienf ∶ Σ1p Σ2undg ∶ Σ2p Σ3partielle berechenbare Funktionen. Zeigen Sie formal per Konstruktion einer TM„ dass die Komposition(g◦f)∶Σ1p Σ3mit(g◦f)(w)=g(f(w))berechenbar ist. In welchen Fällen ist diese Funktion undefiniert?

Bemerkung:Es reicht nicht einfach naiv beide TMs vonfundghintereinander auszuführen. War- um nicht? Unter welchen Umständen könnte dies zu Problemen führen? Schauen Sie sich noch einmal die Definition von TMs als Berechnungsmodel im Skript an.

Referenzen

ÄHNLICHE DOKUMENTE

kann man die von endlichen Automaten akzeptierbaren Sprachen auch anders (automatenfrei) beschreiben.. 3.  Wie vereinfacht (reduziert, minimiert) man endliche

"Theoretische Informatik kurzgefaßt" von Uwe Schöning angeleht und wurden aus den Unterlagen zu der Vorlesung "Informatik IV – Theoretische Informatik" an der TU

Der CYK-Algorithmus erwartet als Eingabe eine kontextfreie Grammatik (CFG) in Chomsky- Normalform (CNF).. Aufgabe 4: Die Syntax einer Programmiersprache als Grammatik.. In

Sie dürfen dabei die Turing-Maschinen aus Aufgabe 3 als Subroutinen benutzen, aber auch eigene Subroutinen definieren (diese müssen Sie aber formal als TM definieren!).. Erklären

Geben Sie an, wie man einen Entscheider M ′ M konstruiert, welcher die Kodierung einer solchen Berechnung genau dann akzeptiert, wenn es sich nicht um eine akzeptierende Berechnung

Begründen Sie ihre Wahl, indem Sie jeweils die Arbeitsweise einer passenden Turingmaschine erklären (genaue Konstruktionen

Zeigen Sie, dass sich das Problem PATH auf ACYCLICPATH mit einer logspace-many-one Reduktion reduzieren lässt. Geben Sie die Funktion explizit an und beweisen Sie, dass sie

Bemerkung: Eine erfüllende Belegung zu berechnen ist stärker als nur die Existenz solch einer Belegung zu finden.. Aufgabe 3: Entailment