ix.iplan
Class DomainAnalyser
java.lang.Object
ix.iplan.DomainAnalyser
public class DomainAnalyser
- extends java.lang.Object
Analyses a Domain.
This class is based on parts of O-Plan.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
domain
protected Domain domain
domainHasChanged
protected boolean domainHasChanged
refinementToDirectSuccessors
protected DirectedGraph refinementToDirectSuccessors
refinementToReachableRefinements
protected DirectedGraph refinementToReachableRefinements
possibleConditionsTable
protected DirectedGraph possibleConditionsTable
possibleEffectsTable
protected DirectedGraph possibleEffectsTable
possibleConditionsCache
protected java.util.Map possibleConditionsCache
possibleEffectsCache
protected java.util.Map possibleEffectsCache
DomainAnalyser
public DomainAnalyser(Domain domain)
- Make an analyser for a domain.
analyseIfNeeded
public void analyseIfNeeded()
reset
protected void reset()
analyse
public void analyse()
- Construct tables of derived information.
getPossibleConditions
public java.util.Set getPossibleConditions(LList pattern)
computePossibleConditions
protected java.util.Set computePossibleConditions(LList pattern)
getPossibleConditions
public java.util.Set getPossibleConditions(PatternAssignment pv)
computePossibleConditions
protected java.util.Set computePossibleConditions(PatternAssignment pv)
getPossibleEffects
public java.util.Set getPossibleEffects(LList pattern)
computePossibleEffects
protected java.util.Set computePossibleEffects(LList pattern)
getPossibleEffects
public java.util.Set getPossibleEffects(PatternAssignment pv)
computePossibleEffects
protected java.util.Set computePossibleEffects(PatternAssignment pv)
getUnexpandableNodes
public DirectedGraph getUnexpandableNodes()
buildRefinementSuccessorTable
protected DirectedGraph buildRefinementSuccessorTable()
directSuccessors
protected java.util.Set directSuccessors(Refinement r)
refinementsExpandingPattern
protected java.util.Set refinementsExpandingPattern(LList pattern)
refinementsForCondition
protected java.util.Set refinementsForCondition(PatternAssignment pv)
haveCommonPatterns
public boolean haveCommonPatterns(java.util.Collection pvs1,
java.util.Collection pvs2)
mightSatisfy
public boolean mightSatisfy(PatternAssignment cond,
PatternAssignment effect)
mightSatisfy
public boolean mightSatisfy(PatternAssignment cond,
java.util.Collection effects)
main
public static void main(java.lang.String[] argv)
- Test program.
askForConditionsLoop
void askForConditionsLoop()
askForEffectsLoop
void askForEffectsLoop()
askLoop
void askLoop(java.lang.String resultDescr,
Function1 f)
printGraph
static void printGraph(java.lang.String label,
DirectedGraph g)
printCollection
static void printCollection(java.lang.String label,
java.util.Collection c)
sortCollection
static java.util.List sortCollection(java.util.Collection c)