Slide INF401 KECERDASAN BUATAN PERTEMUAN 2

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 :
1. Mendefinisikan ruang masalah untuk masalah yang dihadapi :
spesifikasi kondisi awal dan solusi yang diharapkan.
2. Mendefinisikan aturan produksi yang digunakan untuk
mengubah state ke state lainnya
3. 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) =

• 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
• 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 
• {, ,
}

• Goal Test  In(Bucharest)
• Path Cost  di slide berikutnya

Formulate Goal & Problem Agent
• Formulate Goal
• Tiba di Bucharest besok

• Formulate Problem
• States : kota-kota
• Actions : mengemudi antar kota

• Solusi
• Sequence kota : Arad, Sibiu, Fagaras, Bucharest


Example Problem
• Toy Problem
• Diharapkan bisa mengilustrasikan berbagai macam metode problemsolving
• 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.

(x,y)
If y < 3



(x,3)

Isi penuh jug 3 galon

3.

(x,y)
If x > 0



(x-d,y)

Buang sebagian air
dari jug 4 galon

4.

(x,y)
If y > 0



(x,y-d)

Buang sebagian air
dari galon ukuran 3
galon

5.

(x,y)
If x > 0



(0,y)

Kosongkan jug 4 galon

6.

(x,y)
If y > 0



(x,0)

Kosongkan jug 3 galon

7.

(x,y)

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.

(x,y)

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. (x,y)

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
0
0
3
3
4
0
2

Jumlah galon
dalam jug 3
galon
0
3
0
3
2
2
0

Aturan yang
dilakukan
2
9
2
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.