Pertemuan VIII
Download
Report
Transcript Pertemuan VIII
Pertemuan VIII
Mid Term Discussions
Alpha Beta Pruning
Logical Agent
(intro to proportional logic)
Mid Term Discussions
• File di-download di
http://sitoba.itmaranatha.org
• Nilai UTS hari Senin selesai
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
Minimax Revisited
- Pruning Example
- Pruning Example
- Pruning Example
- Pruning Example
- Pruning Example
- Pruning Algorithm
- Pruning The “Heuristic”
More Detailed - Pruning Example
minimax(A,0)
Call
Stack
A
A
α=
max
B
G
F
N
-5
O
4
W
-3
D
C
H
3
I
8
J
P
Q
9
X
-5
E
0
-6
L
K
R
0
S
3
M
2
T
5
U
-7
V
-9
A
More Detailed - Pruning Example
minimax(B,1)
Call
Stack
A
max
α=
B
B
β=
min
G
F
N
-5
O
4
W
-3
D
C
H
3
I
8
J
P
Q
9
X
-5
E
0
-6
L
K
R
0
S
3
M
2
T
5
U
-7
V
-9
B
A
More Detailed - Pruning Example
minimax(F,2)
Call
Stack
A
max
α=
B
min
β=
F
F
α=
max
N
G
-5
O
4
W
-3
D
C
H
3
I
8
J
P
Q
9
X
-5
E
0
-6
L
K
R
0
S
3
M
2
T
5
U
-7
V
-9
F
B
A
More Detailed - Pruning Example
minimax(N,3)
max
Call
Stack
A
α=
B
min
β=
F
max
G
-5
α=
N
O
4
W
-3
D
C
H
3
I
8
J
P
Q
9
-6
L
K
R
0
X
-5
E
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
N
F
B
A
More Detailed - Pruning Example
minimax(F,2) is returned to
alpha = 4, maximum seen so far
Call
Stack
A
max
α=
B
min
β=
F
max
G
-5
α=4
α=
N
O
4
W
-3
D
C
H
3
I
8
J
P
Q
9
X
-5
E
0
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
F
B
A
More Detailed - Pruning Example
minimax(O,3)
α=
B
min
F
G
-5
α=4
N
O
O
β=
4
W
-3
D
C
β=
max
min
Call
Stack
A
max
H
3
I
8
J
P
Q
9
X
-5
E
0
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
O
F
B
A
More Detailed - Pruning Example
minimax(W,4)
α=
B
min
F
G
-5
α=4
N
O
4
-3
H
3
I
X
-5
E
0
8
J
P
Q
9
β=
W
D
C
β=
max
min
Call
Stack
A
max
-6
L
K
R
0
S
3
M
2
T
5
blue: terminal state (depth limit)
U
-7
V
-9
W
O
F
B
A
More Detailed - Pruning Example
minimax(O,3) is returned to
beta = -3, minimum seen so far
α=
B
min
F
G
-5
α=4
N
O
4
-3
H
3
X
-5
E
0
I
8
J
P
Q
9
β=-3
β=
W
D
C
β=
max
min
Call
Stack
A
max
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
O
F
B
A
More Detailed - Pruning Example
minimax(O,3) is returned to
O's beta F's alpha: stop expanding O (alpha cut-off)
α=
B
min
F
G
-5
α=4
N
O
4
-3
H
3
X
-5
E
0
I
8
J
P
Q
9
β=-3
W
D
C
β=
max
min
Call
Stack
A
max
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
O
F
B
A
More Detailed - Pruning Example
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
α=
B
min
F
G
-5
α=4
N
O
4
-3
H
3
X
-5
E
0
I
8
J
P
Q
9
β=-3
W
D
C
β=
max
min
Call
Stack
A
max
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
O
F
B
A
More Detailed - Pruning Example
minimax(F,2) is returned to
alpha not changed (maximizing)
α=
B
min
F
G
-5
α=4
N
O
4
-3
H
3
X
-5
E
0
I
8
J
P
Q
9
β=-3
W
D
C
β=
max
min
Call
Stack
A
max
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
F
B
A
More Detailed - Pruning Example
minimax(B,1) is returned to
beta = 4, minimum seen so far
α=
B
min
F
G
-5
α=4
N
O
4
-3
H
3
X
-5
E
0
I
8
J
P
Q
9
β=-3
W
D
C
β=4
β=
max
min
Call
Stack
A
max
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
B
A
More Detailed - Pruning Example
minimax(G,2)
α=
B
min
F
G
-5
α=4
N
O
4
-3
H
3
X
-5
E
0
I
8
J
P
Q
9
β=-3
W
D
C
β=4
max
min
Call
Stack
A
max
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
G
B
A
More Detailed - Pruning Example
minimax(B,1) is returned to
beta = -5, updated to minimum seen so far
α=
B
min
F
G
-5
α=4
N
O
4
-3
H
3
X
-5
E
0
I
8
J
P
Q
9
β=-3
W
D
C
β=-5
β=4
max
min
Call
Stack
A
max
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
B
A
More Detailed - Pruning Example
minimax(A,0,4) is returned to
alpha = -5, maximum seen so far
α=-5
α=
B
min
F
G
-5
α=4
N
O
4
-3
H
3
X
-5
E
0
I
8
J
P
Q
9
β=-3
W
D
C
β=-5
max
min
Call
Stack
A
max
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
A
More Detailed - Pruning Example
minimax(C,1)
α=-5
α=
B
min
C
C
β=
β=-5
F
max
min
Call
Stack
A
max
G
-5
α=4
N
O
4
-3
3
X
-5
E
0
I
8
J
P
Q
9
β=-3
W
H
D
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
C
A
More Detailed - Pruning Example
minimax(H,2)
α=-5
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
8
J
P
Q
9
β=-3
W
H
X
-5
E
0
β=
G
α=4
D
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
H
C
A
More Detailed - Pruning Example
minimax(C,1) is returned to
beta = 3, minimum seen so far
α=-5
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
8
J
P
Q
9
β=-3
W
H
X
-5
E
0
β=3
β=
G
α=4
D
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
C
A
More Detailed - Pruning Example
minimax(I,2)
α=-5
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
8
J
P
Q
9
β=-3
W
H
X
-5
E
0
β=3
G
α=4
D
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
I
C
A
More Detailed - Pruning Example
minimax(C,1) is returned to
beta not changed (minimizing)
α=-5
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
8
J
P
Q
9
β=-3
W
H
X
-5
E
0
β=3
G
α=4
D
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
C
A
More Detailed - Pruning Example
minimax(J,2)
α=-5
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
8
JJ
α=
P
Q
9
β=-3
W
H
X
-5
E
0
β=3
G
α=4
D
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
J
C
A
More Detailed - Pruning Example
minimax(P,3)
α=-5
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
X
-5
J
8
α=
P
Q
9
β=-3
W
H
E
0
β=3
G
α=4
D
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
P
J
C
A
More Detailed - Pruning Example
minimax(J,2) is returned to
alpha = 9
α=-5
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
X
-5
J
8
α=9
α=
P
Q
9
β=-3
W
H
E
0
β=3
G
α=4
D
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
J
C
A
More Detailed - Pruning Example
minimax(J,2) is returned to
J's alpha C's beta: stop expanding J (beta cut-off)
α=-5
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
X
-5
J
8
α=9
P
Q
9
β=-3
W
H
E
0
β=3
G
α=4
D
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
J
C
A
More Detailed - Pruning Example
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
α=-5
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
X
-5
J
8
α=9
P
Q
9
β=-3
W
H
E
0
β=3
G
α=4
D
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
J
C
A
More Detailed - Pruning Example
minimax(C,1) is returned to
beta not changed (minimizing)
α=-5
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
X
-5
J
8
α=9
P
Q
9
β=-3
W
H
E
0
β=3
G
α=4
D
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
C
A
More Detailed - Pruning Example
minimax(A,0) is returned to
alpha = 3, updated to maximum seen so far
α=-5
α=3
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
X
-5
J
8
α=9
P
Q
9
β=-3
W
H
E
0
β=3
G
α=4
D
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
A
More Detailed - Pruning Example
minimax(D,1)
α=3
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
X
-5
J
8
α=9
P
Q
9
β=-3
W
H
E
0
β=3
G
α=4
D
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
D
A
More Detailed - Pruning Example
minimax(A,0) is returned to
alpha not updated (maximizing)
α=3
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
X
-5
J
8
α=9
P
Q
9
β=-3
W
H
E
0
β=3
G
α=4
D
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
A
More Detailed - Pruning Example
How does the algorithm finish the search tree?
α=3
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
X
-5
J
8
α=9
P
Q
9
β=-3
W
H
E
0
β=3
G
α=4
D
-6
L
K
R
0
blue: terminal state
S
3
M
2
T
5
U
-7
V
-9
A
More Detailed - Pruning Example
E's beta A's alpha: stop expanding E (alpha cut-off)
α=3
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
X
-5
β=2
J
8
α=9
P
Q
9
β=-3
W
H
E
0
β=3
G
α=4
D
-6
K
L
R
0
blue: terminal state
S
3
M
2
α=5
T
5
U
-7
V
-9
A
More Detailed - Pruning Example
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
α=3
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
X
-5
β=2
J
8
α=9
P
Q
9
β=-3
W
H
E
0
β=3
G
α=4
D
-6
K
L
R
0
blue: terminal state
S
3
M
2
α=5
T
5
U
-7
V
-9
A
More Detailed - Pruning Example
Result: Computer chooses move to C
α=3
α=
B
min
C
β=-5
F
max
min
Call
Stack
A
max
-5
N
O
4
-3
3
I
X
-5
β=2
J
8
α=9
P
Q
9
β=-3
W
H
E
0
β=3
G
α=4
D
-6
K
L
R
0
blue: terminal state
S
3
M
2
α=5
T
5
U
-7
V
-9
A
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
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
Knowledge based agent
• Representasi Pengetahuan yang bersifat
general.
• Kemampuan beradaptasi sesuai temuan fakta.
• Kemampuan menyimpulkan sesuatu dari
pengetahuan yang sudah ada.
Knowledge based agent
Mula-mula berisi
background
knowledge
Persepsi yang
diterima
Diubah menjadi
pengetahuan
Berdasarkan
pengetahuan
yang dimiliki
Basis Pengetahuan
(Knowledge Base)
pengetahuan
Mesin
Inferensi
(Inference
Engine)
E
percept N
V
I
R
O
N
M
E
N
T
aksi
Hasil dari aksi disimpan kembali
dalam bentuk pengetahuan
Agen memilih
aksi yang tepat
(inferensi)
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
Robot Sonar
Agent Control Architecture
• Control dipisahkan ke dalam lapisan-lapisan yang
merespons tingkah laku
Contoh Control Architecture
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
Generic KB-Agent
KB agent layer
• Knowledge level / epistemological layer
• Logical level
• Implementation level
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
The Wumpus World
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.
• 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
• Actuators:
Left turn, Right turn, Forward, Grab, Release, Shoot
• Sensors:
Breeze, Glitter, Smell,
Bump (jika agent menabrak tembok),
Scream (jika wumpus mati)
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.
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))
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
Soal Latihan Pruning
max
A
B
E
C
F
G
min
D
H
I
J
max
K
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
min