Pertemuan 3 Mendefinisikan Masalah dalam Ruang Keadaan Betha Nurina Sari, M.Kom
Mendefinisikan masalah dalam ruang keadaan Representasi ruang keadaan Blind Searching / Uninformed Search
Mendefinisikan masalah dalam ruang keadaan Slide pertemuan 3 bisa diunduh di bethanurinasari.wordpress.com
Masalah itu …..
Masalah dalam Kecerdasan Buatan Dapat dikonversi ke dalam Ruang Keadaan (Ruang Masalah) Mempunyai Keadaan Awal (initial state) Keadaan Tujuan (Goal State) Dapat dibuat aturan-aturan mengubah suatu keadaan (state) ke keadaan (state) lainnya.
Definisikan Masalah Ruang keadaan (state space) : suatu ruang yang berisi semua keadaan yang mungkin Keadaan awal (initial state) : keadaan dimulainya sebuah pencarian Keadaan akhir / tujuan (goal) : keadaan diakhirinya sebuah pencarian Kumpulan aturan (rules) : aturan yang dapat digunakan untuk mengubah suatu keadaan (state) ke keadaan (state) lainnya
Contoh Masalah : Permainan Catur -Kondisi Awal: Semua bidak diletakkan diatas papan dalam dua posisi yaitu kubu putih dan kubu hitam. -Tujuan (Goal): Kemenangan terhadap lawan, yang ditunjukkan dengan posisi Raja yang tidak bisa bergerak lagi
Contoh Masalah : Permainan Catur - Ruang Keadaan: Untuk mempermudah menunjukkan posisi bidak dimisalkan setiap kotak ditunjuk dalam huruf (a,b,c,d,e,f,g,h) pada arah horizontal dan angka (1,2,3,4,5,6,7,8) pada arah vertical. - Suatu aturan untuk menggerakkan bidak dari posisi (e,2) ke (e,4) dapat ditunjukkan dengan aturan: IF bidak putih pada kotak(e,2) AND kotak(e,3) kosong AND kotak (e,4) kosong THEN gerakkan bidak dari (e,2) ke (e,4)
Contoh Masalah : Ember A dan B Contoh Kasus Ember Air: Ada 2 ember masing-masing berkapasitas 4 liter (Ember A) dan 3 liter (Ember B). Ada pompa air yang digunakan untuk mengisi air pada ember tersebut. Bagaimana dapat mengisi tepat 2 liter air ke dalam ember berkapasitas 4 liter?
CONTOH DESKRIPSI MASALAH (permasalahan ember A dan B) Identifikasi masalah untuk masalah ember: Identifikasi ruang keadaan: x = Jumlah air yang diisi ke ember A (ember 4 ltr) y = Jumlah air yang diisi ke ember B (ember 3 ltr) Ruang keadaan = (x,y) sedemikian sehingga x є {0,1,2,3,4} dan y є {0,1,2,3} Keadaan awal & tujuan Keadaan awal: kedua ember kosong = (0,0) Tujuan: ember kapasitas 4 liter diisi 2 liter air = (2,n) dengan sembarang n
CONTOH DESKRIPSI MASALAH (permasalahan ember A dan B) Ruang keadaan ember dapat digambarkan sebagai berikut:
CONTOH DESKRIPSI MASALAH (permasalahan ember A dan B) Aturan-aturan untuk permasalahan ember: Aturan ke- Jika Maka 1. (x, y) x < 4 (4,y) Isi ember A sampai penuh 2. y < 3 (x,3) Isi ember B sampai penuh 3. x > 0 (x-d, y) Tuangkan sebagian air keluar ember A 4. y>0 (x, y-d) Tuangkan sebagian air keluar ember B 5. (0, y) Kosongkan ember A dengan membuang airnya ke tanah
CONTOH DESKRIPSI MASALAH (permasalahan ember A dan B) 6. (x ,y) y > 0 (x, 0) Kosongkan ember B dengan membuang airnya ke tanah 7. (x, y) x+y ≥ 4 dan y >0 (4, y-(4-x)) Tuangkan air dari ember B ke ember A sampai ember A penuh 8. (x,y) x+y ≥ 3 dan x > 0 (x-(3-y),3) Tuangkan air dari ember A ke ember B sampai ember B penuh 9. x+y ≤ 4 dan y > 0 (x+y, 0) Tuangkan seluruh air dari ember B ke ember A 10. x+y ≤ 3 dan x > 0 (0, x+y) Tuangkan seluruh air dari ember A ke ember B 11. (0,2) (2,0) Tuangkan 2 liter air dari ember B ke ember A. 12. (2,y) (0,y) Kosongkan 2 liter air dari ember A dengan membuang airnya ke tanah
CONTOH DESKRIPSI MASALAH (permasalahan ember A dan B) 5. Representasi ruang keadaan dengan pohon pelacakan Pencarian suatu solusi dapat dilukiskan dengan menggunakan pohon. Tiap-tiap node menunjukkan satu keadaan. Jalur dari parent ke child, menunjukkan 1 operasi. Tiap node memiliki node child yang menunjukkan keadaan yang dapat dicapai oleh parent. Solusi 1 Solusi 2
Contoh Masalah : Petani, Sayuran, Domba dan Serigala dapat menyebrang. Identifikasi ruang keadaan: (P,Sy,D,Sg) P : Petani Sy : Sayur D : Domba Sg : Serigala Keadaan awal Daerah Asal : (P,SY,D,Sg) Daerah Seberang (0,0,0,0) Keadaan Tujuan Daerah Asal (0,0,0,0) Daerah Seberang : (P,SY,D,Sg)
Contoh Masalah : Petani, Sayuran, Domba dan Serigala dapat menyebrang. Kumpulan Aturan : Aturan ke- Aturan 1. Domba dan petani menyebrang 2. Sayuran dan petani menyebrang 3. Serigala dan petani menyebrang 4. Domba dan petani kembali 5. Sayuran dan petani kembali 6. Serigala dan petani kembali 7. Petani kembali
Contoh Masalah : Petani, Sayuran, Domba dan Serigala dapat menyebrang. Keadaan Selanjutnya Keadaan Sekarang Daerah Asal Daerah Seberang Aturan yang Dipakai (P,Sy,D, Sg) (0,0,0,0) 1 (0,Sy,0,Sg) (P,0,D,0) 7 (P,Sy,0,Sg) (0,0,D,0) 3 (0,Sy,0,0) (P,0,D,Sg) 4 (P,Sy,D,0) (0,0,0,Sg) 2 (P,Sy,D,Sg)
Representasikan Ruang Keadaan 1) Graph Keadaan Graph terdiri dari node-node yang menunjukkan keadaan yaitu keadaan awal dan keadaan baru yang akan dicapai dengan menggunakan operator. Node-node dalam graph keadaan saling dihubungkan dengan menggunakan arc (busur) yang diberi panah untuk menunjukkan arah dari suatu keadaan ke keadaan berikutnya.
Graph Keadaan Contoh : Kondisi Awal = M Tujuan = T Maka ada 4 lintasan dari M ke T: M-A-B-C-E-T M-A-B-C-E-H-T M-D-C-E-T M-D-C-E-H-T Lintasan tidak sampai ke tujuan: M-A-B-C-E-F-G M-A-B-C-E-I-J M-D-C-E-F-G M-D-C-E-I-J M-D-I-J
Contoh Masalah : Peta Rumania Suatu “tourist agent” sedang berlibur di Rumania, kini berada di Arad. Besok, dia harus terbang dari Bandara Bucharest. Keadaan awal : berada di Arad Perumusan tujuan : berada di Bucharest Perumusan Masalah : Tindakan (action) : Menyetir dari kota ke kota Keadaan (state) : kota-kota di Rumania
Peta Rumania
Contoh Masalah : Peta Rumania Pencarian Solusi : Rangkaian kota yang dituju. Arad, Sibiu, Fagaras, Bucharest Arad, Sibiu, Rimnicu Vilcea, Pitesti, Bucharest Arad, Zerind, Oradea, Sibiu, Fagaras, Bucharest Arad, Timisoara, Lugoj, Mehadia, Dobreta, Craiova, Pitesti, Bucharest dst
Representasikan Ruang Keadaan 2) Pohon Pelacakan Struktur pohon digunakan untuk menggambarkan keadaan hirarki Node yang terletak pada level-0 disebut ‘akar’ Node yang tidak memiliki anak disebut ‘daun’ menunjukkan akhir dari suatu pencarian, dapat berupa tujuan (goal) atau jalan buntu (dead end)
Pohon Pelacakan (permasalahan ember A dan B) Representasi ruang keadaan dengan pohon pelacakan pada masalah ember adalah sebagai berikut:
Pohon Pelacakan (permasalahan ember A dan B)
Representasikan Ruang Keadaan Pohon AND/OR Masalah M hanya dapat diselesaikan dengan A AND B AND C AND D Masalah M solusinya dengan 4 kemungkinan : A OR B OR C OR D Contoh dengan menggunakan pohon AND/OR tujuan yang dicapai pada pohon di gambar bisa dipersingkat hanya sampai level-2 saja.
Metode Searching Blind Searching / Uninformed Search Pencarian : suatu proses mencari solusi dari sebuah masalah melalui sekumpulan kemungkinan ruang keadaan (state space) Blind Searching / Uninformed Search Pencarian buta (tidak ada informasi awal yang dipakai dalam proses pencarian) Heuristic Searching / Informed Search Pencarian terbimbing (Ada informasi awal yang dipakai dalam proses pencarian)
Blind Searching / Uninformed Search TOPIK BAHASAN Blind Searching / Uninformed Search Pencarian buta hanya bisa membedakan antara kondisi yang dituju (goal state) dengan kondisi yang bukan tujuan (non-goal state)
Mengapa menggunakan pencarian buta? Ada kasus dimana tidak ada informasi awal yang dapat digunakan Jawaban yang kita cari hanya bisa diketahui pada saat kita menemukannya
Blind Searching (Pencarian Buta) / Uninformed Search Breadth-First Search (BSF) Depth-First Search (DFS) Uniform Cost Search (UCS) Depth Limited Search (DLS) Iterative Deeping Depth First Search (IDDFS) Bidirectional Search (BS)
Breadth-First Search (BFS) - Dimulai dari Level 0 yaitu simpul akar A (root node A) menuju ke Tujuan (Goal) adalah simpul K Menggunakan prinsip First In First Out (FIFO) Menggunakan Prinsip Queue / Antrian
Breadth-First Search (BFS) Pencarian dilakukan pada semua simpul dalam setiap level secara berurutan dari kiri ke kanan Jika pada suatu level belum ditemukan solusi (tujuan yang dicari) maka pencarian dilanjutkan pada level berikutnya (n+1) Contoh Root : A Goal : D
Tahap Breadth-First Search (BFS) 1 2 4 3
Depth-First Search (DFS) -Dimulai dari Level 0 yaitu simpul akar A (root node A) dan Tujuan (Goal) adalah simpul J -Menggunakan prinsip Last In First Out (LIFO) -Menggunakan Prinsip Stack / Tumpukan
Depth-First Search (DFS) Pencarian dilakukan pada suatu simpul dalam setiap level dari yang paling kiri. Jika pada level yang terdalam, solusi belum ditemukan, maka pencarian dilanjutkan pada simpul sebelah kanan dan simpul yang kiri dapat dihapus dari memori. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya.
Depth-First Search (DFS) Contoh : Root : A Goal : M
Tahap Depth-First Search (DFS) 2 1 4 3
Tahap Depth-First Search (DFS) 6 5 8 7
Tahap Depth-First Search (DFS) 10 9 12 11
Uniform Cost Search (UCS) Konsepnya hampir sama dengan BFS, bedanya adalah bahwa BFS menggunakan urutan level yang paling rendah sampai yang paling tinggi, sedangkan UCS menggunakan urutan biaya dari yang paling kecil sampai yang terbesar. UCS berusaha menemukan solusi dengan total biaya terendah yang dihitung berdasarkan biaya dari simpul asal menuju ke simpul tujuan.
Depth Limited Search (DLS) Metode ini berusaha mengatasi kelemahan DFS (tidak complete karena ketika proses pencarian menemui infinite state space) dengan membatasi kelemahan maksimum dari suatu jalur solusi yaitu dengan batas depth pada level tertentu semenjak awal pencarian. Tetapi, sebelum menggunakan DLS, kita harus tahu berapa level maksimum dari suatu solusi
Iterative Deeping Depth First Search (IDDFS) IDS merupakan metode yang menggabungkan kelebihan BFS (Complete dan Optimal) dengan kelebihan DFS (space complexity rendah atau membutuhkan sedikit memori) Tetapi konsekuensinya adalah time complexitynya menjadi tinggi untuk menemukan berapa depth limit terbaik untuk sampai pada goal yang dicari. Langkahnya menambah limit secara bertahap, mulai dari 0,1,2, dan seterusnya.
Bidirectional Search (BS) Pencarian dilakukan dari dua arah : pencarian maju (dari start ke goal) dan pencarian mundur (dari goal ke start). Ketika dua arah pencarian telah sampai pada simpul yang sama, maka solusi telah ditemukan, yaitu dengan cara menggabungkan kedua jalur yang bertemu.
PERFORMA METODE PENCARIAN Completeness Apakah metode tersebut menjamin adanya solusi jika solusinya ada ? Time Complexity Berapa lama waktu yang diberikan untuk menemukan solusi tersebut ? Space Complexity Berapa banyak memori yang dibutuhkan untuk menemukan solusi tersebut? Optimally Apakah metode tersebut menjamin menemukan solusi terbaik jika terdapat beberapa solusi yang berbeda ?
Perbandingan Algoritma Uninformed Search Kriteria BFS DFS UCS DLS IDDFS BS Waktu b^d b^m b^l b^(d/2) Tempat b*m b*l b*d Optimal ? Ya Tidak kelengkapan ya (jika l ≥d) Keterangan : b : jumlah maksimal cabang tree d : kedalaman pada least-cost solution m : kedalaman maksimum pada state-space (bisa bernialai infinity) l : nilai cut off pada kedalaman tree
Searching Problem Traveling Salesman Problem Visualization
SEJENAK SEARCHING PROBLEMS
Worksheet 1 Selesaikan masalah pencarian pada graph di bawah ini menggunakan metode Breadth First Search dan Depth First Search, dan jabarkan tahapan pencariannya untuk kondisi Awal simpul A dan Tujuan simpul F:
Worksheet 1 -Suatu “Charity agent” sedang berada di Banda Aceh. Besok, dia harus mengunjungi kota Lhokseumawe. Selesaikan masalah tersebut, dengan merepresentasikan ruang keadaan terlebih dahulu. Lalu lakukan pencarian menggunakan metode Breadth First Search dan Depth First Search, dan jabarkan tahapan pencariannya.
Representasikan Ruang Keadaan Nama Kota Nama Kota Banda Aceh Sabang Calang Meulaboh Bl. Pidie Tapaktuan Singlik Simuelue Jantho Sigli Bireun Takengo BL. Kejren Kutacane Lhokseumawe Langsa Peureulak
Tree Peta Aceh Pencarian Breadth First Search dan Depth First Search Root : Banda Aceh Goal : Lhokseumawe
TUGAS 1 INDIVIDU Dikerjakan sendiri-sendiri, jangan jadi plagiat. Dikumpulkan maksimal di pertemuan ke-5 kuliah (waktu pengerjaan 2 minggu) Soal dan penjelasan lebih lengkap bisa diunduh di bethanurinasari.wordpress.com Good Luck ! Selamat belajar dan mengerjakan.
Representasi pengetahuan NEXT > > Representasi pengetahuan