Está en la página 1de 14

1

| S1 Pagi Teknik Informatika |


STIKOM Banyuwangi

ARTIFICIAL INTELLIGENCE

A L G O R I T M A P E N C A R I A N (Searching
Algorithm)

Dosen Pengampu :
Sulaibatul Aslamiyah, S.Kom
Disusun oleh :
Nurul Ichwanti (1111100736)

S1 TEKHNIK INFORMATIKA

Kecerdasan Buatan | Artificial Intelligence

| S1 Pagi Teknik Informatika |


STIKOM Banyuwangi

Jl. Ahmad Yani 80 Banyuwangi Telp.( 0333) - 7766990


E-mail :www.stikombanyuwangi.ac.id

DAFTAR ISI

Halaman Judul

Daftar Isi

BAB 1

PENDAHULUAN

BAB 2

BEST FIRST SEARCH

2.1

Metode Best First Search 5


2.1.1 Greedy Best First Search 6
2.1.2 Algoritma A* 8
2.1.3 Perbandingan Greedy Best First Searh dan Algoritma A*

BAB 3

BRANCH AND BOUND

3.1

Metode Branch and Bound

11

3.2

Contoh soal dan penyelesaian

11

3.3

Kelebihan dan kekurangan

12

BAB 4

BRANCH AND BOUND DENGAN DYNAMIC PROGRAMMING

4.1

Metode Branch and Bound dengan Dynamic Programmming

4.2

Contoh soal dan penyelesaian

13

4.3

Kelebihan dan kekurangan

14

BAB 5

10

KESIMPULAN

13

15

Kecerdasan Buatan | Artificial Intelligence

BAB 1
PENDAHULUAN

Permasalahan pencarian adalah merupakan yang sering dijumpai oleh


peneliti di bidang Kecerdasan Buatan. Permasalahan ini merupakan hal penting
dalam menentukan keberhasilan system kecerdasan buatan. Metode pencarian
dibagi menjadi 3 bagian, dapat dilihat pada bagan dibawah ini :

Gambar 1.1 Bagan Metode Penelusuran


(Searching)

Keterangan :
1. Metode Pencarian Buta, merupakan metode sederhana yang hanya
berusaha mencari kemungkinan penyelesaian. Metode yang termasuk
pada bagian ini adalah Breadth First Search, Depth First Search, Hill
climbing, Beam Fisrt, dan Best First Search.
2. Metode Penyelesaian Optimal, merupakan metode yang lebih
kompleks yang akan mencari jarak terpendek. Metode yang termasuk
pada bagian ini adalah British Museum Procedure, Branch and Bound,
Dynamic Programming dan A*. Metode-metode ini digunakan pada saat
harga perjalanan untuk mencari kemungkinan menjadi perhitungan.

Kecerdasan Buatan | Artificial Intelligence

3. Metode Permainan, merupakan metode yang digunakan saat


berhadapan dengan musuh. Prosedur ini adalah minimax search, alpha
beta pruning. Metode ini banyak digunakan pada program-program
permainan seperti catur,dsb.
Metode pencarian dikatakan penting untuk menyelesaikan
permasalahan karena setiap state (keadaan) menggambarkan
langkah-langkah untuk menyelesaikan permasalahan.
Metode pencarian dikatakan penting untuk perencanaan karena
dalam sebuah permainan akan menentukan apa yang harus
dilakukan, dimana setiap state menggambarkan kemungkinan posisi
pada suatu saat.
Metode pencarian adalah bagian dari kesimpulan, dimana setiap
state menggambarkan hipotesis dalam sebuah rangkaian deduktif.
Secara umum, untuk mendeskripsikan suatu permasalahan dengan
a.
b.
c.
d.

baik harus :
Mendefinisikan suatu ruang keadaan.
Menerapkan satu atau lebih keadaan awal.
Menetapkan satu atau lebih tujuan.
Menetapkan kumpulan aturan.

Pada makalah ini saya hanya membahas tiga pokok bahasan saja
(menyesuaikan tugas), yakni :
1) Best First Search
2) Branch and Bound
3) Branch and Bound dengan Dynamic Programming

BAB 2
BEST FIRST SEARCH

Kecerdasan Buatan | Artificial Intelligence

2.1

Metode Best First Search


Merupakan metode/teknik search yang menggabungkan
kebaikan yang ad a dari teknik Depth First Search dan Breadth
First Search.
Tujuan menggabungkan dua tekhnik search ini adalah
untuk menelusuri satu jalur saja pada satu saat, tapi dapat
berpindah ketika jalur lain terlihat lebih menjanjikan dari jalur
yang sedang ditelusuri. Untuk mendapatkan jalur yang
menjanjikan adalah dengan memberikan skala prioritas pada
setiap state saat dihasilkan dengan fungsi heuristic.

Pencarian diperkenankan mengunjungi node yang ada di level


yg lebih rendah jika ternyata node pada level yg lebih tinggi
ternyata memiliki nilai heuristik yg buruk.
Contoh :

Untuk mengimplementasikan metode ini, dibutuhkan 2 antrian


yang berisi node- node, yaitu :
1. OPEN berisi simpul-simpul yang masih memiliki peluang
(peluangnya masih terbuka ) untuk terpilih sebagai simpul
terbaik.
2. CLOSED berisi simpul-simpul yang tidak mungkin
terpilih sebagai simpul terbaik ( peluang untuk terpilih
sudah tertutup )

Kecerdasan Buatan | Artificial Intelligence

Best First Search akan membangkitkan node berikutnya dari


semua node yg pernah dibangkitkan.
Pertanyaannya :

Bagaimana menentukan sebuah node terbaik saat

ini?
Dilakukan dengan menggunakan biaya perkiraan.
Bagaimana caranya menentukan biaya perkiraan?
Biaya perkiraan dapat ditentukan dengan fungsi
heuristic .

Fungsi Heuristic :
-

Suatu fungsi heuristic dikatakan baik jika bisa memberikan


biaya perkiraan yang mendekati biaya sebenarnya.

Semakin mendekati biaya sebenarnya, fungsi heuristic


tersebut semakin baik.

Ada 2 jenis Pencarian Terbaik Pertama ( Best First Search), yaitu :

1. Greedy Best First Search


2. Algoritma A*
2.1.1

Greedy Best First Search


Algoritma ini merupakan jenis algoritma Best First Search
yg paling sederhana. Algoritma ini hanya memperhitungkan
biaya perkiraan saja,
f(n) = h(n)
Karena hanya memperhitungkan biaya perkiraan yang belum
tentu kebenarannya, maka algoritma ini menjadi tidak optimal.
Contoh

Langkah 1 :

Kecerdasan Buatan | Artificial Intelligence

Langkah 2 :

Langkah 3 :

Solusi :

Kesimpulan :
Dari contoh di atas, Greedy akan menemukan solusi S-B-K-G
dengan total jarak = 105
Padahal ada solusi lain yg lebih optimal, yakni :
S-A-B-F-K-G dengan total jarak hanya 95
2.1.2

Algoritma A*
Berbeda dg Greedy, algoritma ini akan menghitung fungsi
heuristic dengan cara menamb ahkan biaya sebenarnya dengan
biaya perkiraan. Sehingga didap atkan rumus :

Kecerdasan Buatan | Artificial Intelligence

g(n)

Biaya sebenarnya dari Node Awal ke Node n

h(n) =

Biaya perkiraan dari Node n ke Node Tujuan

Contoh

Langkah 1 :

Langkah 2 :

Langkah 3 :

Kecerdasan Buatan | Artificial Intelligence

Langkah 4 :

Langkah 5 :

Langkah 6 :

Solusi :

Kecerdasan Buatan | Artificial Intelligence

2.1.3

Perbandingan Greedy Best First Search dan

Algoritma A*

Greedy Best First Search tidak bisa menemukan solusi yang


optimal.
Algoritma A* dapat menemukan solusi yang optimal.
Algoritma A* lebih baik dalam melakukan pencarian
heuristic daripada Greedy Best First Search karena dapat
menghasilkan solusi yang optimal.

BAB 3
BRANCH AND BOUND

3.1

Metode Branch and Bound


Metode Branch and Bound adalah sebuah teknik algoritma
yang secara khusus mempelajari bagaimana caranya
memperkecil Search Tree menjadi sekecil mungkin. Pada
metode ini kita tidak memerlukan estimasi jarak tiap node
menuju GOAL. Selain itu elemen-elemen pada queue bukan tiap
node, melainkan lintasan parsial yang sudah te rcapai.

3.2

Contoh Soal dan Penyelesaian

Kecerdasan Buatan | Artificial Intelligence

Algoritma
1. Buat sebuah Antrian, inisialisasi node pertama dengan
Root dari tree
2. Bila lintasan parsial tidak sama dengan lintasan GOAL,
maka lintasan parsial diganti dengan lintasan
parsial+node child, semuanya diatur berdasarkan harga
yang diurut secara ascending.
3. Bila node pertama=lintasa GOAL, selesai.

3.3

Kelebihan dan Kekurangan


Metode ini mempunyai beberap a kelebihan, namun selain
kelebihan juga memiliki kelemah an, diantaranya :
Kelebihan
Algoritma berhenti pada nilai optimum sebenarnya
(menemukan optimum global).
Kelemah an

Kecerdasan Buatan | Artificial Intelligence

Membutuhkan memori yang cukup banyak, karena bisa


jadi menyimpan semua lintasan parsial yang
memungkinkan.

BAB 4
BRANCH AND BOUND
DENGAN DYNAMIC PROGRAMMING

4.1

Metode Branch and Bound dengan Dynamic Programming


Metode ini sama dengan Branch and Bound, tetapi lebih
efi sien karena bisa mengurangi lebar/melakukan pemotongan
terhadap lebar dari tree . Hal ini dilakukan dengan cara
mereduksi lintasan parsial yang menuju ke suatu node yang
sudah pernah dikunjungi sebelumnya.

4.2

Contoh Soal dan Penyelesaian

Kecerdasan Buatan | Artificial Intelligence

Algoritma
1. Buat sebuah antrian, inisialisasi node pertama dengan Root
dari tree.
2. Bila lintasan parsial tidak sama dengan lintasan GOAL, jika ada
lintasan parsial dengan node terakhir yang sama (dalam satu
queue) maka diambil yang harganya paling minimal, sedangkan
yang lebih mahal dihapus dari queue, sehingga tree akan lebih
kurus.
3. Bila node pertama=lintasan GOAL, selesai.

Kecerdasan Buatan | Artificial Intelligence

4.3

Kelebihan dan Kekurangan


Metode ini mempunyai beberap a kelebihan, namun selain
kelebihan juga memiliki kelemah an, diantaranya :
Kelebihan
Algoritma berhenti pada nilai optimum sebenarnya.
Lebih efi sien dari metode Bran ch dan Bound dalam
penggunaan memori dan waktu eksekusi karena ad a
pemotongan.
Kelemah an
Harus mengingat node terakhir dari lintasan parsial yang
sudah dicapai sebelumnya.

BAB 5
ANALISA DAN KESIMPULAN

Metode Optimal lebih menguntungkan dan lebih baik daripada


metode non-optimal, karena membutuhkan memori yang relative
kecil dan berhenti pada nilai optimum sebenarnya.

Kecerdasan Buatan | Artificial Intelligence

También podría gustarte