Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

selection.py: add fitness_greedy param to selDoubleTournament #726

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

DestyNova
Copy link

@DestyNova DestyNova commented Sep 19, 2023

I've added a small tweak to selDoubleTournament which allows adding elitism to the size tournament, so that parsimony pressure only applies when fitnesses are equal. The default behaviour (fitness_greedy=False) is the same as the old behaviour, since it may not be helpful in all circumstances.

I've found it converges much quicker and more reliably on a minimisation problem with an integer-valued fitness function. It may be terrible with continuous fitnesses where a tie is rare. Perhaps it would be better to use an epsilon parameter and let the size tournament behave as normal unless the fitnesses are within some distance d of each other? I'd be interested to hear your thoughts.

This adds an element of elitism to the size tournament, so that parsimony pressure only applies when fitnesses are tied. The default behaviour (fitness_greedy=False) is the same as the old behaviour, since it may not be helpful in all circumstances.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant