4 ms·
Wow.. beautiful! I know this is only for fun, but it can start something bigger. Basically, given an input and output we could search for an algorithm that wor
by pmelendez 14y ago
Wow.. beautiful!
I know this is only for fun, but it can start something bigger. Basically, given an input and output we could search for an algorithm that works. It reminds me a talk that PG gave in which he states people making bots to optimize code and then an intelligent compiler could be done. It sounded very futuristic, but maybe it is not that futuristic after all...
- subb 14y agoThis is called TDD.
- pmelendez 14y agoNot really the same. TDD just give you the requirements for implementation. The intention of what I said is to given those requirements find a set of solutions. PG's idea is more ambitious, since is more like a set of plugins attached to the compiler so it could perform very high level optimizations (like finding an iterative solution given a recursive process)
- subb 14y agoI know. It was sort of a jab at TDD, implying that people following TDD only care about their tests. Oh well.
- deleted 14y ago[deleted]
- mayank 14y agoGenetic programming; type that into google scholar and look at the late-80s and early-90s papers.
- pmelendez 14y agoThanks!, I used to play with GP back in the university. It's really fun! However, GP is more like an oriented random search where the space of search is really big. Here the space is somehow filtered by humans, where each hypothesis had been generated by a human and not by a machine. It would be interesting if the machine could evolve those solutions that are not quite but close to be the proper one :)
- solistice 14y agoI think it's also amazing what has been done with Field Programable Gate Arrays (FPGAs) running genetic algorithms. For those not in the know, FPGAs are programmable logic, so you essentially generate random logic codes and check for their ability to for example interpret a signal properly. There was an experiment where this was done for an FPGA with only several hundred gates, over several thousands of generations. It was tasked to differentiate between a 10khz and a 10hz wave. The most amazing thing is, the resulting code used only about 50 of these gates, some of them not connected to others, yet removal of the nonconnected gates would cause inability to carry out the task (Yay, Quantum weirdness). Nor would the code work on any other, larger FPGA. Essentially, it boils down to the Genetic Algorithm finding a code that used specific quirks in the structure of the hardware, utilizing effects we are currently not aware of, to solve a problem. I wish I could find the Article in question, but it's too late in the evening.
- maxerickson 14y agoThis seems to be the story (or a very similar one): http://cs.nyu.edu/courses/fall11/CSCI-GA.2965-001/geneticalgex http://cs.nyu.edu/courses/fall11/CSCI-GA.2965-001/geneticalg... From New Scientist, November 1997.
- randomsearch 14y agoYou're looking for "Evolvable Hardware", and it sounds like you're referring to the work of Adrian Thomson. This was done in the 90s, btw. http://www.sussex.ac.uk/Users/adrianth/ade.html http://www.sussex.ac.uk/Users/adrianth/ade.html
- milkshakes 14y agoyou mean like this? https://news.ycombinator.com/item?id=5396535 https://news.ycombinator.com/item?id=5396535