Hintergrund
Die Berechnung über reelle Zahlen ist komplizierter als die Berechnung über natürliche Zahlen, da reelle Zahlen unendliche Objekte sind und es unzählige reelle Zahlen gibt, weshalb reelle Zahlen nicht durch endliche Zeichenfolgen über einem endlichen Alphabet genau dargestellt werden können.
Anders als bei der klassischen Rechenbarkeit über endliche Zeichenfolgen, bei der verschiedene Rechenmodelle wie Lambda-Berechnung, Turing-Maschinen, rekursive Funktionen, ... sich als äquivalent herausstellen (zumindest für die Rechenbarkeit über Funktionen auf Zeichenfolgen), gibt es verschiedene Modelle für die Berechnung über reelle Zahlen, die nicht kompatibel sind. Zum Beispiel werden im TTE- Modell (siehe auch [Wei00]), das dem klassischen Turing-Maschinenmodell am nächsten kommt, die reellen Zahlen mit unendlichen Eingabebändern (wie Turings Orakel) dargestellt, und es ist nicht möglich, den Vergleich und zu bestimmen Gleichheitsrelationen zwischen zwei gegebenen reellen Zahlen (in endlicher Zeit). Zum anderen bei den BBS / Real-RAM-Modellen, die dem RAM-Maschinenmodell ähnlich sindWir haben Variablen, die beliebige reelle Zahlen speichern können, und Vergleich und Gleichheit gehören zu den atomaren Operationen des Modells. Aus diesem und ähnlichen Gründen sagen viele Experten, dass die BSS- / Real-RAM-Modelle nicht realistisch sind (zumindest auf aktuellen Digitalcomputern nicht realisierbar), und sie bevorzugen das TTE-Modell oder andere gleichwertige Modelle gegenüber dem TTE-Modell wie das effektive domänentheoretische Modell. Ko-Friedman-Modell usw.
Wenn ich es richtig verstanden habe , ist das in Computational Geometry verwendete Standardrechenmodell das BSS - Modell (auch als Real-RAM bezeichnet , siehe [BCSS98]).
Andererseits scheint es mir, dass wir uns bei der Implementierung der Algorithmen in Computational Geometry (z. B. LEDA ) nur mit algebraischen Zahlen befassen und keine übergeordneten unendlichen Objekte oder Berechnungen beteiligt sind (ist das richtig?). Daher scheint es mir (wahrscheinlich naiv) auch möglich zu sein, mit dem klassischen Rechenmodell über endliche Zeichenketten mit diesen Zahlen umzugehen und mit dem üblichen Rechenmodell (das auch für die Implementierung der Algorithmen verwendet wird) über Korrektheit und Komplexität zu diskutieren von Algorithmen.
Fragen:
Was sind die Gründe, warum Forscher der Computational Geometry das BSS / Real-RAM-Modell bevorzugen? (Gründe für die Verwendung des BSS / Real-RAM-Modells für die spezifische Berechnungsgeometrie)
Was sind die Probleme mit der (wahrscheinlich naiven) Idee, die ich im vorherigen Absatz erwähnt habe? (Verwenden des klassischen Berechnungsmodells und Beschränken der Eingaben auf algebraische Zahlen in Computational Geometry)
Nachtrag:
Es gibt auch die Komplexität der Algorithmen Problem, ist es sehr einfach, das folgende Problem in der BSS / Real-RAM-Modell zu entscheiden:
Es ist zwar kein effizienter Ganzzahl-RAM-Algorithmus zum Lösen bekannt. Vielen Dank an JeffE für das Beispiel.
Verweise:
- Lenore Blum, Felipe Cucker, Michael Shub und Stephen Smale, "Complexity and Real Computation", 1998
- Klaus Weihrauch, " Computable Analysis, An Introduction ", 2000
Antworten:
Zunächst einmal betrachten rechnergestützte Geometer dies nicht als BSS-Modell. Das eigentliche RAM-Modell wurde von Michael Shamos in seiner 1978 erschienenen Doktorarbeit ( Computational Geometry ) definiert, die das Gebiet wohl ins Leben gerufen hat. Franco Preparata überarbeitete und erweiterte Shamos 'These zu dem ersten Lehrbuch für Computergeometrie, das 1985 veröffentlicht wurde. Der reale Arbeitsspeicher entspricht ( abgesehen von der Gleichförmigkeit; siehe Pascals Antwort! ) Auch dem von Ben-Or 1983 definierten algebraischen Rechenbaummodell . Blum Die Bemühungen von, Shub und Smale wurden 1989 veröffentlicht, lange nachdem der Real-RAM-Speicher eingerichtet worden war, und wurden von der Computer-Geometrie-Community fast vollständig ignoriert.
Die meisten (klassischen) Ergebnisse in der Berechnungsgeometrie hängen stark mit Problemen in der kombinatorischen Geometrie zusammen, für die Annahmen über integrale oder algebraische Koordinaten (bestenfalls) irrelevante Ablenkungen darstellen. Als Muttersprachler erscheint es völlig natürlich, beliebige Punkte, Linien, Kreise und dergleichen als erstklassige Objekte zu betrachten, wenn man Dinge über sie beweist, und daher ebenso natürlich, wenn man Algorithmen entwirft und analysiert, um mit ihnen zu rechnen.
Aus ähnlichen Gründen ist es den meisten Menschen, die über Sortieralgorithmen nachdenken, egal, was sie sortieren, solange die Daten aus einem vollständig geordneten Universum stammen und zwei beliebige Werte in konstanter Zeit verglichen werden können.
Daher entwickelte die Community eine Trennung der Bedenken zwischen dem Entwurf „realer“ geometrischer Algorithmen und ihrer praktischen Umsetzung. daher die Entwicklung von Paketen wie LEDA und CGAL. Selbst für Personen, die an exakten Berechnungen arbeiten, gibt es eine Unterscheidung zwischen dem realen Algorithmus, der exakte reelle Arithmetik als Teil des zugrunde liegenden Modells verwendet, und der Implementierung , die durch die ansonsten irrelevanten Einschränkungen physikalischer Rechengeräte zur Verwendung diskreter Berechnungen gezwungen wird.
Es gibt einige geometrische Algorithmen, die wirklich stark vom algebraischen Berechnungsbaummodell abhängen und daher auf physischen Computern nicht exakt und effizient implementiert werden können. Ein gutes Beispiel sind Minimum-Link-Pfade in einfachen Polygonen, die in einem realen RAM in linearer Zeit berechnet werden können, für deren exakte Darstellung jedoch im ungünstigsten Fall eine quadratische Anzahl von Bits erforderlich ist . Ein weiteres gutes Beispiel sind Chazelles hierarchische Ausschnitte , die in den effizientesten Algorithmen verwendet werden, die für die Suche nach Simplex-Bereichen bekannt sind. Diese Schnitte verwenden eine Hierarchie von Dreiecksätzen, wobei die Eckpunkte von Dreiecken auf jeder Ebene Schnittpunkte von Linien durch Kanten von Dreiecken auf vorherigen Ebenen sind. Selbst wenn es sich bei den Eingabekoordinaten um Ganzzahlen handelt, sind die Scheitelpunktkoordinaten für diese Dreiecke algebraische Zahlen von unbegrenztem Grad. Die Algorithmen zur Konstruktion und Verwendung von Schnitten gehen jedoch davon aus, dass Koordinaten in konstanter Zeit exakt manipuliert werden können.
Meine kurze, persönlich voreingenommene Antwort lautet also: TTE, Domänentheorie, Ko-Friedman und andere Modelle der „realistischen“ Berechnung von reellen Zahlen behandeln alle Probleme, die der Community für rechnergestützte Geometrie im Großen und Ganzen egal sind .
quelle
Es ist nicht ganz richtig, dass das reale RAM / BSS-Modell dem algebraischen Berechnungsbaummodell entspricht. Letzteres ist leistungsfähiger, weil ein polynomischer Tiefenbaum exponentiell groß sein kann. Dies gibt viel Raum zum Codieren von ungleichmäßiger Information. Meyer auf der Heide hat zum Beispiel gezeigt, dass algebraische (auch lineare) Entscheidungsbäume schwierige Probleme wie Teilmengen-Summen effizient lösen können, aber dies ist (mutmaßlich) im realen RAM / BSS-Modell unmöglich.
quelle
Hier ist ein Kommentar zu Jeffs hervorragender Antwort:
Begriffe wie Bedingung, Approximation und Abrundung wurden vorgeschlagen, um die (kombinatorische vs. kontinuierliche) Komplexitätslücke von linearen Programmieralgorithmen zu schließen. Der Zustand einer Probleminstanz schätzt die Auswirkung kleiner Störungen der Eingabe auf die Genauigkeit der Ausgabe. Der Begriff der Bedingung wurde zuerst von Alan Turing eingeführt. Jim Renegar führte den Begriff der Bedingung eines linearen Programms ein.
L. BLUM, Computing over the Reals: Wo Turing auf Newton trifft , BEKANNTMACHUNGEN DES AMS, BAND 51, NUMMER 9, (2004), 1024-1034
A. TURING, Rundungsfehler in Matrixprozessen, Quart. J. Mech. Appl. Mathematik. 1 (1948), 287–308
J. RENEGAR, Einbeziehung von Bedingungsnummern in die Komplexitätstheorie der linearen Programmierung, SIAM J. Optim. 5 (1995), 506–524
F. CUCKER und J. PEÑA, Ein Primal-Dual-Algorithmus zum Lösen polyedrischer Kegelsysteme mit einer Maschine mit endlicher Präzision, SIAM Journal on Optimization 12 (2002), 522–554.
quelle