Science

Students Simulate Evolution of Thinking Robots

Posted 17 Oct 2007 at 21:47 UTC by steve Share This

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.


They CREATED Evolution?, posted 18 Oct 2007 at 01:47 UTC by The Swirling Brain » (Master)

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 » (Journeyer)

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

Narrow evolution, posted 18 Oct 2007 at 14:17 UTC by Rog-a-matic » (Master)

Mr Swirl:

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 ..... :)

Where's the trancendance?, posted 18 Oct 2007 at 15:50 UTC by The Swirling Brain » (Master)

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.

Evolutionary algorithms, posted 18 Oct 2007 at 22:58 UTC by steve » (Master)

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 algorithm"! :)

> 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 and others. Why not download one and play with it a little to see if it really works?

Swatch is hot for Rolex, posted 18 Oct 2007 at 23:24 UTC by Rog-a-matic » (Master)

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 » (Master)

> 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. :)

In search of artificial intelligence, posted 19 Oct 2007 at 04:21 UTC by The Swirling Brain » (Master)

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.

Breaking Through The Intelligence Ceiling, posted 19 Oct 2007 at 05:04 UTC by The Swirling Brain » (Master)

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.

randomness + laws != order, posted 20 Oct 2007 at 00:42 UTC by Rog-a-matic » (Master)

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 » (Master)

> 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.

I've already 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.

Flat Earth missing?, posted 22 Oct 2007 at 19:56 UTC by Rog-a-matic » (Master)

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 » (Master)

> 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.

GA programming code, posted 24 Oct 2007 at 14:58 UTC by Rog-a-matic » (Master)

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.

Re: GA programming code, posted 24 Oct 2007 at 17:46 UTC by steve » (Master)

Okay, I think I understand what you're saying now. You seem to be misunderstanding 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 you pick 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 self-modifying 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 experiments.

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 » (Master)

Here are two hardware projects that I'm aware of that have successfully employed GA techniques:

http://www.demo.cs.brandeis.edu/golem/

http://ti.arc.nasa.gov/projects/esg/research/antenna.htm

I recall reading about a genetically evolved circuit, using an FPGA, but I can't locate a link to it.

Let's Fight The AI War! Wee!, posted 28 Oct 2007 at 02:43 UTC by The Swirling Brain » (Master)

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.

Non-zero probablity is not always possible, posted 28 Oct 2007 at 15:45 UTC by Rog-a-matic » (Master)

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 everything.

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 reindeer.

#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.

Swirling Brain's suggestion, posted 28 Oct 2007 at 16:54 UTC by steve » (Master)

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.

Let's get together! Yea! Yea! Yea!, posted 28 Oct 2007 at 19:10 UTC by The Swirling Brain » (Master)

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 » (Master)

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? :-)

Designer GAs, posted 29 Oct 2007 at 01:39 UTC by The Swirling Brain » (Master)

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 » (Master)

> If I spend time DESIGNING an evolutionary algorithm, is that not contradictory?

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).

Blinded by Science, posted 29 Oct 2007 at 12:15 UTC by The Swirling Brain » (Master)

> Not at all.
I thought it was at the very least, ironic!

Re: Blinded by semantics, posted 29 Oct 2007 at 16:12 UTC by steve » (Master)

:-) 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 itself contradictory.

GA produced Snacks, posted 29 Oct 2007 at 16:43 UTC by Rog-a-matic » (Master)

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 evolution is.

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! :)

Re: sorting vs optimizing, posted 29 Oct 2007 at 19:21 UTC by steve » (Master)

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 information that 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, recombination, and 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.

Reelin' In The Years, posted 30 Oct 2007 at 03:04 UTC by jeffkoenig » (Master)

Rog-a-matic wrote:

>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!

See more of the latest robot news!

Recent blogs

20 Apr 2014 Flanneltron (Journeyer)
19 Apr 2014 mwaibel (Master)
17 Apr 2014 shimniok (Journeyer)
8 Apr 2014 Petar.Kormushev (Master)
6 Apr 2014 steve (Master)
2 Mar 2014 wedesoft (Master)
1 Dec 2013 AI4U (Observer)
13 Nov 2013 jlin (Master)
23 Jun 2013 Mubot (Master)
13 May 2013 JLaplace (Observer)
X
Share this page