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

Discriminate between evaluated and unevaluated entity collections #298

Closed
gpampara opened this issue Aug 17, 2018 · 1 comment
Closed

Discriminate between evaluated and unevaluated entity collections #298

gpampara opened this issue Aug 17, 2018 · 1 comment
Assignees
Labels
bug Something isn't working enhancement New feature or request

Comments

@gpampara
Copy link
Member

Algorithm various such the best strategy for the DE require that the entity collection be
pre-evaluated. This is required to make sure that the various fitness comparisons succeed.

This kind of usage needs to, however, raise a compiler error and not fail at runtime.

A first thought would be to change the signature of the algorithms, from:

NonEmptyList[Entity[S,A]] => Entity[S, A] => Step[B, Entity[S, A]]

to something like:

Collection[Entity[S, A], X] => Entity[S, A] => Step[B, Entity[S, A]]

Where X could be a phantom type that tracks the evaluation status of the collection? There is no
definitive solution right now, but this issue is to track the problem so that we don't forget
about this potential issue.

@gpampara gpampara added bug Something isn't working enhancement New feature or request labels Aug 17, 2018
@gpampara gpampara self-assigned this Aug 17, 2018
@gpampara
Copy link
Member Author

After some discussion, this doesn't seem to really be an issue as the uninitialized state for the initial iteration simply means a more diverse starting point for the optimization process and therefore, not necessarily a bad thing.

As a result of this observation, I'm closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant