Este texto fue escrito tras lo que he estudiado a lo largo del tiempo, sobre unas cuantas cosas que no sabía y que de aquí saqué.
En general trata sobre física cuántica, computación abstracta, conceptualizaciones sobre los problemas de computación y le doy una pasada al Premio Nobel de Física de este año (2007).

Preámbulo.

De forma específica y para fines de éste trabajo, podemos afirmar que una computadora tradicional es una Máquina de Turing. Este concepto fue introducido por Alan Turing en su trabajo sobre la idea planteada por David Hilbert sobre si las matemáticas pueden ser sometidas a algún proceso para determinar su validez.

Como respuesta a este problema, Turing construyó un modelo de computadora probando que había problemas concebidos por la mente humana que una máquina no era capaz de resolver. De forma matemática la Máquina de Turing (MT) puede verse como el modelo que generaliza nuestra visión de un algoritmo; aunque quizá el carácter finito del algoritmo restrinja la universalidad de las MT.

Al decir “construir” hago referencia al hecho de que la conceptualización de su máquina era abstracta, para comprender un poco mejor esto, describiré la MT:

Consiste en un cabezal lector-escritor y una banda infinita dividida en sectores de lecto-escritura, donde el cabezal lee el contenido de cada sector, lo borra, escribe un valor nuevo y avanza la cinta.

Las dos únicas operaciones o movimientos que puede realizar la máquina son correr el cabezal a la izquierda, y análogamente, correrlo a la derecha. Para nuestro estudio es preciso conocer las dos clases de MT que fueron concebidas: Deterministas e Indeterministas.

Definimos el modelo determinista como:

*Para cada par de eventos (estado actual de la máquina, símbolo leído) existe una sola acción a realizar.

El modelo Indeterminista plantea lo contrario:

*Para cada par de eventos (estado actual de la máquina, símbolo leído) existen varias opciones de salida.

La computación actual responde al modelo determinista, ya que para cada proceso que pudiese plantearse a una computadora responde por un único camino, siendo este, “real” y con finito. Los bucles infinitos (en cuanto a programación se refiere) son el ejemplo más claro del caos en el modelo determinista y la puesta de la máquina de Turing a prueba.

El modelo actual de computación plantea una serie de retos elementales, de hecho mientras mas elemental es el problema más complejo e interesante se vuelve.

Problemas con la Computación actual.

La computación actual responde de manera excelente ante algunas situaciones cotidianas, sin embargo es necesario evolucionar las capacidades de la computación presente a fin de responder problemas aún irresueltos y plantear lo que a la nueva generación de interesados en este campo nos compete enfrentar.

Recordemos que la computadora es principalmente un dispositivo que bajo el modelo arquitectónico planteado por Von-Newman resuelve una serie de cálculos matemáticos; en sí responde bajo 3 clases de acciones: entrada, proceso, salida.

Para entrar un poco más en materia, podemos mencionar algunas de las capacidades de la computación actual, como la Compresión de Datos, problema que ha marcado algunos de los avances mas importantes en cuanto a hardware refiere.

Así pues, definimos la compresión de datos como la reducción del volumen de información tratable; la forma de encontrar el espacio que ocupa la información esta dado por el siguiente cociente:

E=Fm/R

Donde:

E: Espacio que ocupa la información codificada sin comprimir

Fm: Frecuencia de Muestreo

R: Resolución de la información

El resultado de este cociente abstracto esta dado en bits, entonces mientras mas grande sea su tamaño en bits, mas espacio va a ocupar; sin embargo el factor de resolución es un número dado por el sistema digital, de modo que no podemos alterarlo, es por ello que se recurre a los sistemas de compresión.

En forma genérica los sistemas de compresión hacen lo siguiente:

*Buscan un patrón de repetición, digamos “AAAAA”, que ocupa 6 bytes.

*Codifican este patrón por uno más pequeño que transmita lo mismo, una especie de factorización o reducción algebraica abstracta, para el ejemplo dado, quedaría “6A” que ocupa solo 2 bytes.

De modo que podemos decir que el sistema de compresión pretende transmitir la misma información en menos Espacio. Sin embargo la computación actual está limitado por aspectos como el procesamiento de datos, la velocidad de cálculo etc.

La respuesta en el modelo indeterminista.

Ya que analizamos los aspectos mas relevantes de la computación actual, podemos definir la segunda parte de la maquina de Turing, el modelo indeterminista, el cual como ya se dijo, contempla la posibilidad de múltiples caminos de procesamiento en respuesta a un solo evento definido por un estado y un símbolo de lectura.

Quizá el lector pueda llegar a afirmar que en programación este “concepto” ya es utilizado con las estructuras de decisión (if… then… else…) o secuencias de control (switch… case…) u otros artilugios de desarrollo, sin embargo el concepto aquí referido es aún mas abstracto, hago referencia a los procesos a nivel binario, donde las compuertas electro-magnéticas (AND, OR, NOT), pueden llegar a responder de más de una forma simultanea.

Esta capacidad fue imaginada por el mismo Turing, dando un ejemplo abstracto donde veía a este procesamiento como un árbol, en comparación con el Determinista (que es una línea de cómputo), y de forma más objetiva planteaba 2 posibles reacciones de su máquina ante esta situación.

La primera consistía en que la máquina respondiera de todas las formas posibles a todas las soluciones, el fallo obviamente esta en el tiempo y los recursos si hablamos a un nivel mas general; y la segunda contemplaba la opción de que su máquina (aún bajo el concepto abstracto) se clonara a si misma tantas veces, como soluciones o procesos de respuesta existieran.

Este modelo era ideal ya que en el proceso se llegaría a la solución más efectiva en menor tiempo, incluso abarcando todas las posibles soluciones; desde entonces se han hecho una serie de intentos de completar este modelo, ya que de esta forma de abstracción esta basado el pensamiento humano; de ahí que la inteligencia artificial contemple en sus objetivos, la posibilidad de responder cuasi-humanamente a los problemas que el entorno pueda presentar.

Física Cuántica

Hace años un físico escocés cuyo nombre no recuerdo, logró undificar la teoría de la Electricidad: un conjunto de 4 ecuaciones que conforman una verdadera obra de arte ya que todo elemento de ésta rama de la física podía ser interpretado por medio de las ecuaciones que éste físico calculó.

El entonces joven, Albert Einstein ya tenia algunos años de estudiar y ejercer la física por su cuenta cuando, a raíz de este descubrimiento, se planteó la posibilidad de una teoría unificada para cada rama de la física conocida por el hombre; desde el magnánimo universo hasta la mas pequeña de las partículas, recordemos que en ese entonces, los trabajos sobre física nuclear estaban en sus inicios, de hecho este nombre aún no existía como tal.

Así que Einstein dedicó su tiempo y esfuerzo en la búsqueda de su teoría unificada, uno de sus resultados medios es lo que hoy conocemos como Teoría de la Relatividad, la cual se planteó al estudiar el cosmos. Einstein señaló la existencia de una energía obscura, la cual mantenía el universo en forma, de hecho, también como resultado medio, contribuyó al trabajo de Isaac Newton sobre gravedad, ya que éste solo planteo la existencia de una fuerza que mantenía todo hacia el centro de la tierra.

Sin embargo los estudiosos de la nueva física tenían en mente terrenos antes inexplorados como las partículas atómicas, fue Niels Bohr uno de los pioneros en este campo, quienes comenzaron a estudiar la nueva moda de la física: La Física Nuclear.

Esta rama nueva de la física obtiene su nombre del hecho de que se estudiaban aquellas partículas que componían el núcleo del átomo y subpartículas de este (tal como el protón, electrón o neutrón).

Pronto se dieron cuenta de que los estudios sobre este nuevo campo arrojaban resultados sorprendentes, resultados que nunca antes se había visto en la física, algunos de estos fenómenos son tan asombrosos y fantásticos que dieron cabida a teorías como la de la Paradoja de Einstein-Podolosky, la cual enuncia que si dos partículas son creadas al mismo tiempo, incluso en diferentes lugares del universo, si una energía o fuerza externa modifica una de ellas, exactamente al mismo tiempola otra era alterada en el mismo grado que la primera incluso sin haber un contacto o relativa cercanía.

Las barreras de la física clásica (como el tiempo y el espacio) no existían, para las ideas de la física cuántica – la cual deriva su nombre de quantum, lo más pequeño que pueda existir –. Personajes como Max Planck (con el que inicia todo esto) y Einstein se devanaban los sesos tratando de ingeniar las respuestas a todas las preguntas que el micro mundo planteaba.

No adentraré mucho en la historia posterior de la física cuántica ni en muchos de los autores, vayamos a la parte relevante para este trabajo; la ciencia ficción marco lo que probablemente sería el impulso a muchas de las descabelladas posibilidades del mundo cuántico, soluciones como la teletransportación o romper la propiedad de impenetrabilidad son cosas que la física cuántica ya contempla.

Para irnos acercando a la computación cuántica, cabe mencionar que en el mundo cuántico del universo una partícula puede estar hasta en 3000 “lugares” al mismo tiempo, o dicho de otra forma mas formal, puede tener hasta 3000 vectores paralelos de posición que parten del mismo punto y sin embargo tienen 3000 posibilidades distintas; el cerebro humano es un macro ejemplo de este fenómeno.

El cerebro humano procesa unos 400 billones de bits a cada instante de tiempo, mientras ese instante tiende, sin llegar a ser, cero. En la mente consciente procesamos unos 2000 millones, entre colores, formas, asociación de recuerdos, etc., entonces ¿Qué pasa con el resto?

Nuestro maravilloso cerebro calcula una serie de posibles situaciones que nos hacen tomar las decisiones mas idóneas ante nuestro desequilibrio natural, es decir, el cerebro calcula esas 3000 posibilidades y de hecho las actúa todas antes de tomar una decisión. Para dejar en claro esto, recordemos que es en nuestro cerebro donde se procesa todo lo que percibimos y todo lo que hacemos, es decir el cerebro crea nuestra “Realidad” es por ello que el cerebro mismo puede sopesar las 3000 posibilidades en instante de tiempo, y tras una deliberación ordena y actuamos en consecuencia, de hecho si nuestra capacidad motora como especie fuese mas rápida en respuesta podemos ocupar esas 3000 posiciones a nivel macro molecular (para ampliar mas este tema, ver documental “What the bleep do we know?”).

La computación cuántica

Si nos fijamos bien, esa solución cuántica de las partículas se adecúa al comportamiento esperado en una máquina indeterminista de Turing. Los científicos e ingenieros habían basado sus respuestas a los problemas de la computación en dos grandes aspectos:

*Las limitaciones de la física clásica.

*El modelo lógico de Von-Newman.

Sin embargo las limitaciones tanto de uno como otro, habían limitado el poder de expansión de las capacidades de una computadora y es por ello que bajo las teorías de la física cuántica y la búsqueda de un Nuevo Modelo de Arquitectura de computadoras y el concepto de la máquina indeterminista de Turing, nace lo que denominamos computación cuántica.

Lo primero es definir a la computación cuántica, actualmente es un paradigma que con el paso de tiempo esta dejando de serlo, y difiere de la computación clásica en todos sus aspectos. La primer diferencia radica en el sistema lógico de archivado basado en qubits, que a diferencia del bit clásico que sólo podía tomar valores de 0 ó 1, nunca ambos, el qubit sí puede presentar algún estado de 0, 1 o ambos según el proceso lo requiera.

La palabra qubit viene de quantum bit o mejor dicho bit cuántico, y es la unidad mínima de la información cuántica, el ejemplo mas tangible de esta pequeña unidad es el spin de un electrón, que se define como la propiedad de las partículas subatómicas, por la cual todas las partículas elementales tienen un momento angular intrínseco de valor fijo, que en términos mas generales no depende del tiempo, y en forma mas profunda tampoco de la velocidad o aceleración que tenga el momento angular (ya que el momento angular clásico, depende del tiempo y de la posición por ende de la velocidad y la aceleración, el spin del electrón por ejemplo es planteado como un múltiplo entero de la constante de Dirack, o como un múltiplo entero de la constante de Planck entre 2π).

Para continuar con las características de la computación cuántica, en febrero de este año una compañía canadiense presentó lo que en un principio se creía una arquitectura de computadora cuántica, sin embargo mas tarde se dijo que no era así y que lo cuántico en su modelo solo estaba en la utilización de mecánica cuántica para resolver algunos cálculos.

Como los inicios de la computación tradicional, la computación cuántica, pretende resolver algunos de los cálculos matemáticos mas complejos actualmente, tales como el logaritmo discreto (que a grandes rasgos parte de la ecuación modular x=ay mod n, donde la incógnita es ‘y’; así despejando queda, y=log disc ax).

Los problemas más acuciantes de la computación cuántica están enumerados en lo que se conoce como lista de Di Vivenzo:

*El sistema ha de poder inicializarse, esto es, llevarse a un estado de partida conocido y controlado.

*Ha de ser posible hacer manipulaciones a los qubits de forma controlada, con un conjunto de operaciones que forme un conjunto universal de puertas lógicas (para poder reproducir a cualquier otra puerta lógica posible).

*El sistema ha de mantener su coherencia cuántica a lo largo del experimento.

*Ha de poder leerse el estado final del sistema, tras el cálculo.

*El sistema ha de ser escalable: tiene que haber una forma definida de aumentar el número de qubits, para tratar con problemas de mayor coste computacional.

Para la solucionar estos problemas se plantean sistemas como el de los spines que ha dado excelentes resultados en campos como la Magnetorresistencia, y ya que entramos en esto es importante hablar de los resultados de los ganadores del Premio Nobel de Física y como se relacionan con lo aquí tratado.

La Magnetorresistencia es el cambio en el valor de la resistencia que sufre un conductor ante un campo magnético externo que lo altera a niveles atómicos; en la computación esta el ejemplo mas claro de esto, ya que la información es grabada como ya se dijo en forma físico-lógicas de bits.

Pensemos a los bits como pequeños imanes almacenados en los sectores de una pista de un disco duro, así pues el lector es un pequeño magneto que detecta las variaciones generadas por los bits (que pensamos como imanes) y se genera entre ellos un campo electro magnético por efecto de la Magnetorresistencia del material del disco y el campo entre el bit y el lector, todo esto es captado por el cabezal lector que comienza una serie de efectos electrónicos por los componentes de la computadora.

Este efecto no es nuevo, de hecho fue descubierto hace 150 años por W. Thompson y como ya se dijo se ha implementado en la creación de discos duros mas pequeños; cabe mencionar que en la Magnetorresistencia influyen factores como la resistencia obviamente, el momento angular, el campo eléctrico, además de que estos factores influyen en el spin de los electrones que también son parte fundamental del magnetismos, podemos afirmar que la Magnetorresistencia es un derivado parcial de la mecánica cuántica del electrón como partícula elemental y de la física clásica como madre de los fenómenos sobre el disco duro.

El descubrimiento que ganó el Nobel, esta basado en lo antes descrito, sin embargo, se llama Magnetorresistencia Gigante por el hecho de que la mecánica cuántica que actúa sobre él genera una variación mayor en la resistencia de los materiales, lo cual permite hacer pistas mas apretadas ya que con la Magnetorresistencia Gigante es posible leer variaciones mas pequeñas recordemos que cuando nos movemos en una vecindad de valores podemos llegar a variar entre valores muy dispersos, sin embargo con este descubrimiento podemos hacer esa vecindad (y por ende esas variaciones) mas pequeñas dándonos un grado de exactitud mayor, o un ahorro de espacio físico y lógico, lo cual da concepción al primer dispositivo que en mi opinión trabaja bajo física cuántica.

Conclusiones

Para todos nosotros, que próximamente vamos a enfrentar los problemas y los beneficios que trae consigo el avance en este campo, es interesante conocer sus inicios ya que de este modo podremos comprender su real funcionamiento que a fin de cuentas sigue siendo una de las preguntas universales ¿cómo? (la otra es ¿por qué? Y una deriva de la otra y viceversa, es recursivo).

Por Vic