This project aims to derive the fitness function for a group of 4 different case studies. Every case study covers a specific application. However, all case studies are composed of sequences of events and every event modifies the system’s state. For instance, add(x).add(x).front() is a sequence of events for circular queue; it generates 2 different states: (len=1; rear=0; front=0) and (len=2; rear=1; front=0). The last event (i.e. front) is only for printing the queue’s front, so it can be neglected as it does not modify the state. The events that modify the data states, called sensitive, and the ones that do not modify the states, called insensitive, are specified in the attached file. As well, the data to be used is attached.
The fitness function has to feature minimizing the number of sequences in the population along with saving sequences with unique states. Hence, there are 2 types of redundancies: redundant sequence (i.e. duplicate sequences or sequence is subset from another) and redundant states in the sequence (i.e. such as adding to full queue or removing from empty queue). Besides, the fitness function has to be applicable for all case studies. It is worth to note that we are targeting more than one solution, not only the best one.
So, any interested who is good in math and genetic algorithm please contact me.