Class RelationalRankingFunction
- java.lang.Object
-
- net.sf.tweety.commons.AbstractInterpretation<RclBeliefSet,RelationalConditional>
-
- net.sf.tweety.logics.rcl.semantics.RelationalRankingFunction
-
- All Implemented Interfaces:
Interpretation<RclBeliefSet,RelationalConditional>
public class RelationalRankingFunction extends AbstractInterpretation<RclBeliefSet,RelationalConditional>
A relational ranking function (or relational ordinal conditional function, ROCF) that maps Herbrand interpretations to integers.
See W. Spohn. Ordinal conditional functions: a dynamic theory of epistemic states. In W.L. Harper and B. Skyrms, editors, Causation in Decision, Belief Change, and Statistics, II, pages 105-134. Kluwer Academic Publishers, 1988.
See also [Kern-Isberner,Thimm, "A Ranking Semantics for Relational Defaults", in preparation].- Author:
- Matthias Thimm
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.Integer
INFINITY
Integer used to define infinity.
-
Constructor Summary
Constructors Constructor Description RelationalRankingFunction(FolSignature signature)
Creates a new ranking function mapping each given interpretation to zero.
-
Method Summary
Modifier and Type Method Description java.util.Set<HerbrandInterpretation>
getPossibleInterpretations()
Returns all interpretations that are mapped to a rank unequal to INFINITY.void
normalize()
Normalizes this OCF, i.e.java.lang.Integer
numFalsifiedInstances(HerbrandInterpretation w, RelationalConditional rc)
Returns the number of instances of "rc" that are falsified by the given interpretation.java.lang.Integer
numVerifiedInstances(HerbrandInterpretation w, RelationalConditional rc)
Returns the number of instances of "rc" that are verified by the given interpretation.java.lang.Integer
rank(HerbrandInterpretation w)
Gets the rank of the given Herbrand interpretation.java.lang.Integer
rank(FolFormula formula)
Gets the rank of the given sentence (ground formula).boolean
satisfies(RclBeliefSet beliefBase)
Checks whether this interpretation satisfies the given knowledge base.boolean
satisfies(RelationalConditional formula)
Checks whether this interpretation satisfies the given formula.void
setRank(HerbrandInterpretation w, java.lang.Integer value)
Sets the rank for the given Herbrand interpretation.java.lang.String
toString()
-
Methods inherited from class net.sf.tweety.commons.AbstractInterpretation
satisfies
-
-
-
-
Constructor Detail
-
RelationalRankingFunction
public RelationalRankingFunction(FolSignature signature)
Creates a new ranking function mapping each given interpretation to zero.- Parameters:
signature
- the signature of the language this ranking function is defined on.
-
-
Method Detail
-
rank
public java.lang.Integer rank(HerbrandInterpretation w) throws java.lang.IllegalArgumentException
Gets the rank of the given Herbrand interpretation.- Parameters:
w
- a Herbrand interpretation.- Returns:
- the rank of the given Herbrand interpretation.
- Throws:
java.lang.IllegalArgumentException
- if the given Herbrand interpretation has no rank in this ranking function.
-
setRank
public void setRank(HerbrandInterpretation w, java.lang.Integer value)
Sets the rank for the given Herbrand interpretation.- Parameters:
w
- a Herbrand interpretation.value
- the rank for the Herbrand interpretation.
-
rank
public java.lang.Integer rank(FolFormula formula) throws java.lang.IllegalArgumentException
Gets the rank of the given sentence (ground formula). Throws an IllegalArgumentException when the language of the formula does not correspond to the language of the interpretations this ranking function is defined on or the formula is not a sentence. Otherwise the rank of a formula is defined as the minimal rank of its satisfying interpretations.- Parameters:
formula
- a formula.- Returns:
- the rank of the given formula.
- Throws:
java.lang.IllegalArgumentException
- if the languages of the formula does not correspond to the language of the interpretations this ranking function is defined on or the formula is not a sentence.
-
satisfies
public boolean satisfies(RelationalConditional formula) throws java.lang.IllegalArgumentException
Description copied from interface:Interpretation
Checks whether this interpretation satisfies the given formula.- Parameters:
formula
- a formula .- Returns:
- "true" if this interpretation satisfies the given formula.
- Throws:
java.lang.IllegalArgumentException
- if the formula does not correspond to the expected language.
-
satisfies
public boolean satisfies(RclBeliefSet beliefBase) throws java.lang.IllegalArgumentException
Description copied from interface:Interpretation
Checks whether this interpretation satisfies the given knowledge base.- Parameters:
beliefBase
- a knowledge base.- Returns:
- "true" if this interpretation satisfies the given knowledge base.
- Throws:
java.lang.IllegalArgumentException
- IllegalArgumentException if the knowledgebase does not correspond to the expected language.
-
normalize
public void normalize()
Normalizes this OCF, i.e. appropriately shifts the ranks such that the minimal rank equals zero.
-
getPossibleInterpretations
public java.util.Set<HerbrandInterpretation> getPossibleInterpretations()
Returns all interpretations that are mapped to a rank unequal to INFINITY.- Returns:
- all interpretations that are mapped to a rank unequal to INFINITY.
-
numFalsifiedInstances
public java.lang.Integer numFalsifiedInstances(HerbrandInterpretation w, RelationalConditional rc)
Returns the number of instances of "rc" that are falsified by the given interpretation.- Parameters:
w
- a Herbrand interpretation.rc
- a relational conditional.- Returns:
- the number of instances of "rc" that are falsified by the given interpretation.
-
numVerifiedInstances
public java.lang.Integer numVerifiedInstances(HerbrandInterpretation w, RelationalConditional rc)
Returns the number of instances of "rc" that are verified by the given interpretation.- Parameters:
w
- a Herbrand interpretation.rc
- a relational conditional.- Returns:
- the number of instances of "rc" that are verified by the given interpretation.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-