Exemple #1
0
        y = y.copy(order='C')
        yhat = yhat.copy(order='C')

        test_error = fitness_rmse(y, yhat)

        return (error, {'generation': 0, "evals": 1, "test_error": test_error})

    def __str__(self):
        descr = "len(train):%d len(test):%d\n\n" % (len(
            self.__train_set), len(self.__test_set))
        descr += "Training_set:\n"
        for i in self.__train_set[0:5]:
            descr += str(i) + "\n"
        descr += "Test_set:\n"
        for i in self.__test_set[0:5]:
            descr += str(i) + "\n"
        return descr


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    from configs.standard import RUN, MAX_REC_LEVEL

    experience_name = "Supervised_learning_test/"
    grammar = grammar.Grammar("../grammars/keijzer6.bnf", 5)
    evaluation_function = Keijzer6(RUN)
    core.sge.evolutionary_algorithm(grammar=grammar,
                                    eval_func=evaluation_function,
                                    exp_name=experience_name)
Exemple #2
0
            self.matrix.append(list())
            self.matrix_exc.append(list())
            for j, col in enumerate(line):
                if col == "#":
                    self.matrix[-1].append("food")
                    self.matrix_exc[-1].append("food")
                elif col == ".":
                    self.matrix[-1].append("empty")
                    self.matrix_exc[-1].append("empty")
                elif col == "S":
                    self.matrix[-1].append("empty")
                    self.matrix_exc[-1].append("empty")
                    self.row_start = self.row = i
                    self.col_start = self.col = j
                    self.dir = 1
        self.matrix_row = len(self.matrix)
        self.matrix_col = len(self.matrix[0])

    def setup(self, *args):
        self.random_number_generator = args[0]


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    experience_name = "Ant/"
    grammar = grammar.Grammar("grammars/antgrammar.txt", 6, 17)
    evaluation_function = AntSimulator(650)
    core.sge.evolutionary_algorithm(grammar=grammar,
                                    eval_func=evaluation_function,
                                    exp_name=experience_name)
    #         if t_p == g_p:
    #             # Perfect match.
    #             error -= 1
    #         else:
    #             # Imperfect match, find ASCII distance to match.
    #             error -= 1.0 / float((1 + (abs(ord(t_p) - ord(g_p)))))
    #     return (error, {})

    def evaluate(self, individual):
        print "individual= %s" %(individual)
        try:
            error = edit_dis(individual, self.target)
        except:

            error=self.__invalid_fitness

        return (error, {})



if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    from configs.standard import RUN , MAX_REC_LEVEL



    experience_name = "string_match/"
    grammar = grammar.Grammar("../grammars/string_match.bnf", 35)
    evaluation_function = String_match(RUN)
    core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
Exemple #4
0
        y = y.copy(order='C')
        yhat = yhat.copy(order='C')

        test_error = eval_f1_score(y, yhat)

        return (error, {'generation': 0, "evals": 1, "test_error": test_error})

    def __str__(self):
        descr = "len(train):%d len(test):%d\n\n" % (len(
            self.__train_set), len(self.__test_set))
        descr += "Training_set:\n"
        for i in self.__train_set[0:5]:
            descr += str(i) + "\n"
        descr += "Test_set:\n"
        for i in self.__test_set[0:5]:
            descr += str(i) + "\n"
        return descr


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    from configs.standard import RUN, MAX_REC_LEVEL

    experience_name = "banknote/"
    grammar = grammar.Grammar("../grammars/banknote.bnf", 5)
    evaluation_function = Banknote(RUN)
    core.sge.evolutionary_algorithm(grammar=grammar,
                                    eval_func=evaluation_function,
                                    exp_name=experience_name)
Exemple #5
0
    parity = 1
    for j in range(PARITY_FANIN_M):
        dividor /= 2
        if value >= dividor:
            inputs[i][j] = 1
            parity = int(not parity)
            value -= dividor
        else:
            inputs[i][j] = 0
    outputs[i] = parity


class Parity5():
    def evaluate(self, individual):
        error = PARITY_SIZE_M
        for i, inpt in enumerate(inputs):
            res = eval(individual, dict(zip(input_names, inpt)))
            if res == outputs[i]:
                error -= 1
        return (error, {})


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    experience_name = "5Parity/"
    grammar = grammar.Grammar("grammars/5_bit_parity_grammar.txt", 6, 17)
    evaluation_function = Parity5()
    core.sge.evolutionary_algorithm(grammar=grammar,
                                    eval_func=evaluation_function,
                                    exp_name=experience_name)
import os, sys
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')
from util.cython.interface import eval_parity


class Parity_5:
    def evaluate(self, individual):

        error = eval_parity(individual, 5)

        return (error, {})


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    from configs.standard import MAX_REC_LEVEL

    experience_name = "Parity5/"
    grammar = grammar.Grammar("../grammars/parity5.bnf", 5)
    evaluation_function = Parity_5()
    core.sge.evolutionary_algorithm(grammar=grammar,
                                    eval_func=evaluation_function,
                                    exp_name=experience_name)
Exemple #7
0
        if individual == None:
            return None
        error = self.get_error(individual, self.__train_set)
        error = _sqrt_(error / self.__RRSE_train_denominator)
        test_error = self.get_error(individual, self.__test_set)
        test_error = _sqrt_(test_error / float(self.__RRSE_test_denominator))
        return (error, {'generation': 0, "evals": 1, "test_error": test_error})

    def __str__(self):
        descr = "len(train):%d len(test):%d\n\n" % (len(
            self.__train_set), len(self.__test_set))
        descr += "Training_set:\n"
        for i in self.__train_set[0:5]:
            descr += str(i) + "\n"
        descr += "Test_set:\n"
        for i in self.__test_set[0:5]:
            descr += str(i) + "\n"
        return descr


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    from configs.standard import RUN
    experience_name = "BostonHousing/"
    grammar = grammar.Grammar("grammars/boston_housing_grammar.txt", 5)
    evaluation_function = BostonHousing(RUN)
    core.sge.evolutionary_algorithm(grammar=grammar,
                                    eval_func=evaluation_function,
                                    exp_name=experience_name)
Exemple #8
0
        y = y.copy(order='C')
        yhat = yhat.copy(order='C')

        test_error = fitness_rmse(y, yhat)

        return (error, {'generation': 0, "evals": 1, "test_error": test_error})

    def __str__(self):
        descr = "len(train):%d len(test):%d\n\n" % (len(
            self.__train_set), len(self.__test_set))
        descr += "Training_set:\n"
        for i in self.__train_set[0:5]:
            descr += str(i) + "\n"
        descr += "Test_set:\n"
        for i in self.__test_set[0:5]:
            descr += str(i) + "\n"
        return descr


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    from configs.standard import RUN, MAX_REC_LEVEL

    experience_name = "Supervised_learning_test/"
    grammar = grammar.Grammar("../grammars/vladislavleva4.bnf", 5)
    evaluation_function = Supervised_learning(RUN)
    core.sge.evolutionary_algorithm(grammar=grammar,
                                    eval_func=evaluation_function,
                                    exp_name=experience_name)
Exemple #9
0
        y = y.copy(order='C')
        yhat = yhat.copy(order='C')

        test_error = fitness_rmse(y, yhat)

        return (error, {'generation': 0, "evals": 1, "test_error": test_error})

    def __str__(self):
        descr = "len(train):%d len(test):%d\n\n" % (len(
            self.__train_set), len(self.__test_set))
        descr += "Training_set:\n"
        for i in self.__train_set[0:5]:
            descr += str(i) + "\n"
        descr += "Test_set:\n"
        for i in self.__test_set[0:5]:
            descr += str(i) + "\n"
        return descr


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    from configs.standard import RUN, MAX_REC_LEVEL

    experience_name = "housing/"
    grammar = grammar.Grammar("../grammars/housing.txt", 5)
    evaluation_function = Housing(RUN)
    core.sge.evolutionary_algorithm(grammar=grammar,
                                    eval_func=evaluation_function,
                                    exp_name=experience_name)
Exemple #10
0
#    GNU Lesser General Public License for more details.
#
#    You should have received a copy of the GNU Lesser General Public
#    License along with DEAP. If not, see <http://www.gnu.org/licenses/>.
"""
import os, sys
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')
from util.cython.interface import eval_multiplexer


class Multiplexer_11:
    def evaluate(self, individual):
        """
        SOLUTION="( i3 and ( not i2 ) and ( not i1 ) and ( not i0 ) ) or ( i4 and ( not i2 ) and ( not i1 ) and ( i0 ) ) or ( i5 and ( not i2 ) and ( i1 ) and ( not i0 )) or ( i6 and ( not i2 ) and ( i1 ) and ( i0 ) ) or ( i7 and i2 and not( i1 ) and not ( i0 ) ) or ( i8 and i2 and ( not i1 ) and i0 ) or ( i9 and i2 and i1 and ( not i0 ) ) or ( i10 and i2 and i1 and i0 )"
        """
        error = eval_multiplexer(individual, 3)

        return (error, {})


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    from configs.standard import MAX_REC_LEVEL

    experience_name = "Mux11/"
    grammar = grammar.Grammar("../grammars/mux11.bnf", 5)
    evaluation_function = Multiplexer_11()
    core.sge.evolutionary_algorithm(grammar=grammar,
                                    eval_func=evaluation_function,
                                    exp_name=experience_name)
Exemple #11
0
        if individual == None:
            return None

        error = self.get_error(individual, self.__train_set)
        error = _sqrt_(error / self.__RRSE_train_denominator)

        if error == None:
            error = self.__invalid_fitness

        if self.__test_set != None:
            test_error = 0
            test_error = self.get_error(individual, self.__test_set)
            test_error = _sqrt_(test_error /
                                float(self.__RRSE_test_denominator))

        return (error, {'generation': 0, "evals": 1, "test_error": test_error})

    def setup(self, *args):
        self.random_number_generator = args[0]


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    experience_name = "Regression/"
    grammar = grammar.Grammar("grammars/regression.txt", 5)
    evaluation_function = SymbolicRegression()
    core.sge.evolutionary_algorithm(grammar=grammar,
                                    eval_func=evaluation_function,
                                    exp_name=experience_name)
            self.matrix.append(list())
            self.matrix_exc.append(list())
            for j, col in enumerate(line):
                if col == "#":
                    self.matrix[-1].append("food")
                    self.matrix_exc[-1].append("food")
                elif col == ".":
                    self.matrix[-1].append("empty")
                    self.matrix_exc[-1].append("empty")
                elif col == "S":
                    self.matrix[-1].append("empty")
                    self.matrix_exc[-1].append("empty")
                    self.row_start = self.row = i
                    self.col_start = self.col = j
                    self.dir = 1
        self.matrix_row = len(self.matrix)
        self.matrix_col = len(self.matrix[0])


    def setup(self, *args):
        self.random_number_generator = args[0]



if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    experience_name = "Ant/"
    grammar = grammar.Grammar("../grammars/antgrammar.txt", 5)
    evaluation_function = AntSimulator(650) 
    core.sge.evolutionary_algorithm(grammar = grammar, eval_func=evaluation_function, exp_name=experience_name)
    parity = 1
    for j in range(PARITY_FANIN_M):
        dividor /= 2
        if value >= dividor:
            inputs[i][j] = 1
            parity = int(not parity)
            value -= dividor
        else:
            inputs[i][j] = 0
    outputs[i] = parity


class Parity5():
    def evaluate(self, individual):
        error = PARITY_SIZE_M
        for i, inpt in enumerate(inputs):
            res = eval(individual, dict(zip(input_names, inpt)))
            if res == outputs[i]:
                error -= 1
        return (error, {})


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    experience_name = "5Parity/"
    grammar = grammar.Grammar("../grammars/5_bit_parity_grammar.txt", 5)
    evaluation_function = Parity5()
    core.sge.evolutionary_algorithm(grammar=grammar,
                                    eval_func=evaluation_function,
                                    exp_name=experience_name)
Exemple #14
0
import os, sys

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')
from util.cython.interface import eval_max_py


class MAX_PY:
    def evaluate(self, individual):

        # print(individual)
        error = eval_max_py(individual)

        return (error, {})


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    import os
    from configs.standard import MAX_REC_LEVEL

    experience_name = "max_py/"
    grammar = grammar.Grammar("../grammars/max_py.bnf", 5)
    evaluation_function = MAX_PY()
    core.sge.evolutionary_algorithm(grammar=grammar,
                                    eval_func=evaluation_function,
                                    exp_name=experience_name)
Exemple #15
0
        indexOutput += k * 2**j
    outputs[i] = inputs[i][indexOutput]

    to_evaluate = [dict(zip(input_names, i)) for i in inputs]


class Multiplexer_11:
    def evaluate(self, individual):
        """
        SOLUTION = "(i0 and (not s2) and (not s1) and (not s0)) or (i1 and (not s2) and (not s1) and (s0)) or (i2 and (not s2) and (s1) and (not s0)) or (i3 and (not s2) and (s1) and (s0)) or (i4 and s2 and not(s1) and not(s0)) or (i5 and s2 and (not s1) and s0) or (i6 and s2 and s1 and (not s0)) or (i7 and s2 and s1 and s0)"
        """

        error = len(inputs)
        program = compile("res = " + individual, '<string>', 'exec')
        for i, variables in enumerate(to_evaluate):
            exec program in variables
            res = variables['res']
            if res == outputs[i]:
                error -= 1
        return (error, {})


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    experience_name = "Mux11/"
    grammar = grammar.Grammar("grammars/mux11_grammar.txt", 5)
    evaluation_function = Multiplexer_11()
    core.sge.evolutionary_algorithm(grammar=grammar,
                                    eval_func=evaluation_function,
                                    exp_name=experience_name)
Exemple #16
0
        elif yhat.size == 1:
            # for the problem that yhat is ndarray but size is 1
            yhat = np.full(np.shape(y), yhat, dtype=float)

        y = y.copy(order='C')
        yhat = yhat.copy(order='C')

        test_error = fitness_rmse(y,yhat)

        return (error, {'generation': 0, "evals": 1, "test_error": test_error})

    def __str__(self):
        descr = "len(train):%d len(test):%d\n\n" % (len(self.__train_set), len(self.__test_set))
        descr += "Training_set:\n"
        for i in self.__train_set[0:5]: descr += str(i) + "\n"
        descr += "Test_set:\n"
        for i in self.__test_set[0:5]: descr += str(i) + "\n"
        return descr


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    from configs.standard import RUN,MAX_REC_LEVEL


    experience_name = "Supervised_learning_test/"
    grammar = grammar.Grammar("../grammars/pagie.bnf", 5)
    evaluation_function = Paige(RUN)
    core.sge.evolutionary_algorithm(grammar=grammar, eval_func=evaluation_function, exp_name=experience_name)
Exemple #17
0
from .model_evaluator import train_model
import datetime


class LRScheduler:
    def __init__(self):
        pass

    def evaluate(self, phen):
        #value = train_model(phen)
        #return 1 - 0.2, ''
        value = train_model("0.0")
        return value


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    experience_name = "LR" + str(datetime.datetime.now()) + "/"
    grammar = grammar.Grammar("grammars/grammar_proposal.txt", 6, 17)
    evaluation_function = LRScheduler()
    core.sge.evolutionary_algorithm(grammar=grammar,
                                    eval_func=evaluation_function,
                                    exp_name=experience_name)
import os, sys
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')
from util.cython.interface import eval_ant


class ANT:
    def evaluate(self, individual):
        """
        SOLUTION = "ifa begin  mv  end begin  tl ifa begin  mv end begin  tr  end  tr ifa begin mv end begin  tl  end mv  end"
        """

        # print(individual)
        error = eval_ant(individual)

        return (error, {})


if __name__ == "__main__":
    import core.grammar as grammar
    import core.sge
    import os
    from configs.standard import MAX_REC_LEVEL

    experience_name = "ant/"
    grammar = grammar.Grammar("../grammars/ant.bnf", 5)
    evaluation_function = ANT()
    core.sge.evolutionary_algorithm(grammar=grammar,
                                    eval_func=evaluation_function,
                                    exp_name=experience_name)