LESSON 5 : INFORMED SEARCH Part I

dokumen-dokumen yang mirip
LESSON 6 : INFORMED SEARCH Part II

Informed search. Greedy Search A* Search IDA* Search RBFS Search SMA* Search

Informed Search (Heuristic) & Eksplorasinya

Kecerdasan Buatan. Pertemuan 03. Pencarian Branch & Bound dan Heuristik (Informed)

BAB I PENDAHULUAN. Masalah lintasan terpendek berkaitan dengan pencarian lintasan pada graf

Tujuan Instruksional

Bahasan Terakhir... Pencarian dan Klasifikasinya Breadth-first Search Depth-first Search Variasi Depth-first Search:

AI sebagai Masalah Pelacakan. Lesson 2

BAB III ALGORITMA GREEDY DAN ALGORITMA A* membangkitkan simpul dari sebuah simpul sebelumnya (yang sejauh ini terbaik di

Pertemuan-07 INFORMATIKA FASILKOM UNIVERSITAS IGM

BAB I PENDAHULUAN UKDW. dalam kehidupan kita sehari-hari, terutama bagi para pengguna sarana

BAB 1 PENDAHULUAN 1.1. Latar Belakang

Bab 4. Informed Search

IKI30320 Kuliah 5 12 Sep Ruli Manurung. Best-first. search. Greedy best-first. search. search. Merancang heuristic

Penerapan Algoritma Backtracking dalam Permainan Futoshiki Puzzle

PERBANDINGAN METODE PENCARIAN DEPTH-FIRST SEARCH, BREADTH-FIRST SEARCH DAN BEST-FIRST SEARCH PADA PERMAINAN 8-PUZZLE

Bahasan Terakhir... Pencarian dan Klasifikasinya Breadth-first Search Depth-first Search Variasi Breadth & Depth-first Search:

SEARCHING. Blind Search & Heuristic Search

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

KECERDASAN BUATAN METODE HEURISTIK / HEURISTIC SEARCH ERWIEN TJIPTA WIJAYA, ST., M.KOM

Penyelesaian N-Puzzle Menggunakan A* dan Iterative Deepening A*

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah 1.2 Perumusan Masalah

VARIASI PENGGUNAAN FUNGSI HEURISTIK DALAM PENGAPLIKASIAN ALGORITMA A*

Studi Pohon Steiner dan Penggunaannya dalam Perancangan Chip dan Jaringan

Search Strategy. Search Strategy

Penyelesaian Masalah dengan Pencarian

KECERDASAN BUATAN MASALAH, RUANG KEADAAN DAN PENCARIAN ERWIEN TJIPTA WIJAYA, ST., M.KOM

Metode Searching. Blind/Un-informed Search. Heuristic/Informed Search. Breadth-First Search (BFS) Depth-First Search (DFS) Hill Climbing A*

Pendakian Bukit (Hill Climbing)

Algoritma Branch & Bound

Sistem Kecerdasan Buatan. Masalah, Ruang Masalah dan Pencarian Solusi. Masalah. Masalah Sebagai Ruang Keadaan 10/7/2015

Kasus Pelacakan untuk Pemilihan rute terpendek. Bagaimana Representasi Graph (start : Arad => tujuan:bucharest)???

ALGORITMA PENCARIAN (1)

METODE PENCARIAN BFS dan DFS

Penerapan Algoritma A* Untuk Pencarian Rute Terdekat Pada Permainan Berbasis Ubin (Tile Based Game)

Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember Surabaya 2011

Overview. Searching. Deskripsi. Intro Searching 2/4/2012 IF-UTAMA 1

BAB I PENDAHULUAN. ini. Salah satu penerapannya yaitu terdapat pada permasalahan dalam melakukan pencarian dari

BAB 2 TINJAUAN PUSTAKA

Artificial Intelegence/ P_2. Eka Yuniar

BAB III ANALISIS DAN PERANCANGAN SISTEM

TEKNIK PENCARIAN HEURISTIK (HEURISTIC SEARCHING)

Penerapan Exhaustive Search dan Algoritma A Star untuk Menentukan Rute Terbaik dari KRL Commuter Line dan Bus Transjakarta

METODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH

BAB 2 LANDASAN TEORI

Referensi. Materi kuliah IF3170 Inteligensi Buatan Teknik Informatika ITB,

ANALISA KEBUTUHAN WAKTU PADA PROSES PENYELESAIAN TRAVELING SALESMAN PROBLEM

Simulasi Pencarian Rute Terpendek dengan Metode Algoritma A* (A-Star) Agus Gustriana ( )

PENERAPAN ALGORITMA A* PADA PERMASALAHAN OPTIMALISASI PENCARIAN SOLUSI DYNAMIC WATER JUG

BAB III METODE PELACAKAN/PENCARIAN

WEBGIS PENCARIAN RUTE TERPENDEK MENGGUNAKAN ALGORITM A STAR (A*) (Studi Kasus: Kota Bontang)

Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian.

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Breadth/Depth First Search. Bahan Kuliah IF2211 Strategi Algoritmik Oleh: Rinaldi Munir Update: Masayu Leylia Khodra 22 September 2013

Penerapan Algoritma Greedy Best First Search untuk Menyelesaikan Permainan Chroma Test : Brain Challenge

PENCARIAN JALUR TERPENDEK PENGIRIMA N BARANG MENGGUNAKAN ALGORITMA A* STUDI KASUS KANTOR POS BESAR MEDAN)

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

03/03/2015. Agenda Teknik Dasar Pencarian Teknik Pemecahan Masalah Strategi Pencarian Mendalam Pencarian Heuristik

Ruang Pencarian PERTEMUAN 3

Aplikasi Algoritma Branch and Bound dalam Pencarian Solusi Optimum Job Assignment Problem

Algoritma A* untuk AI Path Finding bagi NPC

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

METODE PENCARIAN DAN PELACAKAN

Penerapan Metode Best First Search Pada Permainan Tic Tac Toe

Algoritma A* Memanfaatkan Navigation Meshes dalam 3 Dimensional Pathfinding

memberikan output berupa solusi kumpulan pengetahuan yang ada.

Software Requirement (Persyaratan PL)

PENERAPAN ALGORITMA BIDIRECTIONAL A* PADA MOBILE NAVIGATION SYSTEM

I. PENDAHULUAN. Kata Kunci Greedy-Best First Search, SMA*, jalur pendek-efisien, Heuristic

PENYELESAIAN TRAVELING SALESMAN PROBLEM (TSP) MENGGUNAKAN ALGORITMA RECURSIVE BEST FIRST SEARCH (RBFS)

Implementasi Algoritma A Star pada Pemecahan Puzzle 8

SOLUSI PENCARIAN N-PUZZLE DENGAN LANGKAH OPTIMAL : SUATU APLIKASI PENDEKATAN FUNGSIONAL

Membangun Sistem Penjadwalan Ruang Laboratorium dengan Algoritma Modified BiDirectional A*

PENERAPAN ALGORITMA A* (STAR) UNTUK MENCARI RUTE TERCEPAT DENGAN HAMBATAN

HEURISTIC SEARCH UTHIE

Penghematan BBM pada Bisnis Antar-Jemput dengan Algoritma Branch and Bound

BAB 2 LANDASAN TEORI. dihadapi di dunia nyata (real world). Banyak metode yang dibangun dalam Operations

ARTIFICIAL INTELLIGENCE

Sebelumnya... Best-First Search Greedy Search A* Search, karena boros memory, dimunculkan variannya (sekilas): IDA* SMA* D* (DWA*) RBFS Beam

Contoh 4/7/ HEURISTIC METHOD. Pencarian Heuristik

HEURISTIC SEARCH. Irvanizam Zamanhuri, M.Sc Dr. Taufiq A. Gani, M.EngSc

Bab 2 2. Teknik Pencarian

Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek.

SSSS, Problem Solving. State Space Search. Erick Pranata. Edisi I

Kompresi Pohon dengan Kode Prüfer

Representasi Graf Berarah dalam Mencari Solusi Jalur Optimum Menggunakan Algoritma A*

SOLUSI PENCARIAN N-PUZZLE DENGAN LANGKAH OPTIMAL : SUATU APLIKASI PENDEKATAN FUNGSIONAL

Anggaran Berbasis Kinerja

BAB 2 TINJAUAN PUSTAKA

Pembahasan Pencarian Lintasan Terpendek Menggunakan Algoritma Dijkstra dan A*

Pencarian. Kecerdasan Buatan Pertemuan 3 Yudianto Sujana

Pemecahan Masalah dengan Metoda Pencarian (Searching)

AI sebagai Masalah Pelacakan. Lesson 2

PENGEMBANGAN APLIKASI GAME ARCADE 3D MARI SELAMATKAN HUTAN INDONESIA

Transkripsi:

LESSON 5 : INFORMED SEARCH Part I

3.1 Pengantar Kita telah menunjukan beberapa metda pencarian yang berbeda. Di bagian bagian awal bab ini kita telah menunjukan beberapa metde pencarian buta (blind search). Metda pencarian tanpa infrmasi seperti ini(uninfrmed search methd) tidak memiliki pengetahuan khusus tentang permasalah yang dihadapinya sehingga metde metde ini tidak efisien untuk banyak kasus. Menggunakan infrmasi khusus yang spesifik untuk suatu masalah tertentu akan sangat memperbaiki kecepatan pencarian slusi, Di bab ini kita akan mempelajari beberapa algritma pencarian dengan infrmasi (infrmed search algrithm) yang menggunakan heuristic yang spesifik pada masalah yang dihadapinya. Review beberapa Strategi pencarian 1. Pencarian buta (blind search) a. Depth First Search b. Breadth First Search c. Itterative Deepening Search d. Bidirectinal Search 2. Pencarian dengan infrmasi (infrmed search) 3.1.1. Algritma pencarian graf Kita mulai dengan melihat algritma pencarian graf

3.1.2. Review untuk unifrm cst-search Kita akan mereview sebuah variasi breadth-first search yang telah lebih dulu kita deskripsikan di bahan yang lalu Dalam Unifrm cst search kita mengurutkan nde berdasarkan biaya yang ditempuhnya Bila g(n) = biaya jalur dari nde awal ke nde saat ini yaitu nde ke n Algritma ini mengurutkan nde berdasarkan nilai g secara membesar. Dan membuka nde yang dengan biaya paling kecil pada fringe Prperti Unifrm cst Search Cmplete Optimal/ admissible Waktunya expnensial Space cmplexitynya : linear / O(bd) Algritma ini menggunakan nilai g(n) untuk memilih nde yang akan dikembangkan/ di expand. Kita sekarang akan memperkenalkan metde pencarian dengan infrmasi / pencarian dengan heuristik yang menggunakan infrmasi heuristic yang specific sesuai dengan masalah yang dihadapi. Heuristic inilah yang akan digunakan untuk memilih nde yang akan dikembangkan / diexpand. 3.1.3 Pencarian dengan infrmasi (infrmed search) Kita dapat amati bahwa metde pencarian tanpa infrmasi yang mencari slusi di dalam state space secara sistematis tidak efisien dalam banyak kasus. Pencarian dengan infrmasi menggunakan infrmasi yang spesifik dari permasalahan yang bersangkutan. Dan karenanya mungkin menjadi lebih efisien. Inti dari algritma seperti ini adalah knsep tentang fungsi heuristik 3.1.3.1 Heuristik Heuristik sendiri berarti rule f thumb. Seperti yang dikatakan Judea Pearl. (Heuristic are critarea, methds, r principle fr deciding which amng several alternatives curse f actin prmises t be the mst effective in rder t reach sme gal) Heuristik adalah suatu kritarea, metde, atau prinsip dalam memilih antara beberapa kemungkinan aksi yang dianggap adalah aksi aksi yang dapat mencapai tujuan dengan paling efisien. Dalam pencarian heuristic atau pencarian dengan infrmasi, heuristik dapat digunakan untuk mengindentifikasikan jalur pencarian yang paling menjanjikan.

Cnth fungsi heuristik Fungsi heuristik pada nde ke n adalah perkiraan biaya ptimum dari nde ini ke tujuan, dilambangkan dengan ntasi h(n). h(n) = perkiraan biaya terkecil dari nde ke n ke nde tujuan (gal) Cnth 1: kita mencari jalur dari kalkuta ke guwahati. Maka salah satu heuristik untuk guwahati bisa berupa jarak garis lurus (straight line distance) antara kalkuta dan guwahati h(kalkuta) = euclidiandistance (kalkuta, guwata) Cnth 2 : 8-puzzle : Heuristik misplaced tile : jumlah angka yang salah tempat Gambar pertama menunjukan state n, dan gambar kedua menunjukan state tujuan h(n) = 5 karena angka 2,8,1,6,7 salah tempatnya Heuristik Manhatan distance : salah satu heuristic untuk 8-puzzle adalah manhattan distance. Heuristik ini menjumlah jarak dari angka yang salah tempat. Jarak diukur dari jumlah perbedaan suatu angka dengan psisi angka sebenarnnya dalam baris dan klmnya. h(n) = 1 + 1 + 0 + 0 + 0 + 1 + 1 + 2 = 6 Kita sekarang akan mempelajari satu pencarian heuristik, Best-first Search

3.2 Best First Search Unifrm cst search adalah kasus khusus dari algritma ini. Algritma ini tetap memliki pririty queue dari nde yang akan diperiksa. Suatu fungsi biaya (f(n)) diterapkan pada setiap nde. Nde kemudian ditempatkan terurut berdasarkan nilai fnya pada queue, nde dengan nilai f yang paling kecil adalah nilai yang paling kecil kemudian akan diprses terlebih dahulu. Bentuk umum algritma best first search adalah : Kita akan melihat beberapa cara berbeda dalam menentukan fungsi f. Ini menghasilkan algritma pencarian yang berbeda. 3.2.1 Greedy search Pada greedy search ide utamanya adalah mengembangkan nde dengan nilai estimasi biaya ke gal yang paling kecil (berarti nde yang paling dekat ke tujuan ). Kita menggunakan fungsi heuristik ffn) = h(n) h(n) = perkiraan jarak yang tersisa ke gal algritma ini seringkali berhasil dengan sangat baik. Algritma ini cenderung menemukan jawaban dengan cepat walau tidak selalu slusi yang ptimal,. Algritma ini tidak ptimal, dan selain itu tidak juga cmplete. Algritma ini dapat gagal menemukan slusi walaupun slusi itu ada. Hal ini bisa dilihat bila kita menjalankan algritma greedy pada cnth di bawah ini :. Heuristik yang baik untuk permasalahan mencari rute adalah garis lurus ke tujuan

Mari kita jalankan algritma greedy search untuk graf pada gambar ke 2. Heuristik jarak ditunjukan leh gambar 3. Langkah 1 : S di buka, nde turunannya adalah D dan A Langkah 2 : Karena nilai D lebih kecil ia diexpand terlebih dahulu

Ilustrasi Greedy Search Kita akan menjalankan algritma greedy search pada masalah di gambar 4, Kita gunakan heuristik garis lurus. h(n) adalah jarak garis lurus dari n ke gal. Maka nde yang akan diexpand adalah : A B E G H Jalur yang akan diambil adalah jalur A-B-E-G-H dengan biaya 99, jelas bukan jalur yang ptimal, jalur A-B- C-E-H hanya perlu biaya 39 3.2.2. A* Search

Berikutnya kita akan melihat algritma A* yang terkenal. Algritma ini diperkenalkan leh Hart Nilssn dan Rafael di 1968. A* adalah salah satu algritma best first search dengan f(n) = g(n) + h(n) dimana : g(n) adalah jumlah biaya dari nde awal ke nde n h(n) adalah perkiraan biaya yang dibutuhkan dari n ke tujuan f(n) adalah jumlah jarak yang sudah ditempuh sekarang + perkiraan jarak yang tersisa h(h) dikatakan dapat diterima (admissible) bila ia menaksir terlalu rendah (underestimate) biaya dari setiap slusi yang dapat dicapai dari n. bila C*(n) adalah biaya dari slusi yang termurah dari n ke tujuan dan jika h(n) admissible maka h(n) <= C*(n) Jika kita dapat membuktikan bahwa h(n) admissible, maka pencarian akan dapat menemukan slusi yang ptimal Secara garis besar algritma A* adalah sebagai berikut :

3.2.1 ilustrasi A* Heuristik yang digunakan adalah straight line distance (garis lurus). Urutan nde yang akan dibuka dan status dari fringe dapat ditunjukan leh tabel berikut :

3.2.2 Prperti pencarian A* Algritma A* bersifat admissible. Ini berarti apabila slusi ada, slusi yang ditemukan pertama adalah slusi yang ptimal. A* bersifat admissible bila memenuhi syarat syarat berikut : Di dalam graph state space Setiap nde memiliki successr yang terbatas Setiap arc pada graph memiliki biaya yang > dari 0 Heuristik : untuk setiap nde n h(n) < h*(n) A* juga cmplete bila memenuhi syarat syarat diatas: A* ptimal untuk heuristik tertentu dari semua algritma search yang ptimal yang mencari dari rt ke nde tujuan, dapat dibuktikan bahwa tidak ada algritma lain yang membuka simpul nde yang paling sedikit dan menemukan slusi Namun, jumlah nde yang disimpan masih bersifat expnential pada kasus terburuk Sayangnya perkiraan saja tidak cukup bagi algritma A* untuk tidak membuka simpul secara expnential, sebagai tambahan A* harus menyimpan semua nde pada memry A* jauh lebih efisien daripada pencarian tanpa infrmasi Selalu lebih baik menggunakan heuristic yang bernilai lebih besar asalkan tidak melebihi nilai aslinya (verestimate). Suatu heuristik dikatakan knsisten bila : h(n) <= cst(n,n ) + h(n ) sebagai cnth heuristik untuk kasus dibawah ini tidak knsisten, karena h(n)= 4 sedangkan h(n ) = cst(n,n ) + h(n ) = 1 + 2 = 3, sehingga h(n) > h(n ). hal ini membuat nilai f mengecil dari nde n ke nde n :

Jika suatu heuristik h knsisten, maka nilai f sepanjang jalur mana pun tidak akan menurun f(n ) = perkiraan jarak dari awal ke tujuan melalui n = jarak yang telah ditempuh dari awal ke n +biaya jarak dari n ke n + perkiraan jarak tersisa dari n ke tujuan = g(n) + cst (n,n ) + h(n ) >= g(n) + h(n) karena cst(n,n ) + h(n ) > h(n) = f(n) Karena itu f(n ) > = f(n), jadi f seharusnya tidak pernah berkurang di sepanjang jalur Bila heuristik h tidak knsisten, kita dapat memperbaiki nilai f agar seakan akan nilai h knsisten menggunakan persamaan pathmax f(n ) = max(f(n), g(n ) + h(n )) ini menjamin nilai f tidak akan mengecil sepanjang jalur dari awal ke gal. Bila diberikan nilai f yang tidak menurun, kita dapat menganggap A* sebagai mencari dari luar melalui serangkaian kntur nde, dimana tiap nde di dalam suatu kntur memiliki nilai f yang sama

Untuk setiap kntur, A* memeriksa semua nde pada kntur yang sama, jika slusi ada, nde tujuan terdekat dengan nde awal akan diketemukan pertama kali. Kita sekarang akan membuktikan admissibility dari A* 3.2.3 bukti admissibility dari A* Kita akan menunjukan bahwa algritma A* admissible bila menggunakan heuristic yang mntne Heuristik yang mntne adalah heuristik yang untuk setiap jalur kearah tujuan nilai f nya tidak mengecil. Seperti yang telah disebutkan sebelumnya bila heuristik tidak mntne dapat diubah terlebih dahulu menjadi heuristik yang mntne dengan menggunakan trik ini (m adalah anak dari n) f(m) = max(f(n),g(m) + h(m)) dengan G adalah state tujuan yang ptimal C* adalah nilai biaya jalur yang ptimal G2 adalah state tujuan yang lebih tidak ptimal dengan g(g2) > C* Anggaplah A* memilih G2 dari prses OPEN untuk dikembangkan / diekspansi

Anggaplah ada sebuah nde n sebuah jalur yang menuju pada state tujuan yang ptimal G, maka C* >= f(n). Karena n tidak dipilih untuk diexpansi bila dibandingkan dengan G2 maka f(n) >= f(g2) Karena G2 adalah sebuah state tujuan maka f(g2) = g(g2) Maka C* > = g(g2) Ini adalah suatu kntradiksi. Maka A* tidak akan memilih G2 untuk diekspansi sebelum mencapai tujuan dengan jalur yang ptimal. 3.2.4 Bukti kelengkapan algritma A* Bila ada sebuah G yang adalah state tujuan yang ptimal. A* tidak bisa mencapai state tujuan hanya bila terdapat nde sejumlah tidak terbatas dimana f(n) <= C* Ini hanya akan terjadi apabila Terdapat nde yang mempunyai branching factr tidak terbatas Terdapat jalur yang memiliki biaya yang terbatas tapi memiliki jumlah nde yang tidak terbatas. Tapi kita telah mengasumsikan bahwa untuk setiap arc pada graf memiliki biaya yang lebih besar dari 0. Oleh karena itu apabila ada nde yang jumlahnya tidak terhingga pada jalur g(n) < f*, maka biaya jalur itu akan jadi tidak terbatas Maka A * dikatakan cmplete dan ptimal dengan mengasumsikan sebuah heuristic yang admissible dan knsisten (atau menggunakan pathmax untuk mempertahankan knsistensi) A* juga dikatakan ptimally efficient berarti bahwa algritma ini akan mengembangkan hanya nde nde yang diperlukan saja untuk menjamin ptimalitas dan efisiensi

3.2.4 Analisis perfrmansi A* Mdelkan search space dengan sebuah phn b-ary yang unifrm dengan state awal yang unik s dan state tujuan g, g ada sejauh N dari s. Jumlah nde yang diekspansi leh A* berjumlah ekspnensial sebesar N kecuali apabila perkiraan heuristiknya akurat secara lgaritmik h(n)-h*(n) <= O (lg h*(n)) Pada prakteknya kebanyakan heuristic mengalami prprtinal errr Terkadang menjadi sulit untuk menggunakan algritma A* karena queue nya menjadi terlalu besar Slusinya adalah menggunakan algritma yang memakan memry lebih sedikit. 3.2.5 prperti dari heuristik Dminansi h2 dikatakan memiliki dminansi atas h1 jika h2(n) > = h1(n) untuk setiap n A * akan mengekspansi lebih sedikit nde dengan h2 secara rata rata dibandingkan dengan h1 Bukti : Untuk setiap nde dimana f(n) < C* akan diekspansi, maka n akan diekspansi apabila h(n) < f* - g(n) karena h2(n) >= h1(n) setiap nde yang diekspansi h1 akan diekspansi leh h1. 3.2.6. Menggunakan Heuristik lebih dari satu Apabila anda menemukan sejumlah heuristik yang nn verestimating untuk sebuah masalah : h1(n),h2(n),h3(n), hk(n) ama max (h1(n),h2(n),.hk(n)) adalah sebuah heuristik yang nn verestimating yang efektif. Ini bisa dibuktikan dengan prperti dminansi