Informatik

Wann ist eine Sprache L1L_1 auf eine Sprache L2L_2 reduzierbar?

Eine Sprache L1L_1 ist many-one auf eine Sprache L2L_2 reduzierbar (L1mL2L_1\le_m L_2), wenn es eine total berechenbare Funktion f:ΣΓf:\Sigma^*\to\Gamma^* gibt mit wL1f(w)L2w\in L_1 \Leftrightarrow f(w)\in L_2.

Erklärung

Die Funktion ff muss für jedes Eingabewort definiert sein; ihr Ausgabewort muss nicht immer in L2L_2 liegen. Ist L2L_2 entscheidbar und L1mL2L_1\le_m L_2, dann ist auch L1L_1 entscheidbar.

Beispiel

Sei L1={w{a}w ist gerade}L_1=\{w\in\{a\}^*\mid |w|\text{ ist gerade}\} und L2={ε}L_2=\{\varepsilon\}. Eine Reduktion ist:

f(w)={εwenn w gerade istawenn w ungerade istf(w) = \begin{cases} \varepsilon & \text{wenn } |w| \text{ gerade ist}\\ a & \text{wenn } |w| \text{ ungerade ist} \end{cases}

Denn εL2\varepsilon\in L_2 und aL2a\notin L_2.