La Singularidad Desnuda

Un universo impredecible de pensamientos y cavilaciones sobre ciencia, tecnología y otros conundros

Posts Tagged ‘GECCO 2009’

Realidad Virtual y Vida Artificial: de la Biomecánica a la Inteligencia

Posted by Carlos en julio 14, 2009

Las charlas plenarias de las conferencias suelen navegar por la procelosa frontera que separa el tema central de la reunión con otros temas relacionados (y en ocasiones transcurren directamente al otro lado de la frontera). Suele ser una buena política, ya que en las zonas de confluencia las cosas se ponen divertidas, y de hecho este ha sido el caso de la primera de las charlas invitadas que hemos disfrutado. El orador era Demitri Terzopoulos, que estuvo involucrado en los comités de programa de estos saraos tiempo ha pero que nunca ha llegado a aplicar computación evolutiva a su área de trabajo. Era pues un gran desconocido a priori para el grueso de la audiencia -salvedad hecha de los que trabajan en visión por computador- a pesar de tener un currículo investigador talla XXL, y hay que decir que después de su charla los allí presentes recordaremos bien su nombre, pues fue una hora y media extremadamente interesante y entretenida.

El título de su charla fue “Artificial Life Simulation of Humans and Lower Animals: From Biomechanics to Intelligence”, y durante la misma intentó explicarnos algunas de las claves de la emergente fusión entre realidad virtual y vida artificial, cuyo objetivo final es la construcción de agentes biomiméticos autónomos. En sus diapositivas iniciales nos mostró lo que no es uno de dichos agentes, como por ejemplo los dinosaurios de Parque Jurásico, o los protagonistas de Toy Story por citar un par de ejemplos. Las cosas empezaron a calentarse un poco con los ejércitos de El Señor de los Anillos, que podríamos englobar dentro de la categoría de enjambres (animar manualmente cada uno de los miles de personajes en el ejercito es inasumible, por lo que cada uno de ellos está dotado de un sistema simple basado en reglas para determinar su comportamiento). En este punto fue donde nos presentó los diferentes niveles en los que hay que intervenir para construir un sistema biomimético autónomo, y que se organizan jerárquicamente como sigue:

Niveles para la simulación de un sistema biomimético. Credit: Demitri Terzopoulos

Niveles para la simulación de un sistema biomimético. Credit: Demitri Terzopoulos

La ilustración inicial de estas ideas corrió a cargo de una fauna submarina sintética que el propio Demitri desarrolló con sus colaboradores. El nivel más bajo de la jerarquía estaba definido en este caso por un armazón de cada uno de los peces, construido a partir de partículas unidas mediante una combinación de muelle y amortiguador. Algunos de los segmentos del pez hacen las veces de músculos, y en ellos la longitud natural del muelle puede modificarse a voluntad. El modelo resultante queda descrito por una colección de ecuaciones diferenciales que determinan la respuesta dinámica al movimiento del pez en el medio líquido. La locomoción del pez se optimizó mediante una técnica de búsqueda local (no entró en muchos detalles al respecto) para que resultara en el movimiento más fluido y energéticamente económico. En este punto, el movimiento de natación de peces y morenas resultante era extremadamente realista.

Para simular la percepción, los peces estaban dotados de sensores visuales que permitían cubrir un cierto ángulo en la dirección de orientación de la criatura. La información así obtenida era procesada según técnicas estándar de visión por computador, para proporcionar la entrada al siguiente nivel, el comportamiento. Éste es esencialmente reactivo, y está determinado por una red neuronal que determina la acción correspondiente a un determinado estímulo. Para la simulación de los animales marinos se incluyó un registro de memoria con capacidad unidad. Esto permite que el animal desarrolle un comportamiento básico -seguir un objeto, alimentarse, ..- que pueda ser interrumpido cuando por ejemplo se entre en modo huida al detectar un depredador, y luego reanudado cuando cese el peligro.

En el ejemplo del mundo submarino no había mucho lugar para el nivel más alto de la pirámide y que entronca plenamente con la inteligencia artificial. En el siguiente ejemplo que abordó -seres humanos sintéticos- sí que era más relevante, aunque no entró en él. Sí describió unos modelos muy interesantes relativos a la simulación de rostros humanos (quien haya visto Final Fantasy recordará el fotorrealismo de algunos de los personajes). Los niveles más bajos de la pirámide se abordan de la misma manera que en el caso de los peces, aunque más arriba se introduce un elemento más interesante: redes bayesianas para la determinación del comportamiento. Resultaba curioso ver cómo un rostro humano sintético era capaz de reaccionar a estímulos visuales, siguiendo la trayectoria de un objeto o mostrando enfado o satisfacción dependiendo de su patrón de movimiento.

La charla terminó con algunas ideas sobre lo que podemos esperar en el futuro. Alguien planteó si quizás en algunos años una versión virtual de Demitri podría dar esa misma charla ante una audiencia igualmente virtual. Él estuvo de acuerdo en que eso será factible, aunque no cree vivir para verlo (hay que decir que no es muy mayor, cuarenta y tantos según mi ojo de buen cubero). Yo soy sin embargo más optimista que él.

Anuncios

Posted in Aprendizaje Automático, Computación Evolutiva, Inteligencia Artificial, Vida Artificial | Etiquetado: , , , , | 6 Comments »

Evolución de Algoritmos Cuánticos

Posted by Carlos en julio 10, 2009

Una de sesiones más interesantes de lo que llevamos de conferencia ha sido la referida a evolución de algoritmos cuánticos. El ponente de la misma ha sido Lee Spector (uno de cuyos trabajos sobre inteligencia artificial comentamos aquí in ilo tempore), y durante aproximadamente 2 horas nos desgranó un tutorial sobre algoritmos cuánticos que desembocó en la interrelación de los mismos con la programación genética. Antes de llegar a este último punto, comenzamos recordando uno de los experimentos más clásicos (y no por ello menos sorprendente) de la mecánica cuántica, esto es, el interferómetro de Mach-Zehnder.

Interferómetro de MAch-Zender (credit: Danielmader)

Interferómetro de Mach-Zender (credit: Danielmader)

En este experimento se emplean dos espejos semi-reflectantes (abajo a la izquierda, y arriba a la derecha) que con una probabilidad del 50% dejan pasar un fotón incidente o lo reflejan en dirección perpendicular. La intuición clásica indica que dado que hay dos bifurcaciones, cada una de las cuales es equiprobable, un fotón tendría un 50% de probabilidades de llegar al segundo espejo semi-reflectante por el camino superior y un 50% de hacerlo por el camino inferior. Una vez en el mismo, tendría un 50% de probabilidades de ser reflejado y un 50% de atravesarlo. Sumando el 25% de probabilidad de que el fotón llegue por el camino superior y se refleje y el 25% de que llegue por el camino inferior y atraviese el espejo, llegamos a que un 50% de los fotones llegarían al detector 2. Sin embargo, esta intuición no es correcta ya que la realidad indica que el 100% de los fotones llegan al detector 1. Esto es debido a que al ser reflejado un fotón se produce un cambio de fase de media longitud de onda en el mismo. De resultas del mismo se produce una interferencia destructiva al superponer los estados que desembocan en el detector 2, por lo que ningún fotón puede llegar al mismo. La única posibilidad factible son los caminos que llevan al detector 1.

Este experimento admite una vuelta de tuerca muy interesante: imaginemos que tenemos bombas cuya espoleta se activa en el momento que detectan un fotón. Dada una de estas bombas, podemos saber si funciona correctamente (o por el contrario es defectuosa) simplemente exponiéndola a la luz, aunque obviamente esto conduciría a la pérdida de todas las bombas plenamente funcionales. Un procedimiento más astuto hace uso del montaje anterior, y da lugar a lo que se conoce como comprobador de bombas de Elitzur-Vaidman. Básicamente, sustituimos el reflector inferior derecho por la bomba. Ahora, si la bomba es defectuosa se comportará como un espejo y el sistema será equivalente al anterior, es decir, todos los fotones llegarán al detector 1. Sin embargo, si la bomba funciona correctamente el fotón no puede seguir en estado superpuesto camino superior/camino inferior, ya que la explosión de la bomba supone un proceso de medida, y la función de onda debe colapsar a uno de los dos estados. Por lo tanto, puede pasar que la bomba explote (si el estado al que el fotón colapsa es el camino inferior), o que no lo haga (si el estado es el camino superior). En este segundo caso, al llegar al segundo espejo semi-reflectante no se produce interferencia destructiva, y hay un 50%-50% de posibilidades de que llegue a un detector o al otro. Si llega al detector 2 estamos seguros de que la bomba es buena. En otro caso hay que repetir el experimento hasta que eventualmente la bomba explote, el fotón llegue al detector 2, o tengamos una certeza razonable de que la probabilidad de que la bomba sea defectuosa es despreciable.

Dándole otra vuelta más de tuerca al sistema, podemos sustituir la bomba por un computador que ejecutará un algoritmo y producirá o no un fotón de salida. Nuevamente, inspeccionando los detectores podemos determinar cuál sería la salida del algoritmo, sin necesariamente ejecutarlo. Este montaje fue propuesto por Onus Hosten et al. en un artículo titulado

publicado en Nature (véase también este comunicado de prensa). Toda esta discusión constituyó un punto de entrada para ilustrar el concepto de superposición de estados y -tras una breve disgresión sobre la mente humana, la consciencia y su computabilidad- entrar en la noción de qubits y puertas lógicas cuánticas.Estas últimas las vimos a través de su notación matricial. Por ejemplo, si tenemos un qubit con valor \alpha|0\rangle + \beta|1\rangle, la siguiente matriz representa un NOT:

\left(\begin{array}{cc} 0 & 1 \\ 1 & 0 \end{array} \right)

ya que al multiplicarla por el vector columna (\alpha,\beta) obtenemos el vector columna (\beta,\alpha) (puede verse por ejemplo que en el caso clásico en el que \alpha=1, \beta=0 o viceversa se obtiene el resultado complementario). Más interesante es la puerta lógica SNR (square root of NOT):

1/\sqrt{2}\left(\begin{array}{cc} 1 & -1 \\ 1 & 1 \end{array} \right)

Al aplicarla una vez a un qubit que es 1 ó 0 se obtiene una suerte de aleatorización, ya que se pasa a un estado de superposición equiprobable entre ambos valores. Al aplicarla por segunda vez, se obtiene sin embargo el complemento:

\left(\begin{array}{c} 1 \\ 0 \end{array} \right) \Rightarrow \left(\begin{array}{c} 1/\sqrt{2} \\ 1/\sqrt{2} \end{array} \right) \Rightarrow \left(\begin{array}{c} 0 \\ 1 \end{array} \right).

Una de las posibilidades para la aplicación de técnicas de programación genética es tratar de buscar puertas cuánticas ad hoc, mediante la evolución de las matriz que la define. Yendo más allá, se puede pensar en programación genética para combinar puertas lógicas preexistentes y obtener un circuito que desarrolla un cierto propósito buscado. Un ejemplo de esto nos lo dio con un trabajo (que hay que decir ya tiene unos años) en el que se consiguió una solución nueva y eficiente a un problema simple (pero por algo hay que empezar). El trabajo en cuestión es

del propio Lee Spector et al., y que apareció en las actas del CEC 1999. Otras líneas de desarrollo apuntan a la construcción de algoritmos híbridos que combinan elementos clásicos con elementos cuánticos. Un área apasionante sin duda.

Posted in Física, Computación Evolutiva | Etiquetado: , , | Comentarios desactivados en Evolución de Algoritmos Cuánticos

Montreal, nous sommes ici!

Posted by Carlos en julio 8, 2009

Este año la “Gran Cosa Científica” (Prof. Frink dixit) del área de la computación ev olutiva tiene lugar en Montreal (Quebec, Canadá), y para allá que hemos liado el petate y agarrado un avión.

Rue Saint Antoine

El verano por estos lares es como los programas culturales en televisión: todo el mundo ha oído hablar de ellos, pero pocos los disfrutan. Unos suaves 15C y una menos suave lluvia nos ha recibido a nuestra llegada. La sede del congreso está en un lugar céntrico, y desde el que se puede dar una pequeño e interesante paseo.

Notre Dame of Montreal

En cuanto el ritmo de sesiones lo permita, intentaremos seguir explorando le Vieux-Montreal. Stay tuned…

Posted in Viajar, Lugares, Computación Evolutiva | Etiquetado: , , , | 5 Comments »