def TTCvsMMMD(gridPoint):
        if not (gridPoint['compositeClass0']
                == 'integerVectorSymmetricRangeMutations'
                and gridPoint['probabilityOfMutatingClass0'] == 0.2):
            return

        # determining the time of convergence
        bilogFileName = 'bestIndividual{}.log'.format(gridPoint['randomSeed'])
        bilog = np.loadtxt(bilogFileName)
        toc = None  # time of convergence
        # TOME OF CONVERGENCE
        for i in range(bilog.shape[0]):
            if -1. * bilog[i, 1] <= fitnessThreshold:
                toc = i
                break
        if toc is None:
            with open('../results/nonconverged runs', 'a') as ncrf:
                ncrf.write(str(gridPoint['randomSeed']) + '\n')
            return

        # making a scatter of points of TTC vs MMMD
        with open('../results/ttcvsmmmd', 'a') as tmfile:
            for i in range(evsDefaults['genStopAfter'] + 1):
                tmfile.write('{} {}\n'.format(
                    toc - i, gctools.minParetoFrontHammingDistanceToMMM(i)))
 def generateMinMMMDistTimeSeries(gridPoint):
     minMMMDistTS = [
         gctools.minParetoFrontHammingDistanceToMMM(gen)
         for gen in range(1, evsDefaults['genStopAfter'] + 1)
     ]
     filename = minMMMDistFileName(gridPoint)
     with open(filename, 'a') as file:
         file.write(' '.join(map(str, minMMMDistTS)) + '\n')
Beispiel #3
0
 def generateMinMMMDistTimeSlices(gridPoint):
     return [
         gctools.minParetoFrontHammingDistanceToMMM(gen) for gen in stages
     ]