PDA

View Full Version : Comments on the submitted paper



prokaryote
02-24-2004, 05:54 PM
Looked pretty good to me. There were several trivial word choice and spelling issues that I'm sure you'll pick-up on the next drafts.

In the Discussion and Conclusion sections, it was mentioned that the results of the evolved circuits could be analyzed to glean the methods found by evolution. What do you think about the possibilty of modifiying the GA to incorporate historical TSC schema's used by other locked circuits when evolving a new TSC circuit? The intial population could be made up of some individuals with random EDC plus individuals with added snipets (representative of frequency of being found in other evolved circuits) of the EDC's from other circuits.

Additionally, what about introducing an additional GA step that edits the transcribed gene by adding or subtracting bits to the expressed genome. This may eliminate piggy-backed low fitness schema's: See this link (http://www.c3.lanl.gov/~rocha/GAE_CEC03.html)

Just some ideas for some future progress. It may help with scaling to larger, more complex circuits.

michaelgarvie
02-25-2004, 05:44 AM
Your first idea is something extremely hopefull. I'd love to have time to do this. There have been some papers on using a GA + case based reasoning. I think there's a lot of future in that. This would be a complete design method. GA for discovering + something else for learning and reapplying. BTW why don't you do a Masters/PHD on this!

About the other genotype thing i don't completely understand and am writing second paper so don't have time to read... but maybe you can explain it better?

michaelgarvie
02-26-2004, 12:21 PM
Final version to be submitted for reviewal of first paper (with last minute beecount result!):
http://www.cogs.susx.ac.uk/users/mmg20/files/iolts04_sc.pdf

Draft of second paper:
http://www.cogs.susx.ac.uk/users/mmg20/files/iolts04_jig.pdf

prokaryote
02-27-2004, 08:15 AM
I'll see if I can put up a synopsis of the benefits of RNA editting functions. Second paper seems interesting as well, will give it a more thorough going over. Will we ever work on analog and asychronous circuits as well? I love the idea of continuously evolving FPGA's.

michaelgarvie
02-28-2004, 07:14 AM
Final submitted versions have now been put up on website replacing those two. Synopsis would be cool, but what interests me more is your other idea of combining a GA with a learning technique.

safemode
03-01-2004, 11:47 AM
Originally posted by prokaryote
I'll see if I can put up a synopsis of the benefits of RNA editting functions. Second paper seems interesting as well, will give it a more thorough going over. Will we ever work on analog and asychronous circuits as well? I love the idea of continuously evolving FPGA's.


The problem with a project that does these fun things is that nobody is going to use the technology for years and years if at all. It borders on the same purpose as encryption cracking distributed programs, it's fun and all but just how practically useful is it? I'd like to be able to buy things that have benefitted from the project, which is currently very possible with this project, than to have my computer work on something that maybe very interesting but i can't use for anything. analog evolution exploits parts of physics we don't understand. The continuously evolving fpga's that were in that discover magazine article (likely the same article you read in other journals and such) still are completely mysterious as to how they work even by leaders in the fields involved with it. It's fun stuff, but who'll make it if nobody knows how it works. Asynchronous circuits are equally less likely to be done commercially though they're also very cool. My draw to the project and many other people's draw to the project is the practicality of it, the fact that what we do here can immediately be used if we want to, there's no undiscovered mystery law of physics that the circuits are obeying to work. Asynchronous / analog evolution should be a different project if it ever starts up.

safemode
03-01-2004, 11:57 AM
Originally posted by miguelgarvie
Final submitted versions have now been put up on website replacing those two. Synopsis would be cool, but what interests me more is your other idea of combining a GA with a learning technique.


that seems like a mistake though unless you plan on leaving the evolutionary parameters completely open, allowing the computers to arrive at their own parameters. Otherwise aren't you directing the evolution to such a degree that we really wont arrive at very interesting results. I mean, we choose the parameters of evolution, then we choose how "learning" is defined and allow what it "learns" to dictate its evolution, that doesn't seem much like evolution to me. It's not like we can give the clients free will, we'll have to give it some predefined criterea of what it is to learn, and that's just directing it's evolution even further than the parameters we give it. Right now the evolution has a sense of randomness within set parameters, with a learning technique it will lose most of that sense of randomness.

If we make the learning fair we'd probably end up spending a great deal of processing power on just the learning, not the actual processing of the circuit.

Basically the whole point of the project is to arrive at circuits in a different way from the way we learned it, if we teach the computer to learn circuits the same way we do, how is it going to give us new circuits? And how are we going to teach it to build circuits in a way we dont know? Learning is bad in our purpose, we want new ideas, we have to forget what we learned about what is good circuit building and allow the computer to be open to every possibility at it's disposal. Learning is why we haven't created the circuits that this project has so far created. It's necessary for us because we as humans don't have the ability to do what this project has been doing with processing power, but why break the project to decrease it's toolset to what it has "learned" it should use.

michaelgarvie
03-01-2004, 01:59 PM
Safemode, answering both your lines of arguments in one mail here:

1) That article in the Discover magazine described work done by Adrian Thompson, as you say one of the leaders in the evolutionary electronics field, the second author of the papers I wrote and currently my reserach supervisor. Not only because of this will I defend his work, mind you! He has shown the power of evolution. Not to do anything practical, true, but thats now up to whoever wants to harness this power. We at DHEP are harnessing this power for digital circuit evolution. However if we had a fast analog simulator we could do the same for analog chips. Even better, if we all had an FPGA in our PCs we could evolve FPGA configurations which may work in analog ways. Or even grander would be if we all had FPTAs (transistor arrays) in our PCs, these are basically configurable analog arrays. I've got one in the DHEP server plugged in waiting for me to have time to play around with it. But circuits evolved on it, with the appropriate amounts of noise, even if we don't understand them, may be useful to the community. A self-testing DAC or ADC would come in very handy to many people if it used half the resources of what they're used to needing.

2) About learning being bad. This is why not. To arrive at our current design for a golfball people tried many different things.. At start they were spherical but someone realized that the old battered ones travelled further so they started bashing them up before using them.. Then they came up with dimples and so on.. Till the current golf ball design. This was an evolutionary process.. Now, what you propose is that the next company to make golfballs of a slighlty different size should start from scratch. A learning technique would remember what similar problems its faced before and supply the solution. In a GA it could just inject an individual solving the previous problem into the population. This would be a 'suggestion' since the GA may not select this individual if its not fit and continue with its creative process regardless. So basically it would avoid the GA wasting time by suggesting solutions that may be relevant. This is what we do: we spend ages working something out, designing it, half through our creativity, half through trial and error and then, the next time we just apply the same solution again. Or someone trying to improve it or do a similar thing will definitevly take it into account. If evolution could do this as well then we're in for a big one!

prokaryote
03-02-2004, 01:27 AM
Originally posted by safemode
The problem with a project that does these fun things is that nobody is going to use the technology for years and years if at all. It borders on the same purpose as encryption cracking distributed programs, it's fun and all but just how practically useful is it? I'd like to be able to buy things that have benefitted from the project, which is currently very possible with this project, than to have my computer work on something that maybe very interesting but i can't use for anything. analog evolution exploits parts of physics we don't understand. The continuously evolving fpga's that were in that discover magazine article (likely the same article you read in other journals and such) still are completely mysterious as to how they work even by leaders in the fields involved with it. It's fun stuff, but who'll make it if nobody knows how it works. Asynchronous circuits are equally less likely to be done commercially though they're also very cool. My draw to the project and many other people's draw to the project is the practicality of it, the fact that what we do here can immediately be used if we want to, there's no undiscovered mystery law of physics that the circuits are obeying to work. Asynchronous / analog evolution should be a different project if it ever starts up.

What ever turns your crank! :)

I can think of at least two people who think otherwise, but hey, differences of opinion is what makes life interesting.

prokaryote
03-02-2004, 01:38 AM
Originally posted by safemode
that seems like a mistake though unless you plan on leaving the evolutionary parameters completely open, allowing the computers to arrive at their own parameters. Otherwise aren't you directing the evolution to such a degree that we really wont arrive at very interesting results. I mean, we choose the parameters of evolution, then we choose how "learning" is defined and allow what it "learns" to dictate its evolution, that doesn't seem much like evolution to me. It's not like we can give the clients free will, we'll have to give it some predefined criterea of what it is to learn, and that's just directing it's evolution even further than the parameters we give it. Right now the evolution has a sense of randomness within set parameters, with a learning technique it will lose most of that sense of randomness.

If we make the learning fair we'd probably end up spending a great deal of processing power on just the learning, not the actual processing of the circuit.

Basically the whole point of the project is to arrive at circuits in a different way from the way we learned it, if we teach the computer to learn circuits the same way we do, how is it going to give us new circuits? And how are we going to teach it to build circuits in a way we dont know? Learning is bad in our purpose, we want new ideas, we have to forget what we learned about what is good circuit building and allow the computer to be open to every possibility at it's disposal. Learning is why we haven't created the circuits that this project has so far created. It's necessary for us because we as humans don't have the ability to do what this project has been doing with processing power, but why break the project to decrease it's toolset to what it has "learned" it should use.

By participating in an island strategy, you're just arguing where to draw the line about a "broken" project. Either you reivent the wheel every time or you don't.

Part of the earth-bound biological strategy is phylogeny recapitulates ontogeny, you're both bound by and helped by history. Evolution isn't only about randomness, there's also feed back from different hierarchical levels of cause and effect (Think complexity theory, punctuated equilibrium, non-linear effects, etc). Just because you have pieces of what went before doesn't mean you can come anywhere near predicting what the effect will be. That 's part of the beauty of complexity.

Which, exactly, learning technique do you think I'm talking about and how do you think I'd propose to implement it? Just curious since I haven't really discussed in detail how I'd it tie into a GA.

I'm just throwing ideas out there. If Miguel would like to pursue then that's okay by me. Why not pursue your own DC project where you can set the parameters as to how you see fit?:confused: