BuK/IIm12/Studenten/siclsche/Thema5

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

== Aufgabe 1 ==
Definieren Sie je eine totale Funktion für den Vorgänger und die Halbierung einer natürlichen Zahl. Definieren Sie außerdem eine Funktion mit $D_f = \mathbb{N}\backslash\{1234, 7266281\}$.

'''Vorgänger''' $f:\mathbb{N} \rightarrow \mathbb{N}$

$$f(n) = \begin{cases} n-1, & \text{wenn } n \geq 1,\\
0, & \text{sonst}.
\end{cases}$$

'''Halbierung''' $f:\mathbb{N} \rightarrow \mathbb{N}$

$$f(n) = \begin{cases} \frac{n}{2}, & \text{wenn n gerade},\\
\frac{n-1}{2}, & \text{sonst}.
\end{cases}$$

$D_f = \mathbb{N}\backslash\{1234, 7266281\}$

$$f(n) = \begin{cases} n, & \text{wenn } n \ne 1234,\ n \ne 7266281,\\
\perp, & \text{sonst}
\end{cases}$$

== Aufgabe 2 ==
Für $K = ((001,0),(01,011),(01,101),(10,001))$ gibt es eine Lösung. Die gesuchte Indexfolge heißt:

$$(2 \ 4 \ 3 \ 4 \ 4 \ 2 \ 1 \ 2 \ 4 \ 3 \ 4 \ 3 \ 4 \ 4 \ 3 \ 4 \ 4 \ 2 \ 1 \ 4 \ 4 \ 2 \ 1 \ 3 \ 4 $$

$$ 1 \ 1 \ 3 \ 4 \ 4 \ 4 \ 2 \ 1 \ 2 \ 1 \ 1 \ 1 \ 3 \ 4 \ 3 \ 4 \ 1 \ 2 \ 1 \ 4 \ 4 \ 2 \ 1 \ 4 \ 1 $$

$$ 1 \ 3 \ 4 \ 1 \ 1 \ 3 \ 1 \ 1 \ 3 \ 1 \ 2 \ 1 \ 4 \ 1 \ 1 \ 3)$$

Überprüfen Sie die angegebene Lösung per Hand.


'''Lösung für beide:'''

$$01100110100100101100110011010011010010011010010010110001001011010100100101$$

$$00100100101100110001010011010010011000100101100010010100100101001010011000100101$$

'''für x: '''

$$01 \ 10 \ 01 \ 10 \ 10 \ 01 \ 001 \ 01 \ 10 \ 01 \ 10 \ 01 \ 10 \ 10 \ 01 \ 10 \ 10 \ 01 \ 001 \ 10 \ 10 \ 01 \ 001 \ 01 \ 10$$

$$001 \ 001 \ 01 \ 10 \ 10 \ 10 \ 01 \ 001 \ 01 \ 001 \ 001 \ 001 \ 01 \ 10 \ 01 \ 10 \ 001 \ 01 \ 001 \ 10 \ 10 \ 01 \ 001 \ 10 \ 001$$

$$001 \ 01 \ 10 \ 001 \ 001 \ 01 \ 001 \ 001 \ 01 \ 001 \ 01 \ 001 \ 10 \ 001 \ 001 \ 01$$

'''für y:'''

$$011 \ 001 \ 101 \ 001 \ 001 \ 011 \ 0 \ 011 \ 001 \ 101 \ 001 \ 101 \ 001 \ 001 \ 101 \ 001 \ 001 \ 011 \ 0 \ 001 \ 001 \ 011 \ 0 \ 101 \ 001$$

$$0 \ 0 \ 101 \ 001 \ 001 \ 001 \ 011 \ 0 \ 011 \ 0 \ 0 \ 0 \ 101 \ 001 \ 101 \ 001 \ 0 \ 011 \ 0 \ 001 \ 001 \ 011 \ 0 \ 001 \ 0$$

$$0 \ 101 \ 001 \ 0 \ 0 \ 101 \ 0 \ 0 \ 101 \ 0 \ 011 \ 0 \ 001 \ 0 \ 0 \ 101$$

== Aufgabe 3==

Geben Sie Trichterbilder für den Einsatz einer TM als Akzeptator an: 

1. für semi-entscheidbare Sprachen.

[[Bild:Siclsche_TM-Semientscheidbar.jpg.png]]

2. für entscheidbare Sprachen.

[[Bild:Siclsche_TM-Entscheidbar.jpg.png]]

== Aufgabe 4 ==

Entwickeln Sie eine Turing-Maschine, welche die konstante Funktion $f(x)=5$ für alle $x\in\mathbb{N}$ berechnet.

[[Bild:Siclsche_TMkonsFkt.jpg|500px]]

== Aufgabe 5 ==

Definieren Sie die Begriffe Turing-aufzählbar und Truring-entscheidbar analog zur Turing-Berechenbarkeit  

'''Turing-aufzählbar'''

Die Menge muss abzählbar und die dazu gehörige Funktion durch eine Turing-Maschine $M$ berechenbar sein.

''' Turing-entscheidbar'''

Wenn die $\chi_M$ - Funktion durch eine Turing-Maschine berechenbar ist.

== Aufgabe 6 ==

Entwickeln Sie eine Turning-Maschine, welche den Nachfolger einer natürlichen Zahl berechnet.

[[Bild:Siclsche_TMNachfolger.jpg| 350px]]

==Kreativaufgabe: RADO-Funktion==
$\sum(n)$ bezeichnet die ''maximale'' Anzahl von Einsen (nicht unbedingt aufeinander folgend), die eine haltende TM über $\{1\}^*$ und $n$ Zuständen zzgl. eines Haltezustands auf ein anfangs leeres Band schreiben kann. Die Kopfposition am Ende der Berechnung spielt (im Gegensatz zur sonstigen Vereinabrung) keine Rolle.

$\sum:\mathbb{N} \rightarrow \mathbb{N}$ ist eine von Tibor RADO (ungarischer Mathematiker, 1895-1965) angegebene ''nicht berechenbare'' Funktion.

z.z.: $\sum$ ist ''nicht berechenbar''.

Methode: Indirekter Beweis

Vorbereitung:
* Beweis der folgenden beiden Eigenschaften der Funktion:
** $\sum(n) < \sum(n+1)$
** Für alle $n$ gilt $f(n) \leq \sum(n+k)$
* Wenn $f$ und $g$ Turing-berechenbare Funktionen sind, dann ist auch $g \circ f$ Turing-berechnbar. (Beweis!)


'''Beweis der 1. Eigenschaft: $\Sigma(n) < \Sigma(n+1)$'''

Fügt man einer bestehenden Turing-Maschine zu der RADO-Funktion mit $n$ Zuständen einen weiteren Zustand direkt nach dem Startzustand hinzu, so ist es dieser erweiterten Turing-Maschine möglich, mindestens eine "1" mehr auf das Band zu schreiben. Dies wurde mit folgendem Beispiel für $n=2$ verdeutlicht. Hierbei wird über die Ausgangs-Turing-Maschine viermal "1" auf das Band geschrieben, während bei der um den Zustand $q_{neu}$ erweiterten Turing-Maschine fünfmal "1" geschrieben wird.

Beispiel $n = 2$ und $n = 3$

[[Bild:TMrado2.jpg|300px]]  [[Bild:TMrado2+1.jpg|350px]]

Ergebnisse:

[[Bild:TMrado2_ergeb.JPG]] 

[[Bild:TMrado2+1_ergeb.JPG]]



'''Beweis der 2. Eigenschaft: Für alle $n$ gilt $f(n) \leq \sum(n+k)$'''

Die Funktion $f(n)$ wird durch eine Turing-Maschine $M_f$ berechnet. Diese besitzt $k$ Zustände und es können mit ihr zur Berechnung von $f(n)$ $n$ Einsen auf das Band geschrieben werden.

Weiterhin gibt es eine Turing-Maschine zu der RADO-Funktion, die maximal viele Einsen ($x$) bei $k$ Zuständen schreibt. Um mit dieser Turing-Maschine die $n$ Einsen zur Berechnung von $f(n)$ auf das Band zu schreiben, kommen maximal $n$ Zustände zu der bereits bestehenden Maschine hinzu. Die so entstandene Turing-Maschine schreibt also die urspürngliche Anzahl an Einsen $x$ und zusätzlich die $n$ Einsen der Funktion. Somit muss die Anzahl der Einsen von $\sum(n+k)$ mindestens $n$ betragen.