StateDistance

org.ddolibscala.tools.ddo.heuristics.cluster.StateDistance
trait StateDistance[T] extends StateDistance[T]

Trait defining a distance function between states, used to form clusters when deciding which nodes on a layer of a decision diagram should be merged.

The distance function must satisfy the following properties:

  • Non-negative: distance(a, b) ≥ 0
  • Symmetric: distance(a, b) = distance(b, a)
  • Triangle inequality: distance(a, c) ≤ distance(a, b) + distance(b, c)

Type parameters

T

the type of states

Attributes

Graph
Supertypes
trait StateDistance[T]
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

override def distance(a: T, b: T): Double

Computes the discrete distance between two states.

Computes the discrete distance between two states.

Value parameters

a

the first state

b

the second state

Attributes

Returns

the distance between a and b

Definition Classes
StateDistance

Concrete methods

override def distance(a: NodeSubProblem[T], b: NodeSubProblem[T]): Double

Computes the distance between two nodes of a subproblem.

Computes the distance between two nodes of a subproblem.

By default, returns 0. Can be overridden for more precise node-level distances.

Value parameters

a

the first node

b

the second node

Attributes

Returns

the distance between the nodes

Definition Classes
StateDistance
override def distanceWithRoot(state: T): Double

Computes the distance between a state and the root of the search/tree.

Computes the distance between a state and the root of the search/tree.

By default, returns 0. Can be overridden for root-distance computations.

Value parameters

state

the state to measure

Attributes

Returns

the distance to the root

Definition Classes
StateDistance