Este artículo puede resultar demasiado técnico para la mayoría de los lectores . ( Octubre de 2016 ) |
Three-dimensional (3D) computer graphics |
---|
Fundamentals |
Primary uses |
Related topics |
La simulación de multitudes es el proceso de simular el movimiento (odinámica ) de un gran número de entidades o personajes.[1]Se utiliza comúnmente para crearescenas virtualespara medios visuales como películas yvideojuegos, y también se utiliza en entrenamiento de crisis,[2]arquitectura y planificación urbana,[3]y simulación de evacuación.[4]
La simulación de multitudes puede centrarse en aspectos que apuntan a diferentes aplicaciones. Para la representación realista y rápida de una multitud para medios visuales o cinematografía virtual , se utiliza la reducción de la complejidad de la escena 3D y la representación basada en imágenes [5] , mientras que las variaciones (cambios) en la apariencia ayudan a presentar una población realista. [6] [7]
En los juegos y aplicaciones que pretenden replicar el movimiento de multitudes humanas en la vida real , como en las simulaciones de evacuación, los agentes simulados pueden necesitar navegar hacia un objetivo, evitar colisiones y exhibir otro comportamiento similar al humano. Se han desarrollado muchos algoritmos de dirección de multitudes para guiar a multitudes simuladas hacia sus objetivos de manera realista. Se han investigado algunos sistemas más generales que pueden admitir diferentes tipos de agentes (como automóviles y peatones), [8] diferentes niveles de abstracción (como individuo y continuo), [9] agentes que interactúan con objetos inteligentes, [10] y dinámicas físicas y sociales más complejas . [11]
Siempre ha existido un profundo interés en comprender y controlar el movimiento y el comportamiento de multitudes de personas. Se han producido muchos avances importantes desde los inicios de la investigación en el campo de la simulación de multitudes. Evidentemente, a raíz de estos avances se han realizado y publicado continuamente nuevos hallazgos que mejoran la escalabilidad, la flexibilidad, la aplicabilidad y el realismo de las simulaciones:
En 1987, Craig Reynolds introdujo y desarrolló la animación conductual . [12] Había simulado bandadas de pájaros junto a bancos de peces con el fin de estudiar la intuición y el movimiento grupales. Todos los agentes dentro de estas simulaciones tenían acceso directo a las respectivas posiciones y velocidades de sus agentes circundantes. La teorización y el estudio establecidos por Reynolds fueron mejorados y desarrollados en 1994 por Xiaoyuan Tu , Demetri Terzopoulos y Radek Grzeszczuk. [13] La calidad realista de la simulación se abordó ya que los agentes individuales estaban equipados con visión sintética y una vista general del entorno en el que residían, lo que les permitía una conciencia perceptiva dentro de sus hábitats dinámicos.
Las primeras investigaciones en el campo de la simulación de masas comenzaron en 1997 con la supervisión de la tesis doctoral de Soraia Raupp Musse por parte de Daniel Thalmann . En él se presenta un nuevo modelo de comportamiento de masas con el fin de crear una simulación de poblaciones genéricas. [14] En este trabajo se establece una relación entre el comportamiento autónomo del individuo dentro de la masa y el comportamiento emergente que se origina a partir de ella. [15]
En 1999, la navegación individualista comenzó su curso dentro del ámbito de la simulación de multitudes a través de la investigación continua de Craig Reynolds. [16] Se ha demostrado que los comportamientos de dirección desempeñan un papel importante en el proceso de automatización de agentes dentro de una simulación. Reynolds afirma que los procesos de locomoción de bajo nivel dependen de los comportamientos de dirección de nivel medio y de los estados de objetivos y estrategias de búsqueda de caminos de nivel superior. A partir del trabajo avanzado de Reynolds, Musse y Thalmann comenzaron a estudiar el modelado de simulaciones en tiempo real de estas multitudes y sus aplicaciones al comportamiento humano. El control de multitudes humanas se designó como una organización jerárquica con niveles de autonomía entre los agentes. Esto marca el comienzo del modelado del comportamiento individual en su forma más elemental en agentes humanoides o humanos virtuales . [17]
Coincidiendo con publicaciones sobre modelos de comportamiento humano y simulaciones de comportamientos grupales, la propuesta de restricciones al comportamiento de Matt Anderson, Eric McDaniel y Stephen Chenney [18] ganó popularidad. La colocación de restricciones en animaciones grupales se presentó de manera que pudiera hacerse en cualquier momento dentro de la simulación. Este proceso de aplicación de restricciones al modelo de comportamiento se lleva a cabo de una manera doble, primero determinando el conjunto inicial de trayectorias objetivo coincidentes con las restricciones y luego aplicando reglas de comportamiento a estas trayectorias para seleccionar aquellas que no las violan.
Al correlacionar y desarrollar los hallazgos propuestos en su trabajo con Musse, Thalmann, trabajando junto a Bratislava Ulicny y Pablo de Heras Ciechomski, propuso un nuevo modelo que permitía la creación interactiva de agentes a nivel de un individuo, un grupo de agentes y la totalidad de una multitud. Se introduce una metáfora del pincel para distribuir, modelar y controlar a los miembros de la multitud en tiempo real con retroalimentación inmediata. [19]
Uno de los principales objetivos de la simulación de multitudes es dirigirlas de forma realista y recrear comportamientos dinámicos humanos.
Existen varios enfoques generales para la simulación de multitudes y la IA, cada uno de los cuales ofrece ventajas y desventajas en función del tamaño de la multitud y la escala temporal. La escala temporal se refiere a cómo el objetivo de la simulación también afecta la duración de la simulación. Por ejemplo, investigar cuestiones sociales como la forma en que se difunden las ideologías entre una población dará como resultado una simulación de duración mucho más larga, ya que un evento de este tipo puede durar meses o años. Utilizando esas dos características, los investigadores han intentado aplicar clasificaciones para evaluar y organizar mejor los simuladores de multitudes existentes. [20]
Una forma de simular multitudes virtuales es utilizar un sistema de partículas . Los sistemas de partículas fueron introducidos por primera vez en gráficos por computadora por WT Reeves en 1983. [23] Un sistema de partículas es una colección de una serie de elementos individuales o partículas . Cada partícula puede actuar de forma autónoma y se le asigna un conjunto de atributos físicos (como color, tamaño y velocidad).
Un sistema de partículas es dinámico, en el sentido de que sus movimientos cambian con el tiempo. El movimiento de un sistema de partículas es lo que lo hace tan deseable y fácil de implementar. Calcular los movimientos de estas partículas requiere muy poco tiempo. Simplemente implica física: la suma de todas las fuerzas que actúan sobre una partícula determina su movimiento. Fuerzas como la gravedad, la fricción y la fuerza de una colisión, y fuerzas sociales como la fuerza de atracción de un gol.
Generalmente, cada partícula tiene un vector de velocidad y un vector de posición , que contienen información sobre la velocidad y la posición actuales de la partícula, respectivamente. La siguiente posición de la partícula se calcula sumando su vector de velocidad a su vector de posición. Una operación muy simple (de nuevo, por qué los sistemas de partículas son tan deseables). Su vector de velocidad cambia con el tiempo, en respuesta a las fuerzas que actúan sobre la partícula. Por ejemplo, una colisión con otra partícula hará que cambie de dirección.
Los sistemas de partículas se han utilizado ampliamente en películas para efectos como explosiones, para efectos de agua en la película de 2000 La tormenta perfecta y para gas simulado en la película de 1994 La máscara .
Sin embargo, los sistemas de partículas tienen algunas desventajas. Puede ser una mala idea utilizar un sistema de partículas para simular agentes en una multitud que el director moverá siguiendo una orden, ya que determinar qué partículas pertenecen al agente y cuáles no es muy difícil.
Este algoritmo fue diseñado para multitudes relativamente simplistas, donde cada agente en la multitud solo desea llegar a su propio destino y al mismo tiempo evitar obstáculos. [24] Este algoritmo podría usarse para simular una multitud en Times Square.
La característica más importante y distintiva del algoritmo de Patil es que utiliza el concepto de campos de navegación para dirigir a los agentes. Esto es diferente de un campo de guía; un campo de guía es un área alrededor del agente en la que el agente es capaz de "ver"/detectar información. Los campos de guía se utilizan normalmente para evitar obstáculos, en particular obstáculos dinámicos (obstáculos que se mueven). Cada agente posee su propio campo de guía. Un campo de navegación, por otro lado, es un campo vectorial que calcula la ruta de costo mínimo para cada agente de modo que cada agente llegue a su propia posición objetivo.
El campo de navegación solo se puede utilizar correctamente cuando existe una ruta desde cada posición libre (sin obstáculos) en el entorno hasta una de las posiciones objetivo. El campo de navegación se calcula utilizando las coordenadas de los objetos estáticos en el entorno, las posiciones objetivo de cada agente y el campo de guía de cada agente. Para garantizar que cada agente alcance su propio objetivo, el campo de navegación debe estar libre de mínimos locales, excepto por la presencia de sumideros en los objetivos especificados.
El tiempo de ejecución del cálculo del campo de navegación es , donde m × n es la dimensión de la cuadrícula (similar al algoritmo de Dijkstra ). Por lo tanto, el algoritmo solo depende de la resolución de la cuadrícula y no depende de la cantidad de agentes en el entorno. Sin embargo, este algoritmo tiene un alto costo de memoria.
Un conjunto de técnicas para la simulación de multitudes basada en IA consiste en modelar el comportamiento de las multitudes mediante una simulación avanzada de las motivaciones y la toma de decisiones de los agentes individuales. En general, esto significa que a cada agente se le asigna un conjunto de variables que miden diversos rasgos o estados, como el estrés, la personalidad o diferentes objetivos. Esto da como resultado un comportamiento de multitudes más realista, aunque puede requerir un mayor esfuerzo computacional que las técnicas más simples.
Un método para crear un comportamiento individualista para los agentes de masas es mediante el uso de rasgos de personalidad. [25] Cada agente puede tener ciertos aspectos de su personalidad ajustados en base a una fórmula que asocia aspectos como la agresividad o la impulsividad con variables que gobiernan el comportamiento de los agentes. Una forma de encontrar esta asociación es mediante un estudio subjetivo en el que a los agentes se les asignan valores aleatorios para estas variables y se les pide a los participantes que describan a cada agente en términos de estos rasgos de personalidad. Luego se puede realizar una regresión para determinar una correlación entre estos rasgos y las variables del agente. Los rasgos de personalidad pueden entonces ajustarse y tener un efecto apropiado en el comportamiento del agente.
El modelo de personalidad OCEAN se ha utilizado para definir una correlación entre los rasgos de personalidad y los parámetros de simulación de multitudes. La automatización del ajuste de parámetros de multitudes con rasgos de personalidad permite crear fácilmente escenarios con multitudes heterogéneas. [26]
El comportamiento de las multitudes en situaciones de alto estrés se puede modelar utilizando la teoría del síndrome de adaptación general . [27] El comportamiento del agente se ve afectado por varios factores estresantes de su entorno categorizados en cuatro prototipos: presión de tiempo, presión de área, factores estresantes posicionales y factores estresantes interpersonales, cada uno con modelos matemáticos asociados.
La presión del tiempo se refiere a los factores estresantes relacionados con un límite de tiempo para alcanzar un objetivo en particular. Un ejemplo sería un cruce de calle con una señal para caminar con tiempo o subir a un tren antes de que se cierren las puertas. Este prototipo se modela con la siguiente fórmula:
donde es la intensidad de la presión del tiempo en función del tiempo estimado para alcanzar la meta y una restricción de tiempo .
La presión de área se refiere a los factores estresantes que resultan de una condición ambiental. Algunos ejemplos serían el ruido o el calor en un área. La intensidad de este factor estresante es constante en un área en particular y se modela mediante la siguiente fórmula:
donde es la intensidad de la presión del área, es la posición del agente en un área , y es una constante.
Los factores estresantes posicionales se refieren a los factores estresantes asociados con una fuente local de estrés. La intensidad de este factor estresante aumenta a medida que un agente se acerca a la fuente del estrés. Un ejemplo sería un incendio o un objeto dinámico como un agresor. Puede modelarse mediante la siguiente fórmula:
donde es la intensidad del estresor posicional, es la posición del agente y es la posición del estresor. Alternativamente, los estresores que generan un alto estrés en un área grande (como un incendio) pueden modelarse utilizando una distribución gaussiana con desviación estándar :
Los estresores interpersonales son estresores que resultan de la concentración de agentes cercanos. Se pueden modelar mediante la siguiente fórmula:
donde es la intensidad del estresor interpersonal, es el número actual de vecinos dentro de un espacio unitario y es el número preferido de vecinos dentro de un espacio unitario para ese agente en particular.
El estrés percibido sigue la Ley de Stevens y está modelado por la fórmula:
donde es el estrés percibido para un nivel de estrés , es un factor de escala y es un exponente que depende del tipo de estresor.
La respuesta de estrés de un agente se puede encontrar con la siguiente fórmula:
donde la respuesta al estrés está limitada a un valor máximo de y es la tasa máxima a la que la respuesta al estrés de un agente puede cambiar.
Se pueden ver ejemplos notables de simulación de multitudes con IA en las películas de El Señor de los Anillos de New Line Cinema , donde ejércitos de IA de miles de personajes luchan entre sí. Esta simulación de multitudes se realizó con el software Massive de Weta Digital .
La simulación de multitudes también puede referirse a simulaciones basadas en dinámicas de grupo , psicología de multitudes e incluso etiqueta social . [28] En este caso, el enfoque está en el comportamiento de la multitud, no necesariamente en el realismo visual de la simulación. Las multitudes han sido estudiadas como un interés científico desde finales del siglo XIX. Mucha investigación se ha centrado en el comportamiento social colectivo de las personas en reuniones sociales, asambleas, protestas, rebeliones, conciertos, eventos deportivos y ceremonias religiosas. Obtener información sobre el comportamiento humano natural en distintos tipos de situaciones estresantes permitirá crear mejores modelos que se puedan utilizar para desarrollar estrategias de control de multitudes, a menudo en la planificación de la seguridad pública.
Los equipos de respuesta a emergencias, como policías, la Guardia Nacional, militares e incluso voluntarios, deben someterse a algún tipo de entrenamiento de control de multitudes. El uso de principios investigados de comportamiento humano en multitudes puede brindar a los diseñadores de entrenamiento en desastres más elementos para incorporar para crear desastres simulados realistas. El comportamiento de la multitud se puede observar tanto en condiciones de pánico como en condiciones sin pánico. Los programas militares están apuntando más hacia el entrenamiento simulado que involucra respuestas de emergencia debido a su tecnología rentable, así como a la eficacia con la que se puede transferir el aprendizaje al mundo real. [ cita requerida ] Muchos eventos que pueden comenzar controlados pueden tener un evento cambiante que los convierte en situaciones catastróficas, donde se deben tomar decisiones en el momento. Son estas situaciones en las que la comprensión de la dinámica de las multitudes podría desempeñar un papel vital en la reducción del potencial de caos.
Las técnicas de modelado de masas varían desde enfoques holísticos o de redes hasta la comprensión de aspectos individualistas o conductuales de cada agente. Por ejemplo, el Modelo de Fuerza Social describe la necesidad de los individuos de encontrar un equilibrio entre la interacción social y la interacción física. Un enfoque que incorpore ambos aspectos y sea capaz de adaptarse dependiendo de la situación describiría mejor el comportamiento humano natural, incorporando siempre cierta medida de imprevisibilidad. Con el uso de modelos multiagente, comprender estos comportamientos complejos se ha convertido en una tarea mucho más comprensible. Con el uso de este tipo de software, ahora se pueden probar sistemas en condiciones extremas y simular condiciones durante largos períodos de tiempo en cuestión de segundos.
En algunas situaciones, el comportamiento de enjambres de animales no humanos puede utilizarse como modelo experimental del comportamiento de las multitudes. Se ha descubierto que el comportamiento de pánico de las hormigas cuando se las expone a una sustancia química repelente en un espacio confinado con rutas de salida limitadas presenta similitudes y diferencias con el comportamiento humano equivalente. [29] [30]
Hacohen, Shoval y Shvalb [31] formularon la dinámica entre conductores y peatones en puntos conflictivos congestionados. En tales escenarios, los conductores y/o peatones no siguen estrictamente las leyes de tránsito. El modelo se basa en la función de navegación probabilística (PNF), que se desarrolló originalmente para la planificación del movimiento de la robótica. El algoritmo construye una trayectoria de acuerdo con la probabilidad de colisión en cada punto de toda el área de cruce. Luego, el peatón sigue una trayectoria que minimiza localmente su probabilidad percibida de colisión.
Helbing propuso un modelo basado en la física que utiliza un sistema de partículas y fuerzas socio-psicológicas para describir el comportamiento de una multitud humana en una situación de pánico, que ahora se llama el Modelo de Helbing. Su trabajo se basa en cómo reaccionaría una persona promedio en una situación determinada. Aunque este es un buen modelo, siempre hay diferentes tipos de personas presentes en la multitud y cada una de ellas tiene sus propias características individuales, así como su forma de actuar en una estructura grupal. Por ejemplo, una persona puede no reaccionar ante una situación de pánico, mientras que otra puede dejar de caminar e interferir en la dinámica de la multitud en su conjunto. Además, dependiendo de la estructura del grupo, la acción individual puede cambiar porque el agente es parte de un grupo, por ejemplo, regresa a un lugar peligroso para rescatar a un miembro de ese grupo. El modelo de Helbing se puede generalizar incorporando el individualismo, como propusieron Braun, Musse, Oliveira y Bodmann. [32]
Para abordar este problema, se debe asignar una individualidad a cada agente, lo que permite abordar diferentes tipos de comportamientos. Otro aspecto para abordar este problema es la posibilidad de agrupar a las personas, la formación de estos grupos hace que las personas cambien su comportamiento en función de parte de la estructura del grupo. Cada agente (individuo) puede definirse de acuerdo con los siguientes parámetros:
Para modelar el efecto del parámetro de dependencia con agentes individuales , la ecuación se define como:
Al evaluar la velocidad del agente, es evidente que si el valor del factor de dependencia, DE, es igual a uno, entonces la persona estaría totalmente incapacitada, lo que la haría incapaz de moverse. Si el factor de dependencia es igual a cero, entonces la persona es capaz de correr a su velocidad máxima.
La formación de grupos está relacionada con la fuerza del Altruismo, que se implementa como una fuerza de interacción entre dos o más agentes que forman parte de una misma familia. Matemáticamente, se describe de la siguiente manera:
dónde:
En consecuencia, cuanto mayor sea el parámetro AL i del agente i , mayor será Fā i que apunta al agente j y tiene el alto nivel de DE j . Cuando ambos agentes están lo suficientemente cerca uno del otro, el que tiene alto nivel de DE (el agente j en este ejemplo) adopta el valor del agente i ( ). Esto significa que la capacidad de evacuación del agente i se comparte con el agente j y ambos comienzan a moverse juntos.
Al aplicar estas ecuaciones en pruebas de modelos utilizando una población distribuida normalmente, los resultados son bastante similares al modelo Helbing.
Los casos en los que esto sería útil serían en una situación de evacuación. Tomemos como ejemplo la evacuación de un edificio en caso de incendio. Teniendo en cuenta las características de los agentes individuales y sus actuaciones en grupo, determinar el resultado de cómo saldrá la multitud del edificio es de vital importancia para crear el diseño del edificio. [32]
Como se ha descrito anteriormente, el modelo de Helbing se utiliza como base para el comportamiento de multitudes. Este mismo tipo de modelo de comportamiento se utiliza para simulaciones de evacuación.
En general, lo primero que hay que asumir es que no todo el mundo tiene conocimiento sobre el entorno o dónde hay y dónde no hay peligros. A partir de este supuesto podemos crear tres tipos de agentes. El primer tipo es un líder formado, este agente conoce el entorno y es capaz de transmitir el conocimiento a otros agentes para que sepan cómo salir de un entorno. El siguiente tipo de agente es un líder no formado, este agente no conoce el entorno, sin embargo, a medida que el agente explora el entorno y obtiene información de otros tipos de líderes, el agente es capaz de difundir el conocimiento sobre el entorno. El último tipo de agente es un seguidor, este tipo de agente solo puede tomar información de otros líderes y no puede compartir la información con otros agentes.
La implementación de este tipo de agentes es bastante sencilla. Los líderes del entorno tienen un mapa del entorno guardado como uno de sus atributos. Un líder y sus seguidores no entrenados comenzarán con un mapa vacío como atributo. Los líderes y seguidores no entrenados comenzarán a explorar un entorno por sí mismos y crearán un mapa de ubicaciones transitables y no transitables. Los líderes y los líderes no entrenados (una vez que tengan el conocimiento) compartirán información con otros agentes según su proximidad. Compartirán información sobre qué puntos de la cuadrícula están bloqueados, los subgráficos locales y los peligros en el área.
Se probaron dos tipos de algoritmos de búsqueda para esta implementación: la búsqueda aleatoria y la búsqueda en profundidad. En la búsqueda aleatoria, cada uno de los agentes recorre el entorno en cualquier dirección e intenta encontrar una salida. En la búsqueda en profundidad, los agentes siguen un camino hasta donde pueden y luego regresan e intentan otro si el camino que recorrieron no contiene una salida. Se descubrió que la búsqueda en profundidad aceleró el proceso 15 veces en comparación con la búsqueda aleatoria. [33]
Existen muchas situaciones de casos diferentes que entran en juego en las simulaciones de multitudes. [34] Recientemente, la simulación de multitudes ha sido esencial para muchas aplicaciones de entornos virtuales, como educación, capacitación y entretenimiento. Muchas situaciones se basan en el entorno de la simulación o en el comportamiento del grupo de agentes locales. En las aplicaciones de realidad virtual, cada agente interactúa con muchos otros agentes en el entorno, lo que requiere interacciones complejas en tiempo real. Los agentes deben tener cambios continuos en el entorno, ya que los comportamientos de los agentes permiten interacciones complejas. La arquitectura escalable puede gestionar grandes multitudes a través del comportamiento y las tasas de interacción. Estas situaciones indicarán cómo actuarán las multitudes en múltiples escenarios complejos mientras se aplican varias situaciones diferentes. Una situación puede ser cualquier circunstancia que tenga comportamientos locales típicos. Podemos categorizar todas las situaciones en dos tipos diferentes.
Una situación espacial es una situación que tiene una región donde el entorno afecta a los agentes locales. Por ejemplo, una multitud que espera en fila para comprar boletos estaría mostrando una situación espacial. Otros ejemplos pueden ser una parada de autobús o un cajero automático donde los personajes actúan sobre su entorno. Por lo tanto, consideraríamos "parada de autobús" como la situación si el comportamiento de los agentes fuera subir o bajar de un autobús.
La situación no espacial no tiene región en el entorno porque esto solo involucra el comportamiento de la multitud. La relación de los agentes locales es un factor importante a considerar al determinar el comportamiento. Un ejemplo sería un grupo de amigos caminando juntos. El comportamiento típico de los personajes que son amigos sería moverse todos juntos. Esto significa que la "amistad" sería la situación entre el comportamiento típico de caminar juntos.
La estructura de cualquier situación se basa en cuatro componentes: funciones de comportamiento, sensores, estados y reglas de eventos. Las funciones de comportamiento representan los comportamientos de los personajes específicos de la situación. Los sensores son la capacidad de detección de los agentes para ver y responder a los eventos. Los estados son los diferentes movimientos y transiciones de estado que se utilizan solo para los comportamientos locales. Las reglas de eventos son la forma de conectar diferentes eventos con sus comportamientos específicos. Mientras se coloca a un personaje en una situación, estos cuatro componentes se consideran al mismo tiempo. Para las situaciones espaciales, los componentes se agregan cuando el individuo ingresa inicialmente al entorno que influye en el personaje. Para las situaciones no espaciales, el personaje se ve afectado solo una vez que el usuario le asigna la situación. Los cuatro componentes se eliminan cuando el agente se aleja de su región de situaciones o se elimina la situación en sí. La adición y eliminación dinámica de las situaciones nos permite lograr agentes escalables.
Para simular más aspectos de las actividades humanas en una multitud, se necesita algo más que la planificación de rutas y movimientos. Las interacciones sociales complejas, la manipulación de objetos inteligentes y los modelos híbridos son desafíos en esta área. El comportamiento simulado de las multitudes se inspira en el flujo de multitudes del mundo real. Los patrones de comportamiento, las velocidades y densidades de movimiento y las anomalías se analizan en muchos entornos y tipos de edificios. Se realiza un seguimiento de los individuos y se documentan sus movimientos de modo que se puedan derivar algoritmos e implementarlos en simulaciones de multitudes.
Las entidades individuales en una multitud también se denominan agentes . Para que una multitud se comporte de manera realista, cada agente debe actuar de manera autónoma (ser capaz de actuar independientemente de los otros agentes). Esta idea se conoce como modelo basado en agentes. Además, generalmente se desea que los agentes actúen con cierto grado de inteligencia (es decir, los agentes no deben realizar acciones que les causen daño a sí mismos). Para que los agentes tomen decisiones inteligentes y realistas, deben actuar de acuerdo con su entorno circundante, reaccionar a sus cambios y reaccionar a los otros agentes. Terzopoulos y sus estudiantes han sido pioneros en modelos de peatones basados en agentes, un enfoque conocido como simulación multihumana para distinguirlo de la simulación de multitudes convencional. [22] [35] [28]
En la IA basada en reglas, los agentes virtuales siguen guiones: "si sucede esto, haz aquello". Este es un buen enfoque si se requieren agentes con diferentes roles, como un personaje principal y varios personajes secundarios. Este tipo de IA suele implementarse con una jerarquía, como en la jerarquía de necesidades de Maslow , donde cuanto más baja se encuentra la necesidad en la jerarquía, más fuerte es.
Por ejemplo, pensemos en un estudiante que va caminando a clase y se encuentra con una explosión y sale corriendo. La teoría que sustenta este fenómeno es que, inicialmente, se satisfacen los primeros cuatro niveles de sus necesidades y el estudiante actúa de acuerdo con su necesidad de autorrealización. Cuando se produce la explosión, su seguridad se ve amenazada, lo que es una necesidad mucho más fuerte, lo que lo lleva a actuar de acuerdo con esa necesidad.
Este enfoque es escalable y se puede aplicar a multitudes con una gran cantidad de agentes. Sin embargo, la IA basada en reglas tiene algunas desventajas. La más notable es que el comportamiento de los agentes puede volverse muy predecible, lo que puede hacer que una multitud se comporte de manera poco realista.
En el aprendizaje de la IA, los personajes virtuales se comportan de maneras que han sido probadas para ayudarlos a lograr sus objetivos. Los agentes experimentan con su entorno o con un entorno de muestra que es similar al real.
Los agentes realizan diversas acciones y aprenden de sus errores. Cada agente modifica su comportamiento en respuesta a las recompensas y los castigos que recibe del entorno. Con el tiempo, cada agente desarrollará comportamientos que tienen más probabilidades de generar recompensas elevadas.
Si se utiliza este enfoque, junto con una gran cantidad de comportamientos posibles y un entorno complejo, los agentes actuarán de forma realista e impredecible.
Existe una amplia variedad de algoritmos de aprendizaje automático que se pueden aplicar a simulaciones de multitudes.
Q-Learning es un algoritmo que se encuentra dentro del subcampo del aprendizaje automático conocido como aprendizaje de refuerzo. Una descripción general básica del algoritmo es que a cada acción se le asigna un valor Q y a cada agente se le da la instrucción de realizar siempre la acción con el valor Q más alto. En este caso, el aprendizaje se aplica a la forma en que se asignan los valores Q, que se basa completamente en la recompensa. Cuando un agente entra en contacto con un estado, s, y una acción, a, el algoritmo estima el valor de recompensa total que recibiría un agente por realizar ese par de estados y acciones. Después de calcular estos datos, se almacenan en el conocimiento del agente y el agente procede a actuar a partir de ahí.
El agente modificará constantemente su comportamiento en función del mejor valor Q disponible y, a medida que explore más y más el entorno, acabará aprendiendo los pares de acciones de estado más óptimos para llevar a cabo en casi todas las situaciones.
La siguiente función describe la mayor parte del algoritmo:
Dado un estado s y una acción a, r y s son la recompensa y el estado después de realizar (s, a), y a' es el rango de todas las acciones. [36]
Representar y animar de forma realista una gran cantidad de agentes, especialmente en tiempo real, es todo un reto. Para reducir la complejidad de la representación 3D de multitudes a gran escala, se han utilizado técnicas como el descarte (descarte de objetos sin importancia), los impostores (representación basada en imágenes) y la disminución de los niveles de detalle. [37] Existen variaciones en la apariencia, la forma y el tamaño del cuerpo, los accesorios y el comportamiento (social o cultural) en las multitudes reales, y la falta de variedad afecta el realismo de las simulaciones visuales. Los sistemas existentes pueden crear multitudes virtuales con texturas, [7] colores, [38] tamaños, formas y animaciones variables. [6]
Las simulaciones de multitudes se han utilizado ampliamente en películas como una alternativa realista y rentable a la contratación de actores y la captura de tomas que de otro modo serían poco realistas. Un ejemplo significativo de su uso se encuentra en El Señor de los Anillos (serie de películas) . Uno de los problemas más evidentes para el equipo de producción en las etapas iniciales fueron las batallas a gran escala, ya que el autor de las novelas, JRR Tolkien, imaginó que tendrían al menos 50.000 participantes. Tal número era poco realista si hubieran decidido intentar contratar solo actores y actrices reales. En su lugar, decidieron utilizar CG para simular estas escenas mediante el uso del Sistema de Simulación de Agentes Múltiples en un Entorno Virtual, también conocido como MASSIVE. El complemento Maya basado en Human Logic Engine para simulación de multitudes, Miarmy , se utilizó para el desarrollo de estas secuencias. El software permitió a los cineastas proporcionar a cada modelo de personaje una IA basada en agentes que podía utilizar una biblioteca de 350 animaciones. Según los parámetros de vista, oído y tacto generados a partir de la simulación, los agentes reaccionarían de forma única a cada situación. De esta manera, cada simulación de la escena era impredecible. El producto final mostró claramente las ventajas de utilizar software de simulación de multitudes. [39]
El desarrollo de software de simulación de multitudes se ha convertido en una herramienta moderna y útil para el diseño de entornos urbanos. Mientras que el método tradicional de planificación urbana se basa en mapas y bocetos abstractos, una simulación digital es más capaz de transmitir tanto la forma como la intención del diseño del arquitecto al peatón. Por ejemplo, las señales de tráfico y los semáforos son señales visuales localizadas que influyen en los peatones para que se muevan y se comporten en consecuencia. Siguiendo esta lógica, una persona puede moverse del punto A al punto B de una manera eficiente y, como resultado, un grupo colectivo de personas puede operar de manera más efectiva. En un sentido más amplio, los sistemas de autobuses y los restaurantes de carretera cumplen una función espacial en sus ubicaciones a través de la comprensión de los patrones de movimiento humano. [40] La serie de videojuegos SimCity ejemplifica este concepto de una manera más simplista. En esta serie, el jugador asigna el desarrollo de la ciudad en zonas designadas mientras mantiene un presupuesto saludable. La progresión de un terreno vacío a una ciudad bulliciosa está completamente controlada por las elecciones del jugador y los ciudadanos digitales se comportan de acuerdo con el diseño y los eventos de la ciudad.
Las multitudes realistas simuladas se pueden utilizar en el entrenamiento para el manejo de disturbios, la arquitectura y la ciencia de la seguridad (planificación de evacuación).
Dado que las simulaciones de multitudes son tan comunes en la planificación pública y el orden general en situaciones caóticas, se pueden extraer muchas aplicaciones para simulaciones gubernamentales y militares. El modelado de multitudes es esencial en la simulación policial y militar para entrenar a oficiales y soldados para lidiar con concentraciones masivas de personas. No solo los combatientes ofensivos resultan difíciles de manejar para estos individuos, sino que las multitudes no combatientes juegan un papel importante en hacer que estas situaciones agresivas se salgan de control. La tecnología de juegos se utiliza para simular estas situaciones para que los soldados y técnicos practiquen sus habilidades. [41]
El comportamiento de una multitud modelada desempeña un papel destacado en cuestiones analíticas. Estas dinámicas se basan en los comportamientos físicos de los agentes individuales dentro de una multitud, más que en la realidad visual del modelo en sí. Los comportamientos sociales de las personas dentro de estos constructos han sido de interés durante muchos años, y los conceptos sociológicos que sustentan estas interacciones se estudian constantemente. La simulación de multitudes en diferentes situaciones permite el estudio sociológico de reuniones de la vida real en una variedad de disposiciones y ubicaciones. Las variaciones en el comportamiento humano en situaciones que varían en niveles de estrés permiten un mayor desarrollo y creación de estrategias de control de multitudes que se pueden aplicar de manera más específica a las situaciones en lugar de generalizarlas.