edu.cmu.ml.rtw.pra.features

PathType

trait PathType extends AnyRef

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. PathType
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def cacheVertexInformation(vertex: Vertex, hopNum: Int): PathTypeVertexCache

  2. abstract def encodeAsHumanReadableString(graph: Graph, edgeMap: Map[Int, String] = Map()): String

    Creates a human-digestable representation of the PathType.

    Creates a human-digestable representation of the PathType. To make it human readable, we need to convert the integers that show up in the path type into their string representations, using the provided dictionaries.

  3. abstract def encodeAsString(): String

    Creates a machine-parseable representation of the PathType.

    Creates a machine-parseable representation of the PathType. This must match the ObjectParser[PathType] implementation in the PathTypeFactory. Edges types, node types, and whatever else, are encoded as integers.

  4. abstract def isLastHop(hopNum: Int): Boolean

    Is this the last hop? This determines whether the walk gets sent to the companion for tracking statistics.

  5. abstract def nextHop(hopNum: Int, sourceVertex: Int, vertex: Vertex, random: Random, edgeExcluder: EdgeExcluder, cache: PathTypeVertexCache): Int

    Given the hop number and information about the current vertex, pick an edge to follow.

    Given the hop number and information about the current vertex, pick an edge to follow.

    The EdgeExcluder is an object that uses some global or external information to determine if the walk is not allowed, generally because it's using an edge from the test data, or an edge that we're trying to learn.

    It is advisable, if at all possible, to do whatever you can to avoid looping over all of the edges in this method. This is in the inner loop of the PathFollower, and so it will get run a _lot_. Even worse, the processing is distributed across threads by vertex, and if you loop over all of the edges, you make the amount of computation done by each thread more uneven, because vertices that have lots of edges tend to get more walks at them. So, really, try hard to avoid a loop over all of the edges. The cache parameter should be helpful for that.

  6. abstract def recommendedIters(): Int

    How many iterations should we run if we want to be sure we complete the computation for this path type?

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. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  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. final def notify(): Unit

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

    Definition Classes
    AnyRef
  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  18. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped