SlideShare a Scribd company logo
1 of 16
Problem Solving
Searching
Eddy Tungadi, ST, MT
2
Pendahuluan
• Hubungan searching dengan AI ?
– Sistem AI, khususnya problem-solving agent (salah satu jenis
goal-based agent), diharapkan dapat memecahkan suatu
masalah secara autonomous. Salah satu cara untuk
melakukannya, adalah dengan mencari langkah-langkah yang
dapat mengantarkannya ke solusi menggunakan algoritma
search.
• Pencarian solusi hanya bisa dilakukan setelah agent
mengetahui apa yang dihadapinya, apa yang dicarinya
perlu problem definition.
• Secara kasar, simple problem-solving agent :
Percept Problem definition Search for solution Action.
3
Problem Definition
• Problem definition (single-state problems) dapat
dinyatakan dalam : contoh : lihat papan.
– Initial state :
• Keadaan/state awal.
– Operator :
• Aksi yang mungkin dilakukan agent. Aksi tersebut-lah yg. mampu
memindahkan agent dari satu state ke state lain yang masih berada
dalam state space-nya (himpunan seluruh state yang dapat dicapai dari
initial state melalui serangkaian aksi, merupakan gabungan antara
initial state dng. state-state yg. dihasilkan oleh operator yg. ada).
– Goal test :
• Menentukan apakah goal space telah tercapai atau belum.
• Solusi : path yg. menghubungkan intial state dng. goal state.
4
Problem Definition
– Path cost function (g):
• Menentukan path mana (dlm. hal ini dapat dianggap juga rangkaian
aksi) mana yg. lebih preferable.
• Problem definition utk. multiple-state problems hampir
sama dng. problem definition utk. single-state
problems, hanya saja state yg. ada berubah menjadi set
of state. Beberapa perubahan:
– Initial state menjadi : Initial state set.
– State space menjadi : State set space.
– Path menghubungkan set of states satu ke set of states lain.
– Solusi : path yg. menghubungkan initial state set ke set of
goal states.
5
Searching
• Secara garis besar, searching dibedakan
menjadi:
– Uninformed search (blind search).
• Tidak ada informasi mengenai jarak/cost dari current state
ke goal state.
– Informed search. (heuristic search)
• Ada informasi mengenai jarak/cost dari current state ke
goal state.
• Hal yg. perlu diperhatikan dlm. searching :
– Completeness: jk. solusi ada, apakah pasti akan
ditemukan ?
– Optimallity: jk. ada > 1 solusi, apakah selalu solusi
terbaik yg. diperoleh ?
– Time Complexity: waktu yg. dibutuhkan utk.
mendpt. solusi.
– Space complexity: memory yg. dibutuhkan utk.
melakukan searching.
6
7
Searching
• Contoh uninformed search :
– Breadth-first search (BFS).
– Uniform cost search.
– Depth-first search (DFS).
– Depth-limited search.
– Iterative deepening search (IDS).
– Bidirectional search.
8
Breadth-First Search (BFS)
• Semua node solusi pada level n akan dikunjungi
terlebih dahulu sebelum level n+1
• Pencarian mulai dari akar kemudian ke level 1 mulai
dari kiri ke kanan
• Complete (Jika ada satu solusi maka Bredth-First
Search akan menemukannya)
• Membutuhkan memori yang cukup banyak
• Struktur data : queue.
• Optimal (jk. kedalaman node = path cost).
9
Uniform Cost Search
• Utk. mengatasi agar search tetap optimal meskipun
kedalaman node != path cost. Node diurutkan & di-
expand berdasarkan path cost-nya. Akan = BFS jk.
semua node n memiliki path cost(n)= depth(n).
• Complete.
• Optimal (jk semua path cost non-decreasing/tidak ada
yg. negatif), lihat contoh di papan.
10
Depth-First Search (DFS)
• Proses pencarian dilakukan pada semua anaknya
sebelum dilakukan pencarian ke node-node yang
selevel
• Struktur data : stack.
• Tidak complete (bisa solusi ada, tapi stuck di inf. loop).
• Tidak optimal (bisa solusi yg. lebih baik ada, tapi yg.
keambil yg. kurang baik).
• Keuntungan : Memori relatif kecil, Secara kebetulan
akan menemukan solusi tanpa harus meguji lebih
banyak lagi
11
Depth-Limited Search
• Sama dng. DFS, hanya saja depth yg. akan di-expand
dibatasi. Hal ini utk. menghindari inf. loop/pencarian
yg. tdk. optimal krn. mencari terlalu dalam.
• Complete (batas depth >= depth(solusi) / Tidak
complete (bisa solusi ada, tapi > batas depth).
• Tidak optimal (bisa ada > 1 solusi pd. depth < batas
depth, tapi yg. keambil solusi yg. kurang baik).
12
Iterative Deepening Search (IDS)
• Gabungan antara BFS & DFS. Pencarian dilakukan per
level. Utk. tiap level, dilakukan DFS dng. level tersebut
sebagai batas depth.
• Mengatasi kesulitan mencari batas depth pd. depth
limited search.
• Complete.
• Optimal.
13
Bidirectional Search
• Pencarian dilakukan 2 arah, dari root & dari goal.
Solusi berhasil ditemukan ketika path dari root & goal
bertemu.
• Complete.
• Optimal.
14
Constraint Satisfaction Problem (CSP)
• States : values of a set of variables.
• Goal test : a set of constraints that the values must obey.
• Dapat diselesaikan dng. metode searching biasa & dpt.
pula dng. algoritma khusus (constraint satisfaction
search, lebih efisien).
• CSP dapat dikelompokkan menjadi :
– Berdasarkan banyaknya variabel dng. constraint :
• Unary, binary, higher-order.
– Apakah constraint merupakan keharusan atau preference :
• Absolute, preference.
– Berdasarkan nilai domain :
• Discrete, continuous.
15
Constraint Satisfaction Search
• Dng. memanfaatkan constraint, node yg. perlu di-
expand menjadi lebih sedikkit shg. waktu yg.
dibutuhkan oleh searching lebih sedikit.
• Ada 2 macam :
– Backtracking search.
• Memeriksa yg. telah di-expand.
– Forward checking.
• Memeriksa dulu sebelum meng-expand.
Informed Search (Heuristic)
• Pendakian Bukit (Hill Climbing)
• Pencarian Terbaik Pertama (Best First Search)
• Pembangkit & Pengujian (Generate & Test)
• Simulated Annealing
16

More Related Content

Similar to Materi4 searching (10)

Searching
SearchingSearching
Searching
 
Metode pencarian dan pelacakan
Metode pencarian dan pelacakanMetode pencarian dan pelacakan
Metode pencarian dan pelacakan
 
Tugas Problem solving AI.pptx
Tugas Problem solving AI.pptxTugas Problem solving AI.pptx
Tugas Problem solving AI.pptx
 
MKB3462-Kecerdasan-Buatan_4_Heuristic-Search_v2.pptx
MKB3462-Kecerdasan-Buatan_4_Heuristic-Search_v2.pptxMKB3462-Kecerdasan-Buatan_4_Heuristic-Search_v2.pptx
MKB3462-Kecerdasan-Buatan_4_Heuristic-Search_v2.pptx
 
Pertemuan 4-5-6 Metode Pelacakan dan Pencarian
Pertemuan 4-5-6 Metode Pelacakan dan PencarianPertemuan 4-5-6 Metode Pelacakan dan Pencarian
Pertemuan 4-5-6 Metode Pelacakan dan Pencarian
 
AI_20111003
AI_20111003AI_20111003
AI_20111003
 
Tugas2 -metode searching ai
Tugas2 -metode searching aiTugas2 -metode searching ai
Tugas2 -metode searching ai
 
Praktikum Algoritma3
Praktikum Algoritma3Praktikum Algoritma3
Praktikum Algoritma3
 
Praktikum algoritma 3 baru
Praktikum algoritma 3 baruPraktikum algoritma 3 baru
Praktikum algoritma 3 baru
 
131111092-Forum5-PencarianHeuristik
131111092-Forum5-PencarianHeuristik131111092-Forum5-PencarianHeuristik
131111092-Forum5-PencarianHeuristik
 

More from Eddy Tungadi (7)

Math on - Universal Language
Math on - Universal LanguageMath on - Universal Language
Math on - Universal Language
 
General english
General englishGeneral english
General english
 
Materi8 sistem pakar_ai
Materi8 sistem pakar_aiMateri8 sistem pakar_ai
Materi8 sistem pakar_ai
 
Materi5 blind search_bfs-dfs
Materi5 blind search_bfs-dfsMateri5 blind search_bfs-dfs
Materi5 blind search_bfs-dfs
 
Materi7 konvensionalvs ai
Materi7 konvensionalvs aiMateri7 konvensionalvs ai
Materi7 konvensionalvs ai
 
Materi2 problem solving
Materi2 problem solvingMateri2 problem solving
Materi2 problem solving
 
Materi1 pengantar ai
Materi1 pengantar aiMateri1 pengantar ai
Materi1 pengantar ai
 

Materi4 searching

  • 2. 2 Pendahuluan • Hubungan searching dengan AI ? – Sistem AI, khususnya problem-solving agent (salah satu jenis goal-based agent), diharapkan dapat memecahkan suatu masalah secara autonomous. Salah satu cara untuk melakukannya, adalah dengan mencari langkah-langkah yang dapat mengantarkannya ke solusi menggunakan algoritma search. • Pencarian solusi hanya bisa dilakukan setelah agent mengetahui apa yang dihadapinya, apa yang dicarinya perlu problem definition. • Secara kasar, simple problem-solving agent : Percept Problem definition Search for solution Action.
  • 3. 3 Problem Definition • Problem definition (single-state problems) dapat dinyatakan dalam : contoh : lihat papan. – Initial state : • Keadaan/state awal. – Operator : • Aksi yang mungkin dilakukan agent. Aksi tersebut-lah yg. mampu memindahkan agent dari satu state ke state lain yang masih berada dalam state space-nya (himpunan seluruh state yang dapat dicapai dari initial state melalui serangkaian aksi, merupakan gabungan antara initial state dng. state-state yg. dihasilkan oleh operator yg. ada). – Goal test : • Menentukan apakah goal space telah tercapai atau belum. • Solusi : path yg. menghubungkan intial state dng. goal state.
  • 4. 4 Problem Definition – Path cost function (g): • Menentukan path mana (dlm. hal ini dapat dianggap juga rangkaian aksi) mana yg. lebih preferable. • Problem definition utk. multiple-state problems hampir sama dng. problem definition utk. single-state problems, hanya saja state yg. ada berubah menjadi set of state. Beberapa perubahan: – Initial state menjadi : Initial state set. – State space menjadi : State set space. – Path menghubungkan set of states satu ke set of states lain. – Solusi : path yg. menghubungkan initial state set ke set of goal states.
  • 5. 5 Searching • Secara garis besar, searching dibedakan menjadi: – Uninformed search (blind search). • Tidak ada informasi mengenai jarak/cost dari current state ke goal state. – Informed search. (heuristic search) • Ada informasi mengenai jarak/cost dari current state ke goal state.
  • 6. • Hal yg. perlu diperhatikan dlm. searching : – Completeness: jk. solusi ada, apakah pasti akan ditemukan ? – Optimallity: jk. ada > 1 solusi, apakah selalu solusi terbaik yg. diperoleh ? – Time Complexity: waktu yg. dibutuhkan utk. mendpt. solusi. – Space complexity: memory yg. dibutuhkan utk. melakukan searching. 6
  • 7. 7 Searching • Contoh uninformed search : – Breadth-first search (BFS). – Uniform cost search. – Depth-first search (DFS). – Depth-limited search. – Iterative deepening search (IDS). – Bidirectional search.
  • 8. 8 Breadth-First Search (BFS) • Semua node solusi pada level n akan dikunjungi terlebih dahulu sebelum level n+1 • Pencarian mulai dari akar kemudian ke level 1 mulai dari kiri ke kanan • Complete (Jika ada satu solusi maka Bredth-First Search akan menemukannya) • Membutuhkan memori yang cukup banyak • Struktur data : queue. • Optimal (jk. kedalaman node = path cost).
  • 9. 9 Uniform Cost Search • Utk. mengatasi agar search tetap optimal meskipun kedalaman node != path cost. Node diurutkan & di- expand berdasarkan path cost-nya. Akan = BFS jk. semua node n memiliki path cost(n)= depth(n). • Complete. • Optimal (jk semua path cost non-decreasing/tidak ada yg. negatif), lihat contoh di papan.
  • 10. 10 Depth-First Search (DFS) • Proses pencarian dilakukan pada semua anaknya sebelum dilakukan pencarian ke node-node yang selevel • Struktur data : stack. • Tidak complete (bisa solusi ada, tapi stuck di inf. loop). • Tidak optimal (bisa solusi yg. lebih baik ada, tapi yg. keambil yg. kurang baik). • Keuntungan : Memori relatif kecil, Secara kebetulan akan menemukan solusi tanpa harus meguji lebih banyak lagi
  • 11. 11 Depth-Limited Search • Sama dng. DFS, hanya saja depth yg. akan di-expand dibatasi. Hal ini utk. menghindari inf. loop/pencarian yg. tdk. optimal krn. mencari terlalu dalam. • Complete (batas depth >= depth(solusi) / Tidak complete (bisa solusi ada, tapi > batas depth). • Tidak optimal (bisa ada > 1 solusi pd. depth < batas depth, tapi yg. keambil solusi yg. kurang baik).
  • 12. 12 Iterative Deepening Search (IDS) • Gabungan antara BFS & DFS. Pencarian dilakukan per level. Utk. tiap level, dilakukan DFS dng. level tersebut sebagai batas depth. • Mengatasi kesulitan mencari batas depth pd. depth limited search. • Complete. • Optimal.
  • 13. 13 Bidirectional Search • Pencarian dilakukan 2 arah, dari root & dari goal. Solusi berhasil ditemukan ketika path dari root & goal bertemu. • Complete. • Optimal.
  • 14. 14 Constraint Satisfaction Problem (CSP) • States : values of a set of variables. • Goal test : a set of constraints that the values must obey. • Dapat diselesaikan dng. metode searching biasa & dpt. pula dng. algoritma khusus (constraint satisfaction search, lebih efisien). • CSP dapat dikelompokkan menjadi : – Berdasarkan banyaknya variabel dng. constraint : • Unary, binary, higher-order. – Apakah constraint merupakan keharusan atau preference : • Absolute, preference. – Berdasarkan nilai domain : • Discrete, continuous.
  • 15. 15 Constraint Satisfaction Search • Dng. memanfaatkan constraint, node yg. perlu di- expand menjadi lebih sedikkit shg. waktu yg. dibutuhkan oleh searching lebih sedikit. • Ada 2 macam : – Backtracking search. • Memeriksa yg. telah di-expand. – Forward checking. • Memeriksa dulu sebelum meng-expand.
  • 16. Informed Search (Heuristic) • Pendakian Bukit (Hill Climbing) • Pencarian Terbaik Pertama (Best First Search) • Pembangkit & Pengujian (Generate & Test) • Simulated Annealing 16