org.eyelanguage.rl.reading
Class SentenceWorldParallel

java.lang.Object
  extended by org.eyelanguage.rl.reading.SentenceWorld
      extended by org.eyelanguage.rl.reading.SentenceWorldParallel
All Implemented Interfaces:
java.io.Serializable, World

public class SentenceWorldParallel
extends SentenceWorld

Defines how states evolve in response to actions when a parallel reading process is underway, such as when various words become identified. Word identification can proceed on words in parallel according to an attentional gradient, which specifies how word identification resources are applied to far away words. After identification of words, the AttNext ReadingAction can advance attention through multiple words if those words (which are to the right) are already identified due to parallel word identification. When we attend the next word, shift all attended times over to the left. If a word in the distance is identified, allow it to be identified. Visual acuity applies to all of the words. So does the attentional gradient. Attention still shifts from left to right.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.eyelanguage.rl.reading.SentenceWorld
SentenceWorld.StateIteratorIndividualist
 
Field Summary
static int CENTER_OF_ATTENTION
           
static boolean DIVIDED_ATTENTION
           
static boolean LEXICAL_PROCESSING_RIGHTAFTER_ATTN_SHIFT
           
static boolean LINEAR_ATTENTION_GRADIENT
           
static int MAX_WORDS_IN_SENTENCE
           
static int PARALLEL_ATTENDABLE_WORDS
           
 boolean PARALLEL_ATTENTION_ALWAYS_POSITIVE
           
static int TIME_GRANULARITY
           
static boolean UNIFORM_ATTENTION
           
 
Fields inherited from class org.eyelanguage.rl.reading.SentenceWorld
ACUITY_LIMIT, ACUITY_LINEAR_PENALIZE, ACUITY_LINEAR_PENALTY_SLOPE, ATTEND_INTERVAL, CACHE_ENABLED, length, MAX_ATTEND_TIME_WITH_PENALTIES, MAX_POSSIBLE_ACUITY_PENALTY, MAX_POSSIBLE_ATTEND_TIME, MAX_POSSIBLE_ID_TIME, MAX_POSSIBLE_PENALTY, MAX_SACCADE_PROG_TIME, MIN_ATTEND_TIME_WITH_PENALTIES, name, SACCADE_PROGRAM_INTERVAL, SACCADE_TIME_PENALTY, SACCADIC_ERROR, SACCADIC_ERROR_GAUSSIAN, SACCADIC_ERROR_SPREAD, sentenceString, setStartingState, terminalStatesCache
 
Constructor Summary
SentenceWorldParallel()
           
SentenceWorldParallel(java.lang.String name, long seed)
           
 
Method Summary
 int[] acuityAdjustmentParallel(int previousEyePosition, ReadingStateParallelRelative currentState)
           
 void advanceAttentionWindow(ReadingStateParallelRelative newState)
           
 void applyAcuityAdjustmentsParallel(ReadingStateParallelRelative previousState, ReadingStateParallelRelative newState)
           
protected  void attemptAttendNextWord(ReadingState newState)
          If the next word is already identified, a single attNext action keeps moving you through the identified word to the following word.
 ReadingState attendCurrentWord(ReadingState newState)
           
 int calculateDistFromAttendedWordCenter(ReadingState state)
           
 ReadingState checkForWordIdentification(ReadingState state)
           
 ReadingState checkForWordIdentificationParallel(ReadingState state)
          Checks whether any words which are currently receivers of attention have become identified.
 int getCENTER_OF_ATTENTION()
           
 State getNewState(State oldGenericState, Action genericAction)
          Call the same code that is in the serial SentenceWorld newState(state, action), but also calls a new function called performParallelLexicalProcessing(org.eyelanguage.rl.reading.ReadingStateParallelRelative) on the state.
 int getPARALLEL_ATTENDABLE_WORDS()
           
 java.lang.String getSettings()
           
 State getStartingState()
           
 boolean isTerminalState(State state)
          The final word in the sentence, and all preceding words, must be identified.
static void main(java.lang.String[] args)
           
 void performParallelLexicalProcessing(ReadingStateParallelRelative newState)
          Core function of parallel sentence world, allows the parallel attention slots to increment according to an #attentionalGradient.
static double roundTo(double value, double roundToNearest)
           
static int roundTo(int value, int roundToNearest)
           
 void setCENTER_OF_ATTENTION(int newCENTER_OF_ATTENTION)
           
 void setPARALLEL_ATTENDABLE_WORDS(int newPARALLEL_ATTENDABLE_WORDS)
           
 java.util.Iterator stateIterator()
          Returns an object which lets you iterate over all states (positions) in the world.
 
Methods inherited from class org.eyelanguage.rl.reading.SentenceWorld
acuityAdjustment, acuityIdentificationPenalty, acuityIdentificationPenalty, acuityIdentificationPenaltyAbsolute, applySaccadicError, build, checkForAcuityLimit, distance, executeSaccade, getAllStatesFromEyePosition, getAllStatesWhereAttendingWordAt, getATTEND_INTERVAL, getCenterOfWord, getCenterOfWord, getDeadendStates, getIsBuilt, getMAX_ATTEND_TIME_WITH_PENALTIES, getMAX_POSSIBLE_ATTEND_TIME, getMAX_POSSIBLE_ID_TIME, getMAX_SACCADE_PROG_TIME, getMIN_ATTEND_TIME_WITH_PENALTIES, getName, getNewState, getNewState, getNumberOfPositions, getNumberOfStates, getNumWords, getPossibleEyePositions, getPossibleEyePositionsSlow, getRandomState, getSACCADE_PROGRAM_INTERVAL, getSACCADE_TIME_PENALTY, getSentenceLength, getStateFactory, getStateList, getTerminalStates_notUsed, getTerminalStates, getWord, getWordAtEyePosition, getWordLengthOrZero, getWordPredictabilityOrZero, growBounds, isLastWordID, isOnWord, maxOf, minOf, setATTEND_INTERVAL, setBoundedBufferSize, setMAX_POSSIBLE_ATTEND_TIME, setMAX_POSSIBLE_ID_TIME, setMAX_SACCADE_PROG_TIME, setRequester, setSACCADE_PROGRAM_INTERVAL, setSACCADE_TIME_PENALTY, setSentence, setSentence, setupReadingStateFactory, setupReadingStateFactory, toString, totalIdentificationTimePlusAcuityEffect, totalIdentificationTimePlusAcuityEffect, toText
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PARALLEL_ATTENDABLE_WORDS

public static int PARALLEL_ATTENDABLE_WORDS

CENTER_OF_ATTENTION

public static int CENTER_OF_ATTENTION

MAX_WORDS_IN_SENTENCE

public static int MAX_WORDS_IN_SENTENCE

TIME_GRANULARITY

public static int TIME_GRANULARITY

UNIFORM_ATTENTION

public static boolean UNIFORM_ATTENTION

LINEAR_ATTENTION_GRADIENT

public static boolean LINEAR_ATTENTION_GRADIENT

DIVIDED_ATTENTION

public static boolean DIVIDED_ATTENTION

LEXICAL_PROCESSING_RIGHTAFTER_ATTN_SHIFT

public static boolean LEXICAL_PROCESSING_RIGHTAFTER_ATTN_SHIFT

PARALLEL_ATTENTION_ALWAYS_POSITIVE

public boolean PARALLEL_ATTENTION_ALWAYS_POSITIVE
Constructor Detail

SentenceWorldParallel

public SentenceWorldParallel()

SentenceWorldParallel

public SentenceWorldParallel(java.lang.String name,
                             long seed)
Method Detail

getNewState

public State getNewState(State oldGenericState,
                         Action genericAction)
Call the same code that is in the serial SentenceWorld newState(state, action), but also calls a new function called performParallelLexicalProcessing(org.eyelanguage.rl.reading.ReadingStateParallelRelative) on the state.

Specified by:
getNewState in interface World
Overrides:
getNewState in class SentenceWorld

applyAcuityAdjustmentsParallel

public void applyAcuityAdjustmentsParallel(ReadingStateParallelRelative previousState,
                                           ReadingStateParallelRelative newState)

main

public static void main(java.lang.String[] args)

acuityAdjustmentParallel

public int[] acuityAdjustmentParallel(int previousEyePosition,
                                      ReadingStateParallelRelative currentState)

attendCurrentWord

public ReadingState attendCurrentWord(ReadingState newState)
Overrides:
attendCurrentWord in class SentenceWorld

performParallelLexicalProcessing

public void performParallelLexicalProcessing(ReadingStateParallelRelative newState)
Core function of parallel sentence world, allows the parallel attention slots to increment according to an #attentionalGradient. REALIZE that identification of the word (the amount of lexical processing required) is modulated by acuity constraints.


isTerminalState

public boolean isTerminalState(State state)
The final word in the sentence, and all preceding words, must be identified.

Specified by:
isTerminalState in interface World
Overrides:
isTerminalState in class SentenceWorld

getStartingState

public State getStartingState()
Specified by:
getStartingState in interface World
Overrides:
getStartingState in class SentenceWorld

checkForWordIdentification

public ReadingState checkForWordIdentification(ReadingState state)
Overrides:
checkForWordIdentification in class SentenceWorld

checkForWordIdentificationParallel

public ReadingState checkForWordIdentificationParallel(ReadingState state)
Checks whether any words which are currently receivers of attention have become identified. If so, makes a note of this by setting boolean variables.


calculateDistFromAttendedWordCenter

public int calculateDistFromAttendedWordCenter(ReadingState state)
Overrides:
calculateDistFromAttendedWordCenter in class SentenceWorld

attemptAttendNextWord

protected void attemptAttendNextWord(ReadingState newState)
If the next word is already identified, a single attNext action keeps moving you through the identified word to the following word.

Overrides:
attemptAttendNextWord in class SentenceWorld

advanceAttentionWindow

public void advanceAttentionWindow(ReadingStateParallelRelative newState)

stateIterator

public java.util.Iterator stateIterator()
Description copied from interface: World
Returns an object which lets you iterate over all states (positions) in the world.

Specified by:
stateIterator in interface World
Overrides:
stateIterator in class SentenceWorld

roundTo

public static int roundTo(int value,
                          int roundToNearest)

roundTo

public static double roundTo(double value,
                             double roundToNearest)

setPARALLEL_ATTENDABLE_WORDS

public void setPARALLEL_ATTENDABLE_WORDS(int newPARALLEL_ATTENDABLE_WORDS)

getPARALLEL_ATTENDABLE_WORDS

public int getPARALLEL_ATTENDABLE_WORDS()

setCENTER_OF_ATTENTION

public void setCENTER_OF_ATTENTION(int newCENTER_OF_ATTENTION)

getCENTER_OF_ATTENTION

public int getCENTER_OF_ATTENTION()

getSettings

public java.lang.String getSettings()
Overrides:
getSettings in class SentenceWorld