Advertisement

Most exciting example of emergent behavior you've seen?

Started by March 30, 2003 05:44 PM
26 comments, last by DGates 21 years, 9 months ago
What''s the most interesting, funniest, unexpected, or exciting example of emergent behavior you''ve seen in your AI? Try not to post examples from video games you''ve played.. keep this as close to our own work as possible. As for my own, I was working on a program to simulate basic interactions between life based on a few parameters.. Each entity was assigned an attraction level, several random values which indicated abstract characteristics, a sex, some physical attributes, and a "role" (wanderer, seeker, aggressor, motivater, and supporter).. entities would freely roam around and interact with each other based on these parameters. Two entities of opposite sexes could also spawn a new one with values extrapolated from the two.. Well during one simulation in particular, I was really amazed at what happened. After running it for about ten minutes, I noticed three factions being formed, and watched as two factions moved to opposite sides of the screens, while the third began running around and slaying slower entities left behind. Suddenly, the other two factions moved in and attacked the original aggressors.. Eventually there were only like 2 entities left, both wanderer classes, and never interacted after that. It was pretty amazing watching those events transpire, while they lasted.
I''m not sure if this is the most interesting emergent behaviour I have seen in my work (and it is borderline as emergent), but it is one that sticks in my mind because it caught a few people by surprise when they were watching it.

I wrote a predator agent quite a few years back that learned actions to enable it to catch a prey, given only sensory information and the goal. It received a reward based on the outcomes of its actions (which one could think of as the biochemical payoffs we get when we get closer to winning... adrenaline rush, endorphin release, etc).

In one particular experiment it chased the prey toward a corner of the environment, but rather than just follow the prey into the corner, it seemed to anticipate where the prey would emerge (the prey had a constant velocity and bounced off walls). Basically the predator changed its speed and heading to intercept the prey coming out of the corner area, rather than just following its path. Needless to say, this got quite a good reaction from the onlookers, including myself!

I''m not convinced though that this was emergent behaviour because the predator didn''t have any way of knowing that there was a corner there... although it is entirely possible that it had learned a set of rules that worked for that particular domain and the way the prey moved in it... in which case it would be emergent behaviour.

Make of it what you will.

Cheers,

Timkin
Advertisement
timkin,
what u said does indeed sound interesting. is there a way i can see that program? (i dont expect u to show me the source - only the exe file).

( hoping to get a positive reply )
The executable was compiled to run on an architecture that just isn''t around any more! I still have the source code. It''s in Pascal and I am currently porting the code to PC and re-writing it in C++ (as well as redesigning it for better efficiency). When it''s complete I would be happy to divulge the source code.

This is, though, one of those projects that I do a little on every now and again. It may take a while for me to complete the port.

Timkin

"This is, though, one of those projects that I do a little on every now and again. It may take a while for me to complete the port."

hehe. If this is your classifier system project, that''s a slight understatement

And you''ll soon be a father. Spare time''s going to be a thing of the past my friend. Something you can look back and get all nostalgic about.




ai-junkie.com
It''s the original code of the classifier system. I''ve actually re-written some of it for my other project (my adaptive AI), but I haven''t re-written all of the general control code for the Predator project.

As for losing the spare time, I already know I''m screwed on that front. I think I''ll have to give up my job to have a life, but then I won''t have any money... so I have to give up my life to have a job!

Timkin
Advertisement
Well I''ve been married for more than 2 years now. And I''ve seen my wife progresively starting to cook, cleaning, etc. I cannot say this is true intelligence, but it is quite amazing...
[size="2"]I like the Walrus best.
Well, it''s not completely off topic but it''s more a joke than something serious.

I was working on a "shoot and jump" game (like Gryzor/Probotector/Metal Slug). I had just finished implementing the first kind of ennemy and some friends were testing the game. Most of them tried to reach the higher platforms to be out of range of the poor and weak ennemies which were unable to shoot. Quickly, most testers told me : "Wow! Your ennemies are truely evil! They always try to jump on my platform to kick my ass!"

Uh ?

Actually, the ennemies jumped at random times but there were so many of them that there were always some lucky ones able to reach the player if he didn''t care... The funny thing is that before I explained it to them, most testers were sure the ennemies were actually trying to reach them!

Take a few rand() calls, a bit of brute force and you''ll do anything!
quote:
Original post by xaxa
Well I''ve been married for more than 2 years now. And I''ve seen my wife progresively starting to cook, cleaning, etc. I cannot say this is true intelligence, but it is quite amazing...


LMAO, xaxa

I''m working on a gameplay dynamic which is fairly complex, and I''m going to code a bot for it. The dynamic, at the heart, is rock-paper-scissors, but there''s a set of systems all pinned together. The result is something which has fairly simple governing rules, but the resultant behaviour.. I have no idea about.

But of course, I''m going to be writing an AI for the player to play against. So there''s the ''emergent behaviour.'' I just predict that it''ll be exciting.

Superpig
- saving pigs from untimely fates, and when he''s not doing that, runs The Binary Refinery.

Richard "Superpig" Fine - saving pigs from untimely fates - Microsoft DirectX MVP 2006/2007/2008/2009
"Shaders are not meant to do everything. Of course you can try to use it for everything, but it's like playing football using cabbage." - MickeyMouse

A little off topic but...

CONGRATULATIONS TIMKIN!!! Being a dad is awesome. My wife and I just had our first child (a little girl) 2 weeks ago, and she just amazes me everyday. Don''t think of it as "losing your spare time", you''re just moving into a new area of "intelligence programming" and reaping the rewards of watching some of the most incredible "emergent behavior" you''ve ever seen. It will surely be your greatest "project" yet. Enjoy.

CodeJunkie
Thanks,CodeJunkie

This topic is closed to new replies.

Advertisement