Prio Handoko, S. Kom., M.T.I. Program Studi Teknik Informatika Universitas Pembangunan Jaya Jl. Boulevard - Bintaro Jaya Sektor VII Tangerang Selatan – Banten 15224
Kompetensi Dasar
Mahasiswa mendapatkan pemahaman mengenai teknik-teknik dasar pencarian dan dapat
mempraktekan dalam penyelesaian suatu kasus.
Agenda
•
Teknik Dasar Pencarian•
Teknik Pemecahan Masalah•
Strategi Pencarian Mendalam•
Pencarian Heuristik•
Baik atau tidaknya sebuah sistem AI dalam menyelesaikan permasalahan tergantung kepada teknik pencarian atau pelacakan yangditerapkan.
•
Teknik pencarian dan pelacakan dasar:•
Pencarian buta (blind search)•
Pencarian merupakan teknik pemecahan masalah•
Apa itu pencarian?Pencarian adalah suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkian ruang keadaan (state space).
•
Ruang keadaan: suatu ruang yang berisi semuakeadaan yang memungkinkan
State 3
State 2
State 1
Keadaan sekarang/awal Keadaan tujuan-solusi yang dijangkau dan perlu diperiksa apakah telah mencapai sasaran
Nilai yang diperoleh dari solusi
Keadaan
awal Eksekusi Solusi
Memeriksa
Mengeksekusi aksi yang dibolehkan untuk meemindahkan
ke keadaan berikutnya Memeriksa jika keadaan baru merupakan solusinya OK? Y Selesai T
Alur proses pencarian
•
Memecahkan masalah mencari lintasan darikeadaan sekarang Keadaan tujuan
•
Representasi pemecahan masalah:•
Suatu masalah pencarian graph berarah•
Keadaan node•
Pencarian memunginkan tanpa hasil/penyelesaian walaupun ruang keadaan yang mungkin telah terkunjungi seluruhnya (mendalam).•
Terdapat 2 strategi pencarian yang mendalam (exhaustive search strategy):•
Breadth First Search (BFS)•
Depth First Search (DFS)Breadth First Search (BFS)
•
Merupakan pencarian yangdilakukan dengan mengunjungi setiap node secara sistematis pada tiap level hingga keadaan tujuan (goal state) ditemukan.
•
Strategi BFS menelusuri node dalam level yang sama sebelum pindah ke node pada level lainnya secara sistematis.Permasalahan BFS
•
Membutuhkan memori yang besar•
Membutuhkan jumlah besar pekerjaan•
Tidak relevannya operator akan menambah jumlah node yang harus diperiksaBreadth First Search (BFS) Breadth First Search (BFS)
Breadth First Search (BFS)
Depth First Search (BFS)
•
Merupakan pencarian yangdilakukan dari node awal secara mendalam (deep) hingga node yang paling akhir (dead-end) atau sampai ditemukan.
•
Strategi DFS menelusuri dari cabang satu ke cabang lainnya, dari awal sampai akhir•
Strategi DFS:1. proses pencarian dilakukan dengan mengunjungi cabang terlebih dahulu hingga tiba di node terakhir;
2. jika tujuan yang diinginkan belum tercapai, maka pencarian dilanjutkan ke cabang sebelumnya dan turun ke bawah jika masih ada cabangannya;
3. kegiatan 1 dan 2 dilakukan terus menerus hingga diperoleh tujuan.
•
Kelebihan:• waktu pencapaian ruang kedalaman singkat; • lebih efisien;
• memori yang dibutuhkan relatif sedikit.
Depth First Search (DFS) Depth First Search (DFS)
BFS - DFS Contoh:
Perhatikan gambar maze disamping ini, kemudian:
1. Gambarkan kembali node-node disamping sebagai sebuah graph!
2. Tentukan jalur terpendek antar node tersebut menggunakan teknik pencarian BFS dan DFS!
BFS - DFS Latihan:
Perhatikan gambar maze disamping ini, kemudian:
1. Gambarkan kembali node-node disamping sebagai sebuah graph!
2. Tentukan jalur terpendek antar node tersebut menggunakan teknik pencarian BFS dan DFS!
Pencarian heuristik (berdasarkan panduan – informed
search)adalah:
“metode yang digunakan dalam pencarian ruang
keadaan sebagai sebuah aturan untuk melakukan pemilihan cabang-cabang yang paling tepat untuk
mencapai solusi permasalahan yang dapat diterima”
Pencarian heuristik memiliki 4 metode pencarian: 1. Generate and Test
2. Hill Climbing 3. Best First Search 4. Simulated Annealing
•
Generate and test (pembangkit dan pengujian)merupakan metode yang paling sederhana dalam pencarian heuristik
•
Jika pembangkit solusi yang memungkinkan (possible solution) dikerjakan secara sistematis, maka prosedur akan mencari solusinya (jika memang ada)•
Algortima metode ini merupakan gabungan antara BFS dan DFS.Generate and Test
Algoritma
1. Bangkitkan suatu solusi. Solusi dapat berupa
pembangkitan node-node tertentu dari keadaan awal.
2. Uji solusi tersebut. Hal ini dimaksudkan untuk dapat memastikan apakah solusi tersebut sesuai yang diinginkan dengan cara membandingkan node-node yang dipilih dengan kumpulan tujuan yang diharapkan.
3. Ulangi langkah 1 dan 2 hingga mendapatkan solusi yang diharapkan.
Generate and Test
Generate and Test
A 2 B
3
1 5
3 3
Contoh: Permasalahan Travelling Sales Problem (TSP) Diketahui rute perjalanan yang harus dilalui seorang sales adalah seperti gambar di bawah ini. Tentukan lintasan terpendek dari permasalahan tersebut!
Generate and Test
Latihan
Diketahui rute perjalanan yang harus dilalui seorang sales adalah seperti gambar di samping ini. Tentukan lintasan terpendek dari permasalahan tersebut menggunakan metode GaT! A B C D 2 3 1 4 5 1
Tugas #1.
Menggunakan gambar rute yang sama dengan permasalahan sebelumnya, maka tentukan lintasan terpendek dari permasalahan tersebut menggunakan metode GaT! A B E D C 2 4 1 2 1 5 3 1
Hill Climbing – Steepest-Ascent HC
•
Metode ini mirip dengan metode GaT.•
Pembedanya adalah umpan balik (feedback) yang berasal dari prosedur pengujian digunakan untuk memutuskan arah gerak dari pencarian.•
Terdapat 2 macam metode HC:1.Simple HC 2.Steepest-ascent HC Hill Climbing Contoh
•
Menggunakan TSP sebelumnya•
Menggunakan rumusan 𝑛! 2! 𝑛−2 ! , dimana 2 adalah konstanta jumlah kota yang saling ditukarkan.Hill Climbing – Simple HC Hill Climbing – Simple HC
Latihan
Menggunakan gambar rute yang sama dengan permasalahan sebelumnya, maka tentukan lintasan terpendek dari permasalahan tersebut menggunakan metode Simple-HC! A B C D 1 4 2 5 3 3 Bagaimana algoritmanya?
Hill Climbing – Simple HC
Tugas #2.
Menggunakan gambar rute yang sama dengan permasalahan sebelumnya, maka tentukan lintasan terpendek dari permasalahan tersebut menggunakan metode Simple-HC! A B D C E 2 3 1 4 5 1 3 2
•
Metode ini mirip dengan metode HC.•
Pembedanya adalah gerakan pencarian tidak dimulai dari posisi paling kiri•
Gerakan didasarkan pada nilai heuristik terbaik•
Contoh menggunakan TSP sebelumnya!Hill Climbing – Steepest-Ascent HC
Contoh
Menggunakan gambar rute yang sama dengan permasalahan sebelumnya, maka tentukan lintasan terpendek dari permasalahan tersebut menggunakan metode Steepest-Ascent HC!
A 2 B
3
1 4
5 1
Hill Climbing – Steepest-Ascent HC
Bagaimana algoritmanya?
Tugas #3.
Menggunakan gambar rute yang sama dengan permasalahan sebelumnya, maka tentukan lintasan terpendek dari permasalahan tersebut menggunakan metode Steepest-Ascent HC! A B C 2 4 1 2 1 5 3 1
•
Metode ini merupakan kombinasi dari teknik pencarian BFS dan DFS•
Pencarian diperkenankan mengunjungi node yang terdapat pada level yang lebih rendah jika ternyata node pada level yang lebih tinggi ternyata memiliki nilai heuristik yang lebih buruk.•
Jenis pencarian BestFS yang umum digunakan adalah disebut dengan Graf ORBest Fit Search
Contoh:
Best Fit Search
•
Graf OR:•
Graf yang digunakan untuk menelusuri state space ke setiap node-node yang menjanjikan solusi•
Menerapkan fungsi heuristik yang memadai pada setiap simpul•
Jika salah satu node tersebut merupakan sebuah solusi, maka pencarian berhenti•
Jika tidak, semua node baru ditambahkan ke himpunan node yang pernah dibuat.Best Fit Search Best Fit Search
Step 1 Step 2 Step 3 Step 4
Tugas #4.
Gambarkanlah proses pencarian solusi menggunakan Graf OR yang diwakilkan oleh node-node di samping ini.
Best Fit Search
•
Teknik optimalisasi numerik dengan prinsipthermo-dynamic
•
Simulasi Annealing menggunakan nilai temperatursebagai referensi heuristik