15 de junio de 2005

Niveles de abstracción

Veamos, el desarrollo lógico de la computación cuántica, al igual que la computación clásica, debería ir llevando a crear nuevos niveles de abstracción. Hasta ahora existen:
nivel 0 de abstracción: Física cuántica
nivel 1 de asbtracción: Computación cuántica en base a compuertas lógico-cuánticas
nivel 2 de abstracción: Aritmética computacional cuántica
nivel 3 de abstracción (¿o 1.5?): Lambda Cálculo para computación cuántica

Ya sería hora de crear un nuevo nivel, "lenguajes de programación cuánticos" ¿qué permitiría esto? si bien no se van a poder implementar "compiladores" cuánticos todavía (ya que no existen aún máquinas cuánticas que manejen un número de qubits interesantes), se puede llegar a simplificar bastante el escribir algoritmos cuánticos si disponemos de un lenguaje para esto. El único problema es que todos los "niveles" mencionados siguen desarrollándose constantemente, por lo tanto se necesitaría un lenguaje lo suficientemente potente como para poder ir cambiándolo facilmente de acuerdo a los nuevos descubrimientos en niveles inferiores.

Se invita a todos a dejar sus comentarios ;)

PD: si quieren saber un poco más de qué es la computación cuántica, lean el post anterior "Charlas Introductorias a la Computación Cuántica"

5 comentarios:

  1. En el caso de que se desarrollaran computadoras cuánticas eficientes, y con ellas lenguajes cuánticos apropiados ¿podría programarse en estas computadoras sin tener conocimientos de mecánica cuántica, de la misma forma que en la actualidad podemos programar en las computadoras clásicas sin tener conocimientos de electrónica?

    ResponderBorrar
  2. Hola!
    Antes que nada, este post tiene ya casi 8 años. Es de mi época de estudiante de grado cuando recién comenzaba a interesarme por la computación cuántica, y aún no tenía mucha idea de lo que ya existía. Entre ese post y el presente, terminé mi tesis de licenciatura trabajando en un lenguaje de computación cuántico (una extensión de una extensión al lambda cálculo) y un doctorado trabajando en otro. Dicho esto, la respuesta a tu pregunta es sí, para cuando se tenga una computadora cuántica programable, probablemente ya habremos diseñado varios lenguajes que eviten la necesidad de conocer la arquitectura específica de la máquina sobre la que se ejecutará. Mi línea de investigación, aunque yo estoy más interesado en la lógica detrás de esos lenguajes, está muy relacionada con los lenguajes de programación cuánticos.
    Saludos.

    ResponderBorrar
  3. Gracias, una respuesta impecable. Inicialmente me había interesado mucho el tema de la computación cuántica, porque entre otras cosas pensé que permitiría fácilmente la demostración automática de teoremas matemáticos (que en la actualidad sólo se limita a ciertas clases de lógicas con interés computacional, como las modales o algunos fragmentos de la de primer orden) aprovechando fenómenos como la superposición y otras cosas. Sin embargo, después de leer un artículo de Scott Aaronson sobre los límites de este tipo de computación, caí en la cuenta de que en muchos problemas computacionales (como el theorem proving) sólo se logra una pequeña diferencia (pero la complejidad sigue siendo exponencial). Creo que la única alternativa que me queda es esperar unos cuántos siglos hasta que con ayuda de la neurociencia se obtenga un modelo computacional real y lo suficientemente detallado de nuestro sistema neuronal para intentar alcanzar una inteligencia artificial a nivel humano... Pero esa es otra historia.

    En fin, felicitaciones por el blog.

    ResponderBorrar
    Respuestas
    1. Lo fabuloso de la computación cuántica es que, asumiendo que la teoría es correcta, no importa el modelo de computación (redes neuronales, RAM, DNA computing, etc). Como la mecánica cuántica es una teoría de la realidad física, si algo puedes hacer con digamos redes neuronales, también lo deberías de poder hacer con un modelo de computación cuántica. Esto se llama "physical Church-Turing thesis", del cual el profesor de Alejandro, Pablo Arrighi, es un experto. Hasta ahora no podemos demostrar que un modelo de computación cuántica "plausible o natural" es estrictamente más poderoso que un modelo "plausible o natural" de computación clásica (acorde al strong Church-Turing thesis). Si podemos demostrar la superioridad de la computación cuántica en modelos más artificiales como árboles de decisión, comunicación, juegos, etc.

      Borrar
  4. Bueno, la demostración automática de teoremas, en versión cuántica, no existen aún, pero creo que se apunta en esa dirección. En particular yo trabajo actualmente con sistemas no-determinísticos (lo que se podría considerar como una versión extremadamente simplificada de un sistema cuántico), y recientemente hemos demostrado [1] la relación entre estos sistemas y la "deducción módudo", que tiene su representante en Dedukti [2], un verificador de pruebas basado en λΠ-calculus modulo. La verificación de pruebas, por supuesto, no es lo mismo que la demostración, es un problema mucho más simple (pero relacionado!).

    La verdad que de inteligencia artificial no sé nada, pero demostradores automáticos de teoremas (empezando por problemas más simples, como los chequeadores automáticos de pruebas [3]), creo que no es algo tan fuera de foco.

    ResponderBorrar