Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD MAYOR DE SAN ANDRÉS FACULTAD DE CIENCIAS PURAS Y NATURALES CARRERA DE INFORMÁTICA TESIS DE GRADO “ANÁLISIS COMPARATIVO ENTRE UN ALGORITMO CUÁNTICO Y UN ALGORITMO CLÁSICO APLICADO A LA COMPRESIÓN DE INFORMACIÓN” PARA OPTAR AL TÍTULO DE LICENCIATURA EN INFORMÁTICA MENCIÓN INGENIERÍA DE SISTEMAS INFORMÁTICOS POSTULANTE: Luis Alvaro Nina Chura TUTOR METODOLÓGICO: M. Sc. Miguel Cotaña Mier REVISOR: Lic. Grover Alex Rodriguez Ramirez LA PAZ - BOLIVIA 2014 UNIVERSIDAD MAYOR DE SAN ANDRÉS FACULTAD DE CIENCIAS PURAS Y NATURALES CARRERA DE INFORMÁTICA LA CARRERA DE INFORMÁTICA DE LA FACULTAD DE CIENCIAS PURAS Y NATURALES PERTENECIENTE A LA UNIVERSIDAD MAYOR DE SAN ANDRÉS AUTORIZA EL USO DE LA INFORMACIÓN CONTENIDA EN ESTE DOCUMENTO SI LOS PROPÓSITOS SON ESTRICTAMENTE ACADÉMICOS. LICENCIA DE USO El usuario está autorizado a: a) visualizar el documento mediante el uso de un ordenador o dispositivo móvil. b) copiar, almacenar o imprimir si ha de ser de uso exclusivamente personal y privado. c) copiar textualmente parte(s) de su contenido mencionando la fuente y/o haciendo la referencia correspondiente respetando normas de redacción e investigación. El usuario no puede publicar, distribuir o realizar emisión o exhibición alguna de este material, sin la autorización correspondiente. TODOS LOS DERECHOS RESERVADOS. EL USO NO AUTORIZADO DE LOS CONTENIDOS PUBLICADOS EN ESTE SITIO DERIVARA EN EL INICIO DE ACCIONES LEGALES CONTEMPLADOS EN LA LEY DE DERECHOS DE AUTOR. Dedicado: A mi madre, por apoyarme en momentos difíciles y siempre confiar en mí. AGRADECIMIENTOS A mis padres. A todos los docentes que compartieron su conocimiento a lo largo de estos años de estudio. A mi revisor Lic. Grover Alex Rodriguez Ramirez y tutor M. Sc. Miguel Cotaña Mier por su paciencia, compresión y tiempo supervisando el presente trabajo. Luis Alvaro Nina Chura ÍNDICE ESPECÍFICO 1. Marco Referencial .....................................................................................................13 1.1. Introducción ................................................................................................................. 13 1.2. Antecedentes ............................................................................................................... 14 1.3. Planteamiento del Problema ......................................................................................... 15 1.4. Formulación del Problema ............................................................................................ 16 1.5. Hipótesis ....................................................................................................................... 16 1.6. Identificación de Variables.........................................................................................16 1.6.1. Variable Dependiente..........................................................................................16 1.6.2. Variable Independiente .......................................................................................16 1.6.3. Operacionalización de variables ..........................................................................16 1.7. Objetivos ...................................................................................................................... 17 1.7.1. Objetivo General ....................................................................................................... 17 1.7.2. Objetivos Específicos ................................................................................................. 17 1.8. Justificación .................................................................................................................. 17 1.8.1. Técnica ...............................................................................................................17 1.8.2. Social..................................................................................................................17 1.8.3. Práctica ...............................................................................................................17 1.8.4. Económica ..........................................................................................................18 1.9. Limites y Alcances ....................................................................................................18 1.10. Diseño Metodológico ..........................................................................................18 2. Marco Teórico ...........................................................................................................20 2.1. Fundamentos de la mecánica cuántica .......................................................................... 20 2.1.1. Dualidad Onda Partícula ............................................................................................ 20 2.1.2. El Experimento De La Doble Ranura .......................................................................... 20 2.1.3. Principio De Incertidumbre De Heisemberg ............................................................... 20 2.1.4. Postulados ................................................................................................................ 21 2.1.5. El Gato De Schrödinger ............................................................................................. 23 2.1.6. Entrelazamiento cuántico ......................................................................................... 24 2.1.7. La Paradoja EPR ........................................................................................................ 25 2.1.8. Cuantificación del entrelazamiento ........................................................................... 26 2.1.9. Estados de Bell .......................................................................................................... 26 2.1.10. Algoritmos Cuánticos ................................................................................................ 27 2.1.10.1. Algoritmo de Deutsch............................................................................................ 27 2.1.10.2. Algoritmo Deutsch-Jozsa ....................................................................................... 28 2.1.10.3. La Transformada Cuántica de Fourier .................................................................... 28 2.1.10.4. Algoritmo de Factorización de Shor ....................................................................... 30 2.1.10.5. Algoritmo de Grover ............................................................................................. 32 2.2. Conceptos Básicos ........................................................................................................ 35 2.2.1. Espacios de Hilbert .................................................................................................... 37 2.2.2. El Qbit ....................................................................................................................... 38 2.2.3. Representación y medición del estado de un Qbit ..................................................... 39 2.2.4. Definición de la esfera de Bloch ................................................................................ 40 2.2.5. Múltiples Qbits ......................................................................................................... 42 2.2.6. Puertas cuánticas ...................................................................................................... 43 2.2.6.1. Compuertas cuánticas para un qubit ..................................................................... 43 a) Puerta de Identidad ......................................................................................................43 b) Puerta Hadamard.......................................................................................................... 44 c) Puertas de Pauli ............................................................................................................ 44 d) Puerta Cambio de Fase ................................................................................................. 45 e) Puerta ..................................................................................................................... 45 2.2.6.2. Puertas cuánticas para dos qbits ........................................................................... 45 2.2.7. Reversibilidad ........................................................................................................... 45 2.2.8. Puertas Reversibles ................................................................................................... 46 2.2.8.1. CNOT .................................................................................................................... 46 2.2.8.2. Toffoli ................................................................................................................... 47 2.2.8.3. Fredkin .................................................................................................................. 47 2.2.9. Teorema de no clonación .......................................................................................... 48 2.3. Computación cuántica .................................................................................................. 49 2.4. Computador cuántico ................................................................................................... 50 2.5. Entropía ........................................................................................................................ 50 2.6. Información clásica ....................................................................................................... 50 2.6.1. Entropía de Shannon ................................................................................................. 50 2.6.2. Codificación .............................................................................................................. 51 2.6.3. Compresión de datos ................................................................................................ 52 2.6.3.1. Compresión sin perdida......................................................................................... 52 a) Compresores Estadísticos ............................................................................................. 53 Compresor Shannon-Fano............................................................................................. 53 Compresor Huffman ..................................................................................................... 54 Compresores Aritméticos .............................................................................................. 55 b) Compresores Basados en Diccionario ............................................................................ 56 Compresión RLE ............................................................................................................ 56 Compresión LZ77 .......................................................................................................... 57 Compresión LZSS .......................................................................................................... 57 Compresión LZ78 .......................................................................................................... 57 Compresión LZW........................................................................................................... 58 2.6.3.2. Compresión con perdida ....................................................................................... 58 a) Compresión de imágenes: JPEG .................................................................................... 59 b) Compresión de video: MPEG ......................................................................................... 60 2.7. Información cuántica .................................................................................................... 61 2.7.1. Operador de densidad .............................................................................................. 61 2.7.2. Medición de la matriz de densidad ............................................................................ 62 2.7.3. Entropía de Von Neumann ........................................................................................ 63 2.7.4. Codificación de fuente .............................................................................................. 64 2.7.4.1. Codificación de estados puros. Teorema de Schumacher....................................... 64 2.7.4.2. Codificación de mezclas estadísticas. Información de Holevo ................................ 65 2.8. Codificación superdensa ............................................................................................... 66 2.9. Metodología de desarrollo ............................................................................................ 67 2.9.1. Procedimiento del diseño ......................................................................................... 67 2.9.2. Diagrama de las estructuras de datos ........................................................................ 67 3. Diseño metodológico .................................................................................................69 3.1. Comparación formal ..................................................................................................69 3.2. Descripción del algoritmo propuesto ..........................................................................72 3.3. Desarrollo de Software ..............................................................................................76 3.3.1. Diagrama general ...................................................................................................... 76 3.3.2. Fase 1 (entradas, salidas) .......................................................................................... 78 3.3.2.1. Submódulo leerArhivos ......................................................................................... 79 3.3.2.2. Submódulo codificarHuffman ................................................................................ 79 3.3.2.3. Submódulo codificarArchivos ................................................................................ 80 3.3.3. Fase 2 (Diagramas Jackson) ....................................................................................... 83 3.3.3.1. Submódulo leerArchivos ....................................................................................... 86 3.3.3.2. Submódulo codificarHuffman ................................................................................ 87 3.3.3.3. Submódulo codificarArchivos ................................................................................ 87 3.3.4. Fase 3 (Implementación: diagramas de flujo) ............................................................ 92 3.3.4.1. Submódulos leerArchivo ....................................................................................... 95 3.3.4.2. Submódulos codificarHuffman .............................................................................. 96 3.3.4.3. Sub módulos codificarArchivos .............................................................................. 97 3.3.5. Implementación: Pseudocódigo .............................................................................. 105 3.3.5.1. Submódulos leerArchivos .................................................................................... 107 3.3.5.2. Submódulos codificarHuffman ............................................................................ 108 3.3.5.3. Submódulo codificarArchivos ..............................................................................108 4. Presentación y análisis de resultados ........................................................................ 114 4.1. Diseño experimental ................................................................................................... 114 4.2. Procedimiento ............................................................................................................ 114 4.3. Datos experimentales ................................................................................................. 117 4.4. Cálculos y resultados................................................................................................... 120 4.5. Prueba de Hipótesis .................................................................................................... 123 5. Conclusiones ........................................................................................................... 126 Bibliografía ..................................................................................................................... 127 ÍNDICE DE TABLAS TABLA 2.1: TABLA DE VERDAD CNOT. ................................................................................................................. 46 TABLA 2.2: TABLA DE VERDAD TOFFOLI................................................................................................................. 47 TABLA 2.3: TABLA DE VERDAD DE FREDKIN ............................................................................................................ 48 TABLA 2.4: EJEMPLO DE SHANNON–FANO BALANCEADO. ......................................................................................... 53 TABLA 2.5: EJEMPLO CÓDIGO HUFFMAN............................................................................................................... 54 TABLA 3.2.1: REPRESENTACIÓN DE LA LETRA “A” EN CÓDIGO ASCII Y BINARIO. .............................................................. 72 TABLA 4.1: TAMAÑO DE CODIFICACIÓN HUFFMAN Y PROPUESTO. ............................................................................. 118 TABLA 4.2: TIEMPO DE CODIFICACIÓN HUFFMAN Y PROPUESTO. ............................................................................... 119 ÍNDICE DE FIGURAS FIGURA 2.1: EL GATO DE SCHRÖDINGER Y LA SUPERPOSICÍON CUÁNTICA ....................................................................... 24 FIGURA 2.2: CIRCUITO CUÁNTICO DEL ALGORITMO DE DEUTSCH. ................................................................................ 28 FIGURA 2.3: PUERTA DE HADAMARD. .................................................................................................................. 30 FIGURA 2.4: CIRCUITO DE TCF PARA TRES QUBITS. .................................................................................................. 30 FIGURA 2.5: IMPLEMENTACIÓN DEL CIRCUITO CUÁNTICO DEL ALGORITMO DE SHOR. ........................................................ 31 FIGURA 2.6: PRIMER PASO DEL ALGORITMO DE GROVER. .......................................................................................... 32 FIGURA 2.7: OPERADOR DE GROVER. ................................................................................................................... 33 FIGURA 2.8: REFLEXIÓN EN EL PLANO Y SOBRE EL VECTOR . ......................................................................... 33 FIGURA 2.9: REFLEXIÓN EN EL PLANO Y SOBRE EL VECTOR . .......................................................................... 34 FIGURA 2.10: CIRCUITO COMPLETO DEL ALGORITMO DE GROVER. ............................................................................... 34 FIGURA 2.11: REPRESENTACIÓN ESQUEMÁTICA DE COORDENADAS ESFÉRICAS. ................................................................ 39 FIGURA 2.12: ESFERA DE BLOCH. ........................................................................................................................ 40 FIGURA 2.13: CIRCUITO CNOT. ......................................................................................................................... 46 FIGURA 2.14: COMPUERTA CUÁNTICA TOFFOLI. ..................................................................................................... 47 FIGURA 2.15: COMPUERTA CUÁNTICA FREDKIN ...................................................................................................... 48 FIGURA 2.16: ÁRBOL HUFFMAN DE LA TABLA 2.5: EJEMPLO CÓDIGO HUFFMAN. ........................................................... 55 FIGURA 2.17: UN EJEMPLO DE LA CODIFICACIÓN DE TRES MENSAJES CON LA DISTRIBUCIÓN DE PROBABILIDAD . .................................................................................................................................................... 55 FIGURA 2.18: COMPRESIÓN RLE. ....................................................................................................................... 56 FIGURA 2.19: EJEMPLO DE JPEG EN ESCALA DE GRISES, 640*480 PIXELES. .................................................................. 59 FIGURA 2.20: PROCESO JPEG. ........................................................................................................................... 60 FIGURA 2.21: CUADROS MPEG. ........................................................................................................................ 61 FIGURA 2.22: ESTRUCTURAS BÁSICAS DEL MÉTODO JACKSON. .................................................................................... 68 FIGURA 3.3.1: DIAGRAMA GENERAL. ................................................................................................................... 77 FIGURA 3.3.2: MÓDULO LEERARHIVOS. ............................................................................................................... 78 FIGURA 3.3.3: MÓDULO CODIFICARHUFFMAN. ...................................................................................................... 78 FIGURA 3.3.4: MÓDULO CODIFICARARCHIVOS. ...................................................................................................... 78 FIGURA 3.3.5: SUBMÓDULO CREARFRECUENCIAS. ................................................................................................... 79 FIGURA 3.3.6: SUBMÓDULO ESTAKEY................................................................................................................... 79 FIGURA 3.3.7: SUBMÓDULO ENTROPIASHANNON. .................................................................................................. 79 FIGURA 3.3.8: SUBMÓDULO ENTROPIANEUMANN. ................................................................................................. 80 FIGURA 3.3.9: SUBMÓDULO KET. ........................................................................................................................ 80 FIGURA 3.3.10: SUBMÓDULO BRA. ..................................................................................................................... 80 FIGURA 3.3.11: SUBMÓDULO NORMALIZARESTADOS. .............................................................................................. 80 FIGURA 3.3.12: SUBMÓDULO VOLVERVECTOR. ...................................................................................................... 81 FIGURA 3.3.13: SUBMÓDULO GRAMSCHMIDT. ...................................................................................................... 81 FIGURA 3.3.14: SUBMÓDULO BASEORTONORMAL. ................................................................................................. 81 FIGURA 3.3.15: SUBMÓDULO CODIFICACIÓN. ........................................................................................................ 81 FIGURA 3.3.16: SUBMÓDULO PRUEBADECODIFICAR. ............................................................................................... 82 FIGURA 3.3.17: SUBMÓDULO VOLVERABINARIO. ...................................................................................................82 FIGURA 3.3.18: SUBMÓDULO DECIMALABINARIO. .................................................................................................. 82 FIGURA 3.3.19: MÓDULO LEERARCHIVOS. ............................................................................................................ 83 FIGURA 3.3.20: MÓDULO CODIFICARHUFFMAN. .................................................................................................... 84 FIGURA 3.3.21: MÓDULO CODIFICARARCHIVOS. .................................................................................................... 85 FIGURA 3.3.22: SUBMÓDULO CREARFRECUENCIAS. ................................................................................................. 86 FIGURA 3.3.23: SUBMÓDULO ESTAKEY. ............................................................................................................... 86 FIGURA 3.3.24: SUBMÓDULO ENTROPIASHANNON. ................................................................................................ 87 FIGURA 3.3.25: SUBMÓDULO BASEORTONORMAL. ................................................................................................. 87 FIGURA 3.3.26: SUBMÓDULO KET. ...................................................................................................................... 87 FIGURA 3.3.27: SUBÓDULO CODIFICACIÓN. ........................................................................................................... 88 FIGURA 3.3.28: SUBMÓDULO DECIMALABINARIO. .................................................................................................. 88 FIGURA 3.3.29: SUBMÓDULO ENTROPIANEUMANN. ............................................................................................... 89 FIGURA 3.3.30: SUBMÓDULO GRAMSCHMIDT. ...................................................................................................... 89 FIGURA 3.3.31: SUBMÓDULO KET. ...................................................................................................................... 90 FIGURA 3.3.32: SUBMÓDULO NORMALIZARESTADOS. .............................................................................................. 90 FIGURA 3.3.33: SUBMÓDULO PRUEBADECODIFICAR. ............................................................................................... 90 FIGURA 3.3.34: SUBMÓDULO VOLVERABINARIO. ................................................................................................... 91 FIGURA 3.3.35: SUBMODULO VOLVERVECTOR. ...................................................................................................... 91 FIGURA 3.3.36: MÓDULO LEERARCHIVO. ............................................................................................................. 92 FIGURA 3.3.37: MÓDULO CODIFICARHUFFMAN. .................................................................................................... 93 FIGURA 3.3.38: MÓDULO CODIFICARARCHIVOS. .................................................................................................... 94 FIGURA 3.3.39: MÓDULO CREARFRECUENCIAS. ..................................................................................................... 95 FIGURA 3.3.40: MÓDULO ESTAKEY. .................................................................................................................... 96 FIGURA 3.3.41: MÓDULO ENTROPIASHANNON. ..................................................................................................... 96 FIGURA 3.3.42: MÓDULO BASEORTONORMAL. ...................................................................................................... 97 FIGURA 3.3.43: MÓDULO BRA. .......................................................................................................................... 98 FIGURA 3.3.44: MÓDULO DECIMALABINARIO. ...................................................................................................... 98 FIGURA 3.3.45: MÓDULO CODIFICACION. ............................................................................................................. 99 FIGURA 3.3.46: MÓDULO ENTROPIANEUMANN. .................................................................................................. 100 FIGURA 3.3.47: MÓDULO GRAMSCHMIDT. ......................................................................................................... 101 FIGURA 3.3.48: MÓDULO KET. ........................................................................................................................ 102 FIGURA 3.3.49: MÓDULO NORMALIZARESTADOS. ................................................................................................ 102 FIGURA 3.3.50: MÓDULO PRUEBADECODIFICAR. .................................................................................................. 103 FIGURA 3.3.51: MÓDULO VOLVERABINARIO. ...................................................................................................... 104 FIGURA 3.3.52: MÓDULO VOLVERVECTOR. ......................................................................................................... 105 FIGURA 3.3.53: PSEUDOCÓDIGO LEERARCHIVOS .................................................................................................. 105 FIGURA 3.3.54: PSEUDOCÓDIGO CODIFICARHUFFMAN. .......................................................................................... 106 FIGURA 3.3.55: PSEUDOCÓDIGO CODIFICARARCHIVOS. .......................................................................................... 106 FIGURA 3.3.56: PSEUDOCÓDIGO CREARFRECUENCIAS. ........................................................................................... 107 FIGURA 3.3.57: PSEUDOCÓDIGO ESTAKEY. ......................................................................................................... 107 FIGURA 3.3.58: PSEUDOCÓDIGO ENTROPIASHANNON............................................................................................ 108 FIGURA 3.3.59: PSEUDOCÓDIGO CODIFICACION. .................................................................................................. 108 FIGURA 3.3.60: PSEUDOCÓDIGO BRA. ............................................................................................................... 108 FIGURA 3.3.61: PSEUDOCÓDIGO BASEORTONORMAL. ........................................................................................... 109 FIGURA 3.3.62: PSEUDOCÓDIGO DECIMALABINARIO. ............................................................................................ 110 FIGURA 3.3.63: PSEUDOCÓDIGO ENTROPIANEUMANN. .......................................................................................... 110 FIGURA 3.3.64: PSEUDOCÓDIGO GRAMSCHMIDT. ................................................................................................. 111 FIGURA 3.3.65: PSEUDOCÓDIGO KET. ................................................................................................................ 111 FIGURA 3.3.66: PSEUDOCÓDIGO NORMALIZARESTADOS. ........................................................................................ 111 FIGURA 3.3.67: PSEUDOCÓDIGO PRUEBADECODIFICAR. ......................................................................................... 112 FIGURA 3.3.68: PSEUDOCÓDIGO VOLVERABINARIO. ............................................................................................. 112 FIGURA 3.3.69: PSEUDOCÓDIGO VOLVERVECTOR. ................................................................................................ 113 FIGURA 4.1: PANTALLA PRINCIPAL DEL SOFTWARE. ................................................................................................ 114 FIGURA 4.2: PANTALLA CODIFICACIÓN HUFFMAN. ................................................................................................. 115 FIGURA 4.3: PANTALLA CODIFICACIÓN PROPUESTA. ............................................................................................... 116 FIGURA 4.4: PANTALLAPRINCIPAL TRAS EJECUTAR LOS BOTONES DE CODIFICACIÓN. ....................................................... 117 RESUMEN Un nuevo rumbo en la solución de problemas computacionales es la que ofrece la computación cuántica. Nuevos teoremas, leyes, definiciones las cuales se pretenden aplicar, en este trabajo, en una de las áreas en la cual todavía se está trabajando, la compresión de datos. Se desarrollara un método de compresión de datos utilizando fundamentos de computación cuántica, para seguidamente comparar los rasgos del tiempo y tamaño de compresión con un método de compresión clásico (Huffman). Cabe mencionar que para agilizar los cálculos se recurrirá a un prototipo para el análisis de los rasgos mencionados anteriormente. Las investigaciones relacionadas al área de computación cuántica no son nuevas, existen varios algoritmos cuánticos que resuelven distintos problemas (factorización de números, búsqueda en base de datos, determinación del tipo de función, entre otros), y no puede faltar la codificación, la finalidad del trabajo es brindar un enfoque ligeramente distinto, a los ya existentes, puesto que se utiliza el concepto de sistema de ecuaciones. Y de esta forma aportando un conocimiento más al ya existente. Para un mejor desarrollo del trabajo, se lo divido en las siguientes secciones: En el capítulo 1 se dará una breve introducción, se citara fuentes bibliográficas en las cuales está basado el presente trabajo, y se planteara una hipótesis y objetivos. En el capítulo 2 se extraerá la información necesaria para entender los nuevos conceptos concernientes a la computación cuántica, información clásica y distintos métodos de compresión con y sin perdida. En el capítulo 3 se describirá el método planteado en detalle, para luego desarrollar el prototipo empleando la metodología Jackson. En el capítulo 4 se procederá a aceptar o rechazar la hipótesis planteada en la capitulo1, para la cual se realizar distintas pruebas en las cuales se utilizara el prototipo desarrollado en la sección anterior. Finalmente en el capítulo 5 se describirá las conclusiones a las que se llego tras concluir las secciones anteriores. ABSTRACT A new direction in solving computational problems is offered by quantum computing. New theorems, laws, definitions which they are applied, in this paper, in one of the areas which are still being worked, data compression. A method of data compression using fundamentals of quantum computing, to then compare the features of time and size of compression with a classic compression method (Huffman) was developed. It is noteworthy that the calculations to expedite call on a prototype for the analysis of the features mentioned above. Research related to the area of quantum computing are not new, several quantum algorithms that solve different problems (factoring numbers search database, determining the type of function, etc.), and cannot miss the coding order work is to provide a slightly different approach to existing, since the concept of system of equations is used. And thus providing a further existing knowledge. For better development work, it divided into the following sections: Will give a brief introduction in Chapter 1, bibliographic sources in which this paper is based was cited, and a hypothesis and objectives are raised. In chapter 2 the information needed to understand new concepts concerning quantum computing, classical information and different methods of compression without loss will be removed. In chapter 3 the method proposed in detail, and then develop the prototype using the methodology described Jackson. In Chapter 4 we will proceed to accept or reject the hypothesis in chapter1, for which various tests in which the prototype developed in the previous section was used is performed. Finally, in chapter 5 the conclusions that was reached after completing the previous sections will be described. 13 1. Marco Referencial 1.1. Introducción Si en anteriores décadas cualquier científico o ingeniero, relacionado con el campo de la electrónica, hubiera propuesto que en años posteriores las computadoras, que hasta ese momento eran de gran tamaño y solo tenían carácter científico, estaría presentes en los hogares y serian tan comunes como tener un radio o un televisor, habrían sido tomados como tipos muy soñadores y poco realistas. E incluso sustentar que con el pasar de los años esas mismas computadoras irían reduciendo en peso, tamaño y precio, habría sido tomado como una idea totalmente loca. Sin embargo hoy en día existe toda de una gama de computadoras personales de todo tipo tamaño y precio, es más, actualmente están presentes los llamados dispositivos móviles, Smartphone que prácticamente son minicomputadoras, con costos relativamente bajos. Estos sucesos nos hacen reflexionar y cuestionarnos, de cómo avanza la tecnología, que aparatos hoy en día son tomados como fantasía de ciencia ficción, y mañana serán tan comunes como un Smartphone. No obstante todo este avance tecnológico no es algo que apareció espontáneamente, tiene sus inicios en aéreas como la física y matemática, principalmente física, y si por un momento nos detenemos a pensar que es un bit, podemos llegar a la conclusión que es un cero (0) ó uno (1), apagado o prendido respectivamente. Pero porque decimos que principalmente se apoya en la área de la física, porque muchos de los componentes electrónicos de una computadora emplean principios de la física clásica, así por ejemplo la fuente de poder transforma un voltaje de entrada de (110-220) voltios a voltajes mucho menores de 5, 7, 9, 12 voltios, que son con los que trabajan la mayoría de de los componentes electrónicos como los lectores de Dvd, placa base, microprocesador. Bajo este entendido, si una computadora utiliza principios de física clásica, ¿podrá utilizar principios de física cuántica? La respuesta es sí, y lo más sorprendente es que ya hace tiempo se planteo esta idea. Es más ya existen algunas computadoras cuánticas, que emplean principios de computación cuántica, la más rescatable, es el uso del Qbit (quantum bit), un análogo del bit clásico. Si existen computadoras cuánticas no pueden faltar los algoritmos cuánticos, entre los que podemos mencionar al algoritmo de factorización de Shor, algoritmo de búsqueda de Grover, la transformada cuántica de Fourier, entre algunos, los cuales emplean fundamentos de computación cuántica. 14 Pero al existir algoritmos de búsqueda, factorización, determinación de tipo de función, no pudieron faltar algoritmos de codificación/decodificación cuántica, y es precisamente el tema de este trabajo. Se plantea un método que hace uso de fundamentos de computación cuántica (Qbit) para lograr una codificación/decodificación de qbits en un entorno clásico 1 . 1.2. Antecedentes Actualmente se realizaron diversos trabajos, relacionados con la codificación cuántica, muchos de ellos son artículos en los cuales, sus autores, describen su método y presentan sus conclusiones. Entre los consultados, para este trabajo, tenemos: “Efficient and exact quantum compression 2 ” Este artículo escrito por el Departamento de Ciencia de la Computación, de la Universidad Duke Durham. Plantea un algoritmo basado en la idea de divide y vencerás, para una compresión/descompresión cuántica optima, usando operaciones cuánticas elementales, dando como resultado el primer algoritmo cuasi lineal. “Quantum source coding and data compression 3 ” Este artículo presenta la compresión de Schumacher, teoremas y demostraciones de la entropía de Von Neumann, el cual es una media de la información cuántica, siendo similar a la entropía de Shannon (el cual pertenece a la información clásica). “Quantum-inspired Huffman Coding 4 ” Este artículo presenta un método en el cual empleando conceptos de computacióncuántica (bra y kets) se puede conseguir códigos Huffman en un tiempo . “Adaptive Quantum Lossless Compresion 5 ” Este artículo plantea un nuevo algoritmo cuántico de compresión sin pérdida, con la característica de no necesitar las probabilidades a priori. La principal idea es asumir que todos los símbolos tienen idéntica probabilidad, y después de cada iteración las mismas son actualizadas. 1 Emular qbits en una computadora que usa bits. 2 (H. Reif & Chakraborty, 2007). 3 (Petz, 2014). 4 (Tolba, Rashad, & El-Dosuky, 2007). 5 (Essam, 2007). 15 “A quantum analog of Huffman coding 6 ” En este artículo, se analiza una generalización de la codificación Huffman en el caso cuántico, construyendo códigos Huffman, inspirados en un esquema cuántico. Además que el número de pasos computacionales en el proceso de codificación y decodificación de estados cuánticos puede ser realizado en un tiempo poli-logarítmico. “Lossless Quantum Data Compression and Secure Direct Communication 7 ” Esta obra es una tesis, está dividida en tres partes, Conceptos de Información, Compresión de Datos Cuánticos y Criptografía. La primera parte nos sumerge en los conceptos de información clásica y cuántica. La segunda parte trata de la compresión de Schumacher y además nos plantea ejemplos. Finalmente la tercera parte trata de la criptografía clásica y cuántica. 1.3. Planteamiento del Problema En la actualidad el procesamiento de información ha pasado del uso de los bits clásicos al uso de bits cuánticos (qbits), la diferencia más relevante entre ellos es la llamada superposición cuántica, rasgo fundamental que dota de mayor poderío a la hora de realizar cálculos, puesto que a diferencia de un bit clásico, un qbit puede estar en un estado de cero y uno simultáneamente. Además para una fácil representación de un qbit, en este trabajo, se ha adoptado la representación vector columna (Notación de Dirac), el cual representa un qbit de la siguiente manera: El rasgo de superposición fue aprovechado por Peter Shor, para desarrollar el primer algoritmo cuántico de factorización, el cual es capaz de factorizar números grandes en pocos segundos, y de esta manera destruyendo las bases de la criptografía moderna. Otro algoritmo cuántico relevante es el de búsqueda de Grover. Pero es imposible pensar que no existiera una teoría de información cuántica, detrás de estos algoritmos, y es justamente la teoría que nos ayuda dar respuesta a las siguientes preguntas: ¿Se puede utilizar bits para representar qbits? ¿Existirá diferencia en el tiempo que tarda la codificación/decodificación, de un archivo de texto plano, cuando se emplean qbits? 6 (Braunstein, Fuchs, Gottesman, & Lo, 1999). 7 (Boström, 2004). 16 ¿Un método de codificación que emplea fundamentos de computación cuántica, en un ambiente clásico, será más eficaz que un método de codificación clásica? 1.4. Formulación del Problema ¿Qué impacto tendrá un método de codificación que emplea fundamentos de computación cuántica, en un ambiente clásico, en el tiempo y tamaño de codificación con respecto a un método de codificación clásica? 1.5. Hipótesis “La codificación de un archivo de texto, utilizando fundamentos de computación cuántica, produce una codificación más rápida y de menor tamaño con respecto a una codificación clásica (Huffman)”. 1.6. Identificación de Variables 1.6.1. Variable Dependiente Codificación más rápida y de menor tamaño. 1.6.2. Variable Independiente Archivo de texto. 1.6.3. Operacionalización de variables Nombre de la variable Definición conceptual Definición Instrumental Definición Operacional Codificación más rápida y de menor tamaño Proceso que comienza tras seleccionar un archivo de texto y termina cuando el método propuesto concluye. Se observa en la interfaz de salida del prototipo. Se compara el tiempo y tamaño que toma el método propuesto, con respecto a la codificación clásica (Huffman) y ambos números se dividen y se obtiene una relación. (Número racional) 17 1.7. Objetivos 1.7.1. Objetivo General Desarrollar un método de codificación de datos, empleando conceptos de computación cuántica. 1.7.2. Objetivos Específicos Recopilar información de los diferentes tipos de codificación que emplean bits. Compendiar información de los fundamentos y rasgos de la computación cuántica. Diseñar y desarrollar una aplicación para realizar pruebas de codificación. Analizar rasgos como el tiempo y el tamaño, tras el proceso de codificación. 1.8. Justificación 1.8.1. Técnica Las investigaciones relacionadas al área de computación cuántica no son nuevas, existen varios algoritmos cuánticos que resuelven distintos problemas (factorización de números, búsqueda en base de datos, determinación del tipo de función, entre otros), y no puede faltar la codificación, y en los trabajos que se reviso se encontró varios métodos de codificación, el planteado en este trabajo brinda un enfoque ligeramente distinto, puesto que se utiliza el concepto de sistema de ecuaciones. 1.8.2. Social En la búsqueda de documentos similares, relacionados al presente trabajo, lamentable no se encontró mucha documentación en nuestra carrera, si bien existen documentos relacionados con computación cuántica, no eran del todo orientados a la codificación cuántica, y por lo que ahora se ofrece un aporte más. 1.8.3. Práctica En los trabajos revisados la mayoría constan de aspectos base en común, del mismo modo el presente trabajo no se distancia demasiado de aquellos aspectos, pero al final se toma 18 otra perspectiva para lograr una codificación cuántica, por lo que se considera que se ofrece un método diferente a los consultados. 1.8.4. Económica El propósito de la investigación no es generar alguna compensación monetaria, más bien se inclina a aportar conocimiento, satisfacer una curiosidad personal. Intentar ser un punto de referencia para trabajos posteriores. 1.9. Limites y Alcances Lo que se pretende en el presente trabajo, es buscar información, estudiarla, analizarla, desarrollar un método de codificación/decodificación usando principios de computación cuántica y finalmente realizar una comparación del método planteado, con un método de codificación de la computación clásica (Huffman). Cabe mencionar que la comparación se realizara con la ayuda de un pequeño prototipo, el cual será desarrollado en la herramienta informática MatLab. Por otro lado, como se menciono en la justificación, el método planteado es muy similar a los trabajos consultados, y no se pretende desarrollar una nueva teoría, puesto que ya existe todo un mundo de teoremas y definiciones ya planteadas, solo se emplearan estas mismas teorías para lograr el propósito mencionado en líneas anteriores. 1.10. Diseño Metodológico La metodología empleada, en el estudio y desarrollo del presente trabajo, se rige bajo el método científico experimental, puesto que la hipótesis que se pretende probar requiere de varias muestras de archivos de texto, las cuales serán procesadas por el prototipo, el cual presentara de forma más rápida los datos como el tiempo y tamaño de codificación, para su posterior análisis. Para el desarrollo del presente trabajo se consideran los siguientes pasos: Desarrollo de un prototipo, bajo la metodología Jackson y técnica descendente (Tod-Down). Se seleccionará varios archivos de texto plano, los cuales serán procesados por el prototipo. 19 Cada archivo será codificado de forma clásica (Huffman) y forma cuántica (método planteado) y en ambos casos se calculara el tiempo que toma la codificación y cuál es el tamaño de la tras codificación. Se analizara los resultados que nos lanza el prototipo tras la codificacióny se procederá a tener una posición frente a nuestra hipótesis. Finalmente se llegara a conclusiones, y si es posible se brindara algunas recomendaciones. 20 2. Marco Teórico 2.1. Fundamentos de la mecánica cuántica La mecánica cuántica (QM: Quantum Mechanics) surge como necesidad para explicar hechos inexplicables en el mundo de la mecánica clásica. Cuando se intenta utilizar la mecánica y la electrodinámica clásicas para explicar los fenómenos atómicos, los resultados a que conducen se encuentran en franca contradicción con la experiencia. Ningún paradigma científico puede resistir este resultado de confrontación con la realidad. (Hecht, 2005) 2.1.1. Dualidad Onda Partícula La luz no es una onda continua, a veces se comporta como una partícula; se comporta como si viniera en pedazos, en trocitos, en cuantos, los cuantos de luz se llaman fotones. (Mullington) 2.1.2. El Experimento De La Doble Ranura Es una metáfora de la dualidad onda partícula, un haz de electrones choca contra una pantalla que tiene dos ranuras paralelas y después contra otra pantalla. Al hacer este experimento con las luces prendidas no ocurre nada inusual, los electrones no formar ningún patrón. Pero cuando apagamos las luces, en la pantalla se observa una serie de máximos (puntos donde se acumulan electrones) y mininos (puntos que evitan), esto es lo que esperaría ver si enviaras ondas y no partículas a través de la doble ranura. (Mullington) 2.1.3. Principio De Incertidumbre De Heisemberg En la Física Cuántica existe una limitación sobre la certeza con la que se pueden medir dos o más magnitudes no compatibles simultáneamente. Este hecho fue formulado por el científico alemán Werner Heisenberg, quien demostró que la incertidumbre en el conocimiento de la posición de una partícula, multiplicada por la incertidumbre en su cantidad de movimiento (o "momentum"), nunca puede ser más pequeña que una cierta 21 cantidad, la constante de Planck 8 . Además, este límite es una propiedad fundamental e ineludible, que no depende de la forma en que se realicen las medidas, ni del tipo de partícula. (J. Santos, 2003) Establece que esas dos propiedades de una partícula no pueden conocerse simultáneamente con exactitud. Cuando se conoce exactamente el impulso de una partícula (o sea el producto de su masa por su velocidad), su ubicación resulta ser completamente incierta. Y a su vez, cuando se conoce exactamente la ubicación, el impulso no puede ser determinado. (J. Funes, 2004) El principio de incertidumbre significa que el universo es más complejo de lo que se suponía pero no irracional. (Hecht, 2005) Ecuación 2.1 2.1.4. Postulados Se describirán los postulados de la mecánica cuántica en términos de matrices de densidad, siendo útil, esta formulación, para describir sistemas cuánticos cuyos estados no son completamente conocidos. Es posible que algunos conceptos no sean comprendidos en su totalidad, pero estos serán desarrollados en secciones posteriores. Postulado 1: Existe un espacio vectorial con producto interno (llamado espacio de Hilbert ), asociado a cualquier sistemas físico aislado. Un estado de ese sistema es completamente descrito por una matriz , llamada matriz de densidad, tal que y . Si el sistema está en el estado con probabilidad , para entonces la matriz de densidad está dada por: Cuando , para diremos que el conjunto es un conjunto de estados puros 9 . Caso contrario, es un conjunto de estados mixtos. (Lavor, 2006) Postulado 2: La evolución de un sistema cuántico aislado es descrita por un operador lineal que preserva el producto interno (operador unitario). O sea, el estado del sistema, en tiempo , está relacionado al estado , en tiempo , a través de un operador unitario que depende apenas de y . O sea, (Lavor, 2006) 8 Constante física descubierta por Max Planck . 9 Un estado puro hace referencia a estar máximamente determinado. 22 Postulado 3: Las medidas sobre sistemas cuánticos son descritas por un conjunto de operadores de medida tal que Donde es el operador de identidad. Si el estado del sistema anterior a la medida está dado por , la probabilidad de ocurrir el resultado esta dado por Y el estado del sistema después de la medida está dado por: Asociado a cada , podemos definir otros operadores , dados por Podemos demostrar que los operadores son hermitinianos ( , positivos ( y . Un conjunto con esas características esta de definido como un POVM 10 . En lugar el conjunto , se usa con frecuencia, un POVM para describir a los operadores de medida. (Lavor, 2006) Postulado 4: El estado compuesto por estados, , es el producto tensorial . Un estado que no puede ser escrito como producto tensorial de estados es llamado enredado. Todas las propiedades que diferencian los estados cuánticos de los estados clásicos son consecuencia del enredo. Por ejemplo el estado Puede ser escrito como 10 POVM: En ciertas ocasiones el estado de un sistema puede ser medido una sola vez y no se tiene interés en el estado del sistema después de la medición. A este tipo de mediciones se les conoce como mediciones POVM (Positive Operator Valued Measurements). (Mendoza Vázquez, 2010) 23 Pero no podemos hacer lo mismo con el estado O sea, es un estado no enredado y es un estado enredado. Para describir la evolución de sistemas cuánticos que no están aislados, se usara una herramienta matemática llamada operaciones cuánticas. Una operación cuántica puede ser descrita por la representación del operador suma, dada por Los operadores son elementos de operación de , es el operador identidad y es el operador densidad del sistema. Las operaciones cuánticas pueden representar los operadores descritos en el Postulado 2 Y las medidas descritas en el Postulado 3, Además, pueden también ser utilizadas para representar las alteraciones provocadas por el paso de un estado a través de un canal cuántico cualquiera. (Lavor, 2006) 2.1.5. El Gato De Schrödinger Erwin Schrödinger planteo un interesante modelo que ilustra la naturaleza azarosa de la mecánica cuántica. Cuando se habla del “gato de Schrödinger” se está haciendo referencia a una paradoja que surge de un célebre experimento imaginario propuesto por Erwin 24 Schrödinger en el año 1937 para ilustrar las diferencias entre interacción y medida en el campo de la mecánica cuántica. (Hecht, 2005) Schrödinger usa como experimento la desintegración radioactiva. Las posibilidades son dos: tiene lugar la desintegración del átomo o no tiene lugar. El instrumento de medición es un detector que activa un diabólico martillo que, en caso de que ocurra la desintegración, golpea un recipiente de cristal con veneno y lo rompe. Y ahora Schrödinger mete su instrumento dentro de una caja negra sin ventanas ni puertas, junto con un gato. La función de onda 11 representara entonces el estado gato vivo - gato muerto. (Álvarez Nodarse, 2009) Si lo que ocurre en el interior de la caja lo intentamos describir aplicando las leyes de la mecánica cuántica, llegamos a una conclusión muy extraña. El gato vendrá descrito por una función de onda extremadamente compleja resultado de la superposición de dos estados combinados al cincuenta por ciento: “gato vivo” y “gato muerto”. Es decir, aplicado el formalismo cuántico, el gato estaría a la vez vivo y muerto; se trataría de dos estados indistinguibles. (Hecht, 2005) Figura 2.1: El gato de Schrödinger y la superposicíon cuántica Fuente: Extraído de (Álvarez Nodarse, 2009) 2.1.6. Entrelazamiento cuántico El entrelazamiento es un fenómeno cuántico, sin equivalente clásico, en cual los estados de dos o más subsistemas se deben describir haciendo referencia a losestados del sistema total, incluso cuando la separación entre los subsistemas es grande. 11 La Función De Onda es un instrumento matemático, un almacén de información sobre el sistema físico. (García Alcaine, 2005) 25 Las mediciones realizadas sobre algún observable de un sistema que está entrelazado con otros parecen influenciar instantáneamente a estos. Esto parecería sugerir que alguna influencia debería estar propagándose “instantáneamente” entre los sistemas, a pesar de la separación entre ellos, lo que violaría la velocidad máxima de propagación de las interacciones. El entrelazamiento cuántico fue en un principio utilizado por A Einstein, B. Podolsky y N. Rosen (EPR) como un argumento para intentar probar la incompletitud de la mecánica cuántica como teoría física, alegando que las correlaciones predichas por la mecánica cuántica son inconsistentes con el Principio De Realismo Local 12 (D. Blanco, 2010) En los años 1920 – 1930, surgió un nuevo paradigma que indica que los sistemas no observados son indeterminados (gato de Schrödinger). O sea, cuánticamente, una pelota de tenis no posee posición, la adquiere cuando es observada. Muchos físicos objetaron esta nueva visión de la naturaleza. El objetor más prominente fue Albert Einstein. En su famoso trabajo del año 1935 y conocido como el “EPR paper”, junto a Nathan Rosen y Boris Podolsky llevando como titulo las iníciales de los autores, propuso un experimento que pensaba podría demostrar que la mecánica cuántica no era una teoría completa de la naturaleza. (Hecht, 2005) Si el sistema total se encuentra en un estado puro el enredo se manifiesta en que el estado total no puede expresarse como producto de estados para cada una de sus partes (desde el punto de vista matemático), y en que ninguna de dichas partes por separado se encuentra en un estado puro (desde el punto de vista físico). (García Alcaine, 2005) 2.1.7. La Paradoja EPR En el trabajo original de Einstein, Podolsky, Rosen se hace un análisis del entrelazamiento que presenta un sistema de dos partículas que interactúan durante un intervalo de tiempo determinado y luego son separadas espacialmente, en términos del momento lineal 13 y las posiciones de las partículas. (D. Blanco, 2010) Einstein, Podolsky, Rosen proponían que: En una teoría completa, cada elemento corresponde a un elemento de la realidad, una condición suficiente para que una cantidad física sea real, es la posibilidad de predecirla con certeza sin interrumpir el sistema, por tanto: La descripción de la realidad dada por la 12 El principio de realismo local es una conjunción entre el Principio de Localidad y la asunción de que todas las magnitudes físicas tienen valores preexistentes para cada medición incluso antes de que se realice la medición. 13 Momento lineal, ímpetu o momentum es una magnitud física del tipo vectorial que describe el movimiento de un cuerpo en cualquier teoría mecánica. 26 función de onda de la mecánica cuántica no está completa; o estas dos cantidades no pueden tener una realidad simultánea; así uno llega a la conclusión de que la descripción de la realidad dada por una función de onda no está completa. (Mullington) La meta de EPR era demostrar que la mecánica cuántica era incompleta demostrando que le faltaba algún esencial elemento de la realidad. EPR deseaba forzar un regreso a una visión más clásica del mundo, una en la cual las propiedades de un sistema existían independientemente de su medición. (Hecht, 2005) 2.1.8. Cuantificación del entrelazamiento Para (Mendoza Vázquez, 2010) definir si un estado se encuentra entrelazado o no es relativamente sencillo pero medir o cuantificar la cantidad de entrelazamiento del estado no lo es. Algunas condiciones necesarias que cualquier tipo de medición de entrelazamiento sobre un estado debe de satisfacer los siguientes postulados: No negatividad: ( ) 0 ( ) = 0 sí y solo sí es separable. Operaciones Locales Unitarias no modifican el valor ( ). no aumenta su promedio sobre operaciones locales clásicas: , donde el estado bajo operaciones locales es obtenido con probabilidad . es continua. es aditiva (sobre estados puros): 2.1.9. Estados de Bell Un estado de Bell o también conocido como par EPR, es definido como un estado de máximo entrelazamiento cuántico de dos qubits. Un estado se encuentra máximamente entrelazado si podemos construir a partir de él cualquier otro estado de la base usando operaciones locales y comunicaciones clásicas (LOCC). Una operación local es aquella operación que no actúa en dos qubits simultáneamente. Cualesquiera otros estados pueden ser formados a través de operaciones unitarias actuando en este estado. Los estados de Bell forman una base ortogonal del espacio de estados cuánticos de dos qubits denominada base de Bell. (Mendoza Vázquez, 2010) 27 2.1.10. Algoritmos Cuánticos 2.1.10.1. Algoritmo de Deutsch Permite determinar si una función lógica de qubits es constante o balanceada. Una función básica de una computadora clásica es la evaluación de una función lógica con bits de entrada y un bit de salida, esto es Definimos una función balanceada como aquella cuyos valores de salida pueden ser opuestas para la mitad de sus entradas. Una función de un solo bit la definimos como función constante, si ocurre que ó . Si una función es balanceada o constante es una propiedad global. El algoritmo de Deutsch ayudará a saber si una función de un qubit es una función constante o una función balanceada. El primer paso es denotar un operador unitario que actúe sobre dos qubits, con la propiedad de que es la función identidad en el primer qubit y produzca una compuerta OR exclusiva del segundo qubit con una función que usa al primer qubit como argumento, Como es un qubit, entonces puede estar en un estado superpuesto. El algoritmo de Deutsch utiliza los resultados anteriores para explotar el que un estado se encuentre en una superposición para obtener información sobre la propiedad global de una función. El procedimiento es el siguiente: 28 Figura 2.2: Circuito Cuántico del Algoritmo de Deutsch. Fuente: Extraído de (Mendoza Vázquez, 2010) Descripción del algoritmo de Deutsch: Aplicar las compuertas Hadamard al estado inicial | para producir el producto de estados de dos superposiciones. Aplicar al estado obtenido. Aplicar una compuerta Hadamard al primer qubit dejando libre el segundo qubit. (Mendoza Vázquez, 2010) 2.1.10.2. Algoritmo Deutsch-Jozsa El algoritmo de Deutsch-Jozsa es una generalización del algoritmo de Deutsch. Nos permite deducir si una función es constante o balanceada pero para una función con múltiples valores de entrada, esto es una función de qubits. Si es constante entonces los valores de salida son los mismos para todas las . Si es balanceada entonces para la mitad de las entradas y para la otra mitad de las entradas. (Mendoza Vázquez, 2010) 2.1.10.3. La Transformada Cuántica de Fourier Para (T. Perry, 2010) el análogo cuántico de la Transformada Discreta de Fourier es la Transformada cuántica de Fourier (TCF). La TDF 14 toma una serie de números complejos y produce una serie de números complejos , similarmente, La TCF toma un vector estado: y ejecuta la TDF sobre el estado dándonos: 14 Transformada Discreta de Fourier. 29 La principal ventaja de la TCF, es el hecho que esta puede hacer una TDF sobre la superposición de estados. Esto puede ser hecho sobre una superposición similar al siguiente: o donde las amplitudes de probabilidad de un estado son valores diferentes. La FCT es un operador unitario, y es reversible. De hecho se usa la Transformadacuántica de Fourier Inversa (TCF -1 ) para el algoritmo de Shor. La TCF esta defino como: dado un vector estado : donde es el número de qubits, la está definida como: Nosotros también podemos representar la TCF como una matriz: donde . Para lograr que esto sea fácil de entender, identificaremos la parte importante de la sumatoria que necesitamos para representa la matriz (cuya etiqueta será ): donde . 30 Ahora usando la sumatoria, aquí están algunos valores para e para : Implementación de la TCF: La TCF para un qubit es simplemente el siguiente circuito: Figura 2.3: Puerta de Hadamard. Fuente: Extraído de (T. Perry, 2010). Para tres qubits la TCF es el siguiente circuito: Figura 2.4: Circuito de TCF para tres qubits. Fuente: Extraído de (T. Perry, 2010). Se puede extender esta lógica para qubits usando H (Hadamart) y diferentes rotaciones de puertas (ver sección 2.2.6.1): 2.1.10.4. Algoritmo de Factorización de Shor En 1994 Peter Shor publicó el artículo "Algorithms for quantum computation, discrete 31 logarithms and factorig" en donde mostró un nuevo enfoque al algoritmo de factorización, combinando principios de la mecánica cuántica con la teoría de números. Este algoritmo ha creado gran interés en computación cuántica debido a que los sistemas criptográficos basan su seguridad en la dificultad de factorizar números muy grandes. (Mendoza Vázquez, 2010) Shor descubrió un algoritmo que puede sacar provecho de una computadora cuántica para calcular factores de números grandes en un tiempo polinomial. Utilizando computadoras convencionales tal problema es un extremadamente intensivo de pasos computacionales, tanto así que elementos de la criptografía están basados en la factorización a tal grado que es difícil de factorizar números enteros sobre computadoras clásicas. El algoritmo en si es extremadamente complejo de explicar. El algoritmo de Shor toma un número entero positivo como la entrada, y la salida son factores no triviales de si estos existen. Esto puede muy brevemente ser resumido en estos cinco pasos: Paso 1: Determinamos si N es primo o una potencia de un primo usando un algoritmo polinomial. Si es cualquiera de los dos, lo declaramos y salimos. Paso 2: Elegimos un número entero aleatorio , y ejecutamos el algoritmo de Euclides para determinar si . Si esto no es igual a elegimos un nuevo . Paso 3: Encontramos un periodo usando el circuito cuántico de la Figura 2.5: Figura 2.5: Implementación del circuito cuántico del algoritmo de Shor. Fuente: Extraído de (Allcock, 2010) Paso 4: Si es impar o volvemos al paso 2 y elegimos un número . 32 Paso 5: Usando el algoritmos de Euclides para calcular la y . Retornamos el último de las soluciones no triviales. (Allcock, 2010) 2.1.10.5. Algoritmo de Grover La búsqueda en base de datos es una tarea fundamental del procesamiento de información. Dada una base de datos, a menudo es deseable encontrar un determinado estado en medio de un conjunto de posibles estados, suministrado como una lista desordenada. Esto es equivalente al problema de encontrar un “objetivo” especifico dentro de una base de datos “señalada” en una situación donde se conoce que existe tal entrada en la base de datos, puesto que cada posible estado de la base de datos corresponde a tener una entrada distinta. Lov Grover descubrió un algoritmo cuántico para la búsqueda en base de datos que tiene una eficiencia que supera a los algoritmos clásicos de búsqueda suministrando una velocidad cuadrática: una consulta clásica toma pasos y usando este algoritmo puede ejecutarse en pasos. Aunque menos dramático que incrementar la velocidad provista por los algoritmos cuánticos involucra encontrar el periodo, tal mejora todavía es importante, por ejemplo, la Transformada Rápida De Fourier es de importancia práctica como una mejora de la Transformada de Fourier clásica. (Jaeger, 2007) Este algoritmo es útil para aquellos problemas en los que identificar una solución es sencillo pero encontrarla es tremendamente complicado. Se trata de un algoritmo que en general es probabilístico y su objetivo será intentar que la solución correcta sea la más probable. (Coello de Portugal Vázquez, 2013) Descripción del algoritmo: El primer paso del algoritmo es colocar qubits en superposición utilizando puertas de Hadamard. Además, se debe utilizar un qubit más para el subespacio del oráculo preparado como en el algoritmo de Deutsch en el estado: : Figura 2.6: Primer paso del algoritmo de Grover. Fuente: Extraído de (Coello de Portugal Vázquez, 2013). 33 Ahora hay que repetir veces el operador de Grover Figura 2.7: Figura 2.7: Operador de Grover. Fuente: Extraído de (Coello de Portugal Vázquez, 2013). Los qubits superiores están inicialmente en el estado: , así que, si es el estado solución y es el estado conjunto del resto de componentes, podemos separarlo de la forma: Por simplicidad, Al estar el qubit auxiliar en el estado preparado, el efecto del oráculo será simplemente el de cambiar la fase de la componente solución: . Si visualizamos las componentes en su forma vectorial, podemos entender este efecto como una reflexión en el plano definido por y sobre el vector : Figura 2.8: Reflexión en el plano y sobre el vector . Fuente: Extraído de (Coello de Portugal Vázquez, 2013). 34 El siguiente paso del algoritmo es aplicar el operador . El operador de cambio de fase invierte todas las componentes de la superposición excepto la componente , es decir, realiza la operación . El efecto conjunto del operador sería , que geométricamente es una vez más una reflexión, esta vez sobre el vector : Figura 2.9: Reflexión en el plano y sobre el vector . Fuente: Extraído de (Coello de Portugal Vázquez, 2013). Girar el vector para aproximarlo hacia , vector solución del problema. Es fácil ver que si repetimos estas reflexiones un número adecuado de veces, llegara un punto de acercamiento máximo al vector solución y, por tanto, una probabilidad máxima de obtener la respuesta correcta en la medida. Se puede demostrar que el número de veces que se debe aplicar el operador de Grover para garantizar la probabilidad máxima es , es decir, el orden de complejidad del algoritmo es . (Coello de Portugal Vázquez, 2013) Figura 2.10: Circuito completo del algoritmo de Grover. Fuente: Extraído de (Coello de Portugal Vázquez, 2013). 35 2.2. Conceptos Básicos Notación de Dirac En 1930 en el libro Principios de la Mecánica Cuántica Paul Dirac introdujo una notación para poder describir estados cuánticos y funciones lineales, conocida como notación Bra- Ket. Con esta notación podemos representar un estado base de elementos con una cadena binaria de longitud , mientras que con la representación de vectores columna necesitaríamos componentes para definir el mismo vector. (Mendoza Vázquez, 2010) Los elementos de un espacio vectorial son descritos como . En el caso de que el espacio sea completo y posea producto interno (o sea, ser un espacio de Hilbert), las funciones lineales limitados pueden ser entendidos como proyección en algún vector. Luego es interesante escribir los elementos del espacio dual como , que cuando es aplicado en , esto es entendido como “realizar el producto interno ”. Con la notación de Dirac es muy simple entender la acción de un operador escrito de forma en el vector , Tenemos el vector multiplicado por el producto interno , siendo esta “asociatividad” la ventaja principal de la notación. (Coelho Quintino, 2010) Ket Asociamos a cada función de onda un vector (o Ket) en un espacio vectorial lineal , tal que la información cuántica del sistema se almacena en sí mismo. La información de este vector Ket puede verse como un vector columna. Un Ket nos ayudaa definir el estado de un sistema físico. Si tenemos dos estados cuánticos distintos y entonces el Ket: (*) Dónde. , es un nuero complejo. (Mendoza Vázquez, 2010) Bra (Dual) Dirac definió un vector bra como una función lineal que asocia un número complejo a todo ket de mediante el producto escalar. Asumimos que para cada ket existe un bra, y lo denotamos como . El bra es llamado el dual del vector ket. Entonces se puede referir al vector bra como un vector renglón, permitiendo así el producto de un vector renglón con un vector columna . El bra asociado al ket anterior (*) está dado por: 36 La norma del ket es real, no negativo, y se define como: , donde la norma es igual cero únicamente si el ket es cero. El dual de un vector , denotado por , es un vector transpuesto de con los elementos sustituidos por sus conjugados. O sea, (Lavor, 2006) Producto Interno El producto interno de un par de vectores , es un número complejo denotado por: Donde . Si su producto interno es cero entonces los vectores son ortogonales 15 . (Mendoza Vázquez, 2010) Producto Externo Se define el producto externo como: Que denota un operador que mapea el ket a otro ket mediante el bra Donde . (Mendoza Vázquez, 2010) Una definición realmente simple y concisa, es extraída de (Lavor, 2006), que dice: Dados dos vectores , el producto interno y el producto externo está definido respectivamente, por y Note que son vectores “columna” y son vectores “fila”. Producto Tensorial (D. Blanco, 2010) señala que el producto tensorial es una forma de combinar espacios, operadores y vectores. Suponiendo que y son espacios de Hilbert de dimensión y 15 Vectores que formar un ángulo de 90°. 37 respectivamente. Entonces el espacio generado por el producto tensorial es un nuevo y más grande espacio de Hilbert de dimensión . El producto tensorial de dos vectores y cuyos espacios son y respectivamente es un vector en denotado como . Suponiendo que A y B son dos operadores lineales sobre y respectivamente entonces es el operador lineal 16 en definido por Para tratar estados con más de un q-bit, precisamos del concepto de producto tensorial. Para el nuestros propósitos, definimos el producto tensorial , entre las matrices y , como la matriz , Donde es el elemento de la fila y de la columna de . Note que la dimensión de la matriz es y que el producto tensorial no es conmutativo. (Lavor, 2006) 2.2.1. Espacios de Hilbert El estado de un sistema cuántico particular se representa mediante un rayo 17 de un espacio vectorial complejo llamado Espacio de Hilbert. (Guzmán Estrada, 2004) Por un espacio de Hilbert siempre se entenderá un espacio vectorial complejo dimensionalmente finito con un producto interno lineal conjugado en la primera variable y lineal en la segunda. (Pantaleón Martínez, 2003) Es un espacio vectorial definido sobre los complejos, es decir, cumple con las propiedades que definen un espacio vectorial cuyo campo es el conjunto de los complejos. En este espacio es posible definir un producto interno, que no es más que un mapeo de un par ordenado de vectores en el campo complejo asociado al espacio, y que satisface las siguientes propiedades: Positividad: , la igualdad se cumple si Linealidad: 16 Sean y espacios vectoriales reales. Una trasformación lineal de en es una función que asigna a cada vector un vector único y que satisface, para cada y en y cada escalar .(Las trasformaciones lineales con frecuencia se llaman operadores lineales) 17 El rayo es una clase de equivalencia de vectores que difieren por la multiplicación por un escalar complejo. El estado del sistema está determinado por un representante de esta clase de equivalencia cuyo módulo es 38 Simetría: Es completo en la norma . Esto es importante en los espacios funcionales de dimensiones infinitos; asegura la convergencia de ciertas expansiones en autofunciones, el análisis de Fourier de los vectores. (Guzmán Estrada, 2004) 2.2.2. El Qbit La palabra qubit es una abreviatura de quantum bit, y como es lógico a partir de su nombre, su papel es análogo al del propio bit en computación clásica, es decir, la unidad básica de información en esta clase de ordenadores. El qubit, como el bit, es antes de nada un objeto matemático. Aunque sea utilizado a partir de objetos físicos en un contexto real, el asunto de pensar en él como una entidad abstracta nos otorga la ventaja de que, con independencia de la manera que empleemos para utilizar un qubit, ya sea mediante los estados de polarización de un fotón o el nivel de excitación de un electrón, nuestro estudio será el mismo, y la teoría en torno a él no variará. Del mismo modo en que un bit posee un estado, 0 o 1, un qubit también posee estados. Dos estados análogos para un qubit son los estados y . La diferencia principal entre un bit y un qubit es que éste último puede además existir en una superposición de estos dos estados, lo que se escribe por medio de combinaciones lineales: Los números y son números complejos, pero en la mayoría de los casos pueden suponerse como reales. Desde un punto de visto algebraico, un qubit es un elemento de un espacio vectorial de dimensión dos, donde una base de ese espacio son los estados y . El hecho de que se pueda definir un producto escalar de manera natural otorga de hecho a este espacio la estructura de espacio de Hilbert. Dicho espacio queda definido si consideramos que los estados y forman no sólo una base 18 , sino una base ortonormal 19 . De ese modo el producto escalar de dos elementos cualesquiera de este espacio queda completamente definido a partir de sus coordenadas. (López Muñoz, 2007) Un bit cuántico o qubit es típicamente un sistema microscópico, como un átomo, un espín nuclear o un fotón. Los estados booleanos 0 y 1 se representan por un par fijo de estados perfectamente distinguibles de un qubit (por ejemplo, las polarizaciones horizontal y 18 Conjunto finito de vectores , para un espacio , que son linealmente independiente y generan un espacio . 19 Conjunto de vectores, en el cual cada par de ellos es ortogonal ya además cada uno ellos tiene norma 1. 39 vertical de un fotón: , ). Un qubit también puede existir en un continuo de estados intermedios o superposiciones, representados matemáticamente por combinaciones lineales complejas de los estados base y . (H. Bennett & P. DiVincenzo, 2003) Un qubit se puede ver como un sistema con dos estados posibles tal cómo el spin de un electrón, que puede ser o o como un fotón polarizado “horizontal” o “verticalmente”. De esta forma, un sistema de qubits tendrá disponibles estados cuánticos mutuamente ortogonales. (Vela Llausí, 2009) El qubit es un estado cuántico que pertenece a un estado de espacio de estados de dimensión 2. (Coelho Quintino, 2010) 2.2.3. Representación y medición del estado de un Qbit El espacio de estados del qubit se puede representar mediante un espacio vectorial complejo bidimensional de módulo 1. Equivalentemente, se pueden representar puntos en la superficie de una esfera; esta superficie se llama esfera de Bloch. Cada estado del qubit corresponde a un punto de la superficie de una esfera de radio unidad. Esto esencialmente significa que un qubit tiene dos grados de libertad locales. Estos grados de libertad podrían ser la longitud y latitud, o como es más habitual, dos ángulos y en coordenadas esféricas, como se muestra en la figura: Figura 2.11: Representación esquemática de coordenadas esféricas. Fuente: Extraído de (Moret Bonillo, 2013) Si se asigna el estado al “polo norte” de la esfera, el estado correspondiente es:
Compartir