net.walend.disentangle.graph.semiring

Semirings and semiring-based graph minimizing algorithms.

SemiringSupport is the primary trait. Algorithms in this package -- Floyd-Warshall, Dijkstra's, and Brandes' algorithms -- use your choice of SemiringSupport to determine just what they are minimizing. The package also includes some common SemiringSupport implementations.

Attributes

Since:

v0.1.0

Members list

Concise view

Type members

Classlikes

case class AllPathsFirstSteps[Node, CoreLabel, Key](coreSupport: SemiringSupport[CoreLabel, Key]) extends SemiringSupport[Option[FirstStepsTrait[Node, CoreLabel]], Key]

Finds all minimal paths that use the core semiring.

Finds all minimal paths that use the core semiring.

Attributes

Since:

v0.1.0

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait SemiringSupport[Option[FirstStepsTrait[Node, CoreLabel]], Key]
class Object
trait Matchable
class Any
object Brandes

Brandes' algorithm for betweenness and minimal paths.

Brandes' algorithm for betweenness and minimal paths.

Attributes

Since:

v0.1.0

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Brandes.type
object Dijkstra

An implementation of Dijkstra's algorithm for general graph minimization for both single-source and single-sink.

An implementation of Dijkstra's algorithm for general graph minimization for both single-source and single-sink.

Attributes

Since:

v0.1.0

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
object FewestNodes extends SemiringSupport[Int, Int]

Finds the length of a path that traverses the fewest edges.

Finds the length of a path that traverses the fewest edges.

Attributes

Since:

v0.1.0

Graph
Supertypes
trait SemiringSupport[Int, Int]
class Object
trait Matchable
class Any
Self type
trait FirstStepTrait[Node, CoreLabel]

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class FirstStep
trait FirstStepsTrait[Node, CoreLabel]

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

An implementation of the Floyd Warshall algorithm for general graph minimization.

An implementation of the Floyd Warshall algorithm for general graph minimization.

Attributes

Since:

v0.1.0

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
implicit class LabelDigraphSemiringAlgorithms[Node, Label](self: LabelDigraph[Node, Label])

Attributes

Since:

v0.2.1 Helper methods for LabelDigraphs

Graph
Supertypes
class Object
trait Matchable
class Any
implicit class LabelUndigraphSemiringAlgorithms[Node, Label](self: LabelUndigraph[Node, Label])

Attributes

Since:

v0.2.1 Helper methods for LabelUndigraphs

Graph
Supertypes
class Object
trait Matchable
class Any
object LeastWeights extends SemiringSupport[Double, Double]

Finds paths that traverse from start to end nodes with the least Double-valued weight.

Finds paths that traverse from start to end nodes with the least Double-valued weight.

Attributes

Since:

v0.1.0

Graph
Supertypes
trait SemiringSupport[Double, Double]
class Object
trait Matchable
class Any
Self type
object MostProbable extends SemiringSupport[Double, Double]

Finds most probable paths that traverse from start to end nodes with the on double-weight edge (weights between zero and one).

Finds most probable paths that traverse from start to end nodes with the on double-weight edge (weights between zero and one).

Attributes

Since:

v0.1.0

Graph
Supertypes
trait SemiringSupport[Double, Double]
class Object
trait Matchable
class Any
Self type
class OnePathFirstStep[Node, CoreLabel, Key](coreSupport: SemiringSupport[CoreLabel, Key]) extends SemiringSupport[Option[FirstStepTrait[Node, CoreLabel]], Key]

Finds one minimal path that use the core semiring.

Finds one minimal path that use the core semiring.

Attributes

Since:

v0.1.0

Graph
Supertypes
trait SemiringSupport[Option[FirstStepTrait[Node, CoreLabel]], Key]
class Object
trait Matchable
class Any
trait SemiringSupport[L, Key]

Parts for semiring-based graph minimizing algorithms.

Parts for semiring-based graph minimizing algorithms.

Attributes

Since:

v0.1.0

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class AllPathsFirstSteps[Node, CoreLabel, Key]
class BrandesSupport[Node, CoreLabel, Key]
object FewestNodes.type
object LeastWeights.type
object MostProbable.type
class OnePathFirstStep[Node, CoreLabel, Key]
object TransitiveClosure.type
case class Stack[A](var list: List[A])

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Labels are true if the sink can be reached from the source, false if not.

Labels are true if the sink can be reached from the source, false if not.

Attributes

Since:

v0.1.0

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed case class TransitiveClosureHeapKey(label: Boolean, state: Int)

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Implicits

Implicits

final implicit def LabelDigraphSemiringAlgorithms[Node, Label](self: LabelDigraph[Node, Label]): LabelDigraphSemiringAlgorithms[Node, Label]

Attributes

Since:

v0.2.1 Helper methods for LabelDigraphs

final implicit def LabelUndigraphSemiringAlgorithms[Node, Label](self: LabelUndigraph[Node, Label]): LabelUndigraphSemiringAlgorithms[Node, Label]

Attributes

Since:

v0.2.1 Helper methods for LabelUndigraphs