• Tidak ada hasil yang ditemukan

Masalah, Ruang Masalah dan Pencarian Solusi

N/A
N/A
Protected

Academic year: 2018

Membagikan "Masalah, Ruang Masalah dan Pencarian Solusi"

Copied!
15
0
0

Teks penuh

(1)

Masalah, Ruang Masalah dan

Pencarian Solusi

Bahan Bacaan :

Sri Kusumadewi, Artificial Intelligence. Russel, Artificial Intelligence Modern Approach

Sistem Kecerdasan Buatan

2 bagian utama kecerdasan buatan :

a. basis pengetahuan (knowledge base): berisi fakta-fakta, teori, pemikiran & hubungan antara satu

dengan lainnya.

b. motor inferensi (inference engine) : kemampuan menarik kesimpulan berdasarkan basis pengetahuan

Masalah

• Untuk membangun sistem yang mampu menyelesaikan masalah, perlu dipertimbangkan 4 hal:

• Mendefinisikan masalah dengan tepat

• Spesifikasi yang tepat mengenai keadaan awal • Solusi yang diharapkan

• Menganalisis masalah serta mencari beberapa teknik penyelesaian masalah yang sesuai

• Merepresentasikan pengetahuan yang perlu untuk menyelesaikan masalah

• Memilih teknik penyelesaian masalah yang terbaik

Masalah Sebagai Ruang Keadaan

• Suatu ruang yang berisi semua keadaan

yang mungkin

• Misalkan permasalahan yang dihadapi

adalah Permainan Catur.

• Maka harus ditentukan

• Posisi awal pada papan catur

• Aturan-aturan untuk melakukan gerakan

secara legal

(2)

Posisi awal pada papan catur

• Posisi awal selalu sama

Aturan-aturan untuk melakukan

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

(3)

Ruang Keadaan (State Space)

• Suatu ruang yang berisi semua keadaan yang mungkin

• Sehingga secara umum, untuk mendeskripsikan masalah dengan baik, harus:

• Mendefinisikan suatu ruang keadaan • Menetapkan satu atau lebih keadaan awal • Menetapkan satu atau lebih tujuan • Menetapkan kumpulan aturan

• Ada beberapa cara untuk merepresentasikan Ruang Keadaan (Graph keadaan, Pohon pelacakan)

Contoh : Masalah PETANI

• Seorang petani akan menyebrangkan seekor

kambing, seekor serigala dan sayur mayur

dengan sebuah perahu melalui sungai.

• Perahu hanya bisa memuat petani dan satu

penumpang lain.

• Jika Petani menyebrangkan serigala, sayur

akan dimakan kambing

• Jika Petani menyebrangkan sayur maka

kambing akan dimakan serigala

Contoh : Masalah PETANI

• Identifikasi ruang keadaan

– 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)

(4)

Contoh : Masalah PETANI

• Solusi

Contoh : Masalah Ember

• Ada 2 ember masing-masing berkapasitas

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 Kapasitas :

4 galon

Ember B Kapasitas :

3 galon

Isi = 2 galon?

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 :

(5)

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

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

(6)

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-node saling dihubungkan dengan

menggunakan

arc

(busur) yang diberi panah

untuk menunjukkan arah

Graph Keadaan

• Node M : awal, node T : tujuan. 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 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

• menggambarkan keadaan secara hirarkis

• Node pada level0 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).

(7)

Pohon AND / OR

• Pohon 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

Pohon AND / OR

• Masalah sebelumnya jika diselesaikan

dengan pohon AND / OR :

Metode Pelacakan / Pencarian

• Hal penting dalam menentukan keberhasilan

sistem cerdas adalah kesuksesan dalam

pencarian.

• Pencarian = suatu proses mencari solusi dari

suatu permasalahan melalui sekumpulan

kemungkinan ruang keadaan (state space).

• Ruang keadaan = merupakan suatu ruang yang

berisi semua keadaan yang mungkin.

Metode Pelacakan / Pencarian

• Dalam permainan catur misalnya, seorang

pemain mempertimbangkan sejumlah

kemungkinan tentang langkah langkah

berikutnya, memilih yang terbaik menurut

kriteria tertentu seperti kemungkinan

respon lawannya.

• Aspek tingkah laku cerdas yang

(8)

Kriteria

• Completeness : apakah metode tersebut

menjamin penemuan solusi jika solusinya

memang ada?

• Time complexity : berapa lama waktu yang

diperlukan?

• Space complexity : berapa banyak memori yang

diperlukan?

• Optimality : apakah metode tersebut menjamin

menemukan solusi yang terbaik jika terdapat

beberapa solusi berbeda?

Teknik Pencarian

• Pencarian buta (blind search) : tidak ada

informasi awal yang digunakan dalam proses

pencarian

– Pencarian melebar pertama (Breadth – First Search) – Pencarian mendalam pertama (Depth – First Search)

• Pencarian terbimbing (heuristic search) : adanya

informasi awal yang digunakan dalam proses

pencarian

– Pendakian Bukit (Hill Climbing)

– Pencarian Terbaik Pertama (Best 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.

(9)

Breadth First Search

• Keuntungan :

– tidak akan menemui jalan buntu, menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang ditemukan pasti yang paling baik

– jika ada 1 solusi, maka breadth – first search akan menemukannya,jika ada lebih dari 1 solusi, maka solusi minimum akan ditemukan.

– Kesimpulan : complete dan optimal • Kelemahan :

– membutuhkan memori yang banyak, karena harus menyimpan semua simpul yang pernah dibangkitkan. Hal ini harus dilakukan agar BFS dapat melakukan penelusuran simpul-simpul sampai di level bawah

– membutuhkan waktu yang cukup lama

Depth First Search

• Pencarian dilakukan pada suatu simpul dalam

setiap level dari yang paling kiri.

• Jika pada level yang paling dalam tidak

ditemukan solusi, 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. Demikian seterusnya

sampai ditemukan solusi.

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

(10)

Heuristik Search

• Pembangkit dan pengujian (generate and

test)

• hill climbing

• Best first search

• A*

Metode Heuristik

• Pencarian buta tidak selalu dapat diterapkan dengan baik, karena waktu aksesnya yang cukup lama & besarnya memori yang diperlukan. Terutama untuk permasalah dengan ruang masalah yang besar.

• Heuristik adalah sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namun dengan 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

• 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

(11)

Pada pencarian heuristik perlu diberikan informasi khusus, yaitu jumlah ubin yang menempati posisi yang benar.

Jumlah yang lebih tinggi adalah yang lebih diharapkan (lebih baik).

Untuk jumlah ubin yang menempati posisi yang salah Jumlah yang lebih kecil adalah yang diharapkan (lebih baik)

Generate and Test

• Gabungan dari Depth First Search dan backtracking, bergerak ke belakang menuju pada suatu keadaan awal.

• Algoritma :

1. Bangkitkan suatu kemungkinan solusi (membangkitkan suatu 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.

Contoh :

“Travelling Salesman

Problem (TSP)”

(12)

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. Kerjakan langkah-langkah berikut sampai solusinya ditemukan atau sampai tidak ada operator baru yang akan diaplikasikan pada keadaan sekarang :

• Cari operator yang belum digunakan; gunakan operator ini untuk mendapatkan keadaan yang baru.

• Evaluasi keadaan baru tersebut : – Jika keadaan baru merupakan tujuan, keluar

– Jika bukan tujuan, namun nilainya lebih baik daripada keadaan sekarang, maka jadikan keadaan baru tersebut menjadi keadaan sekarang.

– Jika keadaan baru tidak lebih baik daripada keadaan sekarang, maka lanjutkan iterasi.

• Pada

simple hill climbing

, ada 3 masalah

yang mungkin:

– Algoritma akan berhenti kalau mencapai nilai

optimum local

– Urutan penggunaan operator akan sangat

berpengaruh pada penemuan solusi

(13)

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.

– (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

6 3 . 2 ! 2 ! 2

! 4 )! 2 4 (! 2

! 4 4 )! 2 (! 2

!

   n

n

Steepest Ascent Hill Climbing

• Hampir sama dengan simple hill climbing,

(14)

A*

• Perbaikan dari metode Best-First search

dengan memodifikasi fungsi heuristiknya

• A* meminimumkan total biaya lintasan.

Pada kondisi yang tepat, A* akan

memberikan solusi yang terbaik dalam

waktu yang optimal.

• Fungsi Heuristik yang digunakan merupakan

prakiraan (estimasi)

cost

dari

initial state

ke

goal

state

, yang dinyatakan dengan :

f’(n) = g(n) + h’(n)

dimana :

f’ = Fungsi evaluasi

g =

cost

dari

initial state

ke

current state

h’ = perkiraan

cost

dari

current state

ke

goal

state

Contoh

(15)

Node

diekspansi Antrian OPEN

M C H

T

[M(6)] [C(2), A(3), B(4)] [H(2), A(3), B(4), I(~)] [T(0), A(3), B(4), L(~), I(~)]

[A(3), B(4), L(~) , I(~)]

Penelusuran dengan f’(n)=g(n)+h’(n) Node

diekspansi Antrian OPEN

M C H

T

[M(6)] [C(6), B(7), A(8)] [H(7), B(7), A(8), I(~)] [T(7), B(7), A(8), L(~), I(~)]

[B(7), A(8), L(~), I(~)]

Latihan – Blind Search

1. Diketahui gambar pohon berikut :

Implementasikan algoritma BFS dan

DFS untuk pohon diatas jila GOAL=J

S A B I D C J* H

E F G

Latihan – Hill Climbing

Carilah lintasan terpendek dari graph di

bawah dengan metode simple hill climbing

dan stepest hill climbing. Jika operator

yang digunakan hanya 4, yaitu (1,2), (2,3),

(3,4) dan (4,1)

Latihan – Best 1

st

Search & A*

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.

Gambar

gambar berikut. Node M merupakan keadaan awal dan node T merupakan tujuannya. Biaya edge yang menghubungkan node M dengan node A adalah biaya

Referensi

Dokumen terkait

Terangsang dengan baik pada motorik bawah sebelah kanan dan sebelah kiri. X.Pola

Hasil uji simulasi pada pencarian solusi pada puzzle 8, memberikan beberapa kesimpulan menarik yang diantaranya adalah, performa algoritma yang tidak memberikan solusi

• Jika simpul saudara sebelah kanan dari simpul yang kekurangan memiliki lebih dari jumlah minimum elemen, pilih median dari separator dan nilai dalam kedua simpul

 Jika X lebih kecil dari root, maka X harus diletakkan pada sub-tree sebelah kiri..  jika X lebih besar dari root, then X harus diletakkan pada sub-tree

Pada Gambar 3 pada kolom biru sebelah kiri menunjukkan bilangan hex pada media penyimpanan sedangkan kolom kanan menjelaskan tentang aktivitas penggunaan

◦ Membutuhkan memori yang cukup banyak, karena menyimpan semua node dalam satu pohon.. ◦ Membutuhkan waktu yang cukup lama, karena akan menguji n

Topografi : Kondisi topografi disekitar jembatan Ngrame II pada umumnya datar, sebelah kanan jembatan eksisting merupakan pemukiman penduduk, sedangkan sebelah kiri dari

• Pencarian diperkenankan mengunjungi node yang terdapat pada level yang lebih rendah jika ternyata node pada level yang lebih tinggi ternyata memiliki nilai heuristik yang