jcreek.representation.inference
Class SubclassInheritanceMethod

java.lang.Object
  extended byjcreek.representation.inference.SpreadingActivationRule
      extended byjcreek.representation.inference.InheritanceMethod
          extended byjcreek.representation.inference.SubclassInheritanceMethod

public class SubclassInheritanceMethod
extends InheritanceMethod


Field Summary
 
Fields inherited from class jcreek.representation.inference.InheritanceMethod
DEBUG
 
Constructor Summary
SubclassInheritanceMethod()
           
 
Method Summary
 boolean accept(Explanation path)
          Returns true if the rule can accept the Explanation path.
 boolean accept(Relation target)
          Returns true if we can accept the Relation target.
 boolean accept(Relation from, Entity next)
          Returns true if we can accept the Entity target from the Relation from.
 boolean acceptInheritance(Relation target)
           
 boolean reenter(Entity target)
          This method is called on an entity that has already been spread through, to see if we should spread through it again.
 
Methods inherited from class jcreek.representation.inference.InheritanceMethod
inherit
 
Methods inherited from class jcreek.representation.inference.SpreadingActivationRule
execute, generateModel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SubclassInheritanceMethod

public SubclassInheritanceMethod()
Method Detail

accept

public boolean accept(Relation target)
Description copied from class: SpreadingActivationRule
Returns true if we can accept the Relation target. Acceptance means the entity will be added to the set of entites spread to.

Specified by:
accept in class SpreadingActivationRule

accept

public boolean accept(Relation from,
                      Entity next)
Description copied from class: SpreadingActivationRule
Returns true if we can accept the Entity target from the Relation from. Acceptance means the entity will be added to the set of entites spread to.

Specified by:
accept in class SpreadingActivationRule

accept

public boolean accept(Explanation path)
Description copied from class: SpreadingActivationRule
Returns true if the rule can accept the Explanation path.

Specified by:
accept in class SpreadingActivationRule

acceptInheritance

public boolean acceptInheritance(Relation target)
Specified by:
acceptInheritance in class InheritanceMethod

reenter

public boolean reenter(Entity target)
Description copied from class: SpreadingActivationRule
This method is called on an entity that has already been spread through, to see if we should spread through it again. It has the same function as enter(), but while enter() is only called the FIRST time an entity is encountered during the spreading activation, reenter() is called the following times. WARNING: This method practically defines the complexity of the spreading operation. If this method is always false, the complexity is linear with the number of concepts in the model. If there is no cap on how many times an entity can be reconsidered, the worst case complexity is infinite! Complexity formula: O(c * n) where c = number of concepts in the model n = number of times a single entity can be reconsidered.

Overrides:
reenter in class SpreadingActivationRule


Created at IDI, NTNU by the Artificial Intelligence and Learning group