Tải bản đầy đủ (.docx) (5 trang)

Bài toán DFS BFS Heurictic (có đáp án)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (150.76 KB, 5 trang )

BÀI TẬP CÁC THUẬT TOÁN BFS, DFS và AT
Bài 1:

Bài 2: Giải bài toán sau bằng thuật toán A

T


Bài 3:

Tìm kiếm đường đi từ đỉnh 1 đến đỉnh 6 theo thuật toán AT


ĐÁP ÁN
Bài 1:
BFS
Vịng lặp
0
1
2
3
4
5
6
7
8
9
10
11
12


Giá trị
1
2
3
4
5
6
7
8
9
10
11
12

Open
[1]
[2,3,4]
[3,4,5,6]
[4,5,6]
[5,6,7,8]
[6,7,8,9,10]
[7,8,9,10]
[8,9,10,11,12]
[9,10,11,12]
[10,11,12]
[11,12]
[12]
[]

Close

[]
[1]
[1,2]
[1,2,3]
[1,2,3,4]
[1,2,3,4,5]
[1,2,3,4,5,6]
[1,2,3,4,5,6,7]
[1,2,3,4,5,6,7,8]
[1,2,3,4,5,6,7,8,9]
[1,2,3,4,5,6,7,8,9,10]
[1,2,3,4,5,6,7,8,9,10,11]
[1,2,3,4,5,6,7,8,9,10,12]

DFS
Vịng lặp
0
1
2
3
4
5
6
7
Thuật tốn AT

Giá trị
1
2
5

9
10
6
3

Open
[1]
[2,3,4]
[5,6,3,4]
[9,10,6,3,4]]
[10,6,3,4]
[6,3,4]
[3,4]
[4]

Đỉnh (N)

Open
S

Close
[]

S

[A, B, C, D]

[S]

C

G

[G, H]
[L]
[]

[S, C]
[S, C, G]
[S, C, G, L]

Close
[]
[1]
[1,2]
[1,2,5]
[1,2,5,9]
[1,2,5,10]
[1,2,4,10,6]
[1,2,4,10,6,3]
Giá thành G(N)
0
[100,17,1,1] C và
D có cùng g(N):
chọn ngẫu nhiên
C
[11,21]
[12]
Dừng



Bài 2:

Mở S, đặt g(S) = 0
Đóng S, mở A, B
g(A) = g(S) + g(S->A) = 3 (min); g(B)
=0+4=4
Đóng A, mở C,D
G(B) =4
g(C) = 3+4 = 7 (min); g(D) = 8
Đóng B, mở E, F
g(C) = 3+4 = 7; g(D) = 8
g(E) = 4 + 5 = 9; g(F) = 4+2 = 6 (min)
Đóng F, mở L, M
g(C) = 3+4 = 7 (min); g(D) = 8
g(E) = 4 + 5 = 9;
g(L) = 6+5 = 11; g(M) = 6 + 4 = 10
Đóng C, mở H, I
g(D) = 8 (min)
g(E) = 4 + 5 = 9;
g(L) = 6+5 = 11; g(M) = 6 + 4 = 10
G(H) = 7 + 4 =11; G(I) = 7+5 = 12
Đóng D, mở J
g(J) = 8 +2 = 10 (min);
g(E) = 4 + 5 = 9;
g(L) = 6+5 = 11; g(M) = 6 + 4 = 10
G(H) = 7 + 4 =11; G(I) = 7+5 = 12
Chọn ngẫu nhiên J và M: Chọn M

Đóng M, mở G
g(J) = 8 +2 = 10 ; (min)

g(E) = 9 + 5 =14 ;
g(L) = 6+5 = 11;
g(H) = 7 + 4 =11; G(I) = 7+5 = 12
g(G) = 10+3 = 13
Đóng J, mở Q,R
g(E) = 9 + 5 = 14
g(L) = 6+5 = 11; (min)
g(H) = 7 + 4 =11; (min) G(I) = 7+5 =
12
g(G) = 10+3 = 13
g(Q) = 10 +5 =15 ; g(R) = 10+4= 14
Chọn ngẫu nhiên đỉnh L, H: Chọn L
Đóng L, Mở U, V
g(E) = 9 + 5 = 14
g(H) = 7 + 4 =11; (min)
G(I) = 7+5 = 12
g(G) = 10+3 = 13;
g(Q) = 10 +5 =15 ; g(R) = 10+4= 14
g(U) = 11 + 4 =15; g(V) = 11+4= 15
Đóng H
g(E) = 9 + 5 = 14
G(I) = 7+5 = 12
g(G) = 10+3 = 13;(min)
g(Q) = 10 +5 =15 ; g(R) = 10+4= 14
g(U) = 11 + 4 =15; g(V) = 11+4= 15
Đóng G
S ->B -> F - > M -> G


Bài 3:


Tìm kiếm đường đi từ đỉnh 1 đến đỉnh 6 theo thuật toán AT
Khởi động: mở đỉnh 1, gán g(1) = 0
-

Đóng đỉnh 1, mở 2, 4, 5
Tính g(2) = 0 + 5 = 5, g(4) = 0 + 4 = 4, g(5) = 0 + 1 = 1 (min)

-

Đóng đỉnh 5, mở đỉnh 3
G(2) = 5, g(4) = 4(min), g(3) = 5

-

Đóng đỉnh 4, mở đỉnh 7
G(2) = 5, g(3) = 5, g(7) = 4 + 2 = 6
Chọn ngàu nhiên đỉnh 2 hoặc đỉnh 3, chọn đỉnh 2

-

Đóng đỉnh 2, mở đỉnh 6
G(3) = 5(min), g(7) = 6, g(6) = 5+3=8

-

Đóng đỉnh 3
G(7) = 6(min), g(6) = 8

-


Đóng đỉnh 7, g(6) = 8 (min)

-

Đóng đỉnh 6, dừng.

-

Đường đi nhở nhất từ 1 đến 6 là: 1->2->6



×