date-created: 2024-06-11 12:25:30 date-modified: 2024-09-24 04:35:51
Reduktionen
anchored to 112.00_anchor_overview proceeds from 112.16_nicht_erkennbar_entscheidbar Tags: #computerscience #complexitytheory
Wir wollen uns ferner die Ergebnisse von 112.16_nicht_erkennbar_entscheidbar nochmal anschauen:
Es muss viele Sprachen außerhalb des Raumes geben!
Dabei haben wir eine Sprache konstruiert, die nicht spezifisch benannt/gelistet werden kann. Wir wussten ferner, dass sie nicht teil von ist!
WDHL | Komplement einer Sprache
[!Definition]
Sei eine Sprache über . Die Komplementsprache oder auch ist definiert durch: #card
Visuell etwa:
Es lässt sich jetzt eine Aussage über Komplementsprachen treffen:
Komplementsprachen entscheidbarer Sprachen sind entscheidbar
[!Satz]
Wir sagen, dass Also:
Eine Sprache ist Turing-entscheidbar genau dann, wenn ihr Komplement Turing-entscheidbar ist.
Wie würden wir das beweisen, was müssen wir konstruieren? (Turingmaschine!) #card
Wir beweisen das, indem wir eine Turingmaschine definieren.
Sei eine TM, die entscheiden kann - das heißt wir können etwa einen Aufzähler konstruieren, der klar entscheiden kann, ob ein Wort ist oder nicht!
Ferner definieren wir jetzt die “komplementierende Turingmaschine” als TM, die genau vertauscht. Also, wenn akzeptiert, dann verwirft ( wir invertieren damit die Ausgabe vollends!) Es folgt dann :
Und ferner können wir die Rückrichtung genauso beweisen!
Spannender wird diese Betrachtung, wenn wir schauen, ob man diese Struktur, bzw. Aussage auch für die Menge von erkennbaren Sprachen - oder allen anderen Sprachen, die nicht zwingend entscheidbar sind - bilden kann ( also wir wollen die obige Aussage für alle möglichen Sprachen umsetzen).
Wir definieren dafür jetzt: CoRE
coRE | complement-RE
Wir definieren diese Menge folgend:
[!Definition]
Die Menge i st definiert durch
Was sagt uns diese Mengenbeschreibung? Ferner was lässt sich über das Verhältnis zwischen sagen? #card
Eine Sprache liegt in der Menge, wenn ihr Komplement rekursiv aufzählbar ist!
(hier kann dann auch noch die Möglichkeit passieren, dass die TM nicht anhält, weil wir ja rekursiv aufzählbar einbeziehen!, aber das ist zu vernachlässigen) –> Wir wollen gleich noch herausfinden, wie genau diese beiden Mengen in Beziehung stehen, werden dabei herausfinden, dass der Schnitt dieser beiden Beschreibungen genau ist!
Daraus resultiert eine neue Frage:
Wie verhalten sich und zueinander?!
mögliche Betrachtung könnten also sein:
Wir wollen jetzt evaluieren, welcher der obigen Darstellungen dafür passt.
Wir wissen schon, dass liegt und alle Komplemente von ebenfalls entscheidbar sind. Damit wissen wir, dass sie definitiv nicht disjunkt sind!
Entscheidbare Sprachen sind in und in :
[!Definition]
Wir sagen, dass
wieso folgt das, warum können wir das aussagen? #card
Wir wollen diese Aussage beidseitig beweisen:
ist klar, da wir wissen, dass Wir haben aber auch bewiesen, dass Komplementsprachen entscheidbarer Sprachen sind entscheidbar
Ferner wissen wir also, dass liegt!
Ferner werden wir zeigen, dass dieser Schnitt genau alle regulären Sprachen beschreibt!
R =
Obig haben wir gesehen, dass im Schnitt liegen muss.
Gibt es Sprachen noch weitere Sprachen in ?
NEIN
[!Satz]
Wir wollen zeigen, dass ist! Wir behaupten also, dass
Wie können wir das am besten beweisen? Was ist die Idee / der Ansatz? #card
Idee: man kann eine TM konstruieren, die schaut, ob es in RE oder coRE steht –> sie ist also rekursiv aufzählbar, aber ferner auch ihr Komplement.
Wir bauen also eine TM für () und ihr Komplement für = . Wir konstruieren nun eine weitere TM welche folgende Operation durchläuft / beschreibt:
- Lasse und parallel auf der Eingabe laufen ( etwa über eine Zweiband-TM)
- Falls akzeptiert, dann soll auch akzeptieren
- Falls akzeptiert, dann soll verwerfen.
Was wir dann daraus folgern können:
Eine Sprache ist also Turing entscheidbar, wenn sowohl sie selbst als auch ihr Komplement semi-entscheidbar (also erkennbar) sind.
–> Daher ist also der Schnitt von nur /
Wir wollen uns noch das Komplement einer nicht entscheidbaren Sprache anschauen>
Komplement nicht entscheidbarer Sprachen
wird nicht erkennbar sein
[!Req]
Der Satz besagt jetzt folgend: , also genauer:
wie können wir das zeigen? #card
- Wir wissen bereits, dass (das haben wir gerade erst gezeigt!)
- Ferner wissen wir aber auch, dass
- Und dann können wir jetzt noch konstruieren: Für Sprachen muss daher folgen, dass ist - sonst würden wir einen Widerspruch erzeugen - und damit gilt auch
Also mit den Betrachtung können wir folgend schlussfolgern:
Der zweite Part gibt also an, dass wir garantiert sagen können, dass einer der beiden Sprachen ( garantiert nicht in RE sein wird (aber vielleicht in ))
Wir können jetzt noch ein Beispiel dafür betrachten:
Komplementsprache der universellen TM ist nicht
[!Bsp] Satz
Es gilt:
warum? folgt das? #card
- Wir wissen schon, dass aussagy
- über die Sprache wissen wir auch !
- Dadurch folgt aus Komplement nicht entscheidbarer Sprachen dann ->
- Ferner aber auch: denn nach Definition –> also wenn wir das Komplement des Komplements bilden, müssen wir wieder die Ursprungssprache erhalten, welche ist!
Bei dieser Beobachtung kann es zur Verwirrung kommen, weil die Komplementbildung bei solche beschriebenen Turingmaschinen teils komisch definiert ist -> also das Komplement ganz anders, als gedacht ist.
Nachträgliche Betrachtung
Das Konstrukt von ist grundsätzlich etwas verwirrend ( aber eigentlich auch richtig gut, weil es eine ungefähre Beziehung der einzelnen Bereiche zueinander darstellen kann)
-> Das Diagramm dazu ist sehr gut zum evaluieren und verstehen!
Was wir hier aussagen wollen:
Per Definition von können wir sagen, dass jedes Komplement einer rekursiv aufzählbaren Sprache automatisch in liegt ( da wir es genau so definiert / betrachtet haben).
Beispiel für |
[!Definition]
Wir wollen die Sprache (Gott ist) definieren, die einfach die Menge aller Turingmaschinen ist, die eine Sprache bzw kleensche Hülle erkennen kann.
Wie beschreiben wir dei Sprache? Was können wir über sie aussagen? #card
Beschrieben mit:
Es gilt hierbei - offensichtlich -
Wir können zeigen, dass
Das können wir durch eine Reduktion zeigen:
, durch eine Abbildungsreduktion
(klassiche Klausuraufgabe)
Wie können wir jetzt reduzieren?
-> Wir suchen eine explizite Teilmenge aus der zu reduzierenden Sprache und versuchen dann auf die Zielsprache abzubilden.
Betrachte also -> Es ist bekannt, dass
Dann betrachten wir eine neue Turingmaschine sie hat folgendes Verhalten:
Dadurch wissen wir, dass diese Funktion berechenbar ist was eine Voraussetzung ist! ( Weil wir damit wissen, dass diese Abbildung von (der Reduktion) möglich ist!)
(Das sind jetzt Turingmaschinen, die auf einem leeren Wort nicht halten!
Offensichtlich gilt dann: Und damit ist dann und da
( Wie können wir mit einer Turingmaschine denn erkennen, ob eine Turingmaschine nicht hält? (Das geht primär nicht,) ))
(Wir müssen noch zeigen, dass ) ( und ferner werden wir auch herausfinden, dass es dann nicht in liegen kann ( weil wir gleich zeigen, dass sie nicht ist!))
Das wollen wir auch durch eine Abbildungsreduktion zeigen: :
Wir betrachten also (das haben wir zuvor schon gezeigt) (Sie ist also das Komplement zur vorherigen TM, die auf gehalten hat!)
-> Wir betrachten eine neue TM welche folgend funktioniert:
(Das heißt sie wird immer für Schritte eine SImulation ausführen und danach - wenn sie hält (und somit eine TM akzeptiert) in eine Loop übergehen. Ferner wird sie, wenn sie danach noch nicht akzeptiert bzw gehalten hat, einen STOP umsetzen)
–> Damit gilt dann .
Das Komplement nicht entscheidbarer Sprachen
ist nicht erkennbar: wie zeigen wir das? #card
Dafür nutzen wir folgendne Hilfssatz:
Er sagt aus; Wenn eine Sprache in dem Bereich von liegt, dann kann ihr Komplement nichti n sein.
Damit sehen wir, dass es neben und noch einen Raum von Sprachen geben, weil der obige Satz sagt, dass eine Sprache liegt, ihr KOmplement nicht in liegt. Aber es muss ein Komplement existieren, was wir dann “irgendwo anders” verorten müssen.
Es muss sprachen, die rekursiv aufzählbar sind, aber ihr Komplement muss es nicht.
Beispiel
Wir wissen, dass
Wir können etwa das Beispiel der Turingmaschine und somit die dazugehörige Sprache betrachten: Ferner aber Wir sehen, dass
(Damit wissen wir, dass die Ursprungssprache in RE liegt und das Komplement ist. Da sie ein Komplement ist, gilt per Definition, dass das Komplement dann in liegen muss!) (Aber es darf nicht in liegen, weil es nicht entscheidbar und nur erkennbar ist!)
Anders bei : Die Diagonalsprache: (ist nicht in coRE oder RE! (also außërhalb)) ihr Komplement: (ist coRE) –> Diese Sprache können wir rekursiv aufzählen, weil wir ja einfach die entsprechende Tm nehmen und dann ausfuhren und schauen)
Warum wir aber nicht rekursiv aufzählen könne: Wir müssten die Eingabe über jede TM laufen lassen und “quasi warten, bis sie es berechnet hat, was eventuell endlos geht (Halteproblem)” und somit können wir maximal erkennen.
Wenn das Komplement einer entscheidbaren Sprachen immernoch in dem Bereich der entscheidbaren Sprachen sit, dann ist sie auch entscheidbar! . Wenn sie nciht entscheidbar aber erkennbar ist, dann muss ihr Komplement dann sein ( was wir per Definition angenommen haben).
Daher die Frage: Befindet sich das Komplement einer nicht entscheidbaren / erkennbaren Sprache dann im Bereich der entscheidbaren Sprachne liegt, wissen wir, wo sie dann in liegt? Also ist sie nur oder auch ? (also entscheidbar)
[!attention] Es gibt Sprachen, für die es keine TM gibt, die sie aufzählen kann.
Es gibt aber auch Sprachen die man erkennen, aber nicht entscheiden kann.
Wir wollen jetzt erörtern, ob es möglich ist, einzuschätzen, “ob die meisten Sprachen entscheidbar sind und dieser Randfall einer erkennbaren aber nicht entscheidbaren oft auftritt oder nicht”
Das möchten wir durch Reduktion betrachten und definieren.
Reduktion
links lässt sich zu rechts reduzieren:
Idee: Wir wollen von einer schweren Sprache zu einer schweren Sprache abbilden oder zeigen, dass eine Sprache doch leicht ist, weil wir von leicht zu dieser abbilden können.
[!Idea]
Reduktionen verknüpfen ein Problem mit einem anderen Problem , sodass dann folgende zwei Aussagen folgen:
welche wären das, was können wir damit dann “anfangen”? #card
Wenn “leicht” ist, dann mussauch “leicht sein”. ( Also wir konnten von 1 auf leicht abbilden und somit auch leicht sein!)
Weiterhin, wenn schwer ist, dann muss auch schwer sein ( weil wir darauf abbilden können!)
Abbildunsgreduktion
[!Definition]
Eine Sprache heißt auf Sprache abbildungsreduzierbar, falls es eine Turing-Berechenbare Funktion gibt, sodass dann gilt:
Was heißt das konzeptuell, warum brauchen wir diese berechenbare Funktion? Wann heißt diese Funktion dann Reduktion? #card
(Also wir können also einfach von der ersten Sprache auf die andere abbilden, unter Anwendung der Abbildung, die wir definiert haben)
Wir nennen die Funktion dann die Reduktion von auf , beschrieben mit (oder wenn es eindeutig ist, welche Funktion genommen wird, einfach )
Es muss hier also gelten, dass wir jeden Inhalt der einen Sprache durch Anwendung dieser Funktion - welche wir garantiert berechnen können (also sie ist entscheidbar!) - garantiert auf die zweite Sprache abbilden können. –> Wir wollen also aussagen, dass wir eine Äquivalenz zwischen dieser beiden Bereiche finden können!
Wir wissen noch aus 112.14_universal_turing_machine Wann eine Funktion turing-berechenbar / totalrekursiv ist! –> Das tritt genau dann ein, wenn die Eingabe bei einer TM den Funktionswert von ausgibt –> Das Wort also garantiert ausgeben kann. (Sie muss hierbei entscheidbar sein!)
Anleitung
[!Tip] Nutzen von Reduktionen
wofür werden Abbildungsreduktionen typischerweise genutzt? Was sind die Schritte dafür? #card
Wir nutzen sie typischerweise, um die Unentscheidbarkeit eines Problems zu zeigen, indem man ein bekannt unentscheidbares Problem darauf reduziert. Also das Beweismuster wäre folgend:
- Es ist bekannt, dass unentscheidbar ist Also
- Wir Zeigen, dass und dafür konstruieren wir die Funktion (TM!) und zeigen dann zwei Dinge:
- manipuliert Instanzen aus und hält dabei immer
Reduktion und Entscheidbarkeit
Reduktionen entscheidbarer Probleme sind entscheidbar
[!Satz]
Sei dann gilt jetzt folgend:
Welche zwei Aussagen folgen hieraus? #card
- Falls (semi)-entscheidbar ist, dann ist auch (semi-)entscheidbar! (Denn wir können von L1 auf L2 reduzieren)
- Falls nicht (semi-)entscheidbar ist, dann ist auch nicht (semi-)entscheidbar (Weil wir diese Komplexität von unserer “schwierigen Sprache” zu der anderen reduzieren (also translatieren können) und somit diese dann auch schwierig sein muss!)
Wir wollen das noch beweisen:
Part 1. Sei (semi-)entscheidbar also es gibt eine TM die (semi-)entscheidet –> Wir konstruieren dann eine TM , welche (semi-)entscheidet.
- Bei einer Eingabe von wendet dann zunächst die TM (die die Funktion berechnet) und anschließend wird sie die Ausgabe von dann bei anwenden –> damit erhalten wir ein Ergebnis, jenachdem, wie wir die Reduktion umsetzen! Part 2. Folgt direkt aus der ersten Aussage –> Denn es ist die Kontraposition:
Aber es gibt hier auch noch Folgerungen, die uns u.U. nichts neues Aussagen können!:
[!Bsp] Nichtsaussagend!
Sei , wobei nicht entscheidbar ist (dann ist also der rechte teil schon schwer, und wir versuchen ein anderes Problem auf dieses zu reduzieren Was können wir daraus folgern? #card
–> was uns nicht aussagen wird) Es folgt nichts für
Sei ferner , wobei entscheidbar ist. Dann folgt auch hier nichts neues für ()
Ferner wollen wir jetzt viele Beispiele betrachten, die uns helfen, das Konzept der Reduktion verstehen und anwenden zu können.
Leerheitsproblem | nicht Entscheidbarkeit, ob TM etwas akzeptiert
Mit diesem Beispiel möchten wir eine Reduktion exemplarisch durchlaufen und die Idee kommunizieren / beschreiben:
[!Req] Definition des Leerheitsproblem
Wir wollen die Menge von s finden, die nichts akzeptieren. Ferner beschrieben als:
was können wir über die Sprache aussagen, wie beweisen wir es eventuell? #card
Es gilt dann, dass –> Also sie ist nicht entscheidbar!
Wir können das etwa durch einen Widerspruch beweisen: Sei dafür etwa dann wissen wir, dass die Sprache ([](112.16_nicht_erkennbar_entscheidbar.md#)) liegt! (Also nicht entscheidbar ist).
Wir wollen jetzt zeigen,dass Wenn , dann muss auch sein (was ein Widerspruch ist).
Sei dann ferner eine TM die entscheiden kann. dann bauen wir ferner eine TM , die dann entscheidet ( und bauen eine Abbildung)
Idee für eine Turingmaschine , die wir dann nehmen, um zu entscheiden. Wir bauen eine TM auf, die alle Wörter, die nicht sind verwirft ( sie quasi das Komplement einer TM, die genau nur ein einziges Wort erkennt und alle anderen verwirft). Wenn jetzt das Wort akzeptiert wird - dann ist es und dann simuliert die obig konstruierte TM dann die Eingabe auf die Turing-Maschine .
Auf Input , wende an. Wenn R akzeptiert, dann L(M) = ∅ und 〈M, w〉 /∈ ATM. Aber das reicht nicht: Wenn R verwirft wissen wir nichts weiter.
I Stattdessen baut S erst eine erweiterte TM 〈M, w〉 _ M1 die alle w′ 6 = w verwirft, und auf w das gleiche macht wie M. Wenn M1 also irgendein Wort akzeptiert, dann genau w. Wir können nun also R verwenden um zu prüfen ob M das Wort w akzeptiert
Formaler Beweis: Aus der obigen Skizze wollen wir jetzt einen formalen Beweis konstruieren / foldern: Wir nehmen also weiter den Widerspruch an, also .
Wir wissen auch, dass ist Wir zeigen jetzt durch Widerspruch:
- Definiere TM ide auf Eingabe folgendes macht:
- Falls –> reject
- sonst, simuliere Wir haben noch eine Nebenbedingung! ist relativ zu konstruiert –> das geht, weil wir den String-vergleichen können 112.12_turing_maschinen
- Sei eine TM die entscheiden kann! Dann könnten wir die TM konstruieren, welche ferner entscheidet!. Sie arbeite bei Eingabe folgend:
- Konstruiere wieder , wie oben
- Wende auf an - also wir werden entscheiden, ob Falls ja, dann akzeptieren wir und es folgt
- Ferner Drehen wir die Ausgabe um von –> Damit haben wir einen Entscheider S für gefunden, was aber nicht möglich ist (was wir schon wissen!) Es wäre dann !
Wir erhalten also, für eine beliebige TM können wir nicht entscheiden, ob sie das Wort erkennt un das ist gleich der Operation, eine TM überhaupt ein Wort erkennen kann.
Haben wir hier gerade reduziert
–> Reduktion kann jenachdem, was man wohin reduziert, falsch sein!
Wir haben gerade gezeigt, dass , indem wir eine “Reduktion” von (schwer) auf (unbekannt) vorgenommen haben Es stellt sich die Frage, ob es eine Abbildungsreduktion war!:
- Die Konstruktion von ist hier eine Abbildung von auf –> Um zu entscheiden muss die konstruierte akzeptieren –> was genau dann ist, wenn –> Daher muss dann entscheiden!
Was wir also gerade gemacht haben:
- Konstruktion einer Abbildung von und dann haben wir gezeigt, dass
- wir wissen auch schon, dass
- Ferner auch Also : !
Gleicheitsproblem einer TM
Wir möchten noch eine einfachere Reduktion betrachten, die nicht ganz so aufwendig und komplex ist!
[!Definition]
Gleichheitsproblem von zwei TMs, beschrieben mit:
Es gilt: Das Gleichheitsproblem ist nicht entscheidbar!
warum, wie können wir das durch Reduktion zeigen? #card
Wir möchten hier auf die zuvor beschriebene Frage, ob eine TM überhaupt ein Wort akzeptiert, eingehen.
Wir zeigen, dass .
Sei jetzt etwa eine TM die die Sprache entscheiden kann.
Dann bauen wir eine neue TM , wie folgt auf:
Sei die triviale TM, die alle Eingaben verwirrft –> also nur in den verwerfenden Zustand übergeht.
Gegeben eines Inputs , setzen wir mit : –< Wir entscheiden also mit , ob das Tupel in liegt ( also ob eine bekannte TM, die wir konnstruiert haben, die gleiche Sprache, wie irgendeine andere TM, die auch nichts akzeptiert ist) –> Diese wollen wir also finden!
Dann gilt ferner und daher folgt:
Ferner haben wir also auf das Leerheitsproblem reduziert, weil wir quasi eine konstruierbare leere Turingmaschine nehmen und schauen, ob eine andere TM genau das gleiche macht… Dafür müssen wir aber wieder schauen, für welche Wort eine Turing-Maschine akzeptiert / nicht akzeptiert und ferner, welche/wie viele Wörter sie erkennen kann. Das ist aber wieder durch das Halteproblem nicht entscheidbar!
Folgerungen von Reduktionen
Wir haben gesehen, dass wir von der einen Erkenntnis einer Reduktion direkt auf eine andere reduzieren können –> Wir haben also die Aussagen gechained!
Ferner wird jetzt folgen:
[!Beweis]
Es gilt eine bestimmte Kette von Reduktionen:
Wie stehen die typischen Probleme in Relation zueinander? #card
Also die Äquivalenz diverser Halteprobleme bzw Umwandlung dieser!
Reduktion von
Wir kennen schon die nicht-entscheidbare Diagonalsprache 112.16_nicht_erkennbar_entscheidbar Wir wissen, dass nicht entscheidbar ist und somit auch das Komplement nicht!
Das können wir konstruieren, indem
Wir wollen jetzt das Komplement entsprechend auf das Halteproblem reduzieren!
[!Req] Satz | Reduktion von
wie können wir das mit einer Reduktion beweisen #card
Wir bilden die Abbildung was für alle endlichen berechenbar ist ( einfach copy!)
Offensichtlich gilt jetzt: und damit wissen wir, dass das Komplement nicht entscheidbar ist!
Reduktion auf allgemeines Halteproblem
Behauptung spezifisches Halteproblem kann man aufs allgemeine Halteproblem reduzieren:
[!Bsp] Behauptung
Folgend sind die Sprachen: ()!
Wir behaupten jetzt, dass
wie können wir das zeigen? #card
(Betrachten wir das Halteproblem: Wir können akzeptieren/verwerfen oder rejecten) Dafür können wir den rejection Zustand einfach entfernen bzw beim eintreten dessen, in einen Endlosloop übergehen und so auch nicht mehr anhalten. Wir haben passend reduziert!
Betrachten wir eine Eingabe
Wir konstruieren also die TM - mit einem Berechenbarem Code folgend:
- ist identisch mit außer wenn verwirft, dann geht in eine Endlosschleife!
Dann definieren wir jetzt die Reduktionsabbildung und es gilt ferner: Und damit haben wir erfolgreiche reduziert!
Korollar
[!Korollar]
Es gilt , also das allgemeine Halteproblem ist nicht entscheidbar!
Null-Halteproblem
Auch das ist gleichwertig mit dem normalen Halteproblem, wie wir folgend zeigen wollen:
[!Definition]
Wir beschreiben mit folgende Sprache: –> also auf dem leeren Band!
(Intuitiv ist klar, dass sie auch nicht entscheidbar sein kann, weil es TMs gibt, die womöglich einfach unendlich lang loopen, wenn sie spezifisch erhalten –> und man damit nicht entscheiden kann, ob sie es akzeptiert oder nicht!)
Wir behaupten also !
wie beweisen wir das? #card
Betrachten wir eine Eingabe
wir bauen eine TM - wobei wir ihren Code auch berechnen können! - und bauen sie aber spezifisch für das gegeben paar :
- Auf Eingabe simuliert die TM auf (und probiert damit zu schauen, ob die beliebige TM das Wort akzeptiert (was ja ist!))
- anderweitig verwirft (also bei jedem anderen Wort)
Wir bilden jetzt folgende Abbildung: , welche berechenbar ist.
Es gilt jetzt:
- Weil das Verhalten von auf w simuliert und auf w anhält, folgt, dass auch dann auch anhält!
- Weil auf als Eingabe dann auf simuliert und diese anhält, hält dann auch auf !
(Gleichzeitig wird hier aber auch das nicht-entscheidbar-Problem auftreten, weil wir nicht zwingend wissen, ob auf einer Eingabe für eine TM gehalten wird!)
Selbstentscheider - als spezielles Halteproblem |
Wir betrachten noch eine spezifische Sprache:
[!feedback] Selbstentscheider
Sei folgende Sprache: (also sie kann sich selbst lesen und akzeptieren (damit ist sie konzeptuell weiter, als ich und viele andere Menschen!))
Wir behaupten jetzt:
wie können wir das beweisen? #card
Wir setzen Vorschläge für so, dass:
Gleichzeitig gilt aber auch, dass (was abstrus ist?!) –> Beweisen kann man das einfach, indem akzeptieren der Speziallfall beim halten ist!
Reduktion durchführen | Zusammenfassung
Durch diese letzte Reduktion Schließt sich jetzt die gesamte Kette!
[!Idea] Mit einer Reduktion einer Sprache auf eine andere Sprache durch eine Abbildung möchten wir folgend aussagen:
“ ist höchstens so schwer, wie ” oder “ ist mindestens so schwer, wie !”
warum? #card
Denn wenn man entscheiden kann, dann kann man auch entscheiden, indem man jetzt:
- jede beliebige Instanz aus dem zu gehörigen Entscheidungsproblem durch in eine Instanz von abbildet ( muss berechenbar sein!)
- diese Instanz aus muss dann mit dem zugehörigen Entscheider auch entschieden werden.
Beweis führen:
Wir wollen dann also für einen Beweis folgend führen:
Was außerhalb des Bildes von passiert, ist egal! Wir müssen also etwa nicht zeigen:
- Es muss auch gar nicht die Existenz der Abbildung existieren!
Wir zeigen meist eins von beiden Fällen:
- oder auch:
Visuell also:
[!Tip] Meistens ist es einfacher diese Probleme von der anderen Seite zu betrachten:
Regularität ist unentscheidbar
ist eine Aussage, welche wir aus der obigen Betrachtung und durch Reduktionen beweisen und ergründen können!
[!Definition]
Sei jetzt folgende Sprache:
Wir wissen, dass reguläre Sprachen super easy sind –> das waren alle DFAs / NDAs etc!
Es gilt jetzt: es ist also nicht entscheidbar
warum folgt das? #card
Wir können wieder eine Abbildungsreduktion von zu dieser Sprache machen:
Das heißt also, Falls es einen Entscheider für diese TM gäbe, dann könnte man mit seiner Hilfe auch einen Entscheider für bauen (was wir ja wissen, nicht möglich ist!)
Idee für einen Beweis: Wir wollen also diesen Entscheider bauen / konzipieren:
- baue so zu einer neuen TM um, dass diese eine reguläre Sprache erkennt, genau dann, wenn das Wort akzeptieren kann
- Hierzu verwenden wir etwa die Sprache und die Sprache also einen Anker in und
[!Beweis]
Sei eine TM die entscheidet. Wir konstruieren damit einen Entscheider für folgend! Auf Eingabe mit und :
- Konstruiere eine TM auf die Eingabe !
- Falls dann accept - wir wissen, dass man das realisieren kann! (easy)
- Sonst simulieren wir auf und akzeptieren, wenn wir das Wort akzeptieren!
- Wende dann jetzt auf an!. Falls akzeptiert, dann accept, sonst reject ( wenn verwirft!) Damit haben wir einen Entscheider für konstruiert -> was ein Widerspruch ist!
Wichtig:
- Wir konstruieren , nicht, um sie laufen zu lassen. Wir haben sie nur, um es als Eingabe für den Entscheider zu verwenden!
- Im Beweis müssen wir darauf achten, dass die Konstruktion von berechenbar ist!
Zusammenfassung
Wir können viele praktische Inhalte nicht wirklich entscheiden. Also etwa:
- vergleichen von Code, ob er gleich ist
- evaluieren, ob ein Code nach Zeit einfach abstürzen könnte / oder nicht
Weiter können wir scheinbar manche, interessante Informationen dennoch nicht erörtern?! –> Siehe dafür jetzt theo2_SatzVonRice