350 likes | 460 Vues
Decomposition spaces. Spring 2007, Juris V īksna. Sample problem - Towers of Hanoi. [Adapted from R.Shinghal]. Sample problem - Towers of Hanoi. [Adapted from J.Pearl]. Sample problem - Symbolic integration. [Adapted from R.Shinghal]. Sample problem - Symbolic integration.
E N D
Decomposition spaces Spring 2007,Juris Vīksna
Sample problem - Towers of Hanoi [Adapted from R.Shinghal]
Sample problem - Towers of Hanoi [Adapted from J.Pearl]
Sample problem - Symbolic integration [Adapted from R.Shinghal]
Sample problem - Symbolic integration [Adapted from R.Shinghal]
Sample problem - Block world [Adapted from R.Shinghal]
Sample problem - Block world [Adapted from R.Shinghal]
Sample problem - Block world [Adapted from R.Shinghal]
Sample problem - Block world [Adapted from R.Shinghal]
Sample problem - Coin weighting [Adapted from J.Pearl]
Sample problem - Coin weighting [Adapted from J.Pearl]
Decomposition spaces [Adapted from R.Shinghal]
Decomposition spaces <S,C,I,E,U,W> - decomposition space S - set of problems C= {{(x,y1),...,(x,yk)}|x,yiS} - set of connectors IS - the initial problem ES - set of elementary problems US - set of unsolvable problems W: CR+ - weight function
Decomposition spaces • <S,C,I,E,U,W> - decomposition space • The problem • find a solution tree • find a solution tree with minimal weight
Solution tree • Definition • T(n) is a solution tree for node n, if • T(n)={n} and n is an elementary problem • T(n) = {T(n1),....,T(nk)}, where T(n1),...,T(nk) are • solution trees for nodes n1,...,nk and there is a • connector {(n,n1),...,(n,nk)} C
Solution tree • Maximum weight • We define w(T(n)) as follows: • w(T(n)) = 0, if T(n)={n} • w(T(n)) = max{w(T(n1)),....,w(T(nk))} + W(cT), if • T(n) = {T(n1),....,T(nk)}, where • cT= {(n,n1),...,(n,nk)} C
Solution tree • Summary weight • We define w(T(n)) as follows: • w(T(n)) = 0, if T(n)={n} • w(T(n)) = {w(T(n1)),....,w(T(nk))} + W(cT), if • T(n) = {T(n1),....,T(nk)}, where • cT= {(n,n1),...,(n,nk)} C
AND/OR graphs [Adapted from J.Pearl]
Heuristics <S,C,I,E,U,W> - decomposition space h*(x) - a minimum weight for solution tree T(x) h(x) - heuristic estimate of h*(x)
Potential solution tree • <S,C,I,E,U,W> - decomposition space • A S - set of already discovered problems • T(n) is a potential solution tree for node n, if • T(n)={n} , if nA and the children of n does not • belong to A • T(n) = {T(n1),....,T(nk)}, where T(n1),...,T(nk) are • potential solution trees for nodes n1,...,nk and • there is a connector {(n,n1),...,(n,nk)} C
Potential solution tree • (Maximum) weight of potential solution tree • We define w(T(n)) as follows: • w(T(n)) = 0, if T(n)={n} and n is shown to be in E • w(T(n)) = h(n), if T(n)={n} and n is not shown to be in E • w(T(n)) = max{w(T(n1)),....,w(T(nk))} + W(cT), if • T(n) = {T(n1),....,T(nk)}, where • cT= {(n,n1),...,(n,nk)} C
Potential solution tree • (Summary) weight of potential solution tree • We define w(T(n)) as follows: • w(T(n)) = 0, if T(n)={n} and n is shown to be in E • w(T(n)) = h(n), if T(n)={n} and n is not shown to be in E • w(T(n)) = {w(T(n1)),....,w(T(nk))} + W(cT), if • T(n) = {T(n1),....,T(nk)}, where • cT= {(n,n1),...,(n,nk)} C
Most promising solution tree A potential solution tree T(n) is most promising, if it has the minimal weight (of all potential solution trees) We denote the cost of the most promising solution tree by e(n)
AO* algorithm [Adapted from J.Pearl]
Complete search Definition An AO* algorithm is said to be complete if it terminates with a solution when one exists.
Admissible search Definition An AO* algorithm is admissible if it is guaranteed to return an optimal solution (solution tree with minimum possible weight) whenever a solution exists.
Locally finite state spaces • Definition • A decomposition space <S,C,I,E,U,W> is locally finite, if • for every xS, there is only a finite number of yS • such that (x,y)c for some c C • there exists > 0 such that for all cC we have • W(c) .
Completeness of AO* Theorem AO* algorithm is complete on locally finite state spaces.
Admissibility of AO* Definition A heuristic function h is said to be admissible if 0 h(n) h*(n) for all nS.
Admissibility of AO* Theorem AO* which uses admissible heuristic function is admissible on locally finite state spaces.
Admissibility of AO* • Lemma • If AO* uses admissible heuristic function h, then at any • time before AO* terminates: • e(n) h*(n) for nodes from Open • if n is marked as solved then e(n)=h*(n)
Admissibility of AO* Theorem AO* which uses admissible heuristic function is admissible on locally finite state spaces.
Monotone heuristic functions Definition A heuristic function h is said to be monotone, if h(n) min max{h(n1),....,h(nk)} + W(c), where the minimum is taken for all c={(n,n1),...,(n,nk)}C.
Monotone heuristic functions Definition A heuristic function h is said to be monotone, if h(n) min {h(n1),....,h(nk)} + W(c), where the minimum is taken for all c={(n,n1),...,(n,nk)}C.
Monotonicity and admissibility Theorem Every monotone heuristic is also admissible.