On the Origin of Circuits (2007)
damninteresting.com
damninteresting.com
Have there ever been experiments that tried using 3D primitives or even language primitives from programming languages? There's almost an unlimited amount of possible input primitives, yet the industry seems to only focus on neural nets.
Lots. For instance, in 1985 I used evolution to breed tic-tac-toe programs (in assembly on simulated game CPUs).
Koza used many different approaches, including evolving Lisp programs (the tree structure works well).
For most problem solving purposes simulated annealing works as well or better, with vastly less computation, which is perhaps the main reason that things like genetic programming have stayed niche rather than taking over the world.
Koza was also the one that first bred simulated creatures that learned to ambulate in a 3d environment, back in the late 80s, on Thinking Machines -- quite impressive in that era.
> the industry seems to only focus on neural nets.
There's more payoff per unit of computation. The right tool for the right job, and all that.
Yet, most of it happens in academia and paid industry with a lot of good information not easily accessible to non-experts. There's not as much momentum in developing easy to use tools and frameworks for most use cases like we see with, say, web applications. This limits the field to people willing to put in significant time in understanding the subject, the methods, their strengths/limitations, and the various implementations out there.
Nonetheless, I at least enjoy reading the abstracts and know I could contract a specialist for a certain applications.
[1] http://kk.org/mt-files/outofcontrol/ch15-d.html
[2] http://www.genetic-programming.org/combined.html
[3] http://www.popsci.com/scitech/article/2006-04/john-koza-has-...
And that .01% often optimizes some weird corner case that kinda, sorta works but isn't really a "solution" (sickle cell anemia).
And in the .000001% case generates something genuinely useful (vision).
Gee, sort of like actual evolution, no?
This was the better part of a decade ago during my sophomore year of university, so it's entirely possible I somehow fucked up the backprop that was guiding it. In hindsight, maybe I was pruning too hard. But my experience was that it's hard to get your nets to develop the complexity to escape the basic naieve cases.
Genetic algorithms produce really interesting results, but like Thompson they also tend to produce irreproducible results, or specifically results that work in the environment where they were evolved but no where else.
That makes the output often less than useful and very challenging to certify. Some of the most successful work I know of has been done with antenna design.
I imagine you'd still have problems but might be mitigated a bit.