Generación Aleatoria de Ambientes Virtuales de Simulación

Generación Aleatoria de Ambientes Virtuales de Simulación

Random Generation for Virtual Simulation Environments

Por: SANTIAGO ZAPATA BUSTAMANTE, 2004

Resumen: Este articulo muestra una estructura general para el manejo y control de ambientes virtuales poblados por agentes autónomos, basado en módulos de selección de acción asignables y una arquitectura modular para la ejecución de acciones; también se proponen algunos usos prácticos de la teoría en el campo de la ingeniería, y se detallan los procesos de generación del mundo físico y social, basados en fractales de desplazamiento aleatorio, autómatas celulares y métodos de fabricación de actores con asignación de roles.
Palabras clave: Actores, Ambientes Virtuales, Inteligencia Artificial, Fractales, Simulación, Vida artificial.

Abstract: This article shows a general structure for management and control of virtual environments populated by autonomous agents, which is based in assignable action selector modules and a modular architecture for action execution; it also proposes practical uses of the theory in the engineering field, and details the physical and social world generation process, based in random midpoint displacement fractals, cellular automata and actor factoring methods with role assignation.
Key words: Actors, Artificial Intelligence, Artificial Life, Fractals, Simulation, Virtual Environments.

Introducción

Una de las causas que llevaron al desarrollo de la computación en la segunda mitad del siglo pasado fue la necesidad creciente de manejar grandes volúmenes de información de manera que pudieran ser resumidos y comprendidos con facilidad; esta evolución ha beneficiado nuestro estilo de vida permitiéndonos evolucionar hacia una sociedad donde la información es el bien más valioso tanto para las empresas como para los individuos.

Sin embargo, y como efecto colateral, esta evolución ha hecho que generalizadamente, el computador se perciba como un medio especializado solamente en almacenar, procesar y transmitir grandes volúmenes de información, ignorando sus capacidades más importantes en la emulación de nuestro mundo o de procesos similares a éste.

Los computadores pueden brindarnos muchos más beneficios que servir simplemente como maestros de datos. La informática nos brinda la posibilidad de crear nuestros propios mundos, y mediante estos resolver diferentes problemas usando actores o agentes que colaboran entre ellos para lograr cada uno hacer un aporte, ya sea a una solución aceptable al problema o simplemente al funcionamiento de un sistema completo que se desea analizar.

Surge entonces la necesidad de promover el uso de las herramientas computacionales como medios para el modelado e implementación de ambientes virtuales habitados por actores inteligentes, que reflejen el comportamiento de entidades reales de nuestro mundo dentro de los límites seguros de la simulación, permitiéndonos experimentar situaciones específicas de una manera que no es posible en nuestra realidad, y apreciar las reacciones de los distintos actores con el fin de tener a la mano las herramientas para estar suficientemente preparados cuanto una situación real requiera de su participación.

Sin embargo, no debemos confundir la definición de un mundo virtual con el concepto de ambientes de realidad virtual, ya que aunque estos dos conceptos comparten en gran medida la filosofía de crear una realidad paralela, el segundo está más guiado al perfeccionamiento de capacidades perceptivas e interactivas para con ambientes definidos artificialmente.
Este artículo por lo tanto, busca compartir un esquema general para la arquitectura de dichos mundos, así como guías para generación de ambientes planetarios que pueden ser útiles en diversas aplicaciones, con el fin de fomentar la creación de mundos virtuales en distintas áreas de la vida pública y privada.

1. Modelado de Ambientes Virtuales

El modelado de mundos virtuales es una filosofía de diseño para implementar métodos de inteligencia artificial distribuida. Se podría decir que un mundo virtual encapsula un sistema multiagente, el cual es “Una colección de agentes autónomos (posiblemente preexistentes) que buscan resolver un problema dado” [3].

Un ambiente virtual se puede describir como un espacio discreto poblado por un conjunto de actores independientes, el cual puede ser representado por medio de un programa de software ejecutado en una computadora

El objeto principal del modelado de ambientes virtuales es mantener un mundo consistente, en el cual la interacción de sus proveedores se hace de una forma controlada, y está sujeta a unas reglas que hacen que exista una consistencia espacial. El modelado de mundos virtuales, más que un método con reglas definidas, es una filosofía que busca asegurar la independencia de los actores y de la representación del mundo virtual que puede apreciarse desde el mundo exterior, incluyendo los resultados estadísticos que su la simulación interactiva arroje.

Para lograr esto, cada Actor que habita el ambiente debe ser capaz de decidir que acciones ejecutar independientemente de los demás actores; esto se logra mediante la asignación de “Módulos de Decisión de Acción” a cada actor; estos módulos puedes ser tan simples como repositorios de acciones que son elegidas al azar, o tan complejos como implementaciones de métodos de inteligencia artificial tales como redes neuronales o autómatas de estado finito, que toman como entrada la percepción y el estado actual del actor para producir como salida la acción que se desea ejecutar.

La implementación de estos módulos no debe concernir directamente al diseño del mundo virtual y su estructura, ya que el diseñador de cada mundo solamente debe garantizar que exista un orden de interacción donde a cada actor se le pida tomar una decisión, sin importar el método mediante el cual el actor llegó a decidirla. Esto permite que diferentes implementaciones de selectores de acción sean asignadas a los actores dentro del mundo, permitiendo que sean controlados por diferentes mecanismos y a si mismo puedan interactuar transparentemente entre ellos. Por ejemplo, podemos tener actores con Selectores de Acciones basados en árboles de decisión, mientras otros cuenten con un selector de acción que es una fachada a una entrada que se encuentra fuera del sistema, tal como un usuario humano a través de dispositivos de entrada.

El mundo virtual cuenta con un modulo central que controla las interacciones de los diferentes actores; hay diferentes alternativas para este control, una de ella es simular un flujo continuo de Acciones abstractas con un costo de tiempo asociado; los actores son luego insertados en una estructura de cola de prioridades, en la cual se le pide al primer elemento decidir la acción que quiere ejecutar, luego de cuya ejecución este es relocalizado en una posición dentro de la cola dependiendo del costo de la acción. También se podría establecer un control en tiempo real, donde los actores que desean actuar hacen una petición al controlador del mundo virtual y este asigna el orden en el cual deben de actuar, controlando la concurrencia de peticiones.
Un mundo virtual puede definirse como un ambiente que cuenta con un número de agentes acoplados a este. [5] propone una clasificación de los ambientes según sus propiedades, las cuales determinan el programa de agente o el mecanismo de coordinación que se necesita para trabajar con ellos de manera eficiente.

2. Usos prácticos de los mundos virtuales: STMP

La implementación de un mundo virtual tiene diferentes usos prácticos en las áreas científicas y de ingeniería; en el campo de la ingeniería ambiental por ejemplo, un mundo virtual puede similar el comportamiento de diferentes especies animales dentro un hábitat simulado, donde variables tales como la distribución de la comida y de las especies puede ser controlada.

El proceso para su implementación consiste en obtener un método para crear el mundo virtual, poblarlo con los especímenes y darles vida mediante módulos de Selección de Acción adecuados que acudan a implementaciones de inteligencia artificial basadas en datos de comportamiento animal disponibles de diferentes estudios de zoología, y luego actuar como observadores del hábitat para estudiar los resultados emergentes a lo largo del tiempo.

El factor más importante para llegar a resultados experimentales útiles es diseñar los módulos de selección de acción tomando todo el conocimiento del dominio, refiriéndose a diferentes fuentes tales como ayuda experta, libros de estado del arte, artículos e investigación web. Todos estos datos experimentales deben ser luego modelados con técnicas adecuadas, tales como Autómatas de Estado Finito o Redes Neuronales; [2] muestra maneras muy prácticas de usar algunas de las técnicas de inteligencia artificial en espacios discretos tales como los mundos propuestos aquí.

Un ejemplo de una aplicación que modela un mundo virtual es el STMP (Simulador de Tácticas Militares y Policiales). Este software, que está bajo desarrollo, tiene como objetivo simular situaciones de desorden público, tales como son manifestaciones violentas, combates contra la subversión, y cualquier otra situación en la que se vean envueltos agentes de la fuerza pública en acción.

Este simulador modela cada actor dentro del mundo como seres con un nivel de conciencia definido y un conjunto de habilidades específicas en el manejo de diferentes clases de armas letales y no letales; también define un conjunto de módulos de selección de acciones tanto para los miembros de la fuerza pública como para posibles actores que hagan necesaria una reacción de esta, como lo son militantes subversivos, fanáticos enfurecidos u otro tipo de manifestantes, entre otros.

El mundo virtual generado dentro del programa depende de el escenario que sea cargado, y puede ser tanto fijo como generado aleatoriamente, permitiendo mediante un número semilla replicar las condiciones del escenario para simular diferentes alternativas de reacción y evaluar los resultados de cada una de estas para minimizar los riesgos a los que se exponen los agentes.

Se permite dentro del programa la definición de diferentes clases de armamento y su asignación a las fuerzas. Así como la definición de diferentes perfiles psicológicos para cada elemento o grupos de estos, que modifican las reacciones de estos dentro de la simulación, permitiendo obtener resultados más acoplados a la situación real.

El programa permite al usuario definir la ubicación inicial de cada uno de estos actores y darle órdenes a grupos de estos para modificar su comportamiento mientras corre la simulación; todos los eventos son registrados para su estudio al terminar la simulación.

3. El mundo de Guardian Angel

Guardian Angel es un proyecto de entretenimiento, el cual implementa un mundo virtual usado para simular un mundo con un nivel de tecnología similar a la edad media; esta simulación busca permitir al usuario del programa interactuar con los actores de este mundo, mediante la personificación de uno de ellos

El proceso de generación de este mundo será complementado con un generador de historias que le permitirá al usuario tener una meta medible, permitiéndole tener una experiencia lúdica similar a la percibida en los juegos de rol de computadora.
Siguiendo la clasificación de [5], el mundo de Guardian Angel se puede definir como un ambiente con las siguientes características:

  • No accesible: Cada ser dentro del mundo debe mantener un estado actual percibido, el cual puede diferir de la realidad del mundo.
  • No determinista: Las acciones ejecutadas por los diferentes actores pueden causar efectos que el agente no puede determinar directamente.
  • No episódico: El flujo de acciones es continuo y por lo tanto el actor debe estar preparado para responder a las acciones al de igual manera al principio de la simulación como al final.
  • Estático: El mundo virtual no sufre modificaciones mientras el agente se encuentra decidiendo su acción.
  • Discreto: Existe una cantidad limitada de percepciones, cada una de las cuales es claramente discernible.

Estas características hacen que el mecanismo principal de control de los actores dentro de Guardian Angel sea implementado con una cola de prioridades, en la cual son insertados todos los actores activos dentro del mundo. El programa de ambiente que controla la colaboración entre agentes toma el primer elemento de esta estructura, y le pregunta por la acción que quiere ejecutar. La elección de esta acción se hace recurriendo al módulo de decisión de acciones de cada actor.

Una vez que la acción ha sido decidida, se procede a ejecutarla, llevando a que se realicen mutaciones dentro del mundo, necesarias para llevar el funcionamiento del sistema en su conjunto así como para avanzar hacia la solución buscada por los agentes.

La ejecución de la acción conlleva un costo determinado en una unidad abstracta, y es con base en este costo que el actor que acaba de actuar es nuevamente insertado en la estructura de cola de prioridades, dependiendo del costo de las acciones ejecutadas por los actores precedentes.

El mundo físico de Guardian Angel está compuesto por una colección cúbica de Actores denominados Celdas. Cada uno de estos elementos describe una porción discreta del mundo ubicada en una localización física, como se muestra en la figura 1.

FIGURA 1. Estructura Física del mundo de Guardian Angel. La figura muestra tres niveles, con detalle adicional en el nivel de la superficie. En este ejemplo hay cuatro clases de Celdas que se localizan en una posición fija de la estructura cúbica que representa el mundo.
FIGURA 1. Estructura Física del mundo de Guardian Angel. La figura muestra tres niveles, con detalle adicional en el nivel de la superficie. En este ejemplo hay cuatro clases de Celdas que se localizan en una posición fija de la estructura cúbica que representa el mundo.

Adicionalmente, estas Celdas pueden tener también un comportamiento dinámico asociado a ellas. Por ejemplo las Celdas tipo Río pueden reaccionar cuando un Actor se desplaza sobre ellas, moviéndolo a una distancia determinada por la fuerza del flujo y el peso del actor.

Sin embargo, la mayor parte del comportamiento dinámico del mundo es producida por un tipo diferente de Actor, los Seres.

os Seres se distinguen de las Celdas en que su estructura incluye un cuerpo compuesto de diferentes partes, en cada una de las cuales se pueden portar un número de ítems. Los seres también cuentan con módulos de decisión de Acción más avanzados que les permiten tener un rol definido dentro del mundo virtual.

Los seres pueden definirse como los agentes con más posibilidades de acción dentro del sistema, son estos los que cooperan entre sí buscando objetivos comunes mediante acciones que los afectan a ellos mismos o al mundo virtual que pueblan.

Toda comunicación entre estos seres se realiza mediante acciones; el mundo no contempla la generación de estructuras adicionales usadas en entornos colaborativos de agentes tales como tableros o listas de mensajes. Se permite que se transfiera información directamente entre estos mediante acciones informativas que afectan la memoria y conocimiento del ser comunicado.

Estos seres normalmente pertenecen a una de las ciudades o pueblos que son creados dentro del mundo, y tienen un rol específico en esta comunidad. Por ejemplo en un pueblo mediano puede haber un tendero, un herrero, un grupo de soldados defensores, entre otros.

4. Generación Aleatoria del mundo

El concepto más interesante de los mundos virtuales es que no tienen que ser definidos manualmente; podemos acudir al uso de un método algorítmico el cual produce un mundo con las características deseadas solo requiriendo una conjunto adecuado de parámetros.

En Guardian Angel, el proceso de generación del mundo se basa en el uso de un generador de números aleatorios, el cual controla cada una de sus fases. Esto permite la creación de un nuevo mundo cada vez que el método es aplicado, con la posibilidad de replicar un mundo si así se desea, alimentando el generador de número aleatorios con un número constante.

Esta característica permite que las condiciones de cada escenario dentro del juego sean diferentes cada vez, brindándole al jugador un reto al tener aprender mediante exploración las características del nuevo mundo y adaptarse a estas para poder triunfar.

En el caso de otros mundos virtuales, la generación aleatoria puede permitir experimentar como se comporta un mismo conjunto definido de características bajo diferentes escenarios, por ejemplo como sería el desempeño de una escuadra policial antimotines en un partido de fútbol y de la misma escuadra en una manifestación civil callejera.

5. Generación Física del Mundo

5.1. Generación de la masa continental

El proceso de generar la masa continental determina la apariencia global del mundo; se encarga de generar los diferentes continentes e islas, como también las cordilleras y Colinas. Este método se basa en el método clásico de generación de fractales, del cual [1] muestra una implementación sencilla.

El método que es usado en Guardian Angel puede ser resumido en los siguientes pasos:

  • Creación de un fractal de desplazamiento de punto medio que representa un mapa de alturas
  • Cálculo de las Alturas para los mares y montañas basado en parámetros definidos.
  • Proceso de limpieza que define las diferentes zonas claramente

El proceso de generar un fractal de desplazamiento aleatorio de punto medio consiste principalmente en tomar una estructura cuadrada de segundo orden, tomar cada par consecutivo de esquinas, calcular el promedio de sus valores y luego desplazar este valor aleatoriamente y asignarlo a la posición media entre las dos esquinas; luego los cuatro puntos medios son promediados y este valor se desplaza aleatoriamente y se posiciona en el centro del cuadrado.

El proceso se repite para cada uno de los cuatro cuadrados más pequeños que se formaron en el proceso, llegando al resultado que se muestra en fig. 2.

Fig. 2. Ejemplo de Fractal de Plasma. Una estructura bidimensional de valores numéricos es generada aleatoriamente; la figura muestra diferentes tonos de cuya intensidad depende del valor de la matriz en ese lugar.
Fig. 2. Ejemplo de Fractal de Plasma. Una estructura bidimensional de valores numéricos es generada aleatoriamente; la figura muestra diferentes tonos de cuya intensidad depende del valor de la matriz en ese lugar.
Refiérase a [4] para una descripción paso a paso del algoritmo para generar un fractal de desplazamiento aleatorio de punto medio, el cual puede estar fuera del alcance de este artículo.

Cuando este proceso ha finalizado, el nivel del mar es calculado basándose en una proporción con la cual el generador es alimentado. Por ejemplo puede decidirse que el mundo debe estar compuesto por agua en un 70%. Esto se hace mediante el cálculo del percentil correspondiente entre todos los valores de altura del mapa, llegando a los resultados de fig. 3

Fig. 3. Apariencia continental en bruto. Los diferentes niveles de altura son establecidos a partir de parámetros del generador de mundos. Se asignan valores discretos a cada elemento de la estructura basado en su posición en los rangos de altura.
Fig. 3. Apariencia continental en bruto. Los diferentes niveles de altura son establecidos a partir de parámetros del generador de mundos. Se asignan valores discretos a cada elemento de la estructura basado en su posición en los rangos de altura.

Después de este proceso, las muchas islas y lagos pequeños que parecer emerger en el mundo son llenados con el fin de darle a este una apariencia más sólida. Esto se logra recorriendo el mapa calculando recursivamente el tamaño de cada zona, y llenándola con el valor deseado en caso de que este no sobrepase el límite dado. Los resultados se muestran en fig. 4.

Fig. 4. Apariencia continental final. Los lagos e islas pequeños son resueltos para mejorar la consistencia del mundo.
Fig. 4. Apariencia continental final. Los lagos e islas pequeños son resueltos para mejorar la consistencia del mundo.

5.2 Generación de Zonas de Temperatura

El proceso de generación del mundo continúa con la definición de un grupo de zonas de temperatura, simulando las condiciones del mundo. Para tal fin se puede recurrir a dos métodos; generar una serie de fractales monodimensionales de desplazamiento; cada uno de los cuales define una proporción relativa a una fracción horizontal del mundo que es más pequeña cada vez, como se muestra en la tabla 1.

TABLA 1 CALCULOS DE FRACTAL MONODIMENSIONAL:

ds(a,b) es una función que retorna un punto medio desplazado al azar de a y b

A B C D E F G H I
Valor Inicial ds(a,c) ds(a,e) ds(c,e) ds(a,h) ds(e,g) ds(e,i) ds(g,i) Valor Inicial
40 53 39 13 23 25 39 20 40
52 36 39 63 61 55 63 28 52
57 58 58 39 69 63 47 52 57

Estos valores son luego trasladados a una estructura mediante un algoritmo que toma los vectores de proporción y calcula la temperatura para todas las posiciones del mundo de acuerdo a esta. Para la estructura de ejemplo podemos ver que el hemisferio norte de temperatura ocupa las siguientes proporciones a medida que recorre el mundo de izquierda a derecha: 40%, 53%, 39%, 13%, 23%, 25%, 39%, 20% para volver al 40% al final. Este hemisferio norte es luego dividido también con las proporciones del extremo norte determinadas por el segundo fractal y el hemisferio sur es también dividido con la proporción para el extremo sur determinada por la tercera serie de valores.

Alternativamente para el calculo de las zonas de temperatura se puede usar también un fractal que ha sido preinicializado con valores extremos a lo largo de una franjas definidas, obteniendo resultados similares aunque un poco menos uniformes, como podemos apreciar el la fig. 5.

Fig. 5. Mapa de temperaturas generado a partir de una matriz con valores preinicializados en franjas
Fig. 5. Mapa de temperaturas generado a partir de una matriz con valores preinicializados en franjas

5.3. Generación de Zonas de lluvia

El último factor que determina la composición física del mundo son las zonas de lluvia; al tener estas mayores variaciones que las zonas de temperatura, también son determinadas por fractales de plasma, con la excepción de que la estructura es preinicializada con valores extremos en posiciones claves del mundo. Los resultados se muestran en la figura 6

Fig. 6. Fractal de distribución de lluvia. El blanco representa zonas con poca lluvia en el año, las zonas púrpura representan zonas de lluvia pesada.
Fig. 6. Fractal de distribución de lluvia. El blanco representa zonas con poca lluvia en el año, las zonas púrpura representan zonas de lluvia pesada.

5.4. Combinación en Biomas

Una vez que los continentes y las zonas de temperatura y lluvia están determinados, el generador recurre a una tabla de transformaciones mediante la cual decide qué bioma resulta de una combinación del terreno inicial y los rangos de temperatura y lluvia.

Esta tabla de combinaciones se basa aproximadamente en datos geográficos que son simplificados para facilitar el proceso de transformación, llegando al resultado que se muestra en la figura 7.

Fig. 7. Resultados Físicos Finales. Después de combinar el tipo de terreno, la temperatura y la lluvia, diferentes biomas son creados en el mundo de acuerdo a una tabla de transformaciones
Fig. 7. Resultados Físicos Finales. Después de combinar el tipo de terreno, la temperatura y la lluvia, diferentes biomas son creados en el mundo de acuerdo a una tabla de transformaciones

5.5. Generación Subterránea

El proceso de generación para el interior del mundo se basa el la estructura de masa continental calculada en el primer paso. El nivel del mar de esta estructura es recalculado con una menor proporción de agua buscando dar la impresión de que los mares se estrechan mientras el mundo es más profundo. Finalmente, todo lo que no sea mar es reemplazado por roca sólida o piso cavernoso, contrastando con la variación de temperatura y lluvia presente en el nivel de la superficie.

6. Autómata Celular

Con el fin de proveer una distribución más real de las celdas que componen el mundo, los resultados de la generación con fractales deben ser sujetos a un proceso adicional, en el cual se corren varias generaciones de un autómata celular sobre la totalidad del mapa.

Las reglas de este autómata son concebidas a partir de ejemplos de diferentes distribuciones deseadas, y buscan lograr una mezcla de diferentes ambientes de forma que cada uno de ellos tenga un patrón deseado al mismo tiempo que se mezcla con sus ambientes adyacentes.

Un ejemplo de un patrón deseado es mostrado en la figura 8, en el cual se define un bosque con celdas de tierra alrededor de los árboles y bloques de agua de un tamaño definido.

Figura 8. Patrón para un bosque
Figura 8. Patrón para un bosque

Usando este patrón se determinan las reglas del autómata celular, por ejemplo que una celda de agua se convertirá en tierra si no tiene más de dos celdas de agua contiguas, y una celda de tierra se convertirá en árbol si tiene más de 2 celdas de árbol contíguas.

Los resultados de hacer correr 6 generaciones de autómatas celulares sobre una matriz generada aleatoriamente con contenidos proporcionales de las diferentes celdas, y con la aplicación del patrón de bosque descrito en la figura 8, se muestran en la figura 9.

Figura 9 – Evolución del autómata celular
Figura 9 – Evolución del autómata celular

7. Generación Social del Mundo

Aplicando estas técnicas tenemos una cantidad casi infinita de mundos virtuales, en los cuales nuestros actores pueden interactuar y así nosotros podemos experimental. Sin embargo solo contar con un mundo físico no servirá de mucho si no se generan actores que interactúen dentro de éste.

Retomando el ejemplo del programa que simula un ecosistema, el generador de mundo podría estar antecedido por una interfaz que permita al usuario definir la distribución inicial de los “nidos” de cada especie animal y vegetal; la simulación sería luego ejecutada con el fin de monitorear la población de cada especie llegando a nuestras conclusiones experimentales. Esta interfaz podría ser similar a la mostrada en la figura 10.

Fig. 10. Interfaz de un Simulador de Ecosistemas: Un programa para simular ecosistemas tendría una interfaz similar a esta que permitiría el posicionamiento de los diferentes actores antes de ejecutar la simulación.
Fig. 10. Interfaz de un Simulador de Ecosistemas: Un programa para simular ecosistemas tendría una interfaz similar a esta que permitiría el posicionamiento de los diferentes actores antes de ejecutar la simulación.

Por otro lado, en Guardian Angel, la meta no es simular sistemas ecológicos sino las interacciones sociales de los seres que viven dentro de su mundo virtual, por lo cual su proceso de generación social es parametrizado por el usuario de una manera diferente e indirecta; al escoger el tipo de mundo que desea, incluyendo el nivel de evolución tecnológica, las razas de los seres que lo habitan y los rasgos de su geografía, el usuario está definiendo parámetros que permitirán al sistema definir que tipo de seres serán creados y cual será su situación o contexto inicial dentro del mundo.

Aunque la parte más crítica necesaria para llegar a esta meta es diseñar cuidadosamente las implementaciones de módulos de selección de acción, haciendo un equilibrio entre la facilidad de su mantenimiento y la complejidad de los resultados; la distribución y configuración inicial de los seres dentro del mundo como también la asignación de sus diferentes roles dentro de la sociedad es importante y debe estar correlacionada con el proceso de generación física, permitiendo una manera conveniente de generar centros de población de entidades seudo – inteligentes.

Mediante la definición de diferentes objetos descriptores que definen características similares compartidas por un grupo distinguible de seres podemos llegara una solución basada en objetos especiales denominados Fábricas de Actores.
Por ejemplo, el objeto descriptor para los seres es la Raza, definida como las características comunes como la estructura del cuerpo, los parámetros de comportamiento de sus módulos de Inteligencia Artificial y el equipo inicial con el cual deben ser generados.

Adicionalmente, estos objetos descriptores deben permitir acceso a diferentes clases de roles, con el fin de que podamos subclasificar las razas de los seres tomando sus roles como el clasificador. Estas subclases definen refinamientos de los parámetros de comportamiento como también del equipo inicial, mas no de la estructura del cuerpo.

Tomando esta estructura de diseño, podemos incluir una Fábrica de Seres dentro del proceso de generación del mundo, y luego invocar un método de creación de seres alimentándolo con parámetros para la raza y el rol.

Ya que contamos con un dispositivo adecuado para generar rápidamente seres individuales, debemos proceder con la definición de módulos que generen centros de población de una clase dada de seres dentro del mundo. Estos módulos toman parámetros tales como el tamaño deseado de la población, el nivel de la tecnología y el sistema de gobierno que lo rige.

El trabajo de este módulo incluye la creación de las diferentes infraestructuras físicas del poblado y la generación de los seres que lo pueblan, cada uno con su rol dentro de este.

Estos centros de población existentes dentro del mundo, se pueden definir como sociedades cooperativas de agentes, que pueden perseguir objetivos comunes como son la supervivencia y mejora de su comunidad frente a las restantes dentro del mundo. Para lograr esto, debe existir la noción de “intención conjunta” [3], donde los agentes de comprometen a obedecer un “código de conducta” que restringe la libertad de sus acciones para acomodarlas a las actividades conjuntas.

8. Conclusiones y recomendaciones

Los mundos virtuales son una herramienta importante ya que permiten experimentar las interacciones entre un grupo de actores dada una configuración inicial del mundo. Los resultados de esta simulación pueden ser interpretados más fácilmente que los de otros métodos, y tienen la ventaja de facilitar un análisis evolutivo de las variables bajo estudio si estas están sujetas al análisis en una dimensión temporal discreta.

El simulador de tácticas militares y policiales se plantea como una herramienta poderosa para la fuerza pública en la mejora de sus procesos de control de manifestaciones, así como en la búsqueda de estrategias para reducir los riesgos a los que está expuesta la milicia en el conflicto interno. El manejo de equipos complejos, tales como son artillería, helicópteros y otros tipos de maquinaria, puede ser integrado al sistema para hacerlo más versátil.

El mundo virtual de Guardian Angel está implementado como una estructura extensible que es generada y poblada aleatoriamente; este método de generación puede ser adaptado y especializado para permitir su uso en aplicaciones específicas para diferentes campos de la ciencia e ingeniería.

También es posible extender el algoritmo de generación del mundo con el fin de usar reglas de Autómata Celular que permitan mezclar los diferentes biomas especificando la distribución de sus características en vez de asignarlas al azar para cada bioma calculado, así como también se puede adaptar una estructura tridimensional de polígonos para el mundo físico, cambiando las reglas de nivel de agua y de cálculo de los biomas para que lo afecten teniendo en cuenta la altura en la función de transformación; de igual manera se puede complementar el método de generación social para incluir variables políticas y económicas que permitirían una aplicación específica en simulación social o financiera.

Toda clase de especialización depende en último término de la meta pretendida en la aplicación del mundo virtual y las formas de interacción y colaboración esperada entre los agentes que lo poblarán, las cuales constituyen una amplia teoría que debe ser estudiada independientemente de la arquitectura del mundo en el cual se desenvuelven.

REFERENCIAS

  1. Anderson, Mike, Fractal Landscapes, 2002
  2. Dillinger, Ray AI for roguelike games, 2004
  3. O’Hare, G.M.P. y Jennings, N.R. Foundations of Distributed Artificial Intelligence, New York, Wiley-Interscience, 1996, p 5, 20
  4. Marz, P. Generating Random Fractal Terrain
  5. Rusell, Stuart, Inteligencia Artificial: Un enfoque moderno, México, Prentice Hall, 1996 p 47 – 52

Nota de Edición: Este artículo es parte de un artículo más extenso publicado en la revista de Ingenierías de la Universidad de Medellín

One thought on “Generación Aleatoria de Ambientes Virtuales de Simulación

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s