Wie kann man die Definition der rechnerischen Komplexität von Real beurteilen, die natürlich oder geeignet ist?


11

Wie wir wissen, ist die Definition der rechnerischen Komplexität von Algorithmen fast unumstritten, aber die Definition der rechnerischen Komplexität von Real oder der Berechnungsmodelle über Real ist in einem solchen Fall nicht. Wir kennen das Modell und das Modell von Blum und Smales im Buch Computable Analysis. Und anscheinend stimmt das Modell in der berechenbaren Analyse mit dem klassischen Modell überein, aber die Definition der rechnerischen Komplexität von Real kann nicht in das klassische Modell übertragen werden.

Wie kann man die Definition der rechnerischen Komplexität von Real beurteilen, die natürlich oder geeignet ist?

Und wie lässt sich die Definition der rechnerischen Komplexität von Real in ein klassisches Modell übertragen?


Bei Ihrer ersten Frage ist "natürlich" ein sehr subjektiver Begriff. Abhängig von der Person, die Sie fragen, wird die eine oder andere Definition als die natürlichste angesehen. Was "geeignet" betrifft, hängt es davon ab: Das BSS-Modell scheint für die rechnergestützte Geometrie oder die rechnergestützte algebraische Geometrie geeignet zu sein, und das Modell in der berechenbaren Analyse eignet sich besser für ... berechenbare Analysen! Ich verstehe die zweite Frage nicht.
Bruno

@Bruno, danke für Ihren Kommentar, ich denke das Modell in Computable Analysis, und weiß nicht, wie man die Definition der Rechenkomplexität auf die Berechnung der reellen Zahl über ein klassisches Modell wie Turing Machine anwendet, da die rechnerische Komplexität der reellen Zahl über das Modell in Computable Analysis hängt von der Darstellung ab, nämlich der Eingabe für die Berechnung.
XL _At_Here_There

3
Sie scheinen zu glauben, dass es einen Komplexitätsbegriff für die Berechnung reeller Zahlen gibt, der unabhängig von der Darstellung von reellen Zahlen ist. Was bringt dich dazu, so zu denken? Dies ist auch bei der klassischen Komplexität nicht der Fall. Es ist wichtig, ob Sie ein Band oder eine RAM-Maschine haben, es ist wichtig, ob Sie Diagramme durch Adjazenzlisten oder 01-Matrizen usw. darstellen.
Andrej Bauer

3
Es ist jedoch nicht wahr, dass die Komplexität nicht von der Darstellung abhängt. Wenn Sie zu einer dummen Darstellung wechseln, können Sie die Komplexität eines Algorithmus immer ruinieren. Die zu stellende Frage lautet: "Was ist eine gute Darstellung der Eingabe?" Für diskrete Probleme ist dies viel einfacher zu beantworten als für reelle Zahlen, da man ein gutes Gefühl dafür hat, was es bedeutet, "keine Bits zu verschwenden".
Andrej Bauer

3
Das BSS-Modell scheint für die rechnerische Geometrie geeignet zu sein. Siehe meine Antwort auf eine verwandte Frage . Das von Rechengeometern verwendete Real-RAM-Modell liegt fast ein Jahrzehnt vor Blum, Shub und Smale.
Jeffs

Antworten:


13

Ich bin mir nicht ganz sicher, was die Frage hier ist, aber ich kann versuchen, ein wenig zu sagen, um mögliche Missverständnisse auszuräumen.

f:RR2f

f:ABA(a,f(a))f

RRR

  1. +×/||
  2. xkNp,q|xp/q|2k
  3. xyx<y
  4. (xn)n|xn+1xn|2nlimnxn

Es gibt alte Theoreme (siehe Einleitung zu diesem Artikel für Referenzen), die erklären, warum diese Bedingungen die richtigen sind. Diese Theoreme zeigen auch, dass zwei solche Darstellungen von Realen rechnerisch isomorph sind, dh wir können mit Programmen zwischen ihnen übersetzen. Dies legt einige Kriterien für die Korrektheit fest, die fehlerhafte Ideen aufwerfen.

Zum Beispiel höre ich Leute Dinge sagen wie "rationale Zahlen können durch endliche Informationen dargestellt werden, also verwenden wir das für rationale Zahlen, und die irrationalen Zahlen müssen durch unendliche Informationen dargestellt werden". Diese Art von Dingen funktioniert nicht, weil sie die obige vierte Bedingung brechen (betrachten Sie eine Grenze irrationaler Zahlen - wie können Sie feststellen, dass sie zu einer rationalen konvergieren?).

Ein weiteres Beispiel, das durch die obigen Bedingungen beseitigt wird, ist das Blum-Shub-Smale-Modell, da darin keine Sequenzgrenzen berechnet werden können. Es ist besser zu sagen, dass das BSS-Modell auf einem diskreten geordneten Teilfeld von Real (das durch die vorhandenen Parameter erzeugt wird) arbeitet, nicht auf den Real selbst.

Unter den korrekten Darstellungen von Real sind einige effizienter als andere, obwohl dies ein etwas schwierig zu diskutierendes Thema ist, da reelle Zahlen unendliche Objekte sind. Matthias Schröder wies darauf hin, dass man für eine vernünftige Komplexitätstheorie auf die topologischen Eigenschaften der Darstellung achten muss.

Schließlich , wie wir sollten die Komplexität einer Karte messen , vorausgesetzt , sie eine gute Darstellung von dem , ? Da durch eine Funktion oder einen unendlichen Informationsstrom oder einen solchen dargestellt wird, sollten wir einen der komplexeren Begriffe vom höheren Typ verwenden . Welche wahrscheinlich von der verwendeten Darstellung abhängt.f:RRRxR

Das BSS-Modell ist auch ein vernünftiges Schaltungskomplexitätsmodell, in dem wir arithmetische Operationen zählen. Es ist nur gut zu bedenken, dass es bei diesem Modell nicht um reelle Zahlen geht, sondern um etwas anderes.


2
Vielen Dank für Ihre Antwort und so viele Referenzen. Ich fühle mich unwohl mit einigen Vorstellungen von Rechenkomplexität, lasse mich die Referenz lesen und eine Zeit lang darüber nachdenken und gebe ein Beispiel, wenn ich ein geeignetes finde, um zu erklären, warum ich mich so unwohl fühle (das klingt lustig, aber meine Erfahrung sagt es mir Wenn ich mich unwohl fühle, muss es etwas Einzigartiges geben)
XL _At_Here_There

4
Nach meiner Erfahrung ist es ein gutes Zeichen, sich über neues Wissen unwohl zu fühlen, und normalerweise ist es eine Voraussetzung für Erleuchtung.
András Salamon

3

Ein weiteres Modell, das möglicherweise untersucht werden muss, ist das des realisierbaren RAM-Modells. Dies ist ein modifiziertes Real-RAM-Modell für Real-Berechnung, machbares RAM oder ein modifiziertes RAM-Modell, das sowohl die diskreten als auch die reellen arithmetischen Operationen verwendet. Dieses Modell ermöglicht reale und diskrete Operationen, und das Turing-Modell ist damit austauschbar. Das realisierbare RAM-Modell hat eine mit Unsicherheit definierte Genauigkeit, was bedeutet, dass Vergleiche von reellen Zahlen nur bis zu einer variablen Unsicherheit 1 / (k + 1) ermöglicht. Dies ermöglicht ungefähre Berechnungen. Wie Vasco Brattkaa und Peter Hertlingb in Feasible Real Random Access Machines darlegen , sind auch die Modelle von Turing und die von Feasible Real RAMs verwandt. Alle Funktionen, die auf einer Turing-Maschine in der Zeit<kO(t)sind auf einem RAM in der Zeit berechenbar , und im umgekehrten Fall gibt es einen gewissen Overhead für die Turing-Maschine, die die Funktion berechnet (wenn der reale RAM die Funktion in berechnet, berechnet das TM die Funktion in . Wie bereits erwähnt, sind topologische Überlegungen nützlich. Man weiß nicht, ob für dieses Berechnungsmodell ein topologischer Kontext entwickelt wurde, der reale Berechnungen ermöglicht, die mit Unsicherheit behaftet sind in Präzision.O(t)O(t)O(t2log(t)log(log(t)))


Könnten Sie eine Referenz für das realisierbare RAM-Modell geben?
XL _At_Here_There

Siehe oben im Bereich "... diese Referenz besagt ..." hat einen Link zum Artikel.
user3483902

2
Vielen Dank, dass Sie auf die Arbeit von Brattka & Hertling hingewiesen haben. Ich wollte sie erwähnen, bis ich sie vergessen habe. Ich möchte nur darauf hinweisen, dass das Feasible RAM-Modell keine Funktionen höherer Ordnung enthält, insbesondere kann es die Grenze einer (schnellen) Cauchy-Sequenz nicht berechnen, daher würde ich es nicht als genaue Implementierung von "the reals" betrachten. Es kann sozusagen eine Grenze "auf der obersten Ebene" berechnen (siehe den Teil des Papiers, in dem es um rationale Approximationen von Funktionen geht).
Andrej Bauer
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.