Esta explicación te ayudará a entenderlo de una vez por todas.
¿Qué es un ordenador cuántico? Esta es la definición de este término resumida en una sola frase:
Un ordenador cuántico es un tipo de ordenador que utiliza la mecánica cuántica para poder realizar ciertos tipos de cálculo de forma más eficiente que un ordenador normal.
Esta oración tiene mucho que analizar, así que permíteme explicarte lo que es exactamente mediante un ejemplo muy simple. Para explicar lo que es un ordenador, primero voy a necesitar explicar un poco acerca de los ordenadores normales (no cuánticos).
Cómo almacena información un ordenador normal
Actualmente, un ordenador normal almacena información en una serie de ceros y unos. De esta manera se pueden representar diferentes tipos de información, como números, texto e imágenes. Cada unidad en esta serie de 0 y 1 recibe el nombre de bit. Por lo tanto, un bit puede ajustarse a 0 o 1.
Ahora, ¿qué pasa con los ordenadores cuánticos?
Un ordenador cuántico no utiliza bits para almacenar información. En su lugar, utiliza algo llamado qubits. Cada qubit no solo se puede fijar a 1 o 0, sino que también se puede fijar a 1 y 0. ¿Pero qué significa esto exactamente?
Permíteme explicar esto con un simple ejemplo. Este va a ser un ejemplo algo artificial. Pero aún así va a ser útil para ayudarte a comprender cómo funcionan los ordenadores cuánticos.
Un ejemplo sencillo para entender cómo funcionan los ordenadores cuánticos
Ahora, supongamos que diriges una agencia de viajes y necesitas trasladar a un grupo de personas de un lugar a otro. En aras de la simplicidad, digamos que necesitas mover solo 3 personas por ahora - Alicia, Berta, y Manuel. Y supongamos que has reservado 2 taxis para este propósito, y quieres saber quién se sube a qué taxi.
Además, supón que aquí se te da información sobre quién es amigo de quién y quién es enemigo de quién. Aquí, digamos que:
- Alicia y Berta son amigas.
- Alicia y Manuel son enemigos.
- Berta y Manuel son enemigos.
Y supón que tu objetivo es dividir a este grupo de 3 personas en los dos taxis para lograr los dos objetivos siguientes:
- Maximizar el número de parejas de amigos que comparten el mismo coche.
- Minimizar el número de parejas de enemigos que comparten el mismo coche.
Bien, esta es la premisa básica de este problema. Primero pensemos en cómo resolveríamos este problema usando un ordenador normal.
Cómo resolver este problema con un ordenador normal
Para resolver este problema con un ordenador normal, no cuántico, primero tendrás que averiguar cómo almacenar la información relevante con bits. Vamos a etiquetar los dos taxis Taxi #1 y Taxi #0. Entonces, puedes representar quién se mete en qué coche con 3 bits. Por ejemplo, podemos poner los tres bits a 0, 0 y 1 para representar:
- Alicia se sube al taxi #0.
- Berta se sube al taxi #0.
- Manuel se sube al taxi #1.
Ya que hay dos opciones para cada persona, hay 2*2*2 = 8 maneras de dividir este grupo de personas en dos coches. Esta es una lista de todas las configuraciones posibles:
Utilizando 3 bits, puedes representar cualquiera de estas combinaciones.
Calculando la puntuación para cada configuración
Ahora, usando un ordenador normal, ¿cómo determinaríamos qué configuración es la mejor solución? Para ello, definamos cómo podemos calcular la puntuación de cada configuración. Esta puntuación representará el grado en que cada solución logra los dos objetivos que he mencionado anteriormente:
- Maximizar el número de parejas de amigos que comparten el mismo coche.
- Minimizar el número de parejas de enemigos que comparten el mismo coche.
Simplemente definamos nuestra puntuación de la siguiente manera:
(la puntuación de una configuración dada) = (# parejas de amigos que comparten el mismo coche) - (# parejas de enemigos que comparten el mismo coche)
Por ejemplo, supongamos que Alicia, Berta y Manuel se suben al Taxi #1. Con tres bits, esto puede expresarse como 111. En este caso, solo hay una pareja de amigos que comparten el mismo coche: Alicia y Berta. Sin embargo, hay dos parejas de enemigos que comparten el mismo coche: Alicia y Manuel, y Berta y Manuel. Por lo tanto, la puntuación total de esta configuración es 1-2 = -1.
Resolviendo el problema
Con toda esta configuración, finalmente podemos resolver este problema. Con un ordenador normal, para encontrar la mejor configuración, tendrás que pasar por todas las configuraciones para averiguar cuál de ellas alcanza la puntuación más alta. Así que, puedes pensar en construir una mesa como esta:
Como puedes observar, existen dos soluciones correctas aquí - 001 y 110, cada una de las cuales consigue la puntuación de 1. Este problema es bastante simple. Este se vuelve demasiado difícil de resolver con un ordenador normal a medida que aumentamos el número de personas en este problema. Hemos visto que con 3 personas, necesitamos pasar por 8 configuraciones posibles. ¿Y si hay 4 personas? En ese caso, tendremos que pasar por 2*2*2*2*2 = 16 configuraciones. Con n personas, tendremos que pasar por (2 a la potencia de n) configuraciones para encontrar la mejor solución. Así que, si hay 100 personas, tendremos que pasar:
2¹⁰⁰ ~= 10³⁰ = un millón de millones de millones de millones de millones de configuraciones.
Esto es simplemente imposible de resolver con un ordenador normal.
Resolviendo este problema con un ordenador cuántico
¿Cómo resolveríamos este problema con un ordenador cuántico? Pensando en eso, volvamos al caso de dividir a 3 personas en dos taxis. Como hemos visto antes, había 8 posibles soluciones a este problema:
Con un ordenador normal, usando 3 bits, tan solo hemos podido representar una de estas soluciones a la vez - por ejemplo, 001. Sin embargo, con un ordenador cuántico, usando 3 qubits, podemos representar las 8 soluciones al mismo tiempo.
Mucho se ha debatido sobre lo que esto significa exactamente, pero esta es mi opinión al respecto.
Primero, examina el primer qubit de estos 3 qubits. Cuando lo pones en 0 y 1, es como crear dos mundos paralelos. (Sí, es extraño, pero sigue).
En uno de esos mundos paralelos, el qubit está configurado a 0. En el otro, está configurado a 1. Ahora, ¿qué pasa si pones el segundo qubit en 0 y 1, también? Entonces, es como crear 4 mundos paralelos. En el primer mundo, los dos qubits se fijan en 00. En el segundo, son 01. En el tercero, son 10. En el cuarto, son 11.
De manera similar, si fijas los tres qubits en 0 y 1, estarías creando 8 mundos paralelos - 000, 001, 010, 011, 100, 101, 110, y 111.
Esta es una manera extraña de pensar, pero es una de las maneras correctas de interpretar cómo se comportan los qubits en el mundo real. Ahora, cuando se aplica algún tipo de cálculo en estos tres qubits, en realidad se está aplicando el mismo cálculo en todos esos 8 mundos paralelos al mismo tiempo.
Por lo tanto, en lugar de pasar por cada una de esas posibles soluciones de forma secuencial, podemos calcular las puntuaciones de todas las soluciones al mismo tiempo.
Con este ejemplo en particular, en teoría, su ordenador cuántico sería capaz de encontrar una de las mejores soluciones en unos pocos milisegundos. Otra vez, es 001 o 110 como vimos antes:
En realidad, para resolver este problema, necesitarías darle a tu ordenador cuántico dos cosas:
- Todas las soluciones potenciales representadas con qubits.
- Una función que convierte cada solución potencial en una puntuación. En este caso, esta es la función que cuenta el número de parejas de amigos y parejas de enemigos que comparten el mismo coche.
Dadas estas dos cosas, tu ordenador cuántico encontrará una de las mejores soluciones en unos pocos milisegundos. En este caso, es 001 ó 110 con una puntuación de 1.
Ahora, en teoría, un ordenador cuántico es capaz de encontrar una de las mejores soluciones cada vez que se ejecuta. Sin embargo, en realidad, se producen errores al ejecutar un ordenador cuántico. Así que, en lugar de encontrar la mejor solución, podría encontrar la segunda mejor solución, la tercera mejor solución, y así sucesivamente.
Estos errores se vuelven más prominentes a medida que el problema se vuelve más y más complejo.
Así que, en la práctica, probablemente preferirás ejecutar la misma operación en un ordenador cuántico docenas de veces o cientos de veces. Luego, elige el mejor resultado de los muchos que obtengas.
Cómo se escala un ordenador cuántico
Incluso con los errores que hemos mencionado antes, el ordenador cuántico no tiene el mismo problema de escalado que un ordenador normal. Cuando hay 3 personas que necesitamos dividir en dos coches, el número de operaciones que necesitamos realizar en un ordenador cuántico es 1. Esto se debe a que un ordenador cuántico calcula la puntuación de todas las configuraciones al mismo tiempo.
Cuando hay 4 personas, el número de operaciones sigue siendo 1. Cuando hay 100 personas, el número de operaciones sigue siendo 1. Con una sola operación, un ordenador cuántico calcula las puntuaciones de todas las 2¹⁰⁰ ~= 10³⁰ = un millón de millones de millones de millones de millones de configuraciones al mismo tiempo.
Como se ha mencionado anteriormente, en la práctica, probablemente es mejor ejecutar tu ordenador cuántico docenas de veces o cientos de veces y elegir el mejor resultado de los muchos resultados que obtengas. Sin embargo, sigue siendo mucho mejor que ejecutar el mismo problema en un ordenador normal y tener que repetir el mismo tipo de cálculo un millón de millones de millones de millones de millones de veces.