Anda di halaman 1dari 13

1

MODUL PERKULIAHAN

W152100012 -
Penghantar
Kecerdasan
Buatan
Algoritma Iterative Deepening
(IDS)

Abstrak Sub-CPMK 2

IDS Merupakan metode yang Sub-CPMK 2.5


menggabungkan keuntungan Mampu menjelaskan algoritma
BFS dengan DFS. dengan Iterative Deepening sebagai bagian
konsekuensinya adalah Time dari Metode Pencarian Uninformed
Complexity-nya menjadi Search
tinggi.

Fakultas Program Studi Tatap Muka Disusun Oleh

04
Muhaimin Hasanudin, S.T., M.Kom
Ilmu Komputer Teknik Informatika
Pendahuluan
Algoritma pencarian (searching algorithm) adalah algoritma yang menerima
sebuah argumen kunci dan dengan langkah-langkah tertentu akan mencari rekaman
dengan kunci tersebut. Setelah proses pencarian dilaksanakan, akan diperoleh
salah satu dari dua kemungkinan, yaitu data yang dicari ditemukan ( successful )
atau tidak ditemukan (unsuccessful).

Penyelesaian Masalah berdasarkan teknik AI


Empat hal untuk membangun sistem atau memecahkan masalah tertentu :
1. Definisikan masalah dengan jelas
2. Analisis masalah
3. Kumpulkan dan representasikan knowledge
4. Pilih teknik pemecah masalah terbaik dan gunakan untuk masalah tertentu

Mendefinisikan Masalah sebagai “State Space Search” (SSS), misalnya permainan


catur, maka SSS nya adalah : Menspesifikasikan posisi awal dari papan catur,
peraturan (rules) yang mendefinisikan langkah-langkah yang legal dan posisi papan
yang merepresentasikan pemenang dari satu sisi atau sisi lainnya. Tujuan (Goal)
dari permainan adalah : memenangkan permainan.

Pendefinisian Masalah Sebagai Pencarian Ruang Keadaan


Masalah utama dalam membangun sistem berbasis AI adalah bagaimana
mengkonversikan situasi yang diberikan ke dalam situasi lain yang diinginkan
menggunakan sekumpulan operasi tertentu.

Contoh Kasus : Water Jug Problem


Anda diberi dua buah gelas, yang satu ukuran 4 galon dan yang lain 3 galon. Kedua gelas
tidak memiliki skala ukuran. Terdapat pompa yang dapat digunakan untuk mengisi gelas
dengan air. Bagaimana anda mendapatkan tepat 2 galon air di dalam gelas 4 ukuran
galon?
Ruang masalah untuk masalah di atas dapat digambarkan sebagai himpunan
pasangan bilangan bulat (x,y) yang terurut, sedemikian hingga x = 0,1, 2, 3, atau 4
dan y = 0, 1, 2, atau 3; x menyatakan jumlah air dalam gelas ukuran 4 galon, dan y
menyatakan jumlah air dalam gelas ukuran 3 galon. Keadaan mula-mula adalah
(0,0). State tujuan adalah (2,n) untuk setiap nilai n. Operator-opeartor (aturan

2021 Penghantar Kecerdasan Buatan


2 Muhaimin Hasanudin, S.T., M.Kom
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
produksi) yang digunakan untuk memecahkanmasalah terlihat pada Tabel 4.1.

Tabel 4.1 Aturan produksi untuk Water Jug Problem.


1 (x,y)  (4,y) Isi penuh gelas 4 galon
If x < 4
2 (x,y)  (x,3) Isi penuh gelas 3 galon
If y < 3
3 (x,y)  (x-d,y) Buang sebagian air dari
If x > 0 gelas 4 galon
4 (x,y)  (x,y-d) Buang sebagian air dari
If y > 0 galon ukuran 3 galon
5 (x,y)  (0,y) Kosongkan gelas 4 galon
If x > 0
6 (x,y)  (x,0) Kosongkan gelas 3 galon
If y > 0
7 (x,y)  (4,y-(4-x)) Tuangkan air dari gelas 3
If x+y ≥4 and y > 0 galon ke gelas 4 galon
sampai gelas 4 galon
penuh
8 (x,y)  (x-(3-y),3) Tuangkan air dari gelas 4
If x+y ≥3 and x > 0 galon ke gelas 3 galon
sampai gelas 3 galon
penuh
9 (x,y)  (x+y,0) Tuangkan seluruh air dari
If x+y ≤4 and y > 0 gelas 3 galon ke gelas 4
galon
10 (x,y)  (0,x+y) Tuangkan seluruh air dari
If x+y ≤3 and x > 0 gelas 4 galon ke gelas 3
galon
11 (0,2)  (2,0) Tuangkan 2 galon air dari
gelas 3 galon ke gelas 4
galon
12 (2,y)  (0,y) Buang 2 galon dalam gelas
4 galon sampai habis.

2021 Penghantar Kecerdasan Buatan


3 Muhaimin Hasanudin, S.T., M.Kom
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Tabel 4.2 Solusi untuk Water Jug Problem.
Jumlah galon dalam Jumlah galon dalam Aturan
gelas 4 galon gelas 3 galon

0 0 -
0 3 2
3 0 9
3 3 2
4 2 7
0 2 5 atau 12

2 0 9 atau 11

Iterative Deepening Depth First Search


IDS Merupakan metode yang berusaha menggabungkan keuntungan BFS (Complete dan
Optimal) dengan keuntungan DFS (Space Complexity yang rendah). Tetapi
konsekuensinya adalah Time Complexity-nya menjadi tinggi. Prinsip algoritma iterative
deepening search adalah melakukan depth-limited search secara bertahap dengan nilai
limit yang incremental . Kompleksitas ruang IDS merupakan faktor percabangan dan
kedalaman dangkal gawang. Karena berulang memperdalam kunjungan menyatakan
beberapa kali, hal itu mungkin tampak sia- sia, tapi ternyata menjadi tidak begitu mahal,
karena di pohon sebagian besar node berada di tingkat bawah, sehingga tidak terlalu
menjadi masalah jika tingkat atas yang dikunjungi beberapa kali.
Keuntungan utama dari IDS dalam mencari permainan pohon adalah bahwa pencarian
sebelumnya cenderung meningkatkan heuristik yang biasa digunakan, seperti heuristik
pembunuh dan pemangkasan alpha-beta, sehingga perkiraan yang lebih akurat dari skor
berbagai node pada pencarian kedalaman akhir dapat terjadi, dan pencarian selesai lebih
cepat karena dilakukan dalam urutan yang lebih baik. Misalnya, alpha-beta
pemangkasan yang paling efisien jika ia mencari langkah terbaik pertama.

Algortima IDS

2021 Penghantar Kecerdasan Buatan


4 Muhaimin Hasanudin, S.T., M.Kom
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
function ITERATIVE-DEEPENING-SEARCH(problem) returns a solution, or failure
for depth = 0 to ∞ do
result  DEPTH-LIMITED-SEARCH(problem, depth)

Contoh cara kerja iterative deepening search dapat dilihat pada gambar:

Gambar 4.1. Empat iterasi pencarian pendalaman(IDS) berulang pada pohon biner.

Penjelasan Gambar
Proses 1

Pada Proses pertama ini batas kedalamannya masih 0 atau kosong sehingga akan
dilihat apakah solusi sudah ditemukan pada node root. Jika belum ditemukan maka
nilai limit akan dinaikkan menjadi 1.

Proses 2

2021 Penghantar Kecerdasan Buatan


5 Muhaimin Hasanudin, S.T., M.Kom
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Pada proses kedua batas kedalaman akan bertambah 1 sehingga pencarian solusi
secara DFS akan bertambah satu level.

Proses 3

Proses ketiga batas kedalaman sudah menjadi 2 sehingga pencarian akan dilakukan
sampai level 2. Jika belum menemukan solusinya, limit akan kembali dinaikan
menjadi 3.

Proses 4

Pada proses ketiga pencarian akan dihentikan pada node M karena itu merupakan goal
state.

Contoh Kasus Romania


Carilah rute untuk mencapai kota Bucharest dari kota Arad!

2021 Penghantar Kecerdasan Buatan


6 Muhaimin Hasanudin, S.T., M.Kom
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Penyelesaian
Sebuah peta dapat dimodelkan sebagai suatu graf; di mana simpul graf menyatakan
kota dan busur graf menyatakan jalan. Ini adalah salah satu bentuk abstraksi dari

2021 Penghantar Kecerdasan Buatan


7 Muhaimin Hasanudin, S.T., M.Kom
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
dunia nyata. Peta memberikan dinamika lingkungan agen: dimulai dari kota X pada
peta dan memilih beberapa jalan untuk sampai ke kota Y.

Asumsi lingkungan:
 Statik: tidak ada perubahan lingkungan saat menyelesaikan persoalan
 Diskret: Banyaknya keadaan lingkungan terbatas (jumlah kota)
 Deterministik: memilih sebuah jalan dari suatu kota, pasti akan membawa ke satu
kota tertentu
 Teramati sepenuhnya: informasi mengenai keadaan lingkungan lengkap, agen
sedang berada di mana juga diketahui
 Ukuran kinerja dari urutan states biasanya:
o Jumlah jarak yang ditempuh
o Jumlah waktu yang dipelrukan dari kota awal ke kota tujuan

Pencarian
1. Pencarian Buta (UnInformed/Blind Search)
- Lihat sekeliling, tidak tahu jalan mana yang mengarahkan ke kota tujuan
- Tidak ada informasi tambahan selain yang disediakan oleh definisi
persoalan (4 komponen persoalan)
- Contoh: DFS, BFS, IDS, UCS , DLS
2. Pencarian dengan Tambahan Informasi (Informed Search)
- Pencarian Heuristik
- Agen mendapatkan informasi tambahan yang bisa berguna
- Agen mengetahui apakah suatu keadaan (state) lebih menjanjikan untuk
sampai ke tujuan dibandingkan keadaan yang lain
- Contoh: Greedy Best First Search, A*,
3. Pencarian Lokal (Local Search) untuk persoalan optimasi  melebihi
pencarian klasik
- Jalur ke tujuan tidak penting
- Menggunakan memory yang cukup kecil
- Dapat menemukan solusi yang masuk akal dalam ruang pencarian tidak
terbatas, sehingga algoritma sistematis sesuai untuk pencarian ini
4. Contoh: Hill-climbing search, simulated annealing search, Genetic Algorithm

2021 Penghantar Kecerdasan Buatan


8 Muhaimin Hasanudin, S.T., M.Kom
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Keterangan :
S: sekumpulan kota Kota awal: A (Arad) Kota tujuan: B (Bucharest) Pemeriksaan: s =
B ? Biaya jalur: waktu ~ jarak

Iterative Deepening Search (IDS)


- IDS: menerapkan DFS dari kedalaman level terendah, jika tujuan belum
ditemukan maka kedalaman ditambah satu, terus dilakukan hingga tujuan dicapai
- Asumsi: Sebagian besar simpul ada di kedalaman level bawah, sehingga tidak
menjadi persoalan jika pada kedalaman level atas simpul-simpul dibangkitkan
berulang kali

Pesudocode IDS
Function Iterative-Deepening_Search(problem) returns solution/ failure
for depth = 0 to ∞do
result  DLS(problem, depth)
if result ≠ cutoff then  result

2021 Penghantar Kecerdasan Buatan


9 Muhaimin Hasanudin, S.T., M.Kom
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
1. Depth-First Search (DFS)
- BFS menemukan tujuan dengan jumlah langkah minimum, tapi ruang
pencariannya eksponensial
- DFS efisien dalam ruang pencarian, tapi tidak ada jaminan mengenai panjangnya
jalur yang dibutuhkan (bisa sampai kedalaman yang sangat jauh, padahal tidak
mengarah ke solusi)
- Solusi: DFS-limited search (DFS dengan pembatasan kedalaman)
• DFS dengan kedalaman yang dibatasi, misal 1 (satu)
• Simpul pada kedalaman l dianggap tidak memiliki simpul-simpul anak
• Persoalan: jika tujuan berada lebih dalam daripada 1 (satu)
• Pembatasan kedalaman bisa ditentukan oleh pakar dalam domain
persoalan tersebut

Pseudocode DPS
Function DLS (problem, limit) returns solution/ cutoff/ failure
 rec_DLS(make_node(init_state),problem,limit)
 
Function Rec_DLS (node,problem, limit) returns solution/ cutoff/ failure
if is Goal(node) then  solution(node)
else if limit=0 then  cutoff else
cutoff_occured  false

2021 Penghantar Kecerdasan Buatan


10 Muhaimin Hasanudin, S.T., M.Kom
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
for each action in problem.Actions(node.State) do
child  CHILD-Node(problem, node, action) result 
rec_DLS(child,problem,limit-1)
if result = cutoff then cutoff_occured  true
else if result ≠ failure thenresult if cutoff_occured then  cutoff
else  failure

A  ZA, SA,TA  OAZ, SA,TA  SAZO, SA,TA  FAZOS, RAZOS,SA,TA  BAZOSF,


RAZOS, SA, TA Stop: B=goal, path: A Z  O  S  F  B, path-cost = 607

Kesimpulan
Breadth First Search (BFS); Pencarian dengan Breadth First Search menggunakan
teknik dimana langkah pertamanya adalah root node diekspansi, setelah itu dilanjutkan
semua successor dari root node juga di-expand. Hal ini terus dilakukan berulang-ulang
hingga leaf (node pada level paling bawah yang sudah tidak mempunyai successor lagi).

2021 Penghantar Kecerdasan Buatan


11 Muhaimin Hasanudin, S.T., M.Kom
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
2. Depth First Search (DFS); Teknik pencarian dengan Depth First Search adalah
dengan melakukan ekspansi menuju node yang paling dalam pada tree. Node paling
dalam dicirikan dengan tidak adanya successor dari node itu. Setelah node itu selesai
diekspansi, maka node tersebut akan ditinggalkan, dan dilakukan ke node paling
dalam lainnya yang masih memiliki successor yang belum diekspansi.

3. Iterative Deepening Depth First Search (IDS); merupakan sebuah strategi umum
yang biasanya dikombinasikan dengan depth first tree search, yang akan menemukan
berapa depth limit terbaik untuk digunakan. Hal ini dilakukan dengan secara
menambah limit secara bertahap, mulai dari 0,1, 2, dan seterusnya sampai goal
sudah ditemukan.

Tugas
Berikan contoh Penerapan/Implementasi algoritma Iterative deepening search(IDS) pada
dunia nyata, jelaskan!

2021 Penghantar Kecerdasan Buatan


12 Muhaimin Hasanudin, S.T., M.Kom
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/
Daftar Pustaka
1. Russel, Stuart J., Peter Norvig, Artificial Intelligence, A Modern Approach 3rd
Edition, Prentice Hall, New Jersey, 2010.
2. Wolfgang, E. (2011). Introduction to artificial intelligence. Translated by Nathanael
Black With illustrations by Florian Mast, Springer-Verlag London Limited
3. http://theoryofprogramming.com/2018/01/14/iterative-deepening-depth-first-
search-iddfs/
4. https://socs.binus.ac.id/2013/04/23/uninformed-search-dan-informed-search
5. https://piptools.net/algoritma-iddfs-iterative-deepening-depth-first-
search/#:~:text=Algoritma%20IDDFS%20(Iterative%20Deepening%20Depth%20
First%20Search)%20adalah%20salah%20satu,Search)%20yang%20sudah%20di
jelaskan%20sebelumnya.

2021 Penghantar Kecerdasan Buatan


13 Muhaimin Hasanudin, S.T., M.Kom
Biro Bahan Ajar E-learning dan MKCU
http://pbael.mercubuana.ac.id/

Anda mungkin juga menyukai