uebung3

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Loading

Inhaltsverzeichnis

Theorie

Im Gegensatz zu Funktionen sind Mengen nicht berechenbar, sondern entscheidbar. Man spricht bei Mengen von Entscheidbarkeit

relativ entscheidbare Mengen

Eine Menge $M_1$ ist relativ entscheidbar zur Menge $M_2 (M_1,M_2\subseteq A^*)$, wenn die charakteristische Funktion $\chi_{M_1,M_2}$ mit

$\chi_{M_1,M_2}(w)=\begin{cases}wahr & \text{,wenn } w\in M_1\\falsch & \text{, wenn } w\in M_2\setminus M_1\end{cases}$

eine totale und berechenbare (kurz: total berechenbar) Funktion ist. D.h. man kann für jedes Element der Menge $M_2$ sagen, ob es sich um ein Element der Menge $M_1$ handelt oder nicht.

(absolut) entscheidbare Mengen

Eine Menge $M\subseteq A^*$ ist (absolut) entscheidbar, wenn $M$ zu $A^*$ relativ entscheidbar ist, d.h. wenn $\chi_{M,A^*}$, kurz $\chi_{M}$, mit

$\chi_{M}(w)=\begin{cases}wahr & \text{,wenn } w\in M\\falsch & \text{, wenn } w\in A^*\setminus M\end{cases}$

eine total berechenbare Funktion ist.

Anders gesagt: $M$ ist entscheidbar, wenn es eine Prozedur (eine in einer beliebigen Programmiersprache implementierte Funktion) chi gibt, die für jedes Wort $w$ aus $A^*$ nach endlicher Zeit stoppt und entweder #t ($w\in M$) oder #f ($w \not\in M$) ausgibt.

 > (chi "bin_in_M")
 #t
 > (chi "bin_nicht_in_M")
 #f

Aufzählbar

Eine Menge $M\subseteq A^*$ heißt (rekursiv) aufzählbar, wenn es entweder eine total berechbare surjektive Funktion $f\colon\N\mapsto M$ gibt, oder es gilt $M = \emptyset$. Man nennt $f$ eine Aufzählprozedur oder ein Aufzählverfahren von $M$.

Stark vereinfacht: aufzählbar $=$ abzählbar + berechenbar

von Aufzählbar zu Entscheidbar

Im allgemeinen Fall sichert die Aufzählbarkeit einer Menge lediglich deren Semi-Entscheidbarkeit.

Eine Menge $M\subseteq A^*$ ist semi-entscheidbar, wenn die partielle (semi-charakteristische) Funktion $\chi'_M \colon A^*\mapsto\{\text{wahr}\}$ mit

$\chi'_M(w)=\begin{cases}wahr & \text{, wenn }w\in M\\\perp & \text{, sonst}\end{cases}$

berechenbar ist.

Übungsaufgaben zur Entscheidbarkeit und Aufzählbarkeit

Aufgabe 1 (Deutschmann, Horbach)

Wie viele berechenbare charakteristische Funktionen gibt es?

Hinweis: Potenzmenge unendlicher Mengen

$\mathscr{P}(A^*)$ besitzt überabzählbar unendlich viele Mengen

Die Teilmengen von $A^*$ sind selbst endlich oder abzählbar unendlich.

Deshalb gibt es überabzählbar unendlich viele charakteristische Funktionen $\chi_M$.



Aufgabe 2

Zeigen Sie, dass die beiden Mengen aus den Beispielen entscheidbar sind. Schreiben Sie je eine entsprechende Prozedur für die jeweilige charakteristische Funktion (ProgrammingWiki).

Beispiel 1: endliche Menge

$A^*=\{a,b\}^*$ und $M\subset A^*=\{w | w\in A^* \text{und } \left|w\right|=3\}$

Beispiel 2: abzählbar unendliche Menge

$M$ ist die Menge aller Wörter, die aus beliebig vielen a's und b's bestehen und mit a beginnen.

$A^*=\{a,b\}^*$ und $M\subset A^*=\{w=aw'| w'\in A^*\}$


Aufgabe 3 (Deutschmann, Horbach)

Zeigen Sie, dass die Menge der geraden Zahlen G eine aufzählbare Menge ist.

Wdh: Aufzählbar = abzählbar + berechenbar

abzählbar: Für die Menge der geraden Zahlen $G$ gilt: $G\subset\Z$, die abzählbar unendlich sind Beweis

berechenbar: Es existiert ein Algorithmus, der für die Funktion $f(x)$ für jedes $x \in D_f$ den zugehörigen Funktionswert $f(x)$ ermittelt

$f(x)=\begin{cases}-i & \text{, wenn i gerade}\\i+1 & \text{, wenn i ungerade}\end{cases}$



Aufgabe 4

Zeigen Sie, dass die Menge der Primzahlen P aufzählbar ist.

Primzahlen sind abzählbar unendlich Beweis.

Aufzählbar = abzählbar + berechenbar

Aufzählbar:

  1. es gibt eine Aufzählprozedur $h:\N\mapsto A^*$
  2. total berechenbar
  3. mind. surjektiv

Berechenbar = "Es existiert eine implementierte Funktion (also eine Prozedur)"


Für die Aufzählbarkeit fehlt noch ein Algorithmus für eine Funktion, welche die Primzahlen berechnen kann.

Aufgabe 5

Wir wissen, dass $A^*$ eine abzählbar unendliche Menge ist. Zeigen Sie, dass $A^*$ auch aufzählbar ist.

Hinweis: Hierzu ist es notwendig ein Aufbauschema für $A^*$ zu entwerfen und anschließend eine Prozedur dafür zu implementieren.

Aufgabe 6

Zeigen Sie, dass jede endliche Menge $M$ aufzählbar ist.

Lösung:

Aufzählbar = abzählbar + berechenbar

Laut Definition heißt eine Menge $M$ endlich, wenn es eine natürliche Zahl $n$ gibt, sodass eine Bijektion zwischen $M$ und der Menge aller natürlichen Zahlen kleiner als $n$ existiert, d.h. jede endliche Menge ist abzählbar.

Eine Menge $M$ heißt (rekursiv) aufzählbar wenn es entweder eine total berechenbare surjektive Funktion $f:N \mapsto M$ gibt, oder es gilt $M = \emptyset$. Man nennt $f$ eine Aufzählprozedur oder ein Aufzählverfahren von M.

Es gibt eine Funktion $f$, die als Eingabe die natürlichen Zahlen $\N$ nimmt und auf jedes Element der endlichen Menge $M$ abbildet. $f$ ist berechenbar, da es eine total berechenbare surjektive Funktion $f : \N \mapsto M$ gibt. Es wird der Reihe nach jedes Element aus $\N$ einem Element aus $M$ zugeordnet. Ist $f$ surjektiv, können die restlichen Elemente aus $\N$ auf ein beliebiges Element von $M$ abgebildet werden. Somit ist $f$ surjektiv, total und berechenbar.


Aufgabe 7

Die Menge $G$ der Gitterpunkte $(0,0),(0,1),...$ einer x-y-Ebene ist aufzählbar.

  1. Geben Sie eine Funktion f an, die $\N$ bijektiv auf $G$ abbildet.
  2. Definieren Sie eine Ordnungsrelation $p<$ in G
  3. Geben Sie eine Funktion k zur Berechnung der Platznummer $k(x,y)$ des betrachteten Gitterpunktes $(x,y)$ an.
  4. Geben Sie eine Aufzählprozedur für $G$ an und begründen Sie deren Berechenbarkeit.

Lösung:

zu 1. $$g(z) = \begin{cases} (x,y) & \text{, mit } x=w-y,\\ & y = z - t \text{, wobei }\\\\ & w = \lfloor \frac{\sqrt{8z+1}-1}{2}\rfloor,\\\\ & t = \frac{w(w+1)}{2} \end{cases} \text{, mit }z\in\N$$

zu 2.

Die Paare sollen nach dem aufsteigendem Funktionswert der Funktion $\pi (x,y) = \frac{(x + y)(x + y + 1)}{2} + y$ geordnet werden.

zu 3.

Die Funktion aus 2. sei $k(x,y)$.

zu 4.

Aufgabe 8

Das Halteproblem ist semi-entscheidbar. Beweisen Sie diese Aussage.



Aufgabe 9

Geben Sie für die Menge $FIBS$ der Fibonacci-Zahlwörter eine Aufzählfunktion an und begründen Sie deren Berechenbarkeit. Weisen Sie nach, dass $FIBS$ sogar entscheidbar ist.

Per Definition ist eine Menge $M$ aufzählbar, wenn es eine totale berechenbare Prozedur $f$ gibt, welche die Menge $\N$ auf die Menge $M$ abbildet. $M$ ist hier die Menge der Fibonacci-Zahlwörter.

Überarbeiten!!! Die Aufzählprozedur lautet wie folgt: $$f(n) = \begin{cases} g(n), & \text{wenn } g(n) \in \text{ M};\\ 0, & sonst. \end{cases}$$

Für $g(n)$ gilt: $$g(n) = \begin{cases} 0, & \text{wenn } n=0;\\ 1, & \text{wenn } n=1;\\ (n-1) + (n-2), & sonst. \end{cases}$$

Für beide, also für $f$ und $g$, lassen sich entsprechende Scheme Ausdrücke angeben:

Es wird noch eine charakteristische Funktion $\chi$ benötigt.

Aufgabe 10

Übertragen Sie die vorhergehende Übungsaufgabe sinngemäß auf die Menge der Quadratzahlen $QZ = \{n^2 | n\in\N\}$.

Aufgabe 11

Weisen Sie nach, dass die Menge $M$ aller "Wörter" aus $\{a,b\}^*$, die mit a beginnen, semi-entscheidbar ist.



Aufgabe 12

Definieren Sie die Menge der geraden Zahlen (Zahlwörter) und die der ungeraden Zahlen (Zahlwörter) und veranlassen Sie das ProgrammingWiki 30 Elemente der Vereinigungsmenge auszugeben.

$M_1$ ist die Menge der geraden Zahlen

$f_1(i)=string(2i)$

$M_2$ ist die Menge der ungeraden Zahlen

$f_2(i)=string(2i+1)$

Für die Vereinigung der beiden Mengen kann die folgende Funktion genommen werden:

$h(i)=\begin{cases}f_1(\frac{i}{2}) & \text{, wenn }i\text{ gerade}\\f_2(\frac{i-1}{2}) & \text{, wenn }i\text{ ungerade}\end{cases}$

Persönliche Werkzeuge