• No results found

The formalisations discussed in this chapter provide different approaches to argumentation. With dif- ferent formalisations arguments can be considered abstract objects whose internal structure is not known, or they can be considered structures built on top of a deductive system where the claim of the argument has to be entailed by its premises. Each formalisation gives a different option on the level of detail of the knowledge represented as well as on the criteria by which an argument is evaluated in terms of information that is put against it.

Classical logic has many advantages for representing and reasoning with knowledge including syn- tax and proof theory. It provides a powerful language for expressing in detail the premises of an ar- gument, and entailment is based on classical deduction which is well established. It has a simple and

2.4. Discussion 33 intuitive syntax and semantics, and it is supported by a proof theory and extensive foundational results that make it it an appealing option for argumentation. In addition to these advantages, the framework on which the work of this thesis is based [12] has the advantage of employing canonical undercuts for counterarguments which capture exactly the information that needs to be challenged in order to attack an argument.

Besides its advantages, argumentation in classical logic has the disadvantage of the computational viability of generating arguments. Little work has been done so far to address this issue [50, 14]. Moreo- ver, to our knowledge, prior to this thesis no working software applications have been developed based on classical logic.

Chapter 3

Reducing the search space for arguments

In this chapter I present a proposal for addressing the problem of the computational cost of generating arguments by reducing the search space. This proposal is based on an existing proposal for automated theorem proving [55, 56] where connection graphs are used for sets of clauses. For a set of clauses, a connection graph is a graph where each node is a clause from the set and each arc denotes that there exist complementary literals in the pair of nodes. The idea in using a connection graph for automated theorem proving is that it indicates that the resolution proof rule can be applied for a pair of clauses that are linked by an arc, motivating the application algorithms that form proofs by walking over a connection graph.

The work presented in this chapter does not involve using connection graphs for constructing proofs. It focuses on how using connection graphs can help reduce the search space when looking for arguments. I present how given a formulaψ in CNF (i.e. conjunctive normal form) as the claim for an argument and a knowledgebaseΦ that consists of formulae in CNF, we can form connection graphs where each node is a clause that appears as a conjunct in some fomula fromΦ. I explain how using a connectivity criterion introduced, we can isolate a subgraph of this connection graph which is associated to a subset of formulae fromΦ that contains all the arguments for ψ, and thus potentially provides a reduced search space. This subgraph, defined as the query graph, is relatively inexpensive to locate in terms of computational cost, and using as the search space the formulae ofΦ that relate to the nodes of the query graph, can substantially reduce the cost of looking for arguments. A theoretical framework and algorithms for this proposal are presented in this chapter along with some preliminary experimental results to indicate the potential of the approach.

The chapter starts with the definition of the language of clausesC, which is used throughout this thesis, together with some properties of the language and an overview of how the resolution rule applies to the elements ofC and can be used for satisfiability checks. It proceeds by presenting definitions for different types of connection graphs for the elements ofC. It continues by introducing knowledgebases that consist of formulae in CNF. It presents how by defining graphs for the clauses that appear in the conjuncts of the formulae of the knowledgebase, we can determine a subset of the knowledgebase that contains all the formulae that may be premises in arguments for a given claim, which is also in CNF. Throughout the chapter, theoretical results that apply to different types of graphs are introduced together with the corresponding definitions of the graphs in order to demonstrate how these definitions are useful

3.1. The language of clausesC 35 for addressing the problem of generating arguments. The chapter closes with some experimental data on a prototype implementation of the theory presented, that indicate the advantages of the approach.

3.1

The language of clauses

C

In this section I present the language of clausesC on which connection graphs are defined. First I define the language and then I introduce some functions that are defined on the elements ofC. I discuss the resolution proof procedure that can be applied onC and how this can be used for satisfiability checks.

3.1.1

Definition ofC

A language of clausesC is composed by a set of atoms A as follows: If a is an atom, then a is a positive literal, and¬a is a negative literal. If b is a positive literal, or b is a negative literal, then b is a literal. The symbolL denotes the set of all literals. Literals b1, b2are complementary iff they consist of the same

atom and one of them is negative and the other one is positive. Then, we say thatb1is the complement

ofb2andb2is the complement ofb1and we writeb1= b2. Ifb1, .., bnare literals, thenb1∨ ... ∨ bnis a

clause. A clause knowledgebase is a set of clauses.

Lowercase roman characters denote atoms, lowercase Greek characters denote clauses and upper- case Greek characters denote sets of clauses. The symbol⊥ is used to denote the empty clause, that is the clauseb1∨ ... ∨ bnwith{b1, ..., bn} = ∅. Then, any set of clauses that contains ⊥ is unsatisfiable.

3.1.2

Relations inC

The definitions of this section mainly concern disjunctive clauses. I start though by introducing functions Conjuncts and Disjuncts that are defined for formulae in conjunctive normal form and disjunctive normal form respectively, and so can be used for formulae in canonical form that are not necessarily inC. Function Disjuncts is used further in this section to define relations for CNFs of 1 conjunct, i.e. for elements inC .

Definition 3.1.1 Letφ be a formula in conjunctive normal form: φ = γ1∧ . . . ∧ γn, where each of

γ1, . . . , γnis a disjunction of literals and letψ be a formula in disjunctive normal form, ψ = δ1∨. . .∨δn,

where each ofδ1, . . . , δnis a conjunction of literals. Then,Conjuncts(φ) returns the set of disjunctive

clauses inφ i.e. Conjuncts(φ) =1, . . . , γn} and Disjuncts(ψ) returns the set of conjunctive clauses

inψ i.e. Disjuncts(ψ) =1, . . . , δn}.

Example 3.1.1 Letφ = (a∨ b) ∧ (a ∨ d) ∧ q and ψ = (a ∧ c) ∨ (d ∧ p). Then, Conjuncts(φ) = {a ∨ b, a ∨ d, q} and Disjuncts(ψ) = {a ∧ c, d ∧ p}. Disjuncts(φ) and Conjuncts(ψ) are not defined.

Hence, functions Conjuncts and Disjuncts simply return the set of conjuncts or disjuncts respec- tively for formula in CNF or DNF (i.e. disjunctive normal form). Using the Disjuncts function on disjunctive clauses the following binary relations are defined inC.

3.1. The language of clausesC 36 follows:

i) Preattacks(φ, ψ) ={b | b ∈ Disjuncts(φ) and b ∈ Disjuncts(ψ)} ii) If Preattacks(φ, ψ) ={b} for some b then

Attacks(φ, ψ) = b otherwise Attacks(φ, ψ) = null

Hence, the Preattacks relation is defined for any pair of clausesφ, ψ and returns the set of comple- mentary literals between these clauses while the Attacks relation is defined for a pair of clausesφ, ψ for which|Preattacks(φ, ψ)| = 1 and returns the unique literal that is contained in Preattacks(φ, ψ). Example 3.1.2 According to definition 3.1.2, the following hold.

Preattacks(a ∨ ¬b ∨ ¬c ∨ d, a ∨ b ∨ ¬d ∨ e) = {¬b, d}, Preattacks(a ∨ b ∨ ¬d ∨ e, a ∨ ¬b ∨ ¬c ∨ d) = {b, ¬d}, Preattacks(a ∨ b ∨ ¬d, a ∨ b ∨ c) = ∅,

Preattacks(a ∨ b ∨ ¬d, a ∨ b ∨ d) = {¬d}, Preattacks(a ∨ b ∨ ¬d, e ∨ c ∨ d) = {¬d}. Example 3.1.3 According to definition 3.1.2, the following hold.

Attacks(a ∨ ¬b ∨ ¬c ∨ d, a ∨ b ∨ ¬d ∨ e) = null, Preattacks(a ∨ b ∨ ¬d ∨ e, a ∨ ¬b ∨ ¬c ∨ d) = null, Attacks(a ∨ b ∨ ¬d, a ∨ b ∨ c) = null,

Attacks(a ∨ b ∨ ¬d, a ∨ b ∨ d) = ¬d, Attacks(a ∨ b ∨ ¬d, e ∨ c ∨ d) = ¬d.

For a set of clauses∆, Literals(∆) returns the set of literals that appear as disjuncts in the elements of∆.

Definition 3.1.3 Let∆ be a set of clauses. Then Literals(∆) = Sδ∈∆{d | d ∈ Disjuncts(δ)}

The resolution function is defined for a pair of clauses that have a pair of complementary literals between them. The following definition for resolution applies to a pair of clauses that have exactly one pair of complementary disjuncts between them and is based on function Attacks.

Definition 3.1.4 Ifφ and ψ are clauses and Attacks(φ, ψ) = b for some b∈ L. Then,

φ• ψ =_(Disjuncts(φ) ∪ Disjuncts(ψ)) \ {b, b})

Hence,• denotes the function of resolution i.e. for a pair of clauses φ and ψ, φ • ψ is the clause that is obtained by resolution fromφ and ψ. For simplicity, from now on when the function appears in a sequence of more than two clauses, no brackets will be used and the order in which the resolution function applies to the clauses is going to be the order in which the clauses appear in the sequence. For example,φ• χ • ψ • α = ((φ • χ) • ψ) • α

3.2. Resolution for satisfiability checks 37