23 mar. 2007

Un avance en múltiples campos Cientificos




El grupo E8 ha sido resuelto, mapeado, y disfrutamos de un nuevo avance matematico.
El grupo E8 es parte de los "Grupos de Simetria de Lie", creados por Sophus Lie, matematico Noruego, creador de la Teoria de Grupos. Fue un gran exponente de las geometrias No-Euclideanas. Estos grupos de simetria describen complejas relaciones entre objetos geometricos y ecuaciones diferenciales en derivadas parciales.
Un grupo de simetria es un conjunto de estados del objeto geometrico en los cuales el objeto no cambia su apariencia. Por ejemplo, una esfera. Pensemos en una esfera, perfectamente esferica, de color rojo. Si comenzamos a aplicarle pequeños giros, sin importar la dirección, la apariencia de la esfera no cambiara. Esto es un grupo de simetria. La esfera contiene un grupo de simetrias continuo, lo que quiere decir que ante cualquier cantidad de giros en cualquier dirección que le imprimamos, seguirá teniendo la misma apariencia.
No asi un hexagono, o un cubo, por ejemplo. Si comenzamos a rotar un cubo, basta con que apliquemos un pequeño giro, y ya cambia la apariencia del cubo.

Para no extenderme mas, estos grupos de simetria fueron estudiados por Sophus Lie, del cual llevan su apellido. La esfera tendria un grupo de simetria de 3 dimensiones. Se conoce tambien la 'hiper-esfera' que es de dimension 4. Y finalmente tenemos el E8, que es de 248 dimensiones.

El dibujo que aparece al principio del articulo, es la representacion bidimensional del mapa de E8, del mapa de simetrias. Es un avance importantisimo en matematicas, pero tambien llega a otras áreas. En particular, la Ciencia de la Computacion intervino activamente en esto, porque debido al tamaño del mapa de E8, fue necesario construir un algoritmo nuevo, para introducirlo en el Sistema de calculo matematico Sage de la Universidad de Washington

Gracias a esto también heredamos un algoritmo capaz de resolver un sistema de ecuaciones de 205.260 millones de lineas en tan solo 77 horas.



Consideremos tambien que el resultado de estas ecuaciones requirio 60 gigabytes de memoria fisica para su almacenamiento (podriamos guardar 45 dias de musica continua en formato MP3 en el mismo espacio), y es un poco más que el espacio ocupado por el genoma humano.

Además, en unos treinta años (o quizás menos) podremos ser capaces de usar la teoria de 'supercuerdas' para describir todos los movimientos del universo (del nuestro, claro), y no usar relatividad para cosas grandes y cuántica para cosas chicas. Esto debido a que la Teoria de Grupos (y su actual avance) permitirá seguir avanzando en la búsqueda del Teorema Fundamental, aquel que logre unificar todas las ecuaciones que describen fuerzas de la naturaleza.

Esto tiene sus obvios beneficios... pero lamentablemente esos beneficios no le llegan a todo el mundo. De echo, este trabajo terminado (mapear el E8) que a mi me hace botar de alegria, no parece importarle a nadie mas.

Yo lo encuentro importante, tiene multiples aplicaciones en todos los campos: fisica, matematica, electronica, quimica, biologia, astronomia.

Echándo a volar la imaginación, podria decirles que este descubrimiento implica (no por si mismo, sino indirectamente) el posible avance hacia la tecnologia que permita los 'saltos' a través del Hiperespacio (o alguna otra región interna) para lograr cubrir distancias mayores al tamaño del sistema solar, en un tiempo razonable para un humano (idea que ya ha aparecido en muchos fisicos teóricos).

Además, el algoritmo necesario para calcular esta monstruosidad (figurense ustedes que si escribimos la solucion a E8 en una letra pequeña, digamos tamaño 10, podriamos cubrir toda la isla de Manhattan, es decir, unos 50 km cuadrados), es un trabajo enorme, de una complejidad asombrosa (ya mire el Algoritmo del programa y es colosal, si necesitan algo asi, pueden obtenerlo aca).

Para los no-entendidos de la ciencia de la computación, un Algoritmo es como una receta de cocina (Quizá debería haber partido por aca). Contiene instrucciones acerca de los pasos a seguir para llevar adelante una tarea o resolver un problema. Instrucciones detalladas paso a paso, con un número de pasos finito y bien definido.
Claro, existen los algoritmos simples: Considere un algoritmo para calcular el area (superficie) de un rectangulo:
1. Leer el ancho en a.
2. Leer el alto en b.
3. multiplicar a * b, guardarlo en c.
4. Mostrar c.

Instrucciones detalladas, finitas y definidas. Claro que existen los algoritmos complejos. Considere un algoritmo para calcular la traspuesta de una frase:
1. Definir palabra_nueva como vacia.
2. Leer palabra.
3. Definir conteo = longitud de palabra.
4. Obtener el residuo entre conteo y 60 y dejarlo en residuo.
5. Sumar (60 - residuo) a conteo.
6. Agregar "#" a palabra, residuo veces.
7. Definir largo = 10.
8. Definir j = 1.
9. Definir k = 2.
9a. Definir i = 1.
10. Haga lo siguiente hasta que i sea mayor que conteo:

    1. Agregar a palabra_nueva la letra de palabra ubicada en j.
    2. Sumar largo a j.

    3. Si j es mayor que conteo
Definir j = k.
Sumar 1 a k.
    5. Sumar 1 a i.
11. Mostrar palabra_nueva.

Despues de terminado este algoritmo, al implementarlo en algun lenguaje, obtenemos la trasposición por cada 10 letras de cualquier frase.Como ejemplo, tomemos la siguiente frase:
"Ayer nadie me invito a almorzar asi que comi solo manzana"

Pensando que nuestra frase tiene 57 letras, definimos la longitud de transposición como 60 (como en el ejemplo, aunque sería fácil implementar la detección de la mejor longitud de transposición).
Ahora, que es exactamente transposicion: no es más que variar el orden en que esta enunciada una cierta informacion con algun metodo especifico, en nuestro caso: intercambiar filas y columnas. En nuestro caso, la frase traspuesta quedaria como:

A rcm
yma oa
ee amn
r asiz
ili a
nnm sn
avoqoa
dirul#
itzeo#
eoa #

Para leerla, habria que leer hacia abajo por columna. Cada 10 letras salta hacia arriba de nuevo (como lo indica el parametro largo). Si colocamos cada linea al lado de la siguiente, obtenemos lo siguiente:A rcm-yma oa-ee amn-r asiz- ili a-nnm sn-avoqoa-dirul#-itzeo#-eoa #
Puse guiones para separar las lineas, solo como indicador de hasta donde llega cada linea. Esta operación se conoce como cifrado por transposición y tiene diversas variantes.


Entretenido el arte de programar. Por lo menos a mi me encanta, y enseñarlo me encanta mas todavia. En general, en los institutos se hace poco incapie en la potencia de desarrollar una buena tecnica de algoritmos. Esto potenciaria mucho a los profesionales que crean programas. Haria que en general los sistemas informaticos fueran mas estables y resistentes a fallos.

Bueno, aqui tambien toque (por un filamento lateral) algo acerca de mi presentacion.

Saludos.
Rodri