aminePlatform.engines.memoryBasedInferences
Class MemoryBasedInferences

java.lang.Object
  extended byaminePlatform.engines.memoryBasedInferences.MemoryBasedInferences
Direct Known Subclasses:
MemoryAbductiveInference, MemoryAnalogicalInference, MemoryDeductiveInference

public abstract class MemoryBasedInferences
extends java.lang.Object

This class provides the possibility for deductive, abductive and analogical inferences, starting from a given situation. Copyright: Copyright (c) 2004-2009 Adil KABBAJ


Field Summary
static byte ABDUCTIVE_INFERENCE_MODE
           
static byte ANALOGICAL_INFERENCE_MODE
           
static byte DEDUCTIVE_INFERENCE_MODE
           
 IntegrateSituation integrationSituation
           
(package private)  Lexicon lexicon
           
(package private)  Ontology ontology
           
(package private)  AmineList rulesUsed
           
protected  javax.swing.JTextArea txtArea
           
 
Constructor Summary
MemoryBasedInferences(Ontology ontology, Lexicon lexicon)
           
 
Method Summary
protected abstract  CG doInferenceStep(CG newDescr, SimulationObject simulationObject)
           
 javax.swing.JTextArea getTextArea()
           
protected  CG inferenceStep(CG newDescr)
          inferenceStep represents one step in deductive/abductive inference: it asks for the position of the given newDescr in the ontology/KB/memory, and check if newDescr is more specific than the antecedent (for the case of deductive inference) or than the consequence (for the case of abductive inference) of an existing CSRule, this later is activated; its antecedent/consequence is joined to newDescr and the result of the maximalJoin is returned as an outcome of inferFrom.
 CG oneInferenceStep(CG newDescr)
          oneStepInference represents one step in deductive/abductive inference: it asks for the position of the given newDescr in the ontology/KB/memory, and check if newDescr is more specific than the antecedent (for the case of deductive inference) or than the consequence (for the case of abductive inference) of an existing CSRule, this later is activated; its antecedent/consequence is joined to newDescr and the result of the maximalJoin is returned as an outcome of inferFrom.
 void setTextArea(javax.swing.JTextArea txtArea)
           
 CG strictInferenceChain(CG newDescr)
          strictInferenceChain corresponds to an iterative call to the oneStepInference method: if it is found that the given newDescr is more specific than the antecedent (for the case of deductive inference) or than the consequence (for the case of abductive inference) of an existing CSRule, this later is activated; its antecedent/consequence is joined to newDescr.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEDUCTIVE_INFERENCE_MODE

public static final byte DEDUCTIVE_INFERENCE_MODE
See Also:
Constant Field Values

ABDUCTIVE_INFERENCE_MODE

public static final byte ABDUCTIVE_INFERENCE_MODE
See Also:
Constant Field Values

ANALOGICAL_INFERENCE_MODE

public static final byte ANALOGICAL_INFERENCE_MODE
See Also:
Constant Field Values

ontology

Ontology ontology

lexicon

Lexicon lexicon

rulesUsed

AmineList rulesUsed

integrationSituation

public IntegrateSituation integrationSituation

txtArea

protected javax.swing.JTextArea txtArea
Constructor Detail

MemoryBasedInferences

public MemoryBasedInferences(Ontology ontology,
                             Lexicon lexicon)
                      throws DynamicKnowledgeIntegrationException
Method Detail

getTextArea

public javax.swing.JTextArea getTextArea()

setTextArea

public void setTextArea(javax.swing.JTextArea txtArea)

oneInferenceStep

public CG oneInferenceStep(CG newDescr)
                    throws java.lang.Exception
oneStepInference represents one step in deductive/abductive inference: it asks for the position of the given newDescr in the ontology/KB/memory, and check if newDescr is more specific than the antecedent (for the case of deductive inference) or than the consequence (for the case of abductive inference) of an existing CSRule, this later is activated; its antecedent/consequence is joined to newDescr and the result of the maximalJoin is returned as an outcome of inferFrom. Otherwise, null is returned.

Parameters:
newDescr - CG
Returns:
CG
Throws:
java.lang.Exception

strictInferenceChain

public CG strictInferenceChain(CG newDescr)
                        throws java.lang.Exception
strictInferenceChain corresponds to an iterative call to the oneStepInference method: if it is found that the given newDescr is more specific than the antecedent (for the case of deductive inference) or than the consequence (for the case of abductive inference) of an existing CSRule, this later is activated; its antecedent/consequence is joined to newDescr. The result of this maximalJoin will be considered as the new value of newDescr and it will be integrated in turn, etc. Note that we memorize the CSRules that have been activated so that each CSRule is activated only once, to avoid cyclic activation of the same CSRule. This method is called strict because the same kind of inference step (deductive or abductive) is performed along the chain of inference; it is not allowed to perform deductive and abductive inference steps in the same chain.

Parameters:
newDescr - CG
Returns:
CG
Throws:
java.lang.Exception

inferenceStep

protected CG inferenceStep(CG newDescr)
                    throws java.lang.Exception
inferenceStep represents one step in deductive/abductive inference: it asks for the position of the given newDescr in the ontology/KB/memory, and check if newDescr is more specific than the antecedent (for the case of deductive inference) or than the consequence (for the case of abductive inference) of an existing CSRule, this later is activated; its antecedent/consequence is joined to newDescr and the result of the maximalJoin is returned as an outcome of inferFrom. Otherwise, null is returned.

Parameters:
newDescr - CG
Returns:
CG
Throws:
java.lang.Exception

doInferenceStep

protected abstract CG doInferenceStep(CG newDescr,
                                      SimulationObject simulationObject)
                               throws java.lang.Exception
Throws:
java.lang.Exception