Skip to content

Conversation

@portaloffreedom
Copy link
Contributor

I added a new experiment
and made some fixes in the incongruences of the snapshot creation

In this experiment I want to use speciation only for the first n generations and then transition to a more traditional evolutionary algorithm with no species.

- added conversion methods from and to speciated populations
- fixed the incoungrences in the speciated and non speciated snapshots
this experiments tests how much we can use the species division as early exploration than later exploited by a traditional evolutionary algorithm
- moved morphology_compatibility into the main code, as it can be shared by multiple experiments
@portaloffreedom portaloffreedom requested a review from DaanZ May 15, 2020 13:59
@portaloffreedom portaloffreedom self-assigned this May 15, 2020
@portaloffreedom portaloffreedom changed the base branch from master to development May 15, 2020 14:00
Copy link

@DaanZ DaanZ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would use more clear names for the new functions, but the rest seems fine to merge now.

next_species_id: int = 1):
# TODO analyzer
super().__init__(config, simulator_queue, analyzer_queue, next_robot_id)
self.config: PopulationSpeciatedConfig = self.config # this is only for correct type hinting
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Too bad we have to do it this way...


return new_population

def into_population(self) -> Population:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Into population is a weird name to me for a function.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe get_regular_population?


return new_population

def into_speciated_population(self,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

get_speciated_population?

generation_folder = self.config.experiment_management.generation_folder(gen_num)
for _, _, files in os.walk(generation_folder):
for file in files:
test = extract_id.search(file)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

test?

portaloffreedom and others added 4 commits May 18, 2020 12:27
@portaloffreedom portaloffreedom added the new experiment New experiments not done yet label Nov 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new experiment New experiments not done yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants