neuroidnet.periphery
Class ArtificialConcept

java.lang.Object
  |
  +--neuroidnet.ntr.Neuroid
        |
        +--neuroidnet.ntr.SRMNeuroid
              |
              +--neuroidnet.periphery.ArtificialConcept
All Implemented Interfaces:
Comparable, Concept, DumpsData, Expressive, Input, Serializable, Simulation
Direct Known Subclasses:
SensoryConcept

public class ArtificialConcept
extends SRMNeuroid
implements Concept, Comparable, DumpsData, Expressive

Implementation of a Concept that listens to a population of UM neuroids which represent a certain concept.

Version:
$Revision: 1.18 $ for this file
Author:
Cengiz Gunay
See Also:
Created: Mon Mar 19 23:00:24 2001 Modified: $Date: 2003/03/17 20:41:56 $, Serialized Form

Nested Class Summary
 
Nested classes inherited from class neuroidnet.ntr.SRMNeuroid
SRMNeuroid.Mode
 
Nested classes inherited from class neuroidnet.ntr.Neuroid
Neuroid.Mode
 
Field Summary
(package private)  Set conceptSet
          Set of other concepts that this concept represents, if available.
(package private)  Synapse excitatorySynapse
          Excitatory synapse template to instantiate new synapses.
(package private)  String name
          Name of the concept
 
Fields inherited from class neuroidnet.ntr.SRMNeuroid
 
Fields inherited from class neuroidnet.ntr.Neuroid
area, concept, mode, synapses, watch
 
Constructor Summary
ArtificialConcept(Network network, Set conceptSet)
          Create a concept from a conjunction of concepts.
ArtificialConcept(Network network, String name)
          Create a simple concept.
 
Method Summary
 void attach(Neuroid neuroid)
          Attaches the neuroid to the concept population.
 int compareTo(Object o)
          Required for implementing the Comparable interface for use in TreeMap implementation in ConceptArea.
static String conceptName(Set conceptSet)
           
 void detach(Neuroid neuroid)
          Detaches the neuroid from the concept population.
 Set getConceptSet()
          Get the value of conceptSet.
 String getName()
           
 String getProperties()
          Describe concept in more detail, including static properties.
 String getStatus()
          Add concept set size to result of toString().
(package private)  void init2()
          Called by all contructors.
 void setConceptSet(Set v)
          Set the value of conceptSet.
 String toString()
          Describe concept.
 
Methods inherited from class neuroidnet.ntr.SRMNeuroid
calculatePotential, defaultPeriod, fire, getRefractoryTimeConstant, setRefractoryTimeConstant
 
Methods inherited from class neuroidnet.ntr.Neuroid
addSynapse, dumpData, getArea, getConcept, getId, getMode, getProfile, getSpikeTrain, getSynapses, getTimeLastFired, init, isDebug, isWatch, setArea, setDebug, setMode, setProfile, setSpikeTrain, setWatch, step, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface neuroidnet.ntr.Concept
fire
 
Methods inherited from interface neuroidnet.ntr.DumpsData
dumpData
 

Field Detail

name

String name
Name of the concept

See Also:
#ArtificialConcept(Network,HashSet)

conceptSet

Set conceptSet
Set of other concepts that this concept represents, if available.


excitatorySynapse

final Synapse excitatorySynapse
Excitatory synapse template to instantiate new synapses.

Constructor Detail

ArtificialConcept

public ArtificialConcept(Network network,
                         String name)
Create a simple concept.

Parameters:
network - a Network value
name - a String value

ArtificialConcept

public ArtificialConcept(Network network,
                         Set conceptSet)
Create a concept from a conjunction of concepts. Name it by the concatanation of names of causing concepts.

TODO: Raise exception if conceptSet already exists as a key in conceptArea.

Parameters:
network - a Network value
conceptSet - a Vector value
Method Detail

getConceptSet

public Set getConceptSet()
Get the value of conceptSet.

Specified by:
getConceptSet in interface Concept
Returns:
value of conceptSet.

setConceptSet

public void setConceptSet(Set v)
Set the value of conceptSet.

Parameters:
v - Value to assign to conceptSet.

conceptName

public static String conceptName(Set conceptSet)

init2

void init2()
Called by all contructors. Adds entry in hashtable of conceptArea.

See Also:
ConceptArea

attach

public void attach(Neuroid neuroid)
            throws ConceptSaturatedException
Attaches the neuroid to the concept population. Aborts and throws an exception if population already contains Area.replication number of Neuroids.

TODO: How about bidirectional connections?

Specified by:
attach in interface Concept
Parameters:
neuroid - a Neuroid value
ConceptSaturatedException
See Also:
Concept.attach(neuroidnet.ntr.Neuroid)

detach

public void detach(Neuroid neuroid)
Detaches the neuroid from the concept population.

Specified by:
detach in interface Concept
Parameters:
neuroid - a Neuroid value
See Also:
Concept.detach(neuroidnet.ntr.Neuroid)

toString

public String toString()
Describe concept.

Specified by:
toString in interface Expressive
Overrides:
toString in class Neuroid
Returns:

getStatus

public String getStatus()
Add concept set size to result of toString().

Specified by:
getStatus in interface Expressive
Overrides:
getStatus in class Neuroid
Returns:
a String value
See Also:
Expressive.toString()

getProperties

public String getProperties()
Describe concept in more detail, including static properties.

Specified by:
getProperties in interface Expressive
Overrides:
getProperties in class Neuroid
Returns:
a String value
See Also:
Expressive.getStatus()

compareTo

public int compareTo(Object o)
Required for implementing the Comparable interface for use in TreeMap implementation in ConceptArea. TODO: Check names?

Specified by:
compareTo in interface Comparable
Parameters:
o - an Object value
Returns:
an int value
See Also:
ConceptArea

getName

public String getName()