Skip to main content
GameDev.net gamedev.net
🔒 Locked

Robot language

Started by Wildcorn Dec 19, 2002 at 9:12 PM 14 replies 2.5k views
Original Post
Wildcorn
Wildcorn
There was a post about a week back on getting computers to develop a language and talk to each other, except no one knew what they would talk about... So heres what I''ve thought up: In your computer your running multiple agents (these will be doing the talking to one another) and these agents are part of a simulation. The simulation consists of randomly placed walls, with a little ball bouncing around. AI agents who get hit by this ball die instantly (if your using Genetic Algorithms in conjunction this is the better option), or simply just get ''hurt'' The goal of each agent is to not get hurt. However this will not encourage the agents to talk to one another, because quite simply they don''t care about each other. So we add in another condition: When a agent other than the current one gets hurt, the current agent gets hurt. sort of like a guilt thing when you witness an agent getting killed and you didn''t help him. Agents can comunicate globally by sending text messages (these text messages will likely be random gibberish ... unreadable by humans). Agents can also see the ball if its with radius x of it. Agents shout "I AM DEAD" upon being hit Agents shout "I AM BORN" upon being spawned. I think this in conjunction with GAs will force the Agents to develop a primitive way of alerting each other to the position of the ball. If using GAs a better rule set: IMPACTS kill outright After a friend is impacted, every other Agents speed is reduced. I''ll probably try developing a simulation like this, but I really don''t have a lot of experience with GA and Neural networks (that won''t stop me but...) does anyone else have any suggestions?
Armand
Armand
I must have missed the first round of this, but heres my 2cents

How about a reward system.

You have your map, Ball and agents.

Agents sight should be directional.

If an agent sees the ball. then the yell.
"agent bar sees the ball at x,y"

When the other agents read about this they check their position.
If they are to clse to those cors then they run, and turn to face the ball.

If they then see the ball {which theyv just avoided} then can yell.
agent foo thanks agent bar.

This way the reward is on coporation.

You may want to give them a different task while they are
trying to save ther own and others skins.

Its a cool notion thought.
Have fun with it.

Armand.
Armand -------------------------It is a good day to code.
spiffgq
spiffgq
quote:
Original post by Wildcorn
However this will not encourage the agents to talk to one another, because quite simply they don''t care about each other. So we add in another condition:

When a agent other than the current one gets hurt, the current agent gets hurt. sort of like a guilt thing when you witness an agent getting killed and you didn''t help him.

Maybe instead of creating artificial guilt, you can put the agents in a situation where ones own survival depends on the other''s survival. For example, place the agents into two (or more, I guess) teams. The winner is the last team with a member left standing when the other team has been annihilated. Thus, they have a reason to assist other agents (on their team) to survive.




SpiffGQ
owl
owl
quote:
Original post by Wildcorn
There was a post about a week back on getting computers to develop a language and talk to each other, except no one knew what they would talk about...



I imagine another kind of system...
The system is based on like/dislike.
Let say the program has N indicators to measure how much the computer likes what is being spoken with the other computer.

They send each other some sort of messages generated by an algorithm based on the system clock at the 1st time the program was first started.

In some way this message always can be processed in order to increase decrease certain indicators (this indicators could have priorities) setting the grade of likeness a computer has about what the other is "speaking".

Then the new messages generated are also based on the state of its indicators so they can influence each other.

The goal is to find the higher number of "friend" computers, those who talks about what the computer likes.

I don't know if the idea seems clear, I have like 30 hours without sleep.

[edited by - xaxa on December 19, 2002 11:25:40 PM]
[size="2"]I like the Walrus best.
capn_midnight
capn_midnight
this would evolve a very good avoidance system, but nothing beyond that. What would the agents do when they are not avoiding the ball? Over the evolutionary span of a critter, life is consumed by obtaining resources (or avoiding death). Once the critters have evolved to the point where a significant amount of time is NOT spent on avoiding death, the critters begin to think about STUFF in general, begin to develope intellectual thought. You''re agents will get really good at avoiding the ball, and then will be really bored. What can they do when they have figured out how to avoid the ball? Maybe they could dance with each other?
Wildcorn
Wildcorn
quote:
What can they do when they have figured out how to avoid the ball? Maybe they could dance with each other?


At that point I'll understand NN and GA enough to give them something fun to do. *cough*mating. (before this I plan to just pick two agents at random , mix them, and spawn him randomly in the arena). After mating I'll probably toss in food.

And then disco.

Or more likely I'll just fuck around with it.. I thought something that might be fun to do is to make it so that they can fight each other... so they can compete for food. However I'll also make it that Agents feel bad about killing, and the amount they feel bad is proportional to how close the dead Agents name was to my own =). That way eventually I'll be in the simulation, and I'll be god, because everyone who kills me feels so guilty they die. =)

[edited by - Wildcorn on December 20, 2002 1:44:37 AM]
Gladiator
Gladiator
You can add vision as well.

If the ball is withing a certain radius of another agent and one of the agents can witness that through their field of vision then they should scream to the other agent to watch out for the ball. That is true only if they like the agent to a certain extent, otherwise they wouldn't care what happens to the other agent.

[edited by - Gladiator on December 20, 2002 2:04:58 AM]
Junk Detector
Junk Detector
Instead of shouting I AM BORN HURRAH ! agent can pass *SECRET*
message "born". if fact, there''s no need language parsing in games, since it''s too complex and unnecessary.

-||-
Conscious
FOX
-||-
PRESIDENT OF MYSELF
-||-Conscious FOX-||-PRESIDENT OF MYSELF
Junk Detector
Junk Detector
In fact, whole idea that robots would develop their language seems extremely funny to me. Interesting, why monkeys(which are far more clever than your yelling robots) do not develop any language.
answer: monkeys need several million years.

your shouting robots will never develop any language, the will shout forever. Do you are so naive to believe in that nonsense.

-||-
Conscious
FOX
-||-
PRESIDENT OF MYSELF
-||-Conscious FOX-||-PRESIDENT OF MYSELF
crazemanx
crazemanx
Not so silly...
How about: each robot has the ability to construct its own nonsense ''sounds'', consisting of two consonants with a vowel in between, for example

boz

weh

or combinations

cukmox
zonwid

Each robot will say a sound to mean a certain thing (whatever the situation is).

Anyway, when a robot hears another say something, it also records what happened afterwards if anthing.

Next time it hears the same sound, it will anticipate the same thing happening. If it does happen, it will reinforce the meaning given to hearing this sound. If not, it will reduce the confidence in this meaning.

Once a robot gets a bit confident in the meaning of a sound, it will start using it for itself.

This way, standard sounds for certain events may emerge??

Maybe different languages could emerge depending on the configuartion of the simulation.

Not exactly "evoluton of a language" but interesting anyway)

Just thoughts



smilydon
smilydon
crazemanx: What you describe sounds a bit like the talking heads experiment. Two robots are looking at objects, a speaker and a hearer. The speaker produces a sound to indicate the object it is looking at. If the hearer then looks at the same object both robots get rewarded. Using thess "language games" a shared lexicon is learned in which sounds are linked to objects that can be perceived.

Junk Detector: There is a difference between learning a language and evolving the mechanism to learn and use a language. Only the latter requires millions of years of evolution. This is something you can implement yourself in the robot. The language itself does not have to be implemented. The language we use is not encoded in our genes, we have to learn the language ourselves. (btw: Velvet monkeys use different "words" to warn for different types of enemies.)
Junk Detector
Junk Detector
in reply to
Original post by smilydon

Of course, I know that monkeys have a some kind of (not-so-primitive) language, as well as almost all species. They all need to communicate with each other. People have also a body language, "chemical" language, probably even more "hidden" ways to communicate. Even telephaty .. (surely my spelling is wrong) etc.

I said about mechanism just to compare shouting robots who will never develop any language. That''s because we do not understand what is AI needed for that. And all this rubbish sounds silly to me simply because it''s wrong, too primitive and too simple to work. Simply because this way it will never work. In fact, the most important thing is to force them to DEVELOP, IMPROVE without any help. Programming silly phrases will not help, since there will be no improvement without programmer.



-||-
Conscious
FOX
-||-
PRESIDENT OF MYSELF
-||-Conscious FOX-||-PRESIDENT OF MYSELF
MSW
MSW
Why not use two different classes/types/"species" of agents?

One agent type can see the ball...but they cannot move on thier own to avoid it...they however can shout out to other agents...

The other agent type is blind...but they are mobile (and capable of pushing other agents around)...these agents can hear and talk...

now instead of haveing just one ball...have two...one ball will damage the agents..the other will heal them...

it more or less forces the two "species" of agents to work together...but if you make one of the agents more of a feature of the particular world...it would force the other "species" to innercommunicate to figure out how best to respond...for example...only alow the seeing agents to say one of four directions they would like to be pushed (but without any indication if this direction is going to help or hurt...so the blind agents would have to communicate with each other to deturmine thier course of action...

Of course other things could happen...say for example...when one of the two balls comes into contact with a agent...the balls swap effects (the ball that causes damage becomes the ball that heals...and the healing ball becomes the damageing ball)...other effects could also be set in place...say agents can only hear other agents if they face opposite directions...a agent faceing east can only hear agents that are faceing west...a north faceing agent can only hear south faceing agents...this would put some extra wieght on directions....
FrozenGecko
FrozenGecko
Not to make this entire converstaion overly simplistic, but....

If you were to evolve NN''s, wouldn''t they understand each other to a certian extent anyway? As part of your fitness function would be dependent on their ability to talk to each other (and therefore survive better), the NN''s that managed to devolp a common langauge set would breed above those that did not.

If you where really keen to ensure that your NN''s evolved with the ability to talk to each other, I have an idea based on this article:

http://www.newscientist.com/news/news.jsp?id=ns99992067

If you kept one ''half'' of the NN brain constant for each generation, and the other half was the one you played with, you should end up with a basic language set (determined by the patten of your consistent ''half'')

Just some food for thought!

-FG-
Assume nothing. Question everything. Who are you?
smiley4
smiley4
What you realy need is a not only verbal communincation but visual communication as well. Before speach, I beleive that visual information was worth much more than just words -- it still is. Have a bot develop a language based on a common gesture-based language. Have it develop the audible language based on the need to get another''s attention. The more attention one bot gets from a certain sound, the more it will use it for that situation... Perhaps if we even DO create AI with the ability to evolve, it will still take the same amount of time that we did to evolve -- whether it be real-time or relitive time that has a proportion to ours.

To make intelligent life, you need much more than a language though. I would start with a mouse AI system before taking on larger AI projects if you really want to research intelligence. Mice have a good basic social system based on probibilities and standards. It''s INSTINCTS need to be the basic wants and needs and avoidence tememperments of the bot that can be given to it by inheritance of "parent" bots, it''s PERCECPTION should based on INSTINCTS, situation, and prior simular experieces that resulted in a certain action; it should make a CHOICE of what to do based on guestimated perception of situation conforming to the needs of instincts and guided by the outcome of a previous simular situation due to an action, it takes ACTION based on the CHOICE -- thus, it''s outcome is the result of INSTINCTS, PERCEPTION, CHOICE, and ACTION.

Also, as a group, the bots should make a CHOICE to tell each other how one bot completed a problem, so that when it''s limited life span is gone, the remaining survivors can make a CHOICE based on the prior simular experiences that resulted in a certain action of others that gave the information of those experiences to them or had it passed down from another bot. They can PERCIVE whether it is a good or bad thing to obey that bot or to explore on their own whether it is true based on INSTINCTS.
Now I shall systematicly disimboule you with a .... Click here for Project Anime
Wildcorn
Wildcorn
Junk Detector, I''m confident that my robots will develop advanced language to the point they speak english, spanish, french, and german and will teach them all to me.

/sarcasm

Of course they won''t develop much, I''m thinking probably something just a keyword for ''I see the ball'', and ''I AM BORN'' because thats given to them.

Truth be told I''m not even sure where you draw the line between language and keywords, or even if there is such a line.

Maybe theres no such thing as language and were all just saying the same things in many different ways. How many unique messages do humans really have?

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.