public class RpclProbabilityDistribution<T extends Interpretation<FolBeliefSet,FolFormula>> extends AbstractInterpretation<RpclBeliefSet,RelationalProbabilisticConditional> implements java.util.Map<T,Probability>
Modifier and Type | Field and Description |
---|---|
private java.util.Map<T,Probability> |
probabilities
The probabilities of the interpretations.
|
private RpclSemantics |
semantics
The semantics used for this probability distribution.
|
private FolSignature |
signature
The used FOL signature
|
Constructor and Description |
---|
RpclProbabilityDistribution(RpclSemantics semantics,
FolSignature signature)
Creates a new probability distribution for the given signature.
|
Modifier and Type | Method and Description |
---|---|
void |
clear() |
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
RpclProbabilityDistribution<T> |
convexCombination(double d,
RpclProbabilityDistribution<T> other)
Computes the convex combination of this P1 and the
given probability distribution P2 with parameter d, i.e.
|
double |
entropy()
Returns the entropy of this probability distribution.
|
java.util.Set<java.util.Map.Entry<T,Probability>> |
entrySet() |
Probability |
get(java.lang.Object key) |
RpclSemantics |
getSemantics()
Returns the semantics of this distribution.
|
Signature |
getSignature()
Returns the signature of the underlying language.
|
static RpclProbabilityDistribution<HerbrandInterpretation> |
getUniformDistribution(RpclSemantics semantics,
FolSignature signature)
Returns the uniform distribution on the given signature.
|
boolean |
isEmpty() |
java.util.Set<T> |
keySet() |
Probability |
probability(FolFormula f)
Gets the probability of the given closed formula, i.e.
|
Probability |
probability(RelationalConditional re)
Gets the probability of the given closed relational conditional "re", i.e.
|
Probability |
put(T key,
Probability value) |
void |
putAll(java.util.Map<? extends T,? extends Probability> m) |
Probability |
remove(java.lang.Object key) |
boolean |
satisfies(RelationalProbabilisticConditional formula)
Checks whether this interpretation satisfies the given formula.
|
boolean |
satisfies(RpclBeliefSet kb)
Checks whether this interpretation satisfies the given knowledge base.
|
int |
size() |
java.lang.String |
toString() |
java.util.Collection<Probability> |
values() |
satisfies
private java.util.Map<T extends Interpretation<FolBeliefSet,FolFormula>,Probability> probabilities
private RpclSemantics semantics
private FolSignature signature
public RpclProbabilityDistribution(RpclSemantics semantics, FolSignature signature)
signature
- a fol signature.public RpclSemantics getSemantics()
public boolean satisfies(RelationalProbabilisticConditional formula) throws java.lang.IllegalArgumentException
Interpretation
satisfies
in interface Interpretation<RpclBeliefSet,RelationalProbabilisticConditional>
formula
- a formula .java.lang.IllegalArgumentException
- if the formula does not correspond
to the expected language.public boolean satisfies(RpclBeliefSet kb) throws java.lang.IllegalArgumentException
Interpretation
satisfies
in interface Interpretation<RpclBeliefSet,RelationalProbabilisticConditional>
kb
- a knowledge base.java.lang.IllegalArgumentException
- IllegalArgumentException if the knowledgebase does not correspond
to the expected language.public Probability probability(FolFormula f)
f
- a closed fol formula.public Probability probability(RelationalConditional re)
re
- a closed relational conditional.public double entropy()
public RpclProbabilityDistribution<T> convexCombination(double d, RpclProbabilityDistribution<T> other)
d
- a doubleother
- a probability distributionjava.lang.IllegalArgumentException
- if either d is not in [0,1] or this and
the given probability distribution are not defined on the same set of interpretations.public static RpclProbabilityDistribution<HerbrandInterpretation> getUniformDistribution(RpclSemantics semantics, FolSignature signature)
semantics
- the semantics for the distribution.signature
- a fol signaturepublic java.lang.String toString()
toString
in class java.lang.Object
public void clear()
clear
in interface java.util.Map<T extends Interpretation<FolBeliefSet,FolFormula>,Probability>
public boolean containsKey(java.lang.Object key)
containsKey
in interface java.util.Map<T extends Interpretation<FolBeliefSet,FolFormula>,Probability>
public boolean containsValue(java.lang.Object value)
containsValue
in interface java.util.Map<T extends Interpretation<FolBeliefSet,FolFormula>,Probability>
public java.util.Set<java.util.Map.Entry<T,Probability>> entrySet()
entrySet
in interface java.util.Map<T extends Interpretation<FolBeliefSet,FolFormula>,Probability>
public Probability get(java.lang.Object key)
get
in interface java.util.Map<T extends Interpretation<FolBeliefSet,FolFormula>,Probability>
public boolean isEmpty()
isEmpty
in interface java.util.Map<T extends Interpretation<FolBeliefSet,FolFormula>,Probability>
public Probability put(T key, Probability value)
put
in interface java.util.Map<T extends Interpretation<FolBeliefSet,FolFormula>,Probability>
public void putAll(java.util.Map<? extends T,? extends Probability> m)
putAll
in interface java.util.Map<T extends Interpretation<FolBeliefSet,FolFormula>,Probability>
public Probability remove(java.lang.Object key)
remove
in interface java.util.Map<T extends Interpretation<FolBeliefSet,FolFormula>,Probability>
public int size()
size
in interface java.util.Map<T extends Interpretation<FolBeliefSet,FolFormula>,Probability>
public java.util.Collection<Probability> values()
values
in interface java.util.Map<T extends Interpretation<FolBeliefSet,FolFormula>,Probability>
public java.util.Set<T> keySet()
keySet
in interface java.util.Map<T extends Interpretation<FolBeliefSet,FolFormula>,Probability>
public Signature getSignature()