c

# SolvingStrategy 

#### abstract class SolvingStrategy extends AnyRef

A solving strategy solves an inference problem after a series of refinements have been made. This can involve solving subproblems and collecting their factors, but this class does not account for subproblems by default. Executing the strategy then eliminates variables that do not belong in the solution.

By default, solving strategies do not use parameterized factors, but subclasses can override this.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
1. Alphabetic
2. By Inheritance
Inherited
1. SolvingStrategy
2. AnyRef
3. Any
1. Hide All
2. Show All
Visibility
1. Public
2. All

### Instance Constructors

1. new SolvingStrategy(problem: Problem)

problem

Problem to solve.

### Abstract Value Members

1. abstract def eliminate(toEliminate: Set[Variable[_]], toPreserve: Set[Variable[_]], factors: List[Factor[Double]]): (List[Factor[Double]], Map[Variable[_], Factor[_]])

Solve the problem by eliminating variables, leaving only the ones that belong in the solution.

Solve the problem by eliminating variables, leaving only the ones that belong in the solution.

toEliminate

Variables to eliminate.

toPreserve

Variables to preserve.

factors

Factors over which to perform elimination.

returns

A list of factors over the variables to preserve representing their joint distribution, and a map of recording factors for MPE.

### Concrete Value Members

1. final def !=(arg0: Any): Boolean
Definition Classes
AnyRef → Any
2. final def ##(): Int
Definition Classes
AnyRef → Any
3. final def ==(arg0: Any): Boolean
Definition Classes
AnyRef → Any
4. final def asInstanceOf[T0]: T0
Definition Classes
Any
5. def clone(): AnyRef
Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( ... )
6. def constraintFactors(bounds: Bounds): List[Factor[Double]]

Get all of the constraint factors needed for solving.

Get all of the constraint factors needed for solving.

bounds

Bounds for the returned constraint factors.

returns

Constraint factors for solving.

7. final def eq(arg0: AnyRef): Boolean
Definition Classes
AnyRef
8. def equals(arg0: Any): Boolean
Definition Classes
AnyRef → Any
9. def execute(bounds: Bounds = Lower): Unit

Solve the problem defined by all the components' current factors.

Solve the problem defined by all the components' current factors. This involves solving and incorporating subproblems as well. This will set the globals accordingly. All components in this problem and contained subproblems should be eliminated in the solution.

bounds

Bounds for constraint factors. Defaults to `Lower`. This default is intended for the cases where it does not matter which bounds should be used because both upper and lower bounds would be the same.

10. def finalize(): Unit
Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
11. final def getClass(): Class[_]
Definition Classes
AnyRef → Any
12. def hashCode(): Int
Definition Classes
AnyRef → Any
13. final def isInstanceOf[T0]: Boolean
Definition Classes
Any
14. final def ne(arg0: AnyRef): Boolean
Definition Classes
AnyRef
15. def nonConstraintFactors(): List[Factor[Double]]

Get all of the non-constraint factors needed for solving.

Get all of the non-constraint factors needed for solving.

returns

Non-constraint factors for solving.

16. final def notify(): Unit
Definition Classes
AnyRef
17. final def notifyAll(): Unit
Definition Classes
AnyRef
18. final def synchronized[T0](arg0: ⇒ T0): T0
Definition Classes
AnyRef
19. def toString(): String
Definition Classes
AnyRef → Any
20. final def wait(): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
21. final def wait(arg0: Long, arg1: Int): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
22. final def wait(arg0: Long): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )