edu.indiana.iucbrf.ccbr.conversationblock.selector
Class ImportanceMeasureConversationBlockSelector

java.lang.Object
  extended by edu.indiana.iucbrf.ccbr.conversationblock.selector.AbstractConversationBlockSelector
      extended by edu.indiana.iucbrf.ccbr.conversationblock.selector.ImportanceMeasureConversationBlockSelector
All Implemented Interfaces:
ConversationBlockSelector, SwingRepresentableWithDomain, EnsembleMember, SwingRepresentable, java.io.Serializable
Direct Known Subclasses:
ConfidenceConversationBlockSelector, DistanceInfluenceConversationBlockSelector, GainRatioConversationBlockSelector, InformationGainConversationBlockSelector

public abstract class ImportanceMeasureConversationBlockSelector
extends AbstractConversationBlockSelector
implements EnsembleMember

See Also:
Serialized Form

Field Summary
protected  java.util.HashSet allKeys
           
protected  java.util.HashSet unknownFeatureKeys
           
 
Fields inherited from class edu.indiana.iucbrf.ccbr.conversationblock.selector.AbstractConversationBlockSelector
differentiator
 
Fields inherited from interface edu.indiana.util.swing.SwingRepresentable
TITLE_FONT
 
Constructor Summary
ImportanceMeasureConversationBlockSelector(CCBRDomain domain)
          Creates a new instance of ImportanceMeasureConversationBlockSelector
ImportanceMeasureConversationBlockSelector(CCBRDomain domain, ProblemDifferentiator differentiator)
           
 
Method Summary
 void decisionMade(java.lang.Object decision)
          The decision indicates the key chosen by the ensemble, so don't consider that key again.
protected abstract  java.util.HashMap getAllImpValues(Problem problemSoFar, RetrievalResults casesUnderConsideration, CCBRDomain domain)
           
protected  FeatureKey getNextFeatureKeyImpl(Problem problemSoFar, RetrievalResults casesUnderConsideration, CCBRDomain domain)
          Subclasses should implemented getNextFeatureKeyImpl().
protected abstract  FeatureKey getNextFeatureKeyImpl2(Problem problemSoFar, RetrievalResults casesUnderConsideration, CCBRDomain domain)
           
protected  void initConversationImpl(Problem initialProblem)
           
 SuggestionSet makeSuggestions(java.lang.Object[] args, double totalStrength)
           
 void reset()
          Reset the state of the conversation block selector, to prepare for a new conversation.
 javax.swing.JComponent toSwing(Domain domain)
           
 javax.swing.JComponent toSwing(int detailLevel)
          Detail level may be ignored by implementations.
 
Methods inherited from class edu.indiana.iucbrf.ccbr.conversationblock.selector.AbstractConversationBlockSelector
getNextBlock, getNextFeatureKey, initConversation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

unknownFeatureKeys

protected java.util.HashSet unknownFeatureKeys

allKeys

protected java.util.HashSet allKeys
Constructor Detail

ImportanceMeasureConversationBlockSelector

public ImportanceMeasureConversationBlockSelector(CCBRDomain domain)
Creates a new instance of ImportanceMeasureConversationBlockSelector


ImportanceMeasureConversationBlockSelector

public ImportanceMeasureConversationBlockSelector(CCBRDomain domain,
                                                  ProblemDifferentiator differentiator)
Method Detail

getNextFeatureKeyImpl

protected FeatureKey getNextFeatureKeyImpl(Problem problemSoFar,
                                           RetrievalResults casesUnderConsideration,
                                           CCBRDomain domain)
Subclasses should implemented getNextFeatureKeyImpl(). This is called when the conversation block selector is on its own, not part of an ensemble, so it is assumed that the selected key is answered, and unknownFeatureKeys is updated accordingly.

Specified by:
getNextFeatureKeyImpl in class AbstractConversationBlockSelector

getNextFeatureKeyImpl2

protected abstract FeatureKey getNextFeatureKeyImpl2(Problem problemSoFar,
                                                     RetrievalResults casesUnderConsideration,
                                                     CCBRDomain domain)

makeSuggestions

public SuggestionSet makeSuggestions(java.lang.Object[] args,
                                     double totalStrength)
Specified by:
makeSuggestions in interface EnsembleMember
Parameters:
args - The arguments take the following form:
args[0] is Problem problemSoFar
args[1] is RetrievalResults casesUnderConsideration
args[2] is CCBRDomain domain
totalStrength - The total amount of strength that this ensemble member may divide among its suggestions.

getAllImpValues

protected abstract java.util.HashMap getAllImpValues(Problem problemSoFar,
                                                     RetrievalResults casesUnderConsideration,
                                                     CCBRDomain domain)

initConversationImpl

protected void initConversationImpl(Problem initialProblem)
Specified by:
initConversationImpl in class AbstractConversationBlockSelector

decisionMade

public void decisionMade(java.lang.Object decision)
The decision indicates the key chosen by the ensemble, so don't consider that key again.

Specified by:
decisionMade in interface EnsembleMember

reset

public void reset()
Reset the state of the conversation block selector, to prepare for a new conversation. For some conversation block selectors, this may be a dummy operation.

Specified by:
reset in interface ConversationBlockSelector

toSwing

public javax.swing.JComponent toSwing(Domain domain)
Specified by:
toSwing in interface SwingRepresentableWithDomain

toSwing

public javax.swing.JComponent toSwing(int detailLevel)
Detail level may be ignored by implementations. If used, the standard is for detailLevel 0 to be least detail, with higher values growing more detailed. 0 is least detail, higher numbers are more

Specified by:
toSwing in interface SwingRepresentable