Anda di halaman 1dari 53

State Search Algorithms

Aliridho Barakbah

Knowledge Engineering Laboratory


Department of Information and Computer Engineering
Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Deskripsi

• Merupakan algoritma untuk mencari


kemungkinan penyelesaian
• Sering dijumpai oleh peneliti di bidang AI

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Mendefinisikan permasalahan

• Mendefinisikan suatu state (ruang keadaan)


• Menerapkan satu atau lebih state awal
• Menetapkan satu atau lebih state tujuan
• Menetapkan rules (kumpulan aturan)

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Contoh kasus

Seorang petani ingin memindah dirinya sendiri, seekor


serigala, seekor angsa gemuk, dan seikat padi yang berisi
menyeberangi sungai. Sayangnya, perahunya sangat terbatas;
dia hanya dapat membawa satu objek dalam satu
penyeberangan. Dan lagi, dia tidak bisa meninggalkan
serigala dan angsa dalam satu tempat, karena serigala akan
memangsa angsa. Demikian pula dia tidak bisa meninggalkan
angsa dengan padi dalam satu tempat.

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
State (ruang keadaan)

• State  (Serigala, Angsa, Padi, Petani)


• Daerah asal ketika hanya ada serigala dan
padi, dapat direpresentasikan dengan state
(1, 0, 1, 0), sedangkan daerah tujuan adalah
(0, 1, 0, 1)

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
State awal dan tujuan

• State awal
– Daerah asal  (1, 1, 1, 1)
– Daerah tujuan  (0, 0, 0, 0)

• State tujuan
– Daerah asal  (0, 0, 0, 0)
– Daerah tujuan  (1, 1, 1, 1)

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Rules

Aturan ke Rule
1 Angsa menyeberang bersama petani
2 Padi menyeberang bersama petani
3 Serigala menyeberang bersama petani
4 Angsa kembali bersama petani
5 Padi kembali bersama petani
6 Serigala kembali bersama petani
7 Petani kembali

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Contoh solusi

Daerah asal Daerah tujuan Rule yang


(S, A, Pd, Pt) (S, A, Pd, Pt) dipakai
(1, 1, 1, 1) (0, 0, 0, 0) 1
(1, 0, 1, 0) (0, 1, 0, 1) 7
(1, 0, 1, 1) (0, 1, 0, 0) 3
(0, 0, 1, 0) (1, 1, 0, 1) 4
(0, 1, 1, 1) (1, 0, 0, 0) 2
(0, 1, 0, 0) (1, 0, 1, 1) 7
(0, 1, 0, 1) (1, 0, 1, 0) 1
(0, 0, 0, 0) (1, 1, 1, 1) solusi
Politeknik Elektronika Knowledge Engineering
Aliridho Barakbah
Negeri Surabaya Research Group
Pohon pelacakan

Level 0 Akar

Level 1

predecessor
successor
Level 2

Level 3 Daun

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Daerah Asal Daerah Tujuan
Representasi (Serigala, Angsa, Padi, Petani) (Serigala, Angsa, Padi, Petani)
State

(1, 1, 1, 1) (0, 0, 0, 0)

(1, 0, 1, 0) (0, 1, 0, 1)

(1, 0, 1, 1) (0, 1, 0, 0)

(0, 0, 1, 0) (1, 1, 0, 1) (1, 0, 0, 0) (0, 1, 1, 1)

(0, 1, 1, 1) (1, 0, 0, 0) (1, 1, 0, 1) (0, 0, 1, 0)

(0, 1, 0, 0) (1, 0, 1, 1) (0, 1, 0, 0) (1, 0, 1, 1)

(0, 1, 0, 1) (1, 0, 1, 0) (0, 1, 0, 1) (1, 0, 1, 0)

(0, 0, 0, 0) (1, 1, 1, 1) (0, 0, 0, 0) (1, 1, 1, 1)

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Contoh kasus

3 2
B C
3 E
2

S 5
5
Z
4
5
A D
3 F

Graph yang memuat Hamiltonian circuit

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Susunan pohon
S

A B

B D A C

C C F D E D

E D B E C F Z A F

Z F Z E

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Breadth First Search

A B

B D A C

C C F D E D

E D B E C F Z A F

Z F Z E

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Algoritma

A B

B B D

B D A C

dan seterusnya …

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Analisa

• Kelebihan
– Tidak akan menemui jalan buntu
– Jika ada satu solusi, pasti diketemukan
• Kelemahan
– Boros memori
– Mungkin terjebak pada local optima

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Depth First Search

A B

B D A C

C C F D E D

E D B E C F Z A F

Z F Z E

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Algoritma
S

A B

B D B

C D B

E D D B

Z D D B

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Analisa

• Kelebihan
– Butuh memori yang relatif kecil
– Menemukan solusi tanpa harus
menguji lebih banyak lagi
• Kelemahan
– Mungkin terjebak pada local optima

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Hill Climbing Search
• “Like climbing Everest in thick fog with
amnesia”

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Hill-climbing search

• Problem: depending on initial state, can get stuck in


local maxima

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Hill climbing
Minimasi  maksimasi
S
1/4
A 1/3
B
1/5 1/3
B D A C 1/5
1/2
C C F D E D
1/2
E D B E C F Z A F

Z F Z E

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Algoritma

B A

C A A

E D A A

Z D A A

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Analisa

• Kelebihan
– Butuh memori kecil
– Menemukan solusi tanpa harus menguji
lebih banyak lagi
• Kelemahan
– Mungkin terjebak pada local optima

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Best First Search
Termasuk Greedy Search

Heuristic Function
f(n) = h(n)
Perkiraan Jarak
where h(n) = estimated cost to goal from n Node Perkiraan
Jarak ke Z
S 10
A 8
3 2
B C B 6
3 E C 3,7
2 D 4,5
E 2
S 5
5 F 2
Z
4
5
A D
3 F

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Heuristic
Webster's Revised Unabridged Dictionary (1913) (web1913)
Heuristic \Heu*ris"tic\, a. [Greek. to discover.] Serving to discover or
find out.
The Free On-line Dictionary of Computing (15Feb98)
heuristic 1. <programming> A rule of thumb, simplification or educated
guess that reduces or limits the search for solutions in domains that
are difficult and poorly understood. Unlike algorithms, heuristics do
not guarantee feasible solutions and are often used with no
theoretical guarantee. 2. <algorithm> approximation algorithm.
From WordNet (r) 1.6
heuristic adj 1: (computer science) relating to or using a heuristic rule 2:
of or relating to a general formulation that serves to guide
investigation [ant: algorithmic] n : a commonsense rule (or set of
rules) intended to increase the probability of solving some problem
[syn: heuristic rule, heuristic program]
Politeknik Elektronika Knowledge Engineering
Aliridho Barakbah
Negeri Surabaya Research Group
Heuristic Search

• Define a heuristic function, h(n), that estimates the


“goodness” of a node n.
• Specifically, h(n) = estimated cost (or distance) of
minimal cost path from n to a goal state.
• The heuristic function is an estimate, based on
domain-specific information that is computable from
the current state description, of how close we are to
a goal

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Best First Search Node Perkiraan
Jarak ke Z
S 10
A 8
B 6
S C 3,7
10 D 4,5
A B E 2
8 6 F 2
B D A C
8 3,7
C C F D E D
2 4,5
E D B E C F Z A F

Z F Z E

Z
Politeknik Elektronika Knowledge Engineering
Aliridho Barakbah
Negeri Surabaya Research Group
Algoritma

B A

C A A

E D A A

Z D A A

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Analisa

• Kelebihan
– Butuh memori kecil
– Menemukan solusi tanpa harus menguji
lebih banyak lagi
• Kelemahan
– Mungkin terjebak pada local optima

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
A* Search
Termasuk Informed Search

f(n) = g(n) + h(n)


Perkiraan Jarak
where Node Perkiraan
Jarak ke Z
g(n) = cost so far to reach n
S 10
h(n) = estimated cost to goal from n
A 8

3 B 6
C 2
B C 3,7
3 E D 4,5
2 E 2

S 5 F 2
5
Z
4
5
A D
3 F

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Informed Search
• Add domain-specific information to select the best path along
which to continue searching
• We kept looking at nodes closer and closer to the goal, but
were accumulating costs as we got further from the initial
state
• Our goal is not to minimize the distance from the current
head of our path to the goal, we want to minimize the overall
length of the path to the goal!
• Let g(N) be the cost of the best path found so far between the
initial node and N

• f(N) = g(N) + h(N)

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
A* Search Node

S
Perkiraan
Jarak ke Z
10
A 8
B 6
C 3,7
S D 4,5
4 10 3 E 2
A B F 2
4+8=12
5
3+6=9 3
B D A C 3+3+3,7=9,7
3+5+8=16 2
5
C C F D E D
3+3+5+4,5=15,5
3+3+2+2=10
2
E D B E C F Z A F

Z F Z E

Z
Politeknik Elektronika Knowledge Engineering
Aliridho Barakbah
Negeri Surabaya Research Group
Algoritma

B A

C A A

E D A A

Z D A A

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Analisa

• Kelebihan
– Lebih baik dari Best First Search karena
melibatkan factual cost
– Butuh memori kecil
– Menemukan solusi tanpa harus menguji
lebih banyak lagi
• Kelemahan
– Mungkin terjebak pada local optima

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Branch and Bound

S
4 0 3
5 A 5 B
4 5 3 3
B D A
3 2 C 5
9 9 5 8 6
C C F D E D
11 13 2 8 11
E D B E C F Z A F
10
Z F Z E

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Algoritma

SB SA
3 4

SA SBC SBA
4 6 8
dan seterusnya…

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Analisa

• Kelebihan
– Selalu menemukan global optimum
• Kelemahan
– Boros memori karena menyimpan lintasan
partial lebih dari 1 kali

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Dynamic Programming

S
4 0 3
5 A 5 B
4 5 3 3
B D A
2 C 5
8 9 8 6
C C F D E D
2 8 11
E D B E C F Z A F
10
Z F Z E

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Algoritma

SB SA
3 4

SA SBC SBA
4 6 8
dan seterusnya…

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Analisa

• Kelebihan
– Selalu menemukan global optimum
– Lebih cepat dan hemat memori karena
hanya 1 kali menyimpan lintasan partial
• Kelemahan
– Harus mengingat node terakhir dari lintasan
partial yang sudah dicapai sebelumnya

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Applications

• Games
• Robot Navigation
• Graph based problems
• Travelling Salesman Problem
• etc

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Robot Navigation

34
1 2 3 4 5 6 7 8 9 10 11
23 35 45
12 13 14 15 16 17 18 19 20 21 22

23 24 25 26 27 28 29 30 31 32 33 12 46 46

34 35 36 37 38 39 40 41 42 43 44
1 45 47 35 47
45 46 47 48 49 50 51 52 53 54 55





Politeknik Elektronika Knowledge Engineering
Aliridho Barakbah
Negeri Surabaya Research Group
Robot Navigation

f(N) = h(N), with h(N) = Manhattan distance to the goal

8 7 6 5 4 3 2 3 4 5 6

7 5 4 3 5

6 3 2 1 0 1 2 4

7 6 5

8 7 6 5 4 3 2 3 4 5 6

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Robot Navigation

Best First Search - Heuristic Search

8 7 6 5 4 3 2 3 4 5 6

7 5 4 3 5

6 3 2 1 00 1 2 4

77 6 5

8 7 6 5 4 3 2 3 4 5 6

f(N) = h(N), with h(N) = Manhattan distance to the goal

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Robot Navigation

A* - Informed Search

8
8+3 7
7+4 6
6+3
6+5 5
5+6 4
4+7 3
3+8 2
2+9 3
3+10 4 5 6

7
7+2 5
5+6 4
4+7 3
3+8 5

6
6+1 3 2
2+9 1
1+10 0
0+11 1 2 4

7
7+0 6
6+1 5

8
8+1 7
7+2 6
6+3 5
5+4 4
4+5 3
3+6 2
2+7 3
3+8 4 5 6

f(N) = g(N)+h(N), with h(N) = Manhattan distance to goal

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Puzzle Game

5 8
4 2 1
7 3 6

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Puzzle Game

• Function h(N) that estimates the cost of the


cheapest path from node N to goal node.
• Example: 8-puzzle

5 8 1 2 3 h(N) = number of misplaced tiles


=6
4 2 1 4 5 6
7 3 6 7 8
N goal

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Heuristic Function
• Function h(N) that estimate the cost of the
cheapest path from node N to goal node.
• Example: 8-puzzle

5 8 1 2 3 h(N) = sum of the distances of


every tile to its goal position
4 2 1 4 5 6
=2+3+0+1+3+0+3+1
7 3 6 7 8 = 13
N goal

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Heuristic Function for 8-Puzzle

5 8 1 2 3

4 2 1 4 5 6

7 3 6 7 8

N goal

• h1(N) = number of misplaced tiles = 6  admissible

• h2(N) = sum of distances of each tile to goal = 13  admissible

• h3(N) = (sum of distances of each tile to goal)


+ (sum of score functions for each tile) = 49  not admissible

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
8-Puzzle f(N) = h(N) = number of misplaced tiles

3 3 4
5 3

4
2
4 2 1
3 3
0
4

5 4

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
8-Puzzle f(N) = g(N) + h(N)
with h(N) = number of misplaced tiles

3+3
1+5 2+3

3+4
5+2
0+4 3+2 4+1
1+3 2+3
5+0
3+4

1+5 2+4

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
8-Puzzle f(N) = h(N) = Σ distances of tiles to goal

6 5

2
5 2 1
4 3
0
4

6 5

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group
Map Navigation

Romania with step costs in km

Politeknik Elektronika Knowledge Engineering


Aliridho Barakbah
Negeri Surabaya Research Group

Anda mungkin juga menyukai