Projets : structure par projet (jeu_de_la_vie, labyrinthe, mastermind, wator)
This commit is contained in:
65
Projets/src/problem_interface.py
Normal file
65
Projets/src/problem_interface.py
Normal file
@@ -0,0 +1,65 @@
|
||||
class Problem_Interface(object):
|
||||
'''
|
||||
a prototype class for "problems" in genetic algorithm
|
||||
|
||||
an Individual class must be associated to a problem to represent the individuals
|
||||
'''
|
||||
|
||||
def create_individual(self):
|
||||
'''
|
||||
create a randomly generated indidivual for this problem
|
||||
|
||||
:return: a randomly generated individual gfor this problem
|
||||
:rtype: an Individual object
|
||||
'''
|
||||
pass
|
||||
|
||||
def evaluate_fitness(self, individual):
|
||||
'''
|
||||
compute the fitness of individual for this problem
|
||||
|
||||
:param individual: the individual to consider
|
||||
:type individual: an Individual object
|
||||
:return: the fitness of individual for this problem
|
||||
:rtype: an Individual object
|
||||
'''
|
||||
pass
|
||||
|
||||
def sort_population(self, population):
|
||||
'''
|
||||
sort population from best fitted to worst fitted individuals.
|
||||
Depending on the problem, it can correspond to ascending or descending order with respect to the fitness function.
|
||||
|
||||
side effect : population is modified by this method
|
||||
|
||||
:param population: the list of individuals to sort
|
||||
:type population: list(Individual)
|
||||
'''
|
||||
pass
|
||||
|
||||
def best_individual(self, population):
|
||||
'''
|
||||
return the best fitted individual from population.
|
||||
Depending on the problem, it can correspond to the individual with the highest or the lowest fitness value.
|
||||
|
||||
|
||||
:param population: the list of individuals to sort
|
||||
:type population: list(Individual)
|
||||
:return: the best fitted individual of population
|
||||
:rtype: an Individual object
|
||||
'''
|
||||
pass
|
||||
|
||||
def tournament(self, first, second):
|
||||
'''
|
||||
perform a rounament between two individuals, the winner is the most fitted one, it is returned
|
||||
|
||||
|
||||
:param first: an individual
|
||||
:type first: an Indivdual object
|
||||
:param second: an individual
|
||||
:type second: an Individual object
|
||||
:return: the winner of the tournament
|
||||
:rtype: Individual object
|
||||
'''
|
||||
pass
|
||||
Reference in New Issue
Block a user