N07.- FlockingWithEntropy

INFORMACIÓN

WHAT IS IT?
Este modelo es un intento de imitar la bandada de pájaros. (El movimiento resultante también se asemeja a los bancos de peces). Las bandadas que aparecen en este modelo no son creadas ni dirigidas de ninguna manera por aves líderes especiales. Más bien, cada ave sigue exactamente el mismo conjunto de reglas, de las cuales emergen las bandadas.

HOW IT WORKS
Las aves siguen tres reglas: «alineación«, «separación» y «cohesión«.
Alineación” significa que un ave tiende a girar de modo que se mueve en la misma dirección en la que se mueven las aves cercanas.
Separación” significa que un pájaro se volverá para evitar a otro pájaro que se acerque demasiado.
Cohesión” significa que un ave se moverá hacia otras aves cercanas (a menos que otra ave esté demasiado cerca). Cuando dos aves están demasiado cerca, la regla de «separación» anula las otras dos, que se desactivan hasta que se logra la separación mínima. Las tres reglas afectan solo el rumbo del ave. Cada pájaro siempre avanza a la misma velocidad constante.

HOW TO USE IT
Primero, determine la cantidad de aves que desea en la simulación y establezca el control deslizante POPULATION en ese valor. Presione SETUP para crear las aves, y presione GO para que comiencen a volar. La configuración predeterminada de los controles deslizantes producirá un comportamiento de bandada razonablemente bueno. Sin embargo, puedes jugar con ellos para obtener variaciones:

NOTA SOBRE EL ÁNGULO DE GIRO: En esta versión los tres controles deslizantes de ÁNGULO DE GIRO que controlan el ángulo máximo que un pájaro puede girar como resultado de cada regla, se han sustituido, en el procedimiento «to setup», por estas definiciones

set max-align-turn 5.0
set max-cohere-turn 3.0
set max-separate-turn 1.5

VISIÓN es la distancia que cada pájaro puede ver 360 grados a su alrededor.

THINGS TO NOTICE
Un elemento central del modelo es la observación de que las bandadas se forman sin un líder. No se utilizan números aleatorios en este modelo, excepto para posicionar las aves inicialmente. El comportamiento fluido y realista de las aves se produce enteramente por reglas deterministas. Además, observe que cada bandada es dinámica. No se garantiza que una manada, una vez junta, se quede con todos sus miembros. ¿Por qué crees que es esto? Después de ejecutar el modelo durante un tiempo, todas las aves tienen aproximadamente el mismo rumbo. ¿Por qué? A veces, un pájaro se separa de su bandada. ¿Como sucedió esto? Es posible que deba reducir la velocidad del modelo o ejecutarlo paso a paso para observar este fenómeno.

THINGS TO TRY
Juegue con los controles deslizantes para ver si puede obtener bandadas más apretadas, bandadas más sueltas, menos bandadas, más bandadas, más o menos división y unión de bandadas, más o menos reorganización de aves dentro de bandadas, etc. Puede desactivar una regla por completo estableciendo el control deslizante de ángulo de esa regla en cero. ¿Es suficiente una regla por sí sola para producir al menos algo de bandada? ¿Qué hay de dos reglas? ¿Qué falta en el comportamiento resultante cuando omite cada regla? ¿Ejecutar el modelo durante mucho tiempo producirá una bandada estática? ¿O los pájaros nunca se asentarán en una formación inmutable? Recuerde, no se utilizan números aleatorios en este modelo.

EXTENDING THE MODEL
Actualmente, las aves pueden «ver» a su alrededor. ¿Qué pasa si los pájaros solo pueden ver frente a ellos? La primitiva in-cone se puede utilizar para esto.
¿Hay alguna forma de obtener bandadas en forma de V, como los gansos migratorios? ¿Qué sucede si colocas paredes alrededor de los límites del mundo donde los pájaros no pueden volar? ¿Puedes hacer que los pájaros vuelen alrededor de obstáculos en el medio del mundo? ¿Qué pasaría si les dieras a los pájaros diferentes velocidades? Por ejemplo, podría hacer que las aves que no están cerca de otras aves vuelen más rápido para alcanzar a la bandada. O
bien, puede simular la disminución de la resistencia del aire que experimentan las aves cuando vuelan juntas haciéndolas volar más rápido cuando están en grupo. ¿Hay otras formas interesantes de hacer que las aves sean diferentes entre sí? Podría haber una variación aleatoria en la población, o podría tener distintas “especies” de aves.

NETLOGO FEATURES
Observe la necesidad de la primitiva subtract-headings y el procedimiento especial para promediar grupos de encabezados. Simplemente restar los números, o promediar los números, no le da los resultados que espera, debido a la discontinuidad donde los encabezados regresan a 0 una vez que llegan a 360.

RELATED MODELS
Moths
Flocking Vee Formation

CREDITS AND REFERENCES
Este modelo está inspirado en la simulación de Boids inventada por Craig Reynolds. El algoritmo que usamos aquí es más o menos similar al algoritmo Boids original, pero no es el mismo. Los detalles exactos del algoritmo tienden a no importar mucho; siempre que tenga alineación, separación y cohesión, generalmente obtendrá un comportamiento de agrupación similar al producido por el modelo original de Reynolds. La información sobre Boids está disponible en http://www.red3d.com/cwr/boids/.

INTERFAZ