Students Simulate Evolution of Thinking Robots
Posted 17 Oct 2007 at 21:47 UTC by steve
According to an article
in the Mining Journal NMU Students Brian Krent and Correy Kowall
authored a paper which was accepted for the 2007 Genetic and
Evolutionary Computation Conference (GECCO). It's a very rare event for
a student paper to be accepted. Their paper, titled A
Simulation of Evolved Autotrophic Reproduction (PDF format),
describes their work with simulated robots that evolve reproductive
behaviors. To do this the robots combine capabilities for manipulation,
communication, learning, abstraction, and prediction. A
Poster (PDF format) summarizing their work is also available. This
research was done at the NMU
Northern Evolutionary Robotics Lab using the NMU breveCluster.
OK, I haven't read the fine article but when I hear of robots involved in evolution I cringe. It is a pet peve of mine. Why do they have to call it evolution??? Mostly because TRUE evolution would start from nothing and end up with something. To start somewhere else is contrived and more likely is simulating creationism than evolution, right? If you start with something created then it didn't evolve. So, what I understand (again without reading the fine article) is they started with prebuilt robots (a foundation of creationism) that had some sort of tendency to do something and it did what it was intended to do. Is that really evolution? To create something that does some expected thing and it does it? Evolution is where it does something you don't pre-plan and does something extraordinary and something you wouldn't expect, right? To date, I don't believe anyone has truly done that. Everying robotic does what it was designed to do. That's creationism. They proved creationism! Has emergent behavior ever been truly proven? Nothing emergent here all preplanned stuff. I find it difficult to call it evolution and I'm very skeptical of any such claims. Maybe someday someone will make something that evolves but I have yet to see that. Evolutionists say it would take billions and billions of years anyway so we'd never see it really in our life times. :-) Call it what it is, a created robot with intelligence to do what it does given to it by its creators. I should probably go read the article now. :-)
Evolved sun?, posted 18 Oct 2007 at 02:22 UTC by MDude »
I'd say the Sun, planet Earth and it's location in the solar system with jupiter to ward of colisions, the set of chemicals on Earth, and the set of physical constants that are so finely tuned for life, count as a non-evolved starter, and definatly not nothing. :) But I didn't read the article yet eather. :p
I think technically, evolution as described by Darwin just attempts to explain how biological life increased in complexity. It doesn't deal with the initial creation of amino acids, or even working cells. And for sure doesn't deal with creation of elements, space, time, gravity, etc. So, the term evolution probably describes a much narrower idea than most think.
Those who think the idea of evolution somehow answers creation of the universe are incorrect.
I would call emergent behavior one that was not specifically programmed, but resulted in a combination of other behaviors. An example might be software and hardware that detects obstructions and moves away, combined with software that attempts to move forward could result in a robot navigating down a hallway.
I wouldn't call this emergent behavior evolution. Evolution is said to occur when data changes due to damage (mutations) or combining of data with another being of the same kind. Information/order/complexity is not added with mutations, and info combined had to come from mutations also. So, there is no place in this idea for complexity to increase. Natural selection, only removes information by killing off the unfit lifeform. So, where did the complexity we see come from?
This is why I've given up on evolution to answer questions about increased complexity of biological life, and it never did about the universe in general.
Here we go ..... :)
I guess what I'm trying to say and not saying it very well, is I am talking about that there are differences in intelligence where there are lateral movements and vertical upward movements in intelligence. If you pre-setup all the stuff and it falls into place and does what you expect, that's not transcending upward, it's only a lateral or even downward movement in intelligence. What I'm looking for is emergent behavior or it getting smarter which I don't believe I've ever seen and doesn't appear to be happening here! Preprogrammed behavior is not the the type of cognition that is emergent and transcendent as in upward movement in intelligence and getting smarter by itself. Like it's not really figuring out anything new that was not already given to it to fall down into. Like if you have a ball and you put it on a slope, you expect it to roll downward. (takes no intelligence). That's not transcendent or emergent behavior, it's just doing what you'd expect it to do. And then to say that this simulates evolutions is quite a stretch. So, in my swirling brain, a preprogrammed outcome is not upward cognition or evolving.
You guys... :) Well, as a software developer by trade, I guess I better
do my part to stick up for my fellow software developers.
> If you pre-setup all the stuff and it falls into place and does
> what you expect...
I think that's where you're going wrong in your understanding.
Evolutionary agorithms don't involve the programmer pre-setting-up the
results. Usually you define a fitness function that determines whether a
given result is better or worse. Then the particular algorithm involved
goes to work over thousands or millions of generations of
machine-generated code, eventually offering you the best solution it
could come up with. Usually, these things are implementations of
microevolution, which I think all but the most extreme creationists have
grudgingly accepted a real phenomenon, so there's really nothing anyone
should find objectionable about it. If the name itself is the problem,
you could always call it a "population-based metaheuristic optimization
> Information/order/complexity is not added with mutations, and
> info combined had to come from mutations also. So, there is no
> place in this idea for complexity to increase. Natural selection,
> only removes information by killing off the unfit lifeform.
I'm no expert on this sort of thing, but I'm pretty sure it's incorrect
to say a mutation can't add order or complexity.
On a purely intuitive level, it seems to me that if mutation can
reduce complexity (or information or whatever you choose to call it), it
has to also be able to increase it. Think of a genome as a collection of
bits. Suppose a mutation flips a particular bit from 1 to 0 and results in
an organism of less complexity. Then another mutuation could just as
easily flip that bit from 0 to 1, resulting in more complexity.
On an even more practical level, if you think evolutionary algorithms
don't work, how do you explain the results? Are you proposing that every
researcher working with evolutionary algorithms is
secretly faking the results and doing it well enough that no one has
noticed yet? :)
There are plenty of Free/Open Source Software evolutionary algorithm
libraries out there like GAUL
Why not download one and play with it a little to see if it really works?
I'm not aware of any mutation we've seen that made an organism better without also damaging another function, usually resulting in its death. Viruses too. If that's not true, please let me know. Cell reproduction is designed to resist errors in coding.
I guess we could try this real-world experiment. Let's take a simple machine such as a wristwatch. Possibly equivalent to a single cell, I'm not sure of the numbers, but the watch is probably WAY less complex. I admit, this watch had to be designed by a human. Now simulate a mutation by piercing the watch with an icepick. The first one who notices their wristwatch requires less winding wins. First one whos watch turns into a solar calculator wins even more!
Ok, now for gene crossover. 2 watches: #1 is a 2004 Rolex, #2 is an 1985 Swatch. Ok, we have to assume these will mate. Randomly, move a part from the Rolex to the Swatch. Your ability to be on time to a meeting is your fitness function. Would this process ever produce a garage door opener? Even incrementally? Evolution proponents say yes, with enough time. Me, not that much faith.
I think that's a fair comparison, no?
sleight of hand, posted 19 Oct 2007 at 00:09 UTC by steve »
> I think that's a fair comparison, no?
I don't even think you think it's a fair comparison. More of a
distraction technique perhaps. :)
Even though it may seem that way, I really wasn't trying to get into a creationism vs. evolutionary debate. That said, I was saying that more their methods started at a place with artificial intelligence and didn't really get smarter but just followed through at the intelligence level it was already at.
Being a has-been software engineer, I'm probably not as versed as the rest of you on AI algorithms. As far as AI algorithms I probably have a such a limited knowledge of all the AI algorithms out there that I dwarf in comparison to you guys so probably more education is necessary. Here's what I understand of when I think of AI algorithms out there:
Aren't Neural nets just pattern matching devices for the most part and really not cognitive devices? Like you can train it to figure out that 2**3 about 7.893, you might even be able to tell it to do optical char recognition where it can sort of figure out the letters of the alphabet and many times get it right, but you really can't tell it to make your bed in the morning. Like it can pattern match, even very complex pattern match, fairly well, but it really isn't too good at "thinking." Like if you asked it to write a program, it couldn't do that. And no, pattern matching to spew a program doesn't count. I'm talking about thinking a program into existence.
Aren't Genetic algorithms basically something that will figure out the best choice for something. So say you wanted to figure out the best way to grandma's house given a map with a bunch of intersecting streets. It would find the best way by going through every permutation of the statistically possible choices. But, it would do it in a why that would make it less of a brute force method by just cleverly saying that some set of directions could be assumed to all lead the wrong way, so let's focus on the right way or basically eliminating the assumed wrong ways. So thereby quickly finding a right way. But, there again, if you wanted a genetic algorithm to write a program, it's couldn't do that.
Both of those tools are great at what they do, but neither lead to any evolutionary upward motion in intelligence. In fact both sort lead one toward the opposite. They help in making that task easier, but neither leads to smarter cognition. In fact neither really cogitate at all. Neural nets are not calculators that give exact answers, instead they give an approximate answer and really except for normalization, would probably never give the right answer. Even the best of neural nets never work like a whole human brain, only the part that does pattern matching. The human brain does many more functions than just that one pattern matching function. Also, Genetic Algorithms are a great tool, but they don't do any cognition at all. They only take the set of permutations and try to reduce them quickly to something more manageable. That helps to make better informed choices but doesn't really do the choices. There has to be something else that does that and sets up what the range of data is valid for what needs to be done.
Perhaps there are other "evolutionary" algorithms out there but there again, I don't know of any that increase knowledge, only take what knowledge is already there and makes use of it. They are great tools for the toolbox but not anything that is revolutionary in that they are thinking devices. I'm not sure you'll find anyone that even claims that computers can "think" yet because people know they don't. So, where is the "increase" or "wisdom" that takes some knowledge and builds on it so that it would be evolutionary? Like can they put together a Neural Net and a Genetic Algorithm and have it write a code. The technology doesn't do that and doesn't work that way. The technology is not there to make such decisions yet.
Like if you put gas in a car and start it and put it nearly in gear. Over time the vibrations cause the gear to fall into place and magically the car goes forward. Is that evolution or something that you pretty much expected would eventually happen. There's not really any smarts to that. Now if the car had a real brain and could decide for itself to shift itself into gear and drive forward, that's something altogether completely different. One is contrived, the other is autonomous. It's easy to see that a level that falls into place is not anything really cognitive and never will be anything more. The other not only is cognitive but also has the hope of being something more. That hope we would then think of as the intelligence we would be looking for.
If the technology is not there to make real uncontrived decisions, then claiming such advances would be fraudulent. I'm sure time will tell that nothing new under the sun has emerged recently.
I have yet to be convinced what they are seeing here wasn't contrived. If it is something more then it is real news and we should all be jumping up and down because the holy grail of robotic intelligence has been sought after for decades!
So, definitely, like I said, I have limited knowledge. I'll admit that I'm a has-been software engineer. I'm always trying to learn more, at least I hope I still am. I always like to hear about new AI methods out there. If these guys really have come up with something novel, I'd like to hear more about how they are doing it.
What I'm trying to say is that emergent intelligence is always moving upward and contrived intelligence is hardcoded.
You hardcode a robot to navigate a course by saying go forward until you meet and obstacle and turn right. That robot will never get any smarter. Its intelligence is hardcoded. If you programmed all the fantastic data a doctor knows into a computer and it could do everything a doctor does but couldn't learn more on its own then its intelligence is hardcoded!!! It hits an intelligence ceiling and can't get smarter.
Emergent Behavior is something different. It starts off at one step and learns something new. Then it goes from that step and learns something new again. It can accumulate more and more smarts limited only by its capacity or resources for learning. Virtually for infinity. Like it always can get smarter and it's always learning.
REAL intelligence doesn't plateau where it can only get to as smart and a one year old and stops getting smarter. When I hear something like that I think, that so-called intelligence is hardcoded. Real intelligence would eventually break through an intelligence ceiling and get smarter yet again. If the intelligence isn't going upward, in my opnion, then it it's only hardcoded intelligence and to me it's not real intelligence.
I like the term "emergent behavior" because it embodies the idea that the intelligence can go to the next level or transcends the original intelligence that it was coded. To me it still would not be real "emergent behavior" if it could go no further than a step two level. To be real intelligence it would need to be able to keep on transcending and getting smarter over time.
So what I'm saying is that first you have hardcoded intelligence. Then you have a one step growth in intelligence where it can appear to progress one step and then can't go any further. Then you have real intelligence that continues to learn and get smarter and wiser as time progresses. That's the kind of intelligence that I'm looking forward to seeing.
I don't believe we have seen that yet.
SB, I see what you're saying - all these examples used to 'prove' evolution start with machinery DESIGNED to try random ideas, a fitness function DESIGNED to test for a certain outcome, and an environment DESIGNED to allow all this to take place.
But virtually all evolutionist go the next step and also claim these initial elements also occurred randomly. All of this mental gymnastics in an effort to get around a creative agent because they've been told it's somehow unscientific. I don't care if some humans call it unscientific, I would just like to know the truth. It will not present me with a philosophical crisis either way. Everything I see points to a creative source of some sort. I just can't deny it, and peer-pressure will not make me think otherwise anymore. This is what being open-minded is all about.
read the paper, posted 20 Oct 2007 at 06:38 UTC by steve »
> all these examples used to 'prove' evolution...
The point of their research is not to "prove evolution". Evolution is
simply a tool they used in their research. If you don't believe in
their tool of choice, you're free to use some other tool but if you're
going to claim their results are incorrect (or faked? I'm not certain
which you're claiming), how about pointing out their error?
> I would just like to know the truth. It will not present me with a
philosophical crisis either way.
provided links to open source evolutionary algorithm
libraries. You claim random mutation can't increase complexity;
that's an easily provable or disprovable statement. Download the code,
try it, and tell us what you find. The truth is there, waiting for you to
know it. :)
> REAL intelligence
Their immediate goal is not to produce robots that have human
level intelligence. Their goal is to explore a scenario described by Jon
von Neumann involving self-reproducing, autotrophic robots. The
researchers are attempting to determine whether the demands on a robot
such as von Neumann described can be used to select for creativity and
intelligence in an evolutionary approach to development. To put it
another way, they're interested in achieving what you call real
intelligence and they're looking for ways to get there. This research
demonstrates a possible method that might get us there in.
What? No flat earth accusation? I'm appalled :)
How come in GA simulations the GA code itself is immune from mutations?
GA code, posted 22 Oct 2007 at 23:34 UTC by steve »
> How come in GA simulations the GA code itself is immune from mutations?
I'm not certain I understand what you mean by "immune".
If you're asking whether genetic algorithms use mutation, the answer is
yes. Genetic algorithms generally depend on mutation, often in
combination with other "genetic operators" such as crossover. There is
normally a probability setting which determines how likely it is that a
given bit in the genetic sequence will be modified. The mutation itself
is generated by a pseudo-random or random (depending on the
software/hardware) event. The exact details vary depending on the extent
to which the software emulates biological evolution.
Hmmm... or are you asking if there's GA code that can generate modified
versions of itself? I haven't seen an open source package that does that
out of the box, but there's no reason you couldn't do add code to do it.
It would mostly be a matter of creating a genetic
sequence that described the GA code in sufficient detail to reproduce
it. In a way it would be like making a
compiler "self hosting" (e.g. using gcc to compile gcc). However, if
you're trying to learn about GAs, I'd suggest a simple project at first
like testing your ideas about compexity and mutation.
I should have used a more exact word than 'Code' in this context. Let me retry.
In biological systems, mutations occur to the data AND the machines working with the data. If this is not right, please correct me. So, to simulate correctly, the programming code for the GA simulation itself could not be immune from mutation. Do you know of one that does?
Also, the CPU itself could be considered the environment, and this is not stable by any means either.
If GAs could produce what they are hoped to, we would need only to write fitness functions for each product we want, and not have to design a product at all.
I'm going to experiment and see if I can write a fitness function for a Salad Shooter :) Actually, a better example would be PhotoShop since it is computer code and operates inside of the environment that our current GA simulations run. Photoshop might be similar in complexity to a single cell, I'm not sure. I propose that there is not enough time in the universe.
Okay, I think I understand what you're saying now. You seem to be
part of what's going on in both the real biological and simulated
realms. I thought you were just being facetious with your earlier
example of stabbing watches with ice picks but maybe not (my apologies
if I misjudged your intent there). I don't think there's enough
room here to explain the basics genetic biology so I'd really recommend
up some books on the subject. Some Genetic Algorithm texts also cover the
basics of the
relavent biological science. Anyway, I'll take a shot at it. If there
are any real biologists present, feel free to correct me.
In order for an evolutionary process to occur, whether in the real world
or in a software simulation, you need to have an entity that is
self-reproducing from a "blueprint" contained in a modifiable
form. Biological life is built from a molecular blueprint called DNA.
Modify the blueprint and you create changes in the next generation of
the lifeform. In the case of Genetic Algorithm software, you
have a binary blueprint similar to DNA that describes the features of
the entity you wish the algorithm to modify.
In both cases, the changes occur to future generations when
modifications are made to their respective blueprints. A fitness
function (natural selection in the real world) determines which
modifications survive to reproduce again.
Your watch/ice pick example does not accurately represent either real or
simulated evolutionary processes because A) the watch is not
self-reproducing from a
modifiable blueprint and B) instead of making modifications to a
blueprint, you're modifying one instance of the watch by stabbing
it with your ice pick. You'd get the same results if you used
your ice pick to stab a biological mouse. You won't get a modified
second generation mouse, just a dead mouse.
So, back to the question of why other software on your computer is
"immune" to the mutation. It's not a question of being immune, it's just
a question of what software the algorithm is operating on. The mutations
involved aren't like gamma rays that can leak out and damage other
programs on your computer. If you want a GA to modify something,
including it's own code or the computer's hardware, you have to
explicitly set it up to do that.
To answer your second question, yes, I know of several cases of
genetic algorithms but none that are free software/open source. Google
is your friend. Try searching for "self-modifying" and "genetic
algorithm" - you should find plenty. These are also known as Dynamic
Genetic Algorithms by some researchers. They've been used by the
aerospace industry to design airplane wings and are sometimes used to
optimize route selection on the Internet, both tasks that are difficult
using traditional approaches. (something to keep in mind next time you
take an airplane flight if you don't believe GAs really work!)
There's no reason you couldn't use GAs to work on something as complex as
Photoshop, provided you could characterize the attributes you wanted to
optimize appropriately. But it probably wouldn't be as easy or practical
as using traditional software engineering approaches for something this
well understood. Anyway, Adobe is unlikely to provide source. You might
try the Gimp,
which is free software if you wanted to pursue the idea. But as I said
previously, if you're really
looking to understand this stuff, you'd be much better off starting with
a simple project. Demonstrating the relationship between mutation,
selection, and complexity can be done with some relatively simple
I think you may also be underestimating the difficulty level of working wth
Genetic Algorithms for more serious tasks. They're aren't magic and it
can be very difficult to
create appropriate fitness functions and come up with a modifiable
binary genome that allows appropriate modifications of whatever
you're working with. For very difficult tasks that aren't easily done
with traditional methods, they can make things much easier. But for
tasks that are easy to do with traditional software development
techniques, using GAs may be much more trouble than they're worth. It's a
"right tool for the job" sort of situation. All the more reason to
download one and play with it. There's nothing wrong with gathering a
little empirical evidence on your own.
GA Hardware, posted 25 Oct 2007 at 22:29 UTC by jeffkoenig »
Here are two hardware projects that I'm aware of that have successfully employed GA techniques:
I recall reading about a genetically evolved circuit, using an FPGA, but I can't locate a link to it.
It looks like it comes down to what you believe. All of these GAs are black boxes that no one here really seems to know what they are doing and so we are all guessing at it. Even if you downloaded and ran one a few times, you still really wouldn't know what's inside the black box. Open Source is cool, but there again, you'd have to take some quality time and blow lots of man hours trying to figure it out. Even then, you'd likely not be convinced either way. You could write your own, but it would probably be with bias. I'm not sure how this war is beneficial. I don't see the big deal. If you want to say it proves evolution, why can't you give in and say it does have basis in creationism since it's not 100% evolution. If you believe creationism, why can't you say it's micro evolution, within starting off being created. It doesn't appear to be 100% either way. Now for me, I believe in a God that created everything, and there is micro evolution that is allowed for example, hair color. I've never seen macro evolution in the wild, not to say that God wouldn't allow that. I don't know. I've just never seen it and I don't expect that it has ever happened or ever will, not that it hasn't and not that it ever will. To me the war is pointless other than someone saying this definitely proves one thing or another. It doesn't prove anything if it can happen either way. Science is basically always wrong and always correcting itself. Religion is always right but always redefining what the interpretation of what right is. So who's right, who knows. Keeps you humble I guess. When I get to heaven sure I'll have lots of questions to answer I don't know. I'll probably have a lot of slap my head moments too of why didn't I see that! Everyone thinks they're right until they're proven wrong, and even then, sometimes they were right all along just the wrong that was proven wasn't really right. I'm right aren't I? Confusing I know. It just bothers me that someone will make something and say, "This is just how it really is in real life!" When they really don't know they are just assuming or guessing. They'll correct themselves later when they really find out. So, on both sides of the issue, take what everyone says with a grain of salt. No one truly knows, we're all learning. And that's what AI is all about, "learning." Now, if only the AI we have today did that! So now that i've proven that nobody knows anything at all, let's turn this debate volume down a bit. It's really looking like some dirty laundry being aired. Yeah, me included.
I agree that the probably that random motion of atoms could construct a
Home Depot on the surface of Neptune is non-zero. I admit that the
possibility that a random number generator could eventually compile a
1909 Webster's Dictionary is non-zero. I fully admit these things. I
also believe, and am willing to bet everything I own, that neither will
ever happen in the entire life of the universe. Anyone care to take me
up on it?
We can not use this non-zero probability of anything to account for
Ultimately, evolution's source for information and complexity is
randomness and natural laws.
Let's break this down into 3 tiers:
#1 Can a machine be designed and programmed to randomly arrange
parameters and allow natural forces to select for fitness given enough
time and adequate initial conditions?
- Darwinian evolution attempts to address this one.
I believe it might be possible for an purposeful designer to build such
a machine, but remain unconvinced that it accounts for amoeba's becoming
#2 Can such a machine come into being on its own through random motion
of particles along with natural laws? Even incrementally?
- This is the Home Depot on Neptune argument and I'm fully convinced
against its possibility.
#3 What is the source of particles, natural laws, time?
- This appears to be the purposeful action of an intelligent agent who
operates outside the boundary of the universe. A first causer. I
submit to you that the intention is life.
So, I find it very interesting to talk about lefthanded amino acids,
gene replication and natural selection, but I'm wondering if it's a
diversion so people can feel comfortable and avoid the ultimate question.
I think I have to agree with the Swirling Brain here if only because
it's impossible to keep you guys on topic. :-) I have no interest in a
religious debate about creationism, which seems to be where you want to
drive this. My only concern is in defending the authors of the original
paper against the apparent claims you're making that they somehow
falsified their results. If you still believe GAs don't work, download
some GA code and look at it. It's not a black box at all and I don't
believe that either of you are too dumb to understand a few lines of
program code. But unless you
want to come up with some rational argument to support the claims being
made about GAs, mutation, and complexity, I don't think there's much
more I say on the subject.
I could see us getting together some night, popping popcorn, and downloading an OS GA software and doing a code review. Maybe have a few soft drinks, some mixed nuts, chips and dip! Perhaps tell a few jokes and have a few laughs! We could speculate about life a little and talk about our wives. And then we would go home satisfied that we had a good time having enjoyed our brain swirling conversations. Let's get together and have a code review! Or instead, we could go out for dinner and a robot movie if ya want!
To me, instead of debating GAs, we should be developing something! I'd much rather get together and build a GA or something than debate about it. Let's get together and build one and see what craziness we can make it do! Yall up for it? Perhaps we could make a contest out of it. Like give it to DPRG to see what they can do. Sort of a Roborama for AI. It could be something like make a GA (or any AI software) that can take so many button inputs have so many LED outputs and given a set of inputs it could figure out what the objective is. Like you have several smarts tests. One test would be a series of numbers another test could be mathematic, another test could be some other level of intelligence. After the series of tests you could rank the smarts of the software based on which tests it passed as expected or by what smarts it decisively displayed. I'd say the smarts couldn't be hardcoded either. Sort of like the difference between remote controlled and autonomous where remote controlled isn't allowed, neither should hardcoded intelligence be allowed. It would have to be some sort of learning machine, not some software where a set of inputs gives expected outputs. Something where you have a clear brain, it goes through a learning process, and then instead of displaying what it knows or will be expected to do, it displays how it can figure something out or do something extraordinary. Of course, I don't think many know how to really do that so it may be an interesting challenge. Sort of a AI grand challenge? If nothing else, beside a challenge, we could just do it then have a show-and-tell of what we found out or came up with. Sometimes, just having a structured event gets people to doing it.
The Hummies, posted 28 Oct 2007 at 23:02 UTC by steve »
Ironically, the GECCO conference (where the paper you two have been
disparaging was presented) holds a contest each year called the Hummies,
that awards a
pretty good sized cash prize ($10k in 2007) for the best example of
something produced by genetic algorithms or other evolutionary
algorithms that's comparable or better than the equivalent results of
human designers. Take a
look at this year's winners. GAs came up with better solutions than
the best human designers could at tasks ranging from tuning cochlear
implants to diagnosing prostate cancer.
As for a get-together, bring it on. While I suspect empirical evidence
is unlikely to change a faith-based position, I'm always optimistic. I'm
usually at the Tuesday night RBNOs at the DPRG warehouse, perhaps one of
those would do. I suggest we test Roger's claim that random mutation
can't increase complexity. Loser buys the snacks? :-)
If I spend time DESIGNING an evolutionary algorithm, is that not contradictory?
Re: Designer GAs, posted 29 Oct 2007 at 04:20 UTC by steve »
> If I spend time DESIGNING an evolutionary algorithm, is that not
Not at all. Don't confuse the self-reproducing, genetically based
entities on which evolution (real or simulated) operates with the set of
rules that govern the process. The algorithms used in a typical GA (like
physical laws in the real world) are not self-reproducing, genetically
based entities. (does the 2nd law of thermodynamics have a gene sequence
and reproduce itself? of course not!). In other words, you're designing
a set of rules that govern a self-maintaining process. That process is
then able to produce something on its own that you didn't design.
So the simulated evolution is governed by a set of rules as is the real
process of evolution. Where either set of rules came from is irrelevant
to the outcome of the process (though no doubt of great interest to
metaphysicians, philosophers, and theologians).
> Not at all.
I thought it was at the very least, ironic!
:-) You could say it's semantically ironic in that the two words have
differing meanings in some contexts. In the same sense, you've probably
said you were going to "program an autonomous robot". Program usually
means you're going to cause something to follow a predetermined set of
instructions, while autonomous means not following a
predetermined set of instructions. But that one doesn't seem
contradictory or ironic to us because we're used to it and understand
that contradictory words are being used to describe something is not
I would love to get together with you guys. I really
miss the old DPRG days. Your setup with the building and all
is fantastic. DPRG is where I learned how to deal with people
'better' than I could (still terrible at it). My interest
in robotics allowed me to ignore my fear of people and scary
social situations. And I learned the value of friends.
I've tried to get the same type of group going here
but am still looking for a place without spending $1k/mo.
And been bogged down with moving, house remodel, surgeries, etc.
Ultimately I'd like to create a 'lab club' of sorts where we
could have a place to build techy things (not just robots).
I do think it's relevant to discuss what the ultimate meaning of
GAs are just a method of sorting. I don't know why proponents of
this don't just use the simpler example of a bubble sort to claim
that a designed algorithm can bring data into order. It's powerful.
I am not denying sorting algorithms work.
I am not denying that less fit beings reproduce less.
(Actually, that last one is reverse in our modern society where
starving families might have 10 children (5 live), and families
in Europe have less than 2). Another subject, but related.
Evolution only offers the narrow claim that a complex organism
along with its existing replicating and randomizing machinery can
produce new organisms for the environment to test.
While I can see how a purposefully designed machine can try random
ideas, mix characteristics, etc, then let the environment test the
results, this leaves me empty concerning the building of a liver
or the creation of an ear, and it certainly doesn't the explain
bigger issue of where this fantastic machine came from.
So, if I will admit that a GA (and biological systems) can try random
ideas, will you admit that the GA itself must be designed?
I'll bring snacks! :)
Ultimately I'd like to create a 'lab club' of sorts where we
could have a place to build techy things (not just robots).
I think the DPRG has been headed in that direction to. While robotics is
still the main interest everyone shares, you're just as likely to find
people working on other things at an RBNO. In the last few weeks, we had
someone demonstrating a radio controlled helicopter (hovering inside the
building - scary), others are working a launch control system for high
powered rocketry, and plenty of people come mainly to engage in debates
about speculative and philosophical topics like AI, cognition, emotion,
and stuff like that (maybe GAs now?).
GAs are just a method of sorting. I don't know why proponents
of this don't just use the simpler example of a bubble sort to
claim that a designed algorithm can bring data into order.
Not quite. Think optimizing more than sorting. Sort algorithms just take
already exists and put it in a different order. A GA is creating new
information and doing so in a way that alleviates
the need to examine all possible options. I'm afraid you get into more
mathematically complex ground in understanding the differences.
(as usual, if we have a mathematician around, feel free to correct me if
I get my NP terminology wrong here)
Traditional problems often have a small search space, so it's easy to solve
them by simply using a well-known algorithm or even generating all
possible answers and testing them. A GA would be a waste
of time on these since you could solve them easier without one.
Then you've got problems that can be solved algorithmically but not in a
reasonable amount of time (thousands of years perhaps). However, if you
guess a possible solution, the solution can be tested easily. These are
called "NP-Hard" problems. (NP stands for nondeterministic polynomial
time - sorting algorithms work in polynomial time). The well known
Traveling Salesman problem is an example of an NP-Hard problem.
Worse yet are "NP-Complete" problems, which also can't be solved
algorithmically in a reasonable time, and even if you guess a possible
solution, testing the solution isn't as easy as a "yes" or "no" answer.
Maybe all you can say is that one solution is better than another
solution. I can't recall any NP-Complete problems offhand (it's been too
long since I've read up on this stuff - the Knapsack problem maybe?)
The difficulty with many NP-Complete and NP-Hard problems is that
there's no easy way to guess a correct answer. For some problems,
finding the solution by guessing at random could take longer than the
lifetime of the
universe. This is where evolutionary algorithms come in handy. They're
very good at generating useful answers quickly. Especially compared to
purely random guessing. The multi-step approach of mutation,
selection via a fitness function often generates useful and even
unexpected solutions in a surprisingly short time.
A sorting algorithm would be useless on an NP-Hard/NP-Complete problem
since it could only reorder existing information, not generate new
information needed to solve the problem.
>I would love to get together with you guys...I'll bring snacks! :)
Count me in! I quite enjoyed the last time the four of us got together (has it been four years? Longer?) and would very much like to do it again.
I'll bring beverages!