• Tidak ada hasil yang ditemukan

IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies (Rev.)

N/A
N/A
Protected

Academic year: 2021

Membagikan "IKI 30320: Sistem Cerdas Kuliah 4: Uninformed Search Strategies (Rev.)"

Copied!
76
0
0

Teks penuh

(1)

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

(2)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Outline

1 Ulasan 2 Breadth-first 3 Uniform-cost 4 Depth-first 5 Iterative-deepening 6 Pengulanganstate 7 Ringkasan

(3)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Outline

1 Ulasan 2 Breadth-first 3 Uniform-cost 4 Depth-first 5 Iterative-deepening 6 Pengulanganstate 7 Ringkasan

(4)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Problem-solving agent & search

Sebuahproblem-solving agentmemecahkan sebuah masalah dalam 2 tahap:

Goal & problem formulation: masalah dinyatakan sebagai sebuah

state space, yang sering direpresentasikan dalam bentukgraph.

Actionadalah abstraksi tindakan yang dapat diambil

Stateadalah abstraksi keadaan yang dapat terjadi

Solution search: solusi diperoleh dengan mencarirangkaian tindakan(action sequence) yang membawaagentkegoal state. Proses pencarian solusi sebagaisearch tree

Lugoj Arad Arad Oradea Rimnicu Vilcea Zerind Arad Sibiu

Arad Fagaras Oradea

(5)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Algoritma penelusuran search tree

1 Pada awalnya,fringe= himpunan node yang mewakiliinitial state. 2 Pilih satu node darifringesebagaicurrent node(Kalaufringe

kosong, selesai dengan gagal).

3 Jika node tsb. lolosgoal test, selesai dengan sukses!

4 Jika tidak, lakukannode expansionterhadapcurrent nodetsb. Tambahkan semua node yang dihasilkan kefringe.

5 Ulangi langkah 2.

functionTREESEARCH(problem,fringe)returnssolutionorfailure fringe←INSERT(MAKENODE(INITIALSTATE(problem)),fringe)

loop do

ifEMPTY?(fringe)then returnfailure

node←REMOVEFIRST(fringe)

ifGOALTEST(problem) applied to STATE(node) succeeds

then returnSOLUTION(node)

(6)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Strategi pencarian

Terdapat berbagai jenisstrategiuntuk melakukan search.

Semua strategi ini berbeda dalam satu hal: urutan dari node expansion.

Search strategy di-evaluasi berdasarkan:

completeness: apakah solusi (jika ada) pasti ditemukan?

time complexity: jumlah node yang di-generate.

space complexity: jumlah maksimum node di dalam memory.

optimality: apakah solusi dengan minimum cost pasti ditemukan?

Time & space complexity diukur berdasarkan

b- branching factor dari search tree d - depth (kedalaman) dari solusi optimal m- kedalaman maksimum dari search tree (bisa

(7)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Uninformed search strategies

Uninformed strategyhanya menggunakan informasi dari definisi masalah.

Bisa diterapkan secara generik terhadap semua jenis masalah yang bisa direpresentasikan dalam sebuah state space.

Ada beberapa jenis:

Breadth-first search Uniform-cost search Depth-first search Depth-limited search Iterative-deepening search

(8)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Outline

1 Ulasan 2 Breadth-first 3 Uniform-cost 4 Depth-first 5 Iterative-deepening 6 Pengulanganstate 7 Ringkasan

(9)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Breadth-first search

Prinsip algoritma breadth-first search

Lakukan node expansion terhadap node difringeyang palingdekatkeroot.

Implementasi: fringeadalah sebuahqueue, data struktur FIFO (First In First Out)

Hasilnode expansion(successor function) ditaruh di belakang

A

B C

(10)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Breadth-first search

Prinsip algoritma breadth-first search

Lakukan node expansion terhadap node difringeyang palingdekatkeroot.

Implementasi: fringeadalah sebuahqueue, data struktur FIFO (First In First Out)

Hasilnode expansion(successor function) ditaruh di belakang

A

B C

(11)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Breadth-first search

Prinsip algoritma breadth-first search

Lakukan node expansion terhadap node difringeyang palingdekatkeroot.

Implementasi: fringeadalah sebuahqueue, data struktur FIFO (First In First Out)

Hasilnode expansion(successor function) ditaruh di belakang

A

B C

(12)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Breadth-first search

Prinsip algoritma breadth-first search

Lakukan node expansion terhadap node difringeyang palingdekatkeroot.

Implementasi: fringeadalah sebuahqueue, data struktur FIFO (First In First Out)

Hasilnode expansion(successor function) ditaruh di belakang

A

B C

(13)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat breadth-first search

Complete?

Ya, jikabterbatas

Time complexity?

b+b2+b3+. . .+bd +b(bd −1) =O(bd+1)→

eksponensial dlm. d.

Space complexity? O(bd+1), karena semua node yang di-generate harus disimpan.

Optimal? Ya, jika semuastep costsama, tapi pada umumnya tidak optimal.

Masalah utama breadth-first search adalahspace

Mis: 1 node memakan 1000 byte, danb=10 Jikad =6, ada 107node≈10 gigabyte. Jikad =12, ada 1013 node≈10 petabyte!

(14)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat breadth-first search

Complete? Ya, jikabterbatas

Time complexity?

b+b2+b3+. . .+bd +b(bd −1) =O(bd+1)→

eksponensial dlm. d.

Space complexity? O(bd+1), karena semua node yang di-generate harus disimpan.

Optimal? Ya, jika semuastep costsama, tapi pada umumnya tidak optimal.

Masalah utama breadth-first search adalahspace

Mis: 1 node memakan 1000 byte, danb=10 Jikad =6, ada 107node≈10 gigabyte. Jikad =12, ada 1013 node≈10 petabyte!

(15)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat breadth-first search

Complete? Ya, jikabterbatas

Time complexity?

b+b2+b3+. . .+bd +b(bd −1) =O(bd+1)→

eksponensial dlm. d.

Space complexity? O(bd+1), karena semua node yang di-generate harus disimpan.

Optimal? Ya, jika semuastep costsama, tapi pada umumnya tidak optimal.

Masalah utama breadth-first search adalahspace

Mis: 1 node memakan 1000 byte, danb=10 Jikad =6, ada 107node≈10 gigabyte. Jikad =12, ada 1013 node≈10 petabyte!

(16)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat breadth-first search

Complete? Ya, jikabterbatas

Time complexity?

b+b2+b3+. . .+bd +b(bd −1) =O(bd+1)→

eksponensial dlm. d.

Space complexity? O(bd+1), karena semua node yang di-generate harus disimpan.

Optimal? Ya, jika semuastep costsama, tapi pada umumnya tidak optimal.

Masalah utama breadth-first search adalahspace

Mis: 1 node memakan 1000 byte, danb=10 Jikad =6, ada 107node≈10 gigabyte. Jikad =12, ada 1013 node≈10 petabyte!

(17)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat breadth-first search

Complete? Ya, jikabterbatas

Time complexity?

b+b2+b3+. . .+bd +b(bd −1) =O(bd+1)→

eksponensial dlm. d.

Space complexity?

O(bd+1), karena semua node yang di-generate harus disimpan.

Optimal? Ya, jika semuastep costsama, tapi pada umumnya tidak optimal.

Masalah utama breadth-first search adalahspace

Mis: 1 node memakan 1000 byte, danb=10 Jikad =6, ada 107node≈10 gigabyte. Jikad =12, ada 1013 node≈10 petabyte!

(18)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat breadth-first search

Complete? Ya, jikabterbatas

Time complexity?

b+b2+b3+. . .+bd +b(bd −1) =O(bd+1)→

eksponensial dlm. d.

Space complexity? O(bd+1), karena semua node yang di-generate harus disimpan.

Optimal? Ya, jika semuastep costsama, tapi pada umumnya tidak optimal.

Masalah utama breadth-first search adalahspace

Mis: 1 node memakan 1000 byte, danb=10 Jikad =6, ada 107node≈10 gigabyte. Jikad =12, ada 1013 node≈10 petabyte!

(19)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat breadth-first search

Complete? Ya, jikabterbatas

Time complexity?

b+b2+b3+. . .+bd +b(bd −1) =O(bd+1)→

eksponensial dlm. d.

Space complexity? O(bd+1), karena semua node yang di-generate harus disimpan.

Optimal?

Ya, jika semuastep costsama, tapi pada umumnya tidak optimal.

Masalah utama breadth-first search adalahspace

Mis: 1 node memakan 1000 byte, danb=10 Jikad =6, ada 107node≈10 gigabyte. Jikad =12, ada 1013 node≈10 petabyte!

(20)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat breadth-first search

Complete? Ya, jikabterbatas

Time complexity?

b+b2+b3+. . .+bd +b(bd −1) =O(bd+1)→

eksponensial dlm. d.

Space complexity? O(bd+1), karena semua node yang di-generate harus disimpan.

Optimal? Ya, jika semuastep costsama, tapi pada umumnya tidak optimal.

Masalah utama breadth-first search adalahspace

Mis: 1 node memakan 1000 byte, danb=10 Jikad =6, ada 107node≈10 gigabyte. Jikad =12, ada 1013 node≈10 petabyte!

(21)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat breadth-first search

Complete? Ya, jikabterbatas

Time complexity?

b+b2+b3+. . .+bd +b(bd −1) =O(bd+1)→

eksponensial dlm. d.

Space complexity? O(bd+1), karena semua node yang di-generate harus disimpan.

Optimal? Ya, jika semuastep costsama, tapi pada umumnya tidak optimal.

Masalah utama breadth-first search adalahspace

Mis: 1 node memakan 1000 byte, danb=10 Jikad =6, ada 107node≈10 gigabyte. Jikad =12, ada 1013 node≈10 petabyte!

(22)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Outline

1 Ulasan 2 Breadth-first 3 Uniform-cost 4 Depth-first 5 Iterative-deepening 6 Pengulanganstate 7 Ringkasan

(23)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Uniform-cost search

Prinsip algoritma uniform-cost search

Lakukan node expansion terhadap node difringeyang path cost-nya paling kecil.

Implementasi: fringeadalah sebuahpriority queuedi mana node disortir berdasarkan path cost function

g(n).

Jika semua step cost sama,uniform-costsama dengan

breadth-first.

Bandingkan denganshortest-path algorithm-nya

(24)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat uniform-cost search

Complete?

Ya, jikastep cost≥untuk >0

Time complexity? Jumlah node dengan

g(n)≤C∗ =O(bbC∗/c+1)di manaCadalahcost dari optimal solution

Space complexity? Semua node yang di-generate

harus disimpan≈O(bbC∗/c+1)

Optimal? Ya, karena urutannode expansiondilakukan urutg(n).

(25)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat uniform-cost search

Complete? Ya, jikastep cost≥untuk >0

Time complexity? Jumlah node dengan

g(n)≤C∗ =O(bbC∗/c+1)di manaCadalahcost dari optimal solution

Space complexity? Semua node yang di-generate

harus disimpan≈O(bbC∗/c+1)

Optimal? Ya, karena urutannode expansiondilakukan urutg(n).

(26)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat uniform-cost search

Complete? Ya, jikastep cost≥untuk >0

Time complexity?

Jumlah node dengan

g(n)≤C∗ =O(bbC∗/c+1)di manaCadalahcost dari optimal solution

Space complexity? Semua node yang di-generate

harus disimpan≈O(bbC∗/c+1)

Optimal? Ya, karena urutannode expansiondilakukan urutg(n).

(27)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat uniform-cost search

Complete? Ya, jikastep cost≥untuk >0

Time complexity? Jumlah node dengan

g(n)≤C∗ =O(bbC∗/c+1)di manaCadalahcost dari optimal solution

Space complexity? Semua node yang di-generate

harus disimpan≈O(bbC∗/c+1)

Optimal? Ya, karena urutannode expansiondilakukan urutg(n).

(28)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat uniform-cost search

Complete? Ya, jikastep cost≥untuk >0

Time complexity? Jumlah node dengan

g(n)≤C∗ =O(bbC∗/c+1)di manaCadalahcost dari optimal solution

Space complexity?

Semua node yang di-generate

harus disimpan≈O(bbC∗/c+1)

Optimal? Ya, karena urutannode expansiondilakukan urutg(n).

(29)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat uniform-cost search

Complete? Ya, jikastep cost≥untuk >0

Time complexity? Jumlah node dengan

g(n)≤C∗ =O(bbC∗/c+1)di manaCadalahcost dari optimal solution

Space complexity? Semua node yang di-generate

harus disimpan≈O(bbC∗/c+1)

Optimal? Ya, karena urutannode expansiondilakukan urutg(n).

(30)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat uniform-cost search

Complete? Ya, jikastep cost≥untuk >0

Time complexity? Jumlah node dengan

g(n)≤C∗ =O(bbC∗/c+1)di manaCadalahcost dari optimal solution

Space complexity? Semua node yang di-generate

harus disimpan≈O(bbC∗/c+1)

Optimal?

Ya, karena urutannode expansiondilakukan urutg(n).

(31)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat uniform-cost search

Complete? Ya, jikastep cost≥untuk >0

Time complexity? Jumlah node dengan

g(n)≤C∗ =O(bbC∗/c+1)di manaCadalahcost dari optimal solution

Space complexity? Semua node yang di-generate

harus disimpan≈O(bbC∗/c+1)

Optimal? Ya, karena urutannode expansiondilakukan urutg(n).

(32)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Contoh uniform-cost search

Coba gunakan uniform-cost search untuk mencarioptimal solutiondari Arad ke Bucharest!

Giurgiu Urziceni Hirsova Eforie Neamt Oradea Zerind Arad Timisoara Lugoj Mehadia Dobreta Craiova 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

(33)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Outline

1 Ulasan 2 Breadth-first 3 Uniform-cost 4 Depth-first 5 Iterative-deepening 6 Pengulanganstate 7 Ringkasan

(34)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node difringeyang palingjauhdariroot.

Implementasi: fringeadalah sebuahstack, data struktur LIFO (Last In First Out)

Hasilnode expansionditaruh di depan

Depth-first search sangat cocok diimplementasikan secararekursif.

A

B C

D E F G

(35)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node difringeyang palingjauhdariroot.

Implementasi: fringeadalah sebuahstack, data struktur LIFO (Last In First Out)

Hasilnode expansionditaruh di depan

Depth-first search sangat cocok diimplementasikan secararekursif.

A

B C

D E F G

(36)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node difringeyang palingjauhdariroot.

Implementasi: fringeadalah sebuahstack, data struktur LIFO (Last In First Out)

Hasilnode expansionditaruh di depan

Depth-first search sangat cocok diimplementasikan secararekursif.

A

B C

D E F G

(37)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node difringeyang palingjauhdariroot.

Implementasi: fringeadalah sebuahstack, data struktur LIFO (Last In First Out)

Hasilnode expansionditaruh di depan

Depth-first search sangat cocok diimplementasikan secararekursif.

A

B C

D E F G

(38)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node difringeyang palingjauhdariroot.

Implementasi: fringeadalah sebuahstack, data struktur LIFO (Last In First Out)

Hasilnode expansionditaruh di depan

Depth-first search sangat cocok diimplementasikan secararekursif.

A

B C

D E F G

(39)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node difringeyang palingjauhdariroot.

Implementasi: fringeadalah sebuahstack, data struktur LIFO (Last In First Out)

Hasilnode expansionditaruh di depan

Depth-first search sangat cocok diimplementasikan secararekursif.

A

B C

D E F G

(40)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node difringeyang palingjauhdariroot.

Implementasi: fringeadalah sebuahstack, data struktur LIFO (Last In First Out)

Hasilnode expansionditaruh di depan

Depth-first search sangat cocok diimplementasikan secararekursif.

A

B C

D E F G

(41)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node difringeyang palingjauhdariroot.

Implementasi: fringeadalah sebuahstack, data struktur LIFO (Last In First Out)

Hasilnode expansionditaruh di depan

Depth-first search sangat cocok diimplementasikan secararekursif.

A

B C

D E F G

(42)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node difringeyang palingjauhdariroot.

Implementasi: fringeadalah sebuahstack, data struktur LIFO (Last In First Out)

Hasilnode expansionditaruh di depan

Depth-first search sangat cocok diimplementasikan secararekursif.

A

B C

D E F G

(43)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node difringeyang palingjauhdariroot.

Implementasi: fringeadalah sebuahstack, data struktur LIFO (Last In First Out)

Hasilnode expansionditaruh di depan

Depth-first search sangat cocok diimplementasikan secararekursif.

A

B C

D E F G

(44)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node difringeyang palingjauhdariroot.

Implementasi: fringeadalah sebuahstack, data struktur LIFO (Last In First Out)

Hasilnode expansionditaruh di depan

Depth-first search sangat cocok diimplementasikan secararekursif.

A

B C

D E F G

(45)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Depth-first search

Prinsip algoritma depth-first search

Lakukan node expansion terhadap node difringeyang palingjauhdariroot.

Implementasi: fringeadalah sebuahstack, data struktur LIFO (Last In First Out)

Hasilnode expansionditaruh di depan

Depth-first search sangat cocok diimplementasikan secararekursif.

A

B C

D E F G

(46)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat depth-first search

Complete?

Tidak,bisagagal jikamtak terbatas, atau state space denganloop.

Time complexity? O(bm)→jikamd, parah!

Space complexity? O(bm)→linear space!

Optimal? Tidak.

Depth-first search mengatasi masalahspace

Mis: 1 node memakan 1000 byte, danb=10

Jikad =12, space yang dibutuhkan hanya 118 kilobyte. . .

(47)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat depth-first search

Complete? Tidak,bisagagal jikamtak terbatas, atau state space denganloop.

Time complexity?

O(bm)→jikamd, parah!

Space complexity? O(bm)→linear space!

Optimal? Tidak.

Depth-first search mengatasi masalahspace

Mis: 1 node memakan 1000 byte, danb=10

Jikad =12, space yang dibutuhkan hanya 118 kilobyte. . .

(48)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat depth-first search

Complete? Tidak,bisagagal jikamtak terbatas, atau state space denganloop.

Time complexity? O(bm)→jikamd, parah!

Space complexity? O(bm)→linear space!

Optimal? Tidak.

Depth-first search mengatasi masalahspace

Mis: 1 node memakan 1000 byte, danb=10

Jikad =12, space yang dibutuhkan hanya 118 kilobyte. . .

(49)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat depth-first search

Complete? Tidak,bisagagal jikamtak terbatas, atau state space denganloop.

Time complexity? O(bm)→jikamd, parah!

Space complexity?

O(bm)→linear space!

Optimal? Tidak.

Depth-first search mengatasi masalahspace

Mis: 1 node memakan 1000 byte, danb=10

Jikad =12, space yang dibutuhkan hanya 118 kilobyte. . .

(50)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat depth-first search

Complete? Tidak,bisagagal jikamtak terbatas, atau state space denganloop.

Time complexity? O(bm)→jikamd, parah!

Space complexity? O(bm)→linear space!

Optimal? Tidak.

Depth-first search mengatasi masalahspace

Mis: 1 node memakan 1000 byte, danb=10

Jikad =12, space yang dibutuhkan hanya 118 kilobyte. . .

(51)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat depth-first search

Complete? Tidak,bisagagal jikamtak terbatas, atau state space denganloop.

Time complexity? O(bm)→jikamd, parah!

Space complexity? O(bm)→linear space!

Optimal?

Tidak.

Depth-first search mengatasi masalahspace

Mis: 1 node memakan 1000 byte, danb=10

Jikad =12, space yang dibutuhkan hanya 118 kilobyte. . .

(52)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat depth-first search

Complete? Tidak,bisagagal jikamtak terbatas, atau state space denganloop.

Time complexity? O(bm)→jikamd, parah!

Space complexity? O(bm)→linear space!

Optimal? Tidak.

Depth-first search mengatasi masalahspace

Mis: 1 node memakan 1000 byte, danb=10

Jikad =12, space yang dibutuhkan hanya 118 kilobyte. . .

(53)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Variasi depth-first search

Backtracking search: lakukannode expansion

satu-per-satu. Jika gagalbacktrack dan coba nilai

successor functionyang lain.

Depth-limited search: Batasi kedalaman maksimal yang dilihat adalah`.

Mengatasi masalah untukstate spacetak terbatas. Sayangnya, ada unsurincompletenessbaru, jika` <d. Biasanyad tidak diketahui (tapi bisa ada estimasi, mis. diameter suatu graph).

(54)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Implementasi rekursif

depth-limited search

functionRECURSIVEDLS (node,problem,limit)returnssolutionorfailure/cutoff

cutoff_occurred?←false

ifGOALTEST[problem](STATE[node])then returnSOLUTION(node) else ifDEPTH[node] =limitthen returncutoff

else for eachsuccessorinEXPAND(node,problem)do

result←RECURSIVEDLS(successor,problem,limit) ifresult=cutoffthencutoff_occurred?→true

else ifresult6=failurethen returnresult

ifcutoff_occurred?then returncutoffelse returnfailure

functionDEPTHLIMITEDSEARCH(problem,limit)returnssolutionorfailure/cutoff

returnRECURSIVEDLS(MAKENODE(INITIALSTATE[problem]),problem,limit)

(55)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Outline

1 Ulasan 2 Breadth-first 3 Uniform-cost 4 Depth-first 5 Iterative-deepening 6 Pengulanganstate 7 Ringkasan

(56)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Iterative-deepening search

Prinsip algoritma iterative-deepening search

Lakukan depth-limited search secara bertahap dengan nilai

`yangincremental.

Strategi ini menggabungkan manfaatdepthdan

breadthfirst: space complexitylinierdancompleteness terjamin!

Lakukan depth-limited search dengan`=0,1,2, . . .

sampai tidakcutoff.

functionITERATIVEDEEPENINGSEARCH(problem)returnssolutionor failure

fordepth→0todo

result→DEPTHLIMITEDSEARCH(problem,depth) ifresult6=cutoff then returnresult

(57)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Contoh iterative-deepening search

`=0

(58)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Contoh iterative-deepening search

`=1 Limit = 1 A B C A B C A B C A B C

(59)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state 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

(60)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state 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 I J K L M N O A B C D E F G H I J K L M N O

(61)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat iterative-deepening search

Complete?

Ya.

Time complexity? db1+ (d1)b2+. . .+bd =O(bd) Space complexity? O(bd)

Optimal? Ya, jika semuastep costsama. Bisa dimodifikasi spt. uniform-cost tree, namanyaiterative lengthening search.

(62)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat iterative-deepening search

Complete? Ya.

Time complexity? db1+ (d1)b2+. . .+bd =O(bd) Space complexity? O(bd)

Optimal? Ya, jika semuastep costsama. Bisa dimodifikasi spt. uniform-cost tree, namanyaiterative lengthening search.

(63)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat iterative-deepening search

Complete? Ya.

Time complexity?

db1+ (d1)b2+. . .+bd =O(bd) Space complexity? O(bd)

Optimal? Ya, jika semuastep costsama. Bisa dimodifikasi spt. uniform-cost tree, namanyaiterative lengthening search.

(64)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat iterative-deepening search

Complete? Ya.

Time complexity? db1+ (d1)b2+. . .+bd =O(bd) Space complexity?

O(bd)

Optimal? Ya, jika semuastep costsama. Bisa dimodifikasi spt. uniform-cost tree, namanyaiterative lengthening search.

(65)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat iterative-deepening search

Complete? Ya.

Time complexity? db1+ (d1)b2+. . .+bd =O(bd) Space complexity? O(bd)

Optimal? Ya, jika semuastep costsama. Bisa dimodifikasi spt. uniform-cost tree, namanyaiterative lengthening search.

(66)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat iterative-deepening search

Complete? Ya.

Time complexity? db1+ (d1)b2+. . .+bd =O(bd) Space complexity? O(bd)

Optimal?

Ya, jika semuastep costsama. Bisa dimodifikasi spt. uniform-cost tree, namanyaiterative lengthening search.

(67)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat iterative-deepening search

Complete? Ya.

Time complexity? db1+ (d1)b2+. . .+bd =O(bd) Space complexity? O(bd)

Optimal? Ya, jika semuastep costsama. Bisa dimodifikasi spt. uniform-cost tree, namanyaiterative lengthening search.

(68)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Kinerja iterative-deepening search

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

Iterative-deepening search malahlebih cepatdari breadth-first search! N(IDS) =db+ (d−1)b2+. . .+ (1)bd N(BFS) =b+b2 +. . .+bd + (bd+1b ) Untukb=10 dand=5: N(IDS) =50+400+3,000+20,000+100,000=123,450 N(BFS) =10+100+1,000+10,000+100,000+999,990=1,111,100.

Pada umumnya,iterative deepening searchadalah

uninformed search strategyyangterbaikjikastate space

(69)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Perbandingan strategi pencarian

Criterion Breadth- Uniform- Depth- Depth- Iterative

First Cost First Limited Deepening

Complete? Ya∗ Ya∗ Tidak Ya, jk`≥d Ya

Time bd+1 bbC∗/c+1 bm b` bd

Space bd+1 bbC∗/c+1 bm b` bd

(70)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Outline

1 Ulasan 2 Breadth-first 3 Uniform-cost 4 Depth-first 5 Iterative-deepening 6 Pengulanganstate 7 Ringkasan

(71)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Masalah:

state

yang mengulang di dalam

search tree

Kegagalan menanganistate yang mengulang dapat membuat masalah linier menjadi eksponensial!

A B C D A B B C C C C

(72)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Solusi: belajar dari sejarah

Algorithms that forget their history are doomed to repeat it...

Solusinya adalah untuk mencatatstate mana yang sudah pernah dicoba. Catatan ini disebutclosed list

(fringe=open list).

Modifikasi algoritma TREESEARCHdenganclosed list

(73)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Algoritma G

RAPH

S

EARCH

functionGRAPHSEARCH(problem,fringe)returnssolutionorfailure closed← {}

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

loop do

ifEMPTY?(fringe)then returnfailure

node←REMOVEFIRST(fringe)

ifGOALTEST(problem) applied to STATE(node) succeeds

then returnSOLUTION(node)

ifSTATE[node]∈/closedthen

add STATE[node] toclosed

(74)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Sifat G

RAPH

S

EARCH

Time complexity: sama, jika kita asumsi operasi STATE[node]∈/closed =O(1)(implementasi dengan hashtable?)

Space complexity: DFS dan IDS tidak lagi linier!

GRAPHSEARCHtidak mencatatpathmenuju suatu

state. Ini mempengaruhi sifatoptimality suatu strategi:

Uniform-costdanbreadth-first searchdenganstep cost konstanta masih optimal (kenapa?).

Untuk variasiDepth-firstdaniterative-deepening search, jikastatemengulang ditemukan, periksa apakahpath cost-nya lebih kecil→updateinfonode dan anak-anaknya!

(75)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Outline

1 Ulasan 2 Breadth-first 3 Uniform-cost 4 Depth-first 5 Iterative-deepening 6 Pengulanganstate 7 Ringkasan

(76)

IKI30320 Kuliah 4 5 Sep 2007 Ruli Manurung Ulasan Breadth-first Uniform-cost Depth-first Iterative-deepening Pengulangan state Ringkasan

Ringkasan

Breadth-first search:completenessterjamin, tapi rakus memory.

Uniform-cost search: mirip BFS,optimality terjamin jika

cost path≥untuk >0.

Depth-first search: Space complexitylinier, tetapi tidak

complete (maupunoptimal).

Depth-limited search: mirip DFS, tetapi kedalaman search dibatasi sampai`.

Iterative-deepening search: lakukan DLS secara bertahap dengan`=0,1,2, . . ..

Pengulanganstate bisa dihindari dengan mencatat

state yang sudah pernah dicoba.

Referensi

Dokumen terkait

Laporan Sistem Akuntabilitas Kinerja Pemerintah (SAKIP) Badan Perencanaan Pembangunan Daerah Penelitian dan Pengembangan Kabupaten Ogan Komering Ulu Selatan Tahun

Unit Peperiksaan dan Pengijazahan, Bahagian Pengurusan Akademik, Jabatan Pendaftar, Universiti Sains Malaysia, Aras 5, Bangunan Canselori, 11800 USM, PULAU PINANG.. noorhasmah@usm.my

Pencatatan dan pendaftaran administrasi pada penerimaan pegawai negeri sipil yang teratur dan tertib dapat menciptakan tertib administrasi.. penerimaan pegawai negeri

Pos (Persero) Lumajang dengan koefisien determinasi (R 2 ) diperoleh sebesar 0,228 yang membuktikan bahwa 22,8% kinerja karyawan dapat dijelaskan oleh variabel kompensasi

secara parsial tidak berpengaruh dan tidak signifikan terhadap Nilai Perusahaan pada perusahaan sektor Barang Konsumsi yang terdaftar di Bursa Efek Indonesia

Observasional Kasus Kontrol Analitik di Unit Rawat Jalan Penyakit Dalam Besar sampel yang akan diteliti menurut perhitungan adalah 52 orang dengan 26 orang

Fungsi ini termanifestasikan dalam bentuk kegiatan pengumpulan barang produksi untuk diangkut ke daerah lain, serta kegiatan pengangkutan orang yang akan bergerak ke

Chemical characteristics and kraft pulping of tension wood from Eucalyptus