KECERDASAN BUATAN PERTEMUAN 2
Ruang Masalah dan Sistem Produksi
Masalah, Ruang Keadaan dan Pencarian Untuk membangun sebuah sistem yang digunakan untuk menyelesaikan suatu problem, dibutuhkan 3 hal sbb : Mendefinisikan ruang masalah untuk masalah yang dihadapi : spesifikasi kondisi awal dan solusi yang diharapkan. Mendefinisikan aturan produksi yang digunakan untuk mengubah state ke state lainnya Memilih metode pencarian yang tepat sehingga menemukan solusi terbaik dengan usaha yang minimal
Karakteristik Masalah Dalam AI : Apakah masalahnya dapat didekomposisi menjadi himpunan sub masalah yang (hampir) independen lebih kecil atau lebih mudah ? Dapatkah langkah penyelesaian diabaikan paling tidak dibatalkan ketika dapat dibuktikan hal tersebut kurang tepat ? Apakah universe masalah dapat diprediksi ? Apakah solusi terbaik dari masalah tertentu jelas, tanpa membandingkan dengan kemungkinan seluruh solusi yang lain? Apakah solusi yang diinginkan sebuah keadaaan atau sebuah jalur dari keadaan ? Apa peran dari pengetahuan ?
Mendefinisikan Masalah sebagai “State Space Search” (SSS) Misalnya permainan catur , maka SSS nya adalah : Menspesifikasikan posisi awal dari papan catur Peraturan (rules) yang mendefinisikan langkah-langkah yang legal Posisi papan yang merepresentasikan pemenang dari satu sisi atau sisi lainnya. Tujuan (Goal) dari permainan adalah : memenangkan permainan.
Problem Solving Agent Goal-based agent mempertimbangkan action-action yang akan datang dan hasil yang ingin dicapai Agent Problem Solving Menemukan sequence action untuk mencapai tujuannya Algorithm are uninformed Tidak ada informasi untuk Problem, hanya deskripsi pada masalah tersebut
Simple Problem Solving Agent Function Simple-Problem-Solving-Agent(percept) return an action Input : percept //a percept Static : seq //an action sequence, initially empty state //some description of the current world state goal //a goal, initially null problem //a problem formulation State Update-State(state, percept) If seq is empty then do goal Formulate-Goal(state) problem Formulate-Problem(state,goal) seq Search(Problem) Action First(seq) Seq Rest(seq) Return action
Goal & Problem Formulation Goal Formulation Kondisi saat ini Performance measure Problem Formulation Proses Menemukan state dan aksi-aksi yang akan dilakukan untuk mencapai tujuannya Search input problem, output solusi dalam bentuk sequence action
Well-Define Problem & Solution 4 Komponen Problem Initial State Actions : Successor function : Successor-Fn(x) = <Action,Successor> Goal Test Path Cost Optimal Solution path cost terkecil
Contoh Kasus Agent kita sedang berlibur dan sekarang sedang di kota Arad Romania Besok dia harus naik pesawat dari Bucharest Goal dari agent sekarang adalah pergi ke Bucharest Action yang tidak berhubungan dengan goal akan dibuang -> decision agent lebih simple
Path Cost Solusi Agent
Contoh Kasus Agent Mencapai tujuan (ke Bucharest) dengan naik mobil Kemana akan pergi setelah dari Arad ? Ada tiga jalan : ke Sibiu, Timisoara, Zerind Agent kita ini masih belum tahu jalan disana (mana yang tercepat) tapi hanya memiliki peta. Dari informasi peta, dilakukan hipotesa terhadap ketiga jalur tsb untuk sampai ke Bucharest
Agent & Environmet Environment Static Observable Discreet Tidak perlu memperhatikan perubahan yang terjadi pada environment Observable Ada peta, initial state diketahui (di Arad) Discreet Enumeration action Deterministic Tidak bisa menangani terhadap hal-hal yang tidak diperkirakan
Well-Defined Problem agent Initial State di Arad Actions : Successor function {<Go(Sibiu),In(Sibiu)>, <Go(Timisoara),In(Timisoara)>, <Go(Zerind),In(Zerind)>} Goal Test In(Bucharest) Path Cost di slide berikutnya
Formulate Goal & Problem Agent Tiba di Bucharest besok Formulate Problem States : kota-kota Actions : mengemudi antar kota Solusi Sequence kota : Arad, Sibiu, Fagaras, Bucharest
Example Problem Toy Problem Reald World Problem Diharapkan bisa mengilustrasikan berbagai macam metode problem-solving Membandingkan performa algoritma Akan dibahas untuk kasus : vacum cleaner, 8-puzle, 8-Queen Problem Reald World Problem Airline Travel Problem Touring Problem Traveling Salesman Problem VLSI Layout Robot Navigation Automatic Assembly Sequencing Internet Searching
Toy Problem Vacuum Cleaner States : Berada di salah satu dari dua lokasi yang ada, yg masing2 mungkin bersih atau kotor. Jadi jml kemungkinan state = 2 * 22 Initial State ? Successor Function ? . Goal Test ? Path Cost ?
Toy Problem Vacuum Cleaner States : Berada di salah satu dari dua lokasi yang ada, yg masing2 mungkin bersih atau kotor. Jadi jml kemungkinan state = 2 * 22 Initial State : Sembarang state Successor Function : (kekiri,kekanan,bersihkan) Goal Test : Semua lokasi bersih Path Cost : Setiap aksi = 1 point
Toy Problem The 8-Puzzles State : ? Initial State : ? Successor Function : ? . Goal Test : ? Path Cost : ?
Toy Problem The 8-Puzzles State : lokasi dari 8 kotak angka dan 1 kotak kosong Initial State : Sembarang state Successor Function : (kotak kosong bergerak kekiri, kekanan, keatas atau kebawah) Goal Test : Tersusun kotak angka yang diinginkan Path Cost : Setiap bergerak bernilai 1
Toy Problem 8-Queen Problem State : ? . Initial State : ? . Successor Function : ? . Goal Test : ? .
Toy Problem 8-Queen Problem State : susunan 0..8 ratu pada papan catur Initial State : Tidak ada ratu pada papan catur Successor Function : Masukkan ratu ke papan catur Goal Test : Tidak ada ratu yang saling serang
A Water Jug Problem Anda diberi dua buah jug, yang satu ukuran 4 galon dan yang lain 3 galon. Kedua jug tidak memiliki skala ukuran. Terdapat pompa yang dapat digunakan untuk mengisi jug dengan air. Bagaimana anda mendapatkan tepat 2 galon air di dalam jug 4 ukuran galon?
Pendefinisian masalah Ruang masalah untuk masalah di atas dapat digambarkan sebagai himpunan pasangan bilangan bulat (x,y) yang terurut, sedemikian hingga x = 0, 1, 2, 3, atau 4 dan y = 0, 1, 2, atau 3; x menyatakan jumlah air dalam jug ukuran 4 galon, dan y menyatakan jumlah air dalam jug ukuran 3 galon. Keadaan mula-mula adalah (0,0). State tujuan adalah (2,n) untuk setiap nilai n.
Operator-opeartor (aturan produksi) yang digunakan untuk memecahkan masalah terlihat pada tabel 1. (x,y) If x < 4 → (4,y) Isi penuh jug 4 galon 2. If y < 3 (x,3) Isi penuh jug 3 galon 3. If x > 0 (x-d,y) Buang sebagian air dari jug 4 galon 4. If y > 0 (x,y-d) dari galon ukuran 3 galon
5. (x,y) If x > 0 → (0,y) Kosongkan jug 4 galon 6. If y > 0 (x,0) Kosongkan jug 3 galon 7. If x+y ≥4 and y > 0 (4,y-(4-x)) Tuangkan air dari jug 3 galon ke jug 4 galon sampai jug 4 galon penuh 8. If x+y ≥3 and x > 0 (x-(3-y),3) Tuangkan air dari jug 4 galon ke jug 3 galon sampai jug 3 galon penuh
9. (x,y) If x+y ≤4 and y > 0 → (x+y,0) Tuangkan seluruh air dari jug 3 galon ke jug 4 galon 10. If x+y ≤3 and x > 0 (0,x+y) Tuangkan seluruh air dari jug 4 galon ke jug 3 galon 11. (0,2) (2,0) Tuangkan 2 galon air dari jug 3 galon ke jug 4 galon 12. (2,y) (0,y) Buang 2 galon dalam jug 4 galon sampai habis.
Solusi untuk Water Jug Problem Jumlah galon dalam jug 4 galon dalam jug 3 Aturan yang dilakukan 3 2 9 4 7 5 atau 12 9 atau 11
Sistem produksi terdiri dari: Himpunan aturan, masing-masing terdiri dari sisi kiri (pola) yang menentukan kemampuan aplikasi dari aturan tersebut dan sisi kanan yang menggambarkan operasi yang dilakukan jika aturan dilaksanakan. Satu atau lebih pengetahuan atau basis data yang berisi informasi apapun untuk tugas tertentu. Beberapa bagian basis data bisa permanen, dan bagian yang lain bisa hanya merupakan solusi untuk masalah saat ini. Informasi dalam basis data ini disusun secara tepat. Strategi kontrol yang menspesifikasikan urutan dimana aturan akan dibandingkan dengan basis data dan menspesifikasikan cara pemecahan masalah yang timbul ketika beberapa aturan sesuai sekaligus pada waktu yang sama. A rule applier (pengaplikasi aturan).
Syarat-syarat strategi kontrol: cause motion. Perhatikan kembali water jug problem. Jika kita mengimplementasikan strategi kontrol sederhana dengan selalu memilih aturan pertama pada daftar 12 aturan yang telah dibuat, maka kita tidak akan pernah memecahkan masalah. Strategi kontrol yang tidak menyebabkan motion tidak akan pernah mencapai solusi. Systematic. Strategi kontrol sederhana yang lain untuk water jug problem: pada setiap siklus, pilih secara random aturan-aturan yang dapat diaplikasikan. Strategi ini lebih baik dari yang pertama, karena menyebabkan motion. Pada akhirnya strategi tersebut akan mencapai solusi. Tetapi mungkin kita akan mengunjungi beberapa state yang sama selama proses tersebut dan mungkin menggunakan lebih banyak langkah dari jumlah langkah yang diperlukan. Hal ini disebabkan strategi kontrol tersebut tidak sistematik.