Anda di halaman 1dari 16

LECTURE NOTES

Artificial Intelligence

Minggu 1

Uninformed and Informed


Search Strategies

Artificial Intelligence
LEARNING OUTCOMES

LO1: Menjelaskan apa itu AI, identifikasi konsep agen cerdas, dan berbagai
algoritma pencarian cerdas untuk menyelesaikan masalah

OUTLINE MATERI (Sub-Topic):


1. Agen Pemecahan Masalah
2. Contoh Permasalahan
3. Pencarian untuk Penyelesaian Masalah
4. Strategi Pencarian Uninformed
5. Strategi Pencarian Informed
6. Kesimpulan

Artificial Intelligence
ISI MATERI

1. AGEN PEMECAHAN MASALAH


Agen cerdas seharusnya memaksimalkan ukuran kinerja mereka. Untuk mencapai
ukuran maksimal, agen perlu mempunyai tujuan dan sasaran. Mari kita lihat
mengapa dan bagaimana agen bisa melakukan tindakan untuk mencapainya. Sebagai
contoh, saat ini seorang agen berada di kota Arad-Rumania, sedang menikmati
liburan. Dalam liburan tersebut, agen ingin kulitnya menjadi lebih coklat dengan
berjemur, meningkatkan kemampuan bahasa Rumania, dan menikmati pemandangan.
Asumsikan bahwa agen esok hari akan menuju Bucharest. Saat ini agen memiliki
tiket yang tidak dapat dikembalikan untuk terbang keluar dari Bucharest. Dalam hal
ini, agen tersebut bertujuan untuk pergi ke Bucharest. Tujuan membantu agen
mengatur tindakannya. Formulasi tujuan, berdasarkan situasi saat ini dan ukuran
kinerja agen, adalah langkah pertama dalam pemecahan masalah. Tugas agen adalah
mencari tahu bagaimana bertindak, saat ini dan keadaan berikutnya, sehingga
mencapai keadaan tujuan. Perumusan masalah adalah proses memutuskan tindakan
dan keadaan yang perlu dipertimbangkan untuk mencapai tujuan. Jika agen tidak
mempunyai informasi tambahan – lingkungan tidak dikenal, maka tindakan dapat
dipilih secara random. Misalkan agen memiliki peta Rumania, peta dapat
memberikan agen informasi tentang keadaan yang mungkin terjadi dan tindakan yang
dapat diambilnya.

Masalah-Solusi
Suatu masalah dapat didefinisikan secara formal oleh lima komponen:
• Status awal agen (initial state). Misalnya, status awal agen di Rumania dapat
digambarkan sebagai In(Arad)
• Deskripsi tindakan yang mungkin tersedia bagi agen. Dengan keadaan tertentu s
ACTIONS(s) mengembalikan tindakan yang dapat dilakukan dalam s. Masing-
masing tindakan ini berlaku dalam s. Sebagai contoh, In(Arad), tindakan yang
mungkin dilakukan adalah {Go(Sibiu), Go(Timisoara), Go(Zerind)}.
• Deskripsi tentang apa yang dilakukan setiap tindakan-model transisi, ditentukan
oleh fungsi RESULT(s,a) yang mengembalikan keadaan yang dihasilkan dari
melakukan tindakan a dalam keadaan s. Istilah successor merujuk ke keadaan
apa pun yang dapat dicapai dari keadaan tertentu dengan satu tindakan.
Misalnya, RESULT(In(Arad),Go(Zerind)) = In(Zerind).
• Uji goal, yang menentukan apakah keadaan tertentu merupakan keadaan tujuan.
Tujuan agen di Rumania adalah {In (Bucharest)}.
• Fungsi path cost yang menetapkan biaya numerik untuk setiap jalur. Agen
pemecahan masalah memilih fungsi biaya yang mencerminkan ukuran
kinerjanya. Untuk agen yang mencoba pergi ke Bucharest, waktu sangat penting,
jadi path cost mungkin adalah dalam satuan kilometer. Dapat diasumsikan
bahwa biaya suatu jalur dapat digambarkan sebagai jumlah dari biaya tindakan
individu di sepanjang jalur tersebut. Biaya langkah untuk mengambil tindakan a

Artificial Intelligence
dalam keadaan s untuk mencapai keadaan s' dilambangkan dengan c(s, a, s').
Biaya langkah untuk Rumania ditunjukkan pada Gambar 1 sebagai jarak rute
dengan asumsi biaya Langkah adalah positif

Gambar 1

Keadaan awal (initial state), tindakan (action), dan model transisi secara implisit
mendefinisikan ruang keadaan masalah—kumpulan semua keadaan yang mungkin
dicapai dari keadaan awal dengan urutan tindakan apa pun. Ruang keadaan
membentuk jaringan atau grafik terarah di mana node adalah keadaan, dan
hubungan antar node adalah tindakan. (Peta Rumania yang ditunjukkan pada
Gambar 1 dapat diinterpretasikan sebagai grafik ruang-keadaan jika kita melihat
setiap jalan sebagai dua arah.) Sebuah jalur dalam ruang keadaan adalah urutan
keadaan yang dihubungkan oleh sebuah urutan tindakan.

2. CONTOH PERMASALAHAN
Pendekatan pemecahan masalah telah diterapkan pada beragam lingkungan tugas.
Contoh yang akan digunakan adalah toy problem dan masalah dunia nyata.
Penggunaan contoh toy problem dimaksudkan untuk menggambarkan atau melatih
berbagai metode pemecahan masalah. Deskripsi yang ringkas dan tepat dari toy
problem dapat digunakan untuk membandingkan kinerja algoritma. Sedangkan untuk
masalah dunia nyata adalah masalah yang solusinya cenderung tidak memiliki
deskripsi tunggal yang standar, tetapi dapat memberikan gambaran umum dari
formulasinya

Toy problem
Vacuum Cleaner
Contoh yang kita teliti adalah vacuum cleaner (lihat Gambar 2), dapat dirumuskan
sebagai masalah sebagai berikut:
• Keadaan: Keadaan ditentukan oleh lokasi agen dan lokasi debu. Agen berada di
salah satu dari dua lokasi, yang masing-masing mungkin ada debu atau mungkin

Artificial Intelligence
tidak ada debu. Jadi, ada 2 × 22 = 8 kemungkinan keadaan. Lingkungan yang
lebih besar dengan n lokasi memiliki n*2n keadaan.
• Keadaan awal: Sembarang keadaan dapat ditetapkan sebagai status awal.
• Tindakan: Dalam lingkungan vacuum cleaner, setiap keadaan hanya memiliki
tiga tindakan: Kiri, Kanan, dan Menyedot debu. Lingkungan yang lebih besar
mungkin juga mencakup Atas dan Bawah.
• Model transisi: Tindakan yang diambil diharapkan memiliki efek pada tindakan
berikutnya, kecuali bergerak ke kiri di kotak paling kiri, bergerak ke kanan di
kotak paling kanan, dan mengisap debu di kotak bersih tidak akan berpengaruh.
Ruang keadaan lengkap ditunjukkan pada Gambar 2.
• Uji tujuan: Tindakan ini digunakan untuk memeriksa apakah semua kotak sudah
bersih.
• Path cost: Setiap langkah bernilai 1, biaya jalur adalah jumlahan semua langkah
dalam jalur yang dilalui oleh agen.

Gambar 2

Teka-Teki 8
Teka-teki 8, yang ditunjukkan pada Gambar 3, dari papan 3x3 dengan delapan ubin
bernomor dan ruang kosong. Ubin yang berdekatan dengan ruang kosong dapat
dipindahkan posisinya. Tujuan dari permainan teka-teki 8 adalah untuk mencapai
keadaan tertentu, seperti yang ditunjukkan pada Gambar 3 sebelah kanan.
Formulasi standarnya adalah sebagai berikut:
• Keadaan: Deskripsi keadaan menentukan lokasi masing-masing dari delapan
ubin dan ruang kosong di salah satu dari sembilan kotak.
• Keadaan awal: Semua keadaan dapat ditetapkan sebagai kondisi awal.
• Tindakan: Formulasi paling sederhana mendefinisikan tindakan sebagai
gerakan ruang kosong adalah bergerak ke kiri, ke kanan, ke atas, atau ke
bawah. Gerakan yang terjadi tergantung di mana ruang kosong berada.
• Model transisi: Kondisi dan Gerakan yang diberikan pada ubin.; misalnya,
pada Gambar 3(a) gerakan kanan diterapkan pada ubin 5 maka ruang kosong
dan ubin 5 akan berubah.

Artificial Intelligence
• Uji tujuan: digunakan untuk memeriksa apakah konfigurasi kondisi tujuan
sudah sesuai seperti pada Gambar 3(b).
• Path cost: Setiap langkah bernilai 1, biaya jalur adalah jumlahan semua
langkah dalam jalur yang dilalui oleh agen

Gambar 3

Masalah dunia nyata


Masalah pencarian rute berhubungan dengan lokasi awal dan lokasi tujuan yang ingin
dicapai. Algoritma pencarian banyak diterapkan pada berbagai aplikasi. Contoh
diantaranya adalah laman web dan sistem navigasi yang menyediakan petunjuk jalan
menuju lokasi. Mari kita lihat contoh masalah rute perjalanan pesawat terbang yang
harus disediakan oleh situs web perencana perjalanan.
• Keadaan: setiap keadaan harus terdapat informasi lokasi bandara dan waktu
setempat, tarif domestik atau internasional yang berlaku pada bandara
setempat
• Keadaan awal: Bergantung pada bandara asal yang dipilih penumpang.
• Tindakan: Bandara asal, kelas yang dipilih, waktu transit
• Model transisi: Jadwal penerbangan menuju bandara tujuan, waktu
kedatangan berdasarkan waktu setempat.
• Uji tujuan: Bandara tujuan sudah sesuai destinasi penumpang?
• Path cost: Berdasarkan pada harga tiket, waktu tunggu, lama penerbangan,
prosedur bea cukai dan imigrasi, kelas yang dipilih, jenis pesawat

3. PENCARIAN UNTUK PENYELESAIAN MASALAH


Setelah merumuskan beberapa masalah, sekarang kita perlu mencari
penyelesaiannya. Algoritma pencarian akan bekerja dengan mempertimbangkan
semua kemungkinan tindakan yang berurutan. Urutan semua ttindakan yang mungkin
dapat dibentuk menjadi pohon pencarian dengan node akar sebagai keadaan awal;
dan cabang-cabangnya sebagai tindakan yang mungkin, dan garis digunakan untuk
menghubungkan antar node dalam ruang keadaan. Gambar 4 adalah pohon pencarian
rute dari Arad ke Bucharest. Langkah pertama yang perlu dilakukan adalah
melakukan pengujian apakah node akar sudah sesuai dengan kota tujuan. Jika belum
sesuai, lakukan ekspansi ke cabang berikutnya.

Artificial Intelligence
Gambar 4

Artificial Intelligence
Untuk memilih algoritma pencarian yang sesuai, kita perlu mempertimbangkan
kriteria untuk mengevaluasi kinerjanya.
1. Lengkap:Apakah algoritma menjamin ditemukannya satu solusi jika
memang tersedia solusinya.
2. Optimal: Apakah algoritma mampu menemukan solusi yang optimal
3. Kompleksitas waktu: Berapa lama waktu yang dibutuhkan untuk
menemukan solusi.
4. Kompleksitas ruang: Berapa banyak memori yang diperlukan untuk
melakukan pencarian

4. STRATEGI PENCARIAN UNINFORMED


Bagian ini akan membahas strategi pencarian tanpa informasi atau pencarian buta.
Istilah pencarian buta mengacu pada kondisi bahwa tidak ada informasi lain selain
dari maslah yang sudah didefinisikan.
• Breadth-First Search
Breadth-First Search adalah strategi sederhana dimana node akar akan diperluas
terlebih dahulu, dan node cabangnya akan dipeluas pada langkah selanjutnya,
sampai node pada cabang terakhir. Secara teknis, Breadth-First Search adalah
algoritma pencarian yang optimal karena semua node akan dikunjungi. Namun BFS
membutuhkan waktu yang lama dan memori yang besar dalam melakukan pencarian.
Untuk menghitung jumlah total node yang dihasilkan adalah dalam graph
b+b2+b3…+b4 = O(bd), b adalah cabang dari pohon pencarian. Sedangkan untuk
menghitung kompleksitas waktu dan ruang masing-masing adalah sebagai berikut:
Kompleksitas waktu: O(bd) dan Kompleksitas ruang: O(bd+1)
Pseudocode Breadth-first search dalam graph.

• Uniform-Cost
Breadth-first search adalah strategi yang optimal karena selalu melakukan
ekspansi node yang berada dicabang berikutnya. Pencarian Uniform-cost
memperluas node n yang mempunyai biayag(n) paling kecil.

Artificial Intelligence
Pseudocode Uniform-cost search dalam graph

Perbedaan antara algoritma Uniform Cost Search (UCS) dan BFS terletak pada
pengujian pada kondisi tujuan dan dimungkinkan adanya uji tambahan jika jalur
lain menuju node tujuan ditemukan. Contoh penerapan algoritma UCS dapat
dilihat pada Gambar 5. Permasalahan yang ingin diselesaikan adalah mencari
jalur dari Sibiu menuju Bucharest. Diketahui node akar adalah Sibiu yang
mempunyai dua cabang Rimnicu Vilcea dan Faragas, dengan masing-masing
jalur adalah 80 dan 99. Biaya terkecil adalah Rimnicu Vilcea, yang akan
diekspansi terlebih dahulu menuju Pitesti dengan biaya jalur 97. Setelah dari
Pitesti langsung menuju Bucharest sehingga total biaya adalah 80+97+101 =
278. Sekarang kita lihat node dari Sibiu menuju Faragas, dengan biaya 99,
kemudian dilanjutkan menuju Bucharest. Total biaya adalah 99+211 = 310. Jalur
dengan biaya lebih rendah adalah Sibiu→Rimnicu Vilcea→Pitesti→Bucharest
dengan biaya g 278 dipilih sebagai jalur tercepat.

Gambar 5

Mudah untuk melihat bahwa pencarian uniform-cost adalah optimal pada


umumnya. Pertama, kita amati bahwa kapan pun pencarian pencarian uniform-cost
memilih node n untuk ekspansi, jalur optimal ke simpul tersebut telah ditemukan.
Kemudian, karena biaya langkah tidak penting, jalur tidak akan pernah lebih
pendek saat simpul ditambahkan. Kedua fakta ini bersama-sama menyiratkan

Artificial Intelligence
bahwa pencarian uniform- cost memperluas simpul sesuai dengan biaya jalur
optimalnya. Oleh karena itu, simpul tujuan pertama yang dipilih untuk ekspansi
harus menjadi solusi optimal.

• Depth-First Search
Depth-First Search selalu melakukan ekspansi node terdalam dari pohon
pencarian. Pencarian dilakukan sampai tingkat terdalam dari pohon pencarian,
di mana node sudah tidak memiliki cabang lagi. Depth-First Search
menggunakan antrian LIFO. Sebuah antrian LIFO berarti bahwa node yang
terakhir dipilih untuk dilakukan ekspansi. Gambar 6 adalah ilustrasi pencarian
dengan metode DFS.

Gambar 6

Kompleksitas waktu pencarian Depth-First Search dibatasi oleh ukuran ruang


keadaan. Jumlah semua node dalam pohon pencarian dapat dihitung
menggunakan O(bm) dimana m adalah kedalaman maksimum dari setiap node.
m itu sendiri bisa jauh lebih besar daripada d (kedalaman) dikarenakan pohon
pencarian yang tidak terbatas. Untuk ruang keadaan dengan faktor percabangan
b dan kedalaman maksimum m, penelusuran mendalam pertama memerlukan
penyimpanan simpul O(bm) saja. Varian depth-first search disebut pencarian
backtracking yang menggunakan memori lebih sedikit. Pencarian Backtracking
hanya membangkitkan satu cabang saja sehingga kebutuhan memori hanya
O(m).

Artificial Intelligence
• Depth-Limited Search
Algoritma depth-limited search melakukan pencarian dengan membatasi jumlah
kedalaman maksimumnya. Algoritma ini dapat diterapkan dengan syarat kita
harus mengetahui terlebih dahulu berapa jumlah level maksimum dari
solusinya. Pseudocode Depth-Limited search dalam graph

• Iterative Deepening
Iterative deepening search (atau iterative deepening depth-first search) adalah
gabungan dari algoritma BFS(complete dan optimal) dengan algoritma
DFS(kebutuhan memori yang sedikit) namun konsekuensinya algoritma ini
membutuhkan waktu yang lama untuk mencari solusi. Gambar 7 adalah ilustrasi
pencarian solusi menggunakan algoritma IDS.

Gambar 7

Artificial Intelligence
Pada tabel 1 adalah Perbandingan Strategi Pencarian Uninformed

Tabel 1. Perbandingan Strategi Pencarian Uninformed

Keterangan
b - faktor percabangan dari pohon pencarian
d - kedalaman solusi dengan biaya paling rendah
m - max kedalaman ruang negara (mungkin tak terhingga) kedalaman cutoff

5. STRATEGI PENCARIAN INFORMED


Pencarian terbaik pertama adalah algoritma di mana simpul dipilih untuk ekspansi
berdasarkan fungsi evaluasi, f (n). Fungsi evaluasi ditafsirkan sebagai perkiraan
biaya, sehingga simpul dengan evaluasi terendah diperluas terlebih dahulu. h (n) =
perkiraan biaya jalur termurah dari state pada simpul n ke keadaan tujuan.
• Greedy Best First Search
Algoritma Greedy mencari solusi dengan melakukan ekspansi node yang paling
dekat dengan node tujuan. Evaluasi node menggunakan fungsi heuristic f(n) =
h(n). Untuk lebih jelas mari kita lihat kembali peta Rumania dengan fungsi h(n)
dapat dilihat pada Gambar 8.

Gambar 8

Artificial Intelligence
Untuk mempermudah pencarian solusinya maka kita ubah dalam bentuk pohon
pencarian.

Gambar 9

Jalur dari Arad menuju Bucharest


f(n) = h(n) = Arad + Sibiu + Fagaras + Bucharest
= 366 + 253 + 178 + 0

Strategi
▪ Perluas simpul dengan h terkecil
▪ Mirip dengan depth-first search
• Mengikuti jalur tunggal menuju ke tujuan, mundur saat buntu
▪ Kasus terburuk:
• (bm), m = kedalaman ruang pencarian
▪ Memori kasus terburuk:
• (bm), perlu menyimpan semua node dalam memori untuk melihat
mana yang akan dikembangkan selanjutnya

• A* (A-Star)
Bentuk pencarian terbaik pertama yang paling banyak digunakan adalah
pencarian A *. Pencarian ini mengevaluasi node dengan menggabungkan g (n),
biaya sebenarnya untuk mencapai node, dan h (n), biaya perkiraan menuju node,
fungsi yang digunakan adalah f (n) = g (n) + h (n).

Untuk pencarian solusi menggunakan A*, Langkah-langkah dapat dilihat pada


Gambar 10

Artificial Intelligence
Gambar 10

Artificial Intelligence
SIMPULAN

• Rumusan masalah biasanya memerlukan abstrak dari detail dunia nyata untuk
mendefinisikan ruang negara yang dapat dieksplorasi dengan menggunakan
algoritma komputer.
• Setelah masalah dirumuskan dalam bentuk abstrak, analisis kompleksitas
membantu kita memilih algoritma terbaik untuk memecahkan masalah.
• Berbagai strategi pencarian yang kurang informasi; Perbedaannya terletak
pada metode yang digunakan untuk memilih node yang akan dikembangkan
lebih lanjut.
• Iterative deepening search hanya menggunakan ruang linier dan tidak lebih
banyak waktu daripada strategi pencarian berseragam lainnya.
• Best-first search = pencarian umum, di mana simpul biaya minimum (sesuai
dengan beberapa ukuran) diperluas terlebih dahulu.
• Greedy search = best-first dengan perkiraan biaya untuk mencapai tujuan
sebagai ukuran heuristik.
• Umumnya lebih cepat daripada pencarian yang kurang informasi
• tidak maksimal
• Tidak selesai.
• A* search = terbaik-pertama dengan ukuran = biaya jalur sejauh + perkiraan
biaya jalur ke sasaran.
• Menggabungkan keuntungan dari pencarian seragam dan serakah
• Lengkap, optimal dan optimal
• Kompleksitas ruang masih eksponensial

Artificial Intelligence
DAFTAR PUSTAKA

• Stuart Russell, Peter Norvig,. 2010. Artificial intelligence : a modern


approach. PE. New Jersey. ISBN:9780132071482, Chapter 1 & 2
• Elaine Rich, Kevin Knight, Shivashankar B. Nair. 2010. Artificial
Intelligence. MHE. New York. , Chapter 1 & 2
• Uninformed Search Strategies: http://artint.info/html/ArtInt_52.html
• Simple Implementation of Uninformed Search Strategies:
http://www.codeproject.com/Articles/203828/AI-Simple-Implementation-of-
Uninformed-Search-Stra
• UCS:
http://intelligence.worldofcomputing.net/ai-search/uniform-cost-search.html
• Greedy Best-First Search Walkthrough:
http://www.cs.utah.edu/~hal/courses/2009S_AI/Walkthrough/GreedyBFS/
http://centurion2.com/AIHomework/AI260/ai260.php
• Introduction to A*:
http://theory.stanford.edu/~amitp/GameProgramming/AStarComparison.html
• Widodo Budiharto, Derwin Suhartono. Artificial Intelligence: Konsep dan
Penerapannya. PT. Andi Yogyakarta, Indonesia. 2014. ISBN: 978-979-29-
4222-4. Chapter 2.

Artificial Intelligence

Anda mungkin juga menyukai