Ujian Tengah Semester
algoritma, pengertian, contoh kasus serta Hasil Pengukuran Kriteria (Completeness, Time Complexity, Space Complexity, Optimality)
Nama Anggota Kelompok
: M Iqbal F - 10217008
Rahmat Hidayat - 10217013
Nendra Lasmana - 10217039 Kelas / Semester : SK – 1 / VI
Mata Kuliah : Pengantar Kecerdasan Buatan Nomor Mata Kuliah : 02090
Dosen : Sri Supatmi, S.Kom.,M.T., D.Sc
JURUSAN TEKNIK KOMPUTER
FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA
BANDUNG 2020
KATA PENGANTAR
Puji syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga Kelompok ini dapat menyelesaikan tugas makalah yang berjudul algoritma, pengertian, contoh kasus serta Hasil Pengukuran Kriteria (Completeness, Time Complexity, Space Complexity, Optimality) ini tepat pada waktunya.
Adapun tujuan dari penulisan dari makalah ini adalah untuk memenuhi UTS pada Mata kuliah Pengantar Kecerdasan Buatan. Selain itu, makalah ini juga bertujuan untuk menambah wawasan tentang Algoritma bagi para pembaca dan juga bagi penulis.
DAFTAR ISI
KATA PENGANTAR ………... i
DAFTAR ISI ……….. ii
BAB I PENDAHULUAN ……….. 1
1.1 Latar Belakang ..……… 1
1.2 Perumusan Masalah ……… 2
1.3 Tujuan ……… 3
BAB II PEMBAHASAN ………. 3
2.1 Uniform-cost Search (UCS) ……… 3
2.1.1 Kelebihan dan kekurangan UCS ………. 4
2.1.2 Prinsip algoritma uniform-cost search …….... 4
2.1.3 Contoh Kasus serta Hasil Pengukuran …….. 5
2.2 Iterative Deepening Search ( IDS ) ……… 5
2.2.1 Kelebihan dan kekurangan IDS ……….. 6
2.2.2. Prinsip algoritma Iterative Deepening Search 6 2.2.3 Contoh Kasus serta Hasil Pengukuran …….. 7
2.3 Bidirectional Search ( BDS ) ……… 8
2.3.1 Contoh Kasus serta Hasil Pengukuran …….. 8
2.4 Greedy Best-first Search ………. 9
2.4.1 Contoh Kasus serta Hasil Pengukuran …….. 10
2.5 A STAR ( A* ) ……… 11
2.5.1 Contoh Kasus serta Hasil Pengukuran …….. 12
BAB III PENUTUP ……….. 16
3.1 Kesimpulan ……… 16
DAFTAR PUSTAKA ……….. 18
BAB I PENDAHULUAN 1.1 Latar Belakang
Kemajuan teknologi tidak hanya menuntut kecepatan penyebaran informasi tetapi juga dalam bidang ilmu Artificial Intelligence untuk melakukan metode pencarian dan pelacakan yang merupakan suatu hal penting dalam suatu sistem. Karena pencarian dan pelacakan ini adalah hal yang menentukan keberhasilan sistem tersebut. sebuah algoritma pencarian dijelaskan secara luas adalah sebuah algoritma yang menerima masukan berupa sebuah masalah dan menghasilkan sebuah solusi untuk masalah tersebut, yang biasanya didapat dari evaluasi beberapa kemungkinan solusi. Sebagian besar algoritma yang dipelajari oleh ilmuwan komputer adalah algoritma pencarian. Pada dasarnya, metode pencarian dan pelacakan dibagi dua, yaitu pencarian buta (blind search) dan pencarian tersusun (heuristic search).
Blind Searchg adalah model pencarian buta atau pencarian yang tidak memiliki informasi awal Blind Searching sendiri dibagi menjadi tiga macam yaitu : Breadth First Search, Depth first Search, Uniform Cost Search.
Heuristic Search merupakan metode pencarian yang memperhatikan nilai heuristik (nilai perkiraan). Teknik pencarian heuristik (heuristic searching) merupakan suatu strategi untuk melakukan proses pencarian ruang keadaan (state space) suatu problema secara selektif, yang memandu proses pencarian yang kita lakukan di sepanjang jalur yang memiliki kemungkinan sukses paling besar, dan mengesampingkan usaha yang bodoh dan memboroskan waktu. Heuristik adalah sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namun dengan kemungkinan mengorbankan kelengkapan (completeness). Heuristic Search memperkirakan jarak menuju Goal (yang disebut dengan fungsi heuristik). Fungsi heuristik ini digunakan untuk mengevaluasi keadaan-
keadaan problema individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan. Jenis-jenis dari Heuristic Searching : Generate and Test, Hill Climbing, Best First Search,
1.2 Perumusan Masalah
Berdasarkan latar belakang diatas, maka ada beberapa masalah yang akan di bahas dalam makalah ini, yaitu :
1. Uniform-cost Search
2. Iterative Deepening Search 3. Bidirectional Search
4. Greedy Best-first Search 5. A*
6. Contoh Kasus dan
7. Hasil Pengukuran Kriteria (Completeness, Time Complexity, Space Complexity, Optimality)
1.3 Tujuan
Adapun tujuan dari penulisan makalah ini, yaitu memahami : 1. Uniform-cost Search
2. Iterative Deepening Search 3. Bidirectional Search
4. Greedy Best-first Search 5. A*
6. Contoh Kasus dan
7. Hasil Pengukuran Kriteria (Completeness, Time Complexity, Space Complexity, Optimality)
BAB II PEMBAHASAN 2.1 Uniform-cost Search (UCS)
Uniform Cost Search adalah algoritma Seach Tree (graph) yang digunakan untuk menyelesaikan beberapa persoalan. Algoritma ini memulai pencarian dari root node, kemudian dilanjutkan ke node-node selanjutnya. Dimana node tersebut dipilih yang memilki harga (cost) terkecil dari root node. Algoritma ini merupakan modifikasi dari Breadth First Search (BFS). Dalam implementasi algoritma ini melibatkan semua node yang berhubungan dengan root node dan meletaknnya dalam priority queue untuk mencapai node tujuan. dimana node-node yang dipilih merupakan node yang memiliki harga paling kecil.
Berikut ini adalah langkah-langkah traversal graf dengan memanfaatkan algoritma UCS:
1. initial state terletak pada node start atau simpul akar. Maka langka pertama kunjungi simpu akar (root).
2. kemudian untuk mencapai node berikutnya, algoritma ini memilih total Cost yang paling kecil dari beberapa kemungkinan Total Cost yang dilalui state. Maka, Total Aksi adalah Total Cost
3. Begitu seterusnya, dilakukan pengecekan node yang memilki total Cost terkecil hingga sampai pada goal state.
Konsep dasar Uniform Cost Serch hampir sama dengan BFS (Breadth-First Search), bedanya adalah bahwa BFS menggunakan urutan level yang paling rendah sampai yang paling tinggi, sedangkan UCS menggunakan urutan biaya dari yang paling kecil sampai yang terbesar. UCS berusaha menemukan solusi dengan total biaya terendah yang dihitung berdasarkan biaya dari simpul asal menuju ke simpul tujuan.
2.1.1 Kelebihan dan kekurangan UCS
Kelebihan algoritma UCS sebagai berikut :
• Karena memiliki konsep seperti BFS maka UCS menjamin ditemukannya solusi dan solusi yang ditemukannya selalu solusi yang terbaik dalam kata lain UCS merupakan pencarian yang complete dan optimal.
• Sangat cocok digunakan bila tidak menggunakan heuristik.
Karena butuh completeness dalam menemukan setiap solusi.
Kekurangan algoritma UCS sebagai berikut :
• Memiliki syarat yang harus dipenuhi agar bisa complete dan optimal.
• Memiliki kompleksitas waktu dan ruang yang banyak karena memakai konsep BFS
2.1.2 Prinsip algoritma uniform-cost search
• BFS menggunakan urutan level dari yang paling rendah sampai yang paling tinggi.
• UCS menggunakan urutan biaya dari yang terkecil sampai yang terbesar.
• UCS mencari solusi dengan total biaya terendah yang dihitung berdasarkan biaya dari simpul asal ke simpul tujuan.
• g(n) = biaya dari simpul asal ke simpul n.
2.1.3 Contoh Kasus serta Hasil Pengukuran
Completeness = Ya jika step cost >= Є (positif const) Time complexity = O(𝑏[𝐶∗/∊]) di mana C* adalah cost dari
optimal solution
Jumlah node dengan g <= cost optimal solution Space complexity = O(𝑏[𝐶∗/∊]) Jumlah node dengan g
cost optimal solution
Optimality = Ya, karena urutan node expansion dilakukan urut g(n).
2.2 Iterative Deepening Search ( IDS )
Iterative Deepening Search (IDS) merupakan metode yang menggabungkan kelebihan BFS (complete dan optimal) dengan kelebihan DFS (space complexity rendah atau membutuhkan sedikit memori). Tetapi konsekuensinya adalah time complexity-nya menjadi tinggi. Perhatikan gambar 2.11 IDS melakukan pencarian secara iteratif menggunakan penelusuran Depth-Limited-Search (DLS) dimulai dengan batasan level 0. Jika belum ditemukan solusi, maka dilakukan iterasi ke-2 dengan batasan level 1. Demikian seterusnya sampai ditemukan solusi.
Penelusuran Metode IDS
Penelusuran di setiap proses pencariannya menggunakan cara kerja DFS, yaitu dengan menelusuri satu node dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam, solusi belum ditemukan, maka pencarian dilanjutkan pada node sebelah kanan. Demikian seterusnya sampai ditemukan solusi.
2.2.1 Kelebihan dan kekurangan IDS
Kelebihan algoritma UCS sebagai berikut :
• merupakan algoritma yang complete, optimal.
• memiliki space complexity yang kecil karena merupakan gabungan dari BFS dan DFS.
Kekurangan algoritma UCS sebagai berikut :
• time complexity yang tinggi. Karena time complexity yang tinggi maka kita bisa melakukan percepatan dengan melakukan teknik parralel processing (menggunakan lebih dari satu proccesor)
2.2.2. Prinsip algoritma Iterative Deepening Search
• melakukan depth-limited search secara bertahap dengan nilai l yang incremental.
2.2.3 Contoh Kasus serta Hasil Pengukuran
Completeness = Ya.
Time Complexity = db1 + (d − 1)b2 + . . . + bd = O(bd ) Space Complexity = O(bd)
Optimality = Ya, jika semua step cost sama. Bisa
dimodifikasi spt. uniform-cost tree, namanya iterative lengthening search.
Secara sekilas, strategi ini kelihatan tidak efisien, atau boros: banyak usaha terulang!
2.3 Bidirectional Search ( BDS )
Bidirectional search merupakan pencarian dua arah dengan algoritma pencarian grafik yang menemukan jalur terpendek dari node sumber ke node tujuan dalam grafik diarahkan.
Bidirectional search bekerja lebih cepat dalam banyak kasus dan menemukan jalan terpendek. Contoh, dalam model yang disederhanakan dari kompleksitas masalah pencarian dimana kedua pencarian tersebut memperluas tree dengan percabangan faktor b dan jarak dari sumber tujuan adalah d. Kompleksitas dari dua pencarian ini direpresentasikan sebagai O(bd/2) (in Big O notation) dan jumlah waktu yang dibutuhkan untuk mencari dua node ini kurang dari O(bd) kompleksitas yang dihasilkan dari satu pencarian dari awal ke tujuan.
Dalam bidirectional search terdapat tiga buah arah pencarian yaitu:
(1) forward (maju), (2) backward (mundur), dan (3) bidirectional (dua arah). Bagi pencarian dua arah ini terdapat beberapa langkah dalam penerapannya yaitu: (1) pada pencarian dua arah, node-node di perluas dari status awal ke tujuan secara bersamaan (simultan), (2) pada setiap tahap dicek apakah node-node yang dijumpai sudah dibangkitkan oleh yang lain, (3) jika iya, maka gabungan jalur adalah solusinya, (4) dua pencarian dapat bekerja paralel: satu dari asal ke tujuan, satu dari tujuan ke awal, dan (5) saat keduanya bertemu, diperoleh jalur yang baik.
2.3.1 Contoh Kasus serta Hasil Pengukuran
Completeness = Pencarian dua arah selesai jika BFS digunakan di kedua pencarian.
Time Complexity = O(bd/2) Space Complexity = O(bd/2)
Optimality = optimal jika BFS digunakan untuk pencarian dan jalur memiliki Cost yang Sama.
2.4 Greedy Best-first Search
Greedy Best-First adalah algoritma best-first yang paling sederhana dengan hanya memperhitungkan biaya perkiraan (estimated cost) saja, yakni f(n) = h(n). Biaya yang sebenarnya (actual cost) tidak diperhitungkan. Dengan hanya memperhitungkan biaya perkiraan yang belum tentu kebenarannya, maka algoritma ini menjadi tidak optimal.
Beberapa terminologi dalam algoritma best first search adalah sebagai berikut :
a) Fungsi evaluasi f(n), adalah fungsi yang digunakan untuk membangkitkan simpul dari simpul sebelumnya.
b) Nilai heuristik h(n), adalah nilai perkiraan yang menjadi dasar dipilihnya simpul saat ini menjadi simpul terbaik.
c) Nilai sebenarnya g(n), adalah nilai “jarak” antara simpul akar dengan simpul saat ini.
d) Simpul awal disebut juga simpul akar, adalah simpul pertama dalam pohon yang akan dibentuk.
e) Simpul sekarang adalah simpul yang sedang dievaluasi dengan fungsi evaluasi untuk ditentukan apakah layak atau tidak menjadi solusi.
f) Kandidat (suksesor) adalah simpul selanjutnya yang hendak diperiksa.
g) Open list, adalah daftar simpul yang mungkin diakses dari simpul awal atau simpul yang sedang dijalankan.
h) Close list, adalah daftar simpul yang saat ini menjadi solusi sementara, yaitu solusi terbaik saat ini.
i) Simpul tujuan, adalah simpul yang hendak menjadi tujuan akhir.
2.4.1 Contoh Kasus serta Hasil Pengukuran
Dalam contoh pencarian ini, kita menggunakan dua daftar yang terbuka ( open ) dan daftar tertutup ( closed ). Berikut adalah iterasi untuk melintasi contoh di atas.
Memperluas node S dan dimasukkan ke dalam daftar CLOSED
Initialization : Open [A, B], Closed [S]
Iteration 1 : Open [A], Closed [S, B]
Iteration 2 : Open [E, F, A], Closed [S, B]
: Open [E, A], Closed [S, B, F]
Iteration 3 : Open [I, G, E, A], Closed [S, B, F]
: Open [I, E, A], Closed [S, B, F, G]
Oleh karena itu jalur solusi akhir akan menjadi: S----> B--->F----> G
Completeness = tidak, bahkan jika ruang keadaan yang diberikan terbatas.
Time Complexity = O(bm)
Space Complexity = O(bm)Dimana, m adalah kedalaman maksimum ruang pencarian.
Optimality = tidak optimal
dan jalur memiliki Cost yang Sama.
2.5 A STAR ( A* )
Algoritma A* merupakan algoritma best first search dengan modifikasian fungsi heuristik, yang akan meminimumkan total biaya
lintasan, dan pada kondisi yang tepat akan memberikan solusi yang terbaik dalam waktu yang optimal.
Algoritma A* juga membutuhkan dua antrian, yaitu OPEN dan CLOSED. Selain itu, ada juga fungsi heuristik yang memprediksi keuntungan tiap node yang di buat. Yang akan memungkinkan algoritma untuk melakukan pencarian-pencarian lintasan yang lebih di harapkan.
Fungsi ini di sebut f’(n) sebagai pendekatan dari fungsi f(n) yang merupakan fungsi evaluasi yang sebenarnya terhadap node n. dalam banyak penarapan, akan lebih baik jika fungsi di definisikan sebagai kombinasi atau jumlah dua komponen yaitu g(n) dan h(n). Fungsi g(n) merupakan ukuran biaya yang di keluarkan dari keadaan awal sampai ke node n. Nilai yang didapat g(n) merupakan jumlahan biaya penerapan setiap aturan yang dilakukan pada sepanjang lintasan trbaik menuju suatu simpul dan bukan merupakan hasil estimasi.
Fungsi h(n) merupakan pengukur biaya tambahan yang harus dikeluarkan dari node n sampai mendapatkan tujuan. Perlu diketahui bahwa g(n), tidak negatif karena bila negatif maka lintasan yang membalik siklus pada graf akan tampak lebih baik dengan semakin panjangnya lintasan.
2.5.1 Contoh Kasus serta Hasil Pengukuran
• Gabungan Uniform Cost Search dan Greedy Best-First Search.
• Biaya yang diperhitungkan didapat dari biaya sebenarnya ditambah dengan biaya perkiraan.
• f(n) = g(n) + h(n)
• Complete dan Optimal
Carilah rute terpendek dari S menuju ke G, dengan biaya paling minimal!
Rute ini yang telah ditemukan adalah rute terpendek yang ada di graph tersebut. Jadi, algoritma A* dan optimal. Algoritma A* juga tanpa ada batasan waktu dan memory, jadi Algoritma A* adalah complete (selalu menemukan solusi jika solusinya ada). Untuk masalah yang lebih kompleks, misalkan pencarian rute terpendek pada graph yang tediri dari 100 juta simpul, A* akan menghadapi masalah waktu, proses dan memory yang dibutuhkan. Jadi, masih terdapat banyak variasi algoritma A* dengan karakteristik yang sesuai dengan permasalahan tersebut.
BAB III PENUTUP 3.1 Kesimpulan
1. Uniform Cost Search (UCS)
• BFS menggunakan urutan level dari yang paling rendah sampai yang paling tinggi.
• UCS menggunakan urutan biaya dari yang terkecil sampai yang terbesar.
• UCS mencari solusi dengan total biaya terendah yang dihitung berdasarkan biaya dari simpul asal ke simpul tujuan.
• g(n) = biaya dari simpul asal ke simpul n.
2. Iterative-Deepening Search (IDS)
• BFS complete dan optimal
• DFS space complexity rendah
• IDS complete, optimal, space complexity rendah.
• IDS Time complexity-nya menjadi sangat tinggi
• IDS = gabungan BFS dan DFS
• Mengapa?
• Karena proses pencarian dilakukan secara iteratif sehingga terjadi proses penelusuran menggunakan algoritma DFS yang berulang-ulang.
3. Bi-directional Search (BDS)
• Pencarian maju (dari start ke goal) dan pencarian mundur (dari goal ke start).
• Ketika dua arah pencarian telah membangkitkan simpul yang sama, maka solusi telah ditemukan.
• Gabungkan kedua jalur yang bertemu.
4. Greedy Best-First Search
• Best First Search yang paling sederhana
• Hanya memperhitungkan biaya perkiraan
• Biaya sebenarnya tidak diperhitungkan
• Complete, tapi Tidak Optimal 5. A STAR (A*)
• Gabungan Uniform Cost Search dan Greedy Best-First Search.
• Biaya yang diperhitungkan didapat dari biaya sebenarnya ditambah dengan biaya perkiraan.
• f(n) = g(n) + h(n)
• Complete dan Optimal
DAFTAR PUSTAKA
Suyanto. 2007. Artificial Intelligence: Searching, Reasoning, Planning and Learning. Informatika, Bandung Indonesia. ISBN: 979-1153-05-1.
Russel, Stuart and Norvig, Peter. 1995. Artificial Intelligence: A Modern Approach. Prentice Hall International, Inc.
Suyanto, 2008, Evolutionary Computation: Komputasi Berbasis
“Evolusi” dan “Genetika”, Penerbit Informatika Bandung.
Adnan Oktar, 2007, "Mekanisme Khayalan Teori Evolusi", www.evolutiondeceit.com/indonesian/keruntuhan3.php
Eiben, A.E. and Smith, J.E., 2003, “Introduction to Evolutionary Computing”, Springer-Verlag Berlin Heidelberg.
Julie Leung, Keith Kern, Jeremy Dawson, 2007, “Genetic Algorithms and Evolution Strategies“, presentation slides.