Top Banner
IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative- deepening Pengulangan state Ringkasan IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies (Rev.) Ruli Manurung Fakultas Ilmu Komputer Universitas Indonesia 5 September 2007
76

IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

Feb 01, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

IKI 30320: Sistem CerdasKuliah 4: Uninformed Search Strategies

(Rev.)

Ruli Manurung

Fakultas Ilmu KomputerUniversitas Indonesia

5 September 2007

Page 2: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Outline

1 Ulasan

2 Breadth-first

3 Uniform-cost

4 Depth-first

5 Iterative-deepening

6 Pengulangan state

7 Ringkasan

Page 3: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Outline

1 Ulasan

2 Breadth-first

3 Uniform-cost

4 Depth-first

5 Iterative-deepening

6 Pengulangan state

7 Ringkasan

Page 4: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Problem-solving agent & search

Sebuah problem-solving agent memecahkan sebuahmasalah dalam 2 tahap:

Goal & problem formulation: masalah dinyatakan sebagai sebuahstate space, yang sering direpresentasikan dalam bentuk graph.Action adalah abstraksi tindakan yang dapat diambilState adalah abstraksi keadaan yang dapat terjadi

Solution search: solusi diperoleh dengan mencari rangkaiantindakan (action sequence) yang membawa agent ke goal state.

Proses pencarian solusi sebagai search tree

Lugoj AradArad OradeaRimnicu Vilcea

Zerind

Arad

Sibiu

Arad Fagaras Oradea

Timisoara

Page 5: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Algoritma penelusuran search tree

1 Pada awalnya, fringe = himpunan node yang mewakili initial state.2 Pilih satu node dari fringe sebagai current node (Kalau 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.

Tambahkan semua node yang dihasilkan ke fringe.5 Ulangi langkah 2.

function TREESEARCH (problem, fringe) returns solution or failure

fringe← INSERT(MAKENODE(INITIALSTATE(problem)),fringe)loop do

if EMPTY?(fringe) then return failurenode← REMOVEFIRST(fringe)if GOALTEST(problem) applied to STATE(node) succeeds

then return SOLUTION(node)fringe← INSERTALL(EXPAND(node,problem),fringe)

Page 6: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Strategi pencarian

Terdapat berbagai jenis strategi untuk melakukansearch.Semua strategi ini berbeda dalam satu hal: urutan darinode expansion.Search strategy di-evaluasi berdasarkan:

completeness: apakah solusi (jika ada) pastiditemukan?time complexity: jumlah node yang di-generate.space complexity: jumlah maksimum node di dalammemory.optimality: apakah solusi dengan minimum cost pastiditemukan?

Time & space complexity diukur berdasarkanb - branching factor dari search treed - depth (kedalaman) dari solusi optimalm - kedalaman maksimum dari search tree (bisainfinite!)

Page 7: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Uninformed search strategies

Uninformed strategy hanya menggunakan informasidari definisi masalah.Bisa diterapkan secara generik terhadap semua jenismasalah yang bisa direpresentasikan dalam sebuahstate space.Ada beberapa jenis:

Breadth-first searchUniform-cost searchDepth-first searchDepth-limited searchIterative-deepening search

Page 8: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Outline

1 Ulasan

2 Breadth-first

3 Uniform-cost

4 Depth-first

5 Iterative-deepening

6 Pengulangan state

7 Ringkasan

Page 9: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Breadth-first search

Prinsip algoritma breadth-first search

Lakukan node expansion terhadap node di fringe yangpaling dekat ke root .

Implementasi: fringe adalah sebuah queue, datastruktur FIFO (First In First Out)Hasil node expansion (successor function) ditaruh dibelakang

A

B C

D E F G

Page 10: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Breadth-first search

Prinsip algoritma breadth-first search

Lakukan node expansion terhadap node di fringe yangpaling dekat ke root .

Implementasi: fringe adalah sebuah queue, datastruktur FIFO (First In First Out)Hasil node expansion (successor function) ditaruh dibelakang

A

B C

D E F G

Page 11: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Breadth-first search

Prinsip algoritma breadth-first search

Lakukan node expansion terhadap node di fringe yangpaling dekat ke root .

Implementasi: fringe adalah sebuah queue, datastruktur FIFO (First In First Out)Hasil node expansion (successor function) ditaruh dibelakang

A

B C

D E F G

Page 12: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Breadth-first search

Prinsip algoritma breadth-first search

Lakukan node expansion terhadap node di fringe yangpaling dekat ke root .

Implementasi: fringe adalah sebuah queue, datastruktur FIFO (First In First Out)Hasil node expansion (successor function) ditaruh dibelakang

A

B C

D E F G

Page 13: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat breadth-first search

Complete?

Ya, jika b terbatasTime complexity?b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1)→eksponensial dlm. d .Space complexity? O(bd+1), karena semua node yangdi-generate harus disimpan.Optimal? Ya, jika semua step cost sama, tapi padaumumnya tidak optimal.

Masalah utama breadth-first search adalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 6, ada 107 node ≈ 10 gigabyte.Jika d = 12, ada 1013 node ≈ 10 petabyte!

Page 14: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat breadth-first search

Complete? Ya, jika b terbatas

Time complexity?b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1)→eksponensial dlm. d .Space complexity? O(bd+1), karena semua node yangdi-generate harus disimpan.Optimal? Ya, jika semua step cost sama, tapi padaumumnya tidak optimal.

Masalah utama breadth-first search adalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 6, ada 107 node ≈ 10 gigabyte.Jika d = 12, ada 1013 node ≈ 10 petabyte!

Page 15: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat breadth-first search

Complete? Ya, jika b terbatasTime complexity?

b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1)→eksponensial dlm. d .Space complexity? O(bd+1), karena semua node yangdi-generate harus disimpan.Optimal? Ya, jika semua step cost sama, tapi padaumumnya tidak optimal.

Masalah utama breadth-first search adalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 6, ada 107 node ≈ 10 gigabyte.Jika d = 12, ada 1013 node ≈ 10 petabyte!

Page 16: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat breadth-first search

Complete? Ya, jika b terbatasTime complexity?b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1)→eksponensial dlm. d .

Space complexity? O(bd+1), karena semua node yangdi-generate harus disimpan.Optimal? Ya, jika semua step cost sama, tapi padaumumnya tidak optimal.

Masalah utama breadth-first search adalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 6, ada 107 node ≈ 10 gigabyte.Jika d = 12, ada 1013 node ≈ 10 petabyte!

Page 17: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat breadth-first search

Complete? Ya, jika b terbatasTime complexity?b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1)→eksponensial dlm. d .Space complexity?

O(bd+1), karena semua node yangdi-generate harus disimpan.Optimal? Ya, jika semua step cost sama, tapi padaumumnya tidak optimal.

Masalah utama breadth-first search adalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 6, ada 107 node ≈ 10 gigabyte.Jika d = 12, ada 1013 node ≈ 10 petabyte!

Page 18: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat breadth-first search

Complete? Ya, jika b terbatasTime complexity?b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1)→eksponensial dlm. d .Space complexity? O(bd+1), karena semua node yangdi-generate harus disimpan.

Optimal? Ya, jika semua step cost sama, tapi padaumumnya tidak optimal.

Masalah utama breadth-first search adalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 6, ada 107 node ≈ 10 gigabyte.Jika d = 12, ada 1013 node ≈ 10 petabyte!

Page 19: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat breadth-first search

Complete? Ya, jika b terbatasTime complexity?b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1)→eksponensial dlm. d .Space complexity? O(bd+1), karena semua node yangdi-generate harus disimpan.Optimal?

Ya, jika semua step cost sama, tapi padaumumnya tidak optimal.

Masalah utama breadth-first search adalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 6, ada 107 node ≈ 10 gigabyte.Jika d = 12, ada 1013 node ≈ 10 petabyte!

Page 20: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat breadth-first search

Complete? Ya, jika b terbatasTime complexity?b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1)→eksponensial dlm. d .Space complexity? O(bd+1), karena semua node yangdi-generate harus disimpan.Optimal? Ya, jika semua step cost sama, tapi padaumumnya tidak optimal.

Masalah utama breadth-first search adalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 6, ada 107 node ≈ 10 gigabyte.Jika d = 12, ada 1013 node ≈ 10 petabyte!

Page 21: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat breadth-first search

Complete? Ya, jika b terbatasTime complexity?b + b2 + b3 + . . . + bd + b(bd − 1) = O(bd+1)→eksponensial dlm. d .Space complexity? O(bd+1), karena semua node yangdi-generate harus disimpan.Optimal? Ya, jika semua step cost sama, tapi padaumumnya tidak optimal.

Masalah utama breadth-first search adalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 6, ada 107 node ≈ 10 gigabyte.Jika d = 12, ada 1013 node ≈ 10 petabyte!

Page 22: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Outline

1 Ulasan

2 Breadth-first

3 Uniform-cost

4 Depth-first

5 Iterative-deepening

6 Pengulangan state

7 Ringkasan

Page 23: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Uniform-cost search

Prinsip algoritma uniform-cost search

Lakukan node expansion terhadap node di fringe yang pathcost-nya paling kecil.

Implementasi: fringe adalah sebuah priority queue dimana node disortir berdasarkan path cost functiong(n).Jika semua step cost sama, uniform-cost sama denganbreadth-first.Bandingkan dengan shortest-path algorithm-nyaDijkstra!

Page 24: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat uniform-cost search

Complete?

Ya, jika step cost ≥ ε untuk ε > 0Time complexity? Jumlah node dengang(n) ≤ C∗ = O(bbC

∗/εc+1) di mana C∗ adalah cost darioptimal solutionSpace complexity? Semua node yang di-generateharus disimpan ≈ O(bbC

∗/εc+1)

Optimal? Ya, karena urutan node expansion dilakukanurut g(n).

Page 25: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat uniform-cost search

Complete? Ya, jika step cost ≥ ε untuk ε > 0

Time complexity? Jumlah node dengang(n) ≤ C∗ = O(bbC

∗/εc+1) di mana C∗ adalah cost darioptimal solutionSpace complexity? Semua node yang di-generateharus disimpan ≈ O(bbC

∗/εc+1)

Optimal? Ya, karena urutan node expansion dilakukanurut g(n).

Page 26: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat uniform-cost search

Complete? Ya, jika step cost ≥ ε untuk ε > 0Time complexity?

Jumlah node dengang(n) ≤ C∗ = O(bbC

∗/εc+1) di mana C∗ adalah cost darioptimal solutionSpace complexity? Semua node yang di-generateharus disimpan ≈ O(bbC

∗/εc+1)

Optimal? Ya, karena urutan node expansion dilakukanurut g(n).

Page 27: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat uniform-cost search

Complete? Ya, jika step cost ≥ ε untuk ε > 0Time complexity? Jumlah node dengang(n) ≤ C∗ = O(bbC

∗/εc+1) di mana C∗ adalah cost darioptimal solution

Space complexity? Semua node yang di-generateharus disimpan ≈ O(bbC

∗/εc+1)

Optimal? Ya, karena urutan node expansion dilakukanurut g(n).

Page 28: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat uniform-cost search

Complete? Ya, jika step cost ≥ ε untuk ε > 0Time complexity? Jumlah node dengang(n) ≤ C∗ = O(bbC

∗/εc+1) di mana C∗ adalah cost darioptimal solutionSpace complexity?

Semua node yang di-generateharus disimpan ≈ O(bbC

∗/εc+1)

Optimal? Ya, karena urutan node expansion dilakukanurut g(n).

Page 29: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat uniform-cost search

Complete? Ya, jika step cost ≥ ε untuk ε > 0Time complexity? Jumlah node dengang(n) ≤ C∗ = O(bbC

∗/εc+1) di mana C∗ adalah cost darioptimal solutionSpace complexity? Semua node yang di-generateharus disimpan ≈ O(bbC

∗/εc+1)

Optimal? Ya, karena urutan node expansion dilakukanurut g(n).

Page 30: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat uniform-cost search

Complete? Ya, jika step cost ≥ ε untuk ε > 0Time complexity? Jumlah node dengang(n) ≤ C∗ = O(bbC

∗/εc+1) di mana C∗ adalah cost darioptimal solutionSpace complexity? Semua node yang di-generateharus disimpan ≈ O(bbC

∗/εc+1)

Optimal?

Ya, karena urutan node expansion dilakukanurut g(n).

Page 31: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat uniform-cost search

Complete? Ya, jika step cost ≥ ε untuk ε > 0Time complexity? Jumlah node dengang(n) ≤ C∗ = O(bbC

∗/εc+1) di mana C∗ adalah cost darioptimal solutionSpace complexity? Semua node yang di-generateharus disimpan ≈ O(bbC

∗/εc+1)

Optimal? Ya, karena urutan node expansion dilakukanurut g(n).

Page 32: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Contoh uniform-cost search

Coba gunakan uniform-cost search untuk mencari optimalsolution dari Arad ke Bucharest!

Giurgiu

UrziceniHirsova

Eforie

Neamt

Oradea

Zerind

Arad

Timisoara

Lugoj

Mehadia

DobretaCraiova

Sibiu Fagaras

Pitesti

Vaslui

Iasi

Rimnicu Vilcea

Bucharest

71

75

118

111

70

75

120

151

140

99

80

97

101

211

138

146 85

90

98

142

92

87

86

Page 33: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Outline

1 Ulasan

2 Breadth-first

3 Uniform-cost

4 Depth-first

5 Iterative-deepening

6 Pengulangan state

7 Ringkasan

Page 34: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node di fringe yangpaling jauh dari root .

Implementasi: fringe adalah sebuah stack , datastruktur LIFO (Last In First Out)Hasil node expansion ditaruh di depanDepth-first search sangat cocok diimplementasikansecara rekursif.

A

B C

D E F G

H I J K L M N O

Page 35: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node di fringe yangpaling jauh dari root .

Implementasi: fringe adalah sebuah stack , datastruktur LIFO (Last In First Out)Hasil node expansion ditaruh di depanDepth-first search sangat cocok diimplementasikansecara rekursif.

A

B C

D E F G

H I J K L M N O

Page 36: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node di fringe yangpaling jauh dari root .

Implementasi: fringe adalah sebuah stack , datastruktur LIFO (Last In First Out)Hasil node expansion ditaruh di depanDepth-first search sangat cocok diimplementasikansecara rekursif.

A

B C

D E F G

H I J K L M N O

Page 37: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node di fringe yangpaling jauh dari root .

Implementasi: fringe adalah sebuah stack , datastruktur LIFO (Last In First Out)Hasil node expansion ditaruh di depanDepth-first search sangat cocok diimplementasikansecara rekursif.

A

B C

D E F G

H I J K L M N O

Page 38: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node di fringe yangpaling jauh dari root .

Implementasi: fringe adalah sebuah stack , datastruktur LIFO (Last In First Out)Hasil node expansion ditaruh di depanDepth-first search sangat cocok diimplementasikansecara rekursif.

A

B C

D E F G

H I J K L M N O

Page 39: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node di fringe yangpaling jauh dari root .

Implementasi: fringe adalah sebuah stack , datastruktur LIFO (Last In First Out)Hasil node expansion ditaruh di depanDepth-first search sangat cocok diimplementasikansecara rekursif.

A

B C

D E F G

H I J K L M N O

Page 40: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node di fringe yangpaling jauh dari root .

Implementasi: fringe adalah sebuah stack , datastruktur LIFO (Last In First Out)Hasil node expansion ditaruh di depanDepth-first search sangat cocok diimplementasikansecara rekursif.

A

B C

D E F G

H I J K L M N O

Page 41: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node di fringe yangpaling jauh dari root .

Implementasi: fringe adalah sebuah stack , datastruktur LIFO (Last In First Out)Hasil node expansion ditaruh di depanDepth-first search sangat cocok diimplementasikansecara rekursif.

A

B C

D E F G

H I J K L M N O

Page 42: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node di fringe yangpaling jauh dari root .

Implementasi: fringe adalah sebuah stack , datastruktur LIFO (Last In First Out)Hasil node expansion ditaruh di depanDepth-first search sangat cocok diimplementasikansecara rekursif.

A

B C

D E F G

H I J K L M N O

Page 43: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node di fringe yangpaling jauh dari root .

Implementasi: fringe adalah sebuah stack , datastruktur LIFO (Last In First Out)Hasil node expansion ditaruh di depanDepth-first search sangat cocok diimplementasikansecara rekursif.

A

B C

D E F G

H I J K L M N O

Page 44: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node di fringe yangpaling jauh dari root .

Implementasi: fringe adalah sebuah stack , datastruktur LIFO (Last In First Out)Hasil node expansion ditaruh di depanDepth-first search sangat cocok diimplementasikansecara rekursif.

A

B C

D E F G

H I J K L M N O

Page 45: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node di fringe yangpaling jauh dari root .

Implementasi: fringe adalah sebuah stack , datastruktur LIFO (Last In First Out)Hasil node expansion ditaruh di depanDepth-first search sangat cocok diimplementasikansecara rekursif.

A

B C

D E F G

H I J K L M N O

Page 46: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat depth-first search

Complete?

Tidak, bisa gagal jika m tak terbatas, ataustate space dengan loop.Time complexity? O(bm)→ jika m � d , parah!Space complexity? O(bm)→ linear space!Optimal? Tidak.

Depth-first search mengatasi masalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 12, space yang dibutuhkan hanya 118 kilobyte . . .bandingkan dengan 10 petabyte!

Page 47: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat depth-first search

Complete? Tidak, bisa gagal jika m tak terbatas, ataustate space dengan loop.Time complexity?

O(bm)→ jika m � d , parah!Space complexity? O(bm)→ linear space!Optimal? Tidak.

Depth-first search mengatasi masalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 12, space yang dibutuhkan hanya 118 kilobyte . . .bandingkan dengan 10 petabyte!

Page 48: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat depth-first search

Complete? Tidak, bisa gagal jika m tak terbatas, ataustate space dengan loop.Time complexity? O(bm)→ jika m � d , parah!

Space complexity? O(bm)→ linear space!Optimal? Tidak.

Depth-first search mengatasi masalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 12, space yang dibutuhkan hanya 118 kilobyte . . .bandingkan dengan 10 petabyte!

Page 49: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat depth-first search

Complete? Tidak, bisa gagal jika m tak terbatas, ataustate space dengan loop.Time complexity? O(bm)→ jika m � d , parah!Space complexity?

O(bm)→ linear space!Optimal? Tidak.

Depth-first search mengatasi masalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 12, space yang dibutuhkan hanya 118 kilobyte . . .bandingkan dengan 10 petabyte!

Page 50: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat depth-first search

Complete? Tidak, bisa gagal jika m tak terbatas, ataustate space dengan loop.Time complexity? O(bm)→ jika m � d , parah!Space complexity? O(bm)→ linear space!

Optimal? Tidak.

Depth-first search mengatasi masalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 12, space yang dibutuhkan hanya 118 kilobyte . . .bandingkan dengan 10 petabyte!

Page 51: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat depth-first search

Complete? Tidak, bisa gagal jika m tak terbatas, ataustate space dengan loop.Time complexity? O(bm)→ jika m � d , parah!Space complexity? O(bm)→ linear space!Optimal?

Tidak.

Depth-first search mengatasi masalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 12, space yang dibutuhkan hanya 118 kilobyte . . .bandingkan dengan 10 petabyte!

Page 52: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat depth-first search

Complete? Tidak, bisa gagal jika m tak terbatas, ataustate space dengan loop.Time complexity? O(bm)→ jika m � d , parah!Space complexity? O(bm)→ linear space!Optimal? Tidak.

Depth-first search mengatasi masalah spaceMis: 1 node memakan 1000 byte, dan b = 10Jika d = 12, space yang dibutuhkan hanya 118 kilobyte . . .bandingkan dengan 10 petabyte!

Page 53: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Variasi depth-first search

Backtracking search: lakukan node expansionsatu-per-satu. Jika gagal backtrack dan coba nilaisuccessor function yang lain.Depth-limited search: Batasi kedalaman maksimalyang dilihat adalah `.

Mengatasi masalah untuk state space tak terbatas.Sayangnya, ada unsur incompleteness baru, jika ` < d .Biasanya d tidak diketahui (tapi bisa ada estimasi, mis.diameter suatu graph).

Page 54: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Implementasi rekursif depth-limited search

function RECURSIVEDLS (node, problem, limit) returns solution or failure/cutoff

cutoff_occurred?← falseif GOALTEST[problem](STATE[node]) then return SOLUTION(node)else if DEPTH[node] = limit then return cutoffelse for each successor in EXPAND(node,problem) do

result ← RECURSIVEDLS(successor ,problem,limit)if result = cutoff then cutoff_occurred?→ trueelse if result 6= failure then return result

if cutoff_occurred? then return cutoff else return failure

function DEPTHLIMITEDSEARCH (problem, limit) returns solution or failure/cutoff

return RECURSIVEDLS(MAKENODE(INITIALSTATE[problem]), problem, limit)

Perhatikan perbedaan antara cutoff dan failure.

Page 55: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Outline

1 Ulasan

2 Breadth-first

3 Uniform-cost

4 Depth-first

5 Iterative-deepening

6 Pengulangan state

7 Ringkasan

Page 56: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Iterative-deepening search

Prinsip algoritma iterative-deepening searchLakukan depth-limited search secara bertahap dengan nilai` yang incremental .

Strategi ini menggabungkan manfaat depth danbreadth first: space complexity linier dan completenessterjamin!Lakukan depth-limited search dengan ` = 0, 1, 2, . . .sampai tidak cutoff .

function ITERATIVEDEEPENINGSEARCH (problem) returns solution orfailure

for depth→ 0 to∞ doresult → DEPTHLIMITEDSEARCH(problem, depth)if result 6= cutoff then return result

Page 57: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Contoh iterative-deepening search

` = 0

Limit = 0 A A

Page 58: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Contoh iterative-deepening search

` = 1

Limit = 1 A

B C

A

B C

A

B C

A

B C

Page 59: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Contoh iterative-deepening search

` = 2

Limit = 2 A

B C

D E F G

A

B C

D E F G

A

B C

D E F G

A

B C

D E F G

A

B C

D E F G

A

B C

D E F G

A

B C

D E F G

A

B C

D E F G

Page 60: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Contoh iterative-deepening search

` = 3

Limit = 3

A

B C

D E F G

H I J K L M N O

A

B C

D E F G

H I J K L M N O

A

B C

D E F G

H I J K L M N O

A

B C

D E F G

H I J K L M N O

A

B C

D E F G

H I J K L M N O

A

B C

D E F G

H I J K L M N O

A

B C

D E F G

H I J K L M N O

A

B C

D E F G

H I J K L M N O

A

B C

D E F G

H I J K L M N O

A

B C

D E F G

H I J K L M N O

A

B C

D E F G

H J K L M N OI

A

B C

D E F G

H I J K L M N O

Page 61: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat iterative-deepening search

Complete?

Ya.Time complexity? db1 + (d − 1)b2 + . . . + bd = O(bd)

Space complexity? O(bd)

Optimal? Ya, jika semua step cost sama. Bisadimodifikasi spt. uniform-cost tree, namanya iterativelengthening search.

Page 62: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat iterative-deepening search

Complete? Ya.

Time complexity? db1 + (d − 1)b2 + . . . + bd = O(bd)

Space complexity? O(bd)

Optimal? Ya, jika semua step cost sama. Bisadimodifikasi spt. uniform-cost tree, namanya iterativelengthening search.

Page 63: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat iterative-deepening search

Complete? Ya.Time complexity?

db1 + (d − 1)b2 + . . . + bd = O(bd)

Space complexity? O(bd)

Optimal? Ya, jika semua step cost sama. Bisadimodifikasi spt. uniform-cost tree, namanya iterativelengthening search.

Page 64: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat iterative-deepening search

Complete? Ya.Time complexity? db1 + (d − 1)b2 + . . . + bd = O(bd)

Space complexity?

O(bd)

Optimal? Ya, jika semua step cost sama. Bisadimodifikasi spt. uniform-cost tree, namanya iterativelengthening search.

Page 65: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat iterative-deepening search

Complete? Ya.Time complexity? db1 + (d − 1)b2 + . . . + bd = O(bd)

Space complexity? O(bd)

Optimal? Ya, jika semua step cost sama. Bisadimodifikasi spt. uniform-cost tree, namanya iterativelengthening search.

Page 66: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat iterative-deepening search

Complete? Ya.Time complexity? db1 + (d − 1)b2 + . . . + bd = O(bd)

Space complexity? O(bd)

Optimal?

Ya, jika semua step cost sama. Bisadimodifikasi spt. uniform-cost tree, namanya iterativelengthening search.

Page 67: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat iterative-deepening search

Complete? Ya.Time complexity? db1 + (d − 1)b2 + . . . + bd = O(bd)

Space complexity? O(bd)

Optimal? Ya, jika semua step cost sama. Bisadimodifikasi spt. uniform-cost tree, namanya iterativelengthening search.

Page 68: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Kinerja iterative-deepening search

Secara sekilas, strategi ini kelihatan tidak efisien, atauboros: banyak usaha terulang!

Iterative-deepening search malah lebih cepat dari breadth-first search!

N(IDS) = db + (d − 1)b2 + . . . + (1)bd

N(BFS) = b + b2 + . . . + bd + (bd+1 − b)

Untuk b = 10 dan d = 5:

N(IDS) = 50 + 400 + 3, 000 + 20, 000 + 100, 000 = 123, 450N(BFS) = 10+100+1, 000+10, 000+100, 000+999, 990 = 1, 111, 100.

Pada umumnya, iterative deepening search adalahuninformed search strategy yang terbaik jika state spacebesar dan kedalaman solusi (d) tidak diketahui.

Page 69: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Perbandingan strategi pencarian

Criterion Breadth- Uniform- Depth- Depth- IterativeFirst Cost First Limited Deepening

Complete? Ya∗ Ya∗ Tidak Ya, jk ` ≥ d YaTime bd+1 bbC∗/εc+1 bm b` bd

Space bd+1 bbC∗/εc+1 bm b` bdOptimal? Ya∗ Ya∗ Tidak Tidak Ya

Page 70: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Outline

1 Ulasan

2 Breadth-first

3 Uniform-cost

4 Depth-first

5 Iterative-deepening

6 Pengulangan state

7 Ringkasan

Page 71: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Masalah: state yang mengulang di dalamsearch tree

Kegagalan menangani state yang mengulang dapatmembuat masalah linier menjadi eksponensial!

A

B

C

D

A

BB

CCCC

Ingat dua variasi definisi masalah 8-queens problem.

Page 72: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Solusi: belajar dari sejarah

Algorithms that forget their history are doomed torepeat it...Solusinya adalah untuk mencatat state mana yangsudah pernah dicoba. Catatan ini disebut closed list(fringe = open list).Modifikasi algoritma TREESEARCH dengan closed listmenjadi GRAPHSEARCH.

Page 73: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Algoritma GRAPHSEARCH

function GRAPHSEARCH (problem, fringe) returns solution or failure

closed ← {}fringe← INSERT(MAKENODE(INITIALSTATE(problem)),fringe)loop do

if EMPTY?(fringe) then return failurenode← REMOVEFIRST(fringe)if GOALTEST(problem) applied to STATE(node) succeeds

then return SOLUTION(node)if STATE[node] /∈ closed then

add STATE[node] to closedfringe← INSERTALL(EXPAND(node,problem),fringe)

Page 74: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Sifat GRAPHSEARCH

Time complexity: sama, jika kita asumsi operasiSTATE[node] /∈ closed = O(1) (implementasi denganhashtable?)Space complexity: DFS dan IDS tidak lagi linier!GRAPHSEARCH tidak mencatat path menuju suatustate. Ini mempengaruhi sifat optimality suatu strategi:

Uniform-cost dan breadth-first search dengan step costkonstanta masih optimal (kenapa?).Untuk variasi Depth-first dan iterative-deepeningsearch, jika state mengulang ditemukan, periksaapakah path cost-nya lebih kecil → update info nodedan anak-anaknya!

Page 75: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Outline

1 Ulasan

2 Breadth-first

3 Uniform-cost

4 Depth-first

5 Iterative-deepening

6 Pengulangan state

7 Ringkasan

Page 76: IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies …tobby.synthasite.com/resources/uninformed search.pdf · 2009-08-05 · IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung

IKI30320Kuliah 4

5 Sep 2007

Ruli Manurung

Ulasan

Breadth-first

Uniform-cost

Depth-first

Iterative-deepening

Pengulanganstate

Ringkasan

Ringkasan

Breadth-first search: completeness terjamin, tapi rakusmemory.Uniform-cost search: mirip BFS, optimality terjamin jikacost path ≥ ε untuk ε > 0.Depth-first search: Space complexity linier, tetapi tidakcomplete (maupun optimal).Depth-limited search: mirip DFS, tetapi kedalamansearch dibatasi sampai `.Iterative-deepening search: lakukan DLS secarabertahap dengan ` = 0, 1, 2, . . ..Pengulangan state bisa dihindari dengan mencatatstate yang sudah pernah dicoba.TREESEARCH → GRAPHSEARCH.