|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object | +--Reasoner.ConstraintPropagator
Performs the position and attitude reasoning over the constraints in a set of object inferences. It breaks the object inferences into disjoint partitions with no interaction and proceeds to solve them independently. Partitions are processed from most to least cardinality to solve the harder, most constraining constraints earlier. Backtracking enforces a systematic approach to dealing with paths that fail to solve all constraints.
The system-level selective non-interpenetration constraint is enforced to prevent the objects in solutions between otherwise independent partitions from occupying the same space.
SimulationEngine| Nested Class Summary | |
private class |
ConstraintPropagator.Adjacency
Maintains an adjacency link from a source object inference to a target object inference with respect to a constraint node. |
private class |
ConstraintPropagator.Partition
Maintains the contents of a partition of object inferences that reference each other and no object inferences in other partitions. |
| Field Summary | |
static java.lang.String |
ARGUMENT_SELF_PIPPER
|
static java.lang.String |
FIELD_ANYWHERE
|
static java.lang.String |
FIELD_INTERIOR
|
private MonteCarloRunSet |
m_monte_carlo_run_set
|
private java.util.ArrayList |
m_partitions
|
private java.lang.String |
RELATION_IN
|
| Constructor Summary | |
ConstraintPropagator(MonteCarloRunSet monte_carlo_run_set)
Creates a new constraint propagator to find a solution set from a Monte Carlo run set. |
|
| Method Summary | |
private void |
buildPartition(ConstraintPropagator.Adjacency adjacency,
java.util.ArrayList adjacencies,
ConstraintPropagator.Partition partition)
Recursively builds a partition with all interconnected adjacencies. |
private void |
buildPartitions(MonteCarloRunSet monte_carlo_run_set)
Partitions the object inferences into subsets that can be solved independently. |
boolean |
propagate(int max_partition_iterations,
int max_partition_backtracks)
Propagates the constraints in each partition. |
private void |
sortPartitions()
Sorts the partitions from largest to smallest. |
java.lang.String |
toString()
Returns a string representation of this class. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final java.lang.String FIELD_ANYWHERE
public static final java.lang.String FIELD_INTERIOR
public static final java.lang.String ARGUMENT_SELF_PIPPER
private final java.lang.String RELATION_IN
private java.util.ArrayList m_partitions
private MonteCarloRunSet m_monte_carlo_run_set
| Constructor Detail |
public ConstraintPropagator(MonteCarloRunSet monte_carlo_run_set)
throws java.lang.Exception
monte_carlo_run_set - - the Monte Carlo run set containing the object-inference constraints to solve
java.lang.Exception - - if propagation fails| Method Detail |
private void buildPartition(ConstraintPropagator.Adjacency adjacency,
java.util.ArrayList adjacencies,
ConstraintPropagator.Partition partition)
adjacency - - the adjacency to followadjacencies - - the list of adjacencies followed from adjacencypartition - - the partition to add tobuildPartitions(Reasoner.MonteCarloRunSet)
private void buildPartitions(MonteCarloRunSet monte_carlo_run_set)
throws java.lang.Exception
monte_carlo_run_set - - the Monte Carlo run set containing the object-inference constraints to solve
java.lang.Exception - - if an object inference referenced by another is not present in the run set
public boolean propagate(int max_partition_iterations,
int max_partition_backtracks)
throws java.lang.Exception
java.lang.Exception - - if propagation failsprivate void sortPartitions()
public java.lang.String toString()
toString in class java.lang.Object
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||