Anda di halaman 1dari 36

ARTIFICIAL

INTELLIGENCE
Lecturer : ZULFATUN NS, M.Kom
Yudharta University Of Pasuruan

1
2. Searching (Pencarian)

2
Definisi Masalah dalam Kecerdasan
Buatan
Untuk membangun suatu sistem yang mampu
menyelesaikan masalah, perlu di pertimbangkan 4
hal :
1. Mendefinisikan masalah dengan tepat
2. Menganalisis masalah tersebut serta mencari
beberapa hal teknik penyelesaian yang sesuai
3. Merepresentasikan pengetahuan yang perlu
untuk menyelesaikan masalah tersebut
4. Memilih teknik penyelesaian masalah yang
terbaik 3
Definisi Masalah dalam Kecerdasan
Buatan
Apa yang dimaksud dengan Masalah ?

“Kesenjangan antara yang diharapkan dengan


kenyataan yang ada”

Contoh :
Ingin makan enak, tapi kenyataanya tidak punya
makanan enak dan tidak punya uang yang
cukup
4
Definisi Masalah dalam Kecerdasan
Buatan
Masalah dalam kecerdasan buatan adalah masalah-
masalah yang dapat dikonversi ke dalam ruang
keadaan (ada yang menyebut sebagai ruang
masalah), mempunyai keadaan awal (initial state),
dan keadaan tujuan (goal state), serta dapat dibuat
aturan-aturan untuk mengubah suatu keadaan (state)
ke keadaan (state) lainnya.

5
Masalah, Ruang Keadaan, dan
Aturan
Hal-hal yang harus dilakukan untuk
mendeskripsikan masalah
1. Mendefinisikan suatu ruang keadaan
2. Menetapkan satu atau lebih keadaan
awal
3. Menetapkan satu atau lebih tujuan
(goal)
4. Menetapkan kumpulan aturan

6
Masalah, Ruang Keadaan, dan
Aturan
Ruang keadaan (State space), yaitu ruang yang
berisi semua keadan yang mungkin
Keadaan awal (Initial state), adalah keadaan
dimulainya sebuah pencarian
Keadaan akhir/tujuan (Goal), adalah keadaan
diakhirinya sebuah pencarian
Kumpulan aturan, adalah aturan yang dapat
digunakan untuk mengubah suatu keadaan (state)
ke keadaan (state) lainnya
7
Masalah, Ruang Keadaan, dan
Aturan
Masalah Gelas Air (Water Glass)
Ada dua buah gelas air masing-masing
berkapasitas 4 liter dan 3 liter yang
semula isi keduanya kosong. Pada
kedua gelas tersebut tidak terdapat
tanda ukuran batas volume. Ada sebuah
kran air yang digunakan untuk mengisi
air pada kedua gelas tersebut (Gambar
2.1). Bagaimana kita dapat mengisi
tepat 2 liter air pada gelas berkapasitas
4 liter dan 3 liter air pada gelas
berkapasitas 3 liter ? 8
Masalah, Ruang Keadaan, dan
Aturan
Deskripsi :
Misalkan : x = volume dari gelas 4 liter,
dan y = volume dari gelas 3 liter
Ruang keadaan untuk masalah ini dapat digambarkan
sebagai himpunan bilangan bulat (x,y) yang terurut : x 
{0, 1, 2, 3, 4 } x y 0 1 2 3

dan y  {0, 1, 2, 3} 0 (0,0) (0,1) (0,2) (0,3)

1 (1,0) (1,1) (1,2) (1,3)

2 (2,0) (2,1) (2,2) (2,3)

3 (3,0) (3,1) (3,2) (3,3)

4 (4,0) (4,1) (4,2) (4,3) 9


Masalah, Ruang Keadaan, dan
Aturan
Keadaan awal adalah kedua gelas dalam keadaan kosong, yang
dinyatakan sebagai (0,0)
Tujuan adalah x = 2 liter, yang dinyatakan sebagai (2,n) sembarang n
Kumpulan Aturan, untuk kasus ini, aturannya dapat ditulis :
1.Isi penuh gelas berkapasitas 4 liter.
jika keadaan sekarang (x<4), maka keadaan selanjutnya (4, y)
2.Isi penuh gelas berkapasitas 3 liter.
jika keadaan sekarang (y<3), maka keadaan selanjutnya (x,3)
3.Kosongkan gelas berkapasitas 4 liter.
jika keadaan sekarang x>0, maka keadaan selanjutnya (0, y)
4.Kosongkan gelas berkapasitas 3 liter.
10
jika keadaan sekarang y>0, maka keadaan selanjutnya (x, 0)
5. Tuangkan sebagian isi gelas berkapasitas 3 liter ke gelas
berkapasitas 4 liter hingga gelas berkapasitas 4 liter penuh. jika
keadaan sekarang (x + y >4) dan y > 0, maka keadaan selanjutnya (4,
y+x−4)
6.Tuangkan sebagian isi gelas berkapasitas 4 liter ke gelas
berkapasitas 3 liter hingga gelas berkapasitas 3 liter penuh. jika
keadaan sekarang (x + y >3) dan x > 0, maka keadaan selanjutnya ( y
+ x − 3, 3 )
7. Tuangkan seluruh isi gelas berkapasitas 4 liter ke gelas berkapasitas
3 liter. jika keadaan sekarang (x + y ≤ 3) dan x > 0, maka keadaan
selanjutnya ( 0, y + x)
8. Tuangkan seluruh isi gelas berkapasitas 3 liter ke gelas berkapasitas
4 liter. jika keadaan sekarang (x + y ≤ 4) dan y > 0, maka keadaan
11
selanjutnya ( y + x, 0)
Masalah, Ruang Keadaan, dan
Aturan
Sampai disini masalah sudah terdeskripsi dengan
baik, artinya kita sudah bisa menerapkan
pemrograman AI untuk menyelesaikan masalah
tersebut. Salah satu solusi dari permasalahan diatas
adalah

12
Representasi Ruang Keadaan

1. Graph Keadaan
2. Pohon Pelacakan
3. Pohon AND/OR

13
Representasi Ruang Keadaan
1. Graph Keadaan
Graph terdiri dari node-node yang menunjukkan keadaan
Node-node dalam graph keadaan dihubungkan
menggunakan arc (busur) yang diberi panah untuk
menunjukkan arah
Contoh = Sebuah graph berarah, node A sebagai keadaan
awal dan node Z sebagai Goal
B J K
D G
A Z
E
H

C
F 14
I
Representasi Ruang Keadaan
Pada gambar di atas, ada 4 lintasan dari A ke Z, yaitu :
• A-B-D-E-G-Z
• A-B-D-E-G-H-Z
• A-C-E-G-Z
• A-C-E-G-H-Z
Pada gambar di atas, ada lintasan yang menemui jalan buntu, yaitu
:
• A-B-D-E-G-J-K
• A-B-D-E-G-F-I
• A-C-F-I
• A-C-E-G-J-K
• A-C-E-G-F-I
Tanpa memperhitungkan arah, pada gambar di atas terdapat siklus
yaitu : C-E-G-F-C dan A-B-D-E-C-A
15
Representasi Ruang Keadaan
2. Pohon Pelacakan
Untuk menghindari adanya siklus maka struktur pohon digunakan
Struktur pohon digunakan untuk menggambarkan keadaan secara
hierarkis
Pohon terdiri dari beberapa node. Node yang terletak pada level-0
disebut node “akar’ yang menunjukkan keadaan awal
Node akar memiliki beberapa percabangan yang terdiri atas
beberapa node anak (successor) sebagai node-node perantara.
Namun, jika pencarian mundur dilakukan maka dapat dikatakan
bahwa node tersebut memiliki predecessor
Node-node yang tidak memiliki anak disebut node “daun” yang
menunjukkan akhir dari suatu pencarian, yang dapat berupa goal
tau jalan buntu (dead end) 16
Representasi Ruang Keadaan
Pada gambar di bawah ini sudah tidak terlihat lagi
adanya siklus karena setiap node tidak diperbolehkan
memiliki cabang kembali ke node dengan level yang
lebih rendah
Level-0
R A
B
C Level-1
4
5 Level-2
F E
5
E
D I G Level-3
z
G J F H Z
Level-4

J F H Z
K I Z Level-5

K I Z Level-6 17
Representasi Ruang Keadaan
3. Pohon AND/OR
Dengan menggunakan pohon AND/OR dapat
mempersingkat pelacakan, sehingga hanya
sampai level-2 saja
A Level-0

Level-1
B D E G C E G

Z Z
Level-2
H Z H Z
18
Searching, Sebagai Teknik
Pemecahan Masalah
Ada 4 hal yang harus dipertimbangkan dalam
mengembangkan sistem :
1. Mendefinisikan masalah dengan tepat.
Pendefinisian ini mencakup deskripsi masalah
dengan baik
2. Menganalisis masalah tersebut, serta mencari
beberapa teknik penyelesaian masalah yang sesuai
3. Merepresentasikan pengatahuan yang perlu untuk
menyelesaikan masalah tersebut
4. Memilih teknik penyelesaian masalah terbaik
19
Searching, Sebagai Teknik
Pemecahan Masalah
Teknik-teknik penyelesaian masalah :
• Searching (Pencarian)
• Reasoning (Penalaran)
• Planning (Memecah masalah ke dalam sub
masalah yang lebih kecil)
• Learning (program komputer yang secara
otomatis sanggup belajar dan meningkatkan
performance-nya melalui pengalaman)

20
Searching, Sebagai Teknik
Pemecahan Masalah
Pemecahan masalah dengan menggunakan
searching akan lebih mudah bila objeknya
direpresentasikan sebagai graph.
1. Buat representasi objek masalah sebagai
simpul dalam graph
2. Buat representasi hubungan antar objek
dengan garis yang menghubungkan simpul-
simpul tersebut
3. Setiap simpul dalam graph dikunjungi secara
sistematis (traverse)
21
Metode Searching
Teknik Searching dibagi 2 kelompok:
1. Pencarian Buta (Blind Search)
2. Pencarian Terbimbing (Heuristic Search)
Kriteria untuk mengukur performa metode pencarian (Russel, Stuart
and Novrig, Peter, 1995) yaitu:
1. Completeness : Apakah menjamin solusi, jika solusinya ada?
2. Time Complexity : Berapa lama waktu yang diperlukan untuk
menemukan solusi?
3. Space Complexity : Berapa banyak memori yang diperlukan
untuk menemukan solusi?
4. Optimality : Apakah menjamin menemukan solusi terbaik, jika
terdapat beberapa solusi berbeda? 22
Pencarian Buta (Blind Search) atau
Un-Informed Search
Pencarian Melebar Pertama (Breadth-First
Search)

Pada metode BFS semua node pada level n akan


dikunjungi terlebih dahulu sebelum mengunjungi
node-node pada level n+1. Pencarian dilakukan
dari node akar, terus ke level-1 dari kiri ke kanan
dst.

23
Pencarian Buta (Blind Search) atau
Un-Informed Search
Langkah-langkah algoritma BFS:
1. Masukkan node akar ke dalam Queue
2. Ambil node dari awal Queue, lalu cek apakah node
merupakan solusi
3. Jika node merupakan solusi, pencarian selesai dan hasil
dikembalikan
4. Jika bukan solusi, masukkan seluruh node anak ke
dalam Queue
5. Jika Queue kosong dan setiap node sudah dicek,
pencarian selesai
6. Jika Queue tidak kosong, ulangi pencarian dari poin 2 24
Pencarian Buta (Blind Search) atau
Un-Informed Search
Keuntungan :
Menjamin ditemukannya solusi yang paling baik
(Complete dan Optimal)
Kelemahan :
1. Membutuhkan memori yang cukup banyak,
karena menyimpan semua node dalam satu
pohon
2. Membutuhkan waktu yang cukup lama,
karena akan menguji n level untuk
mendapatkan solusi pada level yang ke
(n+1) 25
Pencarian Buta (Blind Search) atau
Un-Informed Search
Analisis Ruang dan Waktu
1. Diasumsikan :
• Ada satu solusi (1 tujuan ditemukan) pada pohon
• Pohon pelacakan memiliki cabang yang selalu sama, yaitu sebanyak 𝑏
• Tujuan dicapai pada level ke-𝑑
• Tujuan dicapai pada pertengahan pohon (kondisi rata-rata)
2. Analisis Ruang
• Antrian pertama memiliki 1 keadaan
• Setelah mencapai langkah pertama, antrian akan berisi 𝑏 keadaan
• Pemrosesan setiap 𝑏 keadaan pada level ke-0 akan menambahkan 𝑏
keadaan lagi pada antrian
• Sehingga setelah dilakukan pemrosesan semua keadaan pada level ke-𝑑,
maka antrian akan menyimpan keadaan sebanyak 𝑏 𝑑−1
• Karena diasumsikan bahwa tujuan terletak di tengah, maka antrian26akan
𝑑−1 Τ
menyimpan 𝑏 2 keadaan
Pencarian Buta (Blind Search) atau
Un-Informed Search
3. Analisis Waktu
• Ukuran waktu di sini diambil dari banyaknya keadaan
yang dikunjungi. Jika diasumsikan bahwa setiap node
membutuhkan waktu yang sama dalam pemrosesan,
maka :
Waktu = waktu untuk memproses node-node di ke-1 +
waktu untuk memproses node-node di
ke-2 + … + waktu untuk memproses
node-node di ke-(𝑑 − 1) + waktu untuk
memproses node-node di ke-(𝑑)/2
= 1 + 𝑏 + 𝑏 2 + 𝑏 3 + ⋯ + 𝑏 𝑑−1 + 𝑏 𝑑 Τ2
= 𝑂 𝑏𝑑

27
Pencarian Buta (Blind Search) atau
Un-Informed Search
Misal diketahui pohon pelacakan (gambar
berikut). Implementasikan algoritma BFS
untuk mencari solusi dari node awal (Start) S
sampai node G (Goal) S

A B

C D E F

H G 28
Pencarian Buta (Blind Search) atau
Un-Informed Search
• Implementasi BFS pada masalah water
glass

Diketahui :
Keadaan awal : (0,0)
Tujuan (Goal) : (1,0)

29
Pencarian Buta (Blind Search) atau
Un-Informed Search
• Pencarian Mendalam Pertama (Depth-First
Search)

Pada metode DFS, pencarian akan dilakukan


pada semua anaknya sebelum dilakukan
pencarian ke node-node yang selevel. Pencarian
dimulai dari node akar ke level yang lebih tinggi.
Proses ini diulang hingga ditemukannya Goal

30
Pencarian Buta (Blind Search) atau
Un-Informed Search
Langkah-langkah algoritma DFS:
1. Masukkan node akar ke dalam Stack
2. Ambil node dari awal Stack, lalu cek apakah
node merupakan solusi
3. Jika node merupakan solusi, pencarian selesai
dan hasil dikembalikan
4. Jika bukan solusi, masukkan seluruh node anak
ke dalam Stack
5. Jika Stack kosong dan setiap node sudah dicek,
pencarian selesai 31
6. Ulangi pencarian mulai dari poin 2
Pencarian Buta (Blind Search) atau
Un-Informed Search
Keuntungan algoritma DFS:

1. Membutuhkan memori yang relatif kecil,


karena hanya node-node pada lintasan yang
aktif saja yang disimpan
2. Secara kebetulan, metode DFS akan
menemukan solusi tanpa harus menguji lebih
banyak lagi dalam ruang keadaan

32
Pencarian Buta (Blind Search) atau
Un-Informed Search
Kelemahan algoritma DFS:

1. Memungkinkan tidak ditemukannya tujuan


yang diharapkan
2. Hanya akan mendapatkan 1 solusi pada
setiap pencarian

33
Pencarian Buta (Blind Search) atau
Un-Informed Search
Analisis Ruang dan Waktu
1. Analisis Ruang
• Setelah berjalan 1 langkah, stack akan berisi 𝑏 node
• Setelah berjalan 2 langkah, stack akan berisi 𝑏 − 1 + 𝑏 node
• Setelah berjalan 3 langkah, stack akan berisi 𝑏 − 1 + 𝑏 − 1 + 𝑏 node
• Setelah berjalan 𝑑 langkah, stack akan berisi 𝑏 − 1 ∗ 𝑑 + 1 node
2. Analisis Waktu
• Pada kasus terbaik, depth-first search akan mencapai tujuan pada
kedalaman d pertama, sehingga dibutuhkan pencarian sebanyak 𝑑 + 1
node
• Pada kasus terburuk, depth-first search akan mencapai tujuan pada
kedalaman 𝑑 pada node terakhir, sehingga dibutuhkan pencarian sebanyak
: 1 + 𝑏 + 𝑏 2 + 𝑏 3 + ⋯ + 𝑏 4 = 𝑏𝑑+1 − 1 Τ 𝑏 − 1
34
Pencarian Buta (Blind Search) atau
Un-Informed Search
Misal diketahui pohon pelacakan (gambar berikut).
Implementasikan algoritma DFS untuk mencari
solusi dari node awal (Start) S sampai node G
(Goal) S

A B

C D E F

35
H G
Pencarian Buta (Blind Search) atau
Un-Informed Search
• Implementasi DFS pada masalah water
glass

Diketahui :
Keadaan awal : (0,0)
Tujuan (Goal) : (1,0)

36

Anda mungkin juga menyukai