sfondo
Il calcolo sui numeri reali è più complicato del calcolo sui numeri naturali, poiché i numeri reali sono oggetti infiniti e ci sono innumerevoli numeri reali, quindi i numeri reali non possono essere rappresentati fedelmente da stringhe finite su un alfabeto finito.
A differenza della classica calcolabilità su stringhe finite in cui diversi modelli di calcolo come: lambda calcolo, macchine di Turing, funzioni ricorsive, ... risultano equivalenti (almeno per la calcolabilità sulle funzioni sulle stringhe), ci sono vari modelli proposti per il calcolo su numeri reali che non sono compatibili. Ad esempio, nel modello TTE (vedi anche [Wei00]) che è il più vicino al modello classico di Turing, i numeri reali sono rappresentati usando nastri di input infiniti (come gli oracoli di Turing) e non è possibile decidere il confronto e relazioni di uguaglianza tra due numeri reali dati (in quantità finita di tempo). D'altra parte nei modelli BBS / real-RAM che sono simili al modello di macchina RAM, abbiamo variabili che possono memorizzare numeri reali arbitrari e il confronto e l'uguaglianza sono tra le operazioni atomiche del modello. Per questo e motivi simili molti esperti affermano che i modelli BSS / RAM reale non sono realistici (non possono essere implementati, almeno non sui computer digitali attuali) e preferiscono il TTE o altri modelli equivalenti al TTE come un efficace modello teorico di dominio, Modello Ko-Friedman, ecc.
Se ho capito bene , il modello di calcolo predefinito che viene utilizzato in Geometria computazionale è il modello BSS (aka real-RAM , vedi [BCSS98]).
D'altra parte, mi sembra che nell'implementazione degli algoritmi in Geometria computazionale (es. LEDA ), abbiamo a che fare solo con numeri algebrici e non sono coinvolti oggetti o calcoli infiniti di tipo superiore (è corretto?). Quindi mi sembra (probabilmente ingenuamente) che si possa anche usare il modello classico di calcolo su stringhe finite per gestire questi numeri e usare il solito modello di calcolo (che è anche usato per l'implementazione degli algoritmi) per discutere di correttezza e complessità di algoritmi.
Domande:
Quali sono i motivi per cui i ricercatori in Geometria computazionale preferiscono utilizzare il modello BSS / RAM reale? (motivi specifici della geometria computazionale per l'utilizzo del modello BSS / real-RAM)
Quali sono i problemi con l'idea (probabilmente ingenua) che ho citato nel paragrafo precedente? (usando il classico modello di calcolo e limitando gli input ai numeri algebrici nella geometria computazionale)
Addendum:
C'è anche la complessità del problema degli algoritmi, è molto facile decidere il seguente problema nel modello BSS / real-RAM:
Dati due insiemi e di numeri interi positivi, è ?
Sebbene non sia noto alcun algoritmo RAM integer efficiente per risolverlo. Grazie a JeffE per l'esempio.
Riferimenti:
- Lenore Blum, Felipe Cucker, Michael Shub e Stephen Smale, "Complessità e calcolo reale", 1998
- Klaus Weihrauch, " Analisi calcolabile, un'introduzione ", 2000