ARTIFICIAL INTELLIGENCE ALGORITMA PENCARIAN (Searching Algorithm)

18
| S1 Pagi – Teknik Informatika | STIKOM Banyuwangi 1 ARTIFICIAL INTELLIGENCE ALGORITMA PENCARIAN (Searching Algorithm) Dosen Pengampu : Sulaibatul Aslamiyah, S.Kom Disusun oleh : Nurul Ichwanti (1111100736) S1 – TEKHNIK INFORMATIKA Kecerdasan Buatan | Artificial Intelligence

Transcript of ARTIFICIAL INTELLIGENCE ALGORITMA PENCARIAN (Searching Algorithm)

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 1

A R T I F I C I A L I N T E L L I G E N C E

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

Dosen Pengampu :

Sulaibatul Aslamiyah, S.Kom

Disusun oleh :

Nurul Ichwanti (1111100736)

S1 – TEKHNIK INFORMATIKA

Kecerdasan Buatan | Artificial Intelligence

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 2

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

E-mail :www.stikombanyuwangi.ac.id

DAFTAR ISI

Halaman Judul 1

Daftar Isi 2

BAB 1 PENDAHULUAN 3

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 AlgoritmaA* 10

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 13

4.2 Contoh soal dan penyelesaian 13

Kecerdasan Buatan | Artificial Intelligence

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 3

4.3 Kelebihan dan kekurangan 14

BAB 5 KESIMPULAN 15

Kecerdasan Buatan | Artificial Intelligence

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 4

BAB 1

PENDAHULUAN

Permasalahan pencarian adalah merupakan yang sering dijumpaioleh 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 :

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.

Kecerdasan Buatan | Artificial Intelligence

Gambar 1.1 Bagan Metode Penelusuran(Searching)

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 5

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.

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

baik harus :

a. Mendefinisikan suatu ruang keadaan.

b. Menerapkan satu atau lebih keadaan awal.

c. Menetapkan satu atau lebih tujuan.

d. Menetapkan kumpulan aturan.

Pada makalah ini saya hanya membahas tiga pokok bahasan saja

(menyesuaikan tugas), yakni :

1) Best First Search

2) Branch and Bound

Kecerdasan Buatan | Artificial Intelligence

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 6

3) Branch and Bound dengan Dynamic Programming

BAB 2

BEST FIRST SEARCH

2.1 Metode Best First Search

Merupakan metode/teknik search yang menggabungkan

kebaikan yang ada 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.

Kecerdasan Buatan | Artificial Intelligence

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 7

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)

Best First Search akan membangkitkan node berikutnya

dari semua node yg pernah dibangkitkan.

Pertanyaannya :

Bagaimana menentukan sebuah node terbaik saat

ini?

Kecerdasan Buatan | Artificial Intelligence

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 8

Dilakukan dengan menggunakan biaya perkiraan.

Bagaimana caranya menentukan biaya perkiraan?

Biaya perkiraan dapat ditentukan dengan fungsiheurist ic.

Fungsi Heurist ic :

- 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

Kecerdasan Buatan | Artificial Intelligence

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 9

Langkah 1 :

Langkah 2 :

Langkah 3 :

Solusi :

Kecerdasan Buatan | Artificial Intelligence

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 10

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 menambahkan biaya

sebenarnya dengan biaya perkiraan. Sehingga didapatkan

rumus :

g(n) = Biaya sebenarnya dari Node Awal ke Node n

h’(n) = Biaya perkiraan dari Node n ke Node Tujuan

Contoh

Kecerdasan Buatan | Artificial Intelligence

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 11

Langkah 1 :

Langkah 2 :

Langkah 3 :

Langkah 4 :

Kecerdasan Buatan | Artificial Intelligence

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 12

Langkah 5 :

Langkah 6 :

Solusi :

Kecerdasan Buatan | Artificial Intelligence

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 13

2.1.3 Perbandingan Greedy Best First Search dan

Algoritma A*

Greedy Best First Search t idak 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

Kecerdasan Buatan | Artificial Intelligence

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 14

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 tercapai.

3.2 Contoh Soal dan Penyelesaian

- 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.

Kecerdasan Buatan | Artificial Intelligence

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 15

3.3 Kelebihan dan Kekurangan

Metode ini mempunyai beberapa kelebihan, namun selain

kelebihan juga memiliki kelemahan, diantaranya :

Kelebihan

Algoritma berhenti pada nilai optimum sebenarnya

(menemukan optimum global) .

Kelemahan

Membutuhkan memori yang cukup banyak, karena bisa

jadi menyimpan semua lintasan parsial yang

memungkinkan.

Kecerdasan Buatan | Artificial Intelligence

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 16

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

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 17

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

| S1 Pagi – Teknik Informatika |STIKOM Banyuwangi 18

4.3 Kelebihan dan Kekurangan

Metode ini mempunyai beberapa kelebihan, namun selain

kelebihan juga memiliki kelemahan, diantaranya :

Kelebihan

Algoritma berhenti pada nilai optimum sebenarnya.

Lebih efisien dari metode Branch dan Bound dalam

penggunaan memori dan waktu eksekusi karena ada

pemotongan.

Kelemahan

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