Anda di halaman 1dari 16

TUGAS KELOMPOK

KELAS : C

Nama Kelompok :
1. RIFQI RAHMATIKA AZ-ZAHRA (12650112)
2. LUVY LUTHFINA (12650115)
3. AGUS MINANUR ROHMAN (12650118)

A. METODE PENCARIAN BUTA (BLIND SEARCHING METHOD)

1) Metode Breadth-First Search
Salah satu contoh permasalahan ruang keadaan yang dibahas adalah masalah
petani, kambing, serigala, dan sayur-sayuran yang sering juga disebut dengan
Farmers Problem. Ilustrasi dari permasalahan ini adalah sebagai berikut :
Seorang petani akan menyeberangkan seekor kambing, seekor serigala, dan sayur-
sayuran dengan sebuah rakit melalui sungai.
Rakit hanya bisa memuat petani dan satu penumpang yang lain (kambing,
serigala, atau sayur-sayuran).
Jika ditinggalkan oleh petani tersebut, maka sayur-sayuran akan dimakan oleh
kambing dan kambing akan dimakan oleh serigala.

Penyelesaian :
Definisikan ruang masalah, keadaan awal (initial strate) dan keadaan tujuan
(goal state).
Keadaan awal (start state)
Daerah kiri = (1,1,1,1).
Daerah kanan = (0,0,0,0).
Posisi rakit berada di kiri.
Artinya, terdapat kambing, petani, serigala, dan sayur-sayuran di daerah kiri.
Keadaan tujuan (goal state) :
Daerah kiri = (0,0,0,0).
Daerah kanan = (1,1,1,1)
Posisi rakit berada di kanan.
Artinya, terdapat kambing, petani, serigala, dan sayur-sayuran di daerah kanan.
Definisikan aturan produksi
Mendefinisikan aturan produksi yang berlaku, mendefinisikan Variabel, Aturan
(rule), dan strategi kontrol.

Variabel ID Nama Variabel Bisa Mengemudikan Rakit (Driver)
P Petani Ya
K Kambing Tidak
S Serigala Tidak
SY Sayur-sayuran Tidak

No. Kontrol
1. Kambing akan memakan Sayur-sayuran Petani tidak berada di tempat .
2. Serigala akan memakan Kambing apabila Petani tidak berada di tempat.

Aksi Ke- Aturan
1 Petani dan Kambing menyeberang
2 Petani dan Serigala menyeberang
3 Petani dan Sayur-sayuran menyeberang
4 Petani dan Kambing kembali
5 Petani dan Serigala kembali
6 Petani dan Sayur-sayuran kembali
7 Petani kembali

Memilih metode pencarian yang tepat
Metode pencarian yang dipergunakan yaitu metode pencarian buta (Blind Search)
yaitu :

Tabel Solusi Metode Breadth-First Search(BFS).
Daerah
Kiri
Aksi
Posisi
Rakit
Daerah
Kanan
(1,1,1,1) - Kiri (0,0,0,0)
(0,0,1,1) Aksi ke-1(Petani dan Kambing menyeberang) Kanan (1,1,0,0)
(0,1,1,1) Aksi ke-7(Petani kembali) Kiri (1,0,0,0)
(0,0,0,1) Aksi ke-2(Petani dan Serigala menyeberang) Kanan (1,1,1,0)
(1,1,0,1) Aksi ke-4(Petani dan Kambing kembali) Kiri (0,0,1,0)
(1,0,0,0) Aksi ke-3(Petani dan Sayuran menyeberang) Kanan (0,1,1,1)
(1,1,0,0) Aksi ke-7(Petani kembali) Kiri (0,0,1,1)
(0,0,0,0) Aksi ke-1(Petani dan Kambing menyeberang) Kanan (1,1,1,1)




2) CONTOH KASUS MENCARI JALAN DARI A KE F DENGAN
MENGGUNAKAN DEPTH FIRST SEARCH

Gambar 2.1 Depth First Search
a. Pertama dimulai dengan titik A, dengan menggunakan 2 istilah yaitu open dan
closed yang artinya open menyatakan titik yang belum dilacak, sedangkan closed
menyatakan titik yang sudah pernah dilacak.

Gambar 2.2 Titik A
Open : A
Closed : <kosong>
b. Awal penelusuran dengan mengecek titik A, terdapat 2 titik baru yang berhubungan
dengan titik A. Titik tersebut adalah Titik B dan C.

Gambar 2.3 Open Titik B dan C
Open : B, C
Closed : A
c. Penelusuran dimulai dengan titik B dan mengecek apakah B adalah F. Jika bukan
maka dilakukan penelusuran terhadap titik B. Titik D dan E merupakan titik yang
berhubungan dengan B.

Gambar 2.4 Open Titik D dan E
Open : D, E, C
Closed : A, B
d. Kemudian dilakukan pengecekan terdapat titik D dan masih belum menemukan titik
F.

Gambar 2.5 Open Titik E dan C
Open : E, C
Closed : A, B, D
e. Pelacakan dilanjutkan dengan titik E, Titik E terdapat 2 cabang baru yaitu F dan G.

Gambar 2.6 Open Titik F dan G
Open : F, G, C
Closed : A, B, D, E
f. Pada penelusuran berikutnya ternyata terdapat titik F. Maka, pencarian juga
dihentikan

Gambar 2.7 Titik F ditemukan
Open : G, C
Closed : A, B, D, E, F

Teknik ini dapat mengimplementasikan menggunakan TREE-SEARCH dengan
antrian lost in first out (LIFO) atau menggunakan fungsi rekursif. Depth First Search
memiliki persyaratan memori yang sederhana. Teknik ini hanya perlu menyimpan titik
yang dijelajahi dan juga titik yang belum dijelajahi. Setelah dipelajari maka titik tersebut
dihapus dari memori.
Penelusuran titik pada tree tersebut dapat dimulai dari sebelah kanan ataupun
sebelah kiri. Pada umumnya untuk implementasi pada mobile robot digunakan prinsip
pengambilan keputusan untuk selalu mengambil jalur atau titik di sebelah kiri ataupun
selalu mengambil jalur atau titik di sebelah kanan sampai mencapai titik yang
diinginkan.
Jika faktor percabangan dari sebuah tree adalah b dan maximum depth adalah m,
maka Depth First Search memerlukan besar penyimpanan b * m + 1 titik. Kekurangan
Depth First Search adalah pengambilan titik yang dapat menyebabkan buntu atau titik
yang akan menuju titik yang tidak ada akhirnya sedangkan jika mengambil titik yang lain
akan lebih cepat menemukan goal.

B. Metode Heuristic Searching
1) Generate-and-Test
Metode Generate-and-Test adalah metode yang paling sederhana dalam pencarian
heuristic. Jika pembangkitan possible solution dikerjakan secara sistematis, maka
prosedur akan mencari solusinya, jika ada. Tetapi jika ruang masalahnya sangat
luas, mungkin memerlukan waktu yang sangat lama.

Algoritma Generate-and-Test adalah prosedur DFS karena solusi harus
dibangkitkan secara lengkap sebelum dilakukan test. Algoritma ini berbentuk
sistematis, pencarian sederhana yang mendalam dari ruang permasalahan.
Generate & test juga dapat dilakukan dengan pembangkitan solusi secara acak,
tetapi tidak ada jaminan solusinya akan ditemukan.

Langkah Algoritma :
1. Menghasilkan solusi yang mungkin. Untuk beberapa masalah, berarti
menghasilkan titik tertentu dalam suatu ruang masalah. Atau yang lainya,
berarti menghasilkan jalur dari keadaan awal.
2. Test untuk melihat apakah ini sebenarnya adalah sebuah solusi dengan
membandingkan titik dipilih atau titik akhir dari jalan yang dipilih untuk set
goal states yang dapat diterima.
3. Jika solusi telah ditemukan, berhenti. Jika tidak, kembali ke langkah 1.

Contoh kasus :
Simple Hil Climbing bisa digunakan untuk menyelesaikan kasus Traveling
Salesman Problem, untuk mencari rute terpendek sehingga bisa meminimalkan
biaya kerja.
Semisal terdapat kota-kota berikut ini (A, B, C) dengan jarak antar kota sebagai
berikut :

Kota Asal Kota Tujuan Jarak
A B 8
A C 3
B C 5
Penyelesaian
Dengan mencoba semua kemungkinan rute dan mencari jarak terpendek :
Jumlah kemungkinan rute n! = 3! = 6

No Rute Panjang Lintasan Rute Dipilih Panjang Lintasan Dipilih
1 ABC 13 ABC 13
2 ACB 8 ACB 8
3 BAC 11 ACB 8
4 BCA 8 ACB/BCA 8
5 CBA 13 ACB/BCA 8
6 CAB 11 ACB/BCA 8

Solusi
Solusi yang didapat dari metode Generate and Test didapatkan :
Rute terpendek = ACB atau BCA dengan nilai 8

2) Metode Simple Hill Climbing
Metode ini hampir sama dengan metode Generate-and-Test, hanya saja proses
pengujian dilakukan dengan menggunakan fungsi heuristik. Pembangkitan
keadaan berikutnya sangat tergantung pada feedback dari prosedur pengetesan.
Tes yang berupa fungsi heuristic ini akan menunjukkan seberapa baiknya nilai
terkaan yang diambil terhadap keadaan-keadaan lainnya.

Algoritma:
1. Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka
berhenti; dan jika tidak, lanjutkan dengan keadaan sekarang sebagai keadaan
awal.
2. Kerjakan langkah-langkah berikut sampai solusinya ditemukan, atau sampai
tidak ada operator baru yang akan diaplikasikan pada keadaan sekarang:
Cari operator yang belum pernah 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 ini, ada 3 masalah yang mungkin, yaitu:
1. Algoritma akan berhenti kalau mencapai nilai optimum lokal.
2. Urutan penggunaan operator akan sangat berprngaruh pada penemuan solusi.
3. Tidak diijinkan untuk melihat satupun langkah sebelumnya.

Contoh kasus :
Simple Hil Climbing bisa digunakan untuk menyelesaikan kasus Traveling Salesman
Problem, untuk mencari rute terpendek sehingga bisa meminimalkan biaya kerja.
Semisal terdapat kota-kota berikut ini (A,B,C,D) dengan jarak antar kota sebagai
berikut :

Kota Asal Kota Tujuan Jarak
A B 8
A C 3
A D 7
B C 5
B D 4
C D 6

Keadaan Awal ABCD = 19
Operator yang akan kita gunakan, adalah menukar urutan posisi 2 kota dalam suatu
lintasan. Apabila ada n kota, dan kita ingin mencari kombinasi lintasan dengan
menukar posisi urutan 2 kota, maka kita akan mendapatkan sebanyak :
n!
2t(n-2)!

Sehingga kalau ada 4 kota, kita bisa memperoleh :
kombinasi.
Keenam kombinasi ini akan kita pakai semuanya sebagai operator, yaitu:
1. Tukar 1, 2 (menukar urutan posisi kota ke-1 dengan kota ke-2).
2. Tukar 2, 3 (menukar urutan posisi kota ke-2 dengan kota ke-3).
3. Tukar 3, 4 (menukar urutan posisi kota ke-3 dengan kota ke-4).
4. Tukar 4, 1 (menukar urutan posisi kota ke-4 dengan kota ke-1).
5. Tukar 2, 4 (menukar urutan posisi kota ke-2 dengan kota ke-4).
6. Tukar 1, 3 (menukar urutan posisi kota ke-1 dengan kota ke-3).

Langkah Manual :

No Level Rute Bobot Kondisi Lebih Kecil ? Current State ?
1 Akar ABCD 19 - Ya
2 1 BACD 17 17 < 19 Ya Ya
3 2 BCAD 15 15 < 17 Ya Ya
4 3 CBAD 20 20 > 15 Tidak Tidak
5 3 BCDA 18 18 > 15 Tidak Tidak
6 3 DCAB 17 17 > 15 Tidak Tidak
7 3 BDAC 14 14 < 15 Ya Ya
8 4 DBAC 15 15 > 14 Tidak Tidak
9 4 BADC 21 21 > 14 Tidak Tidak
10 4 BDCA 13 13 < 14 Ya Ya
11 5 DBCA
(SOLUSI)
12 12 < 13 Ya Ya
12 6 DCBA 19 19 > 12 Tidak Tidak
13 6 DBAC 15 15 > 12 Tidak Tidak
14 6 DACB 15 15 > 12 Tidak Tidak
15 6 CBDA 16 16 > 12 Tidak Tidak

Solusi
Hasil akhir dari penggunaan metode Simple Hill Climbing untuk
menyelesaikan masalah diatas didapatkan jalur terpendek DBCA dengan
Bobot 12

3) Steepest Ascent Hill Climbing
Steepest Ascent Hill Climbing sebenarnya hampir sama dengan simple hill climbing,
hanya saja gerakan pencarian tidak dimulai dari posisi paling kiri. Gerakan
selanjutnya dicari berdasarkan nilai heuristic terbaik. Dalam hal ini urutan
penggunaan operator tidak menentukan penemuan solusi.

Algoritma:
1. Mulai dari keadaan awal, lakukan pengujian: jika merupakan tujuan, maka
berhenti; dan jika tidak, lanjutkan dengan keadaan sekarang sebagai
keadaan awal.
2. Kerjakan hingga tujuan tercapai atau hingga iterasi tidak memberikan
perubahan pada keadaan sekarang.
Tentukan succ sebagai nilai heuristik terbaik dari successor-successor.
Kerjakan untuk tiap operator yang digunakan oleh keadaan sekarang:
- Gunakan operator tersebut dan bentuk keadaan baru.
- Evaluasi keadaan baru tersebut. Jika merupakan tujuan, keluar.
- Jika bukan, bandingkan nilai heuristiknya dengan succ. Jika lebih baik,
jadikan nilai heuristic keadaan baru tersebut sebagai succ. Namun jika
tidak lebih baik, nilai succ tidak berubah.
Jika succ lebih baik daripada nilai heuristik keadaan sekarang, ubah node
succ menjadi keadaan sekarang.

Pada steepest-ascent hill climbing ini, ada 3 masalah yang mungkin, yaitu:
1. Local optimum: keadaan semua tetangga lebih buruk atau sama dengan
keadaan dirinya.
2. Plateou: keadaan semua tetangga sama dengan keadaan dirinya.
3. Ridgez local optimum yang lebih disebabkan karena ketidakmampuan untuk
menggunakan 2 operator sekaligus.

Langkah pengerjaan manual dengan kasus yang sama seperti
menyelesaikan kasus Traveling Salesman Problem diatas :


No Level Rute Bobot Kondisi Lebih Kecil ? Current State ?
1 Akar ABCD 19 - Ya
2 1 BACD 17 17 < 19 Ya -
3 1 ACBD
SOLUSI
12 12 < 19 Ya Ya
4 1 ABDC 18 18 < 19 Ya -
5 1 DBCA 12 12 < 19 Ya -
6 1 ADCB 18 18 < 19 Ya -
7 1 CBAD 20 20 > 19 Tidak -
8 2 CABD 15 15 > 12 Tidak -
9 2 ABCD 19 19 > 12 Tidak -
10 2 ACDB 13 13 > 12 Tidak -
11 2 DCBA 19 19 > 12 Tidak -
12 2 ADBC 16 16 > 12 Tidak -
13 2 BCAD 15 15 > 12 Tidak -

Solusi Rute = ACBD dengan bobot 12

4) Greedy Best First Search
Algoritma ini Merupakan jenis Best First Search yang hanya mempertimbangkan
harga perkiraan (estimated cost) yaitu f(n) = h(n). Sedangkan harga sesungguhnya
tidak digunakan. Sehingga solusi yang dihasilkan tidak optimal. Algoritma
greedy ini membentuk solusi langkah per langkah (step by step). Pada setiap
langkah, terdapat banyak pilihan yang perlu dieksplorasi. Oleh karena itu, pada
setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan.

Secara umum berikut adalah pseudocode algoritma Best-First Search :
1. OPEN berisi initial state dan CLOSED masih kosong.
2. Ulang sampai goal ditemukan atau sampai tidak ada nodes di dalam OPEN
a. Ambil simpul terbaik yang ada di OPEN
b. Jika simpul tersebut sama dengan goal, maka sukses
c. Jika tidak, masukkan simpul tersebut ke dalam CLOSED
d. Bangkitkan semua suksesor dari simpul tersebut
e. Untuk setiap suksesor kerjakan :
Jika suksesor tersebut belum pernah dibangkitkan, evaluasi sukseso
tersebut, tambahkan ke OPEN, dan catat parent.
Jika suksesor tersebut sudah pernah dibangkitkan, ubah parentnya jika
jalur melalui parent ini lebih baik daripada jalur melalui parent yang
sebelumnya. Selanjutnya, perbarui biaya untuk suksesor tersebut dan
nodes lain yang berada di level bawahnya.

Pada algoritma tersebut diatas, OPEN adalah senarai (list) yang digunakan untuk
menyimpan simpulsimpul yang pernah dibangkitkan dan nilai heuristiknya telah
dihitung tapi belum terpilih sebagai simpul terbaik (best node). Dengan kata lain,
OPEN berisi simpul-simpul yang masih memiliki peluang (peluangnya masih
terbuka) untuk terpilih sebagai simpul terbaik. Sedangkan CLOSED adalah senarai
untuk menyimpan simpul-simpul yang sudah pernah dibangkitkan dan sudah pernah
terpilih sebagai simpul terbaik. Artinya, CLOSED berisi simpul-simpul tidak
mungkin terpilih sebagi simpul terbaik (peluang untuk terpilih sudah tertutup).

Contoh Kasus puzzle berukuran 3X3
Diketahui sebuah puzzle berukuran 3X3 yang berisi angka. Permasalahan adalah
angka-angka dalam puzzle tersebut belum teratur.
1. Nilai awal puzzle :





2. Goal


Aturan (Role)
Nilai awal = {1,2,blank,4,5,3,7,8,6}
Goal = {1,2,3,4,5,6,7,8,blank}
Nilai heuristic = f(n) = g(n) + h(n)
g(n) = kedalaman dari pohon
h(n) = jumlah angka yang masih salah posisi

Penyelesaian menggunakan metode Greedy First Best Search


5) Algoritma A* (A Star)
Algoritma A* (A Star) adalah algoritma pencarian yang merupakan
pengembangan dari algoritma Best First Search (BFS). Seperti halnya pada BFS,
untuk menemukan solusi, A* juga dituntun oleh fungsi heuristik, yang
menentukan urutan titik mana yang akan dikunjungi terlebih dahulu. Heuristik
merupakan penilai yang memberi harga pada tiap verteks yang memandu A*
mendapatkan solusi yang diinginkan. Dengan penggunaan fungsi heuristik yang
tepat pada algoritma ini yang dapat memberikan hasil yang optimal, maka
algoritma inipun disebut A*.

Point Penting Algoritma A*
1. Algoritma ini merupakan algoritma Best First Search yang
menggabungkan Uniform Cost Search dan Greedy Best First Search.
2. Algoritma ini memperhitungkan biaya dari biaya sebenarnya ditambah
dengan biaya perkiraan.
3. Dalam notasi matematika dituliskan sebagai:
f(n) = g(n) + h(n)
g(n) = biaya sebenarnya untuk mencapai simpul n
h(n) = perkiraan biaya dari simpul n ke goal.
f(n) = perkiraan total biaya jalur yang melalui simpul n ke goal.
Dengan perhitungan biaya seperti ini, algoritma A* adalah complete dan
optimal.

f(n) = g(n) + h(n)
g(n) = biaya sebenarnya untuk mencapai sebuah node (kota) n
h(n) = jarak garis lurus dari node n ke goal (Bucharest)



Contoh penyelesaian menggunakan A
*
search

Solusi yang ditemukan adalah solusi optimal, yaitu: Arad, Sibiu, Rimnicu Vilcea,
Pitesti, Bucharest

Anda mungkin juga menyukai