7.4 Proof trees for first-order clauses
7.5.2 Algorithms for selecting the minimal and consistent assignment trees
Given the accepted results of algorithm 7.1 (i.e. the complete assignment trees generated by the algorithm), algorithm IsMinimal(N, A, e, f, g, h) tests whether the complete assignment tree (N, A, e, f, g, h) satisfies the conditions for a minimal assignment tree.
Algorithm 7.2 IsMinimal(N, A, e, f, g, h) for all(q, p), (q0, p0) ∈ A do
Let Attacks(h(q), h(p)) = Assign(β, g(q)), Attacks(h(q0), h(p0)) = Assign(β0, g(q0))
ifβ` β0&& e(q) 6= e(q0) then
return false end if
end for return true
Given a complete assignment tree(N, A, e, f, g, h), the next algorithm tests whether (N, A, e, f, g, h) satisfies the conditions for a consistent assignment tree.
Algorithm 7.3 IsConsistent(N, A, e, f, g, h) for all(q, p), (q0, p0) ∈ A do
Let Attacks(h(q), h(p)) = Assign(β, g(q)), Attacks(h(q0), h(p0)) = Assign(β0, g(q0))
ifβ` β0&& e(q) 6= e(p0) then
return false end if
end for return true
Example 7.5.1 The following assignment tree is the first of the accepted results of the search tree in figure 7.1. ¬Q(b, d) | ¬P (d) ∨ Q(b, d)w | P (d)∨ P (a) ∨ M(l, y)t ¬P (a) ∨ Q(b, a)v ¬M(l, y) | ¬Q(b, a)
In this(N, A, e, f, g, h) there are no (q, p), (q0, p0) ∈ A where Attacks(h(q), h(p)) = Assign(β, g(q)),
Attacks(h(q0), h(p0)) = Assign(β0, g(q0)) for which β ` β0 so the tree is a minimal assignment
tree and algorithm 7.2 returns true. There are arcs (v, t), (t, w) ∈ A where e(w) = ∀y(¬P (y) ∨ Q(b, y)) with g(w) = {y/d}, e(t) = ∀y∃x(P (d) ∨ P (a) ∨ M(x, y)) with g(t) = {x/l} and e(v) = ∀y(¬P (y) ∨ Q(b, y)) with g(v) = {y/a} such that for β0 = P (d) ∈ Units(e(t)) and for
β =∀y(¬P (y)) ∈ Units(e(v)) the following hold.
Attacks(h(v), h(t)) = Assign(β, g(v)) = ¬P (a) and Attacks(h(t), h(w)) = Assign(β0, g(t)) = P (d)
7.6. Discussion 131 and∀y(¬P (y)) ` ¬P (d) so ∀y(¬P (y)) ` P (d) which means that β ` β0so this pair of nodes is exami-
ned further by the algorithm. It holds though in addition thate(v) = e(w) = ∀y(¬P (y) ∨ Q(b, y)) so these arcs do not affect the conditions for a consistent assignment tree and the algorithm re- turns true. By substituting in this tree variable y in literals M (l, y) and¬M(l, y) by the same ar- bitrary constant, a minimal and consistent grounded assignment tree is obtained. The set of clauses {∀y(¬P (y) ∨ Q(b, y)), ∀y∃x(P (d) ∨ P (a) ∨ M(x, y)), ∀x∀y(¬M(x, y))} that corresponds to the set of non-root nodes of this tree is a support for an argument forα =∃x∃y(Q(x, y)).
The second of the accepted results of the search tree in figure 7.1 (i.e. the leaf of the second branch ofT ) is a complete assignment tree that also satisfies the condition for a minimal and consistent assignment tree and is already grounded. The set of clauses{∀y(¬P (y) ∨ Q(b, y)), ∀x(P (x))} ⊂ ∆ that corresponds to the non-root nodes of this tree is also a support for an argument forα
7.6
Discussion
Classical first-order logic has many advantages for representing and reasoning with knowledge. Howe- ver, it is well established that first-order logic is undecidable [24]. There is no algorithm that can take as input an arbitrary set of clausesΨ and determine whether or not Ψ is satisfiable. This raises limi- tations on the method presented in this chapter for generating arguments in first-order logic by using resolution and unification because the process can loop forever generating new resolvents. In general, it is impossible to determine whether or not this generation will be productive in arriving at a refutation.
In this chapter I proposed a method for retrieving arguments in a rich first-order language. This method was partly based on the ideas for propositional logic presented in Chapter 4 and it was proved to be sound. Developing a solution that is both sound and complete is an interesting point for further investigation.
Chapter 8
Conclusions
8.1
Argumentation overview
Computational argumentation has become a topic of increasing interest in AI research over the last decade. It provides a context for resolving conflicts that features human behaviour. These conflicts may arise in the form of arguments and counterarguments in a monological presentation of pros and cons when evaluating a situation, or as a dialogue where two or more agents are interacting. Therefore, it provides the means for analysing and assessing information, which is a daily task for humans and consequently its automation can be useful in various applications. Substantial work has been done on argumentation based on specific applications, some of these include
1. Medical applications where argumentation can be useful in assessing the strengths and weakness of alternative solutions to a clinical problem [52, 48, 38].
2. Legal applications where reasoning often takes place in a context of dispute and disagreement and argumentation offers the grounds for logical analysis of legal arguments [66]. Further applications of argumentation in political philosophy involve e-democracy where argumentation can be useful for communicating information and facilitating structured debate. [6].
3. Sharing information e.g. for professionals that do collaborative work in distributed teams and at asynchronous timings, or for instance for idea linking in social networks [71, 3].
The use of argumentation in various applications encourages further research on the topic and creates the necessity of developing theory and tools to automate the process.
Various existing formalisations for argumentation provide different approaches to representing in- formation and evaluating the credibility of arguments according to different criteria. The objective of this thesis was to develop theory that can make computational argumentation based on classical proposi- tional logic viable for practical applications. This problem is interesting since classical logic is a strong tool for representing and reasoning with knowledge, and hence is an appealing option for argumentation. It provides a powerful language strong enough to represent in detail complicated information. It has a simple and intuitive syntax and semantics, and it is supported by well established proof theory and extensive foundational results. However, it has the tradeoff that generating arguments in classical logic
8.2. Contribution of this work 133 is a computationally challenging task. Not much theoretical work has been done with respect to this issue, while no implemented working system for argumentation based on classical logic existed before this thesis. For these reasons, it was interesting to develop algorithms that implement argumentation in classical logic and produce, based on these algorithms, a prototype software system.
8.2
Contribution of this work
The work of this thesis contributed in the area of computational argumentation by providing the theore- tical background for algorithms that search for arguments in classical propositional logic efficiently. It adapted widely used automated theorem proving techniques and extended them to fit the requirements of argumentation (i.e. minimal and consistent proofs). The problem was approached in three directions: 1. Reducing the number of formulae considered when searching for arguments. Chapter 3 in- troduced algorithms which, given a claim in CNF and a knowledgebase that contains formulae in CNF, isolate a part of the knowledgebase that contains all the formulae that may be premises for arguments for the given claim. It was proved that using this part of the knowledgebase rather than the initial knowledgebase for generating arguments still provides a complete method. Experimen- tation using hard satisfiability examples gave positive evidence on the efficiency of the approach. In addition to decreasing the number of clauses considered in a search for arguments, this tech- nique retrieves this reduced search space in the form of a connection graph which provides the basis for the next step which is applying algorithms for generating arguments.
2. Generating arguments using the reduced search space. By using the results of chapter 3, chapter 4 provided a sound and complete proposal for generating arguments for claims that are disjunctive clauses from knowledgebases that consist of disjunctive clauses. The corresponding algorithms that are based on the structure of the graphs introduced in chapter 3, search for argu- ments by traversing the corresponding isolated part of the knowledgebase. The algorithms were evaluated by using randomly generated datasets that were designed to make the process of gene- rating arguments computationally challenging.
3. Generating counterarguments efficiently. The theory of chapter 4 concerns generating argu- ments for claims that are disjunctive clauses. Generating canonical undercuts, which is the form of counterargument employed in this work, is a more complicated task. Chapter 5 extended the work of chapter 4 to deal with generating canonical undercuts. The algorithms for generating canonical undercuts were in turn adapted by an algorithm that generates argument trees which was implemented in a software system and evaluated by experimentation on randomly generated datasets.
Although the work of this thesis is mainly based on classical propositional logic, an extension of the work in chapters 3 and 4 that involves classical first-order logic is introduced in chapter 7. Chapter 7 presents a proposal for generating arguments in a rich first-order language of clauses. Like in the propositional case, initially a part of the knowledgebase that contains all the clauses that can play a role
8.3. Assessment and further work 134