19 dic 2012

LENGUAJES PROGRAMABLES CUANTICOS


En un futuro cercano una Internet cuántica podría transferir datos entre el software y las computadoras cuánticas, que podrían superar a los ordenadores normales mediante la ejecución de varias operaciones a la vez, en superposición.
Mientras tanto, la mayoría de los ingredientes básicos técnicos de una Internet cuántica han sido ahora demostrados, al menos en el laboratorio. En concreto, los investigadores han creado varios tipos de "memoria cuántica", en la cual los pulsos de luz que viajan a través de una fibra óptica esencialmente frenan hasta detenerse, un requisito crucial para la versión cuántica de un enrutador (router) de Internet.

Así que puede ser sólo una cuestión de tiempo antes de que los científicos puedan comenzar a irradiar cosas - o por lo menos los datos.

La mayor parte de las piezas necesarias para armar una Internet cuántica existen ahora, y el reto será hacer que trabajen juntos de manera eficiente.
Con la mejor tecnología disponible hasta el momento, un prototipo que funcione podría ser capaz de enviar un solo qubit por minuto.

Para todo ello vamos a necesitar lenguajes de programación nuevos. yo estoy trabajando en un lenguaje que llamo Quantum Basic (r), lleva su tiempo desarrollarlo, pero todo comienza con un primer paso. Los lenguajes de programación cuántica se pueden dividir en cuatro grandes clases (A) imperativos, (B) declarativos (normalmente, funcionales), y (C) otros (algunos son sólo formalismos matemáticos). Hay muchos lenguajes de programación útiles para la computación cuántica, algunos incluso de alto nivel. El pseudocódigo propuesto por Oliver Knill acabó resultando en el primer lenguaje imperativo cuántico, C quántico (QCL). Este lenguaje se basa en utilizar una memoria RAM cuántica (QRAM), con un flujo de control clásico que involucra tantos datos clásicos como cuánticos.

Merece la pena leer el proyecto fin de carrera (master thesis) de Bernhard Ömer, “Quantum Programming in QCL” que incluye implementaciones QCL de los algoritmos cuánticos más populares. Por ejemplo, el algoritmo de Peter Shor para factorización de números requiere 9 páginas de texto en QCL, aunque en pesudocódigo es extraordinariamente corto.
Otro lenguaje cuántico basado en C++ es Q Language. Incluye construcciones cuánticas básicas para todas las operaciones cuánticas más utilizadas, como QHadamard, QFourier, QNot, QSwap, and Qop. Permite definir nuevos operadores y todo en un contexto “orientado a objetos”. Discutir otros lenguajes imperativos, como qGCL (quantum Guarded Command Language) de Sanders-Zuliani ó LanQ de Mlnarik nos llevaría lejos.
Los lenguajes cuánticos declarativos se basan en el paradigma funcional utilizando una variante cuántica del Lambda cálculo de Church, por ejemplo, el lenguaje introducido por Maymin que ha sido la base de QFC (Quantum Flow Charts) de Selinger que ha dado lugar a QPL (Quantum Programming Language) y a cQPL.

"Nuestra imaginación es el límite de la Internet".

 "End of transmission".

No hay comentarios:

Publicar un comentario