Por @Alvy — 20 de Septiembre de 2017

Esta pequeña demostración permite ver cómo un algoritmo evolutivo en una red neuronal artificial permite a unos sencillos coches «aprender» a circular en un circuito de carreras.

La evolución se produce a lo largo de varias generaciones, pero no son necesarias muchas en este ejemplo (15, como puede verse en el vídeo). En cada generación arrancan 20 coches que tienen cinco «sensores» frontales para medir la distancia a los obstáculos. Además de eso tienen un valor numérico que indica el giro de volante y la aceleración del motor.

Si algún coche toca los bordes del circuito, ¡crash! Eliminado.

Para la siguiente generación se hibridan los dos mejores resultados (los que hayan obtenido una mayor distancia recorrida) y con eso se generan 20 nuevos coches. Y al tostadero de nuevo. Generación a generación los más aptos para no chocharse y circular más rápido dentro de los límites del circuito van progresando y «engendrando nuevos cochechitos» para el futuro. Muy darwiniano todo.

La simulación está programada en Unity y se puede descargar aquí para estudiar el código: Applying_EANNs.

Relacionado:

Compartir en Flipboard  Compartir en Facebook  Tuitear
Por @Alvy — 20 de Septiembre de 2017

HP 5451A

Esta curiosa fotografía procedente de un anuncio de Hewlett-Packard de 1972 tiene más de un detalle interesante, así que bien merece echarle un vistazo detallado.

El primero es obviamente la camiseta de Joseph Fourier, el matemático y físico francés que inventó las series y transformadas que llevan su nombre para aplicarlas en la resolución de problemas físicos. Esto es algo que todavía se usa ampliamente hoy en día, por ejemplo cada vez que se escucha un MP3 o se habla por teléfono. De hecho el HP-5451A del anuncio se utilizaba precisamente para el análisis digital del espectro de baja frecuencia [PDF].

El otro detalle son los flecos de la camiseta, que dicen «Lo inventó un francés». Lo cual no solo es una explicación de que el analizador lo inventó un francés, sino un ingenioso juego de palabras: según dice la tradición la minifalda que lleva puesta la modelo también «la inventó un francés».

¡Dos por uno!

(Vía @Mezvan + Reddit Pics.)

Compartir en Flipboard  Compartir en Facebook  Tuitear
Por @Wicho — 20 de Septiembre de 2017

ConectadoMe ha parecido muy interesante el artículo Your mind will never be uploaded to a computer del filófofo Jesús Zamora Bonilla en el que aborda la idea tan popular en la ciencia ficción y entre algunos iluminados de que en el futuro seremos capaces de vivir «eternamente» porque seremos capaces de hacer una copia de nuestra mente en un ordenador.

Según el artículo esta posibilidad se basa en tres premisas:

  1. Tu mente consiste en la información contenida en los patrones de conexiones neuronales de tu cerebro.
  2. Será posible copiar y almacenar esa información tan fielmente como sea necesario.
  3. Una copia computarizada de esa información permitirá "reproducir" tu mente.

Sobre la primera Jesús no tiene duda alguna. Para él si conseguimos hacer una copia perfecta de nuestro organismo es una obviedad que esta copia tendría los mismos sentimientos, pensamientos y memorias que nosotros. Aunque entonces podríamos hacer múltiples copias de nosotros… y eso es otra historia.

Pero tiene grandes dudas respecto a las otras dos.

La segunda, dice, tiene el enorme problema de que se estima que hay aproximadamente 1.000 millones de sinapsis en cada milímetro cúbico de corteza cerebral, algunas de ellas provenientes de neuronas situadas muy lejos en el cerebro. En total se estima que nuestro cerebro contiene de 100 a 5.000 billones de sinapsis. Y no tenemos ni la más remota idea ni de cómo plantearnos como escanear toda esa información.

Claro que la más complicada es la tercera, pues aún suponiendo que fuéramos capaces de hacerlo y de almacenar de alguna forma la información acerca de los patrones de conexiones neuronales contenidas en un cerebro, no tenemos ni idea del código que mueve nuestra mente. No tenemos, de hecho, claro ni de dónde sale nuestra mente. Sería, dice Jesús, como tener un CD de música pero no el software necesario para leerlo y convertirlo en música.

Y eso por no hablar de lo que pasaría si pudiéramos meter una mente humana en un ordenador. ¿Cómo se relacionaría con el MundoReal™? ¿Qué tipo de entradas y salidas necesitaría para no enloquecer? O tan siquiera para seguir siendo una mente humana. ¿Qué tipo de vida sería esa? ¿Sería tan siquiera una vida?

De la potencia que necesitaría un odenador para mover toda esta información hablamos otro día.

Así que no, no parece probable que nunca consigamos hacer una copia de seguridad de nosotros mismos en la nube.

***

Como comentaba antes directamente relacionado con una hipotética capacidad para grabar y reproducir nuestra mente cabe preguntarse qué nos impediría hacer unas cuantas copias de nosotros mismos. Quizás mientras nuestro cuerpo estuviera vivo no habría duda de cual es el original pero… ¿cual de las copias sería la buena una vez muerto el soporte biológico original? ¿Habría que diseñar una estrategia de mezcla de las distintas copias? ¿Seríamos capaces de vivir varias vidas a la vez? ¿Se nos podría seguir llamando humanos entonces?

Relacionado,

Compartir en Flipboard  Compartir en Facebook  Tuitear
Por @Alvy — 19 de Septiembre de 2017

STAR NASA

Buscando algo sobre los sistemas autorreparables de las sondas Voyager me encontré con From Sequencers to Computers de la NASA, que es el capítulo 5 del no menos interesante documento Computers in Spaceflight: The NASA Experience que hay en su web.

Según parece con la llegada de los años 70 la NASA estaba usando cada vez más las computadoras de la época y planeaba incorporarlas en las sondas espaciales y en todo tipo de misiones. Pero los circuitos integrados –que por cierto no había inventado la NASA– eran poco fiables todavía. De modo que se encargó a los laboratorios del JPL trabajar en lo que serían los ordenadores tolerantes a fallos. Para ello contaron la ayuda de Algirdas Avizienis, un informático de origen lituano e investigador de la UCLA que llevaba años trabajando en esas ideas.

La línea de investigación de Avizienis era la llamada redundancia selectiva del hardware. Hoy en día todo tipo de equipamientos utilizan sistemas completamente redundantes – desde los centros de proceso de datos a los aviones o la ya extinta Lanzadera Espacial. En primera instancia eran sistemas completos que podían funcionar de forma independiente, básicamente como enviar dos o tres ordenadores en vez de uno. Pero en aquella época había que recurrir a otro tipo de soluciones más económicas, especialmente por tamaño, peso y consumo de energía.

La línea en la que se trabajó (a la que llamaron STAR, de Self Testing And Repair) fue la del ordenador como una sola entidad pero con diversos componentes replicados. Los componentes que no se necesitan permanecen apagados mientras no se usan y de ese modo no consumen. Cuando uno falla, el siguiente se activa (y el primero se desactiva) de modo que el consumo sigue siendo el mismo.

Otra ventaja de esta idea es que si la «vida media» (o más bien el MTBF, tiempo promedio entre fallos) de un componente son digamos 1.000 horas, si el equipo tiene dos unidades de recambio su vida media se triplica – dado que el segundo y tercer componente no empiezan a «gastarse»– hasta que ha fallado el primero. Al menos en teoría y bajo suposiciones razonables.

Voyager, esquema / NASAEn una nave podría haber un STAR y muchos componentes replicados, según fueran las características de la misión. Si alguno fallaba bastaría repetir el segmento del programa en el que se detectó el fallo. Si esto sucedía de nuevo, se activaría una unidad de repuesto (apagándose la anterior) y se probaría el mismo código. Lo interesante es que la detección de fallos se hacía por hardware y el software podía corregir los errores. Era un sistema capaz de autorrepararse; de hecho podría en un momento dado autorreparar toda la nave, siempre que hubiera repuestos suficientes.

Los detalles técnicos y la arquitectura de este sistema parecen bastante interesantes, incluyendo situaciones en las que hay guardar los puntos de programa, reiniciar, hacer que los tres componentes replicados «voten» (mediante un procesador llamado TARP, Testing and Repair Processor) y tomar decisiones en caso de votos 2-contra-1 y similares. Uno de los trucos era reponer un componente fallido pasado un tiempo si el de repuesto también fallaba –con la esperanza de que el fallo hubiera sido temporal, por ejemplo un sobrecalentamiento. Eso era mejor que nada.

El software para hacer todo esto se empezó a desarrollar en un UNIVAC 1108 en 1967 (en ensamblador y sin coma flotante) y existió una versión básica antes de que el Apolo 11 llegara a la Luna.

Pero eso sí, siempre estaba presente en las partes débil del proceso: precisamente los circuitos que apagaban y encendían los «repuestos», el TARP y su sistema de chequeo y votación. Y la eterna cuestión: ¿Quién chequea a los chequeadores?, preguntaban los ingenieros.

Aunque la teoría era interesante y llegó a haber versiones más avanzadas todavía, el STAR nunca llegó a volar en ninguna nave o sonda espacial. Era demasiado grande (más de 20 kg) y necesitaba demasiada energía (más de los 40 vatios especificados) según los requerimientos de aquellas sondas espaciales, como las Voyager. También llegó una época de recortes en la NASA. Para la época de las Mariner y las Viking se probaron otras ideas – porque para entonces se consideraba que el STAR demasiado complejo.

Eso sí: aquel trabajo no fue en vano. El ensamblador, el enlazador y el cargador del software del STAR, obra de John Rohr, perduró con el paso del tiempo. Ese código todavía se usa actualmente –convenientemente adaptado a cada proyecto– pero sus conceptos fundamentales han permanecido. Así que podría decirse que ese software de los años 70 vuela hoy en día por todo el Sistema Solar.

Relacionado:

Compartir en Flipboard  Compartir en Facebook  Tuitear