¿Existen operaciones o algoritmos que sean físicamente imposibles de realizar en una computadora?

Si muchos . Si nuestra comprensión de la física es correcta, entonces cualquier tarea computacional que pueda realizar un sistema físico puede ser realizada por los sistemas formales llamados máquinas de Turing. Alan Turing [1] demostró en 1936 que hay algunas tareas que una máquina de Turing no puede realizar, llamadas problemas indecidibles . El ejemplo clásico se llama el problema de detención : dado el código fuente de un programa, decida si finalmente saldrá o se ejecutará para siempre. Suena simple, ¿no?

De hecho, podemos ir más allá. Nuevamente, si nuestra comprensión de la física es correcta, entonces ningún sistema físico puede realizar una tarea computacional mucho más rápido que una máquina de Turing ligeramente mejorada, llamada máquina de Turing cuántica. [2] Se sabe desde al menos los años 80 que hay algunas tareas computacionales que pueden plantearse con un número razonable de bits (en una cantidad razonable de espacio físico y masa) pero que no tienen máquina de Turing, o incluso Turing cuántico máquina, podría llevarse a cabo dentro de un billón de veces la edad del universo, o con toda la energía en el universo a su disposición, etc. Estos problemas se llaman EXPTIME-complete , lo que significa que ninguna máquina puede resolver instancias del problema en n bits en menos de aproximadamente 2 ^ n pasos: tome n = 500 y debería tener un margen cómodo sobre la magnitud de cualquier recurso en el universo. Un ejemplo clásico sería mirar una posición en una versión mxm de un tablero de ajedrez (o damas , o las reglas japonesas Go ), y decidir si las blancas o las negras tienen la estrategia ganadora.

Ahora, todos estos ejemplos tienen la desventaja de que si apareciera con una máquina que, según afirma, podría llevar a cabo estas tareas, no podríamos probarla simplemente ejecutándola y ver si funcionaba, porque para decidir si su máquina funciona las respuestas correctas serían tan imposibles como construir su supuesta máquina en primer lugar. Podríamos mostrarle los teoremas que prueban que su máquina es imposible, pero eso no es tan satisfactorio. =)

Afortunadamente, hay una clase de problemas en los que deberíamos poder probar cualquier máquina que diga que funciona y demostrar que es defectuosa. ¡El problema es que no podemos probar esto! Si bien sabemos que ninguna máquina de Turing (cuántica) con recursos razonables puede resolver un problema de EXPTIME-complete, solo sospechamos que ningún sistema puede resolver un problema de NP-complete . [3] Estos problemas pueden no ser tan caros de resolver como sus parientes EXPTIME-complete, pero una máquina puede verificar sus soluciones a bajo costo. Los ejemplos clásicos de problemas NP-completos incluyen decidir si un conjunto de objetos de tamaños dados puede caber en un conjunto de cajas dado (el ” problema de la mochila “), si una red dada tiene un conjunto de k nodos todos directamente conectados entre sí ( el ” problema de la camarilla “), o si una fórmula lógica dada es siempre cierta (el (co-) ” problema de satisfacción “).

Entonces, hay algunos problemas (indecidibles y problemas EXPTIME-complete) en los que si afirma que tiene una máquina que puede resolverlos, podemos rechazar la máquina con un teorema, pero no podemos probar su salida . Hay otros (problemas de NP completo) en los que deseamos tener un teorema, pero si usted afirma tener una máquina, podríamos probarla y, casi con toda seguridad, podríamos demostrar que ha fallado.

Descargo de responsabilidad: esta no era mi área de especialización en informática teórica, y no estudié exhaustivamente para obtener esta respuesta, por lo que un experto sin duda señalaría cosas en las que me equivoqué.

[1] No los nombró por sí mismo, por supuesto, pero todos los demás lo hicieron después de que los hizo un buen uso.

[2] Para ser claros, una máquina de Turing normal puede hacer todo lo que una máquina de Turing cuántica puede hacer; de hecho, puede seguir lo que hace esta última paso a paso, pero puede llevar más tiempo.

[3] Los expertos (¿casi?) Universalmente creen que esto es cierto, pero nadie tiene una prueba. El problema es mostrar que BQP! = NP – BQP son problemas que una máquina cuántica de Turing puede resolver de manera eficiente, y NP son problemas que una máquina de Turing puede verificar una solución putativa de manera eficiente. Desafortunadamente, esta es una versión más difícil del famoso problema P vs NP, así que no esperes una prueba pronto.

El concepto que puede estar buscando es un “algoritmo súper recursivo” que solo puede implementarse en hipercomputadoras. Hasta donde sabemos, nuestro universo no admite hipercomputación y, por lo tanto, estos algoritmos no son expresables. Hay una serie de algoritmos útiles que se sabe que son súper recursivos, puede encontrar una lista parcial en Wikipedia.

Si bien no es posible implementar estos algoritmos, algunos de ellos se pueden aproximar útilmente en una máquina de Turing en casos en que la incertidumbre sea aceptable. Como Greg Price indicó, no hay nada que pueda expresar en una computadora cuántica que no sea expresable en una computadora normal, aunque puede alterar la complejidad del algoritmo.

More Interesting

¿Es el lenguaje ensamblador tan difícil de aprender como la teoría cuántica de campos?

¿La física cuántica sigue siendo válida?

¿Cómo diferirán las computadoras cuánticas de las computadoras actuales (términos simples)?

¿Es la computación cuántica una forma de computación paralela?

¿Cómo puede hacer que los datos retengan una partícula de fotón (luz) eliminando la necesidad de hardware y sistemas de big data?

Cómo aprender computación cuántica desde cero

¿De qué manera el concepto de información cuántica es diferente de la información clásica?

¿Cuáles son algunos paradigmas de programación poco comunes y un 'hola mundo' que usa un lenguaje representativo?

En la computación cuántica, cuando finaliza una computación, la superposición colapsa, lo que proporciona un solo resultado (los qubits se convierten en simples bits clásicos). ¿Tiene su propia superposición nueva?

¿Por qué el patrón Observador usa una interfaz para el objeto Observador? ¿Qué beneficio aporta esto a un diseño? ¿Qué problema de diseño resuelve?

¿Cuál es una probabilidad de éxito 'aceptable' para un algoritmo cuántico?

¿Es posible que la computación cuántica algún día comprometa la seguridad inherente a la tecnología blockchain?

¿Por qué son importantes las esferas de Bloch para la computación cuántica?

¿El aprendizaje automático evolucionará significativamente con el advenimiento de la computación cuántica?

¿Cuál es la computadora cuántica más poderosa hasta ahora? ¿Y qué tan poderoso es? ¿Qué tipo de cálculos puede hacer?