Pelacakan
Lesson 2
Pendahuluan
Semua Bidang AI adalah
Pelacakan
Game
Ruang masalah (problem spaces)
Contoh 1 4 Puzzle
Problem
Puzzle yang terdiri atas 4 buah cell
Tiga cell berisi digit angka, 1 cell kosong (blank)
Terdapat 4 operasi swapping: Blank-Up (BU),
Blank-Down (BD), Blank-Left (BL), dan BlankRight (BR)
BU berarti posisi Blank (B) ditukar dengan posisi
cell di atasnya, dst.
Masalahnya adalah: bagaimana mencapai final
state dari sebuah initial state dengan langkah
seminimum mungkin?
Contoh 1 4 Puzzle
(lanj.)
Contoh:
Contoh 1 4 Puzzle
(lanj.)
Contoh:
Contoh 1 4 Puzzle
(lanj.)
Untuk mendapatkan solusi menggunakan statespace approach, yang harus dilakukan adalah:
1. Menyatakan masalah dalam bentuk ruang state (state
space)
2. Menerapkan teknik searching tertentu untuk
mendapatkan solusi
Contoh 1 4 Puzzle
(lanj.)
State-space (ruang state, ruang keadaan) dari
masalah 4 Puzzle ini adalah kumpulan state
puzzle yang mungkin terjadi
Beberapa state yang mungkin terjadi di
antaranya:
(1, 2, 3, B)
(1, 2, B, 3)
(1, B, 3, 2)
dst..
Contoh 1 4 Puzzle
(lanj.)
Jadi, state dalam masalah 4 Puzzle ini dapat
didefinisikan sebagai nilai puzzle di setiap blok,
yang dinyatakan dgn:
(w, x, y, z), dengan nilai yang mungkin untuk w, x, y, z
adalah 1, 2, 3, B dan tidak boleh sama satu sama lain
Contoh 1 4 Puzzle
(lanj.)
Untuk kasus 4 Puzzle, operasi yang dapat
dilakukan terhadap state adalah sbb:
1.
2.
3.
4.
Op
Op
Op
Op
Contoh 1 4 Puzzle
(lanj.)
Aturan-aturan (rules) yang dapat
digunakan di antaranya:
1.
2.
3.
4.
5.
Contoh 1 4 Puzzle
(lanj.)
Contoh rules yang lebih generik:
1. p4 = B BU:(swap p2-p4) atau BL:(swap p3-p4)
2. P3 = B BU:(swap p1-p3) atau BL:(swap p4-p3)
3. ...
4. dst.
pi = nilai di kotak ke-i pada 4-Puzzle
Contoh 1 4 Puzzle
(lanj.)
ruang state yang
dihasilkan
Dengan menerapkan
teknik seraching
tertentu (yang akan
dipelajari di bagian
berikutnya) maka akan
diperoleh solusinya
adalah 2 langkah,
yaitu BL lalu BU
1. Graf Keadaan
2. Pohon Pelacakan
3. Pohon And/Or
Graf Keadaan
Terdiri dr simpul (node) dan busur (arc).
Simpul menunjukkan keadaan, yaitu
keadaan awal dan keadaan baru yang
akan dicapai dengan menggunakan
operator.
Busur menghubungkan suatu simpul
dengan simpul lainnya.
Busur menunjukkan arah dr suatu keadaan
ke keadaan berikutnya.
Dalam praktek, sangat sulit
Graf Keadaan
Simpul M menunjukkan
keadaan awal. Simpul T
adalah tujuan.
Ada 4 lintasan dr M ke T:
1. M-A-B-C-E-T
2. M-A-B-C-E-H-T
3. M-D-C-E-T
Pohon Pelacakan
Untuk menghindari
kemungkinan adanya proses
pelacakan simpul secara
berulang pada Graph Keadaan,
digunakan Pohon Pelacakan,
berupa struktur pohon.
Pohon
Pelacakan
M
Pohon Pelacakan
Simpul pada Level 0 disebut akar (root).
Simpul akar menunjukkan keadaan awal
yang biasanya merupakan topik atau
obyek.
Simpul akar memiliki beberapa
percabangan yang terdiri atas beberapa
simpul successor yang disebut anak
(child) dan merupakan simpul perantara.
Namun, jika dilakukan pelacakan mundur ,
maka dapat dikatakan bahwa simpul
Pohon Pelacakan
Simpul yang tidak memiliki anak
disebut daun (leaf) yang
menunjukkan akhir dr suatu
pencarian.
Simpul daun dapat berupa
tujuan yang diharapkan (goal)
atau jalan buntu (dead end).
Atura
n
yang
ditera
pkan
ember 3)
bervolum
e 3 liter4)
Latihan 2
Petani Kambing Srigala Rumput
Seorang Petani akan menyeberangkan
seekor Kambing, seekor Srigala, dan
Rumput dengan menggunakan perahu
menyeberangi sungai.
Perahu hanya bisa memuat Petani dan
salah satu dari yang hendak
diseberangkan (Kambing / Srigala /
Rumput).
Jika ditinggalkan oleh Petani, maka
Rumput akan dimakan oleh Kambing dan
Latihan 2
Petani Kambing Srigala
Rumput-lanj.
Deskripsikan secara formal problema
PKSR tersebut!
Bagaimanakah salah satu solusi
masalah PKSR tersebut dengan
deskripsi formal yang dibuat?
Bagaimanakah representasi ruang
keadaan dengan Pohon Pelacakan
untuk masalah tersebut?
Teknik Pencarian
Pendahuluan
Setelah permasalahan direpresentasikan
dalam bentuk state-space, maka
selanjutnya dilakukan pencarian
(searching) di dalam state-space tersebut
untuk menentukan solusi permasalahan
Hal penting dalam menentukan
keberhasilan sistem berdasar kecerdasan
adalah kesuksesan dalam pencarian dan
pencocokan.
Teknik
Pencarian/Pelacakan
Teknik
Pencarian/Pelacakan
Teknik pencarian dibedakan satu sama lain khususnya dalam
hal urutan ekspansi node
Teknik pencarian dievaluasi dalam beberapa aspek, di
antaranya:
Completeness
apakah selalu berhasil menemukan solusi?
Time complexity
berapa lama waktu yang diperlukan untuk menemukan solusi
Space complexity
berapa banyak space memory yang diperlukan untuk mencari
solusi?
Optimality
apakah teknik tersebut dapan menemukan solusi yang paling
optimal jika ada beberapa alternatif solusi?
Teknik
Pencarian/Pelacakan
Time dan space complexity diukur
menggunakan parameter2:
b (branching factor), faktor percabangan
maksimum dari search tree
d (depth), kedalaman (level tree) dari
solusi yang diperoleh
Finding Route
Perhatikan peta di bawah ini
Oradea
71
Neamt
75
Zerind
151
87
lasi
140
Arad
Sibiu
118
99
Fagaras
92
80
Timisora
Vaslui
Rimnicu Vilcea
111
97
Pitesti
211
142
Lugoj
70
146
Mehadia
75
Dobreta
138
Urziceni
Bucharest
120
Craiova
98
85
101
90
Giurgiu
Hirsova
86
Eforie
Finding Route
Jika akan dilakukan perjalanan dari
Arad ke Bucharest, maka akan
diperoleh sebagian search-tree
sebagai berikut
Finding Route
Bagaimana rute dari Arad ke
Bucharest?
C
R
D
R
G
R
H
Uninformed x Informed
Search
Pada kasus rute Arad-Bucharest, ada 3 alternatif
kota yang dapat dipilih dari Arad, yaitu: Sibiu,
Timisoara, Zerind
Uninformed Search tidak punya preferensi sama
sekali di antara 3 pilihan kota tersebut, hanya
memilih berdasarkan urutan di dalam teknik
pencariannya
Informed Search akan punya preferensi di antara
pilihan tersebut berdasarkan parameter tertentu,
misal: jarak
Depth-First Search
Representasi: Diagram pohon atau grafik
Pencarian dilakukan dari Simpul Akar ke
simpul yang memiliki level lebih tinggi
(Simpul Anak).
Proses pencarian dilakukan pada semua
Simpul Anak sebelum dilakukan
pencarian ke simpul-simpul yang selevel.
Depth-First Search
Depth-First Search
Depth-First Search
Depth-First Search
Depth-First Search
Depth-First Search
Depth-First Search
Depth-First Search
Depth-First Search
Depth-First Search
Depth-First Search
Depth-First Search
Depth-First Search
Depth-First Search
Prosedur pelacakan:
1.Berikan simpul awal pada daftar open
2.Loop: if open = kosong then exit (fail)
3.n : = first (open)
4.if goal (n) then exit (success)
5.Remove (n, open)
6.Ekspansikan n, berikan semua simpul anak pada kepala open
dan bubuhkan pointer dari simpul anak ke n
7.Kembali ke Loop
Penjelasan:
.Pada langkah 3, elemen pertama daftar open diambil
.Ekspansi simpul n = pembangkitan simpul-simpul anak
dari suatu simpul n
Depth-First Search
Depth-First Search
Perubahan daftar open:
(S) (A B) (C D B) (D B) (B) (E
F) (H G F) (G F)
Dengan diagram grafik:
5. Remove (n, open)
Add (n, closed)
6. Ekspansikan n. Berikan pada kepala open
semua simpul anak yang belum muncul pada
open atau closed dan bubuhkan pointer ke n.
Depth-First Search
Keuntungan:
1.Membutuhkan memori yang relatif kecil, karena hanya
simpul-simpul pada linatasan yang aktif saja yang disimpan.
2.Secara kebetulan, metode ini akan menemukan solusi tanpa
harus menguji lebih banyak lagi dalam ruang keadaaan.
.Kelemahan:
1.Memungkinkan tidak ditemukannya tujuan yang diharapkan.
2.Hanya akan mendapatkan 1 solusi pada setiap pencarian.
Breadth-First Search
Bersifat horizontal
Evaluasi dilakukan terhadap simpul-simpul
pada suatu level sebelum dilanjutkan pada
level berikutnya
Pencarian dimulai dari Simpul Akar (Level 0)
terus ke Level 1 dari kiri ke kanan sampai
semua simpul pada level tersebut dikunjungi,
dan seterusnya ke Level 2, 3, ... sampai
ditemukannya solusi.
Breadth-First Search
Breadth-First Search
Breadth-First Search
Breadth-First Search
Breadth-First Search
Breadth-First Search
Prosedur Pelacakan:
1.Berikan simpul awal pada open
2.Loop: if open = kosong then exit (fail)
3.n : = first (open)
4.If goal (n) then exit (success)
5.Remove (n, open)
6.Add (n, closed)
7.Ekspansikan n. Berikan pada ekonr open semua simpul
anak yang belum muncul pada open atau closed dan
bubuhkan pointer ke n.
8.Kembali ke Loop
Breadth-First Search
Untuk menghitung time complexity dan space
complexity dari teknik ini, misalkan branching
factor pada tree yang digunakan adalah b, dan
goal state terdapat pada level ke-d dari tree
Maka, banyaknya nodes maksimum yang akan
ditelusuri dan disimpan sampai menemukan
solusi (mencapai goal state) adalah sbb:
Breadth-First Search
Kebutuhan waktu dan memori BFS
Breadth-First Search
Keuntungan:
1. Tidak akan menemui jalan buntu
2. Jika hanya ada satu solusi, maka akan menemukannya.
Dan jika ada lebih dari satu solusi, maka solusi minimum
(dalam hal kedalaman tree) akan ditemukan.
.Kelemahan:
1. Membutuhkan memori yang cukup banyak, karena
menyimpan semua simpul dalam satu pohon.
2. Membutuhkan waktu yang cukup lama, karena akan
menguji n level untuk mendapatkan solusi pada level
yang ke (n+1).
Pendahuluan
Blind Search tidak selalu dapat
diterapkan dengan baik.
Di antara kelemahannya adalah
waktu aksesnya yang cukup lama
serta besarnya memori yang
diperlukan.
Kelemahan ini sebenarnya dapat
diatasi dengan memberikan
informasi tambahan dari domain
Pendahuluan
Heuristik adalah rule of thumb berbasis knowledge
untuk menentukan pilihan dari sejumlah alternatif
untuk mencapai sasaran dengan efektif
Heuristic bersifat estimasi, bukan perhitungan
aktual/real
Heuristik dipergunakan untuk mempersempit ruang
pelacakan mengurangi waktu dan memory yang
dipakai
Heuristic juga digunakan untuk mendapatkan solusi
yang optimal
Heuristic search informed search, tidak berlaku
sebaliknya
BU (Blank Up)
BD (Blank Down)
BL (Blank Left)
BR (Blank Right)
Finding Route
Perhatikan peta di bawah ini
Oradea
71
Neamt
75
Zerind
151
87
lasi
140
Arad
Sibiu
118
99
Fagaras
92
80
Timisora
Vaslui
Rimnicu Vilcea
111
97
Pitesti
211
142
Lugoj
70
146
Mehadia
75
Dobreta
138
Urziceni
Bucharest
120
Craiova
98
85
101
90
Giurgiu
Hirsova
86
Eforie
Kekurangan:
Time complexity besar
Space complexity besar
Teknik Heuristik
Beberapa teknik yang akan
dipelajari:
1. Best-First Search
a. Greedy Search
b. A* search
2. Hill Climbing
71
Neamt
75
Zerind
151
87
lasi
140
Arad
Sibiu
118
99
Fagaras
92
80
Timisora
Vaslui
Rimnicu Vilcea
111
97
Pitesti
211
142
Lugoj
70
146
Mehadia
75
Dobreta
138
Urziceni
Bucharest
120
Craiova
98
85
101
90
Giurgiu
Hirsova
86
Eforie
A* Search
Ide dari A* search:
Menghindari path/jalur yang sudah
bernilai expensive
D.k.l, di dalam A* search
dipertimbangkan juga cost yang
telah dicapai sebelumnya
A* Search
A* Search
Tentukan rute Arad Bucharest
menggunakan A* search
A* Search
A* Search
A* Search
A* Search
A* Search
What is Admissible
Heuristic?
Aheuristich(n) isadmissible
ifforeverynoden,
h(n)
h*(n),whereh*(n) istheactual
minimum
costtoreachthegoalstatefrom
n
Anadmissibleheuristicnever
overestimates theactual
Contoh-1
Diketahui
state-space
seperti di
samping. Jika
initial state
adalah s dan
final statenya
adalah g,
Contoh-2
Cari solusi dari soal sebelumnya
menggunakan greedy dan A/A*
search jika diketahui cost
menunjukkan jarak, dan fungsi
heuristic h(n) dari titik n ke final
state (g) adalah sebagai berikut:
a. h(a) = 2, h(b) = 3, h(c) = 1, h(d) = 4,
h(g) = 0, h(s) = 10
b. h(a) = 2, h(b) = 3, h(c) = 1, h(d) = 1,
Contoh 1- UC Search
Contoh 1- UC Search
Contoh 1- UC Search
Contoh 1- UC Search
Contoh 1- UC Search
Contoh 1- UC Search
Contoh 1- UC Search
Contoh-2a GreedyRevising
Contoh-2a GreedyRevising
Contoh-2a GreedyRevising
Contoh-2a GreedyRevising
Contoh-2a GreedyRevising
Latihan
Terdapat permasalahan 8-puzzle
dimana ada 4 operator yang dapat
yaitu: BU (Blank Up), BD (Blank
Down), BL (Blank Left), BR (Blank
Right). Ingin dicari langkah
penyelesaian untuk mengubah
initial state menjadi final state
berikut ini:
Latihan-lanjutan
Bandingkan solusi penyelesaian yang
dihasilkan oleh kedua teknik berikut ini:
Greedy search, dengan fungsi heuristic f(n) =
h(n) dimana h(n) = cost yang akan ditanggung
ke depannya jika memilih state atau node-n =
total gerakan vertikal dan horisontal yang
diperlukan setiap ubin pada state-n untuk
mencapai final state
A/A* search, dengan fungsi heuristic f(n) =
g(n) + h(n), dimana:
g(n) = cost yang sudah dicapai = total gerakan ubin
dari mulai initial state
Hill Climbing
Ide dasar algoritma searching Hill
Climbing:
Searching for a goal state =
Climbing to the top of a hill
Menggunakan fungsi heuristic
yang mengestimasi seberapa
dekat sebuah node/state ke goal
state
Hill Climbing
Ingat bahwa fungsi heuristic
mengestimasi seberapa dekat sebuah
node/state ke goal state atau
mengestimasi cost dari sebuah node ke
goal state
Semakin dekat dengan goal state,
semakin kecil costnya (semakin kecil
nilai heuristicnya)
Pada banyak kasus, goal state akan
Hill Climbing
Ada dua jenis:
1. Simple Hill-Climbing
2. Steepest Ascent Hill Climbing
Steepest-Ascent Hill
Climbing
Algoritma:
1. Evaluate initial state
2. Loop until a solution is found or
there are no new operators left to
be applied:
1) Select and apply a new operator to
generate new states
2) Evaluate the new state:
1. goal quit, or
Steepest-Ascent Hill
Climbing
Key selection:
Best value and better than current state
Harusmemiliki nilai heuristic terkecil dan
nilainya lebih baik dari nilai heuristic
current state
Hill Climbing
Pada Simple HC maupun SteepestAscent HC, terdapat beberapa potensi
masalah:
Bagaimana jika pada titik/level tertentu di
antara child-nodes yang dihasilkan tidak
ada yang memiliki nilai heuristic yang lebih
baik?
Bagaimana jika node/state terakhir pada
path yang dipilih bukan merupakan goal
state?
Kondisi seperti ini sering disebut local
Hill Climbing-Local
Maximum
Local Maximum adalah kondisi dimana
terdapat state yang nilainya lebih baik
(paling baik) dibanding childtetangganya tetapi tidak lebih baik
dibandingkan node lain di luar
siblingnya
Hill Climbing-Local
Maximum
Contoh:
Hill Climbing-Plateau
Plateau adalah flat area, kondisi dimana
semua node yang bertetangga (sesama
siblings) memiliki nilai heuristic yang
sama
Hill Climbing-Plateau
Contoh:
A
3
B
5
1
2
3
4
A
3
B
5
ACBD/
12
ABDC/
18
DBCA/
12
ADCB/
18
CBAD/
20
ABCD/
19
BCAD/
15
BADC/
12
DACB/
12
BDCA/
15
CABD/
16
Simple
Steepest
71
Neamt
75
Zerind
151
87
lasi
140
Arad
Sibiu
118
99
Fagaras
92
80
Timisora
Vaslui
Rimnicu Vilcea
111
97
Pitesti
211
142
Lugoj
70
146
Mehadia
75
Dobreta
138
Urziceni
Bucharest
120
Craiova
98
85
101
90
Giurgiu
Hirsova
86
Eforie
Latihan-Hill Climbing
Blocks World
Disusun 4 buah
kubus sebagai
berikut (initial state
dan final state)
Tentukan langkahlangkah yang
diperlukan untuk
mencapai f.s
Dalam 1 langkah
hanya dapat diambil
Latihan-Hill Climbing
Blocks World
Rancanglah fungsi
heuristic yang dapat
digunakan sehingga
kita dapat mencari
solusi menggunakan
H
Operasi yang dapat
dilakukan:
Mengambil 1 blok
dan meletakannya
(bisa di atas lantai