Explaining Answer Sets in Argumentative Terms Claudia Schulz - - PowerPoint PPT Presentation
Explaining Answer Sets in Argumentative Terms Claudia Schulz - - PowerPoint PPT Presentation
Explaining Answer Sets in Argumentative Terms Claudia Schulz Imperial College London, UK 24th February, 2015 patient is shortsighted patient is shortsighted glasses? laser surgery? contact lenses? intraocular lenses? patient is
patient is shortsighted
patient is shortsighted glasses? laser surgery? contact lenses? intraocular lenses?
patient is shortsighted glasses? laser surgery? contact lenses? intraocular lenses? further patient info:
patient is shortsighted glasses? laser surgery? contact lenses? intraocular lenses? further patient info:
◮ likes sports ◮ afraid to touch
eyes
◮ student
laser surgery!
laser surgery! Answer Set Programming (ASP)
A logic program
tightOnMoney ← student, not richParents caresAboutPracticality ← likesSports
A logic program
tightOnMoney ← student, not richParents caresAboutPracticality ← likesSports correctiveLens ← shortSighted, not laserSurgery laserSurgery ← shortSighted, not tightOnMoney, not correctiveLens
A logic program
tightOnMoney ← student, not richParents caresAboutPracticality ← likesSports correctiveLens ← shortSighted, not laserSurgery laserSurgery ← shortSighted, not tightOnMoney, not correctiveLens glasses ← correctiveLens, not caresAboutPracticality, not contactLens contactLens ← correctiveLens, not afraidToTouchEyes, not longSighted, not glasses intraocularLens ← correctiveLens, not glasses, not contactLens
A logic program
tightOnMoney ← student, not richParents caresAboutPracticality ← likesSports correctiveLens ← shortSighted, not laserSurgery laserSurgery ← shortSighted, not tightOnMoney, not correctiveLens glasses ← correctiveLens, not caresAboutPracticality, not contactLens contactLens ← correctiveLens, not afraidToTouchEyes, not longSighted, not glasses intraocularLens ← correctiveLens, not glasses, not contactLens shortSighted ← afraidToTouchEyes ← student ← likesSports ←
A logic program
tightOnMoney ← student, not richParents caresAboutPracticality ← likesSports correctiveLens ← shortSighted, not laserSurgery laserSurgery ← shortSighted, not tightOnMoney, not correctiveLens glasses ← correctiveLens, not caresAboutPracticality, not contactLens contactLens ← correctiveLens, not afraidToTouchEyes, not longSighted, not glasses intraocularLens ← correctiveLens, not glasses, not contactLens shortSighted ← afraidToTouchEyes ← student ← likesSports ←
Answer Set:
{shortSighted, afraidToTouchEyes, student, likesSports, tightOnMoney, correctiveLens, caresAboutPracticality, intraocularLens}
A logic program
tightOnMoney ← student, not richParents caresAboutPracticality ← likesSports correctiveLens ← shortSighted, not laserSurgery laserSurgery ← shortSighted, not tightOnMoney, not correctiveLens glasses ← correctiveLens, not caresAboutPracticality, not contactLens contactLens ← correctiveLens, not afraidToTouchEyes, not longSighted, not glasses intraocularLens ← correctiveLens, not glasses, not contactLens shortSighted ← afraidToTouchEyes ← student ← likesSports ←
Answer Set:
{shortSighted, afraidToTouchEyes, student, likesSports, tightOnMoney, correctiveLens, caresAboutPracticality, intraocularLens}
laser surgery! Answer Set Programming (ASP) intraocular lenses! Why is “intraocular lenses” a solution?
laser surgery! Answer Set Programming (ASP) intraocular lenses! Why is “intraocular lenses” a solution? ⇒ Explain why something is (not) in an answer set
ASP and Argumentation
Example (Answer Set Programming)
a ← not ¬a a ← ¬a, not c, not e ¬a ← not c, not d c ← not e d ← not ¬a e ←
ASP and Argumentation
Example (Answer Set Programming)
a ← not ¬a a ← ¬a, not c, not e ¬a ← not c, not d c ← not e d ← not ¬a e ← e ∈ S
ASP and Argumentation
Example (Answer Set Programming)
a ← not ¬a a ← ¬a, not c, not e ¬a ← not c, not d c ← not e d ← not ¬a e ← e ∈ S
ASP and Argumentation
Example (Answer Set Programming)
a ← not ¬a ¬a ← not c, not d d ← not ¬a e ← e ∈ S
ASP and Argumentation
Example (Answer Set Programming)
a ← not ¬a ¬a ← not c, not d d ← not ¬a e ← e ∈ S d ∈ S?
ASP and Argumentation
Example (Answer Set Programming)
a ← not ¬a ¬a ← not c, not d d ← not ¬a e ← e ∈ S d ∈ S?
ASP and Argumentation
Example (Answer Set Programming)
a ← not ¬a d ← not ¬a e ← e ∈ S d ∈ S?
ASP and Argumentation
Example (Answer Set Programming)
a ← not ¬a d ← not ¬a e ← e ∈ S d ∈ S? S = {e, d, a}
ASP and Argumentation
Example (Answer Set Programming)
a ← not ¬a d ← not ¬a e ← e ∈ S d ∈ S? S = {e, d, a} Interaction between classical literals and NAF literals!
ASP and Argumentation
Example (Answer Set Programming)
a ← not ¬a d ← not ¬a e ← e ∈ S d ∈ S? S = {e, d, a} Interaction from classical literals to NAF literals!
ASP and Argumentation
Example (Answer Set Programming)
a ← not ¬a d ← not ¬a e ← e ∈ S d ∈ S? S = {e, d, a} Interaction from classical literals to NAF literals!
Example (Assumption-Based Argumentation (ABA))
◮ rules = Answer Set Program
ASP and Argumentation
Example (Answer Set Programming)
a ← not ¬a d ← not ¬a e ← e ∈ S d ∈ S? S = {e, d, a} Interaction from classical literals to NAF literals!
Example (Assumption-Based Argumentation (ABA))
◮ rules = Answer Set Program ◮ assumptions = NAF literals: {not a, not ¬a, not c, not ¬c,
not d, not ¬d, not e, not ¬e}
ASP and Argumentation
Example (Answer Set Programming)
a ← not ¬a d ← not ¬a e ← e ∈ S d ∈ S? S = {e, d, a} Interaction from classical literals to NAF literals!
Example (Assumption-Based Argumentation (ABA))
◮ rules = Answer Set Program ◮ assumptions = NAF literals: {not a, not ¬a, not c, not ¬c,
not d, not ¬d, not e, not ¬e}
◮ contraries: not a = a; not ¬a = ¬a; not c = c; . . .
ASP and Argumentation
Example (Assumption-Based Argumentation (ABA))
◮ rules = Answer Set Program ◮ assumptions = NAF literals: {not a, not ¬a, not c, not ¬c,
not d, not ¬d, not e, not ¬e}
◮ contraries: not a = a; not ¬a = ¬a; not c = c; . . .
semantics:
ASP and Argumentation
Example (Assumption-Based Argumentation (ABA))
◮ rules = Answer Set Program ◮ assumptions = NAF literals: {not a, not ¬a, not c, not ¬c,
not d, not ¬d, not e, not ¬e}
◮ contraries: not a = a; not ¬a = ¬a; not c = c; . . .
semantics:
◮ construct arguments
ASP and Argumentation
Example (Assumption-Based Argumentation (ABA))
◮ rules = Answer Set Program ◮ assumptions = NAF literals: {not a, not ¬a, not c, not ¬c,
not d, not ¬d, not e, not ¬e}
◮ contraries: not a = a; not ¬a = ¬a; not c = c; . . .
semantics:
◮ construct arguments ◮ attacks between arguments
ASP and Argumentation
Example (Assumption-Based Argumentation (ABA))
◮ rules = Answer Set Program ◮ assumptions = NAF literals: {not a, not ¬a, not c, not ¬c,
not d, not ¬d, not e, not ¬e}
◮ contraries: not a = a; not ¬a = ¬a; not c = c; . . .
semantics:
◮ construct arguments ◮ attacks between arguments ◮ extensions = arguments “winning” together
ASP and Argumentation
Example (Assumption-Based Argumentation (ABA))
◮ rules = Answer Set Program ◮ assumptions = NAF literals: {not a, not ¬a, not c, not ¬c,
not d, not ¬d, not e, not ¬e}
◮ contraries: not a = a; not ¬a = ¬a; not c = c; . . .
semantics:
◮ construct arguments ◮ attacks between arguments ◮ extensions = arguments “winning” together
⇒ human-like reasoning
ABA semantics
ABA semantics
ABA semantics
ASP and Argumentation
Example (Assumption-Based Argumentation (ABA))
◮ rules = Answer Set Program ◮ assumptions = NAF literals: {not a, not ¬a, not c, not ¬c,
not d, not ¬d, not e, not ¬e}
◮ contraries: not a = a; not ¬a = ¬a; not c = c; . . .
semantics:
◮ construct arguments ◮ attacks between arguments ◮ extensions = arguments “winning” together
⇒ human-like reasoning
ASP and Argumentation
Example (Assumption-Based Argumentation (ABA))
◮ rules = Answer Set Program ◮ assumptions = NAF literals: {not a, not ¬a, not c, not ¬c,
not d, not ¬d, not e, not ¬e}
◮ contraries: not a = a; not ¬a = ¬a; not c = c; . . .
semantics:
◮ construct arguments ◮ attacks between arguments ◮ extensions = arguments “winning” together
⇒ human-like reasoning extensions and answer sets correspond!
ABA-Based Answer Set Justifications - an overview
Logic Program
ABA-Based Answer Set Justifications - an overview
Logic Program answer sets 𝑇
compute
ABA-Based Answer Set Justifications - an overview
Logic Program answer sets 𝑇 𝑚 ∈ 𝑇
compute
ABA-Based Answer Set Justifications - an overview
Logic Program ABA framework
translate
answer sets 𝑇 𝑚 ∈ 𝑇
compute
ABA-Based Answer Set Justifications - an overview
Logic Program ABA framework
translate
answer sets 𝑇 stable extensions 𝐹
derive
𝑚 ∈ 𝑇
compute
ABA-Based Answer Set Justifications - an overview
Logic Program ABA framework answer sets 𝑇 stable extensions 𝐹 𝑚 ∈ 𝑇 … ⊢ 𝑚 ∈ 𝐹
compute construct translate derive
ABA-Based Answer Set Justifications - an overview
Logic Program ABA framework answer sets 𝑇 stable extensions 𝐹 𝑚 ∈ 𝑇 … ⊢ 𝑚 ∈ 𝐹 Attack Tree
compute construct explains construct translate derive
ABA-Based Answer Set Justifications - an overview
Logic Program ABA framework answer sets 𝑇 stable extensions 𝐹 𝑚 ∈ 𝑇 … ⊢ 𝑚 ∈ 𝐹 Attack Tree LABAS Justification
compute construct construct explains construct translate derive
ABA-Based Answer Set Justifications - an overview
Logic Program ABA framework answer sets 𝑇 stable extensions 𝐹 𝑚 ∉ 𝑇 … ⊢ 𝑚 ∉ 𝐹 Attack Tree LABAS Justification
compute construct construct explains construct translate derive
Attack Trees
Attack Trees
A−
9 : ({not ¬a}, ∅) ⊢ a
Attack Trees
Attack Trees
A−
9 : ({not ¬a}, ∅) ⊢ a
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
Attack Trees
Attack Trees
A−
9 : ({not ¬a}, ∅) ⊢ a
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
Attack Trees
Attack Trees
A−
9 : ({not ¬a}, ∅) ⊢ a
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
Attack Trees
Attack Trees
A−
9 : ({not ¬a}, ∅) ⊢ a
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
Attack Trees
A−
9 : ({not ¬a}, ∅) ⊢ a
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
. . .
laser surgery! Answer Set Programming (ASP) intraocular lenses!
Why is laser surgery not part of the solution?
Answer Set:
{shortSighted, afraidToTouchEyes, student, likesSports, tightOnMoney, correctiveLens, caresAboutPracticality, intraocularLens}
Why is laser surgery not part of the solution?
Answer Set:
{shortSighted, afraidToTouchEyes, student, likesSports, tightOnMoney, correctiveLens, caresAboutPracticality, intraocularLens} A1− : ({shortSighted}, {not tightOnMoney, not correctiveLens}) ⊢ laserSurgery A2+ : ({student}, {not richParents}) ⊢ tightOnMoney
Why is intraocular lens part of the solution?
Answer Set:
{shortSighted, afraidToTouchEyes, student, likesSports, tightOnMoney, correctiveLens, caresAboutPracticality, intraocularLens}
Why is intraocular lens part of the solution?
Answer Set:
{shortSighted, afraidToTouchEyes, student, likesSports, tightOnMoney, correctiveLens, caresAboutPracticality, intraocularLens}
A3+ : ({shortSighted}, {not laserSurgery, not glasses, not contactLens}) ⊢ intraocularLens A1− : (. . .) ⊢ laserSurgery A2+ : (. . .) ⊢ tightOnMoney A−
6 : (. . . , not caresAboutPracticality, . . .) ⊢ glasses
A+
7 : ({likesSports}, ∅) ⊢ caresAboutPracticality
A−
4 : (. . . , not afraidToTouchEyes, . . .) ⊢ contactLens
A+
5 : ({afraidToTouchEyes}, ∅) ⊢ afraidToTouchEyes
Labelled ABA-Based Answer Set (LABAS) Justifications
A−
9 : ({not ¬a}, ∅) ⊢ a
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
. . .
Labelled ABA-Based Answer Set (LABAS) Justifications
a−
A9
Labelled ABA-Based Answer Set (LABAS) Justifications
A−
9 : ({not ¬a}, ∅) ⊢ a
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
. . .
Labelled ABA-Based Answer Set (LABAS) Justifications
a−
A9
not ¬a−
asm
−
Labelled ABA-Based Answer Set (LABAS) Justifications
A−
9 : ({not ¬a}, ∅) ⊢ a
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
. . .
Labelled ABA-Based Answer Set (LABAS) Justifications
a−
A9
not ¬a−
asm
− ¬a+
A11
+
Labelled ABA-Based Answer Set (LABAS) Justifications
A−
9 : ({not ¬a}, ∅) ⊢ a
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
. . .
Labelled ABA-Based Answer Set (LABAS) Justifications
a−
A9
not ¬a−
asm
− ¬a+
A11
+ not c+
asm
+ not d+
asm
+
Labelled ABA-Based Answer Set (LABAS) Justifications
A−
9 : ({not ¬a}, ∅) ⊢ a
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
. . .
Labelled ABA-Based Answer Set (LABAS) Justifications
a−
A9
not ¬a−
asm
− ¬a+
A11
+ not c+
asm
+ not d+
asm
+ c−
A12
−
Labelled ABA-Based Answer Set (LABAS) Justifications
A−
9 : ({not ¬a}, ∅) ⊢ a
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
. . .
Labelled ABA-Based Answer Set (LABAS) Justifications
a−
A9
not ¬a−
asm
− ¬a+
A11
+ not c+
asm
+ not d+
asm
+ c−
A12
− not e−
asm
−
Labelled ABA-Based Answer Set (LABAS) Justifications
A−
9 : ({not ¬a}, ∅) ⊢ a
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
. . .
Labelled ABA-Based Answer Set (LABAS) Justifications
a−
A9
not ¬a−
asm
− ¬a+
A11
+ not c+
asm
+ not d+
asm
+ c−
A12
− not e−
asm
− e+
fact
+
Labelled ABA-Based Answer Set (LABAS) Justifications
A−
9 : ({not ¬a}, ∅) ⊢ a
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
. . .
Labelled ABA-Based Answer Set (LABAS) Justifications
a−
A9
not ¬a−
asm
− ¬a+
A11
+ not c+
asm
+ not d+
asm
+ c−
A12
− not e−
asm
− e+
fact
+ d−
A13
−
Labelled ABA-Based Answer Set (LABAS) Justifications
A−
9 : ({not ¬a}, ∅) ⊢ a
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
A+
11 : ({not c, not d}, ∅) ⊢ ¬a
A−
12 : ({not e}, ∅) ⊢ c
A−
13 : ({not ¬a}, ∅) ⊢ d
A+
14 : (∅, {e}) ⊢ e
. . .
Labelled ABA-Based Answer Set (LABAS) Justifications
a−
A9
not ¬a−
asm
− ¬a+
A11
+ not c+
asm
+ not d+
asm
+ c−
A12
− not e−
asm
− e+
fact
+ d−
A13
− −
laser surgery! Answer Set Programming (ASP) intraocular lenses!
Why is laser surgery not part of the solution?
Attack Tree
A1− : ({shortSighted}, {not tightOnMoney, not correctiveLens}) ⊢ laserSurgery A2+ : ({student}, {not richParents}) ⊢ tightOnMoney
Why is laser surgery not part of the solution?
Attack Tree
A1− : ({shortSighted}, {not tightOnMoney, not correctiveLens}) ⊢ laserSurgery A2+ : ({student}, {not richParents}) ⊢ tightOnMoney
ABA-Based Answer Set (ABAS) Justification
laserSurgery−
A1
not tightOnMoney−
asm
− tightOnMoney+
A2
+ student+
fact
not richParents+
asm
+ +
Why is intraocular lens part of the solution?
Attack Tree
A3+ : ({shortSighted}, {not laserSurgery, not glasses, not contactLens}) ⊢ intraocularLens A1− : (. . .) ⊢ laserSurgery A2+ : (. . .) ⊢ tightOnMoney A−
6 : (. . . , not caresAboutPracticality, . . .) ⊢ glasses
A+
7 : ({likesSports}, ∅) ⊢ caresAboutPracticality
A−
4 : (. . . , not afraidToTouchEyes, . . .) ⊢ contactLens
A+
5 : ({afraidToTouchEyes}, ∅) ⊢ afraidToTouchEyes
Why is intraocular lens part of the solution?
ABA-Based Answer Set (ABAS) Justification
intraocularLens+
A3
shortSighted+
fact
not laserSurgery+
asm
not glasses+
asm
not contactLens+
asm
+ + + + laserSurgery−
A1
− not tightOnMoney−
asm
− tightOnMoney+
A2
+ student+
fact
not richParents+
asm
+ + glasses−
A6
− not caresAboutPracticality−
asm
− caresAboutPracticality+
A7
+ likesSports+
fact
+ contactLens−
A4
− not afraidToTouchEyes−
asm
− afraidToTouchEyes+
fact
+
Other justificiation approaches
LABAS Justification b+
A1
not a+
asm
e+
fact
+ + a−
A2
− not b−
asm
− + Off-line Justification (Pontelli, Son, Elkhatib)
Other justificiation approaches
LABAS Justification a−
A2
not b−
asm
− b+
A1
+ not a+
asm
e+
fact
+ + − Off-line Justification (Pontelli, Son, Elkhatib)
Conclusion
Answer Set Programming (ASP)
+
ABA-Based Answer Set Justification
=
Conclusion
Answer Set Programming (ASP)
+
ABA-Based Answer Set Justification
=
laser surgery! intraocular lenses!
Future Work
So far: restricted do consistent logic programs
Future Work
So far: restricted do consistent logic programs
◮ find source of inconsistency in a logic program ◮ debug the logic program
⇒ more existing literature
IMPERIAL COLLEGE COMPUTER STUDENT WORKSHOP 2015
The fth Imperial College Computing Student Workshop (ICCSW) aims to provide an international forum for doctoral students in computing. While most conferences and workshops in academia solely cater for specic research areas, we encourage doctoral students from all disciplines in computer science to submit, review papers and take part in the event. It is a workshop organised by students for students. The workshop will be hosted by the Department of Computing at Imperial College London. The workshop offers:
- A traditional track featuring
- Technical papers focused on current topics in computer science
- Tool papers describing the design, functionality and applicability of a software tool
- A survey track featuring
- Papers that synthesise the state of the art in a particular topic of computer science
Areas of interest cover all elds of research in computer science, including (but not limited to) the following: 24-25 September 2015 London, United Kingdom
iccsw@imperial.ac.uk
To contact workshop
- rganisers
with any questions, please email:
Have something interesting in development? Show us, and everybody else. ICCSW is an international forum for doctoral students in computing.
- Computer
Systems
- Networks
and Communications
- Logic
and Articial Intelligence
- Software
Engineering
- Theory
- f
Computational Systems
- Verication
and Model Checking
- Machine
Learning
- Programming
Languages
- Computer
Graphics
- Databases
To nd
- ut
more about the workshop, visit iccsw.doc.ac.uk
In associaon with:
Explaining Answer Sets in Argumentative Terms Questions?!
ASP Semantics
Why not simply display the derivation? The answer set of P (AS(P)), is the smallest set S ⊆ LitP s.t.:
- 1. for any clause l0 ← l1, . . . , lm in P:
if l1, . . . , lm ∈ S then l0 ∈ S
- 2. S = LitP if S contains complementary literals a and ¬a.
⇒ For P without NAF literals
For P with NAF literals
S is an answer set of P if it is the answer set of the reduct PS, i.e. if S = AS(PS).
ASP Semantics
It all depends on the reduct...
For P possibly with NAF literals and for any S ⊆ LitP
The reduct PS is obtained from P by deleting:
- 1. all clauses with not l in their bodies where l ∈ S
- 2. all NAF literals in the remaining clauses.
ASP Semantics
It all depends on the reduct...
For P possibly with NAF literals and for any S ⊆ LitP
The reduct PS is obtained from P by deleting:
- 1. all clauses with not l in their bodies where l ∈ S
- 2. all NAF literals in the remaining clauses.
Example
a ← not ¬a a ← ¬a, not c, not e ¬a ← not c, not d c ← not e d ← not ¬a e ←
ASP Semantics
It all depends on the reduct...
For P possibly with NAF literals and for any S ⊆ LitP
The reduct PS is obtained from P by deleting:
- 1. all clauses with not l in their bodies where l ∈ S
- 2. all NAF literals in the remaining clauses.
Example
a ← not ¬a a ← ¬a, not c, not e ¬a ← not c, not d c ← not e d ← not ¬a e ← e ∈ S
ASP Semantics
It all depends on the reduct...
For P possibly with NAF literals and for any S ⊆ LitP
The reduct PS is obtained from P by deleting:
- 1. all clauses with not l in their bodies where l ∈ S
- 2. all NAF literals in the remaining clauses.
Example
a ← not ¬a a ← ¬a, not c, not e ¬a ← not c, not d c ← not e d ← not ¬a e ← e ∈ S
ASP Semantics
It all depends on the reduct...
For P possibly with NAF literals and for any S ⊆ LitP
The reduct PS is obtained from P by deleting:
- 1. all clauses with not l in their bodies where l ∈ S
- 2. all NAF literals in the remaining clauses.
Example
a ← not ¬a ¬a ← not c, not d d ← not ¬a e ← e ∈ S
ASP Semantics
It all depends on the reduct...
For P possibly with NAF literals and for any S ⊆ LitP
The reduct PS is obtained from P by deleting:
- 1. all clauses with not l in their bodies where l ∈ S
- 2. all NAF literals in the remaining clauses.
Example
a ← not ¬a ¬a ← not c, not d d ← not ¬a e ← e ∈ S d ∈ S?
ASP Semantics
It all depends on the reduct...
For P possibly with NAF literals and for any S ⊆ LitP
The reduct PS is obtained from P by deleting:
- 1. all clauses with not l in their bodies where l ∈ S
- 2. all NAF literals in the remaining clauses.
Example
a ← not ¬a ¬a ← not c, not d d ← not ¬a e ← e ∈ S d ∈ S?
ASP Semantics
It all depends on the reduct...
For P possibly with NAF literals and for any S ⊆ LitP
The reduct PS is obtained from P by deleting:
- 1. all clauses with not l in their bodies where l ∈ S
- 2. all NAF literals in the remaining clauses.
Example
a ← not ¬a d ← not ¬a e ← e ∈ S d ∈ S?
ASP Semantics
It all depends on the reduct...
For P possibly with NAF literals and for any S ⊆ LitP
The reduct PS is obtained from P by deleting:
- 1. all clauses with not l in their bodies where l ∈ S
- 2. all NAF literals in the remaining clauses.
Example
a ← not ¬a d ← not ¬a e ← e ∈ S d ∈ S? S = {e, d, a}
ABA - formally
Example
P: a ← not ¬a a ← ¬a, not c, not e ¬a ← not c, not d c ← not e d ← not ¬a e ← ABAP = LP, RP, AP, ¯:
◮ language: LP = LitP ∪ NAFP ◮ rules: RP = P ◮ assumptions: AP = NAFP =
{not a, not ¬a, not c, not ¬c, not d, not ¬d, not e, not ¬e}
ABA - formally
Example
P: a ← not ¬a a ← ¬a, not c, not e ¬a ← not c, not d c ← not e d ← not ¬a e ← ABAP = LP, RP, AP, ¯:
◮ language: LP = LitP ∪ NAFP ◮ rules: RP = P ◮ assumptions: AP = NAFP =
{not a, not ¬a, not c, not ¬c, not d, not ¬d, not e, not ¬e}
◮ contraries:
not a = a; not ¬a = ¬a; not c = c; not ¬c = ¬c; not d = d; not ¬d = ¬d; not e = e; not ¬e = ¬e argument: derivation (modus ponens) from assumptions and rules ({assumptions}, {facts}) ⊢ conclusion
ABA - formally
Example
P: a ← not ¬a a ← ¬a, not c, not e ¬a ← not c, not d c ← not e d ← not ¬a e ← ABAP = LP, RP, AP, ¯:
◮ language: LP = LitP ∪ NAFP ◮ rules: RP = P ◮ assumptions: AP = NAFP =
{not a, not ¬a, not c, not ¬c, not d, not ¬d, not e, not ¬e}
◮ contraries:
not a = a; not ¬a = ¬a; not c = c; not ¬c = ¬c; not d = d; not ¬d = ¬d; not e = e; not ¬e = ¬e argument: derivation (modus ponens) from assumptions and rules A1 : ({not a}, ∅) ⊢ not a
ABA - formally
Example
P: a ← not ¬a a ← ¬a, not c, not e ¬a ← not c, not d c ← not e d ← not ¬a e ← ABAP = LP, RP, AP, ¯:
◮ language: LP = LitP ∪ NAFP ◮ rules: RP = P ◮ assumptions: AP = NAFP =
{not a, not ¬a, not c, not ¬c, not d, not ¬d, not e, not ¬e}
◮ contraries:
not a = a; not ¬a = ¬a; not c = c; not ¬c = ¬c; not d = d; not ¬d = ¬d; not e = e; not ¬e = ¬e argument: derivation (modus ponens) from assumptions and rules A14 : (∅, {e}) ⊢ e
ABA - formally
Example
P: a ← not ¬a a ← ¬a, not c, not e ¬a ← not c, not d c ← not e d ← not ¬a e ← ABAP = LP, RP, AP, ¯:
◮ language: LP = LitP ∪ NAFP ◮ rules: RP = P ◮ assumptions: AP = NAFP =
{not a, not ¬a, not c, not ¬c, not d, not ¬d, not e, not ¬e}
◮ contraries:
not a = a; not ¬a = ¬a; not c = c; not ¬c = ¬c; not d = d; not ¬d = ¬d; not e = e; not ¬e = ¬e argument: derivation (modus ponens) from assumptions and rules A13 : ({not ¬a}, ∅) ⊢ d
ABA - formally
Example
P: a ← not ¬a a ← ¬a, not c, not e ¬a ← not c, not d c ← not e d ← not ¬a e ← ABAP = LP, RP, AP, ¯:
◮ language: LP = LitP ∪ NAFP ◮ rules: RP = P ◮ assumptions: AP = NAFP =
{not a, not ¬a, not c, not ¬c, not d, not ¬d, not e, not ¬e}
◮ contraries:
not a = a; not ¬a = ¬a; not c = c; not ¬c = ¬c; not d = d; not ¬d = ¬d; not e = e; not ¬e = ¬e argument: derivation (modus ponens) from assumptions and rules A10 : ({not c, not d, not e}, ∅) ⊢ a
ASP vs ABA
Correspondence between answer sets S and stable extensions E:
◮ if an argument with conclusion l is in E, then l ∈ S ◮ if l ∈ S then an argument with conclusion l is in E ◮ if for all assumptions not l of an argument A, l /
∈ S, then A ∈ E ⇒ at least one corresponding argument for every literal in S ⇒ one with all assumptions “in” S
Attack Trees
For l ∈ / / ∈ S and E the corresponding stable extension:
◮ start with a (corresponding) argument A with conclusion l
◮ A+ if A ∈ E ◮ A− if A /
∈ E
◮ for any A+: all attacking arguments are child nodes
⇒ labelled −
◮ for any A−: exactly one attacking argument ∈ E is a child
node ⇒ labelled + ⇒ an argument can have various Attack Trees!
Labelled ABA-Based Answer Set (LABAS) Justifications
For l ∈ S, E the corresponding stable extension, A a corresponding argument of l, Υ an Attack Tree of A :
◮ start with l+ ◮ add for every + argument node in Υ:
◮ support relations between all assumptions/facts and the
conclusion ⇒ literals and relation +
◮ attack relations between the conclusion of child nodes and
the attacked assumption ⇒ assumption +, conclusion and relation −
◮ add for every − argument node in Υ:
◮ support relations between attacked assumptions and
conclusion ⇒ literals and relation −
◮ attack relations between conclusion of child nodes and the