sábado, 5 de julio de 2014

Inteligencia artificial basada en la entropía

Dibujo20140628 schematic depiction causal entropic force - prl

El aumento de la entropía permite simular el comportamiento inteligente de un agente móvil. Controlado por una fuerza proporcional al número de sus posibles estados futuros presenta un comportamiento rico y creativo que parece guiado por la inteligencia. Alexander Wissner-Gross y Cameron E. Freer en abril de 2013 presentaron una fórmula para calcular esta fuerza estimando la entropía a futuro mediante simulación por el método de Montecarlo.
El artículo técnico original es A. D. Wissner-Gross, C. E. Freer, “Causal Entropic Forces,” Phys. Rev. Lett. 110: 168702, 19 Apr 2013 [PDF gratis]; recomiendo leer a Don Monroe, “Focus: Model Suggests Link between Intelligence and Entropy,” Physics 6: 46, 19 Apr 2013. Hasta donde me consta, Sergio todavía no ha publicado ningún artículo con sus sorprendentes resultados, pero puedes leer su blog (en inglés) Entropic Intelligence. También recomiendo leer (en inglés) a David Ruescas, “Causal entropy maximization and intelligence,” DR, 22 Apr 2013.
“La entropía mide la cantidad de ‘microestados’ posibles para un ‘macroestado’ del sistema. Se puede calcular de muchas formas. 
Por ejemplo, S=k log(N), donde N es el número de microestados (todos igualmente probables); o S = Suma (Pi log(Pi)), siendo Pi la probabilidad del microestado i-ésimo; o S = Suma (mi vi), donde mi y vi son la masa y velocidad de cada partícula, es decir, el momento lineal de partícula; u otras. Todas son equivalentes entre sí y se elige la más fácil de calcular en cada caso.”
“La segunda ley de la termodinámica nos dice que los sistemas evolucionan de forma que su entropía clásica o ‘instantánea’ crezca lo máximo posible.
 El concepto de ‘entropía a futuro’ permite calcular teóricamente la fuerza que hay que aplicar a los grados de libertad de los microestados del sistema para maximizar dicha ‘entropía a futuro’. En cada momento el agente móvil decide hacer lo que le permite alcanzar un mayor número de futuros posibles.
 El agente se comporta de forma ‘inteligente’, signifique esto lo que signifique en cada caso, y sin que sea necesario darle ningún objetivo a priori.”
“La entropía a futuro corresponde a la entropía en el espacio de fases del conjunto de todos los posibles futuros alcanzables (microestados) desde un estado inicial (macroestado). Se utiliza una ventana temporal de t segundos hacia el futuro.” 
 “Suma(energía irradiada durante el futuro i), Suma(Potencial adquirido durante el futuro i), Suma(Información contenida en el futuro i), Suma(Integral de camino del momento lineal i), etc.”
Dibujo20140628 kart simulation - circuit - sergio hernandez cerezo
Sergio ha aplicado la idea a karts simulados en un circuito curvo con obstáculos. “Su simulación del kart es bastante simple: avanza a velocidad constante con un grado de libertad (la dirección) sobre una pista de pruebas en blanco (dentro de la pista) y negro (fuera de la pista).
 El kart toma dos decisiones rotar el volante 5 grados a la izquierda (+5), puntos azules, o a la derecha (-5), puntos rojos. Se cuenta el número de futuros posibles utilizando una malla o grid para calcular el área azul o roja. Si hay 40 futuros posibles a la izquierda y 30 futuros posibles a la derecha, entonces se rota el volante (+5) 40/70 + (-5) 30/70 = grados.
 Con este sencillo algoritmo el kart se mueve solo con una inteligencia que se podría llamar de sentido común. El kart se mueve hacia donde tiene más opciones de futuro; si en cierta dirección solo puede pasar por un lugar, prefiere cambiar de dirección hacia donde tenga muchas opciones.”
En lugar de puntuar todos los posibles futuros con la unidad, se puede introducir un peso o una puntuación que pondere más ciertos futuros respecto a los otros. Una métrica bastante efectiva es puntuar los futuros con la distancia recorrida al cuadrado, de tal forma que sea mejor recorrer una distancia larga en lugar de colisionar contra una pared. 
Ajustando estas métricas se logran diferentes ‘tipos’ de inteligencia. 
Hay karts cobardes, que prefieren moverse hacia donde no hay obstáculos, karts valientes, que derrapan y se ajustan a las curvas como Alonso, y muchos otros.
Sergio también ha considerado la posibilidad de que los agentes tengan energía y salud, ambos entre cero y la unidad. Los karts pierdan energía al moverse y la puedan ganar recogiendo objetos en el circuito. Y la salud cuando llega a cero hace que el kart muera. Nadie le explica a los agentes que recogiendo los objetos ganarán energía, pero ellos mismos lo descubren. En cierto sentido la energía y la salud son heurísticos. 
Como resultado se observan comportamientos muy curiosos.
 Por ejemplo, los pesos siempre tienen que ser positivos porque los valores negativos llevan a que los agentes se ‘suiciden’ (su salud se reduce a cero).
También ha considerado la posibilidad de que varios agentes colaboren entre sí (los futuros posibles se comparten entre todos los agentes de un grupo, luego se maximiza el futuro del grupo y no del individuo en particular). 
Una colaboración tan sencilla conduce a resultados espectaculares.
francis.naukas