Esempio n. 1
0
 def __init__(self, num=0):
     self._playernum = num
     self._finalboard = fbc.FinalBoardComponent()
     self._penalty = p.Penalty()
     self._prepboard = pbc.PrepBoardComponent(self._finalboard,
                                              self._penalty)
     self._score = 0
     self._firstplayer = False
     self._projfinalboard = fbc.FinalBoardComponent()
Esempio n. 2
0
    def __init__(self, chromosome, resEval, penEval, fitnessEval, pop):

        self.Chromosome = chromosome
        self.ResEval = resEval
        self.PenEval = penEval
        self.FitnessEval = fitnessEval
        self.PopulationSize = 400
        self.Elitism = 2
        self.SelectionOp = TournamentSelectionOperator(2, 2)
        self.RecombinationOp = DrunkRecombinationOperator()
        self.MutationOp = None

        self.PenEval.Evaluate(pop)
        self.FitnessEval.Evaluate(pop)
        pop.SortByFitness()

        self.Population = pop
        rdb = Surrogate.ResponseDatabaseFromPopulation(self.Population)
        sdb = Surrogate.SuccessDatabaseFromPopulation(self.Population)
        self.ResponseModel = Surrogate.RBFNetwork()
        self.ResponseModel.Train(rdb)
        self.SuccessModel = Surrogate.RBFNetwork()
        self.SuccessModel.Train(sdb)
        self.SurrogateResEval = SurrogateResponseEvaluator(
            self.ResponseModel, self.SuccessModel, self.Chromosome)

        self.SurrogateChromosome = self.Chromosome.Clone()
        self.SurrogateChromosome.Responses.append(
            Value("TorczonMerit", "FLOAT", 0.0))
        self.SurrogatePenEval = copy.deepcopy(self.PenEval)
        self.SurrogatePenEval.ObjectivePenalties.append(
            Penalty("MAXIMIZE", "TorczonMerit", exponent=1.0))
        #		self.SurrogatePenEval.ConstraintPenalties.append(Penalty("LOWER_BOUND", "__SUCCESS__", 100.0, 1.0, 0.5))

        self.TrustRegion = TrustRegion(self.SurrogateChromosome)
        self.TrustRegionSize = 1.0
        self.TrustRegionCoeffWhenImproved = 1.3  # 1.2
        self.TrustRegionCoeffWhenNotImproved = 0.9  # 0.7
        self.TrustRegionSizeMinimum = 0.05

        self.MeritWeight = 0.01

        self.HistoryOutput = open("history.dat", "w")