Ich habe Schwierigkeiten, das Konzept berechenbarer Funktionen zu vermitteln. Ich versuchte die Idee zu entwickeln, warum Forscher wie Hilbert / Ackermann / Godel / Turing / Church / ... den Begriff der "Berechenbarkeit" erfanden. Die Schüler fragten sofort: "Was bedeutet Berechenbarkeit?" und ich kann nur antworten, wenn ich ihnen Turing-Maschinen beibringe, und dann antworten: "Eine Funktion ist berechenbar, wenn eine Turing-Maschine sie berechnet."
So,
Gibt es eine Beschreibung der Berechenbarkeit, bei der nicht auf Turingmaschinen, λ-Kalkül oder ähnliche Berechnungsmodelle zurückgegriffen werden muss? Schon eine intuitive Beschreibung wird ausreichen.
Antworten:
Vor 75 Jahren gab es keine Computer. Man musste also die mathematische Idee eines Computers sehr sorgfältig erklären .
Heute weiß jeder, was ein Computer ist, und trägt wahrscheinlich die meiste Zeit einen bei sich. Dies kann beim Unterrichten sehr erfolgreich verwendet werden, da Sie die veraltete Idee einer Maschine mit einem Band überspringen können. Ich meine, wer benutzt ein Band? (Ich weiß, ich weiß, du fühlst dich beleidigt und Turing war ein großartiger Mann und das alles, und ich stimme dir zu).
Sie gehen einfach in die Klasse und fragen: Können Ihre iPhones dort etwas nicht berechnen? Dies bringt Sie sofort auf Fragen zu begrenzten Ressourcen. Dann sagen Sie: Angenommen, Ihr Computer verfügt tatsächlich über unbegrenzten Speicher. Gibt es etwas, das nicht berechnet werden kann? Und Sie idealisieren etwas mehr und beschränken Ihre Aufmerksamkeit auf zahlentheoretische Funktionen (weil Sie sich momentan nicht für Facebook interessieren). Sie müssen ein wenig erklären, wie Computer funktionieren (wie in den Kommentaren erwähnt, ist es gut, wenn die Schüler eine Programmiersprache beherrschen, weil Sie diese verwenden können, anstatt Hardware zu beschreiben), aber danach können Sie alle klassischen Argumente der Berechenbarkeit verwenden Theorie, um Ergebnisse abzuleiten. Es spielt keine Rolle, dass das mentale Bild Ihrer Schüler von einer Maschine das iPhone ist. In der Tat ist es wichtig:relevanter für sie zu wissen, dass ihr iPhone bestimmte Dinge nicht tun kann.
quelle
"Eine Funktion ist berechenbar, wenn es ein 'effektives Verfahren' gibt, um von der Eingabe zur Ausgabe zu gelangen." Bei der Einführung dieses Themas habe ich in der Vergangenheit darauf hingewiesen, dass sie (die Schüler) ein effektives Verfahren zum Lösen quadratischer Gleichungen haben, jedoch kein Verfahren zum Lösen von Gleichungen der Stufe 5 oder höher. Dies kann in eine Diskussion über die Formalisierung eines „effektiven Verfahrens“ übergehen, aber diese Diskussion soll geschehen, und ich denke, das ist eher ein Feature als ein Bug.
quelle
Vielleicht ist der Punkt, dass alle diese Modelle darauf abzielten, den Begriff der Berechenbarkeit zu erfassen. Die Tatsache, dass sie alle gleichwertig sind, bedeutet, dass der Begriff, den sie erfassen möchten, robust ist. Obwohl dies Ihrem Dilemma nicht entgeht, stützt diese Robustheit den Gedanken, dass "eine Funktion berechenbar ist, wenn es eine Turing-Maschine gibt, die sie berechnet".
quelle
Ich fange an zu fragen: "Gibt es eine Frage, die kein Computer jemals überzeugend beantworten könnte?" und führe die Diskussion zu philosophischen Fragen wie "Wenn ein Baum in den Wald fällt, macht es dann ein Geräusch?" oder "Gibt es ein Leben nach dem Tod?" Wir sind uns schnell einig, dass die menschliche Sprache Ja / Nein-Fragen ausdrücken kann, bei denen es sich um Paradoxe oder Konzepte handelt, die nicht mathematisch ausgedrückt werden können. Es gibt also nicht berechenbare Fragen.
Dann frage ich rhetorisch, ob es nicht berechenbare Fragen zu Begriffen gibt , die in einem Computer dargestellt werden können, z. B. Ganzzahlen und Graphen. Ich sage ja, ein Beispiel ist das berühmte Halteproblem, bei dem es darum geht, eine Beschreibung eines Programms zu untersuchen und zu sagen, ob es Endlosschleifen hat. Intuitiv stellt sich heraus, dass Endlosschleifen wie schwarze Löcher sind und jedes Programm, das eine Endlosschleife beobachtet, in einer Endlosschleife selbst gefangen werden kann. Daher kann jedes Verfahren, das dieses Problem beantwortet, für immer ausgeführt werden. Gemäß der Definition von "Algorithmus" kann kein Algorithmus das Problem des Anhaltens beantworten.
Dann tauche ich wieder in Proofs auf Turing-Maschinen ein.
quelle
Nun, eine Funktion ist berechenbar, wenn sie Eingaben akzeptiert, die von einem bestimmten Muster gebildet oder generiert werden. Ein bestimmtes Muster bedeutet, dass alle Eingaben eine Beziehung haben sollten. Eine bestimmte Eingabe kann durch die vorherige oder nächste Eingabe generiert werden. Wenn die Eingänge keine solche Sequenz haben, gibt es keine Möglichkeit, ein Modell oder eine Funktion zu entwickeln, die akzeptiert werden kann. Eine Sache, die ich noch sagen möchte, ist, dass es einen grundlegenden Unterschied zwischen einer Maschine und einem Menschen gibt. Eine Maschine konnte nicht für nicht-sequentielle Eingaben gebildet werden, aber Menschen sind es. Dies ist auch eine große Unterbrechung der Herstellung von Robotern, die sich tatsächlich menschlich verhalten.
quelle