Files
tensorneat-mend/tensorneat/algorithm/base.py
wls2002 6aa9011043 modify pipeline for "update_by_data";
fix bug in speciate. currently, node_delete and conn_delete can successfully work
2024-05-31 15:32:56 +08:00

50 lines
1.2 KiB
Python

from utils import State
class BaseAlgorithm:
def setup(self, state=State()):
"""initialize the state of the algorithm"""
raise NotImplementedError
def ask(self, state: State):
"""require the population to be evaluated"""
raise NotImplementedError
def tell(self, state: State, fitness):
"""update the state of the algorithm"""
raise NotImplementedError
def transform(self, state, individual):
"""transform the genome into a neural network"""
raise NotImplementedError
def restore(self, state, transformed):
raise NotImplementedError
def forward(self, state, inputs, transformed):
raise NotImplementedError
def update_by_batch(self, state, batch_input, transformed):
raise NotImplementedError
@property
def num_inputs(self):
raise NotImplementedError
@property
def num_outputs(self):
raise NotImplementedError
@property
def pop_size(self):
raise NotImplementedError
def member_count(self, state: State):
# to analysis the species
raise NotImplementedError
def generation(self, state: State):
# to analysis the algorithm
raise NotImplementedError