Qlambda

515 views
455 views

Published on

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
515
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Qlambda

  1. 1. Introducción λ-Cálculo Cuántico Conclusión Bibliografía λ-Cálculo Cuántico (de André van Tonder [vT04]) Alejandro Díaz-Caro Departamento de Ciencias de la Computación Facultad de Ciencias Exactas, Ingeniería y Agrimensura Universidad Nacional de Rosario 16 de junio de 2007 Alejandro Díaz-Caro λ-Cálculo Cuántico
  2. 2. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Contenido de la presentación 1 Introducción Contenido de la presentación Motivación Computación Cuántica Motivación... (cont) 2 λ-Cálculo Cuántico Primer Intento Segundo Intento Tercer (y último) intento Cómo computa el λq Ejemplos 3 Conclusión 4 Bibliografía Alejandro Díaz-Caro λ-Cálculo Cuántico
  3. 3. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Motivación Actualmente existen dos modelos equivalentes[Yao93] predominantes para pensar la computación cuántica: Máquinas de Turing Cuánticas[Ben80][Deu85] Circuitos Cuánticos[Deu89] Alejandro Díaz-Caro λ-Cálculo Cuántico
  4. 4. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Las Máquinas de Turing Cuánticas proveen un modelo para denir la universalidad de la Computación Cuántica, pero razonar sobre ellas es un proceso bastante complicado. Por ese motivo los circuitos cuánticos son más populares: proveen una visión gráca y composicional de los algoritmos y pueden ser manipulados algebraicamente. Pero ningún circuito cuántico nito puede ser universal. En Computación Clásica, el λ-Cálculo provee un modelo alternativo, equivalente a las Máquinas de Turing, y es de gran utilidad en la teoría de la computación y el estudio de lenguajes y sus semánticas. La idea es proveer a la Computación Cuántica de una herramienta equivalente. Alejandro Díaz-Caro λ-Cálculo Cuántico
  5. 5. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Las Máquinas de Turing Cuánticas proveen un modelo para denir la universalidad de la Computación Cuántica, pero razonar sobre ellas es un proceso bastante complicado. Por ese motivo los circuitos cuánticos son más populares: proveen una visión gráca y composicional de los algoritmos y pueden ser manipulados algebraicamente. Pero ningún circuito cuántico nito puede ser universal. En Computación Clásica, el λ-Cálculo provee un modelo alternativo, equivalente a las Máquinas de Turing, y es de gran utilidad en la teoría de la computación y el estudio de lenguajes y sus semánticas. La idea es proveer a la Computación Cuántica de una herramienta equivalente. Alejandro Díaz-Caro λ-Cálculo Cuántico
  6. 6. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Las Máquinas de Turing Cuánticas proveen un modelo para denir la universalidad de la Computación Cuántica, pero razonar sobre ellas es un proceso bastante complicado. Por ese motivo los circuitos cuánticos son más populares: proveen una visión gráca y composicional de los algoritmos y pueden ser manipulados algebraicamente. Pero ningún circuito cuántico nito puede ser universal. En Computación Clásica, el λ-Cálculo provee un modelo alternativo, equivalente a las Máquinas de Turing, y es de gran utilidad en la teoría de la computación y el estudio de lenguajes y sus semánticas. La idea es proveer a la Computación Cuántica de una herramienta equivalente. Alejandro Díaz-Caro λ-Cálculo Cuántico
  7. 7. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Las Máquinas de Turing Cuánticas proveen un modelo para denir la universalidad de la Computación Cuántica, pero razonar sobre ellas es un proceso bastante complicado. Por ese motivo los circuitos cuánticos son más populares: proveen una visión gráca y composicional de los algoritmos y pueden ser manipulados algebraicamente. Pero ningún circuito cuántico nito puede ser universal. En Computación Clásica, el λ-Cálculo provee un modelo alternativo, equivalente a las Máquinas de Turing, y es de gran utilidad en la teoría de la computación y el estudio de lenguajes y sus semánticas. La idea es proveer a la Computación Cuántica de una herramienta equivalente. Alejandro Díaz-Caro λ-Cálculo Cuántico
  8. 8. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Qubits La Computación Cuántica es un modelo de computación basado en la Mecánica Cuántica. Alejandro Díaz-Caro λ-Cálculo Cuántico
  9. 9. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Qubits La Computación Cuántica es un modelo de computación basado en la Mecánica Cuántica. Su unidad básica es el Qubit Denición Un qubit es un vector de dos dimensiones de la siguiente forma α β con α, β ∈ C y |α|2 + |β|2 = 1. Esto forma un Espacio Vectorial Alejandro Díaz-Caro λ-Cálculo Cuántico
  10. 10. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Una base del espacio vectorial de un qubit es 1 0 , 0 1 Alejandro Díaz-Caro λ-Cálculo Cuántico
  11. 11. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Una base del espacio vectorial de un qubit es 1 0 , 0 1 A estos vectores los notamos de la siguiente manera 1 0 |0 = , |1 = 0 1 Alejandro Díaz-Caro λ-Cálculo Cuántico
  12. 12. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Una base del espacio vectorial de un qubit es 1 0 , 0 1 A estos vectores los notamos de la siguiente manera 1 0 |0 = , |1 = 0 1 Entonces, un qubit queda denido por α |0 + β |1 Alejandro Díaz-Caro λ-Cálculo Cuántico
  13. 13. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Una base del espacio vectorial de un qubit es 1 0 , 0 1 A estos vectores los notamos de la siguiente manera 1 0 |0 = , |1 = 0 1 Entonces, un qubit queda denido por 1 0 α |0 + β |1 = α +β 0 1 Alejandro Díaz-Caro λ-Cálculo Cuántico
  14. 14. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Una base del espacio vectorial de un qubit es 1 0 , 0 1 A estos vectores los notamos de la siguiente manera 1 0 |0 = , |1 = 0 1 Entonces, un qubit queda denido por 1 0 α α |0 + β |1 = α +β = 0 1 β Alejandro Díaz-Caro λ-Cálculo Cuántico
  15. 15. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Para un sistema de n-qubits tendremos el espacio vectorial de dimensión 2 n generado por la base        1 0 0    0 1 0        , ,...,       . . . . . .     .   .   .    0 0 1   Alejandro Díaz-Caro λ-Cálculo Cuántico
  16. 16. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Para un sistema de n-qubits tendremos el espacio vectorial de dimensión 2 n generado por la base        1 0 0    0 1 0        , ,...,       . . . . . .     .   .   .    0 0 1   y a esos n-qubits los notamos de dos maneras alternativas: Alejandro Díaz-Caro λ-Cálculo Cuántico
  17. 17. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Para un sistema de n-qubits tendremos el espacio vectorial de dimensión 2 n generado por la base        1 0 0    0 1 0        , ,...,       . . . . . .     .   .   .    0 0 1   y a esos n-qubits los notamos de dos maneras alternativas: |i1 , . . . , in con ik ∈ { 0, 1} Alejandro Díaz-Caro λ-Cálculo Cuántico
  18. 18. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Para un sistema de n-qubits tendremos el espacio vectorial de dimensión 2 n generado por la base        1 0 0    0 1 0        , ,...,       . . . . . .     .   .   .    0 0 1   y a esos n-qubits los notamos de dos maneras alternativas: |i1 , . . . , in con ik ∈ { 0, 1} o |i con i ∈ { 0, . . . 2n − 1 } Alejandro Díaz-Caro λ-Cálculo Cuántico
  19. 19. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Para un sistema de n-qubits tendremos el espacio vectorial de dimensión 2 n generado por la base        1 0 0    0 1 0        , ,...,       . . . . . .     .   .   .    0 0 1   y a esos n-qubits los notamos de dos maneras alternativas: |i1 , . . . , in con ik ∈ { 0, 1} o |i con i ∈ { 0, . . . 2n − 1 } Entonces un n-qubit queda denido por 2n−1 2n−1 αk |k tal que |αk |2 = 1 k =0 k =0 Alejandro Díaz-Caro λ-Cálculo Cuántico
  20. 20. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Compuertas Las compuertas cuánticas son matrices que satisfacen determinadas propiedades (básicamente, propiedades que hacen que la matriz aplicada a (multiplicada por) los qubits nos devuelvan qubits). Alejandro Díaz-Caro λ-Cálculo Cuántico
  21. 21. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Compuertas Las compuertas cuánticas son matrices que satisfacen determinadas propiedades (básicamente, propiedades que hacen que la matriz aplicada a (multiplicada por) los qubits nos devuelvan qubits). Ejemplo Compuerta NOT 0 1 X = 1 0 1 0 X |0 =X = = |1 0 1 0 1 X |1 =X = = |0 1 0 Alejandro Díaz-Caro λ-Cálculo Cuántico
  22. 22. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Compuertas Las compuertas cuánticas son matrices que satisfacen determinadas propiedades (básicamente, propiedades que hacen que la matriz aplicada a (multiplicada por) los qubits nos devuelvan qubits). Ejemplo Ejemplo Compuerta NOT Compuerta Hadamard 0 1 1 X = 1 1 1 0 H =√ 2 1 −1 1 0 1 X |0 =X = = |1 H |0 = √ (|0 + |1 ) 0 1 2 0 1 1 X |1 =X = = |0 H |1 = √ (|0 − |1 ) 1 0 2 Alejandro Díaz-Caro λ-Cálculo Cuántico
  23. 23. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Ejemplo Compuerta CNOT I 0 CNOT = 0 X CNOT |00 = |00 CNOT |01 = |01 CNOT |10 = |11 CNOT |11 = |10 Alejandro Díaz-Caro λ-Cálculo Cuántico
  24. 24. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Ejemplo Compuerta CNOT I 0 CNOT = 0 X CNOT |00 = |00 CNOT |01 = |01 CNOT |10 = |11 CNOT |11 = |10 La aplicación de una compuerta cuántica a cualquier qubit es una aplicación lineal 2n−1 U αi |i i =0 Alejandro Díaz-Caro λ-Cálculo Cuántico
  25. 25. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Ejemplo Compuerta CNOT I 0 CNOT = 0 X CNOT |00 = |00 CNOT |01 = |01 CNOT |10 = |11 CNOT |11 = |10 La aplicación de una compuerta cuántica a cualquier qubit es una aplicación lineal 2n−1 2n−1 U αi |i = αi U |i i =0 i =0 Alejandro Díaz-Caro λ-Cálculo Cuántico
  26. 26. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Por lo tanto, especicando cómo actúa la compuerta en la base del espacio de qubits, ya se ha especicado todo lo necesario. Alejandro Díaz-Caro λ-Cálculo Cuántico
  27. 27. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Por lo tanto, especicando cómo actúa la compuerta en la base del espacio de qubits, ya se ha especicado todo lo necesario. Ejemplo Z |0 = |0 Z |1 = − |1 Entonces Z (α |0 + β |1 ) = α |0 − β |1 Alejandro Díaz-Caro λ-Cálculo Cuántico
  28. 28. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Por lo tanto, especicando cómo actúa la compuerta en la base del espacio de qubits, ya se ha especicado todo lo necesario. Ejemplo Obs Todas las compuertas cuánticas son reversibles y Z |0 = |0 coinciden con su inversa, Z |1 = − |1 entonces, aplicando dos veces una compuerta, se vuelve al Entonces estado original. Z (α |0 + β |1 ) = α |0 − β |1 Alejandro Díaz-Caro λ-Cálculo Cuántico
  29. 29. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Medición 2n−1 n− 1 Al medir un n-qubits i=0 αi |i respecto a la base {|i }i2=0 del espacio de n-qubits, obtendré un vector |k de dicha base con probabilidad |αk |2 . Alejandro Díaz-Caro λ-Cálculo Cuántico
  30. 30. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Medición 2n−1 n− 1 Al medir un n-qubits i=0 αi |i respecto a la base {|i }i2=0 del espacio de n-qubits, obtendré un vector |k de dicha base con probabilidad |αk |2 . Ejemplo 1 Al medir el qubit √ 2 (|0 + |1 ) obtendré |0 ó |1 con probabilidad 1 cada uno. 2 Alejandro Díaz-Caro λ-Cálculo Cuántico
  31. 31. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Medición 2n−1 n− 1 Al medir un n-qubits i=0 αi |i respecto a la base {|i }i2=0 del espacio de n-qubits, obtendré un vector |k de dicha base con probabilidad |αk |2 . Ejemplo 1 Al medir el qubit √ 2 (|0 + |1 ) obtendré |0 ó |1 con probabilidad 1 cada uno. 2 Obs Un algoritmo cuántico se basa en hacer evolucionar un sistema de n-qubits mediante la aplicación de compuertas y mediciones. Debido a la reversibilidad de las compuertas, los algoritmos son reversibles (excepto en la medición). Alejandro Díaz-Caro λ-Cálculo Cuántico
  32. 32. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Circuitos Un circuito cuántico es la representación gráca de un algoritmo cuántico. Alejandro Díaz-Caro λ-Cálculo Cuántico
  33. 33. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Circuitos Un circuito cuántico es la representación gráca de un algoritmo cuántico. Ejemplo Dado |00 , aplicar H al primer qubit y luego un CNOT entre el primero y el segundo. Alejandro Díaz-Caro λ-Cálculo Cuántico
  34. 34. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Circuitos Un circuito cuántico es la representación gráca de un algoritmo cuántico. Ejemplo Dado |00 , aplicar H al primer qubit y luego un CNOT entre el primero y el segundo. |0 H • |0 Alejandro Díaz-Caro λ-Cálculo Cuántico
  35. 35. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Circuitos Un circuito cuántico es la representación gráca de un algoritmo cuántico. Ejemplo Dado |00 , aplicar H al primer qubit y luego un CNOT entre el primero y el segundo. |00 H (1) −→ |0 H • |0 Alejandro Díaz-Caro λ-Cálculo Cuántico
  36. 36. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Circuitos Un circuito cuántico es la representación gráca de un algoritmo cuántico. Ejemplo Dado |00 , aplicar H al primer qubit y luego un CNOT entre el primero y el segundo. |00 H (1) −→ √1 2 (|0 + |1 ) |0 |0 H • |0 Alejandro Díaz-Caro λ-Cálculo Cuántico
  37. 37. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Circuitos Un circuito cuántico es la representación gráca de un algoritmo cuántico. Ejemplo Dado |00 , aplicar H al primer qubit y luego un CNOT entre el primero y el segundo. |00 H (1) −→ √1 2 (|0 + |1 ) |0 |0 H • 1 = √ 2 (|00 + |10 ) |0 Alejandro Díaz-Caro λ-Cálculo Cuántico
  38. 38. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Circuitos Un circuito cuántico es la representación gráca de un algoritmo cuántico. Ejemplo Dado |00 , aplicar H al primer qubit y luego un CNOT entre el primero y el segundo. |00 H (1) −→ √1 2 (|0 + |1 ) |0 |0 H • 1 = (|00 + |10 ) √ 2 CNOT (1,2) −→ |0 Alejandro Díaz-Caro λ-Cálculo Cuántico
  39. 39. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Circuitos Un circuito cuántico es la representación gráca de un algoritmo cuántico. Ejemplo Dado |00 , aplicar H al primer qubit y luego un CNOT entre el primero y el segundo. |00 H (1) −→ √1 2 (|0 + |1 ) |0 |0 H • 1 = (|00 + |10 ) √ 2 CNOT (1,2) √ (|00 + |11 ) 1 −→ 2 |0 Alejandro Díaz-Caro λ-Cálculo Cuántico
  40. 40. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Entanglement En el ejemplo anterior, hemos producido un estado entangled, los cuales son estados en que no puedo separar los qubits. Alejandro Díaz-Caro λ-Cálculo Cuántico
  41. 41. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Entanglement En el ejemplo anterior, hemos producido un estado entangled, los cuales son estados en que no puedo separar los qubits. Ejemplo No entangled 1 √ (|00 + |10 ) 2 Alejandro Díaz-Caro λ-Cálculo Cuántico
  42. 42. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Entanglement En el ejemplo anterior, hemos producido un estado entangled, los cuales son estados en que no puedo separar los qubits. Ejemplo No entangled 1 √ (|00 + |10 ) 2 1 = √ (|0 + |1 ) |0 2 2do qubit 1er qubit Alejandro Díaz-Caro λ-Cálculo Cuántico
  43. 43. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Computación Cuántica (Physics-free) Entanglement En el ejemplo anterior, hemos producido un estado entangled, los cuales son estados en que no puedo separar los qubits. Ejemplo No entangled Ejemplo 1 Entangled √ (|00 + |10 ) 2 1 √ (|00 + |11 ) 1 2 = √ (|0 + |1 ) |0 2 No los puedo separar! 2do qubit 1er qubit Alejandro Díaz-Caro λ-Cálculo Cuántico
  44. 44. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Continuando con la Motivación... Circuito cuántico FE |0 H H Uf |1 H Alejandro Díaz-Caro λ-Cálculo Cuántico
  45. 45. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Continuando con la Motivación... Circuito cuántico FE |0 H H Uf |1 H En Lambda Cálculo Cuántico se podría escribir así: Alejandro Díaz-Caro λ-Cálculo Cuántico
  46. 46. Introducción Contenido de la presentación λ-Cálculo Cuántico Motivación Conclusión Computación Cuántica Bibliografía Motivación... (cont) Continuando con la Motivación... Circuito cuántico FE |0 H H Uf |1 H En Lambda Cálculo Cuántico se podría escribir así: Deutsch deutsch Uf ≡ let(x , y ) = Uf ((H 0), (H 1)) in ((H x ), y ) Alejandro Díaz-Caro λ-Cálculo Cuántico
  47. 47. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Primer Intento Presentación En lambda cálculo clásico, las β -reducciones descartan información en cada paso, haciendo el proceso irreversible. Alejandro Díaz-Caro λ-Cálculo Cuántico
  48. 48. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Primer Intento Presentación En lambda cálculo clásico, las β -reducciones descartan información en cada paso, haciendo el proceso irreversible. Cualquier cómputo clásico se puede transformar en un cómputo reversible[Abr93] Alejandro Díaz-Caro λ-Cálculo Cuántico
  49. 49. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Primer Intento Presentación En lambda cálculo clásico, las β -reducciones descartan información en cada paso, haciendo el proceso irreversible. Cualquier cómputo clásico se puede transformar en un cómputo reversible[Abr93] Podríamos tener reversibilidad de la siguiente manera: Sea x un término y β : x → β(x ) una β -reducción. Entonces consideremos la función x → (x , β(x )), la cual es invertible. Alejandro Díaz-Caro λ-Cálculo Cuántico
  50. 50. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Primer Intento Presentación En lambda cálculo clásico, las β -reducciones descartan información en cada paso, haciendo el proceso irreversible. Cualquier cómputo clásico se puede transformar en un cómputo reversible[Abr93] Podríamos tener reversibilidad de la siguiente manera: Sea x un término y β : x → β(x ) una β -reducción. Entonces consideremos la función x → (x , β(x )), la cual es invertible. En una versión simple, el cómputo procede de la siguiente manera x → (x , β(x )) → (x , β(x ), β 2 (x )) → (x , β(x ), β 2 (x ), β 3 (x )) → . . . Alejandro Díaz-Caro λ-Cálculo Cuántico
  51. 51. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Primer Intento Presentación En lambda cálculo clásico, las β -reducciones descartan información en cada paso, haciendo el proceso irreversible. Cualquier cómputo clásico se puede transformar en un cómputo reversible[Abr93] Podríamos tener reversibilidad de la siguiente manera: Sea x un término y β : x → β(x ) una β -reducción. Entonces consideremos la función x → (x , β(x )), la cual es invertible. En una versión simple, el cómputo procede de la siguiente manera x → (x , β(x )) → (x , β(x ), β 2 (x )) → (x , β(x ), β 2 (x ), β 3 (x )) → . . . Aunque éste método podría funcionar para implementar reversibilidad, veremos que no funciona en el caso cuántico sin hacerle algunas modicaciones. Alejandro Díaz-Caro λ-Cálculo Cuántico
  52. 52. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Sintaxis para el primer intento t ::= término x variable (λx .t ) abstracción (t t ) aplicación c constante c ::= 0|1|H |cnot |X |Z | . . . constantes 0 y 1 son primitivas. El resto de las constantes denotan compuertas elementales entre qubits. Alejandro Díaz-Caro λ-Cálculo Cuántico
  53. 53. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ahora le permitimos al estado de un cómputo ser una superposición cuántica de términos en este lenguaje. Alejandro Díaz-Caro λ-Cálculo Cuántico
  54. 54. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ahora le permitimos al estado de un cómputo ser una superposición cuántica de términos en este lenguaje. Consideremos un estado inicial como el siguiente string: |(H 0) Alejandro Díaz-Caro λ-Cálculo Cuántico
  55. 55. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ahora le permitimos al estado de un cómputo ser una superposición cuántica de términos en este lenguaje. Consideremos un estado inicial como el siguiente string: |(H 0) Quisiéramos elegir reglas de transición tales que este estado evalúe una compuerta Hadamard aplicada a |0 . Alejandro Díaz-Caro λ-Cálculo Cuántico
  56. 56. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ahora le permitimos al estado de un cómputo ser una superposición cuántica de términos en este lenguaje. Consideremos un estado inicial como el siguiente string: |(H 0) Quisiéramos elegir reglas de transición tales que este estado evalúe una compuerta Hadamard aplicada a |0 . 1 |(H 0) → √ (|0 + |1 ) Una regla de transición 2 1 candidata podría ser: |(H 1) → √ 2 (|0 − |1 ) Alejandro Díaz-Caro λ-Cálculo Cuántico
  57. 57. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ahora le permitimos al estado de un cómputo ser una superposición cuántica de términos en este lenguaje. Consideremos un estado inicial como el siguiente string: |(H 0) Quisiéramos elegir reglas de transición tales que este estado evalúe una compuerta Hadamard aplicada a |0 . 1 |(H 0) → √ (|0 + |1 ) Una regla de transición 2 1 candidata podría ser: |(H 1) → √ 2 (|0 − |1 ) Y usamos el truco para hacerlo reversible: 1 |(H 0) → √ 2 (|(H 0); 0 + |(H 0); 1 ) 1 = |(H 0) ⊗ √ 2 (|0 + |1 ) El ; denota la concatenación de strings. El resultado se ha factorizado a la derecha. Alejandro Díaz-Caro λ-Cálculo Cuántico
  58. 58. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Primer Intento Problemas Ejemplo |(H (H 0)) Alejandro Díaz-Caro λ-Cálculo Cuántico
  59. 59. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Primer Intento Problemas Ejemplo 1 |(H (H 0)) → √ (|H (H 0); (H 0) + |H (H 0); (H 1) 2 Alejandro Díaz-Caro λ-Cálculo Cuántico
  60. 60. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Primer Intento Problemas Ejemplo 1 |(H (H 0)) → √ (|H (H 0); (H 0) + |H (H 0); (H 1) 2 1 → |(H (H 0)) ⊗ (|(H 0); 0 + |(H 0); 1 + |(H 1); 0 − |(H 1); 1 ) 2 Alejandro Díaz-Caro λ-Cálculo Cuántico
  61. 61. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Primer Intento Problemas Ejemplo 1 |(H (H 0)) → √ (|H (H 0); (H 0) + |H (H 0); (H 1) 2 1 → |(H (H 0)) ⊗ (|(H 0); 0 + |(H 0); 1 + |(H 1); 0 − |(H 1); 1 ) 2 Aquí no puedo factorizar el resultado ya que quedó en entangled con el término intermedio del historial Alejandro Díaz-Caro λ-Cálculo Cuántico
  62. 62. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Primer Intento Problemas Ejemplo 1 |(H (H 0)) → √ (|H (H 0); (H 0) + |H (H 0); (H 1) 2 1 → |(H (H 0)) ⊗ (|(H 0); 0 + |(H 0); 1 + |(H 1); 0 − |(H 1); 1 ) 2 Aquí no puedo factorizar el resultado ya que quedó en entangled con el término intermedio del historial Este método está guardando más información de la necesaria para lograr reversibilidad. Alejandro Díaz-Caro λ-Cálculo Cuántico
  63. 63. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Segundo intento Presentación Con sólo guardar en cada paso qué subtérmino se ha reducido y qué operación se ha aplicado ya me bastaría. Alejandro Díaz-Caro λ-Cálculo Cuántico
  64. 64. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Segundo intento Presentación Con sólo guardar en cada paso qué subtérmino se ha reducido y qué operación se ha aplicado ya me bastaría. Ejemplo |(H (H 0)) Alejandro Díaz-Caro λ-Cálculo Cuántico
  65. 65. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Segundo intento Presentación Con sólo guardar en cada paso qué subtérmino se ha reducido y qué operación se ha aplicado ya me bastaría. Ejemplo 1 |(H (H 0)) → √ 2 (|_(H _); (H 0) + |_(H _); (H 1) En cada paso reemplazamos los subtérminos que no necesitamos para la reversibilidad por el placeholder _. Alejandro Díaz-Caro λ-Cálculo Cuántico
  66. 66. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Segundo intento Presentación Con sólo guardar en cada paso qué subtérmino se ha reducido y qué operación se ha aplicado ya me bastaría. Ejemplo 1 |(H (H 0)) → √ 2 (|_(H _); (H 0) + |_(H _); (H 1) 1 → 2 |(_(H _)) ⊗(|(H _); 0 +|(H _); 1 +|(H _); 0 −|(H _); 1 ) En cada paso reemplazamos los subtérminos que no necesitamos para la reversibilidad por el placeholder _. Alejandro Díaz-Caro λ-Cálculo Cuántico
  67. 67. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Segundo intento Presentación Con sólo guardar en cada paso qué subtérmino se ha reducido y qué operación se ha aplicado ya me bastaría. Ejemplo 1 |(H (H 0)) → √ 2 (|_(H _); (H 0) + |_(H _); (H 1) 1 → 2 |(_(H _)) ⊗(|(H _); 0 +|(H _); 1 +|(H _); 0 −|(H _); 1 ) = 1 |(_(H _)) ⊗ 2 |(H _); 0 2 En cada paso reemplazamos los subtérminos que no necesitamos para la reversibilidad por el placeholder _. Alejandro Díaz-Caro λ-Cálculo Cuántico
  68. 68. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Segundo intento Presentación Con sólo guardar en cada paso qué subtérmino se ha reducido y qué operación se ha aplicado ya me bastaría. Ejemplo 1 |(H (H 0)) → √ 2 (|_(H _); (H 0) + |_(H _); (H 1) 1 → 2 |(_(H _)) ⊗(|(H _); 0 +|(H _); 1 +|(H _); 0 −|(H _); 1 ) = 1 |(_(H _)) ⊗ 2 |(H _); 0 = |(_(H _)); (H _) ⊗ |0 2 En cada paso reemplazamos los subtérminos que no necesitamos para la reversibilidad por el placeholder _. Alejandro Díaz-Caro λ-Cálculo Cuántico
  69. 69. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Segundo intento Presentación Con sólo guardar en cada paso qué subtérmino se ha reducido y qué operación se ha aplicado ya me bastaría. Ejemplo 1 |(H (H 0)) → √ 2 (|_(H _); (H 0) + |_(H _); (H 1) 1 → 2 |(_(H _)) ⊗(|(H _); 0 +|(H _); 1 +|(H _); 0 −|(H _); 1 ) = 1 |(_(H _)) ⊗ 2 |(H _); 0 = |(_(H _)); (H _) ⊗ |0 2 En cada paso reemplazamos los subtérminos que no necesitamos para la reversibilidad por el placeholder _. Ahora formalicemos un poco ésto. Alejandro Díaz-Caro λ-Cálculo Cuántico
  70. 70. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Primero extendemos la denición de valores para incluir a las constantes Denición de valores del Segundo Intento v ::= valores x variable c constante (λx .t ) valor de abstracción Alejandro Díaz-Caro λ-Cálculo Cuántico
  71. 71. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Primero extendemos la denición de valores para incluir a las constantes Denición de valores del Segundo Intento v ::= valores x variable c constante (λx .t ) valor de abstracción El estado computacional se toma como una superposición cuántica de secuencias de la forma h1 ; . . . ; hn ; t donde a h1 ; . . . ; hn se le llama historial y a t registro computacional. Alejandro Díaz-Caro λ-Cálculo Cuántico
  72. 72. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Las reglas de transición son las siguientes Alejandro Díaz-Caro λ-Cálculo Cuántico
  73. 73. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Las reglas de transición son las siguientes Reglas de transición del Segundo Intento t1 → h1 ; t1 (APP1 ) H ; (t1 t2 ) → H ; (h1 _); (t1 t2 ) H denota el historial (puede estar vacío) Alejandro Díaz-Caro λ-Cálculo Cuántico
  74. 74. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Las reglas de transición son las siguientes Reglas de transición del Segundo Intento t1 → h1 ; t1 (APP1 ) H ; (t1 t2 ) → H ; (h1 _); (t1 t2 ) H denota el historial (puede estar vacío) t2 → h2 ; t2 (APP2 ) H ; (v1 t2 ) → H ; (_ h2 ); (v1 t2 ) Alejandro Díaz-Caro λ-Cálculo Cuántico
  75. 75. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Las reglas de transición son las siguientes Reglas de transición del Segundo Intento t1 → h1 ; t1 (APP1 ) H ; (t1 t2 ) → H ; (h1 _); (t1 t2 ) H denota el historial (puede estar vacío) t2 → h2 ; t2 (APP2 ) H ; (v1 t2 ) → H ; (_ h2 ); (v1 t2 ) (β1 ) Si x ∈ F (t ) H ; ((λx .t ) v ) → H ; ((λx .t x ); _); t [v /x ] Ver formalización t x se obtiene de t reemplazando recursivamente todos los subtérminos que no contienen x con el símbolo _ y manteniendo x . Alejandro Díaz-Caro λ-Cálculo Cuántico
  76. 76. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Las reglas de transición son las siguientes Reglas de transición del Segundo Intento t1 → h1 ; t1 (APP1 ) H ; (t1 t2 ) → H ; (h1 _); (t1 t2 ) H denota el historial (puede estar vacío) t2 → h2 ; t2 (APP2 ) H ; (v1 t2 ) → H ; (_ h2 ); (v1 t2 ) (β1 ) Si x ∈ F (t ) H ; ((λx .t ) v ) → H ; ((λx .t x ); _); t [v /x ] (β2 ) Si x ∈ F (t ) / H ; ((λx .t ) v ) → H ; ((λx ._); v ); t Ver formalización t x se obtiene de t reemplazando recursivamente todos los subtérminos que no contienen x con el símbolo _ y manteniendo x . Alejandro Díaz-Caro λ-Cálculo Cuántico
  77. 77. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Las reglas de transición son las siguientes Reglas de transición del Segundo Intento t1 → h1 ; t1 (APP1 ) H ; (t1 t2 ) → H ; (h1 _); (t1 t2 ) H denota el historial (puede estar vacío) t2 → h2 ; t2 (APP2 ) H ; (v1 t2 ) → H ; (_ h2 ); (v1 t2 ) (β1 ) Si x ∈ F (t ) H ; ((λx .t ) v ) → H ; ((λx .t x ); _); t [v /x ] (β2 ) Si x ∈ F (t ) / H ; ((λx .t ) v ) → H ; ((λx ._); v ); t (Id) en otro caso Ver formalización H ; t → H ; _; t t x se obtiene de t reemplazando recursivamente todos los subtérminos que no contienen x con el símbolo _ y manteniendo x . Alejandro Díaz-Caro λ-Cálculo Cuántico
  78. 78. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ejemplo |((apply id ) cosa) Alejandro Díaz-Caro λ-Cálculo Cuántico
  79. 79. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ejemplo |((apply id ) cosa) ≡ |(((λf .(λx .(f x ))) (λz .z )) cosa) Alejandro Díaz-Caro λ-Cálculo Cuántico
  80. 80. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ejemplo |((apply id ) cosa) ≡ |(((λf .(λx .(f x ))) (λz .z )) cosa) → |(((λf .(_.(f _)))_)_); (λx .((λz .z ) x ) cosa) Alejandro Díaz-Caro λ-Cálculo Cuántico
  81. 81. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ejemplo |((apply id ) cosa) ≡ |(((λf .(λx .(f x ))) (λz .z )) cosa) → |(((λf .(_.(f _)))_)_); (λx .((λz .z ) x ) cosa) → |(((λf .(_.(f _)))_)_); (λx .(_ x )_); ((λz .z ) cosa) Alejandro Díaz-Caro λ-Cálculo Cuántico
  82. 82. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ejemplo |((apply id ) cosa) ≡ |(((λf .(λx .(f x ))) (λz .z )) cosa) → |(((λf .(_.(f _)))_)_); (λx .((λz .z ) x ) cosa) → |(((λf .(_.(f _)))_)_); (λx .(_ x )_); ((λz .z ) cosa) → |(((λf .(_.(f _)))_)_); (λx .(_ x )_); ((λz .z ) _); cosa Alejandro Díaz-Caro λ-Cálculo Cuántico
  83. 83. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ejemplo |((apply id ) cosa) ≡ |(((λf .(λx .(f x ))) (λz .z )) cosa) → |(((λf .(_.(f _)))_)_); (λx .((λz .z ) x ) cosa) → |(((λf .(_.(f _)))_)_); (λx .(_ x )_); ((λz .z ) cosa) → |(((λf .(_.(f _)))_)_); (λx .(_ x )_); ((λz .z ) _); cosa → |(((λf .(_.(f _)))_)_); (λx .(_ x )_); ((λz .z ) _); _; cosa → ... En este ejemplo podemos usar como criterio de terminación comparar la última expresión con _, no tenemos un criterio de terminación bien denido en λi ya que el estado podría tener una superposición de varios historiales, algunos de los cuales hayan terminado y otros no. Entonces observando podría cambiar el estado. Este problema será resuelto más adelante con el λq . Alejandro Díaz-Caro λ-Cálculo Cuántico
  84. 84. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Regla de reducción extra para símbolos de compuertas cuánticas Regla de reducción para símbolos de compuertas cuánticas (U) |H ; (cU φ) → |H ; (cU _) ⊗ U |φ donde cU denota cualquiera de los símbolos cuánticos y U la correspondiente transformación unitaria. φ es 0 ó 1 en el caso de operadores de 1 qubit ó (0, 0), (0, 1), (1, 0), (1, 1) en el caso de operadores de 2-qubits, etc. Alejandro Díaz-Caro λ-Cálculo Cuántico
  85. 85. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Regla de reducción extra para símbolos de compuertas cuánticas Regla de reducción para símbolos de compuertas cuánticas (U) |H ; (cU φ) → |H ; (cU _) ⊗ U |φ donde cU denota cualquiera de los símbolos cuánticos y U la correspondiente transformación unitaria. φ es 0 ó 1 en el caso de operadores de 1 qubit ó (0, 0), (0, 1), (1, 0), (1, 1) en el caso de operadores de 2-qubits, etc. Ejemplo |(cnot (1, 0)) Alejandro Díaz-Caro λ-Cálculo Cuántico
  86. 86. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Regla de reducción extra para símbolos de compuertas cuánticas Regla de reducción para símbolos de compuertas cuánticas (U) |H ; (cU φ) → |H ; (cU _) ⊗ U |φ donde cU denota cualquiera de los símbolos cuánticos y U la correspondiente transformación unitaria. φ es 0 ó 1 en el caso de operadores de 1 qubit ó (0, 0), (0, 1), (1, 0), (1, 1) en el caso de operadores de 2-qubits, etc. Ejemplo |(cnot (1, 0)) → |(cnot _); (1, 1) Alejandro Díaz-Caro λ-Cálculo Cuántico
  87. 87. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Regla de reducción extra para símbolos de compuertas cuánticas Regla de reducción para símbolos de compuertas cuánticas (U) |H ; (cU φ) → |H ; (cU _) ⊗ U |φ donde cU denota cualquiera de los símbolos cuánticos y U la correspondiente transformación unitaria. φ es 0 ó 1 en el caso de operadores de 1 qubit ó (0, 0), (0, 1), (1, 0), (1, 1) en el caso de operadores de 2-qubits, etc. Ejemplo |(cnot (1, 0)) → |(cnot _); (1, 1) |H ; (H 0) Alejandro Díaz-Caro λ-Cálculo Cuántico
  88. 88. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Regla de reducción extra para símbolos de compuertas cuánticas Regla de reducción para símbolos de compuertas cuánticas (U) |H ; (cU φ) → |H ; (cU _) ⊗ U |φ donde cU denota cualquiera de los símbolos cuánticos y U la correspondiente transformación unitaria. φ es 0 ó 1 en el caso de operadores de 1 qubit ó (0, 0), (0, 1), (1, 0), (1, 1) en el caso de operadores de 2-qubits, etc. Ejemplo |(cnot (1, 0)) → |(cnot _); (1, 1) 1 |H ; (H 0) → |H ; (H _) ⊗ √2 (|0 + |1 ) Alejandro Díaz-Caro λ-Cálculo Cuántico
  89. 89. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Segundo Intento Problemas Ejemplo |((λx .cosa) otraCosa) Alejandro Díaz-Caro λ-Cálculo Cuántico
  90. 90. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Segundo Intento Problemas Ejemplo |((λx .cosa) otraCosa) → |((λx ._) otraCosa); cosa Alejandro Díaz-Caro λ-Cálculo Cuántico
  91. 91. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Segundo Intento Problemas Ejemplo |((λx .cosa) otraCosa) → |((λx ._) otraCosa); cosa Aquí debemos guardar otraCosa en el historial para mantener reversibilidad. Alejandro Díaz-Caro λ-Cálculo Cuántico
  92. 92. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Segundo Intento Problemas Ejemplo |((λx .cosa) otraCosa) → |((λx ._) otraCosa); cosa Aquí debemos guardar otraCosa en el historial para mantener reversibilidad. Pero entonces entramos en problemas cuando el argumento que se descarta es una superposición Alejandro Díaz-Caro λ-Cálculo Cuántico
  93. 93. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ejemplo |(λx .0) (H 0) Alejandro Díaz-Caro λ-Cálculo Cuántico
  94. 94. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ejemplo 1 |(λx .0) (H 0) → |(_ (H _)) ⊗ (λx .0) ( √2 (|0 + |1 )) Alejandro Díaz-Caro λ-Cálculo Cuántico
  95. 95. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ejemplo 1 |(λx .0) (H 0) → |(_ (H _)) ⊗ (λx .0) ( √2 (|0 + |1 )) 1 Aquí tengo dos formas de reducir (λx .0) ( √2 (|0 + |1 )) Alejandro Díaz-Caro λ-Cálculo Cuántico
  96. 96. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ejemplo 1 |(λx .0) (H 0) → |(_ (H _)) ⊗ (λx .0) ( √2 (|0 + |1 )) 1 Aquí tengo dos formas de reducir (λx .0) ( √2 (|0 + |1 )) 1 1 (λx ._) ( √2 (|0 + |1 ) ⊗ |0 Alejandro Díaz-Caro λ-Cálculo Cuántico
  97. 97. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ejemplo 1 |(λx .0) (H 0) → |(_ (H _)) ⊗ (λx .0) ( √2 (|0 + |1 )) 1 Aquí tengo dos formas de reducir (λx .0) ( √2 (|0 + |1 )) 1 1 (λx ._) ( √2 (|0 + |1 ) ⊗ |0 1 ≡ √ 2 (|(λx ._) 0 + |(λx ._) 1 ) ⊗ |0 Alejandro Díaz-Caro λ-Cálculo Cuántico
  98. 98. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ejemplo 1 |(λx .0) (H 0) → |(_ (H _)) ⊗ (λx .0) ( √2 (|0 + |1 )) 1 Aquí tengo dos formas de reducir (λx .0) ( √2 (|0 + |1 )) 1 1 (λx ._) ( √2 (|0 + |1 ) ⊗ |0 1 ≡ √ 2 (|(λx ._) 0 + |(λx ._) 1 ) ⊗ |0 1 2 √ 2 (|(λx .0) 0 + |(λx .0) 1 ) Alejandro Díaz-Caro λ-Cálculo Cuántico
  99. 99. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Ejemplo 1 |(λx .0) (H 0) → |(_ (H _)) ⊗ (λx .0) ( √2 (|0 + |1 )) 1 Aquí tengo dos formas de reducir (λx .0) ( √2 (|0 + |1 )) 1 1 (λx ._) ( √2 (|0 + |1 ) ⊗ |0 1 ≡ √(|(λx ._) 0 + |(λx ._) 1 ) ⊗ |0 2 1 √ 2 √ (|(λx .0) 0 + |(λx .0) 1 ) → 2 |0 2 Alejandro Díaz-Caro λ-Cálculo Cuántico
  100. 100. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Otro ejemplo Ejemplo |((λy .((λx .y ) y )) (H 0)) Alejandro Díaz-Caro λ-Cálculo Cuántico
  101. 101. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Otro ejemplo Ejemplo |((λy .((λx .y ) y )) (H 0)) 1 → √2 |(_(H _) ⊗ (|((λy .((λx .y ) y )) 0) + |((λy .((λx .y ) y )) 1) ) Alejandro Díaz-Caro λ-Cálculo Cuántico
  102. 102. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Otro ejemplo Ejemplo |((λy .((λx .y ) y )) (H 0)) 1 → √2 |(_(H _) ⊗ (|((λy .((λx .y ) y )) 0) + |((λy .((λx .y ) y )) 1) ) 1 → √ 2 |(_(H _) ⊗ |((λy .((_.y ) y )) _) ⊗ (|((λx .0) 0) + |((λx .1) 1) ) Alejandro Díaz-Caro λ-Cálculo Cuántico
  103. 103. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Otro ejemplo Ejemplo |((λy .((λx .y ) y )) (H 0)) 1 → √2 |(_(H _) ⊗ (|((λy .((λx .y ) y )) 0) + |((λy .((λx .y ) y )) 1) ) 1 → |(_(H _) ⊗ √ 2 |((λy .((_.y ) y )) _) ⊗ (|((λx .0) 0) + |((λx .1) 1) ) 1 → 2 √ |(_(H _) ⊗ |((λy .((_.y ) y )) _) ⊗ (|((λx ._) 0); 0 + |((λx ._) 1); 1 ) Alejandro Díaz-Caro λ-Cálculo Cuántico
  104. 104. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Otro ejemplo Ejemplo |((λy .((λx .y ) y )) (H 0)) 1 → √2 |(_(H _) ⊗ (|((λy .((λx .y ) y )) 0) + |((λy .((λx .y ) y )) 1) ) 1 → |(_(H _) ⊗ √ 2 |((λy .((_.y ) y )) _) ⊗ (|((λx .0) 0) + |((λx .1) 1) ) 1 → 2 √ |(_(H _) ⊗ |((λy .((_.y ) y )) _) ⊗ (|((λx ._) 0); 0 + |((λx ._) 1); 1 ) Quedó el historial en entangled con el estado!!! Alejandro Díaz-Caro λ-Cálculo Cuántico
  105. 105. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Tercer (y último) intento λ-Cálculo Cuántico (λq ) Denición Decimos que una subexpresión es denida con respecto a la base computacional si es textualmente la misma en todos los branches de la superposición. Alejandro Díaz-Caro λ-Cálculo Cuántico
  106. 106. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Tercer (y último) intento λ-Cálculo Cuántico (λq ) Denición Decimos que una subexpresión es denida con respecto a la base computacional si es textualmente la misma en todos los branches de la superposición. Ejemplo 1 √ (|(λx .0) 0 + |(λx .0) 1 ) 2 Alejandro Díaz-Caro λ-Cálculo Cuántico
  107. 107. Primer Intento Introducción Segundo Intento λ-Cálculo Cuántico Tercer (y último) intento Conclusión Cómo computa el λq Bibliografía Ejemplos Tercer (y último) intento λ-Cálculo Cuántico (λq ) Denición Decimos que una subexpresión es denida con respecto a la base computacional si es textualmente la misma en todos los branches de la superposición. Ejemplo 1 √ (|(λx .0) 0 + |(λx .0) 1 ) 2 La subexpresión (λx .0) es denida, aunque el argumento 1 √ 2 (|0 + |1 ) no lo es. Alejandro Díaz-Caro λ-Cálculo Cuántico

×