TRANSIMS traffic flow characteristics

TRANSIMS traffic flow characteristics

Abstract
Knowledge of fundamental traffic flow characteristics of traffic simulation models is an essential requirement when using these models for the planning, design, and operation of transportation systems. In this paper we discuss the following: a description of how features relevant to traffic flow are currently under implementation in the TRANSIMS microsimulation, a proposition for standardized traffic flow tests for traffic simulation models, and the results of these tests for two different versions of the TRANSIMS microsimulation.

arXiv:adap-org/9710003v1 21 Oct 1997
TRANSIMS traﬃc ﬂow characteristics
Kai Nagel †, (505) 665-0921 phone, (505) 982-0565 fax, kai@lanl.gov email
Paula Stretz †, (505) 665-6598 phone, (505) 665-7464 fax, stretz@lanl.gov em ail
Martin Pieck †, (505) 665-0086 phone, (505) 665-7464 fax, martin@tsasa.lanl.g ov email
Shannon Leckey†, (505) 665-3733 phone, (505) 665-7464 fax, shannon@tsasa.la nl.gov email
Rick Donnelly †,∗, (505) 665-3733 phone, (505) 665-7464 fax,
Rick.Donnelly@worldnet.att.net email
Christopher L. Barrett † (505) 665-0430 phone, (505) 665-7464 fax, barrett@tsasa.lan l.gov
email
† Los Alamos National Laboratory, MS 997, Los Alamos NM 87545, USA
∗ Parsons Brinckerhoﬀ, Inc., 5801 Osuna Road NE # 220, Albuquerqu e NM 87109, USA
PREPRINT October 26, 2018
Abstract
Knowledge of fundamental traﬃc ﬂow characteristics of traﬃ c simulation
models is an essential requirement when using these models f or the planning,
design, and operation of transportation systems. In this pa per we discuss the
following: a description of how features relevant to traﬃc ﬂ ow are currently
under implementation in the TRANSIMS microsimulation, a pr oposition for
standardized traﬃc ﬂow tests for traﬃc simulation models, a nd the results of
these tests for two diﬀerent versions of the TRANSIMS microsi mulation.
keywords: traﬃc simulation, traﬃc ﬂow, intersections

I. INTRODUCTION
One could probably reach agreement that the traﬃc ﬂow behavior o f traﬃc simulation mod-
els should be well documented. Yet, in practice, this turns out to be somewhat diﬃcult.
Many traﬃc simulation models are under continuous development, an d the traﬃc ﬂow dy-
namics documented in a certain publication has probably been reﬁned and extended until
the paper gets actually published.
It makes thus sense to agree on a certain set of tests for traﬃc ﬂ ow dynamics which should
always be run and documented together with any “real” results. In this paper, we propose
such a suite of traﬃc ﬂow measurements. We are well aware of the f act that some of
the results in this paper are arguably unreﬁned with respect to rea lity. Yet, as we stated
above, we are continuously working on improvements, and this public ation represents both
a snapshot of where we currently stand and an argument for a sta ndardized traﬃc ﬂow
test suite for simulation models. We hope that this publication will both open the way
for a constructive dialogue on which standardized traﬃc ﬂow tests should be run for traﬃc
simulation models, and which of the features of our traﬃc simulation m odels may need
improvement.
When designing a traﬃc microsimulation model, the ﬁrst idea might be to measure all as-
pects of human driving and put them in algorithmic form into the compu ter. Unfortunately,
such attempts cause many problems. The ﬁrst is a data collection pr oblem, because one
can certainly not measure “all” aspects of human driving and is thus f aced with the double
sided problem that the necessary data collection process is extrem ely costly and still selec-
tive. Second, what if the macroscopic ﬂow properties of such a mod el are clearly wrong,
for example producing an hourly ﬂow rate that is much to high or to low ? Since, in such a
modeling approach, one does not know the connection between the many parameters of the
model and the emergent properties (such as ﬂow), one is left to ra ndom trial and error.
For that reason, the TRANSIMS (TRansportation ANalysis and SIM ulation System [1])
microsimulation starts with a minimal approach. A minimal set of driving rules is used to
simulate traﬃc, and this set of rules is only extended when it becomes clear that a certain
important aspect of traﬃc ﬂow behavior cannot be included with the current rule set. Besides
the conceptual clarity, this also has the advantage that it is usually computationally fast –
minimal models have few rules and thus run fast on computers. This a rgument also makes
it clear that one wants to remain ﬂexible with respect to reﬁnements of the model: If certain
reﬁnements are unnecessary with respect to a certain question, one would want to switch
them oﬀ both for conceptual clarity and for computational speed .
The questions that TRANSIMS is currently designed for are transp ortation planning ques-
tions. The most important zeroth order result of a transportatio n microsimulation should
be the delays, since, once they occur, they dominate travel times, and also hind er discharge
of the transportation system, thus leading to grid-lock. Delays ar e caused by congestion,
and congestion is caused by demand being higher than capacity. This implies that the ﬁrst
thing the TRANSIMS traﬃc microsimulation has to get right are capac ity constraints (and
possibly their variance). Capacity constraints are caused by a var iety of eﬀects:
• Undisturbed roadways such as freeways have capacity constrain ts given by the maxi-

mum of the ﬂow-density diagram.
• Typical arterials have their capacity constraints given by traﬃc ligh ts.
• In the case of unprotected turning movements (yield, stop, ramp s, unprotected left,
etc.), the capacity constraints are given as a function of the traﬃ c on the “interfering
lanes”. For example, the number of vehicles making an unprotected left turn depends
on the oncoming traﬃc.
Building a simulation which can be adjusted against all these diagrams s eems a hopeless task
given the enormous amount of degrees of freedom. The TRANSIMS approach for that reason
has been to generate the correct behavior from a few much more basic parameters. The
correct behavior with respect to the above criteria can essentially be obtained by adjusting
two parameters: (i) The value of a certain asymmetric noise parame ter in the acceleration
determines maximum ﬂow on freeways and through traﬃc lights; (ii) t he value of the gap
acceptance determines ﬂow for unprotected movements.
The remainder of this paper will ﬁrst describe the algorithms TRANSI MS uses for the most
important traﬃc movements, and then describe the resulting ﬂow c haracteristics.
II. RULES
A. Single lane uni-directional traﬃc
Our traﬃc simulation is based on a cellular automata technique, i.e., a ro ad is composed
of cells, and each cell can either be empty, or occupied by exactly on e vehicle [2,3], see
Fig. 1 (a). Since movement has to be from one cell to another cell, ve locities have to be
integer numbers between 0 and vmax, where the unit of velocity is [cells per time-step]. It
turns out that reasonable values are [3,4]:
• length of a box = 1 /ρ jam = 7.5 m ( ρjam = density of vehicles in a jam).
• time step = 1 sec
• maximum velocity = 5 boxes per time step = 5 ·7. 5 m / sec = 135km/h ≈ 85mph
For other conditions, such as higher or lower speed limits, this can be adapted.
Note that this approach implies a coarse graining of the spatial and temporal resolution and
therefore of the velocities. A vehicle which has a speed of, say, 4 in t his model stands for a
vehicle which has a speed anywhere between 3 . 5 ·7. 5 meters/sec ≈ 95 km/h (59 mph) and
4. 49999 ·7. 5 meters/sec ≈ 121 km/h (75 mph).
Vehicles move only in one direction. For an arbitrary conﬁguration (v elocity and position),
one update of the traﬃc system consists of two steps: a velocity u pdate step consisting of
three consecutive rules, and a movement step according to the re sult of the velocity update.
The whole update is performed simultaneously for all vehicles. The co mplete conﬁguration
at time step t is stored and the conﬁguration at time step t + 1 is computed from that “old”

information. Computationally we calculate in time step t (with the three rules) the new
velocity of each car and write this newly calculated velocity in the same site without moving
the car (velocity update). After that we move all cars according t o their newly calculated
velocity (movement update).
1. (velocity update)
For all particles i simultaneously, do the following:
IF ( vi ≥ gapi )
vi :=
{ gapi − 1 with probability pnoise if possible 1
gapi else (close following/braking)
ELSE IF ( vi < v max )
vi :=
{ vi with probability pnoise
vi + 1 else (acceleration)
ELSE (i.e. ( vi = vmax AND vi < gap i )
vi :=
{ vmax − 1 with probability pnoise
vmax else (free driving)
ENDIF
2. (movement update)
Move all particles i to xi(t + 1) = xi(t) + vi.
The index i denotes the position (an integer number) of a vehicle, v (i ) its current velocity,
v max its maximum speed, gap(i ) the number of empty cells ahead, and pnoise is a random-
ization parameter.
The ﬁrst velocity rule represents noisy car following or braking. If t he vehicle ahead is
too close, the vehicle itself attempts to adjusts its velocity such th at it would, in the next
time-step, reach a position just behind where the vehicle ahead is at the moment. Yet, with
probability pnoise, the vehicle is a bit slower than this.
The second velocity rule represents noisy acceleration. Essentially , the acceleration is linear
(i.e. independent from current speed), but with probability pnoise, no acceleration happens in
the current time step (maybe as a result of switching gears etc.). I nstead of an acceleration
sequence of 0 → 1 → 2 → 3 → . . . , a possible acceleration sequence can now be 0 → 0 →
1 → 2 → 2 → 2 → 3 → . . . .
The last velocity rule represents free driving. Instead of remaining always at the same
speed, such vehicles ﬂuctuate between vmax (with probability 1 − pnoise) and vmax − 1 (with
probability pnoise). Note that a vehicle which is set to vmax− 1 will go through the acceleration
step next time, thus in the next time step either staying at vmax − 1 with probability pnoise
or getting back to vmax. Note that the resulting average speed of a freely driving vehicle is
thus vmax − pnoise.
This microsimulation is also fairly well understood from a theoretical p erspective; see [5,6]
for more information.

B. Lane changing for passing
For multi-lane traﬃc, the model consists of parallel single lane models with additional rules
for lane changing. Here we describe the two lane model which can be m odiﬁed to any kind
of multi lane model. Lane changing is modeled by an additional update s tep, which is added
before the velocity update. The new sequence of steps is present ed below. Steps two and
three are the same in the single lane model and they are executed se parately for each lane.
1. Lane changing decision
2. Velocity update
3. Vehicle movement
According to this lane changing rule set the vehicles are only moving sid eways during the
lane changing step; forwards movement is done in the vehicle moveme nt step. One should,
though, look at the combined eﬀect of the lane changing and the mov ement, and then
vehicles will usually have moved sideways and forwards. The decision to change lane is
implemented as strictly parallel update, i.e. each vehicle is making its de cision based upon
the conﬁguration at the beginning of the update.
• Lane changing decision for passing
– IF neighboring position xo(i) in other lane is vacant
∗ THEN Calculate:
· gap(i ) Gap Forward in Current Lane,
· gapo(i ) Gap Forward in Other Lane,
· gapb(i ) Gap Backward in Other Lane,
· IF ( gap(i ) < v (i ) AND gapo(i ) > gap (i) )
− THEN weight1 = 1
− ELSE weight1 = 0
· weight2 = v(i) − gapf (i)
· weight3 = vmax(i) − gapb(i).
∗ IF ( weight1 > weight 2 ) AND ( weight1 > weight 3 )2
· THEN mark vehicle for lane change 3
2Weights are used because of extensibility towards “lane cha nging for plan following”. See below.
3In the current version, the lane change is actually still rej ected with a probability of 0.01 even
when all the rules are fulﬁlled. This is in order to break the f ollowing artifact or variations of
it: Assume one lane is completely occupied and one is complet ely empty. The above rule set will
result in these vehicles just changing back and forth betwee n the lanes—the vehicles will never get
smeared out across the lanes. See Ref. [7] for more details.

The rules are working in the following way (see Fig. 1 (b)): First we look at the neighboring
position in the target lane. If this cell is vacant, we calculate the gap forward in the current
lane (gap), the gap forward in the target lane ( gapo), and the gap backward in the target lane
(gapb). With these results we calculate the weight1 to weight3 described above. Finally if
the weight comparisons render true the car will change to the new la ne. After executing the
lane changing decision we calculate the new velocity for all cars and mo ve them according
to this velocity.
For three or more lanes, a simultaneous implementation of the lane ch anging decision can
lead to collisions. For example, in a three-lane road two vehicles on the left and right lane
could decide to go to the same spot in the middle lane. From an algorithm ic point of view,
this is possible because the lane changing decision is based on the conﬁ guration on time t;
but it is also an entirely realistic situation. 4 To avoid collision we only allow lane changes
in a certain direction in each time step:
• IF the time step is even
THEN start procedure lane changing decision to the left for cars on the middle and
then on the right lane
• IF the time step is odd
THEN start procedure lane changing decision to the right side for cars on the middle
and then on the left lane
Thus, left lane changes occur only on even time steps, right lane cha nges occur only on odd
time steps. This behavior is collision free.
C. Lane changing for plan following
Vehicles in TRANSIMS follow route plans, i.e. they know ahead of time th e sequence of
links they intend to follow. This means that, when they approach an in tersection, they need
to get into the correct lanes in order to make the intended turn. Fo r example, a vehicle
which intends, according to its route plan, to make a left turn at the next intersection needs
to get into one of the lanes which actually allow a left turn.
This is achieved in TRANSIMS by supplementing the basic lane changing r ules with a bias
towards the intended lanes. This bias increases with increasing urge ncy, i.e. with decreasing
distance to the intersection. Technically, this is achieved by adding a nother weight to the
acceptance conditions for lane changing:
• IF (weight1 + weight4 > weight 2) AND ( weight1 + weight4 > weight 3)
THEN change lane
4In a deeper sense, the problem is caused by the fact that the un derlying decision making dynamics
has a time scale which is smaller than the time resolution of t he simulation. The simulation thus
must resolve the conﬂict by other means.

weight4 is calculated according to
weight4 = max
[
d∗ − d
vmax
, 0
]
for lane changes in the desired direction as long as the vehicle is not in o ne of the correct
lanes, cf. Fig. 1 (c). d is the remaining distance to the intersection, d∗ is a parameter;
both are given in the unit of “cells”. d∗ is currently set to 70 cells, i.e. approx. 500 m
or 1/3 of a mile, throughout the simulation. In consequence, weight4 increases from zero
to d∗/v max = 14 during the approach to the intersection. If weight4 = 0, then it does
not inﬂuence lane changing decision. weight4 = 1 has the same eﬀect as a slower vehicle
ahead on the same lane. Further increases of weight4 more and more override the security
criterions that the forward and the backward gap on the destinat ion lane need to be large
enough. weight4 > v max lets the vehicle make the lane change even if only the neighboring
cell on the destination lane is free.
D. Unprotected turning movements
A necessary element of traﬃc simulations are unprotected turning movements. By this we
mean that that for the movement the driver intends to make, some other lanes have priority.
Examples are stop signs, yield signs, on-ramps, unprotected left t urns.
The general modeling principle for this in TRANSIMS is based on a gap ac ceptance in the
interfering lanes, see Fig. 1 (d). Interfering lanes are the lanes wh ich have priority; for
example, for a stop-controlled left turn onto a major road this wou ld be all lanes coming
from the left plus the leftmost lane coming from the right. In order t o accept the turn, there
has to be a suﬃcient gap on each of these lanes.
Note that “gap divided by the velocity of the oncoming vehicle” is the o ncoming vehicle’s
time headway, which is the typical measure used in the Highway Capac ity Manual [8]. If
one wants a time headway on an interfering lane of at least 3 seconds , then a vehicle with
a velocity of 4 cells/second would have to be at least 12 cells away from the intersection.
The current TRANSIMS microsimulation uses a gap acceptance (gap between intersection
and nearest car to the intersection which is approaching) of 3 times the oncoming vehicle’s
velocity, i.e. when the gap on each interfering lane is larger than or eq ual to the ﬁrst vehicle
on that lane, the move is accepted. For example, if the oncoming veh icle has a speed of 3, at
least 9 empty cells have to be between the oncoming vehicle and the int ersection. A special
case is if the oncoming vehicle has the velocity zero, in which case no ga p is necessary. 5
5The condition for the “case study” microsimulation of TRANS IMS [9,10] was that a movement
was accepted if, for all interfering lanes, the gap was large r than vmax. That means that for fast
oncoming traﬃc the acceptance was higher than in the newer ve rsion, but for low speed oncoming
traﬃc the acceptance rate was lower—with the extreme case th at no turns were possible against
oncoming traﬃc of speed zero.

E. Signalized intersections
In TRANSIMS, we distinguish between signalized intersections and un signalized intersec-
tions because they are modeled diﬀerently in TRANSIMS. In signalized intersections, the
priorities are changing in time and regulated by signals. In unsignalized intersections, the
priorities are ﬁxed.
When a simulated vehicle approaches a signalized intersection, the algorithm ﬁrst decides if,
according to its current speed, it potentially wants to leave the link, i.e. its current speed (in
cells per update) is larger than or equal to the remaining number of c ells on the link. 6 If a
vehicle wants to leave the link, the algorithm checks the “traﬃc cont rol”, which determines
if the vehicle can leave the link. If it encounters a red light, it can not leave the link and no
further action is taken. If it encounters a protected (green arr ow) or caution (yellow) signal,
the vehicle is allowed to enter the intersection. If it encounters a pe rmitted signal (green, for
example permitted left turn against oncoming traﬃc), the vehicle ch ecks all interfering lanes
for the gap that is larger or equal to 3 times the oncoming vehicle’s ve locity (see Subsec. II D
above).
If the movement into the intersection is accepted, the vehicle is mov ed into an “intersection
queue”; there is one queue for each incoming lane. This queue models vehicle behavior
inside an intersection. The vehicle gets a “time stamp”, before which it is not allowed to
leave the intersection; this time stamp is representative for the du ration of the movement
through the intersection. The intersection queues have ﬁnite cap acity; once they are full, no
more vehicles are accepted and the vehicles start to queue up on th e link. This models the
ﬁnite vehicle storing capacity of an intersection.
Once a vehicle is ready to leave the intersection, it moves to the ﬁrst cell on the destination
link if available.7 The speed of the vehicle is not changed when it is in the intersection qu eue
so it exits on the destination link in the ﬁrst cell with the same velocity t hat it had when it
entered the queue.
Note that vehicles turning against interfering traﬃc make their dec ision to accept the turn
when they enter the intersection queue, not when they leave it. This can have the eﬀ ect
that a vehicle enters the intersection queue when there is no oncom ing traﬃc, but, because
of other vehicles ahead of it in the same queue, cannot make its turn immediately. Yet, since
the turn was already accepted, it will be executed as soon as all veh icles ahead in the same
queue have cleared the queue and a cell on the destination link is availa ble. The turn can
occur during oncoming traﬃc. So in some sense vehicles will go “throu gh” each other. Yet,
note that on average the result is still correct. The approach des cribed above will not let
more vehicles through the intersection than a gap acceptance calc ulated when leaving the
intersection queue. The above logic was chosen for simpliﬁcation pur poses since unsignalized
intersections (see below) do not have queues and thus need to make their acceptance decisions
when entering the intersection.
6Vehicles may accelerate or slow down before they actually re ach the intersection. See below.
7Algorithmically, it only “reserves” a cell. See below.

F. Unsignalized intersections
Unsignalized intersections in TRANSIMS have no internal queues, i.e. vehicles go right
through them. 8 Also, vehicles leaving an unsignalized intersection go down the destina tion
link as far as prescribed by their velocity, not just into the ﬁrst cell as in the signalized
intersections. Apart from these two diﬀerences, unsignalized inte rsections are similar to
signalized ones.
When a simulated vehicle approaches an unsignalized intersection, th e algorithm ﬁrst decides
if, according to its current speed, it potentially wants to leave the lin k, i.e. its current speed
(in cells per update) is larger than or equal to the remaining number o f sites on the link. If a
vehicle wants to leave the link, the algorithm checks the “traﬃc cont rol”, which determines
if the vehicle can leave the link. Currently occuring traﬃc controls ar e: no control, yield,
and stop.
If a “no control” is encountered, the vehicle is moved to its destinat ion cell without any
further checks. For example, if a vehicle has a velocity of 5 cells per u pdate and 2 more
cells to go on its link, then it attempts to go 3 cells into the destination lin k. If that cell is
already reserved (either by another “reservation” or by a real v ehicle), then the next closer
cell is attempted, etc., until the algorithm either ﬁnds an empty cell or returns that the
destination lane is full. “No control” is usually used for the major direc tions, i.e. for the
lanes which have priority.
If a “yield” is encountered, the vehicle checks the gap on all interfe ring lanes. According to
the same rules as above, on all interfering lanes the gap needs to be larger or equal three
times the ﬁrst vehicle’s speed on that lane. If the movement is accep ted, the destination cell
is selected according to the same rules as with the “no control” case .
If it encounters a “stop”, the vehicle is brought to a stop. Only whe n the vehicle has a
velocity of zero for at least one time step on the last cell of the link, is it allowed to continue.
If the result of the regular velocity update indeed accelerates the vehicle,9 then it attempts
to go through the intersection. On all interfering lanes the gap, ac cording to the same rules
as above, needs to be larger or equal to three times the ﬁrst vehic le’s speed on that lane. If
the movement is accepted, a vehicle coming from a stop sign will always go to the ﬁrst cell
on the destination link (if empty) and will have a velocity of one.
G. Parking locations
In the current TRANSIMS microsimulation, vehicular trips start and end at parking loca-
tions. Each link in the microsimulation, except for freeway ramps, fr eeway links, and some
8Again, technically the vehicles only reserve cells on the de stination links. The actual move
through the intersection happens later and can also be postp oned if after the velocity update the
vehicle actually does not make it to the intersection.
9I.e. there is a probability of 1 − pnoise that the vehicle will not accelerate in the given time step.

“virtual” links such as centroid connectors, has at least one parkin g location. Parking lo-
cations thus represent the aggregated parking options on that lin k. Parking locations have
rules about how vehicles enter and exit the simulation:
• Each vehicle in TRANSIMS has a complete route plan, together with a s tarting time.
At the starting time, the vehicle is added to a queue of vehicles that w ant to leave the
same parking location. When the vehicle is the ﬁrst one in the queue, it attempts to
enter the link. The acceptance logic is in spirit similar to the logic of the u nsignalized
intersections, i.e. vehicles check the available gap and make their dec ision based on
that. Parking accessory logic is not the focus of the current pape r, and since that logic
may change in TRANSIMS in the near future and we also expect no inﬂu ence on the
results presented here, we omit further technical details.
• A vehicle that has reached its destination parking location according to its plan will
leave the microsimulation. It is simply removed from the traﬃc.
H. Parallel logic
TRANSIMS is designed to run on parallel computers, such as coupled workstations, desktop
multi-processors, or supercomputers. The parallelization approa ch used for the microsimu-
lation is a geographical distribution, i.e. diﬀerent geographical part s of the simulated area
are computed on diﬀerent CPUs.
The current TRANSIMS microsimulation has these boundaries always in the middle of links.
This is done in order to keep the complexity of the parallel computing lo gic as far away as
possible from the complexity of the intersection logic.
Information needs to be exchanged at the boundaries several tim es per update in order to
keep the dynamics consistent. For example, if a vehicle changes lane s and end up close in
front of another one, that other one is probably forced to brake . Now, if the lane changing
vehicle is on one CPU and the following one on another, one needs to co mmunicate the lane
change. This will be called “Update boundaries” in the following section .
I. Complete scheduling
For a complete transportation microsimulation, we need to specify w hen movements are ac-
cepted, and also how conﬂicts are resolved. For example, vehicles s imultaneously attempting
to change lanes into the middle lane represent such a conﬂict. Anoth er conﬂict is two vehicles
from two diﬀerent links competing for the same site on the destinatio n link.
The complete update of the current TRANSIMS microsimulation is as f ollows. Assume that
the state at time t is the result of the last update. Let t1, t2, etc. be intermediate partial
time steps.
1. Vehicles which are ready to leave intersection queues from signaliz ed intersections
reserve cells on outgoing lanes. They only attempt to reserve the ﬁ rst cell on the link;

their velocity is the same as it was when they entered the intersectio n. When the cell
is occupied (either by another “reservation” or by a vehicle), then the vehicle cannot
leave the intersection. Note that there can be a conﬂict between d iﬀerent queues for
the same destination cell. The current solution in TRANSIMS is that qu eues are
served on a ﬁrst come ﬁrst served basis in some arbitrarily deﬁned w ay, i.e. a queue
which happens to be treated earlier in the microsimulation has a slightly higher chance
of unloading its vehicles. — Result: t1 information.
2. Vehicles change Lanes. Use information from time t1 to calculate situation at time t2.
3. Exit from Parking. Results in t3 information.
4. Exchange boundary information for parallel computing.
5. Non-signalized intersections reserve sites on target lanes. Not e that there can be a
conﬂict of two incoming links competing for the same destination cell. T he current
solution in TRANSIMS is that links are served on a ﬁrst come ﬁrst serv ed basis,
i.e. a link which happens to be treated earlier in the microsimulation has a slightly
higher chance of unloading its vehicles. Note that this conﬂict only ha ppens between
minor links. Major links never compete for the same outgoing link exce pt when there
is a network coding error; and for the competition between major a nd minor links,
the major link always wins because of the interfering lanes conditions .10 Result: t4
information.
6. Calculate speeds and do movements. If a vehicle scheduled for an intersection does
not go through the intersection as a result of the velocity update, the reservation is
cancelled. Vehicles which go through unsignalized intersections have p set to zero,
i.e. if it turns out that the result of the velocity update indeed brings them into the
intersection, they need to go to the site on the destination lane whic h was reserved
earlier. Result: t5 = t + 1 information.
7. Exchange boundary information and migrate vehicles for parallel computing.
III. ST ANDARDIZED FLOW TEST SUITE FOR SIMULA TION MODELS
In order to control the eﬀect of driving rules, TRANSIMS provides controlled tests for traﬃc
ﬂow behavior. These tests are simpliﬁed situations where elements o f the microsimulation
can be tested in isolation. This test suite uses the standard microsim ulation code in the same
way it is used for full-scale regional simulations, and it also uses the sa me input and output
facilities: The test network is currently deﬁned via a table in an oracle data base, in the same
format as the Dallas/Fort Worth network is kept. Input of vehicles is, following individual
vehicle’s plans, via parking locations, the same way vehicles enter reg ional simulations.
10Note that the situation slightly diﬀerent when the speed of th e vehicle on the major link is
zero—see below.

Output is collected on certain parts of the network on a second-by -second basis, the same
way it can be collected for regional microsimulations. The collected ou tput is then post-
processed to obtain the aggregated results presented in this pap er.
The test cases we look at in this paper are the following (see also Fig. 1 (e)):
• One-lane traﬃc, in order to see if car following behavior generates r easonable funda-
mental diagrams.
• Three-lane traﬃc, in order to see if the addition of passing lane chan ging behavior still
generates reasonable fundamental diagrams, and in order to look at lane usage.
• Stop sign, yield sign, and left turns against oncoming traﬃc, in order to see it the logic
for non-signalized intersections generates acceptable ﬂow rates .
• A signalized intersection, in order to see of we obtain reasonable ﬂow rates, and in
order to check lane changing behavior for plan following purposes.
A. Measured quantities
We look at three minute averages of the following quantities:
• Local Flow. Flow q is deﬁned as usual by:
q = N
T [vehicles/hour ]
N is the number of cars which pass a certain site at a time period T .
• Local Density. Density is in principle easily deﬁned, ρ = N/L , where N is the
number of vehicles on a piece of roadway of length L. Yet, given current sensoring
technology, this is not easy to achieve since one would need a sensor which counts,
say once a second, cars on a predeﬁned stretch of length L of the roadway. For that
reason, empirical papers sometimes resort to occupancy, which is the fraction of time
a given sensor has been occupied by a vehicle. Current TRANSIMS me asures density
according to its original deﬁnition, i.e., once a time step, we count the number of
vehicles on a stretch of roadway of L = 5 sites = 5 × 7. 5 m = 37 . 5 m. 11 We add these
counts for k = 180 measurement events and then divide the resulting number by L
and by k:
ρ = N
k ∗ L
11The “magical” number of L = 5 sites is equal to the maximum velocity of vmax = 5 sites/update.
This ensures that each vehicle is counted at least once.

The result can be scaled to convenient units, for example “vehicles p er km”.
Note that this way of computing density averages the counts over a length of 37.5 m,
which is longer than the usual sensor extensions. The eﬀect of this should be system-
atically studied.
• Local velocity. It is well known that one can measure velocity either analogous
to our ﬂow deﬁnition (local velocity) or analogous to our density deﬁ nition (space-
averaged velocity). Under non-stationary conditions, the measu rements give diﬀerent
results, since, for example, the ﬁrst deﬁnition never counts vehic les with velocity zero.
Local velocity is easier to measure in practice; the space-average d velocity is easier
to interpret since it is equal to the travel velocity and it is also the ve locity which
needs to be used in the fundamental relationship between ﬂow, den sity, and velocity,
q = ρ ·v. Since in a simulation model, both are similarly easy to measure, we meas ure
the more useful travel velocity. Once a time step, we sum up the ind ividual velocities
of all vehicles on a stretch of roadway of L = 5 sites = 5 × 7. 5 m = 37 . 5 m. We add
these sums for k = 180 measurement events and then divide the resulting number by
N and by k, where N is the same number as obtained during the density measurement
above:
v =
∑ v
k ∗ N
• Lane usage. Lane usage of a particular lane is the number of cars on this lane divide d
by the number of cars on all lanes. It can be computed as:
fi = ρi
∑ n
j=1 ρj ·n ,
where i is the lane we look at and n is the number of lanes.
B. T est networks
Essentially two test networks are used: a circle of 1 000 sites = 0.75 k m in various conﬁgura-
tions, and a simple signalized intersection. Most of the test are run o n the circle networks.
The circle can have one or two or three lanes. In all tests, the circle is slowly loaded with
traﬃc via a parking location at x = 1 sites. Velocity, ﬂow, and density are measured on
486 ≤ x ≤ 490, thus generating the fundamental diagrams for one-lane, tw o-lane, and
three-lane traﬃc. Since the circle gets slowly loaded, the complete f undamental diagram is
generated during one run.
For testing yield signs and stop signs, an incoming lane is added on the r ight side of traﬃc at
x = 501 (i.e. the ﬁrst cell for the incoming traﬃc is 501). The characte ristics of the incoming
traﬃc is measured on a measurement box on the last 5 sites of the inc oming lane. The
incoming lane is operated at maximum ﬂow, i.e. with as many vehicles as po ssible entering
at its beginning. The incoming vehicles are removed at x = 900 via a parking accessory.

The result of this measurement is typically a diagram showing the ﬂow o f incoming vehicles
on the y-axis versus the ﬂow on the circle on the x-axis.
For testing left turns against oncoming traﬃc, an opposing lane is ad ded so that it ends at
x = 500. The traﬃc control here is again a “yield” logic; the diﬀerence f rom before is that
vehicles only traverse the interfering traﬃc, they do not join it.
Last, a three-lane intersection approach is used. The left lane mak es a left turn, the middle
lane goes straight, the right lane makes a right turn. Incoming vehic les have plans about
their intended movement at the intersection and attempt to reach the corresponding lane.
The intersection has signals with 1 minute green phase and 1 minute re d phase. The typical
output from this run is the ﬂow of vehicles which go through the inter section, and the
number of vehicles which cannot make their intended turn because t hey did not reach their
lane.
The results are shown in Figs. 2 to 4. Note that the HCM has the same curves for stop sign
and for yield sign, whereas we obtain higher ﬂows through yield signs, as should be the case.
IV. SOME STUDY RESUL TS
Most of the results presented here were generated with an exper imental code. The disad-
vantage of an experimental code is that actual implementation in th e production version
may still introduce changes in the results due to small discrepancies . The advantage is that
turnover (compile times, complexity of code, etc.) is much higher tha n with a production
version. We used that advantage to test many diﬀerent rules. In t he following, we want to
present a small subsection of tests.
All results presented in this section refer to the situation of a 1-lan e minor street merging
into a 1-lane major street, with the intersection control being a yie ld sign. Fig. 5 (a)
repeats the result from above for convenience. Figs. 5 (b)–(c) s how the result of diﬀerent
average free speeds (e.g. result of speed limits) in the simulation (sa me speed limit for
both streets). A high average free speed of approx. 130 km/h ( ≈ 80 mph, generated by
vmax = 5), maybe a freeway merge, generates a ﬂow of approx. 2000 ve h/hour/lane in the
incoming lane when there is no traﬃc on the major road. From there, maximum incoming
ﬂow decreases continuously. Lower average free speeds of appr ox. 75 km/h (50 mph) and
50 km/h (30 mph) generate lower maximum incoming ﬂows and are gene rally closer to the
Highway Capacity Manual curve. Yet, it should also be clear from the se curves that the ﬂow
on the minor road as a function of ﬂow on the major road is also a func tion of the speed
limit and not only of the gap acceptance, which is constant in all three simulations.
Another series of experiments shows the eﬀect of diﬀerent accep tance logics. Fig. 5 (d)
shows, when compared to Fig. 5 (a), the diﬀerence between “acce pt when gap ≥ 3vback” vs.
“accept when gap > 3vback”. This seems like a negligible diﬀerence in the rules; yet, the
results are quite diﬀerent in the congested regime. Whereas in the ﬁ rst, quite many vehicles
are able to get into the congested major road, in the second, only f ew of them make it. The
diﬀerence is easiest explained by looking at a vehicle of speed zero on t he major road just in
front of the merge point, with space for a vehicle downstream of th e merge point. With the
ﬁrst rule, a vehicle at the yield sign will accept the move and move in fro nt of the vehicle

on the major road, in the second case, it will not. Both scenarios se em to be plausible to
us; only systematic measurements can probably resolve which one is better for a simulation
model.
A last series of experiments shows the eﬀect of diﬀerent values for the gap acceptance.
Figs. 5 (e) and (f) show “accept when gap > v back and gap > v max. Clearly, more vehicles
are accepted, leading to a higher ﬂow of turning vehicles as a functio n of the ﬂow on the
major road. Note that the ﬂow via the yield sign is never higher than 1 800 minus the ﬂow
on the major road. This reﬂects the fact that the major road can not have a higher ﬂow
than 1800 veh/h/lane (free speed approx 50 mph); traﬃc throug h the yield sign can thus at
most ﬁll the major road to capacity. This explains why the much weak er gap acceptances to
not produce even more diﬀerence in the regime where the major roa d is uncongested. The
situation is clearly diﬀerent for unprotected turns across instead of into traﬃc, as can be
seen for the left turns in the next section.
V. COMP ARISON TO CASE STUDY LOGIC
The gap acceptance logic presented here and used in the current T RANSIMS microsimula-
tion is diﬀerent from the logic used in the “Dallas/Fort Worth Case Stu dy” [9,10]. The logic
during that case study was: “Accept an unprotected movement if in all interfering lanes the
gap is larger than vmax = 5.” This means that at low ﬂow rates on the major road, more
turns were accepted, whereas at high ﬂow rates on the major roa d, less turns were accepted.
Fig. 6 compares the results for the current gap-acceptance logic and the one used in the case
study for the case where the major road is a 3-lane road. Note tha t the results for the turns
into other traﬃc are not that much diﬀerent whereas the result for th e turns across other
traﬃc yields dramatically higher ﬂows with the case study logic. This is d ue to the fact that
for turns into other traﬃc, there is a capacity constraint of the form that the j oint ﬂows
from the major and the incoming road cannot exceed capacity of th e major road. Such a
constraint obviously does not exist for turns across the major road.
VI. SUMMAR Y AND CONCLUSION
In transportation simulation models for larger scale questions such as planning, the ﬂow
characteristics of the traﬃc dynamics are in some sense more impor tant than the microscopic
driving dynamics of the vehicles itself. This becomes especially true sin ce a “complete”
representation of human driving is impossible anyway, both due to kn owledge constraints
and due to computational constraints. Yet, calibrating a traﬃc sim ulation model against
all types of desired behavior (for example against all HCM curves an d values mentioned in
this paper) seems a hopeless task given the high degrees of freedo m.
TRANSIMS thus attempts to generate plausible macroscopic behav ior from simpliﬁed mi-
croscopic rules. This paper described the more important aspects of these rules as currently
implemented or under implementation in TRANSIMS. Before we implemen t rules in the
TRANSIMS production version, we usually try to run systematic stu dies with more exper-

imental versions. The results of the traﬃc ﬂow behavior from that study were presented.
Also, we showed the eﬀects of some changes in the rules for the exa mple of a yield sign.
Finally, some comparisons were made between the logic currently und er implementation and
the logic used for the Dallas/Fort Worth case study.
One problem with microscopic approaches is that, in spite of all possib le diligence, subtle
diﬀerences between design and actual implementation can make a sig niﬁcant diﬀerence in
the macroscopic outcome. For that reason, this paper should also be seen as an argument
for a standardized traﬃc ﬂow test suite for simulation models. We pr opose that simulation
models, when used for studies, should ﬁrst run these tests to see how the macroscopic ﬂow
dynamics actually is. We think that the combination of results presen ted in Figs. 2 to 4
are a good test set, although extensions may be necessary in the f uture (e.g. merge lanes,
weaving, etc.). We will attempt to provide future TRANSIMS results also with updated
versions of the results of the traﬃc ﬂow tests.

REFERENCES
[1] TRANSIMS, TRansportation ANalysis and SIMulation System, Los Alamos National
Laboratory, Los Alamos, U.S.A. See http://www-transims.tsasa.lan l.gov.
[2] Kai Nagel. Freeway traﬃc, cellular automata, and some (self-or ganizing) criticality.
In R.A. de Groot and J. Nadrchal, editors, Physics Computing ’92 , page 419. World
Scientiﬁc, 1993.
[3] K. Nagel and M. Schreckenberg. A cellular automaton model for freeway traﬃc. J. Phys.
I France, 2:2221, 1992.
[4] C.L. Barrett, S. Eubank, K. Nagel, J. Riordan, and M. Wolinsky. I ssues in the repre-
sentation of traﬃc using multi-resolution cellular automata. Los Alam os Unclassiﬁed
Report 95-2658, Los Alamos National Laboratory, 1995.
[5] K. Nagel. Particle hopping models and traﬃc ﬂow theory. Phys. Rev. E , 53(5):4655,
1996.
[6] K. Nagel. Fluid-dynamical vs. particle hopping models for traﬃc ﬂo w. In D.E.Wolf,
M.Schreckenberg, and A.Bachem, editors, Traﬃc and granular ﬂow , page 41. World
Scientiﬁc, Singapore, 1996.
[7] M. Rickert, K. Nagel, M. Schreckenberg, and A. Latour. Two lan e traﬃc simulations
using cellular automata. Physica A, 231:534, 1996.
[8] Transportation Research Board. Highway Capacity Manual . Special Report No. 209.
National Research Council, Washington, D.C., 3rd edition, 1994.
[9] R.J. Beckman et al. TRANSIMS Dallas/Fort Worth case study repo rt. Technical report,
Los Alamos National Laboratory, TSA-Division, Los Alamos, NM 8754 5, 1997. To be
released.
[10] K. Nagel and C.L.Barrett. Using microsimulation feedback for tr ip adaptation for real-
istic traﬃc in Dallas. International Journal of Modern Physics C , 8(3):505–526, 1997.

FIGURES
1 5 2
gap
1 vehicle with velocity 1 cell per time-step (a)
3 2
forward gapbackward gap
gap
forward gap
gap
Situation I
Situation II
backward gap
(b)
Wrong Lane
Turn Lane
Weight 4
12 12120 1 1 1 1 1 2 131312 13 13 13 14
No Weight 4 added for lane changing
Weight 4 added for lane changing (c)
gap = 3 * velocity(oncoming vehicle) (d)
Locationx=1
Flow
Parking
Lane
Box
Opposing Lane
Measurement
Incoming
Parking
Accessory
x=501
x=490
x=486
x=900
(e)

FIG. 1. (a) Deﬁnition of gap and examples for one-lane update rules. Traﬃc is moving to th e
right. The leftmost vehicle accelerates to velocity 2 with p robability 0.8 and stays at velocity 1 with
probability 0.2. The middle vehicle slows down to velocity 1 with probability 0.8 and to velocity 0
with probability 0.2. The right most vehicle accelerates to velocity 3 with probability 0.8 and
stays at velocity 2 with probability 0.2. Velocities are in “ cells per time step”. All vehicles are
moved according to their velocities at a later phase of the up date. (b) Illustration of lane changing
rules. Traﬃc is moving to the right; only lane changes to the l eft are considered. Situation I: The
leftmost vehicle on the bottom lane will change to the left be cause (i) the forward gap on its own
lane, 1, is smaller than its velocity, 3; (ii) the forward gap in the other lane, 10, is larger than
the gap on its own lane, 1; (iii) the forward gap is large enoug h compared to its own velocity:
weight2 = v − gapf = 3 − 10 = − 7 < 1 = weight1; (iv) the backward gap is large enough:
weight3 = vmax − gapb = 5 − 6 = − 1 < 1 = weight1. Situation II: The second vehicle from the
right on the right lane will not accept a lane change because t he gap backwards on the target lane
is not suﬃcient. (c) Value of weight4 when in wrong lane during the approach to the intersection.
(d) Example of a left turn against oncoming traﬃc. The turn is acc epted because on all three
oncoming lanes, the gap is larger or equal to three times the ﬁ rst oncoming vehicle’s velocity. (e)
Test networks.

0 10 20 30 40 50 60 70 80 90 100
Density [v/km/lane]
Flow [v/hr/lane]
Fundamental Diagram for 1−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 5
0 500 1000 1500 2000 2500
Flow [veh/hr/lane]
Velocity [km/hr]
Flow − Velocity Diagram for 1−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 5
0 10 20 30 40 50 60 70 80 90 100
Density [veh/km/lane]
Velocity [km/hr]
Density − Velocity Diagram for 1−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 5
(a)
0 5 10 15 20 25
1200Flow T−Intersection [veh/hr/lane]
Time [min]
Time − Flow Diagram for traffic light controlled T−intersection
(b)
FIG. 2. (a) One-lane traﬃc: Flow vs. density, travel velocity vs. ﬂow, a nd travel velocity vs.
density. (b) Number of vehicles going through the intersection and numbe r of vehicles “oﬀ plan”
per green phase, re-scaled to hourly ﬂow rates per lane.

0 10 20 30 40 50 60 70 80 90 100
Density [v/km/lane]
Flow [v/hr/lane]
Fundamental Diagram for 3−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 5
0 500 1000 1500 2000 2500
Flow [veh/hr/lane]
Velocity [km/hr]
Flow − Velocity Diagram for 3−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 5
0 10 20 30 40 50 60 70 80 90 100
Density [veh/km/lane]
Velocity [km/hr]
Density − Velocity Diagram for 3−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 5
0 500 1000 1500 2000 2500
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Flow [veh/hr/lane]
Per Lane Usage [density in lane / density all lanes]
Lane Usage − Flow Diagram for 3−lane Circle simulation
Right and Middle Lanes
0 10 20 30 40 50 60 70 80 90 100
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Density [veh/km/lane]
Per Lane Usage [density in lane / density all lanes]
Lane Usage − Density Diagram for 3−lane Circle simulation
Right and Middle Lanes
FIG. 3. Three-lane circle: Flow vs. density, travel velocit y vs. ﬂow, travel velocity vs. density,
lane usage vs. ﬂow, and land usage vs. density. The asymmetry in the lane usage at low densities
is due to the fact that the parking locations start ﬁlling in v ehicles on the right lane, and they only
move to the left when traﬃc on the right lane becomes dense.

0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Stop Sign [veh/hr/lane]
Flow − Flow Diagram for 1−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 3
gap_back = 3 * Vel
−−− HCM
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Stop Sign [veh/hr/lane]
Flow − Flow Diagram for 2−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 3
gap_back = 3 * Vel
−−− HCM
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Yield Sign [veh/hr/lane]
Flow − Flow Diagram for 1−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 3
gap_back = 3 * Vel
−−− HCM
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Yield Sign [veh/hr/lane]
Flow − Flow Diagram for 2−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 3
gap_back = 3 * Vel
−−− HCM
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Left Turn [veh/hr/lane]
Flow − Flow Diagram for 1−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 3
gap_back = 3 * Vel
−− HCM
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Left Turn [veh/hr/lane]
Flow − Flow Diagram for 2−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 3
gap_back = 3 * Vel
−− HCM
FIG. 4. Flow through stop sign, yield sign, and unprotected l eft turn. Left column: one-lane
traﬃc on major road (circle). Right column: two-lane traﬃc o n major road (circle). Solid line:
Highway Capacity Manual [8]. Note that for “left turn across two lanes” (bottom right) the
interfering volume is the sum of both lanes, i.e. twice the va lue show on the x-axis.

0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Yield Sign [veh/hr/lane]
Flow − Flow Diagram for 1−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 3
gap_back > 3 * Vel
−−− HCM
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Yield Sign [veh/hr/lane]
Flow − Flow Diagram for 1−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 5
gap_back > 3 * Vel
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Yield Sign [veh/hr/lane]
Flow − Flow Diagram for 1−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 2
gap_back > 3 * Vel
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Yield Sign [veh/hr/lane]
Flow − Flow Diagram for 1−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 3
gap_back >= 3 * Vel
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Yield Sign [veh/hr/lane]
Flow − Flow Diagram for 1−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 3
gap_back > Vel
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Yield Sign [veh/hr/lane]
Flow − Flow Diagram for 1−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 3
gap_back > V_MAX
FIG. 5. Comparison between diﬀerent rules for the case of a 1-l ane minor road controlled by a
yield sign merging into a 1-lane major road. (a) Figure as shown earlier, i.e. “accept if gap > 3vback”
and vmax = 3. (b) – (c) Eﬀect of diﬀerent maximum velocities vmax = 5 and vmax = 2. (d) Eﬀect
of a slightly diﬀerent acceptance rule “accept if gap ≥ 3vback” ( vmax = 3). (e) – (f ) Eﬀect of
weaker gap acceptances “accept if gap > v back” and “accept if gap > v max” ( vmax = 3).

1000 1200 1400 1600 1800 2000 2200 2400
Flow Circle [veh/hr/lane]
Flow Stop Sign [veh/hr/lane]
Flow − Flow Diagram for 3−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 5
gap_back = 3 * Vel
1000 1200 1400 1600 1800 2000 2200 2400
Flow Circle [veh/hr/lane]
Flow Stop Sign [veh/hr/lane]
Flow − Flow Diagram (TRANSIMS) for 3−lane Circle simulation
1000 1200 1400 1600 1800 2000 2200 2400
Flow Circle [veh/hr/lane]
Flow Yield Sign [veh/hr/lane]
Flow − Flow Diagram for 3−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 5
gap_back = 3 * Vel
1000 1200 1400 1600 1800 2000 2200 2400
Flow Circle [veh/hr/lane]
Flow Yield Sign [veh/hr/lane]
Flow − Flow Diagram (TRANSIMS) for 3−lane Circle simulation
1000 1200 1400 1600 1800 2000 2200 2400
Flow Circle [veh/hr/lane]
Flow Left Turn [veh/hr/lane]
Flow − Flow Diagram for 3−lane Circle simulation
Circle = 1000
p_noise = 0.2
V_MAX = 5
gap_back = 3 * Vel
1000 1200 1400 1600 1800 2000 2200 2400
Flow Circle [veh/hr/lane]
Flow Left Turn [veh/hr/lane]
Flow − Flow Diagram (TRANSIMS) for 3−lane Circle simulation
FIG. 6. Comparison between current TRANSIMS microsimulati on gap acceptance logic and
the one used in the case study where the major road has three la nes. Flow through stop sign, yield
sign, and unprotected left turn into/across one-lane traﬃc on major road. Left column: current
TRANSIMS microsimulation. Right column: case study TRANSI MS microsimulation. Note that
the results for the turns into other traﬃc are not that much diﬀerent whereas the result for t he
turns across other traﬃc yields much higher ﬂows with the case study logic .

14 of 14
Movement
v=4v=2 v=3
Before
After v=2 v=2 v=5
Rules:
If gap > speed, speed = speed + 1.
If gap < speed, speed = gap. (No collisions)
Sometimes slow down for no reason.

13 of 14
Left Lane Change
v=3
Gap = 3
Gap Forward = 5
Gap Backward = 5
Desired Speed = 4
Current Speed = 3
Weight1 = 4 > 3 AND 5 > 3 = 1
Weight2 = 3 - 5 = -2
Weight3 = 5 - 5 = 0
Lane Change = (1 > -2) AND (1 > 0) = 1

12 of 14
Stop-After Movement
v=1
Link 3 Link 2
Link 1
v=2
v=5v=4
v=3 v=5 v=2

11 of 14
Stop--Before Movement
v=0
Link 3 Link 2
Link 1
v=3
v=5v=5
v=3 v=5 v=3

10 of 14
Link 4
Link 1
Link 2
Link 3

9 of 14
Signal - Phase 2
Link 3 Link 2
Link 1

8 of 14
Signal - Phase 1
Link 3 Link 2
Link 1

7 of 14
Rules for Trafﬁc Signal
Protected, Caution (green, yellow):
Proceed if intersection buffer not full.
Wait (red):
Move as far as possible on current link,
(gap > 0), then wait.
Permitted:
Proceed if gap on interfering lanes >= maxV,
intersection buffer not full.

6 of 14
Rules for Yield
Proceed if:
Gap on interfering lanes >= maxV.
Destination cell on destination link vacant.

5 of 14
Rules for Stop
Proceed if:
Stopped for at least 1 time step.
Gap on interfering lanes >= maxV.
Destination cell on destination link vacant.

4 of 14
Plan Following Rules
Lane Changes to follow plan ignored until vehicle is within the
consideration distance (70 cells from intersection).
Is current lane an acceptable lane for plan following?
Yes - bias vehicle to stay in current lane (Weight 4 = -1).
No - bias vehicle to change lanes based on distance from
intersection. (Weight 4 = MaxSpeed - (Distance From
Intersection - MaxSpeed) / 13)
Execute lane change rules modiﬁed to include plan following
weight (Weight 4).
Weight 1 = (Gap in current lane < desired speed AND Gap
Forward in new lane > Gap in current lane) + Weight4.

3 of 14
Lane Change Rules
Probability of 0.5 - skip lane change.
Cell at Current Position in New Lane Must be vacant.
Calculate Gap in Current Lane, Gap Forward in New Lane, Gap
Backward in New Lane.
Weight 1 = Gap in current lane < desired speed AND Gap
Forward in new lane > Gap in current lane. [1,0]
Weight 2 = Current speed - Gap Forward in new lane.
Weight 3 = Max Speed - Gap Backward.
Change Lanes if:
(Weight 1 > Weight 2) AND (Weight 1 > Weight 3).

2 of 14
Stop-After Movement
Link 2Link 3
Link 1
v=3
v=5
v=1v=3

1 of 14
Stop-Before Movement
Link 2Link 3
Link 1
v=0
v=4
v=5v=3

0 200 400 600 800 1000 1200 1400 1600 1800 2000
flow blue cars [v/hr]
flow red cars[v/hr]
Flow blue cars unprotected left turn vs flow red cars one_lane

0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Stop Sign [veh/hr/lane]
Flow − Flow Diagram for 3−lane Circle simulation
Circle = 1000
P_Brake = 0.2
V_MAX = 5
gap_back = 3 * Vel

0 1000 2000 3000 4000 5000 6000 7000
flow blue cars [v/hr]
flow red cars[v/hr]
Flow blue cars unprotected left turn vs flow red cars three_lane

/0/1
/0/0/0/0
/0/0/0/0
/0/0/0/0
/0/0/0/0
/1/1/1/1
/1/1/1/1
/1/1/1/1
/1/1/1/1
Parking
Accessory
CPN I CPN II
0 10 20 30 40 50 60 70 80 90 100
Density [v/km/lane]
Flow [v/hr/lane]
Fundamental Diagram for 3−lane Circle simulation
Circle = 1000
P_Brake = 0.2
V_MAX = 5

0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Stop Sign [veh/hr/lane]
Flow − Flow Diagram for 1−lane Circle simulation
Circle = 1000
P_Brake = 0.2
V_MAX = 3
gap_back = 3 * Vel

0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Yield Sign [veh/hr/lane]
Flow − Flow Diagram for 3−lane Circle simulation
Circle = 1000
P_Brake = 0.2
V_MAX = 5
gap_back = 3 * Vel

0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Yield Sign [veh/hr/lane]
Flow − Flow Diagram for 1−lane Circle simulation
Circle = 1000
P_Brake = 0.2
V_MAX = 3
gap_back = 3 * Vel

0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Yield Sign [veh/hr/lane]
Flow − Flow Diagram for 1−lane Circle simulation
Circle = 1000
P_Brake = 0.2
V_MAX = 3
gap_back = 2 * Vel

0 200 400 600 800 1000 1200 1400 1600 1800 2000
Flow Circle [veh/hr/lane]
Flow Left Turn [veh/hr/lane]
Flow − Flow Diagram for 1−lane Circle simulation
Circle = 1000
P_Brake = 0.2
V_MAX = 3
gap_back = 3 * Vel


A condition for the genotype-phenotype mapping: Causality

Abstract
The appropriate choice of the genotype-phenotype mapping in combination with the mutation operator is important for a successful evolutionary search process. We suggest a measure to quantify the quality of this combination by addressing the question whether the relation among distances is carried over from one space to the other. Search processes which do not destroy the neighbourhood structure are termed strongly causal. We apply the proposed measure to parameter and structure optimisation problems in order to assess the combination (mapping, mutation operator) and at the same time to be able to propose improved settings.

arXiv:adap-org/9711001v1 4 Nov 1997
A condition for the genotype–phenotype mapping: Causality
Bernhard Sendhoﬀ ∗ Martin Kreutz
Institut f¨ ur Neuroinformatik, Ruhr-Universit¨ at Bochum
44780 Bochum, Germany
Werner von Seelen
published in:
T. B¨ ack (Ed.) (1997) Proceedings of the Seventh International
Conference on Genetic Algorithms (ICGA’97) , Morgan Kauﬀ-
man, 73-80.
Abstract
The appropriate choice of the genotype →
phenotype mapping in combination with the
mutation operator is important for a success-
ful evolutionary search process. We suggest a
measure to quantify the quality of this com-
bination by addressing the question whether
the relation among distances is carried over
from one space to the other. Search pro-
cesses which do not destroy the neighbour-
hood structure are termed strongly causal .
We apply the proposed measure to parameter
and structure optimisation problems in order
to assess the combination (mapping, muta-
tion operator) and at the same time to be
able to propose improved settings.
1 Introduction
The optimisation process in evolutionary algorithms is
largely inﬂuenced by the mapping from the genotype
space to the phenotype space. Especially for structure
optimisation problems a measure of the quality of the
combination (mapping, mutation, crossover) would be
desirable. In this paper we propose such a measure
based upon the observation that Darwinian evolution
takes gradual changes to the optimum, although in
biological evolution other phenomena like punctuated
equilibria are also observed.
We demand that the search process is locally strongly
causal with respect to the mutation operator, that is:
small variations on the genotype space due to mutation
imply small variations in the phenotype space . This
way the neighbourhood structure under the mapping
G → P is conserved, see Figure 1. The distance on
∗{bs,kreutz}@neuroinformatik.ruhr-uni-bochum.de
the genotype space is deﬁned via the mutation prob-
ability. The need for a strong causal exploration of
the search space has been expressed before (Rechen-
berg 1994; Lohmann 1993). However, in the following
we want to quantify the degree to which the setting
(mapping, mutation operator) satisﬁes the causality
condition.
The distance measure and therefore the causality con-
dition in section 2 only depends on the mutation and
not on the crossover operator. This does not represent
any opinion whether one or the other is the driving
force in evolutionary algorithms. However, we believe
that the mutation operator usually is responsible for
small steps in the phenotype space, hence for gradual
changes which we want to analyse. Furthermore, we
assume a locally smooth ﬁtness function and deﬁne
conditions for the genotype → phenotype mapping for
this problem domain. Thus, unlike in correlation based
analysis, (Jones et al. 1995; Manderick et al. 1991),
we do not explicitly refer to a ﬁtness landscape, in-
stead we focus on the conservation of neighbourhood
structures.
In the next section we will propose a condition for a
strongly causal search process and quantify it by intro-
ducing a probabilistic interpretation of the condition.
Section 3 presents a ﬁrst application in the domain
of parameter optimisation problems and the following
section is concerned with the structure optimisation of
neural networks, where complicated genotype → phe-
notype mappings are commonly used.
2 A Condition for Causality
In section 1 we claim that for the successful intro-
duction of new information by mutation the mutation
operator should preserve the neighbourhood structure
in the corresponding evolutionary spaces. We believe
that strong causality is necessary in evolutionary algo-
rithms

g kg i
g j
pi
pi
strong causal
weak causal
non causal
phenotype space
mapping
genotype space
p
k
p
k
pj
pj
pj
pi
p
kpi
p
k
pj
Figure 1: Examples for strongly, weakly and non
causal genotype–phenotype mappings under the inﬂu-
ence of mutation. Circles denote genotypes ( gi, gj, gk),
gj and gk are results of mutations from gi. The corre-
sponding phenotypes ( pi, pj, pk) are shown as squares.
The ﬁrst strongly causal mapping does not destroy the
neighbourhood structure in genotype space, the sec-
ond weakly causal mapping, maps small mutations in
genotype space to large distances in phenotype space
and vice versa. The last example shows a non-causal
mapping.
• to allow for controlled small steps in the pheno-
type space which are provoked by small steps in
the genotype space. Especially in the vicinity of
an optimum we need small steps to gradually ap-
proach the optimum.
• for the ability of self-adaptation of any strategy
parameters, since with the lack of strong causality
the information about the past is meaningless and
adaptation is impossible.
In order to formulate the causality condition we have
to deﬁne the term small variation in a mathematical
sense. Therefore, we introduce a measure of distance
in the genotype and phenotype space. For the mathe-
matical correctness we have to show that the measure
in the respective spaces endows these spaces with a
metric. For distances in the genotype space we pro-
pose a “universal” measure which is based on the prob-
ability of reaching genotype gj from genotype gi. In
this respect it resembles deﬁnitions of distance used in
evolutionary biology, (Schuster 1995a): “. . . the notion
of distance in genotype space is given by the smallest
number of individual mutations required for the inter-
conversion of two genotypes . . . ” . Furthermore, this
measure is general enough to be applicable to a wide
range of evolutionary algorithms.
We introduce the following notations: Genotype space
G = {gi} and phenotype space P = {pi}. Both G and
P can also be continuous spaces. The mapping be-
tween the spaces is f : G ↦→ P, thus pi = f (gi). The
operators mutation and crossover act upon the space
G, the selection operator acts upon the ﬁtness space
F and therefore on P. We parameterise the mutation
operator by a real valued vector ⃗ σ∈ I Rl.
Now, we will introduce the deﬁnition of distance on G,
based on the mutation probability P (gi
⃗ σ
→ gj) of reach-
ing gj from gi in G via mutation which is characterised
by ⃗ σ.
d(gi, gj) = − log
( 1
Pid
P (gi
⃗ σ
→ gj)
)
(1)
Pid = P (g
⃗ σ
→ g) (2)
This deﬁnition is only sensible if we claim that P (gi
⃗ σ
→
gj) < P id and that the probability not to mutate is in-
dependent of g, which is satisﬁed by most evolutionary
algorithms1. The logarithm in eq. (1) is introduced in
order to make the distance measure additive instead
of multiplicative. The properties of this measure are
discussed in (Sendhoﬀ et al. 1997).
Eq. (1) allows for the comparison between diﬀerent
EAs independent of any particular metric on the geno-
type space, like Hamming distance or Euclidian dis-
tance.
Now, we can proceed with the deﬁnition of causality.
Condition: Strong causality
∀gi, gj, gk ∃ ⃗σ′, ε with ⃗ σ∈ Uε( ⃗σ′)
||f (gi) − f (gj)|| < ||f (gi) − f (gk)||
⇐ ⇒ − log
(
P (gi
⃗ σ
→gj)
Pid
)
< − log
(
P (gi
⃗ σ
→gk)
Pid
)
⇐ ⇒ P (gi
⃗ σ
→ gj) > P (gi
⃗ σ
→ gk) (3)
The additional condition that ⃗ σcan be drawn from
anywhere inside a sphere with radius ε (ε can be suf-
ﬁciently small) around ⃗σ′ guarantees that the eﬀect of
mutation continuously varies with ⃗ σ. That is, besides
the existence of an appropriate ⃗ σ, we have to guarantee
that it is possible to locate. Mathematically, the space
1 In GAs P (gi
⃗ σ
→ gj) < P id corresponds to a mutation
rate p < 0.5 ( p = 0.5 leads to random initialisation) and in
ES to normally distributed mutations with zero mean.

of all mutation parameters which satisfy the causal-
ity condition is not empty and additionally not of
measure zero.
We have indicated, that our analysis is concerned with
the local behaviour of evolutionary search. Therefore,
condition (3) should not be seen as a global condition.
The term local is diﬃcult to deﬁne. However, an ab-
solute measure of locality is not necessary since we are
interested in the relative performance of EAs.
Condition (3) deﬁnes strong causality in both direc-
tions. Small distances and variations on the phenotype
space imply small distances and variations in the geno-
type space with respect to the probability of jumping
this distance via mutation and vice versa. However,
in most EAs the second direction is more important.
That is, small variations in the genome provoke small
variation in the phenotype.
So far we have only set up a qualitative condition for
strong causality. In order to compare between EAs,
we have to ﬁnd a quantitative version of condition (3).
We will rephrase it in the light of a probabilistic inter-
pretation.
Assuming the gi, gj, gk to be random variables with
uniform distribution, both sides of condition (3) be-
come boolean random variables. As a shortcut, we
introduce the symbols A and B:
A := ||f (gi) − f (gj)|| < ||f (gi) − f (gk)|| (4)
B := − log
(
P (gi
⃗ σ
→gj)
Pid
)
< − log
(
P (gi
⃗ σ
→gk)
Pid
)
⇐ ⇒ B := P (gi
⃗ σ
→ gj) > P (gi
⃗ σ
→ gk) (5)
Since we assume the distribution of gi, gj, gk to be
known, we can derive the probabilities P (A), P (B),
and P (A, B). We can now, with the help of Bayes’
law, recast the two directions (genotype ↔ phenotype)
in the following way:
Probabilistic condition : Strong causality
∀gi, gj, gk ∃ ⃗σ′, ⃗ εwith ⃗ σ∈ Uε( ⃗σ′)
G ⇒ P : P (A|B) = P (A, B)
P (B) = 1 (6)
P ⇒ G : P (B|A) = P (A, B)
P (A) = 1 (7)
The value of P (A|B) serves as a quantitative measure
for the causality in EAs. If the neighbourhood rela-
tions in both spaces are uncorrelated for every point,
then the system is weakly but not strongly causal
P (A, B) = P (A)·P (B) and therefore P (A|B) = P (A),
P (B|A) = P (B), thus distance relations in the pheno-
type space are statistically independent from distance
relations in the genotype space and vice versa 2. One
example for such systems is the class of Monte Carlo
algorithms where the transition probability between
any pair of genotypes is constant. For constant tran-
sition probabilities, B in equation (5) is constant for
all genotype combinations and does therefore not pro-
vide any information about the distance relation in the
phenotype space.
In evolutionary molecular biology measures similar to
this probabilistic formulation of the causality condi-
tion are employed in the context of the analysis of the
“sequence–structure” mapping (Schuster 1995b).
3 Parameter Optimisation
Firstly, we employ one of the mainstream paradigms
of EAs – the evolution strategy (ES) and show that
the ES is strongly causal in terms of our proposed
condition. As an example for an EA, which violates
the causality condition, we analyse the canonical ge-
netic algorithm (GA) applied to parameter optimisa-
tion. We propose a new mutation operator for the GA
which observes strong causality to a greater extent and
show that this also increases the performance.
3.1 Evolution Strategy
We ﬁrstly focus on the transition probability. In the
canonical ES G = P = I Rn and the genotype → phe-
notype mapping is the identity f : G → P = id I Rn . It
uses normally distributed mutation steps which are in-
dependent of the genotype gi ∈ G . That is, the transi-
tion gi
⃗ σ
→ gk is deﬁned by adding a normally distributed
number z = ( z1, . . . , zn) with zi ∼ N (0, σ2). Hence,
the pdf of this transition can be expressed in terms of
z
gi
⃗ σ
→gk : gj = gi + z (8)
p(gi
⃗ σ
→gk) = p(z = gj − gi)
= 1
√
2π
n
σn exp
(
− ∥gk−gi∥2
2σ2
)
(9)
pid = p(z = 0) = 1√
2π
n
σn
(10)
Inserting the transition pdf in the causality condition
(3) with f : G → P = id I Rn results in
∥f (gi) − f (gj)∥ < ∥f (gi) − f (gk)∥
2Whether the system is non-causal in the sense of being
non-deterministic is not determined by eqs. (3,6,7), since
we do not observe whether the mapping from genotype to
phenotype space itself is probabilistic or not.

⇐ ⇒ ∥ gi − gj∥ < ∥gi − gk∥
⇐ ⇒ exp
(
−∥gi − gj∥2)
> exp
(
−∥gi − gk∥2)
⇐ ⇒ p(gi
⃗ σ
→gj) > p(gi
⃗ σ
→gk) (11)
which holds for all combinations of gi, gj, gk, σ.
The examination of the metric conditions of the dis-
tance measure of an ES and some notes on the self-
adaptation of σ are presented in (Sendhoﬀ et al. 1997).
3.2 Genetic Algorithms
In the case of genetic algorithms (GA) the genotype
space consists of binary strings of length L, therefore
G = {0, 1}L. Canonical GAs mutate by changing each
bit position from 0 → 1 and 1 → 0, respectively, with
the probability pm. Thus, pm corresponds to the mu-
tation parameter σ. Let hij denote the Hamming dis-
tance between gi and gj.
In order to examine the causality condition we use
the Euclidian metric on the phenotype space P and
choose the standard binary coding for the genotype–
phenotype mapping f : G → P . Using the following
notations
gi = {xi(n) | xi(n) ∈ {0, 1}} (12)
hij =
L−1∑
n=0
|xi(n) − xj (n)| (13)
f (gi) =
L−1∑
i=0
xi(n) 2n (14)
P (gi
⃗ σ
→ gj) = phij
m (1 − pm)L−hij (15)
the causality condition is expressed as
⏐
⏐
⏐
⏐
⏐
L−1∑
n=0
(xi(n)−xj(n)) 2n
⏐
⏐
⏐
⏐
⏐ <
⏐
⏐
⏐
⏐
⏐
L−1∑
n=0
(xi(n)−xk(n)) 2n
⏐
⏐
⏐
⏐
⏐
⇐ ⇒ phij
m (1−pm)L−hij > p hik
m (1−pm)L−hik (16)
Assuming pm < 0.5 the right hand side of (16) can
be expressed as hij < h ik. Therefore the causality
condition reads
⏐
⏐
⏐
⏐
⏐
L−1∑
n=0
(xi(n)−xj(n)) 2n
⏐
⏐
⏐
⏐
⏐ <
⏐
⏐
⏐
⏐
⏐
L−1∑
n=0
(xi(n)−xk(n)) 2n
⏐
⏐
⏐
⏐
⏐
⇐ ⇒
L−1∑
n=0
|xi(n)−xj(n)| <
L−1∑
n=0
|xi(n)−xk(n)| (17)
which obviously does not hold in general, not even
locally.
As a measure of the extent to which the GA satis-
ﬁes the causality condition we employ the probabilistic
version of the condition. After some extensive calcula-
tions which are presented in (Sendhoﬀ et al. 1997) we
get P (A|B) ≈ 0.51 and P (B|A) ≈ 0.62. That is, the
chance of a small mutation of a genotype resulting in a
small change of the corresponding phenotype is about
51%. The probability that a small change of a pheno-
type is caused by a small mutation of the genotype is
somewhat higher, about 62%. Thus, in the case of a
canonical GA, the mapping from the genotype to the
phenotype is not strongly causal. In our opinion the
combination of binary coding and point mutation is
not well suited for continuous parameter optimisation
combined with locally smooth ﬁtness functions and is
the reason why ES, which observes strong causality,
outperforms the GA in most cases in this problem do-
main.
3.3 A New Mutation Operator
We have seen that in GA the standard mutation oper-
ator together with the binary encoding does not satisfy
the causality condition in general. Possible solutions
to this problem are to use a diﬀerent encoding scheme,
e.g. the Gray code 3, to change the mutation operator
and keep the encoding scheme, and to change both.
In the remainder of this section we will partly out-
line an approach, presented in detail in (Sendhoﬀ
et al. 1996), which sticks to the concept of point mu-
tation, but uses a position dependent mutation rate
pm = pm(i). This will provide us with an interesting
example of an EA, where a modiﬁcation of the muta-
tion operator enhances the causality and, as we will
see, also the performance.
2 4 6 80
0.1
0.2
0.3
0.4
0.5
i
P(i) σ=10
σ=0.5
Figure 2: Top: pm(i) for σ = 10 .0 (dashed curve
- numerical approximation), bottom: pm(i) (rescaled
with a factor 8) for σ = 0.5 (dashed curve - numerical
approximation).
As we have seen above, the ES is a strongly causal
optimisation procedure. Therefore, we translate the
concept of mutation by adding normally distributed
3Although we show in (Sendhoﬀ et al. 1997) that the
Gray code does not increase the causality substantially.

numbers in ES to point mutation in GAs. Thus, we
calculate a probability distribution which will on aver-
age resemble the summation of a normally distributed
number. Depending on the standard deviation σ of the
underlying normal distribution we get diﬀerent distri-
butions of the mutation rates pm(i), see Figure 2. For
the eﬃcient use of the new mutation operator we de-
rived a numerical approximation of pm(i; σ) which is
presented in (Sendhoﬀ et al. 1996).
(a)
Sphere model
0 5.0·105 1.0·106 1.5·106 2.0·106 2.5·106
function evaluations
10-15
10-10
10-5
best function value
(b)
Ackley's function
0 5.0·105 1.0·106 1.5·106 2.0·106 2.5·106
function evaluations
10-6
10-4
10-2
best function value
Figure 3: Convergence plots of optimisation runs.
The solid line shows the results obtained by position-
dependent mutations. Dashed lines the ones from the
canonical GA. (population size: 50; dimension: n =
30; encoding length: 32 bits using Gray-code)
The numerical estimates of the causality measure are
P (A|B) ≈ 0.73 and P (B|A) ≈ 0.74. In order to sup-
port our hypothesis that increasing the strong causal-
ity in an optimisation process leads to an improved
performance we apply the modiﬁed GA to two stan-
dard optimisation problems. Results are given for the
sphere model and Ackley’s function, see ﬁgure 3. The
new GA converges faster to a better value than the
canonical GA. Figure 3 shows that in case of the sphere
model the increase of convergence speed is of order 10 5
and for the Ackley function of order 10 1.5.
4 Causality in Structure Optimisation
The problem to choose the right genotype → pheno-
type mapping is of particular importance in the do-
main of structure optimisation. We will here concen-
trate on the structure optimisation of neural networks.
We will regard the set of all possible connection ma-
trices as the phenotype space, and allow the matrix to
have entries from {0, 1} or from {0, ..., Nsym}. Since
there is no measure on the space of these matrices
which relates directly to the performance of the neu-
ral network without evaluating the network, we will
use the standard Euclidian distance measure for the
phenotype space, ( yMj
nk denotes the entry at (row n,
column k) of the matrix Mj)
dE(Mi, Mj) = 1
N 2
N∑
n=1
N∑
k=1
|yMi
nk − yMj
nk | (18)
There is no a priori structure assumed for the network,
hence the matrix is not constrained to any layered net-
work structure. If ynk > 0 there exists a connection
between neuron n and neuron k. We are not restricted
to the upper triangular part of the matrix, thus in prin-
ciple feedback connections can be speciﬁed. If the ynk
are restricted to the values {0, 1}, we only specify the
connection between the neurons. If we extend the al-
lowed values to all integers in the set {0, ..., Nsym}, it is
possible to further deﬁne initial values for the weights
and the thresholds. In connection with gradient de-
scent algorithms for the ﬁne tuning of the weights,
this approach has been successful, see (Sendhoﬀ et al.
1997), and we will therefore include it in the following
examinations.
There have been several proposals on how to organise
the genotype space and the mapping f : G → P for the
optimisation of the structure of neural networks, see
also (Whitley 1995). Most of them can be categorised
into three principal approaches, the direct encoding,
the recursive or grammar encoding and the cellular
encoding. The ﬁrst attempts to use evolutionary (ge-
netic) algorithms for structure optimisation employed
the direct encoding method, (Miller et al. 1989), and
it probably still is the most frequently used method.
The recursive encoding has been introduced by Kitano
(1990), in order to overcome the bad scaling behaviour
of the direct encoding method for large networks and to
favour a modular structure of the network. The third
approach, the cellular encoding , proposed by Gruau
(1993), uses a tree representation of operators which
construct the network. The structure of the tree and
therefore of the network is optimised by genetic pro-
gramming. In the following we will examine the direct
encoding and the recursive encoding with respect to
the proposed measure, eqs. (6, 7). Therefore, we will
examine whether the neighbourhood structure on G
is carried over to P; whether the system is strongly
causal. We will restrict ourselves to the direction,

G → P and we will not sample uniformly in G. The
reason is, that for the mutation operator p± (see eq.
(19)) the probability to reach the genotype gj and gk
from gi is zero for almost all uniformly sampled triples.
Thus, if we want to examine the system (mapping,
p±), we sample gi uniformly and obtain gj and gk via
mutation from gi with the probability pinit. By tun-
ing pinit, we are at the same time able to determine
how local the three chromosomes are. We then derive
the probability to reach gj and gk from gi by “normal
mutation”.
4.1 The direct encoding method
In the direct encoding method the chromosome con-
sists of the whole connection matrix. Usually all ma-
trix rows are concatenated to form the chromosome,
whose elements we want to denote by xn. The range
of allowed values for x and y can be {0, 1} or from
the integer set {0, ..., Nsym}. The following operators
(χ ∈ [0, 1[ is a uniformly sampled number) have been
used
p±x =
{
x + 1 ; χ < 0.5
x − 1 ; χ ≥ 0.5 (19)
pux = ⌊χ · (Nsym + 1)⌋ (20)
pu replaces x by a new integer with equal probability
from the set {0, ..., Nsym}. We used the Euclidian mea-
sure of distance for matrices on the phenotype space
and a distance measure which only counts structural
diﬀerences dI (Mi, Mj)
dI (Mi, Mj) = 1
N 2
N∑
n=1
N∑
k=1
|Θ( yMi
nk ) − Θ( yMj
nk )| (21)
Θ( x) =
{ 0 ; x ≤ 0
1 ; x > 0
The results for the probability P (A|B), that is the
probability that ( dE,I denotes dE or dI )
A := dE,I (Mi, Mj) > dE,I (Mi, Mk) (22)
holds in phenotype space, given that
B := − log (P (gi → gj)) > − log (P (gi → gk)) (23)
is true in genotype space, are presented in Table 1.
The standard setting, ( x ∈ { 0, 1}, dI, pu) is strongly
causal in the G → P direction. However, if the al-
lowed values are extended to an interval of integers,
all settings have problems at least for the structural
distance measure. Thus, we conclude that even direct
encoding methods are not strongly causal straightfor-
wardly if we depart from the basic setting.
dE/p± dI /p± dE/pu dI /pu
x ∈ {0, 1} – – – 0.0
x ∈ {0, .., Nsym} 0.0 0.614 0.662 0.564
Table 1: Numerical estimation of the probabilities
P (A|B), using combinations of the two diﬀerent dis-
tance measures and mutation operators. The probabil-
ities have been estimated from 10 5 trials ( Nsym = 10
and pinit = 0.25).
a 1 = 7
2 5 7 9 1 . . .
5 4 8 7 3 6 9 1 . . . . . .
( )
9 1
S c
L c
Figure 4: One element is replaced by four elements
in the recursion step via the small chromosome SC →
large chromosome LC mapping.
4.2 The recursive encoding method
In all encoding methods apart from the one discussed
above a more or less intrinsic mapping is introduced
from the genotype to the phenotype space. We al-
ready argued why this is sensible and we now want to
examine to what extent a recursive encoding method
is strongly causal. The coding, described in (Sendhoﬀ
et al. 1997), consists of four chromosomes, where only
the ﬁrst two are important for the building process
of the connection matrix. In each iteration step ev-
ery element of the connection matrix is replaced by a
2 × 2 matrix of new elements. The new elements are
speciﬁed by a mapping from the small chromosome
SC to the large chromosome LC. The length of the
small chromosome NSC is variable, the length of the
large one is ﬁxed by the condition NLC = 4 · NSC . At
each step i the ﬁrst place N (yi
nk) of each connection
matrix element yi
nk in SC is determined; for example
position N (y1 = 7) = 3 in Figure 4. The element is
then replaced by the four elements at the positions
(
4 · (N (yi
nk) − 1) + 1, 4 · (N (yi
nk) − 1) + 2,
4 · (N (yi
nk) − 1) + 3, 4 · (N (yi
nk) − 1) + 4
)
(24)
in the large chromosome LC . Figure 4 shows the re-
placement of an element y1 = 7 by the four elements
(3, 6, 9, 1). In case yi
nk is not in SC , it is replaced by
four so called terminal symbols (in the notation of in-
teger strings, the most convenient choice is zero). A
terminal symbol is in turn always replaced by another
four terminal symbols in an recursion step. Figure 5
shows the evolution of a 8 × 8 connection matrix Mcon

a 1
(
a 11
a 22
2 . . . ( (
a 11
a 44
3 (
a 12
a 21
3 a 22
. . .
.
.
.
S
L
c
c
(
a 11
4 a 12
4 a 18
a 88
4 a 81
a 71
(
.
.
.
.
.
.
. . .
. . .
.
.
.
S c L c
. . .
Figure 5: Scheme of the recursive development of the
connection matrix up to a size of 8 × 8.
following the introduced rules. This network connec-
tion matrix is a function of the mutation and crossover
probabilities, the chromosome length dSC , the number
of iteration steps Nsteps and of the size of the set of in-
tegers {1, ..., Nsym} of allowed values for both strings.
We restrict ourselves to mutations on SC and exam-
(a)
50 5
0.3
0.35
0.4
0.451 - P(A|B)
Nsym
dSc
(b)
50 10
0.3
0.35
0.4
0.451 - P(A|B)
dSc
Nsym
Figure 6: Since it is easier to visualise, the probabil-
ity to violate the causality condition (1 − P (A|B)) is
shown for the (a) Euclidian distance measure dE and
(b) structure distance measure dI . The values have
been estimated from 10 5 trials ( pinit = 0.25).
ine the probability (1 − P (A|B)) as a function of dSC
and Nsym, the results are shown in Figure 6 (a) for
the Euclidian distance measure dE(Mi, Mj) and in (b)
for the structure distance measure dI (Mi, Mj). Only
the results for the p± mutation operator are shown,
because the values for pu are only slightly lower and
show a similar behaviour as in Figure 6. We note that
the system is generally not strongly causal, especially
for speciﬁc combinations ( dSC , Nsym). Furthermore,
the best (lowest, since causality violations are shown)
values on average are reached if the encoding param-
eters dSC and Nsym diﬀer only slightly, thus we con-
clude dSC ≈ Nsym. We also note that the diﬀerences
between dE and dI are only marginal both qualita-
tively and quantitatively. Thus, from the point of view
of causality the combined optimisation of the structure
and the initial weight values seems to be sensible.
We will now, similar to section 3 in the domain of pa-
rameter optimisation, try to lower the probability of
causality violations with the help of a new position de-
pendent mutation operator. Firstly, we have to iden-
tify typical settings which are responsible for causality
violations. One is a direct consequence of the redun-
dant nature which from the viewpoint of accumulated
mutation is also advantageous. Hence, we do not try
to change the encoding to be less redundant, but in-
stead we change the mutation operator, so that the
mutation probability rises for redundant chromosome
entries. If pm is the probability to mutate and Nxk(SC )
denotes the number of occurrences of symbol xk(SC )
in SC before the position of xk(SC ), we write
pm(xk(SC )) = pm · (Nxk(SC ) + 1) (25)
Secondly, we observe that all elements from SC which
occur in the ﬁrst four elements in LC have a large im-
pact on the connection matrix, since the ﬁrst element
in SC is always mapped onto this ﬁrst block of elements
in LC. Therefore, we suggest a second modiﬁcation to
the mutation operator:
pm(xk(SC )) = p2
m
∀ xk(SC ) ∈ { x1(LC), . . . , x4(LC)} (26)
Figure 7 (a) and (b) show the results for the probabil-
ity of causality violating steps for the mutation oper-
ator with the modiﬁcations eqs. (25, 26) compared to
the ﬁxed mutation (dashed curve) rate pm. In Figure
7 (a) we kept Nsym constant and changed the length
of SC , since we expect that in this case modiﬁcation
(25) will have the largest impact because the amount
of redundant elements in SC rises with dSC . Indeed,
we observe that (1 − P (A|B)) is considerably reduced
and that the eﬀect is more pronounced for larger val-
ues of dSC . Figure 7 (b) shows experiments carried
out for the combinations Nsym = dSC which, as we
pointed out earlier, are the best choices for the coding
parameters. The new mutation operator reduces the
probability of causality violations also in these cases,

(a)
10 20 30 40 50
0.3
0.32
0.34
0.36
0.38
0.4
0.42
1 - P(A|B)
dSc
Nsym = 10
(b)
(10, 10) (20,20) (30,30) (40,40) (50,50)
0.32
0.34
0.36
0.38
0.4
1 - P(A|B)
Nsym dSc( , )
Figure 7: The probability to violate the causality con-
dition (1 − P (A|B)) (see also Fig. 6) estimated from
105 trials. (a) Nsym = 10 is kept constant and (b) the
relation Nsym = dSC is ﬁxed. The interlaced curve
shows the values for the mutation operator with the
modiﬁcations (25, 26) and the dashed curve for the
standard mutation rate pm (pinit = 0.25).
however the diﬀerence to the ﬁxed mutation rate is
smaller than in Figure 7 (a). Thus, we conclude that
minor modiﬁcations of the mutation operator can al-
ready have an causality enhancing eﬀect on the search
process and that it is worthwhile to analyse the (geno-
type → phenotype, mutation) system with respect to
the question why and for which speciﬁc settings prob-
lems can occur.
5 Conclusion
In this paper we suggested a condition which the
setting (genotype → phenotype mapping, mutation)
should fulﬁll in order to allow gradual changes for a
local search on the phenotype space which can be con-
trolled via the mutation parameter on the genotype
space. We applied the probabilistic causality condi-
tion to problems in the domain of parameter optimisa-
tion and structure optimisation both analytically and
constructively. Thus, besides examining the search
process, we also suggested variations in the mutation
operator to improve the setting with respect to our
condition. Especially in the later domain, where com-
plicated mappings are commonly used, we believe the
measure could be a useful tool for constructing evolu-
tionary algorithms. In the case of parameter optimisa-
tion, Figures 3 show that the setting which enhances
the causal behaviour at the same time improves the
performance.
Acknowledgements
This research work is part of the BMBF SONN project
under Grant No. 01IB401A9.
References
Gruau, F. (1993). Genetic synthesis of modular neural
networks. In S. Forrest (Ed.), Proc. 5th Int. Conf. Genetic
Algorithms, pp. 318–325. Morgan Kaufmann.
Jones, T. and S. Forrest (1995). Fitness distance cor-
relation as a measure of problem diﬃculty for genetic
algorithms. In L. Eshelman (Ed.), Proc. 6th Int. Conf.
Genetic Algorithms , pp. 184–192. Morgan Kaufmann.
Kitano, H. (1990). Designing neural networks using ge-
netic algorithms with graph generation system. Complex
Systems 4 , 461–476.
Lohmann, R. (1993). Structure evolution and incomplete
induction. Biol. Cybern. 69 (4), 319–326.
Manderick, B., M. de Weger, and P. Spiessens (1991). The
genetic algorithm and the structure of the ﬁtness land-
scape. In R. Belew and L. Booker (Eds.), Proc. 4th Int.
Conf. Genetic Algorithms , pp. 143–150. Morgan Kauf-
mann.
Miller, G. and P. Todd (1989). Designing neural net-
works using genetic algorithms. In D. Schaﬀer (Ed.), Proc.
3rd Int. Conf. Genetic Algorithms , pp. 379–384. Morgan
Kaufmann.
Rechenberg, I. (1994). Evolutionsstrategie ’94. Friedrich
Frommann Holzboog.
Schuster, P. (1995a). Artiﬁcial life and molecular evolu-
tionary biology. In F. Moran et al. (Eds.), Advances in
Artiﬁcial Life , pp. 3–19. Springer.
Schuster, P. (1995b). How to search for RNA structures
- theoretical concepts in evolutionary biotechnology. J.
Biotechnology 41 , 239–257.
Sendhoﬀ, B. and M. Kreutz (1996). Analysis of possi-
ble genome–dependence of mutation rates in genetic al-
gorithms. In T. Fogarty (Ed.), Evolutionary Computing ,
Volume 1143 of LNCS, pp. 257–269. Springer.
Sendhoﬀ, B. and M. Kreutz (1997). Evolutionary opti-
mization of the structure of neural networks using a re-
cursive mapping as encoding. In Proc. 3rd Int. Conf. Arti-
ﬁcial Neural Networks and Genetic Algorithms . Springer.
Sendhoﬀ, B., M. Kreutz, and W. von Seelen (1997).
Causality and the analysis of evolutionary algorithms.
Submitted to IEEE Trans. Evolutionary Computation .
Whitley, L. (1995). Genetic algorithms and neural net-
works. In J. Periaux and G. Winter (Eds.), Genetic Algo-
rithms in Engineering and Computer Science , Chapter 11.
John Wiley.