Una gota de agua caer: existen multitud de videos en Internet que muestran en cámara lenta como se produce ese efecto, por ejemplo, http://www.youtube.com/watch?v=bZDHYL930Ak (Gotas de agua colisionando a cámara lenta). Si se quisiera simular perfectamente en computador esta gota de agua colisionando, nos enfrentaríamos a una tarea titánica, porque habría que simular el comportamiento de cada molécula de agua que compone la gota. Usando el número de Avogadro http://es.wikipedia.org/wiki/Número_de_Avogadro y suponiendo que una gota de agua pese 0,065 gramos, tendríamos 2.174*10^21 moléculas, un número gigantesco que haría inviable poder simularlo en un computador tipo PC, además ¿cada cuánto tiempo se simula? ¿por microsegundo o por nanosegundo? Y si llegase alguien bien purista diría que esa simulación está lejos de ser perfecta y que debe simularse no a nivel de molécula, ni siquiera de átomo sino de partícula subatómica. Y en el momento que escribo este artículo, todavía hay muchas interrogantes sobre el mundo de las partículas subatómicas. En conclusión: No se puede simular perfectamente la caída de una gota de agua.
¿Y entonces? Aunque no podemos simular perfectamente, si podemos simular aproximadamente, así que la gota se divide en un número de microgotas y cada microgota se comporta como un todo, luego es calcular las colisiones entre esas microgotas y sus desplazamientos para tener una simulación aceptable.
¿Qué sucedería si un mecanismo requiere de colisiones de gotas de agua? Que, si queremos este mecanismo simularlo en un PC, se corre el riesgo que no funcione como en la vida real porque el tamaño de las microgotas sería muy grande a lo requerido por el mecanismo.
Ese es un gran problema para la inteligencia artificial: Si las neuronas biológicas requieren una serie de elementos y comportamientos fisico-químicos complejos y numerosos, será imposible plasmarlos en una simulación computarizada o se requerirá una potencia de cálculo muy impresionante.
El problema con las simulaciones es que los algoritmos se aíslan del mundo real, corren en un espacio virtual libre de cualquier influencia del mundo exterior. Los algoritmos no son afectados por el calor, la gravedad, la termodinámica, nada. Están en su propio universo.
Al simular vida artificial, se consume muchísimo tiempo construyendo un ambiente (recursos, clima, leyes) para luego poner a vivir individuos allí y ver cómo evolucionan. No solamente el tiempo de construir el algoritmo sino también el tiempo que consume la ejecución de este ambiente. Sería fenomenal que hubiese, por ejemplo, un microprocesador que de alguna forma simulara en lo mejor posible un ambiente real (motor de física, química, electromagnetismo, etc.), entonces todo el esfuerzo se concentraría en los individuos como tal. Por esa razón entiendo a estudiantes de robótica que quieren ver sus robots desplazándose en el mundo real y no en una simulación dentro de un ambiente virtual.
¿Qué hacer entonces? Tratar de reducir los intrincados mecanismos ambientales o ver "hasta que tamaño pueden disminuir las microgotas" y todavía tener un ambiente en el que los individuos puedan evolucionar.