PROBLEM SOLVING BY
SEARCHING
Artificial Intelegent
Waktu sering diukur dalam hal jumlah node yang dihasilkan selama pencarian, dan ruang dalam
hal jumlah maksimum node yang tersimpan dalam memori.
Untuk menilai efektivitas algoritma pencarian, kita bisa mempertimbangkan hanya biayayang biasanya pencarian tergantung pada kompleksitas waktu tetapi juga dapat mencakup istilah
untuk penggunaan memori-atau kita dapat menggunakan biaya total, yang menggabungkan biaya
pencarian dan jalan biaya solusi ditemukan. Untuk masalah menemukan rute dari Arad ke
Bucharest, biaya pencarian adalah jumlah waktu yang dibutuhkan oleh pencari dan solusi biaya
adalah total panjang jalan di kilometer. Dengan demikian, untuk menghitung total biaya, kita
harus menambahkan milidetik dan kilometer.
3.4 Uninformed Search Strategies
Uninformed Search sering disebut juga dengan Blind Search. Istilah tersebut menggambarkan
bahwa teknik pencarian ini tidak memiliki informasi tambahan mengenai kondisi diluar dari
yang disediakan oleh definisi masalah. Yang dilakukan oleh algoritma ini adalah melakukan
generate dari successor dan membedakan goal state dari non-goal state. Pencarian dilakukan
berdasarkan pada urutan mana saja node yang hendak di-expand.
1. Breadth First Search (BFS)
Pencarian dengan Breadth First Search menggunakan teknik dimana langkah pertamanya
adalah root node diekspansi, setelah itu dilanjutkan semua successor dari root node juga
di-expand. Hal ini terus dilakukan berulang-ulang hingga leaf (node pada level paling
bawah yang sudah tidak mempunyai successor lagi).
pada successor yang ada berdasar kepada nilai path-nya (node disimpan dalam bentuk
priority queue).
Ilustrasi jalannya algoritma Uniform Cost Search dapat digambarkan sebagai berikut :
Seperti tampak pada gambar, initial state terletak pada node start, kemudian untuk
mencapai node berikutnya, algoritma ini memilih jalur yang memilki harga terkecil
diantara dua node di depannya. Begitu seterusnya, dilakukan pengecekan node yang
memilki harga terkecil hingga sampai pada goal state. Contoh lebih detil tentang jalannya
Algoritma Uniform Cost Search adalah sebagai berikut :
ditinggalkan, dan dilakukan ke node paling dalam lainnya yang masih memiliki successor
Optimasi Algoritma A*
Algoritma ini merupakan algoritma Best First Search yang Menggabungkan Uniform Cost
Search dan Greedy Best-First Search. Dimana Harga yang dipertimbangkan f(n) didapat dari
harga sesungguhnya g(n) ditambah dengan harga perkiraan h(n). Dalam notasi matematika
dituliskan: f(n) = g(n) + h(n). Masalah utama dalam membangun sistem berbasis AI adalah
bagaimana mengkonversi situasi yang diberikan ke dalam situasi lain yang diinginkan
menggunakan sekumpulan operasi tertentu Masalah water jug / wadah air adalah salah satu
masalah yang membutuhkan konversi dari satu situasi menjadi situasi yang diinginkan dengan
menggunakan sekumpulan operasi. Dari pendahuluan diatas maka masalah water jug ini dapat
diselesaikan dengan algoritma penelusuran graf / node. Oleh karena itu untuk mencari solusi
masalah ini dengan optimal dan komplit, penulis menerapkan algoritma A* (Star).
Sama dengan algortima dasar Best First Search, algoritma A* ini juga menggunakan dua
senarai : OPEN dan CLOSED. Terdapat tiga kondisi bagi setiap suksesor yang dibangkitkan,
yaitu: sudah berada di OPEN, sudah berada di CLOSED, dan tidak berada di OPEN maupun
CLOSED. Pada ketiga kondisi tersebut diberikan penanganan yang berbeda-beda. Jika suksesor
sudah pernah berada di OPEN, maka dilakukan pengecekan apakah perlu pengubahan parent
atau tidak tergantung pada nilai g-nya melalui parent lama atau parent baru. Jika melalui parent
baru memberikan nilai g yang lebih kecil, maka dilakukan pengubahan parent. Jika pengubahan
parent dilakukan, maka dilakukan juga perbaruan (update) nilai g dan f pada suksesor tersebut.
Untuk terpilih sebagai simpul terbaik (best node). Jika suksesor sudah pernah berada di
CLOSED, maka dilakukan pengecekan apakah perlu pengubahan parent atau tidak. Jika ya,
maka dilakukan perbaruan nilai g dan f pada suksesor tersebut serta semua anak cucunya yang
sudah pernah berda di OPEN.
Dengan perbaruan ini, maka semua anak cucunya tersebut memiliki kesempatan lebih
besar untuk terpilih sebagai simpul terbaik (best node). Jika suksesor tidak berada di OPEN
maupun di CLOSED, maka suksesor tersebut dimasukkan ke dalam OPEN. Tambahkan suksesor
tersebut sebagai suksesornya best node. Hitung biaya suksesor tersebut dangan rumus f = g + h
Dengan penggunaan f(n), maka algoritma A* adalah Complete dan Optimal. Heuristik adalah
nilai
yang memberi harga pada tiap simpul yang memandu A* mendapatkan solusi yang diinginkan.
Dengan heuristik, maka A*pasti akan mendapatkan solusi (jika memang ada solusinya). Dengan
kata lain, heuristic masih merupakan estimasi / perkiraan biasa saja. Sama sekali tidak ada rumus
khususnya. Artinya,setiap kasus memiliki fungsi heuristic yang berbeda-beda. Algoritma A*
menyelesaikan masalah yang menggunakan graf untuk perluasan ruang statusnya. Dengan kata
lain digunakan untuk menyelesaikan permasalahan yang bisa di representasikan dengan graf.
Algoritma A* adalah sebuah algoritma yang telah diperkaya, dengan menerapkan suatu heuristik,
algoritma ini membuang langkah-langkah yang tidak perlu dengan pertimbangan bahwa langkahlangkah yang dibuang sudah pasti merupakan langkah yang tidak akan mencapai solusi yang
diinginkan. Algoritma A* membangkitkan simpul yang paling kecil. Simpul ini kemudian
disimpan
suksesornya ke dalam list sesuai dengan urutan yang paling mendekati solusi terbaik. Kemudian,
simpul pertama pada list diambil, dibangkitkan suksesornya dan kemudian suksesor ini disimpan
ke dalam list sesuai dengan urutan yang terbaik untuk solusi. List simpul ini disebut dengan
simpul terbuka (open node). Dalam ilmu komputer, sebuah algoritma pencarian dijelaskan secara
luas adalah sebuah algoritma yang menerima masukan berupa sebuah masalah dan menghasilkan
sebuah solusi untuk masalah tersebut, yang biasanya didapat dari evaluasi beberapa
kemungkinan
solusi. Sebagian besar algoritma yang dipelajari oleh ilmuwan komputer adalah algoritma
pencarian. Himpunan semua kemungkinan solusi dari sebuah masalah disebut ruang pencarian.
Algortima pencarian brute-force atau pencarian naif/uninformed menggunakan metode yang
sederhana dan sangat intuitif pada ruang pencarian (metode blind), sedangkan algoritma
pencarian informed menggunakan heuristik untuk menerapkan pengetahuan tentang struktur dari
ruang pencarian untuk berusaha mengurangi banyaknya waktu yang dipakai dalam pencarian.
8-puzzle adalah salah satu masalah yang paling awal pencarian heuristik. Seperti disebutkan
dalam Sec-tion 3.2, objek teka-teki adalah untuk geser ubin horizontal atau vertikal ke dalam
ruang kosong sampai konfigurasi sesuai dengan konfigurasi tujuan (Gambar 3.28).
Biaya rata-rata untuk solusi secara acak 8-puzzle misalnya sekitar 22 langkah. Faktor bercabang
sekitar 3. (Ketika ubin kosong di tengah, empat bergerak yang mungkin, ketika itu di sudut, dua,.
Dan ketika itu adalah sepanjang tepi, tiga) Ini berarti bahwa pencarian pohon lengkap untuk
kedalaman 22 akan melihat sekitar 322 3,1 x 1011) menyatakan. Sebuah pencarian graph akan
memotong ini turun dengan faktor sekitar 170.000 karena hanya 'A / 2 = 181, 440 negara yang
berbeda bisa dijangkau. (Lihat Latihan 3.4.).
Ini adalah angka dikelola, tetapi angka yang sesuai untuk 15-teki kira-kira 1n13, sehingga urutan
berikutnya bisnis adalah untuk menemukan fungsi heuristik yang baik. Jika kita ingin mencari
solusi terpendek dengan menggunakan A *, kita membutuhkan fungsi heuristik yang pernah
overestimates sejumlah langkah untuk tujuan. Ada sejarah panjang heuristik tersebut untuk 15teki; di sini adalah dua kandidat umumnya digunakan:
hi = jumlah ubin salah tempat. Untuk Gambar 3.28, semua delapan ubin dari posisi,
sehingga negara awal akan hi = 8. hi adalah heuristik diterima karena jelas bahwa setiap
genteng yang keluar dari tempat harus dipindahkan setidaknya sekali.
h2 = jumlah dari jarak ubin dari posisi tujuan mereka. Karena ubin tidak bisa bergerak
sepanjang diagonal, jarak kami akan menghitung adalah jumlah dari distances_
horizontal dan vertikal ini kadang-kadang disebut kota blok jarak atau Manhattan jarak.
h2 juga diterima karena semua langkah apapun dapat Anda lakukan adalah memindahkan
satu ubin satu langkah lebih dekat ke tujuan. Ubin 1 sampai 8 di negara mulai
memberikan jarak Manhattan
H2 = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18.
Seperti yang diharapkan, tak satu pun dari ini overestimates biaya solusi yang benar, yang 26.
Orang mungkin bertanya apakah h2 selalu lebih baik daripada hi. Jawabannya adalah "Pada
dasarnya, ya." 11 mudah untuk melihat dari definisi kedua heuristik bahwa, untuk setiap node n,
h2 (n)> hi (n) Dengan demikian kita mengatakan h2 yang mendominasi hi. Dominasi
diterjemahkan langsung ke efisiensi: A 'menggunakan h2 tidak akan memperluas lebih node dari
A * menggunakan hi (kecuali mungkin untuk beberapa node dengan f (n) = C *). Argumen
sederhana. Ingat pengamatan pada halaman 97 bahwa setiap simpul dengan f (n) <C. * pasti akan
ia diperluas. Ini adalah sama dengan mengatakan bahwa setiap simpul dengan h (n) <C "-. G (n)
pasti akan diperluas Tapi karena h2 setidaknya sebesar hi untuk semua node, setiap node yang
pasti diperluas oleh A" pencarian dengan h2 akan juga pasti akan diperluas dengan hi, hi dan
dapat menyebabkan node lain untuk diperluas juga. Oleh karena itu, umumnya lebih baik untuk
menggunakan fungsi heuristik dengan nilai yang lebih tinggi, asalkan konsisten dan bahwa
waktu komputasi untuk heuristik yang tidak terlalu lama.
3.6.2 Generating admissible heuristics from relaxed problems
Kita telah melihat bahwa kedua hi (ubin salah tempat) dan h2 (Manhattan jarak) adalah heuristik
cukup baik untuk g-teki dan h2 yang lebih baik. Bagaimana mungkin satu telah datang dengan
h2? Apakah mungkin untuk komputer untuk menciptakan heuristik seperti mekanis?
hi dan h2 merupakan perkiraan dari panjang jalan yang tersisa lemak 8-puzzle. tetapi mereka
juga jalan sempurna akurat panjang untuk versi yang disederhanakan dari teka-teki. Jika aturan
teka-teki yang berubah sehingga ubin bisa bergerak di mana saja, bukan hanya ke alun-alun
kosong yang berdekatan, maka h1 akan memberikan jumlah yang tepat dari langkah-langkah
dalam larutan terpendek Demikian pula, jika ubin bisa bergerak satu persegi ke segala arah,
bahkan ke sebuah persegi yang diduduki, maka h2 akan memberikan jumlah yang tepat dari
langkah-langkah dalam larutan terpendek. Masalah dengan sedikit pembatasan pada tindakan
disebut masalah santai. Negara-ruang grafik masalah santai adalah supergraph dari ruang
keadaan semula karena penghapusan pembatasan menciptakan menambahkan tepi dalam grafik.
Karena masalah santai menambahkan tepi ke ruang negara. solusi optimal dalam masalah asli,
menurut definisi, juga solusi dalam masalah santai; tetapi masalah santai mungkin memiliki
solusi yang lebih baik jika ujung-ujungnya menambah menyediakan jalan pintas.
Jika definisi masalah yang ditulis dalam bahasa formal, adalah mungkin untuk membangun
masalah santai otomatis. L 1 Misalnya, jika tindakan 8-puzzle yang digambarkan sebagai
Ubin A dapat berpindah dari persegi A ke titik B jika
A adalah horisontal atau vertikal berdekatan dengan B dan B kosong,
kita bisa menghasilkan tiga masalah santai dengan menghapus satu atau kedua kondisi:
(a) genteng A dapat berpindah dari persegi A ke titik B jika A berdekatan dengan B.
Heuristik komposit ini menggunakan fungsi mana yang paling akurat pada node yang
bersangkutan. Karena heuristik komponen yang diterima, itu diterima; itu juga mudah di
membuktikan bahwa itu konsisten. Selanjutnya. dia mendominasi semua heuristik komponennya.
3.6.3 Generating admissible heuristics frnm subproblems: Pattern databases
Heuristik diterima juga bisa berasal dari biaya solusi dari subproblem dari yang diberikan
masalah. Sebagai contoh, Gambar 3.30 menunjukkan subproblem dari contoh 8-puzzle pada
Gambar-ure 3.28. Subproblem yang melibatkan mendapatkan ubin 1, 2, 3. 4 ke posisi yang
benar. Jelas, biaya solusi optimal dari subproblem ini adalah batas bawah pada biaya masalah
com-plete. Ternyata untuk menjadi lebih akurat daripada Manhattan jarak dalam beberapa kasus.
Ide di balik database pola adalah untuk menyimpan biaya ini solusi yang tepat untuk setiap posjawab contoh-in subproblem contoh kita, setiap kemungkinan konfigurasi empat ubin dan
kosong. (The lokasi dari empat ubin lainnya adalah tidak relevan untuk tujuan SOLV-ing
subproblem, tetapi bergerak dari mereka ubin yang dihitung terhadap biaya.) Kemudian kami
menghitung sebuah heuristik HDB diterima untuk masing-masing negara lengkap ditemui
selama pencarian hanya dengan melihat up konfigurasi subproblem yang sesuai dalam database.
Database itu sendiri dibangun dengan mencari backt3 dari tujuan dan merekam biaya setiap pola
baru en-dimentahkan; mengorbankan pencarian ini diamortisasi selama banyak contoh masalah
berikutnya.
Pilihan 1-2-3-4 cukup sewenang-wenang; kami juga bisa membangun database untuk 5-6-7-8, 24-6-8 untuk, dan sebagainya. Setiap database menghasilkan sebuah heuristik diterima, dan
heuristik ini dapat dikombinasikan, seperti yang dijelaskan sebelumnya, dengan mengambil nilai
maksimum. Sebuah heuristik gabungan semacam ini jauh lebih akurat dari jarak Manhattan;
jumlah node yang dihasilkan ketika memecahkan acak 15-teka-teki dapat dikurangi dengan
faktor 1000.
Pola menguraikan database bekerja untuk teka-teki geser-genteng karena masalah dapat dibagi
sedemikian rupa bahwa setiap langkah hanya mempengaruhi satu subproblem-karena hanya satu
ubin
dipindahkan pada suatu waktu. Untuk masalah seperti Rubik Cube, jenis subdivisi sulit karena
setiap langkah mempengaruhi 8 atau 9 dari 26 cubies. Cara yang lebih umum mendefinisikan
aditif, heuristik diterima telah diusulkan yang berlaku untuk kubus Rubik (Yang et al., 2008),
tetapi mereka belum menghasilkan heuristik yang lebih baik dari yang terbaik heuristik
nonadditive untuk masalah.
3.6.4 Learning heuristics from experience
Sebuah fungsi h heuristik (n) seharusnya memperkirakan biaya solusi mulai dari negara di
simpul n. Bagaimana bisa seorang agen membangun fungsi seperti? Salah satu solusi yang
diberikan dalam bagian-yaitu sebelumnya, untuk merancang masalah santai yang solusi optimal
dapat ditemukan dengan mudah. Solusi lain adalah untuk belajar dari pengalaman. "Pengalaman"
di sini berarti memecahkan banyak teka-teki-8, misalnya. Setiap solusi optimal untuk masalah 8puzzle memberikan contoh yang h (n) dapat dipelajari. Setiap contoh terdiri dari negara dari jalur
solusi dan biaya yang sebenarnya dari solusi dari titik itu. Dari contoh-contoh ini, algoritma
pembelajaran dapat digunakan untuk membangun fungsi h (n,) yang dapat (dengan
keberuntungan) memprediksi biaya solusi bagi negara-negara lain yang muncul selama
pencarian. Teknik untuk melakukan hal ini dengan menggunakan jaring saraf, pohon de-cision,
dan metode lain yang ditunjukkan dalam Bab 18. (The penguatan metode yang dijelaskan dalam
Bab 21 belajar juga berlaku.)
Metode pembelajaran induktif bekerja dengan baik ketika disertakan dengan fitur negara yang
relevan dengan memprediksi nilai negara, bukan hanya deskripsi keadaan mentah. Misalnya,
fitur "jumlah ubin salah tempat" mungkin bisa membantu dalam memprediksi jarak yang
sebenarnya dari negara dari gawang. Mari kita sebut fitur ini xi (n). Kita bisa mengambil 100
secara acak konfigurasi 8-puzzle dan mengumpulkan statistik pada biaya solusi yang sebenarnya
mereka. Kita mungkin menemukan bahwa ketika xi (n) adalah 5, biaya solusi rata-rata sekitar 14,
dan seterusnya. Mengingat data ini, nilai xi dapat digunakan untuk memprediksi h (n). Tentu
saja, kita dapat menggunakan beberapa fitur. Sebuah x2 fitur kedua (n) mungkin "jumlah pasang
ubin yang berdekatan yang tidak berdekatan di negara tujuan" Bagaimana seharusnya r1 (n) dan
T2 (n) dikombinasikan untuk memprediksi h (n) 9 Pendekatan yang umum adalah untuk
menggunakan kombinasi linear:
h (n) = eixi (n) + e2s2 (n)
Konstanta dan e2 disesuaikan untuk memberikan yang terbaik sesuai dengan data yang
sebenarnya biaya solusi.
Satu mengharapkan kedua c1 dan e2 menjadi positif karena ubin salah tempat dan pasangan yang
berdekatan yang salah membuat masalah sulit untuk memecahkan. Perhatikan bahwa heuristik
ini tidak memenuhi kondisi yang
h (n) = 0 untuk negara tujuan, tetapi belum tentu diterima atau konsisten.
3.7 SUMMARY
Bab ini telah memperkenalkan metode yang agen dapat digunakan untuk memilih tindakan di
lingkungan yang deterministik, diamati, statis, dan benar-benar dikenal. Dalam kasus tersebut,
agen dapat membuat urutan dari tindakan yang mencapai tujuannya; Proses ini disebut
pencarian.
Sebelum agen dapat mulai mencari solusi, tujuan harus diidentifikasi dan masalah yang
terdefinisi dengan baik harus dirumuskan.
masalah terdiri dari lima bagian: keadaan awal, serangkaian tindakan, model transisi yang
menggambarkan hasil tindakan tersebut, fungsi tes tujuan, dan fungsi biaya jalan. Lingkungan
dari masalah diwakili oleh negara ruang. Sebuah jalan melalui
ruang negara dari keadaan awal ke keadaan tujuannya adalah solusi.
algoritma Cari mengobati negara dan tindakan sebagai atom: mereka tidak mempertimbangkan
struktur internal mereka mungkin memiliki.
Algoritma TREE-SEARCH umum menganggap semua jalur yang mungkin untuk menemukan
solusi, sedangkan algoritma GAMBAR-PENCARIAN menghindari pertimbangan jalur
berlebihan.
Cari algoritma dinilai berdasarkan kelengkapan, optimalitas, waktu kompleks. ity, dan
kompleksitas ruang. Kompleksitas tergantung pada h, faktor percabangan dalam ruang keadaan,
dan d, kedalaman solusi dangkal.
metode pencarian uninformed hanya memiliki akses ke definisi masalah. Algoritma dasar
adalah sebagai berikut:
Pencarian -Breadth pertama memperluas node dangkal pertama; itu selesai, optimal untuk biaya
satuan. tetapi memiliki kompleksitas ruang eksponensial.
Pencarian -Uniform.cost memperluas node dengan jalan cor termurah, g (n), dan optimal untuk
biaya langkah umum.
Pencarian -depth pertama memperluas node tidak dikembangkan terdalam pertama. Hal ini tidak
com-plete atau optimal, tetapi memiliki kompleksitas ruang linear. Kedalaman pencarian terbatas
menambahkan kedalaman terikat.
-Iterative Pencarian memperdalam panggilan pencarian mendalam-pertama dengan
meningkatkan batas kedalaman sampai tujuan ditemukan. Hal selesai, optimal untuk biaya
langkah -unit, memiliki kompleksitas waktu sebanding dengan breadth-first pencarian, dan
memiliki linear kompleksitas ruang.
Pencarian -Bidirectional sangat besar dapat mengurangi kompleksitas waktu, tetapi tidak selalu
berlaku dan mungkin memerlukan terlalu banyak ruang.