Sie sind auf Seite 1von 8

UNIVERSIDAD

TECNOLOGICA DE
PANAM

COMPUTACION CUANTICA

Computacin cuntica
La computacin cuntica es un paradigma de computacin distinto al de la
computacin clsica. Se basa en el uso de qubits en lugar de bits, y da lugar a
nuevas puertas lgicas que hacen posibles nuevos algoritmos.
Una misma tarea puede tener diferente complejidad en computacin clsica y en
computacin cuntica, lo que ha dado lugar a una gran expectacin, ya que
algunos problemas intratables pasan a ser tratables. Mientras que un computador
clsico equivale a una mquina de Turing,1 un computador cuntico equivale a
una mquina de Turing cuntica.
Origen de la computacin cuntica
A medida que evoluciona la tecnologa, aumenta la escala de integracin y caben
ms transistores en el mismo espacio; as se fabrican microchips cada vez ms
pequeos, y es que, cuanto ms pequeo es, mayor velocidad de proceso alcanza
el chip. Sin embargo, no podemos hacer los chips infinitamente pequeos. Hay un
lmite en el cual dejan de funcionar correctamente. Cuando se llega a la escala de
nanmetros, los electrones se escapan de los canales por donde deben circular. A
esto se le llama efecto tnel.
Una partcula clsica, si se encuentra con un obstculo, no puede atravesarlo y
rebota. Pero con los electrones, que son partculas cunticas y se comportan
como ondas, existe la posibilidad de que una parte de ellos pueda atravesar las
paredes si son demasiado finas; de esta manera la seal puede pasar por canales
donde no debera circular. Por ello, el chip deja de funcionar correctamente.
En consecuencia, la computacin digital tradicional no tardara en llegar a su
lmite, puesto que ya se ha llegado a escalas de slo algunas decenas de
nanmetros. Surge entonces la necesidad de descubrir nuevas tecnologas y es
ah donde entra la computacin cuntica en escena.
La idea de computacin cuntica surge en 1981, cuando Paul Benioff expuso su
teora para aprovechar las leyes cunticas en el entorno de la computacin. En
vez de trabajar a nivel de voltajes elctricos, se trabaja a nivel de cuanto. En la
computacin digital, un bit slo puede tomar dos valores: 0 1. En cambio, en la
computacin cuntica, intervienen las leyes de la mecnica cuntica, y la partcula
puede estar en superposicin coherente: puede ser 0, 1 y puede ser 0 y 1 a la vez
(dos estados ortogonales de una partcula subatmica). Eso permite que se
puedan realizar varias operaciones a la vez, segn el nmero de qubits.
El nmero de qubits indica la cantidad de bits que pueden estar en superposicin.
Con los bits convencionales, si tenamos un registro de tres bits, haba ocho

valores posibles y el registro slo poda tomar uno de esos valores. En cambio, si
tenemos un vector de tres qubits, la partcula puede tomar ocho valores distintos a
la vez gracias a la superposicin cuntica. As, un vector de tres qubits permitira
un total de ocho operaciones paralelas. Como cabe esperar, el nmero de
operaciones es exponencial con respecto al nmero de qubits.
Para hacerse una idea del gran avance, un computador cuntico de 30 qubits
equivaldra a un procesador convencional de 10 teraflops (10 millones de millones
de operaciones en coma flotante por segundo), cuando actualmente las
computadoras trabajan en el orden de gigaflops (miles de millones de
operaciones).
Problemas de la computacin cuntica
Uno de los obstculos principales para la computacin cuntica es el problema de
la decoherencia cuntica, que causa la prdida del carcter unitario (y, ms
especficamente, la reversibilidad) de los pasos del algoritmo cuntico. Los
tiempos de decoherencia para los sistemas candidatos, en particular el tiempo de
relajacin transversal (en la terminologa usada en la tecnologa de resonancia
magntica nuclear e imaginera por resonancia magntica) est tpicamente entre
nanosegundos y segundos, a temperaturas bajas. Las tasas de error son
tpicamente proporcionales a la razn entre tiempo de operacin frente a tiempo
de decoherencia, de forma que cualquier operacin debe ser completada en un
tiempo mucho ms corto que el tiempo de decoherencia. Si la tasa de error es lo
bastante baja, es posible usar eficazmente la correccin de errores cuntica, con
lo cual s seran posibles tiempos de clculo ms largos que el tiempo de
decoherencia y, en principio, arbitrariamente largos. Se cita con frecuencia una
tasa de error lmite de 10-4, por debajo de la cual se supone que sera posible la
aplicacin eficaz de la correccin de errores cunticos.
Otro de los problemas principales es la escalabilidad, especialmente teniendo en
cuenta el considerable incremento en qubits necesarios para cualquier clculo que
implica la correccin de errores. Para ninguno de los sistemas actualmente
propuestos es trivial un diseo capaz de manejar un nmero lo bastante alto de
qubits para resolver problemas computacionalmente interesantes hoy en da.
Condiciones a cumplir

El sistema ha de poder inicializarse, esto es, llevarse a un estado de partida


conocido y controlado.
Ha de ser posible hacer manipulaciones a los qubits de forma controlada,
con un conjunto de operaciones que forme un conjunto universal de puertas
lgicas (para poder reproducir cualquier otra puerta lgica posible).
El sistema ha de mantener su coherencia cuntica a lo largo del
experimento.
Ha de poder leerse el estado final del sistema, tras el clculo.

El sistema ha de ser escalable: tiene que haber una forma definida de


aumentar el nmero de qubits, para tratar con problemas de mayor coste
computacional.

Software para computacin


Algoritmos cunticos
Artculo principal: Algoritmo cuntico
Los algoritmos cunticos se basan en un margen de error conocido en las
operaciones de base y trabajan reduciendo el margen de error a niveles
exponencialmente pequeos, comparables al nivel de error de las mquinas
actuales.
Algoritmo de Shor:
Procedimiento
El problema que intenta solucionar el algoritmo de Shor es que, dado un nmero
entero N, intentamos encontrar otro nmero entero p entre 1 y N que divida N.
El algoritmo de Shor consiste en dos partes:
1. Una reduccin del problema de descomponer en factores al problema de
encontrar el orden, que se puede hacer en una computadora clsica.
2. Un algoritmo cuntico para solucionar el problema de encontrar el periodo.
Parte clsica
1. Escoja un nmero pseudo-aleatorio a < N
2. Compute el mcd(a, N). Esto se puede hacer usando el algoritmo de
Euclides.
1. Si el mcd(a, N) 1, entonces es un factor no trivial de N, as que
terminamos.
1. Si no, utilice el subprograma para encontrar el perodo (ver abajo) para
encontrar r, el perodo de la funcin siguiente:
,
es decir el nmero entero ms pequeo r para el cual
.
2. Si r es impar, vaya de nuevo al paso 1.
3. Si ar/2 -1 (mod N), vaya de nuevo al paso 1.
4. Los factores de N son el mcd(ar/2 1, N). Terminamos.

Parte cuntica: subprograma para encontrar el perodo


1. Comience con un par de registros qubits de entrada y salida con log2N
qubits cada uno, e inicialcelos a

donde x va de 0 a N - 1.
2. Construya f(x) como funcin cuntica y aplquela al estado antedicho, para
obtener

3. Aplique la transformada de Fourier cuntica al registro de entrada. La


transformada de Fourier cuntica en N puntos se define como:

Lo que nos deja en el estado siguiente:

4. Realice una medicin. Obtenemos un cierto resultado y en el registro de


entrada y f(x0) en el registro de salida. Puesto que f es peridica, la
probabilidad de medir cierto y viene dada por

El anlisis muestra ahora que cuanto ms alta es esta probabilidad, tanto


ms el yr/N es cercano a un nmero entero.
5. Convierta a y/N en una fraccin irreducible, y extraiga el denominador r ',
que es un candidato a r.
6. Compruebe si f(x) = f(x + r '). Si es as terminamos.
7. Si no, obtenga ms candidatos a r usando valores cercanos a y, o mltiplos
de r '. Si cualquier candidato cumple las condiciones, terminamos.
8. Si no, vaya de nuevo al paso 1 del subprograma.

Aplicaciones
Aunque el propsito del algoritmo es, como ha sido indicado, la bsqueda en una
secuencia, se podra describir de una manera ms adecuada como la "inversin
de una funcin". As, si tenemos la funcin y=f (x), que puede ser evaluada en un
computador cuntico, este algoritmo nos permite calcular el valor de x cuando se
nos da como entrada el valor de y. Invertir una funcin puede relacionarse con la
bsqueda en una secuencia, si consideramos que la misma es una funcin que
produce el valor de y como la posicin ocupada por el valor x en dicha secuencia.
El algoritmo de Grover tambin se puede utilizar para el clculo de la media y la
mediana de un conjunto de nmeros, y para resolver otros problemas de
naturaleza anloga. Tambin se puede utilizar para resolver algunos problemas de
naturaleza NP-completa, por medio de inspecciones exhaustivas en un espacio de
posibles soluciones. Esto resulta en una apreciable mejora sobre soluciones
clsicas.
Descripcin
Inicializacin
Se considera una secuencia desordenada con N componentes. El algoritmo
requiere un espacio de estados N-dimensional H, que puede ser modelado con
log2N qubits.
Numeremos las entradas de la secuencia con 0, 1,... (N-1); y seleccionemos un
observable , actuando sobre H, con N autovalores distintos conocidos. Cada uno
de los autovalores de codifica una de las entradas de la secuencia, de una
forma que se describir ms adelante. Denotaremos los autoestados utilizando la
notacin bra-ket en la forma:

y los autovalores correspondientes como

Ahora tomamos un operador unario, U, que acta como una subrutina que
compara las diferentes entradas de acuerdo al criterio de bsqueda. El algoritmo
no especifica como funciona la subrutina, pero debe ser una subrutina cuntica
que trabaje bajo una superposicin de estados. Adems, debe actuar de manera
especial sobre uno de los autoestados, |>, que corresponder con la entrada que
satisface el criterio de bsqueda. Ms precisamente, requeriremos U con los
siguientes efectos:

En concreto,
.
.
.
.
Nuestro objetivo es identificar el autoestado |>, o de manera equivalente, el
autovalor , tal que U acta especialmente sobre l.
Iteraciones del algoritmo
Los pasos del algoritmo de Grover son los siguientes:
1. Inicializar el sistema al estado

2. Realizar la siguiente iteracin r (N) veces. Donde la funcin r (N) se


describe ms adelante.
1. Aplicar el operador
2. Aplicar el operador
.
3. Realizar la medida . La medida corresponder al valor con una cierta
probabilidad que se puede aproximar a 1, para un cierto N>>1. A partir de
, se puede obtener .
Podemos escribir las operaciones realizadas:
.

Despus de aplicar los dos operadores (


y ), la amplitud del elemento
buscado se ve incrementado. Y esta es una iteracin de Grover.

Das könnte Ihnen auch gefallen