13.11.2013 Views

Advances in Artificial Intelligence Theory - MICAI - Mexican ...

Advances in Artificial Intelligence Theory - MICAI - Mexican ...

Advances in Artificial Intelligence Theory - MICAI - Mexican ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

18 Hui Z., Sikun L.<br />

{α(c 1 /t 1 ,c 2 /t 2 ,…,c n /t n )} where (c 1 /t 1 ,c 2 /t 2 ,…,c n /t n ) are all assignments of (t 1 ,t 2 ,…,t n )<br />

such that P(c 1 ,c 2 ,…,c n );<br />

Rule 3: if α(y/b)∈ S for every constant b such that R(a,b), ∀R(a,y).α is a sub<br />

formula of one element of S and ∀R(a,y). α does not <strong>in</strong> S, then replace S by S′=S∪<br />

{∀R(a,y).α };<br />

Rule 3′: if ∀R(a,y).α ∈ S, but there is a constant b such that R(a,b) and α(y/b) is<br />

not <strong>in</strong> S, then replace S by S′=S∪{α(y/b)};<br />

Rule 4: if there is a constant b such that R(a,b) and α(y/b)∈ S, ∃R(a,y).α is a sub<br />

formula of one element of S but ∃R(a,y).α is not <strong>in</strong> S, then replace S by S′=S∪<br />

{ ∃R(a,y).α};<br />

Rule 4′: if ∃R(a,y).α ∈ S, but there is not a constant b such that R(a,b) and<br />

α(y/b)∈ S, assume the set of all constant b such that R(a,b) is {b 1 ,b 2 ,…,b n }, then<br />

replace S by n sets S i = S∪{α(y/b i )}(i=1,2,…,n);<br />

Rule 5: if α∈ S and β∈ S, α∧β is an sub formula of one element of S, but α∧β is<br />

not <strong>in</strong> S, then replace S by S′=S∪{α∧β};<br />

Rule 5′: if α∧β∈ S but α and β are not both <strong>in</strong> S, then replace S by S′=S∪{ α,β};<br />

Rule 6:if α∈ S or β∈ S, α∨β is an sub formula of one element of S and α∨β is not<br />

<strong>in</strong> S, then replace S by S′=S∪{α∨β};<br />

Rule 6′: if α∨β∈ S but none of the α and β is <strong>in</strong> S, then replace S by S′=S∪{α}<br />

and S″=S∪{β};<br />

Rule 7: ifα→β∈ S and α∈ S but β <strong>in</strong> not <strong>in</strong> S, then replace S by S′=S∪{β};<br />

Def<strong>in</strong>ition 3.2 (clash) We say that a primitive formula set S has a clash if α and<br />

¬α are both <strong>in</strong> S for certa<strong>in</strong> task formula α.<br />

To test whether a f<strong>in</strong>ite set of primitive task formulas S 1 is satisfiable or not, we set<br />

M 1 ={S 1 } and apply the transformation rule <strong>in</strong> the def<strong>in</strong>ition 3.3 to M as long as<br />

possible then we f<strong>in</strong>ally end up with a complete Set M r i.e. a set to which no rule are<br />

applicable. The <strong>in</strong>itial set S 1 is satisfiable if and only if there is a set <strong>in</strong> M r does not<br />

conta<strong>in</strong> a clash (see the follow part of this section for a proof). The test procedure can<br />

be def<strong>in</strong>ed <strong>in</strong> pseudo programm<strong>in</strong>g language as follows:<br />

Algorithm 3.1 (satisfiability judgment) The follow<strong>in</strong>g procedure takes a f<strong>in</strong>ite set<br />

of primitive formulas as an argument and checks whether it is satisfiable or not.<br />

Def<strong>in</strong>e procedure check-satisfiable(S 1 )<br />

r:=1;<br />

M 1 :={S 1 }<br />

While ‘a transformation rule is applicable to M r ’<br />

do<br />

r:=r+1<br />

M r :=apply-a-transformation rule(M r-1 )<br />

od<br />

if ‘there is an S ∈ M r that does not conta<strong>in</strong> a clash’<br />

then return YES;<br />

else return NO.<br />

For example, let {P(room), R(room, mop)} be the doma<strong>in</strong> knowledge. P(room)<br />

means that the cleaner is <strong>in</strong> charge of the room. R(room, mop) means that mop is the<br />

necessary tool to clean the room. If the ability specification is

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!