problem solving and search in artificial intelligence€¦ · artificial intelligence,...
TRANSCRIPT
Artificial Intelligence, Computational Logic
PROBLEM SOLVING AND SEARCHIN ARTIFICIAL INTELLIGENCE
Lecture 6 ASP Modelling, Tree Decomposition
Sarah Gaggl
Dresden, 13th May 2014
Agenda1 Introduction2 Uninformed Search versus Informed Search (Best First Search, A*
Search, Heuristics)3 Constraint Satisfaction4 Answer Set Programming (ASP)5 Structural Decomposition Techniques (Tree/Hypertree Decompositions)6 Local Search, Stochastic Hill Climbing, Simulated Annealing7 Tabu Search8 Evolutionary Algorithms/ Genetic Algorithms9 Adversial Search and Game Playing
TU Dresden, 13th May 2014 PSSAI slide 2 of 73
Modeling and Interpreting
Problem
Logic Program
Solution
Stable Models
?-
6
Modeling Interpreting
Solving
TU Dresden, 13th May 2014 PSSAI slide 3 of 73
Modeling• For solving a problem class C for a problem instance I,
encode1 the problem instance I as a set PI of facts and2 the problem class C as a set PC of rules
such that the solutions to C for I can be (polynomially) extractedfrom the stable models of PI ∪ PC
• PI is (still) called problem instance• PC is often called the problem encoding
• An encoding PC is uniform, if it can be used to solve all itsproblem instancesThat is, PC encodes the solutions to C for any set PI of facts
TU Dresden, 13th May 2014 PSSAI slide 4 of 73
Modeling• For solving a problem class C for a problem instance I,
encode1 the problem instance I as a set PI of facts and2 the problem class C as a set PC of rules
such that the solutions to C for I can be (polynomially) extractedfrom the stable models of PI ∪ PC
• PI is (still) called problem instance• PC is often called the problem encoding
• An encoding PC is uniform, if it can be used to solve all itsproblem instancesThat is, PC encodes the solutions to C for any set PI of facts
TU Dresden, 13th May 2014 PSSAI slide 5 of 73
Modeling• For solving a problem class C for a problem instance I,
encode1 the problem instance I as a set PI of facts and2 the problem class C as a set PC of rules
such that the solutions to C for I can be (polynomially) extractedfrom the stable models of PI ∪ PC
• PI is (still) called problem instance• PC is often called the problem encoding
• An encoding PC is uniform, if it can be used to solve all itsproblem instancesThat is, PC encodes the solutions to C for any set PI of facts
TU Dresden, 13th May 2014 PSSAI slide 6 of 73
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
TU Dresden, 13th May 2014 PSSAI slide 7 of 73
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
TU Dresden, 13th May 2014 PSSAI slide 8 of 73
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
TU Dresden, 13th May 2014 PSSAI slide 9 of 73
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
TU Dresden, 13th May 2014 PSSAI slide 10 of 73
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
TU Dresden, 13th May 2014 PSSAI slide 11 of 73
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
TU Dresden, 13th May 2014 PSSAI slide 12 of 73
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving6
ElaboratingTU Dresden, 13th May 2014 PSSAI slide 13 of 73
Basic methodology
MethodologyGenerate and Test (or: Guess and Check)
Generator Generate potential stable model candidates(typically through non-deterministic constructs)
Tester Eliminate invalid candidates(typically through integrity constraints)
NutshellLogic program = Data + Generator + Tester ( + Optimizer)
TU Dresden, 13th May 2014 PSSAI slide 14 of 73
Basic methodology
MethodologyGenerate and Test (or: Guess and Check)
Generator Generate potential stable model candidates(typically through non-deterministic constructs)
Tester Eliminate invalid candidates(typically through integrity constraints)
NutshellLogic program = Data + Generator + Tester ( + Optimizer)
TU Dresden, 13th May 2014 PSSAI slide 15 of 73
Satisfiability testing
• Problem Instance: A propositional formula φ in CNF• Problem Class: Is there an assignment of propositional variables to true
and false such that a given formula φ is true
• Example: Consider formula
(a ∨ ¬b) ∧ (¬a ∨ b)
• Logic Program:
Generator Tester Stable models{ a, b } ← ← not a, b
← a, not bX1 = {a, b}X2 = {}
TU Dresden, 13th May 2014 PSSAI slide 16 of 73
Satisfiability testing
• Problem Instance: A propositional formula φ in CNF• Problem Class: Is there an assignment of propositional variables to true
and false such that a given formula φ is true
• Example: Consider formula
(a ∨ ¬b) ∧ (¬a ∨ b)
• Logic Program:
Generator Tester Stable models{ a, b } ← ← not a, b
← a, not bX1 = {a, b}X2 = {}
TU Dresden, 13th May 2014 PSSAI slide 17 of 73
Satisfiability testing
• Problem Instance: A propositional formula φ in CNF• Problem Class: Is there an assignment of propositional variables to true
and false such that a given formula φ is true
• Example: Consider formula
(a ∨ ¬b) ∧ (¬a ∨ b)
• Logic Program:
Generator Tester Stable models{ a, b } ← ← not a, b
← a, not bX1 = {a, b}X2 = {}
TU Dresden, 13th May 2014 PSSAI slide 18 of 73
Satisfiability testing
• Problem Instance: A propositional formula φ in CNF• Problem Class: Is there an assignment of propositional variables to true
and false such that a given formula φ is true
• Example: Consider formula
(a ∨ ¬b) ∧ (¬a ∨ b)
• Logic Program:
Generator Tester Stable models{ a, b } ← ← not a, b
← a, not bX1 = {a, b}X2 = {}
TU Dresden, 13th May 2014 PSSAI slide 19 of 73
Satisfiability testing
• Problem Instance: A propositional formula φ in CNF• Problem Class: Is there an assignment of propositional variables to true
and false such that a given formula φ is true
• Example: Consider formula
(a ∨ ¬b) ∧ (¬a ∨ b)
• Logic Program:
Generator Tester Stable models{ a, b } ← ← not a, b
← a, not bX1 = {a, b}X2 = {}
TU Dresden, 13th May 2014 PSSAI slide 20 of 73
The n-Queens Problem
5 Z0Z0Z4 0Z0Z03 Z0Z0Z2 0Z0Z01 Z0Z0Z
1 2 3 4 5
• Place n queens on an n× nchess board
• Queens must not attack oneanother
Q Q Q
Q Q
TU Dresden, 13th May 2014 PSSAI slide 21 of 73
Defining the Field
queens.lp
row(1..n).col(1..n).
• Create file queens.lp
• Define the field– n rows– n columns
TU Dresden, 13th May 2014 PSSAI slide 22 of 73
Defining the Field
Running . . .
$ gringo queens.lp --const n=5 | claspAnswer: 1row(1) row(2) row(3) row(4) row(5) \col(1) col(2) col(3) col(4) col(5)SATISFIABLE
Models : 1Time : 0.000
Prepare : 0.000Prepro. : 0.000Solving : 0.000
TU Dresden, 13th May 2014 PSSAI slide 23 of 73
Placing some Queens
queens.lp
row(1..n).col(1..n).{ queen(I,J) : row(I) : col(J) }.
• Guess a solution candidate
by placing some queens on the board
TU Dresden, 13th May 2014 PSSAI slide 24 of 73
Placing some Queens
Running . . .
$ gringo queens.lp --const n=5 | clasp 3Answer: 1row(1) row(2) row(3) row(4) row(5) \col(1) col(2) col(3) col(4) col(5)Answer: 2row(1) row(2) row(3) row(4) row(5) \col(1) col(2) col(3) col(4) col(5) queen(1,1)Answer: 3row(1) row(2) row(3) row(4) row(5) \col(1) col(2) col(3) col(4) col(5) queen(2,1)SATISFIABLE
Models : 3+...
TU Dresden, 13th May 2014 PSSAI slide 25 of 73
Placing some Queens: Answer 1
Answer 1
5 Z0Z0Z4 0Z0Z03 Z0Z0Z2 0Z0Z01 Z0Z0Z
1 2 3 4 5
TU Dresden, 13th May 2014 PSSAI slide 26 of 73
Placing some Queens: Answer 2
Answer 2
5 Z0Z0Z4 0Z0Z03 Z0Z0Z2 0Z0Z01 L0Z0Z
1 2 3 4 5
TU Dresden, 13th May 2014 PSSAI slide 27 of 73
Placing some Queens: Answer 3
Answer 3
5 Z0Z0Z4 0Z0Z03 Z0Z0Z2 QZ0Z01 Z0Z0Z
1 2 3 4 5
TU Dresden, 13th May 2014 PSSAI slide 28 of 73
Placing n Queens
queens.lp
row(1..n).col(1..n).{ queen(I,J) : row(I) : col(J) }.:- not n { queen(I,J) } n.
• Place exactly n queens on the board
TU Dresden, 13th May 2014 PSSAI slide 29 of 73
Placing n Queens
Running . . .
$ gringo queens.lp --const n=5 | clasp 2Answer: 1row(1) row(2) row(3) row(4) row(5) \col(1) col(2) col(3) col(4) col(5) \queen(5,1) queen(4,1) queen(3,1) \queen(2,1) queen(1,1)Answer: 2row(1) row(2) row(3) row(4) row(5) \col(1) col(2) col(3) col(4) col(5) \queen(1,2) queen(4,1) queen(3,1) \queen(2,1) queen(1,1)...
TU Dresden, 13th May 2014 PSSAI slide 30 of 73
Placing n Queens: Answer 1
Answer 1
5 L0Z0Z4 QZ0Z03 L0Z0Z2 QZ0Z01 L0Z0Z
1 2 3 4 5
TU Dresden, 13th May 2014 PSSAI slide 31 of 73
Placing n Queens: Answer 2
Answer 2
5 Z0Z0Z4 QZ0Z03 L0Z0Z2 QZ0Z01 LQZ0Z
1 2 3 4 5
TU Dresden, 13th May 2014 PSSAI slide 32 of 73
Horizontal and vertical Attack
queens.lp
row(1..n).col(1..n).{ queen(I,J) : row(I) : col(J) }.:- not n { queen(I,J) } n.:- queen(I,J), queen(I,JJ), J != JJ.
:- queen(I,J), queen(II,J), I != II.
• Forbid horizontal attacks
• Forbid vertical attacks
TU Dresden, 13th May 2014 PSSAI slide 33 of 73
Horizontal and vertical Attack
queens.lp
row(1..n).col(1..n).{ queen(I,J) : row(I) : col(J) }.:- not n { queen(I,J) } n.:- queen(I,J), queen(I,JJ), J != JJ.:- queen(I,J), queen(II,J), I != II.
• Forbid horizontal attacks• Forbid vertical attacks
TU Dresden, 13th May 2014 PSSAI slide 34 of 73
Horizontal and vertical Attack
Running . . .
$ gringo queens.lp --const n=5 | claspAnswer: 1row(1) row(2) row(3) row(4) row(5) \col(1) col(2) col(3) col(4) col(5) \queen(5,5) queen(4,4) queen(3,3) \queen(2,2) queen(1,1)...
TU Dresden, 13th May 2014 PSSAI slide 35 of 73
Horizontal and vertical Attack: Answer 1
Answer 1
5 Z0Z0L4 0Z0L03 Z0L0Z2 0L0Z01 L0Z0Z
1 2 3 4 5
TU Dresden, 13th May 2014 PSSAI slide 36 of 73
Diagonal Attack
queens.lp
row(1..n).col(1..n).{ queen(I,J) : row(I) : col(J) }.:- not n { queen(I,J) } n.:- queen(I,J), queen(I,JJ), J != JJ.:- queen(I,J), queen(II,J), I != II.:- queen(I,J), queen(II,JJ), (I,J) != (II,JJ), I-J == II-JJ.:- queen(I,J), queen(II,JJ), (I,J) != (II,JJ), I+J == II+JJ.
• Forbid diagonal attacks
TU Dresden, 13th May 2014 PSSAI slide 37 of 73
Diagonal Attack
Running . . .
$ gringo queens.lp --const n=5 | claspAnswer: 1row(1) row(2) row(3) row(4) row(5) \col(1) col(2) col(3) col(4) col(5) \queen(4,5) queen(1,4) queen(3,3) \queen(5,2) queen(2,1)SATISFIABLE
Models : 1+Time : 0.000
Prepare : 0.000Prepro. : 0.000Solving : 0.000
TU Dresden, 13th May 2014 PSSAI slide 38 of 73
Diagonal Attack: Answer 1
Answer 1
5 ZQZ0Z4 0Z0ZQ3 Z0L0Z2 QZ0Z01 Z0ZQZ
1 2 3 4 5
TU Dresden, 13th May 2014 PSSAI slide 39 of 73
Optimizing
queens-opt.lp
1 { queen(I,1..n) } 1 :- I = 1..n.1 { queen(1..n,J) } 1 :- J = 1..n.:- 2 { queen(D-J,J) }, D = 2..2*n.:- 2 { queen(D+J,J) }, D = 1-n..n-1.
• Encoding can be optimized• Much faster to solve
TU Dresden, 13th May 2014 PSSAI slide 40 of 73
Traveling Salesperson
node(1..6).
edge(1,2;3;4). edge(2,4;5;6). edge(3,1;4;5).edge(4,1;2). edge(5,3;4;6). edge(6,2;3;5).
cost(1,2,2). cost(1,3,3). cost(1,4,1).cost(2,4,2). cost(2,5,2). cost(2,6,4).cost(3,1,3). cost(3,4,2). cost(3,5,2).cost(4,1,1). cost(4,2,2).cost(5,3,2). cost(5,4,2). cost(5,6,1).cost(6,2,4). cost(6,3,3). cost(6,5,1).
TU Dresden, 13th May 2014 PSSAI slide 41 of 73
Traveling Salesperson
node(1..6).
edge(1,2;3;4). edge(2,4;5;6). edge(3,1;4;5).edge(4,1;2). edge(5,3;4;6). edge(6,2;3;5).
cost(1,2,2). cost(1,3,3). cost(1,4,1).cost(2,4,2). cost(2,5,2). cost(2,6,4).cost(3,1,3). cost(3,4,2). cost(3,5,2).cost(4,1,1). cost(4,2,2).cost(5,3,2). cost(5,4,2). cost(5,6,1).cost(6,2,4). cost(6,3,3). cost(6,5,1).
TU Dresden, 13th May 2014 PSSAI slide 42 of 73
Traveling Salesperson
1 { cycle(X,Y) : edge(X,Y) } 1 :- node(X).1 { cycle(X,Y) : edge(X,Y) } 1 :- node(Y).
reached(Y) :- cycle(1,Y).reached(Y) :- cycle(X,Y), reached(X).
:- node(Y), not reached(Y).
#minimize [ cycle(X,Y) = C : cost(X,Y,C) ].
TU Dresden, 13th May 2014 PSSAI slide 43 of 73
Traveling Salesperson
1 { cycle(X,Y) : edge(X,Y) } 1 :- node(X).1 { cycle(X,Y) : edge(X,Y) } 1 :- node(Y).
reached(Y) :- cycle(1,Y).reached(Y) :- cycle(X,Y), reached(X).
:- node(Y), not reached(Y).
#minimize [ cycle(X,Y) = C : cost(X,Y,C) ].
TU Dresden, 13th May 2014 PSSAI slide 44 of 73
Traveling Salesperson
1 { cycle(X,Y) : edge(X,Y) } 1 :- node(X).1 { cycle(X,Y) : edge(X,Y) } 1 :- node(Y).
reached(Y) :- cycle(1,Y).reached(Y) :- cycle(X,Y), reached(X).
:- node(Y), not reached(Y).
#minimize [ cycle(X,Y) = C : cost(X,Y,C) ].
TU Dresden, 13th May 2014 PSSAI slide 45 of 73
Traveling Salesperson
1 { cycle(X,Y) : edge(X,Y) } 1 :- node(X).1 { cycle(X,Y) : edge(X,Y) } 1 :- node(Y).
reached(Y) :- cycle(1,Y).reached(Y) :- cycle(X,Y), reached(X).
:- node(Y), not reached(Y).
#minimize [ cycle(X,Y) = C : cost(X,Y,C) ].
TU Dresden, 13th May 2014 PSSAI slide 46 of 73
Agenda1 Introduction2 Uninformed Search versus Informed Search (Best First Search, A*
Search, Heuristics)3 Constraint Satisfaction4 Answer Set Programming (ASP)5 Structural Decomposition Techniques (Tree/Hypertree Decompositions)6 Local Search, Stochastic Hill Climbing, Simulated Annealing7 Tabu Search8 Evolutionary Algorithms/ Genetic Algorithms9 Adversial Search and Game Playing
TU Dresden, 13th May 2014 PSSAI slide 47 of 73
Fixed-Parameter Tractability (FPT) –Motivation
Some Observations• For intractable problems, computational costs often depend primarily on
some problem parameters rather than on the mere size of the instances.• Many hard problems become tractable if some problem parameter is fixed
or bounded by a fixed constant.• Typical parameters for graphs: treewidth and cliquewidth.
– Meta-theorems allow for rather easy proofs of FPT results w.r.t.these parameters
– Dedicated dynamic algorithms required for practical realization!
FPT is one branch in the area of Parameterized Complexity• Downey & Fellows: Parameterized Complexity. Springer, 1999• Flum & Grohe: Parameterized Complexity Theory. Springer, 2006• Niedermeier: Invitation to Fixed-Parameter Algorithms. OUP, 2006
TU Dresden, 13th May 2014 PSSAI slide 48 of 73
Introduction• Many instances of constraint satisfaction problems can be solved in
polynomial time if their treewidth (or hypertree width) is small.• Solving of problems with bounded width includes two phases:
– Generate a (hyper)tree decomposition with small width;– Solve a problem (based on generated decomposition) with a
particular algorithm such as for example dynamic programming.• The efficiency of solving of problem based on its (hyper)tree
decomposition depends from the width of (hyper)tree decomposition.• It is of high importance to generate (hyper)tree decompositions with small
width.
TU Dresden, 13th May 2014 PSSAI slide 49 of 73
CSP: Map-Coloring
WesternAustralia
NorthernTerritory
SouthAustralia
Queensland
New South Wales
Victoria
Tasmania
Variables WA, NT, Q, NSW, V, SA, TDomains Di = {red, green, blue}
Constraints: adjacent regions must have different colors e.g., WA 6= NT, or(WA, NT) ∈ {(red, green), (red, blue), (green, red), (green, blue), . . .}
TU Dresden, 13th May 2014 PSSAI slide 50 of 73
Constraint Graph
Binary CSP: each constraint relates at most two variablesConstraint graph: nodes are variables, arcs show constraints
Victoria
WA
NT
SA
Q
NSW
V
T
General-purpose CSP algorithms use the graph structureto speed up search. E.g., Tasmania is an independent sub-problem!TU Dresden, 13th May 2014 PSSAI slide 51 of 73
Tree-structured CSPs
AB
CD
E
F
TheoremIf the constraint graph has no loops, the CSP can be solved in O(n d2) time.
• Compare to general CSPs, where worst-case time is O(dn)
• This property also applies to logical and probabilistic reasoning: animportant example of the relation between syntactic restrictions and thecomplexity of reasoning.
TU Dresden, 13th May 2014 PSSAI slide 52 of 73
CSP: SAT Problem(x1 ∨ x2 ∨ ¬x3) ∧ (x1 ∨ ¬x4 ∨ x5 ∨ x6) ∧ · · · ∧ (x3 ∨ x4 ∨ x7 ∨ x8) . . .Possible CSP fomulation:
Variables x1, x2, x3, . . .Domains 0, 1
Constraints – C1: (x1 ∨ x2 ∨ ¬x3)→ true– C2: (x1 ∨ ¬x4 ∨ x5 ∨ x6)→ true– . . .
TU Dresden, 13th May 2014 PSSAI slide 53 of 73
CSP and Hypergraph
(x1 ∨ x2 ∨ ¬x3) ∧ (x1 ∨ ¬x4 ∨ x5 ∨ x6) ∧ (x3 ∨ x4 ∨ x7 ∨ x8) . . .
In general worst case complexity: 2NumberOfVariables = 219
TU Dresden, 13th May 2014 PSSAI slide 54 of 73
Hypergraph and its Primal Graph
TU Dresden, 13th May 2014 PSSAI slide 55 of 73
CSP and (Hyper)treewidth• In general exponential worst case complexity.• Can we solve this instance more efficiently (or in polynomial time)?• Yes, if it has a small (hyper) treewidth!!!
TU Dresden, 13th May 2014 PSSAI slide 56 of 73
Tree Decomposition
DefinitionTree Decomposition Let G = (V, E) be a graph. A tree decomposition of G is apair (T,χ), where T = (I, F) is a tree with node set I and edge set F, andχ = {χi : i ∈ I} is a family of subsets of V, one for each node of T, such that
1⋃
i∈I χi = V,
2 for every edge (v, w) ∈ E, there is an i ∈ I with v ∈ χi and w ∈ χi, and3 for all i, j, k ∈ I, if j is on the path from i to k in T, then χi ∩ χk ⊆ χj.
The width of a tree decompostion is maxi∈I |χi| − 1.The treewidth of a graph G, denoted by tw(G), is the minimum width over allpossible tree decompositions of G.
TU Dresden, 13th May 2014 PSSAI slide 57 of 73
Tree Decomposition - Example
All pairs of vertices that are connected appear in some node of the tree.Connectedness condition for vertices
TU Dresden, 13th May 2014 PSSAI slide 58 of 73
Elimination Ordering• For the given problem find the tree decomposition with minimal width ->
NP hard.• There exists a perfect elimination ordering which produces tree
decomposition with treewidth (smallest width).• Tree decomposition problem→ search for the best elimination ordering of
vertices!• Permutation Problem→ similar to TSP.
Possible elimination ordering for graph in previous slide:10, 9, 8, 7, 2, 3, 6, 1, 5, 4
TU Dresden, 13th May 2014 PSSAI slide 59 of 73
Perfect Elimination Ordering
Vertex 10 is eliminated from the graph. All neighbors of 10 are connected and atree node is created that contains vertex 10 and its neighbors.
Elimination ordering: 10, 9, 8, 7, 2, 3, 6, 1, 5, 4
TU Dresden, 13th May 2014 PSSAI slide 60 of 73
Perfect Elimination Ordering ctd.
The tree decomposition node withvertices [7,9,10] is connected with thetree decomposition node which iscreated when the next vertex whichappears in [7,9,10] is eliminated (in thiscase vertex 9)
Vertex 9 is eliminated from the graph. All neighbors of vertex 9 are connectedand a new tree node is created.
Elimination ordering: 10, 9, 8, 7, 2, 3, 6, 1, 5, 4
TU Dresden, 13th May 2014 PSSAI slide 61 of 73
Perfect Elimination Ordering ctd.
Elimination ordering: 10, 9, 8, 7, 2, 3, 6, 1, 5, 4
TU Dresden, 13th May 2014 PSSAI slide 62 of 73
Perfect Elimination Ordering ctd.
Elimination ordering: 10, 9, 8, 7, 2, 3, 6, 1, 5, 4
TU Dresden, 13th May 2014 PSSAI slide 63 of 73
Perfect Elimination Ordering ctd.
Elimination ordering: 10, 9, 8, 7, 2, 3, 6, 1, 5, 4
TU Dresden, 13th May 2014 PSSAI slide 64 of 73
Perfect Elimination Ordering ctd.
Elimination ordering: 10, 9, 8, 7, 2, 3, 6, 1, 5, 4
TU Dresden, 13th May 2014 PSSAI slide 65 of 73
Perfect Elimination Ordering ctd.
Elimination ordering: 10, 9, 8, 7, 2, 3, 6, 1, 5, 4
TU Dresden, 13th May 2014 PSSAI slide 66 of 73
Perfect Elimination Ordering ctd.
Elimination ordering: 10, 9, 8, 7, 2, 3, 6, 1, 5, 4
TU Dresden, 13th May 2014 PSSAI slide 67 of 73
Perfect Elimination Ordering ctd.
Elimination ordering: 10, 9, 8, 7, 2, 3, 6, 1, 5, 4
TU Dresden, 13th May 2014 PSSAI slide 68 of 73
Perfect Elimination Ordering ctd.
Elimination ordering: 10, 9, 8, 7, 2, 3, 6, 1, 5, 4
TU Dresden, 13th May 2014 PSSAI slide 69 of 73
Perfect Elimination Ordering ctd.
Elimination ordering: 10, 9, 8, 7, 2, 3, 6, 1, 5, 4
TU Dresden, 13th May 2014 PSSAI slide 70 of 73
Tree Decomposition of a Graph
Width: max(vertices in tree node)−1 = 3.
Treewidth: minimal width over all possible tree decompostions.
TU Dresden, 13th May 2014 PSSAI slide 71 of 73
Bounded Treewidth for CSP
If a graph has treewidth k, and we are given the corresponding treedecomposition, then the problem can be solved in O(ndk+1) time.
n - number of variables,
d - maximum domain size of any variable in the CSP.
But, finding the decomposition with minimal treewidth is NP-hard.
→ Heuristic methods work well in practice!
TU Dresden, 13th May 2014 PSSAI slide 72 of 73
References
Martin Gebser, Benjamin Kaufmann Roland Kaminski, and TorstenSchaub.Answer Set Solving in Practice.Synthesis Lectures on Artificial Intelligence and Machine Learning.Morgan and Claypool Publishers, 2012.doi=10.2200/S00457ED1V01Y201211AIM019.
Michael Gelfond and Vladimir Lifschitz.Classical negation in logic programs and disjunctive databases.New Generation Comput., 9(3–4):365–386, 1991.
• See also: http://potassco.sourceforge.net
TU Dresden, 13th May 2014 PSSAI slide 73 of 73