Tugas KCB Searching

8

Click here to load reader

Transcript of Tugas KCB Searching

Page 1: Tugas KCB Searching

TUGAS MATA KULIAH KECERDASAN BUATAN

1. JUDUL2. PENGERTIAN

Searching dalam AI disini memiliki arti yaitu suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space). Searching merupakan penentu keberhasilan sistem cerdas. Searching disini tidak hanya mencari sesuatu yang teradapat dalam sebuah array, tetapi solusi terbaik diantara berbagai solusi yang ada sehingga solusi yang didapat adalah solusi yang memang dirasa paling baik. Sebagai contoh kasus misalnya, kita ingin mengambil handphone di tengah-tengah sebuah karpet yang diatasnya tidak terdapat apa-apa di dalam suatu ruangan. Artinya di dalam suatu ruangan tergeletak sebuah karpet dan sebuah handphone. Bagaimana kita bisa mengambil handphone tersebut tanpa menyentuh karpet bagian atas? Mungkin diantara kita ada yang berpikir mengambil handphone tersebut dengan menggunakan kayu sebagai pengambil. Itu mungkin saja terjadi. Tapi bagaimana jika kayu tersebut tidak ada dalam ruangan tersebut? Solusi yang terbaik adalah dengan menggulung karpet tersebut. Sehingga lama-kelamaan handphne tersebut dapat kita ambil. Seperti itulah contoh kasus dalam AI meskipun contoh tadi bukanlah contoh kasus untuk sistem AI. Tapi disini ingin ditekankan bahwa kasus yang diahadapi oleh sistem AI adalah kasus yang memiliki berbagai macam kemungkinan solusi dan teknik penyelesaian atau solusinya haruslah merupakan solusi yang terbaik diantara solusi yang ada. Terdapat berbagai macam metode pencarian searching yang ada. Semua metode tadi dapat dikelompokkan ke dalam dua jenis yaitu pencarian buta/tanpa informasi (blind atau un-informed search) yang berarti tidak ada informasi awal yang digunakan dan pencarian heuristic/dengan informasi (heuristic atau informed search) yang artinya adanya informasi awal yang digunakan dalam melakukan pencarian. Setiap metode pencarian memiliki kelemhan dan kelebihan masing-masing. Untuk mengukur perfomansi metode pencarian, terdapat empat kriteria yang dapat digunakan yaitu:

1. Completeness : apakah metode tersebut menjamin penemuan solusi jika solusinya memang ada ?

2. Time complexity : berapa lama waktu yang diperlukan ?3. Space complexity : berapa banyak memori yang diperlukan ?4. Optimality : apakah metode tersebut menjamin menemukan solusi yang

terbaik jika terdapat beberapa solusi berbeda ?

Contoh yang termasuk Blind/Un-inforned Search adalah Breadth First Search (BFS), Depth First Search (DFS), DLS, UCS, IDS dan BDS. Sedangkan yang termasuk Heuristic atau Informed Search adalah Hill Climbing, Best First Search, Greedy Best First Search dan A*. Setiap metode pencarian memiliki kelemahan dan kelebihannya masing-masing. Samapai saat ini tidak ada satupun metode pencarian yang memenuhi keempat kriteria tadi sekaligus.

Ada 2 macam Teknik pencarian yaitu:

Page 2: Tugas KCB Searching

1. Metode pencarian buta/tanpa informasi (Blind search/Un-Informed Search)a.  Breadth First Search (BFS)

Prosedur Breadth First Search merupakan pencarian yang dilakukan dengan mengunjungi tiap-tiap node secara sistematis pada setiap level hingga keadaan tujuan (goal state) ditemukan. atau hingga ditemukan goal state-nya.Untuk lebih jelasnya, perhatikan ilustrasi dari Breadth First Search pada gambar berikut:

GAMBAR: Teknik pencarian Breadth First Search

Pengimplementasian Breadth First Search dapat ditelusuri dengan menggunakan daftar (list),open, dan closed, untuk menelusuri gerakan pencarian di dalam ruang keadaan. Prosedur untukBreadth First Search dapat dituliskan sebagai berikut:

Procedure breadth first searchBegin

Open := [start]

Closed := []

While open = [] do

Begin

Remove leftmost state from open, call it x

If x is goal then return SUCCESS

Page 3: Tugas KCB Searching

Else

Begin

Generate children of x;

Put x on closed;

discard children of x is already on open or

closed;

put remaining children on right end of open;

End;

End

return FAIL

End.

Ada beberapakeuntungan menggunakan algoritma Breadth First Search yaitu:1) tidak akan menemui jalan buntu2) jika ada satu solusi maka Breadth First Search akan menemukannya, jika

ada lebih dari satu solusi maka solusi minimum akan ditemukan.Ada tiga kekurangan utama menggunakan Breadth First Search yaitu:

1) Membutuhkan memori yang lebih besar, karena menyimpan semua node dalam satu pohon.

2) Membutuhkan waktu yang cukup lama, karena menguji  n level untuk mendapatkan solusi pada level yang ke-(n+1)

3) Tidak relevannya operator akan menambah jumlah node yang harus diperiksa.b. Depth First Search (DFS)

Pencarian dengan metode ini dilakukan dari node awal secara mendalam hingga yang paling akhir (dead-end) atau sampai ditemukan. Dengan kata lain, simpul cabang atau anak yang terlebih dahulu dikunjungi.

Page 4: Tugas KCB Searching

GAMBAR: Teknik pencarian Depth First Search

Kelebihan Depth First Search adalah:1) cepat mencapai kedalaman ruang pencarian.2) Membutuhkan memori relatif kecil, karena hanya node – node pada lintasan

yang aktif  saja yang disimpan.3) Secara kebetulan, metode ini akan menemukan solusi tanpa harus menguji

lebih banyak4) jauh lebih efisien untuk ruang pencarian dengan banyak cabang karena tidak

perlu mengeksekusi semua simpul pada suatu level tertentu pada daftar open.

Kekurangan Deft First Search adalah:1) jika pohin yang di bangkitkan mempunyai level yang dalam (tak terhingga),

maka tidak ada jaminan untuk menemukan solusi(tidak complete)2) 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).

Modifikasi proses Breadth First Search menjadi:

Page 5: Tugas KCB Searching

2. Metode pencarian Heuristic/denagan Informasi (Heuristic atau Informed Search )

Procedure depth first searchBegin

Open := [start]

Closed := []

While open = [] do

Begin

Remove leftmost state from open, call it x

If x is goal then return SUCCESS

Else

Begin

Generate children of x;

Put x on closed;

discard children of x is already on open or

closed;

put remaining children on left end of open;

End;

End

return FAIL

End.

Page 6: Tugas KCB Searching

Merupakan teknik yang digunakan untuk meningkatkan efisiensi dari proses pencarian. Dalam pencarian state space, heuristik adalah aturan untuk memilih cabang-cabang yang paling mungkin menyebabkan penyelesaian permasalahan dapat diterima.Metode Pencarian Heuristik ada 4 macam yaitu:

1. Generate and Test (Pembangkit dan Pengujian)2. Hill Climbing (Pendakian Bukit)3. Best First Search (Pencarian Terbaik Pertama)4. Simulated Annealing

1. Generate and Test (Pembangkit dan Pengujian)a. Pengabungan antara depth first search dengan pelacakan mundur

(backtracking)b. Nilai Pengujian berupa jawaban ‘ya’ atau ‘tidak’.c. Jika pembangkit possible solution dikerjakan secara sistimatis, maka

prosedur akan mencari solusinya, jika ada.2.  Hill Climbing (Pendakian Bukit)

a. Hampir sama Generate and Test, perbedaan terjadi pada feedback dari prosedur test untuk pembangkitan keadaan berikutnya.

b. Tes yang berupa fungsi heuristik akan menunjukkan seberapa baik nilai terkaan yang diambil terhadap keadaan lain yang mungkin

3.  Simulated Annealing (SA)a. SA memanfaatkan analogi antara cara pendinginan dan pembekuan

metal menjadi sebuah struktur crystal dengan energi yang minimal (proses penguatan) dan proses pencarian untukstate tujuan minimal

b. SA lebih banyak menjadi jebakan pada local minimal.c. SA berusaha keluar dari jebakan minimum local.

4.  Best First Search (Pencarian Terbaik Pertama)a. Metode yang membangkitkan suksesor dengan mempertimbangkan

harga (didapat dari fungsi heuristik tertentu) dari setiap node.b. Kombinasi dari BFS dan DFSc. Pencarian dilakukan dengan melihat satu lintasan, dan memungkinkan

untuk berpindah ke lintasan lain.

5. FORMULASI6. STUDI KASUS7. KESIMPULAN