neuroidnet.phasesegregator
Class StatisticalInputSequence

java.lang.Object
  |
  +--neuroidnet.ntr.Peripheral
        |
        +--neuroidnet.phasesegregator.Peripheral
              |
              +--neuroidnet.phasesegregator.StatisticalInputSequence
All Implemented Interfaces:
Expressive, Serializable

public class StatisticalInputSequence
extends Peripheral

Creates a random input sequence out of possible input patterns (objects). Designed to be instantiated separately from the Network (not in build() anymore).

Also evaluates the network after training to check for the quality of correct and spurious concepts memorized.

TODO: get only one percept from I1 and lower M1's threshold to allow recruitment.

Created: Fri Oct 18 14:12:22 2002

Modified: $Date: 2003/03/17 20:41:56 $

Version:
$Revision: 1.4 $ for this file.
Author:
Cengiz Gunay
See Also:
Serialized Form

Nested Class Summary
(package private)  class StatisticalInputSequence.SimObject
           
 
Field Summary
(package private)  int numberOfItemsPerArea
           
(package private)  int numberOfMedialAreas
           
(package private)  int numberOfNeuroids
           
(package private)  int numberOfObjects
          Can be manipulated by beanshell scripts under scripts/.
(package private)  int replication
           
(package private)  Vector simObjects
          Objects to be fired in the input sequence.
 
Fields inherited from class neuroidnet.phasesegregator.Peripheral
eventIterator, events, inputAreas, nextTime, percepts, segregation, sensoryArea
 
Fields inherited from class neuroidnet.ntr.Peripheral
network, time
 
Constructor Summary
StatisticalInputSequence(Network network)
          In order to be used from bsh: As constructor only take necessary parameters, like connect to a network.
 
Method Summary
 void build()
          Builds properties of the peripheral object.
 SortedSet correctConcepts()
          Builds a sorted set from simObjects.
 void evaluateResults()
          After simulation, checks if desired concepts were allocated in the NTR during simulation.
 String getProperties()
          In addition to getStatus() contents, give all static properties also.
(package private)  void initEvents()
          Sets the eventIterator to first position.
 double qualityOfConcepts(Set concepts)
          Calculates a quality value in the range [0, 1], 1 indicating full replication has been reached in recruitment for each intended simulation object.
 SortedSet spuriousConcepts()
          Computes the set of spurious concepts by pruning from the contents of the ConceptArea the subsets of all simObjects.
 
Methods inherited from class neuroidnet.phasesegregator.Peripheral
createSensoryInputs, eventsAtThisTime, fireObjectInArea, getNext, testOneInput
 
Methods inherited from class neuroidnet.ntr.Peripheral
getStatus, step, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

numberOfObjects

int numberOfObjects
Can be manipulated by beanshell scripts under scripts/.


numberOfNeuroids

int numberOfNeuroids

replication

int replication

numberOfMedialAreas

int numberOfMedialAreas

numberOfItemsPerArea

int numberOfItemsPerArea

simObjects

Vector simObjects
Objects to be fired in the input sequence.

Constructor Detail

StatisticalInputSequence

public StatisticalInputSequence(Network network)
In order to be used from bsh: As constructor only take necessary parameters, like connect to a network. Then set properties from bsh, and then call build to validate the object, which should call initEvents.. Needs changing previous architecture.

Parameters:
network - a Network value
Method Detail

build

public void build()
Builds properties of the peripheral object. Here, prepare random objects to be registered.


initEvents

void initEvents()
Description copied from class: Peripheral
Sets the eventIterator to first position.

Overrides:
initEvents in class Peripheral
See Also:
Peripheral.eventIterator, Peripheral.getNext()

evaluateResults

public void evaluateResults()
After simulation, checks if desired concepts were allocated in the NTR during simulation. For all objects, check if concepts has been formed and how many members do they have. Sets SimObject.concept

Simplification: Check only final concepts (anyway if intermediate concepts are not properly defined, final concepts cannot be formed.)

TODO: Produce a graph?


qualityOfConcepts

public double qualityOfConcepts(Set concepts)
Calculates a quality value in the range [0, 1], 1 indicating full replication has been reached in recruitment for each intended simulation object.

Parameters:
concepts - Concept set for which the quality is to be calculated.
Returns:
1 if all concepts contained replication elements, 0 if any of the concepts were missing, and something in between otherwise.

spuriousConcepts

public SortedSet spuriousConcepts()
Computes the set of spurious concepts by pruning from the contents of the ConceptArea the subsets of all simObjects.

Returns:
Set of all spurious concepts.

correctConcepts

public SortedSet correctConcepts()
Builds a sorted set from simObjects.

Returns:
Set of recruited correct concepts.

getProperties

public String getProperties()
Description copied from interface: Expressive
In addition to getStatus() contents, give all static properties also.

Specified by:
getProperties in interface Expressive
Overrides:
getProperties in class Peripheral
Returns: