149
Universidad Católica “Nuestra Señora de la Asunción” Facultad de Ciencias y Tecnología Departamento de Ingeniería Electrónica e Informática “Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo” Tesis de Ingeniería Informática Autor Lic. Juan Eduardo de Urraza Taverna Profesor Guía Ing. Sergio Aranda Diciembre 2001

“Utilización de Agentes Inteligentes dentro de un ámbito

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Universidad Católica

“Nuestra Señora de la Asunción”

Facultad de Ciencias y Tecnología

Departamento de Ingeniería Electrónica e Informática

“Utilización de Agentes Inteligentes dentro de un ámbito de Simulación

Microscópica de Tráfico Autónomo”

Tesis de Ingeniería Informática

Autor

Lic. Juan Eduardo de Urraza Taverna

Profesor Guía Ing. Sergio Aranda

Diciembre 2001

Agradecimientos. Esta tesis, no sólo ha sido un trabajo académico, sino dos años de crecimiento personal. Por

lo tanto, debería agradecer no sólo a las personas del ámbito universitario sino a todos los que colaboraron para que llegara hoy a ser lo que soy, y aquello en lo que me he convertido.

Sin duda debo agradecer infinitamente a Ariel por haberme acompañado todo este tiempo

como, compañero y amigo, y haber llegado juntos a buen puerto luego de tanto esfuerzo, compartiendo muchas otras cosas además de este trabajo.

A mi madre, quien con paciencia y casi a escondidas siempre me ha guiado, puesto que yo

no permito que nadie guíe mis pasos (o por lo menos no me gusta aceptar que eso ocurre). A Carla, mujer fabulosa y excelente compañera, que tanto trabajo puso sobre este libro para

hacerlo algo visualmente atractivo, y que tanto amor me ha brindado en todo este tiempo. A Sergio, por ser lo que fue conmigo. A mis amigos, que me ayudaron a pasar de la mejor manera posible todo este largo período

de trabajo. Como no, a Blizzard, Squaresoft e Interplay, por haberme dado tantas ideas y permitido que

olvide por momentos el trabajo. A usted querido lector, si encuentra interesante algo en estas páginas.

Jeu Azarru

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

3

Indice

Agradecimientos............................................................................................................................. 2 Indice ............................................................................................................................................... 3

Capítulo 1: Introducción...............................................................................................5 1.1 Objetivo General................................................................................................................. 6 1.2 Objetivos Específicos......................................................................................................... 6 1.3 Guía del Lector.................................................................................................................... 7

Capítulo 2: Teoría de la simulación..............................................................................9 2.1 Definición de simulación ................................................................................................... 9 2.2 Simulación por computadora ............................................................................................ 9 2.3 Avances de la simulación por computadora – Las APIs............................................... 9 2.4 El porqué de la simulación de tráfico ............................................................................10 2.5 Tipos de simuladores notables para este estudio..........................................................11 2.6 Clasificación de la Simulación .........................................................................................11

2.6.1 Según el contexto en el que se desenvuelve ..........................................................11 2.6.2 Según la forma en que se simula el sistema ...........................................................12 2.6.3 Según la forma de actualización ..............................................................................12 2.6.4 Según la escala y el foco de interés .........................................................................12

2.7 Terminología utilizada en el ámbito de la simulación..................................................13 2.8 Disciplinas útiles a la Simulación ....................................................................................13

2.8.1 Estadística y Probabilidad ........................................................................................13 2.8.2 Inteligencia Artificial (IA).........................................................................................14 2.8.3 Paradigma de Orientación a Objetos (OO)...........................................................14 2.8.4 Redes Neurales (NN)................................................................................................15 2.8.5 Lógica Difusa .............................................................................................................16 2.8.6 Computación Paralela y Distribuida .......................................................................16 2.8.7 Gráfica Computarizada.............................................................................................16

2.9 Análisis, verificación y validación de los simuladores..................................................16 2.9.1 Lo que incluye el Análisis Descriptivo ...................................................................16 2.9.2 Lo que incluye el Análisis Prescriptivo...................................................................17 2.9.3 Lo que incluye el análisis Post-Prescriptivo...........................................................17

Capítulo 3: Introducción a la simulación de tráfico................................................... 18 3.1 Simulador de tráfico..........................................................................................................18 3.2 Utilidad de un simulador de tráfico................................................................................18 3.3 Un entorno de trabajo básico de simulación de flujo vehicular.................................19 3.4 Análisis del marco de trabajo microscópico en la simulación de tráfico .................20 3.5 Estructuración del simulador de tráfico como Comportamiento Emergente .........22 3.6 Microsimulación de Sistemas Abiertos y Cerrados ......................................................22 3.7 Los simuladores existentes en el mundo .......................................................................23

Capítulo 4: Introducción a la Inteligencia Artificial y a los Agentes Inteligentes..... 27 4.1 Definiciones de Inteligencia Artificial............................................................................27 4.2 Categorización de los sistemas de IA según las definiciones......................................28 4.3 Agentes Inteligentes..........................................................................................................29

4.3.1 Definiciones de Agentes Inteligentes .....................................................................29 4.3.2 Definición de Agente Inteligente para nuestro caso particular ..........................31

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

4

4.3.3 Relación de la IA con los Agentes Inteligentes y temas claves en su estudio ..31 4.3.4 El problema de la selección de la acción................................................................33 4.3.5 Estructura de los Agentes Inteligentes...................................................................35 4.3.6 Relación entre los agentes y el ambiente................................................................38 4.3.7 Agentes vs. Objetos: una comparación..................................................................39

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes...................................................................................................................... 41

5.1 Aspectos generales del microsimulador.........................................................................41 5.2 El entorno de trabajo del modelo...................................................................................44 5.3 Componentes del modelo................................................................................................44

5.3.1 El Modelo de Representación del Ambiente.........................................................44 5.3.2 El modelo de Representación Físico ......................................................................55 5.3.3 El Modelo de Control de la Simulación.................................................................57 5.3.4 El Modelo de Control de Demanda y Población .................................................63 5.3.5 El Modelo de Comportamiento y Decisión ..........................................................65 5.3.6 El Modelo de Almacenamiento y Distribución de Información........................65 5.3.7 El Modelo de Visualización .....................................................................................67 5.3.8 El Modelo de Representación de las Reglas de Tráfico.......................................67 5.3.9 El Modelo de Sensores y Toma de Datos .............................................................68

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico...... 70 6.1 Acercamientos en el modelado de Agentes Inteligentes dentro de la simulación...72 6.2 Un agente Inteligente para la simulación de Tráfico....................................................76 6.3 EasyAgent, y la problemática de crear los Agentes Inteligentes para EasyTraf ......78 6.4 Arquitectura del EasyAgent.............................................................................................81

6.4.1 Módulo físico .............................................................................................................82 6.4.2 Módulo de Toma de Decisiones .............................................................................84 6.4.3 Módulo de Interrelación...........................................................................................93 6.4.4 Módulo de Planificación...........................................................................................94 6.4.5 Módulo de Conocimiento ........................................................................................96 6.4.6 Módulo de carácter....................................................................................................98

6.5 Comportamiento Emergente en el EasyAgent.............................................................98 Capítulo 7: Estudio de casos y consideraciones experimentales............................. 100

7.1 Calibración del simulador ..............................................................................................100 7.2 Simulación de un caso simple........................................................................................101 7.3 Simulación de un caso real.............................................................................................116 7.4 Análisis del rendimiento en una simulación de tráfico utilizando al EasyAgent ...120

Capítulo 8: Conclusiones.......................................................................................... 124 Aporte a la simulación por computadoras ....................................................................125 Aporte a la Inteligencia Artificial ....................................................................................126

Referencias................................................................................................................ 128 Apéndice I: Resumen de los resultados obtenidos en una simulación de prueba .. 134 Apéndice II: Tabla con resultados de la simulación de rendimiento...................... 146

Abreviaturas. ...............................................................................................................................148

Capítulo 1: Introducción

CCaappííttuulloo 11:: IInnttrroodduucccciióónn

Ley de Pugh: “Si el cerebro humano fuera lo suficientemente

simple para que pudiéramos comprenderlo, nosotros seríamos demasiado simples para lograr hacerlo”

Antiguamente, el crecimiento de las ciudades era escasamente planificado, y se iba dando

como una expansión desordenada y anárquica según las necesidades del momento. Esto ha causado problemas de todo tipo a nivel social y organizacional. Los cambios y el crecimiento demográfico de las ciudades en muchas situaciones ha causado trastornos en el tráfico automotriz, aún más al aumentar el parque motor privado y la cantidad de transporte público necesario para movilizar a toda la población a través de distancias cada vez más largas y congestionadas. Muchas de las decisiones tomadas en la administración del tráfico años atrás pueden convertirse en serios problemas y cuellos de botella que deben ser evaluados para conseguir cambios beneficiosos en el flujo vehicular. Estas decisiones suelen estar relacionadas a innumerables variables y configuraciones posibles, de las cuales hay que evaluar las más útiles, tomando una que brinde una solución del problema mejor a la actual y que continúe siendo útil en un futuro de mediano plazo [48].

Ejemplos de decisiones de este tipo pueden ser el cambio de sentidos de calles, construcción de autopistas, reducción o ampliación de carriles, agregado de semáforos o cambios en sus tiempos, prohibición de estacionar en ciertas calles, posibilidad de giro a la izquierda, uso de rotondas, pavimentación de calles empedradas, cambios en las velocidades máximas o mínimas de los carriles, construcción de viaductos, agregado de pelícanos, transformación de calles en peatonales, y muchos otros casos semejantes [44].

Lastimosamente, realizar pruebas de campo sobre diferentes posibilidades de flujo vehicular puede ser costoso (se necesita tener a un equipo especializado de gente realizando pruebas y midiendo los resultados por días o semanas en diferentes horarios), engorroso (hay que llevar un detallado recuento de estadísticas evitando errores en conteos que muchas veces suelen ser manuales, además que si se necesitan medir casos especiales, como condiciones climáticas adversas, se debe esperar hasta que la naturaleza colabore con el experimento), problemático (ciertos parámetros son difíciles de obtener, como velocidades y aceleraciones promedio, tiempo de viaje, tiempo medio de espera, etc.) e inclusive peligroso (por ejemplo, hacer pruebas de cambios de sentidos de calles puede ser confuso para los conductores y causa de accidentes). Es por esto que desde hace varias décadas se han ido creando modelos de simulación a través de computadoras que pudieran asistir a los ingenieros de tráfico en sus funciones, permitiendo corroborar o rectificar teorías y alternativas de tráfico propuestas a un costo bajo y con cada vez mayor fiabilidad [11].

Un simulador de tráfico que quiera ser lo suficientemente realista para realizar experimentos y validaciones sobre modelos de flujo vehicular en una red de carreteras, necesita modelar esos flujos en forma certera, normalmente mediante un acercamiento microscópico [32]. Esto implica que el simulador debe modelar cada vehículo circulante como una entidad individual. Por lo tanto, se deben crear perfiles de conductores, con diferentes comportamientos, preferencias, motivaciones, conocimientos y actitudes.

Muchos simuladores utilizan meras estructuras matemáticas o modelos simplificados del comportamiento humano para realizar la simulación [6, 25, 27, 28, 30], en especial debido al hecho de que la interacción de muchos entes independientes puede llevar a una complejidad de

Capítulo 1: Introducción

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

6

cálculo intratable. Para que los resultados de la microsimulación sean confiables, se necesita que el nivel de detalle de la misma satisfaga condiciones especiales. Una microsimulación con escaso nivel de detalle, o con meros índices y promedios, no sirve para prever el comportamiento real de los flujos de vehículos [12, 17, 32, 42, 44, 61]. La microsimulación normalmente utiliza cientos o miles de vehículos autónomos dentro de grandes áreas geográficas.

Por otro lado, versiones más complejas de entidades inteligentes han sido utilizadas con éxito en simulaciones interactivas, con pocos individuos, para lograr un mayor impacto de realismo sobre la persona que se sumerge en la simulación o para conducir automóviles robóticos en escenarios reales [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 26, 27, 28, 42, 71, 86, 87, 88]. La simulación interactiva requiere el uso de un microsimulador de pequeña escala (unas cuadras a la redonda), pero con una fidelidad extrema, puesto que el humano que conduce no debe notar fallos en el comportamiento o en las acciones de los componentes del ambiente que lo rodea. Aquí se utilizan a lo más decenas de vehículos inteligentes, pero simulados a gran nivel de detalle.

Lo que aún queda pendiente en el estado actual de la investigación sobre simulaciones es la implementación de Agentes Inteligentes dentro del ámbito de la simulación microscópica, ampliables al uso de simulaciones interactivas.

La simulación microscópica puede realizarse en Tiempo Real [3] o en Pasos de Tiempo [22]. La simulación en Tiempo Real siempre ha sido difícil de utilizarse con Agentes Inteligentes, debido a sus requerimientos estrictos de tiempo, pero en la simulación de pasos, al no existir estos requerimientos (pudiendo durar la simulación inclusive un tiempo mayor al real) ocurre lo contrario. Las nuevas tecnologías en computadoras personales [2, 4, 11, 23, 24, 33, 34, 35, 43] y redes de computadoras [9, 10, 23, 24, 38, 39, 40, 41] permiten realizar simulaciones complejas con un mayor número de entidades circulando sin la necesidad de utilizar supercomputadoras para el efecto, por lo que este es un momento clave para el uso de Agentes Inteligentes en un simulador microscópico, tema que demuestra ser un motivo de investigación importante.

La Municipalidad de la ciudad de Asunción se mostró sumamente interesada en el proyecto llevado adelante a través de esta tesis y la de Ariel Romero [95] y colaboraron brindando datos realistas de entrada para el simulador y verificando que los resultados obtenidos fueran acordes a la realidad. Su aporte y su aprobación respecto a la calidad del simulador y el correcto modelado de los agentes de software fue de gran importancia en la consecución de los objetivos propuestos.

1.1 Objetivo General Verificar la utilidad de los Agentes Inteligentes dentro del ámbito de la simulación

microscópica, en este caso en particular, la de tráfico automotriz. 1.2 Objetivos Específicos

� Realizar un diseño modular y reutilizable de Agentes Inteligentes dentro del ámbito estudiado, capaz de sincronizarse con un simulador microscópico a través de una interfaz bien definida.

� Modelar correctamente el comportamiento de los conductores dentro de las calles, siguiendo patrones de conducta diferentes según la personalidad de cada uno.

Capítulo 1: Introducción

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

7

� Revisar las posibilidades de orientación a objetos útiles para la modelización de los agentes. � Desarrollar protocolos de comunicación entre los Agentes que comparten el mundo

virtual, expandibles a sistemas distribuidos. � Evaluar la acción de los Agentes en situaciones críticas o fuera de lo normal, así como sus

reacciones y decisiones ante dichos eventos. � Evaluar las relaciones entre Agentes y la forma en que juntos logran crear situaciones

generales sin una programación directa de ellas (comportamientos emergentes). � Estudiar técnicas de Inteligencia Artificial sobre toma de decisiones y modelos de

representación del conocimiento. � Verificar las capacidades de las nuevas PCs para la realización de simulaciones importantes,

campo hasta ahora concedido a las supercomputadoras. El Objetivo General se alcanzó diseñando un modelo específico de Agente Inteligente con

características bien definidas (a discutirse en capítulos posteriores) que se utilizó dentro del simulador EasyTraf [95] para así evaluar tanto la correctitud de su comportamiento como el costo en rendimiento que implicó su uso. Por lo tanto se analizaron las propuestas existentes y se extrajeron ideas de ellas para crear un modelo útil, liviano y adecuado al ámbito de software con el que se trabajan los agentes diseñados.

Los agentes inteligentes modelados son conceptualmente útiles para ser utilizados en dos ámbitos importantes: La microsimulación, y la simulación interactiva, aunque esta tesis se basa en experiencias únicamente del primer caso (para evaluar el segundo caso es necesario un simulador interactivo compatible con el modelo EasyTraf, el cual no existe aún).

Se realizaron numerosas simulaciones de casos específicos con diferentes grados de complejidad, evaluando el correcto funcionamiento del agente en cada una de ellas, desde los puntos de vista del planeamiento, la respuesta inmediata a peligros, toma de decisiones acertadas, reacción a cambios del ambiente, uso de experiencias anteriores, y cumplimiento de expectativas, así como su rendimiento computacional, para obtener los resultados aquí expuestos.

Además se llevó a cabo una simulación de importancia asistidos por profesionales e ingenieros de tráfico de la Municipalidad de Asunción, quienes nos brindaron los parámetros exactos de entrada según sus mediciones y verificaron la correctitud de los resultados de la salida del simulador.

Finalmente se realizó un análisis de rendimiento del simulador y del uso de los Agentes Inteligentes en el mismo, con la obtención de importantes resultados para brindar una respuesta al problema estudiado.

1.3 Guía del Lector Para facilitar la lectura de este libro de tesis, a continuación se presenta una guía con la

descripción de cada uno de los capítulos posteriores, de tal manera que el lector pueda decidir cuales son los capítulos de interés para él y cuales son los puntos más resaltantes de cada uno.

En el capítulo 2 se brinda una introducción a la teoría de la simulación. La misma es muy

necesaria, puesto que sus conceptos serán utilizados a lo largo de todo el resto del trabajo. Se realiza una definición de la misma, de su terminología, utilidad, campos de investigación y las diferentes clasificaciones que tiene.

Capítulo 1: Introducción

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

8

El capítulo 3 brinda un estudio pormenorizado de la simulación de tráfico, la cual es el caso particular de estudio de esta tesis. Se analizan las diferentes propuestas existentes y la utilidad de la microsimulación en el análisis de tráfico automotor.

El Capítulo 4 trae consigo una rápida introducción a los conceptos fundamentales de

Inteligencia Artificial necesarios para poder valorar este trabajo de tesis, y luego se sumerge en el estudio de los Agentes Inteligentes, sus definiciones, usos, diseños, estado del arte, construcción y características deseadas de los mismos. Aquí se provee una definición propia de lo que es un Agente Inteligente para nuestro caso de estudio particular. También se brindan algunos ejemplos y se analiza su utilidad en el campo de la microsimulación como modelo de toma de decisiones simple, rápido, seguro y útil.

Lo que se describe en el Capítulo 5 es al simulador EasyTraf, diseñado especialmente para

realizar microsimulación con entidades inteligentes conduciendo en el tráfico. Se explica su estructura, funcionamiento, capacidades, limitaciones y todo lo requerido para describir su funcionamiento, puesto que es el marco en el que los Agentes Inteligentes diseñados actuarán, y estarán limitados por él.

El capítulo 6 estudia ya propiamente el diseño y la utilización de Agentes Inteligentes como

entidades que representan a la toma de decisiones de conductores en un sistema de tráfico, y su aplicación en la microsimulación. Se analizan las propuestas existentes en el mundo de agentes que cuadran en uno u otro aspecto con los requerimientos de nuestro agente en cuestión y se diseña un agente completamente nuevo tomando las premisas de lo ya existente y agregando elementos propios y únicos. Luego se estudia la problemática de la toma de decisiones en ambientes dinámicos y poblados por otras entidades como es el tránsito vehicular y también se estudian las restricciones propias de EasyTraf, así como los métodos de interconexión entre el simulador y las entidades inteligentes. Posteriormente se presenta el modelo de agente implementado (al cual denominamos “EasyAgent”) y su definición modular, con una descripción profunda del funcionamiento interno de cada módulo y de su relación con los demás módulos, con el simulador y con otros agentes similares. Finalmente se analiza el comportamiento emergente como una realidad propia de los Agentes Inteligentes y como afecta éste al EasyAgent.

En el Capítulo 7 se realiza el estudio de casos prácticos y de simulaciones ya con el agente

propuesto dentro del marco EasyTraf. En primera instancia se realizaron pruebas de Simulación simples para comprobar el correcto funcionamiento del Agente, de las cuales se presentaron varios ejemplos descriptivos. Luego, con ayuda de expertos de la Municipalidad de Asunción se realizó una simulación de un caso de estudio real para comprobar la correctitud del simulador y de los agentes. Finalmente se realizó un análisis de rendimiento y de incidencia del uso de Agentes Inteligentes en una simulación con computadoras de escritorio, y se obtuvieron resultados de gran interés teórico-prácticos.

Finalmente, en el capítulo 8 se presentan los resultados obtenidos en este trabajo de tesis y

los trabajos futuros que podrían realizarse en cuanto a lo investigado y desarrollado. Por último, se tienen los apéndices con tablas y resultados de simulaciones para quienes

tengan un interés de ver más en detalle lo descrito en los capítulos anteriores.

Capítulo 2: Teoría de la Simulación

9 Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

CCaappííttuulloo 22:: TTeeoorrííaa ddee llaa ssiimmuullaacciióónn

Ley de Gilb acerca de la falta de confiabilidad: “No se debe confiar en las computadoras,

pero menos aún en los seres humanos” 2.1 Definición de simulación En general, el término simulación hace referencia a aquello que permite enfrentar un

problema trabajando con una imitación del mismo en vez de lidiar con el problema real [1]. 2.2 Simulación por computadora La simulación por computadora es aquella disciplina que involucra por un lado, diseñar el

modelo de un sistema físico-teórico o real y por otro ejecutar el modelo en una computadora digital, valiéndose luego de los resultados del mismo para fines bien determinados [10].

La misma se utiliza cuando las pruebas sobre el sistema real no son factibles porque sobrepasan los límites aceptables de tiempo, costo y/o seguridad de las personas. Se desarrolla entonces un modelo matemático para el sistema físico utilizando las leyes físicas que describen el problema. Este modelo es luego traducido en términos de un programa de computadora para generar la solución del problema. Este programa en ejecución representará entonces una aproximación discreta al sistema en el mundo real [1].

Como toda disciplina, puede dividirse en Metodología y Aplicaciones. La simulación cuenta con un núcleo teórico de conocimiento que es independiente del mundo de las aplicaciones. Esta teoría se aplica a tres sub-campos de la simulación: Diseño del modelo, ejecución del modelo y análisis de la ejecución.

2.3 Avances de la simulación por computadora – Las APIs El campo de la simulación por computadoras es de alrededor de 40 años de antigüedad, y

aún está en un continuo crecimiento. Al desarrollarse hardware cada vez más rápido, con arquitecturas optimizadas y con mayores capacidades, las viejas formas de simulación han progresado notoriamente y nuevos métodos de simulación emergen con prestaciones antes inimaginables [10].

Tradicionalmente los equipos y costos de desarrollo han sido muy altos para simulaciones con capacidades y realismo adecuados, pero los avances en las PCs y las tecnologías asociadas han reducido dramáticamente los costos de crear ambientes realistas virtuales. Nos encontramos en un momento en el que existe la posibilidad de crear simuladores accesibles, basados en arquitecturas de microcomputadoras con componentes estándares, para aplicaciones que tradicionalmente requerían sistemas basados en estaciones de trabajo de muy alto costo, supercomputadoras o equipos específicos para simulación con dispositivos gráficos especiales [2, 4, 11, 23, 24, 33, 34, 35, 43]. Además, los nuevos sistemas operativos (Windows NT, Linux, OS/2), lenguajes orientados a objetos (C++, Java, SHIFT [37]), bibliotecas de todo tipo aplicables a la simulación (C++SIM [36], SLX [38]) y APIs gráficas estándares (MESA, OpenGL, DirectX, Fahrenheit), proveen facilidades en la programación que llevan a ahorrar miles de horas/hombre en el desarrollo de nuevos simuladores.

Capítulo 2: Teoría de la Simulación

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

10

Los elementos de ingeniería de software, tiempo de desarrollo de código fuente y facilidad de mantenimiento eran un problema en las microcomputadoras. Las demandas de alto rendimiento no permitían explotar los beneficios de las APIs independientes de la máquina, exigiendo el desarrollo de programas centrados en quitar el máximo provecho a la computadora y no en obtener los resultados más convenientes de una técnica de simulación. Sin embargo, para que un sistema de software sea de mantenimiento sencillo se debe proveer una solución que sea portable y re-utilizable [35]. El objetivo debe ser asegurar que el costo de desarrollo del sistema se mantenga alrededor de un nivel mínimo sobre el ciclo completo de vida. El uso de APIs estándares reduce el costo total sobre su tiempo de vida. A pesar de que el remover código fuente para pasarlo a una interfaz de alto nivel puede causar una sensible degradación en el rendimiento, el continuo avance del hardware y uso de nuevas técnicas compensa esta pérdida.

A esto se suma la ventaja de que el hardware puede ser actualizado sin reescribir software, lo que en otro caso hubiera significado un costo muy alto como para mantener proyectos de simulación. La abstracción del hardware a través del uso de manejadores de dispositivos e interfaces de aplicación es necesaria para asegurar que el código sea portable entre dispositivos de hardware. El grado de maduración de los sistemas operativos para microcomputadoras actuales permite contar con este tipo de requerimientos.

2.4 El porqué de la simulación de tráfico La mayoría de las veces es peligroso y hasta imposible realizar experimentos con sistemas

reales. Para las simulaciones interactivas ciertas pruebas experimentales requerirían de prototipos costosos, que inclusive podrían destruirse durante el experimento, especialmente en los casos donde el resultado del experimento es incierto.

Los modelos de simulación son por lo general más baratos y seguros que la realidad que éstos simulan. Dado que estos modelos son una descripción adecuada1 de la realidad, experimentar con ellos producen los mismos resultados deseables al experimentar con la realidad sin poner en peligro grandes inversiones ni la seguridad de las personas, permitiendo inclusive realizar pruebas sobrepasando los límites de seguridad que el experimento impone en la realidad [1, 3, 10, 11].

Respecto a la simulación de tráfico, la realización de pruebas de campo sobre diferentes posibilidades de flujo vehicular puede ser: � Costoso: Se necesita tener a un equipo especializado de gente realizando pruebas y

mediciones por días o semanas en diferentes horarios. � Engorroso: Hay que llevar un detallado recuento de estadísticas evitando errores en

conteos que muchas veces suelen ser manuales. Además, la investigación bajo situaciones especiales como fenómenos climáticos, congestión de vías de acceso, accidentes y otros, obligan a retrasar el avance de las pruebas hasta que se den las condiciones requeridas.

� Problemático: Ciertos parámetros son difíciles de obtener, como velocidades y aceleraciones promedio, tiempo de viaje, tiempo medio de espera, etc.

� Peligroso: El nivel de desconocimiento de la vía por la que se circula es normalmente uno de los indicadores probabilísticos a favor de los accidentes. Realizar pruebas no permanentes de señalizaciones, semáforos y cambios de sentidos de calles puede resultar confuso para los conductores y causar accidentes.

1 Cuando se dice “descripción adecuada” se hace referencia al nivel de precisión particular deseado para lograr los objetivos de la experimentación.

Capítulo 2: Teoría de la Simulación

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

11

Debido a todos estos problemas que se utilizan cada día más los simuladores de tráfico. Hace más de una década, la simulación era considerada el último recurso2 a ser utilizado para resolver un problema; hoy en día, dados los adelantos tecnológicos en la rama digital, los bajos costos y sobre todo la gran disponibilidad de esta tecnología, ella es considerada en muchos casos una herramienta de primera mano [3].

2.5 Tipos de simuladores notables para este estudio Simulador de Conducción: Un simulador de conducción es un tipo de simulador que

permite sumergir a una persona en un entorno irreal de tal manera que conduzca algún tipo de vehículo dentro del ambiente simulado, de la forma más realista posible, de tal manera que se puedan evaluar diferentes ejercicios o pruebas a realizarse sobre el sujeto. Un simulador de conducción posee una gran cantidad de aplicaciones, tanto con fines de entrenamiento de personas, investigación y diseño de vehículos.

Todo simulador de conducción tiene los siguientes componentes [12]:

� Un simulador de la física del modelo del vehículo y de la superficie de la pista. � Un simulador del entorno, incluyendo otros vehículos y el entorno de éstos. � Un sistema que permite al operador interpretar el estado del modelo, proveyéndole de la

retroalimentación sensorial necesaria. � Un conjunto de dispositivos de control del vehículo

Simulador de tráfico: Herramienta ampliamente utilizada por ingenieros de tráfico para

evaluar posibles modificaciones a las vías de circulación vehicular, configuraciones alternativas de señalización, construcción de vías nuevas y en general, cualquier tipo de innovación que aún no se ha puesto en marcha. Para que los resultados sean los correctos, se necesita que las predicciones sean precisas. El capítulo 3 trata en profundidad a la simulación de tráfico.

2.6 Clasificación de la Simulación 2.6.1 Según el contexto en el que se desenvuelve

� Simulación por Análisis Matemático: Modelo matemático que representa un fenómeno a simular. Parte del uso correcto de teorías probabilísticas y matemáticas para reproducir un sistema de forma abstracta, obteniendo del mismo una serie de valores que expresan cuantitativamente el resultado esperado y en base al cual se puede luego obtener conclusiones válidas.

� Simulación en Tiempo Real: Aquella donde se requiere que la ejecución del programa de computadora de un modelo de proceso dinámico ocurra en el tiempo del mundo real, es decir, ni más rápido ni más despacio que el fenómeno a simular, representándolo tal como ocurre en la realidad [3]. Esta forma de simular ofrece una representación mucho más realista y tangible del sistema a simular, permitiendo una evaluación tanto cualitativa como cuantitativa de los resultados, que a la vez son mucho más fáciles de deducir. Esta es una técnica por la cual un sistema físico puede ser representado matemáticamente por un programa de computadora para resolver un problema.

2 “Último recurso” en el sentido de agotar cualquier otra posibilidad previamente a la implementación de un simulador, dados los costos y las dificultades que significaban para el proyecto.

Capítulo 2: Teoría de la Simulación

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

12

2.6.2 Según la forma en que se simula el sistema

� Batch Processing: Cuando las entradas de control para el sistema pueden predeterminarse y programarse. Estas entradas son pasadas a una computadora junto con el programa que realiza la simulación para su ejecución en una serie de casos también predeterminados. El programa entra en ejecución tan rápido como la computadora permita hasta devolver los resultados esperados [3].

� Human-In-The-Loop: En los eventos donde las entradas de control necesarias para la simulación son por naturaleza dinámicos o no pueden estar predeterminados, el término simulación es aplicable solo a aquella que involucra restricciones de Tiempo Real. Esta forma requiere una correspondencia estricta entre el tiempo del programa de computadora y el tiempo del mundo real. Igualmente se requiere que las entradas de control estén sincronizadas en el tiempo y no pueden representar proporciones bajo alguna escala de tiempo. Esta forma de simular también recibe el nombre de Pilot-In-The-Loop [3].

� Hardware-In-The-Loop: Aplicable a eventos con las mismas restricciones que en la simulación Human-In-The-Loop, con la diferencia que se implementa algún proceso o dispositivo que hace las veces de órgano de control, suficientemente realista como para que suplante (simule) al órgano de control del sistema real. Esta forma de simular también recibe el nombre de Computer-In-The-Loop [3].

2.6.3 Según la forma de actualización

� Actualización basada en el Tiempo: El modelo se actualiza regularmente cada cierto intervalo de tiempo. El Tiempo de Simulación avanza previo a cada actualización, y cada una de estas busca cambiar el estado actual del modelo tal que sea válido, o sea, se corresponda con el Tiempo de Simulación actual. El intervalo de actualización puede ser único si existe un solo modelo o múltiple si existen varios modelos, cada uno con un intervalo propio [22].

� Actualización basada en Eventos Discretos: Son sistemas dinámicos que evolucionan en el tiempo por medio de la aparición de eventos en intervalos de tiempo no regulares. Este arribo de eventos altera el sistema causando que el mismo pase de un estado a otro [22].

2.6.4 Según la escala y el foco de interés

� Microsimulación: Cuando se analiza un fenómeno a nivel de grandes cantidades de elementos cuyas dimensiones y factores descriptivos son notablemente menores al área del fenómeno descrito, siendo más relevante el comportamiento y la tendencia global antes que la descripción minuciosa de cada uno de los elementos componentes [1, 10, 64].

� Macrosimulación: Cuando las dimensiones de los elementos y los factores que envuelven al sistema son todos notables a un alto nivel de precisión. En este tipo de sistemas convencionales interesa conocer todos los más íntimos detalles de una cantidad normalmente reducida de elementos y factores que rodean al fenómeno simulado [64].

� Mesosimulación: Cuando se analiza un fenómeno considerando un nivel intermedio entre las escalas mencionadas con anterioridad. En este caso, la simulación no se centra en una situación o en un sistema definido, sino que hace hincapié en el análisis de un grupo de

Capítulo 2: Teoría de la Simulación

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

13

elementos bien determinados con el objetivo de conocer sus reacciones y darles un seguimiento completo desde que entran y hasta que salen del sistema [64].

� Nanosimulación: Es un tipo especial de microsimulación donde el objetivo se centra en el análisis del comportamiento humano. En este campo interesa la descripción sistemática de las debilidades del sistema de percepción y reacción humano.

2.7 Terminología utilizada en el ámbito de la simulación

� Estado: Una variable que caracteriza un cierto nivel o valor descriptivo del sistema. � Evento: Un suceso que incide en un punto del tiempo que tiene la capacidad de alterar el

estado del sistema. � Entidad: Todo objeto identificable que es reconocido por el modelo como parte

integrante del sistema. � Cola: Referente a una lista de entidades o tareas en espera de ser atendidas

sistemáticamente por el modelo. � Creación: Relativo al arribo de una nueva entidad o tarea al sistema en algún momento

futuro. � Planificar: Asignar un evento futuro a una entidad existente. � Inicialización: Mecanismo que establece el estado inicial de la simulación. � Dinámica del Sistema: Estudio riguroso de problemas en el comportamiento de

sistemas, utilizando principios de retroalimentación, dinámica y simulación caracterizado por una búsqueda de soluciones útiles a problemas reales en su entorno por medio de modelos de simulación por computadora tal que se pueda comprender mejor el problema y encontrar vías de solución. Los modelos de simulación se basan en modelos mentales, cualitativos y técnicas numéricas [1].

2.8 Disciplinas útiles a la Simulación 2.8.1 Estadística y Probabilidad Provee técnicas matemáticas para comprender los datos resultantes de una simulación. A

continuación se definen los términos más utilizados para el presente estudio: � Espacio muestral: Dominio sobre el cual se ejercen los estudios estadísticos [1]. � Variable Aleatoria: En muchas situaciones experimentales se desea asignar un número

real x a cada uno de los elementos s del espacio muestral S. Esto es, x = X(s) es el valor de una función X del espacio muestral a los números reales. Sea un experimento ε y S el espacio muestral asociado con el experimento. Una Función X que asigna a cada uno de los elementos s ∈ S, un número real X(s), se llama variable aleatoria [73].

� Función de probabilidad: Sea X una variable aleatoria discreta. Por tanto, el numero de valores posibles de X (esto es Rx, el recorrido) consta a los más de un número de valores, x1, x2, x3 .... infinito numerable. Con cada resultado posible xi asociamos un número p(xi) = P(X = xi), llamado la probabilidad de xi siempre que: p(xi)≥0 ∀i Σi

∞=1 p(xi) = 1

entonces p es la funcion de probabilidad de X [73].

Capítulo 2: Teoría de la Simulación

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

14

� Distribución: La regla que gobierna las características probabilísticas de una variable aleatoria [1].

� Proceso Estocástico: Es una colección de variables aleatorias {X(t),t∈T}, todas definidas bajo un espacio muestral probabilístico común donde X(t) representa al estado para el cual t es un índice de tiempo del conjunto T [1].

� Esperanza: Referida al valor promedio esperado de una variable aleatoria. Formalmente, sea X una variable aleatoria y sea Y = H(X) una variable aleatoria discreta con valores posibles y1, y2... y sea q(yi) = P(Y = yi), entonces la esperanza de Y esta dada por: E(Y) = Σi

∞=1 yi q(yi) [73]

� Varianza: Número que establece el promedio de los cuadrados de la desviación estándar en torno a la media. Formalmente, sea X una variable aleatoria. La Varianza de X denotada con V(X) y σ2

x esta dada por: V(X) = E[X – E(X)]2 [73]

� Desviación estándar: Número que indica qué tanto, en promedio, cada valor en una distribución se desvía de la media (o centro) de la distribución. Esta dada por el cuadrado de la Varianza y se denota con σx [73]

� Distribución del muestreo: Describe probabilidades asociadas con valores estadísticos cuando una muestra aleatoria es extraída del espacio muestral.

� Estimación: Es el proceso por el cual se utilizan datos de muestra para indicar el valor de una cantidad desconocida en una población.

2.8.2 Inteligencia Artificial (IA) Ciencia que permite introducir a los modelos de simulación el uso del lenguaje natural y del

conocimiento cualitativo. La mayoría de los procesos humanos involucran el intercambio de conocimiento por medio

del lenguaje natural, por lo que se debe contar con un mecanismo de traducción de información cualitativa a las estructuras de los sistemas artificiales, que manejan información cuantitativa. Este mapeo cualitativo-cuantitativo es mejor tratado utilizando técnicas de IA.

La IA también brinda un marco acabado respecto a la codificación del proceso de toma de decisiones: La simulación involucra una continua toma de decisiones dado el estado del sistema. Las decisiones más correctas pueden ser guiadas por sistemas de búsqueda, reglas y modelos matemáticos, así como por sistemas expertos o Agentes Inteligentes [10].

2.8.3 Paradigma de Orientación a Objetos (OO) El objetivo central de la simulación consiste en encontrar el mapeo más efectivo entre el

mundo real con sus objetos3 y un programa de computadora. La forma más directa de obtener un modelo que logre este mapeo es utilizar un lenguaje de programación que permita la definición de objetos abstractos tal que éstos se correspondan con los objetos reales.

Los mayores beneficios de la programación orientada a objetos incluyen la reutilización del software, un mantenimiento más fácil, interoperabilidad y la creación rápida de prototipos [46].

Además, el uso de objetos se ha demostrado útil para paralelizar procesos de simulación en el que múltiples entidades pueblan un ambiente, y sus cálculos pueden distribuirse en una red de computadoras [64]. 3 El mundo real representa la escena y el ambiente, y sus objetos representan los actores y agentes que se desenvuelven en ella e interactúan entre sí [10].

Capítulo 2: Teoría de la Simulación

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

15

Los dos mayores acercamientos para la reutilización de código en los diseños orientados a objetos con la herencia de clases y la composición de objetos. Cada acercamiento tiene sus ventajas y desventajas. � Herencia: La herencia permite que subclases extiendan y especialicen una clase padre

agregando datos, métodos, y permitiendo el uso del polimorfismo. Las clases generales se ponen más arriba en la jerarquía de herencia y los objetos especializados más abajo, por lo que muchas subclases pueden reutilizar a la clase padre. Sin embargo, la herencia rompe la encapsulación exponiendo la implementación de la clase padre a sus subclases. Cambios en la implementación de la clase padre normalmente implica cambios en las subclases. Problemas de herencia múltiple y los requerimientos de compilación diluyen el valor de la herencia para la reutilización. La herencia promueve las dependencias implementativas.

� Composición de objetos: La composición de objetos es la construcción de una clase utilizando instancias de otras clases como componentes. Debido a que las clases componentes son accedidas a través de su interfaz (métodos públicos), la encapsulación no se rompe y existen menos dependencias de implementación. La composición de objetos, sin embargo, es más difícil. Requiere que las clases componentes tengan interfaces bien definidas para promover la reutilización. Además, los objetos deben respetar esas interfaces ya que no se tienen detalles de su implementación. Finalmente, la composición de objetos hace que tengamos numerosas y pequeñas clases componentes, ya que cada componente debe realizar pocas tareas. Esto usualmente requiere muchas interrelaciones entre las clases componentes que normalmente se encapsularían en una clase mayor.

La modelización en este paradigma no desecha por completo el paradigma imperativo. Enfocar el diseño por medio de objetos no elimina el provecho que pueda quitársele a procesos y actividades, ya que estos últimos permiten modelar las transiciones de estados como parte del comportamiento de los objetos de una forma natural.

La orientación a objetos permite además crear metáforas del mundo real para ciertas tareas, mediante estructuras de datos y procesos que permiten representarlas de forma abstracta. Luego, estas metáforas pueden ser insertadas dentro de programas en los cuales sólo será necesario definir el contexto en el cual la metáfora se desempeñará, evitando así entrar en sus detalles implementativos.

2.8.4 Redes Neurales (NN) Existen dos aproximaciones utilizadas en la aplicación de las redes neurales a la simulación:

� Como un modelo de comportamiento para vincular la entrada de un sistema genérico con su salida. La red neural actúa como repositorio de comportamiento de cualquier sistema.

� Como un modelo de la actividad del cerebro y del comportamiento humano. El sistema en cuestión cumple el papel de elemento pensante, y su modelo se somete a validación por medio de la contrastación respecto a datos empíricos obtenidos bajo experimento.

Las redes neurales son ampliamente utilizadas en aquellos campos donde se desea captar la esencia de ciertos sistemas [10], o donde se considera muy dificultoso o costoso determinar el estado de un sistema mediante mecanismos convencionales. El principal efecto negativo respecto a la simulación es el costo computacional que implica, lo que lo vuelve prohibitivo para la mayoría de los simuladores, especialmente si éstos tienen restricciones de tiempo real.

Capítulo 2: Teoría de la Simulación

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

16

2.8.5 Lógica Difusa Complementa la utilización de redes neurales con las mismas aplicaciones. La idea de la

lógica difusa es la de aproximar el proceso de toma de decisión humano en términos del lenguaje natural en vez de términos cuantitativos clásicos. Se crea entonces un modelo de simulación comportamental equivalente a un modelo probabilístico, pero asumiendo que no se cuenta con suficientes indicadores como para valerse de la estadística.

2.8.6 Computación Paralela y Distribuida La simulación normalmente genera demasiada carga en la computadora en la cual el modelo

se ejecuta. Para acelerar la ejecución del modelo y optimizar el uso de la arquitectura de la computadora se recurre normalmente a la paralelización de algoritmos. Además, los procesos pueden distribuirse en varias computadoras interconectadas entre sí para lograr un mayor rendimiento [10]. De esta manera se permite además distribuir el modelo entre un conjunto de computadoras especializadas en determinadas tareas, logrando así un sistema colaborativo de alta eficiencia. Las desventajas de utilizar estas técnicas residen en la necesidad de modelar el problema de forma tal que las tareas puedan fraccionarse, sincronizarse, controlar la carga de cada nodo, reducir la dependencia entre las partes, reducir la carga del medio de comunicación considerando el retraso que generan y solucionar problemas respecto a las restricciones de tiempo. Además debe existir un mecanismo que guíe y regule la localización de los datos, así como su consistencia [10].

2.8.7 Gráfica Computarizada Los resultados de cualquier simulación pueden ser entendidos fácilmente en muchos casos

con la simple revisión de una salida gráfica, ya sea en forma de tablas o diagramas, o a través de gráficos dinámicos que muestran la evolución del sistema a través del tiempo.

En simuladores interactivos, la calidad gráfica y velocidad de respuesta permiten que la simulación sea una mejor experiencia y se aproveche mejor.

2.9 Análisis, verificación y validación de los simuladores Un simulador es una representación del mundo en una forma disminuida y controlada.

Como tal, puede contener errores tanto de concepto como de implementación, que deben ser cuidadosamente revisados. El análisis de sensitividad trata con la evaluación de las medidas de rendimiento respecto a los parámetros de interés, provee guía para el diseño y las decisiones operacionales, además juega un papel muy importante en la identificación de los parámetros más significativos, así como en los cuellos de botella de los subsistemas. Existen tres procesos de análisis básicos [1]:

2.9.1 Lo que incluye el Análisis Descriptivo

� Identificación y formulación del problema: Identificar las entradas controlables y no controlables, identificar las restricciones a las que están atadas las variables, definir la medida del rendimiento del sistema y una función objetivo, desarrollar una estructura preliminar del modelo para interrelacionar las entradas y la medida de rendimiento.

Capítulo 2: Teoría de la Simulación

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

17

� Recolección de datos y análisis: Independientemente del método utilizado para recoger los datos, la decisión de cuanto recoger es un trade-off entre costo y certeza.

� Desarrollo del modelo de simulación computarizado: Adquirir suficiente entendimiento del sistema para desarrollar un modelo conceptual, lógico y de simulación apropiado es una de las tareas más difíciles en el análisis de la simulación.

� Validación del modelo: Se puede dividir en tres tipos: Ø Validación: Está interesada en la correspondencia entre el modelo y la realidad. El

término validación se aplica a aquellos procesos que buscan determinar si una simulación es o no correcta respecto al sistema real, comparando la salida del modelo con el comportamiento del fenómeno.

Ø Verificación: Enfoca la consistencia interna del modelo La verificación revisa si la implementación del modelo de simulación corresponde a la realidad, comparando el código programado con el modelo para asegurar que ese código es la correcta implementación del modelo.

Ø Calibración: Revisa si los datos generados por la simulación cuadran con los observados. Consiste en poner a punto los parámetros existentes respecto a los verdaderos resultados sin agregar nuevos parámetros.

� Análisis de entrada y salida: Realiza un chequeo intensivo en los datos de entrada incluyendo variables externas, aleatorias y determinísticas.

� Evaluación del rendimiento del simulador. 2.9.2 Lo que incluye el Análisis Prescriptivo Optimización: Requiere una simulación intensiva para construir una función de

aproximación de la respuesta. 2.9.3 Lo que incluye el análisis Post-Prescriptivo Estimación de la sensitividad: Necesario para comprender las relaciones significativas

entre los objetos o datos de modelos complicados.

Capítulo 3: Introducción a la Simulación de Tráfico

18 Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

CCaappííttuulloo 33:: IInnttrroodduucccciióónn aa llaa ssiimmuullaacciióónn ddee ttrrááffiiccoo

Ley de la conducción según Lovka:

“No hay tráfico hasta que se necesita doblar a la izquierda” 3.1 Simulador de tráfico Herramienta ampliamente utilizada por ingenieros de tráfico para evaluar posibles

modificaciones a las vías de circulación vehicular, configuraciones alternativas de señalización, construcción de vías nuevas y en general, cualquier tipo de innovación que aún no se ha puesto en marcha o que se desea evaluar.

3.2 Utilidad de un simulador de tráfico Existen numerosos ejemplos y citas de los usos de un simulador de tráfico [3, 5, 6, 9, 11, 12,

27, 42, 43, 44, 50, 64, 86, 87], por lo que he preparado un resumen estructurado de los mismos: � Evaluación de toma de decisiones sobre cambios de infraestructura: Mediante la

simulación podemos evaluar todos los aspectos una zona determinada mediante tráfico realista dinámico que la surque. Así se pueden simular los efectos de reducir o ampliar carriles, agregar semáforos, analizar el giro a la izquierda en avenidas, agregar o eliminar rotondas, pavimentar calles, construir viaductos, agregar cruces peatonales, etc. Los resultados de estas simulaciones pueden ser la base para el desarrollo de proyectos de mejoramiento vial.

� Simulación del efecto de las medidas de control como: Se puede evaluar el impacto en la circulación vehicular al modificar límites de velocidad, franjas de adelantamiento para camiones, restricciones de cambio de carril, cambio del sentidos de calles, prohibición de estacionar en zonas problemáticas, cambio de velocidades máximas y mínimas permitidas en arterias o avenidas o modificación de tiempos de semáforos.

� Simulación en situaciones especiales: Se puede configurar el simulador para que se ajuste a parámetros especiales poco comunes o difíciles de conseguir en la realidad, como ser lluvia intensa, niebla, clausura de calles, grandes movimientos de automóviles debido a eventos, etc.

� Detección de los núcleos de congestión, y de los motivos de su formación: Mediante un simulador es fácil detectar cuellos de botella causantes de congestionamientos y realizar pruebas de diferentes estrategias que ayuden a minimizarlos.

� Disminución de costos: La simulación permite minimizar los costos debido a que no se necesita efectivamente utilizar vehículos, combustible o personal calificado que realice las pruebas y releve los datos en largos períodos de tiempo.

� Recolección de datos: La mejor manera de recolectar datos experimentales sobre el comportamiento de entidades es simularlas en una computadora, la cual puede extraer todos los datos relativos al evento en cada momento de la simulación, construir tablas y bases de datos con los resultados obtenidos e inferir conclusiones a partir de ellos.

� Disminución de peligro: Hacer pruebas de cambios de sentidos de calles, señalizaciones o semejantes puede ser confuso para los conductores y causa de accidentes en la vida real.

Capítulo 3: Introducción a la Simulación de Tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

19

� Evaluación de dispositivos a bordo: En este caso se investiga el uso de dispositivos como sistemas de navegación, información y alerta para obtener una medida de su impacto en la conducción vehicular.

� Diseño de sistemas de autopistas automáticas: El simulador se utiliza para investigar y desarrollar autopistas automatizadas, en las que el conductor puede confiar en un “piloto automático” que realice la mayoría de las acciones y toma de decisiones en el proceso.

3.3 Un entorno de trabajo básico de simulación de flujo vehicular A continuación se presenta un esquema mínimo de representación de tráfico [32, 45]. Tal

esquema debe considerar como mínimo a las vías utilizadas para la circulación, los carriles de cada vía, los cruces de vías, incluyendo semáforos y los móviles. Estos últimos pueden considerarse como puntos centrados en cada carril.

El tráfico se desarrolla de acuerdo a un modelo matemático sencillo que permite el avance

de los móviles en base a cuantos discretos de espacio y tiempo. Así, la simulación se ejecuta cada cierto periodo constante y las vías de circulación se encuentran lógicamente divididas en celdas de tamaño fijo dentro de las cuales deben estar suscritos los móviles, a lo más, uno por vez.

Sea c el tamaño fijo de cada celda. S(x+1) se redondea a la posición de la siguiente celda

correspondiente avanzando el equivalente de ∆S/c celdas. Aquí se controla que: � Si dos móviles caen sobre la misma celda a un mismo tiempo ti, se produce una condición

de choque que termina obstruyendo una o más celdas permanentemente. � Si un móvil cae fuera del segmento de vía actual, la intersección lo traslada inmediatamente

al siguiente segmento de vía sin contar a la intersección como una celda. � Si un móvil cae fuera de la región simulada, el mismo se destruye.

S(x+1) = S(x) + V(x).∆t

t

t(x

Capítulo 3: Introducción a la Simulación de Tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

20

Por otro lado, el tráfico se desenvuelve en base al siguiente juego de reglas:

� Los móviles adaptan su velocidad de acuerdo a las variables de movimiento del móvil que se encuentra directamente frente a él para evitar condiciones de choque. En caso de no contar con un móvil de frente, el móvil establece su velocidad a la máxima permitida por el móvil y por la vía sobre la cual circula.

� Si un automóvil se aproxima a una distancia de L metros respecto a una obstrucción, éste debe reducir su velocidad en una cantidad inversamente proporcional a L.

� Si un automóvil se aproxima a una distancia de una celda respecto a una obstrucción, este se detendrá por completo.

Este esquema no es suficientemente realista ya que no toma en cuenta los tiempos de

reacción del conductor, que tanto se puede frenar o acelerar, la naturaleza y limitaciones de cada situación y otros factores. Aún así, los problemas que presenta no alejan al modelo de la naturaleza básica de las respuestas que se obtienen del mismo. El trabajo con modelos más precisos requiere de cálculos matemáticos mucho mas pesados y complejos; y en casos sencillos y de poca carga las respuestas finales no se desvían considerablemente respecto al modelo simplificado. En contraste, si el volumen de tráfico es considerable y, sobre todo, si se hace evidente la heterogeneidad en los móviles y en el comportamiento de los mismos, los resultados son totalmente equívocos.

3.4 Análisis del marco de trabajo microscópico en la simulación de

tráfico Tradicionalmente los modelos de tráfico se construyen utilizando analogías al flujo de

fluidos, o sea, asume que cada carretera en la red puede ser representada por un arco que tiene una cierta capacidad de flujo. Este tipo de modelo es suficiente para sistemas donde se espera un flujo libre en todo momento, excepto cuando ocurre algún evento que obstruya la carretera.

Además, los modelos tradicionales asumen que el estado de la red tiende al equilibrio, definido por los datos demandados entre origen-destino. En la mayoría de los casos, sin embargo, la demanda en una red es dinámica y tal equilibrio nunca se presenta. También suelen existir suposiciones implícitas en un modelo basado en flujos, que indican que el flujo en un arco es instantáneo y homogéneo. Comúnmente no existe representación del agrupamiento de tráfico detrás de vehículos lentos, los patrones de uso de carriles y el efecto de las ondas formadas en contra del sentido del viaje cuando un móvil disminuye y aumenta la marcha en un periodo pequeño de tiempo, conocido como ondas de tipo “gusano” o “detenerse y seguir”.

Para modelar el flujo de tráfico de forma certera, inclusive envolviendo señalización compleja e independiente, es necesario utilizar el acercamiento microscópico [32, 57, 58].

Requerimientos de un simulador microscópico: Un simulador microscópico debe poder representar a cada vehículo en la red de carreteras

considerándolo como una entidad separada. Los mecanismos tradicionales de modelos microscópicos deberían abarcar aspectos complejos como el comportamiento del chofer, las características del vehículo, dimensiones de los carriles, ángulos de giro y un gran conjunto de información relacionada.

Capítulo 3: Introducción a la Simulación de Tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

21

Un modelo microscópico satisfactorio debe poder enfrentar estos problemas, pudiendo dar a los ingenieros y planificadores de tráfico la información detallada respecto al promedio, rango y variación en el tiempo de las condiciones del tráfico; más que sólo un sencillo conjunto de flujos equilibrados.

Este tipo de resultados detallados aparecen como una necesidad absoluta para redes de carreteras con problemas de congestión. Para ello, la definición de la matriz OD (Origen-Destino) genera caminos predefinidos de una zona a otra. Para cada vehículo con conductor y pasajeros conceptuales se crea un único camino, así como un conjunto de parámetros que definen sus características comportamentales y físicas. Este nivel de detalle de la parametrización permite simular la complejidad de un sistema de tráfico real, a ser modelado con mucha mayor precisión que en los modelos de flujo, los que no realizan prácticamente distinción entre el tipo de vehículo y tipo de conductor.

La diferenciación entre tipos de vehículos es vital para la exactitud de los resultados esperados de la simulación. Un incidente es causado comúnmente por un vehículo con uno de sus parámetros con valores o estados que rodean uno de los extremos permitidos, llevando así la simulación a una situación inestable que normalmente tiene como desenlace a la congestión.

Los resultados que brinda un simulador microscópico suelen ser los siguientes [70]:

� Resúmenes espaciales: Resúmenes de lo que sucedió físicamente en las carreteras, como ser el desplazamiento de los automóviles individuales, el flujo total en un tramo, la cantidad de móviles que pasaron por un cruce, velocidad promedio de los móviles en un tramo, etc.

� Resúmenes temporales: Datos sobre los tiempos de viaje, como ser el tiempo promedio de recorrido de un punto a otro, el tiempo promedio de espera en un semáforo o en una esquina, etc.

� Cuadros Estáticos: Se toman en períodos de tiempos controlados, “fotos” de lo que está ocurriendo en ese momento, con detalles definidos según la necesidad. Estos datos podrían ser desde la posición de cada vehículo en cada momento hasta complejos reportes de lo que ocurrió en cada instante incluyendo todas las variables del sistema y el estado interno de las entidades inteligentes con sus decisiones y motivaciones. Estos archivos pueden utilizarse para luego realizar gráficas dinámicas de la simulación, o para recuperar datos que no se brindaron en los resúmenes espaciales o temporales.

EasyTraf, el simulador implementado como resultado de este trabajo de Tesis, es un

microsimulador diseñado para cumplir con todas estas especificaciones y otras nuevas que surgieron en función a las investigaciones realizadas. Detalles sobre el funcionamiento de EasyTraf se verán en el Capítulo 5.

Objetivos deseables en el manejo de los vehículos dentro de la simulación [45]:

� Manejar vehículos autónomos con el máximo de flexibilidad. � Agregar y quitar vehículos autónomos, permitiendo cambiar sus propiedades de velocidad,

posición, comportamiento y recorrido. � Las propiedades deben ser independientes del código y pueden ser alteradas según las

necesidades y sin tener que recompilar el programa. � Permitir la manipulación de situaciones específicas en estudio, induciendo

comportamientos poco normales en momentos claves.

Capítulo 3: Introducción a la Simulación de Tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

22

3.5 Estructuración del simulador de tráfico como Comportamiento Emergente

A diferencia del Entorno de Trabajo Básico introducido en el apartado 3.3 donde los

móviles no interactúan entre sí y presentan un comportamiento automatizado muy básico [45], la estructuración como Comportamiento Emergente supone que cada vehículo es representado como un objeto con métodos que modelan el comportamiento del conductor por medio del análisis y posterior reacción respecto al ambiente de simulación [44].

Estos métodos contienen parámetros que influencian el comportamiento de los modelos de

conducción, como ser: � Parámetros Cuantitativos, como velocidad esperada, aceleración y desaceleración máxima,

distancia mínima entre autos, límites de espacio para adelantamientos, entre otros. � Selección entre expresiones booleanas para decisiones como los cambios de carril. � Control de la inclusión o exclusión de reglas de comportamiento en el modelo del

conductor. � Manejo de las proporciones entre diferentes modelos dentro de la población de

conductores. También existen valores de configuración a nivel del modelo global:

� Parámetros globales como el flujo medio de tráfico, geometría de la calzada y promedio de velocidad esperada.

� Variables acotadas entre valores mínimos y máximos que no son conocidas de forma precisa o que se presentan como funciones o relaciones respecto a otros parámetros.

3.6 Microsimulación de Sistemas Abiertos y Cerrados El realismo en la representación de flujos de móviles depende en gran manera de la forma

como se inyectan los móviles al sistema y de cómo se controla su trayectoria y permanencia. La mayoría de los estudios teóricos de dinámica del tráfico apuntan a sistemas cerrados (SC), típicamente anillos, apelando a la simplicidad teórica. Los sistemas reales, sin embargo, son sistemas abiertos (SA) cuya dinámica se comporta de manera muy distinta comparada a la de los sistemas cerrados. Las principales diferencias son [44]: � Los SA deben imponer condiciones de límites no triviales en los límites de entrada y salida

de flujo. � El principal parámetro es el flujo de tráfico, en contraste a la densidad de tráfico en los SC. � La combinación de SA con cuellos de botella lleva a situaciones de tráfico congestionado

que no son manejables en SC. � La implementación de condiciones de frontera4 es complicada debido a que la información

puede viajar en ambas direcciones: En el sentido del flujo por el movimiento de cada vehículo y en el sentido inverso al flujo debido a las ondas tipo "detenerse y seguir" y otros movimientos colectivos contra la dirección de conducción. Para que el modelo sea consistente matemáticamente, las condiciones de frontera deben ser adaptadas dinámicamente durante la simulación.

4 Condiciones de frontera: Referente a los cálculos y controles que se realizan cada vez que un móvil altera su posición en el sistema, con el objetivo de alterar su estado de movimiento en caso que se pronostique o produzca una colisión [1].

Capítulo 3: Introducción a la Simulación de Tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

23

Los microsimuladores de tráfico orientados a brindar información realista de la dinámica del tráfico vehicular deben modelarse como Sistemas Abiertos donde existan sumideros y colectores como puntos de producción y consumición de tráfico respectivamente, que al mismo tiempo representen el ritmo de generación de móviles en cada zona por periodos diferenciados no mayores a 15 minutos5.

3.7 Los simuladores existentes en el mundo En esta sección se presenta una descripción sumaria de simuladores comerciales y

científicos, relativos a la conducción y al tráfico, cuya funcionalidad fue observada y tomada a consideración para el presente trabajo de tesis. Estos simuladores dan una visión acabada del estado del arte actual.

Una gran parte de los simuladores de tráfico representativos desarrollados en el mundo son interactivos y permiten la participación de una persona de forma activa con el ambiente simulado, preferentemente con fines de entrenamiento. Otros son microsimuladores, o simuladores que permiten regenerar artificialmente todo el flujo vehicular de un área que normalmente involucra una gran cantidad de móviles. Los más destacados en el estudio son:

STISIM [2]: STISIM es un simulador interactivo de conducción automotriz basado en

plataforma PC, diseñado por Systems Technology Inc. (STI) para representar una serie de tareas psicomotoras, de atención dividida y cognoscitivas relacionadas con la conducción. La simulación incluye la dinámica del vehículo, información gráfica tanto de la simulación como del estado del sistema (a través de proyectores o monitores), información sonora (a través de parlantes), y un sistema para medir el rendimiento del conductor. Las tareas pueden programarse a través de un “Scenario Definition Language” (SDL) que permite al usuario especificar secuencias arbitrarias de tareas, eventos e intervalos de medida del rendimiento. El simulador fue diseñado para ejecutarse en una sola PC de alto rendimiento.

NASA Langley Research Center (LaRC) [3]: El centro de simulación en tiempo real

LaRC trabaja con dos supercomputadoras Hewlett Packard/CONVEX (C3840 y C3830) y dos computadoras SGI ONYX (con ocho procesadores R4400 cada una) para satisfacer los requerimientos computacionales de los proyectos de investigación sobre tiempo real. Utilizan sistema operativo UNIX y como lenguaje de programación el C, C++, FORTRAN y ADA. Numerosos equipos están conectados a través de una “Switch Network”, consistente en una matriz que puede conectar hasta 36 sitios en simultáneo. Los simuladores se sincronizan a través de un reloj de tiempo real que permite a cada sitio interactuar con el resto a través de operaciones estratégicas de grupo. La red provee un ambiente SCRAMNet para disponer de memoria compartida entre las computadoras. El sitio combina todo tipo de simuladores aeronáuticos, cada uno de los cuales con sus propia interfaz física especial y cabina.

Simulador de conducción de Renault [4]: Es un proyecto europeo de 12 millones de

dólares, cuya arquitectura está basada en PCs bajo Windows NT y un sistema visual basado en SGI, que sería reemplazado también por sistemas PC. El software de simulación tiene una

5 Como parte de las investigaciones realizadas para el desarrollo del presente trabajo, el Ing. José Rivarola y el Ing. Ibáñez, Ingenieros de Tráfico del proyecto CETA de la Municipalidad de Asunción contribuyeron con su conocimiento y experiencia. Entre otras grandes contribuciones se mencionó que para sistemas abiertos, los parámetros de flujo entrante y saliente son aceptables a lo más por un periodo de 15 minutos corridos, en horarios en los que se manifieste mucha variabilidad de las condiciones de tráfico, típicamente en los límites de horarios pico.

Capítulo 3: Introducción a la Simulación de Tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

24

arquitectura modular que incluye dinámica del vehículo, imagen, sonido, generación de tráfico y control de escenarios. El tráfico está compuesto de vehículos autónomos que tienen comportamiento inteligente. El tráfico puede ser controlado por el propio escenario o por un instructor utilizando una estación de control.

IDS (Iowa Driving Simulator) [5, 9, 27]: Es un ambiente virtual inmersivo de alta

fidelidad para simulación de conducción que sirve para un gran rango de aplicaciones, desde investigaciones sobre seguridad de tráfico hasta pruebas y evaluaciones completas para el diseño y fabricación de nuevos vehículos. El IDS pone un operador al control de un modelo de vehículo computacionalmente detallado en un ambiente interactivo que incluye tráfico, caminos y características ambientales, mientras provee de retroalimentación visual, auditiva, de movimiento y física. Una gran variedad de escenarios y eventos pueden ser especificados para alcanzar las metas del experimento. El simulador está montado en una plataforma móvil de 6 grados de libertad, dentro de la cual está la cabina de un automóvil, con todos los controles funcionando.

RUG-COV Driving Simulator [6, 25]: Es el simulador de la Universidad de Groningen,

en Holanda. Fue diseñado especialmente para estudiar el comportamiento de las personas que manejan, enfocando los aspectos psicológicos de la participación en el tráfico automotor. Provee un entorno interactivo en el que se ponen a prueba a los conductores para medir sus reacciones bajo diferentes circunstancias. Los vehículos virtuales son controlados por agentes inteligentes. El simulador utiliza una cabina BMW 518, con todos los controles operacionales, y tres proyectores gráficos muestran los gráficos computarizados frente a la cabina.

DriS [7, 94]: Es un simulador creado en Portugal. Integra el cuerpo real de un auto con una

computadora SGI Onyx Reality Engine. También utiliza una PC para generar sonido y otra para controlar los sensores y señales. Sus intereses son estudiar el comportamiento de los conductores, dinámica del vehículo y diseño de rutas.

Simulador de la Universidad de Leeds [8]: Es un simulador de base Fija, utilizado para

investigar temas de seguridad, telemática y comportamiento del conductor. El sistema utiliza la cabina de un Rover 216GTi, una computadora SGI ONYX Reality Engine, 3 vídeoproyectores para el frente y uno para la parte trasera, además de un procesador de sonido digital Roland S-760. Una PC se encarga de monitorear los controles del vehículo, y enviar los datos a la SGI. El software permite generar complejos escenarios virtuales interactivos, programables y a partir de los cuales se pueden extraer datos para posteriores estudios.

HYSIM (Highway Driving Simulator) [11]: Es un simulador interactivo de base fija

creado para el análisis de factores humanos en la conducción, especialmente casos que involucren seguridad, conducción de menores o personas en estado de ebriedad y además el desarrollo de prototipos de vehículos inteligentes. El HYSIM utiliza imágenes poligonales generadas por computadora para la simulación. La cabina utilizada es la de un Ford Fairmont, con todos sus controles funcionales. Utiliza una computadora SGI IRIS 4D/35TG para realizar el total de la simulación, tanto gráfica como de dinámica del vehículo. El sistema posee cuatro proyectores para desplegar los gráficos, mientras que unos pistones adheridos a las ruedas simulan las vibraciones del automóvil.

Capítulo 3: Introducción a la Simulación de Tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

25

NADS (National Advanced Driving Simulator) [12]: NADS es un simulador de base móvil, con 360º de movimiento, el mas grande del mundo en su tipo (400 m2 de movimiento). Las imágenes son mostradas a través de proyectores, y se tienen 4 cabinas de vehículos completamente equipadas para su uso. Es el primero que genera imágenes 3D inmersivas para lograr el efecto de realismo buscado en los simuladores interactivos.

HLA Warrior [23]: Es el traspaso de un antiguo simulador militar llamado Janus de

máquinas HP corriendo Unix como sistema operativo a un ambiente PC con Windows NT. El nuevo simulador es compatible con la arquitectura de control jerárquico HLA6, utilizando orientación a objetos, interfaces gráficas actualizadas, y terrenos implementados en forma modular. El simulador mantiene compatibilidad con DIS también, permitiendo participar en ambos tipos de simulación distribuida.

ModSAF [24]: Es un paquete de software utilizado para generar y controlar entidades semi-

automáticas (vehículos terrestres, marinos, aéreos, etc.) en un campo de batalla simulado, para ejercicios sobre el protocolo DIS. ModSAF es un sistema distribuido, cuyas componentes pueden ejecutarse en varias computadoras, comunicándose entre sí. ModSAF corre en varias estaciones de trabajo UNIX (SGI, Sun, IBM, HP, DEC Alpha, etc.), pero ha sido portado a PCs corriendo Windows NT y Linux.

TRANSIMS (Transportation Analysis Simulation System) [57]: Microsimulador

desarrollado en "Los Alamos National Laboratory". Utiliza una aproximación a autómata celular para proveer la velocidad computacional necesaria para simular una región completa a nivel de cada vehículo en la red. La técnica del autómata celular provee una manera de simular un gran número de vehículos y mantener una velocidad de ejecución aceptable. Cada carril en la red de carreteras se divide en un número finito de celdas. Por cada avance del tiempo de simulación, cada celda es revisada para saber si tiene un vehículo ocupándola. Si se encuentra un vehículo, el mismo deberá avanzar a otra celda siguiendo una regla de avance muy sencilla. El tamaño de la celda y la complejidad de la regla de avance determinan la fidelidad y el rendimiento del microsimulador.

PARAMICS [60]: Herramienta de software comercial creada por QuadStone Technologies

para modelar el movimiento y comportamiento de vehículos individuales en redes de carreteras urbanas. Consta de un modelador, un procesador de simulaciones, un visor y un analizador. Al ejecutarse se debe proveer al microsimulador de una serie de parámetros geográficos y otros asociados a los viajes individuales. Genera la simulación en ambientes UNIX utilizando computadoras de alto rendimiento y obtiene información estadística que luego la procesa en términos de información de flujo, orientados al estudio de la capacidad de transporte de las redes de carreteras.

MIDAS (Massachusetts Interactive Driving and Acoustic Simulator) [91]: Es un

simulador interactivo de tiempo real desarrollado en el MIT que provee alta calidad de salida gráfica y sonora sobre una base fija. Incluye la simulación de peatones y animales. Utiliza dos

6 HLA: High Level Architecture, o Arquitectura de Alto Nivel. Estándar de comunicación utilizado por simuladores militares cooperativos para modularizar y distribuír la carga entre los componentes. El HLA reemplaza al protocolo DIS (Distributed Interactive Simulation- IEEE 1278) para permitir mejor adaptación a las nuevas tecnologías de comunicación y operar con protocolos híbridos, dando así mucha mayor flexibilidad a los componentes de la simulación [39].

Capítulo 3: Introducción a la Simulación de Tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

26

computadoras SGI ONYX Reality Engine para el procesamiento gráfico y cuenta con sistemas de seis parlantes para simular el efecto Doppler.

IVIS (In-Vehicle Information Systems) [92]: Es un simulador de tiempo real

desarrollado en el Oak Ridge National Laboratory, utilizado principalmente para evaluar el uso de dispositivos de información, tráfico automatizado y sistemas de guía de vehículos. Se basa en el simulador STISIM.

SHIVA (Simulated Highways for Intelligent Vehicle Algorithms) [18, 71, 86, 87, 88]:

Es un simulador creado en el instituto de robótica de la universidad de Carneige Mellon. Se utiliza para evaluar el accionar de entidades inteligentes dentro de tráfico realista. La misión de este simulador es probar diferentes algoritmos y modelos de inteligencia artificial (como el SAPIENT) en un simulador para, luego de seleccionarlos, aplicarlos a robots capaces de conducir en entornos reales. Provee información programada de sensores similares a la realidad, comunicación entre vehículos (mediante paso de mensajes, para indicar intenciones o eventos), varios modelos de conductores y la integración eficiente con robots reales. El simulador corre en computadoras Sun Sparcstations con X-Windows y SGI.

MITSIM [48]: Microsimulación de tráfico desarrollado por el laboratorio de simulación del

MIT. Utiliza el modelo del autómata celular para la representación del tráfico y planificación dinámica de viajes. Está implementado en C++ y utiliza arrays de supercomputadoras para su ejecución.

Capítulo 4: Introducción a la Inteligencia Artificial y a los Agentes Inteligentes

27 Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

CCaappííttuulloo 44:: IInnttrroodduucccciióónn aa llaa IInntteelliiggeenncciiaa AArrttiiffiicciiaall yy aa llooss AAggeenntteess IInntteelliiggeenntteess

Cita equivocada de Grossman sobre H.L. Mencken:

“Los problemas complejos tienen soluciones erróneas sencillas y fáciles de comprender”

En este capítulo se da una introducción a la Inteligencia Artificial (IA) y a los Agentes

Inteligentes, junto a nociones básicas importantes para los capítulos subsiguientes. Además, nos adentraremos en las características principales de los agentes, su estructura interna, la problemática de tomar decisiones y una comparación entre los agentes y la orientación a objetos.

4.1 Definiciones de Inteligencia Artificial El campo de la IA ha sido explorado en gran medida desde hace décadas atrás, y cada vez se

ha vuelto más interesante y ha aportado novedades mayores a la ciencia de la computación, sobre todo debido a la aparición de herramientas y lenguajes de programación especializados en ella y al avance del hardware, permitiendo realizar millones de complejos cálculos por segundo, que hasta hace poco tiempo eran imposibles de conseguir.

El término Inteligencia Artificial ha sido definido de diferentes maneras y para diferentes contextos. Cito a continuación algunos de los más interesantes [63]: � La automatización de actividades que asociamos con el pensamiento humano, como la

toma de decisiones, resolución de problemas y aprendizaje (Bellman, 1978). � El esfuerzo de hacer a las computadoras pensar, tener máquinas con mente, en el sentido

literal de la frase (Haugeland, 1985). � El estudio de facultades mentales a través de modelos computacionales (Charniak y

McDermott, 1985). � Un campo de estudio que busca explicar y emular comportamiento inteligente en términos

de procesos computacionales (Schalkoff, 1990). � El estudio de como crear computadoras que realicen cosas que, hasta el momento, la gente

hace mejor (Rich and Knight, 1991). � El estudio de computaciones que hacen posible percibir, razonar y actuar (Winston 1992). � La rama de la ciencia de la computación que se preocupa de la automatización del

comportamiento inteligente (Luger y Stubblefield, 1993). Como hemos visto, la pregunta acerca de lo que es la Inteligencia Artificial, y si las

máquinas pueden pensar es difícil de responder, y para ello debemos definir lo que significan las palabras “inteligencia” y “pensamiento”. Algunos aspectos de la inteligencia que tienen en común la mayoría de las definiciones son:

Capítulo 4: Introducción a la Inteligencia Artificial y a los Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

28

� Planeamiento. � Aprendizaje. � Razonamiento. � Resolución de problemas. � Percepción.

4.2 Categorización de los sistemas de IA según las definiciones Las definiciones de IA se pueden organizar en cuatro categorías [63]:

� Sistemas que piensan como humanos: Esto requiere entrar dentro de la mente humana para ver como funciona y luego comparar nuestro programa con esto. Esto es lo que intenta realizar la ciencia cognitiva. Otra forma de hacerlo es observar a un humano resolviendo un problema y hacer que nuestro programa actúe de manera similar. Un ejemplo es el GPS (General Problem Solver), que era un programa de computadoras que intentaba modelar el pensamiento humano. Los desarrolladores no estaban muy interesados en si el GPS resolvía o no los problemas correctamente, sino en que los resolviera como la gente común, pasando por los mismos pasos y tomando alrededor del mismo tiempo en realizar esos pasos.

� Sistemas que actúan como humanos: En este tipo de sistemas se intenta crear un programa que actúe de manera similar a un humano. Un ejemplo de esto sería la creación de un programa capaz superar el test de Turing. Para ser considerado inteligente, el programa debe ser capaz de actuar suficientemente humano como para engañar a un interrogador. El humano interroga al programa y a otro humano a través de una terminal en forma simultánea. Si luego de un período de tiempo razonable el interrogador no puede saber cual es cual, el programa pasa la prueba. Este test evita el contacto físico y se concentra en facultades mentales de nivel más alto. Pasar este test requiere: Ø Procesamiento del lenguaje natural. Ø Representación del conocimiento. Ø Razonamiento automatizado. Ø Aprendizaje de la máquina.

� Sistemas que piensan racionalmente: Aristóteles fue el primero en intentar codificar el pensamiento. Sus silogismos proveyeron estructuras de patrones de argumentos que siempre daban conclusiones correctas, dadas premisas correctas. Por ejemplo: Todas las computadoras utilizan energía. Usar energía siempre genera calor. Por lo tanto, todas las computadoras generan calor. Esto inició a la lógica. La lógica formal se desarrolló a finales del siglo diecinueve. Este fue el primer paso hacia permitir que los programas razonaran lógicamente. En 1965 existían programas que, dados suficiente tiempo y memoria, tomaban una descripción del problema en notación lógica y encontraban la solución, si es que existía. La tradición lógica en IA espera construir este tipo de programas para crear inteligencia. Existen dos obstáculos principales a este acercamiento: Primero, es difícil hacer al conocimiento informal lo suficientemente preciso para el acercamiento lógico, particularmente si existe incertidumbre en el conocimiento. Segundo, existe una gran diferencia entre estar capacitado para resolver un problema y lograr hacerlo en la práctica.

� Sistemas que actúan racionalmente: Actuar racionalmente significa actuar de tal manera que se obtengan ciertas metas, dados ciertas creencias. Un agente es algo que percibe y actúa. En el acercamiento lógico de la IA, el énfasis estaba en las inferencias correctas. Esto

Capítulo 4: Introducción a la Inteligencia Artificial y a los Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

29

es a menudo parte de ser un agente racional debido a que una manera de actuar racionalmente es razonar lógicamente, y entonces actuar según las conclusiones. Pero esta no es toda la racionalidad, debido a que los agentes a menudo se encuentran en situaciones donde no hay una cosa correcta que hacer, y a pesar de eso deben hacer algo. También hay formas de actuar racionalmente sin envolver inferencias, como por ejemplo las reacciones reflejas. El estudio de la IA como el diseño de un agente racional tiene dos ventajas: Ø Es más general que el acercamiento de la lógica porque la inferencia correcta es sólo un

mecanismo útil para conseguir la racionalidad, no uno necesario. Ø Es mejor para el desarrollo científico que los acercamientos basados en el comportamiento

humano o pensamiento humano, porque la racionalidad estándar se puede definir independientemente de los humanos.

Conseguir la racionalidad perfecta en ambientes complejos no es posible debido a que las demandas computacionales son demasiado elevadas.

4.3 Agentes Inteligentes 4.3.1 Definiciones de Agentes Inteligentes En líneas generales, no hay un acuerdo bien formalizado de lo que es un Agente Inteligente,

o en qué difieren los agentes de programas normales. Esto se debe a que cada investigador ha definido a los agentes según sus investigaciones o necesidades específicas, llevándolos a definiciones más abiertas o cerradas según fuera el caso.

El vocabulario “Agente Inteligente”, además, se utiliza en muchos ámbitos y productos donde está mal empleado o no cumplen requisitos mínimos para ser considerados agentes, en muchos casos porque “suena bien” y vende, es moda.

Por lo tanto, se tienen diferentes definiciones del término Agente Inteligente, así como de su utilidad o aplicaciones [13, 15, 63, 65, 67, 68, 72]:

� Agente MuBot: El término agente representa dos conceptos ortogonales. El primero es la

habilidad del agente de tener una ejecución autónoma. El segundo es la habilidad del agente de realizar razonamiento orientado a dominios específicos.

� Agente AIMA: Un agente es algo que puede ser visto como algo que percibe al mundo a través de sensores y actúa en su ambiente a través de “effectors”.

� Agente de Pattie Maes: Los agentes autónomos son sistemas computacionales que habitan algún complejo ambiente dinámico, perciben y actúan autónomamente en este ambiente, y haciendo esto cumplen una serie de metas o tareas para los cuales fueron diseñados.

� Agente KidSim: Se define al agente como una entidad de software persistente dedicada a un propósito específico. Tienen sus propias ideas acerca de como cumplir sus tareas y son mucho más pequeños que aplicaciones multifuncionales.

� Agente Hayes-Roth: Los agentes inteligentes continuamente realizan tres funciones: percibir condiciones dinámicas en el ambiente, actuar para afectar a las condiciones del ambiente y razonar para interpretar percepciones, resolver problemas, realizar inferencias y determinar acciones.

� Agente IBM: Los agentes inteligentes son entidades de software que realizan un conjunto de operaciones en vez de un usuario o de otro programa con algún grado de independencia

Capítulo 4: Introducción a la Inteligencia Artificial y a los Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

30

o autonomía, y, haciendo esto, emplean algún conocimiento o representación de las metas o deseos de los usuarios.

� Agente Wooldridge-Jennings: Un sistema computacional de hardware o software que tiene las siguientes propiedades: Ø Autonomía: Los agentes operan sin intervención directa de humanos, y tienen algún

tipo de control sobre sus acciones y estado interno. Ø Habilidad Social: Los agentes interactúan con otros agentes (y posiblemente humanos)

a través de algún mecanismo de comunicación. Ø Reactividad: Los agentes perciben su ambiente y responden en un tiempo a los cambios

que pudieran ocurrir. Ø Pro-Actividad: Los agentes no sólo simplemente actúan en respuesta a su ambiente,

sino que son capaces de exhibir comportamiento basado en metas tomando iniciativas. Todas las definiciones mencionadas muestran claramente que no hay un acuerdo de lo que

es un agente, o en qué difieren los agentes de programas normales. Esto se debe a que cada investigador ha definido a los agentes según sus investigaciones o necesidades específicas, llevándolos a definiciones más abiertas o cerradas según fuera el caso.

Algunas características se repiten a lo largo de varias definiciones, otras son menos comunes. Vamos a hacer un resumen de las características esperadas normalmente de un agente: � Relacionamiento con algún tipo de ambiente: Todo agente se sitúa en un ambiente.

Puede percibir lo que ocurre en el ambiente mediante algún tipo de sensores y producir acciones que modifiquen el estado del ambiente.

� Reactividad: Responder en forma semi-inmediata a cambios en el ambiente que le afecten, normalmente esto incluye algún medio de recepción de información sensorial y de respuesta y manipulación del ambiente.

� Orientado a metas (Pro-Activo): No actúa sólo en respuesta al ambiente sino que tiene metas que desea cumplir y realiza tareas por voluntad propia para conseguirlas, sin involucrar reacciones referentes al mundo exterior. Las metas pueden ser estados finales a los cuales el agente desea simplemente llegar o un valor (premio) que intenta maximizar.

� Autonomía: Tomar el control de sus propias acciones y decisiones sin intervención externa, basado únicamente en los datos obtenidos de sus sensores y el conocimiento del estado del mundo que maneja.

� Adaptativo, Aprendizaje: Tiene cambios en su comportamiento basados en experiencias anteriores, normalmente esta adaptación le permite mejorar su competencia en la consecución de sus metas. Las adaptaciones pueden ser cambios menores a corto plazo o cambios más significantes a largo plazo.

� Razonamiento de dominio: El Agente funciona en cierto dominio, con cierto ambiente específico y puede no funcionar en otros ambientes ni conocer otro tipo de información.

� Social: Se comunica con otros agentes e inclusive con gente, puede incluso colaborar con otros agentes para conseguir un objetivo común.

� Flexible: es capaz de realizar tareas sin ser explícitamente programados, esto ocurre sobre todo en casos de agentes sociales y con comportamiento emergente.

� Carácter: Tienen personalidad y estados emocionales que distinguen a unos de otros.

Capítulo 4: Introducción a la Inteligencia Artificial y a los Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

31

4.3.2 Definición de Agente Inteligente para nuestro caso particular Tomando en cuenta todas las características y propuestas en el tópico anterior, definiremos

ahora lo que, para el caso particular de este trabajo de tesis, significa el término Agente Inteligente:

“Un agente inteligente es un tipo de software flexible, capaz de interactuar con un

ambiente específico, mostrando un cierto tipo de autonomía, habilidad social, aprendizaje, y combinando comportamientos pro-activos y reactivos.”

4.3.3 Relación de la IA con los Agentes Inteligentes y temas claves en su estudio A pesar de que la IA apunta a estudiar a la inteligencia sintetizando sistemas artificialmente

inteligentes, normalmente se ha concentrado en problemas que son muy diferentes a los de modelar agentes adaptativos autónomos. Algunos puntos clave que distinguen a la IA tradicional del estudio de agentes autónomos son [68, 80, 81]: � La IA tradicional se ha enfocado en sistemas que demuestran competencias aisladas

(sistemas expertos, programas para jugar ajedrez, reconocimiento de patrones, etc.). Los sistemas tradicionales de IA proveen “profundidad” en vez de “anchura” en su competencia. En contraste, un agente autónomo tiene múltiples competencias integradas. Típicamente, las competencias son de bajo nivel. Por ejemplo, un robot tiene capacidades de locomoción, navegación, mantenimiento de baterías, recoger objetos, comunicarse con otros robots, etc.

� La IA tradicional se ha enfocado en sistemas cerrados que no tienen interacción directa con el dominio del problema sobre el cual se codifica el conocimiento y resuelven problemas. Su conexión con el ambiente es muy controlada e indirecta a través de un operador humano. El operador reconoce un problema y lo describe al sistema en el lenguaje simbólico que el sistema comprende. El sistema entonces devuelve una descripción simbólica de la respuesta, que luego debe ser implementada por el operador en el dominio real. En contraste, un agente autónomo es un sistema abierto. El agente está situado en el ambiente. Está directamente conectado al dominio del problema a través de sensores y actuadores. Puede cambiar el dominio a través de esos actuadores. El dominio del problema es típicamente muy dinámico, lo que significa que el sistema tiene un tiempo limitado para actuar y que eventos impredecibles pueden suceder. Normalmente también incorpora otros agentes actores (humanos o artificiales).

� La mayoría de los sistemas de IA tratan con un problema a la vez. El problema que el sistema debe resolver se presenta al sistema por el operador humano. A menudo, el sistema no tiene restricciones para resolver el problema y no debe lidiar con interrupciones (aunque el operador pueda lidiar con esos problemas). Para el punto de vista del sistema, el dominio del problema no cambia mientras está computando. En contraste, un agente es autónomo: el sistema es completamente auto contenido. Él debe monitorear el ambiente y decidir por sí mismo cual es el siguiente problema o meta a cumplir. Tiene que lidiar con problemas que dependen del tiempo, y debe sopesar varias metas conflictivas simultáneamente.

� La IA tradicional se enfoca en la pregunta de que conocimiento tiene el sistema. Los sistemas de IA tienen estructuras declarativas de conocimiento que modelan aspectos del dominio que conocen. Todas las estructuras internas, aparte del intérprete, son estáticas. El sistema es solo activo cuando recibe un problema del operador humano, y en ese caso el intérprete utiliza estructuras estáticas de conocimiento para determinar la solución del

Capítulo 4: Introducción a la Inteligencia Artificial y a los Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

32

problema. En contrapartida, el énfasis de la investigación en agentes inteligentes se centra en que comportamiento demuestra el sistema cuando se lo pone en su ambiente. Las estructuras internas del agente son módulos dinámicos de producción de comportamiento, opuestamente a las estructuras de conocimiento estáticas. No tienen porqué ser iniciadas por una meta formulada por el usuario. Es menos importante si el agente puede responder una respuesta sobre el dominio del problema. También es menos importante que el usuario pueda inspeccionar las estructuras internas e identificar aquellas que son responsables de aspectos particulares del comportamiento resultante. Por ejemplo, es aceptable para metas o planes que sean propiedades observables o emergentes que no se puedan atribuir a una estructura interna particular, sino una compleja interacción entre un conjunto de estructuras y el ambiente.

� La IA tradicional no está usualmente preocupada del aspecto sobre como evolucionan las estructuras a lo largo del tiempo. No tienen que adaptarse a situaciones cambiantes (por ejemplo, el fallo en un componente). La mayoría del trabajo en el aprendizaje de máquinas tradicional asume que una gran cantidad de conocimiento está disponible. En contraste, la investigación de agentes inteligentes tiene un fuerte énfasis en la adaptación. Esto a menudo significa que el sistema mejora sus propias estructuras internas (y por lo tanto su comportamiento) a lo largo del tiempo, basado en su experiencia en el ambiente. El agente explora activamente y actualiza sus estructuras utilizando un método inductivo incremental. En otros caso, esto significa que el diseñador toma un acercamiento incremental a la construcción del agente: el usuario gradualmente evoluciona a un sistema más sofisticado agregando nuevas estructuras al sistema existente.

El problema principal a ser resuelto en la investigación de agentes es llegar a una

arquitectura para agentes autónomos que resulte en que el agente demuestre un comportamiento adaptativo robusto y efectivo. Adaptativo significa que el agente mejora su competencia en resolución de problemas con el tiempo. Robusto significa que el sistema nunca colapsa completamente, sino que demuestra una degradación lenta cuando fallan componentes del agente o cuando suceden imprevistos. Efectivo significa que el agente es exitoso al cumplir sus metas.

Una forma de estudiar a los agentes se funda en las dinámicas de interacción entre

componentes simples que llevan a una complejidad emergente. La investigación de agentes se funda en la creencia de que moverse al dominio de la interacción en ves del dominio de los componentes resolverá más fácil el problema de construir sistemas inteligentes. La idea se aplica a diferentes niveles [68, 74, 75, 76, 77, 78, 79]: � Dinámica de interacción entre el agente y su ambiente que pueda llevar a una estructura

emergente o a una funcionalidad emergente. Esto significa que las estructuras internas que controlan al agente no necesitan ser complejas para conseguir un comportamiento complejo. En muchos casos es suficiente estudiar las propiedades particulares del ambiente y el ciclo de interacción, un conjunto de mecanismos reflejos o de retroalimentación que producirán el comportamiento deseado. Una consecuencia es que necesitamos un entendimiento mejor de las características particulares del ambiente. Si queremos ser capaces de comprender o probar aspectos acerca del rendimiento resultante de los agentes autónomos, tendremos que modelar al agente y a su ambiente.

� Dinámica de interacción simple entre diferentes componentes dentro del agente puede llevar a una estructura emergente o a una funcionalidad emergente. Por ejemplo, un robot que sigue a una pared no tiene un componente que pueda ser atribuido a la capacidad del

Capítulo 4: Introducción a la Inteligencia Artificial y a los Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

33

robot de seguir las paredes. Un módulo se encarga de mover el robot hacia la pared, mientras que otro se encarga de alejarlo de la misma si se acerca demasiado. Ninguno de los dos módulos es responsable del comportamiento del robot a seguir paredes, pero su interacción lo consigue.

� Dinámica de interacción entre los componentes del agente de un sistema social puede llevar a una estructura emergente o funcionalidad. Por ejemplo, insectos sociales pueden seguir simples reglas locales para producir una complejidad emergente tal como un camino a una fuente de comida. Lo que es importante es que tal complejidad emergente es en muchos casos más robusta, flexible y tolerante a fallas que una complejidad organizada en top-down. Esto es así porque ninguno de los componentes es más crítico que cualquier otro. Cuando uno se daña, el sistema demuestra una leve degradación del rendimiento.

4.3.4 El problema de la selección de la acción El problema de la selección de la acción es complejo y ha sido estudiado en numerosas

ocasiones [68, 82, 83, 84, 85]. El agente debe decidir que hacer a continuación para avanzar en su progreso hacia múltiples metas que varían en el tiempo. También debe lidiar con contingencias u oportunidades que surjan y arbitrar entre metas conflictivas. Si el agente puede aprender de la experiencia, además debe actualizar su conocimiento. Todo esto debe hacerlo en tiempos específicos y utilizando sensores y actuadores imperfectos. Es teóricamente posible computar la política de acción óptima a realizarse para un agente que tiene una cantidad fija de metas y que vive en un ambiente determinístico o probabilístico. Lo que normalmente hace imposible este acercamiento para los agentes reales es: � Limitaciones de recursos (tiempo, poder de procesamiento, memoria). � Información posiblemente incompleta e incorrecta (datos de sensores). � Un ambiente dinámico, no determinístico, no probabilístico. � Metas que varían en el tiempo. � Distribución de probabilidades desconocida o cambiante.

Las metas que el agente intenta satisfacer pueden tomar diferentes formas:

� Metas finales: estados finales a los cuales se desea llegar. � Metas negativas: estados que deben ser evitados. � Necesidades, deseos, tareas, motivaciones, etc.

El agente típicamente tiene múltiples metas conflictivas. Ser un sistema completo siempre

tiene una combinación de metas de autopreservación como otras metas orientadas a tareas. Las metas del agente pueden ser implícitas o explícitas. En el primer caso, el agente no tiene una representación interna de las metas que desea conseguir. El agente se construye de tal manera que, situado en su ambiente, el comportamiento tiende a conseguir ciertas metas. Las metas implícitas son fijas, no pueden cambiarse a menos que el agente se reprograme. Agentes más complicados tienen metas explícitas que varían a lo largo del tiempo y ofrecen niveles de intensidad, opuestamente a las reglas booleanas de encendido-apagado.

Dado que es teóricamente imposible probar cual es la política de acción óptima para un agente, ¿Cómo se debe evaluar una propuesta de solución particular? Los investigadores en agentes autónomos adaptativos no están interesados en probar la selección óptima de la acción, sino que desean que esta acción seleccionada sea robusta, lo acerque a su meta, y cumpla con los requerimientos y limitaciones del agente en el ambiente especificado.

Capítulo 4: Introducción a la Inteligencia Artificial y a los Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

34

El mecanismo de selección de la acción debería: � Favorecer acciones que contribuyan con las metas, en particular, aquellas que resulten en

un mayor progreso que otras. � Ser capaz de tratar en forma flexible con oportunidades y contingencias, en un tiempo que

le permita tomar la acción en el ambiente actual antes de que sea tarde o la oportunidad haya pasado.

� Minimizar las idas y venidas entre acciones que llevan a diferentes metas. � Mejorar su rendimiento basado en su experiencia. Puede decidir entre explotar su mejor

acción actual o explorar otras acciones que le podrían dar mejores resultados. Debe incorporar una retroalimentación del mundo en sus estructuras de producción de comportamiento.

� Demostrar una degradación leve del sistema cuando los componentes se rompen o suceden cambios inesperados.

� Nunca quedarse atrapado completamente en un ciclo o situación de deadlock, o hacer que el agente busque sin pensar una meta imposible.

� Ser suficientemente bueno para el ambiente y la tarea que debe realizar. Esto significa que siempre que el agente consiga sus metas con las restricciones establecidas (tiempo, calidad, etc.) por el problema, la solución se considera aceptable, aunque no hubiese conseguido la solución óptima.

No es posible decidir que un modelo de selección de acción es mejor que otro salvo que se

describa cuales son las características particulares del ambiente, la tarea y el agente. Por ejemplo, en un ambiente donde el costo de acciones incorrectas es muy alto, el agente debería realizar una mayor anticipación, mientras que si el costo de las acciones incorrectas no tiene importancia, puede realizar las tareas de una manera ensayo/error sin preocuparse; en un ambiente donde muchas cosas cambian rápidamente un agente necesita ser rápido; un agente con muchos sensores ruidosos debería tener una cierta inercia en sus acciones de tal manera que la lectura errónea de un sensor no haga que el agente haga algo completamente diferente; un agente con muchos sensores puede confiar en el ambiente para guiar sus acciones, mientras que un agente con menos sensores deberá confiar más en su estado interno o en su memoria para decidir que hacer a continuación.

A pesar de que se ha conseguido un gran avance hacia el estudio de modelos de selección

de la acción, muchos problemas se mantienen: � Se ha realizado muy poca investigación acerca de la naturaleza de las metas y las

interacciones entre ellas. � En muchos de los casos propuestos escalar el problema a una dimensión mayor es un

desastre. Especialmente cuando los comportamientos se modelan a mano, porque no hay soporte para el diseñador del agente sobre como construir una red de arbitraje compleja que gobierne el comportamiento.

� No se ha puesto suficiente esfuerzo en hacer que las piezas de los agentes sean reutilizables en otros agentes.

� La dinámica de las interacciones entre los agentes y su ambiente y entre los diferentes módulos y su ambiente no están bien entendidas. Existen comportamientos emergentes que son difíciles de comprender.

� Muchas de las arquitecturas son completamente descentralizadas y no tienen un estado central. Pueden quedarse atrapadas en ciclos o en deadlocks.

Capítulo 4: Introducción a la Inteligencia Artificial y a los Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

35

4.3.5 Estructura de los Agentes Inteligentes El trabajo de la IA es diseñar el programa del agente: esto es una función que implementa el

mapeo del agente de percepciones a acciones. Se asume que programa correrá en algún tipo de dispositivo computacional llamado “la arquitectura”.

Agente = Arquitectura + Programa [63]. La arquitectura toma las percepciones de los sensores disponibles al programa agente, corre

el programa y alimenta a los mecanismos de interacción con el ambiente con las elecciones tomadas.

Antes de diseñar un programa agente, debemos tener una muy buena idea acerca de las posibles percepciones y acciones, las metas y la medida de rendimiento que el agente debería conseguir, además de en qué tipo de ambiente operará.

Todos los programas de agentes tienen básicamente un mismo esqueleto: Aceptan

percepciones del ambiente y generan acciones. Por ejemplo: función AGENTE-PRIMITIVO(percepción) retorna acción estático: memoria, la memoria del agente sobre el mundo memoria «- ACTUALIZAR-MEMORIA(memoria, percepción) acción «- ELEGIR-MEJOR-ACCIÓN(memoria) memoria «- ACTUALIZAR-MEMORIA(acción) retornar acción Cada agente utiliza alguna estructura de datos que es actualizada al recibir nuevas

percepciones. Estas estructuras de datos operan en los procedimientos de toma de decisiones para generar la elección del agente, que luego se pasa a la arquitectura para ejecución. Buenas estructuras de datos son muy importantes en la IA.

Los agentes reciben las percepciones individualmente. Queda a cargo del agente construir una secuencia de percepciones en memoria si lo desea. En algunos ambientes es posible salir exitoso sin guardar la secuencia de percepciones, y en dominios complejos, es imposible guardar la secuencia completa.

Ahora vamos a considerar cuatro tipos de programas agentes. Para evaluarlos vamos a tomar el ejemplo de un conductor de taxi, esto es: una entidad que percibe datos de un ambiente (en este caso de una red de calles), interactúa con otras entidades (se comunica con otros conductores), toma decisiones (tanto reflejas e inmediatas como de planificación a largo plazo) y afecta al ambiente de alguna manera (el resultado de la decisión va a modificar los parámetros de movimiento de su vehículo)

4.3.5.1 Agentes reflejos simples:

Computar una solución a partir de tablas de resultados no es una opción viable. No

podemos tener una respuesta prefijada para cada posible suceso que pudiera ocurrir a cada instante. Sin embargo, podemos resumir ciertas porciones de la tabla al notar asociaciones de entrada/salida que ocurren normalmente. Por ejemplo: si el automóvil de adelante frena, entonces nuestro chofer también debe frenar. En otras palabras, al tenerse una condición (luz de freno de adelante encendidas), se ejecuta una acción preestablecida (frenar). Esta conexión se llama condición-acción y se escribe de la siguiente manera “si condición entonces acción”.

Capítulo 4: Introducción a la Inteligencia Artificial y a los Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

36

función AGENTE-REFLEJO-SIMPLE(percepción) retorna acción estático: reglas, un conjunto de reglas de condición-acción estado «- INTERPRETAR-ENTRADA(percepción) regla «- ENCONTRAR-REGLA(estado, reglas) acción «- REGLA-ACCIÓN(regla) retornar acción 4.3.5.2 Agentes que mantienen un estado del mundo. La mayoría de los agentes reflejos simples sólo funcionan si la acción correcta puede

seleccionarse basándose sólo en la percepción actual. Inclusive para la regla de frenado anterior, necesitamos alguna descripción interna del estado del mundo (para determinar si un auto adelante está frenando, deberíamos comparar la imagen actual con la previa para ver si las luces se acaban de encender).

Este problema ilustra que para dominios complejos, los sensores no proveen el acceso al estado completo del mundo. En tales dominios, el agente debe mantener un estado interno que se actualiza cuando llega nueva información de los sensores.

Actualizar el estado requiere que el agente tenga dos tipos de información: primero, necesita información sobre como el mundo cambia en el tiempo. Segundo, necesita información sobre como sus acciones afectan al mundo.

Capítulo 4: Introducción a la Inteligencia Artificial y a los Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

37

función AGENTE-REFLEJO-CON-ESTADO(percepción) retorna acción estático: estado, una descripción del estado actual del mundo. reglas, un conjunto de reglas de condición-acción estado «- ACTUALIZAR-ESTADO(estado, percepción) regla «- ENCONTRAR-REGLA(estado,reglas) acción «- REGLA-ACCION(regla) estado «- ACTUALIZAR-ESTADO(estado, acción) retornar acción 4.3.5.3 Agentes basados en metas. Conocer el estado del mundo no siempre es suficiente para que el agente sepa que hacer a

continuación. Por ejemplo, al llegar a una intersección, el conductor puede doblar a la izquierda, a la derecha o seguir derecho. Lo que haga depende de su meta.

Las metas describen estados que son deseables y que el agente debería intentar de conseguir. El agente puede combinar información de metas con información de las acciones que puede realizar para planificar secuencias de acciones y conseguir sus metas. La búsqueda y planificación son los sub-campos de la IA que se dedican a encontrar secuencias de acciones que consigan metas. La toma de decisiones aquí es fundamentalmente diferente de las reglas de condición-acción, ya que envuelve consideración acerca del futuro. En el diseño de agentes reflejos esta información no fue utilizada debido a que el diseñador precalculó la correcta acción para varios casos. Un agente basado en metas debería razonar que si el automóvil de adelante está frenando, entonces su velocidad disminuirá. De la manera en la que el mundo evoluciona, la única acción que conseguirá la meta de no chocar al automóvil de adelante es desacelerar. Hacer eso requiere presionar el freno. El agente basado en metas es más flexible pero tarda más tiempo en tomar las decisiones.

4.3.5.4 Agentes basados en utilidad. Las metas solas no son suficientes para generar comportamiento de calidad. Por ejemplo,

existen muchas secuencias de acciones que llevarán al conductor a su destino, pero algunas son más rápidas, seguras, confiables, baratas, etc.

Capítulo 4: Introducción a la Inteligencia Artificial y a los Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

38

Las metas tan sólo proveen una distinción cruda entre los estados “feliz” e “infeliz”, mientras que una medida de rendimiento debería permitir una comparación entre diferentes estados del mundo. El nivel del nivel de felicidad del agente se llama Utilidad.

La Utilidad puede ser representada como una función que mapea estados en números reales. Cuanto más grande sea el número, mayor será la utilidad del estado.

Una especificación completa de la función de utilidad permite dos tipos de decisiones racionales donde las metas tienen problemas. Primero, donde existen metas conflictivas, y sólo algunas de ellas pueden conseguirse (por ejemplo, velocidad contra seguridad), y la función de utilidad especifica la proporción correcta. Segundo, cuando existen muchas metas a las cuales debe apuntar el agente, ninguna de las cuales puede ser conseguida con seguridad, y la función de utilidad provee una manera en la que la posibilidad de suceso pueda contrapesar a la importancia de las metas.

4.3.6 Relación entre los agentes y el ambiente Como se mencionó anteriormente, uno de los factores importantes al tratar a los agentes

inteligentes es que se relacionan con algún tipo de ambiente comprendiendo lo que sucede en él y modificándolo al realizar diferentes acciones. Es importante entender como los agentes se relacionan con el ambiente externo.

Ahora se describirán las principales propiedades de los ambientes [63]: � Accesibles vs. Inaccesibles: Si el aparato sensorial del agente da acceso al estado

completo del ambiente, decimos que el ambiente es accesible. Cuando el ambiente es accesible, se necesita un estado interno menor.

� Determinísticos vs. No Determinísticos: Si el próximo estado está completamente determinado por el estado actual y las acciones seleccionadas por el agente, entonces el ambiente es determinístico. Un agente no necesita preocuparse sobre incertidumbre en un ambiente accesible determinístico. Si el ambiente es inaccesible, puede parecer no determinístico. Es mejor pensar en un ambiente como determinístico o no determinístico desde el punto de vista del agente.

� Episódicos vs. No Episódicos: En un ambiente episódico, la experiencia del agente se mide en episodios. La calidad de las acciones del agente durante un episodio depende sólo de ese episodio, debido a que los episodios subsecuentes no dependen de episodios previos.

Capítulo 4: Introducción a la Inteligencia Artificial y a los Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

39

� Estáticos vs. Dinámicos: Si el ambiente puede cambiar mientras que el agente está deliberando, decimos que el ambiente es dinámico para el agente, si no varía durante la deliberación, es estático.

� Discretos vs. Continuos: Si existe un número limitado de percepciones y acciones diferentes, decimos que el ambiente es discreto. De otro modo es continuo.

4.3.7 Agentes vs. Objetos: una comparación En esta sección presentamos una comparación entre los paradigmas Orientado a Objetos y

de Agentes basada en lo estudiado en [72], identificando para ello similitudes, así como principales diferencias. Esta comparación nos servirá como punto de partida para una evaluación de la aplicabilidad del paradigma de objetos al modelado de agentes.

Un objeto es una entidad que encapsula un estado y una colección de métodos, correspondientes a operaciones que pueden ser ejecutadas sobre ese estado. Los métodos son típicamente invocados como resultado de un mensaje enviado al objeto.

Por otra parte, un agente es una entidad autónoma, social, reactiva, pro-activa, que posee nociones mentales, racionalidad y aprendizaje. El comportamiento pro-activo puede ser representado en términos de una librería de planes de la cual el agente puede seleccionar algún plan. Los agentes razonan acerca de sus creencias a fin de seleccionar el plan que podría lograr satisfacer sus objetivos. Debido a que los agentes operan en un ambiente complejo, formado por otros agentes, entidades software no necesariamente agentes y usuarios humanos, requieren de mecanismos y comportamiento que les permitan comunicarse con estas entidades. Al coexistir con otros agentes, es necesario algún mecanismo o propiedad que pueda diferenciar a un agente de otro; por tanto cada agente debe poseer una identidad que sea independiente de su contenido. Un agente además de lo anterior debe mantener ciertas propiedades que determinan su estado, a partir del cual puede determinar las acciones a realizar y el comportamiento a seguir.

Se pueden encontrar ciertas analogías entre agentes y objetos, por ejemplo: � Estado: Los agentes y los objetos tienen un estado interno basado en su historia e

influenciado por su comportamiento. � Identidad: Tanto los objetos como lo agentes poseen identidad que no está determinada

únicamente por los valores de sus atributos. � Encapsulación: Los agentes y los objetos pueden proteger u ocultar datos y

comportamiento. � Comportamiento: Los objetos y los agentes pueden reaccionar recibiendo o enviando

mensajes. Podemos considerar a los agentes como objetos autónomos de tiempo real que poseen un

comportamiento pro-activo. Pero existen varias diferencias. Entre ellas podemos destacar:

� Cada objeto ejecuta secuencialmente métodos, mientras que un agente ejecuta un razonamiento autónomo que le permite elegir de forma “inteligente” una alternativa.

� Los objetos poseen datos y comportamiento, mientras que los agentes poseen además creencias, deseos e intenciones.

� Un agente reflexivo ejecuta un razonamiento autónomo para seleccionar un plan, mientras que un objeto no razona.

Capítulo 4: Introducción a la Inteligencia Artificial y a los Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

40

� Un objeto simplemente responde a mensajes y eventos, mientras que los agentes no son sólo reactivos, sino también activos en el sentido de que son capaces de actuar dirigidos por objetivos sin un estímulo externo.

� Los agentes son flexibles, es decir, pueden cambiar su comportamiento en tiempo de ejecución; son capaces de lidiar con situaciones no previstas o inesperadas, etc.

En síntesis, los agentes pueden ser interpretados como objetos autónomos e inteligentes,

que están equipados con capacidades de conocimiento y razonamiento para satisfacer varios objetivos.

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

41 Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

CCaappííttuulloo 55:: EEaassyyTTrraaff,, uunn ssiimmuullaaddoorr mmiiccrroossccóóppiiccoo ccoonnssttrruuiiddoo ppaarraa

uuttiilliizzaarr AAggeenntteess IInntteelliiggeenntteess

Ley de Booker: “Una onza de aplicación, vale una tonelada de abstracción”

En la Tesis de Ariel Romero [95] se analiza en forma profunda la problemática de la

microsimulación de tráfico, así como las posibles soluciones a los diferentes mecanismos aplicables para llevarla a cabo.

En este capítulo se describirá resumidamente al simulador construido con la base de esa

investigación, y se describirán sus características principales. 5.1 Aspectos generales del microsimulador Lo primero que se definirá como parte del modelo final son los aspectos generales del

simulador que afectarán todos los módulos. Para ello empezamos atacando el problema del esquema de simulación a ser utilizado.

Problemas del Análisis de Flujo y del Autómata Celular Los modelos que trabajan con analogías al flujo de fluidos son suficientes para aquellos

sistemas donde se espera un flujo libre y continuado todo el tiempo, pero arroja resultados inválidos cuando ocurre algún tipo de corte en el flujo. El diagrama fundamental del flujo de tráfico muestra que pueden existir dos valores de densidad para cada valor del flujo, en particular, el Flujo Cero podría interpretarse como una carretera vacía o una congestión total de la misma [70].

Por otro lado, este tipo de modelos asumen que el estado de la red de carreteras tiende continuamente al equilibrio, definido por los datos de demanda de origen y destino. En la mayoría de los casos, la demanda de una red es dinámica y nunca se presentan estados de equilibrio[70]. También es común observar que existen suposiciones implícitas en un modelo basado en flujos, que determinan que el flujo en un segmento de vía es instantáneo y homogéneo. Por ello no existe una representación adecuada del agrupamiento de tráfico tras un grupo de conductores más lentos que el promedio, los patrones de utilización de carriles y el efecto de “Viaje en reversa”7.

7 También conocido como efecto “Gusano”, se produce cuando un grupo de móviles bien aproximados uno al otro se encuentra detenido y posteriormente es liberado. Como los móviles de frente avanzan primero y empiezan a distanciarse progresivamente del resto se forma una onda del lugar donde los móviles empiezan a distanciarse que recorre en sentido contrario a la circulación. El efecto inverso sucede cuando los móviles están circulando a cierta velocidad media y llegan a un punto de congestión.

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

42

Un modelo microscópico exitoso debe poder lidiar con estos fenómenos del tráfico y con

otros que surjan como resultado del tráfico congestionado. Para que el simulador que utiliza aproximaciones al flujo de fluidos otorgue resultados reales, normalmente se aplica al mismo ciertos factores de escurrido retrasado en función a tablas ya definidas según el tipo de vía a simular [64].

Por otro lado, los modelos que utilizan aproximaciones al autómata celular están centrados en limitar la cantidad de información a ser manejada por el simulador para permitir el manejo de un volumen mayor de móviles en tiempo real, y como lo presenta [64] se presentan una serie de otras limitaciones: � Estas limitaciones no permiten conocer el movimiento real del móvil en el carril, tanto

longitudinal como transversalmente, limitando con ello el control de las interacciones que se suceden entre los móviles.

� El resultado de las interacciones entre móviles no son evidenciadas en el comportamiento y las decisiones de éstos, dado que la granularidad de las dimensiones recorridas superan ampliamente los márgenes de espacio y tiempo requeridos para corregir la dirección de un móvil o dar grandes saltos en la velocidad por cada paso de simulación.

El esquema de simulación a utilizar en el modelo final se basa en la simulación sobre

espacio continuo en cuantos de pasos de tiempo fijo, basado en las conclusiones del SHIVA [89]. Este esquema permite que los móviles ocupen arbitrariamente cualquier posición en el sistema de carreteras, que las interacciones entre móviles sean evidenciadas directamente y que la simulación sea sensible a todos los cambios de aceleración, velocidad, giro, posición transversal y longitudinal. De esta manera, el análisis de comportamiento se evaluará sobre la base de situaciones controlables sin pasarse por encima detalles de relevancia, y con márgenes de error mínimo.

El movimiento del móvil permitirá cuatro grados de libertad (movimiento longitudinal, movimiento transversal, giro horizontal y elevación en torno al eje transversal). Estas simplificaciones frente a otros sistemas como el IDS [5, 27] se realizan dado que los demás grados de libertad no afectan a los resultados esperados de una microsimulación, debido a que los factores del terreno y el nivel de respuesta del vehículo se manejan a nivel de las velocidades y aceleraciones extremas permitidas, como se verá mas adelante.

Ava

nce

del t

iem

po

Situación estacionaria

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

43

Como unidades básicas de medida se adoptaron las siguientes: � Longitud: El centímetro (cm). Unidades de menor precisión pueden perder detalles en

tráficos congestionados donde los móviles van muy próximos unos de otros, especialmente en cuanto a la posición transversal y al momento en que se llega al detenimiento completo.

� Tiempo: El segundo (s), utilizando inclusive fracciones de hasta centésimas de segundo para la programación de los eventos y el control de la ejecución de los módulos.

� De estas unidades básicas derivan luego la velocidad (en cm/s) y la aceleración (en cm/s2). Los ángulos de giro se manejan en grados enteros. Todos los cálculos de movimiento se realizan bajo las leyes de la física de Newton, para los cuales no se requiere el uso de cálculos diferenciales ni integrales, como si lo requieren algunos simuladores de muy alta precisión como el IDS [5, 9] y el LaRC [3].

En cuanto a la forma de representar la realidad, se optó por seleccionar la representación

por medio de objetos y no por ambientes geométricos puros. La representación por medio de objetos permite encapsular el comportamiento del tráfico y al mismo tiempo simplificar la consideración de factores geo-posicionales que para una microsimulación no representan diferencias importantes. Las adaptaciones para considerar los detalles geométricos del terreno se logran por medio del desarrollo de interfaces entre objetos que permitan describir distintas topologías sin perder la esencia del comportamiento del tráfico, como lo proponen las arquitecturas del TRANSIMS [57], el PARAMICS [60] y el MITSIM [48].

Sistemas de coordenadas: Inspirado en el VRED [9, 27] y en las recientes consideraciones del modelo, se presentan

dos sistemas de coordenadas complementarios: Coordenadas relativas: Sistema de coordenadas de dos dimensiones que describe el

posicionamiento del móvil en el objeto componente del sistema de carreteras actual. Permite obtener directamente el desplazamiento horizontal a lo largo del eje de la ruta y el desplazamiento lateral respecto a este eje. Este sistema de coordenadas permite realizar cálculos de posición relativa al objeto contenedor, así como cálculos de proximidad longitudinal y lateral respecto a móviles vecinos y otros objetos. La posibilidad de contar con este sistema de coordenadas facilita de sobremanera los cálculos para la toma de decisiones y permite un alto nivel de optimización en las consultas al modelo de representación de carreteras.

Coordenadas absolutas: Sistema de coordenadas de tres dimensiones con las coordenadas absolutas del sistema, en función a un punto origen único. Gracias a este sistema, los móviles cuentan con un sistema de orientación que permite al módulo de navegación y guía, el conocimiento de las direcciones y sentidos, el seguimiento de las tablas OD, la selección del camino mas cercano, el cálculo de proximidad entre objetos distintos del sistema de carreteras y cálculos de ubicación en zonas de simulación distintas.

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

44

5.2 El entorno de trabajo del modelo Dadas las ventajas que ofrece el modelado orientado a objetos [64], se describirá en adelante

los diferentes componentes de la simulación basado en el citado paradigma. Cada elemento integrante del mundo real será modelado como un objeto con identidad y comportamiento propio.

A este punto, se presentará el entorno de trabajo con todos los sub-modelos participantes de la microsimulación. Para ello se expone a continuación el diagrama de flujo de información y dependencias entre estos componentes. El sentido de la flecha indica el sentido de la dependencia entre módulos, así:

... significa: A ...depende de... B

5.3 Componentes del modelo 5.3.1 El Modelo de Representación del Ambiente El ambiente y el sistema de carreteras son modeladas como un conjunto de vías de

circulación independientes e intersecciones. Siguiendo las ideas del VRED, la representación abstracta del sistema se realiza por medio de un grafo jerárquico dirigido. Este consiste en una serie de nodos interconectados por arcos que representan las vías de circulación.

B A

DEPENDE DE : (ninguno)

DE ESTE DEPENDEN : Entidades

Visualización Señalización Control de la Simulación Monitoreo

Dinámica del móvil Modelo de

Representación Físico

Red de Carreteras Modelo de

Representación del Ambiente

Entidades Modelo de Control de Demanda y Población

Control de la simulación

Señalización Modelo de Representación

de Reglas de Tráfico

Toma de Decisiones Modelo de Comportamiento

y Decisión

Distribución Modelo de Almacenamiento y Distribución de Información

Monitoreo Modelo de Sensores y

Toma de Datos

Visualización

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

45

La condición de grafo jerárquico permite al nodo contener un grafo de segundo nivel que a

su vez representa cada una de las intersecciones. En estas intersecciones se representan las bocas de entrada con nodos y las maniobras por medio de arcos que unen las bocas de entrada. Los arcos dirigidos tienen pesos asociados que a su vez representan el porcentaje de permiso/posibilidad de realizar cada maniobra en el caso que el conductor la haya preseleccionado.

En la figura se muestra una situación de un cruce de dos calles de dos carriles con sentidos

de ida y vuelta. Las maniobras resaltadas muestran que continuar sobre el carril actual y girar a la derecha son elegibles en un 100%. El giro a la izquierda tiene asociado solo un 40% dado que este giro significa perder la prioridad del carril y tener que esperar que todos los móviles del carril paralelo crucen. El giro en U esta prohibido, por ello tiene una asignación del 2%, lo que significa que solamente un conductor con mucha agresividad y poco respeto a las reglas de tráfico elegiría esta maniobra en caso de necesitarla. Si una maniobra es físicamente irrealizable, la misma no es considerada en el grafo.

11

42

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

46

Representación de las diferentes clases que forman la estructura de carreteras:

Clase: Zona Objetivo: Representar cada una de las regiones en que se subdivide el sistema de

carreteras Descripción: Encargado de dividir el sistema de carreteras en celdas rectangulares

previamente determinadas en función a la densidad de tráfico existente en la zona y a la potencia del procesador al que se asigna. Cuenta con miembros que determinan las dimensiones de la zona, los parámetros de red de la computadora que lo simula y la información de las zonas vecinas en cada una de sus cuatro aristas.

La zona trabaja de la mano con el modelo de distribución de información para encaminar las consultas inter-zonas y coordinar los requerimientos de actualización del simulador8.

Por otro lado, cuenta con miembros que permiten al sistema de visualización definir una sub-zona de atención interna para la cual, todos los objetos que fueran afectados, deben reportar sus estados a una frecuencia predeterminada para mostrar dinámicamente las posiciones y el comportamiento de las entidades simuladas, optimizando el flujo de información requerido.

8 Esta idea está inspirada en el mecanismo de manejo de los “clipped regions” o regiones recortadas, técnica comúnmente utilizada en el diseño de interfaces gráficas y APIs.

Zona

Escenario

Ruta Nodo

Carril

Tabla OD

Bocacalle

Maniobra Móvil

Cola de móviles (en carril)

Cola de móviles (en

intersección)

Señales

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

47

Clase: Escenario Objetivo: Coordinar las entidades y sus actividades dentro de una zona Descripción: Contenedor de todos los elementos estáticos y dinámicos de la zona. Por

medio de este objeto, el modelo de control puede coordinar todas las actividades de los demás módulos (ver Modelo de Control de la Simulación).

La lógica de relacionamiento de objetos y control de entidades se centra en una jerarquía de objetos contenedores. Esta estructura está fundamentada en conseguir un mecanismo de localización de entidades con un costo computacional muy bajo en la que se combinan técnicas de: � Búsqueda Binaria Ordenada: Cuando se cuenta con una colección de objetos a

un mismo nivel previamente ordenados y se desea encontrar un subconjunto de éstos que cumpla con ciertos requerimientos, por ejemplo, al buscar carriles candidatos para una maniobra o al crear la Tabla OD.

� Acceso por Indireccionamiento: Cuando dos objetos están íntimamente relacionados entre sí por una unión de dependencia o jerarquía. Si el modelo lo permite, estos objetos están referenciados entre sí por medio de listas encadenadas o enlaces (punteros a objetos). Algunos ejemplos del uso de esta técnica constituyen las relaciones de pertenencia de un carril a una ruta, de un móvil a un carril, del orden relativo de los móviles en una cola de espera, entre otros.

Clase: Ruta Objetivo: Representar a una vía de circulación, sea una calle, avenida o carretera. Descripción: Con esta representación se busca abstraer la condición de un contenedor de

carriles que vincula todos los carriles de una misma vía de circulación entre sí, estableciendo un orden relativo entre ellos, el eje de la carretera y definiendo el sentido de cada uno.

Al abstraer la estructura interna de la vía de circulación facilita el trabajo de creación de Tablas OD al sistema de navegación y guía y permite establecer parámetros generales a nivel de todos los carriles como ser: � Intersecciones que conecta. � Posicionamiento sobre el sistema de coordenadas absoluto. � Trayectoria del centro de la ruta, que sirve como guía a los carriles inscritos

en ella. � Preferencia � Información del flujo de móviles, ocupación y escurrimiento.

Clase: Carril Objetivo: Representar a cada uno de los andariveles de una vía de circulación. Descripción: Es la estructura atómica mas importante para el tratamiento de las entidades

estáticas y dinámicas. Contiene las colas de móviles, peatones y controles asociados al andarivel correspondiente y está fuertemente vinculado a la ruta, a los carriles adyacentes y a las intersecciones terminales por medio de sus bocas de acceso como se muestra en la figura.

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

48

Esto facilita el proceso de desplazamiento de las entidades dinámicas dentro del carril y su traspaso consistente a otros elementos dentro del sistema de carreteras. Cada carril tiene asociado una función r(d), donde d es la distancia recorrida respecto al origen del carril, que define el trayecto recorrido dentro del carril utilizando así su propio sistema de coordenadas relativo como se presentó en el tópico 5.2. Cada carril a su vez cuenta con un desplazamiento lateral respecto al eje de la ruta que lo vincula con el sistema de coordenadas absoluto. A nivel de los carriles se registra: � Identificador único del carril. � Posición y dimensiones absolutas (largo y ancho). � Posición relativa en la ruta. � Contenedor y entidades relacionadas (zona, ruta, bocacalles, nodos

extremos, señales de tráfico). � Sentido de circulación admitido. � Tipos de vehículos admitidos. � Carriles vecinos, y con ello la información relativa a la posibilidad de pasar

de un carril a otro. � Situación actual de cada móvil en el carril. � Calidad de la ruta (permite manifestar los efectos de los diferentes tipos de

pavimento en función a libertad de acelerar a la velocidad crucero establecida por el conductor de los móviles).

� Velocidad máxima permitida. � Permisos de detención y estacionamiento. � Condición de bloqueo en caso de detención. � Situación de bloqueo actual. Los carriles están ordenados de forma relativa en función a cada uno de los sentidos de circulación de la vía, así a cada uno de los extremos del centro de la ruta se despliega un número determinado de carriles numerados de afuera para dentro empezando con –1 (que identifica a un carril tipo vereda), luego el valor 0 que representa al primer carril y así siguiendo. El carril con mayor número de orden limita con el trayecto del centro de la ruta.

Relación Carril - Ruta

Relaciones Carril -

Relación Bocacalle -

Relaciones Carril izq. – Carril

Sentido

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

49

Todo el sistema de posicionamiento, así como el movimiento longitudinal y transversal de los móviles dentro de un carril se lleva a cabo con respecto al sistema de coordenadas relativo, cuyo origen coincide con el punto origen del carril.

Clase: Nodo Objetivo: Esta clase cuenta con objetivos bien diferenciados en función al perfil del

nodo: � Nodo Intersección: Son aquellos nodos que permiten interconectar carriles

entre sí y que representan al cruce de rutas. A nivel del simulador, este tipo de nodos puede utilizarse también para representar la fusión/bifurcación de carriles de una misma ruta. En todos los casos son nodos intermedios en el sistema de carreteras y su misión principal consiste en permitir el paso controlado de las entidades dinámicas del extremo final de un carril al extremo inicial de otro.

� Nodo Conector: Son aquellos nodos terminales o extremos del grafo que se encargan de producir/consumir los móviles del sistema, o bien los traspasan a zonas adyacentes que serían simuladas en otras computadoras.

Descripción: Los nodos representan el punto de confluencia de los carriles en una simulación. La clase registra para todos los casos: � Identificador único del nodo. � Zona en la que se ubica. � Posición absoluta. � Dimensiones de la zona de influencia. � Tipo. Puede ser Intersección o Conector (Productor/Consumidor o

conector entre zonas). Además, según el tipo de nodo, la clase registra datos particulares para cada tipo: • Nodo Intersección. Ø Se registran cada una de las maniobras que conectan los carriles entre sí.

(ver clase maniobra). • Nodo Conector Ø En el caso que sea un Conector Productor se registra la cantidad de

móviles por minuto que debe generar e introducir al sistema Ø En el caso que sea un Conector Consumidor se registra el porcentaje

respecto al total de entidades dinámicas en la zona que deban consumirse por este nodo

Ø En el caso que sea un Conector Interfaz entre zonas, la clase registra el identificador a la zona adyacente a la que se conecta.

Ø Los nodos productores/consumidores comúnmente se ubican en las aristas que delimitan las zonas externas del sistema de carreteras como puntos de generación/destrucción de móviles. Estos nodos pueden ubicarse también en determinados lugares dentro de una zona para representar puntos de entrada/salida de vehículos representativo, como son por ejemplo los estacionamientos, edificios, centros de compras y otros lugares de gran concurrencia.

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

50

Ø Dada la funcionalidad otorgada a un nodo conector, sea productor, consumidor o interfaz, es necesario que estos no coincidan posicionalmente con un nodo intersección ni puedan ejercer simultáneamente ambas funciones, ya que los nodos conectores deben tener una única bocacalle de entrada y de salida

Clase: Tabla OD Objetivo: Describir trayectos a seguir para las entidades dinámicas de la zona simulada Descripción: Una Tabla OD es una secuencia de nodos que se inicia en un nodo productor y

termina en un nodo consumidor, pasando por una serie de 0 o más nodos intermedios que pueden ser intersecciones o interfaces entre zonas.

Esta secuencia de nodos se genera en el momento que el nodo productor (donde se inicia la secuencia) solicita la creación de una nueva entidad dinámica. Dicha secuencia servirá posteriormente al sistema de navegación como un prototipo guía que en camina las decisiones para seleccionar los carriles y las maniobras que permitan al móvil recorrer este trayecto.

Las Tablas OD se generan de tal manera que inicialmente existe una forma permitida para recorrer el trayecto descrito. En caso que durante la simulación ocurran accidentes, bloqueos o cambios en las condiciones del tráfico que no permitan mantener este plan de viaje original. La Tabla OD podrá regenerarse a partir del siguiente nodo hacia el cual se está avanzando.

La misma Tabla OD cuenta con miembros que permiten evaluar en función a la demanda actual de móviles por parte del escenario y a la distribución de los mismos, seleccionar el par de nodos origen/destino y la secuencia de nodos intermedios basados en una serie de patrones guía, a saber: � Conocimiento del sistema de carreteras � Conocimiento anticipado de vías “Favoritas” y vías “Evitables” � Conocimiento anticipado de situaciones de bloqueo � Preferencia de las vías � Calidad de las vías � Maximización de la velocidad máxima permitida � Densidad del tráfico por vía � Existencia de carriles que unan cada par de nodos de la Tabla OD para los

cuales está permitido el trafico del tipo de móvil actual. � El criterio del camino de menor costo (menor distancia recorrida)

REFERENCIAS: Nodos

Ruta empedrada

Ruta asfaltada

Tabla OD original

Bloqueo de vía

Modificación a la tabla OD

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

51

� Algunas Tablas OD se establecen previamente al inicio de la simulación, y se aplican a ciertos tipos de móviles que tienen trayectos predefinidos

Clase: Bocacalle Objetivo: Representar en un nodo un conjunto de carriles que, independiente al sentido,

lo conectan con otro nodo del sistema. Descripción: La bocacalle es una representación interna del sistema que permite:

� Vincular todos los carriles de una misma vía entre sí, diferenciando los carriles de sentido entrante y saliente.

� Abstraer la existencia del conjunto de carriles de igual sentido de una ruta con el objetivo de manejar el flujo de móviles independientemente del carril específico por el que entra o sale del nodo. La misma situación es aplicable para las maniobras.

� Asociar los semáforos y otras señalizaciones a todos los carriles entrantes provenientes de una misma ruta.

� Optimizar el proceso de construcción de trayectos para las consultas al sistema de carreteras

La bocacalle maneja información respecto a: � Nodo al que pertenece � Carriles que en este terminan. � Nodo al cual se accede por su intermedio. En adelante, cuando se hace referencia al término boca o bocacalle, éste se referirá en particular a la interfaz teórica que existe entre un nodo y el grupo de todos los carriles de un mismo sentido que desembocan en él desde un mismo nodo y por una misma ruta.

Clase: Maniobra Objetivo: Representar cada uno de los trayectos permitidos dentro de un nodo tipo

Intersección, que permitan conectar carriles entrantes y salientes entre sí Descripción: La clase maniobra es en sí un miembro de la clase nodo con especialización de

tipo intersección. Como se mostró al comienzo del presente apartado, cada

BOCAS ENTRANTES

BOCAS SALIENTES

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

52

maniobra es un enlace que determina la posibilidad de que un móvil acceda a un carril de una bocacalle saliente a partir de un carril de una bocacalle entrante. Este emparejamiento de carriles entrantes/salientes registra: � El nodo intersección en cuestión � La posibilidad (física) de que una maniobra se realice. � El nivel de permisividad o elegibilidad de la maniobra, basado en las reglas

de tráfico y en el peligro que representa realizar ciertas acciones en un cruce.

� La longitud de la maniobra � El trayecto que sigue la maniobra dentro del nodo � Por medio de esta información, el modelo de control podrá determinar

mecanismos para prevención y detección de colisiones. Cada maniobra es en sí un carril con su propia cola de móviles en tránsito. La principal diferencia radica en que un carril convencional está asociado a una ruta y una maniobra está asociada a una intersección. Por otro lado, un móvil en un carril puede realizar adelantamientos que le permiten cambiarse rápidamente al carril de al lado. Las maniobras sin embargo no cuentan con otros elementos similares adyacentes a su trayectoria. En el caso que un móvil pueda adelantarse durante su paso por el nodo, deberá existir una maniobra independiente que defina esta trayectoria. Esta simplificación se realizó con el fin de evitar la existencia de movimientos no controlados dentro del nodo; con el objetivo de optimizar el tiempo de cálculo de colisiones entre todas las trayectorias posibles.

Clase: Móvil Objetivo: Representar a las entidades dinámicas presentes en el sistema de carreteras Descripción: El móvil es finalmente el centro de todo el proceso de simulación. A diferencia

de los demás componentes del sistema de carreteras, estos no se instancian al iniciar la simulación sino que se crean en el momento que entran al sistema de carreteras y se destruyen a su salida. El móvil es manejado primariamente por el sistema de navegación del modelo de control y por el Modelo de Representación de Entidades, en cuya explicación se considerarán todos los detalles de su composición y funcionamiento. El móvil registra internamente: � Zona en la que se simula. � Carril o Maniobra en la que se encuentra actualmente. � La Base de Datos del Conocimiento del móvil, en la que se representa todo

lo que el móvil conoce y decide (incluye también a la Tabla OD que determina su trayecto).

� El tipo de móvil al que se asocia. � El tipo de conductor al que se asocia. � Los valores crucero, mínimo y máximo correspondientes a su velocidad,

aceleración y desaceleración. � Su posición longitudinal y transversal respecto al sistema de coordenadas

relativo de su contenedor actual. � Su situación respecto a otras entidades dinámicas vecinas

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

53

Clase: Señales Objetivo: Representar a las regulaciones del tráfico y a las entidades estáticas (señales de

tráfico y obstrucciones) presentes en el sistema de carreteras Descripción: Si bien la mayoría de las reglas de tráfico son representadas a nivel de las

propiedades de las vías de circulación, existen otras que se representan por medio de señales y afectan independientemente a un carril o a toda una boca. Por simplicidad sobre el trabajo con el modelo no se registran señales asociadas a las maniobras, ya que por su condición de componentes empleados para la transición de móviles entre carriles, no se pierde generalidad al suponer que las condiciones al entrar a una maniobra se mantendrán invariables hasta finalizar la transición en la intersección. Los efectos de las señales se aplican en función a ciertos “Tipos de Control” predeterminados, manejados por el Modelo de Señalización. Existen tres tipos de señales: Señales monoestado: Son aquellas señales que no cambian a lo largo de una simulación y afectan a un área pequeña y bien definida de un componente del sistema de carreteras en la simulación. Estas registran: � Tipo de señal, y con ello el efecto que tiene sobre los móviles que circulan

en el sistema de carreteras. � Componente al que afecta, que puede ser un carril o una maniobra. � Zona en la que afecta, típicamente considerada a partir de una posición

inicial y una longitud Las señales estáticas controlan el ancho completo del carril o maniobra. Señales multiestado: Son aquellas señales que cambian de estado con el avance de la simulación. En esta categoría se incluyen a los semáforos y a las señales electrónicas. En particular, esta versión del modelo contempla solamente a los semáforos, dado que en nuestro medio aún no se implementaron señales electrónicas. El diseño de los semáforos requiere la representación de dos componentes: � La diagramación de los estados de cada uno de los juegos de luces de un

semáforo. Esto a su vez requiere representar: Ø Cada uno de los estados o etapas por los que pasa cada juego de luces Ø El tiempo que se demora cada estado o etapa en pasar a la siguiente

� La representación de cada semáforo. Esto requiere: Ø Determinar cuales son los juegos de luces que cada semáforo tiene

habilitado. Este modelo se restringe a los dos juegos más comúnmente utilizados: La circulación principal y las flechas de giro a la izquierda.

Ø Determinar cuales son los diagramas de estados asociados a cada juego de luces habilitado.

Ø Asignar retrasos en la habilitación y avance inicial de estados a ciertos semáforos para lograr los efectos de coordinación a nivel de una misma intersección y las ondas a nivel de una secuencia de intersecciones con semáforo.

Obstrucciones: El concepto y la representación de una obstrucción es equivalente al de un móvil, con la diferencia que no registra componentes de estado, de movimiento ni de comportamiento. Las obstrucciones pueden ser

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

54

interpretadas como una zona de reparación, un bache importante, un accidente u objeto que bloquea temporalmente el carril, etc. Por su condición de elementos estáticos, las obstrucciones no son actualizadas por el modelo de control. Estas pueden ser introducidas la sistema desde el inicio o programáticamente en algún momento durante la simulación, inclusive pueden ser retiradas posteriormente.

Clase: Cola de móviles Objetivo: Representar la secuencia de móviles presente en un carril o maniobra Descripción: Como el objeto principal de la simulación es el manejo de las entidades

dinámicas, el modelo de representación cuenta con una clase especial que modela la secuencia de móviles de un carril o maniobra para optimizar el proceso de consulta de la situación de un móvil en relación a sus vecinos del mismo carril, de carriles adyacentes e inclusive de maniobras y otros carriles que se encuentran posteriormente. Esta forma de representación permite al modelo de control el manejo de varias instancias simultáneas de la cola de un mismo carril o maniobra con el objetivo de realizar las actualizaciones de cada paso de la microsimulación respecto a un mismo estado consistente, sin depender del orden en que se actualizan los componentes del sistema de carreteras. Por otro lado, el manejo de colas independientes permite la representación relajada del estado de los móviles de una zona distinta, que se actualiza de a intervalos mucho mayores a los utilizados dentro de una misma zona debido a las limitaciones del enlace y el retraso que produce la comunicación entre dos o más computadoras.

Representación del Sistema de Carreteras:

REFERENCIAS :

Zona Nodo Intersección

Ruta Nodo Productor/Consumidor

Carril Nodo Conector

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

55

5.3.2 El modelo de Representación Físico

Este modelo analiza la representación de los fenómenos físicos. Está muy sujeto al modelo

de Control de la Simulación y define en gran manera los parámetros generales utilizados. Analizada la problemática inherente al modelo, surge la pregunta relativa al nivel de

fidelidad que se quiere lograr con la simulación. Aproximaciones extremas: � Computar la interacción de cada una de las ruedas con la pista, incluyendo la física del

vehículo, considerando la masa, velocidad, aceleración y gradiente de fuerzas resultante sobre el vehículo, determinando así sus efectos y el movimiento exacto [5, 9, 27].

� Cada móvil es un punto cuyas variables de movimiento se promedian con el de los vehículos que circulan por la misma carretera en búsqueda de un equilibrio. Se considera solo la posición y la velocidad. Los cambios de velocidad son bruscos y se realizan exclusivamente para adecuarse al vehículo u obstáculo de enfrente [57, 60].

Aproximación propuesta: Cada móvil se representará como un objeto independiente, insertado en un ambiente

tridimensional. No se considerará la física independiente de las ruedas ni el balanceo del vehículo. Sólo se considerará su movimiento horizontal en relación a la carretera, los vehículos y obstrucciones vecinas y las variables de comportamiento del móvil, calculándose independientemente uno respecto al otro.

Las funciones de movimiento a utilizarse están basadas en las ideas del IDM9 [59]. La nueva idea apunta a utilizar una versión modificada que no requiera cálculos diferenciales ni integrales y que al mismo tiempo se adecue al tipo de móvil y tipo de conductor a ser representado.

Como se presentó anteriormente, el movimiento del móvil permitirá cuatro grados de libertad, estos son:

1. Movimiento longitudinal 2. Movimiento transversal 3. Giro sobre el plano del móvil 4. Elevación en torno al eje transversal Las dos primeras se aplican directamente a la velocidad como una función del ángulo de

giro respecto a la dirección del carril, así sean: ∆SL: Movimiento Longitudinal ∆ST: Movimiento Transversal v: Velocidad a: Aceleración α: Angulo de giro (=0 : Frente, >0 : Izquierda, <0 : Derecha)

9 IDM: Intelligent Driving Model o Modelo de Conducción Inteligente, presentado por el MITSIM, simulador experimental del MIT.

DEPENDE DE : Entidades

DE ESTE DEPENDEN : Entidades

Control de la Simulación

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

56

β: Angulo de elevación sobre la horizontal tp: Intervalo de tiempo por paso g: aceleración de la gravedad

( ) pL tvS ××=∆ αcos

( ) pT tvS ××=∆ αsen

donde para cada paso,

( )pefectivao tavv ×+=

La elevación induce cambios sobre la aceleración del móvil, afectando indirectamente a la

velocidad, así:

( ) ( )( )βcos, ×+= gaafa frenomotorefectiva

El miembro derecho de esta igualdad hace referencia a una función heurística f que

determina la aceleración equivalente del tipo de vehículo utilizado en base al estado actual de circulación (acelerando, frenando). Este valor se determina como resultado de la intención del conductor y las capacidades del vehículo, que se fija entre valores mínimos y máximos establecidos desde que el móvil ingresa al sistema

Para representar los trayectos recorridos, cada objeto componente de la red de carreteras cuenta con un trazado tridimensional representado por un polinomio de aproximación por Splines, construido por una serie de puntos que aproximan una curva, como lo presenta el VRED [9, 27]. Al mismo tiempo cuenta con funciones que permiten aproximar la posición del móvil de forma paramétrica, en función a la longitud total del trayecto. En caso que no sea relevante la consideración de las curvas de un carril10, como lo es en la mayoría de los casos, estos trayectos y las funciones de posición se calculan sobre la función de la recta en el plano, donde:

( )LiLTiT SSmSS −=−

donde m es la pendiente del vector director. La profundidad Z se obtiene como resultado de la función paramétrica del plano:

( )TLi SShZ ,= por la cual se asocia a cada punto del plano un valor de altura, simplificando los cálculos de

posición en la mayoría de los casos.

10 Esta suposición se establece sobre la base de que una curva leve en un carril no afecta la circulación del tráfico a menos que el ángulo sea demasiado pronunciado o que implique directa o indirectamente una disminución de la velocidad promedio, en cuyo caso se utilizarán soluciones complementarias recurriendo a representaciones equivalentes.

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

57

La combinación de estas funciones permite conocer la dirección y el sentido del movimiento sin perder generalidad, al tiempo que mejoran de sobremanera el rendimiento de un simulador que opera sobre sistemas polinomiales tipo Splines o B-Splines

Este modelo también simplifica los efectos de la potencia del motor, freno y agarre de las ruedas, acotando para cada tipo de vehículo la aceleración permitida. No se consideran aspectos físicos relativos al agarre lateral dado que las velocidades extremas en ambientes urbanos para los cuales está preparado el simulador no superan los umbrales de peligro que requiere una supercarretera o una ruta con límite de velocidad superior a los 100 Km/h.

Finalmente, las suposiciones de simplicidad aplicadas al caso del autómata celular, por le cual se establece el tamaño de una celda entre 8 y 15 metros, son válidos para el presente modelo aún en el peor de los casos. En este sentido, un móvil que circula por un sistema de carreteras con velocidad máxima absoluta de 100 km/h se desplazará 8 (o más) metros en un paso si el intervalo entre pasos es igual (o mayor) que 0,288 segundos. Como se verá en el siguiente tópico, el Control de la Simulación fue diseñado para que actualice el sistema de carreteras en intervalos de 0,1 o 0,2 segundos, aunque podría determinarse intervalos menores de ser necesario.

5.3.3 El Modelo de Control de la Simulación Este modelo está diseñado con la misión de coordinar las actividades de todos los demás

módulos integrantes de la simulación. Similar al caso del modelo de Representación Físico, antes que nada debe definirse aquí el

tipo de control de avance que coordinará los pasos de la simulación. Para ello se cuenta con dos aproximaciones extremas:

Discreto: Usado comúnmente en microsimulación. Divide los carriles en celdas de tamaño fijo y

determina que un solo móvil puede ocuparla por vez. El las funciones de movimiento se modelan en función a un número de celdas de avance por paso. Dada una celda, sólo existen 4 posibles celdas adyacentes por lo cual el proceso de decisión y control es sumamente sencillo. Además, es computacionalmente barato aunque poco real.

Continuo: Usado comúnmente en simulación interactiva. El móvil se desplaza según una ecuación de

movimiento que permite circular sin suposiciones discretas. Es mucho más real pero requiere mucho más cálculo a la hora de tomar decisiones, determinar colisiones y aplicar las funciones de movimiento.

Propuesto: Aproximación física continua, como se había determinado en el apartado anterior, pero

sobre intervalos de actualización discretos. El control del tiempo

DEPENDE DE : Distribución de

carga

DE ESTE DEPENDEN : Entidades Distribución

Señalización Dinámica del Móvil Monitoreo Visualización Red de Carreteras Toma de Decisiones

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

58

El modelo de control cuenta como herramienta principal al módulo de Control del Tiempo. La finalidad de este módulo es la de posibilitar la coordinación de actividades y la administración del tiempo de simulación, diferenciada frente al tiempo real de ejecución. Este módulo cuenta con miembros que permiten configurar el periodo de cada paso de la simulación, controlar el avance del tiempo y proveer a todo el sistema una visión uniforme de las diferentes versiones de entidades respecto al momento que fueron actualizadas por última vez.

El programador de tareas Es el coordinador de todas las acciones del simulador y constituye la plataforma sobre la

que se lanzarán posteriormente los módulos que realizan cada una de las tareas requeridas por la simulación.

El programador debe lanzar tareas para: � Modificar sus miembros de control del tiempo y del estado general de la simulación. � Solicitar la creación de nuevas entidades dinámicas que entran al sistema de carreteras. � Actualizar las entidades dinámicas presentes en los carriles y maniobras. � Analizar la situación de cada móvil y definir las acciones a tomar. � Determinar posibles colisiones e incidentes. � Actualizar el estado de las señales de tránsito multiestado. � Actualizar los sensores. � Sincronizar y actualizar la visión que las otras computadoras integrantes del sistema

tienen de la zona actual. � Actualizar al sistema de visualización. Cada una de estas tareas puede lanzarse por motivaciones pro-activas o reactivas, o bien

pueden programarse de forma cíclica cada cierto tiempo. Cada forma de manejar estas tareas o eventos tiene consideraciones e intervalos de ejecución distintos.

� Acciones Programadas: Incluye las siguientes tareas con sus intervalos de programación: Ø Módulo de actualización de los estados de movimiento de las entidades dinámicas

en carriles y maniobras. Intervalo típico: 0,2 segundos. Ø Módulo de actualización de la información distribuida: Actualiza la información que

otras zonas tienen de la zona actual. Intervalo típico: 2 segundos. Ø Módulo de visualización. Debe actualizarse al menos al mismo ritmo que el módulo

de actualización para no perder detalles. En caso que se simule un sistema con varias zonas que trabajan de manera asíncrona, es preferible que el módulo de visualización se actualice con una frecuencia aún mayor.

Ø Modulo de actualización de las señales de tránsito multiestado. Los semáforos y carteles eléctricos no cambian de estado con mucha frecuencia lo que permite establecer intervalos de entre 0,5 y 2 segundos.

� Acciones Pro-activas: Ø Modulo de inicialización y cambio de estado de la simulación. Sólo requiere

ejecutarse en momentos específicos, al inicio de la simulación y cuando es necesario alterar algunos parámetros de la simulación con el objetivo de forzar ciertas situaciones de especial interés.

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

59

Ø Módulo de creación de nuevas entidades: Se ejecuta solamente cuando se detecta un alejamiento importante en la cantidad esperada de móviles del sistema, o cuando se desbalancea la utilización de ciertas vías respecto a otras.

Ø Actualización de la visión que tienen las otras zonas del sistema actual: Cada vez que se detecta una diferencia importante entre la información real y la información que maneja una zona respecto de otra, la zona que administra los datos reales envía la información necesaria a las zonas afectadas.

Ø Toma de decisiones: Cada vez que una entidad dinámica decida que es necesario cambiar su estado de comportamiento actual, modifica sus variables de movimiento, en particular, la aceleración y el giro, apuntando a mejorar su situación actual.

� Acciones Reactivas: considerar tiempos de reacción para decisiones Ø Toma de decisiones: El proceso de toma de decisiones puede ser invocado también

fuera del ciclo de ejecución normal dadas ciertas condiciones que requieran de la intervención del módulo de toma de decisiones para alterar el estado actual.

Ø Detección de colisiones e incidentes: Como parte del proceso de actualización de estados de movimiento de las entidades dinámicas pueden infringirse las condiciones de frontera de estas entidades, lo que obliga a producir una condición de choque instantáneamente que bloquea el carril en cuestión.

Ø Actualización de Sensores: Cada vez que una entidad dinámica ingrese a una zona controlada por un sensor o dispare la condición que lo controla, se ejecuta el módulo de monitoreo para actualizar la información del sensor afectado

Para controlar a los módulos que se ejecutan por acciones programadas, el módulo de control principal cuenta con un ciclo que avanza el tiempo de simulación en intervalos de tiempo con la duración del máximo común divisor de todos los tiempos de los eventos programados. En cada ciclo, el programador controla si es el momento de ejecutar alguno de los módulos programados o si se cumplen las condiciones para ejecutar algún módulo pro-activo. Algorítmicamente esto es:

Inicializar ( simulación ) Inicializar ( control de tiempo ) Avance = MCD( eventos, Tiempo de Paso ) MIENTRAS < simulador esté activo >

PARA CADA < evento > SI Tiempo Simulación % Intervalo( < evento > ) == 0 Ejecutar < modulo del evento >

Tiempo Simulación = Tiempo Simulación + Avance

SI Tiempo Simulación % Tiempo de Paso == 0 Avanzar ( paso )

Finalizar ( simulación )

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

60

El módulo de Navegación y Guía Es el módulo que se encarga del avance de los móviles aplicando las ecuaciones de posición

y movimiento. Este módulo tiene además como misión el control de las actividades reactivas y la actualización del estado de las entidades dinámicas en el sistema de carreteras, conservando la consistencia de la información en todo momento. A continuación se presenta en detalle la forma como lleva a cabo cada una de estas tareas.

Movimiento y control de colisiones Como se presentó con anterioridad, tanto los carriles como las maniobras manejan una cola

de móviles independiente, donde el movimiento de éstos está sujeto a un sistema de coordenadas relativo siendo su trayectoria una recta que equivale en longitud a la trayectoria real del carril representado.

La solución a las problemáticas que tratan la optimización de las consultas apuntan a que cada entidad dinámica, aparte de manejar su información de posición y movimiento, registre también cuales son las otras entidades que se encuentran por delante y por detrás de ésta, al tiempo que la misma cola registra la secuencia ordenada de dichos móviles. A nivel de ciertas entidades dinámicas se permite que, sobre un mismo carril, una pueda sobrepasar a otra. Para esto, los motociclistas, ciclistas y peatones tienen una propiedad especial de co-permanencia que los diferencia del resto y tienen este tratamiento especial. La posibilidad de compartir una misma ubicación en un carril es aplicable solamente a dos o más móviles donde todos tienen la propiedad de co-permanencia. Otras combinaciones no son admitidas.

Respecto al control de las condiciones de frontera se buscó balancear el nivel de esfuerzo invertido en el control de la gran mayoría de los casos importantes sin considerar algunos casos patológicos cuya probabilidad de ocurrencia es ínfima y que no resulta representativa para los objetivos del simulador. El control de las condiciones de frontera se realiza una vez que un elemento de la red de carreteras terminó de actualizar las posiciones de las entidades dinámicas que contiene, realizando una serie de verificaciones del orden relativo entre el estado estable anterior y el nuevo estado estable controlando lo siguiente:

Para los carriles: � Para cada entidad dinámica, se analiza si sus vecinos inmediatos en la cola del carril

(anterior y siguiente) se han solapado considerando la posición, largo, ancho y giro de cada entidad. Si ambas entidades tienen la propiedad de co-permanencia, este calculo se ignora

� Se controla si hubo algún cambio en el orden relativo entre cada par adyacente de entidades, sin que ambos tengan la propiedad de co-permanencia.

Para las maniobras: � Para cada entidad dinámica, se analiza si sus vecinos inmediatos en la cola de la

maniobra (anterior y siguiente) se han solapado considerando la posición, largo, ancho y giro de cada entidad. Si ambas entidades tienen la propiedad de co-permanencia, este calculo se ignora

� Se controla si hubo algún cambio en el orden relativo entre cada par adyacente de entidades, sin que ambos tengan la propiedad de co-permanencia.

� Para cada maniobra se determina un conjunto de maniobras del mismo nodo que se intersecan con la actual en algún punto y que tiene al menos una entidad dinámica en el estado consistente anterior posicionada antes de dicho punto de intersección. Se verifica entonces en el nuevo estado consistente si se cumple una de las siguientes condiciones:

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

61

Ø Ambos móviles cruzaron el punto de intersección, o Ø Los móviles han infringido sus condiciones de frontera respectivas.

En este caso no se considera la propiedad de co-permanencia.

Si alguna de estas verificaciones determina que se ha infringido alguna condición de frontera, se dispara un procedimiento que marca a todas las entidades dinámicas involucradas como chocadas, se disminuyen a cero todas sus propiedades relativas al movimiento conservando su posición actual, al tiempo que se notifica a los demás móviles del mismo elemento de la carretera lo ocurrido para que el modelo de toma de decisiones reaccione en consecuencia.

Actualización de los carriles y las maniobras El módulo de Navegación se encarga de actualizar (avanzar) a cada una de las entidades

dinámicas en función al modelo físico anteriormente descrito. Este debe definir las soluciones a las problemáticas presentadas al inicio del capítulo referentes a la sincronización en la actualización y a la representación uniforme y consistente de la realidad simulada.

El módulo de Navegación manejará entonces una serie de colas alternativas para cada carril o maniobra de tal manera a poder representar:

� El estado consistente al que se llegó en el paso anterior: Cada uno de los valores que determinan el estado de posición y movimiento del móvil y que son exclusivos de cada paso de simulación. Esta copia debe mantenerse invariable durante todo el paso para que todas las consultas realizadas durante la actualización y toma de decisiones sean consistentes.

� El estado de transición actual para casos en que no se pueda definir el estado definitivo para el próximo paso. Este estado intermedio contiene la representación de todas aquellas entidades que requieren de un post-procesamiento antes de ir al siguiente paso.

� El estado definitivo válido para el próximo paso. El primero de éstos es el estado que se considera como válido para cualquier consulta del

estado de las entidades dinámicas del simulador. La mayoría de los datos relativos al conocimiento, intención y comportamiento del móvil no dependen del paso, por lo que se manejará una copia única.

Al momento de actualizar la red de carreteras, el Modelo de Control recorre la lista de todos los carriles y maniobras. Para cada componente se realiza lo siguiente:

Primera pasada: 1. Toma los datos de la copia perteneciente al estado consistente. 2. Aplica los cambios en función a este estado de movimiento y a la decisión tomada por

le módulo de comportamiento. 3. Las modificaciones realizadas se aplican:

� A la copia de transición si el cambio no es definitivo o requiere post-procesamiento. � A la copia preparada para el siguiente paso si el cambio es definitivo

Segunda pasada: 1. Se verifica cada una de las entidades que se encuentran en la copia de transición y se

aplican los procesos requeridos. 2. Se elimina la copia de transición y las modificaciones se aplican a la copia preparada

para el siguiente paso. Los casos que necesitan utilizar la copia de transición son los siguientes:

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

62

� Inserción de un nuevo vehículo en medio de una cola de móviles: Operación típica de un cambio de carril. Como la cola está ordenada y el orden relativo entre móviles debe mantenerse, primero deben actualizarse todos los demás móviles del carril en el cual se inserta el móvil para determinar finalmente sin ambigüedades si se produjo alguna condición de choque.

� Modificación en el orden relativo de los móviles dentro de la cola: Los adelantamientos de peatones y ciclistas requieren un reordenamiento inmediato de la cola. Para evitar que dos actualizaciones sucesivas de móviles muy cercanos obligue a reordenar la cola varias veces por paso, las entidades de este tipo que se sobrepasan se ubican en la copia de transición y son insertadas en la copia definitiva una vez que todas hayan sido actualizadas. Finalmente la copia definitiva se reordena si fuera necesario.

Traspaso de entidades dinámicas entre elementos del sistema de carreteras Al respecto, se asume que cada entidad dinámica tiene un punto imaginario de control al

frente (longitudinalmente) y al centro (transversalmente) del mismo. Ese punto es el origen del sistema de coordenadas relativo de la entidad, y permite a la misma el control de las condiciones de frontera respecto a las demás entidades, así como el momento en el que una entidad entra/sale de un elemento del sistema de carreteras. Para evitar excesivos esfuerzos en controles de consistencia de la representación, en cantidad de pasadas para actualizar el sistema de carreteras y cantidad de copias intermedias antes de llegar a un estado estable se establecen las siguientes premisas:

� Una entidad dinámica sólo se encuentra en una cola de un elemento de carreteras por estado consistente en un mismo paso.

� Cada móvil internamente registra los otros elementos de carreteras a los cuales podría estar afectando todavía, sean carriles adyacentes o nodos.

� Las transferencias de una entidad dinámica de un nodo a un carril (o viceversa) se realizan cuando el frente del móvil alcanza o sobrepasa el límite del elemento de la carretera por el que circula.

� Las transferencias de una entidad dinámica de un carril a otro carril se realizan cuando el centro del móvil alcanza o sobrepasa el límite del elemento de la carretera por el que circula.

� La distancia que una entidad sobrepasa al límite de un elemento de carretera será compensado en el elemento al cual se desplaza.

� Toda consulta realizada al sistema de carreteras en la proximidad de la finalización de este deberá incluir información relativa al estado de las entidades en el elemento del sistema de carreteras adyacente al que se dirige, por lo tanto, el módulo de navegación recorre más de un componente en la mayoría de los casos y junta la información de todos los componentes consultados bajo una vista única.

Experimentalmente11 se determinó que cada entidad dinámica debe contar con información de al menos 50 metros por delante o por detrás de su posición actual, dependiendo de la dirección a la que haga referencia la consulta y al menos un carril más para el caso de consultas en sentido transversal a la circulación.

11 Los valores experimentales se basan en pruebas realizadas sobre carreteras urbanas, con carriles cuyas longitudes no superan los 300 metros y las velocidades máximas no superan los 100 km/h

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

63

Correcciones automáticas Otra de las problemáticas del modulo de navegación y guía citadas anteriormente en este

capítulo tiene que ver con las pequeñas correcciones que se deben hacer para mantener el móvil centrado luego de una maniobra de cambio de carril o al decidir una acción de detención en función al móvil de enfrente.

El módulo de Navegación y Guía maneja internamente unos parámetros de configuración que establecen márgenes de seguridad de velocidad, tiempo y distancia para ayudar al modelo de Comportamiento a modificar las variables de movimiento tal que las entidades dinámicas tiendan a centrarse en el carril y que coordinen autónomamente los procesos de detención y seguimiento de móviles siempre que el estado actual (definido por el modelo de Comportamiento) se mantenga estable.

5.3.4 El Modelo de Control de Demanda y Población Este modelo tiene como objetivo conseguir que la escena simulada tenga una cierta

densidad de tráfico basada en los valores de los parámetros de entrada de la zona de simulación. Se encarga además de distribuir convenientemente los móviles según los tipos existentes asociándoles el plan de viajes por medio de la creación de Tablas OD.

Las clases que definen la estructura del sistema de carreteras permiten definir para cada nodo tipo productor/consumidor los siguientes valores:

� Densidad Entrante: El número de entidades dinámicas por minuto que este nodo debe brindar al sistema de carreteras.

� Distribución Entrante: De todos los tipos de móviles y conductores, en que proporción se espera que estos vayan generándose

� Densidad Saliente: El porcentaje del total de los móviles del sistema que deben ser consumidos por el presente nodo.

Este mecanismo permite representar arbitrariamente cualquier distribución en el sistema de

carreteras, que estará apoyada por el sistema de navegación una vez que se conozca la tabla OD que tiene asignada. La producción de los móviles es un proceso de generación basado en funciones aleatorias con distribución normal alrededor de un valor medio esperado entrante por minuto Xei para el nodo i en función a los parámetros anteriormente establecidos. El presente modelo puede aumentar el valor de Xei para acelerar el proceso de maduración inicial de la simulación con el objetivo de completar cuanto antes la cantidad esperada total de móviles en el sistema, que esta dado por:

∑∑==

−Ts

ii

Te

ii XsXe

11

donde Te y Ts son las cantidades de nodos productores y consumidores respectivamente y Xsi es el valor medio esperado saliente por minuto para un nodo i. De todas maneras, la aceleración de la producción de móviles no puede ser arbitrariamente alta ya que podría generar situaciones de congestión y accidentes asociados a una producción irreal móviles, por lo que esta aceleración deberá mantener la proporcionalidad de la producción de cada nodo

DEPENDE DE : Red de Carreteras Toma de Decisiones Dinámica del Móvil Control de la Simulación

DE ESTE DEPENDEN : Señalización Visualización Toma de Decisiones Dinámica del Móvil

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

64

frente al total esperado. El factor de proporción dependerá exclusivamente de la topología representada y de la capacidad de las vías de comunicación.

El proceso de creación e inserción de un nuevo móvil Cada vez que el control de la simulación llama al módulo de producción de entidades

dinámicas, lo primero que se decide es la lista de nodos productores que serán afectados durante el presente proceso de producción, aplicando el acercamiento probabilístico citado con anterioridad. Para cada nodo afectado, se consulta a la (única) boca saliente y se determina una serie de carriles candidatos, en función al tipo de tráfico que acepte cada uno. A partir de este punto se aplica un calculo probabilístico semejante asociado a los tipos de entidades dinámicas y conductores con sus distribuciones respectivas, dando mayor peso a aquellos cuya demanda insatisfecha sea la mayor y que al mismo tiempo sea aceptado por al menos uno de los carriles salientes.

Una vez definido el nodo y carril de entrada, así como el tipo de entidad dinámica y tipo de conductor, se crea una instancia de la clase móvil. Se asocia entonces el prototipo de entidad dinámica y de conductor preseleccionado y se definen valores particulares de las características de este móvil, basándose en los valores esperados de su prototipo.

Entre estas características, las más importantes son: � Largo. � Ancho. � Velocidad y Aceleración crucero. � Velocidad máxima. � Aceleración y Desaceleración máxima. � Angulo de giro máximo. � Distancia de seguridad deseada respecto al móvil de enfrente (conducción y frenado). � Preferencia del móvil o “Derecho de paso”. � Llena el carril o tiene propiedad de co-permanencia. � Mantiene derecha. � Móvil tipo repartidor (Tabla OD fija). Aparte de estas características, se definen otras que tienen que ver con el comportamiento,

como la agresividad, el tiempo de reacción y otras que se analizaran en detalle más adelante. Finalmente se asigna a la nueva entidad dinámica, la Tabla OD que utilizará como guía

durante su permanencia en el sistema de carreteras. Para esto se determina un conjunto reducido de nodos consumidores que menos demanda satisfecha tienen y aleatoriamente se selecciona uno de ellos.

Para determinados tipos de móviles, se indica a través de un miembro de la clase que la Tabla OD que se le asigna es una tabla fija que no se genera en función a la demanda establecida ni a los gustos y/o preferencias del conductor. Este caso especial permite representar aquellas entidades dinámicas que representan sistemas de transporte público, como los buses, cuyo trayecto no depende de la situación, por el contrario, es fijo.

El análisis de trayectos para las tablas OD se realiza a nivel de las zonas. Por lo tanto, el simulador controla la concordancia entre la demanda entrante y saliente de un par de nodos conectores entre zonas relacionadas, en un sistema de carreteras que maneje más de una zona.

Actualización dinámica de parámetros con el tiempo (densidades de los nodos)

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

65

El módulo de Control de Demanda permite además actualizar los parámetros de entrada y distribución de móviles en función al tiempo. Esto permite representar situaciones realistas donde el tráfico aumenta o disminuye según el horario en periodos inclusive muy cortos. Esta variación no solo se parametriza a nivel global, sino que se establecen las nuevas cargas de demanda entrante y saliente por cada nodo terminal del sistema.

5.3.5 El Modelo de Comportamiento y Decisión El simulador podrá trabajar en dos modos: Sin IA: Puramente reactivo. Se definirá una tabla OD para cada móvil previamente a su

ingreso al simulador. El móvil seguirá el camino prescrito hasta el destino utilizando el esquema del IDM y será señalizado por el subsistema de control de tráfico o por otros móviles forzando la toma de decisiones simples como los cambios de carril, efectos de los semáforos y agentes de tráfico y colisiones.

Con IA: Reactivo y pro-activo. Se contará también con una tabla OD, pero el seguimiento del camino real dependerá del modelo de comportamiento y decisión, el cual guiará el control del móvil y sus reacciones ante diferentes situaciones. La utilización de Agentes Inteligentes dentro del simulador EasyTraf es el tema principal de esta tesis, y su estructura se describe en profundidad en el capítulo 6.

5.3.6 El Modelo de Almacenamiento y Distribución de Información A la par del modelo de Control de la Simulación, este modelo se encarga de complementar

la tarea de control supervisando la actualización de las imágenes relajadas que manejan los nodos conectores tipo Interfaz entre Zonas respecto a sus zonas adyacentes.

El objetivo final del modelo consiste en contar con la información actualizada del carril de la zona adyacente al que se conecta el nodo, en el momento que se necesite, minimizando el uso de los recursos de comunicación. Cuanto menos se utilice el canal de comunicación entre las computadoras que forman parte de la simulación, mayor será la cantidad de zonas (y nodos interfaz por zona) que el simulador puede llegar a manejar simultáneamente.

Para lograr esto, los nodos interfaz entre regiones cuentan con una boca ficticia con la misma cantidad de carriles (también ficticios) que la (única) boca real que la conecta con los carriles de la zona. Estos carriles ficticios permiten representar de forma relajada la situación del carril real foráneo. A diferencia de los carriles reales, estos carriles ficticios cuentan con información de actualización asociada a cada móvil dentro de su cola de espera. De esta manera, el presente modelo permite resolver consultas de la situación actual del móvil basado en una proyección de su situación pasada al tiempo actual.

La existencia de un módulo que se encargue de estas actualizaciones, conjuntamente con el módulo de Navegación y el módulo de Toma de Decisiones permite además canalizar todas las

DEPENDE DE : Entidades

Señalización Control de la Simulación

DE ESTE DEPENDEN : Entidades

DEPENDE DE : Red de Carreteras Control de la Simulación

DE ESTE DEPENDEN : Control de la Simulación

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

66

consultas de una zona en un paso con el objetivo de minimizar la cantidad de pedidos separados de actualización [38, 41] por medio de la utilización de paquetes de información basados en la idea del PDU, siempre que estos no sean absolutamente necesarios en el momento.

El modelo maneja dos tipos de actualización: � Actualización programada: Es de un solo sentido. consiste en que cada nodo interfaz

envía la información del estado de posición y movimiento de los móviles con una frecuencia entre 10 a 20 veces menor a la frecuencia de actualización de los componentes de la red de carreteras. Esta frecuencia puede configurarse de forma distinta según la demanda y ancho de banda del canal de comunicación.

� Actualización por demanda: Es de tipo Consulta/Respuesta (doble sentido) o de tipo Notificación (un solo sentido). Ø La Consulta/Respuesta actualizar un móvil particular en cierto momento, cuando el

conocimiento de su estado real es determinante para continuar un proceso, como en el caso de definir la posibilidad de realizar una maniobra en la cercanía del nodo, cuando se detectan posibles accidentes, cuando el modelo de decisión lo requiera o para redefinir la Tabla OD.

Ø La Notificación es para avisar a la zona contigua que un móvil acaba de abandonar el carril actual y esta pasando a formar parte de esa zona. En esta caso, la notificación envía toda la información del móvil, incluida la Base de Datos del Conocimiento12 así como toda la información de configuración, estado y relación con los otros móviles.

Finalmente, otra función de gran relevancia de este modelo consiste en coordinar y

sincronizar la simulación entre las zonas que se simulan. Para ello, este modelo lleva un registro de las computadoras que participan de la simulación y tiene el deber de notificar a todas las demás computadoras cuando la zona ha finalizado los procesos correspondientes al paso actual, detiene temporalmente al Control de Simulación y queda a la espera de que todas las zonas restantes hagan lo propio. Una vez recibida la confirmación de todas las demás zonas, libera al control de la simulación para que prosiga con el siguiente paso.

12 La BDC forma parte del modelo de comportamiento y decisión, como parte de su sistema de representación del conocimiento

Zona A Ejecutándose en

CPU A

Zona BEjecutándose en

CPU B

Carril A1 Carril B1

Imagen del Carril B1 Imagen del Carril A1

Flujo de paquetes PDU

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

67

5.3.7 El Modelo de Visualización El modelo de visualización representa a un proceso en esencia asíncrono que no depende

del control de la simulación. El mismo tiene la capacidad de reconocer toda la región de simulación identificando dentro de él las zonas en las que se divide y las computadoras que se encargan de realizar la simulación de cada una.

Dentro de la región global de simulación define una sub-región rectangular como se presentó en la explicación de la clase Zona. Esta sub-región puede abarcar una o varias zonas y es de tamaño fijo predeterminado. Todos los elementos de carreteras que se vean afectados por la sub-región de visualización deben reportar el estado de sus variables de posición y tamaño al módulo de visualización que se encuentra en una computadora dedicada o que comparte sus funciones con una zona de baja carga.

El reporte de actualización de estados enviado al módulo de visualización se realiza con una frecuencia configurable, limitada superiormente por la frecuencia de actualización del control de la simulación. Este reporte lo realiza el mismo modelo de visualización en cada zona (cada computadora) una vez que se concluyeron las actualizaciones del paso en el cual correspondía enviar la información.

La computadora que recibe estos datos cuenta con una representación reducida del sistema de carreteras global y de sus colas de móviles, considerando que no realiza cambios sobre este sistema, solamente lo actualiza en función a los datos que recibe de la red, reproduciendo visualmente solo aquella sub-región que se actualiza y a la misma frecuencia con la que recibe los datos de las demás computadoras

5.3.8 El Modelo de Representación de las Reglas de Tráfico Si bien este modelo no tendrá posteriormente un módulo que implemente

independientemente todas sus controles y funciones, como es el caso de la mayoría de los demás modelos, la mayoría de sus funcionalidades están incluidas como parte del modelo de Representación de Carreteras y del modelo de Comportamiento y Decisión.

A continuación se presentan las diversas estrategias de control implementadas a nivel de cada uno de los modelos involucrados:

Modelo de Representación de Carreteras: � Las rutas tienen un valor que permite en todos los casos determinar la preferencia

relativa entre dos vías de circulación. � Los carriles tienen propiedades que indican de por sí el tipo de entidades que pueden o

no circular por la vía. � Cada carril determina si es estacionable o no y si permite el cambio de carril para la

derecha o izquierda.

DEPENDE DE : Entidades

Red de Carreteras Control de la Simulación

DE ESTE DEPENDEN : (ninguno)

DEPENDE DE : Entidades Control de la Simulación Red de Carreteras

DE ESTE DEPENDEN : Toma de Decisiones

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

68

� Cada carril determina la velocidad máxima a la que está permitido circular. � Cada móvil maneja su distancia de seguridad mínima y otros principios de precaución

aplicables al tráfico. � Cada maniobra del nodo determina por medio de un valor porcentual la correctitud de

su elección. � Cada bocacalle tiene o no asociado un semáforo. En caso de tenerlo, el funcionamiento

del mismo está definido en base a una programación de eventos para el trayecto de frente y para el giro a la izquierda. Los semáforos sincronizan sus eventos a nivel del nodo intersección en el que se encuentran y a nivel de las vías de circulación con el objetivo de formar ondas verdes.

Modelo de Comportamiento y Decisión: � Cada móvil tiene un “pare” implícito de cada bocacalle. � El frenado se realiza en función a la entidad que circula por delante. � Los mismos móviles determinan su “Derecho de Paso” para el caso de las ambulancias,

bomberos, guardia presidencial y otros. � Las reglas de preferencia en las esquinas: Ø Prioridad absoluta a los vehículos con derecho de paso. Ø Siguen los semáforos o agentes de tránsito. Ø Sin semáforos se aplican las diferencias de preferencia entre las calles. Ø A igual preferencia se aplica la regla del que llega primero a la esquina. Ø En caso que lleguen simultáneamente a la esquina, el que viene por la derecha tiene

derecho de paso. Finalmente, este modelo introduce una serie de entidades estáticas que hacen el papel de

señales de tráfico. Las mismas van asociadas a las bocas (todos los carriles de un mismo sentido de una vía) o a un carril específico y afectan a todo el carril o a una región específica delimitada por una posición de inicio y fin relativo al inicio del carril. Las señales más comunes modeladas de esta manera son:

� Pare. � Prohibiciones varias (estacionar, detenerse). � Dirección obligatoria (complementa los valores asociados a las maniobras). � Regulaciones (velocidad mínima y máxima, despacio/cuidado). � Señal especial que representa la existencia de una parada de ómnibus. Las entidades

dinámicas tipo ómnibus de transporte público definen aleatoriamente con una probabilidad que aumenta proporcionalmente al volumen del tráfico si existe algún motivo para detenerse en una parada dada.

El modelo no representa señales preventivas como curva peligrosa, fin de carril, use luz baja y otras, ya que no se maneja el nivel de captación y/o oclusión de la realidad.

5.3.9 El Modelo de Sensores y Toma de Datos

DEPENDE DE : Control de la Simulación Red de Carreteras Entidades

DE ESTE DEPENDEN : (ninguno)

Capítulo 5: EasyTraf, un simulador microscópico construido para utilizar Agentes Inteligentes

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

69

Conjuntamente con el modelo de visualización, este modelo se encarga de dar salida a la información que se produce en toda la región simulada.

Coordinado mediante el Control de la Simulación, cada componente de la red de carreteras que cuente con una cola de móviles genera un detalle del estado consistente con el que termina cada paso. Este detalle debe contener toda la información que permita posteriormente detectar los cambios producidos tanto en los factores físicos relativos a la posición y movimiento, como a los factores comportamentales y de relacionamiento con el medio. Además, el sistema debe reportar una serie de mensajes predefinidos que indiquen los problemas que están sucediendo con el tráfico (o con el modelo de representación) y que no son fácilmente visualizables, como:

� Imposibilidad de crear una Tabla OD para cierto tipo de móviles por no existir una conexión que habilite al tipo de móviles en cuestión a circular desde algún productor hasta algún consumidor.

� Problemas de saturación de las colas de entrada de los móviles. Aparte de estos reportes genéricos, el modelo permite asociar a los carriles, bocacalles,

intersecciones y maniobras, una serie de Sensores que monitorean situaciones específicas o puntuales. Los Sensores cuentan con un sistema de agrupamiento que les permiten establecer las Estaciones de Sensores y dar información relacionada.

Los sensores puntuales cuentan con una zona de aplicación suficientemente grande como para que a la mayor velocidad posible, una entidad dinámica no pueda pasar de largo la zona de control en un paso, de forma similar al cálculo planteado en la problemática para la correcta detección de condiciones de frontera. Por otro lado, cada sensor pone una marca especial a cada entidad que ya fue considerada durante un paso para evitar que su permanencia en la zona de detección le obligue a considerarla más de una vez, a menos que el objetivo del sensor sea determinar el tiempo de permanencia en una zona.

Cada sensor registra internamente los siguientes datos: � Elemento de carretera en el que se ubica. � Región afectada - Posición inicial y final. � Identificador de Estación de sensores, para sensores de grupo. � Tipo de operación que realiza. Como los Reportes genéricos y Sensores son solo colectores de datos que emiten sus

resultados a un archivo para su posterior consulta, es difícil emitir conclusiones directas en base a lo que estos sensores proponen. Por ello se requiere un módulo de post-procesamiento de la información, que tome estos datos y los evalúe en conjunto. Este módulo permitirá emitir reportes estadísticos de promedios de valores de tiempo, posición y otros factores de movimiento del móvil.

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

70 Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

CCaappííttuulloo 66:: CCoonnssttrruucccciióónn ddee AAggeenntteess IInntteelliiggeenntteess ppaarraa llaa

ssiimmuullaacciióónn ddee ttrrááffiiccoo

Ley de Patton: “Un buen plan hoy, es mejor que uno perfecto mañana”

Si los modelos físicos pueden ser encontrados en cualquier simulador, los modelos de

comportamiento son la valla más grande para los programadores y especialistas [20]. El modelado del proceso de toma de decisiones del humano es una tarea difícil en un ambiente impredecible, de cambios rápidos y difícil de analizar. Los requerimientos de simulación exigen tener cuidado cuando se seleccionan las tecnologías de modelado del comportamiento humano. En un primer momento, los actores inteligentes eran representados por verdaderos operadores humanos. Esta implementación es flexible y poderosa, pero es cara ya que requiere tener una gran cantidad de personas entrenadas operando el sistema todo el tiempo [21]. Por lo tanto, se debe buscar una manera en que el propio simulador genere sus agentes inteligentes sin la necesidad de recurrir a personal humano. Posteriormente, los comportamientos se representaron codificándose dentro del propio simulador [22], una posibilidad correcta pero cara y difícil de mantener, por lo que normalmente se opta por desarrollar los agentes como módulos u objetos independientes al programa del simulador, y relacionarlos a través de métodos e interfaces con el ambiente simulado.

La conducción a nivel táctico se caracteriza por la batalla constante entre metas a largo plazo y problemas inmediatos. Los conductores deben seleccionar las maniobras apropiadas tales como cambios de carril, acelerar, frenar, etc., conociendo poco o nada de las intenciones de los demás conductores y de lo que sucederá en el ambiente. En este problema, es difícil obtener soluciones óptimas, pero las penalidades por las decisiones equivocadas son severas. Desafortunadamente, la seguridad no puede ser asegurada, inclusive con una conducción conservadora, ya que otros móviles pueden ser los culpables de los accidentes. La conducción, por lo tanto, fuerza a un balance cuidadoso entre la competencia y la cooperación, por ejemplo, las maniobras agresivas son correctas siempre y cuando no produzcan un accidente [71]. Normalmente, la conducción táctica ha sido una actividad únicamente para personas, quienes podían llevarla a cabo correctamente.

El problema de navegar en el tráfico debe ser examinado en el contexto de toda la tarea de conducción. En muchos casos, la conducción se caracteriza como consistente en tres niveles: estratégico, táctico y operacional [15, 71, 86, 87, 88]. En el nivel estratégico, se planea una ruta y se determinan las metas. En el nivel táctico, se seleccionan las maniobras para conseguir objetivos a corto plazo (tal como sobrepasar a un vehículo), y en el nivel operacional, estas maniobras se traducen en aceleración, frenado o giro.

Los Agentes Inteligentes están siendo utilizados para el modelado de comportamientos racionales en una gran variedad de aplicaciones, incluyendo la simulación [13]. En una ruta típica, un conductor ve e interactúa con una gran cantidad de vehículos próximos. Un tráfico verosímil generado por la computadora debe ser controlado para crear una simulación creíble. Los vehículos sintéticos deben obedecer las reglas de comportamientos en la ruta y modelar comportamientos complejos como pasar a otro vehículo, cruzar intersecciones y evitar

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

71

obstáculos. Además de modelar comportamientos normales, grupos de vehículos deben coordinarse para crear situaciones críticas y eventos requeridos para estudios de tráfico.

Los agentes inteligentes permiten que los humanos simulados en sistemas de entrenamiento se comporten en una manera más creíble, con un conjunto mayor de comportamientos, incluyendo acciones conjuntas y cambios de roles dinámicos. Las nuevas arquitecturas de agentes proveen además aprendizaje, memoria, acciones basadas en habilidades y experiencia [21]. El modelado de los agentes en el ámbito de la simulación, sin embargo, se ha vuelto una tarea compleja, al crecer el número de entidades y la sofisticación del escenario. La complejidad de esta tarea se incrementó aún más por la dificultad de modelar el proceso de decisión humano con suficiente fidelidad usando acercamientos convencionales de software. Un gran problema de los agentes inteligentes actuales es que demuestran fallas con comportamientos predecibles o un nivel de detalle y razonamiento no lo suficientemente bueno [15]. Por lo tanto, se debe lograr que los agentes se comporten en forma impredecible (pero no aleatoria) y creíble. Ciertas clases de agentes extienden el modelado del razonamiento a la representación explícita de la comunicación entre entidades simuladas y la coordinación de actividades conjuntas requeridas para el comportamiento de equipo.

Uno de los usos tradicionales del comportamiento autónomo en los simuladores de conducción es la creación de situaciones, o eventos, que fuercen al conductor en el simulador a realizar ciertas tareas para propósito de entrenamiento, para estudiar las reacciones del conductor, o para verificar el comportamiento del sistema luego de la ocurrencia del evento. En casos simples, estas situaciones pueden envolver nada más que tareas lineales tales como seguir un camino o estacionar. En casos más complicados, sin embargo, múltiples entidades necesitan cooperar para crear la situación. Ejemplos típicos son entradas a calles, anticipación de accidentes o seguimiento de vehículos. A pesar de que muchos de los escenarios mencionados pueden ser recreados por tráfico no autónomo, utilizando simples gatillos que se accionan por la posición del conductor, existen numerosos escenarios que no pueden recrearse sin el uso de software autónomo y controladores de alto nivel [28]. Por lo tanto la combinación de tráfico ambiental autónomo con eventos específicos coordinados que deben suceder en cierto momento o en secuencia, requiere de coordinadores especiales para lograrlo [30].

La capacidad de repetir una misma simulación es algo que se vuelve complicado a la hora de utilizar agentes inteligentes, ya que los vehículos autónomos interactúan entre ellos y con conductores humanos, por lo que pequeños cambios en la conducta del chofer pueden afectar dramáticamente los patrones de tráfico encontrados en una simulación anterior.

Los agentes inteligentes tienen el problema de ser un software grande y monolítico [13] y, consecuentemente, siempre han sido complejos de usar, así como caros y difíciles de integrar como componentes a otros sistemas más grandes. Por lo tanto el diseño de nuevos agentes busca que éstos sean livianos y de alto rendimiento. Además, sería bueno construirlos con un lenguaje de programación orientado a objetos, que brinde modularidad de código [20], independencia de la plataforma computacional, velocidad en la ejecución [14] y escalabilidad [15]. De este modo se lograría el re-aprovechamiento de código y flexibilidad en la aplicación. Es requerido que el diseño y la representación de los agentes artificiales se dé a partir de una librería de bloques jerárquicos de construcción que pueda ser abstraída a un nivel estipulado de fidelidad y resolución [19].

El problema principal a ser resuelto en la investigación de agentes es llegar a una arquitectura para agentes autónomos que resulte en que el agente demuestre un comportamiento adaptativo, robusto y efectivo.

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

72

6.1 Acercamientos en el modelado de Agentes Inteligentes dentro de la simulación

El modelado de agentes inteligentes dentro de la simulación tiene ciertos paradigmas o

acercamientos importantes y grandemente conocidos, los cuales se enumeran a continuación. Vale la pena apuntar que la gran mayoría de las técnicas e implementaciones de Agentes Inteligentes están orientadas hacia el área militar [13, 14, 15, 16, 19, 20, 21], y por lo tanto muchos de los motores de decisión tienen en cuenta “planes, objetivos y tácticas”, y además, la mayoría de los agentes se han modelado para el caso de las simulaciones interactivas, con características extras que no son necesarias para la microsimulación de tráfico, pero de todos modos proveen acercamientos interesantes y diferentes a la solución del problema de modelar entidades inteligentes que recorren calles o rutas interactuando con otras entidades similares.

Los modelos propuestos más interesantes son los siguientes: Aplicación de reglas [6, 25, 28, 86]: En este caso se trata de agentes simples que están

programados dentro de la aplicación. El sistema consiste en muchas (a veces miles de) reglas que forman un árbol de decisión que se evalúa en cada instante de la simulación. El agente puede tener un objetivo explícito (como por ejemplo moverse de un punto a otro), y actúa de acuerdo a él. Este objetivo se realiza aplicando reglas de decisión jerárquicamente estructuradas. Una regla de decisión evalúa la información que obtiene a partir de “sensores”, y dependiendo de ella toma decisiones. Una regla de alto nivel puede invocar muchas reglas de niveles inferiores.

FSM (Máquina de estados de un nivel) [27, 28]: Un estado actual dicta la acción a tomar,

a partir de transiciones entre estados que deciden los cambios de estado basados en la situación actual. Se construye una máquina de estados que describa todos los estados posibles y las transiciones posibles entre ellos. El sistema es capaz de generar acciones reactivas naturales a todos los eventos descritos. Este modelo es difícil de modificar y depurar, su complejidad crece rápidamente (explosión de estados y transiciones para cada evento a tratar), carece de abstracción y encapsulamiento, y no es capaz de manejar gran cantidad de situaciones.

HCSM [26, 27, 28, 42]: Se emplea el formalismo de Máquinas de Estado Jerárquicas. El

término “jerárquica” se utiliza porque cada máquina puede codificar un comportamiento y puede contener estados que a su vez tengan máquinas de estado dentro (es una definición recursiva). La abstracción permite modelar actividades reactivas de una manera ordenada. Provee un mecanismo de abstracción para agrupar a los estados y transiciones de actividades coherentes, esto hace que la programación y depuración se vuelva más tratable, gracias a la modularidad provista por el modelo. La HSCM puede ser secuencial (sólo un hijo está activo por vez) o concurrente (todos los hijos se activan de una vez, y no hay transiciones). Las HSCM se comunican entre sí mediante el envío de mensajes. El problema de la abstracción queda resuelto, pero de todos modos se deben modelar explícitamente máquinas para todas las situaciones posibles durante la simulación.

Agentes BDI [13, 14, 21, 22]: Los agentes Creencia-Deseo-Intención han sido utilizados en

numerosas aplicaciones académicas e industriales, incluyendo la simulación militar de entidades independientes y cooperativas. Un agente racional tiene recursos disponibles, entendimiento limitado y conocimiento incompleto de lo que sucede en el ambiente en el que vive. Tal tipo de

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

73

agente tiene creencias sobre el mundo y deseos que satisfacer, que llevan sus intenciones a actos. En general, un plan es sólo parcialmente especificado en el momento de su formulación debido a que los pasos a ser realizados pueden depender del estado del ambiente donde ellos actualmente habitan. La actividad de los agentes racionales consiste en realizar acciones que ellos desean ejecutar sin ningún razonamiento, hasta que son forzados a revisar sus propias intenciones por cambios en sus creencias o deseos. Las creencias y deseos son llamadas actitudes mentales de un agente.

El modelo funciona de la siguiente manera: En reacción a un evento, por ejemplo un cambio en el ambiente o en sus propias creencias, un agente BDI adopta un plan como una de sus intenciones. Los planes son procedimientos precompilados que dependen de un conjunto de condiciones para ser aplicados. El proceso de adoptar un plan como una de las intenciones puede requerir la selección entre múltiples candidatos. El agente ejecuta los pasos del plan que ha adoptado como intención hasta que una nueva deliberación sea requerida; esto puede suceder porque nuevos eventos han sucedido o porque se ha dado una falla o conclusión a sus intenciones existentes. Un paso en el plan debe consistir en agregar una meta al agente (pueden existir varias metas en simultáneo, pero sólo se intenta cumplir una a la vez), cambiar sus deseos, interactuar con otros agentes, o cualquier otra acción atómica en el estado del propio agente o el mundo exterior.

Los agentes BDI se separan de los sistemas puramente deductivos debido al concepto de intencionalidad, que significativamente reduce el total de la deliberación requerida. Además, son capaces de responder a una gran variedad de acciones tomando en cuanta eventos previos, mientras que los agentes reactivos sólo consideran el estado actual del agente. El modelo BDI ha sido adoptado con éxito en campos tan diversos como la simulación de tácticas militares, aplicación de reglas de negocios en flujos de trabajo y diagnósticos en redes de telecomunicaciones.

CGAs [15]: conocidos como Computer-Generated Actors. El componente de modelado

del comportamiento humano de un CGA debe desarrollarse utilizando apropiadas representaciones del conocimiento. Sin embargo, la representación del modelo del comportamiento humano usado por un CGA debe estar separado de las técnicas de inteligencia artificial utilizadas para el proceso de toma de decisiones utilizadas por el CGA. Los componentes de toma de decisiones permiten al CGA reconocer sus metas, responder en una manera semejante a la humana basado en su base de conocimiento, y desarrollar planes según esa misma base de conocimiento. Para instanciar un CGA particular, el modelado del comportamiento humano y los componentes de toma de decisiones deben unirse, junto a la dinámica del vehículo, utilizando una arquitectura de software flexible, que asegure que los desarrollos actuales del CGA serán extensibles para futuros requerimientos.

La motivación para el desarrollo de una arquitectura de software general es proveer la fundación para el diseño de clases amplias de CGAs donde los componentes comunes a todos los tipos de CGAs forman la base de la arquitectura. Para permitir la reutilización y otras facilidades de desarrollo, la arquitectura CGA consiste en componentes totalmente modulares.

Los motores de decisión están contenidos en el Componente de Representación Cognoscitiva (CRC). El CRC es responsable de computar las decisiones del proceso cognoscitivo humano y contiene las metas, el perfil de la entidad, y las bases de conocimiento. El CRC consiste en tres motores de decisión: el LTDE (Long Term Decision Engine), el MTDE (Medium Term Decision Engine) y el CDE (Critical Decision Engine). Estos tres motores tienen diferentes alcances, períodos de tiempo y tareas, y realizan razonamientos de largo plazo, mediano plazo e inmediatos, respectivamente. Esto permite sintonizar conjuntos

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

74

de comportamientos (por ejemplo planeamiento a largo plazo) con un impacto mínimo en otros comportamientos. Desafortunadamente, cada motor puede computar una solución diferente para la misma situación. Por lo tanto, el CRC contiene un cuarto motor de decisión, el AE (Arbitration Engine), para mediar entre las salidas de los otros tres.

En la arquitectura, el AE es responsable de seleccionar las decisiones que finalmente se tomarán. Para cumplir esa tarea, el AE pregunta a los demás motores y no sólo considera esas decisiones, sino sus méritos de acuerdo al nivel y a la psicología del actor. De esta manera, el AE puede simular conceptos abstractos como el “miedo” (eligiendo la decisión CDE) o “indecisión” (ignorando a los tres motores).

Como se dijo con anterioridad, los comportamientos predecibles en los agentes inteligentes pueden minar su utilidad, ya que establecen patrones de comportamiento que el humano puede explotar. Para evitar esto, se desarrolla un modelo psicológico llamado “rasgo-estado”, en el que cada individuo tiene un único perfil psicológico, que resulta en una variedad de respuestas a varias situaciones estresantes. Se asume que el humano funciona en términos de rasgos fundamentales, y que cada persona tiene cada rasgo en un grado variable. Normalmente un rasgo es estable, con un valor particular para cada individuo. Los estados, por el otro lado, son derivados de los rasgos, y representan la respuesta transitoria a una situación. Los rasgos y estados se combinan para crear la respuesta individual a una situación, entonces los comportamientos son inducidos basados en observaciones del mundo real. Un acercamiento probabilístico puede tomarse para computar efectos apropiados basados en la situación. El modelo asume que el mejor predictor del comportamiento humano individual es el comportamiento pasado del individuo. Como resultado, este modelo es esencialmente estable, esto es, variaciones grandes en el comportamiento de un individuo son poco comunes, pero no imposibles.

CCH/N [16]: Son agentes autónomos llamados Computer Controlled Hostiles and

Neutrals. Estos agentes están divididos en diferentes niveles. En la base está el nivel físico, que describe la interacción física entre el CCH/N con el

mundo virtual. El modelo físico incluye definiciones de acciones y dinámica de movimiento, etc.

Por encima del nivel físico está el nivel de control, donde comportamientos que requieren continua retroalimentación son implementados. Esto incluye actividades de movimiento, seguimiento y esquivar obstáculos. El nivel de control está compuesto de un administrador y un numero de módulos de control. El administrador recibe comandos del nivel superior y activa y conecta los módulos de control apropiados. El módulo de control toma datos del nivel físico, la base de datos del ambiente, y otros módulos de control a través de puertos. Los datos producidos por los módulos son enviados por un puerto de salida, que puede estar conectado a otro módulo de control o al nivel físico.

El siguiente nivel es el de selección de acción, donde el conocimiento es aplicado para seleccionar acciones inmediatas. Estas acciones pueden ser acciones físicas o procesos computacionales del nivel mayor. Este nivel consiste en: una jerarquía de sub-tareas que permiten a la entidad descomponer sus tareas en actividades primitivas, conocimiento de qué sub-tareas pueden cumplir una tarea en un cierto momento, y un motor de interfaz que aplica el conocimiento para empezar sub-tareas y actividades. La capa de selección de acción se ejecuta periódicamente como los módulos de control, pero con un período mayor. Además, eventos significativos pueden hacer que se ejecute la selección de acciones antes del tiempo previsto. Largas computaciones se realizan en el nivel de resolución de problemas, por lo que

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

75

el agente siempre responde, inclusive cuando está pensando. La selección de acciones toma lugar repetidamente en un “ciclo de decisión” de cerca de un segundo.

El nivel mayor es el de resolución de problemas, donde largas computaciones son realizadas. Aquí se realizan acciones mentales que pueden tomar un tiempo ilimitado. Típicamente estas son planeamiento de rutas, análisis de terreno o planeamientos. El tiempo de estas tareas es debido a la búsqueda a través de espacios de alternativas o de cálculos numéricos pesados. Las funciones en el nivel de resolución de problemas son procesos separados de los demás niveles. El CCH/N utiliza una multitarea cooperativa entre los procesos de la entidad, teniendo una prioridad mayor los niveles inferiores, y asegurando que la entidad se mueva y reaccione propiamente inclusive con una carga grande en el procesador.

HMM (Hidden Markov Models) [17]: La premisa es que las acciones de conducción

pueden ser modeladas como la salida observable de secuencias de estados mentales internos. Un conjunto de transiciones probabilísticas entre estados determina que tan posible es que un estado pueda ser seguido de otro. Cada comportamiento en un estado es mensurable pero también probabilístico. Por lo tanto, el estado no puede ser inferido directamente desde el comportamiento observado (el estado queda oculto), así como las intenciones o futuras decisiones. Uniendo las HMM con un módulo de decisión, se puede modelar la personalidad del conductor o metas a largo plazo de una manera representativa. Modelos para diferentes conductores pueden crearse modificando los conjuntos de datos.

SAPIENT [18, 71, 86, 87, 88]: Es un sistema de razonamiento distribuido que realiza

decisiones de nivel táctico en un ambiente simulado de autopistas. Consiste en un número de expertos locales y autónomos, conocidos como “objetos de razonamiento”, que monitorean las entidades de tráfico en el ambiente. Cada objeto de razonamiento observa la escena de tráfico a través de uno o más módulos de percepción. Mientras que diferentes objetos de razonamiento pueden usar representaciones internas y técnicas para hacer decisiones, finalmente todos los objetos expresan sus preferencias como un conjunto de votos y vetos, distribuidos sobre un “espacio de acción”. Los votos son combinados por un árbitro y luego ejecutados por sistemas operacionales en el vehículo inteligente.

Esta arquitectura tiene numerosas ventajas sobre los sistemas tradicionales monolíticos. Primero, el ambiente levemente acoplado permite un desarrollo incremental de los sistemas de razonamiento. Segundo, no sufre de la explosión de estados e interacciones observados en los FSM de una capa. Por último, permite acercamientos híbridos al problema táctico de conducir, con diferentes técnicas aplicadas a diferentes sub-tareas.

Sin embargo, la falta de una representación unificada lleva a complicaciones: El rendimiento del sistema depende de la interacción entre muchos objetos de razonamiento, cada uno con un gran número de parámetros ajustables. La revisión y corrección de los parámetros es tediosa para los humanos, particularmente si no están familiarizados con la estructura interna de los objetos. La solución sería ajustar automáticamente los parámetros utilizando un algoritmo evolutivo llamado “Population Based Incremental Learning”, que realiza pruebas evolutivas de configuraciones de parámetros en los vehículos. Este es un problema de aprendizaje difícil, debido a que el ambiente es estocástico por naturaleza, y porque un buen conjunto de parámetros no es garantía de suceso (es posible que un buen conductor entre en colisión por culpa de otros malos conductores en el ambiente).

Agentes C3I [19]: Un agente C3I debe exhibir comportamientos que emulen alguna

agencia existente o propuesta en algún nivel de fidelidad y resolución. El comportamiento

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

76

interno utiliza fuentes de información apropiadas y recursos. Un agente C3I debe ser capaz de operar con otros agentes y simulaciones o ser parte de una simulación particular. La interacción se logra a través del uso de mensajes con órdenes, reportes, y pedidos.

El agente C3I puede ser visto en términos de un sistema experto. Sus partes son: � La interfaz de la aplicación: maneja los mecanismos requeridos para que el agente logre

comunicarse con su ambiente externo. Una parte importante es el manejo de mensajes. � El motor de interfaz: contiene los mecanismos de control del agente que razonan y aplican el

conocimiento del agente para realizar tareas específicas. � La base de conocimiento del agente: está dividida entre el conocimiento del dominio (objetivos,

ambiente, situación actual) y el conocimiento para resolver problemas (comportamiento, con una metodología basada en roles).

El comportamiento de una agente C3I puede ser estructurado según diferentes elementos: � Respuesta: se refiere a actividades inmediatas en respuesta a estímulos del ambiente externo. � Monitoreo: consiste en el acceso a datos nuevos y antiguos re-visitando las fuentes de datos. � Valoración: actualiza las percepciones locales y determina cualquier acción que sea

requerida, generando cursos de acción y seleccionando el más apropiado. GBE (Generic Behavioral Environment) [20]: Propone la creación de un marco de

desarrollo independiente a cualquier implementación del simulador. La idea principal es la de actividad. Una actividad es la descripción de una tarea específica que funciona utilizando otras actividades. Una actividad trabaja sólo dentro del marco del GBE sin conocimiento del mundo exterior. El propósito de utilizar actividades es separar el modelo físico del de comportamiento. El modelo físico está muy ligado a la implementación de la entidad, mientras que el de comportamiento se busca sea reusable, escalable y modificable dinámicamente. El GBE viene con mecanismos de alto nivel que pueden ser conectados de una manera eficiente a cualquier sistema de simulación. Los mecanismos de alto nivel incluyen un “broker” que desmenuza las actividades y maneja todo el procesamiento de eventos.

Una actividad debe ser vista como un objeto autónomo y opaco cuya estructura permanece homogénea. Una actividad trabaja con sus propios datos y métodos. Una actividad puede usar y ser usada por otras actividades.

Uno de los objetivos del diseño de actividades es su definición genérica. Para permitir este principio se necesita un mecanismo que establezca las conexiones entre las descripciones y los recursos. el Administrador de Actividades (AM) es responsable de administrar los eventos en tiempo real y llamar directamente a los métodos de las actividades. También se encarga de transmitir información entre las actividades y el ambiente externo.

6.2 Un agente Inteligente para la simulación de Tráfico El Objetivo General de esta tesis: “Verificar la utilidad de los Agentes Inteligentes dentro

del ámbito de la simulación microscópica, en este caso en particular, la de tráfico automotriz” se realizó mediante el diseño, implementación y experimentación de entidades de software en un simulador de tráfico microscópico, modelado para el efecto. El simulador utilizado es EasyTraf. En el capítulo 5 se describieron las capacidades, problemáticas y usos del simulador EasyTraf, desarrollado como parte de la tesis de Ariel Romero [95] y de esta tesis en particular.

La meta en el diseño de los agentes es lograr crear entidades relativamente livianas en el cálculo, pero con la suficiente inteligencia como para modelar el comportamiento humano

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

77

razonablemente y tomar decisiones adecuadas según el momento, generando así un tráfico creíble y realista.

Los agentes diseñados concuerdan con la definición que hemos brindado: “Un agente inteligente es un tipo de software flexible, capaz de interactuar con un ambiente específico, mostrando un cierto tipo de autonomía, habilidad social, aprendizaje, y combinando comportamientos pro-activos y reactivos.”, y cuentan con las propiedades descritas en el capítulo 4: � Relacionamiento el ambiente: Los agentes se sitúan en el ambiente del simulador

EasyTraf. Puede percibir lo que ocurre en el ambiente mediante sensores y producir acciones que modifiquen el estado del ambiente. Cabe resaltar que el ambiente del simulador EasyTraf podría ser fácilmente reemplazado por un robot en el mundo real que tuviera la misma interfaz con el agente, y utilizarse en el mundo real.

� Reactividad: Los agentes responden en forma semi-inmediata a cambios en el ambiente que le afecten, normalmente esto incluye algún medio de recepción de información sensorial y de respuesta y manipulación del ambiente. Todo lo que ocurre alrededor de la entidad puede alterar se conducta de diferentes maneras y por diferentes motivos. Por ejemplo, si se identifica a un automóvil frenando bruscamente adelante y muy cerca, el vehículo reaccionará frenando también, y así evitando un accidente.

� Comportamiento orientado a metas (Pro-Activo): No actúa sólo en respuesta al ambiente sino que tiene metas que desea cumplir y realiza tareas por voluntad propia para conseguirlas. Por lo tanto, el agente puede realizar actividades por su propia cuenta, según sus intereses o necesidades, y no meramente reaccionar a los eventos externos. Así, el móvil tiene una meta (realizar un recorrido específico bajo ciertas circunstancias de su preferencia) que puede cambiar con el tiempo ante eventos externos que le obliguen a reformular su meta. Además, según su carácter y preferencias opta por realizar maniobras no totalmente necesarias (como por ejemplo adelantamientos).

� Autonomía: El agente es capaz de tomar sus propias decisiones sin intervención externa, ya sea en reacción a eventos externos captados por sus sensores, por la interrelación con otros agentes o buscando saciar sus deseos según los conocimientos que maneja.

� Adaptativo, Aprendizaje: Tiene cambios en su comportamiento basados en experiencias anteriores, normalmente esta adaptación le permite mejorar su competencia en la consecución de sus metas. Las adaptaciones pueden ser cambios menores a corto plazo o cambios más significantes a largo plazo. Por ejemplo, si el agente se encuentra con una calle clausurada, o con un automóvil cercano que está realizando maniobras peligrosas, guarda esta información en su base de datos del conocimiento para utilizarla en el futuro. Cada agente tiene su propia base de datos del conocimiento con su propia información almacenada dentro.

� Razonamiento de dominio: El Agente funciona en el dominio de EasyTraf o en otro dominio de tráfico que presente la misma interfaz, por lo tanto solamente puede ser utilizado en microsimulación de tráfico o en un simulador interactivo que se base en un microsimulador semejante a EasyTraf, y no es útil para otro dominio diferente.

� Habilidad social: El comportamiento de los demás afecta su conducta y viceversa, comunicándose con otras entidades de la simulación (por ejemplo, al tocar la bocina a alguien se le advierte de peligro o se le solicita que acelere o cambir de carril). Inclusive podría comunicarse con gente (si estuviera funcionando en un ambiente real, y tuviera sensores y actuadores compatibles con su arquitectura). Esta interrelación modifica el actuar del agente (no tomaría las mismas decisiones si estuviera solo) y produce

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

78

comportamientos emergentes, esto es, un comportamiento grupal de los móviles como resultado de sus reglas de interacción, pero que no están explícitamente programadas (por ejemplo, la forma particular de inicio de movimiento en una cola de semáforo cuando éste se pone verde).

� Flexible: Los agentes son capaces de realizar tareas sin ser explícitamente programados. Por ejemplo, no existe un algoritmo de sobrepasar a un vehículo lento adelante, pero de todos modos sucede. Esto es lo que se llama comportamiento emergente. La habilidad social hace a su vez al agente mucho más flexible, ya que combinaciones de actuar de múltiples agentes diferentes llevan a resultados totalmente diferentes.

� Carácter: Cada entidad inteligente en la simulación tienen su propia personalidad y estados emocionales. Esto es, un nivel de agresividad, de reacción, preferencias sobre la forma en que maneja, etc.

Lo que se busca con la creación de estos agentes es, en definitiva, obtener una analogía

razonable del proceso de decisión humano, o sea, buscar un comportamiento adecuado para la circunstancia de la simulación de tráfico en particular, pero no perfecto y con todos los detalles posibles. Esto significa que se intenta lograr una actividad intelectual semejante a la del conductor humano, pero sin llegar a la complejidad que esto podría significar. La definición de agente propuesta tiene todas las características necesarias para la simulación microscópica de tráfico autónomo.

Los modelos de agentes diseñados se basaron en algunas de las propuestas existentes más viables (citadas en las sección 6.1), mezcladas para maximizar su utilidad en la simulación de tráfico. Varias de las propuestas contienen ideas interesantes se combinaron para crear un nuevo modelo de Agente Inteligente útil para el efecto. Vale la pena notar que como la mayoría de los modelos analizados están pensados para simulaciones interactivas, su uso no es directo, porque sería un desperdicio de recursos, sino que debieron adaptarse al ámbito de la microsimulación para demostrarse útiles.

6.3 EasyAgent, y la problemática de crear los Agentes Inteligentes para

EasyTraf El diseño de los Agentes analizados en esta tesis estuvo fuertemente influenciado por la

arquitectura del simulador EasyTraf [95]. Por lo tanto, a partir de ahora, llamaremos EasyAgent al agente que concuerda con la definición provista anteriormente y que funciona en el ambiente provisto por EasyTraf. Tanto EasyTraf como el EasyAgent fueron creados teniendo en mente la realidad paraguaya en cuanto a la conducción, y los consejos, sugerencias y pedidos del personal de la dirección de tránsito de la Municipalidad de la ciudad de Asunción.

Al analizar la problemática, tenemos dos ramas de las cuales preocuparnos: por un lado, el uso de Agentes Inteligentes en la microsimulación de tráfico, y por otro, la creación de Agentes compatibles con las necesidades de EasyTraf. Sobre el primer punto, se debieron atacar los siguientes problemas: � El uso de Agentes Inteligentes en un ambiente de microsimulación no tiene precedentes,

puesto que siempre se han utilizado agentes robóticos de mínima inteligencia o puramente reactivos. De hecho, la microsmulación de tráfico aún está en sus inicios y hay pocas experiencias válidas que nos fueran de utilidad para el marco de esta tesis. La más importante de ellas es la propuesta en TRANSIMS [70], pero que no se adecua del todo a

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

79

nuestra realidad (por ejemplo, asume un conocimiento y respeto totalmente correcto de los conductores que en Paraguay no es común).

� Los agentes deben interactuar con el ambiente y comprender su estructura (geometría de las rutas, maniobras posibles, relación con otras entidades).

� Los agentes deben poder esbozar planes a largo plazo y metas a cumplir, mientras interactúan con un ambiente dinámico, cambiante y que les exige tomar decisiones a corto y mediano plazo.

� Se necesitan entidades livianas en el cálculo para realizar tareas complejas, y deben mostrar capacidad de toma de decisiones a un costo mínimo, puesto que el simulador trabajará con enormes cantidades de agentes en simultáneo.

� Se deben administrar numerosas entidades con diferentes carácteres, cada una tomando sus propias decisiones de acuerdo a sus rasgos propios y únicos.

� Cada entidad puede conducir un tipo diferente de vehículo, con sus propias características, velocidad máxima, respuesta de frenado, tamaño, etc.

� Los agentes deben intercambiar información con los demás, de una forma simple y directa, evitando sobrecarga en el procesador y en las posibles vías de transmisión de datos.

� Se deben combinar comportamientos pro-activos y reactivos, dependiendo de la situación y el momento.

� Los agentes deben tener memoria y la capacidad de modificar su actuar según eventos pasados.

� Deben evitarse los vicios de algunos simuladores simples (por ejemplo, viajar en zig-zag en el carril: el agente se queda atrapado en un ciclo de intentar cambiarse al otro carril, encontrar un problema, volver al carril, y una vez posicionado ver que está incómodo en él e intentar cambiarse nuevamente [71]).

� Los agentes cuentan con un conocimiento parcial del mundo, y por lo tanto deben tomar decisiones de acuerdo a lo que perciben mediante sus sensores y al conocimiento que tienen almacenado en su BDC, y no de acuerdo a lo que en realidad ocurre en ese momento ya que el conductor no puede saber algo sin percibirlo [87, 88]. Por ejemplo, un automóvil se detiene en una esquina antes de cruzarla para observar si no vienen otros móviles, y hasta ese momento no puede tomar la decisión de cruzar o no. Un simulador simple puede ignorar la obstrucción de vista y no frenar en la esquina porque sabe que no hay nadie en la otra calle. Otro ejemplo se da cuando el planificador busca el mejor camino de un punto a otro y una vez obtenido se lo guarda como meta, pero el móvil no puede saber que en realidad una calle está cortada y al llegar a ella lo obligará a un replanteamiento de su situación. Si el móvil tuviera un conocimiento total de la dinámica de la zona, no hubiera elegido ese camino desde un principio, pero eso es irreal, y embotellamientos debidos a problemas de ese tipo nunca se darían.

Sobre el caso particular de EasyTraf, debemos a su vez tener en cuenta los siguientes

problemas a resolver: � La estructura interna y el funcionamiento de EasyTraf es compleja, y el agente debe poder

interactuar con todas las posibildiades que le brinda el simulador (sensores visuales en todas las direcciones para ver otros vehículos, semáforos y señales; sensores auditivos de bocina; emisión de mensajes a través de bocina y luces de freno; comprensión de la representación geométrica y física; control de diferentes tipos de móviles, cada uno con sus propias características; representación de las maniobras; búsqueda de caminos según el

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

80

grafo utilizado por el simulador; simulación con diferentes pasos de tiempo; carriles permitidos para diferentes tipos de vehículos; etc.).

� El modelo debe poder manejar tanto vehículos como peatones, de una manera general que evite redundancia en el trabajo pero que los modele correctamente, caminando ellos por veredas y cruzando calles. Los peatones son un subconjunto limitado de los vehículos.

� El modelo utiliza móviles que pueden compartir carriles (como motocicletas, bicicletas, peatones, etc.) y esto cambia todo el análisis de estado y comprensión de la situación por parte del EasyAgent.

� Los perfiles de los conductores tienen una complejidad elevada que debe traducirse en diferentes comportamientos según los carácteres individuales.

� Los perfiles de los conductores se generan junto con sus móviles para cumplir expectativas de carga de la red según porcentajes y valores esperados de ingresos y egresos.

� La realidad a ser analizada por los agentes es continua, ya que, aunque se realice una simulación mediante pasos de tiempo, estos pasos son variables y pueden reducirse hasta centésimas de segundo, lo cual para el ambiente simulado puede considerarse tiempo real, ya que la velocidad de reacción de los conductores y del propio vehículo es mucho mayor a esa fracción.

� El comportamiento de los conductores debe ser cercano al de la realidad paraguaya. El modelo debe prever conductores suficientemente agresivos como para cruzar semáforos en rojo, tapar bocacalles, sobrepasar con escaso margen de espacio, viajar rápido con poca separación, los peatones tienen poca o nula preferencia, etc. Los pocos simuladores de este tipo que existen se basan en realidades de conducción ajenas a la nuestra, donde se supone que el tráfico es ordenado y se cumplen las reglamentaciones. Mientras nuestra gente no aprenda a cumplir las normas, estas simulaciones son irreales y pueden producir resultados totalmente equivocados a la realidad modelada, puesto que la suma de una gran cantidad de móviles que actúan correctamente y son poco agresivos es muy diferente al actuar de una marejada de móviles anárquicos y poco responsables, esto fue corroborado por los expertos de tráfico de la Municipalidad de Asunción, que indicaron que los simuladores comerciales que poseen no dan resultados correctos para nuestra realidad.

� El comportamiento de los conductores debe permitir la realización de maniobras prohibidas o con diferentes niveles de permiso, como ser vuelta en U, doblar a la izquierda en avenidas, etc. según la agresividad del conductor, porque es bien sabido que ese tipo de maniobras se realizan con bastante frecuencia en nuestro ámbito.

El diseño del EasyAgent tuvo en cuenta toda la problemática descrita arriba, y apuntó a

resolverla de una manera simple y compacta, dentro de las posibilidades que la complejidad de este tipo de simulación permite y buscando que sean útiles en computadoras personales.

Como se mencionó en el capítulo anterior, los agentes pueden ser interpretados como objetos autónomos e inteligentes, que están equipados con capacidades de conocimiento y razonamiento para satisfacer varios objetivos. La implementación del EasyAgent se realizó mediante la orientación a objetos, lo que permitió una mejor encapsulación de cada Agente Individual y una interconexión a través de métodos bien definidos, tanto entre ellos como con el simulador propiamente dicho. Así, cada agente es un objeto identificable y único, pero derivado del mismo esqueleto de una clase patrón. Como dentro del propio agente se encapsulan sus propiedades, características, gustos, agresividad, etc., cada agente es completamente independiente del resto. Evidentemente que esta modelización consume más

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

81

recursos que una implementación directa sin orientación a objetos, pero la degradación del rendimiento de todos modos no es mucha.

El diseño del agente a ser utilizado se basó en las propuestas existentes más viables, y en modificaciones de las mismas. Varias de las propuestas contienen ideas interesantes que se combinaron para crear al Easy Agent. Vale la pena notar que como la mayoría de los modelos están pensados para simulaciones interactivas, su uso no fue directo, sino que las ideas se adaptaron al ámbito de la microsimulación. Además, se introdujeron novedades no exploradas hasta el momento, como ser la combinación de vehículos y peatones. Los modelos de agentes que brindaron ideas útiles para nuestro caso fueron: � BDI [13, 14, 21, 22]: por la forma en la que utiliza los conceptos de creencias, deseos,

intenciones y planificación. � CCH/N [16]: Utiliza una división modular de las tareas de alto nivel (planificación), medio

nivel (decisiones a mediano plazo) y bajo nivel (reacción a eventos y acciones simples). Esta separación es útil y necesaria para que el móvil realice sus metas mientras trata con otros pequeños pero inmediatos problemas, con mecanismos diferentes de toma de decisión.

� C3I [19]: El concepto de base de datos del conocimiento está muy bien aplicado. Es necesaria la base de datos del conocimiento para poder tomar decisiones futuras basadas en la experiencia, lo que lleva a un aprendizaje.

� Aplicación de reglas [6, 25, 28, 86] y FSM [27, 28]: carecen de encapsulación, pero resuelven de manera simple y de buen rendimiento la toma de decisiones si el campo no ofrece demasiadas opciones. Se pueden modularizar y encapsular para subsanar el problema.

� HCSM [26, 27, 28, 42]: Encapsulan los estados de un autómata en estados con sub-estados de una manera cómoda, sencilla y fácilmente ampliable, evitando una explosión de estados como se tiene en la Aplicación de Reglas o FSM. Este mecanismo es tremendamente interesante para su aplicación en agentes de conducción.

6.4 Arquitectura del EasyAgent El agente propuesto está dividido en módulos, que realizan una separación lógica entre las

tareas a llevarse a cabo. Cada módulo involucra un nivel de abstracción del agente. Los módulos en cuestión son los siguientes: � Módulo Físico. � Módulo de Toma de Decisiones. � Módulo de Interrelación. � Módulo de Planificación. � Módulo de Conocimiento. � Módulo de Carácter.

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

82

Los módulos están relacionados tal como se muestra en la figura siguiente:

El sentido de la flecha indica el sentido en que viaja la información entre los diferentes

módulos y el sistema EasyTraf. Es fácil notar que el EasyAgent tiene sólo un punto de interacción con el simulador propiamente dicho (el Módulo Físico), y recibe datos estructurales en el Módulo de Planificación, y que el resto de la información y estados, así como su representación y funcionamiento son independientes al simulador, por lo tanto podrían utilizarse en otro tipo de simulador siempre que se respete la interfaz del módulo físico y se reestructurara el módulo de planificación. El módulo de interrelación, por su parte, es el único capaz de establecer algún tipo de traspaso de información entre los agentes.

6.4.1 Módulo físico Es el encargado de administrar la información de los sensores que comunican al vehículo

con el exterior, así como su dinámica de movimiento [16, 87, 88]. En este módulo se procesan los datos del espacio físico que se está recorriendo, la proximidad de obstáculos, curvas o señales y se realizan las acciones más simples del móvil, como frenar, acelerar, girar o tocar la bocina. Aquí también se almacenan todos los datos sobre el móvil particular en cuestión siendo controlado por el agente.

Los datos percibidos por los sensores se preprocesan para darle algún tipo de significado al módulo de toma de decisiones. Este preprocesamiento nos permite tomar de una descripción física poco relevante en sí misma, como por ejemplo la posición de un móvil en el espacio, datos importantes como la distancia que lo separa del automóvil que el agente controla. Así, si bien los sensores físicos reales son pocos, el módulo físico los preprocesa generando información relevante para el módulo de toma de decisiones y creando informaciones fácilmente accesibles al agente sobre el entorno que lo rodea. Las informaciones que el módulo físico provee al módulo de toma de decisiones son: � Percepción de la estructura de la calle: reconocimiento del número de carriles y el carril

actual que se está recorriendo, así como de los carriles permitidos para su uso (por ejemplo, los automóviles no pueden utilizar las veredas). Percepción de la posición actual respecto al ancho del carril. Percepción del espacio recorrido en ese carril y de cuanta distancia falta para llegar a la próxima esquina. Percepción de obstáculos a nivel de carril o de la calle completa. Reconocimiento de la calle que está recorriendo y de las que cruza en cada esquina. Visión de maniobras posibles de una calle a otra (entre sus carriles) o en la propia

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

83

calle. Ver lo que ocurre más allá de la esquina si estoy cerca de ella. Reconocimiento de la calidad de la ruta.

� Percepción de señalizaciones: Lectura de semáforos, límites de velocidad de cada carril, prohibición de estacionar, preferencia de calles, sentidos de los carriles, maniobras prohibidas y permitidas.

� Percepción de otros vehículos: Distancias y velocidades probables de los móviles que rodean al agente. Distancias y velocidades probables de vehículos que vienen por otras calles en una esquina. Luz de freno del vehículo de adelante. Reconocer cambios de carril de otros móviles. Identificación de vehículos que llenan carril o no. Identificar que maniobras están realizando otros móviles en la esquina o que maniobras podrían realizar móviles cercanos a ella. Identificar si existe algún móvil adelante o no.

� Percepción sobre mi propio vehículo: Velocidad actual, aceleración actual, giro actual, si lleno carril o no, tamaño del vehículo, velocidad máxima, aceleración máxima, desaceleración máxima. También identifico si mi vehículo es preferencial, repartidor o puede utilizar la vereda.

� Percepción sobre el tiempo: Tiempo actual. El módulo físico, además de percibir los datos del entorno y organizarlos de una manera útil

para el módulo de toma de decisiones, realiza las acciones más básicas del control del vehículo, según las decisiones tomadas por el conductor: � Acelerar: Presionar el acelerador con una cierta intensidad para aumentar la velocidad.

EasyTraf se encarga de calcular la dinámica del vehículo a partir de ella. � Aceleración estable: Presionar el acelerador lo suficiente para mantener una velocidad

estable. EasyTraf se encarga de calcular la dinámica del vehículo a partir de ella. � Frenar: Presionar el freno con una cierta intensidad. EasyTraf se encarga de calcular la

dinámica del vehículo a partir de ella. Si el módulo de toma de decisiones desea detenerse completamente, presionará el freno hasta quedar completamente quieto. De otro modo, liberará antes el freno para mantener una velocidad menor a la actual. El freno además genera información sobre el estado de las luces de freno, necesario para el análisis de los demás conductores.

� Girar: Se tuerce el volante hacia un lado u otro. EasyTraf se encarga de calcular la dinámica del vehículo a partir de ella.

Cada agente controla un móvil propio que es diferente (con obvias similitudes) de los

demás móviles que circundan las calles. Cada móvil tiene propiedades únicas para sí que son importantes especialmente para el módulo Físico, aunque también lo son para otros módulos, como el de Planificación y Toma de decisiones. Las propiedades de los móviles son (las unidades utilizadas son centímetros y segundos): � Tipo de móvil: El tipo de móvil puntual. Aquí se describe si es un BMW, un Tavria, una

moto, un ómnibus de la línea 31, etc. Todos los móviles del mismo tipo compartirán las características básicas (exceptuando al conductor). Cada tipo de móvil tiene una serie de carriles que puede utilizar de cada calle y otros que no tiene permitido utilizar.

� Largo Mínimo: Longitud mínima del tipo de vehículo. � Largo Máximo: Longitud máxima del tipo de vehículo. � Ancho Mínimo: Ancho mínimo del tipo de vehículo. � Ancho Máximo: Ancho máximo del tipo de vehículo. � Velocidad Máxima: Velocidad máxima que puede alcanzar el vehículo.

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

84

� Aceleración máxima: Una medida de la potencia de aceleración que brinda el automóvil. � Desaceleración Máxima: Valor máximo (negativo) de la aceleración cuando el móvil

clava los frenos. � Llena Carril: Propiedad que indica si el vehículo llena un carril (un automóvil, ómnibus) o

no (una moto, bicicleta o peatón) � Preferencial: Indica si el vehículo es preferencial (ambulancia, bomberos, etc.) y tiene

derecho a romper algunas reglas de tránsito o que se le brinde un tratamiento especial. � Mantiene Derecha: Los repartidores o transportes públicos deben mantener la derecha y

sobrepasar a otros vehículos sólo en caso de extrema necesidad. � Porcentaje Total: Indica el porcentaje de este tipo de vehículos sobre el total del parque

automotor. � Vereda: Indica si el vehículo puede utilizar la vereda. � Repartidor: Indica si el vehículo tiene una tabla OD (camino a seguir) estática e invariable,

o si puede tomar otro camino según su preferencia. Por ejemplo, un ómnibus debe recorrer un camino prefijado siempre, mientras que un taxi no tiene un camino prefijado que seguir, pudiendo elegir el que más le convenga en el momento.

6.4.2 Módulo de Toma de Decisiones El módulo de Toma de Decisiones se encarga de tomar decisiones de corto o mediano

plazo, como por ejemplo decrementar la velocidad al llegar a una esquina, decidir que carril utilizar según las maniobras a realizarse posteriormente, acelerar hasta un cierto límite si se tiene el camino despejado, cambiar de carril para sobrepasar a un vehículo lento o frenar ante un obstáculo impasable. También incluye el relacionamiento con los semáforos y señales de tránsito, que no afectan el camino elegido, pero que obligan a tener comportamientos de respeto frente a ellos. Las decisiones tomadas en este nivel son dependientes, en gran medida, del carácter del conductor (Módulo de Carácter), que involucra una mayor o menor agresividad en el manejo, un mayor límite de velocidad deseada, un cierto respeto por las señales de tránsito y diferentes comportamientos sociales referentes a los demás vehículos (como ser el hecho de tocar la bocina). El módulo de toma de decisiones está representado por una variación del HCSM que se relaciona directamente con todos los demás módulos. El módulo de Conocimiento almacena el estado del móvil en su BDC.

La HCSM utilizada para la modelización del EasyAgent es una modificación de la propuesta en las referencias ya citadas [26, 27, 28, 42]. Para nuestro caso realizamos las siguientes simplificaciones: la cantidad de estados jerárquicamente organizados tiene una profundidad de tres niveles como máximo y no se utilizan estados concurrentes. Por lo tanto, lo que tenemos es una máquina de estados jerárquica de tres niveles de profundidad sin concurrencia que tiene conocimientos y experiencias almacenadas en su BDC (un módulo aparte) que nos permite modelar el sistema con pocos estados. Esta BDC no es una estructura interna de la máquina de estados, y por lo tanto la HCSM no concuerda explícitamente con la definición, ya que en una HCSM normal, cada estado tiene sus propias variables de estado y paso de parámetros en las transiciones, sin consultar a estructuras internas, sino que se utilizó la idea de las máquinas de estado jerárquicas para organizar el trabajo de tomar las decisiones de una forma ordenada y simple. Internamente, los estados internos de la HCSM a su vez realizan aplicación de reglas [6, 25, 28, 86], para tomar las decisiones finales y para realizar el análisis de entorno, así como de la memoria y de sus preferencias.

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

85

Como se mencionó anteriormente, los autómatas de estado finito y la aplicación de reglas son modelos buenos para el modelado de un comportamiento aceptable de conducción, con el gran problema de que la explosión de estados los hace inmanejables para una gran variedad de situaciones posibles [6, 25, 27, 28, 86]. La máquina de estados propuesta aquí funciona tan bien y casi tan rápido como los métodos simples, pero evita el aumento de la complejidad exponencial al ir creciendo los estados posibles.

Por ejemplo, si nuestro vehículo quiere cambiar de carril, se tiene que tener un estado “cambiando de carril”, con sus propiedades y transiciones a los demás estados. Ahora, si permitimos que el vehículo pueda modificar su aceleración cuando cambia de carril, tendríamos que tener varios estados posibles nuevos: cambiar de carril a velocidad estable, cambiar de carril acelerando y cambiar de carril frenando. Esto se debe al hecho de que cada posibilidad tiene casos especiales (si voy frenando tengo que asegurarme que mi velocidad no se reduzca a cero durante la maniobra, si voy acelerando tengo que asegurarme no sobrepasar la velocidad máxima del móvil o la deseada del conductor), y las transiciones a los diferentes estados, y sus gatillos serán diferentes. Así, la combinación de posibilidades genera nuevos estados, mientras que jerarquizando los estados podemos hacer que un sub-estado “frenando” del cambio de carril funcione igual que el estado “frenando” cuando queremos evitar un accidente, y la cantidad efectiva de estados modelados es mucho menor. Eso empeora al agregar más posibilidades que puedan estar sucediendo en simultáneo, lo cual después es muy difícil de ampliar, corregir y depurar.

La máquina HCSM es una definición recursiva que se utiliza para encapsular los estados del móvil de una manera sencilla y manejable, permitiendo sencillas ampliaciones o correcciones del funcionamiento interno del Agente.

El gráfico siguiente es una descripción muy básica del autómata jerárquico utilizado. Se muestran todos los estados posibles, unidos por transiciones simples. En realidad, las cada transición tiene una gran variedad de motivos por los cuales dispararse, los más importantes se describirán posteriormente. En general, el autómata funciona indefinidamente hasta que la simulación termina, o hasta que llega al único estado final posible, que es el de “Chocado”, a partir de ese momento ya no toma ninguna decisión más ni realiza actividad alguna.

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

86

Los estados utilizados son: � Estado Estable: Es el estado inicial y básico del móvil. Se mueve a una velocidad

constante o está detenido, sin realizar ningún otro tipo de acción. Cuando por algún motivo realiza una acción, pasa a otro estado. Normalmente los vehículos se encuentran en el Estado Estable, donde no realizan deliberaciones ni toman decisión alguna, hasta que algún evento o comportamiento pro-activo los hace salir de ese estado. Allí se delibera, toma un curso de acción y actúa acorde a él, hasta cumplir el plan y lograr un nuevo Estado Estable.

� Frenar: El móvil está disminuyendo su velocidad. Existen varios motivos para ello: Frenar porque se superó la velocidad máxima deseada o permitida, porque hay algún tipo de peligro adelante, porque el semáforo está rojo, porque se está llegando a una esquina para la cual no se tiene preferencia o porque alguien se están metiendo en su carril adelante muy cerca.

� Cambio de carril: Se está pasando a un carril contiguo. También existen varios motivos: porque hay alguien lento adelante, porque el otro carril permite una mayor velocidad o está vacío, porque en el carril contiguo se puede realizar una maniobra que en el actual no, para evitar un accidente o un obstáculo, o porque detrás hay alguien que le tocó bocina. El cambio de carril tiene sub-estados, puesto que se puede realizar acelerando, frenando o a velocidad estable.

� Acelerar: Se está aumentando la velocidad. Puede ser porque se quiere cumplir un deseo de llegar a una velocidad crucero y hay espacio adelante, porque nos estamos apurando para cruzar una esquina o porque nos tocaron bocina desde atrás.

� Accionar cercano a esquina: Cuando se está cerca de una esquina, se realizan tareas diferentes a las normales: frenar paulatinamente hasta llegar a la esquina a una velocidad baja para poder mirar a los costados, mirar a los lados, verificar las preferencias de las calles que se cruzan, ver el estado de los semáforos, acelerar para cruzar antes que lleguen otros vehículos por la otra calle y muchos otros detalles.

� Maniobra en esquina: Este es un caso especial. Mientras el móvil cruza una esquina, debe tener en cuenta una gran cantidad de detalles especiales y fuera de lo normal y prestar una mayor atención al entorno. A este estado se llega desde el estado “Cerca Esquina”, en el momento exacto en que se ingresó a un nodo (esquina).

� Replanificación: Si el móvil por algún motivo no puede cumplir su meta tal como lo había planeado (por ejemplo, debía tomar una calle que encontró cortada), debe reevaluar su posición y tomar un camino alternativo realizando un nuevo plan. Esto se ejecuta cuando el móvil detecta que no podrá realizar una maniobra establecida, y tendrá que seleccionar otra al llegar a la esquina. En realidad esta situación especial se da como un sub-estado de Accionar Cercano a Esquina cuando debe pasar a Maniobra en Esquina pero no está habilitado a cumplir con su plan establecido en la Tabla OD.

� Chocado: Estado final de un móvil que tuvo un accidente. Ya no puede tomar ninguna decisión hasta que el móvil es removido de su posición.

Las transiciones de un estado a otro se pueden deber a muchos motivos, los cuales se

guardan como parte de la BDC. Por ejemplo, si el agente se encuentra en Estado Estable, y desea frenar, puede deberse a varias razones: haber superado el límite de velocidad, estar en peligro de choque, tener a alguien lento adelante, tener un semáforo rojo adelante, que alguien esté haciendo una maniobra peligrosa adelante, estar llegando a una esquina donde no es preferencial y muchas más. Es importante saber el motivo que causó ese cambio de estado,

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

87

para que internamente al estado el conductor conozca los límites de lo que debe realizar. Por ejemplo, dependiendo del motivo del frenado, va a dejar de frenar cuando haya vuelto a los límites de velocidad reglamentarios, cuando se haya detenido completamente o cuando haya emparejado su velocidad con el móvil de adelante. En una FSM tradicional deberíamos haber creado un estado para cada tipo de frenado (y para sus combinaciones posibles), mientras que la introducción de la BDC nos permite tener un único estado, y el agente tan sólo verifica su estado mental (recuerdos y motivaciones) para decidir si continúa en el mismo estado o cambia a otro diferente. De este modo, además de evitar la explosión de estados del FSM al utilizar una HCSM, reducimos mucho más aún la cantidad de estados al realizar transiciones según la necesidad y la experiencia. Evidentemente, esta aproximación no cumple estrictamente con la definición formal de una HCSM, pero simplifica mucho su operación y rendimiento, así como su complejidad.

Además, realizamos algunas simplificaciones que permiten una reducción de los sub-estados mejor: no todos los estados tienen sub-estados, sino que podemos categorizar a los estados en estados simples (Estado Estable, Frenar, Acelerar, Chocado y Replanificar) y complejos (Cambio de carril, Maniobra en Esquina y Cerca de Esquina). Los estados simples no tienen sub-estados, y los estados complejos tienen a su vez dentro a otros estados, ya sean simples o complejos.

De este modo, si un móvil desea cambiar de carril mientras acelera, no pasa a un estado de “Acelerando -> Cambiando de carril”, sino que pasa al estado de “Cambiando de Carril -> Acelerando”, que en realidad es lo mismo estructurado de otra manera. Así, simplificamos el estado Acelerando y hacemos que el estado Cambiando de Carril sea el único complejo. De este modo también rompemos la posibilidad de recursividad entre estados que podría causar problemas y aumentos de complejidad, y podemos modelar todos los estados con un máximo nivel de complejidad de tres niveles de profundidad. El estado más profundo es “Cerca Esquina”, y un ejemplo de este sería “Cerca Esquina -> Cambiando de Carril -> Acelerando”. Por lo tanto, la máquina jerárquica no necesita más de tres niveles de profundidad, y la base de datos del conocimiento puede ordenarse con hasta tres niveles de motivaciones también.

Además del funcionamiento del autómata, el módulo de toma de decisiones tiene otra fuerte vertiente de IA. Las decisiones no son tan simples como decir “estoy en peligro de choque, entonces freno”, sino que los Agentes tienen que tomar la información incompleta del mundo y a partir de sus creencias o conocimientos (en muchos casos aplicando la experiencia), tomar decisiones que no tienen una total certeza de que sean las correctas. Si bien hay decenas de procesos complejos, y muchos más simples, citaré a continuación los más importantes con sus problemáticas y soluciones propuestas: � Detección de un vehículo lento adelante: La detección de un vehículo lento se da de

dos maneras, por un lado, automóviles que están lejos pero que nos causarán problemas de aquí a poco, o automóviles con los que tendremos una colisión prontamente. La detección de colisión se realiza observando las diferentas de velocidades entre un móvil y el de adelante, y asumiendo que se mantendrán esas velocidades en los próximos segundos. Obviamente que esos datos pueden cambiar a lo largo del tiempo (o peor aún, en el instante posterior), pero es la mejor aproximación que el conductor puede tener. En respuesta a la situación el móvil puede realizar varias tareas: Ø Cambiar de carril: Si existe la posibilidad, se realizará un cambio de carril a otro contiguo. Ø Si tiene tiempo suficiente para frenar, disminuirá su velocidad hasta equipararse con la del de adelante,

inclusive llegando a detenerse de ser necesario. Si el móvil de adelante está en movimiento, mantendrá una distancia mínima de seguridad dependiendo de la velocidad del mismo. Si ve la luz de freno encendida, se detendrá más de lo previsto,

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

88

puesto que el de adelante irá disminuyendo su velocidad también, así que la estimación de diferencia de velocidades no sirve.

Ø Si el peligro es grande, o el otro móvil va muy despacio, se le tocará bocina para alertarlo, además de realizar alguna de las tareas citadas. Dependiendo de las posibilidades y del carácter del móvil de adelante, este puede hacerse a un lado, acelerar, o ignorar el bocinazo de atrás.

� Análisis de situaciones cercanas a la esquina: Se asume que el móvil está cercano a una esquina si en un tiempo prudencial llegará al final del carril, dependiendo de su velocidad. Se deben realizar varias tareas de detección de lo que ocurre: Ø Verificar si está en el carril necesario para realizar su maniobra. Por ejemplo, si desea doblar a

la derecha, debería estar posicionado en el carril de la derecha. Si no lo estuviera, debería buscar un mecanismo de cambio de carril que lo lleve a ella. Este análisis involucra una revisión de todas las posibles maniobras a realizarse desde el carril hacia los demás carriles de la esquina y ver cual cumple con su necesidad de viaje decidida y almacenada en la tabla OD, para llegar a la siguiente esquina deseada.

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

89

Ø Se debe verificar si el carril de destino está o no bloqueado. Si lo estuviera, debería ver si otro

carril de la misma calle lo lleva al destino buscado, o si debe regenerar su tabla OD y buscar otro camino. La replanificación involucra guardar en la memoria del Agente la información del estado actualizado de esa ruta, y volver a realizar la búsqueda del mejor camino conociendo ese problema. También puede ser necesario replanificar si no se pudo hacer un cambio de carril necesario para una maniobra en especial, y debe tomar otro camino al elegido primeramente.

Ø El conductor debe realizar el análisis de las preferencias de las calles e identificar si puede o no cruzar

la esquina. Si hubiera un vehículo adelante, se basa en la confianza del que el vehículo de adelante está realizando esa tarea y lo sigue como máximo a su misma velocidad o frena si el otro lo hace. Si el conductor es quien está más adelantado en el carril, él debe realizar la tarea. Si hubiera semáforo, se guiaría por la luz del semáforo para decidir si acelera para cruzar o frena en la esquina. Cuando la luz se pone amarilla, realizará una evaluación basada en su nivel de agresividad que le indicará si se atreve a acelerar para cruzar o si finalmente se detendrá, siempre que le sea posible a la velocidad que está llevando en el espacio que le queda de separación a la esquina. También verifica que hubiera un agente de tránsito dirigiendo, en cuyo caso lo respetaría de manera semejante al semáforo.

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

90

Ø Si no hubiera semáforo o agente de tránsito, el vehículo se basa en las reglas de tránsito de preferencia para evaluar sus posibilidades. Si está en una calle preferente respecto a la(s) otra(s) (una avenida, o cruza por la derecha en dos calles de la misma preferencia), cruzará prácticamente sin mirar, asumiendo que los demás se detendrán. Si su calle no es preferente disminuirá su velocidad hasta tener visibilidad de la otra calle (unos metros antes de la esquina), puesto que no “conoce” el estado de las calles directamente, y, si ve que alguien está cerca o cruzando en ese momento, se detendrá, de otro modo cruzará. El análisis de si se puede pasar una esquina no preferencial es un proceso complejo. Se debe analizar el flujo de vehículos de la otra calle (y de la propia si se desea doblar, puesto que podría chocar contra vehículos de su misma calle en ese caso), esperando un espacio suficiente para que, acelerando, lograra cruzar. Los vehículos que se aproximan pueden variar durante el tiempo su comportamiento (frenar, acelerar o cambiar de carril), por lo cual hay que hacer cálculos realistas, sin tomar datos estáticos del momento, asumir velocidades y aceleraciones, y luego establecer un margen de seguridad que de una garantía mínima de la maniobra aunque cambien las condiciones. El nivel de análisis de la situación depende mucho de la agresividad del conductor. Además, debe verificarse el estado de lo que ocurre más allá de la esquina, para evitar accidentes inmediatos al cruzar el nodo, y actuar de acuerdo a ello.

Ø Fusión de carriles: Es un procedimiento en el que dos carriles se unen para dar como resultado un único carril. EasyTraf modela ese caso particular mediante un nodo intermedio, o sea, una esquina (que puede tener o no una calle transversal). Allí el

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

91

conductor debe observar lo que ocurre en su propio carril, en el carril vecino y en el único carril destino. Este tipo de maniobras causan embotellamientos y son propensas a choques, ya que los vehículos deben descubrir cuando les conviene entrar al nuevo carril sin causar un accidente, y el flujo vehicular se hace más lento. La cooperación de los vehículos es indispensable para llevar a cabo el objetivo correctamente.

� Acelerar: Normalmente el vehículo mantendrá un nivel de aceleración estable mientras no llegue a su velocidad crucero, supere la velocidad máxima de la calle o encuentre algún obstáculo como ser un automóvil lento, un semáforo o una esquina donde no tenga preferencia. El vehículo puede acelerar por varios motivos principales: Ø Porque va más despacio que su velocidad crucero y tiene un buen margen de seguridad

adelante para aumentar su velocidad (no hay nadie, o quien está adelante está muy lejos o va más rápido).

Ø Porque alguien de atrás le ha tocado bocina, instándolo a moverse. Ø Porque está en una esquina y desea cruzarla, pero estaba detenido o frenó para

observar. Ø Cuando cambia de carril, dependiendo de la situación. Ø Cuando se ha detenido completamente porque el de adelante también lo está, o porque

está esperando la liberación de un semáforo, al terminar el motivo, el auto vuelve a moverse.

Ø Si quiere realizar una maniobra riesgosa: cruzar una esquina, cambiar de carril, y va muy despacio (lo que hará que dicha maniobra tome demasiado tiempo), acelerará para evitar problemas.

� Frenar: Un vehículo disminuye su velocidad por un sinnúmero de circunstancias: para evitar un accidente, porque hay alguien lento adelante, porque el semáforo se puso rojo o porque está llegando a una esquina que no es preferencial. El análisis de los motivos que causan el deseo de frenar no son tan complejos como el análisis de si ya se frenó lo suficiente o debe continuar haciéndolo. Eso es especial en el caso del freno porque un vehículo adelante está causando algún tipo de problema. En ese caso, conseguir que las velocidades se equiparen no es suficiente, puesto que durante el tiempo el otro vehículo puede haber modificado también sus parámetros. Como la aceleración del vehículo de adelante es desconocida (tan sólo puede identificar su velocidad), debe basarse únicamente en las diferencias de velocidades y en la información de la luz de freno (lo cual indica una desaceleración por parte del de adelante). Como es imposible saber lo que el de adelante desea hacer, nunca se reacciona inmediatamente a un cambio de accionar del mismo, sino que se espera un tiempo a ver si será coherente. Por ejemplo, si estamos frenando porque el de adelante lo está haciendo, y luego el de adelante deja de frenar, el agente continuará frenando de manera estable un poco más (aunque los cálculos de diferencia de velocidad indiquen lo contrario) y luego de un tiempo recién pensará en dejar de frenar o volver a acelerar. Evidentemente, si frena hasta detenerse, deberá realizar análisis de las posibilidades de acelerar para volver a cobrar movimiento si se diera el caso. Cuando el vehículo frena, el conductor siempre intenta mantener una distancia de seguridad de entre uno a cinco metros según la velocidad que esté llevando, para poder reaccionar ante eventos repentinos.

� Cambio de carril: Se da porque se desea evitar la molestia de alguien lento adelante, para dar paso a un vehículo más veloz, para ir a un carril que le permita realizar una cierta maniobra, para evitar un accidente o para sobrepasar algún tipo de obstáculo (choque, vehículo detenido, carril bloqueado). El análisis de la posibilidad de cambio de carril es

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

92

complejo. Si se está muy cerca de una esquina, no se realiza, para evitar riesgos innecesarios. Además, debe verificar que haya espacio en su carril para realizar el trámite, así como en el carril adyacente. Eso significa ver que no haya nadie al lado en ese momento, ni lo haya en todo el tiempo que dure la maniobra, con un margen mínimo de seguridad. Así hay que ver cuales son los vehículos que están adelante y atrás, y, como sus futuras aceleraciones o desaceleraciones no se pueden saber a priori, asumir que mantendrán su estado actual en los próximos segundos para realizar la maniobra. Si se da el caso, el vehículo logrará hacerla, pero si ocurre alguna contingencia, el vehículo intentará volver a su propio carril. Como la situación también puede haber cambiado en el carril de origen, la situación es doblemente compleja. De todos modos, la decisión final es mantener el carril de origen ante cualquier evento imprevisto. Para evitar comportamientos repetitivos incorrectos, los móviles pueden intentar un máximo de tres veces cambiar de carril en una misma cuadra, y posteriormente ya mantendrán su carril, salvo que necesiten cambiarse nuevamente para realizar una maniobra en el nodo que desde el carril actual no le estuviera permitida. Todos los algoritmos están fuertemente afectados dependiendo de si los móviles ocupan completamente un carril o no, ya que son casos completamente diferentes. La situación se complica más aún al ser posible que otros móviles estén realizando la misma tarea de cambio de carril o deseando hacerlo, y ese análisis debe tenerse en cuenta también, ya que afectará profundamente a la situación.

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

93

6.4.3 Módulo de Interrelación Es el módulo que se encarga de administrar los mensajes que transmiten los agentes entre sí

y relacionarlos. Esto se realiza de dos maneras diferentes. La primera forma es mediante una relación directa entre dos móviles a través del módulo de interrelación propiamente dicho. Un ejemplo de esto es el hecho de tocar bocina, que se maneja como un mensaje que envía un móvil a otro que esté delante suyo o cercano a él realizando una maniobra que lo ponga en peligro. La otra forma de relación es indirecta: un vehículo señaliza una acción a realizarse (por ejemplo poniendo el señalero o encendiendo la luz de freno), pero los demás vehículos interesados no reciben un mensaje, sino que ven el resultado a través del módulo físico (el

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

94

módulo físico detecta mediante sus sensores que se enciente la luz o el señalero del móvil de adelante). La mayoría de las relaciones entre los módulos son indirectas y encausables a través del módulo físico, salvo casos como el de tocar bocina que utiliza mensajes sin necesitar de la interrelación con el ambiente.

La importancia de este módulo radica en permitir que los agentes se comuniquen para lograr llegar a un mejor desenvolvimiento de sus tareas [88]. Si es una relación indirecta, el agente no realiza ninguna labor consciente para obtener esto, aunque de todos modos indique su intención o su accionar. Pero el módulo de interrelación tiene una gran importancia cuando los vehículos sí deciden colaborar. Este es el caso de tocar bocina, para advertir de un peligro, ayudando a la comprensión de la situación de quienes lo rodean. Para la versión 1.0 de EasyTraf, el módulo de Interrelación es bastante simple y tiene pocas opciones, pero puede ser ampliado sin dificultad para manejar otro tipo de mensajes, como ser encender señaleros o hacer juegos de luces.

6.4.4 Módulo de Planificación Es el módulo en el que, en una manera semejante al modelo BDI [13, 14, 21, 22], se

controlan y llevan a cabo los deseos del agente. Cada agente tiene un deseo, como por ejemplo viajar de un lugar a otro, que debe cumplir. Él conoce una serie de caminos posibles, y convierte el conocimiento en intención al tomar uno de ellos, elaborando de este modo un plan de acción, este plan de acción tiene como resultado una tabla OD, que indicaría el camino completo que el móvil piensa realizar [48], seleccionando las calles y esquinas que se irán tomando, aunque no los carriles específicos ni las maniobras puntuales, las cuales están a cargo de decidirse en el módulo de toma de decisiones, ya cuando vaya el móvil recorriendo las calles durante la simulación. Esto se da porque en realidad varios carriles de una misma calle o maniobras de una esquina nos permiten cumplir con nuestro cometido, y tan sólo al llegar a ellos se puede evaluar cual es el más conveniente (dependiendo de factores como cantidad de móviles, embotellamientos o el carril por el que se haya llegado), tarea que realiza el módulo de toma de decisiones.

Cada agente genera un plan propio del camino a recorrer, independientemente al resto de los agentes, y basado en el conocimiento parcial que tiene del mundo. Como su conocimiento del mundo es limitado, puede que el camino escogido no sea el mejor, o peor aún, que no sea posible completarlo debido a algún obstáculo que lo impida. Si este fuera el caso, el móvil debería realizar una nueva deliberación al llegar ese momento y descubrir el problema, con una base de conocimiento actualizada debido a los últimos descubrimientos, para elaborar un nuevo plan. Esto incluye también la selección de un mejor camino si se diera el caso de descubrirlo. Por lo general, un plan no cambia una vez establecido, salvo que se encuentre un problema que impida llevarlo a cabo de la manera prevista.

El agente selecciona su camino a recorrer utilizando una variación del algoritmo de Costo Uniforme de Dijkstra que encuentra el camino más corto en un grafo dirigido con peso, agregándole extensiones para sopesar múltiples costos y no uno único como el algoritmo original [63, 65, 70]. El algoritmo del costo uniforme es un algoritmo de búsqueda ciega, semejante al de breadth-first, pero con el concepto agregado de costo de cada arco, y recorre el grafo desde un nodo origen visitando los otros nodos a distancia más corta (según el peso) desde el origen. El gráfico a continuación muestra un ejemplo simple de su funcionamiento, para encontrar el camino más corto dentro del grafo.

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

95

El módulo de planificación toma la representación física de la carretera de EasyTraf, y la

utiliza como un grafo dirigido, indicando las calles, nodos y maniobras posibles de realizarse. Los nodos representan intersecciones y puntos de ingreso a la región, los arcos representan las calles que unen las intersecciones, y son unidireccionales. Esto es, si una calle tiene dos sentidos, se representan mediante dos arcos independientes. El costo evaluado en cada iteración no es simple, sino que depende de muchos factores, muchos de los cuales no son propiedad del arco, sino del nodo y de las complejas relaciones entre maniobras, semáforos y tipos de avenida. Simuladores importantes como el TRANSIMS planean en el futuro utilizar una función de costo generalizada semejante a la implementada en EasyTraf por el EasyAgent, pero aún no lo han hecho, midiendo actualmente únicamente la longitud de viaje y su costo monetario [70].

Los factores a tenerse en cuenta cuando se evalúa cada paso del algoritmo son los siguientes: � Camino más corto: Recorrer la menor cantidad de cuadras posible. � Camino en mejor estado: Dependiendo de la calidad de la ruta, el móvil tiende a utilizar

calles en mejor estado, o asfaltadas en vez de empedradas. � Calles con más carriles en una misma dirección: Los vehículos prefieren utilizar

anchas avenidas en vez de calles de pocos carriles. � Menor cantidad de cambios de calles: Normalmente los conductores prefieren ir

derecho por una misma calle en vez de ir haciendo zig-zag de una a otra, por más que fuera un camino más óptimo si hiciera el zig-zag.

� La posibilidad de la maniobra: Como se indicó anteriormente, las maniobras tienen posibilidades yendo de prohibidas a permitidas, con valores intermedios. Dependiendo de la maniobra que debería realizar para ir por el camino seleccionado, se penalizan las maniobras menos permitidas.

� Pocos semáforos: El conductor prefiere utilizar calles que tengan pocos semáforos por encima de calles con muchos semáforos.

� Velocidad máxima permitida: El agente tiende a seleccionar calles o autopistas que le permitan llegar a su velocidad crucero de viaje, y no aquellas que le imponen restricciones en la velocidad.

� Calles preferenciales: Los conductores prefieren utilizar calles preferenciales, en las cuales probablemente puedan transitar con mayor fluidez por sobre las calles no

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

96

preferenciales, que requieren detenerse en las esquinas, ceder paso o embotellarse esperando un espacio para cruzar.

� Posibilidad de uso de la calle: Si los carriles de la calle no permiten el tránsito de su tipo de vehículo, no puede usar el enlace, y debe buscar otro camino.

La fórmula a utilizarse a cada paso del algoritmo, y para cada conjunto enlace-nodo,

evaluando todas las características citadas está basada en una heurística que se mostró muy cercana a la realidad, y es la siguiente (el objetivo es obtener el menor valor posible para cada enlace):

costo del enlace = (costo anterior + 100 por nueva cuadra) + (100 - calidad de la ruta) +

(500 - 100 * cantidad de carriles) + (100 por cambio de ruta) + (100 - posibilidad de la maniobra a realizarse) + (100 - preferencia de la calle) + (100 si hay semáforo) + (100 si la velocidad permitida es menor a mi velocidad crucero)

Varias fórmulas son “100 - algún valor”, porque esos valores se miden en porcentaje,

usualmente cuando mayores, mejores, entonces, restando 100 del porcentaje, obtenemos números menores para ellos, lo cual es preferible para el algoritmo. Como los valores a sopesarse tienen poca relación entre sí, se busca una fórmula que los conjugue a todos. Evidentemente, la fórmula puede variar según muchos patrones de conducta, pero ésta se mostró muy cercana a las preferencias reales de los conductores.

De acuerdo al modelo de EasyTraf, el origen y el destino del camino seleccionado serán nodos productores / consumidores, y la fórmula arriba descrita será una evaluación paso a paso del mejor camino hasta encontrar una conexión entre ambos nodos, con el menor costo posible.

El resultado final de la búsqueda será la Tabla OD, que se guarda en la Base de Datos del Conocimiento para futuros usos. La tabla OD es una lista de esquinas que el conductor desea recorrer en su viaje, sin almacenar ningún tipo de datos sobre las maniobras o carriles específicos a recorrerse. Eso lo decidirá el módulo de toma de decisiones en el momento específico que sea necesario.

Una última acotación respecto al algoritmo del costo uniforme es que el por más que el grafo dirigido conecte todos los nodos, existen casos de puntos inaccesibles del mapa para un vehículo, si es que no existen calles que permitan que ese tipo de vehículo particular llegue a destino. Si se diera el caso de que un vehículo necesita llegar a un lugar imposible, se aborta su creación. Lo mismo ocurre si el grafo no permite llegar a algún nodo en especial porque las direcciones de los arcos no brindan caminos posibles.

6.4.5 Módulo de Conocimiento Consiste en la Base de Datos del Conocimiento (BDC) del agente y la forma en que éste

accede a ella [19]. En la base de datos del conocimiento se almacenan los datos de rutas que conoce, así como los datos acerca del estado en que se encuentra el móvil en el módulo de toma de decisiones, la Tabla OD planificada, una memoria de las acciones y sucesos recientes en el mundo y un aprendizaje del estado del sistema de carreteras actualizado a sus experiencias durante el viaje.

El agente tiene un conocimiento incompleto del mundo, y ésta es la causa principal por la que pueda tomar decisiones incorrectas o poco óptimas. Esto es muy importante, puesto que si todos los agentes conocieran los caminos ideales, o el estado del tráfico en un momento dado,

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

97

tomarían rutas alternativas que no reflejarían el tráfico verdadero (por ejemplo, se tomarían caminos alternativos a las grandes y congestionadas avenidas, cosa que poca gente hace), o esquivarían embotellamientos antes de saber que existen.

La BDC almacena los siguientes datos resaltantes acerca del conductor y de su estado: � El estado del móvil y los motivos por los cuales está en ese estado: El

almacenamiento del estado tiene tres niveles de profundidad y de importancia, de manera semejante a los estados del módulo de toma de decisiones. Así se sabrá cuales son los estados y sub-estados en que se encuentra el vehículo y los motivos que llevaron a cada estado y sub-estado. Así, sabremos, por ejemplo, que estamos en el estado “Cambiando de Carril -> Acelerando” y sabremos que estamos cambiando de carril porque alguien de atrás nos tocó la bocina y también estamos acelerando para darle más espacio. Al evaluar posteriormente los estados en ciclos más avanzados de simulación podremos saber si ya cumplimos el cometido propuesto (para volver a un estado estable) o no, y volver a evaluar y decidir que tarea realizar.

� Tabla OD: El móvil almacena los datos sobre el camino seleccionado al ingresar a la red de carreteras. Se almacena la secuencia de nodos a ser recorrida, pero no los carriles dentro de las calles particulares ni las maniobras a realizarse, las cuales se deciden en el módulo de toma de decisiones en el momento justo de necesitarse.

� Carriles bloqueados: Cuando se detecta un carril bloqueado e inutilizable, se agrega ese conocimiento a la BDC de tal manera que si se necesita recrear una Tabla OD, tenga en cuenta ese dato y no elija un camino que necesite pasar por el carril bloqueado.

� Datos sobre los últimos toques de bocina: El conductor guarda en su memoria a quien le tocó bocina por última vez, y quien se la tocó a él, así como hace cuanto tiempo que sucedió el hecho. De esta manera puede modificar su comportamiento en el futuro, sabiendo que ya avisó de algún tipo de peligro o que le avisaron a él.

� Tiempo de última acción: Guarda el momento en el tiempo en el que tomó su última decisión consciente. Es importante, porque los conductores tienen velocidad de reacción dada según sus características de atención y reacción, y no pueden tomar dos decisiones de seguido sin esperar a que pase el tiempo mínimo de reacción establecido.

� Maniobra seleccionada: Cuando el móvil está cerca de la esquina, su conductor evalúa las maniobras existentes que lo llevan al nodo destino deseado según su Tabla OD, y elige la que más le convenga. Entonces la guarda para utilizarla al llegar a la esquina y para evaluar si está en el carril correcto para realizarla.

� Estado de cumplimiento de la Tabla OD: Si el conductor por algún motivo no puede realizar la maniobra establecida, y ninguna otra que lo lleve al nodo destino, debe percatarse de que no puede cumplir con su plan original y debe replantearse la situación eligiendo un camino alternativo.

� Velocidad, Aceleración y Distancia deseadas: Varias decisiones y estados dependen de la velocidad, (des)aceleración o distancia entre vehículos o hasta la esquina para saber si han cumplido su cometido o si deben replantear la situación. Por lo tanto, en la BDC se almacenan esos valores para contrastarlos con lo que ocurre posteriormente.

� Atención de Peligro: Si el vehículo detectó algún peligro últimamente, mantiene esta información en su estado mental para conducir con más cuidado y atención de lo normal por los próximos segundos.

� Estado del cambio de carril: El conductor almacena en su BDC los datos sobre sus decisiones de cambio de carril. Esto es, si lo está realizando y si no descubrió ningún peligro cercano, y cuantas veces se cambió de carril en los últimos cien metros, para evitar

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

98

comportamientos de zig-zag exagerados. También se almacenan los carriles origen y destino de cambio: mantiene el conocimiento sobre cual es el carril origen y destino de una maniobra de cambio de carril, para tomar decisiones mientras ocurre la maniobra y poder volver al carril de origen si ocurre algún acontecimiento fuera de lo normal o peligroso.

6.4.6 Módulo de carácter Esta capa del agente se almacena toda la información sobre el carácter del individuo

modelado y el nivel de respeto que tiene respecto al entorno, así como sus características esenciales. Gracias a la caracterización individual de cada conductor se puede crear una población realista de conductores, con sus preferencias y conductas específicas que afectan el resultado final de la simulación. Las características básicas tenidas en cuenta son: � El tipo de conductor: Se indica si es un hombre, mujer, joven, policía, chofer de micro,

taxista, anciano, o cualquier otro a ser predefinido. � Porcentaje de conocimiento de rutas: Cada conductor conoce en mayor o menor grado

las posibilidades de rutas y diferentes calles de la ciudad, de su conocimiento depende en gran medida que elija caminos mejores o que opte por utilizar los grandemente conocidos.

� Porcentaje de agresividad: Cuanto más agresivo sea el conductor, realizará acciones más osadas o respetará menos las reglamentaciones de tránsito. Esto incluye viajar a velocidades más allá de las prohibidas, pasar semáforos en rojo, realizar maniobras prohibidas en las esquinas, tocar bocina irresponsablemente, y muchas más.

� Porcentaje de respeto (conocimiento) de las señales y reglamentaciones de tránsito: Puede suceder que un conductor rompa normas de tránsito o conduzca irresponsablemente no porque es agresivo, sino simplemente porque ignora las leyes de tránsito o los significados de ciertas señales.

� Velocidad de Reacción: Es el tiempo mínimo que el conductor tarda en reaccionar ante un nuevo evento imprevisto o entre dos decisiones consecutivas que causen un cambio de acción. Es muy importante, porque conductores con reacciones lentas (por ejemplo, ebrios) son causa de accidentes o de peligros, o deben manejar con más cuidado.

� Velocidad Crucero: Velocidad típica a la cual le gusta viajar al conductor, y a la que intentará llegar siempre que sea posible, haya espacio, y no supere la máxima permitida del carril.

� Aceleración crucero: Es la aceleración con la cual el conductor suele manejarse. Algunos prefieren una aceleración lenta y regular, mientras que otros prefieren acelerar rápidamente al principio y luego mantener una cierta velocidad constante. De este nivel de aceleración dependen muchos movimientos microscópicos, sobre todo de inicio de movimiento en colas (por ejemplo, al ponerse verde un semáforo).

6.5 Comportamiento Emergente en el EasyAgent El agente EasyAgent, en su actuar simulado presenta comportamientos emergentes no

programados ni modelados en su máquina de estados o en sus diferentes módulos. Un comportamiento emergente consiste en que el agente realiza una acción que no se

puede atribuir a una estructura interna particular del mismo, sino una compleja interacción entre un conjunto de estructuras y el ambiente [86, 87, 88]. En muchos casos es imposible decir con certeza el conjunto de interacciones internas que causan el comportamiento emergente del agente, las cuales, según se mencionó en capítulos anteriores, en realidad no son

Capítulo 6: Construcción de Agentes Inteligentes para la simulación de tráfico

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

99

tan importantes, porque lo que se busca es emular un comportamiento correcto, sin necesariamente comprender todas las causas del mismo.

Esta es una propiedad deseada de los Agentes Inteligentes, ya que los hace más flexibles y capaces de adaptarse a diferentes tipos de situaciones. El agente consiste en componentes simples que interactúan entre sí para crear comportamientos complejos no programados [68, 74, 75, 76, 77, 78, 79]. De este modo, no se programan los comportamientos complejos, sino que se espera que surjan como consecuencia de la interacción de los módulos simples.

A su vez, si se tiene un conjunto de agentes interactuando entre sí, la interacción entre ellos en un sistema social puede llevar a una estructura emergente. Lo que es importante es que tal complejidad emergente es en muchos casos más robusta, flexible y tolerante a fallas que una complejidad programada a propósito.

Gracias a la implementación modular y jerárquica del EasyAgent, y a su programación de reglas simples, se ha logrado que éste muestre comportamientos emergentes no programados pero deseados, como ser los siguientes: � Cuando el Agente se aproxima a una Esquina para doblar, reduce la velocidad para realizar

la maniobra, aunque no existe un algoritmo que realice esa tarea. � No existe un algoritmo de sobrepasar vehículo, y sin embargo es una acción comúnmente

realizada por los agentes. � Cuando un semáforo que estaba rojo cambia al estado verde, la cola de vehículos no

arranca toda junta al mismo tiempo, sino que lo va haciendo progresivamente a medida que los móviles de adelante empiezan a avanzar. Existen simuladores que carecen de este tipo de propiedades y reflejan situaciones irreales, ya que todos los vehículos arrancan y se mueven en simultáneo.

� Cuando hay un vehículo detenido en una esquina, se forma una cola de vehículos separados a una distancia mínima que va aumentando progresivamente.

� En esquinas con igual preferencia, se produce el hecho típico de que mientras una serie de vehículos cruza, los de la otra calle esperan formando una cola, pero cuando los de la segunda calle empiezan a cruzar, los de la primera se detienen y forman una cola hasta que uno logra cruzar y el resto lo sigue.

� En cruces de calles con menor preferencia, los vehículos le ceden el paso a los de mayor preferencia. Lo mismo ocurre cuando un vehículo quiere realizar una maniobra que pudiera afectar a otros carriles de la misma calle.

� Si un vehículo necesita hacer una maniobra en un carril, normalmente se mantiene en él aunque tuviera oportunidad de hacer cambios de carril que lo satisfagan en otros deseos. Esto es porque cumplir con su Tabla OD es muy importante para él, y prefiere eso a correr el riesgo de no volver al carril necesario y perder una maniobra. Es más, si el móvil descubre que tiene tiempo suficiente para volver a su carril, entonces existe la posibilidad de que realice la maniobra y vuelva a su carril original.

� En esperas largas (con vehículos de reacción lenta) luego de la liberación de un semáforo, se produce una cadena de bocinazos exigiendo que los de adelante se movilicen.

Capítulo 7: Estudio de casos y consideraciones experimentales

100 Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

CCaappííttuulloo 77:: EEssttuuddiioo ddee ccaassooss yy ccoonnssiiddeerraacciioonneess eexxppeerriimmeennttaalleess

Ley de Williams y Holland:

“Si se ha recabado suficiente información, cualquier cosa puede probarse mediante métodos estadísticos”

La mejor forma de corroborar que un Agente Inteligente realiza correctamente su trabajo

de toma de decisiones consiste en realizar simulaciones y posteriormente contrastarlas con la realidad. Esto se debe a que su comportamiento depende de un sinnúmero de factores: las metas a corto y largo plazo, las reacciones instantáneas, lo que sucede en el ambiente, y respuestas emergentes no programadas explícitamente.

El agente EasyAgent fue testeado en el simulador EasyTraf con diferentes configuraciones de carreteras (geométricas y lógicas), de permisos, de otros vehículos y agentes, para verificar el funcionamiento correcto y acorde a la realidad. En primer lugar se realizaron simulaciones pequeñas y detalladas para observar comportamientos individuales, y, una vez superada esa etapa de prueba se realizó una simulación a gran escala en forma conjunta con expertos de la Municipalidad de Asunción, sobre un caso de estudio relevante para ellos: El estudio del impacto en el tráfico vehicular de la construcción del hotel Sheraton sobre la avenida Aviadores del Chaco [93], que obligó a una reestructuración del tránsito en toda su zona de influencia.

Los Ingenieros de Tráfico de la Municipalidad de Asunción verificaron las simulaciones ejecutadas en EasyTraf y dieron su visto bueno en cuanto al nivel de realismo y certeza obtenida, de acuerdo a su experiencia, conocimiento y datos de mediciones realizadas por ellos en el radio urbano de la ciudad de Asunción.

7.1 Calibración del simulador Para determinar si los resultados de una simulación son correctos, se requiere un gran nivel

de confianza en que el modelo se ha calibrado con tolerancias aceptables y ha logrado un nivel de validación aceptable para las características del flujo de tráfico. La calibración es el proceso en el cual los componentes individuales del modelo de simulación se ajustan para que represente lo medido en el campo y en el tráfico real [69, 71, 95].

Bajo condiciones ideales, la calibración de los componentes individuales del modelo de simulación mejorará la habilidad del modelo de reproducir el tráfico verdadero con un margen aceptable de error. Algunas características que pueden utilizarse para la validación del simulador son el volumen de tráfico, el tiempo promedio de viaje, la velocidad promedio de viaje, longitud de las colas y densidad. Evidentemente, se necesita obtener un promedio de resultados luego de muchas simulaciones semejantes, para evitar tomar casos particulares del simulador como los que normalmente brindará como resultado.

Las recomendaciones para obtener una simulación correcta son las siguientes [69]: � Realizar mediciones y observaciones de flujo existente de tráfico y de comportamiento de

conductores para las calles del estudio. � Calibrar la simulación de tráfico para coincidir con las condiciones observadas. � Validar el modelo de simulación de tráfico en un proceso iterativo con la calibración, para

reducir el riesgo de equívocos.

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

101

� Promediar los resultados de múltiples corridas de la simulación y determinar la variación en los resultados para asegurar un nivel de certeza mínimo.

Con este acercamiento básico, los resultados del modelo de simulación de tráfico serán de confianza, y permitirá al simulador ser una herramienta útil para posteriores estudios.

Como explica la Tesis de Ariel Romero [95], EasyTraf fue calibrado basándose en los preceptos necesarios [69, 71], y se demostró correcto su funcionamiento según los expertos de tráfico de la Municipalidad de la ciudad de Asunción, por lo cual se puede asumir que es útil para modelar situaciones de tráfico en nuestra realidad brindando resultados valederos.

A continuación, veremos ejemplos puntuales de simulación en los cuales los agentes EasyAgent demuestran su respuesta, accionar y decisiones.

7.2 Simulación de un caso simple En esta sección, se mostrarán los resultados de una simulación simple del EasyTraf, de tal

manera que se puedan observar en detalle algunos los comportamientos más comunes de los vehículos conducidos por los agentes EasyAgent. Esta simulación en simple, pequeña y con pocos vehículos, pero contiene todos los elementos necesarios para verificar el funcionamiento de los agentes implementados.

Debido a que el simulador funciona con un gran detalle, y unidades de medida de centímetros y segundos, y las tablas de resultados se presentan con ese tipo de datos, las descripciones a continuación se harán en ese tipo de sistema de medidas.

El entorno a simularse es un cruce de calles, cada una con dos carriles en un único sentido y con el mismo nivel de preferencia. Los nodos 1 y 4 son productores, los nodos 3 y 5 son consumidores, y el nodo 2 es el cruce, el cual no tiene semáforo. La velocidad máxima permitida de los carriles es de 50 km/h (1390 cm/seg.). El gráfico siguiente detalla el ambiente simulado, así como las numeraciones de los nodos, calles, carriles y maniobras.

La longitud de las cuadras es de 100 metros, y la esquina tiene 10 metros de diámetro. La

simulación se realizó en pasos de 0,2 segundos, cantidad que permite una simulación bastante correcta, y que es menor al tiempo de reacción de cualquier conductor. Se utilizó esta medida porque los archivos de resultados que se agregaron a esta tesis de otro modo serían muy

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

102

grandes (los archivos muestran el estado del simulador en cada paso y son directamente proporcionales a la resolución temporal seleccionada).

Se definieron dos tipos de conductores:

1) Agresivo (60%), con velocidad crucero de 60 Km/h (1600 cm/seg), aceleración elevada (300 cm/seg2) y buena velocidad de reacción (0,3 seg).

2) Poco agresivo (20%), con velocidad crucero de 35 Km/h (1000 cm/seg), aceleración más suave (270 cm/seg2) y escasa velocidad de reacción (0,7 seg).

A su vez, se definieron dos tipos de vehículos:

1) Auto Común, con velocidad máxima de 115 Km/h (1000 cm/seg), aceleración normal (300 cm/seg2) y freno normal (-900 cm/seg2).

2) Auto Deportivo, con velocidad máxima de 180 Km/h (1600 cm/seg), aceleración mayor a la normal (350 cm/seg2) y frenos mejores a lo normal (-950 cm/seg2).

Tanto los conductores como los vehículos se distribuyeron de manera uniforme a lo largo

de la simulación, formando una población combinada de ambas posibilidades. El tiempo simulado fue de una hora (3600 segundos), el cual se simuló en 90 segundos de

máquina, grabando ya los archivos que totalizaron 100 MB de información. Esto da como resultado una velocidad de simulación de 40 veces el tiempo real.

En el Apéndice I de este libro está disponible una copia de uno de los archivos de salida del simulador para los primeros 26 segundos, paso por paso. En él se describe el estado de la simulación y de cada vehículo en cada instante de simulación, esto es, cada 0,2 segundos. Como estos archivos son enormes, y más aún el que refleja el estado interno de cada móvil, útil para comprender los motivos de las decisiones que toman, los resultados de la simulación se almacenaron en un CD-ROM que se adjunta a este libro de tesis, detallándose en el Apéndice I tan sólo los primeros 26 segundos de simulación (a analizarse a continuación) en el modo más simple de tipo de archivo de salida. Existe un análisis de caso que se da cerca de la mitad de la simulación, pero debido a que el tiempo en el cual transcurre es muy largo (unos 230 segundos, lo que equivaldría a cerca de 150 páginas impresas), no se pone en el libro dicha porción de resultados, pero éstos pueden observarse en el CD-ROM adjunto.

Algunos de los casos que se presentan en esta simulación son los siguientes:

� Primera Etapa (0 a 26 seg): Ø Acelerar hasta la velocidad crucero del móvil o a la velocidad máxima permitida en el

carril, si es que no hay otros impedimentos (comportamiento pro-activo). Ø Acelerar hasta más allá de la velocidad máxima del carril para algunos conductores

agresivos. Ø Dejar de acelerar al alcanzar la velocidad crucero del móvil o la velocidad máxima

permitida del carril (o haber sobrepasado la velocidad máxima del carril según su agresividad).

Ø Cambios de carril para sobrepasar a automóviles lentos (comportamiento reactivo). Ø Retorno al carril ante una situación adversa de cambio de carril (comportamiento

reactivo). Ø Generación del plan de viaje: Tabla OD (comportamiento pro-activo). Ø Regeneración de tabla OD cuando no se pudo cumplir un plan (comportamiento

reactivo).

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

103

Ø Reacciones respecto a bocinazos (acelerar o cambiar de carril). Ø Frenar para llegar a una esquina o cruzarla, si es una maniobra que no tiene preferencia. Ø Análisis de situación en esquina, cruzarla de ser posible, sino esperar. Ø Ceder paso en esquina si no se tiene espacio suficiente para pasar hasta encontrar un

hueco libre (comportamiento emergente). � Segunda Etapa (1212 a 1449 seg): Ø Selección de maniobras y acciones al respecto (cambiarse de carril para poder cumplir

con la maniobra necesaria). Ø Colas de vehículos cuando se debe cruzar una esquina y no hay paso (comportamiento

emergente). Ø Cadenas de bocinazos (comportamiento emergente).

A continuación se describirá cronológicamente lo sucedido en la simulación, acompañado

de gráficos explicativos. Llamaremos a los móviles con una M mayúscula y el número asignado por el simulador, por ejemplo, el móvil cero se llamará M0. Lo mismo se hará con los carriles, pero con la letra C. No se mencionarán todos los hechos del simulador, sino los más relevantes para los móviles que son interesantes.

Primera Etapa (0 a 26 segundos). 00:00 seg.: Inicio de la Simulación. Todo el sistema está vacío. 01:40 seg.: Se inserta el primer móvil al sistema (M0) en C6. 03:80 seg.: Se inserta el M1 en el C2. El móvil M1 genera su tabla OD según los nodos de origen y destino de su viaje. Los nodos

son el 1 y el 5 respectivamente, y por lo tanto se genera la Tabla OD 1-2-5. Como la velocidad actual de M1 (800 cm/seg) es menor a su velocidad deseada (1000

cm/seg) y a la velocidad máxima permitida del carril (1390 cm/seg), y no tienen ningún tipo de obstáculo o impedimento, el vehículo decide acelerar (156 cm/seg2) hasta alcanzar su velocidad crucero.

Se inserta el M2 en el C6. El móvil M2 genera su tabla OD según los nodos de origen y destino de su viaje. Los nodos

son el 4 y el 3 respectivamente, y por lo tanto se genera la Tabla OD 4-2-3. Como la velocidad actual de M2 (607 cm/seg) es menor a su velocidad deseada (1000

cm/seg) y a la velocidad máxima permitida del carril (1390 cm/seg), y no tienen ningún tipo de obstáculo o impedimento, el vehículo decide acelerar (264 cm/seg2) hasta alcanzar su velocidad crucero.

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

104

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

105

05:20 seg: M1 llega hasta alrededor de su velocidad crucero (1018,4 cm/seg), y por lo tanto decide

mantener una velocidad estable y no acelerar más. 05:40 seg: M2 llega hasta alrededor de su velocidad crucero (1029,4 cm/seg), y por lo tanto decide

mantener una velocidad estable y no acelerar más.

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

106

09:00 seg: M2 detecta que se va aproximando a la esquina (le faltan 46 metros), y por lo tanto

selecciona su maniobra para cumplir con la tabla OD. La maniobra seleccionada es la que une los carriles C5 y C3 (100% de posibilidad). Esta elección se debe a que no existe ninguna maniobra posible desde su carril actual (C6) en el nodo 2 hacia el nodo 3.

M2, al notar que no está en el carril indicado para su maniobra, decide cambiarse de carril y pasarse al carril 5, para lo cual inicia un giro de volante. Según la percepción de M2, los móviles que se encuentran adelante suyo (M3) y detrás suyo (M4) en C5 le permitirán hacer una maniobra justa pero segura.

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

107

09:80 seg: M2, al intentar meter la nariz en el carril C5, descubre que M4 está muy cerca y que la

maniobra sí resultará peligrosa, y por lo tanto decide nuevamente mantenerse en el carril, a pesar de ir en contra de su decisión prevista en la Tabla OD. Al mismo tiempo, M2 inicia una acción de frenado leve (-139 cm/seg2). Su esperanza radica en que al ir frenando, tendrá más tiempo para encontrar un espacio en C5 y poder cambiarse de carril para cumplir con su plan establecido.

M1 detecta que se va aproximando a la esquina (le faltan 40 metros), y por lo tanto selecciona su maniobra para cumplir con la Tabla OD. La maniobra seleccionada es la que une los carriles C2 y C8 (100% de posibilidad).

Como la maniobra que seleccionó es de giro (tiene poca prioridad), y además los móviles que vienen por la otra calle tienen preferencia, M1 empieza a frenar levemente (-77 cm/seg2) para, al llegar a la esquina, poder cuantificar la situación y tomar una acción correcta sin causar ningún tipo de problema o accidente.

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

108

14:00 seg: M2 llega hasta la esquina sin haber podido realizar su maniobra deseada. Los móviles del

carril contiguo siempre estuvieron a su lado impidiendo el cambio de carril, a pesar de su disminución de velocidad. Al llegar a la esquina, y tener la maniobra deseada bloqueada, no le queda otra salida que repensar su plan, regenerando la Tabla OD, la cual cambia de 4-2-3 a 4-2-5 (en una simulación de mayor escala buscaría otro camino alternativo, que en este caso no existe).

M2, por lo tanto, ingresa a la esquina y cruza derecho. Al ingresar a la esquina, no tiene sentido seguir frenando más, por lo que acelera nuevamente en búsqueda de su velocidad crucero.

Al mismo tiempo, M1 llega hasta 4 metros antes de la esquina, y puede visualizar lo que en ella ocurre, sobre todo de la calle con la que se cruza. Allí visualiza a M2 ingresando en ese instante en el cruce, por lo que debe presionar el freno con más fuerza de la que venía (de -77 cm/seg2 a -553 cm/seg2) para dar paso a M2.

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

109

15:00 seg: Cuando M2 ya está terminando su maniobra, y hay espacio suficiente para cruzar, M1

decide ingresar a la esquina y doblar a la izquierda, cumpliendo su plan. El móvil más cercano es M7, que, a pesar de acercarse a una velocidad elevada (1407 cm/seg) se encuentra aún lejos (a 59 metros) y en el carril C5, por lo que no le debería causar problemas. Como la velocidad de M1 es muy baja, inicia la maniobra acelerando.

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

110

17:20 seg: M1 termina su maniobra en la esquina e ingresa al carril C8. Continúa acelerando ya que aún

no alcanzó su velocidad crucero.

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

111

18:80 seg: M1 llega a un poco más de su velocidad crucero (1148 cm/seg.) y decide mantenerla

constante. Al instante, detecta a M2 adelante llevando una velocidad menor (1042,4 cm/seg.). Las opciones que se le presentan a M1 son desacelerar, o cambiarse de carril. Él toma la segunda opción e inicia una maniobra de cambio de C8 a C7. M7, en ese momento se acerca a alta velocidad (1407 cm/seg.) y está unos 15 m. por detrás de M1.

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

112

20:00 seg: M7, al ver cruzarse a M1 a su carril, llevando una velocidad sensiblemente menor a la suya,

decide tocarle la bocina para alertarlo de un posible peligro. M1, por su parte, como ya se pasó completamente a C8, evalúa la situación y decide que la mejor maniobra es acelerar, manteniendo una distancia suficiente con M7, por lo menos mientras supera a M2.

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

113

20:80 seg: M1 llega a la velocidad de 1311,4 cm/seg. Esta velocidad es claramente mayor a su

velocidad crucero, pero fue forzado a aumentarla por el peligro de accidente con M7. Allí M1 espera evitar el conflicto, o darle tiempo suficiente a M7 para que desacelere o cambie de carril. M7, por su parte, con la diferencia obtenida, se asegura de no tener conflictos por lo menos dentro de la cuadra que están recorriendo. El cambio de carril no le conviene porque tiene a M2 adelante en C8, que va más lento que M1, y un poco adelante a éste, por lo que no podría sobrepasar a M1 por C8 y luego volver a C7 con facilidad. Ambos móviles (M1 y M7) continúan utilizando el mismo carril, acortando lentamente la distancia que los separa.

24:80 seg: M2 abandona el sistema. 25:40 seg: M1 abandona el sistema.

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

114

Segunda Etapa (1212 a 1449 seg). 1212 seg: El móvil M477 llega a la esquina por el carril C1. Al observar a los lados, se encuentra con

que por los carriles C5 y C6 están llegando varios móviles (en especial M478 por C6), todos con mayor preferencia a él. Por lo tanto decide frenar y esperar a encontrar un espacio para cruzar (su maniobra es C1 - C3, o sea, cruzar y seguir derecho).

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

115

1212 - 1449 seg: El móvil M477 queda detenido en C1, así como M480 en C2, por detrás de ellos se empieza

a formar una cola de vehículos en espera de que la cola avance. Por alrededor de 240 segundos se forma una larga cola en los carriles C1 y C2, en espera de un espacio para cruzar. Los móviles de dichos carriles van pasando de a poco, pero no logran disminuir el tamaño de la cola puesto que en todo ese tiempo se produjeron pocos espacios libres.

Cabe resaltar que si bien los móviles del carril 2 podrían hacer maniobras del tipo (C2-C8, C2-C7 o C2-C4) si el carril C6 estuviera libre y supieran que los móviles de C5 tienen intenciones de doblar (maniobras C5-C3 o C5-C4), como los conductores de dichos móviles no tienen forma de adivinar las futuras acciones de los demás conductores (no tienen acceso a su información de estado y decisiones), no pueden saber de antemano si ocurrirá un accidente al cruzar o no (a los 1228 seg. en adelante se puede verificar un caso como el mencionado).

En ciertos momentos, ante la impaciencia, se produjeron cadenas de bocinazos (por ejemplo, a los 1268 seg).

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

116

1449 seg: La situación se regulariza y vuelve a la normalidad, no queda cola detenida en C1 o C2.

7.3 Simulación de un caso real En forma conjunta con Ingenieros de Tráfico de la Municipalidad de Asunción se realizó la

simulación de un caso real para verificar el correcto funcionamiento del EasyTraf y del EasyAgent. Esta simulación se basó en los estudios de tráfico realizados por la consultora SAETA para la habilitación del Hotel Sheraton [93] a construirse sobre la Avenida Aviadores del Chaco esquina Santa Teresa.

Con los planos de la zona provistos por la Municipalidad, junto a los datos del estudio mencionado, se procedió a realizar una simulación de la situación actual (previa a la

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

117

inauguración del citado hotel), y posteriormente a comparar los datos de salida del simulador con los del estudio de SAETA consultora.

La zona de influencia estudiada comprendió la Avenida Aviadores del Chaco desde la calle Delia Frutos hasta cien metros más allá de la calle Campos Cervera con un análisis centrado en lo ocurrido en el cruce con la Avenida Santa Teresa, la cual representa un sistema complejo. A continuación se muestra un plano de la zona junto a la representación de la misma en el editor del simulador.

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

118

Los datos geométricos cargados en el editor se definieron a escala 1/500, con todas las maniobras existentes permitidas, e incluyendo las prohibidas pero que en realidad se hacen a menudo. Los flujos entrantes al sistema se cargaron acordes a los estudios volumétricos en 4 franjas de 15 minutos, medidas por el personal técnico de la Municipalidad de Asunción, así como la densidad saliente esperada por cada nodo. Para las densidades se cargaron los tres tipos de vehículos principales medidos: automóviles, ómnibus y camiones, cada uno con sus propias características físicas y se estableció la distribución de los mismos en la composición del tráfico.

Posteriormente a la ejecución y registro de una serie de pruebas consecutivas en las cuales se simulaba el mismo escenario, con los mismos datos y configuraciones de entrada se inició el estudio de validación del modelo. Para este estudio se siguió la metodología propuesta en [69]. La metodología propuesta sugiere reglas para la “calibración dentro de márgenes de tolerancia aceptables” y para “llegar a niveles aceptables de validación del modelo” divididas en dos etapas: Calibración y Validación:

Para la etapa de calibración, se realizaron los siguientes trabajos: � Verificación de flujos totales de entrada y salida, que se ajustaban estrictamente a los

parámetros cedidos por la Municipalidad, así como los puntos de producción y consumición de móviles.

� Verificación de operaciones de control de tráfico, para lo cual se comprobó el efecto de todas las maniobras permitidas y prohibidas en detalle, franjas peatonales y paradas de ómnibus.

� Verificación del comportamiento deseado de los móviles, para lo cual se utilizó una serie de patrones de conducta típicos de los tres tipos de móviles que circulan por la zona en las proporciones adecuadas.

Para la etapa de validación se consideraron los resultados de 10 simulaciones consecutivas de periodos de una hora divididos en etapas de 15 minutos. Siguiendo la metodología de validación, esto debería arrojar resultados de “al menos 90% de confianza”. Para esto se simularon 5 etapas de 15 minutos donde las características de la primera y segunda etapas eran idénticas. El objetivo de la primera etapa fue actuar como colchón de maduración para el simulador de tal manera que las 4 etapas restantes cuenten con la densidad de población esperada desde el inicio de la simulación. Los resultados de la primera etapa de cada simulación fueron desechados.

Posteriormente se calcularon los parámetros significativos de validación de cada una de las 4 etapas de validación simuladas y se contrastaron con los valores reales del estudio de campo. Las líneas guía para la validación de la simulación incluyen:

PARÁMETRO DESCRIPCIÓN CRITERIO DE VALIDACIÓN Volumen servido Diferencia porcentual entre el volumen de vehículos

generados por el simulador y el volumen del estudio de campo.

95 a 105 % del valor observado

Tiempo de viaje promedio

Desviación estándar entre el tiempo de viaje de los móviles del simulador y el tiempo de escurrimiento del estudio de campo.

1 Desviación Estándar

Velocidad promedio de viaje Desviación estándar entre la velocidad promedio de viaje de los móviles del simulador y el estudio de campo a nivel de carriles individuales.

1 Desviación Estándar

Densidad de la vía Diferencia porcentual entre la densidad simulada y la observada (a partir del volumen y la velocidad de escurrimiento).

90 a 110 % del valor observado

Longitud promedio de la cola de espera

Diferencia porcentual entre la longitud de las colas de espera simuladas y observadas a nivel de cada bocacalle.

80 a 120 % del valor observado

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

119

Por desgracia, ni la Municipalidad ni la consultora que trabaja con estos proyectos de estudio de tráfico contaban con la información de todos estos parámetros, por lo que tuvimos que reducir nuestro estudio de validación final a la contrastación del primer parámetro.

Los resultados fueron los siguientes:

Esta información muestra los resultados de una etapa fraccionada periodos de tres minutos, con una distribución promedio de 87,8 % de automóviles, 8,0 % de ómnibus y 4,2 % de camiones

El resultado final de todas las etapas arrojó:

VALOR ABSOLUTO DE LA DIFERENCIA PORCENTUAL PARÁMETRO MÍNIMA MÁXIMA PROMEDIO

Volumen servido 0,02 % 16,6 % 2,32 %

La diferencia porcentual máxima se registró al inició de las etapas dado el cambio brusco de

una configuración a otra en el volumen y la distribución del tráfico. El valor que interesa para este estudio, el promedio de la diferencia porcentual del volumen servido de ±2,32 % se mantiene dentro del rango permitido de 95% a 105% en relación al estudio de campo.

Los resultados mostrados realmente son el resumen de un trabajo de análisis mucho más minucioso a nivel del comportamiento de los móviles en cada segmento de vía. Dicho análisis se pudo realizar dado que el trabajo de campo incluía la cantidad de móviles que utilizaba cada maniobra de cada una de las intersecciones de la región simulada. Los resultados del flujo entrante y saliente en cada nodo arrojaron resultados de flujo promedio para cada nodo con una diferencia máxima de 4,39 %. Inicialmente, la diferencia notoria entre el trabajo de campo y los resultados de la simulación consistieron en la distribución de ómnibus y camiones en los nodos de producción, llegando a mostrar diferencias promedio de hasta 17,3%. La razón de esta diferencia es que la distribución porcentual de los tipos de móviles para el horario contemplado (07:00 a 08:00 horas) no es homogénea. Existe una gran carga de ómnibus y camiones que entran a la ciudad a diferencia de los que salen, diferencia que no se equipara con la desproporción del volumen total entrante respecto al saliente de ese horario. Esta diferencia no afectó a la simulación en sí porque la relación de participación de ómnibus y camiones respecto al de los automóviles es de 7 a 1.

Como se observó, el resultado de la simulación fue muy cercano al de la realidad medida, sin necesidad de ajustes al simulador ni al comportamiento de los agentes inteligentes. Esto es muy importante, ya que demuestra la flexibilidad del modelo concebido, y la seguridad de que si se realizaran simulaciones de casos futuros con cambios en la red de carreteras o sistemas de señales, el comportamiento seguiría siendo correcto, así como los resultados de la simulación.

820830840850860870880890900910

0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60

Tiempo (minutos)

Can

tid

ad d

e m

óvi

les

Valor de Campo

Promedio del ValorSimulado

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

120

7.4 Análisis del rendimiento en una simulación de tráfico utilizando al EasyAgent

Debido a que el principal objetivo de este trabajo de tesis es demostrar la utilidad de

Agentes Inteligentes en el ámbito de la simulación de tráfico, se trabajó en dos puntos de importancia. El primero, demostrar la utilidad de los agentes inteligentes como entidades de toma de decisiones correctas y acertadas en la microsimulación. Eso se demostró con ejemplos claros e innegables en las secciones anteriores. Por otro lado, el interés del desarrollo de estos agentes estaba basado en poder ser utilizados a nivel de computadoras personales de forma eficiente. En el ejemplo que viene a continuación no sólo se demuestra esto, sino que se obtiene un resultado muy alentador al respecto.

El experimento que se realizó para la medición del rendimiento fue el siguiente: se diseñó un mapa cuadrado de 3,3 kilómetros de ancho, con 140 esquinas (100 internas y 40 productoras/consumidoras), cuadras largas (de 300 m. cada una) y 4 carriles de ancho. Lo que se buscó con esto fue tener un lugar amplio que pudiera albergar a la mayor cantidad de móviles en simultáneo durante una simulación. Además, no se incluyeron semáforos en las esquinas, lo que obligó a los conductores a tener que realizar la mayor cantidad de tareas en simultáneo al verificar los cruces, puesto que cuando hay semáforos tienen comportamientos más simplificados al obedecer las luces.

Esquema de la red de carreteras simulada (3,3 Km. de tamaño)

Al tener una única descripción geométrica para todas las mediciones, se puede descartar la

topología de la red de carreteras como un factor que afecta al rendimiento, y centrarse únicamente en la cantidad de vehículos en simultáneo como único valor en afectar el rendimiento, ya que todos los demás parámetros se mantuvieron exactamente iguales para todas las corridas de la simulación.

Se realizaron 50 corridas del simulador con un número incremental de móviles insertados al sistema, lo que causó una mayor cantidad de móviles en simultáneo recorriendo la red de carreteras. La primera simulación tuvo un promedio de 12 móviles en simultáneo (de 108 producidos), y la última llegó hasta los 3.894 (de 7.946 producidos). El tiempo simulado fue de una hora para cada corrida (3.600 seg., 18.000 pasos).

El sistema utilizado para correr la simulación fue el siguiente: Una PC de escritorio con procesador Athlon de 1 GHz, 256 MB de RAM, disco duro Ultra ATA 66 y FSB de 266 MHz

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

121

con sistema operativo Linux Red Hat 6.2. La configuración tanto de software como de hardware se mantuvo constante a lo largo de las 50 corridas del simulador, para evitar alteraciones en el rendimiento debido a factores externos a la propia simulación.

Además, se inhibieron las salidas detalladas en los archivos de resultados, puesto que estas salidas llegaron a ocupar varios GB de tamaño en grandes simulaciones de prueba anteriores, y el costo de almacenar dichos datos en archivo era tremendamente superior al de realizar la propia simulación, afectando negativamente a los resultados. Tan solo se dejaron activos los mensajes importantes en pantalla y en archivos de error, y el archivo con el resumen de lo ocurrido en la simulación. En el CD-ROM que acompaña a este libro de tesis provee todos los archivos con los resultados de estas simulaciones, para su verificación, y con los archivos de entrada a las mismas.

La longitud del paso de la simulación utilizada fue de 0,2 segundos, la cual es suficiente para tener una buena respuesta de los conductores sin sobrecargar de sobremanera el sistema. Es evidente que con una granularidad más fina del tiempo se obtendrían simulaciones más perfectas, pero a un costo temporal cada vez mayor, puesto que, por ejemplo, si se tuviera una simulación con pasos de 0,1 segundos, el simulador realizaría exactamente el doble de operaciones que en el caso previo, tardando el doble de tiempo también para realizar la simulación.

El resultado obtenido, tremendamente importante para nuestra investigación, consiste en la comparación de en qué medida afecta la cantidad de móviles simultáneos al rendimiento del simulador, y su frontera teórica de uso. Los resultados obtenidos fueron auspiciosos e importantes. En el Apéndice II de este libro se tiene una tabla con los resultados obtenidos en cada caso, a partir de los cuales se realizó el gráfico que viene a continuación:

Comparación del tiempo de simulaciónrespecto a la cantidad simultánea de móviles

0

500

1000

1500

2000

2500

3000

3500

4000

4500

0 50 100 150 200 250 300 350 400 450 500

Tiempo de máquina transcurrido (seg.)

Can

tid

ad d

e m

óvi

les

en s

imu

ltán

eo

El resultado aquí obtenido es de una enorme importancia teórico-práctica, ya que

demuestra que la degradación del rendimiento del sistema (medida en el tiempo que le tomó realizar cada corrida de la simulación) es lineal y directamente proporcional a la cantidad

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

122

simultánea de móviles surcando la red de carreteras. Este resultado es importantísimo ya que demuestra que se pueden agregar móviles al sistema sabiendo cual será el impacto temporal y de recursos de la simulación, con límites manejables.

El resultado tiene un motivo claro: la mayor cantidad de móviles obliga al sistema a realizar una mayor cantidad de operaciones por paso (cada móvil, al ser pro-activo y reactivo, realiza la misma adquisición de datos de los sensores y evaluaciones de estado y toma de decisiones en cada paso), pero, debido a que la relación de los móviles se da tan sólo con los demás circundantes y no con todos los del sistema, no se tiene una explosión de estados y pasos, y eso permite que el crecimiento del uso de recursos, sobre todo del tiempo de procesamiento (que es el más afectado), aumente en forma lineal a un mayor número de vehículos en simultáneo.

Se podría pensar que la cantidad de móviles total generada durante la simulación tendría una relación directa con el rendimiento, pero eso no es cierto, porque, por ejemplo, muchos móviles podrían realizar viajes cortos y estar poco tiempo en el sistema, y la recarga del sistema se da sobre todo en la toma de decisiones que a cada paso toman los móviles, o sea, que a mayor cantidad de móviles tomando decisiones, mayor será el tiempo de procesamiento. Es por esto que, si se verifica la tabla del Apéndice II, se verá que existen casos de simulaciones que produjeron más móviles totales que otras y que se terminaron en menor tiempo, sobre todo porque sus móviles estuvieron menos tiempo en el sistema, obteniendo una simultaneidad menor.

Aparte de este importante resultado teórico, tenemos el significativo resultado del rendimiento propio del Agente EasyAgent. Como se mencionó en capítulos anteriores, lo que se buscaba con el EasyAgent era obtener una analogía suficientemente buena de la toma de decisiones de un humano con el mejor rendimiento posible. Esto se debía a que otros simuladores que utilizaban IA debían correrse en supercomputadoras para obtener resultados, con suerte, en tiempo real, mientras que nuestra meta era obtener resultados a velocidades mucho mayores, con simulaciones varias veces más rápidas al tiempo real, lo que permite realizar varias corridas en lo que tomaría realizar una medición de campo del mismo sistema.

Los resultados obtenidos en este aspecto también fueron muy favorables: las simulaciones más simples, y con pocos móviles en simultáneo, alcanzaron velocidades de 354 veces el tiempo simulado (10 segundos de simulación para una hora simulada), mientras que las simulaciones más importantes y con casi 4.000 vehículos en simultáneo alcanzaron velocidades de 8 veces el tiempo simulado. Esto significa que se lograron simular 60 minutos en apenas 7 minutos y medio.

La curva teórica de rendimiento obtenida nos indica que podríamos realizar simulaciones de hasta 30.000 móviles en simultáneo para apenas llegar a simulaciones de tiempo real, y, a partir de ese punto ya se tendrían simulaciones más lentas que el tiempo real. De todos modos, según las estimaciones de los profesionales de la Municipalidad de Asunción, el flujo de tráfico en el área céntrica (la que tiene mayor flujo vehicular del país) por hora ronda los 120.000 vehículos, y normalmente no son más de 25.000 vehículos en simultáneo, por lo cual se podrían llegar a simular grandes zonas geográficas de interés en un tiempo menor al real.

Ahora, es fácil verificar también que realizando ampliaciones, sobre todo a nivel de velocidad de procesamiento, los límites fijados podrían llevarse mucho más arriba. Pero de todos modos, según las reuniones que tuvimos con los ingenieros de tráfico de la Municipalidad de Asunción, nos indicaron que la simulación de entornos tan grandes y con tantos vehículos exceden sus necesidades, ya que los casos de estudio de la Municipalidad de Asunción son de zonas muy puntuales y de escasas manzanas a la redonda, con 200 a 2.000 móviles en promedio, lo cual es una cantidad baja para el simulador y con la cual se obtiene un gran rendimiento.

Capítulo 7: Estudio de casos y consideraciones experimentales

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

123

En cuanto al consumo de memoria, el simulador completo funcionando con 3.500 móviles en simultáneo apenas consumió 6 MB de memoria RAM, lo cual hace que la preocupación por la utilización de la memoria sea mínima.

Con todos estos datos, se ha demostrado el excelente rendimiento obtenido mediante el simulador EasyTraf utilizando al EasyAgent, y las enormes capacidades que presenta a futuro.

Capítulo 8: Conclusiones

124 Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

CCaappííttuulloo 88:: CCoonncclluussiioonneess

Ley de la gran idea: “En el momento en que se descubre una gran solución,

alguien más acaba de resolver el problema” En este trabajo de tesis se ha investigado, analizado y demostrado la utilidad de los Agentes

Inteligentes como un componente integral de la simulación de tráfico, acorde al objetivo general de la tesis.

Para ello, en una primera etapa realizamos una introducción a la Simulación y a la aplicación de técnicas de Inteligencia Artificial en la simulación. Luego estudiamos el estado del arte en cuanto a Agentes Inteligentes, sus usos y beneficios, así como su problemática y propusimos una definición de los mismos acorde a la realidad tratada en la simulación.

Luego se realizó la construcción de un Agente que denominamos EasyAgent, preparado para funcionar dentro del marco del simulador EasyTraf [95]. El agente propuesto fue el resultado de la conjunción de diseños de varios agentes existentes y estudios de IA aplicados a la simulación: BDI [13, 14, 21, 22], CCH/N [16], C3I [19], Aplicación de reglas [6, 25, 28, 86], FSM [27, 28] y HCSM [26, 27, 28, 42].

El agente modelado a partir de estas premisas se dividió en seis módulos funcionales: Módulo Físico, Módulo de Toma de Decisiones, Módulo de Interrelación, Módulo de Planificación, Módulo de Conocimiento y Módulo de Carácter, mediante los cuales el agente es capaz de comunicarse con el ambiente de simulación, con otros agentes, y de tomar las decisiones de corto, mediano y largo plazo para llevar a buen término su misión.

Posteriormente se realizaron pruebas de simulación simples para comprobar el correcto funcionamiento del Agente, de las cuales se presentaron varios ejemplos descriptivos. Con ayuda de expertos de la Municipalidad de Asunción se realizó una simulación de un caso de estudio real, que demostró de forma sobresaliente el correcto funcionamiento del simulador, de los agentes modelados, y de los resultados obtenidos. Los agentes, además, demostraron tener comportamientos emergentes no programados, lo que los convierte en herramientas flexibles y amplían su autonomía.

Finalmente se realizó un análisis de rendimiento y de incidencia del uso de Agentes Inteligentes en una simulación con computadoras de escritorio, y se llegó a la importante noción de que el incremento de la cantidad de agentes actuando en simultáneo en un sistema de simulación provee un decrecimiento apenas lineal del rendimiento. Además, se demostró que el simulador puede manejar miles de vehículos en simultáneo a una gran velocidad mayor a la real. Ambos resultados lo que demostraron su viabilidad de uso en PCs de escritorio sin necesidad de supercomputadoras para el efecto, y su capacidad de ser utilizados para casos de estudio reales sin inconvenientes.

Análisis del cumplimiento de los objetivos específicos: Cuando se propuso el inicio del trabajo de esta tesis, se presentaron varios objetivos

específicos a ser estudiados o analizados en el marco del objetivo general. Ahora brindo un pequeño análisis del resultado obtenido sobre los mismos.

� Realizar un diseño modular y reutilizable de Agentes Inteligentes dentro del ámbito estudiado, capaz de

sincronizarse con un simulador microscópico a través de una interfaz bien definida: Se creó un software

Capítulo 8: Conclusiones

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

125

de modular y reutilizable capaz de comunicarse con el mundo exterior a través de una interfaz bien definida (el módulo físico y el módulo de planificación).

� Modelar correctamente el comportamiento de los conductores dentro de las calles, siguiendo patrones de conducta diferentes según la personalidad de cada uno: Se crearon agentes con personalidades únicas y de patrones de comportamiento según el carácter que poseen. Esto permitió que la población se formara por individuos con sus propios intereses y formas de actuar, brindando un dinamismo único. Además, las entidades comprenden las reglas de tránsito, manejan los vehículos según reglas físicas y saben cuales son los sucesos que se darían según sus diferentes acciones y decisiones. Mediante simulaciones supervisadas por expertos de tránsito de la Municipalidad de Asunción, se demostró el correcto diseño y comportamiento de los agentes propuestos.

� Revisar las posibilidades de orientación a objetos útiles para la modelización de los agentes: Los Agentes se modelaron como objetos independientes, cada uno con sus propiedades individuales y carácter propios.

� Desarrollar protocolos de comunicación entre los Agentes que comparten el mundo virtual, expandibles a sistemas distribuidos: Como se dijo antes, las entidades de software además de relacionarse con el mundo físico exterior, se relacionarán entre ellas. Se desarrolló un módulo de Interrelación para el efecto. La distribución, al ser geográfica, tal como se planeó en EasyTraf, es simple y requiere escasas modificaciones al modelo actual.

� Evaluar las relaciones entre Agentes y la forma en que juntos logran crear situaciones generales: Se demostró que los agentes tienen comportamientos emergentes no programados, sobre todo a causa de sus interrelaciones entre sí y con el ambiente.

� Estudiar técnicas de Inteligencia Artificial sobre toma de decisiones y modelos de representación del conocimiento: Numerosa literatura se analizó sobre modelos de toma de decisiones y representación del conocimiento. De ella se tomaron los ejemplos más útiles para el caso de esta tesis y se construyó el EasyAgent, con algunas optimizaciones o simplificaciones, dependiendo del caso.

� Verificar las capacidades de las nuevas PCs para la realización de simulaciones importantes, campo hasta ahora concedido a las supercomputadoras: La implementación se llevó a cabo en plataforma PC, sobre hardware ordinario, en ambiente Linux, porque se buscó que el simulador pudiera ser utilizado en la realidad de nuestro país, y no en supercomputadoras inaccesibles para nosotros.

Principales Contribuciones: Entre los aportes más significativos y novedosos de la tesis podemos citar los siguientes: Aporte a la simulación por computadoras

� Se demostró la utilidad de los agentes inteligentes en el ámbito de la simulación de tráfico, con la autonomía y desenvoltura suficiente para generar tráfico microscópico realista, en un ambiente de computadoras de escritorio. Esto es muy importante, ya que gracias a la flexibilidad del modelo concebido, tenemos la seguridad de que si se realizaran simulaciones de casos futuros con cambios en la red de carreteras o sistemas de señales, el comportamiento seguiría siendo correcto, así como los resultados de la simulación, sin la necesidad de realizar trabajo adicional de ajuste de parámetros.

� Se demostró que, gracias al diseño del EasyAgent en el entorno EasyTraf, el nivel de rendimiento de la simulación se degrada en forma lineal y directamente proporcional a la cantidad de móviles en simultáneo recorriendo el sistema, lo que implica una gran potencia

Capítulo 8: Conclusiones

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

126

de escalabilidad de la simulación para albergar miles de móviles en vastas áreas geográficas, pudiendo realizarse ampliaciones de hardware sencillas para obtener mejores resultados. El agente diseñado puede actualmente utilizarse para simulaciones con miles de vehículos en simultáneo y de todos modos obtener simulaciones mucho más rápidas que el tiempo real.

� La modelización del tráfico peatonal es una innovación importante implementada en el EasyAgent que puede resultar útil para numerosas simulaciones (por ejemplo, el análisis de la transformación en peatonal de calles céntricas).

Aporte a la Inteligencia Artificial

� Se propuso una nueva definición de agentes inteligentes general, pero sobre todo útil para el área de la simulación.

� Se diseñó un agente dividido en seis módulos funcionales bien diferenciados, que permiten una ampliación o mejoras al modelo sencillas, así como a la interacción con otros simuladores o agentes diferentes.

� Se propuso un método de toma de decisiones a mediano y corto plazo basado en una HCSM simplificada, el cual es potente, flexible y suficientemente liviano en consumo de recursos y tiempo de procesador, de tal manera a poder utilizarse en simulación con computadoras de bajo costo.

� El modelo de agente propuesto presenta varias características especiales, como ser Planificación, toma de decisiones a corto y mediano plazo (HCSM simplificada), Base de Datos del Conocimiento, Memoria, Módulos de carácter e Interrelación, lo que lo convierte en un agente flexible, autónomo, social, con capacidad de aprendizaje y que presenta comportamientos pro-activos y reactivos, tal cual lo había definido en el capítulo 4. La presencia de comportamientos emergentes en su relación con otros agentes y con el ambiente aumenta su nivel de flexibilidad y autonomía.

� Se creó una fórmula de costo generalizado para el algoritmo del costo uniforme útil e interesante, que simuladores comerciales tienen planeado realizar a futuro. Además, estas son decisiones propias del agente y no de un planificador del simulador.

Trabajo Futuro. El modelo de agente propuesto tiene grandes virtudes, pero de todos modos puede ser

ampliado o mejorado en varios ámbitos. A continuación cito los más importantes: � El modelado de autos preferenciales como Ambulancias o Bomberos debe trabajarse más,

sobre todo para modificar el comportamiento de otros vehículos respecto a ellos. � El algoritmo de generación de las Tablas OD es bastante simple en el caso de las

regeneraciones y búsqueda de caminos alernativos al inicial. Esto se podría mejorar. � El hecho de que se debe mantener la derecha cuando se maneja y sobrepasar siempre por

la izquierda no se respeta en demasía. � El manejo de peatones todavía requiere mejoras para obtener un tráfico peatonal

completamente realista. � Debido a restricciones propias de la versión 1.0 de EasyTraf, no se realiza análisis de

sobrepaso en contramano o el uso de carriles bidireccionales, lo cual modificaría bastante a la simulación.

� Como EasyTraf 1.0 no tiene diferencias climáticas que pudieran afectar la visibilidad, velocidad de reacción o coeficiente de fricción de las rutas, estos casos no se tienen en cuenta para la implementación del EasyAgent 1.0.

Capítulo 8: Conclusiones

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

127

� El manejo del conocimiento parcial de los caminos posibles para la generación de las tablas OD aún es muy simple.

� Deberían manejarse niveles de “paciencia”, los cuales, unidos a la agresividad del conductor, modificarían su actuar ante largas esperas en colas, esquinas o para sobrepasar vehículos.

� Existe un potencial caso de deadlock en el análisis de situaciones en esquinas: Si se presenta un cruce de dos calles de doble sentido, con exactamente la misma prioridad, y sin semáforos, se podría dar un caso teórico en que todos los móviles le cedieran paso al móvil de su derecha y que nadie cruzara. Este caso nunca se presentó en la práctica a pesar de haberse realizado simulaciones bajo esas condiciones, pero podría ocurrir. Para solucionarlo se requeriría un reconocimiento de la situación por parte del agente y algún mecanismo en el cual alguno se atreviera a cruzar.

Referencias

128 Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

RReeffeerreenncciiaass

Ley de Murphy sobre la investigación: “Suficiente investigación respaldará cualquier teoría”

[1] Arsham, Hossein. “Systems Simulation: The Shortest Path from Learning to Applications”.

7th Edition (2001). http://ubmail.ubalt.edu/~harsham/simulation/sim.htm [2] STISIM Homepage (Systems Technology Inc.) http://www.systemstech.com/ [3] Cleveland, Jeff I; Herndon, Sonia S.; Houck, Jacob A.; Kibler, Kember S.; Meetze, Lemuel

E.; Simmons, Harold I. “Real-Time Simulation User’s Guide”. (1997) NASA Langley Research Center: Central Scientific Computing Complex, Document R-1d.

[4] Kergall, Mathieu; Regnier, Stephane; Kemeny Andras. “New Enhancements in Driving Simulation at Renault”. In Workshop on Scenario and Traffic Generation for Driving Simulation, Orlando, Florida, 1996.

[5] Kuhl, J.; Evans, D.; Papelis, Y.; Romano, R.; Watson G.S. “The Iowa Driving Simulator: An Immersive Research Environment”. IEEE Computer Magazine, July 1995 (Vol. 28, No. 7) pp. 35-41.

[6] van Wolffelaar, Peter. “Functional Aspects of the Driving Simulator at the University of Groningen”. Centre for Environmental and Traffic Psychology, University of Groningen, Netherlands. http://www.ppsw.rug.nl/cov/cov_sim.htm

[7] Leitão, J. Miguel; Coelho, A.; Ferreira, F. N. “DriS – A Virtual Driving Simulator”. Proceedings of the Second International Seminar on Human Factors in Road Traffic, ISBN 972-8098-25-1, Braga, Portugal, 1997.

[8] University of Leeds Advanced Driving Simulator Homepage. http://mistral.leeds.ac.uk/ [9] Freeman, J.S.; Watson, G.; Papelis Y. E.; Lin, T. C.; Tayyab, A.; Romano, R. A.; Kuhl, J. G.

“The Iowa Driving Simulator: An Implementation and Application Overview”. SAE Paper No. 950174 (1995).

[10] Fishwick, P. A. “Computer Simulation: Growth Through Extension”, European Simulation Multiconference, Barcelona, Spain, 1994.

[11] Alicandri, Elizabeth. “HYSIM: The Next Best Thing to Being on the Road”. (1994) Human Factors Laboratory, Turner-Fairbank Highway Research Center, McLean, California. http://www.tfhrc.gov/pubrds/winter94/p94wi19.htm

[12] Gruening, James; Bernard, James; Clover, Chris; Hoffmeister, Kurt. “Driving Simulation” (1998), SAE paper No. 980223.

[13] Busetta, Paolo; Rönnquist, Ralph; Hodgson, Andrew; Lucas, Andrew; “Light-Weight Intelligent Software Agents in Simulation” In Proceedings of Fourth International Simulation Technology and Training Conference, (SimTecT '99), Melbourne, Australia, 1999.

[14] Cross, Martin; Rönnquist, Ralph. “A Java Agent Environment for Simulation and Modelling” In Proceedings of Fourth International Simulation Technology and Training Conference, (SimTecT '99), Melbourne, Australia, 1999.

[15] Banks, Sheila, Stytz, Martin. “An Approach to Enhance Human Behavior Modeling for Computer-Generated Actors”. In Proceedings of Fourth International Simulation Technology and Training Conference, (SimTecT '99), Melbourne, Australia, 1999.

Referencias

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

129

[16] Reece, Douglas. “Computer Controlled Humans for a Military Training Simulation” In Workshop on Scenario and Traffic Generation for Driving Simulation, Orlando, Florida, 1996.

[17] Fernandez, Marcos; Bayarri, Salvador; Liu, Andy. “A Hidden Markov Model Based Approach to Autonomous Traffic Generation and Validation” In Workshop on Scenario and Traffic Generation for Driving Simulation, Orlando, Florida, 1996.

[18] Sukthankar, Rahul. “Teaching Intelligent Vehicles to Drive in Traffic: Tactical-level Scenarios” In Workshop on Scenario and Traffic Generation for Driving Simulation, Orlando, Florida, 1996.

[19] Bowden, Fred; Davies, Mike. “Design Methodology And Implementation Technologies For C3I Artificial Agents”. In Proceedings of Third International Simulation Technology and Training Conference, (SimTecT '98), Adelaide, Australia, 1998.

[20] Takvorian, Yann. “Activities as a Framework for Modeling Behaviors in a CGF Environment”. Virtual Prototypes Press, http://mayall.virtualprototypes.ca/VSD/press/white.html

[21] Heinze, C.; Goss S.; Lloyd I.; Pearce A. “Collaborating Cognitive and Sub-Cognitive Processes for the Simulation of Human Decision Making”. In Proceedings of Fourth International Simulation Technology and Training Conference, (SimTecT '99), Melbourne, Australia, 1999.

[22] Ly, Thanh. “Synchronising Intelligent Agents Within a Simulation”. In Proceedings of Fourth International Simulation Technology and Training Conference, (SimTecT '99), Melbourne, Australia, 1999.

[23] Jackson, Leroy; Pearman, Gerald; McGinnis, Michael. “Re-Hosting a Constructive Legacy Simulation With Modern Technologies”. In Proceedings of Fourth International Simulation Technology and Training Conference, (SimTecT '99), Melbourne, Australia, 1999.

[24] Jobson, Scott, Zaleman, Lucien, Mason, Mather. “ModSAF on a Portable Computer”. In Proceedings of Third International Simulation Technology and Training Conference, (SimTecT '98), Adelaide, Australia, 1998.

[25] van Wolffelaar, Peter. “Traffic Generation and Scenario Control in the TRC Driving Simulator” In Workshop on Scenario and Traffic Generation for Driving Simulation, Orlando, Florida, 1996.

[26] Ahmad, Omar; Papelis, Yiannis. “A General Purpose HCSM Controller for Arbitrary Intersection Topologies” In Workshop on Scenario and Traffic Generation for Driving Simulation, Orlando, Florida, 1996.

[27] Cremer J.; Kearney J.; Papelis Y.; Romano R. “The Software Architecture for Scenario Control in the Iowa Driving Simulator” Proc. 4th Computer Generated Forces and Behavioral Representation Conference, Orlando, FL, May 4-6, 1994.

[28] Papelis, Yiannis. “Graphical Authoring of Complex Scenarios Using High Level Coordinators” In Workshop on Scenario and Traffic Generation for Driving Simulation, Orlando, Florida, 1996.

[29] Papelis Y.; Bahauddin S. “Logical modeling of roadway environment to support real-time simulation of autonomous traffic”. In SIVE95: The First Workshop on Simulation and Interaction in Virtual Environments, pages 62--71, Iowa, USA, July 1995.

[30] Booth, Michael. “Develpment of a General Purpose Scenario Control System with Micro- and Macro-level Traffic Simulation” In Workshop on Scenario and Traffic Generation for Driving Simulation, Orlando, Florida, 1996.

Referencias

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

130

[31] Chiu, Susan; Mourant, Ronald. “Traffic Generation in a Virtual Environments Driving Simulator” In Workshop on Scenario and Traffic Generation for Driving Simulation, Orlando, Florida, 1996.

[32] Russell, Gordon. “Urban Traffic Simulation” (1995). http://www.soc.napier.ac.uk/publication/op/peoplepublications/peopleid/5

[33] Hogue, Jeffery; Allen, Wade; Rosenthal, Theodore; Anderson, Frederick; Pelz, Cecy; Aponso, Bimal. “Applying Low-Cost Virtual Environments to Simulation-Based Vehicle Operator Training”. In Proceedings of Fourth International Simulation Technology and Training Conference, (SimTecT '99), Melbourne, Australia, 1999.

[34] Zalcman, Lucien, Fagan, Tim. “Cost Effective Simulators - Twelve Months On”. In Proceedings of Third International Simulation Technology and Training Conference, (SimTecT '98), Adelaide, Australia, 1998.

[35] Kelty, Luke, Beckett, Paul, Zalcman, Lucien. “Desktop Simulation”. In Proceedings of Fourth International Simulation Technology and Training Conference, (SimTecT '99), Melbourne, Australia, 1999.

[36] “C++SIM User’s Guide” (1994). Department of Computing Science, Computing Laboratory, The University, Newcastle upon Tyne, NE1 7RU, UK.

[37] Göllü, Aleks. “The Programming Language SHIFT and its Application to Driving Simulation and Scenario Creation” In Workshop on Scenario and Traffic Generation for Driving Simulation, Orlando, Florida, 1996.

[38] Klein, Ulrich; Schulze, Thomas; Strassburger, Steffen; Menzler, Hans-Peter. “Distributed Traffic Simulation based on the High Level Architecture”. Proceedings of the Simulation Interoperability Workshop Fall 1998; Orlando, USA, pages 318-324, 1998

[39] Ryan, Peter, Zalcman, Lucien. “The DIS vs HLA: What’s in it for Australia?”. In Proceedings of Fourth International Simulation Technology and Training Conference, (SimTecT '99), Melbourne, Australia, 1999.

[40] Roehl, Bernie. “Distributed Virtual Reality - An Overview” (1995). http://ece.uwaterloo.ca/~broehl/distrib.html.

[41] Baker, Michael. “Time Management in distributed Simulation Models”. In Proceedings of Fourth International Simulation Technology and Training Conference, (SimTecT '99), Melbourne, Australia, 1999.

[42] Cremer, James; Kearney, Joseph; Papelis Yiannis. “Driving Simulation: Challenges for VR Technology”. Artículo aparecido en IEEE Computer Graphics and Applications (Septiembre de 1996), pag. 16-20.

[43] Wallace, Philip; Regan, Michal. “Case Study: Converting Human Factors Research Into Design Specifications For Instructional Simulation”. In Proceedings of Third International Simulation Technology and Training Conference, (SimTecT '98), Adelaide, Australia, 1998.

[44] “Data Driven Emergent Behavior Traffic Simulation”. Extracto del proyecto TFHRC/ART. http://www.irecall.com/agents.htm

[45] Chan, Joel. "Computer Traffic Simulation". Universidad de Toronto (Abril de 1997). University of Toronto Mathematics Network Home Page: http://www.math.toronto.edu/mathnet/plain/carcompet/simulation.html

[46] Jackson, Leroy. “A Component Approach to Object Model Standards for Simulation”. In Proceedings of Third International Simulation Technology and Training Conference, (SimTecT '98), Adelaide, Australia, 1998.

[47] “Ecuaciones de comportamiento del móvil”. Extracto del proyecto NADS National Advanced Driving Simulator. University of Iowa.

Referencias

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

131

[48] Yang, Qi. “A Simulation Laboratory for Evaluation of Dynamic Traffic Management Systems”. Thesis in the field of Transportation submitted to the Department of Civil and Environmental Engineering, Doctor of Philosophy, School of Engineering, June 1997 Massachusetts Institute of Technology.

[49] Scaletti, Carla; Craig, Alan. “Using Sound to Extract Meaning From Complex Data: Processing, Display, Interaction”. SPIE vol. 1459, Universidad de Illinois (1991).

[50] Scott, Angela. “Computer Generation Imaging”. MSE540 - Modeling and Simulation (1997).

[51] Regan, Michael; Triggs, Thomas; Wallace, Phillip. “Design of Cognitive Trainer for Novice Car Drivers”. In Proceedings of Fourth International Simulation Technology and Training Conference, (SimTecT '99), Melbourne, Australia, 1999.

[52] McGehee, Daniel. “Designing Driving Simulation Scenarios: A Human Factors Perspective”. In Workshop on Scenario and Traffic Generation for Driving Simulation, Orlando, Florida, 1996.

[53] Goss S.; Pearce A.; Heinze C. “Recognising User Intentions in a Virtual Environment”. In Proceedings of Fourth International Simulation Technology and Training Conference, (SimTecT '99), Melbourne, Australia, 1999

[54] Bernard, James; Gruening, James; Hoffmeister, Kurt. “Evaluation of Vehicle/Driver Performance Using Genetic Algorithms”. (1998) SAE paper No. 980227.

[55] Papelis, Yiannis. “Terrain Modeling on High Fidelity Ground Vehicle Simulators”. Fifth Annual Conference on AI Simulation and Planning in High–Autonomy System, Gainesville, Florida, pp. 48–54, 1994.

[56] Jackson, Leroy; Pratt, Shirley; Henderson, Dale. “A modular Terrain Component Interface For Computer Generated Forces”. In Proceedings of Fourth International Simulation Technology and Training Conference, (SimTecT '99), Melbourne, Australia, 1999

[57] Los Alamos National Laboratory. “Cellular Automaton Traffic Microsimulation”. http://transims.tsasa.lanl.gov.

[58] Herbing, Dirt; Treiber, Martin. “Microsimulation of Road Traffic”. University of Stuttgart. http://www.theo2.physik.uni-stuttgart.de/treiber/MicroApplet/

[59] Herbing, Dirt; Treiber, Martin. "Explanation of observed features o self-organization in traffic flow". Institute of Theoretical Physics. University of Stuttgart. 1999. Preprint cond-mat/9901239.

[60] “Paramics Modeller Guide”. Quadstone Ltd. http://www.paramics-online.com [61] Rickert, M.; Nagel, K. “Experiences with a simplified microsimulation for the

Dallas/Fort-Worth area”. 1997. paper nro. 97-03-027 Santa Fe Institute. [62] Paperback. “Concepts in vehicle dynamics and simulation”. SAE international. SP-1016.

1994. [63] MASSEY University Albany (computer Science) AI.

http://cs-alb-pc3.massey.ac.nz/notes/59102/notes/l26.html [64] Pursula, Matti “Simulation of Traffic Systems - An Overview” Journal of Geographic

Information and Decision Analysis, vol.3, no.1, pp. 1-8, 1999 [65] Franklin, Stan; Graesser, Art. “Is it an Agent, or just a Program?: A Taxonomy for

Autonomous Agents” Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag, 1996.

[66] Philips, Dwayne. “Searching for solutions with AI”. C/C++ Users Journal. 2000. [67] Foner, Leonard N. “What is an agent, anyway? a sociological case study”. Agents Memo

93-01, MIT Media Lab, 1993.

Referencias

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

132

[68] Maes, Pattie. "Modeling Adaptive Autonomous Agents", Journal of Artificial Life, Volume 1, Number 1/2, MIT Press, Fall 1993/Winter 1994.

[69] Milam, Ronald; Choa, Fred. “Recommended guidelines for the calibration and validation of traffic” Fehr & Peers Associates, Inc. http://www.fehrandpeers.com/publications/papers/traff_simulation_m.html

[70] “TRANSIMS: Transportation Analysis Simulation System Version: TRANSIMS 2.1” (Manual de Usuario) 15 June 2001.

[71] Sukthankar, Rahul. “Situation Awareness for Tactical Driving” Robotics Institute, Carnegie Mellon University, Pittsburgh, PA 15213, Tesis de doctorado en filosofía. 27 de Enero de 1997.

[72] Giret, Adriana. "Uso de la Orientación a Objetos para el diseño e implementación de Agentes". Tesis de Ingeniería Informática. Universidad Católica Nuestra Señora de la Asunción. Asunción, Paraguay, 1999.

[73] Meyer, Paul. “Probabilidad y aplicaciones estadísticas” Fondo Educativo Interamericano S.A. (1973).

[74] Beer, R. “A Dynamical Systems Perspective on Autonomous Agents”. Technical Report CES-92-11, Department of Computer Engineering and Science, Case Western Reserve University, 1992.

[75] Horswill, I. “Specialization of Perceptual Processes”. PhD thesis, AI Laboratory, MIT, 1993.

[76] Mataric, M. J. “Behavioral Synergy without Explicit Integration”. In: Special Issue of SIGART on Integrated Cognitive Architectures, Volume 2, Number 4, 1991.

[77] Maes, Pattie. “Situated Agents Can Have Goals”. In: Designing Autonomous Agents: Theory and Practice from Biology to Engineering and Back, MIT Press/Bradford Books, 1990.

[78] Deneubourg J. L., Theraulaz G. & Beckers R. “Swarm-Made Architectures”. In: Toward a Practice of Autonomous Systems. Proceedings of the First European Conference on Artificial Life, edited by F. J. Varela & P. Bourgine, MIT Press/Bradford Books, 1992.

[79] Drescher, G. L. “Made-Up Minds: A Constructivist Approach to Artificial Intelligence” MIT Press, 1991.

[80] Maes, Pattie; Kozierok R. “Learning Interface Agents”, Proceedings of AAAI-93, the Eleventh National Conference on Artificial Intelligence, MIT Press, 1993.

[81] Malone, T. W.; Fikes R. E.; Grant K. R.; Howard M. T. “Enterprise: A Market-like Task Scheduler for Distributed Computing Environments”, In: The Ecology of Computation, edited by B. Huberman, North-Holland, 1988.

[82] Holland, J. H. “The Optimal Allocation of Trials”. In: Adaption in Natural and Artificial Systems (Chapter 5), MIT Press/Bradford Books, 1992.

[83] Tyrrell, T. “Computational Mechanisms for Action Selection”. PhD Thesis, Centre for Cognitive Science, University of Edinburgh, 1993.

[84] Maes, Pattie. “Adaptive Action Selection”. Proceedings of the Thirteenth Annual Conference of the Cognitive Science Society, Lawrence Erlbaum Associates, 1991.

[85] Wilson, S. W. “The Animat Path to AI”. In: From Animals to Animats, Proceedings of the First International Conference on the Simulation of Adaptive Behavior, edited by Meyer J.-A. & Wilson S.W., MIT Press/Bradford Books, 1991.

[86] Sukthankar, Rahul; Baluja, Shumeet; Hancock, John. “Evolving an Intelligent Vehicle for Tactical Reasoning in Traffic”. Proceedings of the International Conference on Robotics and Automation, Vol. 1, April, 1997, pp. 519 - 524.

Referencias

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

133

[87] Sukthankar, Rahul; Baluja, Shumeet; Hancock, John; Pomerleau, Dean; Thorpe, Charles. “Adaptive Intelligent Vehicles Modules for Tactical Driving”. In Proceedings of AAAI-96, 1996.

[88] Sukthankar, Rahul; Pomerleau, Dean; Thorpe, Charles. “SHIVA: Simulated Highways for Intelligent Vehicle Algorithms”. The Robotics Institute, Carneige Mellon University, Pittsburgh, PA 15213.

[89] Donikian, Stéphane. “Driving Simulation in Realistic Urban Environments”. In Workshop on Scenario and Traffic Generation for Driving Simulation, Orlando, Florida, 1996.

[90] Fulton, Neale. “Specification of operational flight profiles and dynamics: a structured approach”. In Proceedings of Third International Simulation Technology and Training Conference, (SimTecT '98), Adelaide, Australia, 1998.

[91] Project MIDAS (Massachussets Interactive Driving and Acoustic Simulator). http://www.ecs.umass.edu/hpl/midas.html

[92] “IVIS: In-Vehicle Information Systems / Development & Demonstration Platform” Oak Ridge National Laboratory. http://avalon.epm.ornl.gov.

[93] Saeta Consultora. “Estudio de impacto de tráfico vehicular para la habilitación del futuro local del Hotel Sheraton en Asunción”, Mayo de 2001.

[94] Leitão, J. Miguel; Moreira, Alexandra; Santos, Jorge A.; Sousa, A. Augusto; Nunes Ferreira, F. “Evaluation of Driving Education Methods in a Driving Simulator” Graphics and Visualization Education Workshop (GVE '99), July 3-5 1999 in Coimbra, Portugal.

[95] Romero, Ariel. “Análisis y Estudio de Técnicas de Representación para la Simulación Microscópica: El caso del Tráfico Autónomo”. Tesis de Ingeniería Informática. Universidad Católica Nuestra Señora de la Asunción. Asunción, Paraguay, 2001.

Apéndices

134 Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

AAppéénnddiiccee II:: RReessuummeenn ddee llooss rreessuullttaaddooss oobbtteenniiddooss eenn uunnaa ssiimmuullaacciióónn ddee pprruueebbaa

5º Regla de Finagle:

“Los experimentos deben ser reproducibles: todos deben fallar de la misma manera”

Movil | Posición | Velocidad | Acel | Giro | PosTrans | SP | CarrAct | CarrSec | NodoAct | Maniobra Seleccionada | Enman

Tiempo 0.0 seg. ------------------------------------------------------------ Tiempo 0.2 seg. ------------------------------------------------------------ Tiempo 0.4 seg. ------------------------------------------------------------ Tiempo 0.6 seg. ------------------------------------------------------------ Tiempo 0.8 seg. ------------------------------------------------------------ Tiempo 1.0 seg. ------------------------------------------------------------ Tiempo 1.2 seg. ------------------------------------------------------------ Tiempo 1.4 seg. ------------------------------------------------------------ 0| 0| 848.00| 154| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 1.6 seg. ------------------------------------------------------------ 0| 175| 878.80| 154| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 1.8 seg. ------------------------------------------------------------ 0| 356| 909.60| 154| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 2.0 seg. ------------------------------------------------------------ 0| 544| 940.40| 154| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 2.2 seg. ------------------------------------------------------------ 0| 738| 971.20| 154| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 2.4 seg. ------------------------------------------------------------ 0| 938| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 2.6 seg. ------------------------------------------------------------ 0| 1138| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 2.8 seg. ------------------------------------------------------------ 0| 1338| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 3.0 seg. ------------------------------------------------------------ 0| 1538| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 3.2 seg. ------------------------------------------------------------ 0| 1738| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 3.4 seg. ------------------------------------------------------------ 0| 1938| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 3.6 seg. ------------------------------------------------------------ 0| 2138| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 3.8 seg. ------------------------------------------------------------ 1| 0| 800.00| 156| 0| 0| 1| 2| NULL | NULL | NULL |0 0| 2338| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 0| 607.00| 264| 0| 0| 0| 6| NULL | NULL | NULL |0 Tiempo 4.0 seg. ------------------------------------------------------------ 1| 166| 831.20| 156| 0| 0| 1| 2| NULL | NULL | NULL |0 0| 2538| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 131| 659.80| 264| 0| 0| 0| 6| NULL | NULL | NULL |0 Tiempo 4.2 seg. ------------------------------------------------------------ 1| 338| 862.40| 156| 0| 0| 1| 2| NULL | NULL | NULL |0 0| 2738| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 273| 712.60| 264| 0| 0| 0| 6| NULL | NULL | NULL |0 Tiempo 4.4 seg. ------------------------------------------------------------ 1| 516| 893.60| 156| 0| 0| 1| 2| NULL | NULL | NULL |0 3| 0| 883.00| 280| 0| 0| 1| 5| NULL | NULL | NULL |0 0| 2938| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 426| 765.40| 264| 0| 0| 0| 6| NULL | NULL | NULL |0 Tiempo 4.6 seg. ------------------------------------------------------------ 1| 700| 924.80| 156| 0| 0| 1| 2| NULL | NULL | NULL |0 3| 187| 939.00| 280| 0| 0| 1| 5| NULL | NULL | NULL |0 0| 3138| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 589| 818.20| 264| 0| 0| 0| 6| NULL | NULL | NULL |0 Tiempo 4.8 seg. ------------------------------------------------------------ 1| 891| 956.00| 156| 0| 0| 1| 2| NULL | NULL | NULL |0 3| 386| 995.00| 280| 0| 0| 1| 5| NULL | NULL | NULL |0 0| 3338| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 763| 871.00| 264| 0| 0| 0| 6| NULL | NULL | NULL |0 Tiempo 5.0 seg. ------------------------------------------------------------ 1| 1088| 987.20| 156| 0| 0| 1| 2| NULL | NULL | NULL |0 3| 596| 1051.00| 280| 0| 0| 1| 5| NULL | NULL | NULL |0 0| 3538| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 947| 923.80| 264| 0| 0| 0| 6| NULL | NULL | NULL |0 4| 0| 870.00| 226| 0| 0| 0| 6| NULL | NULL | NULL |0 Tiempo 5.2 seg. ------------------------------------------------------------ 1| 1291| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 3| 817| 1107.00| 280| 0| 0| 1| 5| NULL | NULL | NULL |0 0| 3738| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 1142| 976.60| 264| 0| 0| 0| 6| NULL | NULL | NULL |0 4| 183| 915.20| 226| 0| 0| 0| 6| NULL | NULL | NULL |0 Tiempo 5.4 seg. ------------------------------------------------------------ 1| 1494| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 3| 1049| 1163.00| 280| 0| 0| 1| 5| NULL | NULL | NULL |0 0| 3938| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 1347| 1029.40| 0| 0| 0| 0| 6| NULL | NULL | NULL |0 4| 375| 960.40| 226| 0| 0| 0| 6| NULL | NULL | NULL |0 Tiempo 5.6 seg. ------------------------------------------------------------

Apéndices

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

135

1| 1697| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 3| 1292| 1219.00| 280| 0| 0| 1| 5| NULL | NULL | NULL |0 0| 4138| 1002.00| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 1552| 1029.40| 0| 0| 0| 0| 6| NULL | NULL | NULL |0 4| 576| 1005.60| 0| 0| 0| 0| 6| NULL | NULL | NULL |0 Tiempo 5.8 seg. ------------------------------------------------------------ 1| 1900| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 3| 1547| 1275.00| 280| 0| 0| 1| 5| NULL | NULL | NULL |0 0| 4338| 1002.00| 272| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 1757| 1029.40| 0| 0| 0| 0| 6| NULL | NULL | NULL |0 4| 777| 1005.60| 263| 0| 0| 0| 6| NULL | NULL | NULL |0 Tiempo 6.0 seg. ------------------------------------------------------------ 1| 2103| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 3| 1813| 1331.00| 280| 0| 0| 1| 5| NULL | NULL | NULL |0 0| 4549| 1056.40| 272| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 1962| 1029.40| 0| 0| 0| 0| 6| NULL | NULL | NULL |0 4| 988| 1058.20| 263| 0| 0| 0| 6| NULL | NULL | NULL |0 Tiempo 6.2 seg. ------------------------------------------------------------ 1| 2306| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 0| 601.00| 196| 0| 0| 0| 2| NULL | NULL | NULL |0 3| 2090| 1387.00| 280| 0| 0| 1| 5| NULL | NULL | NULL |0 0| 4771| 1110.80| 272| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 2167| 1029.40| 0| 0| 0| 0| 6| NULL | NULL | NULL |0 4| 1210| 1110.80| 0| 0| 0| 0| 6| NULL | NULL | NULL |0 Tiempo 6.4 seg. ------------------------------------------------------------ 1| 2509| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 128| 640.20| 196| 0| 0| 0| 2| NULL | NULL | NULL |0 3| 2378| 1443.00| 0| 0| 0| 1| 5| NULL | NULL | NULL |0 0| 5004| 1165.20| 272| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 2372| 1029.40| 0| 0| 0| 0| 6| NULL | NULL | NULL |0 4| 1432| 1110.80| 0| 0| 0| 0| 6| NULL | NULL | NULL |0 Tiempo 6.6 seg. ------------------------------------------------------------ 1| 2712| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 263| 679.40| 196| 0| 0| 0| 2| NULL | NULL | NULL |0 3| 2666| 1443.00| 0| 0| 0| 1| 5| NULL | NULL | NULL |0 0| 5247| 1219.60| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 2577| 1029.40| 215| 0| 0| 0| 6| NULL | NULL | NULL |0 4| 1654| 1110.80| 0| 0| 0| 0| 6| NULL | NULL | NULL |0 Tiempo 6.8 seg. ------------------------------------------------------------ 1| 2915| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 406| 718.60| 196| 0| 0| 0| 2| NULL | NULL | NULL |0 3| 2954| 1443.00| 0| 0| 0| 1| 5| NULL | NULL | NULL |0 0| 5490| 1219.60| 0| 0| 0| 1| 6| NULL | NULL | ENT: 5, SAL: 3|1 2| 2791| 1072.40| 215| 0| 0| 0| 6| NULL | NULL | NULL |0 4| 1876| 1110.80| 0| 0| 0| 0| 6| NULL | NULL | NULL |1 Tiempo 7.0 seg. ------------------------------------------------------------ 1| 3118| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 557| 757.80| 196| 0| 0| 0| 2| NULL | NULL | NULL |0 3| 3242| 1443.00| 0| 0| 0| 1| 5| NULL | NULL | NULL |0 0| 5689| 1219.60| 0| -35| 0| 1| 6| NULL | NULL | ENT: 5, SAL: 3|1 2| 3014| 1115.40| 215| 0| 0| 0| 6| NULL | NULL | NULL |0 4| 2057| 1110.80| 0| -35| 0| 0| 6| NULL | NULL | NULL |1 Tiempo 7.2 seg. ------------------------------------------------------------ 1| 3321| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 716| 797.00| 196| 0| 0| 0| 2| NULL | NULL | NULL |0 3| 3530| 1443.00| 0| 0| 0| 1| 5| NULL | NULL | NULL |0 0| 5888| 1219.60| 0| -35| -139| 1| 6| 5| NULL | ENT: 5, SAL: 3|1 2| 3245| 1158.40| 215| 0| 0| 0| 6| NULL | NULL | NULL |0 4| 2238| 1110.80| 0| -35| -127| 0| 6| 5| NULL | NULL |1 Tiempo 7.4 seg. ------------------------------------------------------------ 1| 3524| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 883| 836.20| 196| 0| 0| 0| 2| NULL | NULL | NULL |0 0| 6087| 1219.60| 0| -5| 22| 1| 5| NULL | NULL | ENT: 5, SAL: 3|1 3| 3818| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | NULL |0 4| 2419| 1110.80| 0| -12| 46| 0| 5| NULL | NULL | NULL |1 2| 3485| 1201.40| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 7.6 seg. ------------------------------------------------------------ 1| 3727| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 1058| 875.40| 196| 0| 0| 0| 2| NULL | NULL | NULL |0 0| 6329| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 4106| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | NULL |0 4| 2636| 1110.80| 0| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 3725| 1201.40| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 7.8 seg. ------------------------------------------------------------ 1| 3930| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 1240| 914.60| 196| 0| 0| 0| 2| NULL | NULL | NULL |0 0| 6572| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 4394| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 2858| 1110.80| 158| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 3965| 1201.40| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 8.0 seg. ------------------------------------------------------------ 1| 4133| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 1430| 953.80| 196| 0| 0| 0| 2| NULL | NULL | NULL |0 0| 6815| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 4682| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 3086| 1142.40| 158| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 4205| 1201.40| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 8.2 seg. ------------------------------------------------------------ 1| 4336| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 1628| 993.00| 196| 0| 0| 0| 2| NULL | NULL | NULL |0 0| 7058| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 4970| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 3320| 1174.00| 158| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 4445| 1201.40| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 8.4 seg. ------------------------------------------------------------

Apéndices

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

136

1| 4539| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 1834| 1032.20| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 0| 7301| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 5258| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 3561| 1205.60| 158| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 4685| 1201.40| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 8.6 seg. ------------------------------------------------------------ 1| 4742| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 2040| 1032.20| 0| 0| 0| 0| 2| NULL | NULL | NULL |1 0| 7544| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 5546| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 3808| 1237.20| 158| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 4925| 1201.40| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 8.8 seg. ------------------------------------------------------------ 1| 4945| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 2209| 1032.20| 0| -35| 0| 0| 2| NULL | NULL | NULL |1 0| 7787| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 5834| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 4061| 1268.80| 158| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 5165| 1201.40| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 Tiempo 9.0 seg. ------------------------------------------------------------ 1| 5148| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 2378| 1032.20| 0| -35| -118| 0| 2| 1| NULL | NULL |1 0| 8030| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 6122| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 4321| 1300.40| 158| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 5405| 1201.40| 0| 0| 0| 1| 6| NULL | NULL | ENT: 5, SAL: 3|1 Tiempo 9.2 seg. ------------------------------------------------------------ 5| 2547| 1032.20| 0| -18| 64| 1| 1| NULL | NULL | NULL |1 1| 5351| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 0| 8273| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 6410| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 4587| 1332.00| 158| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 5601| 1201.40| 0| -35| 0| 1| 6| NULL | NULL | ENT: 5, SAL: 3|1 Tiempo 9.4 seg. ------------------------------------------------------------ 5| 2743| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 1| 5554| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 0| 8516| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 6698| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 4859| 1363.60| 0| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 5797| 1201.40| 0| -35| -137| 1| 6| 5| NULL | ENT: 5, SAL: 3|1 Tiempo 9.6 seg. ------------------------------------------------------------ 5| 2949| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 1| 5757| 1018.40| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 0| 8759| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 6986| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 5131| 1363.60| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 3|0 2| 5993| 1201.40| 0| 0| 0| 1| 6| NULL | NULL | ENT: 5, SAL: 3|0 Tiempo 9.8 seg. ------------------------------------------------------------ 5| 3155| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 1| 5960| 1018.40| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 9002| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 7274| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 5403| 1363.60| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 3|0 2| 6233| 1201.40| -139| 0| 0| 1| 6| NULL | NULL | ENT: 5, SAL: 3|0 Tiempo 10.0 seg. ------------------------------------------------------------ 5| 3361| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 1| 6160| 1003.00| -78| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 9245| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 7562| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 5675| 1363.60| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 3|0 2| 6467| 1173.60| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 Tiempo 10.2 seg. ------------------------------------------------------------ 5| 3567| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 1| 6357| 987.40| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 9488| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 7850| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 5947| 1363.60| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 3|0 2| 6696| 1145.80| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 Tiempo 10.4 seg. ------------------------------------------------------------ 5| 3773| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 6| 0| 879.00| 175| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 6551| 972.00| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 9731| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 8138| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 6219| 1363.60| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 3|0 2| 6919| 1118.00| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 Tiempo 10.6 seg. ------------------------------------------------------------ 5| 3979| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 6| 182| 914.00| 175| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 6742| 956.60| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 9974| 1219.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 3| 8426| 1443.00| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 6491| 1363.60| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 3|0 2| 7137| 1090.20| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 Tiempo 10.8 seg. ------------------------------------------------------------ 5| 4185| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 6| 371| 949.00| 175| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 6930| 941.20| -78| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 3| 8714| 1443.00| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 6763| 1363.60| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 3|0 2| 7349| 1062.40| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 0| 217| 1219.60| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 3|0 Tiempo 11.0 seg. ------------------------------------------------------------ 5| 4391| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0

Apéndices

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

137

6| 567| 984.00| 175| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 7115| 925.60| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 3| 9002| 1443.00| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 7035| 1363.60| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 3|0 2| 7555| 1034.60| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 0| 460| 1219.60| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 3|0 Tiempo 11.2 seg. ------------------------------------------------------------ 5| 4597| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 6| 770| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 7297| 910.20| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 3| 9290| 1443.00| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 7307| 1363.60| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 3|0 2| 7756| 1006.80| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 0| 703| 1219.60| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 3|0 Tiempo 11.4 seg. ------------------------------------------------------------ 5| 4803| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 6| 973| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 7475| 894.80| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 3| 9578| 1443.00| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 7579| 1363.60| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 3|0 2| 7951| 979.00| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 0| 946| 1219.60| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 3|0 Tiempo 11.6 seg. ------------------------------------------------------------ 5| 5009| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 6| 1176| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 7650| 879.40| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 189| 1219.60| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 3| 9866| 1443.00| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 4| 7851| 1363.60| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 3|0 7| 0| 1223.00| 231| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 8141| 951.20| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 Tiempo 11.8 seg. ------------------------------------------------------------ 5| 5215| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 6| 1379| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 7822| 864.00| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 432| 1219.60| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 4| 8123| 1363.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 7| 253| 1269.20| 231| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 8325| 923.40| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 3| 154| 1443.00| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 7|0 Tiempo 12.0 seg. ------------------------------------------------------------ 5| 5421| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 6| 1582| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 7991| 848.60| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 675| 1219.60| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 4| 8395| 1363.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 7| 516| 1315.40| 231| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 8504| 895.60| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 3| 442| 1443.00| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 7|0 Tiempo 12.2 seg. ------------------------------------------------------------ 5| 5627| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 6| 1785| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 8157| 833.20| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 918| 1219.60| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 4| 8667| 1363.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 7| 788| 1361.60| 231| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 8677| 867.80| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 3| 730| 1443.00| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 7|0 Tiempo 12.4 seg. ------------------------------------------------------------ 5| 5833| 1032.20| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 6| 1988| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 8320| 817.80| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 1161| 1219.60| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 4| 8939| 1363.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 7| 1069| 1407.80| 0| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 8844| 840.00| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 3| 18| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 Tiempo 12.6 seg. ------------------------------------------------------------ 5| 6039| 1032.20| -83| 0| 0| 1| 1| NULL | NULL | ENT: 2, SAL: 8|0 6| 2191| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 8480| 802.40| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 1404| 1219.60| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 4| 9211| 1363.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 7| 1350| 1407.80| 0| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 9006| 812.20| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 3| 306| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 Tiempo 12.8 seg. ------------------------------------------------------------ 5| 6242| 1015.60| -83| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 2394| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 8637| 787.00| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 1647| 1219.60| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 4| 9483| 1363.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 7| 1631| 1407.80| 0| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 9162| 784.40| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 3| 594| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 Tiempo 13.0 seg. ------------------------------------------------------------ 5| 6441| 999.00| -83| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 2597| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 8791| 771.60| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 1890| 1219.60| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 4| 9755| 1363.60| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 7| 1912| 1407.80| 0| 0| 0| 0| 5| NULL | NULL | NULL |0 2| 9313| 756.60| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 3| 882| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0

Apéndices

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

138

Tiempo 13.2 seg. ------------------------------------------------------------ 5| 6637| 982.40| -83| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 2800| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 8942| 756.20| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 2133| 1219.60| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 7| 2193| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | NULL |0 2| 9458| 728.80| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 3| 1170| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 4| 27| 1363.60| 163| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 3|0 Tiempo 13.4 seg. ------------------------------------------------------------ 5| 6830| 965.80| -83| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 3003| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 9090| 740.80| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 2376| 1219.60| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 7| 2474| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | NULL |0 2| 9598| 701.00| -139| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 3| 1458| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 4| 306| 1396.20| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 3|0 Tiempo 13.6 seg. ------------------------------------------------------------ 5| 7019| 949.20| -83| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 3206| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 9235| 725.40| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 2619| 1219.60| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 7| 2755| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | NULL |0 2| 9732| 673.20| 136| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 3| 1746| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 4| 585| 1396.20| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 3|0 Tiempo 13.8 seg. ------------------------------------------------------------ 5| 7205| 932.60| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 3409| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 9376| 710.00| -77| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 2862| 1219.60| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 7| 3036| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | NULL |0 2| 9872| 700.40| 136| 0| 0| 1| 6| NULL | NULL | ENT: 6, SAL: 8|0 3| 2034| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 4| 864| 1396.20| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 3|0 Tiempo 14.0 seg. ------------------------------------------------------------ 5| 7388| 916.20| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 3612| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 9514| 694.60| -553| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 3105| 1219.60| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 4| 143| 1396.20| 0| 0| 0| 0| 3| NULL | NULL | NULL |0 7| 3317| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | NULL |0 3| 2322| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 17| 727.60| 182| 0| 0| 1| NULL | NULL | 2| ENT: 6, SAL: 8|0 Tiempo 14.2 seg. ------------------------------------------------------------ 5| 7567| 899.80| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 3815| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 9630| 584.00| -553| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 3348| 1219.60| 0| 0| 0| 1| 3| NULL | NULL | NULL |1 4| 422| 1396.20| 0| 0| 0| 0| 3| NULL | NULL | NULL |0 7| 3598| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | NULL |0 3| 2610| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 169| 764.00| 182| 0| 0| 1| NULL | NULL | 2| ENT: 6, SAL: 8|0 Tiempo 14.4 seg. ------------------------------------------------------------ 5| 7743| 883.40| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 4018| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 9724| 473.40| -553| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 3547| 1219.60| 0| 35| 0| 1| 3| NULL | NULL | NULL |1 4| 701| 1396.20| 0| 0| 0| 0| 3| NULL | NULL | NULL |0 7| 3879| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | NULL |0 3| 2898| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 329| 800.40| 242| 0| 0| 1| NULL | NULL | 2| ENT: 6, SAL: 8|0 Tiempo 14.6 seg. ------------------------------------------------------------ 5| 7916| 867.00| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 4221| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 9796| 362.80| -553| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 0| 3746| 1219.60| 0| 35| 139| 1| 3| 4| NULL | NULL |1 4| 980| 1396.20| 0| 0| 0| 0| 3| NULL | NULL | NULL |0 7| 4160| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | NULL |0 3| 3186| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 498| 848.80| 242| 0| 0| 1| NULL | NULL | 2| ENT: 6, SAL: 8|0 Tiempo 14.8 seg. ------------------------------------------------------------ 5| 8086| 850.60| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 4424| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 9846| 252.20| 220| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 4| 1259| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 3945| 1219.60| 0| 5| -22| 1| 4| NULL | NULL | NULL |1 7| 4441| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 3| 3474| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 677| 897.20| 242| 0| 0| 1| NULL | NULL | 2| ENT: 6, SAL: 8|0 Tiempo 15.0 seg. ------------------------------------------------------------ 5| 8252| 834.20| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 4627| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 9905| 296.20| 220| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 4| 1538| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 4187| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 4722| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 3| 3762| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 866| 945.60| 242| 0| 0| 1| NULL | NULL | 2| ENT: 6, SAL: 8|0 Tiempo 15.2 seg. ------------------------------------------------------------ 5| 8415| 817.80| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 4830| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 1| 9973| 340.20| 220| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 4| 1817| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0

Apéndices

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

139

0| 4430| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 5003| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 3| 4050| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 64| 994.00| 242| 0| 0| 1| 8| NULL | NULL | NULL |0 Tiempo 15.4 seg. ------------------------------------------------------------ 5| 8575| 801.40| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 5033| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 4| 2096| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 4673| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 5284| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 3| 4338| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 272| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 49| 384.20| 220| 0| 0| 1| NULL | NULL | 2| ENT: 2, SAL: 8|0 Tiempo 15.6 seg. ------------------------------------------------------------ 5| 8732| 785.00| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 5236| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 4| 2375| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 4916| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 5565| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 3| 4626| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 480| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 134| 428.20| 220| 0| 0| 1| NULL | NULL | 2| ENT: 2, SAL: 8|0 Tiempo 15.8 seg. ------------------------------------------------------------ 5| 8885| 768.60| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 5439| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 4| 2654| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 5159| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 5846| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 3| 4914| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 688| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 228| 472.20| 220| 0| 0| 1| NULL | NULL | 2| ENT: 2, SAL: 8|0 Tiempo 16.0 seg. ------------------------------------------------------------ 5| 9035| 752.20| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 5642| 1019.00| 0| 0| 0| 0| 1| NULL | NULL | NULL |1 4| 2933| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 5402| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 6127| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 3| 5202| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 896| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 331| 516.20| 220| 0| 0| 1| NULL | NULL | 2| ENT: 2, SAL: 8|0 Tiempo 16.2 seg. ------------------------------------------------------------ 5| 9182| 735.80| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 5808| 1019.00| 0| 35| 0| 0| 1| NULL | NULL | NULL |1 4| 3212| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 5645| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 6408| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 3| 5490| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 1104| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 443| 560.20| 225| 0| 0| 1| NULL | NULL | 2| ENT: 2, SAL: 8|0 Tiempo 16.4 seg. ------------------------------------------------------------ 5| 9325| 719.40| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 5974| 1019.00| 0| 35| 116| 0| 1| 2| NULL | NULL |1 4| 3491| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 5888| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 6689| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 3| 5778| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 1312| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 564| 605.20| 241| 0| 0| 1| NULL | NULL | 2| ENT: 2, SAL: 8|0 Tiempo 16.6 seg. ------------------------------------------------------------ 5| 9465| 703.00| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 6140| 1019.00| 0| 19| -68| 1| 2| NULL | NULL | NULL |1 4| 3770| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 6131| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 6970| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 3| 6066| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 1520| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 694| 653.40| 267| 0| 0| 1| NULL | NULL | 2| ENT: 2, SAL: 8|0 Tiempo 16.8 seg. ------------------------------------------------------------ 5| 9602| 686.60| -82| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 6332| 1019.00| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 4| 4049| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 6374| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 7251| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 3| 6354| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 1728| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 835| 706.80| 267| 0| 0| 1| NULL | NULL | 2| ENT: 2, SAL: 8|0 Tiempo 17.0 seg. ------------------------------------------------------------ 5| 9736| 670.20| -950| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 6535| 1019.00| -91| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 4| 4328| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 6617| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 7532| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 3| 6642| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 1936| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 987| 760.20| 267| 0| 0| 1| NULL | NULL | 2| ENT: 2, SAL: 8|0 Tiempo 17.2 seg. ------------------------------------------------------------ 5| 9832| 480.20| -950| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 6735| 1000.80| -91| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 4| 4607| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 6860| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 7813| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 3| 6930| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 2144| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 149| 813.60| 267| 0| 0| 0| 8| NULL | NULL | NULL |0 Tiempo 17.4 seg. ------------------------------------------------------------

Apéndices

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

140

5| 9890| 290.20| -950| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 6931| 982.60| -91| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 4| 4886| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 7103| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 8094| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 3| 7218| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 2352| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 322| 867.00| 267| 0| 0| 0| 8| NULL | NULL | NULL |0 Tiempo 17.6 seg. ------------------------------------------------------------ 5| 9910| 100.20| -950| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 7123| 964.40| -91| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 4| 5165| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 7346| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 8375| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 8| 0| 1131.00| 187| 0| 0| 1| 6| NULL | NULL | NULL |0 3| 7506| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 2560| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 506| 920.40| 267| 0| 0| 0| 8| NULL | NULL | NULL |0 Tiempo 17.8 seg. ------------------------------------------------------------ 5| 9910| 0.00| 0| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 7312| 946.20| -91| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 4| 5444| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 7589| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 8656| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 8| 233| 1168.40| 187| 0| 0| 1| 6| NULL | NULL | NULL |0 3| 7794| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 2768| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 700| 973.80| 0| 0| 0| 0| 8| NULL | NULL | NULL |0 Tiempo 18.0 seg. ------------------------------------------------------------ 5| 9910| 0.00| 0| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 6| 7497| 928.00| -91| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 4| 5723| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 7832| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 8937| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 8| 474| 1205.80| 187| 0| 0| 1| 6| NULL | NULL | NULL |0 3| 8082| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 2976| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 894| 973.80| 218| 0| 0| 0| 8| NULL | NULL | NULL |0 Tiempo 18.2 seg. ------------------------------------------------------------ 5| 9910| 0.00| 0| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 0| 762.00| 219| 0| 0| 0| 1| NULL | NULL | NULL |0 6| 7678| 909.80| -91| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 4| 6002| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 8075| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 9218| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 8| 722| 1243.20| 187| 0| 0| 1| 6| NULL | NULL | NULL |0 3| 8370| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 3184| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 1097| 1017.40| 218| 0| 0| 0| 8| NULL | NULL | NULL |0 Tiempo 18.4 seg. ------------------------------------------------------------ 5| 9910| 0.00| 0| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 161| 805.80| 219| 0| 0| 0| 1| NULL | NULL | NULL |0 6| 7856| 891.60| -91| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 4| 6281| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 8318| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 9499| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 8| 978| 1280.60| 187| 0| 0| 1| 6| NULL | NULL | NULL |0 3| 8658| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 3392| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 1309| 1061.00| 218| 0| 0| 0| 8| NULL | NULL | NULL |0 Tiempo 18.6 seg. ------------------------------------------------------------ 5| 9910| 0.00| 0| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 330| 849.60| 219| 0| 0| 0| 1| NULL | NULL | NULL |0 6| 8030| 873.40| -90| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 4| 6560| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 8561| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 7| 9780| 1407.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 8| 1241| 1318.00| 187| 0| 0| 1| 6| NULL | NULL | NULL |0 3| 8946| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 3600| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 1529| 1104.60| 218| 0| 0| 0| 8| NULL | NULL | NULL |0 Tiempo 18.8 seg. ------------------------------------------------------------ 5| 9910| 0.00| 0| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 508| 893.40| 219| 0| 0| 0| 1| NULL | NULL | NULL |0 6| 8201| 855.40| -90| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 4| 6839| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 8804| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 1512| 1355.40| 187| 0| 0| 1| 6| NULL | NULL | NULL |0 3| 9234| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 3808| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 1758| 1148.20| 0| 0| 0| 0| 8| NULL | NULL | NULL |0 7| 61| 1407.80| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 7|0 Tiempo 19.0 seg. ------------------------------------------------------------ 5| 9910| 0.00| 0| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 695| 937.20| 219| 0| 0| 0| 1| NULL | NULL | NULL |0 6| 8368| 837.40| -90| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 4| 7118| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 9047| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 1790| 1392.80| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 3| 9522| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 4016| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 1987| 1148.20| 0| 0| 0| 0| 8| NULL | NULL | NULL |1 7| 342| 1407.80| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 7|0 Tiempo 19.2 seg. ------------------------------------------------------------ 5| 9910| 0.00| 0| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0

Apéndices

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

141

9| 891| 981.00| 219| 0| 0| 0| 1| NULL | NULL | NULL |0 6| 8531| 819.40| -90| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 4| 7397| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 9290| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 2068| 1392.80| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 3| 9810| 1443.00| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 2| 4224| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 2175| 1148.20| 0| -35| 0| 0| 8| NULL | NULL | NULL |1 7| 623| 1407.80| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 7|0 Tiempo 19.4 seg. ------------------------------------------------------------ 5| 9910| 0.00| 264| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 1095| 1024.80| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 6| 8691| 801.40| -90| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 10| 0| 731.00| 173| 0| 0| 0| 2| NULL | NULL | NULL |0 4| 7676| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 9533| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 11| 0| 854.00| 222| 0| 0| 1| 5| NULL | NULL | NULL |0 8| 2346| 1392.80| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 2| 4432| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 1| 2363| 1148.20| 0| -35| -131| 0| 8| 7| NULL | NULL |1 7| 904| 1407.80| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 7|0 Tiempo 19.6 seg. ------------------------------------------------------------ 5| 9920| 52.80| 264| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 1299| 1024.80| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 6| 8847| 783.40| -90| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 10| 153| 765.60| 173| 0| 0| 0| 2| NULL | NULL | NULL |0 4| 7955| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 0| 9776| 1219.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 11| 179| 898.40| 222| 0| 0| 1| 5| NULL | NULL | NULL |0 8| 2624| 1392.80| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 1| 2551| 1148.20| 0| -10| 38| 1| 7| NULL | NULL | NULL |1 7| 185| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 4640| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 Tiempo 19.8 seg. ------------------------------------------------------------ 5| 9941| 105.60| 264| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 1503| 1024.80| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 6| 9000| 765.40| -90| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 10| 313| 800.20| 173| 0| 0| 0| 2| NULL | NULL | NULL |0 4| 8234| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 11| 367| 942.80| 222| 0| 0| 1| 5| NULL | NULL | NULL |0 8| 2902| 1392.80| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 1| 2777| 1148.20| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 466| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 4848| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 Tiempo 20.0 seg. ------------------------------------------------------------ 5| 9972| 158.40| 264| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 1707| 1024.80| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 12| 0| 1024.00| 254| 0| 0| 0| 1| NULL | NULL | NULL |0 6| 9149| 747.40| -90| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 10| 479| 834.80| 173| 0| 0| 0| 2| NULL | NULL | NULL |0 4| 8513| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 11| 564| 987.20| 222| 0| 0| 1| 5| NULL | NULL | NULL |0 8| 3180| 1392.80| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 1| 3006| 1148.20| 204| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 747| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 5056| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 Tiempo 20.2 seg. ------------------------------------------------------------ 9| 1911| 1024.80| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 12| 214| 1074.80| 254| 0| 0| 0| 1| NULL | NULL | NULL |0 6| 9294| 729.40| -90| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 10| 652| 869.40| 173| 0| 0| 0| 2| NULL | NULL | NULL |0 4| 8792| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 11| 770| 1031.60| 222| 0| 0| 1| 5| NULL | NULL | NULL |0 8| 3458| 1392.80| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 1| 3243| 1189.00| 204| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 1028| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 5264| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 5| 14| 211.20| 264| 0| 0| 1| NULL | NULL | 2| ENT: 1, SAL: 3|0 Tiempo 20.4 seg. ------------------------------------------------------------ 9| 2115| 1024.80| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 12| 439| 1125.60| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 6| 9436| 711.40| -90| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 10| 832| 904.00| 173| 0| 0| 0| 2| NULL | NULL | NULL |0 4| 9071| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 11| 985| 1076.00| 222| 0| 0| 1| 5| NULL | NULL | NULL |0 8| 3736| 1392.80| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 1| 3488| 1229.80| 204| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 1309| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 5472| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 5| 66| 264.00| 264| 0| 0| 1| NULL | NULL | 2| ENT: 1, SAL: 3|0 Tiempo 20.6 seg. ------------------------------------------------------------ 9| 2319| 1024.80| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 12| 664| 1125.60| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 6| 9574| 693.40| 0| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 10| 1019| 938.60| 173| 0| 0| 0| 2| NULL | NULL | NULL |0 4| 9350| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 11| 1209| 1120.40| 222| 0| 0| 1| 5| NULL | NULL | NULL |0 8| 4014| 1392.80| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 1| 3742| 1270.60| 204| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 1590| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 5680| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 5| 129| 316.80| 264| 0| 0| 1| NULL | NULL | 2| ENT: 1, SAL: 3|0 Tiempo 20.8 seg. ------------------------------------------------------------ 9| 2523| 1024.80| 346| 0| 0| 1| 1| NULL | NULL | NULL |0 12| 889| 1125.60| 0| 0| 0| 0| 1| NULL | NULL | NULL |0

Apéndices

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

142

6| 9712| 693.40| 0| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 10| 1213| 973.20| 173| 0| 0| 0| 2| NULL | NULL | NULL |0 4| 9629| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 11| 1441| 1164.80| 222| 0| 0| 1| 5| NULL | NULL | NULL |0 8| 4292| 1392.80| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 1| 4004| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 1871| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 5888| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 5| 202| 369.60| 264| 0| 0| 1| NULL | NULL | 2| ENT: 1, SAL: 3|0 Tiempo 21.0 seg. ------------------------------------------------------------ 9| 2741| 1094.00| 346| 0| 0| 1| 1| NULL | NULL | NULL |0 12| 1114| 1125.60| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 6| 9850| 693.40| 0| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 10| 1414| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 4| 9908| 1396.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 11| 1682| 1209.20| 222| 0| 0| 1| 5| NULL | NULL | NULL |0 8| 4570| 1392.80| 0| 0| 0| 1| 6| NULL | NULL | ENT: 5, SAL: 3|1 1| 4266| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 2152| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 6096| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 5| 286| 422.40| 264| 0| 0| 1| NULL | NULL | 2| ENT: 1, SAL: 3|0 Tiempo 21.2 seg. ------------------------------------------------------------ 9| 2973| 1163.20| 346| 0| 0| 1| 1| NULL | NULL | NULL |0 12| 1339| 1125.60| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 6| 9988| 693.40| 0| 0| 0| 1| 2| NULL | NULL | ENT: 2, SAL: 4|0 10| 1615| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 11| 1932| 1253.60| 222| 0| 0| 1| 5| NULL | NULL | NULL |0 8| 4798| 1392.80| 0| -35| 0| 1| 6| NULL | NULL | ENT: 5, SAL: 3|1 1| 4528| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 2433| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 6304| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 5| 381| 475.20| 264| 0| 0| 1| NULL | NULL | 2| ENT: 1, SAL: 3|0 Tiempo 21.4 seg. ------------------------------------------------------------ 9| 3219| 1232.40| 346| 0| 0| 1| 1| NULL | NULL | NULL |0 12| 1564| 1125.60| 258| 0| 0| 0| 1| NULL | NULL | NULL |0 10| 1816| 1007.80| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 8| 5026| 1392.80| 0| -30| 141| 1| 5| 6| NULL | ENT: 5, SAL: 3|1 11| 2191| 1298.00| 222| 0| 0| 0| 5| NULL | NULL | NULL |0 1| 4790| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 2714| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 6512| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 5| 486| 528.00| 264| 0| 0| 1| NULL | NULL | 2| ENT: 1, SAL: 3|0 6| 126| 693.40| 253| 0| 0| 0| NULL | NULL | 2| ENT: 2, SAL: 4|0 Tiempo 21.6 seg. ------------------------------------------------------------ 9| 3479| 1301.60| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 12| 1799| 1177.20| 258| 0| 0| 0| 1| NULL | NULL | NULL |0 10| 2017| 1007.80| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 8| 5267| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 2459| 1342.40| 222| 0| 0| 0| 5| NULL | NULL | NULL |0 1| 5052| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 2995| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 6720| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 5| 602| 580.80| 264| 0| 0| 1| NULL | NULL | 2| ENT: 1, SAL: 3|0 6| 274| 744.00| 253| 0| 0| 0| NULL | NULL | 2| ENT: 2, SAL: 4|0 Tiempo 21.8 seg. ------------------------------------------------------------ 9| 3739| 1301.60| 0| 0| 0| 1| 1| NULL | NULL | NULL |1 12| 2044| 1228.80| 0| 0| 0| 0| 1| NULL | NULL | NULL |0 10| 2218| 1007.80| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 8| 5545| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 2736| 1386.80| 222| 0| 0| 0| 5| NULL | NULL | NULL |0 1| 5314| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 3276| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 6928| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 5| 728| 633.60| 264| 0| 0| 1| NULL | NULL | 2| ENT: 1, SAL: 3|0 6| 432| 794.60| 270| 0| 0| 0| NULL | NULL | 2| ENT: 2, SAL: 4|0 Tiempo 22.0 seg. ------------------------------------------------------------ 9| 3952| 1301.60| 0| 35| 0| 1| 1| NULL | NULL | NULL |1 12| 2289| 1228.80| 279| 0| 0| 0| 1| NULL | NULL | NULL |0 10| 2419| 1007.80| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 8| 5823| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 3022| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | NULL |0 1| 5576| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 3557| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 7136| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 5| 865| 686.40| 264| 0| 0| 1| NULL | NULL | 2| ENT: 1, SAL: 3|0 6| 601| 848.60| 270| 0| 0| 0| NULL | NULL | 2| ENT: 2, SAL: 4|0 Tiempo 22.2 seg. ------------------------------------------------------------ 9| 4165| 1301.60| 0| 35| 149| 1| 1| 2| NULL | NULL |1 12| 2545| 1284.60| 279| 0| 0| 0| 1| NULL | NULL | NULL |0 10| 2620| 1007.80| 0| 0| 0| 1| 2| NULL | NULL | NULL |0 5| 12| 739.20| 264| 0| 0| 1| 3| NULL | NULL | NULL |0 8| 6101| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 3308| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | NULL |0 1| 5838| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 3838| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 7344| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 6| 781| 902.60| 270| 0| 0| 1| NULL | NULL | 2| ENT: 2, SAL: 4|0 Tiempo 22.4 seg. ------------------------------------------------------------ 12| 2813| 1340.40| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 9| 4378| 1301.60| 0| 0| -2| 1| 2| NULL | NULL | NULL |0 10| 2821| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 170| 792.00| 264| 0| 0| 1| 3| NULL | NULL | NULL |0 8| 6379| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 3594| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | NULL |0 1| 6100| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0

Apéndices

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

143

7| 4119| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 7552| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 6| 972| 956.60| 270| 0| 0| 1| NULL | NULL | 2| ENT: 2, SAL: 4|0 Tiempo 22.6 seg. ------------------------------------------------------------ 12| 3081| 1340.40| 250| 0| 0| 1| 1| NULL | NULL | NULL |0 9| 4638| 1301.60| 0| 0| -2| 1| 2| NULL | NULL | NULL |0 10| 3022| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 338| 844.80| 264| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 174| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 6657| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 3880| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | NULL |0 1| 6362| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 4400| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 7760| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 Tiempo 22.8 seg. ------------------------------------------------------------ 12| 3359| 1390.40| 250| 0| 0| 1| 1| NULL | NULL | NULL |0 9| 4898| 1301.60| -127| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 3223| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 517| 897.60| 264| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 376| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 6935| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 4166| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | NULL |0 1| 6624| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 4681| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 7968| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 Tiempo 23.0 seg. ------------------------------------------------------------ 12| 3647| 1440.40| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 9| 5153| 1276.20| -127| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 3424| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 707| 950.40| 264| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 578| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 7213| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 4452| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 1| 6886| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 4962| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 8176| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 Tiempo 23.2 seg. ------------------------------------------------------------ 12| 3935| 1440.40| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 9| 5403| 1250.80| -126| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 3625| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 907| 1003.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 780| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 7491| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 4738| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 1| 7148| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 5243| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 8384| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 Tiempo 23.4 seg. ------------------------------------------------------------ 12| 4223| 1440.40| 0| 0| 0| 1| 1| NULL | NULL | NULL |0 9| 5648| 1225.60| -126| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 3826| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 1107| 1003.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 982| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 7769| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 5024| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 1| 7410| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 5524| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 8592| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 Tiempo 23.6 seg. ------------------------------------------------------------ 12| 4511| 1440.40| -153| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 5888| 1200.40| -126| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 4027| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 1307| 1003.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 1184| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 8047| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 5310| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 1| 7672| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 5805| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 8800| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 Tiempo 23.8 seg. ------------------------------------------------------------ 12| 4792| 1409.80| -153| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 6123| 1175.20| -126| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 4228| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 1507| 1003.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 1386| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 8325| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 5596| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 1| 7934| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 6086| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 9008| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 Tiempo 24.0 seg. ------------------------------------------------------------ 12| 5067| 1379.20| -153| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 6352| 1150.00| -126| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 4429| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 1707| 1003.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 1588| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 8603| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 5882| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 1| 8196| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 6367| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 9216| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 Tiempo 24.2 seg. ------------------------------------------------------------ 12| 5336| 1348.60| -152| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 6576| 1124.80| -126| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 4630| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0

Apéndices

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

144

5| 1907| 1003.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 1790| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 8881| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 6168| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 14| 0| 924.00| 243| 0| 0| 1| 6| NULL | NULL | NULL |0 1| 8458| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 6648| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 9424| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 Tiempo 24.4 seg. ------------------------------------------------------------ 12| 5599| 1318.20| -152| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 6795| 1099.60| -126| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 4831| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 2107| 1003.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 1992| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 9159| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 6454| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 14| 194| 972.60| 243| 0| 0| 1| 6| NULL | NULL | NULL |0 1| 8720| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 6929| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 9632| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 Tiempo 24.6 seg. ------------------------------------------------------------ 12| 5856| 1287.80| -152| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 7009| 1074.40| -126| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 5032| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 2307| 1003.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 2194| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 9437| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 6740| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 14| 398| 1021.20| 243| 0| 0| 1| 6| NULL | NULL | NULL |0 1| 8982| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 7210| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 2| 9840| 1042.40| 0| 0| 0| 1| 8| NULL | NULL | NULL |0 Tiempo 24.8 seg. ------------------------------------------------------------ 12| 6107| 1257.40| -152| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 7218| 1049.20| -126| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 5233| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 2507| 1003.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 2396| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 9715| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 7026| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 14| 611| 1069.80| 243| 0| 0| 1| 6| NULL | NULL | NULL |0 1| 9244| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 7491| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 Tiempo 25.0 seg. ------------------------------------------------------------ 12| 6352| 1227.00| -152| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 7422| 1024.00| -126| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 5434| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 2707| 1003.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 2598| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 8| 9993| 1392.80| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 3|0 11| 7312| 1431.20| 0| 0| 0| 0| 5| NULL | NULL | ENT: 5, SAL: 7|0 14| 834| 1118.40| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 1| 9506| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 7772| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 Tiempo 25.2 seg. ------------------------------------------------------------ 12| 6591| 1196.60| -152| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 7621| 998.80| -126| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 5635| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 2907| 1003.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 2800| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 11| 7598| 1431.20| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 14| 1057| 1118.40| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 1| 9768| 1311.40| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 7| 8053| 1407.80| 0| 0| 0| 0| 7| NULL | NULL | NULL |0 8| 271| 1392.80| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 3|0 Tiempo 25.4 seg. ------------------------------------------------------------ 12| 6824| 1166.20| -152| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 7815| 973.60| -125| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 5836| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 3107| 1003.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 3002| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 11| 7884| 1431.20| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 14| 1280| 1118.40| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 7| 8334| 1407.80| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 8| 549| 1392.80| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 3|0 Tiempo 25.6 seg. ------------------------------------------------------------ 12| 7051| 1135.80| -152| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 8004| 948.60| -125| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 6037| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 3307| 1003.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 6| 3204| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 11| 8170| 1431.20| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 14| 1503| 1118.40| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 7| 8615| 1407.80| 0| 0| 0| 1| 7| NULL | NULL | NULL |0 8| 827| 1392.80| 0| 0| 0| 1| NULL | NULL | 2| ENT: 5, SAL: 3|0 Tiempo 25.8 seg. ------------------------------------------------------------ 12| 7272| 1105.40| -152| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 8188| 923.60| -125| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 6238| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | NULL |0 5| 3507| 1003.20| 0| 0| 0| 1| 3| NULL | NULL | NULL |0 8| 105| 1392.80| 0| 0| 0| 0| 3| NULL | NULL | NULL |0 6| 3406| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 11| 8456| 1431.20| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 14| 1726| 1118.40| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 7| 8896| 1407.80| 0| 0| 0| 1| 7| NULL | NULL | NULL |0

Apéndices

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

145

Tiempo 26.0 seg. ------------------------------------------------------------ 12| 7487| 1075.00| -151| 0| 0| 1| 1| NULL | NULL | ENT: 1, SAL: 3|0 9| 8367| 898.60| -125| 0| -2| 1| 2| NULL | NULL | ENT: 2, SAL: 8|0 10| 6439| 1007.80| 0| 0| 0| 0| 2| NULL | NULL | ENT: 2, SAL: 4|0 5| 3707| 1003.20| 243| 0| 0| 1| 3| NULL | NULL | NULL |0 8| 383| 1392.80| 0| 0| 0| 0| 3| NULL | NULL | NULL |0 6| 3608| 1010.60| 0| 0| 0| 1| 4| NULL | NULL | NULL |0 11| 8742| 1431.20| 0| 0| 0| 1| 5| NULL | NULL | ENT: 5, SAL: 7|0 15| 0| 963.00| 252| 0| 0| 0| 5| NULL | NULL | NULL |0 14| 1949| 1118.40| 0| 0| 0| 1| 6| NULL | NULL | NULL |0 7| 9177| 1407.80| 0| 0| 0| 1| 7| NULL | NULL | NULL |0

Apéndices

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

146

AAppéénnddiiccee IIII:: TTaabbllaa ccoonn rreessuullttaaddooss ddee llaa ssiimmuullaacciióónn ddee rreennddiimmiieennttoo

Ley de Fett sobre el laboratorio:

“Nunca repita un experimento que ha tenido éxito” A continuación de presenta la tabla comparativa de resultados de simulaciones para medir el

rendimiento del simulador utilizando el EasyAgent.

Total de Móviles Generados

Promedio de Móviles en simultáneo en el sistema

Tiempo Transcurrido de Simulación (seg)

Tiempo Simulado (seg)

108 12 10,16 3600134 17 11,13 3600136 22 11,41 3600270 35 16,76 3600336 47 19,28 3600293 54 18,27 3600538 106 24,23 3600607 122 27,16 3600631 172 29,59 3600796 262 38,98 3600846 278 41,04 36001216 358 46,90 3600849 376 50,36 36001267 389 52,85 36001237 427 55,56 36001749 581 77,63 36001736 701 89,43 36001791 739 94,01 36002445 858 115,26 36002406 908 119,31 36002385 978 124,92 36002970 1197 155,93 36002973 1280 163,51 36003086 1313 167,13 36003648 1587 200,37 36003626 1596 202,30 36003743 1629 206,51 36004203 1873 233,81 36004205 1969 241,03 36004274 2009 245,50 36004548 2073 257,25 36004779 2181 269,46 36004949 2332 287,77 3600

Apéndices

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

147

5328 2380 295,14 36005307 2459 301,76 36005483 2551 310,62 36005942 2794 339,62 36005961 2811 342,55 36006024 2826 343,39 36006483 3063 370,30 36006421 3089 372,30 36007002 3341 399,13 36006988 3353 403,02 36007092 3384 406,15 36007427 3511 426,31 36007375 3619 431,66 36007422 3634 431,90 36007840 3841 457,04 36007888 3891 460,96 36007946 3894 463,84 3600

Abreviaturas

148 Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

Abreviaturas. ADC: Analogue-to-Digital Converter. AE: Arbitration Engine. AGP: Accelerated Graphics Port. AM: Activity Manager. AOI: Area Of Interest. API: Application Program Interface. BDI: Belief - Desire - Intention. BDC: Base de Datos del Conocimiento. C3I: Command, Control, Communication and Intelligence. CCH/N: Computer Controlled Hostiles and Neutrals. CDE: Critical Decision Engine. CG: Centro de Gravedad. CGA: Computer Generated Actor. CGF: Computer Generated Forces. CPU: Central Processor Unit. CRC: Cognitive Representation Component. DARPA: Defense Advanced Research Projects Agency. DES: Discrete Event Systems. DIS: Distributed Interactive Simulation. DTA: Dynamic Traffic Assignment. FOV: Field Of View. FSM: Finite State Machine. GBE: Generic Behavioral Environment. GLUT: OpenGL Utility Toolkit. GUI: Graphical User Interface. IDS: Iowa Driving Simulator. IDM: Intelligent Driver Model. HCSM: Hierarchical Concurrent State Machine. HLA: High Level Architecture. HMD: Head Mounted Display. HMM: Hidden Markov Models. HP: Hewlett Packard. IA: Inteligencia Artificial. IDM: Intelligent Driving Model. LaRC: Langley Research Center. LOD: Level Of Detail. LTDE: Long Term Decision Engine. LUS: Lane Use Sign. ModSAF: Modular Semi-Automated Forces. MOE: Measures of Effectiveness. MTDE: Medium Term Decision Engine. NADS: National Advanced Driving Simulator. NN: Neural Network. NTP: Network Time Protocol. OD: Origen-Destino.

Abreviaturas

Juan E. de Urraza - Utilización de Agentes Inteligentes dentro de un ámbito de Simulación Microscópica de Tráfico Autónomo

149

OO: Orientación a Objetos. PDU: Protocol Data Unit. PS: Portal Sign. RTI: Run Time Infrastructure. SAE: Society of Automotive Engineers. SCRAMNet: Shared Common RAM Network. SDL: Scenario Definition Language. SGI: Silicon Graphics Incorporated. STI: Systems Technology Incorporated. UTC: Urban Traffic Simulation. VMS: Variable Message Sign. VRED: Virtual Roadway Environment Database. VSLS: Variable Speed Limit Sign.