際際滷

際際滷Share a Scribd company logo
Metode Pelacakan Buta

                  Inteligensi Buatan (MKB6403)
                              Kuliah 4



    SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER INDONESIA (STMIK-INDONESIA)
                                          息 2011




   Cara Kerja Problem-Solving Agent
1. Perumusan tujuan (goal formulation): tentukan
   tujuan yang ingin dicapai
2. Perumusan masalah (problem formulation):
   tentukan tindakan (action) dan keadaan (state)
   yang dipertimbangkan dalam mencapai tujuan
3. Pencarian solusi masalah (searching): tentukan
   rangkaian tindakan yang perlu diambil untuk
   mencapai tujuan
4. Pelaksanaan solusi (execution): laksanakan
   rangkaian tindakan yang sudah ditentukan di
   tahap sebelumnya

10/19/2011                           Metode Pelacakan Buta                                 2
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



                   Sibiu        Timisoara              Zerind



      Fagaras     Oradea      Rimnicu Vilcea




10/19/2011                     Metode Pelacakan Buta                   3




 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 failure
          node  REMOVE-FIRST(fringe)
          if GOAL-TEST(problem) applied to STATE(node) succeeds
            then return node
          fringe  INSERT-ALL(EXPAND(node,problem),fringe)
     end

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
Strategi Pencarian

 Ada berbagai jenis strategi dalam melakukan
  searching. Perbedaannya terdapat pada node
  expansion-nya
 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
       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
Jenis-jenis Uninformed Strategy

   Breadth-first Search (BFS)
   Depth-first Search (DFS)
   Depth-limited 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)
     Hasil node expansion (successor function) ditaruh di
      belakang




10/19/2011                 Metode Pelacakan Buta                   8
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)
     Hasil node expansion (successor function) ditaruh di
      belakang
                                   A




10/19/2011                   Metode Pelacakan Buta                 9




                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)
     Hasil node expansion (successor function) ditaruh di
      belakang
                                   A


                         B                     C




10/19/2011                   Metode Pelacakan Buta             10
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)
     Hasil node expansion (successor function) ditaruh di
      belakang
                                   A


                         B                     C


                     D        E

10/19/2011                   Metode Pelacakan Buta             11




                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)
     Hasil node expansion (successor function) ditaruh di
      belakang
                                   A


                         B                     C


                     D        E          F           G

10/19/2011                   Metode Pelacakan Buta             12
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)




10/19/2011                  Metode Pelacakan Buta                14
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)
                                     A




10/19/2011                  Metode Pelacakan Buta                15




                  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)
                                     A


                      B                             C




10/19/2011                  Metode Pelacakan Buta                16
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)
                                       A


                          B                           C


                 D             E




10/19/2011                    Metode Pelacakan Buta              17




                     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)
                                       A


                          B                           C


                 D             E


             H        I

10/19/2011                    Metode Pelacakan Buta              18
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)
                                            A


                          B                               C


                 D                 E



             H        I

10/19/2011                        Metode Pelacakan Buta          19




                     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)
                                            A


                          B                               C


                 D                 E


             H        I       J         K

10/19/2011                        Metode Pelacakan Buta          20
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)
                                            A


                          B                                   C


                 D                 E



             H        I       J         K

10/19/2011                        Metode Pelacakan Buta               21




                     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)
                                            A


                          B                                   C


                 D                 E                      F       G


             H        I       J         K

10/19/2011                        Metode Pelacakan Buta               22
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)
                                            A


                          B                                       C


                 D                 E                      F           G



             H        I       J         K         L           M

10/19/2011                        Metode Pelacakan Buta                   23




                     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)
                                            A


                          B                                       C


                 D                 E                      F           G


             H        I       J         K         L           M

10/19/2011                        Metode Pelacakan Buta                   24
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)
                                            A


                          B                                       C


                 D                 E                      F               G



             H        I       J         K         L           M       N       O

10/19/2011                        Metode Pelacakan Buta                           25




Cari solusi dari Arad ke Bucharet dengan menggunakan DFS!




10/19/2011                        Metode Pelacakan Buta                           26
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
  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
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
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
Cari solusi dari Arad ke Bucharet dengan menggunakan depth-
limited search dengan l = 3!




10/19/2011               Metode Pelacakan Buta                33

More Related Content

AI_20111010

  • 1. Metode Pelacakan Buta Inteligensi Buatan (MKB6403) Kuliah 4 SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER INDONESIA (STMIK-INDONESIA) 息 2011 Cara Kerja Problem-Solving Agent 1. Perumusan tujuan (goal formulation): tentukan tujuan yang ingin dicapai 2. Perumusan masalah (problem formulation): tentukan tindakan (action) dan keadaan (state) yang dipertimbangkan dalam mencapai tujuan 3. Pencarian solusi masalah (searching): tentukan rangkaian tindakan yang perlu diambil untuk mencapai tujuan 4. Pelaksanaan solusi (execution): laksanakan rangkaian tindakan yang sudah ditentukan di tahap sebelumnya 10/19/2011 Metode Pelacakan Buta 2
  • 2. 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 Sibiu Timisoara Zerind Fagaras Oradea Rimnicu Vilcea 10/19/2011 Metode Pelacakan Buta 3 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 failure node REMOVE-FIRST(fringe) if GOAL-TEST(problem) applied to STATE(node) succeeds then return node fringe INSERT-ALL(EXPAND(node,problem),fringe) end 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
  • 3. Strategi Pencarian Ada berbagai jenis strategi dalam melakukan searching. Perbedaannya terdapat pada node expansion-nya 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 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
  • 4. Jenis-jenis Uninformed Strategy Breadth-first Search (BFS) Depth-first Search (DFS) Depth-limited 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) Hasil node expansion (successor function) ditaruh di belakang 10/19/2011 Metode Pelacakan Buta 8
  • 5. 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) Hasil node expansion (successor function) ditaruh di belakang A 10/19/2011 Metode Pelacakan Buta 9 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) Hasil node expansion (successor function) ditaruh di belakang A B C 10/19/2011 Metode Pelacakan Buta 10
  • 6. 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) Hasil node expansion (successor function) ditaruh di belakang A B C D E 10/19/2011 Metode Pelacakan Buta 11 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) Hasil node expansion (successor function) ditaruh di belakang A B C D E F G 10/19/2011 Metode Pelacakan Buta 12
  • 7. 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) 10/19/2011 Metode Pelacakan Buta 14
  • 8. 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) A 10/19/2011 Metode Pelacakan Buta 15 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) A B C 10/19/2011 Metode Pelacakan Buta 16
  • 9. 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) A B C D E 10/19/2011 Metode Pelacakan Buta 17 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) A B C D E H I 10/19/2011 Metode Pelacakan Buta 18
  • 10. 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) A B C D E H I 10/19/2011 Metode Pelacakan Buta 19 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) A B C D E H I J K 10/19/2011 Metode Pelacakan Buta 20
  • 11. 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) A B C D E H I J K 10/19/2011 Metode Pelacakan Buta 21 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) A B C D E F G H I J K 10/19/2011 Metode Pelacakan Buta 22
  • 12. 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) A B C D E F G H I J K L M 10/19/2011 Metode Pelacakan Buta 23 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) A B C D E F G H I J K L M 10/19/2011 Metode Pelacakan Buta 24
  • 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) A B C D E F G H I J K L M N O 10/19/2011 Metode Pelacakan Buta 25 Cari solusi dari Arad ke Bucharet dengan menggunakan DFS! 10/19/2011 Metode Pelacakan Buta 26
  • 14. 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 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
  • 15. 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
  • 16. 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
  • 17. Cari solusi dari Arad ke Bucharet dengan menggunakan depth- limited search dengan l = 3! 10/19/2011 Metode Pelacakan Buta 33