Pencarian dan Strategi Kontrol_pertemuan2

Download Report

Transcript Pencarian dan Strategi Kontrol_pertemuan2

Pencarian dan Strategi Kontrol
(1)
Searching and Control Strategy
Pertemuan 2
Review
• Ada dua cara pandang tentang AI. Pertama, AI
berfokus pada proses berpikir sedangkan yang
kedua AI berfokus pada tingkah laku.
• Defenisi yang paling tepat untuk AI adalah
acting rationally dengan pendekatan rational
agent.
• Komputer bisa melakukan penalaran secara
logis dan juga bisa melakukan aksi secara
rasional berdasarkan hasi penalaran tersebut
Teknik-Teknik AI
• Banyak teknik yang berkaitan dengan bagaimana
pengetahuan direpresentasikan, dimanipulasi dan dinalar
untuk memperoleh penyelesaian masalah dapat
diaplikasikan dalam bentuk kecerdasan buatan
• Contoh : Teknik yang membuat sistem bertindak “cerdas”
•
•
•
•
•
•
Describe and match (gambarkan dan cocokkan)
Constraint satisfaction ( batasan terpenuhi)
Generate and test (bentuk dan uji)
Goal reduction (reduksi tujuan)
Tree searching ( pencarian dengan pohon)
Rule based systems (sistem berbasis aturan)
Describe and Match
• Model adalah deskripsi mengenai tingkah laku
sebuah sistem. Dengan kata lain merupakan
representasi sebuah sistem.
• Finite State Model terdiri dari satu set himpunan
keadaan (states), satu set input kejadian (input
events) dan relasi antara keduanya. Jika diberikan
suatu keadaan terkini (current states) dan suatu
input kejadian maka kita dapat memprediksi
keadaan berikutnya (next current states) dari
sebuah model
• Model komputasi adalah bentuk dari finite state
machine. Terdiri dari satu set states, satu set start
states (kondisi awal / initial states), sebuah input
alphabet dan sebuah fungsi transisi (transition
function) yang memetakan simbol input dan keadaan
terkini ke keadaan selanjutnya (current to next states).
• Sebuah set aturan transisi dalam bentuk aturan
produksi harus ditetapkan untuk mengubah kondisi
state
• Relasi Transisi : S  S’
• State-Transition system dikatakan deterministik jika
setiap state memiliki paling banyak satu successor;
dikatakan non deterministic jika paling sedikit satu
state memiliki lebih dari satu successor.
Contoh : Menara Hanoi dengan 2
Piringan
• Masalah memindahkan 2 piringan dari sumber ke tujuan dengan
langkah seminimal mungkin dengan bantuan satu tempat piringan.
• Syarat :
• Harus memindahkan satu piring dalam satu saat.
• Piring yang lebih kecil harus berada di atas piring yang lebih besar.
• Memindahkan dari piring yang paling atas.
• Solusi
Sumber : Chakraborty, 2010
Goal Reduction
• Prosedur Goal-Reduction adalah salah satu
kasus khusus dalam representasi pengetahuan
pada AI ; alternatif pada representasi logisdeklaratif.
• Prosesnya meliputi pembuatan hierarki subdivisi dari tujuan menjadi sub-tujuan hingga
sub tujuan mencapai solusi sesaat dan dapat
dikatakan bahwa tujuan tercapai.
• Contoh : struktur AND-OR tree/ graf
Contoh : Struktur AND-OR tree/graf
Sumber : Chakraborty, 2010
Constraint Satisfaction
• Constraint adalah relasi logis antara variabel mis :
lingkaran dalam sebuah bujursangkar. Constraints
menghubungkan objek tanpa penjelasa spesifik
mengenai posisi masing-masing; memindahkan
salah satunya , relasi tetap dipertahankan.
• Constraint satisfaction adalah sebuah proses
menemukan sebuah solusi dari set constraintconstraint mengekspresikan nilai-nilai yang
dibolehkan untuk variabel-variabel dan
menemukan solusi adalah evaluasi dari setiap
variabel yang memenuhi semua constraints.
Contoh : N- Queens Puzzle
• Masalah : Diberikan integer N, tempatkan N queens
pada N*N papan catur yang memenuhi constraint
bahwa tidak ada dua queen yang mengancam yang
lainnya ( sebuah queen mengancam lainnya jika berada
pada baris, kolom dan diagonal yang sama)
• Solusi : Untuk memodelkan masalah ini
• Asumsi bahwa setiap queen berada pada kolom yang
berbeda;
• Tetapkan sebuah variabel Ri (i = 1 ..N) pada queen di
kolom ke-i yang mengindikasikan posisi queen pada
baris.
• Tetapkan constraint “ tidak mengancam” pada setiap
pasangan Ri dan Rj dan terapkan algoritma di atas.
Contoh : 8 – Queens Puzzle
Generate and Test (GT)
• Metode ini dimulai dengan menebak solusi yang
mungkin dan kemudian menguji apakah solusi benar,
yang berarti bahwa solusi memenuhi constraints.
• Paradigma ini meliputi dua proses :
• Membentuk solusi-solusi yang mungkin (hipotesis).
• Pengujian untuk mengevaluasi setiap solusi yang
diusulkan
• Algoritma :
• Kelemahan :
• Tidak efisien ; menghasilkan banyak
penetapan nilai variabel yang salah yang
kemudian akan ditolak pada fase pengujian
• Generator menghasilkan banyak konflik dan
penetapan yang bersifat independen dari
konflik.
• Untuk efisiensi, pendekatan GT harus
didukung oleh pendekatan bactraking.
• Contoh : membuka kombinasi kunci tanpa tau
kombinasinya.
Rule-Based Systems (RBS)
• Rule-based system adalah teknik AI yang
sederhana dan paling sukses.
• Rules (aturan) : IF (kondisi) THEN (aksi)
• Sering diatur dalam hierarki (pohon/graf)
• Ketika semua kondisi dari aturan terpenuhi
maka aturan dapat dibentuk.
Komponen RBS
• Working Memory (Memori kerja) :
• Terdiri dari fakta-fakta yang diobservasi atau
diperoleh dari sebuah aturan
• <object, attribute, values)
• Contoh : < mobil, warna, merah> : “warna
mobil saya merah”.
• Terdiri dari pengetahuan temporer tentang
sesi pemecahan masalah.
• Dapat dimodifikasi dengan aturan (rules).
• Rule Base (RB) :
• RB terdiri dari aturan-aturan(rules); setiap aturan
adalah langkah dalam penyelesaian masalah.
• Rules adalah domain pengetahuan dan
dimodifikasi hanya dari luar.
• Sintaks : IF <kondisi> THEN < aksi >
• Contoh : IF <temperatur, lebih, 20 >
• THEN < add (laut, bisa berenang, ya)>
• Jika kondisi-kondisi sesuai pada memori kerja dan
jika terpenuhi maka aturan dapat diberlakukan.
• Aksi RB : “ add” (fakta dari WM) , “remove” (fakta
dari WM), “modify” (fakta dalam WM).
• Interpreter :
• Adalah domain mekanisme penalaran (reasoning)
independen pada RBS.
• Memilih aturan dari Rule Base dan mengaplikasikannya
dalam bentuk aksi.
• Beroperasi dalam sebuah siklus :
• Retrieval – temukan aturan yang sesuai dengan current
WM
• Refinement – menghapus konflik yang tidak diinginkan,
mengatur kembali dan menyelesaikan konflik.
• Execution – mengeksekusi aksi-aksi dalam aturan pada set
konflik dan mengaplikasikan aturan dengan melakukan aksi.
Tree Searching
• Banyak masalah dapat diselesaikan dengan
cara mendeskripsikan dalam bentuk search
tree. Solusi dari masalah ini dapat diperoleh
dengan menemukan sebuah alur (path)
melewati sebuah tree.
• Proses pencaharian ke seluruh tree hingga
diperoleh alur yang memenuhi disebut
exhaustive search.
Pemecahan Masalah (Problem Solving)
• Ada dua jenis masalah : masalah yang bisa
diselesaikan dengan cara langsung dan masalah
yang pemecahannya melalui proses pencarian
solusi. AI digunakan pada jenis masalah yang
memerlukan proses pencarian (searching)
• Problem Solving adalah proses pembentukan
solusi dari data yang diobsevasi. Sebuah masalah
dibentuk dari sebuah set tujuan, sebuah set objek
dan set operasi.
Ruang Masalah (Problem Space)
• Sebuah ruang masalah adalah sebuah ruang
yang bersifat abstrak.
• Terdiri dari semua kondisi valid (valid states)
yang dapat dibentuk dari kombinasi setiap
operator pada kombinasi setiap objek.
• Sebuah ruang masalah dapat terdiri dari satu
atau lebih solusi.
• Solusi adalah kombinasi dari operasi dan objek
yang digunakan untuk mencapai tujuan.
Pendefinisian Masalah
• Sebuah masalah terdiri dari : current state
(kondisi terkini), aksi yang dapat
mentransformasikan satu state ke state yang lain,
kondisi yang diinginkan (desired state).
• Sebuah ruang masalah dapat didefinisikan secara
eksplisit atau implisit. Sebuah ruang masalah
harus menggambarkan seluruh kondisi yang
diinginkan untuk memecahkan masalah.
• Initial state adalah keadaan awal.
• Goal state adalah kondisi yang harus dipenuhi
(kondisi tujuan)
• Goal state berisi deskripsi mengenai kondisi yang
diinginkan. Deskripsi bisa seluruhnya atau dapat
sebagian.
• Operator melakukan aksi yang dapat
mentransformasikan satu state ke state lainnya.
Operator terdiri dari Preconditions dan
Instructions. Preconditions berisi deksripsi partial
dari state yang harus benar agar dapat melakukan
aksi. Instruksi memberitahukan bagaimana
membentuk kondisi berikutnya (next state).
• Problem solving adalah proses pencarian sekuens
operator berurutan yang dapat
mentransformasikan initial state ke goal state.
Contoh Pendefinisian Masalah
• Game 8-Puzzle :
• State Space : Konfigurasi 8
blok pada papan.
• Initial State : semua
konfigurasi yang mungkin.
• Goal State : Blok dalam
urutan spesifik
• Aksi : “pindahkan blok
kosong”
• Kondisi : pemindahan dalam
papan
• Transformasi : blok kosong
berpindah kiri, kanan, atas,
bawah
Solusi : sekuens optimal dari
operator.
Metode Searching
• Metode searching adalah metode pemecahan
masalah dengan menggunakan aturan yang
dikombinasikan dengan strategi kontrol yang
bekerja dalam ruang masalah dan berpindah dari
kondisi awal (initial state) ke kondisi tujuan (goal
state) dalam sebuah alur (path).
• Ruang masalah umumnya dibentuk dalam bentuk
tree atau graf untuk memudahkan pemecahan
masalah.
• Proses pencarian mengeksplorasi semua
kemungkinan path dari initial state ke goal state.
Kriteria Metode Searching
Untuk mengukur performansi metode searching
digunakan 4 kriteria :
• Completeness : Apakah metode tersebut menjamin
penemuan solusi jika solusinya memang ada ?
• Time Complexity : berapa lama waktu yang
dibutuhkan?
• Space Complexity : berapa banyak memori yang
diperlukan?
• Optimality : apakah metode tersebut menjamin
menemukan solusi yang terbaik jika terdapat beberapa
solusi yang berbeda ?
Metode-metode Pencarian
• Uninformed Search : blind, exhaustive atau bruteforce search
Pencarian buta/ tanpa informasi yang dapat
membantu proses pencarian; tidak terlalu efisien
• Informed Search : heuristic atau intelligent
search.
proses pencarian dengan informasi mengenai
masalah, umumnya menebak jarak ke goal state
dan efisien. Namun tidak ada jaminan bahwa
solusi dapat tercapai.
Depth-First Search (DFS)
• Pencarian dilakukan pada satu node dalam setiap
level dari yang paling kiri. Jika pada level yang
paling dalam, solusi belum ditemukan, maka
pencarian dilanjutkan pada node sebelah kanan.
Node yang kiri dapat dihapus dari memori. Jika
pada level yang paling dalam tidak ditemukan
solusi, maka pencarian dilanjutkan pada level
sebelumnya. Demikian seterusnya sampai
ditemukan solusi. Jika solusi ditemukan maka
tidak diperlukan proses backtracking
(penelusuran balik untuk mendapatkan jalur yang
dinginkan).
• Kelebihan DFS adalah:
• Pemakain memori hanya sedikit, berbeda jauh
dengan BFS yang harus menyimpan semua node
yang pernah dibangkitkan.
• Jika solusi yang dicari berada pada level yang dalam
dan paling kiri, maka DFS akan menemukannya
secara cepat.
• Kelemahan DFS adalah:
• Jika pohon yang dibangkitkan mempunyai level yang
dalam (tak terhingga), maka tidak ada jaminan untuk
menemukan solusi (Tidak Complete).
• Jika terdapat lebih dari satu solusi yang sama tetapi
berada pada level yang berbeda, maka pada DFS
tidak ada jaminan untuk menemukan solusi yang
paling baik (Tidak Optimal).
Penelusuran : A B D E H L M N I O P C F G J K Q
Breadth-First Search (BFS)
• Pencarian dilakukan pada semua node dalam
setiap level secara berurutan dari kiri ke kanan.
Jika pada satu level belum ditemukan solusi,
maka pencarian dilanjutkan pada level
berikutnya. Demikian seterusnya sampai
ditemukan solusi. Dengan strategi ini, maka dapat
dijamin bahwa solusi yang ditemukan adalah
yang paling baik (Optimal). Tetapi BFS harus
menyimpan semua node yang pernah
dibangkitkan. Hal ini harus dilakukan untuk
penelusuran balik jika solusi sudah ditemukan.
Penelusuran : A B C D E F G H I J K L M N O P Q
Depth-Limited Search (DLS)
• Metode ini berusaha mengatasi kelemahan DFS
(tidak complete) dengan membatasi kedalaman
maksimum dari suatu jalur solusi.
• Level maksimum dari suatu solusi harus diketahui
terlebih dahulu.
• Jika batasan kedalaman terlalu kecil, DLS tidak
dapat menemukan solusi yang ada. DLS menjadi
tidak complete jika batasan kedalaman lebih kecil
dibandingkan dengan level solusinya.
Uniform Cost Search (UCS)
• Konsepnya hampir sama dengan BFS.
Perbedaannya adalah BFS menggunakan urutan
level dari yang paling rendah ke paling tinggi
sedangkan UCS menggunakan urutan biaya dari
yang paling kecil sampai yang terbesar.
• UCS berusaha menemukan solusi dengan total
biaya yang terendah yang dihitung berdasarkan
biaya dari simpul asal menuju ke simpul tujuan.
• Biaya dari simpul asal ke suatu simpul n
dilambangkan dengan g(n).