sand.gcs.system

GraphCoordinateSystem

trait GraphCoordinateSystem[CoordType] extends Serializable

Graph Coordinate System "Cake layer" to be instantiated into a concrete instance

This layer requires a sand.gcs.optimize.NonLinearOptimizer to be layered on top of it that will be used to optimize the distances between landmarks. For the sand.gcs.system.Orion and sand.gcs.system.Rigel systems, this will be sand.gcs.optimize.NelderMead. The type parameter passed into sand.gcs.optimize.NonLinearOptimizer must match the one passed into this trait.

The type parameter passed into the trait will need to have a typeclass implementation of sand.gcs.coordinate.DistanceComputable in scope upon instantiation.

CoordType

A type that can be used as a coordinate via sand.gcs.coordinate.DistanceComputable

Self Type
GraphCoordinateSystem[CoordType] with NonLinearOptimizer[CoordType]
Linear Supertypes
Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. GraphCoordinateSystem
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. implicit abstract def dimension: Int

    Dimension of the coordinate system

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  8. def coordinateOf(id: Int): Option[CoordType]

    Retrieve the embedded coordinate given a node ID.

    Retrieve the embedded coordinate given a node ID.

    returns

    Embedded coordinate

  9. def distanceBetween(source: Int, destination: Int): Double

    Query the embedded distance given two node IDs.

    Query the embedded distance given two node IDs.

    source

    ID of the source node

    destination

    ID of the destination node

    returns

    Estimated distance between source and destination

  10. def embed(distances: DistanceStore, landmarkSet: Set[Int], primaries: Set[Int]): Unit

    Java API for embed.

    Java API for embed.

    If you would like to use random selection of primary landmarks, set "primaries" to null.

    All work done will be forwarded to the Scala version of embed. This method simply converts data structures to the Scala equivalent before passing it along.

    landmarkSet

    A set of landmark IDs

    primaries

    Contains IDs of primary landmarks to embed - pass null for default

  11. def embed(distances: DistanceStore, landmarkSet: Set[Int], primaries: Option[Set[Int]] = None): Unit

    Embeds a set of distances into the coordinate system.

    Embeds a set of distances into the coordinate system.

    Embeds a set of distances into the coordinate system - all work is forwarded to embedLandmarks and embedNonLandmark.

    distances

    DistanceStore implementation containing distance values to embed

    landmarkSet

    A set of landmark IDs

    primaries

    Optional parameter denoting primary landmarks to embed first

  12. def embedLandmarks(landmarkSet: Set[Int], primaries: Set[Int])(implicit store: DistanceStore): Unit

    Java API for embedLandmarks.

    Java API for embedLandmarks.

    If you would like to use random selection of primary landmarks, set "primaries" to null.

    All work done will be forwarded to the Scala version of embedLandmarks. This method simply converts data structures to the Scala equivalent before passing it along.

    landmarkSet

    A set of landmark IDs

    primaries

    Contains IDs of primary landmarks to embed - pass null for default

    store

    DistanceStore implementation containing distance values to embed

  13. def embedLandmarks(landmarkSet: Set[Int], primaries: Option[Set[Int]] = None)(implicit store: DistanceStore): Unit

    Embed the landmarks into the coordinate system.

    Embed the landmarks into the coordinate system.

    Embed both primary and non-primary landmarks into the coordinate system. This function should only be called once per instantiation, enforced by the LANDMARKS_EMBEDDED flag.

    Primary landmarks by default are chosen randomly. The number of such primary landmarks is set by default at 16. This value can be overridden in application.conf via gcs.embed.primary-landmarks.

    If the primaries parameter is passed in, it will override the configuration files.

    landmarkSet

    A set of landmark IDs

    primaries

    Optional parameter denoting primary landmarks to embed first

    store

    DistanceStore implementation containing distance values to embed

  14. def embedNonLandmark(id: Int)(implicit store: DistanceStore): CoordType

    Embeds non-landmark into the coordinate system.

    Embeds non-landmark into the coordinate system.

    Embeds a non-landmark into the coordinate system by randomly selecting X amount of "neighbor" landmarks to align against. By default X is set to 16. This can be overridden via config with gcs.embed.neighbors.

    id

    ID of the node to embed

    store

    DistanceStore implementation containing distance values to embed

    returns

    coordinates of the embedded non-landmark

  15. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  16. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  17. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  18. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  19. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  20. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  21. def load(filename: String): Unit

    Loads a set of coordinates from a given file.

    Loads a set of coordinates from a given file.

    File should be formatted such that each row represents the embedding of a single node. The format for each row should look like (using the Array[Double] view):

    [L/N if (non-)landmark] [Node ID] [Coordinate 1] ... [Coordinate N]
    filename

    Path of the file containing the formatted coordinates.

  22. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  23. final def notify(): Unit

    Definition Classes
    AnyRef
  24. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  25. def query(source: Int, destination: Int): Double

    Query the embedded distance given two node IDs.

    Query the embedded distance given two node IDs.

    source

    ID of the source node

    destination

    ID of the destination node

    returns

    Estimated distance between source and destination

  26. def save(filename: String): Unit

    Saves the sand landmark and node embeddings of the coordinate system.

    Saves the sand landmark and node embeddings of the coordinate system.

    File saved will be formatted as (using the Array[Double] view):

    [L/N if (non-)landmark] [Node ID] [Coordinate 1] ... [Coordinate N]
    filename

    Path of the file to save the coordinates into.

  27. def storeCoordinate(id: Int, coordinate: CoordType, isLandmark: Boolean): Unit

  28. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  29. def toString(): String

    Definition Classes
    AnyRef → Any
  30. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  31. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  32. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped