Vous êtes sur la page 1sur 15

10/7/2015

Sistem Kecerdasan Buatan

Masalah, Ruang Masalah dan


Pencarian Solusi
2 bagian utama kecerdasan buatan :
a. basis pengetahuan (knowledge base): berisi fakta-fakta,
teori, pemikiran & hubungan antara satu
dengan lainnya.
Bahan Bacaan :
b. motor inferensi (inference engine) : kemampuan menarik
Sri Kusumadewi, Artificial Intelligence. kesimpulan berdasarkan basis pengetahuan
Russel, Artificial Intelligence Modern Approach

Masalah Masalah Sebagai Ruang Keadaan


• Untuk membangun sistem yang mampu menyelesaikan
masalah, perlu dipertimbangkan 4 hal: • Suatu ruang yang berisi semua keadaan
• Mendefinisikan masalah dengan tepat yang mungkin
• Spesifikasi yang tepat mengenai keadaan awal
• Misalkan permasalahan yang dihadapi
• Solusi yang diharapkan
adalah Permainan Catur.
• Menganalisis masalah serta mencari beberapa teknik
penyelesaian masalah yang sesuai • Maka harus ditentukan
• Merepresentasikan pengetahuan yang perlu untuk • Posisi awal pada papan catur
menyelesaikan masalah
• Memilih teknik penyelesaian masalah yang terbaik • Aturan-aturan untuk melakukan gerakan
secara legal
• Tujuan (goal)

1
10/7/2015

Posisi awal pada papan catur Aturan-aturan untuk melakukan


• Posisi awal selalu sama gerakan secara legal
• Aturan-aturan sangat berguna untuk menentukan gerakan
suatu bidak
• Untuk mempermudah
• huruf (a,b,c,d,e,f,g,h) horizontal
• angka (1,2,3,4,5,6,7,8) vertikal
• Contoh
• bidak (e,2) ke (e,4)
– 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)

Aturan-aturan untuk melakukan


gerakan secara legal Tujuan (goal)

• Tujuan yang ingin dicapai adalah posisi


pada papan catur yang menunjukkan
kemenangan seseorang terhadap
lawannya
• Ditandai dengan posisi Raja yang sudah
tidak dapat bergerak lagi

2
10/7/2015

Ruang Keadaan (State Space) Contoh : Masalah PETANI


• Seorang petani akan menyebrangkan seekor
• Suatu ruang yang berisi semua keadaan yang kambing, seekor serigala dan sayur mayur
mungkin dengan sebuah perahu melalui sungai.
• Sehingga secara umum, untuk mendeskripsikan • Perahu hanya bisa memuat petani dan satu
masalah dengan baik, harus: penumpang lain.
• Mendefinisikan suatu ruang keadaan • Jika Petani menyebrangkan serigala, sayur
• Menetapkan satu atau lebih keadaan awal akan dimakan kambing
• Menetapkan satu atau lebih tujuan • Jika Petani menyebrangkan sayur maka
• Menetapkan kumpulan aturan kambing akan dimakan serigala
• Ada beberapa cara untuk merepresentasikan Ruang
Keadaan (Graph keadaan, Pohon pelacakan)

Contoh : Masalah PETANI Contoh : Masalah PETANI

• Identifikasi ruang keadaan


• Aturan-aturan
– Permasalahan ini dapat dilambangkan dengan
(kambing,serigala,sayuran,perahu).
– Contoh : daerah asal (0,1,1,1) = daerah asal tidak
ada kambing,ada serigala,ada sayuran,ada perahu
• Keadaan awal & tujuan
– Keadaan awal, pada kedua daerah :
• daerah asal = (1,1,1,1)
• daerah seberang = (0,0,0,0)
– Keadaan tujuan, pada kedua daerah :
• daerah asal = (0,0,0,0)
• daerah seberang = (1,1,1,1)

3
10/7/2015

Contoh : Masalah PETANI Contoh : Masalah Ember


• Ada 2 ember masing-masing berkapasitas
• Solusi 4 galon (ember A) dan 3 galon (ember B).
Ada pompa air yg akan digunakan untuk
mengisi air pada ember tersebut.
Bagaimana dapat mengisi tepat 2 galon
air ke dalam ember berkapasitas 4 galon?

Ember A Ember B
Kapasitas : Kapasitas :
4 galon 3 galon

Isi = 2 galon?

Contoh : Masalah Ember Contoh : Masalah Ember


• Penyelesaian :
• Identifikasi ruang keadaan (state space)
– Permasalahan ini dapat digambarkan sebagai himpunan pasangan
bilangan bulat :
• x = jumlah air yg diisikan ke ember 4 galon (ember A)
• y = jumlah air yg diisikan ke ember 3 galon (ember B)
– Ruang keadaan = (x,y) sedemikian hingga x є {0,1,2,3,4} dan y є
{0,1,2,3}
• Keadaan awal & tujuan
– Keadaan awal : kedua ember kosong = (0,0)
– Tujuan : ember 4 galon berisi 2 galon air = (2,n) dengan sembarang n
• Keadaan ember
• Keadaan ember bisa digambarkan sebagai berikut :

4
10/7/2015

Contoh : Masalah Ember


Contoh : Masalah Ember
• Aturan-aturan
– Diasumsikan kita dapat mengisi ember air itu
dari pompa air, membuang air dari ember ke
luar, menuangkan air dari ember yang satu ke
ember yang lain.

Contoh : Masalah Ember


TUGAS
• 3 Kanibal & 3 Misionaris
• Menyeberangkan semuanya ke seberang
• Jika terdapat lebih banyak kanibal pada satu sisi,
maka misionaris akan dimakan oleh kanibal
• Notasi
• M adalah Misionaris
• K adalah Kanibal
• Harus dijaga agar M >= K pada satu sisi
• Tentukan aturan-aturan yang digunakan
dan penyelesaiannya!!

5
10/7/2015

Graph Keadaan
Representasi Ruang Keadaan
Graph Keadaan
• Terdiri dari node-node yang menunjukkan
keadaan yaitu keadaan awal dan keadaan baru
yang akan dicapai dengan menggunakan
operator
• Node M : awal, node T : tujuan. Ada 4 lintasan dari M ke T :
• Node-node saling dihubungkan dengan – M-A-B-C-E-T
– M-A-B-C-E-H-T
menggunakan arc (busur) yang diberi panah – M-D-C-E-T
untuk menunjukkan arah – M-D-C-E-H-T
• Lintasan buntu atau lintasan yang 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

Pohon Pelacakan / Pencarian Pohon Pelacakan / Pencarian


• menggambarkan keadaan secara hirarkis
• Node pada level-0 disebut ’akar/root’ -
menunjukkan keadaan awal & memiliki
beberapa percabangan yang terdiri atas
beberapa node yg disebut ’anak/child’
• Node yg tidak memiliki anak disebut ’daun/leaf’ -
menunjukkan akhir dari suatu pencarian, dapat
berupa tujuan yang diharapkan (goal) atau jalan
buntu (dead end).

6
10/7/2015

Pohon AND / OR Pohon AND / OR


• Pohon OR
• Masalah sebelumnya jika diselesaikan
dengan pohon AND / OR :

– Solusi masalah M – 4 kemungkinan – A or B


or C or D
• Pohon AND

– Solusi masalah M – A and B and C and D

Metode Pelacakan / Pencarian Metode Pelacakan / Pencarian


• Hal penting dalam menentukan keberhasilan • Dalam permainan catur misalnya, seorang
sistem cerdas adalah kesuksesan dalam pemain mempertimbangkan sejumlah
pencarian. kemungkinan tentang langkah langkah
berikutnya, memilih yang terbaik menurut
• Pencarian = suatu proses mencari solusi dari kriteria tertentu seperti kemungkinan
suatu permasalahan melalui sekumpulan respon lawannya.
kemungkinan ruang keadaan (state space). • Aspek tingkah laku cerdas yang
• Ruang keadaan = merupakan suatu ruang yang mendasari teknik penyelesaian problema
berisi semua keadaan yang mungkin. seperti dalam permainan catur tersebut
dinamakan proses pencarian ruang
keadaan (space state search).

7
10/7/2015

Kriteria Teknik Pencarian


• Completeness : apakah metode tersebut • Pencarian buta (blind search) : tidak ada
menjamin penemuan solusi jika solusinya informasi awal yang digunakan dalam proses
memang ada? pencarian
• Time complexity : berapa lama waktu yang – Pencarian melebar pertama (Breadth – First Search)
diperlukan? – Pencarian mendalam pertama (Depth – First Search)
• Space complexity : berapa banyak memori yang
• Pencarian terbimbing (heuristic search) : adanya
diperlukan?
informasi awal yang digunakan dalam proses
• Optimality : apakah metode tersebut menjamin
pencarian
menemukan solusi yang terbaik jika terdapat
beberapa solusi berbeda? – Pendakian Bukit (Hill Climbing)
– Pencarian Terbaik Pertama (Best First Search)

Breadth First Search Breadth First Search


• 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 dari kiri ke
kanan hingga solusi ditemukan.

8
10/7/2015

Breadth First Search Depth First Search


• Keuntungan : • Pencarian dilakukan pada suatu simpul dalam
– tidak akan menemui jalan buntu, menjamin ditemukannya solusi setiap level dari yang paling kiri.
(jika solusinya memang ada) dan solusi yang ditemukan pasti
yang paling baik • Jika pada level yang paling dalam tidak
– jika ada 1 solusi, maka breadth – first search akan ditemukan solusi, maka pencarian dilanjutkan
menemukannya,jika ada lebih dari 1 solusi, maka solusi
minimum akan ditemukan. pada simpul sebelah kanan dan simpul yang kiri
– Kesimpulan : complete dan optimal dapat dihapus dari memori.
• Kelemahan : • Jika pada level yang paling dalam tidak
– membutuhkan memori yang banyak, karena harus menyimpan ditemukan solusi, maka pencarian dilanjutkan
semua simpul yang pernah dibangkitkan. Hal ini harus dilakukan
agar BFS dapat melakukan penelusuran simpul-simpul sampai pada level sebelumnya. Demikian seterusnya
di level bawah sampai ditemukan solusi.
– membutuhkan waktu yang cukup lama

Depth First Search Depth First Search


• Keuntungan :
– membutuhkan memori relatif kecil, karena hanya node-node
pada lintasan yang aktif saja yang disimpan
– Secara kebetulan, akan menemukan solusi tanpa harus menguji
lebih banyak lagi dalam ruang keadaan, jadi jika solusi yang
dicari berada pada level yang dalam dan paling kiri, maka DFS
akan menemukannya dengan cepat (waktu cepat)
• Kelemahan :
– Memungkinkan tidak ditemukannya tujuan yang diharapkan,
karena jika pohon yang dibangkitkan mempunyai level yang
sangat dalam (tak terhingga) / tidak complete karena tidak ada
jaminan menemukan solusi
– Hanya mendapat 1 solusi pada setiap pencarian, karena jika
terdapat lebih dari satu solusi yang sama tetapi berada pada
level yang berbeda, maka DFS tidak menjamin untuk
menemukan solusi yang paling baik (tidak optimal).

9
10/7/2015

Heuristik Search Metode Heuristik


• Pembangkit dan pengujian (generate and • Pencarian buta tidak selalu dapat diterapkan dengan
baik, karena waktu aksesnya yang cukup lama &
test) besarnya memori yang diperlukan. Terutama untuk
permasalah dengan ruang masalah yang besar.
• hill climbing
• Best first search • Heuristik adalah sebuah teknik yang mengembangkan
efisiensi dalam proses pencarian, namun dengan
• A* kemungkinan mengorbankan kelengkapan
(completeness).

• Metode heuristic search menggunakan suatu fungsi


yang menghitung biaya perkiraan (estimasi) dari suatu
simpul tertentu menuju ke simpul tujuan

Contoh : 8-puzzle Langkah awal

• Ada 4 operator yang dapat digunakan untuk


menggerakkan dari satu keadaan ke keadaan yang baru
1. Ubin kosong digeser ke kiri
2. Ubin kosong digeser ke kanan
3. Ubin kosong digeser ke bawah
4. Ubin kosong digeser ke atas

10
10/7/2015

Pada pencarian heuristik perlu diberikan informasi khusus, yaitu jumlah Untuk jumlah ubin yang menempati posisi yang salah
ubin yang menempati posisi yang benar. Jumlah yang lebih kecil adalah yang diharapkan (lebih baik)
Jumlah yang lebih tinggi adalah yang lebih diharapkan (lebih baik).

Contoh : “Travelling Salesman


Generate and Test
Problem (TSP)”
• Gabungan dari Depth First Search dan backtracking, • Seorang salesman ingin mengunjungi n kota. Jarak
bergerak ke belakang menuju pada suatu keadaan awal. antara tiap-tiap kota sudah diketahui. Kita ingin
mengetahui ruter terpendek dimana setaip kota hanya
• Algoritma : boleh dikkunjungi tepat 1 kali. Misalkan ada 4 kota
1. Bangkitkan suatu kemungkinan solusi (membangkitkan suatu dengan jarak antara tiap-tiap kota seperti berikut ini :
tititk tertentu atau lintasan tertentu dari keadaan awal).
2. Uji untuk melihat apakah node tersebut benar-benar merupakan
solusinya dengan cara membandingkan node terebut atau node
akhir dari suatu lintasan yang dipilih dengan kumpulan tujuan
yang diharapkan.
3. Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali langkah
pertama.

11
10/7/2015

Hill Climbing
• Metode ini hampir sama dengan metode
pembangkitan dan pengujian, hanya saja proses
pengujian dilakukan dengan menggunakan
fungsi heuristik. Pembangkitan keadaan
berikutnya tergantung pada feedback dari
prosedur pengetesan. Tes yang berupa fungsi
heuristic ini akan menunjukkan seberapa
baiknya nilai terkaan yang diambil terhadap
keadaan-keadaan lainnya yang mungkin.

Algoritma Simple Hill Climbing


• Cari operator yang belum pernah digunakan; gunakan
operator ini untuk mendapatkan keadaan yang baru. • Pada simple hill climbing, ada 3 masalah
Kerjakan langkah-langkah berikut sampai solusinya yang mungkin:
ditemukan atau sampai tidak ada operator baru yang
akan diaplikasikan pada keadaan sekarang : – Algoritma akan berhenti kalau mencapai nilai
• Cari operator yang belum digunakan; gunakan operator optimum local
ini untuk mendapatkan keadaan yang baru.
• Evaluasi keadaan baru tersebut : – Urutan penggunaan operator akan sangat
– Jika keadaan baru merupakan tujuan, keluar berpengaruh pada penemuan solusi
– Jika bukan tujuan, namun nilainya lebih baik daripada keadaan
sekarang, maka jadikan keadaan baru tersebut menjadi keadaan – Tidak diijinkan untuk melihat satupun langkah
sekarang.
– Jika keadaan baru tidak lebih baik daripada keadaan sekarang, sebelumnya.
maka lanjutkan iterasi.

12
10/7/2015

Contoh : TSP dengan Simple Hill Climbing

• Operator digunakan untuk menukar posisi kota-kota


yang bersebelahan. Apabila ada 4 kota, dan kita ingin
mencari kombinasi lintasan dengan menukar posisi
urutan 2 kota, maka kita akan mendapatkan sebanyak
6 kombinasi.
n! 4! 4!
4   2.3  6
2!(n  2)! 2!( 4  2)! 2!2!

– (1,2) menukar posisi kota 1 dan 2


– (1,3) menukar posisi kota 1 dan 3
– (1,4) menukar posisi kota 1 dan 4
– (2,3) menukar posisi kota 2 dan 3
– (2,4) menukar posisi kota 2 dan 4
– (3,4) menukar posisi kota 3 dan 4

Steepest Ascent Hill Climbing


• Hampir sama dengan simple hill climbing,
hanya gerakan pencarian tidak dimulai
dari posisi paling kiri. Gerakan selanjutnya
dicari berdasarkan nilai heuristik terbaik.
Dalam hal ini urutan operator tidak
menentukan penemuan solusi.

13
10/7/2015

A*
• Perbaikan dari metode Best-First search • Fungsi Heuristik yang digunakan merupakan
dengan memodifikasi fungsi heuristiknya prakiraan (estimasi) cost dari initial state ke goal
state, yang dinyatakan dengan :
• A* meminimumkan total biaya lintasan.
f’(n) = g(n) + h’(n)
Pada kondisi yang tepat, A* akan
dimana :
memberikan solusi yang terbaik dalam
f’ = Fungsi evaluasi
waktu yang optimal.
g = cost dari initial state ke current state
h’ = perkiraan cost dari current state ke goal
state

Contoh
Misalkan kita memiliki ruang pencarian seperti pada
gambar berikut. Node M merupakan keadaan awal dan
node T merupakan tujuannya. Biaya edge yang
menghubungkan node M dengan node A adalah biaya
yang dikeluarkan untuk bergerak dari kota M ke kota A.
Nilai g diperoleh berdasarkan biaya edge minimal.
Sedangkan nilai h’ di node A merupakan hasil perkiraan
terhadap biaya yang diperlukan dari node A untuk
sampai ke tujuan. h’(n) bernilai ~ jika sudah jelas tidak
ada hubungan antara node n dengan node tujuan (jalan
buntu). Kita bisa merunut nilai untuk setiap node.

14
10/7/2015

Penelusuran dengan f’(n)=h’(n)


Node Antrian OPEN
diekspansi Latihan – Blind Search
[M(6)]
M [C(2), A(3), B(4)] 1. Diketahui gambar pohon berikut :
C [H(2), A(3), B(4), I(~)]
H [T(0), A(3), B(4), L(~),
S
I(~)]
T [A(3), B(4), L(~) , I(~)]
A B
Penelusuran dengan f’(n)=g(n)+h’(n)
Node Antrian OPEN
C D E F G
diekspansi
[M(6)] H I J*
M [C(6), B(7), A(8)]
C [H(7), B(7), A(8), I(~)] Implementasikan algoritma BFS dan
H [T(7), B(7), A(8), L(~),
I(~)] DFS untuk pohon diatas jila GOAL=J
T [B(7), A(8), L(~), I(~)]

Latihan – Hill Climbing Latihan – Best 1st Search & A*


A 4 B 4 C
3
Carilah lintasan terpendek dari graph di
S G
bawah dengan metode simple hill climbing 5 5
3
dan stepest hill climbing. Jika operator 4
D E F
yang digunakan hanya 4, yaitu (1,2), (2,3), 2 4

(3,4) dan (4,1) Jika h’(n) sbb : A-G=10,4; B-G=6,7; C-G=4;


D-G=8,9; E-G=6,9; F-G=3,
S-G=11.
Carilah lintasan terpendek dimulai dari S ke
G!

15

Vous aimerez peut-être aussi