Mutating Animations 218
Weird_one writes "Discover magazine's current issue has an intriguing article involving using genetic algorithims to evolve an animation of a walking individual."
How many hardware guys does it take to change a light bulb? "Well the diagnostics say it's fine buddy, so it's a software problem."
Just wait for the game with this feature... (Score:5, Interesting)
But I think I'll still have to wait like 20 years for that.
Jobs (Score:4, Funny)
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!"
Re:Just wait for the game with this feature... (Score:4, Interesting)
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... (Score:4, Interesting)
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... (Score:5, Interesting)
Re:Just wait for the game with this feature... (Score:3, Insightful)
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.
Re:Just wait for the game with this feature... (Score:4, Insightful)
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.
Re:Just wait for the game with this feature... (Score:3, Informative)
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 devel
Re:Just wait for the game with this feature... (Score:2)
oops
Re:Just wait for the game with this feature... (Score:2, Interesting)
Re:Just wait for the game with this feature... (Score:2, Insightful)
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, ope
Re:Just wait for the game with this feature... (Score:2)
Re:Just wait for the game with this feature... (Score:2, Insightful)
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.
Re:Just wait for the game with this feature... (Score:5, Insightful)
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... (Score:2)
Of course in order for it to work really well, you'd have to have some sort of distributed system of learning, sort of like a seti program for CS bots, but I'd think if you even had a dedicated group as small as 100 people each willing to play 100 rounds of counterstrike, you could get pretty damn
Re:Just wait for the game with this feature... (Score:2)
No, make the bots start from scratch, that way a new player can get use to the controls by shoot fish in a barrel(literally?) and as the bots evolve, so will the players skill in shooting and hunting them... it could work.
Re:Just wait for the game with this feature... (Score:4, Insightful)
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... (Score:2)
Imagine if stick-figure man from the example were given a sword, and the goal of staying alive (and standing) the longest... Eventually you could come up with some sort of genetically evolved fighters... Now that's something I'd love to see.
Re:Just wait for the game with this feature... (Score:2)
I do agree with you; genetic algorithms have many uses in games (and design/engineering/programming etc), but ghame dev's already have to tune down their ingame AI because it's too good.
If you liked that.... (Score:5, Interesting)
Not quite as slick but a lot more amusing.
Re:If you liked that.... (Score:2)
This looks great!
I got a thing for reading cool thesises (thesiss? thesisi?)
Re:If you liked that.... (Score:2)
These must be stopped! (Score:5, Funny)
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.
Re:These must be stopped! (Score:1)
Hint, it doesn't come on a car, e.g., "That sawheel and that satire."
Hey, maybe you just protest too much. You wouldn't be a little bit mutant yourself now, would you?
We know how to deal with your kind. I saw it in a CGI movie once.
KFG
Re:These must be stopped! (Score:2)
Keanu as Stick: I know kung-fu! (Score:1)
Heathens! (Score:4, Funny)
Re:Heathens! (Score:2)
Re:Heathens! (Score:2)
Re:Heathens! (Score:2)
Re:Heathens! (Score:2)
www.biblegateway.com
sceptical (Score:1)
Re:sceptical (Score:5, Interesting)
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.
Inverse-- Luxo movie came from this work (Score:2)
Animators then went crazy with the idea and brought Luxo to life (through traditional keyframing).
Re:sceptical (Score:2, Informative)
Think of the battle scenes in LOTR for example, 10,000 orcs is not something that you want to be keyframing by hand.
Re:sceptical (Score:2)
Which is why they didn't
Re:sceptical (Score:1)
it's like NP complete (Score:4, Interesting)
On the other hand, there are a lot of things that you can use GAs for.
Re:it's like NP complete (Score:2, Informative)
Re:it's like NP complete (Score:2)
Re:sceptical (Score:2)
tell the system you want it to work out the best way f
Better 3D CG porn (Score:2, Funny)
Re:Better 3D CG porn (Score:2)
um.. (Score:2)
Would the result be a discovery or an invention? (Score:1)
How does the law apply to 'discoveries' versus 'inventions'?
Off the grid (Score:1)
Coolest Java applet ever: BioBloc (Score:5, Interesting)
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:Coolest Java applet ever: BioBloc (Score:2)
Create your favorite car? (Score:1)
For those of you interested in a small open source project that deals with genetic algorithms, using Artificial Neural Networks, check out this sourceforge project:
http://sourceforge.net/projects/annevolve/
Dan
Re:Create your favorite car? (Score:2)
If Microsoft starts using these algorithms... (Score:2, Funny)
Its more difficult than one thinks... (Score:5, Informative)
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 [sourceforge.net] . 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.)
totally off plug, um, topic (Score:2)
It sounds interesting...
Chrichton: Prey (Score:4, Informative)
Re:Chrichton: Prey (Score:2)
Re:Chrichton: Prey (Score:2)
Non-GA Approach (Score:1, Interesting)
While this isn't technically a GA approach, it does provide simialr results in real-time.
Check out his cool applet [nyu.edu].
Levels of thinking (Score:3, Interesting)
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.
Another Movie Link (Score:1)
Good Intro to Genetic Programming (Score:1)
Good article.
Video Clips from Natural Motion (Score:5, Informative)
This next one shows off a lot more of what they can do. Mainly they abuse their models.
Natural Motion Show Real [naturalmot...irror1.com] (14.5M Divx)
I love the tennis ball in the crotch clip. Insert bob saget joke here.
Genetic Algs, Boids and artificial life (Score:3, Interesting)
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 [channon.net] 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!
Karl Sims' Work (Score:1, Informative)
Check out his web site here [genarts.com] especially the section on Evolved Virtual Creatures [genarts.com].
Re:Karl Sims' Work (Score:1)
The game.
I HATE norns.
An incredibly fun example of this from 1997 (Score:5, Informative)
DarwinBots [libero.it] 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.
Re:An incredibly fun example of this from 1997 (Score:2)
His own page [ventrella.com] has some cool (and popup free) other stuff as well. In particular, the alife page there [ventrella.com] has "Darwin Pool", the more fun and accessible (IMO) "Gene Pool", and some really interesting stuff that uses Genetic Algorithms to breed unique rules for Cellular Automatas! (If memory serves, I think I helped hi
Re:An incredibly fun example of this from 1997 (Score:2)
Speaking of animations... (Score:1)
Speaking of animations... fixed repost. (Score:2, Informative)
I found this [sodaplay.com] 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.
xspringies (Score:2)
Walking cold (Score:1)
"genetic algorithms are increasingly being harnessed for real-world tasks such as designing more efficient refrigerators"
Wow. Walking refrigerators.
Try it on your Mac (Score:1)
http://www.spiderland.org/breve/
crawling or doing somersaults (Score:4, Funny)
#include beer.h
Why not apply this to a bot. (Score:2)
Perhaps the way to develope real AI is only possible when the AI creation can request code to enable functions. Stra
not the same, but different (Score:4, Interesting)
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.
Re:not the same, but different (Score:2)
Stop the friggin presses... (Score:2)
This would hae been news back in the 1900s
Re:Stop the friggin presses... (Score:2)
There's a huge difference between being programmed to walk by a human and learning to walk by itself.
GJC
Re:Stop the friggin presses... (Score:2)
The appeal of genetic algorithms (Score:3, 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.
Reminded me of sodaconstructor (Score:3, Interesting)
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! (Score:4, Interesting)
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.
Re:It's for beer too! (Score:2)
Re:It's for beer too! (Score:2)
Re:It's for beer too! (Score:2)
what an intelligent design... (Score:2)
Possible appications (Score:2)
Don't get too excited (Score:5, Interesting)
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.
---
Re:Don't get too excited (Score:2)
If you are, then you're wrong. GA's specifically don't go through the whole phase space. The whole thing about GA's is that they are a short cut through the phase space, with the selection process cutting off the [algorithms leading towards] dead ends.
What GA's do is to cut down on the paths which lead into the phase space of possible answers which aren
Re:Don't get too excited (Score:2)
"Genetic algorithms work by minimizing the amount of searching needed in a search space..."
The key word is minimizing. You're wrong, GAs start off with the entire search space (initially) and during evolution the search space is minimized eventually leading to a local or global optima. If you didn't start with the entire search space in the beginning then you wouldn't be conducting a proper search - as you wouldn't be looking at all the possible solutions to begin with.
Say you want
Especially good at falling down (Score:2)
evolution on your pc (Score:2, Informative)
you can even see the current generation walk or crawl in 3d.
one of the coolest programs ever
some screenshots [poznan.pl] here
Walking is solveable by hill-climbing (Score:4, Interesting)
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.
GA's not a good route (Score:2)
I recall seeing a video some time back where someone was trying to make some swimmers and walkers from blocks tied together with a simulated spine. The swimmers were great - they eventually evolved into something resembling fish.
The walkers, on the other hand, took advantage of an error in the scoring system. Since they were graded on the distance that they moved, most of the walkers evolved into tall and skinn
Re:GA's not a good route (Score:2)
Not only that, but you can tweak your fitness algorithm (the selector) by saying that a walk where the shoulders move sideways more is a better walk.
All their demos keep falling (Score:2)
Cyc AI can do that too (Score:2)
I'm interested to see which AI is seen first. We'll probably have both versions of AI down the line though. I wonder if there are any more AI possibilities.
Cheating (Score:2)
While this is pretty cool, it's nothing like "real" evolution. They started out with a humanoid figure and gave it a bunch of parameters and asked it to walk.
What they didn't do was say things like:
- the figure has to live on a planet with a certain amount of gravity
- food may or may not be plentiful
- temperature can change
- must be durable over many years and able to handle many terrains
- give no shape or composition to start with
- and so on...
Sorry, these models are just cool toys.
Re:Whose bright idea (Score:2)
Propz to da trolls.
Re:I love this stuff (Score:2)
--I hear Delaware is pretty good.