Fondo
El cálculo sobre números reales es más complicado que el cálculo sobre números naturales, ya que los números reales son objetos infinitos y hay innumerables números reales, por lo tanto, los números reales no pueden representarse fielmente por cadenas finitas sobre un alfabeto finito.
A diferencia de la computabilidad clásica sobre cadenas finitas donde diferentes modelos de computación como: cálculo lambda, máquinas de Turing, funciones recursivas, ... resultan equivalentes (al menos para computabilidad sobre funciones en cadenas), hay varios modelos propuestos para computación sobre números reales que no son compatibles. Por ejemplo, en el modelo TTE (ver también [Wei00]), que es el más cercano al modelo clásico de máquina de Turing, los números reales se representan utilizando cintas de entrada infinitas (como los oráculos de Turing) y no es posible decidir la comparación y relaciones de igualdad entre dos números reales dados (en cantidad de tiempo finita). Por otro lado, en los modelos BBS / RAM real que son similares al modelo de máquina RAM, tenemos variables que pueden almacenar números reales arbitrarios, y la comparación y la igualdad se encuentran entre las operaciones atómicas del modelo. Por esta y otras razones similares, muchos expertos dicen que los modelos BSS / RAM real no son realistas (no se pueden implementar, al menos no en las computadoras digitales actuales), y prefieren el TTE u otros modelos equivalentes al TTE como modelo teórico de dominio efectivo, Modelo Ko-Friedman, etc.
Si entendí correctamente , el modelo de cálculo predeterminado que se utiliza en Geometría Computacional es el modelo BSS (también conocido como RAM real , ver [BCSS98]).
Por otro lado, me parece que en la implementación de los algoritmos en Geometría Computacional (por ejemplo, LEDA ), solo estamos tratando con números algebraicos y no hay objetos o cálculos infinitos de tipo superior involucrados (¿es esto correcto?). Entonces, me parece (probablemente ingenuamente) que también se puede usar el modelo clásico de computación sobre cadenas finitas para tratar con estos números y usar el modelo habitual de computación (que también se usa para la implementación de los algoritmos) para discutir la corrección y la complejidad de algoritmos
Preguntas:
¿Cuáles son las razones por las que los investigadores en Geometría Computacional prefieren usar el modelo BSS / RAM real? (Razones de geometría computacional específica para usar el modelo BSS / RAM real)
¿Cuáles son los problemas con la idea (probablemente ingenua) que he mencionado en el párrafo anterior? (usando el modelo clásico de computación y restringiendo las entradas a números algebraicos en Geometría Computacional)
Apéndice:
También existe la complejidad del problema de los algoritmos, es muy fácil decidir el siguiente problema en el modelo BSS / RAM real:
Dados dos conjuntos y de enteros positivos, ¿ es ?T ∑ s ∈ S √
Si bien no se conoce un algoritmo eficiente de RAM entera para resolverlo. Gracias a JeffE por el ejemplo.
Referencias
- Lenore Blum, Felipe Cucker, Michael Shub y Stephen Smale, "Complejidad y computación real", 1998
- Klaus Weihrauch, " Análisis computable, una introducción ", 2000