You are on page 1of 6

¿Qué es la computación cuántica?

 
Alejandro Díaz­Caro 
 
Empecemos  por  el  principio.  ¿Qué  es  la  física  cuántica?  Bueno,  es  la   física  de  lo  muy 
chiquito.  Es  la  matemática  que  nos  ayuda  a  predecir  qué  sucede  con  las  partículas  más 
pequeñas  que  componen  nuestro  universo,  como  los  electrones  o  los  fotones. Y es distinta 
de  lo  que  se  suele  llamar  física  clásica,  que  trata  de  objetos  más  grandes,  como  los 
planetas  o  las  pelotas  de  fútbol.  Por  ejemplo,  si  pateo  una  pelota  hacia  un  arco,  puedo 
hacer montón  de mediciones del  estado  inicial, como por ejemplo la fuerza con la que lo tiro, 
la  velocidad  del  viento,  el  ángulo  del  tiro,  el  punto  en  que  mi  pié  le  pega  a   la  pelota,  la 
distancia  al  arco,  etc.,   y  predecir  si  haré  el  gol  o  no.  ¡La  física  clásica  nos  permite  predecir 
un  gol!  (si  pudiésemos  medir  todas  las  variables,  claro).  Pero  ¿qué  pasaría  en  un  mundo 
donde  al  patear  la  pelota  pudiese  meter  el  gol  ​ y  no  meterlo…  a  la   vez?  Algo  así  es  lo  que 
sucede  con  los  fotones,  que  son  las  partículas  que  componen  la  luz.  Supongamos  que  en 
vez  de  un  arco  tenemos  una  pared  con  dos  orificios.  Si  ponemos  una  linterna  de  un  lado a 
cierta  distancia  y  nos  paramos  del  otro  lado,  veremos  a  la  luz  pasar  por  los  dos  orificios. 
Ahora,  si  tiramos  una  sola  partícula  de  luz,  un  sólo  fotón,  contra  una   esa  pared,  podemos 
tratar  de   hacer  montón  de  mediciones  del  estado  inicial,  y  aún  así  no  vamos  a  poder 
predecir  si   el  fotón   pasará  por   uno  u  otro  orificio. Más  aún, si ponemos detrás de esa pared 
una  pantalla  o  algo  que  reciba  el  fotón  para  determinar  por  donde  pasó,  veremos  que  el 
fotón  ​ pasó  por  los  dos  orificios  a  la  vez.​  Lo  lógico  con  este  experimento  sería  pensar  que 
nos  equivocamos  al  creer  que  el  fotón  era  una  partícula,  como  una  pequeña   pelotita,  el 
fotón  tiene  que  ser  más  bien  una  onda,  así  como  el   sonido,  o 
una  ola  del  mar,  la  cual  tiene  sentido  que  pase  por  ambos 
orificios  a  la  vez.  De  hecho,  en  la  pantalla  se  detecta  un  patrón 
que  se  puede  relacionar  perfectamente  con  una  onda.  ¿Porqué 
hablamos   entonces  de  partícula   cuando  nos  referimos  al  fotón, 
si  lo  que  detectamos  es  una  onda?.  El  tema  es  que   si  en  lugar 
de  poner  la  pantalla   para  detectar  el  fotón  ​ atrás  de  la  pared,  la 
pusiéramos  en  la  misma  pared,  en  cada  orificio,  pues  entonces 
vamos  a  detectar  que  el  fotón  pasa   sólo  por  uno  de  los  dos  orificios  y  no  por  ambos.  Es 
decir,  veremos  que  el  fotón  se  comporta  como  una  partícula,  como  una  pelotita  y   no  como 
una  ola  del  mar.  El  comportamiento  del   mundo  cuántico  es  así:  No  sólo  muchas  veces  no 
podemos  predecir  con  precisión   lo  que  va  a  suceder,  sino  que  encima  suceden  cosas   que 
desafían  a  la  intuición.  Así  de  poco  intuitiva  es  la  cuántica,  y  sin  embargo  sirve  para  hacer 
predicciones  sobre  el  comportamiento  del  mundo  subatómico,  y  gracias  a  estas 
predicciones pudimos desarrollar los transistores, los lasers o el GPS. 
 
Veamos  cómo  lucen  las  predicciones  que  podemos  hacer  con  la  física  cuántica.  Por 
ejemplo,  los vidrios polarizados funcionan porque dejan pasar ciertos fotones. Un fotón tiene 
una  característica  que  se   llama  ​ polarización,​   que  vamos  a  decir  que  viene  dada  por  un 
ángulo.  Digamos  que  un  vidrio  polarizado  puede determinar que sólo pasen los fotones que 
tienen  polarización  vertical  y  no  los  que  tienen  polarización   horizontal.  ¿Y  qué  pasa  si  un 
fotón  está  polarizado  a  45  grados?  Bueno,  al  chocar contra el vidrio, el fotón va a "elegir" al 
azar  si  modificarse  para  estar  polarizado horizontalmente o verticalmente y, de acuerdo a la 
elección  que  hizo  el   fotón,  puede  pasar  hasta  tus  ojos,  o estrellarse contra el vidrio. Bueno, 
técnicamente,  el  fotón  no   "elige",  digamos  que  el  entorno  elige por él… y hay varias teorías 
matemáticamente  correctas  para  interpretar  esto,  como   por  ejemplo  que  el  universo  se 
copia  a  sí  mismo  en  un  universo  paralelo,  y  en  un  universo  el  fotón  se  va  horizontalmente  
mientras  que  en  el  otro  va  verticalmente...  pero  dejémoslo  en  que  el  fotón ​ elige y que cada 
uno  interprete eso como más  le guste. Digamos que 
los  fotones  juegan  a  tirar  la  moneda.  ¿Pero  qué 
pasa  si,  por ejemplo, no viene a  45 grados sino  más 
cerca  de  la   vertical?  Y,  el  fotón  tampoco  es  tonto, 
así   que  con  mayor  probabilidad  se  va  a  tirar  para 
ahí...  ¡pero  no  siempre! Siempre están esos fotones 
renegados  que  se  rascan  la  oreja  derecha  con  el 
brazo  izquierdo  y  se  tiran  para  la  horizontal,  así 
estén  ​ casi  verticales.  En  realidad,  si  están  casi  
verticales,  ​ es  menos  probable  que  se  tiren  para 
horizontal.  De  hecho,  esa  probabilidad  se  puede  calcular  precisamente.  Podemos ​ predecir,​ 
con cierta probabilidad, cuál será el comportamiento del fotón. 
 
Y  ahora  la  pregunta... ¿qué tiene que ver todo esto con computación?. Volvamos al ejemplo 
del  vidrio  polarizado,  y  elijamos  un  vidrio  que  deje  pasar   tanto  los  fotones  polarizados 
horizontalmente  como  los verticalmente, y nosotros nos ubicaremos detrás de ese vidrio. Es 
decir  que  todos  los  fotones  van   a  pasar,  porque  cada  uno,  al  llegar  al  vidrio, elegirá si ir de 
horizontal   o  de  vertical,  y  el  vidrio  deja  pasar  ambas  opciones,  sólo  que  como   nosotros  los 
veremos  solamente  una  vez  que   estén  del  otro  lado  del  vidrio,  vamos  a  recibir  todos  los 
fotones  polarizados  horizontalmente  o  verticalmente  y  no  en  ningún  otro  ángulo.  De  ahora 
en  más  al  horizontal  le  llamaremos  "H",  y  al  vertical  "V".  Y  cuando  un  fotón  esté  en  otro 
ángulo  (que  es  posible  sólo  antes  de  pasar  por  el  vidrio),   vamos  a  dar  una  descripción  de 
sus  probabilidades  de  elección:  diremos  algo  como  "este  fotón  tiene  probabilidad  tal  de 
elegir  H  y  probabilidad  cual  de  elegir  V".  Y allí viene la similitud, quizá un tanto forzada, con 
la  computación  clásica,  donde  se  trabaja  con  valores  binarios  (los  ​ bits​
, los famosos ceros y 
unos,  que  acá  son  Hs  y  Vs),  sólo  que  en  este  caso,  nuestros  ​ bits  cuánticos,​  son  Hs,  Vs  y 
esas  ​ superposiciones  "probabilidad  tal  de  ser  H  y  probabilidad  cual  de  ser  V".  Esa  tercera 
opción,  de  superposición, viene dada por lo que se conoce como ​ amplitudes de  H y de V. El 
fotón  está  en  un estado de superposición que, al pasar por el vidrio polarizado,  tendrá cierta 
probabilidad  de  modificarse  en  H  o  en  V,  y  esas  probabilidades  están  dadas  por  las 
amplitudes.  Es  como  si  en  la  memoria  de  la  computadora  ahora  autorizáramos  a  guardar 
0s,   1s,  o  esas  superposiciones  raras, sólo que al leer esa superposición, sólo tendremos un 
0 o un 1. 
 
Una  computadora  lo  que  hace  es  modificar  los  datos  en  su  memoria;  los  programas 
modifican  los  valores  de  los  bits   que  guardan. Por ejemplo, un programa llamado "negador" 
sería  uno  que  se  fije  en  la  memoria  si hay un 0 y lo cambie por un 1 y si hay un  1 lo cambie 
por  un  0.  En  nuestra   memoria   cuántica,  el  programa  negador  se  fijaría si hay un fotón  en H 
y  lo  modificaría  hacia  V,  y  un  fotón   en  V  lo  modificaría  hacia  H.  Y  si  el  fotón  está  en 
"probabilidad  tal   de  elegir  H  y  cual  de  elegir  V",  daría  vuelta las amplitudes para que quede 
"probabilidad  tal   de  elegir  V y cual de elegir H". Y hay muchas más opciones: con un bit, 0 o 
1,  lo único que puedo hacer  es dejarlo como está, o utilizar el  programa negador. En cambio 
con  un  bit  cuántico,  puedo  dejarlo  como  está,  usar  el  programa  negador,  o  cambiarlo  a 
cualquier otra superposición con las amplitudes que quiera. ¡Las posibilidades son infinitas!  
 
Supongamos  ahora  que  tenemos   un  programa   súper  complejo,  que  toma  un  fotón,  con 
alguna  polarización,  como  entrada  y  modifica  su  polarización  de  alguna  manera.   Si  
ejecutamos  el  programa  en  un  fotón  en  H,  se  obtiene  un  resultado,  si  el  fotón estaba en V, 
habrá  otro  resultado.  Y  si  el  fotón  estaba en superposición... ¡depende de qué pase cuando 
el  fotón  llegue  al   vidrio!  Puedo  tener  el  resultado  del  programa  que  se  obtiene  cuando  el 
fotón  está  en  H,  si  el  fotón  elige  modificarse  a  H,   o el del programa cuando el fotón está en 
V,  si  el  fotón  elige  eso.  Es  decir  que  al  ejecutar  el  programa  sobre  una  superposición,  es 
como  si  lo  ejecutáramos  sobre  los  dos  valores  a  la  vez,   (aunque sólo uno vaya a sobrevivir 
al  llegar  al  vidrio).  Por  ejemplo  si  tomamos  el  programa  negador   y  lo  utilizamos  sobre  un 
fotón  en  estado  "probabilidad  tal  de  elegir  H  y  cual  de elegir  V", lo cambia por "probabilidad 
tal  de  elegir  V  y  cual  de  elegir  H".  ¡Se  ejecutó  sobre  H  y  sobre  V  a  la  vez!, pero  al llegar al 
vidrio,  vamos  a  ver  una  H  con  probabilidad  "cual"  o  una V con probabilidad "tal". O sea que 
el  programa  se  ejecutó  sobre   ambos   valores  a  la  vez,  pero   sólo  obtuvimos,  al azar, uno de 
los  dos  resultados.  ¿Se  podrá  utilizar  de  alguna  manera  el  hecho  de  que  el  programa  se 
ejecuta  una  sola  vez  sobre  todos  los valores posibles? Parecería una ganancia en términos 
computacionales:  ejecutar  el  programa  una  sola  vez  en lugar de dos para obtener todos los 
valores  en   superposición,  suena  interesante…  si  no  fuese  por  el vidrio  que me deja sólo un 
resultado. 
 
Y  ahí,  para  responder   a  esa  pregunta,  llegó  Lov  Grover,  a  quien  se  le  ocurrió  cómo  usar 
este raro comportamiento cuántico para hacer la computación más eficiente, al menos en un 
caso  particular.  Bueno,  hubo  otros  usos  de  la  computación  cuántica  antes  del  que  se  le 
ocurrió  a  Grover,  pero  el   de  Grover  es  el   primer  programa  cuántico  que  podría  tener  una 
utilidad práctica (si ya existiese una computadora cuántica, claro). 
 
El  problema  a  resolver  es  el  siguiente:  supongamos  que  tenemos  que  buscar  a  quién 
pertenece  un  número  de  teléfono  y  sólo  tenemos  una   guía.  Lo  que  deberíamos  hacer  es 
recorrer  la  guía  completa  buscando  ese  número.  El  "programa"  que  aplicamos  ​ a  cada 
registro  de  la  guía  es:  lo  miramos,  si  es  el  que  buscábamos,  gritamos  "¡eureka!",  si  no  es, 
no  gritamos   nada.  Obviamente  que  con  este  método,  paramos  cuando  gritemos  ¡eureka!. 
En  el peor caso (el caso Murphy) vamos a tener que recorrer toda la guía y el último número 
será   el  que  estábamos  buscando.  En  el  mejor  caso  (el  caso  imposible,  nunca  me  suceden 
cosas  así),  abrimos  la  guía  y  el  primer número que vemos es el que buscábamos. Digamos 
que en el promedio tenemos que recorrer la mitad de la guía. 
 
Veamos  cómo  nos  ayudaría  la  cuántica.  La  configuración  inicial  es  la  siguiente: Agarremos 
muchos  fotones.  Necesitamos  que  la  cantidad  de  fotones  sea  suficiente  para  codificar  en 
binario  todos  los  registros  de  la  guía.  Por  ejemplo,  poniendo  todos  los  fotones  en  H  nos 
referimos  al  primer  registro.  Poniendo  todos  los  fotones  en  H  excepto  el  último  que  lo 
ponemos  en  V,  es  el  segundo.  Todos  en  H  excepto  el  ante   último  es el  tercero, todos en H 
excepto  los  dos  últimos es el cuarto, y así sucesivamente.  Ahora construyamos el programa 
eureka  que  cuando  le  damos  una  combinación  de  fotones,  cada  uno  en  H  o  V,  mire   el 
registro  al  cual  corresponde  esa  combinación,  y  grite  ¡eureka!  si  allí   está  el  número  de 
teléfono que estábamos buscando. 
 
Lo  que  debemos  hacer luego es tomar  todos los fotones y  poner cada uno en  superposición 
de  H  y  V  (con   la  misma  probabilidad  de  elegir  H  que  de  elegir  V  al  llegar  al  vidrio 
polarizado).  Es  decir  que  tenemos  una  superposición  de  todos 
los  registros.  Entonces  ejecutamos  el  programa eureka ​ una sola 
vez  con  estos  fotones   superpuestos.  Con  alguna   de  las  
combinaciones  el  programa  va  a   gritar  ¡eureka!  Es  decir, 
tendremos  la superposición de todos los casos donde no se gritó 
¡eureka!  y  un  caso  donde  se  gritó  ¡eureka!.  Claro  que al llegar a 
nosotros,  que  seguimos  detrás  de   nuestro  vidrio  polarizado, 
cada  fotón  estará  en  H  o  V  y  no  en  superposición,  y  por 
supuesto  que  la  combinación  de  Hs  y  Vs  que  recibamos  no 
necesariamente  será  la  combinación  que  gritó  ¡eureka!.  O  sea,  cuando los fotones llegaron 
al  vidrio,  cada  uno  se  decide  por  H o por  V aleatoriamente, no tengo porqué suponer que la 
combinación  que  quiero  (aquella  que  gritó  ¡eureka!)  es  justo  la  que   va  a  ser   elegida.  Pues 
bien,  la combinación del ¡eureka! es, de alguna manera diferente a  las otras (en definitiva es 
la  que  grita  algo).  Lo  que  necesitamos  es   otro  programa   que 
tome  una  superposición,   donde  está  la  que  grita  ¡eureka!,  y  
suba  la  probabilidad  a  la  combinación  ¡eureka!  (bajando  la 
probabilidad  del  resto). Y ese programa es posible crearlo. Sólo 
es  necesario  que  el  programa  eureka  deje  una  marquita  en  la 
amplitud  de  la  que  le  queremos  subir  la  probabilidad  (que  
técnicamente,  esa  marquita  es  lo  que  se  llama  una  "fase").  A 
este  programa  que  sube  la  probabilidad  de la combinación que 
tiene  la  marquita  vamos  a   llamarle  programa  "elegidor", ya que 
es  el  que hace que el fotón elija la combinación adecuada al llegar al vidrio. Ejecutamos una  
vez  el  programa  elegidor,  y  nos  sube la probabilidad de obtener el resultado que queremos. 
Sólo  que  el  programa  elegidor,  al   cambiar  la  probabilidad,  en  realidad  lo  que  cambia  es  la 
amplitud,  por  lo  que   elimina  esa  marquita  que  había  dejado  el  programa  eureka.  Por  lo 
tanto,  si  queremos  volver   a  ejecutar  el  programa  elegidor  para  subir  más  la  probabilidad, 
primero  devemos  volver  a  ejecutar   eureka  para  volver  a  poner  la  marquita.  Ejecutando 
muchas  veces  el  programa  eureka   seguido  del  programa 
elegidor  sobre  nuestra  combinación,  subimos  cada  vez  más  la 
probabilidad  de  que  al  llegar  al  vidrio,  el  fotón  elija  modificarse 
en  la  combinación  del   ¡eureka!.  Pero  hay  una  salvedad,  el 
programa  elegidor  no  se  puede  ejecutar   infinitamente,  es 
cíclico,  y  luego  de  cierto  número  de  veces  la  probabilidad  del 
¡eureka!  empieza  a bajar nuevamente. De hecho la cantidad de 
veces  óptima  para  repetir  eureka  y elegidor es la raíz cuadrada 
del  número  de  registros  que  tenemos.  Es  decir  que  los   pasos 
de la receta que estamos dando son: aplicar una vez el programa eureka, luego el programa 
elegidor,  y   luego  repetir  una  cantidad  de  veces  dada  por  la  raíz  cuadrada  del  número  de 
teléfonos  que  tenemos  en  la  guía. Y listo, al llegar al vidrio tendremos una probabilidad muy 
muy  alta  de  que  pase  la combinación  del ¡eureka!. Por lo tanto, la cantidad de pasos totales 
es  la  raíz  cuadrada  del  número  de  registros,  que  es  la  cantidad  de  veces  que  ejecutamos 
eureka  seguido  de  elegidor.  Dijimos  que  el  programa  clásico,  en  promedio,  necesitaba  
recorrer  la  mitad   de  los  registros.  La  raíz  cuadrada  del  número  de  registros  de  la  guía  es 
más  chico  que  el  la  mitad  del  número  de  registros,  así  que  el  programa  cuántico  hace 
menos pasos que el clásico. 
 
Un  año  después  de  que  Lov  Grover  ideara   este  algoritmo,  llegó   Peter  Shor,  a  quien  se  le 
ocurrió  otro  algoritmo,  con  una  ganancia  mucho  más  impresionante  respecto  de  la 
computación  cuántica.  El  algoritmo  de  Shor  permite  factorizar  números.  Es  decir,   es  un 
algoritmo  que,  dado  un  número  muy  grande,  te  dice  cuáles  números  primos  deberías 
multiplicar  para  obtener  ese  número.  Y  es  un  resultado  muy importante, porque hoy  en día, 
la  mayoría  de  los  sistemas  de   encriptación   basan  su  seguridad  en  que  para  una 
computadora   clásica,  es  muy  difícil  factorizar  números  grandes,  es  decir,  un  programa 
clásico  va  a  tener  que  hacer  muchísimos  pasos  para  poder  resolver  ese  problema.  Y  en 
cambio,  Shor  demostró  que con una computadora cuántica se  puede hacer en una cantidad 
de  pasos  exponencialmente menor. Es decir que si existiese una computadora cuántica  que 
pueda  manipular  la   cantidad  necesaria  de  fotones,  podríamos  romper  casi  todos   los 
sistemas  de  criptografía  actuales.  Aunque  también,  la  computación  cuántica,  nos  ofrece 
otras  maneras de encriptar, que ni una computadora cuántica puede romper. Es decir que la 
computación  cuántica  sube  un  nivel  más  en  la  criptografía:  rompe  la  criptografía  actual  y 
provee una criptografía más segura. 
 
Todo  este  proceso  de   lo  que  le  hacemos  a  los  pobres  fotones  lo  describimos  como   una 
receta,  como  un  programa,  pero  bien  podríamos  haberlo  descrito  como  un  experimento  de 
laboratorio,  donde  este  programa   simplemente  nos  dice  los  pasos  a  seguir  y  nos  da  las 
predicciones  de  lo  que  va  sucediendo  a  cada  paso.  Es  decir,  un  programa  cuántico  no   es 
más  que  la   descripción  de  un  experimento.  Por  lo  que  la  computación  cuántica  no  sólo  es 
interesante   porque  nos  permite  construir  programas  más  rápidos,  sino  que  también  nos 
permite  describir  experimentos  físicos  de  una   manera  muy  estructurada.  Es   más,  es  tan 
estructurada  que  podríamos  definir  la  ​ lógica  detrás   de  la  física  cuántica.  Una  lógica  es  un 
conjunto  de  reglas  que  permiten  demostrar  matemáticamente  que  un  razonamiento  es 
correcto  con  respecto  a  esas  reglas. Si definimos reglas indiscutibles, que estemos seguros 
de  que  tienen  sentido,  demostrar  que  un  razonamiento  tiene  sentido  con  respecto  a  esas  
reglas  es  demostrar  que  el  razonamiento  tiene sentido a secas. Que es ​ lógico,​
 digamos. En  
computación  y  en  matemáticas,  existen  muchos  sistemas  lógicos  diferentes,   es  decir, 
conjuntos  de  reglas  que  nos  dicen  si  un  razonamiento  es  válido   de  acuerdo  a  esas  reglas. 
Cada  una  de  esas  lógicas  sirve  para  describir  diferentes  sistemas.  En  particular,  cada 
lenguaje  de  programación  tiene  una  lógica  detrás.  ¿Y  qué  pasa  con  la  computación 
cuántica?  Si  analizamos  la  lógica  detrás  de  un  lenguaje  que  nos  permita  describir  estos 
programas  cuánticos,  ¡tenemos  una  lógica  detrás  de la física  cuántica! Es decir que  no sólo 
tendremos  la  física  que  nos  da  las  predicciones  de  los  experimentos,  sino  también  un 
sistema  lógico  que  nos  permitirá  demostrar  con  certeza   matemática  si  el  razonamiento 
detrás  de  la  predicción  es  correcto.  Y   eso  va  más  allá  incluso  que  de   la  ganancia 
computacional   de  la  cuántica,  nos   da  una  nueva  herramienta  para  razonar  sobre  este 
mundo tan poco intuitivo que es el de las partículas elementales de nuestro universo. 
 
 
Algunas referencias: 
● Experimento de la doble rendija ​ https://es.wikipedia.org/wiki/Experimento_de_Young  
● Algoritmo de Grover 
https://es.wikipedia.org/wiki/Algoritmo_de_Grover  
● Algoritmo de Shor 
https://es.wikipedia.org/wiki/Algoritmo_de_Shor  
● Criptografía cuántica 
https://es.wikipedia.org/wiki/Criptografía_cuántica  
● Michael Nielsen e Isaac Chuang, Quantum Computation and Quantum Information 
http://www.cambridge.org/us/academic/subjects/physics/quantum­physics­quantum­i
nformation­and­quantum­computation/quantum­computation­and­quantum­informatio
n­10th­anniversary­edition 
● J. Michael Dunn, Lawrence S. Moss y Zhenghan Wang, “The third life of quantum 
logic: Quantum logic inspired by quantum computing”, Journal of Philosophical Logic 
42 (3): 443­459. 2013. ​http://arxiv.org/abs/1302.3465  

You might also like