org.pandora.thought
Class SubconsciousThought

java.lang.Object
  extended by org.pandora.thought.BasicThought
      extended by org.pandora.thought.SubconsciousThought
All Implemented Interfaces:
Thought
Direct Known Subclasses:
Comprehension, Discovery

public abstract class SubconsciousThought
extends BasicThought

A sub-conscious thought that processes active memory in the background.


Field Summary
 int delay
           
 int threshold
           
 
Constructor Summary
SubconsciousThought()
           
 
Method Summary
 void awake()
          Add a listener to the memory to be notified when new active memory.
 java.util.Queue<Vertex> getActiveMemoryBackLog()
           
 boolean isConscious()
          Thoughts can be conscious or sub-conscious.
 boolean isConsciousProcessingRequired()
          Determine if the thought should first wait for conscious thoughts to process the input.
abstract  boolean processInput(Vertex vertex, Network network)
          Process the active memory in the isolated memory in the background.
 void setActiveMemoryBackLog(java.util.Queue<Vertex> activeMemoryBackLog)
           
 void think()
          Analyse the active memory.
 
Methods inherited from class org.pandora.thought.BasicThought
getName, getPandora, getPrimitive, getShortTermMemory, initialize, log, log, setName, setPandora, stop, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

threshold

public int threshold

delay

public int delay
Constructor Detail

SubconsciousThought

public SubconsciousThought()
Method Detail

isConsciousProcessingRequired

public boolean isConsciousProcessingRequired()
Determine if the thought should first wait for conscious thoughts to process the input.


awake

public void awake()
Add a listener to the memory to be notified when new active memory.

Specified by:
awake in interface Thought
Overrides:
awake in class BasicThought

think

public void think()
Analyse the active memory. Output the active article to the senses.

Specified by:
think in interface Thought
Overrides:
think in class BasicThought

processInput

public abstract boolean processInput(Vertex vertex,
                                     Network network)
Process the active memory in the isolated memory in the background. Return if memory should be saved, or discarded.


isConscious

public boolean isConscious()
Thoughts can be conscious or sub-conscious. A conscious thought is run by the mind single threaded with exclusive access to the short term memory. A sub-conscious thought is run concurrently, and must run in its own memory space.

Specified by:
isConscious in interface Thought
Overrides:
isConscious in class BasicThought

getActiveMemoryBackLog

public java.util.Queue<Vertex> getActiveMemoryBackLog()

setActiveMemoryBackLog

public void setActiveMemoryBackLog(java.util.Queue<Vertex> activeMemoryBackLog)