Halteproblem
Verfasst: 22.07.2010, 14:43
Ich habe mal dieses neue Thema gestartet, um endlich von dem Beschneidungsthema wegzukommen.
Also, es geht ums Halteproblem, also ob ein Computerprogramm bestimmen kann, ob ein anderes beliebiges Programm für eine beliebige Eingabe immer anhält. (Es geht zwar genauer gesagt um Turingmaschinen, aber dies ist erstmal nicht so wichtig.)
Wenn man das Halteprogramm durch eine (mitunter natürlich recht große) Zahl darstellt, welches eine Eingabe (also das andere, zu untersuchende Programm) auf {0 , 1} ({hält nicht, hält}) abbildet, entspricht die Menge aller möglichen Abbildungen der Potenzmenge der Zahlen. Dadurch werden einfach alle möglichen Kombinationen von Nullen und Einsen dargstellt.
So gibt es bei zwei Programmen vier mögliche Ergebnisse:
leere Menge, {1}, {2}, {1, 2}
Bei drei gibt es acht Ergebnisse:
leere Menge, {1}, {2}, {3}, {1, 2}, {2, 3}, {1, 3}, {1, 2, 3}
Bei n Programmen ist die Anzahl der möglichen Abbildungen also 2^n. Sie steigt also rapide an. Kann man daher überhaupt für alle möglichen Programme alle möglichen Abbildungen bestimmen? Wenn nein, dann stellt sich die Frage, ob das Halteproblem unter den möglichen Abbildungen ist oder nicht.
So, soweit die Zusammenfassung. Das Problem trat jetzt aber schon beim Beweis für die Eigenschaft |X| < |P(X)| auf. Für endliche Mengen ist dies ja klar, da ja stets n < 2^n. Bei Unendlichkeiten ist dies wieder eine andere Sache.
Auf Wikipedia steht ja ein solcher Beweis: http://de.wikipedia.org/wiki/Halteproblem
Dieser ist aber nichts anderes als eine Abwandlung vom folgenden Satz: http://de.wikipedia.org/wiki/Satz_von_Cantor
Meine Frage an die anderen war, warum M := {x Element von A | x kein Element von f(x)} so eine zwingende Eigenschaft von Potenzmengen ist. Warum darf x kein Element von f(x) sein bzw. warum muss es eine derartige Menge M unbedingt geben, damit f surjektiv ist? Und kommt mir bitte nicht mit der leeren Menge, denn diese kann man schließlich noch gesondert behandeln.
Im folgender Abhandlung ist eigentlich ein ganz schöne, anschauliche Konstruktion eines Diagonalelementes (ab Seite 5): http://info.tuwien.ac.at/goldstern/papers/didaktik.pdf
Nur der Bezug zum allgemeinen Beweis bleibt mir noch nicht ganz klar. Und da gibts ja noch das Problem, ob das Halteproblem zu den nichtabbildbaren Elementen gehört oder nicht. Und: Würde man die Größe der zu testenden Programme begrenzen (z.B. 1MB), die des testenden Programms aber nicht, wäre das Problem dann wieder lösbar?
Also, es geht ums Halteproblem, also ob ein Computerprogramm bestimmen kann, ob ein anderes beliebiges Programm für eine beliebige Eingabe immer anhält. (Es geht zwar genauer gesagt um Turingmaschinen, aber dies ist erstmal nicht so wichtig.)
Wenn man das Halteprogramm durch eine (mitunter natürlich recht große) Zahl darstellt, welches eine Eingabe (also das andere, zu untersuchende Programm) auf {0 , 1} ({hält nicht, hält}) abbildet, entspricht die Menge aller möglichen Abbildungen der Potenzmenge der Zahlen. Dadurch werden einfach alle möglichen Kombinationen von Nullen und Einsen dargstellt.
So gibt es bei zwei Programmen vier mögliche Ergebnisse:
leere Menge, {1}, {2}, {1, 2}
Bei drei gibt es acht Ergebnisse:
leere Menge, {1}, {2}, {3}, {1, 2}, {2, 3}, {1, 3}, {1, 2, 3}
Bei n Programmen ist die Anzahl der möglichen Abbildungen also 2^n. Sie steigt also rapide an. Kann man daher überhaupt für alle möglichen Programme alle möglichen Abbildungen bestimmen? Wenn nein, dann stellt sich die Frage, ob das Halteproblem unter den möglichen Abbildungen ist oder nicht.
So, soweit die Zusammenfassung. Das Problem trat jetzt aber schon beim Beweis für die Eigenschaft |X| < |P(X)| auf. Für endliche Mengen ist dies ja klar, da ja stets n < 2^n. Bei Unendlichkeiten ist dies wieder eine andere Sache.
Auf Wikipedia steht ja ein solcher Beweis: http://de.wikipedia.org/wiki/Halteproblem
Dieser ist aber nichts anderes als eine Abwandlung vom folgenden Satz: http://de.wikipedia.org/wiki/Satz_von_Cantor
Meine Frage an die anderen war, warum M := {x Element von A | x kein Element von f(x)} so eine zwingende Eigenschaft von Potenzmengen ist. Warum darf x kein Element von f(x) sein bzw. warum muss es eine derartige Menge M unbedingt geben, damit f surjektiv ist? Und kommt mir bitte nicht mit der leeren Menge, denn diese kann man schließlich noch gesondert behandeln.

Im folgender Abhandlung ist eigentlich ein ganz schöne, anschauliche Konstruktion eines Diagonalelementes (ab Seite 5): http://info.tuwien.ac.at/goldstern/papers/didaktik.pdf
Nur der Bezug zum allgemeinen Beweis bleibt mir noch nicht ganz klar. Und da gibts ja noch das Problem, ob das Halteproblem zu den nichtabbildbaren Elementen gehört oder nicht. Und: Würde man die Größe der zu testenden Programme begrenzen (z.B. 1MB), die des testenden Programms aber nicht, wäre das Problem dann wieder lösbar?