AI_20111010
-
Upload
albaar-rubhasy -
Category
Technology
-
view
590 -
download
0
Transcript of AI_20111010
![Page 1: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/1.jpg)
Metode Pelacakan Buta
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER INDONESIA (STMIK-INDONESIA)
© 2011
Inteligensi Buatan (MKB6403)
Kuliah 4
Cara Kerja Problem-Solving Agent
1. Perumusan tujuan (goal formulation): tentukantujuan yang ingin dicapai
2. Perumusan masalah (problem formulation): tentukan tindakan (action) dan keadaan (state) yang dipertimbangkan dalam mencapai tujuanyang dipertimbangkan dalam mencapai tujuan
3. Pencarian solusi masalah (searching): tentukanrangkaian tindakan yang perlu diambil untukmencapai tujuan
4. Pelaksanaan solusi (execution): laksanakanrangkaian tindakan yang sudah ditentukan ditahap sebelumnya
10/19/2011 Metode Pelacakan Buta 2
![Page 2: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/2.jpg)
Contoh Penelusuran Search Tree
• Mulai dari root node (Arad) sebagai current node
• Lakukan node expansion
• Pilih salah satu node yang di-expand sebagai current node
yang baru. Ulangi langkah sebelumnya
Arad
10/19/2011 Metode Pelacakan Buta 3
Arad
Sibiu ZerindTimisoara
Fagaras Oradea Rimnicu Vilcea
Algoritma Penelusuran Search Tree
function GENERAL-SEARCH(problem,fringe) returns solution or failure
fringe ← INSERT(MAKE-NODE(INITIAL-STATE(problem),fringe))loop do
if fringe is EMPTY than return failurenode ← REMOVE-FIRST(fringe)if GOAL-TEST(problem) applied to STATE(node) succeeds then return node
fringe ← INSERT-ALL(EXPAND(node,problem),fringe)
1. Pada awal, fringe = himpunan node yang mewakili initial state
2. Pilih satu node dari fringe sebagai current node. Jika fringe kosong, selesai dengan gagal
3. Jika node tsb . lolos goal test, selesai dengan sukses!
4. Jika tidak, lakukan node expansion terhadap current node tsb.
5. Ulangi langkah 2
10/19/2011 Metode Pelacakan Buta 4
fringe ← INSERT-ALL(EXPAND(node,problem),fringe)end
![Page 3: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/3.jpg)
Strategi Pencarian
• Ada berbagai jenis strategi dalam melakukan
searching. Perbedaannya terdapat pada node
expansion-nya
• Search strategy dievaluasi berdasarkan:Search strategy dievaluasi berdasarkan:
– Completeness: apakah solusi (jika ada) pasti ditemukan?
– Time complexity: berapa lama untuk mencari solusi? atau
berapa banyak jumlah node yang di-expand?
– Space complexity: jumlah maksimum node di dalam
memori
– Optimality: apakah solusi dengan minimum cost pasti
ditemukan?
10/19/2011 Metode Pelacakan Buta 5
Jenis-jenis Strategi Pencarian
• Ada 2 jenis strategi pencarian:
– Uninformed strategy, hanya menggunakan
informasi dari definisi masalah
– Informed strategy, menggunakan informasi– Informed strategy, menggunakan informasi
lainnya
• Uninformed strategy dapat diterapkan secara
generik terhadap semua jenis masalah yang
bisa direpresentasikan dalam sebuah state
space
10/19/2011 Metode Pelacakan Buta 6
![Page 4: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/4.jpg)
Jenis-jenis Uninformed Strategy
• Breadth-first Search (BFS)
• Depth-first Search (DFS)
• Depth-limited Search
• Iterative Deepening Search• Iterative Deepening Search
10/19/2011 Metode Pelacakan Buta 7
Breadth-first Search
• Prinsip breadth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“dekat” ke root → systema�c strategy
• Implementasi: fringe adalah sebuah queue, data struktur
FIFO (First In First Out)FIFO (First In First Out)
• Hasil node expansion (successor function) ditaruh di
belakang
10/19/2011 Metode Pelacakan Buta 8
![Page 5: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/5.jpg)
Breadth-first Search
• Prinsip breadth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“dekat” ke root → systema�c strategy
• Implementasi: fringe adalah sebuah queue, data struktur
FIFO (First In First Out)FIFO (First In First Out)
• Hasil node expansion (successor function) ditaruh di
belakang
10/19/2011 Metode Pelacakan Buta 9
A
Breadth-first Search
• Prinsip breadth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“dekat” ke root → systema�c strategy
• Implementasi: fringe adalah sebuah queue, data struktur
FIFO (First In First Out)FIFO (First In First Out)
• Hasil node expansion (successor function) ditaruh di
belakang
10/19/2011 Metode Pelacakan Buta 10
A
B C
A
![Page 6: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/6.jpg)
Breadth-first Search
• Prinsip breadth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“dekat” ke root → systema�c strategy
• Implementasi: fringe adalah sebuah queue, data struktur
FIFO (First In First Out)FIFO (First In First Out)
• Hasil node expansion (successor function) ditaruh di
belakang
10/19/2011 Metode Pelacakan Buta 11
A
B C
D E
A
B
Breadth-first Search
• Prinsip breadth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“dekat” ke root → systema�c strategy
• Implementasi: fringe adalah sebuah queue, data struktur
FIFO (First In First Out)FIFO (First In First Out)
• Hasil node expansion (successor function) ditaruh di
belakang
10/19/2011 Metode Pelacakan Buta 12
A
B C
D E F G
A
B C
![Page 7: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/7.jpg)
Cari solusi dari Arad ke Bucharet dengan menggunakan BFS!
10/19/2011 Metode Pelacakan Buta 13
Depth-first Search
• Prinsip depth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“jauh” dari root
• Implementasi: fringe adalah sebuah stack, data struktur LIFO
(Last In First Out)(Last In First Out)
10/19/2011 Metode Pelacakan Buta 14
![Page 8: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/8.jpg)
Depth-first Search
• Prinsip depth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“jauh” dari root
• Implementasi: fringe adalah sebuah stack, data struktur LIFO
(Last In First Out)(Last In First Out)
10/19/2011 Metode Pelacakan Buta 15
A
Depth-first Search
• Prinsip depth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“jauh” dari root
• Implementasi: fringe adalah sebuah stack, data struktur LIFO
(Last In First Out)(Last In First Out)
10/19/2011 Metode Pelacakan Buta 16
A
B C
A
![Page 9: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/9.jpg)
Depth-first Search
• Prinsip depth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“jauh” dari root
• Implementasi: fringe adalah sebuah stack, data struktur LIFO
(Last In First Out)(Last In First Out)
10/19/2011 Metode Pelacakan Buta 17
A
B C
D E
A
B
Depth-first Search
• Prinsip depth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“jauh” dari root
• Implementasi: fringe adalah sebuah stack, data struktur LIFO
(Last In First Out)(Last In First Out)
10/19/2011 Metode Pelacakan Buta 18
A
B C
D E
A
B
H I
D
![Page 10: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/10.jpg)
Depth-first Search
• Prinsip depth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“jauh” dari root
• Implementasi: fringe adalah sebuah stack, data struktur LIFO
(Last In First Out)(Last In First Out)
10/19/2011 Metode Pelacakan Buta 19
A
B C
D E
A
B
H I
D
Depth-first Search
• Prinsip depth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“jauh” dari root
• Implementasi: fringe adalah sebuah stack, data struktur LIFO
(Last In First Out)(Last In First Out)
10/19/2011 Metode Pelacakan Buta 20
A
B C
D E
A
B
H I J K
D E
![Page 11: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/11.jpg)
Depth-first Search
• Prinsip depth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“jauh” dari root
• Implementasi: fringe adalah sebuah stack, data struktur LIFO
(Last In First Out)(Last In First Out)
10/19/2011 Metode Pelacakan Buta 21
A
B C
D E
A
B
H I J K
D E
Depth-first Search
• Prinsip depth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“jauh” dari root
• Implementasi: fringe adalah sebuah stack, data struktur LIFO
(Last In First Out)(Last In First Out)
10/19/2011 Metode Pelacakan Buta 22
A
B C
D E F G
A
B C
H I J K
D E
![Page 12: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/12.jpg)
Depth-first Search
• Prinsip depth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“jauh” dari root
• Implementasi: fringe adalah sebuah stack, data struktur LIFO
(Last In First Out)(Last In First Out)
10/19/2011 Metode Pelacakan Buta 23
A
B C
D E F G
A
B C
H I J K L M
D E F
Depth-first Search
• Prinsip depth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“jauh” dari root
• Implementasi: fringe adalah sebuah stack, data struktur LIFO
(Last In First Out)(Last In First Out)
10/19/2011 Metode Pelacakan Buta 24
A
B C
D E F G
A
B C
H I J K L M
D E F
![Page 13: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/13.jpg)
Depth-first Search
• Prinsip depth-first search:
Lakukan node expansion terhadap node di fringe yang paling
“jauh” dari root
• Implementasi: fringe adalah sebuah stack, data struktur LIFO
(Last In First Out)(Last In First Out)
10/19/2011 Metode Pelacakan Buta 25
A
B C
D E F G
A
B C
H I J K L M N O
D E F G
Cari solusi dari Arad ke Bucharet dengan menggunakan DFS!
10/19/2011 Metode Pelacakan Buta 26
![Page 14: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/14.jpg)
Depth-limited Search
• Prinsip depth-limited search:
Sama seperti depth-first search dengan depth yang
terbatas.
• Contoh: Ada 20 kota dalam peta Rumania. Jika ada• Contoh: Ada 20 kota dalam peta Rumania. Jika ada
solusinya, maka length maksimum adalah 19.
10/19/2011 Metode Pelacakan Buta 27
Iterative Deepening Search
• Prinsip depth-first search:
Lakukan depth-limited search secara bertahap
dengan nilai l yang incremental
10/19/2011 Metode Pelacakan Buta 28
![Page 15: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/15.jpg)
Iterative Deepening Search
• Prinsip depth-first search:
Lakukan depth-limited search secara bertahap
dengan nilai l yang incremental
10/19/2011 Metode Pelacakan Buta 29
Iterative Deepening Search
• Prinsip depth-first search:
Lakukan depth-limited search secara bertahap
dengan nilai l yang incremental
10/19/2011 Metode Pelacakan Buta 30
![Page 16: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/16.jpg)
Iterative Deepening Search
• Prinsip depth-first search:
Lakukan depth-limited search secara bertahap
dengan nilai l yang incremental
10/19/2011 Metode Pelacakan Buta 31
Iterative Deepening Search
• Prinsip depth-first search:
Lakukan depth-limited search secara bertahap
dengan nilai l yang incremental
10/19/2011 Metode Pelacakan Buta 32
![Page 17: AI_20111010](https://reader033.fdocument.pub/reader033/viewer/2022060110/555cab52d8b42aad358b4d39/html5/thumbnails/17.jpg)
Cari solusi dari Arad ke Bucharet dengan menggunakan depth-
limited search dengan l = 3!
10/19/2011 Metode Pelacakan Buta 33