viernes, 24 de junio de 2011

La programación científica ¿Es eficiente?

Recientemente he visto por Twitter un post que me ha llamado mucho la atención por se muy real, se titula Defensa del código científico ineficiente, y viene a discutir un tema muy conocido en el mundo científico. Básicamente la cuestión es esta: muchos científicos, como un servidor, pasamos muchos días programando para resolver los problemas matemáticos que nos encontramos en nuestra investigación, entonces se plantean dos preguntas ¿Sabemos programar para realizar estas cuestiones? ¿No sería mejor que lo hicieran informáticos que harían un código más eficiente?

El trabajo del autor del post es precisamente ese, mejorar el código de investigadores para hacerlo más eficiente y narra como en algún momento ciertos investigadores se han negado a hacer esas mejoras. La cuestión es sencilla, si yo necesito mi programa para solucionar un problema y lo soluciona ya está todo hecho, no necesito mejorarlo para que en vez de 5 minutos tarde 1 porque es algo que sólo usaré una vez. Yo apoyo totalmente esa postura por los motivos siguientes: 


Mi código sólo lo uso yo

En mi opinión es muy diferente hacer un programa para venderlo o liberarlo que hacerlo para uso personal. En los cursos de programación que hice en la universidad me enseñaron como hacer los programas robustos, de modo que si te pide un dato numérico y tú escribes una letra no se vuelva loco, también por si tratas de crear una matriz que  es demasiado grande no se pare, sino que te de la posibilidad de solucionarlo. ¿Cuántas veces he usado esto en mi carrera profesional? Pues ninguna, obviamente. 

La cuestión es que el código que yo hago lo uso yo mismo, y lo entiendo porque es mi código. Rara vez lo hago de modo que me pregunte los parámetros, sino que se los meto en un fichero de texto o bien dentro del mismo programa. Si la matriz es muy grande se para y entonces lo corrijo, si me equivoco y le introduzco un dato erróneo pues lo cambio. Simplemente no necesito dedicar tiempo a hacer mi código a prueba de errores de ese tipo porque es mucho más rápido e igual de eficiente no cometer errores de ese tipo. 


El tiempo de CPU es más barato que mi tiempo

Esto es lo que principalmente comenta el post en cuestión y me ha recordado a un problema que tuve hace un par de años. Tenía que realizar un cálculo denominado Integración Montecarlo, para un trabajo sobre entrelazamiento en átomos. Era un cálculo sobre el que tenía alguna idea pero no lo sabía hacer, así que me puse a estudiar. Básicamente descubrí que hay varios métodos, el "plain Montecarlo", MISER y VEGAS. El primero es el más lento pero más fiable y los otros dos son bastante más rápidos. Después de analizarlo decidí que el primero es el que usaría, porque no necesitaba hacer alguno de los otros dos. 

La cuestión básica es que en mi grupo de Granada hay un cluster de ordenadores muy potente, el proteus. Yo tenía acceso al él y decidí que era suficientemente eficiente hacer los cálculos mediante el uso de muchos núcleos al mismo tiempo, de modo que me ahorró a mi mucho tiempo de preparar el código. La cuestión es que como el tiempo de computación hoy en día es mucho más barato que el tiempo de trabajo de una persona especializada si los resultados van a ser iguales no merece la pena dedicarte a hacer un código extremadamente eficiente, sale más rentable simplemente hacer uno suficientemente bueno y luego usar un buen ordenador (o muchos).  

Aquí he de decir que durante esos cálculos conseguí colapsar el cluster entero dos veces . Por suerte el grupo tiene un informático que se encarga de arreglar estas cosas y que conmigo tiene el cielo ganado. 


El resultado es el mismo

Y esta es la clave principal. A veces cuando discutes esto alguien te dice "Sí, tú puedes hacerlo, pero yo lo haría mejor porque sé más de programación", esto es lo que no tiene sentido. Si yo hago un programa para resolver un problema matemático y mi programa lo resuelve ya está, no se puede hacer mejor. Me da bastante igual si has usado punteros, definido categorías, usado C++ o Fortran, el problema está resuelto. 

Esto no es como programar un sistema operativo, que siempre se puede mejorar, hacer más o menos rápido, cambiar la interfaz y demás. Si yo quiero, por ejemplo, calcular el valor de Pi con dos decimales y hago mi programa y me da 3.14 no hay lugar para la mejora. Puedes hacer uno que te de más decimales, o que tarde un segundo mientras el mío tarda 10 (es un decir), pero eso no aporta nada al proyecto. 


Las mayores dificultades no son de programación, sino de matemáticas

Como punto final mencionar que, según mi experiencia, las mejoras de optimización de un código a otro no suelen depender de cuestiones puramente informáticas, sino del algoritmo que uses. Por ejemplo una mejora radical se da si usas la transformada rápida de Fourier en vez de la transformada discreta de Fourier. Este cambio es un cambio matemático, al final la programación se hará igual en una u otra y no será determinante a la hora de tardar más o menos en computar el problema. Sobre este tipo de cosas los físicos entendemos bastante. 


Finalmente decir que tanto en mi actual trabajo como el anterior los físicos trabajamos junto a informáticos. En Granada teníamos al encargado del cluster que nos solucionaba todas las papeletas. En mi actual instituto tenemos un equipo muy bueno que se encarga de llevar la red, arreglar los equipos y facilitarnos el trabajo. Ahora bien, tanto allí como aquí mi código lo hago yo y no me aportaría nada tener a alguien haciéndolo (me aportaría trabajar menos, pero se supone que no se trata de eso).

Este post se lo dedico a mi amigo José Martín, el informático que arregló el cluster tantas veces después de que lo tumbara, esperemos que en el futuro siga arreglándolo y no me mande a la mierda. XD XD

miércoles, 22 de junio de 2011

Computación Cuántica (Teoría y algoritmos)

Como no podría ser de otra manera en un blog de un físico cuántico tenemos que hablar del tema estrella (o uno de ellos) de este campo. La cuestión es en principio sencilla, ya hemos hablado anteriormente sobre los efectos tan raros que se producen en el mundo cuántico (véase la coherencia y el entanglement), ahora la pregunta es natural ¿para qué sirve todo esto? 

Una de las aplicaciones más investigadas actualmente es sin duda la computación cuántica. Básicamente se trata en usar las propiedades cuánticas, como las dos citadas antes, para fabricar ordenadores que puedan hacer operaciones que los ordenadores actuales no puedan. Pero mejor vayamos paso por paso.


¿Cuál es el problema original?

La idea de construir un ordenador cuántico es bastante anterior a que se descubriera su potencial matemático. Viene de un problema con el que los físicos cuánticos nos encontramos a diario: La dificultad de estudiar sistemas cuánticos en un ordenador. Vamos a ver de donde proviene esta dificultad.

Imaginad que tenéis un sistema clásico normal, compuesto por un montón de monedas que pueden estar en "cara" o "cruz". Imaginaos que tenéis por ejemplo, un millón de monedas. Si queréis especificar en que estado se encuentra el sistema ¿qué necesitáis? La respuesta es sencilla, un millón de números "0" ó "1". Si en vez de tener monedas que sólo tienen dos posibilidades, tenéis algo más complejo, por ejemplo un millón de canicas, que tienen su posición y su velocidad cada una de ellas, ¿qué necesitáis? Pues también es simple, necesitáis un millón de números reales para la velocidad y otro millón para la posición.

Básicamente hay que quedarse con esto: En sistemas clásicos necesitas tantos datos como partículas tiene el sistema.


Esto es una limitación, no cabe duda, pero gracias a los ordenadores de hoy en día podemos hacer cuentas con decenas de miles de partículas. ¿Qué ocurre entonces en el caso cuántico?

En un problema de física cuántica la cosa es bastante más complicada. Como ya expliqué en el post sobre la coherencia las monedas cuánticas pueden estar en sus dos estados $\left|cara\right>$ y $\left|cruz\right>$ al mismo tiempo. Esto significa que para dar el estado de una "moneda cuántica" tendré que dar que parte está en cara y cual en cruz, lo que son dos números. ¿Es esto un problema? os preguntaréis sin duda, pues para una moneda no, en absoluto, el problema es cuando vamos incrementando la cosa. Si tenemos dos monedas ahora tenemos 4 posibilidades $\left|cara-cara\right>$, $\left|cara-cruz\right>$, $\left|cruz-cara\right>$ y $\left|cruz-cruz\right>$, hala 4 números que hay que guardar. ¿Y si seguimos aumentando? Si seguimos así veremos muy pronto que para $N$ monedas necesitamos $2^N$ números. Esto puede parecer poco, pero es una barbaridad en cuanto N aumenta un poco. Para muestra un botón, si tenemos 20 partículas tendremos que almacenar algo más de un millón de números y para 30 partículas más de un billón.

La conclusión es simple: En sistemas cuánticos necesitas $2^N$ datos, donde N es el número de partículas que tiene el sistema.

Imagino que empatizaréis ahora con los pobres físicos cuánticos. Nuestros compañeros "clásicos" hacen sus simulaciones de sistemas con un millón de partículas y nosotros rara vez pasamos de 20 (en mi actual trabajo estamos con 10). Tened en cuenta, por ejemplo, que un átomo de Calcio ya tiene 20 electrones, y uno de Uranio 92, eso ya se escapa de nuestra capacidad de cálculo.

Los átomos molan mucho, pero estudiarlos de manera exacta no es posible con nuestros ordenadores.

¿Cómo solucionar semejante problema? La idea es sencilla y se suele atribuir a Richard Feynmann. Sabemos que los ordenadores clásicos no sirven para simular sistemas cuánticos (sirven pero son muy poco eficientes), pero los sistemas cuánticos existen en la naturaleza, por lo que la naturaleza en si puede simular sistemas cuánticos. La solución será crear ordenadores que funcionen en base a la física cuántica, y estos sí podrán simular eficientemente un sistema cuántico.


Richard Feynmann

Por último mencionar que aunque este es el problema principal que los ordenadores cuánticos solucionarían, en la última década han aparecido muchas aplicaciones alejadas de la física. De eso hablamos un poco más abajo.


Del bit al qubit

Veamos entonces cual es la diferencia entre un ordenador normal, que a partir de ahora llamaremos "ordenador clásico", y un ordenador cuántico.

Como todos sabemos los ordenadores clásicos trabajan con unidades básicas de información, llamadas bits. Estos bits básicamente representan algo que puede tener dos valores, "cero" o "uno", por ejemplo. Los ordenadores cuánticos son más raros y su unidad fundamental no es el bit, sino el quantum bit o qubit, para abreviar.

La diferencia entre los bits y los qubits es clara, los bits sólo pueden estar en "0" ó "1" mientras que los qubits barren cualquier posibilidad. Eso se representa muy bien median la esfera de Bloch. En esta representación los polos de la esfera representan los bits clásicos "0" y "1" y todos los demás puntos son las distintas posibilidades que puede tomar un qubit. Está muy claro que los qubits tienen infinitas posibilidades mientras que los bits sólo dos.


La esfera de Bloch


Otras aplicaciones de los ordenadores cuánticos

Como ya he mencionado anteriormente el interés por los ordenadores cuánticos no es simplemente por cuestiones de física cuántica. En los últimos años se les anda buscando todo tipo de aplicaciones, pero sin duda las más conocidas son las siguientes.

- Buscar un elemento en una base de datos (algoritmo de Grover):

Este es el famoso algoritmo de Grover [1], publicado en 1996. Este algoritmo sirve para buscar en una lista de números desordenada si un número está o no en la lista. Esto puede parecer una trivialidad, pero si tienes una lista enorme, por ejemplo los clientes de una multinacional, averiguar si un nuevo cliente está ya o no en la lista lleva bastante tiempo.

En un ordenador clásico hay poco donde mejorar, básicamente tienes que revisar todos los elementos uno por uno. Esto hace que el tiempo que uses sea proporcional al número de elementos de la lista, de modo que si duplicas el tamaño de la lista te llevará el doble de tiempo (obvio). Por suerte cuánticamente sí se puede mejorar. El algoritmo de Grover generalmente tarda un tiempo proporcional a la raíz cuadrada del tamaño de la lista, por lo que si doblas el tamaño de la lista sólo aumenta el tiempo en un factor $\sqrt{2}\sim 1.4$, esto por supuesto mejora más cuanto más grande es la lista.

Algoritmo de Grover, vía Wikipedia

- Factorizar números (algoritmo de Shor):

Esta es en mi opinión la aplicación estrella de los ordenadores cuánticos, ya que tiene unas aplicaciones muy relevantes. Básicamente el problema es el siguiente, imaginad que os doy dos números primos, por ejemplo 3 y 11, si os digo que lo multipliquéis no os llevará mucho tiempo. Ahora imaginad que en vez de eso os doy un número, por ejemplo 65, y os digo que es el producto de dos números primos, ¿me podéis decir cuáles son? Esto ya no es tan fácil. Este es el problema a resolver dado un número que es el producto de dos primos, averiguar cuales son.

Antes que nada muchos pensaréis que esto es un problema matemático sin mucha utilidad, pues os equivocáis y mucho. Este tipo de problemas es la base de la encriptación RSA, que basa su seguridad precisamente en que esta operación requiere mucho tiempo. Esto quiere decir que si alguien averigua como factorizar estos números rápidamente podrá acceder a datos de bancos, tarjetas de créditos y secretos gubernamentales por doquier. Ciertamente es muy importante.

Ahora la cuestión cuántica. Para resolver este problema en un ordenador cuántico está el famoso algoritmo de Shor. No mencionaré detalles, porque es bastante complicado, pero creedme si os digo que es mucho más rápido para números grandes. Podéis consultarlo en el enlace de la Wikipedia o en la referencia [3].

- Algoritmo de Deutsch-Jozsa:

El algoritmo de Deutsch-Jozsa tiene el honor de ser el algoritmo cuántico más antiguo. No resuelve un problema muy útil, pero es muy ilustrativo. Vamos a ello.

Problema: Tenemos una caja que al recibir un bit (0 ó 1) devuelve un bit (0 ó 1), pero no sabemos cual es la correspondencia entrada-salida. Sin embargo es fácil deducir que la caja

1. da la misma salida a las dos posibles entradas (caja constante) o
2. da diferentes salidas (caja balanceada).

El problema en cuestión es averiguar si la caja es constante o balanceada usándola el menor número de veces.

Clásicamente la cosa está clara, hay que usar la caja dos veces, introducir primero un 0, luego un 1 y ver si la salida es o no es la misma. Cuánticamente hay un método donde podemos averiguarlo con una sola llamada a la caja .

Conclusión

Hasta aquí este post introductorio sobre como son y para que sirven los ordenadores cuánticos. Creo que está bastante claro su potencial, tanto en facilitar la investigación de los físicos cuánticos, lo que dará mejoras en temas de física atómica, de materiales y un sinfín de aplicaciones más, como en cuestiones matemáticas. En el próximo post hablaré sobre los distintos intentos que hay para construirlos. Espero que os guste.


Referencias

[1] Grover L.K.: A fast quantum mechanical algorithm for database search, Proceedings, 28th Annual ACM Symposium on the Theory of Computing, (May 1996) p. 212
Grover L.K.: From Schrödinger's equation to quantum search algorithm, American Journal of Physics, 69(7): 769-777, 2001. Revisión pedagógica del algoritmo de Grover.

[2] Shor, Peter W. (1997), Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer, SIAM J. Comput. 26 (5): 1484–1509, arXiv:quant-ph/9508027v2

[3] Nielsen, Michael A. & Chuang, Isaac L. (2000), Quantum Computation and Quantum Information, Cambridge University Press.

[4] David Deutsch and Richard Jozsa (1992). Rapid solutions of problems by quantum computation. Proceedings of the Royal Society of London A 439: 553. 

miércoles, 15 de junio de 2011

Teoría de Cuerdas. ¿Ciencia o Pseudociencia?

La teoría de cuerdas es un de las más famosas teorías modernas de la física entre el mundo no-científico. Gran parte de la responsabilidad la tiene el libro y documental El Universo Elegante que fue muy exitoso. Para abrir el post podéis ver aquí el trailer:




Sin embargo, esta teoría también ha sido fuertemente criticada. La crítica más fuerte, en mi opinión, se ha hecho desde el libro El Problema de la Física, que estoy leyendo actualmente y donde se expone que en los últimos años la teoría de cuerdas está acaparando el panorama de la física teórica. La cuestión entonces es: ¿Qué es la teoría de cuerdas? ¿Es una teoría aceptada, como la Física Cuántica o la Termodinámica? En caso de no serlo ¿Es ciencia? Vamos a ver si ponemos un poco de luz en este asunto. 

Antes de comenzar con la Teoría de Cuerdas mencionar que intenta resolver algunos de los problemas de la física planteados en el post anterior, así que os recomiendo fuertemente que lo leáis.

¿Qué propone la Teoría de Cuerdas?
La Teoría de Cuerdas trata de responder principalmente al problema de la unificación, es decir, trata de ser una teoría que lo explique todo. Para ello hace una suposición básica, que las partículas fundamentales, como los electrones, no son puntuales (vamos, sin tamaño) como se supone, sino que son objetos monodimensionales (cuerdas) que oscilan. De como es esa oscilación depende que sean unas partículas u otras. También propone la teoría la existencia de entidades más generales, las branas, término que viene de "membrana", y que son generalizaciones de las cuerdas a más dimensiones.

La cuestión curiosa de la teoría de cuerdas, o al menos la que más llama la atención, es que predice la existencia de dimensiones extra. Estas dimensiones van más allá de las 3 que conocemos (4 si contamos el tiempo, pero hablamos sólo de dimensiones espaciales), pero no se aprecian en nuestra vida cotidiana. Stephen Hawking lo ilustraba con el ejemplo de una naranja. Desde lejos una naranja puede parecer lisa y se podría describir su superficie como un objeto de 2 dimensiones, sin embargo si te acercas bastante verás las irregularidades en la piel y es como si apareciera una nueva dimensión. Algo así propone la Teoría de Cuerdas, vemos sólo 3 dimensiones porque somos demasiado grandes, pero hay más que sólo veremos cuando seamos capaces de estudiar las cosas a una dimensión minúscula.


Algo tan simple como una naranja sirve para ilustrar las dimensiones extra. 

¿Cómo son de pequeñas estas dimensiones? Pues básicamente mucho. Son tan pequeñas que ni con el LHC, que es la máquina más moderna para estudiar las cosas pequeñas, podemos ni soñar con aproximarnos. De hecho según algunos cálculos haría falta una máquina varios millones de veces más potente que el LHC para poder apreciarlo.

¿Hay sólo una Teoría de Cuerdas?
La respuesta a esta pregunta es difícil. En los 90 ya había 5 teorías de cuerdas diferentes, cada una con su número de dimensiones y su base diferente. Después se amplió a una más.

Distintas "teorías de cuerdas". Fuente: Wikipedia
Cada una era de su padre y de su madre y existía el sentimiento de que sólo una podía ser correcta y las demás estaban mal. Eso cambió cuando un físico/matemático Edward Witten probó que se podía pasar de una a otra teoría mediante unos procesos matemáticos llamado "dualidades", con lo que todas las teorías deben ser equivalentes. Esto permitió definir una nueva teoría, de la que emanan todas las demás y que se denomina Teoría M. Como dato curioso mencionar que no es sabido el porqué de ese nombre, hay quien conjetura que la "M" es la "W" de Witten al revés. Como segundo dato curioso decir que Witten tiene la Medalla Field, que es el máximo galardón matemático, pero no el premio Nobel y mucho tienen que cambiar las cosas para que lo consiga algún día.

¿Entonces ya está todo resuelto? ¿La Teoría M es la definitiva Teoría de Cuerdas? Pues sí y no. En teoría sí, pero aún no está formulada del todo, no es como la Física Cuántica que tiene unos postulados y de ahí se deriva el resto, esta se puede decir que está "a trozos" y su capacidad de predecir cosas es aún bastante limitada.

Edward Witten

En mi opinión esto es una de las mayores críticas que se le pueden hacer a la Teoría de Cuerdas: Trataba de ser una "teoría del todo" y derivó en 6 diferentes. Es cierto que parece ser que todas derivan de la misma teoría, pero hasta que no esté del todo derivada la Teoría M y sirva para hacer predicciones no será una teoría al nivel de la Termodinámica o la Relatividad General.


¿Para qué sirve la Teoría de Cuerdas?
Hasta la fecha hay que reconocer que no sirve para mucho. La única manera de comprobarla directamente (observando las cuerdas) está a años-luz de nuestra tecnología y predicciones no hace muchas. 


Una posible solución sería usarla para predecir como es ahora el universo, lo cual sería un resultado genial, o los valores de las constantes universales, como la masa del electrón o la velocidad de la luz. El problema de esto es que la teoría de cuerdas depende, como todas, de unas variables iniciales. Me explico: si tú quieres saber como se comportarán un objeto al dejarlo en un plano inclinado, por ejemplo, no te basta con saber la mecánica de Newton, tienes que saber también como es el objeto y el plano, la gravedad y demás. A la Teoría de Cuerdas le pasa lo mismo con las condiciones iniciales, que en su caso son infinitas. Este número tan grande de condiciones iniciales hace que cierta gente haya predicho que puede haber la friolera de $10^{500}$ posibles condiciones que den un universo parecido al nuestro. Esto hace que la capacidad de predicción de la teoría desaparezca, porque de todos esos habrá muchas predicciones diferentes y no sabemos cual es la correcta. 


Una solución típica a este problema de las condiciones iniciales es el llamado Principio Antrópico. Este viene a decir que de todas las soluciones sólo nos tenemos que quedar con aquellas que dan lugar al universo real. En mi opinión esta postura no es en absoluto científica, viene a decir que cuanto más posibilidades diferentes prediga una teoría mejor, porque ya me quedaré con las que interesa. Precisamente es al contrario, una teoría debe predecir lo que ocurre realmente y no predecir lo que no ocurre. 


Decir también que la teoría de cuerdas se está retomando como método de cálculo, más que como teoría física. Un ejemplo es un paper publicado hace casi un año en Physical Review Letters titulado: Four-Qubit Entanglement Classification from String Theory. En él se utiliza la teoría de cuerdas para calcular un asunto de física cuántica, pero ojo, no es una predicción de la teoría de cuerdas en sí, es totalmente compatible con la cuántica. 


¿Por qué es tan popular la Teoría de Cuerdas?

Esta es la pregunta que me inspiró este post. ¿Por qué la Teoría de Cuerdas es tan popular en el mundo de los no científicos? Me parece muy curioso porque es una teoría que aún no está comprobada. A pesar de esto hay bastante gente que sabe más sobre lo que dice esta teoría que sobre lo que dice la física cuántica o la termodinámica. Yo creo que los motivos son los siguientes:


1.- Suena mucho a ciencia-ficción: A la gente le gusta mucho eso de las "dimensiones extra", esto hace el tema muy interesante. 


2.- El documental El Universo Elegante es realmente muy didáctico y popular. Lo curioso es que en ese mismo documental se habla de cosas como la física cuántica, pero la gente se focaliza más en la Teoría de Cuerdas, imagino que por el punto 1. 


3.- La Serie The Big Bang Theory habla mucho del tema porque su personaje principal Sheldon Cooper es cuerdólogo.


4.- Finalmente ocurre que la teoría de cuerdas es la principal teoría para resolver el problema de la unificación. De hecho en el libro The Trouble With Physics critica precisamente eso. 


Críticas a la Teoría de Cuerdas
 De las principales críticas ya he hablado, en general les veo yo las siguientes:


1.- No está unificada, como he explicado en el segundo punto. Finalmente si quieres hacer una "teoría del todo" debe ser sólo una, no seis. 

2.- El problema de las condiciones iniciales. Este es el principal problema en mi opinión, si tienes una teoría que puede predecir cualquier cosa en definitiva tienes una teoría que no predice nada. Es el problema de la falsabilidad. Hay muchos intentos de hacer predicciones concretas a partir de la teoría, pero todavía no hay ninguna concluyente (que yo sepa).


3.- Está monotematizando la física teórica. Debido a su popularidad está atrayendo mucha atención, lo cual es perjudicial a la hora de que alguien se anime a estudiar otras posibilidades. Eso es muy curioso teniendo en cuenta que es una teoría que tiene más de 20 años y aún no ha hecho ninguna predicción. 




Teoría de Cuerdas. ¿Ciencia o Pseudociencia?

Ya estamos entonces en condición de responder a la pregunta original: En mi opinión la Teoría de Cuerdas no es ciencia, al menos no física (matemáticas sí, claro) y no todavía. Es una teoría que podrá ser científicas cuando haga predicciones que puedan ser falsada, por lo que podamos pasar al laboratorio. Mientras no sea falsable no puede ser considerada ciencia empírica.

Por otro lado pseudociencia sin duda no. Pseudociencia es algo que se ha demostrado que es falso o no funciona, como la astrología, y que aún así la gente lo defiende. Obviamente la teoría de cuerdas no entra en esa definición, la teoría de cuerdas aún no se ha testado y no me cabe la menor duda de que si se testa y se falsa la gente no la seguirá defendiendo. 


Y para finalizar aquí un vídeo en el que uno de los físicos más famosos del mundo (podéis votarlo en la encuesta si queréis) defiende la Teoría de Cuerdas frente a otra teoría de la unificación, la Gravedad Cuántica de Bucles. 


Lo  podéis ver en este enlace (no me deja insertarlo, cachis) http://youtu.be/FMSmJCKaaC0




Con esta entrada participo en la XX Edición del Carnaval de la Física, que esta vez se encuentra alojada en el maravilloso blog Resistencia Numantina.

lunes, 13 de junio de 2011

Los grandes problemas de la física teórica actual

Hace tiempo que llevo barajando escribir un post sobre la Teoría de Cuerdas, que considero es un tema muy interesante desde el punto de vista sociológico. Como preludio a ese grandioso post (XD) he decidido escribir otro antes explicando cuales son los temas candentes en física que a todos nos gustaría resolver. 

La lista es muy similar a la que hay en el libro The Trouble with Physics, de Lee Smolin. Imagino que habrá más en otros libros.



El problema de la unificación 

Antes de empezar con la teoría en sí, veamos para que se creó. Obviamente las teorías científicas no salen de la nada, se crean para responder a algún problema. Y el problema en cuestión aquí es la unificación de la Física Cuántica y la Relatividad. 

Por unificación se entiende cuando hay dos teorías que explican fenómenos en apariencia diferente y a alguien se le ocurre la manera de englobarlo todo en una sola teoría.  Esto a priori podría parecer un simple capricho, pero no lo es en absoluto. Al unificar dos teorías se pueden descubrir nuevos fenómenos que antes no nos imaginábamos que ocurrieran, nuevos métodos y predicciones.

Como ejemplo de unificación tenemos el caso de Faraday y Maxwell. Gracias a estos genios, dos fenómenos que aparentemente eran diferente, la electricidad y el magnetismo quedaron unificados en la Teoría Electromagnética. Esta nueva teoría quedó recogida en las famosas Ecuaciones de Maxwell, que describen el comportamiento de los campos eléctricos y magnéticos y como interaccionan entre sí. Esta teoría proporcionó un maravilloso método de cálculo para los fenómenos electromagnéticos, pero también predijo nuevos fenómenos, como la existencia de ondas electromagnéticas como la luz, pero que no podían ser vistas.
Está claro que una teoría unificadora es siempre algo muy interesante, entonces la pregunta es ¿qué queda por unificar? Básicamente las dos principales teorías de la física actual, la Física Cuántica y la Relatividad General. Estas dos teorías están consideradas las más acertadas dentro de la física. La cuántica estudia los objetos muy pequeños, como átomos, moléculas o partículas. La Relatividad, por su parte, estudia la gravedad, que sólo juega un papel relevante en objetos muy grandes, como la tierra o el sol. Cada una por su lado funcionan perfectamente y no ha habido aún ningún experimento u observación que las contradiga, el problema es que se basan en principios muy diferentes y difíciles de conciliar. La física cuántica trata el tiempo y el espacio como factores externos a la teoría, mientras que en relatividad son variables de la misma. 

La pregunta ahora es: ¿Es esto un problema? Ya que la física cuántica trata las cosas muy pequeñas y la relatividad las cosas muy grandes, ¿no sería más sencillo dejarlas cada una en su campo? Por un lado esa podría ser una solución, pero los científicos somos muy curiosos y no nos convence. Por un lado ya he dicho que una teoría nueva nos podría descubrir nuevos fenómenos útiles para el ser humano. Desde un punto de vista más intelectual está el problema siguiente: las cosas muy grandes están compuestas de cosas muy pequeñas, así que la teoría que las describa debería ser la misma. 



El problema de la medida

Como ya he dicho antes la Física Cuántica está considerada la mejor teoría científica de la humanidad. Su rango de acción es inmenso (desde las partículas elementales como el electrón, hasta los complejos fotosintéticos), no hay un solo resultado experimental que la contradiga y muchas cosas que se fabrican hoy en día es gracias a ella (cómo los láseres o los ordenadores). Sin embargo aún tiene una pequeña pega. 

El problema es que como ya expliqué en el post sobre la coherencia, los sistemas cuánticos pueden estar en varios estados al mismo tiempo. La evolución de estos sistemas viene dada por la archifamosa Ecuación de Schrödinger (no hace falta entenderla, sólo saber que existe)


Sin embargo cuando miramos al sistema no lo vemos en múltiples estados, lo vemos en uno sólo. ¿Cómo puede ser eso? Eso ocurre porque la misma física cuántica dice que al medir el estado encontraremos sólo uno de los estados con una cierta probabilidad. El problema ahora es ¿cuándo el sistema evoluciona mediante la ecuación de Schrödinger y cuándo no? La respuesta es que si está aislado lo hace mediante la ecuación y si algo lo mide pasa a estar en un sólo estado. 

El problema radica en la definición de "medir". Si un sistema cuántico evoluciona mediante la ecuación de Schrödinger cuando está aislado y yo considero la suma "sistema+aparato de medir" como un sistema en sí, debería evolucionar también mediante la ecuación, y eso no es lo que observamos. Esto ha dado muchos quebraderos de cabeza, como El Amigo de Wigner. También han surgido diferentes intentos de resolverlo, como la Interpretación de Muchos Mundos, que está a camino de la filosofía y la ciencia-ficción, o la interpretación de Zurek, reflejada en su libro Quantum Theory and Measurement

En mi opinión el tema sigue aún abierto y es uno de los más importantes del momento.




Unificación de las fuerzas

En el universo hay cuatro fuerzas, que sepamos, la fuerza electromagnética, la interacción débil , la interacción fuerte y la gravedad. Como ya de ha mencionado la fuerza eléctrica y la magnética fueron consideradas cosas diferentes hasta que Maxwell las unificó, algo así se espera que pueda ocurrir con todas las fuerzas. 

Ya hay bastantes indicios de que a ciertas energías la interacción débil se unifica con la electromagnética, formando lo que llamamos la interacción electrodébil, sin embargo las otras aún se resisten. Mencionar que la unificación de la gravedad con el electromagnetismo era el sueño de Einstein que no consiguió ver cumplido. Al igual que con la unificación de la física cuántica y la relatividad, esto también daría lugar a un marco nuevo donde estudiar nuevos fenómenos. 


Cálculo de las constantes fundamentales del Universo

Todas las teorías existentes tienen unas determinadas variables que sólo se pueden calcular en el laboratorio. Ejemplos son la velocidad de la luz en el vacío, la masa de los electrones o la constante de Planck. Las teorías realmente no son muy útiles si no les añadimos esa información extra que nos permite comenzar a calcular cosas. La cuestión es ¿por qué son cómo son? 

Hasta el momento no hay ningún método de calcular estas constantes, pero cada vez van siendo menos. A medida que surgen nuevas teorías se establecen relaciones entre unas constantes y otras, ahorrando así el tener que calcularlas todas. Sin embargo desde un punto de vista puramente fundamental la pregunta sigue abierta. Lo deseable sería poder tener una teoría que nos diera todos esos valores sin necesidad de calcularlos experimentalmente, pero hasta el momento no hay mucho. 


La masa y energía oscura

Por último un problema cosmológico. Si queremos calcular la masa que hay en las galaxias tenemos dos maneras diferentes. La primera es simplemente mirar con los telescopios, calcular el brillo de lo que vemos y a partir de ahí calcular la masa. La segunda manera es un poco más complicada, según las leyes de Newton o la Relatividad, podemos calcular la masa a partir del movimiento de las estrellas de la galaxia. Con esto podemos hacer un gráfico de la velocidad de las estrellas a medida que te alejas del centro de la galaxia y comparar. El resultado, pues que no coincide, de ahí el problema 


Fuente: Wikipedia

¿Cuál es la solución propuesta a este problema? La principal es la existencia de una materia que no podemos ver porque no interacciona con la luz, a esta hipotética materia se la denomina Materia Oscura. Hay muchos intentos actualmente para detectar esta materia oscura, pero hasta ahora no hay ningún resultado definitivo. También hay otras teorías alternativas, de las cuales la más famosa es la Teoría MOND, sin embargo la más aceptada es la materia oscura. 

Por otro lado gracias a las observaciones del telescopio Hubble se llegó a un resultado impresionante. Como ya era sabido entonces el universo se expande, como descubrió el mismo Hubble, y era de esperar que la gravedad iría frenando esa expansión lentamente, sin embargo el telescopio espacial dio un resultado sorprendente, el universo se acelera. La solución propuesta actualmente es similar a la de la materia oscura, la existencia de una energía oscura que introducida en las ecuaciones de Einstein de la gravedad dan lugar a esta reaceleración. 

Una pregunta lógica sería ¿y no podría ser un simple error de cálculo? Obviamente cuando se analizan las cantidades de materia y la aceleración del universo hay un margen de error, sin embargo los resultados son concluyentes: la mayoría del universo debe estar compuesto por materia y energía oscura. 


Fuente: Wikipedia

La cuestión seguirá abierta hasta que se detecte de alguna manera esta materia y energía oscura, o hasta que alguien invente una nueva teoría que no las necesite. Por el momento no está zanjada la cuestión.


Así que esto es todo, estas son en mi opinión las preguntas más interesantes de la física actual. Ahora resolverlas no es tan fácil como escribir sobre ellas, me temo. Si os animáis ahí están para todos.