"Five individual logic cells were functionally disconnected from the rest— with no pathways that would allow them to influence the output— yet when the researcher disabled any one of them the chip lost its ability to discriminate the tones. Furthermore, the final program did not work reliably when it was loaded onto other FPGAs of the same type.
It seems that evolution had not merely selected the best code for the task, it had also advocated those programs which took advantage of the electromagnetic quirks of that specific microchip environment. The five separate logic cells were clearly crucial to the chip’s operation, but they were interacting with the main circuitry through some unorthodox method— most likely via the subtle magnetic fields that are created when electrons flow through circuitry, an effect known as magnetic flux."
This is absolutely incredible. Makes you wonder how much potential the real world has compared to the simulated environment usually used to test theoretical solutions.
It's an example of overspecialization and finding weird local minimum trough loophole in the way the problem is encoded.
Genetic algorithms have the ability to capture the imagination of public and computer science students because they can find very messy and random solutions if you run them long enough.
In the general context of search and optimization algorithms they are not impressive. When you can't use anting better, like Mote Carlo or simulated annealing, evolutionary algorithms are often the last hope before brute forcing it. GA can be very impressive when you can restrict the search space and find good representation for the problem.
I get the advantages of generic algorithms. But sometimes overfitting can be very useful. Imagine wind or water turbines where this method could be used to increase their efficiency based on the individual hardware.
Its also likely the solution it found would not work across the operating temperature range of the device. To do it properly would take a lot longer and need a lot more test cases.
Assuming proper instrumentation, GAs provide much better performance vs. brute force in locating software defects. E.g. http://lcamtuf.coredump.cx/afl/
Yes they do. I didn't mean to imply that they are useless.
Evolutionary algorithms and swarm optimization algorithms are the next step above brute force and random search. In the space of optimization algorithms are below everything else.
Usually they are the last option. Using them to locate software defects means that you have no special insight into software defects but you hope to generate something better than random.
I don't think it's that incredible - it demonstrates that even evolutionary algorithms are susceptible to overfitting. In this case, the algorithm found a solution which would work - however, only in the specific environment of the tests and not in the general set of environments that the researches expected the solutions to work.
Has anyone done an actual analysis of how the evolved circuit worked? The suggestion that the unconnected cells interacted through "magnetic flux" seems very hand-wavy. I'd be much more included to blame capacitive coupling between signals, noise spikes from switching, voltage fluctuations, leakage currents or even thermal effects.
You are right. This is incredible. Ignore the naysayers saying that this is just extreme over fitting. This is more than that. Literally it is using rules outside the rules of how to program an fpga to find a solution.
Additionally it is the one algorithm that has produced the human brain and the one algorithm that has produced biological nanomachines that move and think. No other algorithm has done such a feat. It is naive to dismiss such an algorithm as "overfitting" when the incredible results are all around you.
>These evolutionary computer systems may almost appear to demonstrate a kind of sentience as they dispense graceful solutions to complex problems.
Stanislaw Lem wrote about this in Summa Technologiae. He looked at evolution as an alternative way to acquire knowledge (alternative to intelligence). Interestingly, this implies there could be other ways too. But the point is, he postulated that both are examples of the same class of phenomena, which is a fascinating way to look at it.
(He did write about artificial evolution as well. And simulation. In 1964. That book aged extremely well and is full of interesting ideas.)
I remember thinking this was a powerful confluence of genetic algorithms and reconfigurable computing, two pretty hot topics at the time, and was sure that real applications of this were on the horizon.
GA's seem to have been generally replaced by various facets of machine learning (although I'm hard pressed not to see GANs as Darwinian in nature) and the whole reconfigurable computing thing just seems to have dropped off the map. I sort of get the former but am curious if anyone on HN knows what happened to the latter.
For those who are interested, there is a much more thorough technical treatment of this experiment in Richard Gabriel's article "Design Beyond Human Abilities":
The subject matter of the article is amazing, but there seems to be some weirdly out-of-place sexual innuendo in the writing.
Like, what is the purpose of comparing evolutionary algorithms with forced breeding programs - or mentions of the researcher penetrating virgin fields of research?
Author of the article (sheepishly) here: In my mind at the time of writing, the innuendo was an informal experiment of sorts. I wondered whether such suggestive writing would attract or repel readers; who would applaud and who would protest; etc. If you read the other articles on the site, you'll see this one was an outlier, the other articles don't have this tone.
In retrospect I was probably just being juvenile. But then, I always shake my head when I read my old writings, so I may not be the best to assess.
Whoa! Just stealing an opportunity to thank you for writing this, both the subject matter and your style of presenting it are very compelling to me (in context that probably says a lot about my own way of thinking lol). I've shared this with many people over the years as a gentle and sensible introduction to two very cool topics. Thanks!!!
Sure, a little caked in there. But I think it drives a point. Genetics is all about sex, even through bacterial conjugation. It's ultimately the exchange of DNA, of construction patterns. Every person reading this is a product of sex. Every person everywhere at any point in time, past or future, is a product of sex. We don't like to think of it in this way, but we simply can't and don't exist without it.
Way I see the point of that clumsy alliteration is that this particular, traditionally dry, compsci approach is about simulating sex. We find vulgar distasteful, and yet forcing circuits to evolve has a parallel to that vulgarity.
It seems that evolution had not merely selected the best code for the task, it had also advocated those programs which took advantage of the electromagnetic quirks of that specific microchip environment. The five separate logic cells were clearly crucial to the chip’s operation, but they were interacting with the main circuitry through some unorthodox method— most likely via the subtle magnetic fields that are created when electrons flow through circuitry, an effect known as magnetic flux."
This is absolutely incredible. Makes you wonder how much potential the real world has compared to the simulated environment usually used to test theoretical solutions.