Cassini-Huygens

Tras viajar siete años a bordo de la nave Cassini, la sonda Huygens iniciaba durante esta madrugada un viaje solitario que la llevará a atravesar el 14 de enero la atmósfera de la luna más grande de Saturno: Titán. A la sonda Huygens le tomará 20 días llegar a destino luego de haberse separado de la nave.

Llegando a Saturno

El fin del proyecto conjunto de las agencias espaciales de EE.UU. (Nasa), Europa (ESA) e Italia (ASI) es recoger datos de un ambiente que, según los científicos, se asemejaría al existente en la Tierra en la época en la que aparecieron las primeras formas de vida. Titán es, de hecho, la única luna del Sistema Solar que tiene una atmósfera densa y rica en material orgánico. La misión cuesta 2705 millones de euros y durante su travesía ha recorrido 3200 millones de kilómetros.

La nave central fue colocada el 17 de diciembre en una trayectoria controlada de colisión con Titán, a unos 1250 millones de kilómetros de la Tierra, que le permitió liberar la sonda Huygens poniéndola en la ruta correcta. La separación se produjo a las 02:00 hs GMT. Unos minutos más tarde, Cassini giró hacia la Tierra para enviar la señal que confirmaba la separación.

En el momento de la separación, la nave nodriza debió girar sus antenas de espaldas a la Tierra, por lo que los científicos no dispusieron de datos en tiempo real sobre la operación. Una vez que pudo girar sus emisores con dirección a la Tierra, la señal tardó una hora y ocho minutos en recorrer los millones de kilómetros a los que se encuentra el vehículo espacial.

Como nota de color imagínense, si ustedes se ponen nerviosos cuando la computadora no responde a un click a los cinco o diez segundos, lo que debe sufrir esta gente que está controlando la nave a tanta distancia y tienen tanta demora para interactuar con la misma!

Comentarios Imprimir

Vida artificial

El otro día surgió una discusión en la lista de correo de PyAr sobre algoritmos genéticos y vida artificial. La charla estuvo interesante y me dejó pensando, leí algo de bibliografía y sinteticé lo siguiente.

Con el propósito de experimentar con formas de vida, tenemos dos alternativas para simular:

  • La realidad: Lograr en un experimento de simulación, mediante evolución, lo mismo que logró la naturaleza, de manera de poder predecir que hubiese pasado si las condiciones de contexto son distintas (y poder "deducir" qué tipo de vida habría en un planeta con diez grados de temperatura promedio menos, por ejemplo).

  • Una vida artificial: En este caso el propósito es predecir como se comportarían entes que luego se construirían con las mismas reglas que las simuladas. Basándonos en el tipo de vida artificial, tenemos dos opciones totalmente distintas:

    1. Software: Los entes serían solamente programas

    2. Hardware: Los entes serían elementos electromecánicos.

El punto que me interesaría explorar es una mezcla de la realidad con la vida artificial de elementos de hardware. De esta manera podríamos estudiar como evolucionarían nano-robots en un determinado ecosistema, tomando elementos de la vida real para lograr perfilar y mejorar el diseño físico y de comportamiento de estos entes.

A nivel de la simulación, me gustaría mucho lograr una simulación de un ecosistema que parta de una "sopa" de componentes básicos, que se vayan formando entes y que por simple evolución estos entes lleguen a ser algo útil. Esta sopa de componentes básicos no es sencillo de definir, e influye enormemente en el desarrollo del experimento (tanto cuales son, como sus características y las reglas a que someten al resto).

Tenemos dos tipos básicos de componentes, los de contexto y los formativos. Los formativos son partes del ente a crear, y están diseminados en la sopa para que por simple azar se formen los entes más variados. Para comenzar a formarse el ente y para ir tomando nuevos componentes, sólo hace falta una simple colisión y una probabilidad de incorporación (esta probabilidad tiene un componente de azar y un componente que es más chico cuanto más grande es el ente, para evitar que crezcan demasiado). Algunos componentes formativos pueden ser:

  • Sensores: Generan una señal cuyo valor es más alto cuanto más cerca tienen el elemento a sensar. La principal característica es que solamente sensan un elemento, el cual puede ser cualquiera de los componentes de la sopa (es muy útil incorporar un sensor de Comida, por ejemplo). Otra característica es la sensibilidad: un sensor burdo puede indicar un 1 cuando tiene una Comida a dos posiciones de distancia, y otro puede indicar con la misma señal una Comida a 10 posiciones. Los sensores pueden ser direccionales (que cubran 120 grados en una dirección, por ejemplo) u omnidireccionales.

  • Transmisores: Transmiten la señal recibida de los distintos sensores con los que tienen contacto físico. Los transmisores pueden tener distintos tamaños, los que les permiten agrupar más o menos sensores. El transmisor adquirirá sensores una vez que esté unido a un Procesador. El algoritmo con el cual procesa las señales de los distintos sensores es una característica del transmisor (puede ser que sume todo, que saque un promedio, que filtre todo excepto los de Comida, etc.)

  • Actuadores: Hay de dos tipos: Movimiento y Agresión. Los de movimiento permiten al ente desplazarse en la dirección requerida y no solamente flotar en la sopa; si el ente tiene más de un actuador de movimiento, la "intención de desplazamiento" se calculará como la suma vectorial del actuador que esté activo en ese momento (a esta intención luego se le suma vectorialmente el movimiento infligido por la sopa, y de allí se calculará el movimiento real, que es discreto y se cuenta en posiciones). Los actuadores de Agresión pueden ser activos o pasivos; los activos quitan energía a los otros entes (en función de que parte de los otros entes toquen), mientras que los pasivos protegen del exterior (pero a su vez evitan incorporar nuevos elementos).

  • Procesador: El procesador es el que controla al ente. Lo gobierna con un algoritmo que especifica las acciones que quiere realizar en función de sus capacidades y de la información que reciba (por ejemplo, si tiene muchos sensores que indican comida para un costado, puede indicarle a sus actuadores que intenten desplazarse para allí; o si tiene un muy bajo nivel de energía puede decidir no hacer nada que consuma la misma y flotar en estado de "hibernación" hasta que encuentre comida y pueda restaurar sus funciones básicas). Lo interesante de este procesador es que el algoritmo de control no debe ser programado por el usuario, sino que tiene que ser desarrollado por el mismo procesador, aunque no tiene una libertad total para ello: en función de que los elementos del universo son finitos (hay determinados tipos de sensores, etc), se puede preestablecer el programa que evalúa las entradas para decidir las salidas, pero como se combina cada cosa y en que grado lo irá decidiendo (o aprendiendo)el procesador.

Los componentes de contexto pueden ser los siguientes:

  • Comida: Si el ente se encuentra con ella, puede aprovecharla y aumentar su nivel de energía.

  • Peligros: Pueden haber elementos dañinos a los distintos componentes (por ejemplo: un anti-sensor).

Tenemos un componente global a todos que se llama Kronos: va marcando el reloj de la vida en el experimento, y como dios que es, maneja los elementos de la sopa. En otras palabras, es el programa que, por ejemplo, se fija cuales entes deben moverse, que pasa si dos se chocan, mueve los elementos de la sopa al azar, genera nuevos elementos para la sopa, se fija si un ente choca con un elemento y si debe incorporarlo o no, etc.

Un punto importante en las reglas de la sopa es la reproducción: cómo a partir de dos (¡o más!) entes generamos uno nuevo. Esto no lo tengo todavía razonado del todo, pero podría ser básicamente una generación de un nuevo ente (administrada por Kronos) a partir de elementos de los padres. Aquí tenemos que incluir los conceptos de herencia (el hijo debe parecerse a los padres), mutación (cambios al azar para que los hijos no sean una copia fiel de los padres) y cruces (el hijo debe parecerse a ambos padres). Se necesita también estudiar como la reproducción afecta a los padres (baja de energía, pérdida de partes, limitaciones en las decisiones de movilidad, etc) y un montón de otros detalles (por ejemplo, cómo los padres protegerán al crío hasta que crezca, es decir, hasta que incorpore los elementos necesarios para su propia supervivencia).

Quedan muchísimos otros puntos para ver, desde el refinamiento de las reglas que mencioné aquí hasta la inclusión de nuevos elementos (por ejemplo, Comunicadores para que los entes intercambien "ideas", o actuadores de Cópula para ajustar más el mecanismo de reproducción, o mejores reglas para definir la mutación y el intercambio del ser creado).

Comentarios Imprimir

Firefox sigue ganando terreno

Otra marca importante para Firefox: en menos de 32 días fueron bajado 10 millones de instaladores.

Firefox

Todavía no encontré un lugar confiable como para revisar periódicamente figuras de porción de mercado entre todos los navegadores, pero es obvio que Firefox va erosionando despacio pero constantemente la base de usuarios de Internet Explorer.

Esto se logró, más allá de la soberbia calidad y funcionalidad del producto, por campañas masivas de marketing a través de la ayuda gratuita de colaboradores y amigos de Firefox, que como yo, le taladran la cabeza con que usen Firefox al primero que se cruce, :). Estas campañas se centran y coordinan en SpreadFirefox.

Otro producto que por ahora no tiene tanta publicidad, pero que seguramente le llegará por haber llegado a su versión 1.0, es Thunderbird, un lector de correo/noticias de muy buena calidad, con características como: soporte IMAP/POP, correo HTML, etiquetas, búsqueda rápida, libreta de direcciones inteligente, acuses de recibo, filtrado avanzado de mensajes, completado de direcciones LDAP, herramientas de importación, potencia en búsquedas y, además, la capacidad de manejar múltiples cuentas de correo electrónico y noticias.

Comentarios Imprimir