This presentation is the property of its rightful owner.
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. など.

G eneral P roblem S olver

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 - - - - - - - - - - - - - - - - - - - - - - - - - -

## 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

### 初期状態(initial state),目的状態(target state)

AT(monkey, a)

AT(box, b)

EMPTY

HOLD

(monkey holds banana)

Initial State

Target State

S　→　G

S=G：同じ状態

Reduce

difference=G-S

### Importance of Differences

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

### GPS algorithm

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

### Introduction

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)

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

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

Step10

Go to Step 1

Step 1

S4=G0

Finish GPS

End