Class ScreenedRemainderSets
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractSet<E>
-
- java.util.HashSet<java.util.Collection<T>>
-
- net.sf.tweety.lp.asp.beliefdynamics.baserevision.RemainderSets<ASPRule>
-
- net.sf.tweety.lp.asp.beliefdynamics.baserevision.ScreenedRemainderSets
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.lang.Iterable<java.util.Collection<ASPRule>>
,java.util.Collection<java.util.Collection<ASPRule>>
,java.util.Set<java.util.Collection<ASPRule>>
public class ScreenedRemainderSets extends RemainderSets<ASPRule>
This class represents the set of Screened Consistent Remainder Sets as defined in [1]. A screened remainder set X of P regarding a set of sentences R \subseteq P is a set X s.t. (1) R \subseteq X \subseteq P, (2) X is consistent and (3) there is no proper superset X' of X in P that is also consistent. [1] Kruempelmann, Patrick und Gabriele Kern-Isberner: Belief Base Change Operations for Answer Set Programming. In: Cerro, Luis Farinas, Andreas Herzig und Jerome Mengin (Herausgeber): Proceedings of the 13th European conference on Logics in Artificial Intelligence, Band 7519, Seiten 294-306, Toulouse, France, 2012. Springer Berlin Heidelberg.- Author:
- Sebastian Homann
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ScreenedRemainderSets(Program p, Program r, ASPSolver solver)
Creates a new set of screened remainder sets of program p that all contain the screened rules r.
-
Method Summary
Modifier and Type Method Description java.util.Collection<Program>
asPrograms()
Returns this set of remainder sets as a collection of programs where each program contains exactly the rules of one remainder set.private java.util.Set<Program>
calculateRemainderSetCandidates(Program p)
Recursively calculates consistent subsets of p.Program
getScreen()
Returns the screened rules that are contained in every remainder set.Program
getSourceBeliefBase()
Returns the original program p for which this set represents the set of remainder sets.private boolean
isConsistent(Program p)
private boolean
isProperSubset(Program p, Program q)
Returns true iff program p is a proper (strict) subset of program qstatic void
main(java.lang.String[] args)
Simple test case taken from [1]-
Methods inherited from class java.util.HashSet
add, clear, clone, contains, isEmpty, iterator, remove, size, spliterator
-
Methods inherited from class java.util.AbstractCollection
addAll, containsAll, retainAll, toArray, toArray, toString
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
program
private Program program
-
screen
private Program screen
-
solver
private ASPSolver solver
-
-
Constructor Detail
-
ScreenedRemainderSets
public ScreenedRemainderSets(Program p, Program r, ASPSolver solver)
Creates a new set of screened remainder sets of program p that all contain the screened rules r. An asp-solver is used to calculate the consistency of remainder set candidates.- Parameters:
p
- an asp-program for which the screened remainder sets are calculatedr
- an asp-program representing the set of rules, that have to be contained in every remainder set. Has to be a subset of psolver
- an asp-solver
-
-
Method Detail
-
getSourceBeliefBase
public Program getSourceBeliefBase()
Returns the original program p for which this set represents the set of remainder sets.- Specified by:
getSourceBeliefBase
in classRemainderSets<ASPRule>
- Returns:
- an elp program.
-
getScreen
public Program getScreen()
Returns the screened rules that are contained in every remainder set.- Returns:
- an elp program.
-
isProperSubset
private boolean isProperSubset(Program p, Program q)
Returns true iff program p is a proper (strict) subset of program q- Parameters:
p
- a programq
- another program- Returns:
- true iff program p is a proper (strict) subset of program q
-
calculateRemainderSetCandidates
private java.util.Set<Program> calculateRemainderSetCandidates(Program p)
Recursively calculates consistent subsets of p. This is slightly faster than bruteforce calculating all possible combinations, as consistent subsets are pruned.- Parameters:
p
- a program- Returns:
- consistent subsets of p
-
isConsistent
private boolean isConsistent(Program p)
-
asPrograms
public java.util.Collection<Program> asPrograms()
Returns this set of remainder sets as a collection of programs where each program contains exactly the rules of one remainder set.- Returns:
- a collection of programs.
-
main
public static void main(java.lang.String[] args) throws ParseException
Simple test case taken from [1]- Parameters:
args
- some arguments- Throws:
ParseException
- if parsing failed
-
-