Thut gii AT, AKT
Thut gii AT (Algorithm for Tree):
Mi đỉnh n tương ng vi mt s g(n): giá thành
ca đường đi t đỉnh ban đầu đến đỉnh n.
Đỉnh:
+ Đỉnh đóng (Closed) : là nhng đỉnh đã được
xem xét.
+Đỉnh m (Open) : là nhng đỉnh gi thiết
s được xem xét bước sau.
+ Đỉnh n (Hiden) : là nhng đỉnh mà ti
đó hàm g(n) chưa được xác định.
Thut gii AT
Bước 1:
+ Mi đỉnh n, mi giá tr g(n) đều là n.
+ M đỉnh đầu tiên và gi đó là đỉnh S. Đặt g(S) = 0.
Bước 2 : Chn đỉnh m vi giá thành g tương ng là nh nht và gi đó là đỉnh N.
+ Nếu N là mc tiêu: đường đi t đỉnh ban đầu đến N là đường đi ngn nht và bng
g(N). Dng (Success).
+ Nếu không tn ti mt đỉnh m nào na: cây biu din vn đề không có đường đi ti
mc tiêu. Dng (Fail).
+ Nếu tn ti nhiu hơn 1 đỉnh N (nghĩa là có 2 đỉnh N tr lên) mà có cùng giá thành
g(N) nh nht. Kim tra xem trong s đó có đỉnh nào là đích hay không.
Nếu có: đường đi t đỉnh ban đầu đến đỉnh N là ngn nht và bng g(N), dng
(Success).
Nếu không có: Chn ngu nhiên mt trong các đỉnh đó và gi là đỉnh N.
Bước 3: Đóng đỉnh N và m các đỉnh sau N (là nhng đỉnh có cung hướng t N ti). Ti
mi đỉnh S sau N tính :
g(S) = g(N) + cost(NS)
Bước 4: Quay li bước 2
Thut gii AT- Ví d
AB C D
E
K
O
Q
S T
U
V
FG H
L M
I J
N
P
R
T r a ïn g t h a ùi ñ í c h
1
1
1
1
11
1
1
1 0 0 1 7
1
11
1 0
1 1
2 0 1 2 1
1
1
1
Thut gii AT- Ví d
Mi đỉnh n, g(n) chưa biết.
B1: M S, đặt g(S) = 0.
B2: Đóng S; m A, B, C, D
g(A) = g(S) + gt(SA) = 0 + 100 = 100
g(B) = 0 + 17 = 17
g(C) = g(D) = 0 + 1 = 1 (min)
Chn ngu nhiên gia C, D: chn C
B3: Đóng C, m G, H:
g(A) = 100
g(B) = 17
g(D) = 1 (min)
g(G) = 11
g(H) = 21
AB C D
E
K
O
Q
S T
U
V
FG H
L M
I J
N
P
R
T r a ïn g t h a ùi ñ í c h
1
1
1
1
11
1
1
1 0 0 1 7
1
11
1 0
1 1
2 0 1 2 1
1
1
1
Thut gii AT- Ví d
B4: Đóng D, m I, J:
g(A) = 100
g(B) = 17
g(I) = 13
g(J) = 2 (min)
g(G) = 11
g(H) = 21
B5: Đóng J, m N:
g(A) = 100
g(B) = 17
g(I) = 13
g(G) = 11
g(H) = 21
g(N) = 3 (min)
AB C D
E
K
O
Q
S T
U
V
FG H
L M
I J
N
P
R
T r a ïn g t h a ùi ñ í c h
1
1
1
1
11
1
1
1 0 0 1 7
1
11
1 0
1 1
2 0 1 2 1
1
1
1