T
- is the type of the language that the ABA theory's rules range overpublic class ABATheory<T extends Formula> extends java.lang.Object implements BeliefBase
Modifier and Type | Field and Description |
---|---|
private java.util.Collection<Assumption<T>> |
assumptions
The assumptions used in this theory wehen no explicit set of assumptions
is given
|
private java.util.Collection<Negation<T>> |
negations
The negation relation
|
private java.util.Collection<InferenceRule<T>> |
rules
The inference rules
|
Constructor and Description |
---|
ABATheory() |
Modifier and Type | Method and Description |
---|---|
void |
add(Formula rule) |
void |
addAssumption(T assumption) |
void |
addNegation(T formula,
T negation)
Adds a negation of form not formula = negation
|
DungTheory |
asDungTheory() |
(package private) boolean |
attacks(java.util.Collection<Assumption<T>> atters,
java.util.Collection<Assumption<T>> atteds) |
boolean |
attacks(Deduction<T> atter,
T atted) |
private Deduction<T> |
createDeduction(DigraphNode<ABARule<T>> node,
java.util.Set<Deduction<T>> set)
Recursively creates a deduction and all of its subdeductions
|
(package private) boolean |
defends(java.util.Collection<Assumption<T>> defor,
Assumption<T> defed)
Checks whether a set of arguments defends an argument
|
(package private) java.util.Collection<java.util.Collection<Assumption<T>>> |
getAllAdmissbleExtensions()
Computes all admissible extensions
|
(package private) java.util.Collection<java.util.Collection<Assumption<T>>> |
getAllConflictFreeExtensions()
Computes all context-free extensions
|
java.util.Collection<Deduction<T>> |
getAllDeductions() |
java.util.Collection<Deduction<T>> |
getAllDeductions(java.util.Collection<Assumption<T>> assumptions) |
(package private) java.util.Collection<java.util.Collection<Assumption<T>>> |
getAllExtensions()
Computes all possible extensions
|
java.util.Collection<Assumption<T>> |
getAssumptions() |
java.util.Collection<Assumption<T>> |
getClosure(java.util.Collection<Assumption<T>> assumptions)
A closure is the set of assumptions that can be derived from a set of
assumptions via inference rules
|
java.util.Collection<Negation<T>> |
getNegations() |
java.util.Collection<InferenceRule<T>> |
getRules() |
Signature |
getSignature()
Returns the signature of the language of this knowledge base.
|
(package private) boolean |
isAdmissible(java.util.Collection<Assumption<T>> ext)
Checks whether a set of arguments is admissible
|
boolean |
isClosed(java.util.Collection<Assumption<T>> assumptions)
A set of assumptions is closed iff it equals its closure
|
(package private) boolean |
isConflictFree(java.util.Collection<Assumption<T>> ext)
Checks whether a set of arguments is conflict-free
|
boolean |
isFlat()
An ABA theory is flat iff all subsets of its argumentation set are closed
|
boolean |
negates(T negation,
T formula) |
void |
setAssumptions(java.util.Collection<Assumption<T>> assumptions) |
private static <S> java.util.Collection<java.util.Collection<S>> |
toPowerSet(java.util.Collection<S> set)
Computes the power set of a collection
|
java.lang.String |
toString() |
private java.util.Collection<InferenceRule<T extends Formula>> rules
private java.util.Collection<Assumption<T extends Formula>> assumptions
public java.util.Collection<Deduction<T>> getAllDeductions()
public java.util.Collection<Deduction<T>> getAllDeductions(java.util.Collection<Assumption<T>> assumptions)
assumptions
- the set of assumptions used for the derivationprivate Deduction<T> createDeduction(DigraphNode<ABARule<T>> node, java.util.Set<Deduction<T>> set)
node
- set
- public java.util.Collection<Assumption<T>> getClosure(java.util.Collection<Assumption<T>> assumptions)
assumptions
- a set of assumptionspublic boolean isClosed(java.util.Collection<Assumption<T>> assumptions)
assumptions
- a set of assumptionspublic boolean isFlat()
private static <S> java.util.Collection<java.util.Collection<S>> toPowerSet(java.util.Collection<S> set)
set
- a collectionpublic void add(Formula rule)
rule
- an assumption or an inference rule or a negation that is added to the theorypublic void addAssumption(T assumption)
assumption
- a formula that is used as an assumption in the theorypublic void addNegation(T formula, T negation)
formula
- a formulanegation
- it's complementpublic boolean attacks(Deduction<T> atter, T atted)
atter
- the attacking deductionatted
- the attacked assumptionpublic java.util.Collection<InferenceRule<T>> getRules()
public java.util.Collection<Assumption<T>> getAssumptions()
public void setAssumptions(java.util.Collection<Assumption<T>> assumptions)
assumptions
- the assumptions to setboolean attacks(java.util.Collection<Assumption<T>> atters, java.util.Collection<Assumption<T>> atteds)
boolean defends(java.util.Collection<Assumption<T>> defor, Assumption<T> defed)
defor
- the defending setdefed
- the assumption which shall be defendedboolean isConflictFree(java.util.Collection<Assumption<T>> ext)
ext
- a set of argumentsjava.util.Collection<java.util.Collection<Assumption<T>>> getAllExtensions()
java.util.Collection<java.util.Collection<Assumption<T>>> getAllConflictFreeExtensions()
boolean isAdmissible(java.util.Collection<Assumption<T>> ext)
ext
- the setjava.util.Collection<java.util.Collection<Assumption<T>>> getAllAdmissbleExtensions()
public Signature getSignature()
BeliefBase
getSignature
in interface BeliefBase
public DungTheory asDungTheory()
public java.lang.String toString()
toString
in interface BeliefBase
toString
in class java.lang.Object