Abstract Evaluation
The abstract evaluation feature allows you to compute extensions and labellings of an abstract argumentation framework (AF) using various semantics.
An argumentation framework is defined by:
- A set of arguments
- A set of attacks between arguments
The solver provides two main entry points:
abstract::solve/5
abstract::solve(Arguments, Attacks, I, O, U).- First parameter (
Arguments): list of arguments - Second parameter (
Attacks): list of attacks (pairs of arguments) - Third parameter (
I): the set of arguments labelled In - Fourth parameter (
O): the set of arguments labelled Out - Fifth parameter (
U): the set of arguments labelled Undecided
This version returns the computed labelling under the chosen semantics.
Usage Example
?- abstract::solve([a, b, c], [(a, b), (b, c)], I, O, U).
I = [c, a],
O = [b],
U = [].In this example, under grounded semantics:
- Arguments
aandcare In - Argument
bis Out - No argument is Undecided
abstract::solve/2
abstract::solve(Arguments, Attacks).This version does not return values directly. Instead, the argumentation graph can be inspected programmatically or using:
- The argument graph of the playground and of the extension of VS Code
Semantics Support
All standard semantics are supported. The evaluation mode can be configured via the argumentLabellingMode/1 flag. See the Flags Reference for the full list of accepted values.
Drawing a framework instead of writing one
In the Web Playground, a framework is a theory under the abstract
profile (graphBuildMode(abstract)., arguments a., attacks a -> b. and
a <-> b.), and it is drawn: add arguments and attacks on the canvas and the theory is written for you; pick a
semantics in the flags, solve, and the drawing is recoloured with the resulting labelling. Hovering or tapping an
argument tells its label, what attacks it and what it attacks. Frameworks are imported from APX, TGF and ICCMA'23
files, exported to APX and TGF, and shared as links:
try the framework above,
built from ?arguments=a,b,c&attacks=a-b,b-c. Both , and ; separate items, and an attack
may be written a-b or a>b; arguments mentioned only in attacks are added to the graph automatically.