conflictfree

Labelling · Kotlin object ConflictFreeModule · library prolog.argumentation.graph.labelling.conflictfree

The conflict-free labellings (module conflictfree, an argumentLabellingMode): a set of arguments IN, none attacking another one, those they attack OUT and the rest UND. The other semantics take from it the arguments to label and the labelling of a set.

PredicateDescription
locality/1Query mode: the label of an argument only depends on the arguments it depends on (directionality)
argumentLabelling/0Each conflict-free labelling in turn, left as the active context
candidates/2The arguments to label, and those among them already IN (kept IN)
labelSet/2In a new branch of Branch, Set IN, the arguments it attacks OUT, the rest UND; the branch is released on backtracking
conflictFreeSubset/3The subsets of Args including Forced where no argument attacks another one (itself included), each once
newLabelling/2In a new branch of Branch (left active), the arguments of Ids IN, the unlabelled arguments attacked by an IN one OUT, and the other unlabelled ones UND, asserted with a single context_assert_all

locality/1

locality(-Locality)

Query mode: the label of an argument only depends on the arguments it depends on (directionality)

argumentLabelling/0

argumentLabelling

Each conflict-free labelling in turn, left as the active context.

candidates/2

candidates(-Args, -Forced)

The arguments to label, and those among them already IN (kept IN)

labelSet/2

labelSet(+Branch, +Set)

In a new branch of Branch, Set IN, the arguments it attacks OUT, the rest UND; the branch is released on backtracking

conflictFreeSubset/3

conflictFreeSubset(+Args, +Forced, -Set)

Native primitive.

The subsets of Args including Forced where no argument attacks another one (itself included), each once. The search only adds arguments compatible with those already chosen, so every branch ends in a solution: the cost grows with the number of sets, not with the subsets of Args.

newLabelling/2

newLabelling(+Branch, +Ids)

Native primitive.

In a new branch of Branch (left active), the arguments of Ids IN, the unlabelled arguments attacked by an IN one OUT, and the other unlabelled ones UND, asserted with a single context_assert_all