As it explained in my last blog post, I am creating a simple AI agent to improve the driving conditions of a semi-intelligent car, using the concepts of classifier systems. Each true or wrong statement can be shown with a chromosome of numbers. If-part represents the current condition of the environment, and Then-part recommends the action to act upon the environment, based on the If-part of the chromosome. Note that I aim to find and keep good rules (true rules) and withdraw bad rules (wrong rules) in the training process. I am defining a new term, strength (St), for each chromosome that indicates how accurate the chromosome can act upon the environment based on its If-part.
Later, during the learning process, the strength of a rule will be modified based on the accuracy of its Then-part, i.e. the strength of a rule will be increased if it has a right Then-part and vice versa. For this example, the intelligent agent is a set of 11 rules (The number of rules in real examples range from couples of hundreds to thousands), shown in the table below.
The following two examples (It can be replaced by historical data) are used to train the system (note that examples must have a value for ALL parameters in the If and Then-parts):
1) The windshield is wet and the distance from the car ahead is too close and the velocity is low and the engine is on and the lighting is sufficient and the temperature is high ð only wipers are turned on (no other action is taken)
The example is coded as: 100111:1####
2) The windshield is dry and the distance from the car ahead is fine and the velocity is high and the engine is on and the lighting is sufficient and the temperature high ð only doors are locked (no other action taken)
The example is coded as: 011111: ####1
In my next blog post, I will explain how to train the Intelligence System based on two examples mentioned above. For the full list of my post, please check my LinkedIn.