lane changing behavior in a multi-agent traffic...

16
Lane Changing Behavior in a Multi-agent Traffic Simulation Tiffany Hunt and David Nikaido Advisor: Christine Drennon Trinity Summer REU 2010 Final Report Abstract This paper examines the problem of traffic congestion at a microscopic level. We propose a way to understand traffic by building a simulation model that imitates human driver behavior. Our implementation has a heavy focus on unique driver characteristics and non-normative driver behavior. Many other simulations build driver behavior based on internalized decision making. We propose that adding unique driver characteristics that influence decision making will allow our simulation to produce traffic flow results that closely represent true human behavior.

Upload: truongthuy

Post on 07-May-2018

214 views

Category:

Documents


1 download

TRANSCRIPT

Lane Changing Behavior in a Multi-agent Traffic Simulation

Tiffany Hunt and David NikaidoAdvisor: Christine Drennon

Trinity Summer REU 2010Final Report

Abstract

This paper examines the problem of traffic congestion at a microscopic level. We propose a way to understand traffic by building a simulation model that imitates human driver behavior. Our implementation has a heavy focus on unique driver characteristics and non-normative driver behavior. Many other simulations build driver behavior based on internalized decision making. We propose that adding unique driver characteristics that influence decision making will allow our simulation to produce traffic flow results that closely represent true human behavior.

Multi-agent Behavior in a GIS Traffic Simulation 2

Introduction

If there is one thing that most human beings have in common it is the need to travel. Whether the destination is an office, a grocery store, a high school, or a relative's home, everyday people must step outside and greet the sun. However, in this day and age, it is not viable to rely only on our feet to meet the day's travel needs. That's why people depend on their vehicles instead. In American society, driving is becoming a necessity.

With so many drivers on the streets, traffic congestion can be a huge problem for a city, especially a large city like San Antonio. According to the Texas Transportation Institute, the average person spends 38 hours a year stuck in San Antonio traffic [1]. The cost of all that lost time adds up to nearly $621 million dollars! Finding a solution to traffic congestion can save the city a lot of money.

Solving the problem of congestion and lost time begins with understanding the causes. Implementing a multi-agent traffic simulation that accurately models human behavior can help us understand congestion better. Our goal for the Trinity University's 2010 Summer REU was to simulate a microscopic model of traffic in and try to understand how the average driver thinks and to compare human behavior with automated behavior.

Related Work

Modeling Traffic in a Multi-Agent System with Geographic Information Systems (GIS)

Following the inspiration of Trinity University's Summer 2009 REU, we sought to expand the research of Adrian Lopez-Mobilia, Laura Matos, Patricia Perez, and Joaquin Rodriguez [5]. Their goal was to simulate traffic in San Antonio, Texas using an intelligent multi-agent system. They did this by writing a program simulation in Java using the CASE framework developed by Mark Lewis' team [4]. By introducing Geographic Information Systems (GIS) into their project, they were able to import data from .rdm files to recreate maps that are also used in GIS viewers. The 2009 REU yielded excellent results for the traffic simulation team. They were able to successfully integrate GIS into a multi-agent simulation and run a full scale test with over 50,000 agents driving around the San Antonio area. They developed an environment, which includes the roads, traffic lights, stop signs, and other landmarks, that will be a strong foundation for the 2010 REU.

Figure 1. Visualization of GIS data imported into the CASE framework

Multi-agent Behavior in a GIS Traffic Simulation 3

A Behavioral Multi-Agent Model for Road Traffic Simulation

Most of our behavioral concepts for our traffic simulation came from the article “A Behavioral Multi-Agent Model for Road Traffic Simulation” by Arnaud Doniec, Rene Mandiau, Sylvain Piechowiak, and Stephanie Espie [2]. In this article they proposed a multi-agent behavior model, part of ArchiSim, the behavioral traffic model developed by the French National Institute for Transport and Safety Research (INRETS), to simulate traffic in an intersection by incorporating three main driving behaviors; Normative, Opportunistic and Anticipatory. They chose to implement these agent driver behaviors in order to project a more accurate and realistic simulation of human driving behavior. These will be discussed in further detail later on.

Visual Traffic Simulation

Visual Traffic Simulation (VISSIM) is a fully independent application containing simple traffic models and algorithms that can quickly and easily model simple urban road networks and produce intuitive visualizations of traffic flow. It contains signaled, non-signaled, vehicle actuated and synchronized junction types. It also supports saving and loading road data files.

This is an interesting framework for a traffic simulation model developed by Thomas Fotherby of Imperial College. Fotherby’s simulation currently displays only normative behavior; however it is one of the more advanced microscopic traffic simulations we have come across. Since his model already includes a user friendly GUI and flexible object oriented code, VISSIM is highly adaptable and could be a great opportunity for our project. With only a few cosmetic changes needed to prepare the visual aspect of the simulation, VISSIM allowed us to focus more on implementing driver agent behavior. Fotherby also wrote his code in a way that it could be easily expanded to incorporate more features such as new behavioral models, junction signaling algorithms, or features such as emergency vehicle tracking. He also suggested three different ways in which to extend his program; these include the expanding the car following model, adding new types of junctions, and developing ITS features.

Figure 2. Graphical representation of the VISSIM Editor (left) and the VISSIM Simulation (right)

Multi-agent Behavior in a GIS Traffic Simulation 4

From Java to Scala and Back

Our summer research team was to collaborate with Dr. Lewis’ team on implementing our simulation into CASE, a simulation framework. CASE was originally written for Java, but this past year has undergone some revisions and has been re-implemented for Scala. Our initial research plan was to translate the 2009 REU’s simulation from the Java framework to the new Scala framework.

Scala has many features that would have made transitioning from Java fairly simple. One is that Scala can use the Java libraries. The 2009 CASE framework had been restructured and re-implemented in Scala. The new framework that Lewis' team developed has also changed some basic structures that will allow the Scala implementation to be a bit cleaner. The way agents passed messages in the Java framework was complicated and brittle, but in the Scala framework messages are static, immutable, and require only a few lines of code. Another notable feature is the agent's ability to look around itself and communicate effectively.

Unfortunately, the translation task proved more difficult than anticipated. Attempting to translate the Java code into Scala has helped us understand the original implementation, but it also has shown us the vast amount of challenges that we'd have to overcome in order to get the simulation working. There were two particular challenges that led us to change our mind about using the Scala framework for our simulation. The first challenge involved the GUI (Graphical User Interface) and the importation of GIS files. An application was developed by the 2009 REU team that converted GIS map files into readable .rdm files. This application was important because it contained the information needed in order to properly read in an .rdm file to the simulation. It was also the only application that could properly display the information contained in a .rdm file. Without this application, we were only left with our guesses on how to read in a file, and that's a challenge since the file can only be read and deciphered in a particular order.

The second challenge had been time. According to our proposed time line, we were hoping to be working on implementing agent behavior by the fifth week. Because of the difficulty in converting the Java code to Scala, we were not able to dive at all into agent behavior, which we felt was the crux of our research. The traffic environment was not as important to us as agent behavior, and so far all we've been concerned with is enabling the environment in Scala. While it was possible for us to finish implementing the Scala simulation, we decided to change our focus to agent behavior instead. Therefore, we decided to skip the Java to Scala translation, and move ahead to implementing driver behavior. To do this, we chose VISSIM as an alternate traffic simulation framework.

Agent Behavior

This summer we wanted to start where the group from last year’s summer REU program left off. Though we decided to change our traffic simulation framework, our goals are still in line with the previous REU. They wanted to simulate traffic by creating driver agents that navigated the traffic system while modeling human behavior. To do this they wanted to implement the driver agent behaviors discussed in the article A Behavioral Multi-Agent Model for Road Traffic Simulation by Arnaud Doniec, Rene Mandiau, Sylvain Piechowiak, and Stephanie Espie. This article described three main driving behaviors; Normative, Opportunistic and Anticipatory. Last year the group was only able to implement normative behavior and simulate perfect agents. These agents stopped at red lights, accelerated at green lights and gave the right of way to other agents who had priority. This year we

Multi-agent Behavior in a GIS Traffic Simulation 5

expanded their traffic simulation to include not only normative behavior but also opportunistic behavior and driver characteristics. However, we did this by expanding Fotherby’s simulation model.

Specifically, we wanted to implement unique driver characteristics to model human behavior even further and to make for a more realistic simulation. These characteristics would decide for the driver how much they would be willing to violate the proposed Highway Code (the standard protocol for legal driving behavior in a given city).

Another aspect of implementing unique characteristics is we can also have drivers alter their behavior based on the perception of others. For now, this perception variable is called the risk factor, which can have a value of either risky or safe. In future implementations, the risk factor could be influenced by other perceived characteristics, such as whether a driver is texting or talking on their cell phone, driving under the influence, looking away to deal with a troublesome child, or simply not paying attention. In the same way that real humans respond to these kinds of behaviors, either by speeding up, slowing down, or making a quick turn, so can our driver agents do the same.

In total, there were three levels of human driver behavior we wanted to implement:1. Normative, opportunistic, and anticipatory behavior2. Unique individual characteristics3. Perception of other driver's characteristics

We were successful in implementing parts of each of the three levels. In the first level we were able to implement normative and opportunistic driver agent behavior. In the second level we gave each driver a two sets of characteristics, one that related to car movement, and another that related to perception. This included levels of risk and offensive and defensive driving behaviors. In the level of perception, we gave some drivers the ability to perceive other driver agents and choose whether to change their own behavior according to that perception.

Normative Behavior

Normative behavior (Fig. 3) shows agents that are “perfect”, they always follow the rules; they stop at stoplights and stop signs and accelerate at green lights. They react according to a priority which is evaluated within each driver agent. For example, if a driver agent is at a stop sign, it will check three things before moving on: 1) Am I the only car at this junction? 2) Is the cross street empty? 3) Am I turning right or going straight? If any of these three answers are false then the car will not be able to move ahead. It will need to further evaluate its status before it is given the priority to move. This behavior is based on perceptions of priorities which are understood through the Highway Code.

Normative behavior is already implemented in Fotherby's code. It is a very simple outline of driver behavior based on the “car following” model and a priority model. The priority model is used at each junction, where an agent determines whether it is allowed to cross an intersection based on its given priority. Rules that restrict it from moving are given by the junction model. For example, a simple signal junction (traffic light) allows cars to go if it is green, to slow down if it is yellow, and to stop if it is red. A car that is going straight or making a right turn has priority on green lights. A car making a left turn has priority if the light is green and there are no cars in the opposite lane. There is no risk involved in following normative behavior, but it is also least human-like since not all humans follow the rules.

Multi-agent Behavior in a GIS Traffic Simulation 6

Figure 3. Doniec describes normative behavior using the following example:

1) x and y are on the same road and no one turns, meaning that no conflict exists between x and y;

2) x arrives to the right of y and in absence of any signals (e.g., yield signs, stop signs or traffic lights), x has priority;

3) y arrives to the right of x and consequently the priority;

4 x and y are on the same road and both turn left, which, according to the Highway Code, means they both have the priority.

Multi-agent Behavior in a GIS Traffic Simulation 7

Opportunistic Behavior

Figure 4. An intersection with a Stop sign and the agents’ coordination choices

In real life, people drive opportunistically. Depending on the traffic situation they may choose to ignore the rules of the Highway Code in order to temporarily satisfy their own desires. To understand the rules, Doniec states that the following terms must be introduced:

- impatience which indicates the agent’s level of impatience (this level is activated when the agent is stopped for one interval longer than a certain time threshold, which differs from one agent to another).

- restarting which specifies whether or not the agent is in an acceleration phase after a period at a complete stop (this predicate remains true until the agent reaches a certain speed threshold).

For example, in Fig. 4, the vehicles y and y' have the priority because they do not have a stop sign. But if these two vehicles are stopped or are proceeding at very low speeds, agent x may decide to violate the Highway Code (normative behavior) and choose to give itself the priority (non-normative behavior) if two conditions are true: it is impatient (violation precondition) and it believes it can cross the intersection before y and y' (violation post condition).

Multi-agent Behavior in a GIS Traffic Simulation 8

Unique Driver Characteristics

Each driver is given unique characteristics in order to simulate real humans. If all drivers were autonomous and followed all of the rules to the T, then it could hardly simulate real world traffic flow. To counteract this problem, we would like to assign characteristics to each of our driver agents as well as a risk factor for each one. Each of these variables determine how the driver behaves on the road. For now, we have only allowed these factors to affect the car following and lane changing model, but in future implementations they could also affect junction behavior. These variables include top speed (added to the speed limit, so +3 in a lane that has a 30 mph speed limit would put the total top speed at 33), acceleration (measured in pixels), impatience (a variable used to determine how long a driver will wait behind another car before deciding to violate the Highway Code), and perception (which will be elaborated on in the next section).

There are three driver types in our simulation. Here is a chart with each type and an explanation of the variable characteristics. All measurements are relative only to the simulation and not to the real world (since time is measured in ticks and distance measured in pixels):

Type: Slow Medium FastTop speed: -5 to 0 -2 to +2 0 to +5Acceleration: 4 or 5 5 or 6 6 or 7Impatience: 5 to 15 10 to 20 15 to 25Perception: No Yes NoRisk factor: Risky or Safe Risky or Safe Risky or SafeColor: Blue Yellow Red

Perception

All levels of driver agents have a risk factor of either risky or safe. Only the medium driver types use perception, but all drivers have a risk factor (this is to keep the experiments simple – more complex perception rules may be implemented in the future). The algorithm for perception currently pertains only to lane changing behavior, and is most effective in a highway traffic situation.

Drivers use perception to evaluate the cars around them and determine if they are risky or safe. For example, if they see a risky car is nearby, then they will want to change their behavior in order to avoid that car. They see it as a threat, and therefore want to move away from it. This is only one way perception can be used and it is currently implemented. Other ways perception might be used, but have not been implemented yet, might relate to how drivers act at junctions or certain types of cars. Police cars, for example, have a great effect on driver behavior (especially on highways). If a car perceives a police vehicle, they will probably slow down and may even go below the speed limit in order to avoid being pulled over.

In order to keep this experiment simple, we’ve only implemented one perception rule. In the future we hope to implement more and create more realistic human driver behavior.

A Deeper Look into VISSIM

Multi-agent Behavior in a GIS Traffic Simulation 9

Since VISSIM already incorporates normative behavior, we extended the vehicle behavior model by including and implementing opportunistic behavior and driver characteristics. We also introduced the behavior of perception to the system. These characteristics will help determine the risk factor for each car that may be used to influence the decision-making process of other drivers.

VISSIM’s also includes a few models that instruct each driver agent on how to act. These include the car following model, the car pull-up model, the vehicle behavior model at give-way junctions, and the vehicle behavior model at signaled junctions, all of which are further described in Fotherby’s final report [3]. Our own models include the lane changing model and the perception model. For the purpose of this particular research, we have only implemented changes to lane changing behavior and not to junction behavior. Therefore, some of the listed ideas are labeled for future work.

Car following and lane changing model:

The car following model governs the driver agents’ speed. Driver agents will always try to go their top speed but adjust their speed accordingly if they come within 10 meters of another car. Once within 10 meters of another driver agent they must decelerate to match the other cars speed before coming within 1 meter distance of the other driver agent in front of them.

This is the most basic model that does not include any lane changing behavior. By adding lane changing behavior, we have given drivers a few other options before needing to slow down. Depending on the driver’s characteristics, these options can be different based on whether the car is moving faster or slower than another car, and the algorithm also takes impatience into account. The first option is to move to an outside lane which is only to be used when passing another car. If this lane is empty, and the lane changing car is driving faster than the car in front, then it will move to this lane. If this lane is blocked, then an impatience counter will start a countdown (impatience is a number between 5 and 25). This counter moves down every tick, and when it reaches zero the car will check to see if the inside lane is open and move there instead. If neither one of these options is available, than the car will slow down to match the speed of the car in front. One other thing to note is that a car will not change lanes if it can see a car up ahead that is moving slower than the car it is behind. In other words, it will stay in the lane with the faster car.

If the car is moving slow and it notices a car behind is catching up real fast, then the car may decide to change lanes in order to let the faster car pass. This happens only if a lane is available. If not, then the faster car will use its own lane changing algorithm to decide what to do next. The slower car will not move to an outside lane in order to let another car pass.

Perception model:

Of the three driver types, only medium types use the perception model. Currently there is a very simple model of perception, in that all drivers are assigned a value of either risky or safe. In the future, this value will be a percentage that affects how often it is perceived as one or the other. Also, the perception model is only used to affect lane changing and speed behavior. Each medium driver type can see the car in front and the nearest car on both of its sides. For each of these three cars, the driver can see their risky or safe values. This is how the driver perceives those cars. If all three cars are seen as safe then there is no behavioral change. However, if one of the three cars is risky, then the driver will change behavior based on their own risky or safe value. If the driver herself is risky, then she will speed up and accelerate faster to try and avoid the threat. If the driver is safe, then she will slow down and decelerate. The driver will also check the lanes beside it and move to an empty one to avoid the threat (risky will move to an outside lane, safe will move to an inside lane – impatience plays a role here as

Multi-agent Behavior in a GIS Traffic Simulation 10

well). The driver will stay in its altered state for 50 ticks, unless she changes lane, and then she’ll revert back to normal behavior.

Car pull-up model:

Driver agents use the car pull-up model when pulling up to an obstruction. An obstruction can be a stopped driver agent ahead, a give-way junction (yield sign), or a traffic light. When an obstruction is within view the driver agents should decelerate accordingly giving themselves enough time to come to a complete stop.

FUTURE WORK: Reaction time may play a role in the car pull-up model by limiting the distance at which a car begins to decelerate. Impatience could play a role here as well, as the time in seconds in which a car will follow the Highway Code while waiting at a junction (particularly a yield sign or a stop sign). If impatience runs out, then the driver will take advantage of its opportunistic behavior to violate the Highway Code and cross the junction, even if it doesn’t have the right of way.

Vehicle behavior at give-way junction:

Driver agents on the main road are given priority and travel normally according to the car following model. Driver agents pulling up to the junction that are not on the main route give priority to the driver agents on the main road. The driver agents checks for oncoming traffic on the main road before joining or crossing the main road to make sure that they will not be obstructing the driver agents traveling on the main road.

FUTURE WORK: VISSIM’s give-way junctions operate like yield signs. We would like to add stop signs as well, since they are not currently in the VISSIM model. Driver agents’ opportunistic behavior will also be displayed here. Doniec’s study has shown that driver agents with only normative behavior will wait at a stop sign infinitely if there is traffic along the main road [2]. The impatience variable may play a role here as well, in dealing with risk taking at intersections. The higher the impatience level, the more likely a driver agent is going to cross an intersection even if another driver agent is approaching on the main road.

Vehicle behavior model at signaled junctions:

The signal at a signaled junction relays three different messages to the driver agent: go on green, stop on red, and slow down on orange. These traffic light models are very simple and don’t give much leeway for a driver thinking of violating the rules. Currently, all drivers must follow the rules and they never error in doing so.

FUTURE WORK: This behavior is unrealistic, because drivers do not always slow down on yellow lights, and sometimes not even on red lights. Each driver in our model will have a small percentage of breaking these rules based on their unique characteristics. Impatience and overall risky behavior may be used to evaluate whether a driver will speed up at a yellow light or ignore the light completely (possibly resulting in a car crash).

Proposed Experiment Domain

After implementing human agent behavior, we will not know if our simulation is accurate until we test it. We can do this by comparing our altered behavioral model with Fotherby's original “car-following” model. Since Fotherby’s driver agents are all virtually the same, they can be our example

Multi-agent Behavior in a GIS Traffic Simulation 11

for automated agents (non-human behavior). Comparing the two behavioral models will enable us to explore the advantages and disadvantages of human behavior and automated behavior in traffic. Fotherby's framework is optimized for testing on a microscopic scale, measuring only a street. We will be able to setup the experiment domain by keeping a few independent variables the same, including the number of cars spawning on each lane, the speed limit, and the length of measured time. Then we will be able to compare results by changing between behavioral models. We will have two data sets, one that has no altered driver behavior (Fotherby's original implementation), one that has a altered driver behavior (our implementation of human driver behavior).

We won’t know the true effectiveness of our driver behavior by measuring just a single street. In the future we may want to continue testing on full scale maps of San Antonio. This can be done by utilizing the framework developed by the 2009 REU. Originally we would have liked to use their model for implementing human behavior in driver agents, but that proved too large of a task for this research project. In the future, a combination of their environmental implementation and our driver behavior models could be used to develop a macroscopic traffic model that involves an entire city's infrastructure. This way we can truly evaluate the effectiveness of our model in the real world and further investigate how to improve agent behavior models for the future.

Results

The testing environment was a single street that had either two, three, or four lanes on each side of the road. The simulation ran for 4000 ticks in each trial. We measured congestion by taking a ratio of cars in a single lane over the length of the road. The average speed is taken from every car on the screen. The ratio of lane changes between automated and human drivers is very noticeable. We will define this ratio as the chaos ratio.

2 Lanes 3 Lanes 4 Lanes

Behavior Type Auto Human Auto Human Auto Human

Avg. Speed (mph) 25 25 25 25 25 26

Avg. Congestion (%) 35 36 35 35 35 35

Lane Changes and Chaos Ratio

138 163 312 606 481 9181:1.18 1:1.94 1:1.91

Multi-agent Behavior in a GIS Traffic Simulation 12

Figure 5. Track used for the experiments. Top has automated behavior, bottom has human behavior.

Conclusions

The difference between average speed and congestion was almost nonexistent between the two behavior types. Both behaviors had the same efficiency, in that neither was faster or less congested than the other. The main difference however was in the chaos ratio. The number of lane changes performed by the human drivers was a result of impatience and perception. Because risky drivers were not content with going below their top speed, they maneuvered around every obstacle impeding their tracks. Watching the simulation reveals just how many lane changes a driver will make without ever hitting the brake pedal. From our own experience on the road, we would not say that this is a fluke in the code, but rather this is how some drivers really act. Therefore, we would hypothesize that the chaos ratio is a factor in the prevention of vehicular crashes. With less lane changes happening, there are fewer chances for drivers to make mistakes on the road that would lead to crashes. Looking further into the chaos ratio and finding standard measurement for chaos in any given road would reveal further insights into this

Multi-agent Behavior in a GIS Traffic Simulation 13

finding.The data that we pulled from this particular experiment did not prove as useful as we initially

thought. In future tests, we will change the testing domain to measure other variables that might prove more insightful. One of these might be the average time in which drivers spend on the track. This measurement could prove useful for determining the amount of time saved or lost when using automated behavior.

Future Work

We were successful in implementing normative and opportunistic behavior but due to time constraints, we were not able to implement anticipatory or junction behavior. Instead, we focused on driver characteristics and lane changing behavior. For future implementations of the simulation, we would like to add in both anticipatory and junction behavior. A possible algorithm for anticipatory behavior can be found in Appendix A.

We would also like to go further into driver characteristics and perception. Currently, perception affects only a single driver behavior rule. This was useful for experiments that examined the difference between human and automated behavior, but it is not realistic enough for a macroscopic model to simulate real traffic. Adding more perception rules, we believe, would enhance the realism of our human behavior models.

Another aspect of perception could relate to how the risk factor is determined. Since we want to model real world traffic as closely as possible, we could choose to implement only driver characteristics that can properly be quantified, such as age, gender, income, car model, family size, etc. Using social data obtained from Graphical Information Systems and other resources, we could properly identify some of these characteristics for a particular intersection and appropriately test it with these data sets. Before any of this can be implemented, however, we needed a mathematical function that includes all of these characteristics and outputs a variable that will accurately determine risky behavior. One idea for doing this is to map all of our data using linear equations, and then give a weight to each data member and add them all up to determine the risk factor, which is then applied as a simple percentage. This percentage could be the rate at which a driver agent is willing to violate the Highway Code, or it could determine the rate at which a driver can become impatient, or it could determine how many miles per hour the driver is willing to go over the speed limit. This would be the simplest way to implement these characteristics, but a more complex algorithm could be implemented later on as well.

Junction behavior is very complex and involves many rules and algorithms. Lane changing models were more feasible for us to program than junction models for the time constraints on this research project. With a junction behavior model implemented, we could allow for more complex opportunistic behaviors and anticipatory behaviors.

Our current simulation also doesn’t include different kinds of cars such as emergency vehicles, large vehicles, motorcycles, etc. Adding these in could create a more dynamic road network and add new kinds of driver behaviors.

Acknowledgements

Without the monetary support from the National Science Foundation, this research would not have been possible. Thank you Dr. Drennon for your guidance and support. Thank you Trinity University for hosting us for an entire ten weeks. Thank you to our fellow researchers for providing the moral and humor support for an entire summer. Thank you Becky and Rosie for your generosity during snack time.

Multi-agent Behavior in a GIS Traffic Simulation 14

Appendix A

Anticipatory Behavior

Driver agents exhibiting anticipatory behavior try to predict the future state of the system by anticipating the other agents’ actions. Implementing anticipatory behavior in the driver agents would be useful in reducing gridlock and/or preventing collisions depending on the traffic situation.

In his article, Doniec gives an example of driving agents without anticipatory implementation and another example of driver with anticipatory implementation. He goes on to explain that at step 2154 buses are approaching the intersection and both want to turn left. The one bus turns left and the next bus turns left, the length combined creates a gridlock. The same situation involving passenger vehicles rather than buses would not have created gridlock since the vehicles would have been able to drive around each other. The same situation is presented but this time the behavior of the bus is different because the agent is endowed with anticipatory abilities. At step 2175 bus 24 decides to enter the intersection. At step 2189 bus 23 has also reached the intersection. It constructs a simple mental representation of the situation involving bus 24 and itself. During this time, bus 24 continues on its trajectory, creating an anticipatory blocking relationship between 24 and 23. As a result, agent 23 chooses to not enter the intersection but rather to stop. Since agent 23 has decided to stop, agent 24 detects the nil speed of 23 and does not add any relation to its mental representation. Its anticipatory reasoning does not detect any gridlock; consequently it chooses to move.

Figure 6. Trucks approaching an intersection without anticipatory behavior

Multi-agent Behavior in a GIS Traffic Simulation 15

Figure 7. Trucks approaching an intersection with anticipatory behavior

Multi-agent Behavior in a GIS Traffic Simulation 16

References

[1] “Performance Measure Summary – San Antonio, TX.” 2009 Annual Urban Mobility Report. Texas Transportation Institute, 2009.

[2] Doniec, Arnaud, Rene Mandiau, Sylvain Piechowiak, and Stephane Espie. "A behavioral multi-agent model for road traffic simulation." Engineering Applications of Artificial Intelligence 21 (2008): 1443-1454.

[3] Fotherby, Thomas. “Visual Traffic Simulation.” Imperial College, 2002.

[4] Jensen, Philip, Ye Liu, Alejandro Lopez-Lago, Aaron Welch. “A Visual Approach for Modeling Agent Intelligence.” Trinity University, 2009.

[5] Lopez-Mobilia, Adrian, Laura Matos, Patricia Perez, and Joaquin Rodriguez. “Modeling Traffic in a Multi-Agent System with Geographic Information Systems (GIS).” Trinity University, 2009.