• Tidak ada hasil yang ditemukan

Penyelesaian Masalah dengan Pencarian

N/A
N/A
Protected

Academic year: 2021

Membagikan "Penyelesaian Masalah dengan Pencarian"

Copied!
57
0
0

Teks penuh

(1)

Penyelesaian Masalah

dengan Pencarian

(2)

Model Problem & Pencarian Solusi

Mengkonversi situasi yang diberikan ke

dalam situasi lain menggunakan sekumpulan

operasi tertentu.

Searching

: merepresentasikan masalah ke

dalam ruang keadaan.

Untuk melakukan hal ini, diperlukan sedikit

(3)

Masalah Jurigen Air

3-galon 4-galon

Kran air

• Terdapat dua jurigen tanpa skala ukuran.

• Sebuah kran air yang bisa mengeluarkan air tanpa batas.

(4)

Ruang Keadaan

Keadaan bisa berupa jumlah air yang berada

dalam jurigen 4-galon dan jurigen 3-galon.

Keadaan = (

x

,

y

)

x

= 0, 1, 2, 3, 4

y

= 0, 1, 2, 3

Keadaan Awal = (0, 0)

Keadaan Tujuan = (

n

, 2) untuk setiap nilai

n

(5)

Himpunan Operator

Operator (aturan produksi) adalah langkah

untuk mengubah suatu keadaan menjadi

keadaan yang lain.

Himpunan operator harus lengkap.

Solusi mungkin tidak ditemukan jika

himpunan operatornya tidak lengkap.

Bagaimana mengetahui kelengkapan

(6)

1 (x,y) If x < 4

 (4,y) Isi penuh jurigen 4 galon

2 (x,y) If y < 3

 (x,3) Isi penuh jurigen 3 galon

3 (x,y) If x > 0

 (x-d,y) Buang sebagian air dari jurigen 4 galon

4 (x,y) If y > 0

 (x,y-d) Buang sebagian air dari jurigen 3 galon

5 (x,y) If x > 0

 (0,y) Kosongkan jurigen 4 galon

6 (x,y) If y > 0

(7)

7 (x,y)

If x+y  4 and y > 0

 (4,y-(4-x)) Tuangkan air dari jurigen 3 galon ke jurigen 4 galon sampai jurigen 4 galon penuh

8 (x,y)

If x+y  3 and x > 0

 (x-(3-y),3) Tuangkan air dari jurigen 4 galon ke jurigen 3 galon sampai jurigen 3 galon penuh

9 (x,y)

If x+y  4 and y > 0

 (x+y,0) Tuangkan seluruh air dari jurigen 3 galon ke jurigen 4 galon

10 (x,y)

If x+y  3 and x > 0

 (0,x+y) Tuangkan seluruh air dari jurigen 4 galon ke jurigen 3 galon

11 (0,2)  (2,0) Tuangkan 2 galon air dari jurigen 3 galon ke jurigen 4 galon

12 (2,y)  (0,y) Buang 2 galon air dalam jurigen 4 galon sampai habis.

(8)

Model

State : sebuah keadaan yang unik di dalam

problem

Aksi : operasi untuk mengubah keadaan dari satu

state ke state lain

Ruang Pencarian : kumpulan state-state berbeda

Problem : Perbedaan antara state awal dengan

state goal

Solusi : menerapkan strategi searching untuk

menemukan rangkaian state yang mengantarkan

dari state awal ke state tujuan

(9)

Contoh: Romania

Liburan di Romania; tepatnya di Arad.

Perjalanan menuju Bucharest

Formulasikan tujuan:

 di Bucharest

Formulasikan masalah:

 states: kota-kota

 actions: mengemudi antar 2 kota

Temukan solusi:

(10)
(11)

Formulasi problem

Sebuah masalah didefinisikan dalam 4 komponen:

1. status awal, contoh: “di Arad” atau”in (Arad)" 2. aksi atau fungsi suksesor

 <Arad  Zerind, Zerind>  <Go(Zerind), Zerind>

S(x) = state space, himpunan dari aksi dan status yang mungkin dari status awal ke status akhir. Membentuk graf.

3. goal test:

 eksplisit, contoh x = “Bucharest“atau”in (Arad)"  implisit, contoh Biaya/path cost (tambahan)

 contoh jumlah jarak, jumlah aksi yang dieksekusi, dll.

 c(x,a,y) adalah biaya per aksi, diasumsikan besarnya ≥ 0. Sebuah solusi

(12)

Menentukan

state space

State space

merupakan abstraksi dari

penyelesaian masalah

Status (abstrak) = kumpulan dari

status-status riil

Aksi (abstrak) = kombinasi komplex dari

aksi-aksi riil

Contoh: "Arad

Zerind" merepresentasikan

sebuah himpunan kompleks dari rute, detours,

tempat istirahat, dll.

(13)

Contoh: 8-puzzle

 status? Lokasi dari ubin (tile)

 aksi? move blank left, right, up, down

 goal test? = is state match (given)

 biaya? 1 per aksi

(14)

Tree Search

Ide dasar:

 Mensimulasikan eksplorasi state space dengan

membangkitkan semua status suksesor dari status yang baru saja dieksplor

(15)
(16)
(17)

Implementasi: status vs. node

 Status adalah representasi dari konfigurasi fisik

 Simpul (node) adalah struktur data yang merupakan bagian

dari pohon pencarian yang terdiri dari status, node induk (parent), aksi, biaya (path cost: g(x)), dan kedalaman (depth)

 Fungsi Expand membangkitkan seluruh node suksesor,

berdasarkan status-status yang diberikan oleh fungsi

(18)

Strategi-strategi Pencarian

 Strategi pencarian didefinisikan berdasarkan penentuan

urutan pemrosesan node

 Strategi dievaluasi menurut dimensi-dimensi berikut:

 completeness: apakah pasti menemukan solusi jika memang ada?

 Kompleksitas waktu: jumlah nodes yang dibangkitkan

 Kompleksitas memori: jumlah maksimum nodes di memori

 optimal: apakah selalu menemukan solusi dengan biaya terendah?

 Kompleksitas waktu dan memori diukur dalam terminologi

berikut:

 b: faktor pencabangan maksimal dari pohon pencarian

 d: kedalaman dari solusi berbiaya terendah

(19)

Strategi2 Pencarian BLIND SEARCH/

Uninformed

Strategi pencarian

Uninformed

hanya

menggunakan informasi yang tersedia pada

definisi masalah

Breadth-first search

Uniform-cost search

Depth-first search

Depth-limited search

(20)

Breadth-first search (BFS)

Memprioritaskan

node se-level

Implementasi:

fringe

berupa antrian (queue): suksesor2 baru

ditempatkan di belakang

(21)

Breadth-first search

(b)

(d)

(22)

Properti BFS

Complete Ya (jika

b

terbatas)

Waktu?

1+b+b

2

+b

3

+… +

b

d

+

b(b

d

-1

) = O(b

d+1

)

memori?

O(b

d+1

)

(menyimpan semua node di memory) 

Optimal? Ya (jika biaya=1 per langkah)

Perbaikan: Uniform Cost Search (UCS)

 Prioritas node yang dieksplorasi adalah node yang

memberikan path cost terendah

 Implementasi:

 fringe = antrian berdasar biaya

(23)

Depth-first search

Mengeksplor node yang levelnya lebih bawah

Implementasi

:

(24)
(25)

Properties of depth-first search

Complete? Tidak: gagal pada ruang

pencarian dengan kedalaman yang tinggi

Waktu?

O(b

m

)

: sangat jelek jika m jauh

lebih besar dari d

Memori?

O(bm)

Optimal? Tidak,

Jika ada lebih dari 1 solusi

(26)
(27)

27

INFORMED SEARCH/HEURISTIC

SEARCH

Ide:

- menggunakan fungsi evaluasi

f(n)

untuk

membangkitkan node suksesor

- mengurutkan node suksesor berdasarkan

harga, hasil dari

f(n)

Kasus khusus:

greedy BFS

A

*

search

(28)

28

Greedy BFS

Mempertimbangkan harga perkiraan, bukan

harga sebenarnya

Fungsi Evaluasi

f(n) = h(n)

= estimasi biaya dari node n ke tujuan

contoh

h

SLD

(n)

=

straight-line distance

dari

node n ke ke kota B

Greedy BFS memprioritaskan node yang

(29)

29

Fungsi Heuristik

Fungsi h(N), memperkirakan biaya dari jalur

termurah dari node n ke node tujuan.

contoh: 8-puzzle

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 N goal

h(N) = jumlah ubin salah alamat = 6

h(N) = jumlah jarak setiap posisi ubin ke posisi akhirnya = 2 + 3 + 0 + 1 + 3 + 0 + 3 + 1

(30)

30

Romania (

step cost

dalam km

)

A (366) B (0) C (160) D (242) E (161) F (176) G (77) H (151) I (226) L (244) M (241) N (234) O (380) P (100) R (193) S (253) T (329) U (80) V (199) Z (374) Jarak langsung ke B

(31)

31

(32)

32

Properti Greedy BFS

Complete? Tidak – mungkin terjadi loop

contoh: I

N

I

N

Waktu?

O(b

m

)

Memori?

O(b

m

)

– menyimpan semua nodes

di memori

(33)

33

A

*

search

Menggabungkan

uniform cost search

dengan

greedy search

Ide: menghindari jalur dengan biaya yang tinggi

Fungsi evaluasi

f(n) = g(n) + h(n)

g(n)

= biaya sesungguhnya dari node awal ke

node n

h(n)

= perkiraan biaya dari node n ke

tujuan

f(n)

= perkiraan biaya total dari node asal

(34)

34

(35)

35

Properti A*

Complete? Ya (kecuali jika terdapat node

dengan f

≤ f(G)

)

Waktu? Exponential

memori? Menyimpan semua node di memori

(36)

36

Kasus Khusus Searching

 Tempatkan n ratu pada papan n x n kotak, setiap ratu

menempati sebuah kotak, tidak ada 2 atau lebih ratu pada kolom, baris, dan diagonal yang sama

(37)

37

(38)

38

Hill-climbing search

Problem: tergantung dari status awal, bisa

(39)

39

Hill-climbing search

: Persoalan

8-Ratu

 h = jumlah pasangan ratu yang berada pada baris /kolom/ diagonal yang sama  h = 17 utnuk status di atas

(40)

40

Hill-climbing search

: 6-Ratu

Sebuah minimum lokal dengan

h = 1

(41)

41

Simulated annealing (SA) search

 Idea: menghindari maksimum lokal dengan membolehkan

status yang lebih jelek dari status sebelumnya, tetapi secara gradual mengurangi frekuensinya

(42)

Constraint Satisfaction

Problems

(43)

Constraint satisfaction problems (CSP)

Pencarian standar:

 state adalah sebuah "black box“ – struktur data

mendukung fungsi suksesor, fungsi heuristik, dan goal test

CSP:

 state didefinisikan dalam bentuk variabel Xi dengan nilai

dari domain Di

 goal test adalah himpunan konstrain yang

menspesikasikan kombinasi nilai variabel yang dibolehkan

(44)

Contoh:

Map-Coloring

 Variabel WA, NT, Q, NSW, V, SA, T  Domain Di = {merah, hijau, biru}

 Konstrain: daerah-daerah yang bertetangga harus mempunyai warna yang berbeda

 Contoh: WA ≠ NT atau (WA,NT) in {(merah,hijau),(merah,biru),(hijau,merah), (hijau,biru),(biru,merah),(biru,hijau)}

(45)

Constraint graph

 Binary CSP: setiap konstrain berhubungan dengan 2 variabel

 Constraint graph: simpul adalah variabel dan busur adalah

konstrain

 Solusi berupa pernyataan lengkap dan konsisten, contohnya:

WA = merah, NT = hijau,Q = merah,NSW = hijau,V = merah,SA = biru,T = hijau

(46)

Jenis Konstrain

Unary constraints

hanya melibatkan sebuah

variabel,

 contoh SA ≠ hijau

Binary constraints

melibatkan pasangan variabel

 contoh SA ≠ WA

Higher-order constraints

melibatkan 3 atau lebih

variabel

(47)

Contoh:

Cryptarithmetic

 Variabel: F T U W

R O X1 X2 X3

 Domain: {0,1,2,3,4,5,6,7,8,9}  Konstrain: Alldiff (F,T,U,W,R,O)

 O + O = R + 10 · X1

 X1 + W + W = U + 10 · X2  X2 + T + T = O + 10 · X3  X3 = F, T ≠ 0, F ≠ 0

(48)

CSP pada dunia nyata

Persoalan penugasan

 Contoh: siapa (dosen) mengajar kelas apa

Timetabling

 Contoh: jadwal perkuliahan

Penjadwalan transportasi

Penjadwalan produksi

(49)

Formulasi Pencarian standar

 Menggunakan DFS

 Solusi akan ditemukan pada kedalaman n untuk variabel

berjumlah n

 Jalur/path tidak dipentingkan

 Pernyataan bersifat komutatif, contoh:

[WA=merah maka NT=hijau] sama dengan [NT=hijau maka WA=merah]

 Status awal: himpunan kosong { }

 Fungsi suksesor: menyatakan sebuah nilai ke sebuah variabel yang tidak konflik dengan pernyataan-pernyataan yang sudah ada

 Gagal jika terdapat pernyataan tidak legal

(50)
(51)
(52)
(53)

Games vs. search problems

"Unpredictable" opponent

specifying a

move for every possible opponent reply

Time limits

unlikely to find goal, must

approximate

(54)

Game tree (2-player,

deterministic, turns)

(55)

Minimax

 Perfect play for deterministic games

 Idea: choose move to position with highest minimax value

= best achievable payoff against best play 

 E.g., 2-ply game:

(56)
(57)

Properties of minimax

 Complete? Yes (if tree is finite) 

 Optimal? Yes (against an optimal opponent) 

 Time complexity? O(bm) 

 Space complexity? O(bm) (depth-first exploration) 

 For chess, b ≈ 35, m ≈100 for "reasonable" games

 exact solution completely infeasible

Referensi

Dokumen terkait

Faktor penghambat akses JKN pada PSP adalah rendahnya pengetahuan mengenai prosedur pendaftaran dan portabilitas JKN, kekhawatiran keberlanjutan pembayaran iuran, persepsi

PrintWriter adalah class turunan dari Writer yang memiliki metode tambahan untuk menulis tipe data Java dalam karakter yang bisa dibaca manusial... Set merupakan

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

Mendaki gunung merupakan kegiatan yang cukup populer di Indonesia. Dari tahun ke tahun jumlah pendaki gunung semakin meningkat. Bahkan banyak orang yang sebenarnya bukan

Peranan hipersensitivitas tipe I yang diperantarai oleh Ig E dalam patogenesis dermatitis atopik didasarkan kepada penelitian yang menunjukkan sekitar _ anak dengan dermatitis

Penentuan wilayah wajah berdasarkan warna kulit dan dengan menggunakan metode template matching dapat menentukan wilayah wajah manusia pada citra berwarna dengan

ANALISIS ANTENA MIKROSTRIP PATCH SEGIEMPAT DENGAN TEKNIK PLANAR ARRAY.. Diajukan untuk memenuhi salah satu persyaratan dalam menyelesaikan pendidikan sarjana