New World
(Concept from Gantikow)
What is the world used for?
The world should be constructed in a way that enables the modelling of the agent's
- learning,
- perception and
- actions.
How should the world be?
- Complex enough to posit interesting problems for the agent
- Simple enough to allow the agent to successfully act on the world
Hierarchies of objects
Objects are organized in three levels of hierarchies
- Object (top level)
- Has some features
- Features can be present to a different (discrete) degree
- Defines a list of actions applicable to this object with their corresponding effects
- Has parts (sub - objects)
- Sub - object (middle level, bottom level)
- Has features
- Defines a list of actions applicable to this sub - object
- Informs the object on the top level about an agent's action to trigger the corresponding effects
Objects can be parts of other objects (instances of the class AbstractObjectPart, e.g. branches of a tree) and can themselves be top-level objects (instances of the class AbstractObject, e.g. trees). There are also objects, which can be both, top-level objects and parts of larger objects. Bananas, for example, are bananas on themselves with the corresponding action bite, which can be executed on them by the agent. On the other hand, a banana is a part of a banana tree and so can fall down in effect on the action shake, applied to the whole tree. By the action shake the status of a banana of being a part of a larger object can be changed to the status of being a top-level object. Such objects as bananas are implemented as instances of the class AbstractObjectPart, which is the super-class of the class AbstractObject.
What kinds of entities should be there?
- Biological objects
- Plants
- Trees
- Cherry trees
- Apple trees
- Birches
The first two groups of trees are fruit trees. Moreover, typically some fruits lie under such trees. These two features differentiate crucially these types of trees from birches for the agent. It is sensible for the agent to shake fruit trees to make the fruits fall.
- Mushrooms
- Poisonous (e.g. Fliegenpilze)
- Not poisonous (e.g. champignons)
It is sensible for the agent to bite into the not poisonous mushrooms (after having picked them up from the ground).
As different to the trees, it is not possible for the agent to shake the bushes to get berries. Berries can be simply picked up from the bushes.
Flowers should be watered by the agent to survive. For this sake, water must be transported to the place, where flowers grow, by the means of some tools. Unfortunately, it is not totally clear how to motivate the agent to do anything to preserve flowers, because the agent does not have any aesthetic drives (ideas for the faraway future).
The agent should be able to bite into the healing herbs and probably also to apply them to wounds.
- Animals (ideas for the faraway future)
These two groups of animals have many features in common. Nevertheless, the agent should be able to differentiate between them.
The problem with animals consists in the fact that beasts are animated being bringing additional dynamics into the world. For this reason, it makes sense to delay the implementation of animals to keep the complexity on a relatively low level.
- Ground types
- Grass
- Lake
- Heels / Mountains
It is not totally clear how heels or mountains are going to be implemented, because there exists up to now only a very primitive notion of the third dimension. The only use the agent currently makes of the third dimension is that the agent can be situated on variously elevated ground types. An interesting concept to implement, however, are mountains consisting of stones, which can fall down, changing in this way the height of the mountain. It is questionable, to which extent the notion of the third dimension is really needed for this.
- Sand
- Stones
- Valleys
- Pavement
- Artefacts (ideas for the faraway future)
- Deserted (destroyed) houses
- Furniture
- Objects to be collected / Art objects (ideas for the faraway future)
As it has been remarked above, the agent does not yet have any aesthetic, cultural or philosophic drives. For this reason, the objects in this category are of no real value for the agent up to now.
- Weather conditions + Protection from bad weather (ideas for the faraway future)
- The sky
- Rain
- Caves to hide from the rain
Interestingly, the implementation of the sky and the weather conditions is also connected to the notion of the third dimension.
May be used to water flowers, if the agent were to be so kind to them, regardless of their uselessness.
What actions can be performed by the agent?
- Shake
- Applicable to many objects
- Sensible to apply to fruit trees
- Pick up
- Applicable to objects with an appropriate weight
- Bite
- Applicable to many objects (e.g. trunks)
- Sensible to apply to eatable objects
- Sock
- Applicable to many objects
- Sensible to apply to drinkable objects (e.g. the lake and the water)
- Throw
- Applicable to many objects of appropriate weight
- Sensible to apply e.g. to stones to make a fruit fall from a fruit tree
- Put
The location where something has to be put on can be implemented by naming the coordinates of this location, or by naming the object situated on this location.
Up to now, the agent can move in steps of 10 units and can only stay on specific locations. On each location the agent perceives the environment in the radius of 5 units. In this way, descriptions of situations the agent was in are stored in the agent's memory as non-overlapping snapshots of objects with exact coordinates relatively to the agent's position. If needed, the snapshots of situations, where the agent has achieved a current goal, are retrieved from the agent's memory, and the agent has to return to exactly the same situation (go to exactly the same place) to try to achieve the goal.
It is aimed to implement continuous movement of the agent. This is tightly connected to implementing perception of continuous space. The general idea is to enable the agent to construct optimal plans (e.g. find the shortest path to the lake to drink water).
- Apply (Tool, ObjectInFocus)
- Incinerate
Can be applied to plants and probably also to some other objects
Questions to be investigated
- Generalization over properties of situations and objects
- Generalization over representations of object locations
- Centralized around the agent
- Centralized around some other objects
E.g. if the agent is hungry and sees an apple tree, it should be able to conclude that there must be some apples under this tree. For this sake, it seems sensible to enable the agent to reason about locations of objects relative to the locations of other objects and not only to the position of the agent itself.