metode pencarian - Informatika Unsyiah

Transcription

metode pencarian - Informatika Unsyiah
METODE PENCARIAN ì
Irvanizam Zamanhuri, M.Sc
Dr. Taufiq A. Gani, M.EngSc
Jurusan Informatika
Universitas Syiah Kuala
http://informatika.unsyiah.ac.id/irvanizam
Teknik-­‐Teknik Search (1/3) ì Hal-­‐hal yang muncul dalam teknik pencarian : ì  Arah Search ì  Topologi proses search ì  Penggunaan fungsi heuris<k untuk memandu proses tersebut ì ARAH SEARCH ì  Dapat dilakukan : ì  Maju à bermula dari keadaan awal (start state) ì  Mundur à diawali dari keadaan tujuan (goal state) Teknik-­‐Teknik Search (2/3) ì TOPOLOGI SEARCH ì  Ada 2 macam penggambaran problem, yaitu dalam bentuk : ì  TREE (Tree) ì  Graph ì  TREE ì  Merupakan graf dimana 2 simbol memiliki paling banyak satu lintasan yang menghubungkannya. ì  Tidak ada loop dalam TREE. ì  Contoh : problem ember air. Teknik-­‐Teknik Search (3/3) ì GRAPH ì  Graph dibedakan menjadi 2 (dua): ì  Graph berarah ì  Graph Tidak berarah ì Teknik searching dalam Kecerdasan Buatan (AI) digunakan untuk mencari solusi dari suatu permasalahan. ì Langkahnya adalah dengan mendefinisikan terlebih dahulu Ruang Masalah (State) Ruang Masalah Keadaan Awal (Ini<al State) Tujuan (Goal) Studi Kasus : Masalah Galon Air Kran air
4 liter
3 liter
A
B ì Bagaimana caranya bisa didapatkan air dengan ukuran tepat 2 liter di Galon B? Studi Kasus : Masalah Galon Air § 
Keadaan Awal à Galon A dan B masih kosong No Kejadian yang mungkin untuk masalah galon air § 
1 Isi penuh galon A 2 Isi penuh galon B 3 Buang sebagian air dari galon A 4 Buang sebagian air dari galon B 5 Kosongkan isi galon A 6 Kosongkan isi galon B 7 Tuang air dari galon A ke galon B sampai galon B penuh 8 Tuang air dari galon B ke galon A sampai galon A penuh 9 Tuang semua air dari galon A ke galon B 10 Tuang semua air dari galon B ke galon A Tujuan (Goal) à Galon B berisi 2 liter air, Galon A berisi n liter air Studi Kasus : Masalah Galon Air ì Solusi Galon A Galon B No. Kejadian 0 liter 0 liter Ini<al State 0 liter 3 liter 2 3 liter 0 liter 10 3 liter 3 liter 2 4 liter 2 liter 8 à Goal Performance Searching (1/3) ì Evaluasi sebuah pencarian akan sangat kompleks ì Dasar pengukuran dari evaluasi : ì  Seberapa cepat search menemukan penyelesaian ì  Seberapa cepat search menemukan penyelesaian yang baik ì Kecepatan search ditentukan : ì  Panjang Lintasnya. ì  Jumlah sesungguhnya penulusuran node. Performance Searching (2/3) § 
Untuk mengukur performansi metode pencarian, terdapat 4 kriteria yang dapat digunakan : § 
Completeness §  Apakah solusi pas< ditemukan? § 
Time Complexity §  Berapa lama waktu yang diperlukan § 
Space Complexity §  Berapa banyak memori yang dibutuhkan § 
Op<mally §  Apakah solusi yang ditemukan adalah solusi yang terbaik? Performance Searching (3/3) ì Time & Space complexity diukur berdasarkan : ì  b à faktor percabangan dari search tree ì  d à depth (kedalaman) dari solusi op<mal ì  m à kedalaman maksimum dari search tree (bisa infinite) Jenis Teknik Pencarian ¨  Ada beberapa teknik untuk mencari kemungkinan penyelesaian, yaitu : ¨  Blind Search (Uninformed Search) ¤  Depth First Search (DFS) ¤  Breadth First Search (BFS) ¤  Uniform Cost Search (UCS) ¤  Depth Limited Search (DLS) ¤  Itera=ve Deepening Search (IDS) ¤  Heuris=k Search (Informed Search) ¤  Hill-­‐Climbing Search ¤  Least-­‐Cost Search ¤  Best First Search BLIND SEARCH (Breadth First Search) ì Pada metode ini diperiksa se<ap node pada level yang sama sebelum mengolah ke level berikutnya yang lebih dalam. ì Pencarian dilakukan pada semua simpul dalam se<ap level secara berurutan dari kiri à kanan. ì Jika pada satu level belum ditemukan solusinya, maka pencarian dilanjutkan pada level berikutnya. BLIND SEARCH (Breadth First Search) BLIND SEARCH (Breadth First Search) ì Keuntungan Breadth First Search : ì  Tidak akan menemui jalan buntu ì  Jika ada solusi, maka Breadth First Search akan menemukannya, jika lebih dari satu maka solusi akan ditemukan ì Kelemahan Breadth First Search ì  Membutuhkan memori yang cukup banyak, karena menyimpan semua node dalam satu pohon ì  Membutuhkan waktu yang cukup lama, karena menguji n level untuk mendapatkan solusi pada level yang ke(n+1) BLIND SEARCH (Breadth First Search) ì Sifat Breadth First Search : ì  Complete ì  Ya, jika b terbatas ì  Time Complexity b + b 2 + b3 +... + b d = b(b d !1) / (b !1) = O b d+1 = O b d
( )
( )
ì  Space Complexity O (bd )
ì  Op<mal ì  Ya, jika semua step cost sama, tapi pada umumnya <dak op<mal Peta Aceh ì  Contoh Kasus : ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
B.Aceh–Sabang
Sabang–Calang
Calang–Jantho
Jantho–Sigli Sigli–Meulaboh Meulaboh–Bireuen
Bireuen–Bl.Pidie
Bl.Pidie–Simeulu
: 1000 KM : 1000KM : 800 KM : 1900 KM : 1500 KM : 1800 KM : 500 KM : 1000 KM Simeulue–Takengon
: 1500 KM Takengon–Lhokseumawe: 1500 KM Lhokseumawe–Tapaktua : 1000KM Tapaktuan-­‐Singkil
: 800KM Singkil-­‐Bl.Kejren
: 900KM Bl.Kejren-­‐Kutacane
: 700KM Kutacane-­‐Langsa
Langsa-­‐Perlak
: 900KM :1000KM Tree : Kasus Peta Aceh BLIND SEARCH (Depth First Search) ì Pencarian dilakukan pada suatu simpul dalam se<ap level dari yang paling kiri. ì Jika pada level yang terdalam, solusi belum ditemukan, maka pencarian dilanjutkan pada simpul sebelah kanan dan simpul yang kiri dapat dihapus dari memori ì Jika pada level yang paling dalam <dak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya. ì Demikian seterusnya sampai ditemukan solusi BLIND SEARCH (Depth First Search) ì Metode pencarian dapat dilihat seper< gambar : BLIND SEARCH (Depth First Search) ì Keuntungan : ì  Membutuhkan memori rela<f kecil, karena hanya node-­‐node pada lintasan yang ak<f saja yang disimpan ì  Secara kebetulan, metode ini akan menemukan solusi tanpa harus menguji lebih banyak ì Kerugian : ì  Memungkinkan <dak ditemukannya tujuan yang diharapkan ì  Hanya akan mendapatkan solusi pada <ap pencarian BLIND SEARCH (Depth First Search) §  Sifat Depth First Search § 
Complete §  Tidak Commplete, jika pohon yang dibangkitkan mempunyai level yang sangat dalam (<dak terhingga) § 
Time Complexity § 
Space Complexity § 
Op<mal ( )
Ob
m
O(bm)
§  Tidak op<mal, karena jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka DFS <dak menjamin untuk menemukan solusi yang paling baik Peta Aceh ì  Contoh Kasus : ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
ì 
B.Aceh–Sabang
B.Aceh–Calang
Calang–Meulaboh
Meulaboh–Bl.Pidie
Bl.Pidie–Tapaktuan Bl.Pidie–Singkil
Meulaboh–Simulue
B.Aceh–Jantho
: 1000 KM : 1000KM : 800 KM : 1900 KM : 1500 KM : 1800 KM : 500 KM : 1000 KM B.Aceh–Sigli Sigli–Bireuen
Bireuen–Takengon
Mtakengon-­‐Bl.Kejren
Takengon-­‐Kutacane
Bireuen-­‐Lhokseumawe
: 1500 KM : 1500 KM : 1000KM : 800KM : 900KM : 700KM Lhokseumawe-­‐Langsa
Lhokseumawe-­‐Perlak
: 900KM :1000KM Tree : Kasus Peta Aceh BLIND SEARCH (Uniform Cost Search) ì Konsepnya hampir sama dengan BFS ì Pada UCS, menggunakan urutan biaya dari yang paling kecil sampai terbesar ì UCS berusaha untuk menemukan solusi dengan total biaya terendah. A 5
S 8
B 12
7
2
10
C G Referensi ì  Sebagian besar materi(slide) disiapkan oleh (Sekolah Tinggi Ilmu Komputer Indonesia (STIKI) Malang. ì  George F. Luger, Ar<ficial Intelligence, Addison Wesley, Fourth Edi<on. ì  Stuart Russell & Peter Norvig, Ar<ficial Intelligence: A Modern Approach, Third Edi<on.