You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So far, the built-in algorithms only calculate the statistics passed using the fitnesses (which is useful most of the cases). However, one may want to calculate stuff on other vectors, e.g. entropy (as a mean of monitoring diversity) considers probability of bit values and for that it needs the population vector.
There are several ways to fix this. These are, from the top of my head, some of the ideas:
Temporal solution, hack/patch: use two Logbooks, one for each data vector.
Long-term solution 1, moderately complex: modify the built-ins such that they receive a parameter that handles this situation.
Long-term solution 2, moderately complex: modify the logger so that it creates a mapping between a string X tuple, instead of string X callable.
Long-term solution 3, highly complex: add a callback module to the end of the built-in algorithms.
Edit 10.07.23: Now we add a new function that uses the new compute method in the rest of the Algorithms
10.07.23: We will move algorithms to a sub-module, and only provide blocks in a general form.
We need the tools and blocks. If you want to use algorithms, feel free; but one should not have to do that!
The text was updated successfully, but these errors were encountered:
Add another constructor to the logbook struct such that it can handle a vector of dictionaries instead. I'm not entirely sure what it all means, but it is a possibility.
Hey guess what, I am implementing the quick fix but as a permanent solution—you just add another algorithm which takes a vector of Logbooks,and another compute! which iterates through a list of data sources.
So far, the built-in algorithms only calculate the statistics passed using the fitnesses (which is useful most of the cases). However, one may want to calculate stuff on other vectors, e.g. entropy (as a mean of monitoring diversity) considers probability of bit values and for that it needs the population vector.
There are several ways to fix this. These are, from the top of my head, some of the ideas:
Temporal solution, hack/patch: use two Logbooks, one for each data vector.
Long-term solution 1, moderately complex: modify the built-ins such that they receive a parameter that handles this situation.
Long-term solution 2, moderately complex: modify the logger so that it creates a mapping between a string X tuple, instead of string X callable.
Long-term solution 3, highly complex: add a callback module to the end of the built-in algorithms.
Edit
10.07.23: Now we add a new function that uses the new compute method in the rest of the Algorithms10.07.23: We will move algorithms to a sub-module, and only provide blocks in a general form.
We need the tools and blocks. If you want to use algorithms, feel free; but one should not have to do that!
The text was updated successfully, but these errors were encountered: