public class BayesianNetwork
extends java.lang.Object
Constructor and Description |
---|
BayesianNetwork(java.util.Collection<? extends Vertex> vertices) |
BayesianNetwork(java.util.Set<? extends Vertex> vertices) |
Modifier and Type | Method and Description |
---|---|
void |
cascadeObservations() |
java.util.List<Vertex> |
getAllVertices() |
double |
getAverageVertexDegree() |
java.util.List<Vertex<DoubleTensor>> |
getContinuousLatentVertices() |
java.util.List<Vertex> |
getDiscreteLatentVertices() |
int |
getIndentation() |
java.util.List<Vertex> |
getLatentOrObservedVertices() |
java.util.List<Vertex> |
getLatentVertices() |
double |
getLogOfMasterP() |
java.util.List<Vertex> |
getObservedVertices() |
java.util.Set<Vertex> |
getSubgraph(Vertex vertex,
int degree)
Method for traversing a graph and returning a subgraph of vertices within the given degree of the specified vertex.
|
java.util.List<Vertex> |
getTopLevelLatentOrObservedVertices() |
java.util.List<Vertex> |
getTopLevelLatentVertices() |
java.util.List<Vertex> |
getTopLevelObservedVertices() |
Vertex |
getVertexByLabel(VertexLabel label) |
int |
getVertexCount() |
java.util.List<Vertex> |
getVerticesIgnoringNamespace(java.lang.String innerNamespace) |
java.util.List<Vertex> |
getVerticesInNamespace(java.lang.String... namespace) |
void |
incrementIndentation() |
boolean |
isInImpossibleState() |
void |
probeForNonZeroProbability(int attempts) |
void |
probeForNonZeroProbability(int attempts,
KeanuRandom random)
Attempt to find a non-zero master probability
by naively sampling vertices in order of data dependency
|
void |
save(NetworkSaver networkSaver) |
void |
saveValues(NetworkSaver networkSaver) |
static void |
setFromSampleAndCascade(java.util.List<? extends Vertex> vertices) |
static void |
setFromSampleAndCascade(java.util.List<? extends Vertex> vertices,
KeanuRandom random) |
void |
setState(NetworkState state) |
public BayesianNetwork(java.util.Set<? extends Vertex> vertices)
public BayesianNetwork(java.util.Collection<? extends Vertex> vertices)
public Vertex getVertexByLabel(VertexLabel label)
public java.util.List<Vertex> getVerticesInNamespace(java.lang.String... namespace)
public java.util.List<Vertex> getVerticesIgnoringNamespace(java.lang.String innerNamespace)
public int getVertexCount()
public double getAverageVertexDegree()
public void setState(NetworkState state)
public java.util.List<Vertex> getAllVertices()
public java.util.List<Vertex> getLatentOrObservedVertices()
public java.util.List<Vertex> getTopLevelLatentOrObservedVertices()
public java.util.List<Vertex> getLatentVertices()
public java.util.List<Vertex> getTopLevelLatentVertices()
public java.util.List<Vertex> getObservedVertices()
public java.util.List<Vertex> getTopLevelObservedVertices()
public double getLogOfMasterP()
public void cascadeObservations()
public void probeForNonZeroProbability(int attempts)
public void probeForNonZeroProbability(int attempts, KeanuRandom random)
attempts
- sampling attempts to get non-zero probabilityrandom
- random source for samplingpublic boolean isInImpossibleState()
public static void setFromSampleAndCascade(java.util.List<? extends Vertex> vertices)
public static void setFromSampleAndCascade(java.util.List<? extends Vertex> vertices, KeanuRandom random)
public java.util.List<Vertex<DoubleTensor>> getContinuousLatentVertices()
public java.util.List<Vertex> getDiscreteLatentVertices()
public int getIndentation()
public void incrementIndentation()
public void save(NetworkSaver networkSaver)
public void saveValues(NetworkSaver networkSaver)
public java.util.Set<Vertex> getSubgraph(Vertex vertex, int degree)
vertex
- vertex that the subgraph will be centered arounddegree
- degree of connections from the vertex to be included in the subgraph