1. ## Cross island fertilization

I see to neighbors to islands with strong individuals are often far weaker. I'm curious to find out how often sharing genetic material between neighborhoods occurs and how the threshold for sharing was arrived at.

2. Migration occurs roughly every half hour. However fitness evaluation is noisy so the same individual will get a range of scores. Currently the fitness values you see are the average of 30 evaluations. However as we approach areas of higher fitness it might be better to put this up a bit to make the fitness scores more accurate. The problem is this makes the whole thing slower. So for now I'll leave it like this. As long as the whole cluster's fitness is going up.
Hope this helps,
Miguel

3. Thanks for the reply. How can the fitness be noisy? I've seen multi-goal optimizations where an individual gets a score for each goal and the scores are summed (or weighted and summed), and I've heard of dynamically changing the fitness function to emphasize goals for which the population doesn't score so well ...

4. In this case there are also 4 fitness measures but a dictionary order is used to sort the population. So the first fitness value dominates all others, the second dominates 3 and 4, etc..

As for noise.: sequential circuits will respond differently to the same set of inputs if they're provided in a different order. They will also behave differently under different delay conditions. This difference in behaviour accounts for a difference in fitness score, hence the noise.

5. Originally posted by miguelgarvie
In this case there are also 4 fitness measures but a dictionary order is used to sort the population. So the first fitness value dominates all others, the second dominates 3 and 4, etc..

As for noise.: sequential circuits will respond differently to the same set of inputs if they're provided in a different order. They will also behave differently under different delay conditions. This difference in behaviour accounts for a difference in fitness score, hence the noise.
Now my logic design course comes back to me ... outputs are a function of inputs and the state of the rest of the circuit. (I'm an RF engineer now.) I can imagine that, if a GA is given free reign to connect outputs of logic blocks back to inputs, the state picture can get really complicated.

Are all of these sequential designs your group is using GAs to evolve synchronous designs?

6. Yeah, all circuits we're trying to evolve are synchronous. However evolution is unconstrained so now and then it goes through designs with asynchronous behaviour and this accounts for most of the noise. This is why a circuit is evaluated 30 times, to make sure that the undesired asynchronous behaviour is spotted.
However what is interesting about hardware evolution, is that there may be cases where asynchronous behaviour is desirable. Where evolution has found a circuit which exploits this behaviour in a subtle way an engineer would've never conceived to perform the same task with less resources.
Miguel

7. maybe it would be useful to have the best asynchronous design side by side with the best synchronous. Since we're going to find the best asynchronous anyway since we find everything it wouldn't be an extra thing to look for. And if asynchronous is working, then it stands that there is something to learn from the circuit since it is non-intuitive. Of course if this is already done and i missed it then oops.

8. Whatever works is included in the population. Some designs will be asynchronous while others will pay strict attention to the clock input. The best circuit so far is mainly synchronous but has some asynchronous oscillatory behaviour at some points. This may or may not end up being the best strategy. We shall see...