solved-af — Solved Argumentation Framework
This repository contains the implementation of an argumentation framework solver to be submitted as part of the final year project (Bachelor Thesis) of David Simon Tetruashvili @ King's College London.
-
...is SAT-reduction based.
-
...is written in pure Python 3.
-
...supports both inputs formats defined in the ICCMA'19 specification (TGF, and APX).
-
...is capable of solving all classic track problems under the Dung's four main abstract argumentation semantics.
solved-af uses glucode-syrup SAT solver. glucode-syrup has to be installed in the PATH for solved-af to work out of the box.
It is possible to change the SAT solver command from within the source code via the SAT_COMMAND constant variable in saf/tasks.py provided that the new solver has similar DIMACS input/output formats.
Use the included install.sh script to install solved-af.
$ git clone https://github.kcl.ac.uk/K1764158/solved-af.git
$ cd solved-af
$ chmod +x ./install.sh && ./install.shUse the package manager pip to install solved-af.
$ git clone https://github.kcl.ac.uk/K1764158/solved-af.git
$ cd solved-af
$ pip install -e .solved-af follows the established ICCMA solver interface closely with the added option of input validation via the -v flag.
In contrast to other available AF solvers, solved-af is meant to be flexible, easy to understand and extend (albeit at the cost of performance). For example, here is how to use a reduction parser (TheoryParser) to reduce stable semantics to SAT and subsequently solve the full enumeration (EE-ST) task under it.
Included in this repository are some scripts used for running solved-af on a set of instances and comparing them to a set of reference results. Both of these data sets can be found here. These scripts rely on comp-exts-mpz (O. Rodrigues) and runsolver which are not included here.
Running ./run-tests.sh or ./run_decision_tests.sh without arguments shows usage messages.
The scripts will generate CSV files with the recorded data. They are compatible with any ICCMA interface compatible solver.




