Dann hast du noch nie gedebuggt!Arne hat geschrieben:Muss ich übersehen haben...
Das Jan
Dann hast du noch nie gedebuggt!Arne hat geschrieben:Muss ich übersehen haben...
So, meinst du? Der Beweis für die Unlösbarkeit wird, wie ich schon sagte aber du offensichtlich ignoriert hast, oft rekursiv geführt. Hier, auf die Schnelle habe ich nichts besseres im Netz gefunden: http://www.gk-informatik.de/algo/halt.htmlFloyd hat geschrieben:"Ich lüge gerade" ist logisch falsch und, wie du sagst, ein Paradoxon, der Beweis der Unentscheidbarkeit des Halteproblems hingegen ist ein Widerspruchsbeweis, wie man ihn aus unzähligen mathematischen Beweisen kennt. Das sind zwei völlig verschiedene Dinge.
Die (mathematische) Logik hat das eigentlich ganz gut im Griff, aber das würde jetzt wohl zu weit führen.Beowulf hat geschrieben:Ein Paradoxon ist nicht logisch falsch, sondern einfach unlösbar. Dies ist ein Problem der Logik, nicht der Wirklichkeit.
Danke, aber den Beweis kenne ich schon auch. Die Unentscheidbarkeit resultiert aus dem Verwerfen der Prämisse. Zu dem Widerspruch kommt man nur, wenn man zunächst die Prämisse akzeptiert, dass es eine Maschine gibt, die das Halteproblem löst. Tut man dies nicht, gibt es auch keinen Widerspruch. In deinem Beispiel hast du die beiden Fälle/Prämissen "ich lüge" und "ich lüge nicht" untersucht und bist beide Male auf einen Widerspruch gestoßen. Das ist in meinen Augen etwas anderes.Beowulf hat geschrieben:Der zentrale Satz ist da wohl: "KNILCH (KNILCH) hält genau dann an, wenn es nicht anhält!". Wenn man also dieses Programm, was man dort lustigerweise "Knilch" genannt hat, sich selbst als Argument übergibt, erzeugt man ein Paradoxon, woraus die Unlösbarkeit des Halteproblems resultiert.
Vom Inhalt meines Kopfes nach dieser Theoriexplosion ist dieser Satz eigentlcih echt sehr ähnlich. Ich versteh kein Wort mehr... außer Knilch...countjabberwock hat geschrieben:Milchknilch war mal ein Eis von Schöller. Hab ich gern gegessen. Kostete glaube ich nur 50 Pfennig.
Nicht wirklich. Cantormengen sind einfach nicht "perfekt". Folgenden Beweis findet man ja häufig: http://de.wikipedia.org/wiki/Halteprobl ... tenzmengenIn deinem Beispiel hast du die beiden Fälle/Prämissen "ich lüge" und "ich lüge nicht" untersucht und bist beide Male auf einen Widerspruch gestoßen. Das ist in meinen Augen etwas anderes.
Nun, dann werde ich jetzt darauf eingehen. War etwas spät gestern! Sicherheitsabfragen sind einfach Handlungsanweisungen für Fälle, in denen etwas eintritt, was vom dem Programmierer nicht unbedingt vorhergesehen ist. Nehmen wir mal an, wir haben ein Programm, welches eine Zahl einlesen soll und dann in Abhängigkeit von dieser Zahl etwas tut:Floyd hat geschrieben:Deine Ausführungen bezüglich stabiler Programme und Sicherheitsabfragen (die du jetzt leider nicht näher erläutert hast) machen einfach im Zusammenhang mit dem Halteproblem nicht viel Sinn. Das Halteproblem sagt nur, dass es keine universelle Maschine gibt, die als Eingabe (M, w) für beliebige M, w entgegennimmt (wobei M eine weitere Maschine und w ein Wort ist) und entscheidet, ob M auf w hält oder nicht.
Code: Alles auswählen
readln(i);
j := 0;
while (j <> i) do begin
writeln("Hallo!");
j := j + 1;
end;
Code: Alles auswählen
readln(i);
if (NOT isInteger(i) OR (i < 0)) then begin
writeln("Ungültige Eingabe!");
exit;
end;
j := 0;
while (j <> i) do begin
writeln("Hallo!");
j := j + 1;
end;
Das stimmt wohl. Aber mir ging es eher darum, dass man mit Programmiersprache ein Paradoxon formulieren kann. Es gibt da ja inzwischen erweiterte Mengenmodelle, z.B. die Typentheorie oder Zermeo- bzw. Zermelo-Fraenkel-Mengenlehre. Deren Bedeutung für die Programmierung und der dortigen Umsetzbarkeit ist mir noch nicht klar, aber vielleicht kannst ja du etwas erhellendes beitragen!Floyd hat geschrieben: Deswegen macht es auch nur bedingt Sinn, zu sagen, es gebe auch "ohne Lösung des HP Möglichkeiten, ein stabiles Programm zu liefern", denn dass dem so ist, wurde ja nicht in Zweifel gezogen.
Meinst du diese Cantormenge? Und wie ist bei dir "perfekte Menge" definiert?Beowulf hat geschrieben:Nicht wirklich. Cantormengen sind einfach nicht "perfekt".
Ich verstehe gerade nicht ganz, was du zeigen willst, wuerde es aber gerne verstehen. Ist deine Absicht, einen Fehler in dem Beweis zu finden, den du verlinkt hast? In dem Fall muesste ich dich enttaeuschen, der Beweis stimmt naemlich. Die Abbildung, die du nennst, naemlich f(x) := {x}, ist keine surjektive Abbildung in die Potenzmenge.Beowulf hat geschrieben:http://de.wikipedia.org/wiki/Halteprobl ... tenzmengen
Man versucht auf diese Art und Weise, ein Diagonalelement zu konstruieren.
Ich gehe davon aus, das Floyd schon mal programmiert hat und solche Abfragen kennt. Das ist aber eine Frage von sauberer Programmierung und hat nichts mit dem Halteproblem oder anderen Fragen der theoretischen Informatik zu tun, die hier schon mal eine Rolle gespielt haben.Beowulf hat geschrieben:Sicherheitsabfragen sind einfach Handlungsanweisungen für Fälle, in denen etwas eintritt, was vom dem Programmierer nicht unbedingt vorhergesehen ist...
Es ist zugegebenermaßen schwierig, gewisse Begrifflichkeiten nicht "zweckzuentfremden". Unter Cantormenge habe ich hier folgendes gemeint: http://de.wikipedia.org/wiki/Cantors_zw ... alargumentDasJan hat geschrieben:Meinst du diese Cantormenge? Und wie ist bei dir "perfekte Menge" definiert?
Diese surjektive Abbildung gibt es "praktischerweise" ja auch nicht. Das ist ja gerade das, was dieser Beweis klarstellen soll.DasJan hat geschrieben:Ich verstehe gerade nicht ganz, was du zeigen willst, wuerde es aber gerne verstehen. Ist deine Absicht, einen Fehler in dem Beweis zu finden, den du verlinkt hast? In dem Fall muesste ich dich enttaeuschen, der Beweis stimmt naemlich. Die Abbildung, die du nennst, naemlich f(x) := {x}, ist keine surjektive Abbildung in die Potenzmenge.
Doch, sehr! Denn diese "saubere Programmierung" stellt, wie ich schon erwähnte, Programmcode und Eingabewerte in einen festen, individuellen Zusammenhang. Solche "Knilch"-Programme, die es gezielt auf Paradoxien anlegen, sind dann nämlich nicht mehr möglich bzw. deren Eingabewerte werden dann derart gefiltert, dass kein Paradoxon mehr auftreten kann.DasJan hat geschrieben:Ich gehe davon aus, das Floyd schon mal programmiert hat und solche Abfragen kennt. Das ist aber eine Frage von sauberer Programmierung und hat nichts mit dem Halteproblem oder anderen Fragen der theoretischen Informatik zu tun, die hier schon mal eine Rolle gespielt haben.
"Eine Prämisse annehmen" und "eine Prämisse akzeptieren" ist zumindest in meinem Sprachgebrauch das gleiche. Dass die Vorgehensweise des Widerspruchsbeweises nicht unüblich ist, habe ich selbst einige Posts zuvor bereits gesagt :Beowulf hat geschrieben:"Akzpetieren" ist das falsche Wort. Es ist eine Annahme, und die Vorgehensweise ist bei Beweisen weiß Gott nicht unüblich.
Ob Gott das, wie du sagst, auch weiß, ist wiederum eine andere Frage, um zwischendrin auch mal wieder On-Off-Topic zu sein.Floyd hat geschrieben:der Beweis der Unentscheidbarkeit des Halteproblems hingegen ist ein Widerspruchsbeweis, wie man ihn aus unzähligen mathematischen Beweisen kennt
Was ist paradox an deinen gewählten Beispielen? Das erste terminiert bei Eingabe einer negativen Zahl nicht, schön. Warum ist das paradox?Beowulf hat geschrieben:Das stimmt wohl. Aber mir ging es eher darum, dass man mit Programmiersprache ein Paradoxon formulieren kann.
Wenn du Eingabewerte "filterst", schränkst du - grob gesprochen - die Mächtigkeit deiner Maschine ein.Beowulf hat geschrieben:Doch, sehr! Denn diese "saubere Programmierung" stellt, wie ich schon erwähnte, Programmcode und Eingabewerte in einen festen, individuellen Zusammenhang. Solche "Knilch"-Programme, die es gezielt auf Paradoxien anlegen, sind dann nämlich nicht mehr möglich bzw. deren Eingabewerte werden dann derart gefiltert, dass kein Paradoxon mehr auftreten kann.
Ja, ja, und sehe ich genauso .DasJan hat geschrieben:Ich gehe davon aus, das Floyd schon mal programmiert hat und solche Abfragen kennt. Das ist aber eine Frage von sauberer Programmierung und hat nichts mit dem Halteproblem oder anderen Fragen der theoretischen Informatik zu tun, die hier schon mal eine Rolle gespielt haben.
Tze... Typisch, wenn es um Technik geht...:DasJan hat geschrieben:Hey, lenk nicht vom Thema ab!