0% menganggap dokumen ini bermanfaat (0 suara)
73 tayangan60 halaman

Materi 04 - Informed Search 2022

Dokumen tersebut membahas tentang teknik-teknik Strategi Pencarian dalam Kecerdasan Buatan, khususnya Strategi Pencarian Informed yaitu Best-First Search (Greedy dan A*) dan Dijkstra Algorithm. Best-First Search mengevaluasi simpul berdasarkan estimasi biaya terbaik untuk mencapai goal, sedangkan Dijkstra Algorithm digunakan untuk menemukan jalur terpendek dari satu sumber ke seluruh simpul dalam graf."
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
73 tayangan60 halaman

Materi 04 - Informed Search 2022

Dokumen tersebut membahas tentang teknik-teknik Strategi Pencarian dalam Kecerdasan Buatan, khususnya Strategi Pencarian Informed yaitu Best-First Search (Greedy dan A*) dan Dijkstra Algorithm. Best-First Search mengevaluasi simpul berdasarkan estimasi biaya terbaik untuk mencapai goal, sedangkan Dijkstra Algorithm digunakan untuk menemukan jalur terpendek dari satu sumber ke seluruh simpul dalam graf."
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 60

Aplikasi Strategi Pencarian

Tim Pengajar Mata Kuliah Kecerdasan Buatan Tahun 2022


Tujuan
• Mahasiswa memahami teknik-teknik yang
digunakan pada Strategi Pencarian dalam
Kecerdasan Buatan.

• Mahasiswa memahami Strategi Pencarian Informed


Search yakni:
• Best-First Search (Greedy dan A*)
• Dijkstra Algorithm
Mengingat Kembali
• Uninformed Search
• Teknik penyelesaian masalah tanpa adanya informasi
mengenai permasalahannya.
• Dapat menyelesaikan permasalahan namun tidak efisien.
• 4 parameter pengukuran:
• Completeness, Time Complexity, Space Complexity, dan
Optimality
• Contoh: Breadth-First Search dan Depth-First Search.
Kembali ke Romania Problem – jarak
terpendek yang akan
ditempuh oleh Agen
dari Arad ke
Bucharest

Start State

Goal State
Kembali ke Romania – Path dan Cost
Problem – jarak
Path = Arad-Sibiu-Fagaras-Bucharest terpendek yang akan
Path Cost Total = 140 + 99 + 211 = 450 ditempuh oleh Agen
dari Arad ke
Start State Bucharest

Goal State
Mengingat Kembali – Definisi
• Problem dapat didefinisikan ke dalam 5
komponen yakni:
• Initial State atau Start State (SS)
• Action
• Transition Model
• Goal Test (GS)
• Path Cost = Cost antar Simpul (Node)
Initial atau Start State

• Titik awal agen memulai pencarian


solusi.

• Contoh: Dalam kasus Arad-Bucharest,


maka In(Arad).
Action
• Action = langkah yang dijalankan oleh Agen.

• Diberikan sebuah keadaan tertentu (state), s, maka


ACTION(s) memberikan satu himpunan aksi yang
dapat dieksekusi dalam s.

• Contoh: dari state In(Arad), aksi yang dapat dilakukan


adalah {Go(Sibiu), Go(Timisoara), Go(Zerind)}
Transition Model
• Satu deskripsi dari yang dilakukan oleh
setiap aksi melalui fungsi RESULT(s,a),
yakni state hasil dari aksi a dalam state s.

• Contoh: RESULT(In(Arad), Go(Zerind)) =


In(Zerind)
Goal Test
• Menetapkan bahwa state yang dicapai adalah Goal State
(GS) atau bukan.

• GS tidak selalu dinyatakan secara eksplisit dan test akan


meyakinkan bahwa satu state merupakan GS.

• Contoh: GS untuk Agen di Romania adalah {In(Bucharest )}.


Path Cost
• Fungsi biaya jalan (path cost) yang memberikan biaya numerik ke
setiap jalan. Agen problem-solving, memilih fungsi biaya yang
merefleksikan ukuran kinerjanya.

• Biaya langkah (step cost) aksi a dari state s menuju state s’


dinyatakan dengan (s,a,s’).

• Contoh: (In(Arad), Go(Zerind), In(Zerind))


Pseudo-code Agen Problem-Solving
Solusi dan Solusi Optimal
• Solusi terhadap satu permasalahan adalah serangkaian
aksi yang bergerak dari Initial State (IS) atau Start State
(SS) menuju Goal State (GS).

• Kualitas solusi diukur dengan fungsi biaya jalan (path


cost), dan solusi optimal memiliki fungsi biaya jalan
terendah dari semua solusi yang tersedia.
Solusi
• Dapat direpresentasikan sebagai sebuah himpunan
Solusi, S yang berisi aksi, a dari satu state, s ke state
berikutnya s’.
𝑆 = 𝑎1 , 𝑎2 , … , 𝑎𝑛 = 𝑎𝑖 , dimana 𝑖 = 1, 2, … , 𝑛

𝑎1 𝑎2 𝑎3 … 𝑎𝑛 𝒂𝒊
𝑆𝑆 𝑠1 𝑠2 𝑠3 ՜ 𝑠𝑛 𝐺𝑆 dimana ՜ adalah path
cost dari aksi, 𝒂𝒊 .
Path Cost dan Path List
𝒂𝒊
• Path cost atau step cost = (s, a, s’) = p = ՜.
• Path list, PL adalah kumpulan path dari SS
menuju GS, dimana:

𝑃𝐿 = 𝑝1 , 𝑝2 , … , 𝑝𝑚 = 𝑝𝑗 , dimana j =
1, 2, … , 𝑚
Total Path Cost
• Path cost total, PCT adalah serangkaian p dari SS
menuju GS yang dijumlahkan secara total.

𝑃𝐶𝑇 = 𝑝1 + 𝑝2 + ⋯ + 𝑝𝑚
𝑚

𝑃𝐶𝑇 = ෍ 𝑝𝑗
𝑗=1
Informed Search
• Informed = terinformasikan atau telah diberi informasi
lebih awal.
• Teknik penyelesaian masalah dengan diberikan satu panduan
untuk mencari solusi-solusi.
• Menggunakan pengetahuan spesifik-problem.
• Memperoleh solusi lebih efisien daripada strategi uninformed.

• Contoh: Best-First Search (Greedy dan A*)


Pendekatan Umum Informed Search
• Best-First Search
• Algoritma TREE-SEARCH atau GRAPH-SEARCH yang mana
simpul (node) yang dipilih untuk dibuka (expand) didasarkan
pada evaluation function, f(n).

• f(n) adalah estimasi biaya, maka simpul dengan biaya


termurah (cheapest cost) akan dibuka lebih dulu.

• Pemilihan f akan menentukan strategi pencarian.


Fungsi Heuristik
• Sebagian besar algoritma best-first mengikut sertakan
sebuah komponen dari f yakni fungsi heuristik, h(n)

h(n) = biaya perkiraan dari jalan termurah (cheapest path) dari


state pada simpul n ke Goal State (GS)

• Contoh: Kasus Romania, h(n) = garis lurus dari Arad ke


Bucharest (hSLD). SLD = straight-line distance
f(n) = h(n)
hSLD(Arad, Bucharest) = 366
Heuristik,
dimana
h(n) = hSLD
Greedy Best-First Search
• Membuka simpul yang terdekat dengan Goal
hanya menggunakan fungsi heuristik, f(n) =
h(n)

• Kekurangan: dapat terjebak pada infinite


loop sehingga tidak pernah berhasil
mencapai Goal state
Greedy in Action

Perhatikan nilai h(n) sebagai dasar Action selanjutnya


h(Sibiu) < h(Timisoara) < h(Zerind)
Greedy in Action

Perhatikan nilai h(n) sebagai dasar Action selanjutnya


h(Fagaras) < h(Rimnicu Vilcea) < h(Arad) < h(Oradea)
Greedy in Action

• Goal state berhasil dicapai


• Path = {Arad, Sibiu, Fagaras, Bucharest}
• Total Cost = 140 + 99 + 211 = 450
f(n) = h(n)
hSLD(Arad, Bucharest) = 366
Heuristik,
dimana
h(n) = hSLD
A* Search
• Mengevaluasi simpul-simpul dengan mengombinasikan g(n) –
biaya utnuk mencapai simpul, dan h(n) – biaya untuk mencapai
Goal dari simpul, f(n) = g(n) + h(n)

• g(n) = path cost dari start node ke simpul (node) n


• h(n) = estimated cost dari cheapest path dari simpul n ke Goal state

f(n) = estimated cost dari solusi termurah melalui node n


hSLD(Arad, Bucharest) = 366

f(n) = g(n) + h(n)


A* Search in Action

Perhatikan nilai f(n) = g(n) + h(n) sebagai dasar Action selanjutnya


g(Sibiu) = 140, h(Sibiu) = 253, maka f(Sibiu) = 393
f(Sibiu) < f(Timisoara) < f(Zerind)
A* Search in Action

Perhatikan nilai f(n) = g(n) + h(n) sebagai dasar Action selanjutnya.


f(Rimnicu Vilcea) < f(Fagaras) < f(Arad) < f(Oradea)
A* Search in Action

Perhatikan nilai f(n) = g(n) + h(n) sebagai dasar Action selanjutnya.


f(Pitesti) < f(Craiova) < f(Sibiu)
A* Search in Action

Perhatikan nilai f(n) = g(n) + h(n) sebagai dasar Action selanjutnya.


f(Pitesti) < f(Bucharest) < f(Craiova) < f(Sibiu)
A* Search in Action

• Goal state berhasil dicapai


• Path = {Arad, Sibiu, Rimnicu Vilcea, Pitesti, Bucharest}
• Path Cost = 140 + 80 + 97 + 101 = 418
hSLD(Arad, Bucharest) = 366

f(n) = g(n) + h(n)


Benchmark Greedy vs. A* Search
• Greedy
• Start -> Goal = 4 simpul
• Total Cost = 450
• Efficient cost pada pembukaan simpul berikutnya
• Bertumpu murni pada h(n)

• A* Search
• Start -> Goal = 5 simpul
• Total Cost = 418
• Cheapest cost pada pembukaan simpul berikutnya
• Memperhitungkan g(n)
Fungsi Heuristik

Bagaimana cara memperoleh h(n)?


Fungsi Heuristik
• h1 = jumlah ubin yang tidak pada tempatnya sebagai start awal.
• Setiap ubin yang tidak pada tempatnya akan digerakkan minimal sekali

• h2 = jumlah jarak total dari semua ubin dari posisi Goal.


• Karena ubin tidak dapat digerakkan secara diagonal, maka jarak akan
dihitung dari jumlah jarak vertikal dan horisontal ke goal.
• Teknik ini disebut dengan city block distance or Manhattan Distance.
• Semua gerakan adalah menggerakan ubin satu step mendekat ke goal.
Fungsi Heuristik

• h1 = 8 (setiap ubin minimal digerakkan satu kali


• h2 = 3 + 1 + 2 + 2 + 2 + 3 + 3 + 2 = 18
Fungsi Heuristik
• Kasus 8-puzzle
• Ada 4 operator yang dapat digunakan untuk
menggerakkan dari satu keadaan (state) ke keadaan yang
baru.
• Geser ubin kosong ke kiri
• Geser ubin kosong ke kanan
• Geser ubin kosong ke atas
• Geser ubin kosong ke bawah
Kasus 8-Puzzle
Kasus 8-Puzzle
• Informasi yang diberikan dapat berupa
jumlah ubin yang menempati posisi
yang benar. Jumlah yang lebih tinggi
adalah yang diharapkan.

• Langkah selanjutnya yang harus


dilakukan adalah menggeser ubin
kosong ke kiri.
Dijkstra Algorithm
• Disebut sebagai Single-Source
Shortest Path Problem
• Problem menemukan jalur-jalur terdekat dari
Start Node (vertex, v) ke semua Node di
dalam graph.
Dijkstra Algorithm
• Dapat digunakan pada graf degan arah (directed) dan tanpa
arah (undirected) yang mana semua bobot jalur harus tidak-
negatif.

• Pendekatan: Greedy

• Input: Graf dengan bobot G={E,V} dan node sumber v∈V, di


mana semua jalur bernilai tidak-negatif.

• Output: Panjang jalur-jalur terpendek dari node sumber ke


semua node pada graf.
Dijkstra Pseudo-code
Contoh Penggunaan Dijkstra
Contoh Penggunaan Dijkstra
Contoh Penggunaan Dijkstra
Contoh Penggunaan Dijkstra
Contoh Penggunaan Dijkstra
Contoh Penggunaan Dijkstra
Contoh Penggunaan Dijkstra
Contoh Penggunaan Dijkstra
Contoh Penggunaan Dijkstra
Contoh Penggunaan Dijkstra
Complexity
• The simplest implementation is to store vertices in an array or
linked list. This will produce a running time of

• O(|V|^2 + |E|)

• For sparse graphs, or graphs with very few edges and many nodes,
it can be implemented more efficiently storing the graph in an
adjacency list using a binary heap or priority queue. This will
produce a running time of

• O((|E|+|V|) log |V|)


Catatan-catatan
• Metode-metode Informed Search memiliki akses
ke fungsi heuristik, h(n) yang mengestimasi biaya
dari sebuah solusi dari simpul n

• Best-First Search algoritma memilih satu simpul


yang akan dibuka berdasarkan sebuah fungsi
evaluasi
Catatan-catatan
• Algoritma Greedy membuka simpul-simpul
yang memiliki h(n) minimal. Tidak optimal,
namun efisien.

• Algoritma A* Search membuka simpul yang


memiliki cost minimal, f(n) = g(n) + h(n).
Catatan-catatan
• Kinerja algoritma pencarian berdasarkan
heuristik bergantung kepada kualitas
fungsi heuristik, h(n).
• Kinerja algoritma Dijkstra Menggunakan
pendekatan Greedy.
Kembali ke Romania
Start State

hSLD(Oradea, Bucharest) = 380

Goal State
Reading Pleasure
• S. J. Russell and P. Norvig, 2016, Artificial
Intelligence: A Modern Approach Third
Edition, Pearson Education Limited
• Especially Chapter 3 – Solving Problems by Searching
• Dijktra’s Algorithm –
• https://www.cs.utexas.edu/~tandy/barrera
.ppt.

Anda mungkin juga menyukai