heuristic serach in artifical intelegent
TRANSCRIPT
-
7/24/2019 Heuristic serach in artifical intelegent
1/60
HEURISTIC
SEARCH
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
2/60
Pendahuluan Pencarian buta biasanya tidak efisien karena waktu akses
memori yang dibutuhkan cukup besar.
Untuk mengatasi hal ini maka perlu ditambahkan suatuinformasi pada domain yang bersangkutan sehingga prosespencarian yang baru akan dihasilkan.
Pencarian seperti ini disebut sebagai informed search ataupencarian heuristic atau pencarian terbimbing, yaitu pencarianberdasarkan panduan.
(Dalam sutojo dkk) teknik pencarian heuristic merupakansuatu strategi untuk melakukan proses pencarian secaraselektif dan dapat memandu proses pencarian yang memilikikemungkinan sukses paling besar, namun dengan kemungkinanmengorbankan kelengkapan (completeness)
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
3/60
Pendakian Bukit
(Hill Climbing)
Ada 2 macam yaitu :
1. Simple hill climbing
2. Stepest ascent hill climbing
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
4/60
Langkah pencarian (Rich, Elaine and knight, kevin, 1991, ArtificialIntelligent, Mc Graw Hill, Inc, second edition) :1. Mulai dari keadaan awal, lakukan pengujian : jika merupakan
tujuan, maka berhenti dan jika tidak, lanjutkan dengankeadaan sekarang sebagai keadaan awal
2. Kerjakan langkah-langkah berikut sampai solusinyaditemukan atau sampai tidak ada operator baru yang akandiaplikasikan pada keadaan sekarang
3. Cari operator yang belum pernah digunakan ; gunakanoperator ini untuk mendapatkan keadaan yang baru
4. Evaluasi keadaan baru tersebut
a. Jika keadaan baru merupakan tujuan, keluarb. Jika bukan tujuan, namun nilainya lebih baik daripadakeadaan sekarang, maka jadikan keadaan baru tersebutmenjadi keadaan sekarang
c. Jika keadaan baru tidak lebih baik daripada keadaansekarang, maka lanjutkan iterasi
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
5/60
Kasus 1. Implementasikan algoritma Simple
Hill Climbing pada puzzle berikut ini :
Keadaan awal
Goal
Ruang keadaan
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
6/60
Ruang keadaan :
Misalkan : x = baris = [1,2,3]
y = kolom = [1,2,3]
Jadi dalam hal ini ruang keadaan = semuakemungkinan posisi kotak pada puzzle 8
Contoh : posisi kotak 7 pada keadaan awal adalah(3,1)
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
7/60
Aturan/operator :
Posisi kotak kosong (x,y)
x = baris kotak kososng
y = kolom kotak kosong
Aturan :
1. Gerakkan kotak kosong ke atas : if x > 1 then (x-1,y)
2. Gerakkan kotak kosong ke bawah : if x < 3 then (x+1,y)
3. Gerakkan kotak kosong ke kanan : if y < 3 then (x,y+1)
4. Gerakkan kotak kososng ke kiri : if y > 1 then (x, y-1)
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
8/60
Fungsi heuristik
Fungsi heuristik yang digunakan adalah jumlah kotakyang menempati posisi benar. Kriteria yang dipakaiadalah jumlah benar yang paling besar yang dipilih
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
9/60
Iterasi ke-1 Cek keadaan awal goal maka keadaan sekarang = keadaan awal
kena operator 1 menjadi
Karena posisi benar keadaan sekarang > posisi benar keadaanselanjutnya, maka : keadaan sekarang = tetap
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
10/60
Cek keadaan sekarang goal
Lanjut ke operator berikutnya :
kena operator ke-2 menjadi
karena posisi benar keadaan sekarang > posisi benar keadaan selanjutnya,maka : keadaan sekarang = tetap
cek keadaan sekarang goal
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
11/60
Lanjut ke operator berikutnya :
kena operator ke-3 menjadi
karena posisi benar keadaan sekarang < posisi benar keadaan selanjutnya,maka : keadaan sekarang = keadaan selanjutnya.
cek keadaan sekarang goal
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
12/60
Lanjut ke operator selanjutnya.
kena operator ke-4 menjadi
karena posisi benar keadaan sekarang > posisi benar keadaan selanjutnya,maka keadaan sekarang = tetap
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
13/60
Iterasi ke-2
cek keadaan awal goal dimana keadaan sekarang = keadaan awal
kena operator ke-1 menjadi
karena posisi benar keadaan sekarang > posisi benar keadaan selanjutnya,maka : keadaan sekarang = tetap
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
14/60
Cek keadaan sekarang goal
lanjutkan ke operator berikutnya
kena operator ke 2 menjadi
karena posisi benar keadaan sekarang > posisi benar keadaan selanjutnya,maka keadaan sekarang = tetap
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
15/60
Cek keadaan sekarang goal
lanjutkan ke operator selanjutnya
kena operator ke-3 menjadi
karena posisi benar keadaan sekarang < posisi benar keadaan selanjutnyamaka : keadaan sekarang = keadaan selanjutnya
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
16/60
Cek keadaan sekarang goal
lanjutkan ke operator berikutnya
kena operator ke 4
karena posisi benar keadaan sekarang > posisi benar keadaan selanjutnya,maka : keadaan sekarang = tetap
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
17/60
Iterasi ke-3
Cek keadaan awal goal
keadaan sekarang = keadaan awal
kena operator ke-1 menjadi
karena posisi benar keadaan sekarang > posisi benar keadaan selanjutnya,
maka : keadaan sekarang = tetap
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
18/60
Cek keadaan sekarang goal
lanjutkan ke operator berikutnya
kena operator ke -2 menjadi
karena posisi benar keadaan sekarang < posisi benar keadaan selanjutnya,maka : keadaan sekarang = keadaan selanjutnya
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
19/60
Cek keadaan sekarang = goal, hentikan pencarian
solusi
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
20/60
Kasus 2. Implementasikan algoritma Stepest
ascent hill climbing pada puzzle berikut ini :
Algoritmanya :
1. Mulai dari keadaan awal, lakukan pengujian : jika merupakan tujuan, makaberhenti; dan jika tidak, lanjutkan keadaan sekarang sebagai keadaan awal.
2. Kerjakan hingga tujuan tercapai atau hingga iterasi tidak memberikanperubahan pada keadaan sekarang.
a. Tentukan SUCC sebagai nilai heuristik terbaik dari successor-successor
b. Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang:
Gunakan operator tersebut dan bentuk keadaan baru
Evaluasi keadaan baru tersebut. Jika merupakan tujuan, keluar. Jika
bukan bandingkan nilai heuristiknya dengan SUCC. Jika lebih baik,jadikan nilai heuristic keadaan baru tersebut sebagai SUCC.Namun jika tidak lebih baik, nilai SUCC tidak berubah.
c. Jika SUCC lebih baik daripada nilai heuristik keadaan sekarang, ubahnode SUCC menjadi keadaan sekarang
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
21/60
Pada stepest Hill Climbing, ada 3 maslaah yang mungkinyaitu :
1. Local optimum : keadaan semua tetangga lebih burukatau sama dengan keadaan dirinya.
2. Plateau : keadaan semua tetangga sama dengan keadaandirinya
3. Ridge : local optimum yang lebih disebabkan karenaketidakmampuan untuk menggunakan 2 operator
sekaligus.
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
22/60
Implementasikan puzzle di bawah ini menggunakanalgoritma stepest ascent hill climbing
Keadaan awal
Goal
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
23/60
Ruang keadaan :
Misalkan : x = baris = [1,2,3] y = kolom = [1,2,3]
Jadi dalam hal ini ruang keadaan = semua kemungkinanposisi kotak pada puzzle 8
Contoh : posisi kotak 7 pada keadaan awal adalah (3,1)
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
24/60
Aturan/operator :
Posisi kotak kosong (x,y)
x = baris kotak kososng
y = kolom kotak kosong
Aturan :
1. Gerakkan kotak kosong ke atas : if x > 1 then (x-1,y)
2. Gerakkan kotak kosong ke bawah : if x < 3 then (x+1,y)3. Gerakkan kotak kosong ke kanan : if y < 3 then (x,y+1)
4. Gerakkan kotak kososng ke kiri : if y > 1 then (x, y-1)
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
25/60
Fungsi heuristik
Fungsi heuristik yang digunakan adalah jumlah kotak yangmenempati posisi benar. Kriteria yang dipakai adalahjumlah benar yang paling besar yang dipilih
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
26/60
Iterasi ke 1
Cek keadaan awal , ternyata keadaan awal goal
Keadaan sekarang = keadaan awal
Keadaan sekarang dikenakan 4 operator sekaligus menjadi:
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
27/60
Pilih posisi yang terbesar yaitu : 6, sehingga keadaansekarang menjadi :
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
28/60
Iterasi ke-2
Cek keadaan awal goal
Keadaan sekarang = keadaan awal
Keadaan sekarang dikenakan 4 operator sekaligus, menjadi :
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
29/60
Pilih posisi yang terbesar, yaitu 8, sehingga keadaansekarang menjadi :
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
30/60
Iterasi ke-3
Cek keadaan awal, ternyata keadaan awal goal.
Keadaan sekarang = keadaan awal
Keadaan sekarang dikenakan 4 operator sekaligus menjadi:
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
31/60
Pilih posisi yang terbesar yaitu 8, sehingga keadaansekarang menjadi :
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
32/60
Iterasi ke-4
Cek apakah keadaan awal = goal, ternyata iya, makahentikan proses pencarian.
Solusi :
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
33/60
Kasus ke. 3 Menggunakan Metode
Best first search
Metode best first search merupakan kombinasi darimetode depth first search dan metode breadth firstsearch yang mana pencarian diperbolehkan mengunjunginode yang ada di level yang lebih rendah asalkan node ini
memiliki nilai heuristik yang lebih baik.
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
34/60
Algoritma dari best first search :
1. Buat sebush stack, inisialisasi node akar sebagai nodepertama.
2. Bila node pertama goal, node dihapus dan diganti
dengan anak-anaknya.3. Selanjutnya, keseluruhan node yang ada di stack di sort
ascending berdasarkan fungsi heuristik yang digunakan
4. Bila node pertama goal, ualangi poin (2)
5. Bila node pertama = goal, cari solusi dengan caramenelusuri jalur dari goal ke node akar.
6. selesai
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
35/60
Contoh gambar di bawah ini, menjelaskan tentangpencarian rute terpendek menggunakan algoritma bestfirst search. A adalah keadaan awalnya dan Z adalahtujuannya. Fungsi heuristik yang digunakan adalah node-
node yang mempunyai jarak terpendek.
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
36/60
Iterasi ke - 1
Masukkan node A ke dalam stack
Keluarkan A dari stack dan lakukan pengecekan
Ternyata A goal A punya anak C(5) dan B(4), masukkan ke stack dan stack
di SORT ASCENDING
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
37/60
-
7/24/2019 Heuristic serach in artifical intelegent
38/60
Iterasi ke-2
Keluarkan B dari stack dan cek
Ternyata B goal
B punya anak D(3), masukkan ke stack dan stack di sortascending.
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
39/60
Representasi keadaan :
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
40/60
Iterasi ke-3
Keluarkan D dari stack dan cek
Ternyata D goal
D punya anak E(4), lalu masukkan ke stack dan lakukansort ascending
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
41/60
Representasi keadaan :
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
42/60
-
7/24/2019 Heuristic serach in artifical intelegent
43/60
Representasi keadaan :
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
44/60
Iterasi ke-5
Keluarkan C dari stack dan cek
Ternyata C Goal
C punya anak E(3) dan F(2), masukkan F(2) ke stack danlakukan sort ascending
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
45/60
Representasi keadaan
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
46/60
Iterasi ke-6
Keluarkan F dari stack dan cek
Ternyata F Goal
F punya anak I(4), lalu masukkan ke stack dan lakukan sortascending
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
47/60
Representasi keadaan
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
48/60
Iterasi ke-7
Keluarkan E dari stack dan cek, apakah E goal atau bukan
Ternyata E Goal
E punya anak G(6), dan sudah ada di stack, jadi tidakdimasukkan ke dalam stack
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
49/60
Representasi ruang keadaan
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
50/60
Iterasi ke-8
Keluarkan I dari stack dan lakukan pengecekan
Ternyata I Goal
Karena I tidak punya anak, maka gunakan node I untukmenghapus orang tuanya direpresentasi keadaan.
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
51/60
Representasi keadaan
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
52/60
Iterasi ke-9
Keluarkan G dari stack dan lakukan pengecekan
Ternyata G Goal
G punya anak H(2), J(4), Z(7), F(8). Masukkan semua anakke dalam stack dan lakukan sort ascending.
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
53/60
Representasi keadaan
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
54/60
Iterasi ke 10
Keluarkan H dari stack dan lakukan pengecekan
Ternyata H Goal
H punya anak Z(6), masukkan ke dalam stack dan lakukansort ascending
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
55/60
Representasi keadaan
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
56/60
Iterasi ke 11
Keluarkan J dari stack dan lakukan pengecekan
Ternyata J Goal
J punya anak K(1), masukkan ke stack dan lakukan sortascending
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
57/60
Representasi ruang keadaan
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
58/60
Iterasi ke 12
Keluarkan K dari stack dan lakukan pengecekan
Ternyata K Goal
Karena K tidak punya anak, gunakan untuk menghapusorang tuanya di representasi keadaan
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
59/60
Representasi keadaan
UTHIE
-
7/24/2019 Heuristic serach in artifical intelegent
60/60
Iterasi ke 13
Keluarkan Z dari stack dan lakukan pengecekan
Ternyata Z = Goal, maka hentikan pencarian
UTHIE