• Tidak ada hasil yang ditemukan

KI Kecerdasan Buatan Materi 5: Pencarian dengan Optimasi (Local Search & Optimization )

N/A
N/A
Protected

Academic year: 2021

Membagikan "KI Kecerdasan Buatan Materi 5: Pencarian dengan Optimasi (Local Search & Optimization )"

Copied!
31
0
0

Teks penuh

(1)

KI091322 Kecerdasan Buatan

Materi 5: Pencarian dengan Optimasi

(Local Search & Optimization )

Teknik Informatika, Fakultas Teknologi Informasi

Institut Teknologi Sepuluh Nopember Surabaya

2012

Pengembangan Bahan Ajar sebagai Pendukung Student Centered-Learning (SCL) melalui e-Learning : Share ITS

[AIMA] Russel, Stuart J., Peter Norvig, "Artificial Intelligence, A Modern Approach" 3rd Ed., Prentice Hall, New Jersey, 2010

(2)

Variasi Teknik Pencarian

1. Pencarian tanpa informasi (

uninformed search

)

2. Pencarian dengan informasi (

informed search

)

3. Pencarian dengan optimasi (

local search & optimization

)

4. Pencarian dengan informasi status lawan (

adversarial search

)

5. Pencarian dengan batasan kondisi (

constraint satisfaction problems

)

Teknik 1 dan Teknik 2 mencari jalur (path) status solusi dari

initial state sampai goal state.

Teknik 3 hanya membutuhkan state yang memenuhi

kondisi final.

(3)

Pencarian dengan Optimasi

(

local search & optimization

)

• hanya butuh state yang memenuhi kondisi final

– Solusi problem 8-queen = posisi 8 bidak dengan

jumlah bidak tidak saling menyerang minimal

• Solusi adalah konfigurasi akhir 8 bidak

• Tidak perlu tahu urutan bidak yang diletakkan di papan

– Berbeda dengan problem pencarian jarak

terpendek yang membutuhkan urutan jalur dari

kota awal ke kota akhir

(4)

• Pilih initial state dan mulai mencari solusi dari

state terdekat

• Algoritma untuk pencarian dengan optimasi:

– Hill-Climbing Search

• Pemilihan state berdasarkan nilai objektifnya

– Genetic Algorithm

• Pemilihan state berdasarkan aturan seleksi alam yang

diterapkan pada state collection (sering disebut sebagai

populasi)

4

Pencarian dengan Optimasi

(5)

Algoritma Hill-Climbing Search

function Hill-Climbing(problem)

returns a state that is a local maximum

current <- Make-Node(problem.Initial-State)

loop do

neighbor <- a highest-valued successor of current

if neighbor.Value <= current.Value then return current.State

current <- neighbor

Hill-Climbing Search

disebut juga

Greedy Local Search

-> ambil

state

terdekat yang terlihat baik saat itu

Sumber: [AIMA] Russel, Stuart J., Peter Norvig, "Artificial Intelligence, A Modern Approach" 3rd Ed., Prentice Hall, New Jersey, 2010

(6)

Persiapan untuk Hill-Climbing Search

• Cara untuk menentukan initial state

– Random?? State dengan nilai objektif terkecil??

• Fungsi Objektif untuk hitung nilai state

• Problem: 8-queens

– Pilih initial state

• Posisi bidak random dari 1-8; posisi teratas

– Fungsi Objektif

• Heuristic cost function h = jumlah pasangan bidak ratu

yang dapat saling menyerang

(7)

Contoh Heuristic Cost Function h untuk

Problem 8-queens

1 2 3 4 5 6 7 8 a b c d e f g h

h = 1 pasangan bidak ratu

yang dapat saling

menyerang

(8)

Contoh 8-queens dengan Hill-Climbing

8 1 2 3 4 5 6 7 8 a b c d e f g h

Secara random, state current = 1e 2f 3g 4d 5e 6f 7g 8f Nilai h(current)=17 pasangan saling menyerang

1e-2f; 1e-3g; 1e-5e; 2f-3g; 2f-4d; 2f-6f; 2f-8f; 3g-5e; 3g-7g; 4d-5e; 4d-6f; 4d-7g; 5e-6f; 5e-7g; 6f-7g; 6f-8f; 7g-8f;

Hitung semua nilai h jika posisi satu bidak catur dirubah

Misal 1: posisi 1e dirubah ke 1d maka state 1d 2f 3g 4d 5e 6f 7g 8f; h=15 Misal 2: posisi 2f dirubah ke 2e maka state 1e 2e 3g 4d 5e 6f 7g 8f; h=14 Nilai h terkecil adalah h=12, jadi Kondisi state dapat diubah ke:

1e 2a 3g 4d 5e 6f 7g 8f … … … …

1e 2f 3g 4d 5e 6f 7h 8f (8 pilihan) Aturan Hill-Climbing, pilihan state selanjutnya nilai h <= 12 Misal state current = 1e 2a 3g 4d 5e 6f 7g 8f

(9)

Contoh 8-queens dengan Hill-Climbing

1 2 3 4 5 6 7 8 a b c d e f g h state current = 1e 2a 3g 4d 5e 6f 7g 8f

Nilai h(current)= 12 pasangan saling menyerang

Hitung semua nilai h jika posisi satu bidak catur dirubah

Nilai h terkecil adalah h=??, jadi Kondisi state dapat diubah ke:

… … … … (?? pilihan)

Aturan Hill-Climbing, pilihan state selanjutnya nilai h <= 12

Proses berhenti saat nilai h(semua neighbor)> h(current) dan return state current sebagai solusi

(10)

Kekurangan Hill-Climbing

• Terjebak dalam kondisi local maxima

– Seolah-olah tidak ada pilihan, nilai terkecil h(neighbor)

> h(current)

– Namun jika state terpilih saat current-1 adalah state

lain, maka mungkin ditemukan nilai terkecil

h(neighbor) <= h(current)

• Alternatif cara untuk hindari local maxima

– Pilih state dari neighbor dengan hitung nilai

h(current+1)

• Hitung h(neighbor) dan h(current=neighbor)

• Pilih current baru dari neighbor dengan h(current=neighbor)

<= h(current)

(11)

Contoh Hill-Climbing untuk Cari Jalur

• Pemasangan poster Gemastik dalam ITS akan

dilakukan di Jurusan Matematika(M), T.Computer(C),

Warung Gebang(W), T.Elektro(E), Statistika (S)

• Jarak antar lokasi sbb dalam km

• Cari jalur

pemasangan dengan

jarak terpendek

• Nilai h = total jarak

M C W E S M 0 .9 .6 .8 .7 C 0 1.3 1.5 1.3 W 0 .2 .3 E 0 .2 S 0

(12)

Contoh Hill-Climbing untuk Cari Jalur

• Initial state = (M -> E -> C -> S -> W) secara random

• Nilai h = .8 + 1.5 + 1.3 + .3 = 3.9

• Contoh proses swap: (A->B->C)

– Tukar A-B didapat (B->A->C)

– Tukar A-C didapat (C->B->A)

– Tukar B-C didapat (A->C->B)

• Neighbor terbentuk dengan merubah (swap) 2 lokasi

(E -> M -> C -> S -> W) = 3.3 (C -> E -> M -> S -> W) = 3.3 (S -> E -> C -> M -> W) = 3.2 (W -> E -> C -> S -> M) = 3.7 (M -> C -> E -> S -> W) = 2.9 (M -> S -> C -> E -> W) = 3.7 (M -> W -> C -> S -> E) = 3.4 (M -> E -> S -> C -> W) = 3.6 (M -> E -> W -> S -> C) = 2.6 (M -> E -> C -> W -> S) = 3.9

• Hill-Climbing akan memilih h=2.6

• untuk current state (M -> E -> W -> S -> C)

• Proses swap dilakukan 1x lagi, dan solusi optimal didapat

(13)

Problem Romanian

Jalur terpendek dari Arad ke Bucharest adalah … ???

Pendekatan solusi: teknik pencarian

(14)

AIMA untuk Problem Romanian

(15)
(16)

AIMA untuk Problem Romanian

(17)
(18)

Perbandingan Algoritma Pencarian

1. Pencarian tanpa informasi (

uninformed search

)

a. Depth-First Search (DFS): path cost = 733, expanded = 10 nodes b. Breadth-First Search (BFS): path cost = 450, expanded = 5 nodes c. Uniform Cost Search (UCS): : path cost = 418, expanded = 12 nodes

2. Pencarian dengan informasi (

informed search

)

a. Greedy Best First (greedy): path cost = 450, expanded = 3 nodes b. A* (baca: A-star): path cost = 418, expanded = 5 nodes

3. Pencarian dengan optimasi (

local search & optimization

)

Hill-Climbing Search (hillclimb): path cost = 450, expanded = 4 nodes

• Rekomendasi pencarian dengan informasi A* memberikan hasil

yang bagus

• Pencarian dengan optimasi memberikan hasil yang mendekati A*

(19)

Algoritma Genetik

(Genetic Algorithm, GA)

• Rekapitulasi Materi tentang pemilihan state berikut

– Hill-Climbing Search:

berdasarkan nilai objektifnya

– Genetic Algorithm:

berdasarkan aturan seleksi alam yang diterapkan pada

state collection (sering disebut sebagai populasi)

• Pada GA

– Inisialisasi state diambil dari populasi (kumpulan sejumlah

n state)

– Kandidat state berikut adalah populasi baru berisi state

baru hasil kombinasi state pada populasi sekarang

– Pemilihan state dari populasi baru berdasarkan nilai

tertinggi hasil perhitungan fitness function

(20)

Tahapan dalam Algoritma Genetika

• Pengkodean state atau disebut kromosom

(

encoding technique

)

• Proses inisialisasi pembentukan state atau

kromosom awal (

initialization procedure

)

• Fungsi evaluasi nilai kromosom (

fitness function

)

• Penentuan kromosom pilihan sebagai parent

(

selection

)

• Operator genetika untuk kombinasi kromosom

baru (

mutation

)

(21)

Algoritma Genetika

function Genetic-Algorithm(population, Fitness-Fn) returns an individual

inputs:

population, a set of individuals

Fitness-Fn,

a function that measures the fitness of an individual

repeat

new_population <- empty set

for i=1 to Size(population) do

x <- Random-Selection(population, Fitness-Fn) y <- Random-Selection(population, Fitness-Fn) child <- Reproduce(x, y)

if (small random probability) then child <- Mutate(child)

add child to new_population

population <- new_population

until some individual is fit enough, or enough time has elapsed return the best individual in population, according to Fitness-Fn

(22)

Algoritma Genetika

function Reproduce(x, y) returns an individual inputs: x, y, parent individuals

n <- Length(x);

c <- random number from 1 to n return

Append(Substring(x, 1, c), Substring(y, c+1, n))

22

Sumber: [AIMA] Russel, Stuart J., Peter Norvig, "Artificial Intelligence, A Modern Approach" 3rd Ed., Prentice Hall, New Jersey, 2010

(23)

Pengkodean Kromosom (encoding)

• Representasi state menjadi kromosom

• Contoh problem pencarian rute jalan (travelling

salesman problem) untuk 4 kota

– Satu state atau satu rute 12341 berarti kunjungan dari

kota 1->2->3->4->diakhiri ke->1

• Kromosom tertulis 1234 (

permutation

encoding

)

• Pencarian koefisien yang sesuai untuk persamaan

y=ax

5

+bx

4

+cx

3

+dx

2

+ex+f

(

value encoding

)

– Contoh kromosom

[0, 0, 0, 2, 3, 5]

berarti persamaan

menjadi

ý = 0

x

5

+ 0

x

4

+ 0

x

3

+ 2

x

2

+3

x

+ 5

(24)

Pengkodean Kromosom (encoding)

• Teknik sebelumnya

– permutation encoding & value encoding

• Binary encoding

– Pengkodean kromosom terdiri dari angka 1 dan 0

– Problem Knapsack -> optimasi pemilihan benda untuk

dimasukkan ke wadah dengan keterbatasan ruang

• Berat dan nilai benda menjadi prioritas pemilihan

• Misal 4 benda: A(3kg, 6rb), B(2kg, 5rb), C(5kg, 9rb), D(4 kg, 8rb)

• Contoh: kromosom 0101 berarti wadah berisi B & D

(25)

Contoh Problem Persamaan

• Pencarian koefisien yang sesuai untuk persamaan

y = ax

5

+ bx

4

+ cx

3

+ dx

2

+ex + f

– Contoh kromosom

[0, 0, 0, 2, 3, 5]

berarti persamaan

menjadi

ý = 0

x

5

+ 0

x

4

+ 0

x

3

+ 2

x

2

+3

x

+ 5

• Fungsi Evaluasi (fitness function)

– Cek dengan contoh data

(x, y)

, h

itung ý = ax5 + bx4 + cx3 + dx2 +ex + f

• Hitung jumlah

(

y

– ý)

2

yang disebut sebagai Sum Squared Error

(SSE) untuk semua

x

• Jika nilai jumlah semakin besar menunjukkan kombinasi koefisien

pada kromosom tidak tepat

(26)

Contoh Problem Persamaan

• Untuk kromosom

[0, 0, 0, 2, 3, 5]

dan data

(1, 12)

(2, 22)

:

– ý = 0

x

5

+ 0

x

4

+ 0

x

3

+ 2

x

2

+3

x

+ 5

=

2 + 3 + 5

=

10

jika

x

=

1

– ý = 0

x

5

+ 0

x

4

+ 0

x

3

+ 2

x

2

+3

x

+ 5

=

8 + 6 + 5

=

19

jika

x

=

2

– SSE = (

12

– 10)

2

+ (

22

– 19)

2

= 2

2

+ 3

2

= 13

• Untuk kromosom

[0, 0, 0, 2, 3, 6]

dan data

(1, 12)

(2, 22)

:

– ý = 0

x

5

+ 0

x

4

+ 0

x

3

+ 2

x

2

+3

x

+ 6

=

2 + 3 + 6

=

11

jika

x

=

1

– ý = 0

x

5

+ 0

x

4

+ 0

x

3

+ 2

x

2

+3

x

+ 6

=

8 + 6 + 6

=

20

jika

x

=

2

– SSE = (

12

– 11)

2

+ (

22

– 20)

2

= 1

2

+ 2

2

= 5

• Jadi untuk contoh data

(1, 12) dan

(2, 22)

maka kromosom dengan nilai

error (hasil fitness function) yang lebih baik adalah

[0, 0, 0, 2, 3, 6]

– Kromosom tersebut dipilih untuk masuk dalam populasi berikutnya

(27)

Langkah-Langkah Algoritma Genetik

untuk Problem Persamaan

• Buat populasi berisi 100 kromosom secara random

– @kromosom = array 6 angka, misal: [0, 0, 0, 2, 3, 5]

• Ulangi proses berikut sampai 500 kali (atau n kali):

– Hitung SSE dari 100 kromosom dengan contoh data

tersedia

– Ambil 10 kromosom dengan nilai SSE terkecil

– Dari setiap kromosom, buat kromosom baru dengan

aturan sbb

• Pilih satu angka secara random dari 6 angka dalam array

• Ambil angka konstanta secara random antara 0.0-2.0

• Kalikan konstanta dengan angka pilihan

• Setelah n kali perulangan, ambil kromosom terbaik

sebagai jawaban koefisien dari persamaan

(28)

Metode Seleksi

• Roulette-wheel

Selection

• Stochastic universal

sampling

• Local selection

• Truncation selection

• Tournament Selection

• Group Selection

• Rank-based Fitness

Selection

• Steady-State

Selection

• Boltzmann Selection

• Elitism

28

(29)

Operator Genetika

• Crossover

– Mengkombinasikan sebagian kromosom parent 1

dengan parent 2

• Parent 1

1 0 0 | 0 1 1 1

(a|b)

• Parent 2

1 1 1 | 1 0 0 0

(c|d)

• Offspring 1

1 0 0 1 0 0 0

(hasil ad)

• Offspring 2

1 1 1 0 1 1 1

(hasil cb)

• Mutasi

– Kromosom hasil perubahan 1 gen / karakter

(30)

Variasi Crossover & Variasi Mutasi

CROSSOVER

• One-point

• Two-point

• Uniform

• Arithmetic

• Heuristic

MUTASI

• Flip Bit

• Boundary

• Non-Uniform

• Uniform

• Gaussian

30

(31)

Parameter Penting Algoritma Genetik

• Probabilitas Mutasi

• Probabilitas Crossover

• Ukuran populasi

Referensi

Dokumen terkait

Paparan kronik ovalbumin secara inhalasi pada model binatang alergi menyebabkan inflamasi alergi dan perubahan struktur saluran napas. Perubahan struktur saluran

serta melayani konsumen secara benar jujur dan tidak diskriminatif.tindakan tersebut juga telah melanggar hak-hak konsumen yang diatur dalam undang- undang perlindungan konsumen

Namun berdasar data yang diperoleh dari BPN Kabupaten Jember menunjukkan sebaliknya, bahwa untuk luasan lahan sawah menunjukkan laju perkembangan rata-rata tahunan

SENARAI NAMA PELAJAR SISWI YANG BERJAYA MENDAPAT KOLEJ SESI MAC- JULAI 2016. BIL

Dengan adanya buku ensiklopedi hewan langka di Indonesia ini, diharapkan agar anak-anak mulai dapat peduli dengan hewan-hewan yang ada di sekitar mereka dan juga

Sebagian (kecil) pimpinan PTU merasa sudah selesai melaksanakan kewajibannya apabila telah menyediakan fasilitas ruang kuliah dan dosen PAI dengan jumlah dan

Dapat mendesain struktur beton tahan gempa dengan flat plate - shear wall dengan sistem open frame dalam hal ini menggunakan metode SRPMM pada wilayah gempa

Unit Peperiksaan dan Pengijazahan, Bahagian Pengurusan Akademik, Jabatan Pendaftar, Universiti Sains Malaysia, Aras 5, Bangunan Canselori, 11800 USM, PULAU PINANG.. noorhasmah@usm.my