TEKNIK PELACAKAN

Download Report

Transcript TEKNIK PELACAKAN

TEKNIK PELACAKAN
Jika suatu persoalan dapat
diREPRESENTASIKAN oleh ruang
keadaan, maka teknik pelacakan dapat
dgn mudah dilakukan dlm ruang
keadaan.
Teknik pelacakan harus dipilih sesuai dgn
persoalan yg dihadapi.
[email protected]
1
TEKNIK PELACAKAN
TRIAL & ERROR
 Metoda trial & error merupakan metoda pelacakan
paling sederhana. Prinsipnya adalah memilih dan
menerapkan operator-operator sampai keadaan
sasaran (goal state) diperoleh.
 Prosedur Pelacakan
1. Ambil State sebagai keadaan awal
2. While State ≠ keadaan sasaran do
3. Begin
4. Pilih operator yg dapat diterapkan pd state
5. State := operator (state)
6. End
[email protected]
2
Penjelasan prosedur :
 Pada langkah ke-4, operator dipilih
secara acak dr beberapa operator yg dpt
diterapkan.
 Pada langkah ke-5, operator yg dipilih
dterapkan pd state membentuk state
baru.
 Prosedur bersifat stokastik artinya tdk
menjamin dicapainya keadaan sasaran.
[email protected]
3
TEKNIK PELACAKAN
SISTEMATIS
 Memiliki dua metoda :
Pelacakan Vertikal dan Pelacaan Horizontal.
PELACAKAN VERTIKAL
Pada metoda ini ruang keadaan dpt
direpresentasikan dgn Diagram POHON
maupun GRAFIK. Simpul-simpul yg paling
dalam hrs diperiksa terlebih dahulu, shg
metoda ini srng disebut ‘Depth-first search’.
[email protected]
4
Prosedur Pelacakan
HILL CLIMBING (HC)
1. n := simpul awal
2. LOOP : if goal (n) then exit (success)
3. Ekspansikan n, hitung h’ (ni) utk semua
simpul anak ni dan ambil next n =
simpul anak dgn h’ (ni) terkecil.
4. if h’ (n) < h’ (next n) then exit (fail)
5. N := (next n)
6. Go to LOOP
[email protected]
5
lanjutan
Diasumsikan fungsi harga merupakaan
perbedaan koordinat antara suatu simpul dgn
simpul sasaran sbb :
h’ (n) = koordinat x sasaran – koordinat x
simpul n
koordinat y sasaran – koordinat y
simpul n
Urutan pelacakan simpul utk memperoleh solusi
optimal adalah :
S ------ A ------- B ------- E -------- G
[email protected]
6
lanjutan
Penerapan metoda ‘Hill Climbing’ tdk selalu
menghasilkan solusi.
Metode Hill Climbing tdk dapat diterapkan
pada persoalan-persoalan dimana selain
puncak sasaran terdapat puncak-puncak
lainnya.
[email protected]
7
TEKNIK PELACAKAN
‘BEST FIRST SEARCH (BSF)’
Metoda Best First Search dipakai utk mengatasi persoalan di HC,
yaitu jk terdapat beberapa puncak lain selain puncak sasaran.
Prosedur BSF :
1. Berikan simpul awal s pd open.
2. LOOP : if open : kosong then exit (fail)
3. n := first (open)
4. if goal (n) then exit (success)
5. Remove (n, open)
Add (n, closed)
6.
Ekspansikan simpul n, bangkitkan semua simpul anak. Berikan
pd open simpul-simpul yg belum muncul pd open maupun
closed dan bubuhkan pointer ke n.
urutkan simpul-simpul pd daftar open mulai dr h’ (n)
terendahnya.
7. Go to LOOP
[email protected]
8
Lanjutan
Penerapan metoda ‘best first search’ utk
persoalan pd gmb. Diatas. menghsilkan
daftar open yg berubah sbb. :
(s(6)) ---- (A(4)) ---- (B(2)C(3)) ---(C(3)E(3)) ---- (E(3) D(4)) ---- (H(2) D(4))
---- (G(O) D(4) F(4))
[email protected]
9
Solusi Optimal dgn
Informasi HEURISTIK
 Teknik pelacakan ini disebut jg Algoritma-A. (A
– algorithm)
 Defenisikan :
- g(n) : fungsi harga optimal dr simpul
awal ke simpul n.
- h(n) : fungsi harga optimal dr simpul
n ke simpul sasaran.
- f(n) : g(n) + h(n) : fungsi harga total dr simpul
awal ke simpul sasaran melalui simpul n.
[email protected]
10
Lanjutan
Persoalannya adalah mencari jalur optimal
dr simpul awal ke simpul sasaran. Pd
kenyataannya, baik g(n) maupun h(n) tdk
dpt diketahui dgn pasti. Oleh karna itu
ditentukan nilai taksirannya berturut-turut
g(n) dan h(n) .
[email protected]
11
Prosedur Algoritma - A





Berikan simpul awal pd open, f(s) := h(s)
LOOP := if open = kosong then exit (fail)
N := first (open)
If goal (n) then exit (success)
Remove (n, open)
Add (n, closed)
 Ekspansikan simpul n, bangkitkan simpul anak.
Utk semua simpul anak, hitung f’(n,ni) = g’(n,ni)
+ h’(ni).
[email protected]
12
lanjutan
Berikan pd open semua simpul yg terdapat pd open
maupun closed dan bubuhkan pointer ke n.
Sebelum n diekspansi, bandingkan f’(n,ni) dgn f’(n,ni) utk
semua simpul pd open.
Jika f’(n,ni) lebih kecil drpada f’(ni) ambil f’(ni) = f’(n,ni),
dan bubuhkan pointer dari ni ke n.
Jika simpul anak ni terdpt pd closed dan f’(n,ni) lbh kecil
drpd f’(ni) , ambil f’(ni) = f’(n,ni) , bubuhkan pointer dr ni
ke n dan berikan simpul ni ke open. Urutkan simpulsimpul pd open mulai dr f’ terendahnya.
7. Go to LOOP
[email protected]
13
Lanjutan
Teknik pelacakan dgn algoritma A blm dpt
dipastikan akan memberikan solusi
optimal.
[email protected]
14