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
Ruds
·
· Score: 1
There are a lot of gamers -- if all the experience is combined (and transmitted to one place), you can probably get 20 player-years in an hour or two.
But don't use GAs. Wrong tool for the job here. Maybe look into reinforcement learning.
Matt
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
DashEvil
·
· Score: 0
Following trends, the only difference in bot AI from now, and 20 years later will be as followed:
You frag a bot, it's dead body falls to the ground, and suddenly everything freezes for a second as the bot gets back up just long enough to order a sub from SubWay(tm), mhmmm, that's good.
--
-If God wanted people to be better than me, he would have made them that way.
Re:Just wait for the game with this feature...
by
anttik
·
· Score: 1
I bet it's not using the same technique, but as said in other replies to my comment, maybe the genetic approach would require too many generations to make it a playable opponent...
So I guess I've just won 20 years here.
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
burns210
·
· Score: 1
"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."
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...
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
G-funk
·
· Score: 1
The CPU doesn't have to be fast enough to do the genetic code real-time, you do that beforehand, and develop the neural network over time through genetic algorithms, then simply attach that finished neural network to characters in the game.
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.
-- Send lawyers, guns, and money!
Re:Just wait for the game with this feature...
by
thefroatgt
·
· Score: 1
I guess that is one way to make people pay for buying new computers, the better your computer gets, the faster the AI gets harder. (goodbye retro gaming a game like this)
Re:Just wait for the game with this feature...
by
alwsn
·
· Score: 1
Given the number of people that play counter-strike, I would think that there would be sufficient user input to create bots that learn to play the levels and against people very well and in a human like fashion.
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 good bots out of it.
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
Mac+Degger
·
· Score: 1
Game dev's don't want that, or at least not that level of 'smartness'; the strategies the cpu will come up with will be too smart for the player, thus making the game 'not fun'.
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.
-- --
Waht? Tehr's a preveiw buottn?
Re:Just wait for the game with this feature...
by
MikeFM
·
· Score: 1
It could be using GA. They could pre-evolve to a basic level of being able to move and fight and so forth but let it further evolve as the game plays.. so that the bots can adapt as needed.
-- At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
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
Re:Just wait for the game with this feature...
by
bentcd
·
· Score: 1
The problem is that you'd end up with bots that exploit loopholes in the rules and generally behave like the most annoying human players out there. Simply because it's effecient to do so and genetic programming doesn't have ethics:-)
I remember seeing a report about a program that was developed using genetic programming and, while it gave good results, was very sensitive to temperature. If the temp in the computer room wasn't within a relatively narrow tolerance limit (much much narrower than what the hardware spec was), then the program would malfunction. One theory as to why this was the case was that the program had learned to exploit a race condition that would yield a correct result when the semi conductors had _just_ the right temperature. In a normal program, you'd design the software such that the race condition never occurred and so wouldn't be vulnerable to such nonsense. It's a long time ago though so I don't have any references:-/
It's the sort of thing you might expect from a genetically developed program though. Which makes me worry a bit about my own brain...
--
sigs are hazardous to your health
Re:Just wait for the game with this feature...
by
Error27
·
· Score: 1
That's a different thing. In that situation, they are programmed with AI, but they don't "learn".
In most games, there is no chance for the AI to learn anything before the game ends. Perhaps the AI for a Mortal Combat type game could learn something. The difficulty there would be keeping the computer from getting too good. Learning AI would be a cool idea for a long running online game as well.
If you liked that....
by
Great_Jehovah
·
· Score: 5, Interesting
Re:If you liked that....
by
Anonymous Coward
·
· Score: 0
theses (perhaps? not sure)
Re:If you liked that....
by
PhilHibbs
·
· Score: 1
That's a bit of a cheat, because the walker keeps stepping on it's own feet, but this isn't detected as a collision.
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.
What do you think "satire" is, you flamebaiting trollish AC?
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!
by
Anonymous Coward
·
· Score: 0
actually, i think he was being satirical. i thought it was supposed to be funny. (i laughed, but i laugh at a lot of things. =P)
Re:These must be stopped!
by
LiquidCoooled
·
· Score: 1
I agree, and not too surprisingly, so does the MPAA.
They are concerned that these virtual actors are using copyrighted motion from real actors, and even worse, most infidel Computer-animators use entire clusters of computers connected with massive high bandwidth networks to rend^K^K^K^Kshare this data.
-- liqbase:: faster than paper
Re:These must be stopped!
by
eak_the_freak
·
· Score: 1
The only devilish AND unnatural creatures on this planet belong to the human race - and genetics is certainly not the only component in its behaviour. The reason why humans are unnatural has nothing do with genetics, but with information that is passed on from generation to generation and is not stored in genes. Besides, humans constitute just a very small fraction compared to the 'natural' creatures. Bacteria, insects, and platypuses to name a few greatly outnumber us.
Re:These must be stopped!
by
Anonymous Coward
·
· Score: 1, Insightful
Of course, this isn't an example of genetic algorithms, just stochastic hillclimbing. There's no crossover in the algorithm.
Re:These must be stopped!
by
Tablizer
·
· Score: 1
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.
Worse of all, Washington will again happily grant them all H-1 and L-1 visas. And, they will be capable of vibrating sex tricks that we cannot do, and will take our gals away.
Re:These must be stopped!
by
Dyolf+Knip
·
· Score: 1
A genetic algorithm does not require sexual reproduction anymore than ordinary evolution does. I think we can all agree that there are asexual organisms that evolve, yes?
-- Dyolf Knip
2001
by
Anonymous Coward
·
· Score: 0
... The genetic algorithm doesn't make the computer self-aware in a HAL 9000 kind of way...
Phew! That was a close one.
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!"
Re:Jobs
by
Anonymous Coward
·
· Score: 0
and if you're wondering why the Pentium X only runs at 8.9 GHz, it's because Intel patented addition and multiplication on a windows platform, sued AMD out of business, and started releasing new Pentium lines every year 500 MHz faster with 2 new instructions.
This sort of reminds me of golem@home....that thing never ceases to entertain me....all those cute little blocks moving around! What a fun screensaver....oh yeah...plus it has some scientific purposes too.
Keanu as Stick: I know kung-fu!
by
Sage+Gaspar
·
· Score: 1
Gussy it up all you want, Trebek...
But can the stick figures fight?
http://www.cutthroatsd.com/
We're doomed.
by
Anonymous Coward
·
· Score: 0
Hail thee, robot masters!
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!
John only has 21 chapters, so Lektor isn't using the Bible to communicate with Avid Fan...
www.biblegateway.com
-- Windows XP SP2 told me to install third-party software that prevents viruses and protects stability... I chose Ubuntu
Re:Heathens!
by
Anonymous Coward
·
· Score: 0
You mock. But ask yourself some questions: 1) Who or what decided that walking upright was a valuable goal for the animated stick figure? 2) Who or what decided the keeping the center of gravity above a certain level was necessary to achieve that goal? 3) How did the environment that the stick figures 'live' in come into being?
The 'genetic algorithm' required a creator who set the rules and also had to intervene when the creation didn't behave as the creator had desired. Rather than proving evolution via random selection, this experiment proved the necessity amd existance of a being superior to the animated figure who also had to create the world the stick figures 'live' in.
This experiment 'proved' God equally or better than it 'proved' evolution.
1) Who or what decided that walking upright was a valuable goal for the animated stick figure?
In the real World, that would be a spesific selection pressure by natural selection. Remember, this is a simulation.
2) Who or what decided the keeping the center of gravity above a certain level was necessary to achieve that goal?
In reality, that would be our friends the laws of physics.
3) How did the environment that the stick figures 'live' in come into being?
This is irrelevant here, because we are talking about a simulation.
2) Who or what decided the keeping the center of gravity above a certain level was necessary to achieve that goal?
In reality, that would be our friends the laws of physics.
I think that "keeping the center of gravity above a certain level" was meant to have the simulation walk upright, as opposed to crawling or something similar.
Some aspects of evolution seem to make good sense, and I don't see why a creator wouldn't use it as a mechanism for creation. If God created the universe with all its rules, why would he break them right away? I think it makes sense that he would use natural means to bring things about (although since we don't understand the universe completely, some things may seem unnatural).
I don't know, it sounds really cool and all, but in my experience, anything involving Genetic Algorithms consists of more hype than results.
I mean, say you want to actually use this system to make an animation of, say, a guy waving 'hello'? You would have to write a fitness function that gives more points for animations that look more like they are waving hello, then run the simulation, probably get weird results, and then go back and modify the fitness function till you get something that looks decent.
How would this be any easier than doing keyframed animation with inverse kinematics?
-- & I wish I knew the password to your heart . . . &
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.
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.
Some of the other replies make some good points. I would just like to add that it seemsto me by one of the vids in a link from that article advertises actions that are less "controlled", and more "sporadic" such as the effect of a bioped model being knocked down to the ground or blown up. The site seems to suggest adding these unpredictable actions to your already strictly defined animation. So, you as the animator show your model how to wave "Hello", and then let the GA take over when you blow him up with TNT.
Dan
Re:sceptical
by
Anonymous Coward
·
· Score: 0
It wouldn't be easier than ik (inverse kinematic) on one specific move, but once you built up the necessary framework, you can use it for a lot of different moves (considering the framework is well thought of course). In the article example, they could now look for the run 'genes', or jump 'genes'. So, yes, the initial investment is bigger and more delicate to set up, but once this step made, further jobs are cheaper to make. The real difficulty lies in the definition of the set of 'genes' that are to be used. So the problem to be solved has to be well analyzed to fully understand what parameters are involved in its resolution, those parameters becoming the set of genes of the population solving the problem for you.
What's more important is using this system in situations like WETA digital's Massive - the program that co-ordinates the battle sequences in Lord of the Rings. Instead of having thousands of orcs choosing among a few motion capture patterns to make up a charge of 30000 uruk-hai, they could have autonomous agents that actually know how to walk, and run, and get up after they trip over a dead body, or jump over the body of a fallen comrade, or whatever...
tell the system you want it to work out the best way for 30000 orcs to get from the top of this hill to the bottom of the hill, with as few of them tripping over and getting trampled to death as possible, and hey presto - you have a crowd simulator to beat all crowd simulators.
"Think of the battle scenes in LOTR for example, 10,000 orcs is not something that you want to be keyframing by hand"
Which is why they didn't:) Massive (the program they used to create and simulate all those battle sequences) is basically a huge neural net programm, with each orc/character having a seperate decision module which chooses a stance, an attitude etc. depending on where it is and where the other actors are (many elves close by and my squad got cut up-->run away!!). They then ran the sim and tweaked it until they came up with a battle which looked cool and fit the story. BTW, look for the orc answering his cell phone in the battle for the keep:)
I saw T3. On its own, it was fairly decent. Nice action scenes and everything. T2 (which I think is the best) seems like a more complete movie, though.
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??
.. animations don't mutate, its the program that mutates and represents its new self with animation.
Would the result be a discovery or an invention?
by
I+don't+want+to+spen
·
· Score: 1
This sounds great, but you would then need a computer ten times as powerful to run the thing past all the patents etc. just in case it had evolved an idea somebody else had come up with!
How does the law apply to 'discoveries' versus 'inventions'?
-- Don't go to a brothel if you want to buy broth
Re:Would the result be a discovery or an invention
by
Anonymous Coward
·
· Score: 0
The law doesn't see 'discoveries' or 'inventions,' it sees 'patents' and '$$$$$$$.'
Re:That's great...
by
Anonymous Coward
·
· Score: 0
no, you have to wait for it to be open-sourced for that.
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.
This article immediately made me think of BreveWalker, which is a similar "learns to walk" concept using a 4-legged block creature. It's a MacOS X-only screen saver module, and it's a lot of fun to play with. Been around for quite a while, too.
Something along those lines exists at sodaplay. I don't believe there's any evolution about it, but you get to build models and control how their muscles move and such. It's pretty cool.
Create your favorite car?
by
Newcastle22
·
· Score: 1
I doubt that "your favorite car" could be built by a genetic algorith. The whole idea is that you get something that you wouldn't expect. Now, you might be able to get some "interesting cars" out of them.
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:
Not only something you've never thought of though- GAs are also good at optimising things. How about a car gearbox that works out whether you are in a sporty mood or not, and shifts automatically? How about a car tailored to your body size and shape? How about one that designs the engine characteristics and matches it to your prefered driving style. Perhaps you like cruising, or perhaps you like accelerating upto 65 and then cruising, how about it gears the car for that, and ignores top speed. etc. etc.
--
-WolfWithoutAClause
"Gravity is only a theory, not a fact!"
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
Re:If Microsoft starts using these algorithms...
by
Anonymous Coward
·
· Score: 0
Microsoft already innovated the self-blue screening. Just watch any of their screens for a week.
Re:If Microsoft starts using these algorithms...
by
madpierre
·
· Score: 0
Won't ever happen. Theyd just evolve into Linux.
And ol' Billy boy wouldn't stand for that.
-- siggy played guitar
Re:If Microsoft starts using these algorithms...
by
Anonymous Coward
·
· Score: 0
If you applied GAs to your sense of humor, this joke would have never survived.
Re:If Microsoft starts using these algorithms...
by
Anonymous Coward
·
· Score: 0
And your comment would have been genetically modified down.
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.)
Re:Its more difficult than one thinks...
by
Anonymous Coward
·
· Score: 1, Insightful
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.
The computer did learn to walk by itself. The control of those 700 distinct parameters to move the legs is what the genetic algorithm was optimizing.
Re:Its more difficult than one thinks...
by
DarthGonzo
·
· Score: 1
Your comment about the bit representation in a GA being a little too simplistic is true. I used a GA for a scientific non-linear minimization problem, and I found that 1's and 0's were pretty useless for the problem. I found it easier to go back from the "Watson and Crick" level of detail to the "Mendel" level of detail. It was more logical to do "mate/mutate" processes on that kind of information. It all depends on the problem.
You're also correct about problems with the solution space. I tend to think of GAs being good for problems where I can say "The answer lies in this box." The box is an N-dimensional object whose sides are very reasonable limits on the set of parameters defining the solution space. In situations like that, the GA is a nice mix between a Monte-Carlo search and a fully directed minimization.
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.
I have a feeling that nanotech + genetic algos can be particularly deadly. One of the constraints for GA is that we can't afford to have population of billions as nature can. With nanotech that might be possible, and then who knows what might evolve?
I am never sure whether to be amused or disgusted when I see somebody hold up Michael Chricton for his "insight" when he has, essentially, just ripped off well-known -- and better developed -- ideas from real science fiction writers. He's a hack, he doesn't get the science even remotely correct, and he doesn't make up for it in dialog or plot.
Actually, I would have thought that GA is less constrained than nature in its ability to sustain a high population.
The only constraint on the population in a GA system is the capacity of the machine(s) to store and represent the data.
Nature, on the other hand, is limited in area and resources.
I think your real fear is that a Nautrial environment is far less controlled than the virtual one. It's not the population size that is the problem here - it's a change in the fitness function itself. Without a controlled virtual environment, it is always possible that an evolving nano-population will start selecting for something that you weren't aiming for.
Hittin' double digits...
by
Anonymous Coward
·
· Score: 0
Lunix10
Non-GA Approach
by
Narphorium
·
· Score: 1, Interesting
Ken Perlin created a similar technology which procedurally animates characters walking using his Perlin Noise functions.
While this isn't technically a GA approach, it does provide simialr results in real-time.
Whose bright idea
by
Anonymous Coward
·
· Score: 0
was it to post a story at this time of night? I mean, I'm at the risk of sounding US-centric, but this is the time of night when the trolls come out; and I guess they're too stupid to realize they missed the full moon.
Reading the responses to this story reminds me of why I am glad that I read at -1.
Propz to da trolls.
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: 0
"Non-polynomial?" Do you have a proof of that, or are you just confusing it with NONDETERMINISTIC polynomial time?
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.
Re:it's like NP complete
by
Mac+Degger
·
· Score: 1
"On the other hand, there are a lot of things that you can use GAs for.
PORNO FOR THE PEOPLE! [autopr0n.com]"
Heh....that's a classic example:)
Here is another movie (mpeg, 1.5 MB) demonstrating a set of legs learning to walk over time.
Good Intro to Genetic Programming
by
astro
·
· Score: 1
Reading the article, I was strongly impressed with what a good, ground-level introduction to the concept of "what is genetic programming". I think that showing the science applied to a seemingly simple, common concept (walking, and specifically animating virtual walking) really helps make the big concept here easier to understand.
Good article.
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!
Karl Sims' Work
by
Narphorium
·
· Score: 1, Informative
Karl Sims has also done a lot of work with evolutionary graphics and animations. Check out his web site here especially the section on Evolved Virtual Creatures.
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.
Re:An incredibly fun example of this from 1997
by
kisrael
·
· Score: 1
I took a class on A-life from Jeffrey Ventrella in 1995 or '96. He'd been doing this stuff at the Media Lab for years, as far as I can tell, including walking "contraptions" in 3D virtual space.
His own page has some cool (and popup free) other stuff as well. In particular, the alife page there 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 him rediscover the concept of evolving those during his class at Tufts, I remember him coding up the core idea on a SGI he was borrowing from work.)
http://www.sodaplay.com/constructor/player.htm
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.
Bittorrent link Re:Video Clips from Natural Motion
by
Anonymous Coward
·
· Score: 0
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.
"genetic algorithms are increasingly being harnessed for real-world tasks such as designing more efficient refrigerators"
Wow. Walking refrigerators.
Letter from Miss Moffet Humpkins to Pastor Ben
by
Anonymous Coward
·
· Score: 0
Lately, kind sir, I have been quite perturbed by certain events that have been proliferating in our society. Was it not so long ago, that in more civilized times, children respected and obeyed their parents, under the threat of a firm thrashing if their impudence and audacity got out of hand? But oh, kind father, the trials that parents today must suffer! Not just the other day, whist I was dining upon a fresh garden salad, my daughter, of not even 6 years old, insisted upon uprooting most unrest in requesting I purchase for her a milky-way bar! I quickly remarked to the impudent creature that one of our many servants would be more than willing to carriage her to the local general store; but no! she insisted that I -personally- drive the buggy to make the purchase! Oh wise man of God, what is a poor woman to do in these hard times! Before you can open your Moses-lovin' mouth Pastor, I have proposed a final solution to the problem of "youthful indiscretion"- Prison Labor!
Before you bring up cries of protest from your liberalism-saturated mind, hear me out! Our disrespectful children will learn the true meaning of honor and sacrifice while they're hard at work pounding license plates and assembling adding machines! Honestly, what better way is there to whip our children into shape? Scare them with threats of the boogey-man? Psh-haw! Just look at the wondrous effects prison labor had on the Dell kid! Not only will prison labor harden our children into obedient automatons, it will show them the reality they will have to face if they follow their current paths and become criminals!
Thank you for your attention kind Minister, and God-Bless!
Why not apply this to a bot.
by
ratfynk
·
· Score: 1
Is it far fetched to give an AI bot the ability to test a new function? Could we take a bot and give it the ability to test program functions themselves? Hook this bot into an internet CVS data base and let it test code for functions. The bot could request code for speach synthesis, remote sensing interpretation of images, and all the other code requirements to develope a primitive awareness.
Perhaps the way to develope real AI is only possible when the AI creation can request code to enable functions. Strange but perhaps open source is the route to self aware AI. Flame me if you like but to lock down code might make real AI impossible.
It is possible to alow the bot to lock core code so that it will not self destruct, then if test routines cause problems the parent bot can decide to reject the code causing the problem.
An Ai bot that can program child processes itself based on sample test code might become possible, if we can teach bots to write code! Isaac Asimov and his rules of Robotics are starting to become very important indeed, his vision was as acute as that of Jules Vern.
-- OH THE SHAME I fell off the wagon and use sigs again!
I used to do this but I had to stop it
by
Grizzlysmit
·
· Score: 1
I kept finding my programs in compromising positions in various parts of my hard drive.:-)
-- in my life God comes first.... but Linux is pretty high after that:-D Francis Smit
hundreds, sometimes thousands of generations?
by
pwarf
·
· Score: 1
I think this is oversimplified. The number of generations necessary to find an acceptably good solution depends on many factors, most importantly population size and problem complexity (of course).
My experience with genetic algorithms is that with a reasonable initial population, the majority of progress occurs withing the first few generations. Were you refering to individual fitness evaluations instead of generations? Even so, given a reasonably optimized initial population, and a quick method for approximating fitness (or at least weeding out poor candidates), I would expect useful results could be had in a handful generations with a small population size (ten or so), so maybe a hundred or two hundred evaluations of individuals.
If you are referring to genetic programming, rather straightforward genetic algorithms, I am not sure how many iterations that would take, I haven't any practical experience with them.
In terms of games adjusting to playing style, I would expect other types of learning algorithms to be more useful, though.
sodaplay always looks to me just like xspringies - an x windows spring/mass simulation thats been around for quite a while. Its quite a fun thing to play with - you can take one of the defined models and change gravity, the strength of the springs and so on and see how it works.
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.
Re:not the same, but different
by
Thing+1
·
· Score: 1
For Beatles crossed with Metallica, check out Beatallica.
-- I feel fantastic, and I'm still alive.
Also available as a licensable framework.
by
kiniry
·
· Score: 1
Part of DALi's technology from nearly three years ago approached the problem of creating lifelike ALife entities in much the same fashion.
See http://www.dalilab.com/ for more information and a technology demo.
-- Joseph R. Kiniry
http://kind.ucd.ie/~kiniry/
Lecturer
UCD School of Computer Science and Informatics
Stop the friggin presses...
by
brianosaurus
·
· Score: 1
My mac has a screen saver that does that. Whoop-de-friggin do. (the screen saver is cool. this posting masquerading as news is not.)
This would hae been news back in the 1900s;). Get over it.
On my website I implemented a genetic algorithm to choose the colorscheme. The number of pages people view determines the amount on influence on the general color scheme.
For an example of a genetically mutating animation
by
matvei
·
· Score: 1
From the website:
the film is generative in the sense that each time it is rendered by the computer, many of the details are changed. generative work with computers throws up interesting questions about free will, and where the work of the artist ends and the job of randomisation begins.
Re:For an example of a genetically mutating animat
by
matvei
·
· Score: 1
I just RTFA'd and it's not really an example of the kinds of animations the article talks about. In the article the point of mutations was to find working solutions to problems but in Tom Thumb the mutations are there just for art's sake. And they are not even genetically based:-)
Interesting stuff nevertheless.
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.
Inverse-- Luxo movie came from this work
by
Speare
·
· Score: 1
I saw this in the SIGGRAPH proceedings back when it was new. The animated short movie "Luxo Jr" came after the work creating a single-muscled walker. They used a lamp geometry in the paper. The lamp taught itself how to hop along evenly, forward flip, backflip, go up and down stairs.
Animators then went crazy with the idea and brought Luxo to life (through traditional keyframing).
-- [.sig file not found ]
Re:Inverse-- Luxo movie came from this work
by
aselle
·
· Score: 1
No, I don't think this was the case. Luxo came out in 1987. Then John Lasseter wrote a paper entitled "Principles of Traditional Animation Applied to 3D Computer Animation" which he went over the traditional principles of animation a'la Disney. This included Luxo wireframes and so forth. Then Witkin and Kass wrote "Spacetime Constraints" in SIGGRAPH 1988 that synthesized Luxo jumps using an optimization technique sharing the title of the paper. Then, in 1995 Gritz and Hahn wrote "Genetic Programming for Articulated Figure Motion" which they reproduced the work of Witkin and Kass using a genetic algorithm to mutate controllers for kinematic chains. In fact their work did essentially what this article speaks of.
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.
Did you see anything that said where this fridge could be purchased? I liked it and was looking but I saw nothing about actually buying one.
-- At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
Re:It's for beer too!
by
Tsu+Dho+Nimh
·
· Score: 1
No... Unfortunately I think it's just a "concept drawing" to promote the software.
what an intelligent design...
by
Perdition
·
· Score: 1
Proof positive that with enough intelligent design and a keen eye for the result you're aiming towards, you can have a carefully manipulated, narrowly defined creation take on properties that look just like they evolved, if you stringently ignore the fact that they were intelligently designed, keenly aimed, narrowly defined, and heck, made in your own image. Now if they could only get the stick figure to say, "I am fearfully and wonderfully made."
-- Windows XP SP2 told me to install third-party software that prevents viruses and protects stability... I chose Ubuntu
Shouldn't the same development process be possible to use for robot controller SW? You will of course have to change the physiological input parameters (the robot you are constructing will most likely NOT have the same muscles as a human body), but the process should be the same, and the resulting controlling algoritm would be better at controlling the robot walk (move) than a human-constructed program.
-- SIG: TAKE OFF EVERY 'CAPTAIN'!!
I for one...
by
Anonymous Coward
·
· Score: 0
I for one welcome our new genetic algorithm masters!
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
Re:Don't get too excited
by
Mac+Degger
·
· Score: 1
Lemme get this straight: you're saying that GA's basically just order the phase space of all possible, correct, postures and put them in the right sequence?
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't helpfull to the goal.
"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 wanted to find a number between 1 and 10 that was greater than 4 and less than 6.. the search space is 1..10, not 4..6.
You've missed a point of GAs, they are random, there is no ordering of anything.
What you are suggesting is a brute force approach, ordering the phace space of all possible correct solutions. --
-- Analytic & algebraic topology of locally Euclidean meterization of infinitely differentiable Riemmanian manifold
a crowd simulator to beat all crowd simulators
by
LittleBigLui
·
· Score: 1
i think you mean
one crowd simulator to rule them all
-- Free as in mason.
Especially good at falling down
by
PizzaFace
·
· Score: 1
The demos mostly show the figures being hit, blasted, or shot. Maybe that's to appeal to game makers, but it suggests that the figures still have a rather limited repertoire. I'd like to see more gymnastics and other complex body movement, not just the physics model of a jointed body crumpling.
Re:Especially good at falling down
by
Anonymous Coward
·
· Score: 0
Makes sense to start with action behaviors IMHO. Probably a huge demand for this. Sounds like a good strategy to me. Did you see the bit in the demo video where the guy staggers backwards differently every time? Pretty impressive stuff. They should put this in a game engine for a FPS or sports title.
evolution on your pc
by
niff
·
· Score: 2, Informative
"The idea is called a genetic algorithm. It creates a random population of potential solutions, then tests each one for success,..." The author also calls it "fitness function." Where in the world would such a thing be found in nature: The idea that there is some goal of walking or having wings or having skin instead of scales or wings instead of fins or limbs.
This program, like any other "successful" program is not successful unless some outside force (in this case a human) tells it when it will be successful. It is nothing less than preposterous to state that there are "successful" genes in nature (see end of second paragraph). How would genes be known, particularly in the case of the "evolution" of walking, to be successful unless some outside force had designed it to so that it would
have a goal to determine "success" and
have the ability to know what was heading in the right direction in the first place, particularly over successive generations?
So, my conclussion is that you know nothing of programming, don't care about programming, are willing ignorant of the logic expoused above, or are set in your religion of evolution and when a straw comes along to grasp at you take it, even when it makes you look like a hater of reason.
The opening quote from the last paragraph reads:
"You state your objectives, let the thing
evolve with the optimum combination of parts at the lowest price, and the machine will be there this afternoon," (my emphasis)
But the one quoted should have instead said:
"You state your objectives, let the thing
test every possibility with the optimum combination of parts at the lowest price, and the machine will be there this afternoon," (my emphasis).
Where in the world would such a thing be found in nature: The idea that there is some goal of walking or having wings or having skin instead of scales or wings instead of fins or limbs
Food.
If you get the food and survive, you have passed the fitness test.
If a species which has evolved wings (possibly stemming from a random mutation) is better abled to get the food I need to survive, it is 'fitter' than I am, and I die.
I first learned about genetic algorithms back when I was working to break the Poe Cipher (I did break it, but wasn't the first, I think my submission was 6th - I was using Perl and the winner was using C - if that matters). I was fascinated by them and have always read up all that I could about them. Then moved on to neural networks, and then thought of genetic programming (I'm certainly not the first of course to think of that, and I'm not claiming I am).
These are great for getting through non-linear solutions faster than with linear attempts at the problem space. The main issue is that you tend to find local max/min (in theory which you are shooting for depends on what you are using it to find - I'm pretty sure everything I've ever used it for was looking for maxes) and you want to ideally find the global max/min - the thinking being that for the given problem space. In many cases, and this walk cycle sounds like it is perhaps one of them, a "pretty good" local max/min is sufficient and you don't in fact need THE global max/min.
I have thought of ways of using them for voice recognition, face recognition, stock market prediciton, etc etc - again, I'm not the first person to think of this - it is likely just a logical progression as you think of areas with huge problem surfaces and you want a non-linear solution.
In terms of game UI, or at least games in the sense of what we play on our computers, FPS and the like, they aren't used all that often. They require a pretty large lifetime in terms of how they learn (many repetitions and attempts). What is usually more prevalent in game UI is Bayesian learning via hidden Markov Matricies. Those are imprefect as well, but give the illusion of learning fairly well. Those can learn slightly faster, and can also be pre-taught when put into the game (trained on a wide range of users) and then learn more to the specifics of their new owner once they play.
I have a lot of code now for stock market prediciton because I find that to be the most interesting field for using this. I am actually in the process of starting up a company using it - I need to finish the UI for the end users, and I need to work out the legal side of it and where the company will be loccated in terms of the legal side for taxes.
In terms of predictive ability, neural nets trend towards making more predicitons, but some of those will be wrong. Genetic algorithms will make fewer predicitons because they will "try" harder to be right instead of just making a prediciton. "Try" being relative here because the bulk of that is in how they are programmed.
Genetic programming is intersting since you don't really write the code for the end problem, but instead define what the problem is, and then you write code that writes code to solve that problem. The downside of that is that it doesn't make fast and efficient code, it usually makes code with lots of conditions and branches. In the end, you are usually going to need to go over the code that it writes and then rewrite it yourself so that it does the same thing, but more efficiently - using the genetic programmed code as the guideline. (I'm 99% sure that in the recent article about GridWars and how the 2nd place guy used a "genetic algorithm" to determine his code - I think they were actually referring to genetic programming, which is slightly different - and judging by the fact that his code was very thick, and the fact that was likely why it lost in the end - too slow - also makes me think that was the case)
Fun stuff - I sure hope my company idea takes off so that I can just work on that and be done with the whole IT thing that is essentially really boring compared to all of this.
--
There are some odd things afoot now, in the Villa Straylight.
> I have a lot of code now for stock market prediciton because I find that to be the most interesting field for using this. I am actually in the process of starting up a company using it - I need to finish the UI for the end users, and I need to work out the legal side of it and where the company will be loccated in terms of the legal side for taxes.
--I hear Delaware is pretty good.:)
-- .
== WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??
Looking at their demos, I can see where what we now think as realistic console sports games could be greatly improved by the use of this software.
They've got a couple of clips involving catching a football, getting hit with something, etc. It's so lifelike it's scary.
I'm very curious what the CPU requirements would be of having 22 of these creatures playing within the rules of football at once.
Who knows, NCAA Football 2006 on the PS3 may be a "real" reality.
Does slashdot have any forums?
by
SageMadHatter
·
· Score: 1
I'm sorry I'm posting this off-topic, but I can't seem to find any "dedicated" forums. The only ones I see, are the ones that belong to the news stories. I wish to ask a question to those Slashdotters who are programmers, where would I post such a question?
Thanks for any help,
Mad Hatter
Re:Does slashdot have any forums?
by
CableModemSniper
·
· Score: 1
In a word no. There are no slashdot forums besides the ones that belong to the news stories.
-- Why not fork?
That's not a genetic algorithm
by
tvm662
·
· Score: 1
The software made 20 copies of their neural networks, introduced subtle mutations in each of them, added 80 new participants with randomly wired networks, and started the next generation walking.
That isn't a genetic algorithm, if there was no crossover then its Monte Carlo. I guess it's just the journalist making a mistake. This is a popular misconseption that evolution occurs only through mutation. I guess it's exciting to think about large evolutionary jumps caused by mutation - like in X-men or something - than the slow process of gene recombination.
Tom.
Re:That's not a genetic algorithm
by
tvm662
·
· Score: 1
Oops, I just had a go at Steven Johnson (Author of Emergence). I guess he does know his stuff, maybe because this is research by a company not academics they didn't want to reveal too much. Their website doesn't give to much away, doesn't even mention GAs.
Tom.
"Reinforcement learning"
by
Wolfrider
·
· Score: 0, Flamebait
--Wow, that does sound interesting. Anyone care to explain the concept in maybe a paragraph?
--On the other side: Whenever I see stuff like this in an article, it really tweaks me:
> Watching the time-lapse video clips, one can't help but marvel how this virtual evolution is roughly analogous to the real-world evolution of our ancestors millions of years ago when they first began to walk upright across the savannas of Africa.
--Blegh, what a bunch of hooey. Um, just a thought to all you Slashdot readers out there: If you haven't yet done so, DON'T accept the "theory of evolution" blindly - INVESTIGATE IT. Thoroughly. Having done so myself, and basing my decision on evidence seen with my own eyes, I can confidently point to the Bible and the book of Genesis and say "Yup, that makes a lot more sense than me being descended from some kind of monkey."
--I suggest you start here: http://www.answersingenesis.org/home/area/q a.asp http://www.answersingenesis.org/Home/Area/m agazine s.asp
[/me puts on flame-retardant suit ]
-- .
== WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??
A paragraph about reinforcement learning from Reinforcement Learning: An Introduction, an excellent book on the subject by Rich Sutton and Andrew Barto (much of which is online):
Reinforcement learning is learning what to do---how to map situations to actions---so as to maximize a numerical reward signal. The learner is not told which actions to take, as in most forms of machine learning, but instead must discover which actions yield the most reward by trying them. In the most interesting and challenging cases, actions may affect not only the immediate reward, but also the next situation and, through that, all subsequent rewards. These two characteristics---trial-and-error search and delayed reward---are the two most important distinguishing features of reinforcement learning.
Well, I don't know about giving up on the theory of evolution entirely, but even accepting evolution, that statement is badly out of whack. Do the authors think that 1)early humans appeared on a savannah and were able to take a single step before falling, 2) had children who were slightly better,... and 3) later humans were thus able to walk? The analogy is so rough as to be wholly inaccurate.
This is one of the falling-down points of GAs: GAs create a bunch of random programs until one of them does roughly the right thing, instead of a single program that adapts itself based on the results it gets. Most skills aren't evolved, they're learned. GAs have a place, but not as big a place as they seem to get.
GA's do not create a bunch of random programs until it gets one right. That's not efficient. The initial set is random, but then after that there is a selection process whereby bad pieces of the programs can be identified and discarded through a selection process.
Think of the game mastermind. If you just put random pegs in each row, without considering the feedback about the errors in the previous row, then you are playing like one of those mythical Shakespeare monkeys.
But when we play mastermind, it's not random. The first row is random, but each row after that is a refinement of the previous row, based on the feedback given.
(BTW, this explanation is the counter argument to the creationist notion that evolving life is like trying to assemble a 747 in a junkyard, using nothing but a tornado.)
Yes, the initial set is random. And if you read the article, you'd see that each successive generation of this particular formulation contains 80% completely random programs. This is not uncommon. In addition, the 20% that come from the previous generation are randomly mutated. There's no analysis of the program to determine which pieces of the program worked and which didn't. Even in instances of "sexual" GA, the mating between two programs takes a randomly selected piece of one and joins it with a randomly selected piece of the other.
Take your mastermind analogy. It's like playing 100 games of mastermind at the same time (with the same goal). Make a move with random plays. Then take the 20 games that got the best scores last round. Replay the same move with a slight change (maybe swap positions of two pegs or change the color of a single peg) for those 20 boards, and act completely randomly in the other 80. Then you'll get GAs.
Sure, it's a refinement, but it's essentially random and pretty inefficient. Mastermind shouldn't be played with GAs; not all problems lend themselves to solution through genetic algorithms.
Matt
Re:"Reinforcement learning"
by
bentcd
·
· Score: 1
Sure, it's a refinement, but it's essentially random and pretty inefficient.
Depends what you mean by "random" and "inefficient".
It is not random as in "complete luck of the draw" in that you have imposed rules on the system that move it in the correct direction.
It is ineffecient only in that it can take millions of iterations to get a decent result, but CPU cycles are cheap so who really cares about that?
But certainly, there exist problems for which genetic programming isn't the correct solution.
--
sigs are hazardous to your health
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.
What you are basically looking for is a controllable way to make a character traverse a route.
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 skinny objects, and simply fell down. The taller they were, the higher the score. Oooops.
But the real issue is that you don't have control over the GA algorithm. You want to be able to specify a particular sort of walk - staggering zombie, happy double bounce. GA won't give you that.
If you can somehow determine what a shambling zombie walk looks like as a fitness function, then you *can* specify it.
It all depends on what you're selecting for, and how things match up to that.
If you'd read the article, you'd realize that their GA discovered some solutions that somersaulted, or crawled or whatever. By manipulating the fitness function to require that the center of mass didn't deviate from a smaller range, they eliminated these solutions from the genetic pool of survivors.
In the same way, if the fitness function in your example had defined success as moving the center of mass instead of merely *any* part of the organism, then those walkers who "won" by growing tall would have been eliminated. Problem solved.
Re:GA's not a good route
by
Mac+Degger
·
· Score: 1
Actually, GA's can very easily give you that...all you have to do is tweak some of those 700 parameters (make that muscle a bit tighter, that bone a bit heavier), run the sim and hey presto, a gait which matches the physiology of the character.
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.
It is kind of peculiar that all of their demos have a rather quick and abrupt hit/fall/tie/don't move much animation sequence. At first it is amusing but it appears all the animations are like that. Thought I'd point that out.
Re:All their demos keep falling
by
Anonymous Coward
·
· Score: 0
I had a job interview with them recently. They showed me some v impressive tech demos. There's a lot more to this than falling, hitting etc. Apparently, they concentrate on this at the moment for commercial reasons. I wouldn't be surprised if Sony or MS were trying to snatch them up for next gen console technology.
Actually, it already happened.
by
Vladimus
·
· Score: 1
Did you forget? This text you're reading is part of the simulation created by the machines. The purpose of this story is to remind us that the machines are genetically superior to us.
Dammit, my cat just morphed into an agent again...
If you attached a 3d engine onto CYC, you can trail and error, learn how to use limbs you attach onto a robot. Eventually its using the best result as it learns to grasp... Then when it judges weight/shape/density/wind, and throws, it can learn how to best hit a target.
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.
If you're a genetic algorithms fan, and want to participate, take a look at Darwinian Poetry.
-- Actually, I was trying to be Insightful, not Funny.
GA's are hard to improve
by
Anonymous Coward
·
· Score: 0
We tried to use them in my last company (which fucked up). Promising results at first, but u can't read the code and improving the ga's is damn hard. Only feedback is the behaviour of generated code. And no one is really sure what it is doing...
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...
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.
... The genetic algorithm doesn't make the computer self-aware in a HAL 9000 kind of way...
Phew! That was a close one.
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!"
Horse's mouth on the Topic
This sort of reminds me of golem@home....that thing never ceases to entertain me....all those cute little blocks moving around! What a fun screensaver....oh yeah...plus it has some scientific purposes too.
Gussy it up all you want, Trebek... But can the stick figures fight? http://www.cutthroatsd.com/
Hail thee, robot masters!
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!
I don't know, it sounds really cool and all, but in my experience, anything involving Genetic Algorithms consists of more hype than results. I mean, say you want to actually use this system to make an animation of, say, a guy waving 'hello'? You would have to write a fitness function that gives more points for animations that look more like they are waving hello, then run the simulation, probably get weird results, and then go back and modify the fitness function till you get something that looks decent. How would this be any easier than doing keyframed animation with inverse kinematics?
& I wish I knew the password to your heart . . . &
Lunix8.
Anyone seen T3 yet?
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??
.. animations don't mutate, its the program that mutates and represents its new self with animation.
How does the law apply to 'discoveries' versus 'inventions'?
Don't go to a brothel if you want to buy broth
The law doesn't see 'discoveries' or 'inventions,' it sees 'patents' and '$$$$$$$.'
no, you have to wait for it to be open-sourced for that.
When watching the video, I was rather disappointed when the 20th Generation figure at the end didn't trip and fall off the edge of the grid.
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.
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
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.
Lunix10
While this isn't technically a GA approach, it does provide simialr results in real-time.
Check out his cool applet.
was it to post a story at this time of night? I mean, I'm at the risk of sounding US-centric, but this is the time of night when the trolls come out; and I guess they're too stupid to realize they missed the full moon.
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.
Here is another movie (mpeg, 1.5 MB) demonstrating a set of legs learning to walk over time.
Reading the article, I was strongly impressed with what a good, ground-level introduction to the concept of "what is genetic programming". I think that showing the science applied to a seemingly simple, common concept (walking, and specifically animating virtual walking) really helps make the big concept here easier to understand.
Good article.
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!
Karl Sims has also done a lot of work with evolutionary graphics and animations.
Check out his web site here especially the section on Evolved Virtual Creatures.
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.
http://www.sodaplay.com/constructor/player.htm 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.
In case they get /.ed
naturalmotion.torrent
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.
"genetic algorithms are increasingly being harnessed for real-world tasks such as designing more efficient refrigerators"
Wow. Walking refrigerators.
Lately, kind sir, I have been quite perturbed by certain events that have been proliferating in our society. Was it not so long ago, that in more civilized times, children respected and obeyed their parents, under the threat of a firm thrashing if their impudence and audacity got out of hand? But oh, kind father, the trials that parents today must suffer! Not just the other day, whist I was dining upon a fresh garden salad, my daughter, of not even 6 years old, insisted upon uprooting most unrest in requesting I purchase for her a milky-way bar! I quickly remarked to the impudent creature that one of our many servants would be more than willing to carriage her to the local general store; but no! she insisted that I -personally- drive the buggy to make the purchase! Oh wise man of God, what is a poor woman to do in these hard times! Before you can open your Moses-lovin' mouth Pastor, I have proposed a final solution to the problem of "youthful indiscretion"- Prison Labor!
Before you bring up cries of protest from your liberalism-saturated mind, hear me out! Our disrespectful children will learn the true meaning of honor and sacrifice while they're hard at work pounding license plates and assembling adding machines! Honestly, what better way is there to whip our children into shape? Scare them with threats of the boogey-man? Psh-haw! Just look at the wondrous effects prison labor had on the Dell kid! Not only will prison labor harden our children into obedient automatons, it will show them the reality they will have to face if they follow their current paths and become criminals!
Thank you for your attention kind Minister, and God-Bless!
Here's an evolution software for MacOS X (and a nice walker screensaver too!)
http://www.spiderland.org/breve/
"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
In Soviet Russia the algorythms walk on you!
Im dreaming ofa big bndwdth, That can resist the
Arrrrggghhhh! Bill Gates's borg picture is changing to a penguin..
Imagine a beowulf cluster of these...
Dancing the Can-Can.
Im dreaming ofa big bndwdth, That can resist the
Greg! Long time, no see!
Comment removed based on user account deletion
Perhaps the way to develope real AI is only possible when the AI creation can request code to enable functions. Strange but perhaps open source is the route to self aware AI.
Flame me if you like but to lock down code might make real AI impossible.
It is possible to alow the bot to lock core code so that it will not self destruct, then if test routines cause problems the parent bot can decide to reject the code causing the problem.
An Ai bot that can program child processes itself based on sample test code might become possible, if we can teach bots to write code! Isaac Asimov and his rules of Robotics are starting to become very important indeed, his vision was as acute as that of Jules Vern.
OH THE SHAME I fell off the wagon and use sigs again!
I kept finding my programs in compromising positions in various parts of my hard drive. :-)
in my life God comes first.... but Linux is pretty high after that
Francis Smit
I think this is oversimplified. The number of generations necessary to find an acceptably good solution depends on many factors, most importantly population size and problem complexity (of course).
My experience with genetic algorithms is that with a reasonable initial population, the majority of progress occurs withing the first few generations. Were you refering to individual fitness evaluations instead of generations? Even so, given a reasonably optimized initial population, and a quick method for approximating fitness (or at least weeding out poor candidates), I would expect useful results could be had in a handful generations with a small population size (ten or so), so maybe a hundred or two hundred evaluations of individuals.
If you are referring to genetic programming, rather straightforward genetic algorithms, I am not sure how many iterations that would take, I haven't any practical experience with them.
In terms of games adjusting to playing style, I would expect other types of learning algorithms to be more useful, though.
sodaplay always looks to me just like xspringies - an x windows spring/mass simulation thats been around for quite a while. Its quite a fun thing to play with - you can take one of the defined models and change gravity, the strength of the springs and so on and see how it works.
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.
Part of DALi's technology from nearly three years ago approached the problem of creating lifelike ALife entities in much the same fashion.
See http://www.dalilab.com/ for more information and a technology demo.
Joseph R. Kiniry
http://kind.ucd.ie/~kiniry/
Lecturer
UCD School of Computer Science and Informatics
My mac has a screen saver that does that. Whoop-de-friggin do. (the screen saver is cool. this posting masquerading as news is not.)
;). Get over it.
This would hae been news back in the 1900s
blog
On my website I implemented a genetic algorithm to choose the colorscheme. The number of pages people view determines the amount on influence on the general color scheme.
http://douweosinga.com/projects/colorscheme describes it in more detail.
I just RTFA'd and it's not really an example of the kinds of animations the article talks about. In the article the point of mutations was to find working solutions to problems but in Tom Thumb the mutations are there just for art's sake. And they are not even genetically based :-)
Interesting stuff nevertheless.
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.
Animators then went crazy with the idea and brought Luxo to life (through traditional keyframing).
[
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.
Proof positive that with enough intelligent design and a keen eye for the result you're aiming towards, you can have a carefully manipulated, narrowly defined creation take on properties that look just like they evolved, if you stringently ignore the fact that they were intelligently designed, keenly aimed, narrowly defined, and heck, made in your own image. Now if they could only get the stick figure to say, "I am fearfully and wonderfully made."
Windows XP SP2 told me to install third-party software that prevents viruses and protects stability... I chose Ubuntu
Shouldn't the same development process be possible to use for robot controller SW? You will of course have to change the physiological input parameters (the robot you are constructing will most likely NOT have the same muscles as a human body), but the process should be the same, and the resulting controlling algoritm would be better at controlling the robot walk (move) than a human-constructed program.
SIG: TAKE OFF EVERY 'CAPTAIN'!!
I for one welcome our new genetic algorithm masters!
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
i think you mean
one crowd simulator to rule them all
Free as in mason.
The demos mostly show the figures being hit, blasted, or shot. Maybe that's to appeal to game makers, but it suggests that the figures still have a rather limited repertoire. I'd like to see more gymnastics and other complex body movement, not just the physics model of a jointed body crumpling.
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
Are you talking about the gtkboard development, or some other project you got running?
It sounds interesting...
My other
"The idea is called a genetic algorithm. It creates a random population of potential solutions, then tests each one for success, ..." The author also calls it "fitness function." Where in the world would such a thing be found in nature: The idea that there is some goal of walking or having wings or having skin instead of scales or wings instead of fins or limbs.
This program, like any other "successful" program is not successful unless some outside force (in this case a human) tells it when it will be successful. It is nothing less than preposterous to state that there are "successful" genes in nature (see end of second paragraph). How would genes be known, particularly in the case of the "evolution" of walking, to be successful unless some outside force had designed it to so that it would
So, my conclussion is that you know nothing of programming, don't care about programming, are willing ignorant of the logic expoused above, or are set in your religion of evolution and when a straw comes along to grasp at you take it, even when it makes you look like a hater of reason.
The opening quote from the last paragraph reads:
But the one quoted should have instead said:
I first learned about genetic algorithms back when I was working to break the Poe Cipher (I did break it, but wasn't the first, I think my submission was 6th - I was using Perl and the winner was using C - if that matters).
I was fascinated by them and have always read up all that I could about them.
Then moved on to neural networks, and then thought of genetic programming (I'm certainly not the first of course to think of that, and I'm not claiming I am).
These are great for getting through non-linear solutions faster than with linear attempts at the problem space. The main issue is that you tend to find local max/min (in theory which you are shooting for depends on what you are using it to find - I'm pretty sure everything I've ever used it for was looking for maxes) and you want to ideally find the global max/min - the thinking being that for the given problem space.
In many cases, and this walk cycle sounds like it is perhaps one of them, a "pretty good" local max/min is sufficient and you don't in fact need THE global max/min.
I have thought of ways of using them for voice recognition, face recognition, stock market prediciton, etc etc - again, I'm not the first person to think of this - it is likely just a logical progression as you think of areas with huge problem surfaces and you want a non-linear solution.
In terms of game UI, or at least games in the sense of what we play on our computers, FPS and the like, they aren't used all that often. They require a pretty large lifetime in terms of how they learn (many repetitions and attempts).
What is usually more prevalent in game UI is Bayesian learning via hidden Markov Matricies. Those are imprefect as well, but give the illusion of learning fairly well. Those can learn slightly faster, and can also be pre-taught when put into the game (trained on a wide range of users) and then learn more to the specifics of their new owner once they play.
I have a lot of code now for stock market prediciton because I find that to be the most interesting field for using this. I am actually in the process of starting up a company using it - I need to finish the UI for the end users, and I need to work out the legal side of it and where the company will be loccated in terms of the legal side for taxes.
In terms of predictive ability, neural nets trend towards making more predicitons, but some of those will be wrong. Genetic algorithms will make fewer predicitons because they will "try" harder to be right instead of just making a prediciton. "Try" being relative here because the bulk of that is in how they are programmed.
Genetic programming is intersting since you don't really write the code for the end problem, but instead define what the problem is, and then you write code that writes code to solve that problem.
The downside of that is that it doesn't make fast and efficient code, it usually makes code with lots of conditions and branches.
In the end, you are usually going to need to go over the code that it writes and then rewrite it yourself so that it does the same thing, but more efficiently - using the genetic programmed code as the guideline.
(I'm 99% sure that in the recent article about GridWars and how the 2nd place guy used a "genetic algorithm" to determine his code - I think they were actually referring to genetic programming, which is slightly different - and judging by the fact that his code was very thick, and the fact that was likely why it lost in the end - too slow - also makes me think that was the case)
Fun stuff - I sure hope my company idea takes off so that I can just work on that and be done with the whole IT thing that is essentially really boring compared to all of this.
There are some odd things afoot now, in the Villa Straylight.
Looking at their demos, I can see where what we now think as realistic console sports games could be greatly improved by the use of this software.
They've got a couple of clips involving catching a football, getting hit with something, etc. It's so lifelike it's scary.
I'm very curious what the CPU requirements would be of having 22 of these creatures playing within the rules of football at once.
Who knows, NCAA Football 2006 on the PS3 may be a "real" reality.
I'm sorry I'm posting this off-topic, but I can't seem to find any "dedicated" forums. The only ones I see, are the ones that belong to the news stories. I wish to ask a question to those Slashdotters who are programmers, where would I post such a question?
Thanks for any help,
Mad Hatter
The software made 20 copies of their neural networks, introduced subtle mutations in each of them, added 80 new participants with randomly wired networks, and started the next generation walking.
That isn't a genetic algorithm, if there was no crossover then its Monte Carlo. I guess it's just the journalist making a mistake. This is a popular misconseption that evolution occurs only through mutation. I guess it's exciting to think about large evolutionary jumps caused by mutation - like in X-men or something - than the slow process of gene recombination.
Tom.
--Wow, that does sound interesting. Anyone care to explain the concept in maybe a paragraph?
q a.aspm agazine s.asp
/me puts on flame-retardant suit ]
--On the other side: Whenever I see stuff like this in an article, it really tweaks me:
> Watching the time-lapse video clips, one can't help but marvel how this virtual evolution is roughly analogous to the real-world evolution of our ancestors millions of years ago when they first began to walk upright across the savannas of Africa.
--Blegh, what a bunch of hooey. Um, just a thought to all you Slashdot readers out there: If you haven't yet done so, DON'T accept the "theory of evolution" blindly - INVESTIGATE IT. Thoroughly. Having done so myself, and basing my decision on evidence seen with my own eyes, I can confidently point to the Bible and the book of Genesis and say "Yup, that makes a lot more sense than me being descended from some kind of monkey."
--I suggest you start here:
http://www.answersingenesis.org/home/area/
http://www.answersingenesis.org/Home/Area/
[
.
== WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??
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.
Patrick: "Itsa robotic Sponge Bob with long legs. Run for the coral!"
Table-ized A.I.
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 skinny objects, and simply fell down. The taller they were, the higher the score. Oooops.
But the real issue is that you don't have control over the GA algorithm. You want to be able to specify a particular sort of walk - staggering zombie, happy double bounce. GA won't give you that.
Heck, even Poser gives you that option.
It is kind of peculiar that all of their demos have a rather quick and abrupt hit/fall/tie/don't move much animation sequence. At first it is amusing but it appears all the animations are like that. Thought I'd point that out.
http://www.critticall.com
Dammit, my cat just morphed into an agent again...
A rolling stone is worth two in the bush!
If you attached a 3d engine onto CYC, you can trail and error, learn how to use limbs you attach onto a robot. Eventually its using the best result as it learns to grasp... Then when it judges weight/shape/density/wind, and throws, it can learn how to best hit a target.
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.
God spoke to me
If you're a genetic algorithms fan, and want to participate, take a look at Darwinian Poetry.
Actually, I was trying to be Insightful, not Funny.
We tried to use them in my last company (which fucked up). Promising results at first, but u can't read the code and improving the ga's is damn hard. Only feedback is the behaviour of generated code. And no one is really sure what it is doing...
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.
Think Terminator.
nuff said.
I got slashdotted indeed. However, your torrent has 0 seeders.. what gives?