Tugas 2.1 meminta menentukan jalur tercepat bagi seorang kurir untuk mengirimkan barang ke pelanggan dengan mempertimbangkan 6 alternatif jalur yang tersedia. Jalur tercepat adalah jalur A-C-F-L karena memiliki total biaya perjalanan sebesar 9*2+500=18+500=518, yang merupakan biaya terendah dibandingkan jalur alternatif lainnya.
3. OUTLINE
• Definisi Masalah dalam AI
• Searching Methode
– Blind Search (Pencarian Buta)
– Heuristic search (pencarian terbimbing)
4. Definisi Masalah dalam AI
Masalah yang dimaksud dalam kajian AI adalah
masalah-masalah yang dapat dikonversi ke
dalam ruang keadaan (ruang masalah),
mempunyai keadaan awal (initial state) dan
keadaan tujuan (goal state) serta dapat di buat
aturan-aturan untuk mengubah suatu keadaan
(state) ke keadaan lainnya.
5. Definisi Masalah dalam AI
Beberapa hal yang harus dilakukan untuk mendefinisikan
masalah dalam AI dengan baik :
1. Definisikan ruang keadaan (state space): suatu ruang
yang berisi semua keadaan yang mungkin.
2. Menetapkan satu atau lebih keadaan awal (initial
state): keadaan dimulainya sebuah pencarian
3. Tetapkan satu atau lebih tujuan (goal): keadaan
diakhirinya sebuah pencarian.
4. Menetapkan kumpulan aturan : aturan yang dapat
digunakan untuk mengubah suatu keadaan ke
keadaan lainnya.
6. Definisi Masalah dalam AI
Contoh kasus :
Pada suatu hari ada seorang petani yang mempunyai seekor kambing dan
serigala. Pada saat itu dia baru panen sayuran. Karena membutuhkan uang,
petani tersebut hendak menjual kambing, serigala dan sayurannya ke pasar
Labuan. Untuk sampai ke pasar Labuan, ia harus menyebrang sungai.
Permasalahannya, disungai itu hanya tersedia satu perahu yang hanya bisa
memuat petani dan satu penumpang lainnya (serigala, kambing atau
sayuran). Jika ditinggal oleh petani tersebut, maka sayuran akan dimakan
kambing dan kambing dimakan serigala. Bagaimana caranya agar petani,
kambing, serigala dan sayuran dapat menyebrang dengan selamat?
-Deskripsikan masalah
-Tentukan ruang keadaan
-Tentukan keadaan awal
-Tentukan keadaan tujuan
-Tentukan aturan (rule) yang mungkin digunakan dalam konsep AI
7. Definisi Masalah dalam AI
- Deskripsikan masalah : Ada daerah asal dan daerah sebrang
yang dilambangkan dengan (P, Sy, K, Sg)
- Tentukan ruang keadaan : untuk daerah asal dan daerah
sebrang digambarkan sebagai (P, Sy, K, Sg)
- Tentukan keadaan awal
- Daerah asal : (P, Sy, K, Sg)
- Daerah tujuan : (0,0,0,0)
- Tentukan keadaan tujuan
- Daerah asal : (0,0,0,0)
- Daerah tujuan : (P, Sy, K, Sg)
- Tentukan aturan (rule) yang mungkin digunakan dalam konsep
AI
8. Representasi Pohon Pencarian
Pohon pencarian merupakan sebuah data
struktur yang terdiri atas sebuah simpul
induk utama yang disebut root, tempat
dimulainya pencarian. Dimana setiap
simpul dapat memiliki satu atau lebih anak
(child).
11. Searching Performance
Empat kriteria yang dapat dilakukan untuk mengukur
performa suatu metode pencarian ;
1. Completeness : apakah metode tersebut menjamin
adanya solusi jika solusinya ada?
2. Time Complexity : berapa lama waktu yang diberikan
untuk menemukan solusi tersebut?
3. Space Complexity : berapa banyak memori yang
dibutuhkan untuk menemukan solusi tersebut?
4. Optimality: apakah metode tersebut menjamin bisa
menemukan solusi terbaik jika terdapat beberapa solusi
yang berbeda
13. Blind Search / Uninform Search
Secara umum, pencarian buta terbagi atas dua
algoritma , yaitu ;
1. Breadth First Search (BFS) – Pencarian melebar
Pertama
2. Depth First Search (DFS) – Pencarian Mendalam
Pertama
14. Breadth First Search (BFS)
• Pada metode BFS, semua node pada level n akan
dikunjungi terlebih dahulu sebelum mengunjungi
node-node pada level n+1.
• Pencarian dimulai dari node akar, terus ke level-1 dari
kiri ke kanan, kemudian berpindah ke level
berikutnya, demikian pula dari kiri ke kanan hingga
ditemukannya goal (tujuan) pada node terakhir.
16. Breadth First Search (BFS)
• Keuntungan :
– Tidak akan menemui jalan buntu (menjamin ditemukannya
solusi yang paling baik
– Jika ada 1 solusi, maka BFS akan menemukannya, dan jika
ada lebih dari 1 solusi, maka solusi minimum akan
ditemukan.
• kerugian :
– Membutuhkan memori yang cukup banyak, karena
menyimpan semua node dalam 1 pohon
– Membutuhkan waktu yang cukup lama, karena menguji n
level untuk mendapatkan solusi pada level yang ke – (n+1)
17. Depth First Search (DFS)
• Pada metode DFS, proses pencarian akan dilakukan
pada semua anaknya sebelum dilakukan pencarian ke
node-node yang selevel.
• Pencarian dimulai dari node akar ke node yang
levelnya lebih tinggi. Proses ini diulangi hingga
ditemukannya goal.
19. Depth First Search (DFS)
• Keuntungan :
– Membutuhkan memori yang relatif kecil, karena banyak
node-node pada lintasan yang aktif saja yang disimpan.
– Secara kebetulan, DFS akan menemukan solusi tanpa harus
menguji lebih banyak lagi dalam ruang keadaan.
• Kerugian :
– Memungkinkan tidak ditemukannya tujuan yang
diharapkan
– Hanya akan mendapatkan 1 solusi pada setiap pencarian
21. Heuristic Search
• Heuristic adalah suatu kriteria, metode atau prinsip
dalam memilih antara beberapa kemungkinan aksi yang
dianggap adalah aksi-aksi yang dapat mencapai tujuan
yang paling efisien.
• Pencarian heuristic terdiri atas :
– Generate and Test
– Hill Climbing
• Simple Hill Climbing
• Steepest-Ascent Hill Climbing
– Best First Search
– Algoritma A*
– Simulated Annelaing
22. Generate and Test
• Metode Generate and Test merupakan metode
paling sederhana dalam pencarian heuristic.
• Peggabungan antara depth first search dengan
pelacakan mundur (backtracking), karena solusi
harus dibangkitkan secara lengkap sebelum
dilakukan test.
• Memerlukan waktu yang lama untuk ruang masalah
yang sangat luas.
23. Generate and Test
• Algoritma G&T :
1. Bangkitkan semua kemungkinan solusi
2. Uji, apakah solusi tersebut merupakan
solusi yang bisa diterima sesuai dengan
kriteria yang diberikan.
3. Jika solusi ditemukan, keluar. Jika tidak,
ulangi langkah (1)
24. Generate and Test
• Contoh kasus 2.2 :
Seorang sales buku yang berada di kota A, akan mengirimkan barang ke
kota Z. untuk bisa mencapai kota Z, ada beberapa jalur yang bisa dia
tempuh dengan melewati beberapa kota lainnya. Jika perjalanan dimulai
dari kota A kemudian melewati beberapa jalur dan jarak sebagai berikut :
1. A (4) B (3)D (4)E (6)G (4)J (1)K
2. A (4)B (3)D (4)E (6)G (7)Z
3. A (4)B (3)D (4)E (6)G (2)H (6)Z
4. A (4)B (3)D (4)E (6)G (8)F (4)I
5. A (5)C (2)F (4)I
6. A (5)C (3)E (6)G (4)J (1)K
7. A (5)C (3)E (6)G (8)F (4)I
8. A (5)C (3)E (6)G (2)H (6)Z
9. A (5)C (3)E (6)G (7)Z
PERTANYAAN : Jalur manakah yang harus dilewati agar perjalanannya bisa menghemat
biaya transportasi?
25. Generate and Test
• Penyelesaian :
– Gambarkan graf sebagai ruang pencarian
– Generate (hitung) masing-masing jalur yang
memungkinkan ke tujuan
– Uji masing-masing jalur yang sudah di
generate apakah memenuhi jalur terpendek ?
27. Generate and Test
• Perhitungan jalur
– Keadaan Awal :A
– Keadaan akhir (Goal) :Z
• Solusi yang dicari adalah sebuah jalur yang diawali kota
A dan diakhiri kota Z (gunakan algoritma DFS)
• Biaya bisa dihemat jika jalur yang ditempuh
menghasilkan jarak terpendek
28. Hill Climbing
• Metode hill climbing hampir sama dengan
metode Generate and Test, perbedaanya terletak
pada proses pengujian yang dilakukan dengan
menggunakan fungsi heuristik.
• Pembangkitan keadaan berikutnya sangat
bergantung pada feedback dari prosedur
pengetesan.
• Terbagi dua : Simple Hill Climbing dan Steepest-
Ascent Hill Climbing
29. Simple Hill Climbing
• Algoritma :
1. Tentukan Sucessor dari state saat ini
2. Pilih sucessor yang paling baik (bila semua sucessor
sama baik, maka pilih secara acak)
3. Bila nilai sucessor lebih kecil dari state saat ini, maka
berhenti
4. Jika nilai sucessor lebih besar, maka jadikan sucessor
state saat ini lalu kembali ke langkah 1
30. Simple Hill Climbing
• Contoh pada kasus 2.2, ruang keadaan yang terbentuk
berisi semua kemungkinan lintasan yang mungkin dilalui.
• Operator kemudian digunakan untuk menukar posisi kota
yang bersebelahan. Fungsi heuristik yang digunakan
adalah panjang lintasannya. Perhitungan dimulai dari kiri
ke kanan mengikuti nilai heuristik terbaik.
• Formula untuk menentukan banyaknya kombinasi
penukaran kota dapat dinyatakan dengan :
• Sehingga jika kita memiliki 6 kota, maka banyaknya
kombinasi adalah : 6!/(2!(6-2)! = 15 kombinasi
31. Steepest-Ascent Hill Climbing
• Hampir sama dengan simple hill climbing, hanya
saja gerakan pencarian tidak dimulai dari posisi
paling kiri.
• Gerakan pencarian selanjutnya dimulai
berdasarkan nilai heuristik terbaik.
• Urutan penggunaan operator tidak menentukan
penemuan solusi.
32. Best First Search (BFS)
• BFS merupakan gabungan DFS dan Breadth First
Search (BFS).
• Pencarian diperbolehkan mengunjungi node
yang ada dilevel yang lebih rendah asalkan node
ini memiliki nilai heuristik yang lebih baik.
• Contoh pada kasus 2.2 pencarian rute terpendek,
dimana keadaan awal A dan tujuan Z. Dalam hal
ini fungsi heuristik yang digunakan adalah node
dengan jarak terpendek.
33. Best First Search (BFS)
• Penyelesaian kasus 2.2
– Masukan node A ke stack, kemudian keluarkan A dan cek,
jika A bukan Goal, maka cek anak dari A.
– A memiliki anak C(5) dan B(4), masukan ke stack dan
urutkan secara ascending.
– Ambil nilai heuristik terbaik (jarak terpendek) dalam hal
ini kota B, sehingga kota B di buka sampai ke anak
nya…bandingkan kembali nilai heuristik dari path B
dengan C tadi, jika path dari kota B masih lebih baik,
maka lanjutkan, tetapi jika C nilai heuristiknya lebih baik,
maka path tertentu dari kota B berhenti, kemudian
dilanjutkan ke kota C.
– Pencarian terus berulang sampai menemukan goalnya
dengan jarak terpendek.
34. TUGAS 2.1
Jika seorang kurir akan mengirimkan barang pesanan kepada
pelanggannya dan diminta untuk melewati jalur yang
tercepat, sementara dari alternatif jalur yang bisa dilalui, ada
beberapa jalur yang memungkinkan seperti berikut :
A-B(5)-E(4)-H(7)-J(3)-I(3)-K(3)-L(4)
A-B(5)-E(4)-I(4)-K(3)-L(4)
A-B(5)-D(5)-G(4)-K(6)-L(4)
A-B(5)-D(5)-G(4)-F(4)-K(7)-L(4)
A-C(6)-F(4)-G(5)-K(6)-L(4)
A-C(6)-F(4)-L(9)
Jika diketahui biaya perjalanan yang dibutuhkan ditentukan
oleh persamaan (2*panjang jalur)+500, jalur manakah yang
bisa ditempuh dengan biaya perjalanan terminim