Package com.bayesserver.inference
Interface Evidence
-
- All Known Implementing Classes:
DefaultEvidence
public interface Evidence
Represents the evidence, or case data (e.g. row in a database) used in aquery
. Evidence is always associated with a particular network, however if necessary can be detached or attached to an instance of an inference engine. This has the follwing advantages: - Evidence can be set before an inference engine is created, or retained when an inference engine is destroyed. - Evidence can be switched between inference engines. - An inference engine can switch between different evidence instances.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
beginUpdate()
Disables change notifications (if present), untilendUpdate()
is called.void
clear()
Clears any evidence on all variables, and resets thegetWeight()
to 1.void
clear(Node node)
Clears evidence on a node's variables.void
clear(Node node, Integer time)
Clears evidence on a node's single variable.void
clear(Variable variable)
Clears evidence on a variable.void
clear(Variable variable, Integer time)
Clears evidence on a variable at the specified time.void
copy(Evidence evidence)
Replaces the current evidence, with that from anotherEvidence
instance.void
copy(Evidence evidence, Variable variable)
Replaces the current evidence for an individual variable, with that from anotherEvidence
instance.void
copy(Evidence evidence, Variable variable, Integer time)
Replaces the current evidence for an individual variable at a specific time, with that from anotherEvidence
instance.void
endUpdate()
Enables change notifications (if available).Double
get(Node node)
Gets the hard evidence value for a particular node's variable, or returns null if theEvidenceType
equalsEvidenceType.NONE
orEvidenceType.SOFT
.void
get(Node node, Double[] destination, int destinationStart, int startTime, int count)
Gets the evidence for a node's single temporal variable.Double
get(Node node, Integer time)
Gets the evidence for a node with a single variable at the specified time.Double
get(Variable variable)
Gets the hard evidence for a discrete variable or continuous variable, or returns null if theEvidenceType
equalsEvidenceType.NONE
orEvidenceType.SOFT
.void
get(Variable variable, Double[] destination, int destinationStart, int startTime, int count)
Gets the evidence for a temporal variable.Double
get(Variable variable, Integer time)
Gets the evidence for a discrete variable at the specified time.EvidenceType
getEvidenceType(Node node)
Returns the type of evidence currently set for a node with a single variable.EvidenceType
getEvidenceType(Node node, Integer time)
Returns the type of evidence currently set for a node with a single variable at a given time.EvidenceType
getEvidenceType(Variable variable)
Returns the type of evidence currently set for a variable (if any).EvidenceType
getEvidenceType(Variable variable, Integer time)
Returns the type of evidence currently set for a variable at a given time.EvidenceTypes
getEvidenceTypes(Node node)
Gets the type of evidence (if any) and whether or not it is an intervention (do-operator).EvidenceTypes
getEvidenceTypes(Node node, Integer time)
Gets the type of evidence (if any) and whether or not it is an intervention (do-operator).EvidenceTypes
getEvidenceTypes(Variable variable)
Gets the type of evidence (if any) and whether or not it is an intervention (do-operator).EvidenceTypes
getEvidenceTypes(Variable variable, Integer time)
Gets the type of evidence (if any) and whether or not it is an intervention (do-operator).double
getLogWeight()
Gets the natural logarithm ofgetWeight()
.Integer
getMaxTime()
Gets the maximum time containing evidence.Integer
getMaxTime(Variable variable)
Gets the maximum time containing evidence for a variable.Network
getNetwork()
Gets the Bayesian network that is the the target of the evidence.Integer
getState(Node node)
Gets the hard evidence state for node with a single variable, or returns null if theEvidenceType
equalsEvidenceType.NONE
orEvidenceType.SOFT
.Integer
getState(Node node, Integer time)
Gets the hard evidence state for node with a single variable, or returns null if theEvidenceType
equalsEvidenceType.NONE
orEvidenceType.SOFT
.Integer
getState(Variable variable)
Gets the hard evidence state for a particular variable, or returns null if theEvidenceType
equalsEvidenceType.NONE
orEvidenceType.SOFT
.Integer
getState(Variable variable, Integer time)
Gets the hard evidence state for a particular variable, or returns null if theEvidenceType
equalsEvidenceType.NONE
orEvidenceType.SOFT
.void
getStates(Node node, double[] buffer)
Fills out a buffer containing the soft evidence for a node with a single variable.void
getStates(Node node, double[] buffer, Integer time)
Fills out a buffer containing the soft evidence for a node with a single variable at a specified time.void
getStates(Table table)
Fills out a table containing the soft evidence for a particular variable.void
getStates(Variable variable, double[] buffer)
Fills out a buffer containing the soft evidence for a particular variable.void
getStates(Variable variable, double[] buffer, Integer time)
Fills out a buffer containing the soft evidence for a particular variable at a specified time.void
getVariables(Variable[] buffer)
Fills out a buffer with all variables that have either hard or soft evidence.double
getWeight()
Gets a weight that can be applied to the evidence.void
load(InputStream input)
Loads evidence from the specified stream.void
load(String fileName)
Loads evidence from the specified file.void
loadFromString(String value)
Loads evidence from a string using UTF-8 encoding.void
loadFromString(String value, String charSetName)
Loads evidence from a string using the specified encoding.void
save(OutputStream output)
Saves the evidence to the specified stream.void
save(String fileName)
Saves the specified to the specified file.String
saveToString()
Saves evidemce to a string, with UTF-8 encoding.String
saveToString(String charSetName)
Saves evidence to a string, with the specified encoding.void
set(Node node, Double value)
Sets a node's variable to a particular value (hard evidence).void
set(Node node, Double[] source, int sourceStart, int startTime, int count)
Sets temporal evidence on a node with a single variable.void
set(Node node, Double value, Integer time)
Sets evidence on a node's single variable at a specified time.void
set(Variable variable, Double value)
Sets a variable to a particular value (hard evidence).void
set(Variable variable, Double[] source, int sourceStart, int startTime, int count)
Sets temporal evidence on a variable.void
set(Variable variable, Double value, Integer time)
Sets evidence on a variable at a specified time.void
set(Variable variable, Double value, Integer time, InterventionType interventionType)
Sets evidence on the variable, in the form of an intervention (do-operator).void
setLogWeight(double value)
Sets the natural logarithm ofgetWeight()
.void
setState(Node node, Integer state)
Sets evidence on a node with a single discrete variable to a particular state (hard evidence).void
setState(Node node, Integer state, Integer time)
Sets evidence on a node with a single discrete variable to a particular state (hard evidence) specifiying a time if the node is temporal.void
setState(State state)
Sets evidence on a discrete state (hard evidence).void
setState(State state, Integer time)
Sets evidence on a discrete state (hard evidence) at a particular time (zero based).void
setState(State state, Integer time, InterventionType interventionType)
Sets evidence on a discrete state (hard evidence), in the form of an intervention (do-operator).void
setState(Variable variable, Integer state)
Sets a discrete variable to a particular state (hard evidence).void
setState(Variable variable, Integer state, Integer time)
Sets a discrete variable to a particular state (hard evidence), specifiying a time if the state belongs to a variable whose node is temporal.void
setStates(Node node, double[] values)
Sets soft evidence for a discrete node with a single variable.void
setStates(Node node, double[] values, Integer time)
Sets soft evidence for a discrete node with a single variable, at a specified time.void
setStates(Variable variable, double[] values)
Sets soft evidence for a particular discrete variable.void
setStates(Variable variable, double[] values, Integer time)
Sets soft evidence for a particular discrete variable at a specified time.void
setWeight(double value)
Sets a weight that can be applied to the evidence.int
size()
Gets the count of variables with either hard, soft or temporal evidence set.
-
-
-
Method Detail
-
size
int size()
Gets the count of variables with either hard, soft or temporal evidence set.- Returns:
- The count of variables with evidence.
-
getNetwork
Network getNetwork()
Gets the Bayesian network that is the the target of the evidence.- Returns:
- The
Network
.
-
getWeight
double getWeight()
Gets a weight that can be applied to the evidence. Default value is 1. Value must be positive. A weight can be applied to a case, to give it more or less importance during learning or inference. For example, if a database has groups of records that are identical, each group can be represented by a single case with a weight equal to the number in that group.Note that setting the weight to anything but 1, will effect the
QueryOutput.getLogLikelihood()
statistic.
-
setWeight
void setWeight(double value)
Sets a weight that can be applied to the evidence. Default value is 1. Value must be positive. A weight can be applied to a case, to give it more or less importance during learning or inference. For example, if a database has groups of records that are identical, each group can be represented by a single case with a weight equal to the number in that group.Note that setting the weight to anything but 1, will effect the
QueryOutput.getLogLikelihood()
statistic.
-
getLogWeight
double getLogWeight()
Gets the natural logarithm ofgetWeight()
.
-
setLogWeight
void setLogWeight(double value)
Sets the natural logarithm ofgetWeight()
.
-
beginUpdate
void beginUpdate()
Disables change notifications (if present), untilendUpdate()
is called. Calls tobeginUpdate()
can be nested, in which case notifications only continue after the final call toendUpdate()
.
-
clear
void clear()
Clears any evidence on all variables, and resets thegetWeight()
to 1.
-
clear
void clear(Variable variable)
Clears evidence on a variable.- Parameters:
variable
- The variable whose evidence you want to clear.
-
clear
void clear(Variable variable, Integer time)
Clears evidence on a variable at the specified time.- Parameters:
variable
- The variable whose evidence you want to clear.time
- The time at which to clear evidence. Can be null.
-
clear
void clear(Node node, Integer time)
Clears evidence on a node's single variable.- Parameters:
node
- A node with a single variable whose evidence you want to clear.time
- The time at which to clear evidence. Can be null.
-
clear
void clear(Node node)
Clears evidence on a node's variables.- Parameters:
node
- The node whose variables you want to clear evidence on.
-
copy
void copy(Evidence evidence)
Replaces the current evidence, with that from anotherEvidence
instance.- Parameters:
evidence
- The source evidence to copy from.
-
copy
void copy(Evidence evidence, Variable variable)
Replaces the current evidence for an individual variable, with that from anotherEvidence
instance. For temporal variables, evidence is copied from the source at all times.- Parameters:
evidence
- The source evidence to copy from.variable
- The variable to copy evidence for.
-
copy
void copy(Evidence evidence, Variable variable, Integer time)
Replaces the current evidence for an individual variable at a specific time, with that from anotherEvidence
instance.- Parameters:
evidence
- The source evidence to copy from.variable
- The variable to copy evidence for.time
- The time at which to copy evidence.
-
endUpdate
void endUpdate()
Enables change notifications (if available). A corresponding call must first be made tobeginUpdate()
to disable notifications.
-
getVariables
void getVariables(Variable[] buffer)
Fills out a buffer with all variables that have either hard or soft evidence. The buffer must have length equal to or greater than the currentsize()
.- Parameters:
buffer
- A container for any variables with evidence. It must have length equal to or greater than the currentsize()
.
-
load
void load(InputStream input) throws XMLStreamException
Loads evidence from the specified stream.- Parameters:
input
- The input stream.- Throws:
XMLStreamException
-
load
void load(String fileName) throws IOException, XMLStreamException
Loads evidence from the specified file.- Parameters:
fileName
- Name of the file.- Throws:
IOException
XMLStreamException
-
save
void save(OutputStream output) throws XMLStreamException
Saves the evidence to the specified stream.- Parameters:
output
- The output stream.- Throws:
XMLStreamException
-
save
void save(String fileName) throws IOException, XMLStreamException
Saves the specified to the specified file.- Parameters:
fileName
- Name of the file.- Throws:
IOException
XMLStreamException
-
saveToString
String saveToString(String charSetName) throws XMLStreamException
Saves evidence to a string, with the specified encoding.- Parameters:
charSetName
- The encoding to use.- Returns:
- The evidence persisted to a string.
- Throws:
XMLStreamException
-
saveToString
String saveToString() throws XMLStreamException
Saves evidemce to a string, with UTF-8 encoding.- Returns:
- The evidence persisted to a string.
- Throws:
XMLStreamException
-
loadFromString
void loadFromString(String value, String charSetName) throws UnsupportedEncodingException, XMLStreamException
Loads evidence from a string using the specified encoding.- Parameters:
value
- The persisted string value of the evidence.charSetName
- The encoding the evidence was originally saved in.- Throws:
UnsupportedEncodingException
XMLStreamException
-
loadFromString
void loadFromString(String value) throws UnsupportedEncodingException, XMLStreamException
Loads evidence from a string using UTF-8 encoding.- Parameters:
value
- The persisted string value of the evidence.- Throws:
UnsupportedEncodingException
XMLStreamException
-
getMaxTime
Integer getMaxTime(Variable variable)
Gets the maximum time containing evidence for a variable.- Parameters:
variable
- The variable to check.- Returns:
- The maximum zero based time at which evidence is present for the variable or null if no evidence is present.
-
getMaxTime
Integer getMaxTime()
Gets the maximum time containing evidence.- Returns:
- The maximum zero based time at which evidence is present for any variable or null if no evidence is present.
-
getEvidenceType
EvidenceType getEvidenceType(Variable variable)
Returns the type of evidence currently set for a variable (if any).- Parameters:
variable
- The variable in question.- Returns:
- The
EvidenceType
.
-
getEvidenceType
EvidenceType getEvidenceType(Node node)
Returns the type of evidence currently set for a node with a single variable.- Parameters:
node
- The node in question.- Returns:
- The
EvidenceType
.
-
getEvidenceTypes
EvidenceTypes getEvidenceTypes(Variable variable)
Gets the type of evidence (if any) and whether or not it is an intervention (do-operator).- Parameters:
variable
- The variable in question.- Returns:
- The
EvidenceTypes
.
-
getEvidenceTypes
EvidenceTypes getEvidenceTypes(Node node)
Gets the type of evidence (if any) and whether or not it is an intervention (do-operator).- Parameters:
node
- The node in question.- Returns:
- The
EvidenceTypes
.
-
getEvidenceTypes
EvidenceTypes getEvidenceTypes(Node node, Integer time)
Gets the type of evidence (if any) and whether or not it is an intervention (do-operator).- Parameters:
node
- The node in question.time
- The time at which evidence is set. Can be null.- Returns:
- The
EvidenceTypes
.
-
getEvidenceTypes
EvidenceTypes getEvidenceTypes(Variable variable, Integer time)
Gets the type of evidence (if any) and whether or not it is an intervention (do-operator).- Parameters:
variable
- The variable in question.time
- The time at which evidence is set. Can be null.- Returns:
- The
EvidenceTypes
.
-
getEvidenceType
EvidenceType getEvidenceType(Node node, Integer time)
Returns the type of evidence currently set for a node with a single variable at a given time.- Parameters:
node
- The node in question.time
- The time at which evidence is set. Can be null.- Returns:
- The
EvidenceType
.
-
getEvidenceType
EvidenceType getEvidenceType(Variable variable, Integer time)
Returns the type of evidence currently set for a variable at a given time.- Parameters:
variable
- The variable in question.time
- The time at which evidence is set. Can be null.- Returns:
- The
EvidenceType
.
-
getState
Integer getState(Variable variable)
Gets the hard evidence state for a particular variable, or returns null if theEvidenceType
equalsEvidenceType.NONE
orEvidenceType.SOFT
.- Parameters:
variable
- The variable.- Returns:
- The zero based index of the
State
with hard evidence set, or null if theEvidenceType
does not equalEvidenceType.HARD
.. - Throws:
NullPointerException
- [variable] is null.IllegalArgumentException
- The variable does not belong to the appropriate network, or is not discrete.
-
getState
Integer getState(Variable variable, Integer time)
Gets the hard evidence state for a particular variable, or returns null if theEvidenceType
equalsEvidenceType.NONE
orEvidenceType.SOFT
.- Parameters:
variable
- The variable.time
- Time at which to retrieve evidence, if the variable belongs to a temporal node, otherwise null.- Returns:
- The zero based index of the
State
with hard evidence set, or null if theEvidenceType
does not equalEvidenceType.HARD
.. - Throws:
NullPointerException
- [variable] is null.IllegalArgumentException
- The variable does not belong to the appropriate network, or is not discrete.
-
getState
Integer getState(Node node)
Gets the hard evidence state for node with a single variable, or returns null if theEvidenceType
equalsEvidenceType.NONE
orEvidenceType.SOFT
.- Parameters:
node
- The node with a single discrete variable.- Returns:
- The zero based index of the
State
with hard evidence set, or null if theEvidenceType
does not equalEvidenceType.HARD
.. - Throws:
NullPointerException
- [node] is null.IllegalArgumentException
- The node does not belong to the appropriate network, or does not have a single discrete variable.
-
getState
Integer getState(Node node, Integer time)
Gets the hard evidence state for node with a single variable, or returns null if theEvidenceType
equalsEvidenceType.NONE
orEvidenceType.SOFT
.- Parameters:
node
- The node with a single discrete variable.time
- Time at which to retrieve evidence, if the node is temporal, otherwise null.- Returns:
- The zero based index of the
State
with hard evidence set, or null if theEvidenceType
does not equalEvidenceType.HARD
.. - Throws:
NullPointerException
- [node] is null.IllegalArgumentException
- The node does not belong to the appropriate network, or does not have a single discrete variable.
-
setState
void setState(Variable variable, Integer state)
Sets a discrete variable to a particular state (hard evidence).- Parameters:
variable
- The discrete variable to set evidence on.state
- The zero based index of the state to set, or null to clear the evidence.
-
setState
void setState(Variable variable, Integer state, Integer time)
Sets a discrete variable to a particular state (hard evidence), specifiying a time if the state belongs to a variable whose node is temporal.- Parameters:
variable
- The discrete variable to set evidence on.state
- The zero based index of the state to set, or null to clear the evidence.time
- The time at which to set evidence, if the state belongs to a variable whose node is temporal, otherwise null.
-
setState
void setState(State state)
Sets evidence on a discrete state (hard evidence).- Parameters:
state
- The state to set, cannot be null.
-
setState
void setState(State state, Integer time, InterventionType interventionType)
Sets evidence on a discrete state (hard evidence), in the form of an intervention (do-operator).- Parameters:
state
- The state to set, cannot be null.time
- The time at which to set evidence, if the node is temporal, otherwise null.interventionType
- Whether or not the evidence is an intervention.
-
set
void set(Variable variable, Double value, Integer time, InterventionType interventionType)
Sets evidence on the variable, in the form of an intervention (do-operator).- Parameters:
variable
- The variable to set evidence on.value
- The value to set, or null to clear the evidence.time
- The time at which to set evidence, if the node is temporal, otherwise null.interventionType
- Whether or not the evidence is an intervention.
-
setState
void setState(State state, Integer time)
Sets evidence on a discrete state (hard evidence) at a particular time (zero based).- Parameters:
state
- The state to set, cannot be null.time
- The time at which to set evidence, if the node is temporal, otherwise null.
-
setState
void setState(Node node, Integer state)
Sets evidence on a node with a single discrete variable to a particular state (hard evidence).- Parameters:
node
- The node with a single discrete variable to set evidence on.state
- The zero based index of the state to set, or null to clear the evidence.
-
setState
void setState(Node node, Integer state, Integer time)
Sets evidence on a node with a single discrete variable to a particular state (hard evidence) specifiying a time if the node is temporal.- Parameters:
node
- The node with a single discrete variable to set evidence on.state
- The zero based index of the state to set, or null to clear the evidence.time
- The time at which to set evidence, if the node is temporal, otherwise null.
-
get
Double get(Variable variable)
Gets the hard evidence for a discrete variable or continuous variable, or returns null if theEvidenceType
equalsEvidenceType.NONE
orEvidenceType.SOFT
.- Parameters:
variable
- The discrete or continuous variable.- Returns:
- The evidence for the variable, or null if the
EvidenceType
does not equalEvidenceType.HARD
. - Throws:
NullPointerException
- [variable] is null.IllegalArgumentException
- The variable does not belong to the appropriate network.
-
get
Double get(Variable variable, Integer time)
Gets the evidence for a discrete variable at the specified time.- Parameters:
variable
- The variable.time
- The time at which to retrieve evidence. Can be null.- Returns:
- The evidence for the variable at the specified time.
-
get
void get(Variable variable, Double[] destination, int destinationStart, int startTime, int count)
Gets the evidence for a temporal variable.- Parameters:
variable
- The temporal variable.destination
- The destination buffer which will be filled with the evidence values.destinationStart
- The position in the buffer to start copying.startTime
- The time to start copying from.count
- The number of evidence values to copy.
-
get
void get(Node node, Double[] destination, int destinationStart, int startTime, int count)
Gets the evidence for a node's single temporal variable.- Parameters:
node
- A node with a single temporal variable.destination
- The destination buffer which will be filled with the evidence values.destinationStart
- The position in the buffer to start copying.startTime
- The time to start copying from.count
- The number of evidence values to copy.
-
get
Double get(Node node)
Gets the hard evidence value for a particular node's variable, or returns null if theEvidenceType
equalsEvidenceType.NONE
orEvidenceType.SOFT
.- Parameters:
node
- A node with a single variable in question.- Returns:
- The evidence value for the node's variable, or null if the
EvidenceType
does not equalEvidenceType.HARD
.
-
get
Double get(Node node, Integer time)
Gets the evidence for a node with a single variable at the specified time.- Parameters:
node
- A node with a single variable.time
- The time to retrieve evidence for. Can be null.- Returns:
- The evidence. Can be null.
-
set
void set(Variable variable, Double value)
Sets a variable to a particular value (hard evidence).- Parameters:
variable
- The variable to set evidence on.value
- The value to set, or null to clear the evidence.
-
set
void set(Variable variable, Double value, Integer time)
Sets evidence on a variable at a specified time.- Parameters:
variable
- The variable to set evidence on.value
- The value to set, or null to clear the evidence.time
- The time at which to set evidence. Can be null.
-
set
void set(Node node, Double value, Integer time)
Sets evidence on a node's single variable at a specified time.- Parameters:
node
- A node with a single variable to set evidence on.value
- The value to set, or null to clear the evidence.time
- The time at which to set evidence. Can be null.
-
set
void set(Variable variable, Double[] source, int sourceStart, int startTime, int count)
Sets temporal evidence on a variable.- Parameters:
variable
- The variable to set evidence on.source
- The evidence values.sourceStart
- The position in [source] to start copying from.startTime
- The time to start copying at.count
- The number of values to copy.
-
set
void set(Node node, Double[] source, int sourceStart, int startTime, int count)
Sets temporal evidence on a node with a single variable.- Parameters:
node
- A node with a single variable to set evidence on.source
- The evidence values.sourceStart
- The position in [source] to start copying from.startTime
- The time to start copying at.count
- The number of values to copy.
-
set
void set(Node node, Double value)
Sets a node's variable to a particular value (hard evidence).- Parameters:
node
- A node with a single variable to set evidence on.value
- The value to set, or null to clear the evidence.
-
getStates
void getStates(Variable variable, double[] buffer)
Fills out a buffer containing the soft evidence for a particular variable. If the variable does not have soft evidence, the method will succeed, however it is better to use another version ofGet
. The resulting values will depend on the currentEvidenceType
for the variable:EvidenceType.NONE
- All values will equal 1.EvidenceType.HARD
- All values will equal 0, except at the hard evidence state, where the value will equal 1.EvidenceType.NONE
- The soft evidence values will be used.
- Parameters:
variable
- The variable to retrieve evidence for.buffer
- A buffer whose values are replaced with the current evidence.
-
getStates
void getStates(Node node, double[] buffer)
Fills out a buffer containing the soft evidence for a node with a single variable. If the variable does not have soft evidence, the method will succeed, however it is better to use another version ofGet
. The resulting values will depend on the currentEvidenceType
for the variable:EvidenceType.NONE
- All values will equal 1.EvidenceType.HARD
- All values will equal 0, except at the hard evidence state, where the value will equal 1.EvidenceType.NONE
- The soft evidence values will be used.
- Parameters:
node
- A node with a single variable to retrieve evidence for.buffer
- A buffer whose values are replaced with the current evidence.
-
getStates
void getStates(Variable variable, double[] buffer, Integer time)
Fills out a buffer containing the soft evidence for a particular variable at a specified time. If the variable does not have soft evidence, the method will succeed, however it is better to use another version ofGet
. The resulting values will depend on the currentEvidenceType
for the variable:EvidenceType.NONE
- All values will equal 1.EvidenceType.HARD
- All values will equal 0, except at the hard evidence state, where the value will equal 1.EvidenceType.NONE
- The soft evidence values will be used.
- Parameters:
variable
- The variable to retrieve evidence for.buffer
- A buffer whose values are replaced with the current evidence.time
- The time at which to retrieve evidence. Can be null. Used by Dynamic Bayesian networks.
-
getStates
void getStates(Node node, double[] buffer, Integer time)
Fills out a buffer containing the soft evidence for a node with a single variable at a specified time. If the variable does not have soft evidence, the method will succeed, however it is better to use another version ofGet
. The resulting values will depend on the currentEvidenceType
for the variable:EvidenceType.NONE
- All values will equal 1.EvidenceType.HARD
- All values will equal 0, except at the hard evidence state, where the value will equal 1.EvidenceType.NONE
- The soft evidence values will be used.
- Parameters:
node
- A node with a single variable to retrieve evidence for.buffer
- A buffer whose values are replaced with the current evidence.time
- The time at which to retrieve evidence. Can be null. Used by Dynamic Bayesian networks.
-
getStates
void getStates(Table table)
Fills out a table containing the soft evidence for a particular variable. If the variable does not have soft evidence, the method will succeed, however it is better to use another version ofGet
. The resulting values will depend on the currentEvidenceType
for the variable:EvidenceType.NONE
- All values will equal 1.EvidenceType.HARD
- All values will equal 0, except at the hard evidence state, where the value will equal 1.EvidenceType.NONE
- The soft evidence values will be used.
-
setStates
void setStates(Variable variable, double[] values)
Sets soft evidence for a particular discrete variable. If the evidence [values] are not actual soft evidence (e.g. {1, 0, 0} or {1, 1, 1} then the evidence will be stored correctly but theEvidenceType
will not beEvidenceType.SOFT
.- Parameters:
variable
- The variable to set evidence on.values
- An array of soft evidence values.
-
setStates
void setStates(Node node, double[] values)
Sets soft evidence for a discrete node with a single variable. If the evidence [values] are not actual soft evidence (e.g. {1, 0, 0} or {1, 1, 1} then the evidence will be stored correctly but theEvidenceType
will not beEvidenceType.SOFT
.- Parameters:
node
- The node with a single variable to set evidence on.values
- An array of soft evidence values.
-
setStates
void setStates(Variable variable, double[] values, Integer time)
Sets soft evidence for a particular discrete variable at a specified time. If the evidence [values] are not actual soft evidence (e.g. {1, 0, 0} or {1, 1, 1} then the evidence will be stored correctly but theEvidenceType
will not beEvidenceType.SOFT
.- Parameters:
variable
- The variable to set evidence on.values
- An array of soft evidence values.time
- The time at which to set evidence. Can be null. Used by Dynamic Bayesian networks.
-
setStates
void setStates(Node node, double[] values, Integer time)
Sets soft evidence for a discrete node with a single variable, at a specified time. If the evidence [values] are not actual soft evidence (e.g. {1, 0, 0} or {1, 1, 1} then the evidence will be stored correctly but theEvidenceType
will not beEvidenceType.SOFT
.- Parameters:
node
- The node with a single variable to set evidence on.values
- An array of soft evidence values.time
- The time at which to set evidence. Can be null. Used by Dynamic Bayesian networks.
-
-