|
||||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||
| Package cz.cuni.amis.pogamut.episodic.decisions |
|---|
| Class cz.cuni.amis.pogamut.episodic.decisions.Action extends Node implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
int possibleSubTrees
HashMap<K,V> subNodes
Action node can have unlimited number of Intention
subnodes. The only restriction is that no two subnodes can have identical
name. These subnodes are goals that all need to be completed in order
to perform this action - they are AND nodes.
HashMap<K,V> atomicActions
Action node can have unlimited number of
AtomicAction subnodes. The only restriction is that no two
subnodes can have identical name. These subnodes are atomic actions
that will be executed once all goals are satisfied and agent is performing
this action. It is reasonable that action nodes without any subgoals
will have at least one atomic action attached to it.
| Class cz.cuni.amis.pogamut.episodic.decisions.AffordanceSlot extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
String type
int id
boolean idSet
| Class cz.cuni.amis.pogamut.episodic.decisions.AtomicAction extends Node implements Serializable |
|---|
serialVersionUID: 1L
| Class cz.cuni.amis.pogamut.episodic.decisions.DecisionTree extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
HashMap<K,V> topLevelGoals
int numberOfAtomicActions
int numberOfNodes
ArrayList<E> branchFactor
| Class cz.cuni.amis.pogamut.episodic.decisions.Intention extends Node implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
int possibleSubTrees
HashMap<K,V> subNodes
Intention node can have unlimited number of Action
subnodes. The only restriction is that no two subnodes can have identical
name. These subnodes are actions that can be performed in order
to satisfy this intention - they are OR nodes.
| Class cz.cuni.amis.pogamut.episodic.decisions.Node extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
String name
int attractivity
Node parent
int id
boolean idSet
NodeType type
Node. Node can be either action,
intention (goal) or atomic action.
Map<K,V> affordances
affordances list. In order to
perform an action or satisfy a goal, all its slots have to be filled
first. Once the slot is filled, its equivalent in memory of experienced
episode will be linked with the object that satisfied the slot.
SchemaEpisodeNode associatedSchemaNode
SchemaEpisodeNode| Package cz.cuni.amis.pogamut.episodic.episodes |
|---|
| Class cz.cuni.amis.pogamut.episodic.episodes.AgeInterval extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
int minAge
int maxAge
| Class cz.cuni.amis.pogamut.episodic.episodes.Chronobag extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
IdGenerator idGenerator
AgentMemory mem
int id
boolean landmark
int level
Default value is 0: daily chronobag.
ArrayList<E> finishedEpisodes
currentEpisodes
once it is finished. In past chronobags (all except
the current day) all episodes are stored here, because
all episodes are already finished.
HashMap<K,V> currentEpisodes
An episode will be moved to finishedEpisodes once its
root node is finished, its goal disappears from short-term memory
or during agent's sleep.
Episode lastEpisode
episode that was performed last - parent episode
of last performed action. Used to create the temporal sequence of
episodes.
Episode firstEpisode
AgeInterval age
Chronobag older
Chronobags can appear on different levels of abstraction, e.g. daily chronobags, week chronobags... This points to this next chronobag in the same level of abstraction. Chronobags of other levels forms separate chain of chronobags.
Chronobag younger
Chronobags can appear on different levels of abstraction, e.g. daily chronobags, week chronobags... This points to this next chronobag in the same level of abstraction. Chronobags of other levels forms separate chain of chronobags.
Chronobag nextLevel
boolean newNodeAdded
int numberOfEpisodeNodes
EpisodeNode nodes
in the chronobag.
int numberOfUsedObjects
ObjectNodes connections to
the ObjectSlots in this chronobag. Each object attached
to a node in chronobag is counted as one node when it comes to
calculating how big is the chronobag capacity.
int maxNumberOfNodes
double score
HashMap<K,V> objectNodes
ObjectNodes remembered by the agent.
This map is shared among the chronobags so it is possible
to find all usages of specified object. Object are indexed
by their unique name.
In episodes object nodes are connected with the affordance slots they were used in.
| Class cz.cuni.amis.pogamut.episodic.episodes.Episode extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
EpisodeNode root
EpisodeNode representing top-level goal
of this episode (root of episode tree).
Chronobag parentChronobag
Chronobag this episode belongs to.
The age of an episode has to be deduced from the age of its
parent chronobag.
boolean finished
Episode can be transferred into finishedEpisodes list
in a chronobag even when it is not finished. This happens to all
episodes that had to be interrupted because agent went to sleep
at the end of a day. But once it is finished, it cannot appear in
the currentEpisodes list in a chronobag.
int idEpisode
IdGenerator idGen
double copyScore
boolean copied
boolean deleted
ArrayList<E> next
next field links Episodes of a chronobag
in order they were executed. It contains episodes executed
just after current episode.
If episode was interrupted it can have more than one successor.
Episodes in next list are ordered in order they were executed -
first interruptions are at the beginning, final successor is at the end.
ArrayList<E> previous
previous field contains Episodes of
a chronobag that were executed just before this episode.
If episode was interrupted it can have more than one predecessor.
Episodes in next list are ordered in reverse order than they
were executed - first predecessors are at the end,
last interruption is at the beginning.
AgentMemory mem
| Class cz.cuni.amis.pogamut.episodic.episodes.EpisodeNode extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
int id
String name
Node associatedNode
SchemaEpisodicNode.
EpisodeNode parent
EpisodeNode in the episode tree.
Only top-level goal (root of an episode) does not have a parent.
Episode root
Episode structure representing whole
episode this node belongs to. Via this reference it is possible to
access outer memories.
HashMap<K,V> children
EpisodeNodes that are subnodes of this node
in the episode tree. Node without children is an atomic action.
The map is indexed by the name of the child node.
Map<K,V> firstChild
Map<K,V> lastChild
Map<K,V> successors
Map<K,V> predecessors
HashMap<K,V> slots
boolean finished
Nodes in finished episodes can contain unfinished nodes if they were interrupted in an unusual way (top-level goal suddenly disappeared from short-term memory).
boolean succeeded
double score
int numberOfSubNodes
int numberOfSubNodesWithObjects
int countAtCreation
String timeStart
String timeFinish
boolean consumed
| Class cz.cuni.amis.pogamut.episodic.episodes.ObjectNode extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
String name
int id
HashSet<E> usedAt
| Class cz.cuni.amis.pogamut.episodic.episodes.ObjectSlot extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
int id
String type
EpisodeNode parentNode
EpisodeNode this slot is attached to.
HashMap<K,V> objects
ObjectNodes representing objects that satisfy this
affordance. Usually there will be just one object, but it is possible
to have several objects of the same type in one slot.
Each connection to object node is assigned a double score (hence a map).
Scores is used to determine if the link between the episode node
and the object node can be forgotten.
| Package cz.cuni.amis.pogamut.episodic.memory |
|---|
| Class cz.cuni.amis.pogamut.episodic.memory.AgentMemory extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
Semaphore sem
EventListenerList listeners
IdGenerator idGenerator
IdGenerator class providing unique IDs to
all nodes in agent memory. Unique IDs are needed mainly for visualizing
purposes.
int lastDay
If agent did not perform any action yet, its value is -1.
DecisionTree decisionTree
DecisionTreeChronobag present
HashSet<E> past
Map<K,V> pastSequenceEnds
SchemaBag schemas
| Class cz.cuni.amis.pogamut.episodic.memory.IdGenerator extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
int id
| Package cz.cuni.amis.pogamut.episodic.schemas |
|---|
| Class cz.cuni.amis.pogamut.episodic.schemas.SchemaBag extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
IdGenerator idGenerator
AgentMemory memory
int numberOfNodes
int id
HashMap<K,V> schemaENodes
schemaENodes is a collection of all SchemaEpisodicNodes
in the SchemaBag. Since upon its creation each node
is mutually associated with a node in decision tree, these nodes
are in a map indexed by the unique ID of their associated
nodes.
HashMap<K,V> schemaONodes
schemaENodes is a collection of all SchemaObjectNodes
in the SchemaBag. Since each item has to have a unique name,
all nodes are indexed in a map indexed by the name of an item.
org.apache.commons.collections15.multimap.MultiHashMap<K,V> counters
counters is a collection of all SchemaCounters
in the SchemaBag. In order to quickly access any counter,
counters are indexed in a multihashmap. Index of a counter is calculated
as the sum of IDs of all nodes it refers to. So a single counters
(those counting appearences of each node separately) is indexed by
an ID of particular node. Given one SchemaCouter it is
quickly possible to count the index of another counter representing
the same set of nodes plus/minus specified nodes. Since several sums can
add to one identical number, counters need to be stored in a multimap.
SchemaBag.SchemaMessageCommand schemaMessageCommand
SchemaMessageCommand class that is passed
to visualizer so that it can recieve up to date information about
SchemaCounters.
SchemaBag.SchemaMessageCommandCollection<E> lastIds
Collection<E> requiredIds
| Class cz.cuni.amis.pogamut.episodic.schemas.SchemaBag.SchemaMessageCommand extends Object implements Serializable |
|---|
| Class cz.cuni.amis.pogamut.episodic.schemas.SchemaCounter extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
Collection<E> schemaNodes
SchemaEpisodeNodes contributing to the set
of nodes defining this counter. Can be empty if this is single counter
for a SlotContent.
Collection<E> contentNodes
SlotContents contributing to the set
of nodes defining this counter. Can be empty if this is single counter
for a SchemaEpisodeNode.
int key
SchemaBag. It is the sum of IDs of all nodes contributing
to the set of nodes defining this counter
int count
int totalCount
totalCount is similar to count, but it is
increased always when the nodes are executed even if it is during
the same execution of an action. If duration of an atomic action is
100, its total count will be increased by 100, but its count just by 1.
| Class cz.cuni.amis.pogamut.episodic.schemas.SchemaEpisodeNode extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
int id
String name
Node associatedNode
HashMap<K,V> slots
slots list. Each slot is equivalent with exactly
one affordance slot in decision tree. Through schema slots it is
possible to find out how many times was each item used to satisfy
the given slot.
org.apache.commons.collections15.multimap.MultiHashMap<K,V> counts
counts is a collection of all SchemaCounters
this node contributes to. In order to quickly access any counter,
counters are indexed in a multihashmap. Index of a counter is calculated
as the sum of IDs of all nodes it refers to, but when accessing
a counter from the inside of the node, nodes id is not added to the sum.
So a single counters of nodes can always be accessed on zero index.
| Class cz.cuni.amis.pogamut.episodic.schemas.SchemaObjectNode extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
int id
String name
HashMap<K,V> usedIn
SlotContent structure. Thus it is possible to
determine how many times each item was used to perform each node.
Each SlotContent is linking exactly one SchemaSlot
and one SchemaObjectNode.
This is the map of all SlotContents pointing to this
SchemaObjectNode indexed by the ID of
the SchemaSlot they linking the object with.
| Class cz.cuni.amis.pogamut.episodic.schemas.SchemaSlot extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
int id
String type
HashMap<K,V> filledBy
SlotContent objects that are pointing to this
slot.
SlotContents are indexed by a name of item they are
connecting the slot with.
| Class cz.cuni.amis.pogamut.episodic.schemas.SlotContent extends Object implements Serializable |
|---|
serialVersionUID: 1L
| Serialized Fields |
|---|
int id
SchemaSlot slot
SchemaSlot object on one end of the
link between a slot and an object created by this slot content.
SchemaObjectNode object
SchemaObjectNode object on one end of the
link between a slot and an object created by this slot content.
org.apache.commons.collections15.multimap.MultiHashMap<K,V> counts
counts is a collection of all SchemaCounters
this node contributes to. In order to quickly access any counter,
counters are indexed in a multihashmap. Index of a counter is calculated
as the sum of IDs of all nodes it refers to, but when accessing
a counter from the inside of the node, nodes id is not added to the sum.
So a single counters of nodes can always be accessed on zero index.
| Package cz.cuni.amis.pogamut.episodic.visualizer |
|---|
| Class cz.cuni.amis.pogamut.episodic.visualizer.VisualizationEvent extends EventObject implements Serializable |
|---|
| Serialized Fields |
|---|
VisualizationEventType type
AgentMemory mem
String time
|
||||||||||
| PREV NEXT | FRAMES NO FRAMES | |||||||||