Chicos

Programa de vida artificial

Un ejemplo de Boids creado en OpenGL

Boids es un programa de vida artificial , desarrollado por Craig Reynolds en 1986, que simula el comportamiento de las bandadas de pájaros y el movimiento grupal relacionado. Su artículo sobre este tema fue publicado en 1987 en las actas de la conferencia ACM SIGGRAPH . [1] El nombre "boid" corresponde a una versión abreviada de "objeto bird-oid", que se refiere a un objeto similar a un pájaro. [2] El modelo boid de Reynolds es un ejemplo de un concepto general más amplio, para el cual se han desarrollado muchas otras variaciones desde entonces. El trabajo estrechamente relacionado de Ichiro Aoki es digno de mención porque se publicó en 1982, cinco años antes del artículo de Reynolds sobre boids. [3]

Reglas aplicadas en Boids simples

Detalles del modelo

Como ocurre con la mayoría de las simulaciones de vida artificial, Boids es un ejemplo de comportamiento emergente ; es decir, la complejidad de Boids surge de la interacción de agentes individuales (los Boids, en este caso) que se adhieren a un conjunto de reglas simples. Las reglas que se aplican en el mundo más simple de Boids son las siguientes:

  • Separación : dirigir para evitar el hacinamiento de los compañeros de bandada locales.
  • Alineación : orientarse hacia el rumbo promedio de los compañeros de bandada locales.
  • Cohesión : orientar para moverse hacia la posición promedio (centro de masa) de los compañeros de bandada locales.

Se pueden agregar reglas más complejas, como evitar obstáculos y buscar objetivos.

El modelo básico se ha ampliado de varias maneras diferentes desde que Reynolds lo propuso. Por ejemplo, Delgado-Mata et al. [4] ampliaron el modelo básico para incorporar los efectos del miedo. Se utilizó el olfato para transmitir emociones entre animales, a través de feromonas modeladas como partículas en un gas de libre expansión. Hartman y Benes [5] introdujeron una fuerza complementaria a la alineación que denominan cambio de liderazgo. Este novillo define la probabilidad de que el animal se convierta en líder e intente escapar.

El movimiento de los boids puede caracterizarse como caótico (división de los grupos y comportamiento salvaje) u ordenado. Los comportamientos inesperados, como la división de las bandadas y la reunificación tras evitar obstáculos, pueden considerarse emergentes.

El marco boids se utiliza a menudo en gráficos de ordenador, proporcionando representaciones de aspecto realista de bandadas de pájaros y otras criaturas, como bancos de peces o manadas de animales. Por ejemplo, se utilizó en el videojuego Half-Life de 1998 para las criaturas voladoras parecidas a pájaros que se ven al final del juego en Xen , llamadas "boid" en los archivos del juego.

El modelo Boids se puede utilizar para el control directo y la estabilización de equipos de vehículos terrestres no tripulados (UGV) simples [6] o microvehículos aéreos (MAV) [7] en robótica de enjambre . Para la estabilización de equipos heterogéneos de UAV-UGV, el modelo fue adaptado para utilizar la localización relativa a bordo por Saska et al. [8].

En el momento de la propuesta, el enfoque de Reynolds representó un gran paso adelante en comparación con las técnicas tradicionales utilizadas en la animación por computadora para películas. La primera animación creada con el modelo fue la de Stanley y Stella en Breaking the Ice (1987), seguida por un debut cinematográfico en la película de Tim Burton Batman Returns (1992) con enjambres de murciélagos generados por computadora y ejércitos de pingüinos marchando por las calles de Ciudad Gótica. [9]

El modelo boids se ha utilizado para otras aplicaciones interesantes. Se ha aplicado para programar automáticamente estaciones de radio multicanal de Internet. [10] También se ha utilizado para visualizar información [11] y para tareas de optimización. [12]

El biólogo Richard Dawkins hace referencia al modelo Boids en su libro de 2009 El mayor espectáculo del mundo: la evidencia de la evolución . [13]

Véase también

Referencias

  1. ^ Reynolds, Craig (1987). "Rebaños, manadas y escuelas: un modelo de comportamiento distribuido". Actas de la 14.ª conferencia anual sobre gráficos por ordenador y técnicas interactivas . Association for Computing Machinery . págs. 25–34. CiteSeerX  10.1.1.103.7187 . doi :10.1145/37401.37406. ISBN. 978-0-89791-227-3.S2CID 546350  .
  2. ^ Banks, Alec; Vincent, Jonathan; Anyakoha, Chukwudi (julio de 2007). "Una revisión de la optimización de enjambre de partículas. Parte I: antecedentes y desarrollo". Natural Computing . 6 (4): 467–484. CiteSeerX 10.1.1.605.5879 . doi :10.1007/s11047-007-9049-5. S2CID  2344624. 
  3. ^ Aoki, Ichiro (25 de agosto de 1982). "Un estudio de simulación sobre el mecanismo de formación de cardúmenes en peces". Nippon Suisan Gakkaishi (Revista académica japonesa sobre pesca) . 48 (8): 1081–1088. doi : 10.2331/suisan.48.1081 . Consultado el 26 de noviembre de 2023 .
  4. ^ Delgado-Mata, Carlos; Martínez, Jesús Ibáñez; Bee, Simón; Ruiz-Rodarte, Rocio; Aylett, Ruth (2007). "Sobre el uso de animales virtuales con miedo artificial en entornos virtuales". Computación de nueva generación . 25 (2): 145–169. doi :10.1007/s00354-007-0009-5. S2CID  26078361.
  5. ^ Hartman, Christopher; Beneš, Bedřich (julio de 2006). "Boids autónomos". Animación por ordenador y mundos virtuales . 17 (3–4): 199–206. doi :10.1002/cav.123. S2CID  15720643.
  6. ^ Min, Hongkyu; Wang, Zhidong (2011). Diseño y análisis del comportamiento de escape grupal para robots móviles autónomos distribuidos . IEEE International Conference on Robotics and Automation (ICRA). doi :10.1109/ICRA.2011.5980123.
  7. ^ Saska, Martin; Jan, Vakula; Libor, Preucil (2014). Enjambres de microvehículos aéreos estabilizados bajo una localización relativa visual . IEEE International Conference on Robotics and Automation (ICRA). doi :10.1109/ICRA.2014.6907374.
  8. ^ Saska, Martin; Vojtech, Vonasek; Tomas, Krajnik; Libor, Preucil (2012). Coordinación y navegación de equipos heterogéneos de vehículos aéreos no tripulados y vehículos terrestres no tripulados localizados mediante un enfoque de ojo de halcón (PDF) . IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Archivado desde el original (PDF) el 10 de agosto de 2017. Consultado el 11 de agosto de 2019 .
  9. ^ Lebar Bajec, Iztok; Heppner, Frank H. (2009). "Vuelo organizado en aves" (PDF) . Animal Behaviour . 78 (4): 777–789. doi :10.1016/j.anbehav.2009.07.007. S2CID  53180059.
  10. ^ Ibáñez, Jesús; Gómez-Skarmeta, Antonio F.; Blat, Josep (2003). "DJ-boids: comportamiento colectivo emergente como programación de estaciones de radio multicanal". Actas de la 8ª conferencia internacional sobre interfaces de usuario inteligentes . págs. 248–250. doi :10.1145/604045.604089.
  11. ^ Moere, AV (2004). "Visualización de datos que varían en el tiempo utilizando boids de flocado de información". Actas del Simposio IEEE sobre visualización de información . págs. 97–104. CiteSeerX 10.1.1.208.7409 . doi :10.1109/INFVIS.2004.65. 
  12. ^ Cui, Zhihua; Shi, Zhongzhi (2009). "Optimización de enjambre de partículas Boid". Revista internacional de informática y aplicaciones innovadoras . 2 (2): 77–85. doi :10.1504/IJICA.2009.031778.
  13. ^ Dawkins, Richard (2009). El mayor espectáculo del mundo: la evidencia de la evolución . Free Press . Págs. 219-220. ISBN. 978-1-61664-829-9.
  • La página de Boids de Craig Reynolds
  • “Boids Demo Reel” Primeras pruebas de movimiento, 1986 a 1987.
  • “Stanley y Stella en: Rompiendo el hielo”, 1987. En Internet Archive (remasterizado en 2023, máxima calidad. También disponible en YouTube).
  • Explicación del algoritmo en pseudocódigo
  • Implementación de JavaScript
  • Implementación de JavaScript con Phaser Framework
  • Simulación de Boids en 3D con OpenGL, utilizada por la Unidad de Historia Natural de la BBC
  • Simulación 3D en vivo en el navegador del comportamiento de bandadas de aves en Unity3D: implementación de código abierto para Windows, Linux y Mac
  • Implementación de código abierto UNIX+Windows en C++, utilizando OpenGL y controles de simulación
  • Una implementación de Java que utiliza la API de Javafx
  • GLSchool - parte del software XScreenSaver
Obtenido de "https://es.wikipedia.org/w/index.php?title=Boids&oldid=1195077625"