Just wait for the game with this feature...
by
anttik
·
· Score: 5, Interesting
When CPU's will become fast enough to use this level of learning on the fly, it will be great for gamers. Maybe the enemies don't have to learn walking, but learning strategy is a different thing. If they learn strategy by themselves and not by pre-programmed AI, I bet they will be more creative and a tougher opponent.
But I think I'll still have to wait like 20 years for that.
Re:Just wait for the game with this feature...
by
Anonymous Coward
·
· Score: 4, Interesting
"When CPU's will become fast enough to use this level of learning on the fly"
This does not have to be done real time to work. Most likly you would just need to compile the AI once for an enviroment and just record the results of the last generation to a file to be used later.
Re:Just wait for the game with this feature...
by
fo0bar
·
· Score: 5, Interesting
Download the E3 demo of Half-Life 2. In it there is a section where people are fighting alongside Gordon. This didn't look too spectacular until the presenter announced that these characters were NOT moving according to a script. The characters were given an objective (help Gordon get to point X), but were not given a path to take or any knowledge about the obstacles in the way. At that point my eyes opened wide, watching these people duck behind debris, covering fellow fighters, shoot-move-shoot-move... the movement and logic that they possessed looked either preprogrammed (which again, they say is not the case), or very human-like.
Re:Just wait for the game with this feature...
by
aardwolf204
·
· Score: 2, Insightful
But I think I'll still have to wait like 20 years for that.
No, you'll have to spend 20 years playing the AI over, and over, and over again before it can even begin to evolve into something worth playing. /Timedemo 1 Might help.
-- Im dreaming ofa big bndwdth, That can resist the/.crowd.May ur days b merry & bright & may al
Re:Just wait for the game with this feature...
by
aardwolf204
·
· Score: 3, Insightful
I saw the HL2 E3 demo and I was also amazed. Specifically the part when Gordon runs into a room after attacking an alien/zombie. Gordon barricades the door with a table and hides behind a washing machine. The alien trys to open the door with no success, then to my surprise, the alien tries the window. Now *that* is what I'm looking for in a AI/game.
I'll hold my final opinion until the leak comes out, but it sure beats killing scientists and barny because they wont move out of the way.
-- Im dreaming ofa big bndwdth, That can resist the/.crowd.May ur days b merry & bright & may al
Re:Just wait for the game with this feature...
by
arvindn
·
· Score: 4, Insightful
I'll assume that you're referring to the game adjusting to your playing style, because there are no real-time CPU constraints if you just want to evolve a generic entity. If that's the case, the more serious problem would probably be getting sufficient user input. Genetic algos usually take hundreds, sometimes thousands of generations, and since you cant wait for the user to play the game thousands of times you've got to improvise.
In the case of board games, we've had learning algorithms for a long time now. I remember Fritz4 (chess program) having it 6-7 years ago.
Re:Just wait for the game with this feature...
by
mr3038
·
· Score: 4, Insightful
Download the E3 demo of Half-Life 2. In it there is a section where people are fighting alongside Gordon. This didn't look too spectacular until the presenter announced that these characters were NOT moving according to a script.
Call me a skeptic, but I don't swallow that immediately. When Black and White was still in production there was some press that stated that the game had such a great AI that if the developers dropped a ball to the citizens, they started to play soccer by their own, assisted by the AI only. Did anybody ever see anything even remotely near that level of intelligence in the final release?
Yes, that scene could really use AI to move all the characters but it remains to be seen if the scene is constructed specially so that AI can survive on its own or was the AI really intelligent? Don't expect too much. It's AI instead of I for a reason.
-- _________________________
Spelling and grammar mistakes left as an exercise for the reader.
Re:Just wait for the game with this feature...
by
brianosaurus
·
· Score: 2, Informative
Of course the scene was constructed to aid the AI. When have you ever seen AI that can handle anything you throw at it? Check the latest Turing contest (or whatever its called) to see how many winners there have been in the last eternity.
That doesn't mean that given that particular situation the AI can't hold its own (until, of course, you out smart it, you genius who has been blessed with being a free-thinking human being instead of a "simple" AI).
How long did it take these genius human beings to develop AI to this point? Of course its limited, but that works just find in games. So long as the AI's object is "kill everything that isn't a human-controlled player" as opposed to "make a brilliant pass to score a gooooooooooooooooal!", they do pretty well.
Eventually (at least according to Moore, and I can guarantee he (and/or his spawn) will still want to be selling CPUs 20 years from now!) machines will be able to kick you ass at pretty much anything you wish they couldn't.
Re:Just wait for the game with this feature...
by
Trinition
·
· Score: 3, Insightful
But the point of the article was not that the characters learned to walk on the fly. It was that no one had to program these guys how to walk.
So, game makers no longer have to record a real person's movements, or formulate the movements themselves. They just let generations of these things learn in a "lab" setting. Once they've got the result they want, they can then save the settigns and use it in the production game without the need to "learn on the fly". You don't have to have a fast CPU to use it in a game. This is a development tool that saves time on making a walking algortihm that will look artificial. Instead, you make a computer come up with that walking algorithm for you.
The best part is, you could apply this strategy to models that are entirely dreamed up. Maybe a 5 legged serpent? No one knows how one of those might walk, but this technique learn how one walks.
Re:Just wait for the game with this feature...
by
brianosaurus
·
· Score: 3, Interesting
Nah. Cuz then when your character gets killed, you'll try something different and eventually beat it. But if i can learn what you're doing, it will adapt and respond smarter on your subsequent attempts.
Years ago I wrote a Tcl-scripted netrek hockey bot. I could reload its script on the fly, so its behavior could change. Early on people learned that it just shot towards the goal everytime. Then all of a sudde, during a game, i loaded in new code that passed to a teammate instead of always shooting on goal. The other team was floored, as the perfectly executed pass led to a goal.
Sure it hadn't used some advanced AI (rather it was trivial and totally artificial), but it was enough to fool some of the people.
Preload the AI with enough info to make it interesting when you start the game. But if it can learn enough (not necessarily in real time) to come back and bite you in the ass on level 12, its probably doing pretty well.
Re:Just wait for the game with this feature...
by
extropy
·
· Score: 2, Interesting
I think they were saying is that the characters actions are not directly scripted... i.e. "say this line, enemies come up hill, wait 3 seconds, start shooting at enemies", but instead, the actions are more dynamic and controlled by a.i. What they are NOT claiming (as far as I know) is that the a.i. learns and evolves as do the walking figures in the parent story.
Re:Just wait for the game with this feature...
by
bentcd
·
· Score: 2, Insightful
What they are presumably doing is give the AI objectives and then add a large number of algorithms it can choose from in order to overcome obstacles.
Objective: escort Gordon to helipad Obstacle: Gordon isn't moving Algorithm: Hang around, look for bad guys Obstacle: Gordon moved out of sight Algorithm: Follow cheapest path to Gordon's location Obstacle: Enemies ahead firing at Gordon Algorithm: Cover him. Kill bad guys. Obstacle: There is no path to Gordon Algorithm: Find closed portals that would lead to him, open them in turn until a path is available... etc...
The real difficulty here is determining which obstacle detections and algorithms to add and how to link them together (and then implementing them all). The more complex your environment, the more detections you must have and the more different types of obstacles, the more algorithms.
If they get it right... it'll be time to get an upgraded system I suppose...
--
sigs are hazardous to your health
If you liked that....
by
Great_Jehovah
·
· Score: 5, Interesting
These must be stopped!
by
questamor
·
· Score: 4, Funny
Genetic algorithms must be stopped, and NOW
Who knows how soon it will be before these things gain the ability to work in the real world. It won't be long I tell you, before you look around and the entire PLANET will be full of these devilish unnatural creatures, all based on GENETICS.
Jobs
by
Anonymous Coward
·
· Score: 4, Funny
But I think I'll still have to wait like 20 years for that.
Not if you listen to Steve Jobs in senile old age...
"This 2.0 GHz G6 runs at 1000 times the performance of an 8.9 GHz Pentium X!"
Heathens!
by
Anonymous Coward
·
· Score: 4, Funny
Evolution is a fraud made up by the godless devil-worshippin' computer scientists! Only God has the power of algorithm creation! The Bible clearly states in John 24:5 that God is the creator of the binary search, the hash table, the half-adder, the for loop, and matrix multiplication! You will all burn in Hell!
Better 3D CG porn
by
BurningTyger
·
· Score: 2, Funny
Yes.... now they can finally make better 3D CG porn now that they can simulate and even teach computer how to have sex in better ways and different positions. Hey, isn't the whole point of "EVOLUTION" to "REPRODUCE" more offsprings??
How would this be any easier than doing keyframed animation with inverse kinematics?
I read something about this idea a few years ago. I'm pretty sure it was by the guy that did BMRT... a thesis paper of his or something.
Basically, the redid the animation of "Luxo" in pixar's animation short. "Luxo" is the bouncing desktop lamp. Making animated characters (even those that aren't human) move "nicely" is quite hard. It takes a lot of work.
For their project, the specified the constraint: That Luxo must move from point A to point B, and that's all. The only input the model had was "how much force to use on each joint at each particular time". So, they were animating its "muscles" with a genetic algorithm, and also running a physics simulation on the system. (They assigned mass to the individual components, etc).
It evolved several techniques of locomotion: The "standard" bouncing hop (which the "real" luxo does), dragging itself across the table, somersaulting, etc...
In short, they came up with good looking animation, without requiring much user input. And in the end, they had a genetic algorithm which could make Luxo walk any distance, without requiring the work of an animator.
This is important, because although its relatively easy to just loop an animation, it looks rather unnatural.
The other day I stumbled upon what could quite possibly be the coolest Java applet ever. Once you start the applet, you assemble "bioblocs," which are 3D creatures assembled from connected blocks. Once you've assembled your creature, you can have it use genetic algorithms to try to learn how to most effectively walk, run, jump, and turn around using the blocks you've given it. I assembled a snake-like creature the other day, and was intrigued to see that it evolved a walking movement very similar to that of a sidewinder's.
In addition to assembling your own creatures, you can also load creatures that others have previously assembled, as well as enter your creatures into contests. A lot of the previously assembled creatures are -very- impressive, with movements quite similar to those evolved in nature.
Re:sceptical
by
Narphorium
·
· Score: 2, Informative
I think the advantage with genetic algorithms would be that once you have clearly defined a fitness function that allows a character to 'wave hello', you can easily evolve several more characters each with their own distictive wave with very little extra work.
Think of the battle scenes in LOTR for example, 10,000 orcs is not something that you want to be keyframing by hand.
If Microsoft starts using these algorithms...
by
yelohbird
·
· Score: 2, Funny
then will we get smarter OSs that learn to blue-screen all by themselves?
-- h-t-t-p-colon-slash-slash-slash-dot-dot-org
Its more difficult than one thinks...
by
arvindn
·
· Score: 5, Informative
In simple textbook situations illustrating the genetic algorithm, we simply represent the solution space as a string of bits, and cut it at some point and recombine them to form offspring. However, real world applications are a lot more complex. That's because an arbitrary cut-n-paste of solution strings is likely to result, with extremely high probability, in an invalid string. This is the problem of having a sparse solution space. In this particular example, suppose you represent the figure as a sequence of pixels and try to apply a genetic algorithm on that representation. You'll never get anywhere, because most sequence of pixels are meaningless.
What needs to be done to make the GA work is to develop a solution space representatin in which each parameter can be varied independently of the others. In this case:
The character's body plan involved 700 distinct parameters that needed to be optimized to teach it how to walk like a human.
.
So its not like the computer learnt to walk by itself. There's a lot of hard work involved before you can even start the GA. Congrats to Reil.
<shameless plug>
On a slightly related note, I'm about to start implementing a GA to develop a killer AI for gtkboard . If you are interested in coding a GA, you are welcome to join:) (Of course it won't be anywhere as complex as the one in the article, but still lots of fun.)
Chrichton: Prey
by
daedel
·
· Score: 4, Informative
I just got finished reading this book, and had to chuckle at seeing this article. The book is about a group of nanomachines given agent based programming called PRED/PREY which uses something like the genetic programming spoken of in the article. Of course things go awry in there somewhere, but it is an interesting, and moderately technical fiction on this subject.
Levels of thinking
by
autopr0n
·
· Score: 2, Interesting
You know what I always found interesting. It's like these systems of thinking create newer systems of thinking. Evolution created Neural networks, and eventually created neural networks that can think and create things much faster then evolution (the human mind)
Then the human mind goes and creates digital computers, which again can do things the Neural network can't (and vise versa).
Anyway, just thought it was intresting.
-- autopr0n is like, down and stuff.
it's like NP complete
by
autopr0n
·
· Score: 3, Interesting
An NP complete problem is one that takes non-polynomial time to find the optimal answer, but can be verified in polynomial time. A genetic algorithm is similar, you need to have a fast fitness algorithm, or an operator who does the selection for you. If neither of those things are practical, then you probably shouldn't use a GA.
On the other hand, there are a lot of things that you can use GAs for.
-- autopr0n is like, down and stuff.
Re:it's like NP complete
by
Anonymous Coward
·
· Score: 2, Informative
No, it's not similar at all: merely being able to evaluate the fitness function in polynomial time doesn't mean that you can determine in polynomial time whether any given solution is optimal. There are plenty of problems that are not known to be in NP (and hence not NP-complete) for which the evaluation of the fitness can be done quickly.
Video Clips from Natural Motion
by
gopher_hunt
·
· Score: 5, Informative
Heres the link to what they were talking about in the article.
Walker Evolution
This next one shows off a lot more of what they can do. Mainly they abuse their models. Natural Motion Show Real (14.5M Divx) I love the tennis ball in the crotch clip. Insert bob saget joke here.
Genetic Algs, Boids and artificial life
by
krahd
·
· Score: 3, Interesting
When I read the article, it immediatly made me remember the Boids which are a computer model of coordinated animal motion such as bird flocks and fish schools, first introduced by Craig Reynolds. Those where an example of emergent behaviour, where a bunch of independent moving things start moving in a coordinated way thanks to some "local guidelines" controlling their behaviour.
So, if every thing (boid) is telled to steer to avoid crowding local flockmates, steer towards the average heading of local flockmates and steer to move toward the average position of local flockmates, they start to move as a flock (!).
This approach of obtaining a more developed behaviour in an automatic (more accurately in an "emergent" way), is a lot related to genetic algorithms (GA) evolving an animation model, 'cos is exactly the opposite approach: In the first one the designer must specify the underlying mechanisms that permits the animation, while in the latter the designer must specify the result that is desired.
What I found more appealing of GA's approach is that the system can outperform the initial specifications, as is noted by a lot of papers in ALife. Some have developed an artificial world (in the paper linked above is named "Geb") where individuals can develope a (eventually) coordinated behaviour to survive (the fitnness function is an implicit "survive function").
What would be cool is to use GA in a pre-determined way to evolve (in a explcit way) the basic behaviour that construct the coordinated mass beahaviours (like boids' flocking).
--krahd
mod me up, scottie!
-- mod me up scottie!
An incredibly fun example of this from 1997
by
captainktainer
·
· Score: 4, Informative
This freeware program from Jeffrey Ventrella is an open-ended version of this. Small wormlike creatures evolve to find the most efficient, fastest method of locomotion through liquid. You can change various parameters to make it easier or harder for the little swimmers.
DarwinBots makes use of true genetic algorithms for propulsion, attack, feeding, social behavior, and evolution of multicellularity. I like Darwin Pond better, personally, because it's more stable and DarwinBots doesn't have the "cuteness" factor.
Because these figures are engaging in human-type motion in a reasonably believable 3D environment, I can understand how it's important- however, it isn't truly revolutionary in nature. It's just another step in the evolution (appropriate, ne?) of genetic algorithms.
Speaking of animations... fixed repost.
by
Mantle
·
· Score: 2, Informative
I found this link quite interesting to play with. Nothing to do with AI, but rather simulation of organic motion. Quite lifelike and it's fun to play with all the variables.
crawling or doing somersaults
by
aardwolf204
·
· Score: 4, Funny
"We got some creatures that didn't walk at all but had these very strange ways of moving forward: crawling or doing somersaults."
#include beer.h
-- Im dreaming ofa big bndwdth, That can resist the/.crowd.May ur days b merry & bright & may al
not the same, but different
by
jefu
·
· Score: 3, Interesting
I managed to finally put my genetic grammar program grammidity up on sourceforge. It should work pretty much as packed up, on linux - though it does require povray for the 3d examples and timidity for the sound example.
It doesn't evolve moving critters, but one of the included examples evolves 3d plants that compete for sunlight (kind of, sort of).
Another of the examples included allows the user to evolve midi files - with seriously odd results. Things may get odder though, I'm currently trying to figure out how to decompile midi files into source grammars then do crossover and mutation on them. Imagine Mozart crossed with Metallica....
Beethoven with the Brittany, or... I'd better not say, likely to get attacked.
The appeal of genetic algorithms
by
Neuronerd
·
· Score: 2, Informative
The field of machine learning consists of probably at least some 1000 researchers worldwide. Genetic Algorithms in the way they are usually used are an algorithm for optimization.
The problem of optimizing: You have a set of parameters p_i. You have a fitness/ energy or objective function F that somehow measures how good you are doing. The algorithm is supposed to yield some p_i that lead to optimal performance, that is maximal F.
What is a good algorithm? Whereas some years ago people would write sentences like "my algorithm is better than your algorithm" we now know that without prior knowledge about the function to be optimized all optimization algorithms are equally good. So today you can only say... my algorithm works better for this and that type of data because it incorporates this or that knowledge about the problem encountered.
Algorithms used Depending on what you know about the problem set you can then build various algorithms. The following are among the most common algorithms for optimization:
Methods based on gradients (i.e. vanilla, conjugate gradients),
Methods based on random search
and genetic Methods.
Why this is a good example for using genetic algorithms Genetic algorithms completely ignore the gradient information. In the case of walking the gradient of the fitness function may be difficult to define. That is why this is a classical example of using genetic algorithms.
Why genetic algorithms are absolutely hopeless for more interesting problems Genetic algorithms do not obtain a lot of information. In Particular for example David MacKay shows that the number of bits per generation is very low (1 bit for asexual, sqrt(size(genome)) for sexual systems). This means that the information acquired per generation is very low and that to obtain human like abilities it would take forever.
For interesting problems other optimization methods must be used that use information from the environment in a far more efficient way. Without learning I guess there can not be human like performance.
-- Googlefight "Slashdot Troll" against "BSD is dying" 303:229. BSD thus cant die.
Reminded me of sodaconstructor
by
Trinition
·
· Score: 2, Interesting
When I read this article, my mind immediately conjured up sodaconstructor. With this applet, you create a bunch of "tendons" and/or "muscles" (line segments) connected together. You then adjust the function that controls the cycle of tension on each segment. The result is that you can make "creatures" that walk.
The thing that triggered this memory was the talk of "700 independent parameters". I pictured each muscle in this virtual walking body to be much like the line segments in sodaconstructor. The difference is that instead of a human thinking about how to adjust each one, random mutation adjusted them and evolution selected them.
It's for beer too!
by
Tsu+Dho+Nimh
·
· Score: 3, Interesting
And that method designed one seriously cool refrigerator.
The practical side of me says it would never fit into the usual slot they are stuffed into by kitchen designers, but I like it anyway.
Don't get too excited
by
SystematicPsycho
·
· Score: 4, Interesting
Genetic algorithms work by minimizing the amount of searching needed in a search space by "evolving" candidate solutions and only evolving new ones from the best of the old ones. A candidate solution is evaluated against a fitness (of objective) function that assigns a fitness to a candidate solution.
Don't get to excited about the walking man - the difficulty and also art in Genetic Algorithms is finding a way to represent a candidate solution. The walking man isn't difficult to represent. To make it simple, pretend that the representation is like, work out a way to order the numbers 1..10 - where 1 == man crawling and 10 == man walking and the rest of the numbers in between are ordered to represent a certain posture. The genetic algorithm then searches through all the combinations and permutations of the numbers 1..10 until they are ordered - btw, instead of drawing numbers let's associate a number with a posture.
Now with this problem - think of a pool of numbers, each number associated with a posture and the Genetic Algorithm searches through the pool (of 100) until it finds the numbers 1..10 in order all standing next to each other. ---
-- Analytic & algebraic topology of locally Euclidean meterization of infinitely differentiable Riemmanian manifold
evolution on your pc
by
niff
·
· Score: 2, Informative
Walking is solveable by hill-climbing
by
Animats
·
· Score: 3, Interesting
Karl Sims did this about fifteen years ago, although he had to use a Connection Machine back then. It's appeared in a few games, screen savers, and such. The main insight here is that walking is solveable as a hill-climbing problem. Any of the usual hill-climbing algorithms (neural nets, genetic algorithms, simulated annealing, etc.) can do the job.
Running, though, is harder. Steady-state running is reasonably well understood, but running on rough terrain remains hard. To control running well, you need predictive techniques - look-ahead,
two-point boundary value solvers, and model-based control. This is where the insect brain leaves off and the lizard brain starts, and may be the beginnings of low-level AI.
When CPU's will become fast enough to use this level of learning on the fly, it will be great for gamers. Maybe the enemies don't have to learn walking, but learning strategy is a different thing. If they learn strategy by themselves and not by pre-programmed AI, I bet they will be more creative and a tougher opponent.
But I think I'll still have to wait like 20 years for that.
Not quite as slick but a lot more amusing.
Genetic algorithms must be stopped, and NOW
Who knows how soon it will be before these things gain the ability to work in the real world. It won't be long I tell you, before you look around and the entire PLANET will be full of these devilish unnatural creatures, all based on GENETICS.
But I think I'll still have to wait like 20 years for that.
Not if you listen to Steve Jobs in senile old age...
"This 2.0 GHz G6 runs at 1000 times the performance of an 8.9 GHz Pentium X!"
Evolution is a fraud made up by the godless devil-worshippin' computer scientists! Only God has the power of algorithm creation! The Bible clearly states in John 24:5 that God is the creator of the binary search, the hash table, the half-adder, the for loop, and matrix multiplication! You will all burn in Hell!
Yes.... now they can finally make better 3D CG porn now that they can simulate and even teach computer how to have sex in better ways and different positions. Hey, isn't the whole point of "EVOLUTION" to "REPRODUCE" more offsprings??
How would this be any easier than doing keyframed animation with inverse kinematics?
I read something about this idea a few years ago. I'm pretty sure it was by the guy that did BMRT... a thesis paper of his or something.
Basically, the redid the animation of "Luxo" in pixar's animation short. "Luxo" is the bouncing desktop lamp. Making animated characters (even those that aren't human) move "nicely" is quite hard. It takes a lot of work.
For their project, the specified the constraint: That Luxo must move from point A to point B, and that's all. The only input the model had was "how much force to use on each joint at each particular time". So, they were animating its "muscles" with a genetic algorithm, and also running a physics simulation on the system. (They assigned mass to the individual components, etc).
It evolved several techniques of locomotion: The "standard" bouncing hop (which the "real" luxo does), dragging itself across the table, somersaulting, etc...
In short, they came up with good looking animation, without requiring much user input. And in the end, they had a genetic algorithm which could make Luxo walk any distance, without requiring the work of an animator.
This is important, because although its relatively easy to just loop an animation, it looks rather unnatural.
The other day I stumbled upon what could quite possibly be the coolest Java applet ever. Once you start the applet, you assemble "bioblocs," which are 3D creatures assembled from connected blocks. Once you've assembled your creature, you can have it use genetic algorithms to try to learn how to most effectively walk, run, jump, and turn around using the blocks you've given it. I assembled a snake-like creature the other day, and was intrigued to see that it evolved a walking movement very similar to that of a sidewinder's.
In addition to assembling your own creatures, you can also load creatures that others have previously assembled, as well as enter your creatures into contests. A lot of the previously assembled creatures are -very- impressive, with movements quite similar to those evolved in nature.
Think of the battle scenes in LOTR for example, 10,000 orcs is not something that you want to be keyframing by hand.
then will we get smarter OSs that learn to blue-screen all by themselves?
h-t-t-p-colon-slash-slash-slash-dot-dot-org
What needs to be done to make the GA work is to develop a solution space representatin in which each parameter can be varied independently of the others. In this case:
The character's body plan involved 700 distinct parameters that needed to be optimized to teach it how to walk like a human. .
So its not like the computer learnt to walk by itself. There's a lot of hard work involved before you can even start the GA. Congrats to Reil.
<shameless plug> On a slightly related note, I'm about to start implementing a GA to develop a killer AI for gtkboard . If you are interested in coding a GA, you are welcome to join :) (Of course it won't be anywhere as complex as the one in the article, but still lots of fun.)
I just got finished reading this book, and had to chuckle at seeing this article. The book is about a group of nanomachines given agent based programming called PRED/PREY which uses something like the genetic programming spoken of in the article. Of course things go awry in there somewhere, but it is an interesting, and moderately technical fiction on this subject.
You know what I always found interesting. It's like these systems of thinking create newer systems of thinking. Evolution created Neural networks, and eventually created neural networks that can think and create things much faster then evolution (the human mind)
Then the human mind goes and creates digital computers, which again can do things the Neural network can't (and vise versa).
Anyway, just thought it was intresting.
autopr0n is like, down and stuff.
An NP complete problem is one that takes non-polynomial time to find the optimal answer, but can be verified in polynomial time. A genetic algorithm is similar, you need to have a fast fitness algorithm, or an operator who does the selection for you. If neither of those things are practical, then you probably shouldn't use a GA.
On the other hand, there are a lot of things that you can use GAs for.
autopr0n is like, down and stuff.
Heres the link to what they were talking about in the article. Walker Evolution
This next one shows off a lot more of what they can do. Mainly they abuse their models.
Natural Motion Show Real (14.5M Divx)
I love the tennis ball in the crotch clip. Insert bob saget joke here.
When I read the article, it immediatly made me remember the Boids which are a computer model of coordinated animal motion such as bird flocks and fish schools, first introduced by Craig Reynolds. Those where an example of emergent behaviour, where a bunch of independent moving things start moving in a coordinated way thanks to some "local guidelines" controlling their behaviour.
So, if every thing (boid) is telled to steer to avoid crowding local flockmates, steer towards the average heading of local flockmates and steer to move toward the average position of local flockmates, they start to move as a flock (!).
This approach of obtaining a more developed behaviour in an automatic (more accurately in an "emergent" way), is a lot related to genetic algorithms (GA) evolving an animation model, 'cos is exactly the opposite approach: In the first one the designer must specify the underlying mechanisms that permits the animation, while in the latter the designer must specify the result that is desired.
What I found more appealing of GA's approach is that the system can outperform the initial specifications, as is noted by a lot of papers in ALife. Some have developed an artificial world (in the paper linked above is named "Geb") where individuals can develope a (eventually) coordinated behaviour to survive (the fitnness function is an implicit
"survive function").
What would be cool is to use GA in a pre-determined way to evolve (in a explcit way) the basic behaviour that construct the coordinated mass beahaviours (like boids' flocking).
--krahd
mod me up, scottie!
mod me up scottie!
This freeware program from Jeffrey Ventrella is an open-ended version of this. Small wormlike creatures evolve to find the most efficient, fastest method of locomotion through liquid. You can change various parameters to make it easier or harder for the little swimmers.
DarwinBots makes use of true genetic algorithms for propulsion, attack, feeding, social behavior, and evolution of multicellularity. I like Darwin Pond better, personally, because it's more stable and DarwinBots doesn't have the "cuteness" factor.
Because these figures are engaging in human-type motion in a reasonably believable 3D environment, I can understand how it's important- however, it isn't truly revolutionary in nature. It's just another step in the evolution (appropriate, ne?) of genetic algorithms.
I found this link quite interesting to play with. Nothing to do with AI, but rather simulation of organic motion. Quite lifelike and it's fun to play with all the variables.
"We got some creatures that didn't walk at all but had these very strange ways of moving forward: crawling or doing somersaults."
#include beer.h
Im dreaming ofa big bndwdth, That can resist the
It doesn't evolve moving critters, but one of the included examples evolves 3d plants that compete for sunlight (kind of, sort of).
Another of the examples included allows the user to evolve midi files - with seriously odd results. Things may get odder though, I'm currently trying to figure out how to decompile midi files into source grammars then do crossover and mutation on them. Imagine Mozart crossed with Metallica.... Beethoven with the Brittany, or... I'd better not say, likely to get attacked.
The field of machine learning consists of probably at least some 1000 researchers worldwide. Genetic Algorithms in the way they are usually used are an algorithm for optimization.
The problem of optimizing: You have a set of parameters p_i. You have a fitness/ energy or objective function F that somehow measures how good you are doing. The algorithm is supposed to yield some p_i that lead to optimal performance, that is maximal F.
What is a good algorithm? Whereas some years ago people would write sentences like "my algorithm is better than your algorithm" we now know that without prior knowledge about the function to be optimized all optimization algorithms are equally good. So today you can only say ... my algorithm works better for this and that type of data because it incorporates this or that knowledge about the problem encountered.
Algorithms used Depending on what you know about the problem set you can then build various algorithms. The following are among the most common algorithms for optimization: Methods based on gradients (i.e. vanilla, conjugate gradients), Methods based on random search and genetic Methods.
Why this is a good example for using genetic algorithms Genetic algorithms completely ignore the gradient information. In the case of walking the gradient of the fitness function may be difficult to define. That is why this is a classical example of using genetic algorithms.
Why genetic algorithms are absolutely hopeless for more interesting problems Genetic algorithms do not obtain a lot of information. In Particular for example David MacKay shows that the number of bits per generation is very low (1 bit for asexual, sqrt(size(genome)) for sexual systems). This means that the information acquired per generation is very low and that to obtain human like abilities it would take forever.
For interesting problems other optimization methods must be used that use information from the environment in a far more efficient way. Without learning I guess there can not be human like performance.
Googlefight "Slashdot Troll" against "BSD is dying" 303:229. BSD thus cant die.
When I read this article, my mind immediately conjured up sodaconstructor. With this applet, you create a bunch of "tendons" and/or "muscles" (line segments) connected together. You then adjust the function that controls the cycle of tension on each segment. The result is that you can make "creatures" that walk.
The thing that triggered this memory was the talk of "700 independent parameters". I pictured each muscle in this virtual walking body to be much like the line segments in sodaconstructor. The difference is that instead of a human thinking about how to adjust each one, random mutation adjusted them and evolution selected them.
The practical side of me says it would never fit into the usual slot they are stuffed into by kitchen designers, but I like it anyway.
Genetic algorithms work by minimizing the amount of searching needed in a search space by "evolving" candidate solutions and only evolving new ones from the best of the old ones. A candidate solution is evaluated against a fitness (of objective) function that assigns a fitness to a candidate solution.
Don't get to excited about the walking man - the difficulty and also art in Genetic Algorithms is finding a way to represent a candidate solution. The walking man isn't difficult to represent. To make it simple, pretend that the representation is like, work out a way to order the numbers 1..10 - where 1 == man crawling and 10 == man walking and the rest of the numbers in between are ordered to represent a certain posture. The genetic algorithm then searches through all the combinations and permutations of the numbers 1..10 until they are ordered - btw, instead of drawing numbers let's associate a number with a posture.
Now with this problem - think of a pool of numbers, each number associated with a posture and the Genetic Algorithm searches through the pool (of 100) until it finds the numbers 1..10 in order all standing next to each other.
---
Analytic & algebraic topology of locally Euclidean meterization of infinitely differentiable Riemmanian manifold
you should really check out framsticks.
you can even see the current generation walk or crawl in 3d.
one of the coolest programs ever
some screenshots here
Running, though, is harder. Steady-state running is reasonably well understood, but running on rough terrain remains hard. To control running well, you need predictive techniques - look-ahead, two-point boundary value solvers, and model-based control. This is where the insect brain leaves off and the lizard brain starts, and may be the beginnings of low-level AI.