Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M...

71
Pertemuan 9 Mid Term Discussions Alpha Beta Pruning Logical Agent (intro to proportional logic)

Transcript of Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M...

Page 1: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Pertemuan 9

Mid Term Discussions Alpha Beta Pruning

Logical Agent (intro to proportional logic)

Page 2: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Algoritma Alpha Beta (optimized MinMax)

• Beberapa cabang tidak perlu untuk dibuka jika berhadapan dengan lawan yang cerdas

• Idenya adalah dengan memantau nilai pada cabang setiap kali DFS dilakukan

• Yang dipantau adalah nilai alpha (jika MAX), dan beta (jika MIN)

• Alpha = nilai terbesar sampai saat ini • Beta = nilai terkecil sampai saat ini • Jika Beta Alpha, stop percabangan

– Tidak ada nilai yang lebih menguntungkan MAX – MIN tidak mengijinkan MAX untuk terus maju

Page 3: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Minimax Revisited

Page 4: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

- Pruning Example

Page 5: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

- Pruning Example

Page 6: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

- Pruning Example

Page 7: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

- Pruning Example

Page 8: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

- Pruning Example

Page 9: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

- Pruning Algorithm

Page 10: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

- Pruning The “Heuristic”

Page 11: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

O

W -3

B

N 4

F G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A

minimax(A,0)

max Call

Stack

A

A A α=

Page 12: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

O

W -3

B

N 4

F G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(B,1)

max Call

Stack

A

B B β=

B

min

Page 13: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

O

W -3

B β=

N 4

F G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(F,2)

max Call

Stack

A

F F α=

B

min

max

F

Page 14: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

O

W -3

B β=

N 4

F α=

G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(N,3)

max Call

Stack

A

N 4

B

min

max

F

blue: terminal state

N

Page 15: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

O

W -3

B β=

N 4

F α=

G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(F,2) is returned to

max Call

Stack

A

alpha = 4, maximum seen so far

B

min

max

F

blue: terminal state

F α=4

Page 16: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

O

W -3

B β=

N 4

F α=4

G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(O,3)

max Call

Stack

A

B

min

max

F

blue: terminal state

O

min O O β=

Page 17: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=

W -3

B β=

N 4

F α=4

G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(W,4)

max Call

Stack

A

B

min

max

F

blue: terminal state (depth limit)

O

W -3

min

W

Page 18: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=

W -3

B β=

N 4

F α=4

G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(O,3) is returned to

max Call

Stack

A

beta = -3, minimum seen so far

B

min

max

F

O

min O β=-3

Page 19: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=

N 4

F α=4

G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(O,3) is returned to

max Call

Stack

A

O's beta F's alpha: stop expanding O (alpha cut-off)

B

min

max

F

O

min

X -5

Page 20: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=

N 4

F α=4

G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

Why? Smart opponent will choose W or worse, thus O's upper bound is –3. So computer shouldn't choose O:-3 since N:4 is better

max Call

Stack

A

B

min

max

F

O

min

Page 21: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=

N 4

F α=4

G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α= max

Call

Stack

A

B

min

max

F min

X -5

alpha not changed (maximizing)

minimax(F,2) is returned to

Page 22: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=

N 4

F α=4

G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(B,1) is returned to

max Call

Stack

A

B

min

max

min

X -5

beta = 4, minimum seen so far

B β=4

Page 23: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=4

N 4

F α=4

G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(G,2)

max Call

Stack

A

B

min

max

min

X -5

G

G -5

Page 24: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=4

N 4

F α=4

G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(B,1) is returned to

max Call

Stack

A

B

min

max

X -5

beta = -5, updated to minimum seen so far

B β=-5

min

Page 25: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(A,0,4) is returned to

max Call

Stack

A

min

max

X -5

alpha = -5, maximum seen so far

A α=-5

min

Page 26: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(C,1)

max Call

Stack

A

min

max

min

X -5

A α=-5

C

C C β=

Page 27: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C β=

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(H,2)

max Call

Stack

A

min

max

min

X -5

A α=-5

C

H 3

H

Page 28: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C β=

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(C,1) is returned to

max Call

Stack

A

min

max

min

X -5

beta = 3, minimum seen so far

A α=-5

C

C β=3

Page 29: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C β=3

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(I,2)

max Call

Stack

A

min

max

min

X -5

A α=-5

C

I 8

I

Page 30: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C β=3

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(C,1) is returned to

max Call

Stack

A

min

max

min

X -5

beta not changed (minimizing)

A α=-5

C

Page 31: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C β=3

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J L 2

A α=

minimax(J,2)

max Call

Stack

A

min

max

min

X -5

A α=-5

C

J

J J α=

Page 32: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C β=3

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J α=

L 2

A α=

minimax(P,3)

max Call

Stack

A

min

max

min

X -5

A α=-5

C

J

P P 9

Page 33: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C β=3

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J α=

L 2

A α=

minimax(J,2) is returned to

max Call

Stack

A

min

max

min

X -5

alpha = 9

A α=-5

C

J

J α=9

Page 34: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C β=3

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J α=9

L 2

A α=

minimax(J,2) is returned to

max Call

Stack

A

min

max

min

X -5

J's alpha C's beta: stop expanding J (beta cut-off)

A α=-5

C

J Q -6

R 0

Page 35: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C β=3

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J α=9

L 2

A α= max

Call

Stack

A

min

max

min

X -5

A α=-5

C

J

Why? Computer should choose P or better, thus J's lower bound is 9; so smart opponent won't take J:9 since H:3 is worse

Page 36: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C β=3

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J α=9

L 2

A α=

minimax(C,1) is returned to

max Call

Stack

A

min

max

min

X -5

beta not changed (minimizing)

A α=-5

C

Page 37: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C β=3

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J α=9

L 2

A α=

minimax(A,0) is returned to

max Call

Stack

A

min

max

min

X -5

alpha = 3, updated to maximum seen so far

A α=-5 A α=3

Page 38: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C β=3

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J α=9

L 2

A α= max

Call

Stack

A

min

max

min

X -5

A α=3

D

D 0

minimax(D,1)

Page 39: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C β=3

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J α=9

L 2

A α=

minimax(A,0) is returned to

max Call

Stack

A

min

max

min

X -5

alpha not updated (maximizing)

A α=3

Page 40: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E D 0

C β=3

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K M H 3

I 8

J α=9

L 2

A α=

How does the algorithm finish the search tree?

max Call

Stack

A

min

max

min

X -5

A α=3

Page 41: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E β=2

D 0

C β=3

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K α=5

M H 3

I 8

J α=9

L 2

A α=

E's beta A's alpha: stop expanding E (alpha cut-off)

max Call

Stack

A

min

max

min

X -5

A α=3

Page 42: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E β=2

D 0

C β=3

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K α=5

M H 3

I 8

J α=9

L 2

A α= max

Call

Stack

A

min

max

min

X -5

A α=3

Why? Smart opponent will choose L or worse, thus E's upper bound is 2; so computer shouldn't choose E:2 since C:3 is better path

Page 43: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

More Detailed - Pruning Example

blue: terminal state

O β=-3

W -3

B β=-5

N 4

F α=4

G -5

X -5

E β=2

D 0

C β=3

R 0

P 9

Q -6

S 3

T 5

U -7

V -9

K α=5

M H 3

I 8

J α=9

L 2

A α=

Result: Computer chooses move to C

max Call

Stack

A

min

max

min

X -5

A α=3

Page 44: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Properti - Pruning

• Tidak mengubah hasil akhir

• Urutan simpul akan mempengaruhi pemangkasan yang terjadi

– Kasus terbaik = O(bm/2)

– Kasus terburuk = O(bm) = DFS

• Fungsi evaluasi dapat digunakan untuk mengatur susunan simpul

Page 45: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Logical Intelligent Agent

• Problem solving agent hanya bisa menyelesaikan masalah yang lingkungannya accessible

• Kita membutuhkan agen yang dapat menambah pengetahuan dan menyimpulkan keadaan

• Agent seperti ini kita beri nama knowledge based agent

Page 46: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Knowledge based agent

• Representasi Pengetahuan yang bersifat general.

• Kemampuan beradaptasi sesuai temuan fakta.

• Kemampuan menyimpulkan sesuatu dari pengetahuan yang sudah ada.

Page 47: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Knowledge based agent

E

N

V

I

R

O

N

M

E

N

T

Mesin

Inferensi

(Inference

Engine)

percept

aksi

Basis Pengetahuan

(Knowledge Base)

pengetahuan

Mula-mula berisi

background

knowledge

Persepsi yang

diterima

Diubah menjadi

pengetahuan

Berdasarkan

pengetahuan

yang dimiliki

Agen memilih

aksi yang tepat

(inferensi)

Hasil dari aksi disimpan kembali

dalam bentuk pengetahuan

Page 48: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Knowledge Based Agent

• Komponen utama dari knowledge based agent adalah knowledge basenya

• Knowledge base (KB) adalah kumpulan representasi fakta tentang lingkungan atau dunia yang berhubungan atau menjadi daerah bekerjanya agen

• Setiap representasi dalam KB disebut sebagai sebuah sentence yang diekspresikan dalam sebuah bahasa yakni knowledge representation language

Page 49: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Robot Sonar

Page 50: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Agent Control Architecture

• Control dipisahkan ke dalam lapisan-lapisan yang merespons tingkah laku

Page 51: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Contoh Control Architecture

Page 52: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Knowledge Based Agent

• Inferensi adalah proses menyimpulkan fakta dari fakta fakta yang sudah ada di KB

• KB agent memiliki pengetahuan dasar yang disebut sebagai background knowledge

Page 53: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Generic KB-Agent

Page 54: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

KB agent layer

• Knowledge level / epistemological layer

• Logical level

• Implementation level

Page 55: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Syarat Representasi KB

• Representational Adequacy

kemampuan merepresentasikan semua pengetahuan yang dibutuhkan dalam

domainnya

• Inferential Adequacy

kemampuan memanipulasi struktur pengetahuan untuk membentuk struktur baru

dalam menampung pengetahuan baru hasil inferensi

• Inferential Efficiency

kemampuan untuk manambahkan informasi untuk mempercepat pencarian dalam

inferensi

• Acquisitional Efficiency

kemampuan untuk menambah informasi baru secara mudah

Page 56: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

The Wumpus World

Page 57: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Wumpus world

• Environment sederhana, berguna untuk menguji dan menjelaskan logical agent.

• Gua gelap dengan banyak ruangan yang dihubungkan dengan lorong-lorong.

• Agent masuk ke gua untuk mengambil emas yang ada di salah satu ruangan.

• Wumpus (monster) bersembunyi di salah satu ruangan. Jika agent bertemu, ia akan menjadi santapannya.

• Terdapat ruang-ruang yang memiliki lubang jebakan yang dapat membunuh agent.

• Agen hanya punya 1 panah yang bisa membunuh wumpus dari jarak jauh.

Page 58: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

• Performance Measure:

ketemu emas: +1000, mati: -1000

-1 untuk setiap langkah, -10 untuk memanah

• Environment:

– Petak yang bersebelahan dengan wumpus berbau busuk (smelly)

– Petak yang bersebelahan dengan pit (lubang) terasa angin (breezy)

– Petak tempat emas berada bercahaya (Glitter)

– Agent dapat memanah mati wumpus jika berhadapan langsung

– Memanah perlu 1 panah

– Agent bisa mengambil emas jika berada di petak emas tersebut ada

Page 59: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

• Actuators:

Left turn, Right turn, Forward, Grab, Release, Shoot

• Sensors:

Breeze, Glitter, Smell,

Bump (jika agent menabrak tembok),

Scream (jika wumpus mati)

Page 60: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Background knowledge :

• Jika ada bau maka ada wumpus di petak tetangga

• Jika ada angin maka ada lubang di petak tetangga

• Jika tak ada bau maka tak ada wumpus di petak tetangga

• Jika tak ada angin maka tak ada lubang di petak tetangga

• Jika tak ada lubang dan Wumpus boleh maju

• dst.

Page 61: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

1. Tak ada angin dan bau di (1,1) maka tak ada Wumpus dan lubang di (2,1) dan (1,2)

2. Maju ke (2,1)

3. Ada angin di (2,1) maka ada lubang di (2,2) atau (3,1)

4. Tak ada bau di (2,1) maka tak ada Wumpus di (2,2) dan (3,1)

5. Mundur ke (1,1)

6. Maju ke (1,2)

7. Ada bau di (1,2) maka ada Wumpus di (3,1) (karena tidak ada Wumpus di (2,2))

Page 62: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min
Page 63: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min
Page 64: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min
Page 65: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min
Page 66: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min
Page 67: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min
Page 68: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min
Page 69: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min
Page 70: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Breeze di (1,2) dan (2,1)

tidak ada aksi yang aman

Jika distribusi peluang lubang seragam, maka kemungkinan lubang ada di (2,2) lebih besar daripada (1,3)/(3,1)

Smell di (1,1)

wumpus ada di (1,2) atau (2,1), agent tidak dapat bergerak.

bisa menggunakan strategi: panah lurus ke depan

ada wumpus wumpus mati aman

tidak ada wumpus aman

Page 71: Pertemuan 9 · 2011. 12. 3. · F α=4 G -5 X -5 D E 0 C β=3 R 0 P 9 Q -6 S 3 T 5 U -7 V -9 H K M 3 I 8 J α=9 L 2 A α= minimax(J,2) is returned to max Call Stack A min max min

Soal Latihan Pruning

A

B

F E G H I J K

C D

L M N O P Q R S T U V W X Y

7 6 8 5 2 3 0 -2 6 2 5 8 9 2

max

min

max

min