Polly World.

This description of the“Polly World”project is inspired by the idea of artificial life. "Artificial fishes: Autonomous locomotion, perception, behavior, and learning in a simulated physical world," D. Terzopoulos, X. Tu, R. Grzeszczuk

Overview

Polly World is an artificial graphically represented world. The purpose of this world is to simulate social behaviors. All characters in the world are autonomous virtual robots (bots). Each bot exhibits a repertoire of social behaviors. Bots have a “mind” with motor, perception, behavior, and a learning center (as fish in the "Artificial Fishes" project). I refer to the characters as pollys, but actually they can take on arbitrary shape and characteristics.

The intention generator of a character, the character’s cognition, combines habits and mental state with the incoming sensory information to generate goals for the character, such as 'go to room A' or 'follow character B'. On each time step, characters make a decision on whether to continue working towards its current goal or to switch to a new mode/goal.

The virtual world runs continuously. It may run in an automatic mode (without human intervention). For the purpose of the application we introduce a way for a user to communicate with the world and control it. A user may create a character with a specific set of personalities and through a user interface or scripting, override the decisions made by the intention generator of a character by specifying commands and/or goals for the character.

Personality

Each character maintains a set of personality traits, such as braveness, independence, stubbornness, friendliness, subservience, preference for predefined objects, colors, games, etc. The personality of a character is determined by the values assigned to each of the traits.

For example, characters with a higher braveness characteristic are more eager to explore the environment and get close to other characters.

Servant bots have a high value for the subservience trait.

At each timestep a character is associated with the mental state that describes its current goal. For example, when a character is playing a “catch the polly A” game, its goal is to get closer to polly A.

Perception and Communication

Characters sense their world through simulated visionand hearing perception within alimited range. They can sense other pollys, identify the commands sent to them by other pollys, identify inanimateobjects, determine the distance and speeds of moving objects. The list of the perception capabilities may be expanded.

Communication may be viewed as a part of this sensory framework. There is a set of defined commands that a character may issue as well as a set of responses that a character can have. A command may be an invitation to play a game, an invitation to follow a polly, to visit a specific room, etc. A response may be a new goal generated by the intention generator of a character such as 'follow character C' if the character is inclined to play or visit C, or 'steer away from character C' if the character is not 'in the mood'. The decisions of the intention generator depend on the combination of the current mental state of the character, its personality, its likes and dislikes toward the environment, as well as the attributes of the communicating character.

Central Authority

There exists a central authority represented by the world’s model database. This database contains the information on each animate character and inanimate object in the world at the current time. The central world database is also used for perception and communication by bots. Vision and sensing happen by a polly queries the world database to identify nearby objects and bots. To simulate vision, a character is allowed to query the world database only on objects in its viewing range.

For the purpose of goal achievement, such central authority provides information for the character concerning its proximity to the goal. For example, if the character’s current goal is to ‘find room A’, on each step a character may query the system to see if it is getting closer or further from room A.

Memory

The world model database stores the aggregate information that is obtained in the lifetime of a character. As a character encounters other characters, it makes friends and enemies that can be identified later when encountered again.

Locomotion

The purpose of the locomotion in the "Artificial Fishes" was to simulate a realistic animation of a fish's motion. The motor controllers of the fish translate natural control parameters into detailed muscle action. Since the purpose of the ‘polly world’ project is the simulation of social behavior,realistic movement is not essential. Thus, the locomotion of the characters may be simplified to include plain commands such as 'move forward with < velocity parameter>', 'turn left/right'

In further versions, more advanced the locomotion may be introduced to make the world’s graphical representation more interesting.

Examples of Behaviors

Wander around different rooms

Seek out a friend

Meet a new character

Run away from an enemy

Games are also examples of specific behavior

(new behaviors may be added)

Each behavior is determined by a goal (or set of goals) and the character measures its proximity to the goal by querying the central authority.

Learning

Learning is a more advanced function of a character in the polly world. A character may learn the fastest way to arrive in the room A, or the command that should be made to acquire a friend. For example, suppose polly A has a goal to invite polly B to follow it.

In the learning phase it may repeatedly practice different commands when meeting a polly B, observing the response to the command. The commands whose response brings polly closer to its goal would be an optimal command to use in the particular situation. This command may be stored in memory and used later in the similar situation.