pygarg is a Python implementation of SAT-based techniques for abstract argumentation. It is based on CoQuiAAS, with all calls to SAT solvers using the pysat API.
Based on the command-line interface of the ICCMA competitions, it can solve the problems XX-YY with:
XX in [‘DC’, ‘DS’, ‘SE’, ‘EE’, ‘CE’] standing for credulous acceptability, skeptical acceptability, computing some extension, enumerating extensions and counting extensions;
and YY in [‘CF’, ‘AD’, ‘ST’, ‘CO’, ‘PR’, ‘GR’, ‘ID’, ‘SST’] standing for conflict-freeness, admissibility, stable semantics, complete semantics, preferred semantics, grounded semantics and semi-stable semantics.
pygarg can be installed thanks to the Python Package Index:
pip install pygarg
See (Mailly, 2024) or the GitHub repository for more details on how to use pygarg, via the command-line or as a library in your own Python script.
Recent advancements in algorithms for abstract argumentation make it possible now to solve reasoning problems even with argumentation frameworks of large size, as demonstrated by the results of the various editions of the International Competition on Computational Models of Argumentation (ICCMA). However, the solvers participating to the competition may be hard to use for non-expert programmers, especially if they need to incorporate these algorithms in their own code instead of simply using the command-line interface. Moreover, some ICCMA solvers focus on the ICCMA tracks, and do not implement algorithms for other problems. In this paper we describe pygarg, a Python implementation of the SAT-based approach used in the argumentation solver CoQuiAAS. Contrary to CoQuiAAS and most of the participants to the various editions of ICCMA, pygarg incorporates all problems that have been considered in the main track of any edition of ICCMA. We show how to easily use pygarg via a command-line interface inspired by ICCMA competitions, and then how it can be used in other Python scripts as a third-party library.
Recent advancements in algorithms for abstract argumentation make it possible now to solve reasoning problems even with argumentation frameworks of large size, as demonstrated by the results of the various editions of the International Competition on Computational Models of Argumentation (ICCMA). However, the solvers participating to the competition may be hard to use for non-expert programmers, especially if they need to incorporate these algorithms in their own code instead of simply using the command-line interface. In this paper we described pygarg, a Python implementation of the SAT-based approach used in the argumentation solver CoQuiAAS. Contrary to CoQuiAAS and most of the participants to the various editions of ICCMA, pygarg is made to be easy to use even for non-expert programmers. We show how to easily use pygarg in other Python scripts as a third-party library before experimentally demonstrating that it can be used in practice to solve large instances.