1 / 36

# G eneral P roblem S olver - PowerPoint PPT Presentation

G eneral P roblem S olver. Monkey and Banana. 2013 Artificial Intelligence Lecture no. 14. G eneral P roblem S olver. 人間の問題解決過程のモデル. 与えられた 知識 → 問題 を解決. 初期 状態 (Initial State) 目的 状態 (target State) オペレータ (operator) 状態 表現 (state representation). 与えられ た 知識 Given Knowledge. など.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about ' G eneral P roblem S olver' - zoltin

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### GeneralProblemSolver

Monkey and Banana

2013 Artificial Intelligence

Lecture no. 14

GeneralProblemSolver

• 人間の問題解決過程のモデル

• 初期状態(Initial State)

• 目的状態(target State)

• オペレータ(operator)

• 状態表現(state representation)

Given Knowledge

など

Monkeyand Banana

How the monkey gets banana？

Needs to climb up on the box

AT(monkey, a)

AT(box, b)

EMPTY

HOLD

(monkey holds banana)

Initial State

Target State

S　→　G

S=G：同じ状態

Reduce

difference=G-S

D3 = distance between monkey and banana

Most important

D2= distance between the box and banana

Necessary to solve D3

D1 = distance between monkey and banana

Necessary to solve D2

importance D3 > D2 > D1

operators

distances

LOOP1: if S satisfy then exit(S)

find D=most important difference between G & S

put all the operators to reduce D into oplist

LOOP2: if empty(oplist) then return(null)

operator:=first(oplist),

remove(operator, oplist),

pc := operatorの前提条件,

if not effective(operator) then goto LOOP2 :

give up, if operator fails to reduce d

if (pc = null) then goto APPLY

S1 = GPS(S, pc)

If S1=fail then goto LOOP2

APPLY : S := operator (S1)

goto LOOP1

GPS algorithm solves“Monkey and Banana”

AT(monkey, a)

AT(box, b)

EMPTY

HOLD

Monkey gets banana

Initial state S0

Final state G0

GPS(S0 , G0)

GPS(S0, G0)

Step 1:

Continue GPS unless S0=G0

Step 2:

Find differences between S0 and G0

D3 = |monkey – banana|

D2 = |box – banana|

D1 = |box – monkey|

D3is most important!

GPS(S0, G0)

Step 3

Operator to reduce D3is GRASP

GRASP is put into oplist

Step 4

oplist is not empty

Continue GPS

GPS(S0, G0)

Step 5

operator = first(oplist),

first(oplist) is removed from oplist,

pc

GRASP solves D !

GPS(S0, G0)

Step 6

Continue to Step 7 if pc exists

Step 7

GPS(S0, pc)

GPS(S0, G1)

Step 1

Continue GPS, unless S0=G1

Step 2

Distances between S0& G1

D2 =|box - banana|

D1 = |monkey – box|

D2is most important

GPS(S0, G1)

Step 3

D is solved by MOVEBOX,

Put MOVEBOX into oplist

Step 4

ContinueGPS unless oplist is empty

GPS(S0, G1)

Step 5

Substitute prerequisit conditions into pc

AT(box, y), AT(monkey, y)}

where y=b is necessary to solve D2

pc = {AT(box, b), AT(monkey, b)}

Continue,

since MOVEBOX reduces D2

GPS(S0, G1)

Step 6

Continue to Step 7 since pc is not empty

Step 7

Run GPS(S0, pc)

GPS(S0, G2)

Step 1

Continue GPS unless S0=G2

Step 2

Distance between S0and G2

D1 =|monkey - box|

D1is most important

GPS(S0, G2)

Step 3

Find operators to reduce D1すand put them into oplist

GOTO and CLIMB are put into oplist

Step 4

Continue GPS unless oplistis empty

GPS(S0, G2)

Step 5

oplist = {CLIMB} , operator =GOTO

Prerequisit conditions of the operator are substituted to pc

pc = (none)

GOTOreduces D1

Step 6

No more pc exist

GPS(S0, G2) → GPS(S1, G2)

Step 9

Apply operator on S0

operator =GOTO(b)

New state S1

GPS(S1, G2) → GPS(S1, G1)

Step 10

Go to Step 1

Step 1

S0=G1

End GPS(S1, G2)

Go back to GPS(S1, G1)

GPS(S1, G1) → GPS(S2, G1)

Step 8

Continue if S1 is not fail

Step 9

Apply operator on S1

operator =MOVEBOX(c)

New state S2

GPS(S2, G1)

Step10

Go to Step1

Step 1

Continue GPS unless S0=G1

Step 2

Difference between S2and G1

D1 =|monkey – box|

D1is most important

GPS(S2, G1)

Step3

Operators to solve D1 are GOTO and CLIMB

Add GOTO and CLIMB to oplist

Step 4

Continue GPS unless oplist is empty

GPS(S2, G1)

Step5

oplist = {CLIMB} , operator = GOTO

Substitute prerequisite conditions to pc

pc = (none)

Go to Step 4, since

No operator can reduce D1

GPS(S2, G1)

Step 5

oplist = {} , operator =CLIMB

Substitute prerequisite conditions of operators into pc

AT(box, y), AT(monkey, y)}

where y=c reduces D1

pc= {AT(box, c), AT(monkey, c)}

Continue since

CLIMB reduces D1

GPS(S2, G1)

Step 6

Continue since pc exists

Step 7

Run GPS(S2, pc)

GPS(S2, G3) → GPS(S2, G1)

Step1

S2=G3

GPS ends.

Go upwards

GPS(S2, G1) → GPS(S3, G1)

Step 8

Continue since S2 is not fail

Step 9

Apply operator on S1

operator =CLIMB

New state S3

GPS(S3, G1) → GPS(S3, G0)

Step 10

Go to Step 1

Step 1

S3=G1

Finish GPS

Go upwards.

GPS(S3, G0) → GPS(S4, G0)

Step8

Continue since S2is not fail

Step 9

Apply operator on S1

operator =DRASP

New state S4

GPS(S4, G0)

Step10

Go to Step 1

Step 1

S4=G0

Finish GPS

End