PTI480.06 - Local Search
Click here to load reader
-
Upload
asyiqotul-ulya -
Category
Documents
-
view
36 -
download
8
Transcript of PTI480.06 - Local Search
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
IKI 30320: Sistem CerdasKuliah 6: Local Search
Ruli Manurung
Fakultas Ilmu KomputerUniversitas Indonesia
19 September 2007
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Outline
1 Local search
2 Hill-climbing search
3 Local maximum
4 Genetic algorithm
5 Ringkasan
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Outline
1 Local search
2 Hill-climbing search
3 Local maximum
4 Genetic algorithm
5 Ringkasan
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Sebuah pendekatan yang berbeda...
Algoritma search yang telah kita pelajari: sistematisTeoritis: seluruh search space ditelusuriKiat-kiat melakukan pruning→ heuristics
Bisa menyelesaikan masalah 10100 state. Tetapi dalamkenyataan ada masalah dengan 1010000 state, bahkanlebih!Perlu pendekatan yang berbeda: local search.
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Masalah yang bisa dipecahkan local search
Ada banyak masalah di mana solusinya adalahkonfigurasi goal state. Path-nya tidak penting:
Contoh “mainan”: n-queens, mewarnai wilayah, ...Contoh “betulan”: penjadwalan kereta, VLSI layout, ...
Definisi masalah sedemikian sehingga state space =himpunan konfigurasi “lengkap”.Solusi:
Cari konfigurasi optimal, mis: travelling salesperson.Cari konfigurasi yang memenuhi semua syarat(constraint satisfaction), mis: n-queens.
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Konsep dasar local search
Untuk masalah seperti ini, kita bisa melakukanalgoritma random search berikut:
1 Pilih secara random suatu state (berupa konfigurasilengkap).
2 Lakukan modifikasi terhadap current state.3 Ulangi langkah 2 sampai goal ditemukan (atau waktu
habis).Yang dibutuhkan:
Menghasilkan calon solusi secara acak (tidak optimal)Menilai “kebaikan” calon tersebutMemodifikasi calon tersebut (action→ pindah ke statelain)Lakukan semua ini dengan CEPAT...
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Contoh: Travelling Salesperson Problem
Tujuan: cari rute yang mengunjungi tiap kota (node)tepat sekaliMulai dengan rute lengkap random, tukar pasangansecara acak.
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Contoh: n-queens problem
Tujuan: pasang n menteri pada papan n × n sehinggatidak ada yang “saling makan”.Mulai dengan n menteri secara acak (per kolom),pindahkan sebuah menteri untuk mengurangi “makan”.
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Outline
1 Local search
2 Hill-climbing search
3 Local maximum
4 Genetic algorithm
5 Ringkasan
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Hill-climbing search
function HILL-CLIMBING (problem) returns local maximum state
current → MAKENODE(INITIALSTATE[problem])loop do
neighbour → successor dari current dengan “nilai” terbaikif NILAI[neighbour ] < NILAI[current ] then return STATE[current ]current → neighbour
end
NILAI sebuah node→ h(n) (heuristic function)Bayangkan seorang penderita amnesia mendakigunung dengan kabut tebal . . .
State: posisi koordinat (X,Y)h(n): ketinggian pendaki
Konsep penting: state space sebagai landscape.Disebut juga greedy local search
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Outline
1 Local search
2 Hill-climbing search
3 Local maximum
4 Genetic algorithm
5 Ringkasan
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Terperangkap di local maximum
Tergantung pilihan initial state, hill-climbing bisaterperangkap dalam local maximum.
value
states
global maximum
local maximum
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Masalah hill-climbing
Local maximum: tidak ada tetangga yang lebih baik,tetapi bukan solusi optimal.Plateau (dataran): semua tetangga sama baiknyaUntuk 8-queens problem, hill-climbing dari konfigurasilengkap acak “mentok” 86%, sukses 14%. Rata-ratasolusi 4 langkah (padahal ada 88 ≈ 17 juta state!).Kalau kita perbolehkan “bergerak di dataran” (dibatasi100 langkah), kans sukses naik jadi 94% (rata-ratasolusi 21 langkah).
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Beberapa pendekatan alternatif
Stochastic hill-climbing: dari semua kemungkinantindakan yang arahnya naik, pilih salah satu secaraacak (probabilitas berbanding lurus dengan“kebaikannya”).Random-restart hill-climbing: kalau mentok, ulangidengan initial state yang baru.“If at first you don’t succeed, try and try again”Simulated annealing: Tentukan neighbour secara acak.Kalau lebih bagus, pilih. Kalau lebih jelek, pilih denganprobabilitas berbanding terbalik eksponensial dengan“kejelekannya”. Kurangi probabilitas seiring berjalannyawaktu.Local beam search: Pilih k buah initial state. Pilih kbuah successor terbaik.→ Berbeda dengan k kali random-restart: mengapa?Tidak independen!
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Outline
1 Local search
2 Hill-climbing search
3 Local maximum
4 Genetic algorithm
5 Ringkasan
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Genetic algorithm
Berangkat dari stochastic local beam search.Algoritma genetika = sejenis algoritma optimasi fungsisecara probabilistik: Simpanlah beberapa calon solusi(population). Lakukan “evolusi” secara bertahap denganmenerapkan operator stochastic.
Terinspirasi dari proses evolusi biologis→ naturalselection dan genetic inheritance (Darwin 1859)Dikembangkan pertama kali oleh John Holland (1975)
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Algoritma
1 Initialization: Buat k buah calon solusi (individual)secara acak = population.
2 Evaluation: Nilai setiap individual berdasarkan fitnessfunction.
3 Selection: Pilih individual terbaik untuk “beranak”4 Reproduction: Buat “generasi” population berikut
dengan operasi crossover dan mutation.5 Ulangi langkah 2-4 sampai berhenti.
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Kapan berhenti?
Solusi yang “mencukupi” ditemukan.Sudah menjalankan N buah generasi.Nilai fitness function tidak berubah lagi (plateau).Pengamatan secara manual.
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Operator genetik
Mutation: pilih sebuah calon solusi, modifikasi secaraacak untuk menghasilkan calon solusi baru.Crossover: pilih dua (atau lebih) calon solusi,kombinasikan secara acak untuk menghasilkan calonsolusi baru.
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Contoh: 8-queens problem
(a)
Initial Population
(b)
Fitness Function
(c)
Selection
(d)
Crossover
(e)
Mutation
24
23
20
11
29%
31%
26%
14%
32752411
24748552
32752411
24415124
32748552
24752411
32752124
24415411
32252124
24752411
32748152
24415417
24748552
32752411
24415124
32543213
+ =
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Outline
1 Local search
2 Hill-climbing search
3 Local maximum
4 Genetic algorithm
5 Ringkasan
IKI30320Kuliah 6
19 Sep 2007
Ruli Manurung
Local search
Hill-climbingsearch
Localmaximum
Geneticalgorithm
Ringkasan
Ringkasan
Pada umumnya, local search tidak completeState = konfigurasi lengkapAnalisis secara formal sulit dilakukanDalam kenyataan, banyak dipakai: efisien, efektif(search space *besar*)!Masalah utama: menghindari local maximum secarastochastic