=Paper=
{{Paper
|id=Vol-1672/paper_4
|storemode=property
|title=SESAME - A System for Specifying Semantics in Abstract Argumentation
|pdfUrl=https://ceur-ws.org/Vol-1672/paper_4.pdf
|volume=Vol-1672
|authors=Philippe Besnard,Sylvie Doutre,Van Hieu Ho,Dominique Longin
|dblpUrl=https://dblp.org/rec/conf/comma/BesnardDHL16
}}
==SESAME - A System for Specifying Semantics in Abstract Argumentation==
S ESAME – A System for Specifying Semantics in Abstract Argumentation Philippe BESNARD a , Sylvie DOUTRE b,1 , Van Hieu HO c and Dominique LONGIN a a IRIT, CNRS b IRIT, University of Toulouse 1 c IRIT, University of Toulouse 3 Abstract. This is a report on an implemented system that allows the user to specify an argumentation semantics and that returns a logical encoding in the form of a pa- rameterized propositional formula. When applied to a subset S of a given argumen- tation graph G, the instantiated formula is satisfiable if and only if S is an extension for G according to the argumentation semantics specified by the user. Keywords. Abstract argumentation, argumentation semantics, logical encoding. 1. Introduction This paper is a report on S ESAME (SEmantics Specification for Abstract arguMEntation), a system that allows the user to specify an argumentation semantics and that returns a logical encoding in the form of a parameterized propositional formula [1]. When applied to a given argumentation graph G = (A , R), for S ✓ A , the instantiated formula is satisfiable if and only if S is an extension for G according to the argumentation semantics specified by the user. The principle of such an encoding was introduced in [1] (see also [2,3], see [4] for an ASP variant) where a propositional formula s(A ,R),S is defined that turns out to be satisfiable if and only if S is a s -extension of the argumentation graph (A , R). That is, the formula s(A ,R),S encodes the argumentation semantics s . Let us consider e.g. the stable semantics [5] and construct s(A ,R),S for s = stable. Definition 1. Given an argumentation graph G = (A , R), a stable extension S ✓ A is a set that satisfies the following two conditions: 1. there does not exist two arguments a and b in S such that aRb; 2. for each argument a 62 S, there exists b 2 S such that bRa. That a set of arguments S satisfies the first condition amounts to: for all a in S, for all b attacking a, it is not the case that b is in S. In symbols, 8a 2 S 8bRa b 62 S 1 Corresponding Author: Sylvie Doutre, University of Toulouse 1, Toulouse, France; E-mail: sylvie.doutre@irit.fr. 40 The statement b 2 S can be encoded2 through identifying b with a propositional symbol (letting the propositional symbol b to be read “b is in S”), hence an encoding for the statement that S satisfying condition 1. is ^ ^ ¬b (1) a2S bRa As to the second condition for S to be a stable extension, it can be expressed by: for all a in A , if a is not in S then there exists some b attacking a such that b is in S. ✓ ◆ 8a 2 A a 62 S ) 9bRa b 2 S The statement b 2 S is again to be encoded via identifying b with a propositional symbol, and, similarly, a 2 S is encoded as a. Hence, an encoding for the statement that S satisfies condition 2. is ✓ ◆ ^ _ ¬a ! b (2) a2A bRa Conjoining (1) and (2), we obtain a subformula (of s(A ,R),S ) expressing that S meets conditions 1. and 2. for being a stable extension: ! ✓ ◆! ^ ^ ^ _ ¬b ^ ¬a ! b (3) a2S bRa a2A bRa There remains to introduce the set FS of literals expressing that all elements of S are in S and that all elements not in S fail to be in S, as follows def FS = {a | a 2 S} [ {¬a | a 2 A \ S} and all this leads us to a formula encoding stable extensions: ! ✓ ◆! ^ ^ ^ _ ^ s(A ,R),S = ¬b ^ ¬a ! b ^ FS (4) a2S bRa a2A bRa Thus, the system requires the user to input an argumentation V semantics as a combination of principles (see [6] for the notion) —excluding FS which is transparent to the user. Notation. Quantifying over attacks relative to an argument can easily be turned into quantifying over membership in R+ (·) and R (·) according to the next definition: def R+ (a) = {b 2 A | aRb}; def R (a) = {b 2 A | bRa}. Actually, the formula encoding stable extensions can be rewritten in many ways, e.g. s(A ,R),S = 0 1 0 1 ^ ^ ^ _ ^ @a ^ ¬bA ^ @¬a ! bA ^ {¬a | a 2 A \ S} (5) a2S b2R (a) a2A b2R (a) 2 Logical encoding of a statement “the argument b is in the set X” is denoted j (b2X) in [3] for genericity. 41 2. Logical Encoding of Argumentation Semantics For a given semantics, s(A ,R),S represents a class of formulas each of which is induced from s(A ,R),S by considering a particular argumentation graph (A , R) and S ✓ A . It just takes to unfold s(A ,R),S according to the actual values taken by A , R and S. Example 1. As to s =stable, for A = {d, e, f } with {eR f , f Rd, f R f } (see Figure 1), for the case S = {d, e} which is a stable extension, instantiating s(A ,R),S (using the version of Equation (5) for readability reasons) yields the satisfiable formula: ! ! V V V W a^ ¬b ¬a ! b V {¬a | a 2 A \S} a2S b2R (a) a2A b2R (a) z⇣ }| ⌘{ z⇣ }| ⌘{ z⇣ }| ⌘{ (d ^ ¬ f ) ^ (e ^ >) ^ ¬d ! f ^ ¬e ! ? ^ ¬ f ! (e _ f ) ^ ¬ f V where > (resp. ?) results from the empty conjunction ¬b (resp. the empty dis- b2R (e) W junction b) because no argument in A attacks e. b2R (e) e f d Figure 1. The argumentation graph (A , R) of Example 1 In s(A ,R),S , all the atomic formulas encode a statement of the form “the argument a is in the set X” where a is a variable denoting an argument of A and X is a variable denoting a subset of A . These are the only primitive statements that can appear in the semantics specified by the user. In the semantics s , such statements can be conjuncted, negated, etc, arguments can be quantified over, sets of arguments can be maximized, etc. Most importantly, S denotes a distinguished set: S denotes the subset of A to be tested for being a s -extension. 3. Introducing the System The main step in specifying an argumentation semantics via S ESAME is developing a decomposition tree (from the grammar given in Section 3.1). This can be done by the user, by clicking upon the buttons in the left part of the screen (they are called development buttons – see Figure 2). When the user clicks upon one of these buttons, the current non-terminal3 is expanded according to the derivation labelling the button. As an illustration, when the user clicks upon the button hprinciplei, a scroll menu is displayed that indicates what chains are available to replace hprinciplei, namely “it isn’t the case that hprinciplei” or “hprinciplei and hprinciplei” or . . . (see Figure 3). After the user has selected her choice, the system updates the current expression (in semi-natural language) of the decomposition tree displayed in the main white frame. The formula4 to be generated (it is displayed in the lower white frame) is duly updated. 3 The non-terminals are the phrases enclosed between h and i (see the grammar). 4 It is rather a pseudo-formula containing items such as hprinciplei as long as the user is not finished with specifying the argumentation semantics of hers. 42 Figure 2. The home screen Figure 3. The principle ‘It is not the case that’ is selected 43 Figure 4. After a principle has been selected, the corresponding formula (lower white frame) is updated For example, “it is not the case that hprinciplei” gives rise to the formula ¬ hprinciplei (see Figure 4) and “hprinciplei and hprinciplei” gives rise to hprinciplei ^ hprinciplei. Assume for example that the current non-terminal is hclassical-principlei. As the user clicks upon the development button labelled hclassical-principlei, a scroll menu is displayed (see Figure 7) which indicates that hclassical-principlei can be replaced by “hseti is conflict-free” or “hseti satisfies admissibility” or “hseti satisfies reinstatement”. After choosing one of these three options, the user will eventually have to specify hseti by clicking upon the development button labelled hseti (see Figure 2) etc. 3.1. Grammar The range of argumentation semantics that the user can specify is given by means of the grammar below. Moreover, the way the user can specify an argumentation semantics is constrained as discussed in Section 2: The grammar only accepts primitive statements of (non-)membership in X for some variable X denoting a set of arguments. An example is for all a and b such that aRb, if a is in S then b is not in S. A counter-example is the same semantics, when expressed as follows: for all a in S, if b is in S then aRb fails. The latter does not conform with the grammar since it resorts to a statement (i.e. aRb) that fails to be a membership statement as required.5 Let us repeat that all the primitive 5 Even when aRb is expressed as b 2 R+ (a) or as a 2 R (b) because neither R+ (a) nor R (b) is a variable. 44 Figure 5. The principle ‘classical-principle’ is selected statements to be encoded must be of the kind a is in X where a is a variable referring to an argument and X is either A or S or a variable referring to a subset of the arguments. hsemanticsi ::= hprinciplei hprinciplei ::= hclassical-principlei | ¬ hprinciplei | hprinciplei hoperatori hprinciplei | hattack-quantificationi hprinciplei | hmembership-quantificationi hprinciplei | hinclusion-quantificationi hprinciplei | hargumenti 2 hseti hclassical-principlei ::= hseti is conflict-free | hseti satisfies admissibility | hseti satisfies reinstatement hattack-quantificationi ::= hquantifieri hargumenti ¬ hargumenti hmembership-quantificationi ::= hquantifieri hargumenti 2 hseti hinclusion-quantificationi ::= hquantifieri hseti ✓ hseti hoperatori ::= ^ | _ | ! V W hquantifieri ::= | hseti ::= A | S | S1 | S2 | . . . hargumenti ::= a | b | c | . . . | x | y | z A and S are parameters, all the other non-logical terminals in the grammar are variables: a, b,. . . , y, z, S1 , S2 ,. . . In particular, a, b, . . . , y, z is not a list of arguments of A . 45 Figure 6. A classical-principle must be chosen The user is to input her argumentation semantics by clicking upon development buttons so as to construct a decomposition tree for the grammar. Assume e.g. that the user is to define the principle that every self-attacking argument is attacked by an argument of S. principle attack principle quantif ication attack principle quant argu ¬ argu quantif ifier ment ment ication argu 2 set V ment a a S quant argu ¬ argu b ifier ment ment W b a V W This decomposition tree (not visible by the user!) produces the formula a¬a b¬a j(b2S) and corresponds to an appropriate sequence of clicking upon development buttons: 46 development button choice from the scroll menu 1. hprinciplei ! for all hquantified-uponi, hprinciplei 2. hquantified-uponi ! hargumenti ¬ hargumenti 3. hargumenti ! a 4. hargumenti ! a At this point the current output is: development button choice from the scroll menu 5. hprinciplei ! there exists hquantified-uponi such that hprinciplei 6. hquantified-uponi ! hargumenti ¬ hargumenti 7. hargumenti ! b 8. hargumenti ! a At this point the current output is: 47 development button choice from the scroll menu 9. hprinciplei ! hargumenti 2 hdomaini 10. hargumenti ! b 11. hdomaini ! hseti 12. hseti ! S At this point the output is final: s(A ,R),S (where j(b2S) encodes the statement “b is in S”, see footnote 2) is the formula:6 ^ _ ^ j(b2S) ^ FS a¬a b¬a 4. Features of the System 4.1. Scroll Menus for Development Buttons As development buttons correspond to non-terminals of the grammar, the items in the scroll menu attached to the button are the grammar rule(s) expanding the non-terminal. For instance, the scroll menu for hargumenti displays the list a, b, . . . , y, z and the scroll menu for hseti displays an initial series of the list S1 , S2 , . . . Also, the scroll menu for hclassical-principlei displays three items (see Figure 7). As an exception, not all options in the scroll menu for hprinciplei are grammar rules expanding hprinciplei. The extra options can be viewed as macros explicited in order to help the user. For instance, the grammar allows the user to specify that a subset of A is maximal for satisfying hprinciplei. A casual user is not expected to figure out how to express this through the grammar. So, the scroll menu for hprinciplei includes the items: 6 Let us repeat thatV FS is not part of the user’s specification. Moreover, following the generic notation, FS = {j(a2S) | a 2 S} [ {¬j(a2S) | a 2 A \ S}. 48 Figure 7. A classical-principle is being chosen hseti is maximal wrt hprinciplei hseti is minimal wrt hprinciplei hseti is the intersection of all subsets of A that satisfy hprinciplei The grammar allows the user to specify ¬+ (a) ✓ ¬ (b)[(A \S) and other set-inclusion statements but only in a convoluted way. The system is to alleviate the burden on the user by providing her with appropriate items. Hence the scroll menu for hprinciplei includes: hcomplex-seti is a subset of hcomplex-seti This is why there is a development button labelled hcomplex-seti whose scroll menu is: hdomaini A \ hcomplex-seti hcomplex-seti [ hcomplex-seti hcomplex-seti \ hcomplex-seti and there is a development button labelled hdomaini whose scroll menu displays: hseti ¬+ hargumenti ¬ hargumentti Also, the scroll menu for hprinciplei factors the three cases hattack-quantificationi, hset-quantificationi, and hinclusion-quantificationi by means of the two items “for all hquantified-uponi” and “there exists hquantified-uponi” where hquantified-uponi is to be expanded to either hargumenti ¬ hargumenti or hargumenti 2 hseti or hseti ✓ hseti. 49 4.2. Current Non-terminal: Highlighted Development Button At any time, the non-terminal to be developed next is highlighted (blue inverse video). By default, the order in which the non-terminals are developed is depth-first, left to right. However, the browsing buttons (see Figure 8) allow the user to override the default order and to freely choose the next non-terminal to be developed. Also, depending on which non-terminal is highlighted, a development button is enabled but the other development buttons are disabled (shadow display). Figure 8. The buttons allowing to browse among non-terminals of the main white frame 4.3. The ‘undo’ and ‘redo’ Buttons Immediately above the main white frame there is a series of buttons, of which the left- most two are undo and redo (see Figure 9). They allow the user to navigate through any step between the current state of the decomposition tree and its initial state. Of course, undo goes backward one step and redo goes forward one step (up to the current state). Figure 9. The ‘undo’ and ‘redo’ buttons 4.4. Output Files Menu The File button offers a pull-down menu with an import item and various export options. The first option stores an output file .txt with the content of the main white frame (that is, an expression of the user’s argumentation semantics in semi-natural language). The second option stores an output file .tex with the LATEX source of the content of the lower main frame (i.e., the formula s(A ,R),S in LATEX). The third option stores an output file .jpg of the image of the LATEX display of s(A ,R),S . An option stores an output file .sesame with s(A ,R),S in internal format —that the import item of the menu downloads. Lastly, there is an option that stores an output file .touistl of s(A ,R),S in the format of TouIST [7] which is a front-end for various SAT solvers. Indeed, a future version of our system will have a procedure permitting the user to input an argumentation graph (A , R) and S ✓ A (also possibly varying (A , R) and S while still considering the same semantics s ) so that s(A ,R),S gets instantiated by A , R, S and fed to a SAT solver, thereby automatically informing the user whether the set S is a s -extension of (A , R). 4.5. A Semantics . . . or not? The system achieves syntactical checking as it ensures that the specification entered by the user conforms with the grammar (e.g., the system makes it impossible that the input involves a statement of the form “the subset X of A is in the argument a”). Yet, there is no semantical check and it is largely possible for the user to input some dubious semantics (e.g., a “semantics” requiring that all self-attacking arguments are in S). 50 5. Conclusion and Perspectives We have shortly described S ESAME, a system (see www.irit.fr/SESAME) implemented in Java. It allows the user (guided by a simple BNF grammar) to specify an argumentation semantics s , for which the system generates a propositional formula s(A ,R),S that turns out to be satisfiable if and only if S is a s -extension of the argumentation graph (A , R). Such an argumentation semantics must conform to the grammar, and this may require some ingenuity from the user. The reason is that there are usually many ways to specify an argumentation semantics but the user must find out how to express hers in a way accepted by the grammar. To some extent, the system alleviates the burden on the user by allowing the user not to conform strictly to the rules of the grammar (but the system ensures that the user conforms with the language generated by the grammar). When instantiated by a specific argumentation graph (A , R) and set S, the formula generated by SESAME may be fed to a SAT solver. Of course, such an approach is not meant to compete with optimized systems e.g. from ICCMA [8]. However, the ICCMA argumentation graphs benchmark may provide interesting instantiations allowing new semantics to be tested on a wide and diverse range of small argumentation graphs. Moreover, we plan to extend the functionalities of the system so that, for example, recursive semantics of various kinds [9] can be specified (as to now, classical semantics captured by S ESAME include grounded, complete, preferred, semi-stable, stage, ideal). Acknowledgements. This work benefited from the support of the AMANDE project (ANR-13-BS02-0004) of the French National Research Agency (ANR). References [1] Philippe Besnard and Sylvie Doutre, Checking the Acceptability of a Set of Arguments, Proc. of the 10th Int. Workshop on Non-Monotonic Reasoning (NMR’04), James Delgrande and Torsten Schaub (editors), pp. 59–64, Whistler, B.C., Canada, 2004. [2] Michal Walicki and Sjur Dyrkolbotn, Finding Kernels or Solving SAT, Discrete Algorithms, 10 (2012), 146–164. [3] Philippe Besnard, Sylvie Doutre, and Andreas Herzig, Encoding Argument Graphs in Logic, Proc. of the 15th Int. Conference on Information Processing and Management of Uncertainty in Knowledge-Based Systems (IPMU’14), Anne Laurent, Olivier Strauss, Bernadette Bouchon-Meunier and Ronald Yager (editors), volume 443 of Communications in Computer and Information Science, pp. 345–354 (Part II), Montpellier, France, 2014. [4] Uwe Egly, Sarah Gaggl, and Stefan Woltran, Answer-Set Programming Encodings for Argumentation Frameworks, Argument and Computation, 1, (2010), 147–177. [5] Phan Minh Dung, On the Acceptability of Arguments and its Fundamental Role in Nonmonotonic Rea- soning, Logic Programming and n-person Games, Artificial Intelligence, 77 (1995), 321–357. [6] Pietro Baroni and Massimiliano Giacomin, On Principle-based Evaluation of Extension-based Argu- mentation Semantics, Artificial Intelligence, 171, (2007), 675–700. [7] Khaled Skander Ben Slimane, Alexis Comte, Olivier Gasquet, Abdelwahab Heba, Olivier Lezaud, Frédéric Maris, and Maël Valais, Twist your Logic with TouIST, Proc. of the 4th Int. Congress on Tools for Teaching Logic (TTL’15), Antonia Huertas, João Marcos, Marı́a Manzano, Sophie Pinchinat and François Schwarzentruber (editors), Rennes, France, 2015. [8] Matthias Thimm and Serena Villata (editors), Systems Descriptions of the 1st Int. Competition on Com- putational Models of Argumentation (ICCMA’15), 2015. ArXiv:1510.05373. [9] Pietro Baroni and Massimiliano Giacomin, Semantics of Abstract Argument Systems, in Argumentation in Artificial Intelligence, Guillermo Simari and Iyad Rahwan (editors), pp. 25–44, 2009, Springer. [10] Günther Charwat, Wolfgang Dvorák, Sarah Alice Gaggl, Johannes Peter Wallner, Stefan Woltran, Meth- ods for Solving Reasoning Problems in Abstract Argumentation –A Survey, Artificial Intelligence, 220, (2015), 28-63. 51