PERTEMUAN 3
Pencarian dan pelacakan
Dalam Kecerdasan Buatan
Pendahuluan
Terdapat banyak metode yang telah diusulkan. Semua metode yang ada dapat dibedakan ke
dalam 2 jenis :
Pencarian buta / tanpa informasi (blind / un-informed search)
Pencarian heuristik / dengan informasi (heuristic atau informed search)
Setiap metode mempunyai karakteristik yang berbeda-beda dengan kelebihan dan kekurangan
masing-masing.
Untuk mengukur performansi metode pencarian, terdapat 4 kriteria yang digunakan :
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 yang berbeda ?
Heuristic Searching Sebagai Dasar dari AI
Para peneliti awal kecerdasan buatan menitik beratkan pada penyelesaian masalah yang
tidak menggunakan metoda komputasi konvensional, hal ini disebabkan metoda
pemecahan masalah konvensional tidak dapat lagi digunakan.
Permasalahan pada sistem kecerdasan buatan tidak memiliki algoritma tertentu,
kalaupun ada tentulah sangat kompleks. Karena itu haruslah ditemukan sebuah teknik
baru yang mirip dengan cara yang digunakan oleh manusia untuk menyelesaikan
masalah dan dapat diimplementasikan pada komputer.
Salah satu metoda yang cukup terkenal adalah metoda searching.
Searching dalam sebuah struktur data telah menjadi dasar bagi algoritma komputer,
tetapi proses searching pada kecerdasan buatan memiliki perbedaan.
Metoda searching pada kecerdasan buatan merupakan searching terhadap problem space
bukan searching data (e.g., angka, karakter, string) tertentu
Proses searching ini berupa jalur yang menggambarkan keadaan awal sebuah masalah
menuju kepada penyelesaian masalah yang diinginkan (i.e., the solved problem).
Jalur-jalur ini mengambarkan langkah-langkah penyelesaian masalah.
Melalui proses searching menuju sebuah penyelesaian akan terbentuk sebuah solution
space.
Perhatikan contoh penyelesaian masalah komputer pada Gambar 1.4.
Langkah pertama untuk mengetahui apakah komputer dapat digunakan atau tidak adalah
men-switch ON.
Selanjutnya dengan melakukan inspeksi terhadap kondisi lampu indikator kita dapat
menentukan langkah berikutnya.
Misalnya kondisi lampu OFF.
Dengan melakukan searching terhadap problem space kita akan tiba pada sebuah
penyelesaian masalah agar komputer dapat diaktifkan kembali.
BLIND / UN-INFORMED SEARCH
Istilah blind atau buta digunakan karena memang tidak ada informasi awal yang digunakan
dalam proses pencarian.
Berikut ini, 2 metode yang tergolong blind search yang paling sering digunakan
a. Breadth-First Search (BFS)
b. Depth-First Search (DFS)
Breadth-first Search (BFS)
Breadth-first search (BFS) melakukan proses searching pada semua node yang
berada pada level atau hirarki yang sama terlebih dahulu sebelum melanjutkan proses
searching pada node di level berikutnya.
Urutan proses searching BFS ditunjukkan dalam Gambar 1.6 adalah: A,B,C,D,E,F,
Kelebihan dan kelemahan BFS
Tidak akan menemui jalan buntu
Menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi yang ditemukan
pasti yang paling baik
Jika ada satu solusi maka bread-first search akan menemukannya
Membutuhkan memori yang cukup banyak
Membutuhkan waktu yang cukup lama
Depth-first Search (DFS)
Depth-first search (DFS) adalah proses searching sistematis buta yang melakukan ekpansi
sebuah path (jalur) menuju penyelesaian masalah sebelum melakukan ekplorasi terhadap
path yang lain.
Proses searching mengikuti sebuah path tunggal sampai menemukan goal atau dead end.
Apabila proses searching menemukan dead-end, DFS akan melakukan penelusuran balik ke
node terakhir untuk melihat apakah node tersebut memiliki path cabang yang belum
dieksplorasi.
Apabila cabang ditemukan, DFS akan melakukan cabang tersebut.
Apabila sudah tidak ada lagi cabang yang dapat dieksplorasi, DFS akan kembali ke node
parent dan melakukan proses searching terhadap cabang yang belum dieksplorasi dari node
parent sampai menemukan penyelesaian masalah.
Urutan proses searching DFS ditunjukkan dalam Gambar 1.5 adalah: A, B, E, F, G, C, ...
Kelebihan dan kelemahan DFS
Pemakaian 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.
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).
Pencarian Heuristik
Pencarian buta tidak selalu dapat diterapkan dengan baik
Waktu aksesnya yang cukup lama
Besarnya memori yang diperlukan
Metode heuristic search diharapkan bisa menyelesaikan permasalahan yang
lebih besar.
Metode heuristic search menggunakan suatu fungsi yang menghitung biaya
perkiraan (estimasi) dari suatu simpul tertentu menuju ke simpul tujuan ➔
disebut fungsi heuristic
Aplikasi yang menggunakan fungsi heuristic : Google
Pencarian Heuristik
Contoh pada masalah 8 puzzle
Tujuan
1 2 3 1 2 3
8 4 7 8 4
7 6 5 6 5
kiri atas
kanan
1 2 3 1 2 3 1 2 3
7 8 4 7 8 4 7 4
6 5 6 5 6 8 5
h=6 h=4 h=5
Informasi yang bisa diberikan
Untuk jumlah ubin yang menempati posisi yang salah jumlah yang lebih kecil
adalah yang diharapkan (lebih baik).
Tujuan
1 2 3 1 2 3
8 4 7 8 4
7 6 5 6 5
kiri atas
kanan
1 2 3 1 2 3 1 2 3
7 8 4 7 8 4 7 4
6 5 6 5 6 8 5
h=2 h=4 h=3
Informasi yang bisa diberikan
Menghitung total gerakan yang diperlukan untuk mencapai tujuan jumlah
yang lebih kecil adalah yang diharapkan (lebih baik).
Tujuan
1 2 3 1 2 3
8 4 7 8 4
7 6 5 6 5
kiri atas
kanan
1 2 3 1 2 3 1 2 3
7 8 4 7 8 4 7 4
6 5 6 5 6 8 5
h=2 h=4 h=4