Dies ähnelt der Definition der Berechenbarkeit von Turing-Maschinen und dem sofortigen Vergessen von Turing-Maschinen. Da sich herausstellt, dass eine Turing-Maschine eine ebenso gute Definition wie jede andere ist, verwenden wir sie als Anker für eine gesamte Äquivalenzklasse von Modellen, und wir erhalten dieselbe Klasse, unabhängig davon, aus welchem Element wir sie generieren. Grundsätzlich ist dies die Church-Turing-These, die den Satz berechenbarer Bitfolgen definiert.
In ähnlicher Weise zu Berechenbarkeit auf einem anderen Satz zu definieren , ankern wir es mit einer bestimmten Teilfunktion von Bit - Strings zu . Tatsächlich spielt es keine Rolle, ob es sich bei dieser Funktion um eine Bijektion oder eine Injektion oder eine andere Art von Funktion handelt (für den Fall, dass wir nicht wirklich möchten, dass es sich um eine Injektion handelt, betrachten Sie eine Gruppe, die durch ihre Darstellung definiert ist und keine hat eine einzigartige Darstellung für seine Elemente). Es muss nicht einmal eine Vermutung sein, wenn wir zulassen, dass Singleton-Mengen nicht berechenbar sein können. Indem wir diese Funktion mit einer berechenbaren Bijektion von Bitfolgen zu Bitfolgen zusammensetzen (ein bereits definiertes Konzept), erhalten wir eine Definition der Berechenbarkeit fürSSSDas ist in Bezug auf die Funktion, die wir ursprünglich ausgewählt haben, unveränderlich (solange wir etwas Vernünftiges ausgewählt haben). Das heißt, eine CT - These für unser Set . Wenn wir jedoch keine vernünftige Funktion auswählen, erhalten wir eine andere Definition der Berechenbarkeit.S
Diese Funktion dient auch dazu, die Berechenbarkeit anderer Funktionen mit einer Domäne oder einem Bereich gleich . Durch den Bereich Ändern , hält die Domäne als , erhalten wir auch eine -invariant Definition von Kolmogorov Komplexität für . Und wir können endlich sagen, dass die von uns gewählte Funktion selbst berechenbar ist.SS{0,1}∗O(1)S
Ich denke, die Antwort auf Ihre Frage lautet NEIN. Wir müssen die Berechenbarkeit für jede Menge definieren, über die wir sprechen möchten, da es nicht äquivalente Definitionen gibt. Abgesehen von einer sehr technischen oder pädagogischen Diskussion sollte dies nicht notwendig sein, da sich eine vernünftige Person eine vernünftige Definition unabhängig vorstellen kann.
Aber warte, lass eine zählbar unendliche Menge sein, und das war's. Was ist unsere vernünftige Definition der Berechenbarkeit für ? Zu wissen, dass die Menge der Bijektionen zwischen und nicht leer ist, sagt uns nicht, welche vernünftig sind. Wir haben kein Glück ohne weitere Details.SSS{0,1}∗
Und wir können auf mehrere inäquivalente, aber gleichermaßen vernünftige Alternativen stoßen. Angenommen, jeder Baum hat eine bestimmte Anzahl roter und eine bestimmte Anzahl grüner Blätter, und für jedes gibt es genau einen Baum mit roten Blättern, und zwar für jedes Es gibt genau einen Baum mit grünen Blättern. Beide Bijektionen sind in dem Sinne vernünftig, dass wir die Blätter zählen und die Farben unterscheiden können, und wir können ziellos durch den Wald gehen und Blätter auf Bäumen zählen, bis wir den Baum mit genau grünen Blättern oder den mitr∈Nrg∈Ng2323Rote Blätter. Es ist nicht klar, ob ein Baum anhand seiner Anzahl roter oder grüner Blätter identifiziert werden soll, da diese Auswahl zu ungleichen Definitionen der Berechenbarkeit für Baumgruppen führt. Wenn wir stattdessen unsere Definition durch Kombinieren der Zählungen mit einem berechenbaren Paarungsfunktions-Bijektiv von bis (mit entsprechend definierter Berechenbarkeit für ) vornehmen, identifiziert dies auch jedes eindeutig Baum, aber die Situation ist noch schlimmer, weil dies keine Bijektion zwischen Bäumen und , jetzt sind vielleicht alle berechenbaren Baumgruppen endlich!N2NN2N
Um die gesamte Diskussion zu vermeiden, sollte nicht nur verstanden werden, dass es eine vernünftige Definition der Berechenbarkeit für die betreffende Menge gibt, sondern auch, dass es genau eine Klasse vernünftiger Definitionen gibt.
Ich denke, die Situation wird viel interessanter, wenn wir die zeitliche Komplexität ins Bild bringen. Selbst wenn wir nur ganze Zahlen berücksichtigen, sind unsere Entscheidungen wichtiger. Was wäre zum Beispiel, wenn wir jede Zahl als Summe von vier Quadraten darstellen wollten? Wir können eine solche Darstellung ausgehend von einer Basisdarstellung in der erwarteten quadratischen Zeit mit Zugang zur Zufälligkeit finden. Oder stattdessen als Liste seiner Primfaktoren, die möglicherweise in Polynomzeit berechnet werden können oder nicht. In dem Maße, in dem wir harte Darstellungen zulassen, verlieren wir an Präzision in der Zeitkomplexität. Zum Beispiel können wir nicht sinnvoll sagen, dass eine Funktion in quadratischer Zeit berechenbar ist, wenn wir eine Darstellung vonN F : N → N.F:N→NNDas Konvertieren in oder aus einer Basisdarstellung kann mehr als quadratische Zeit erfordern. Ich denke, diese Perspektive zeigt, dass die Basisdarstellung ein etwas willkürlicher Standard ist. (Standard in dem Sinne, dass die Basisdarstellung das ist, was jeder im Sinn hat, wenn er etwas sagt wie " ist in quadratischer Zeit berechenbar", wenn das zugrunde liegende Modell ein Bit berechnet Strings von Bit Strings und wir sollen die Bedeutung ableiten.)F:N→N