(Haftungsausschluss: Ich bin kein Experte, kann Korrekturen vorschlagen oder eine umfassendere Antwort schreiben, wenn Sie dies sind.)
Das Erweitern der Berechenbarkeit und Komplexität auf die reellen Zahlen (was ein erster Schritt bei der Analyse ist) ist schwierig und wurde auf verschiedene ungleiche Arten durchgeführt. Eines davon ist das BSS-Modell (Blum-Shub-Smale), das Turing-Maschinen um die Fähigkeit erweitert, algebraische Operationen mit reellen Zahlen zu speichern und auszuführen. Die resultierende Theorie hat einen algebraischen Geschmack, z. B. sind alle berechenbaren Funktionen stückweise halbalgebraisch. Das Modell ist interessant, weist jedoch einige seltsame Merkmale auf, die es unrealistisch erscheinen lassen, zumindest als Modell dafür, wie Computer tatsächlich mit der Berechnung reeller Zahlen umgehen. Zum Beispiel erlaubt es die Berechnung mit nicht berechenbaren Konstanten: Die Konstantenfunktion mit dem Wert Chaitins Konstante ist im BSS-Modell berechenbar. Andererseits ist im BSS-Modell nicht berechenbar.ex
Ein anderer Ansatz kann im Bereich der berechenbaren Analyse gefunden werden , und ich denke, das ist es, wonach Sie suchen. Eine Einführung finden Sie im Buch von Weihrauch (die Einführung und das Kapitel über berechenbare reelle Zahlen finden Sie auf der verlinkten Seite und geben Ihnen eine gute Vorstellung davon, was los ist). Es gibt hier noch einige nicht ganz äquivalente Modelle, aber die grobe Idee ist, dass rationale Zahlen eine endliche Repräsentation haben, und dann konstruieren Sie die berechenbaren Reals genauso, wie Sie die Reals als Vervollständigung der Rationals konstruieren. Analog zur Definition eines Real als (Äquivalenzklasse von) einer Cauchy-Folge von Rationalen wird ein berechenbares Real von einer Turing-Maschine gegeben, die willkürlich gute Annäherungen daran berechnet. Dann eine Funktion f ( x ) xf:R→R ist berechenbar, wenn eine Turing-Maschine beliebig gute Näherungen von berechnen kann, wenn (als Orakel) eine Maschine willkürlich gute Näherungen von berechnet .f(x)x
Es gibt faszinierende Zusammenhänge zwischen berechenbarer Analyse und klassischer / moderner Analyse und vielen anderen Bereichen, beispielsweise der algorithmischen Zufälligkeit. Ein einfaches Beispiel für einen Satz ist, dass alle berechenbaren Funktionen stetig sind. Um ein differenzierteres Beispiel zu geben (ohne auf die Details einzugehen), gibt es interessante Gegenstücke zu klassischen Theoremen in der Analyse, z. B. ein Analogon zu Rademachers Theorem ist, dass alle berechenbaren Lipschitz-Funktionen sind an allen algorithmisch zufälligen Punkten differenzierbar (für den richtigen Begriff der algorithmischen Zufälligkeit).f:[0,1]→[0,1]
Die Formulierung einer Komplexitätstheorie für reale Funktionen ist AFAIK noch schwieriger. Dies hängt mit der Tatsache zusammen, dass das Berechnen einer realen Funktion eine Berechnung höherer Ordnung ist (da eine Turing-Maschine als Eingabe verwendet wird), sodass die Bitgröße der Eingabe normalerweise nicht das richtige ist, um die Laufzeit zu messen. In diesem Artikel von Mark Braverman finden Sie einen Ansatz zur Definition einer effizienten realen Berechnung. An diesem Punkt bin ich weit aus meiner Tiefe heraus, um mehr zu sagen, also werde ich aufhören.