In this practical, we will implement some semantics to work with argumentation graphs.

Step 1: Extension-based semantics

  1. Implement a function that parses a file in ASPARTIX format and outputs the grounded, admissible, preferred extensions, complete, stable, semi-stable, and ideal extensions.

  2. Use the ASPARTIX file obtained in Practical 1&2 and try you functions. If you did not manage to generate the arguments and defeats, you can use the file below. What are the justified conclusions for each semantics?

    ASPARTIX_sample.txt

  3. [BONUS] Generate random graphs of varying size and save them in ASPARTIX format. Use the clingo solvers (https://www.dbai.tuwien.ac.at/research/argumentation/aspartix/dung.html) to generate the extensions. Compare the time difference with your approaches.

Step 2: Ranking-based semantics

  1. Implement the h-categoriser semantics which gives a degree score for each argument using the equation below. The function should assign an initial score of 1 to each argument and iterate (using the equation below) until the scores of all arguments converge (using a parameter $\varepsilon > 0$).

    $$ Deg(a) = \frac{1}{1+ \sum\limits_{b \in Att(a)} Deg(b)} $$

  2. What is the ranking between arguments? Compare the conclusions of the best arguments with the justified conclusions obtained in Step 1.

Step 3: Dialogues

  1. Implement a function to model dialogues for the following semantics. The user (acting as PRO) will be assisted and their possible actions will be displayed. ****
    1. Grounded semantics
    2. Skeptical preferred semantics