# A Hybrid Fuzzy Genetic Algorithm for an Adaptive Traffic Signal System

Authors: S. M. Odeh; A. M. Mora; M. N. Moreno; J. J. Merelo
Journal: Advances in Fuzzy Systems
 (2015)

---

## Abstract

This paper presents a hybrid algorithm that combines Fuzzy Logic Controller (FLC) and Genetic Algorithms (GAs) and its application on a traffic signal system. FLCs have been widely used in many applications in diverse areas, such as control system, pattern recognition, signal processing, and forecasting. They are, essentially, rule-based systems, in which the definition of these rules and fuzzy membership functions is generally based on verbally formulated rules that overlap through the parameter space. They have a great influence over the performance of the system. On the other hand, the Genetic Algorithm is a metaheuristic that provides a robust search in complex spaces. In this work, it has been used to adapt the decision rules of FLCs that define an intelligent traffic signal system, obtaining a higher performance than a classical FLC-based control. The simulation results yielded by the hybrid algorithm show an improvement of up to 34% in the performance with respect to a standard traffic signal controller, Conventional Traffic Signal Controller (CTC), and up to 31% in the comparison with a traditional logic controller, FLC.


---

## Body

## 1. Introduction

Since an intelligent traffic signal system is a major part of an intelligent transportation system, it is a challenge to increase the work efficiency of these traffic signals in order to reduce traffic jams and congestions as well as vehicle emissions in the metropolitan area. Additionally, other objectives include improving the traffic safety at the intersections and reducing the amount of trip time and the time that vehicles spend idling, which decreases the fuel consumption. Thus, this will cause a decrease in the amount of CO2 emissions. The number of vehicles has increased considerably in the last few years. The National Automobile Dealers Association in USA published data in 2007 with respect to the total number of vehicles, since this study; that is, the Federal Highway Administration reported that the number of motor vehicles has grown approximately eleven million on American roads [1]. According to the Bureau of Transportation Statistics for 2009, there are more than 254 million of registered passenger vehicles [1]. Moreover, according to the data released by the transport department in Mumbai between 2006-07 and 2013-14 the total number of vehicles has increased by more than a half in the last seven years [2]. Since the number of vehicles has increased while the road length has remained the same, therefore, the traffic signals are not capable of solving the problem of congestion by using the same efficiency. Therefore, there is a need to develop intelligent traffic signals that overcome the congestion and traffic jam. Traffic congestion is also causing higher noise and pollutant levels that are becoming a major burden for people and the environment. Thus, we should be able to make traffic signals interact with congestion and thus help people and goods reach their destinations quickly and safely. This means saving time, effort, and, of course, money.Many solutions were proposed and applied to solve this problem. These solutions depend on different controller programming systems, such as Fuzzy Logic Controller and neural network. These systems were applied on an isolated intersection and on two intersections of two roads; there were some enhancements on the performance of the traffic signals. The Vehicle Actuation (VA) System has been used to solve this problem. This system adjusts the green time according to the vehicles demand on all intersections. Although this system is more responsive than fixed time, it can be still ineffective if there are long queues of vehicles on conflicting junctions.The intelligent traffic signal system proposed in this paper depends on the hybrid combination of fuzzy logic (FL) [3] and Genetic Algorithms (GAs) [4]. The flexible and robust nature of the developed fuzzy controller allows it to model functions of arbitrary complexity while at the same time being inherently highly tolerant to imprecise data [5]. On the other hand, the maximizing capabilities of GAs enable the fuzzy design parameters to be optimized in order to achieve an optimal performance [6].The system proposed in this paper is that the number of vehicles on the road is counted by a video image detection object system that was used and discussed in [7]. Then we will apply those outputs as inputs to our system, composed of FLCs with a set of fuzzy rules [8, 9]. The knowledge base was used in the system as the population of the GA, meaning that a single rule, containing the description of the corresponding fuzzy set, is an individual of the population. The other application of the system is the detection of the abnormal situations like incident detection and the level of congestion. Our system applies Fuzzy Logic Controllers together with Genetic Algorithm (FLCGA) to four intersections with four directions controlled by traffic signal controllers. Those works applied their system to just two intersections. The results of our system show an improvement in the performance using the FLCGA rather than traditional Fuzzy Logic Controller, FLC, and also rather than Conventional Traffic Signal Controller, CTC.


## 2. State of the Art

Recently, many researchers have focused on other dynamic control signals that adjust the timing and phasing of lights according to limits that are set in controller programming. References [10–12] used Fuzzy Logic Controllers for an isolated intersection in their controlling programs. References [8, 13] used GA to obtain the fuzzy control parameters in their systems, [9, 14] used neural networks to improve the fuzzy control results. The work [15] presents a simulator built for a two-way traffic junction where each way has a single lane of traffic flow. The results of the proposed fuzzy controller exhibited successful performance at constant traffic volumes; in our system we built the simulator for two roads with three lanes for each in three directions: right, left, and straight. The objective of [12] was to implement a fuzzy signal duration control based on hardware, but it was not possible because of the memory limitation of the program, as the authors reported. Paper [16] discussed the implementation of an intelligent traffic signals’ control system using fuzzy logic technology that can mimic human intelligence for controlling traffic signals. We implement FLC technology with GA to manage the congestion on the four intersections in a more effective and smooth way. References [17–19] worked on traffic signal control for an isolated intersection signal (adjacent intersection) with fuzzy controller methods. References [8, 13] update fuzzy control rules by means of GAs. On the other side, some other researchers used fuzzy logic for controlling traffic in multiple intersections. Some work applied a FLC to adjust the cycle time, phase split, and offset parameters on only two-way streets, which were evaluated without considering any turnings [20]. Reference [21] used fuzzy reasoning to control vehicle moving on two adjacent intersections; meanwhile, [22] used a simple two-phase fuzzy signal controller. They compare their fuzzy method to minimize delay time of adaptive signal control with optimal cycle time. Their results were satisfactory, better than the adaptive method used for comparison. We used FLC with GA for multi-intersections and we got better results from using FLC alone and Conventional Traffic Controller.They found that FLCs lead to shorter vehicle delays and a lower number of idle vehicles. Thus, the length of the current green phase is extended or shortened depending on “Arrival,” which is the number of vehicles approaching the green time interval, and “Queue,” which corresponds to the number of queuing vehicles in red or green phases [11]. The system proposed in this paper will adjust the timing and phasing of the green lights according to the current situation in four intersections; every intersection will be controlled by traffic signals that will apply a hybrid algorithm. Thus, FLCs will decide how much the green light interval time shall provide at an intersection. They will be optimised by means of a GA, improving the best decision made by the FLCs in order to obtain a higher performance. This performance can be measured considering the reduction in the waiting time and the total amount of vehicles that arrived to theQueue of the four intersections. This proposed system is known as FLCGA.


## 3. Preliminary Concepts

### 3.1. Genetic Algorithms

The basic principles of GAs were first proposed by Holland in 1973 and inspired by the mechanism of natural selection [23]. Genetic Algorithms (GAs) are optimizer and it is a stochastic beam search which begins with a set of random generated finite strings called individual and the set of individuals called population. The production of next generation is done by selection of best individuals that were rated by the evaluation function called fitness function [4]. These parameters are regarded as the genes of a chromosome and can be structured by a string of values in binary form [24]. Fitness function is a function that calculates a value that is used to reflect the degree of “goodness” of the chromosome for the problem which would be highly related to its objective value. In general and in most of the application, GA starts with a randomly generated population of n chromosomes (candidate solutions to a problem). Calculate the fitness of each chromosome in the population. The following steps are the main fundamental of GA [25]:(a)
Select a pair of parent chromosomes from the current population, with the probability of selection being an increasing function of fitness.(b)
With probability (crossover rate), perform crossover to the pair at a randomly chosen point to form two offspring.(c)
Mutate the two offspring at each locus with probability (mutation rate), and place the resulting chromosomes in the new population.(d)
Replace the current population with the new population.There are a wide range of application fields that GA can be used on: State Assignment Problem such as Traveling Salesman Problem, TSP, and economics where it is applied in game theory; also, it is widely used in computer aid design.


### 3.2. Fuzzy Logic Controller

Fuzzy logic was introduced by Zadeh in 1968 and is based on mathematical representation of human knowledge and experiences [26]. Fuzzy Logic Controllers can be considered as knowledge-based systems, incorporating human knowledge into their knowledge base through fuzzy rules and fuzzy membership functions [3]. Fuzzy logic allows the manipulation of linguistic data (Large, Medium, and Small) and inaccurate data, as a useful tool in the design of signal timing [14].Fuzzy Logic Controllers have been successfully implemented in many systems that have inherent uncertainties. These systems include, among others, antilock brakes system (ABS) and camera-focusing system, where traditional modelling techniques and controllers do not usually provide satisfactory system performance, in addition to many earlier applications of fuzzy logic to traffic signal control. Reference [27] established a two-stage method for intersection signal timing control based on neurofuzzy network. Reference [17] provided a fuzzy logic signal controller for a four-way isolated intersection. This model is suited for mixed traffic, including the high proportion of motorcycles. Reference [28] established a fuzzy control model for traffic light with countdown ability. It implemented a self-adapted fuzzy controller for intersection signal control based on the conception of quantitative flow to fuzzy traffic flow. Reference [29] presented a traffic signal control method based on fuzzy logic for an isolated signalized intersection. The current green signal can be extended or terminated in response to changing traffic conditions [30].Fuzzy inference is the process of formulating the mapping from a given input to an output using fuzzy logic. The process of fuzzy inference involves membership functions, fuzzy logic operators, and if-then rules. There are two types of fuzzy inference systems [31], Mamdani’s and Sugeno-type systems fuzzy inference method. In this paper, we will use Mamdani’s fuzzy rules, because the output of Sugeno type must be constant or linear, while the Mamdani type expects the output membership functions to be fuzzy sets.


## 3.1. Genetic Algorithms

The basic principles of GAs were first proposed by Holland in 1973 and inspired by the mechanism of natural selection [23]. Genetic Algorithms (GAs) are optimizer and it is a stochastic beam search which begins with a set of random generated finite strings called individual and the set of individuals called population. The production of next generation is done by selection of best individuals that were rated by the evaluation function called fitness function [4]. These parameters are regarded as the genes of a chromosome and can be structured by a string of values in binary form [24]. Fitness function is a function that calculates a value that is used to reflect the degree of “goodness” of the chromosome for the problem which would be highly related to its objective value. In general and in most of the application, GA starts with a randomly generated population of n chromosomes (candidate solutions to a problem). Calculate the fitness of each chromosome in the population. The following steps are the main fundamental of GA [25]:(a)
Select a pair of parent chromosomes from the current population, with the probability of selection being an increasing function of fitness.(b)
With probability (crossover rate), perform crossover to the pair at a randomly chosen point to form two offspring.(c)
Mutate the two offspring at each locus with probability (mutation rate), and place the resulting chromosomes in the new population.(d)
Replace the current population with the new population.There are a wide range of application fields that GA can be used on: State Assignment Problem such as Traveling Salesman Problem, TSP, and economics where it is applied in game theory; also, it is widely used in computer aid design.


## 3.2. Fuzzy Logic Controller

Fuzzy logic was introduced by Zadeh in 1968 and is based on mathematical representation of human knowledge and experiences [26]. Fuzzy Logic Controllers can be considered as knowledge-based systems, incorporating human knowledge into their knowledge base through fuzzy rules and fuzzy membership functions [3]. Fuzzy logic allows the manipulation of linguistic data (Large, Medium, and Small) and inaccurate data, as a useful tool in the design of signal timing [14].Fuzzy Logic Controllers have been successfully implemented in many systems that have inherent uncertainties. These systems include, among others, antilock brakes system (ABS) and camera-focusing system, where traditional modelling techniques and controllers do not usually provide satisfactory system performance, in addition to many earlier applications of fuzzy logic to traffic signal control. Reference [27] established a two-stage method for intersection signal timing control based on neurofuzzy network. Reference [17] provided a fuzzy logic signal controller for a four-way isolated intersection. This model is suited for mixed traffic, including the high proportion of motorcycles. Reference [28] established a fuzzy control model for traffic light with countdown ability. It implemented a self-adapted fuzzy controller for intersection signal control based on the conception of quantitative flow to fuzzy traffic flow. Reference [29] presented a traffic signal control method based on fuzzy logic for an isolated signalized intersection. The current green signal can be extended or terminated in response to changing traffic conditions [30].Fuzzy inference is the process of formulating the mapping from a given input to an output using fuzzy logic. The process of fuzzy inference involves membership functions, fuzzy logic operators, and if-then rules. There are two types of fuzzy inference systems [31], Mamdani’s and Sugeno-type systems fuzzy inference method. In this paper, we will use Mamdani’s fuzzy rules, because the output of Sugeno type must be constant or linear, while the Mamdani type expects the output membership functions to be fuzzy sets.


## 4. Algorithm Architecture and Modelling

The algorithm of our proposed system takes the input data of the number of vehicles on each lane of the road in each intersection from a video object detection system. This system captures the image from the video stream. Then it performs a video image processing to detect the objects in the image that represent the vehicles in the road; then the system returns the number of these vehicles (objects). The work [7] describes this system in more detail. The treatment of this data is done by fuzzy logic that was characterized by a set of rules that defined antecedent. These rules include all possible scenarios for each traffic jam in every intersection. Then GA is applied to optimize the best performance of FLC as shown in Figure 1. Vehicle detection and counting is important in computing traffic congestion and this represents the inputs to our system. The number of vehicles in each lane and side of the intersection is counted while the traffic signal is red.Figure 1
Flowchart of the algorithm.


### 4.1. System Design and Notations

The decision making algorithm is designed to provide an optimal performance of traffic signals system, which will decrease the congestion and traffic jam of some abnormal traffic pattern. This algorithm consists of a FLC and a GA. Its goal is to develop an intelligent system that makes decisions in real time.The management of the traffic signals and decisions making of each one are extremely challenging and complex. To simulate the real world several assumptions had to be made to accommodate all the possible situations that can occur, either normally or abnormally, such as car accidents, special events (sport events, festivals, etc.), and even emergency situations. But here we simulate our system for normal situations and conditions.Various assumptions are taken for all the cases:(i)
The system manages four intersections, A, B, C, and D, as shown in Figure2. Each intersection is controlled by an intelligent traffic signal.(ii)
The intersections are assumed to be relatively “busy” and there are a number of vehicles that will travel in the three directions: S: straight; L: turn left, and R: turn right.(iii)
The intersection is assumed to have four roads labelled by the numbers 1, 2, 3, and 4 clockwise starting from left as shown in Figure2.(iv)
All vehicles are travelling with the same speed: 40 km/h (equivalent to 11.1 m/s).(v)
The distance between each intersection is 200 m.Figure 2
The four intersections and road notations. L: turn left; S: straight; and R: turn right.


### 4.2. Fuzzy Logic Rules

A Fuzzy Logic Controller (FLC) can be considered as a knowledge-based system, incorporating human knowledge into its knowledge base through fuzzy rules and fuzzy membership functions [5]. Additionally, fuzzy logic allows the manipulation of linguistic data (such as “Few,” “Medium,” and “Many”) and inaccurate data [14], as a useful tool in the design of signal timing. Fuzzy Logic Toolbox is a compilation of functions built on MATLAB numeric computing environment, and it provides tools for creating and editing fuzzy inference systems within the framework of MATLAB.Fuzzy inference is the process of formulating the mapping from a given input to output using fuzzy logic. The process of fuzzy inference involves membership functions, fuzzy logic operators, and if-then rules. The fuzzy logic system in this paper is used with two inputs and one output, with three membership functions for each input. The type of the functions considered here is a Gaussian membership function. Figure3 shows the Fuzzy Logic Controller system membership functions.Figure 3
Membership functions of the inputs of FLC.The output has also three membership functions that represent the estimation time interval length of green light (G1, G2, and G3), where G1 is the interval between 1 and 10 sec, G2 between 10 and 15 sec, and G3 between 15 and 20 sec. Figure4 shows these membership functions and the surface rule.Figure 4
Membership functions of the output surface rule of FLC2.There are two inputs representing the number of vehicles in the same lane and the number of vehicles in the affected lane. For example, the number of vehicles at lane 3 on intersection A will affect the number of vehicles on lane 2 in intersection C. However, in other cases, there will be three inputs because of the existence of two affected lanes, such as (A1) the number of vehicles at lane 1 of the intersection A which will have an effect on (B1) the number of vehicles at lane 1 in intersection B and also (C2) the number of vehicles at lane 2 in intersection C. In this case the fuzzy logic system will work in two stages: FLC1 will be done for the first two inputs; then the output of this (FLC1) will be considered as an input for the second stage of FLC2 including the third input. Figure5 shows the structure of the system composed of FLC1 and FLC2; FLC1 has two inputs In1 and In2 that represent A1 and B1, respectively, and FLC2 has also two inputs In3 (C3) and the output of FLC1 that represent the green light time interval for the signal at A1. The output of FLC2 represents the final decision of green light time interval for a signal A1.Figure 5
The connection of FLC1 and FLC2.There are two types of fuzzy inference systems that can be implemented in the Fuzzy Logic Toolbox;Mamdani type andSugeno type. In this paper Mamdani type has been used; this type of FLC expects the output membership functions to be fuzzy sets [31]. It is commonly used in inference problems. After the aggregation process, there is a fuzzy set for each output variable that needs defuzzification [31].Usually the knowledge involved in fuzzy reasoning is expressed as a set of rules, in the following form:IfxisAandyisB, thenzisC,where x, y, and z are fuzzy variables and A, B, and C are fuzzy values [25].Thus, the fuzzy sets are rules defined by their antecedents (if part) and consequents (then part). The fuzzy rule-based system, IF-THEN statements, may well involve fuzzy logical connectives such as “AND” and “OR.”In our system a set of nine fuzzy (if-then) rules has been created for every Fuzzy Logic Controller. It reflects the current situation of traffic. For example, IF the number of vehicles in road A3 (input1) is few AND the number of vehicles in road C2 (input2) is few THEN the green time interval for signal A3 (output1) is equal to G1.The following fuzzy rules are considered for the first Fuzzy Logic Controller (FLC1) and Figure6 shows the surface rule of these rules:(1)
If (input1 is Few) and (input2 is Few) then (output1 is G1).(2)
If (input1 is Few) and (input2 is Medium) then (output1 is G1).(3)
If (input1 is Few) and (input2 is Many) then (output1 is G1).(4)
If (input1 is Medium) and (input2 is Few) then (output1 is G2).(5)
If (input1 is Medium) and (input2 is Medium) then (output1 is G2).(6)
If (input1 is Medium) and (input2 is Many) then (output1 is G1).(7)
If (input1 is Many) and (input2 is Few) then (output1 is G3).(8)
If (input1 is Many) and (input2 is Medium) then (output1 is G3).(9)
If (input1 is Many) and (input2 is Many) then (output1 is G1).Figure 6
Surface rule of FLC1.Figure6 shows that when the number of vehicles in input1 (x-axis) is small and the number of vehicles in input2 (y-axis) is small then the extension time of green light time interval (z-axis) becomes zero and starts to grow.We have also created the following nine rules for the second FLC (FLC2), but here input1 represents the output of the FLC1. For example, IF the time of green light for signal A1 (input1) is equal to G1 AND the number of vehicles on lane C2 (input2) is few THEN the green light time interval for signal A1 (output1) is equal to G1. The surface rule of the following rules is shown in Figure7.(1)
If (input1 is G1) and (input2 is Few) then (output1 is G1).(2)
If (input1 is G1) and (input2 is Medium) then (output1 is G1).(3)
If (input1 is G1) and (input2 is Many) then (output1 is G1).(4)
If (input1 is G2) and (input2 is Few) then (output1 is G3).(5)
If (input1 is G2) and (input2 is Medium) then (output1 is G2).(6)
If (input1 is G2) and (input2 is Many) then (output1 is G1).(7)
If (input1 is G3) and (input2 is Few) then (output1 is G3).(8)
If (input1 is G3) and (input2 is Medium) then (output1 is G3).(9)
If (input1 is G3) and (input2 is Many) then (output1 is G2).Figure 7
Surface rule of FLC2.The surface rule of these rules is shown in Figure7.Figure7 shows FLC2 surface rule; the output (z-axis) is small when the green light time interval, input1, (y-axis) is small and the number of vehicles in input2 (x-axis) is also small. The main difference here is that in the case of the green lights time interval will extend up to 10 seconds.With these 18 rules, all possible scenarios are considered for the four intersections and for every traffic signal in each direction and road. According to this approach, the system will be able to decide how much green time the traffic signal shall provide at an intersection and which signal must be red. This can be done by two methods.


### 4.3. Traditional Logic Method

The system decides which signal should be red or green according to classical logic calculation which computes the number of vehicles on each road at each intersection, and, then, it will select the road that has the maximum value at each intersection.If we assume thatCIM is the number of vehicles in intersection I and in road M, some examples are the following:IFCA1≥CA2 AND CA1≥CA3 AND CA1≥CA4 THEN A1 = 1 AND A2 = 0 AND A3 = 0 AND A4 = 0,IFCA2≥CA1 AND CA2≥CA3 AND CA2≥CA4 THEN A1 = 0 AND A2 = 1 AND A3 = 0 AND A4 = 0,IFCA3≥CA1 AND CA3≥CA2 AND CA3≥CA4 THEN A1 = 0 AND A2 = 0 AND A3 = 1 AND A4 = 0,IFCA4≥CA1 AND CA4≥CA2 AND CA4≥CA3 THEN A1 = 0 AND A2 = 0 AND A3 = 0 AND A4 = 1,where a value of “1” means green light and “0” red light; we can also modify the priority according to the order of the statements; in the above rules the priority is for signal A1.


### 4.4. Genetic Algorithms

Genetic Algorithms (GAs) are adaptive heuristic search algorithms based on the evolutionary ideas of natural selection and genetic processes [5, 32]. The optimization here means to select the best and discard the rest, the Genetic Algorithm. In this paper we used to optimize the best situation of the traffic signals according to the total number of vehicles that will be run away through the four intersections [7, 24].The Genetic Algorithm used in this work has the following features.(i) Codification of a Chromosome. A candidate solution (chromosome) is a binary vector of 16 bits (genes). Each gene corresponds to a traffic signal, where “1” represents the green light and “0” the red light. For each intersection to avoid an accident just one signal is “1” and the rest are “0.” Table 1 shows an example of chromosome.Table 1
An example of one chromosome.
Intersection A
Intersection B
Intersection C
Intersection D
A1
A2
A3
A4
B1
B2
B3
B4
C1
C2
C3
C4
D1
D2
D3
D4
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0(ii) Initial Population. We create a pool of chromosomes satisfying the conditions of the four intersections. It contains 256 chromosomes.(iii) Evaluation of a Chromosome. A fitness value is given to each chromosome as the summation of the total amount of vehicles that has passed away through the four intersections. Here we assume that the number of vehicles that will run away from the signal is 6 every 10 seconds:(1)CIM′=∑I=14∑CIM-E∗610,where CIM′ is total of summation of the number of vehicles that stayed after the green light for the four intersections, CIM is the number of vehicles in the current state, and E is the estimation of green light time interval calculated by means of the FLC system. According to our assumption, each vehicle travels at a speed of 12 m/s, so 6 vehicles will need 10 seconds to change their location. The maximum number of vehicles passing away yields to minimize the number of vehicles that will stay on the intersections. So the objective is to minimize the number of vehicles remaining in the four intersections.(iv) Selection of Mating Pool. We have followed the Baker roulette method [31]. In it, each chromosome is given a circular section of a roulette wheel directly proportional to its fitness. Then the selection is made by playing a ball in the roulette wheel. This way, chromosomes with high fitness are more likely to be passed onto the mating pool and also to the next generation.(v) Crossover Operator. It is applied with probability pc. We have used the standard one-point crossover. Two chromosomes are randomly chosen from the mating pool xi′;yi′∈pi′. Then, a cross point is chosen randomly and the operator is applied producing two new chromosomes xi′′;yi′′∈pi′′.(vi) Mutation Operator. This operator is applied with a probability per gene pm. It flips a random bit of the chromosome.Algorithm1 is repeated every 20 seconds, since it is an amount of time estimated to be enough in order to allow a certain number of vehicles to pass away and change their location. Also, this algorithm is repeated 13 times to obtain the optimal chromosome, because the size of the pool population is 256 divided into 13 populations. Each population contains 20 chromosomes. The circumstance of the traffic situation for the four intersections will be changed. The algorithm work is as shown in Algorithm 1.Algorithm 1
N
=
0
WhileN<13
Random selection of initial population of 20 chromosomes from the pool population of 256 chromosomes
Evaluate the fitness of each chromosome in the population
Select chromosomes from the current population, being the probability of selection an increasing function of fitness.
Crossover  to the pair at a randomly chosen point to form two offspring with probability of crossover equal to 0.1.
Mutate the two offspring at each locus with probability of mutation equal to 0.01, and place the resulting chromosomes
in the new population.
Replace the current population with the new population.
N=N+1
Select best chromosome as solutionThe use of this algorithm is to select the best model of traffic light signal that will lead to reducing the traffic jam for all of four intersections, not only depending on the number of vehicles on a certain intersection or lanes. Also, it calculates the suitable green light signal time for the all intersections to reduce the waiting time for all of the users.


## 4.1. System Design and Notations

The decision making algorithm is designed to provide an optimal performance of traffic signals system, which will decrease the congestion and traffic jam of some abnormal traffic pattern. This algorithm consists of a FLC and a GA. Its goal is to develop an intelligent system that makes decisions in real time.The management of the traffic signals and decisions making of each one are extremely challenging and complex. To simulate the real world several assumptions had to be made to accommodate all the possible situations that can occur, either normally or abnormally, such as car accidents, special events (sport events, festivals, etc.), and even emergency situations. But here we simulate our system for normal situations and conditions.Various assumptions are taken for all the cases:(i)
The system manages four intersections, A, B, C, and D, as shown in Figure2. Each intersection is controlled by an intelligent traffic signal.(ii)
The intersections are assumed to be relatively “busy” and there are a number of vehicles that will travel in the three directions: S: straight; L: turn left, and R: turn right.(iii)
The intersection is assumed to have four roads labelled by the numbers 1, 2, 3, and 4 clockwise starting from left as shown in Figure2.(iv)
All vehicles are travelling with the same speed: 40 km/h (equivalent to 11.1 m/s).(v)
The distance between each intersection is 200 m.Figure 2
The four intersections and road notations. L: turn left; S: straight; and R: turn right.


## 4.2. Fuzzy Logic Rules

A Fuzzy Logic Controller (FLC) can be considered as a knowledge-based system, incorporating human knowledge into its knowledge base through fuzzy rules and fuzzy membership functions [5]. Additionally, fuzzy logic allows the manipulation of linguistic data (such as “Few,” “Medium,” and “Many”) and inaccurate data [14], as a useful tool in the design of signal timing. Fuzzy Logic Toolbox is a compilation of functions built on MATLAB numeric computing environment, and it provides tools for creating and editing fuzzy inference systems within the framework of MATLAB.Fuzzy inference is the process of formulating the mapping from a given input to output using fuzzy logic. The process of fuzzy inference involves membership functions, fuzzy logic operators, and if-then rules. The fuzzy logic system in this paper is used with two inputs and one output, with three membership functions for each input. The type of the functions considered here is a Gaussian membership function. Figure3 shows the Fuzzy Logic Controller system membership functions.Figure 3
Membership functions of the inputs of FLC.The output has also three membership functions that represent the estimation time interval length of green light (G1, G2, and G3), where G1 is the interval between 1 and 10 sec, G2 between 10 and 15 sec, and G3 between 15 and 20 sec. Figure4 shows these membership functions and the surface rule.Figure 4
Membership functions of the output surface rule of FLC2.There are two inputs representing the number of vehicles in the same lane and the number of vehicles in the affected lane. For example, the number of vehicles at lane 3 on intersection A will affect the number of vehicles on lane 2 in intersection C. However, in other cases, there will be three inputs because of the existence of two affected lanes, such as (A1) the number of vehicles at lane 1 of the intersection A which will have an effect on (B1) the number of vehicles at lane 1 in intersection B and also (C2) the number of vehicles at lane 2 in intersection C. In this case the fuzzy logic system will work in two stages: FLC1 will be done for the first two inputs; then the output of this (FLC1) will be considered as an input for the second stage of FLC2 including the third input. Figure5 shows the structure of the system composed of FLC1 and FLC2; FLC1 has two inputs In1 and In2 that represent A1 and B1, respectively, and FLC2 has also two inputs In3 (C3) and the output of FLC1 that represent the green light time interval for the signal at A1. The output of FLC2 represents the final decision of green light time interval for a signal A1.Figure 5
The connection of FLC1 and FLC2.There are two types of fuzzy inference systems that can be implemented in the Fuzzy Logic Toolbox;Mamdani type andSugeno type. In this paper Mamdani type has been used; this type of FLC expects the output membership functions to be fuzzy sets [31]. It is commonly used in inference problems. After the aggregation process, there is a fuzzy set for each output variable that needs defuzzification [31].Usually the knowledge involved in fuzzy reasoning is expressed as a set of rules, in the following form:IfxisAandyisB, thenzisC,where x, y, and z are fuzzy variables and A, B, and C are fuzzy values [25].Thus, the fuzzy sets are rules defined by their antecedents (if part) and consequents (then part). The fuzzy rule-based system, IF-THEN statements, may well involve fuzzy logical connectives such as “AND” and “OR.”In our system a set of nine fuzzy (if-then) rules has been created for every Fuzzy Logic Controller. It reflects the current situation of traffic. For example, IF the number of vehicles in road A3 (input1) is few AND the number of vehicles in road C2 (input2) is few THEN the green time interval for signal A3 (output1) is equal to G1.The following fuzzy rules are considered for the first Fuzzy Logic Controller (FLC1) and Figure6 shows the surface rule of these rules:(1)
If (input1 is Few) and (input2 is Few) then (output1 is G1).(2)
If (input1 is Few) and (input2 is Medium) then (output1 is G1).(3)
If (input1 is Few) and (input2 is Many) then (output1 is G1).(4)
If (input1 is Medium) and (input2 is Few) then (output1 is G2).(5)
If (input1 is Medium) and (input2 is Medium) then (output1 is G2).(6)
If (input1 is Medium) and (input2 is Many) then (output1 is G1).(7)
If (input1 is Many) and (input2 is Few) then (output1 is G3).(8)
If (input1 is Many) and (input2 is Medium) then (output1 is G3).(9)
If (input1 is Many) and (input2 is Many) then (output1 is G1).Figure 6
Surface rule of FLC1.Figure6 shows that when the number of vehicles in input1 (x-axis) is small and the number of vehicles in input2 (y-axis) is small then the extension time of green light time interval (z-axis) becomes zero and starts to grow.We have also created the following nine rules for the second FLC (FLC2), but here input1 represents the output of the FLC1. For example, IF the time of green light for signal A1 (input1) is equal to G1 AND the number of vehicles on lane C2 (input2) is few THEN the green light time interval for signal A1 (output1) is equal to G1. The surface rule of the following rules is shown in Figure7.(1)
If (input1 is G1) and (input2 is Few) then (output1 is G1).(2)
If (input1 is G1) and (input2 is Medium) then (output1 is G1).(3)
If (input1 is G1) and (input2 is Many) then (output1 is G1).(4)
If (input1 is G2) and (input2 is Few) then (output1 is G3).(5)
If (input1 is G2) and (input2 is Medium) then (output1 is G2).(6)
If (input1 is G2) and (input2 is Many) then (output1 is G1).(7)
If (input1 is G3) and (input2 is Few) then (output1 is G3).(8)
If (input1 is G3) and (input2 is Medium) then (output1 is G3).(9)
If (input1 is G3) and (input2 is Many) then (output1 is G2).Figure 7
Surface rule of FLC2.The surface rule of these rules is shown in Figure7.Figure7 shows FLC2 surface rule; the output (z-axis) is small when the green light time interval, input1, (y-axis) is small and the number of vehicles in input2 (x-axis) is also small. The main difference here is that in the case of the green lights time interval will extend up to 10 seconds.With these 18 rules, all possible scenarios are considered for the four intersections and for every traffic signal in each direction and road. According to this approach, the system will be able to decide how much green time the traffic signal shall provide at an intersection and which signal must be red. This can be done by two methods.


## 4.3. Traditional Logic Method

The system decides which signal should be red or green according to classical logic calculation which computes the number of vehicles on each road at each intersection, and, then, it will select the road that has the maximum value at each intersection.If we assume thatCIM is the number of vehicles in intersection I and in road M, some examples are the following:IFCA1≥CA2 AND CA1≥CA3 AND CA1≥CA4 THEN A1 = 1 AND A2 = 0 AND A3 = 0 AND A4 = 0,IFCA2≥CA1 AND CA2≥CA3 AND CA2≥CA4 THEN A1 = 0 AND A2 = 1 AND A3 = 0 AND A4 = 0,IFCA3≥CA1 AND CA3≥CA2 AND CA3≥CA4 THEN A1 = 0 AND A2 = 0 AND A3 = 1 AND A4 = 0,IFCA4≥CA1 AND CA4≥CA2 AND CA4≥CA3 THEN A1 = 0 AND A2 = 0 AND A3 = 0 AND A4 = 1,where a value of “1” means green light and “0” red light; we can also modify the priority according to the order of the statements; in the above rules the priority is for signal A1.


## 4.4. Genetic Algorithms

Genetic Algorithms (GAs) are adaptive heuristic search algorithms based on the evolutionary ideas of natural selection and genetic processes [5, 32]. The optimization here means to select the best and discard the rest, the Genetic Algorithm. In this paper we used to optimize the best situation of the traffic signals according to the total number of vehicles that will be run away through the four intersections [7, 24].The Genetic Algorithm used in this work has the following features.(i) Codification of a Chromosome. A candidate solution (chromosome) is a binary vector of 16 bits (genes). Each gene corresponds to a traffic signal, where “1” represents the green light and “0” the red light. For each intersection to avoid an accident just one signal is “1” and the rest are “0.” Table 1 shows an example of chromosome.Table 1
An example of one chromosome.
Intersection A
Intersection B
Intersection C
Intersection D
A1
A2
A3
A4
B1
B2
B3
B4
C1
C2
C3
C4
D1
D2
D3
D4
0
0
1
0
0
1
0
0
1
0
0
0
1
0
0
0(ii) Initial Population. We create a pool of chromosomes satisfying the conditions of the four intersections. It contains 256 chromosomes.(iii) Evaluation of a Chromosome. A fitness value is given to each chromosome as the summation of the total amount of vehicles that has passed away through the four intersections. Here we assume that the number of vehicles that will run away from the signal is 6 every 10 seconds:(1)CIM′=∑I=14∑CIM-E∗610,where CIM′ is total of summation of the number of vehicles that stayed after the green light for the four intersections, CIM is the number of vehicles in the current state, and E is the estimation of green light time interval calculated by means of the FLC system. According to our assumption, each vehicle travels at a speed of 12 m/s, so 6 vehicles will need 10 seconds to change their location. The maximum number of vehicles passing away yields to minimize the number of vehicles that will stay on the intersections. So the objective is to minimize the number of vehicles remaining in the four intersections.(iv) Selection of Mating Pool. We have followed the Baker roulette method [31]. In it, each chromosome is given a circular section of a roulette wheel directly proportional to its fitness. Then the selection is made by playing a ball in the roulette wheel. This way, chromosomes with high fitness are more likely to be passed onto the mating pool and also to the next generation.(v) Crossover Operator. It is applied with probability pc. We have used the standard one-point crossover. Two chromosomes are randomly chosen from the mating pool xi′;yi′∈pi′. Then, a cross point is chosen randomly and the operator is applied producing two new chromosomes xi′′;yi′′∈pi′′.(vi) Mutation Operator. This operator is applied with a probability per gene pm. It flips a random bit of the chromosome.Algorithm1 is repeated every 20 seconds, since it is an amount of time estimated to be enough in order to allow a certain number of vehicles to pass away and change their location. Also, this algorithm is repeated 13 times to obtain the optimal chromosome, because the size of the pool population is 256 divided into 13 populations. Each population contains 20 chromosomes. The circumstance of the traffic situation for the four intersections will be changed. The algorithm work is as shown in Algorithm 1.Algorithm 1
N
=
0
WhileN<13
Random selection of initial population of 20 chromosomes from the pool population of 256 chromosomes
Evaluate the fitness of each chromosome in the population
Select chromosomes from the current population, being the probability of selection an increasing function of fitness.
Crossover  to the pair at a randomly chosen point to form two offspring with probability of crossover equal to 0.1.
Mutate the two offspring at each locus with probability of mutation equal to 0.01, and place the resulting chromosomes
in the new population.
Replace the current population with the new population.
N=N+1
Select best chromosome as solutionThe use of this algorithm is to select the best model of traffic light signal that will lead to reducing the traffic jam for all of four intersections, not only depending on the number of vehicles on a certain intersection or lanes. Also, it calculates the suitable green light signal time for the all intersections to reduce the waiting time for all of the users.


## 5. Traffic Simulation and Results

MATLAB version 7.5 has been used for the simulations. The Fuzzy Logic Toolbox was used in order to design the FLC; this toolbox provides a number of interactive tools that allow accessing many of the functions through a graphical user interface (GUI). The designed FLC was used to estimate the green light time interval for the traffic signal at each intersection. That signal was assigned by two ways: following traditional logic method and Genetic Algorithm.We must take into account the case that the congestions were coming from outside of the four intersections and affected some of internal roads. For instance, the input traffic to intersection A from roads 1 and 2 will be affected on road 1 of intersection B (B1) and road 2 of intersection C (C2). Similarly, intersection B (roads 2 and 3) will affect A3 and D2, intersection C (roads 4 and 1) will affect A4 and D1, and lastly intersection D (roads 3 and 4) will affect C3 and B4.The following steps summarize the simulation with the two approaches.Traditional Logical Method. This method is a normal logical method that calculates the green light signal time interval by depending on the number of vehicles on the road, where the largest number will get the longest time interval, and small number of vehicles will get shortest time interval of green light signal. The following steps describe how it works.(a)
The number of vehicles at each road for each intersection was simulated as a random number.(b)
An array with 16 elements that satisfies the signals’ current situation was created by the system.(c)
An estimation of the green light time intervals was calculated by Fuzzy Logic Controller.(d)
TheCIM′ values will be calculated.Genetic Algorithm Method
(a)
The number of vehicles at each road for each intersection was taken.
(b)
Run the GA to get an array that satisfies the signals.
(c)
Apply the output of GA to Fuzzy Logic Controllers.
(d)
TheCIM′ values will be calculated. The obtained results in the simulations are very promising. These are shown in Table 2, where the obtained results using Conventional Traffic Signal Controller (CTC) are also shown as a baseline.Table 2
Results of FLC with traditional logic method, Conventional Traffic Controller, CTC, and FLC with Genetic Algorithms, FLCGA. NVB is the number of vehicles that exists in the area of the four intersections before applying the method. NVA is the number of vehicles that exists after applying the method. The T. time is the summation of the total time of green lights time interval that was decided by the method.
NVB
CTC
FLC
FLCGA
NVA
T. time (sec)
NVA
T. time (sec)
NVA
T. time (sec)
Mean
75.6
45.6
60
53
43.07
51.1
32.39
Standard deviation
±10.9
±9.5
0
±12.7
±5.5
±11.2
±6.5
Mean of  absolute deviation
9.5
8
0
10.8
4.5
9.1
5.7
Median
77
45.5
60
52
44.8
52
30.6Table2 has three parts: FLC, FLCGA, and CTC. Each part has two columns: the number of vehicles that stayed in the area of the four intersections after applying the green light time interval and the total summation of the green light time interval for the four intersections. The simulator runs 50 times. It could be noted that, in this table, the mean time of the green light time interval for the four intersections is decreased for the method of FLCGA and relatively has a low number of vehicles that stayed in the area of the four intersections. For example, the mean number of vehicles that stayed in the area is 52 and the total time of green lights time interval is 30.6 seconds for FLCGA, while in CTC almost the same number of vehicles stayed with a total time of 60 seconds. This means FLCGA reduces the waiting time for the vehicles that wait for the green lights to more than one-third. FLC has 59 vehicles that stayed in the area for a total time of 44.8 seconds which is relatively also decreasing the waiting time. If we accumulate the total number of vehicles that stayed in the area of the four intersections and the total time of green light time interval that the three methods used for all the attempts in the last row of the table, we can see that the mean number of vehicles in the CTC is low compared to the two other methods, but it takes a long time for the green light time interval. So we can note the efficiency of FLCGA method in reducing the waiting time, which takes about 32.4, while in the standard traffic signal controller CTC takes 60 sec, so if we calculate the ratio of the performance between the number of vehicles that stayed and the total time of green lights interval with these methods, we get that the performance of FLCGA was enhanced up to 34% from the CTC method and 31% from FLC. Also, the performance of FLC enhances the performance of CTC by about 5% only.Table2 presents the results of the Conventional Traffic Controller (CTC) that has a standard green light time interval for each signal on each intersection that is assumed here to be 15 seconds; Fuzzy Logic Controller (FLC) was obtained with logical method, and the results were obtained from Fuzzy Logic Controller with Genetic Algorithm (FLCGA).Figure8 plots the total time of green light time interval for the four intersections for the three methods. This can easily distinguish that the method of FLCGA has the shorter waiting time for the vehicles that are keeping idle and waiting for the green lights. Also it shows the advantage of FLC when it is used instead of CTC while the CTC is a baseline with a standard value. We can conclude that the FLCGA has the best performance compared to the others, since its values are below those of FLC and CTC, which means a less waiting time that keeps vehicles idle in the road.Figure 8
Estimation of green light time interval for the intersection in three methods: CTC, FLC, and FLCGA.We can note from Figure9 the estimation time determined by each method and for each attempt that the simulator runs for. The average time for FLCGA has the lowest value, 32.9 seconds. Then FLC has 43.07 seconds, and CTC has a standard value of 60 seconds. Here, time represents the total summation of green lights time interval prediction by the method for all of the four intersections. Finally, we can conclude that FLCGA has a shorter waiting time for the idle vehicles.Figure 9
Bar chart of the different methods in determination of green light time interval.There are many factors that can cause a limitation of performance and management of the traffic signals for the four intersections. These limitations are based on the number of vehicles that come in and come out to or from the intersection and the waiting time for the vehicles that exist in a road that has a low number of vehicles; so the priority to have a green light is very low. Also the change in the number of vehicles on each road occurred continuously and is affected by the green light of the near intersection. So we apply these conditions to our simulator. In the case of simulation of the four intersections for a complete cycle of traffic signal, where each signal is in every intersection, we take into our consideration the number of vehicles that come in and come out to/of the four intersections as well as the number of vehicles that park in the area of this intersection. The results of this simulation case are shown in Table3; the simulator was run 5 times to simulate different number of vehicles at each time. The different number of vehicles means the vehicles that exist there come in and come out of the area of the four intersections. From these results we can note that the total time of one complete cycle is reduced to about 28% using FLC, and about 23% applying FLCGA, with respect to the total time taken by CTC. That means the time that the vehicles are waiting to pass the traffic signal is sensibly reduced, pointing to reducing the congestions and traffic jams in the area of these intersections. Beside this, we can note the efficiency of using the method FLCGA instead of other techniques; it is clearly shown in the attempt number 2 (in Table 3). Thus, for almost the same time of green light interval of all the traffic signals in the four intersections, more vehicles pass away the signals in the comparison with FLC.Table 3
Results of one cycle of the traffic signal that contains four passing signals, Conventional Traffic Controller, CTC, FLC with traditional logic method, and FLC with Genetic Algorithms, FLCGA. NVB is the number of vehicles that exists in the area of the four intersections before applying the method; NVP is the number of vehicles passing the traffic signal. TOC is the summation of the total time of green lights time interval in the four intersections at the same time decided by the method.
NOA
NVB
CTC
FLC
FLCGA
NVP
TOC
NVP
TOC
NVP
TOC
1
233
72
60
68
51
82
55.6
240
82
60
51
33.1
61
34
282
92
60
70
42.9
81
42.9
214
86
60
60
40
68
44
Total
332
240
249
167
292
176.5
2
222
78
60
67
53
74
53
207
69
60
47
37.5
67
40
222
79
60
59
41.8
67
41.8
194
62
60
62
52.4
77
52.4
Total
288
240
235
184.7
285
187.2
3
233
68
60
55
40.8
72
49.3
244
64
60
59
49.4
84
55.4
243
72
60
64
51.4
79
51.4
261
71
60
54
40.4
71
39.5
Total
275
240
232
182
306
195.6
4
238
82
60
70
49.2
79
49.2
269
90
60
64
36.5
79
47.8
234
85
60
81
55.7
90
55.7
236
82
60
60
38.5
68
38.5
Total
339
240
275
179.9
316
191.2
5
306
89
60
37
20
67
30
250
83
60
55
30
73
37.3
246
77
60
62
46
77
46
227
74
60
58
48.9
90
56.7
Total
323
240
212
144.9
307
170
Mean
311.4
240.0
240.6
171.7
301.2
184.1
Std. dev.
±25.3
±0.0
±20.9
±14.7
±11.2
±9.5
Mean of  absolute deviation
23.0
0.0
10.0
13.7
9.0
9.1
Median
323.0
240.0
235.0
179.9
306.0
187.2On the other hand, almost the same number of vehicles passes away with FLCGA, but in less than third quarters of time taken by CTC.The results presented in Table3 show the efficiency of using FLCGA in the traffic signal controllers. We can calculate the average percentage of the performance improvements between each method for a one complete cycle of the traffic signals in the four intersections (4 green light signals for each intersection). The FLCGA has an improvement of about 21% and 15% compared to the performance of CTC and FLC, respectively. FLC has a performance improvement of about 7% compared to CTC method.The above results prove the enhancement on the traffic signals controller that can occur if we use FLCs with GA. The improvement can reach 34% for a single traffic signal and reach 21% for a complete cycle of the traffic signal.


## 6. Conclusion

In this paper we introduce a hybrid algorithm that uses Fuzzy Logic Controllers (FLCs) and Genetic Algorithms (GAs) to improve the performance of traffic signal controllers, in order to reduce the traffic jams and the waiting time.The obtained results are found satisfactory, better, and encouraging. As obtained from simulation results there are substantial improvements in the traffic signal control performance when using the FLCGA; the reason for this is that GA looks for the situation that keeps a low number of vehicles in the area of our intersection and a shorter waiting time that is keeping the vehicles idle. The decision was made based on the fuzzy rules and real time traffic information.Most of the recent researchers work on an isolated intersection while this paper handles multi-intersections, concretely with four connected intersections. Various assumptions are used in running of the simulator that simulates the real and normal situation.From the results we can conclude that the FLCGA improves the performance of the traffic signal controller up to 34% in comparison with the standard version of traffic signals controller, which has a predefined timing value (Conventional Traffic Controller, CTC), and up to 31% with respect to a FLC that depends on the traditional logical method. This result can be considered better than other works. They got 25% of improvements for just one isolated intersection while our system for four connected intersections shows improvement of 34%.On the other side, there is little improvement of 5% in the performance when using FLC with traditional logic method instead of CTC.Although the running time of FLCGA is about 20 sec, while the FLC and CTC occur in real time, this time is not affected because it is less than the average of the green light time interval.In the future, we will simulate real traffic (with variable velocities) and also abnormal situations, adding other inputs that can improve the management of intelligent traffic signals system in order to decrease the traffic congestion in the city. For instance, an input determines an emergency situation, by detecting the siren of emergency units and special vehicles, as these vehicles have the priority over regular city traffic. Based on real time traffic conditions, these vehicles will obtain the best route to their destination, involving the cooperation of other vehicles, which will create a virtual corridor for emergency units.



---

*Source: 378156-2015-09-28.xml*