(1) This problem concerns of the proof of the NP-completeness of 300L
a) Convert the formula F into a 300L graph
b) Find a solution for the 300L instance of F and verify that it is a solution for F
F = (Z1 V Z2) ^ (z1 V z2 V z3 V z4)
(2)
The Traveling Salesman Problem (TSP) is one which has commanded much attention in Artificial Intelligence because it is so easy to describe and so difficult to solve. The problem can simply be stated as: if a traveling salesman vvishes to visit exactly once each of a list m cities (where the cost of traveling from city i to city j is co) and then return to the home city, what is the least costly route the traveling salesman can take.
The importance of the TSP is that it is representative of a larger class of problems known as combinatorial optimization problems. The TSP problem belongs in the class of combinatorial optimization problems known as NIP-hard. Today. no one has found a polynomial-time algorithm for the TSP.
A Simple Genetic Algorithm
A simple genetic algorithm can be defined in the following 9 steps:
Step 1: create an initial population of P chromosomes (generation 0)
Step 2: evaluate the fitness of each chromosome
Step 3: Select P parents from the current population via proportional selection (i.e.. the selection probability is proportional to the fitness).
Step 4: choose at random a pair of parents for mating. Exchange bit strings with a crossover operation to create two offspring (e.g., one-point crossover)
Step 5: process each offprint by the mutation operation, and insert the resulting offspring in the new population
Step 6: repeat steps 4 and 5 until all parents are selected and mated (P offspring are created)
Step 7: replace the old population of chromosomes in the new population Step 8: evaluate the fitness of each chromosome in the new population
Step 9: go back to step 3 if the number of generations is less than some upper bound. Otherwise, the final result is the best chromosome created during the search.
Selection Probability:
The parent chromosomes are selected for mating via proportional selection. also known as roulette wheel selection'. It is defined as follows:
'1) Sum up the fitness values of all chromosomes in the population
2) Generate a random number between 0 and the sum of the fitness values
3) Select the first chromosome whose fitness value added to the sum of the fitness values of the previous chromosomes is greater than or equal to the random number
Initial population
In addition to the crossover and mutation operators you will also evaluate the impact of the GAs with the following initial populations:
- Randomly generated population
- Nearest neighbor insertion
Crossover and mutation operators
Write a program that solves the TSP using Genetic Algorithms. Explain and implement the following crossover & mutation operators:
- Uniform order-based crossover
- Cycle Crossover (CX)
- Reciprocal exchange mutation
- Scramble Mutation
Output:
1. Solution
2. Implementation of Genetic algorithms with the above mentioned crossover and mutation operations
3. A basic evaluation that should describe the following two basic configurations:
Configuration
|
initial Solution
|
Crossover
|
Mutation
|
Selection
|
1
|
Random
|
Uniform Crossover
|
Reciprocal Exchange
|
Random Selection
|
2
|
Random
|
Cycle Crossover
|
Scramble Mutation
|
Random Selection
|
Population size = 100 Mutation rate = 0.1
Extensive evaluation of the GA, i.e., initial population, crossover & mutation operators. Extensively evaluate the following combination of operations investigate the impact of varying the population, size, explore different mutation rates, and evaluate the impact of your GA with and without elite survival.
Configuration
|
Initial Solution
|
Crossover
|
Mutation
|
Selection
|
3
|
Random
|
Uniform Crossover
|
Reciprocal Exchange
|
Roulette Wheel
|
4
|
Random
|
Cycle Crossover
|
Reciprocal Exchange
|
Roulette Wheel
|
5
|
Random
|
Cycle Crossover
|
Scramble Mutation
|
Roulette Wheel
|
6
|
Random
|
Uniform Crossover
|
Scramble Mutation
|
Best and Second best candidates
|
Provide a comprehensive description of the algorithms and an extensive evaluation of the results. It should describe the experimental design, what experiments are and what they are intended to show.
Use tables and figures where appropriate.
Assess the overall performance of your optimization algorithms for solving the travelling salesman problem. Typically, to evaluate the performance of your algorithm for a single configuration you would run your algorithm multiple times (at least 5 times in this project with at least 1000 iterations per execution) and record the best fitness for all runs. You can then report the mean and median fitness across all runs. Your results should show that you have considered the suggested operators (e.g., crossover, mutation and selection).
(nb: problem instances will be provided) Deliverable:
- Source code in python
- Any instructions for executing source
- A sample file that describes the test run on the program
- Descriptions and documentation