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

Trí Tuệ Nhân Tạo – Cải Tiến Thuật Toán Tìm Kiếm Sâu Lặp pptx

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 (72.99 KB, 5 trang )

Trí Tuệ Nhân Tạo – Cải Tiến Thuật Toán Tìm Kiếm Sâu Lặp











- Đồ thị không gian trạng thái

Demo tìm kiếm đường đi từ đỉnh (trạng thái ) A đến đỉnh K với bước nhảy độ sâu là 1 .
L

n
duyệt
d

Xét Đ

nh

OPEN

NEXT

CLOSE



1


[A
0
]

[
]

[
]

1


1

[
A
0
]

[B
1
], [C
1
], [D
1

]

[]

[A
0
]

2

1

[D
1
]

[B
1
], [C
1
],[F
2
]

[]

[A
0
],[D
1

]

3

1

[F
2
]

[B
1
], [C
1
]

[F
2
]

[A
0
],[D
1
]

4

1


[C
1
]

[B
1
],[E
2
]

[F
2
]

[A
0
],[D
1
],[C
1
]
5

1

[E
2
]

[B

1
]

[F
2
], [E
2
]

[A
0
],[D
1
],[C
1
]

6

1

[B
1
]

[G
2
],[I
2
]


[F
2
], [E
2
]

[A
0
],[D
1
],[C
1
],[B
1
]

7

1

[I
2
]

[G
2
]

[F

2
], [E
2
],[I
2
]

[A
0
],[D
1
],[C
1
],[B
1
]

8

1

[G
2
]

[]

[F
2
], [E

2
],[I
2
], [G
2
]

[A
0
],[D
1
],[C
1
],[B
1
]


2


[G
2
],[I
2
],[E
2
],
[F
2

]
[]

[A
0
],[D
1
],[C
1
],[B
1
]

9

2

[F
2
]

[G
2
],[I
2
],[E
2
],
[K
3

]

[]

[A
0
],[D
1
],[C
1
],[B
1
],[F
2
]





I F
A
G
E
D
C
B
K
L
Generated by Foxit PDF Creator © Foxit Software

For evaluation only.
Mảng Father sau khi tìm được đỉnh K :
Đ

nh

A

B

C

D

E

F

G

I

K

L

Father

null


A

A

A

C

D

B

B

F

null


Theo mảng Father ta tìm được đường đi : A D F K
Father của A là null vì A là root.
Father của L là null vì L chưa được sinh ra trong OPEN ( chưa tìm thấy ).
Muốn tìm thấy đỉnh đích có độ sâu là n thì chỉ cần duyệt đến độ sâu n-1 là sẽ tìm thấy .

Mã giả của thuật toán :
/*
OPEN là danh sách để lưu các đỉnh đã được sinh ra và chờ phát triển ( chờ duyệt ).
CLOSE là danh sách để lưu các đỉnh đã phát triển ( đã duyệt ).
NEXT là danh sách để lưu các đỉnh đã được sinh ra nhưng có Depth ( độ sâu ) lớn hơn d.
OPEN , NEXT , CLOSE kiểu Stack.

U
0
là đỉnh ban đầu.
Father là danh sách để ghi lại cha của mỗi đỉnh trên đường đi.
Hàm Depth dung để ghi lại độ sâu của mỗi đỉnh.
*/









Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
Procedure Depth_Limited_Search(d);
Begin
While OPEN khác rỗng do
Begin
Xóa đỉnh u ở đầu OPEN;
If Depth(u) <= d then
Begin
Thêm u vào CLOSE ;
For mỗi trạng thái v kề u do
If v chưa xuất hiện trong OPEN và NEXT và CLOSE then
Begin
Father (v) = u;
If v là đích then

Begin
Thông báo tìm kiếm thành công ;
Exit;
End;
Thêm v vào đầu OPEN;
Depth(v) = Depth(u) + 1;
End;
End;
Else
Begin
Thêm u vào NEXT ;
End;
End;
End;

Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
Procudure Interative_Depening_Search;
Begin
Khởi tạo danh sách OPEN rỗng ;
Khởi tạo danh sách CLOSE rỗng ;
Khởi tạo danh sách NEXT chứa u
0
;
If u
0
là đích then
Begin
Thông báo đỉnh ban đầu cũng là đỉnh kết thúc;
Exit;

End;
For d  1 to max do //dự đoán bước nhảy d sao cho phù hợp với bài toán.
Begin
Copy danh sách NEXT vào danh sách OPEN;
Xóa danh sách NEXT ( về trạng thái rỗng );
Depth_Limited_Search(d);
If ( thành công ) then
exit ;
End;
Thông báo không tìm thấy ;
End;


26/9/2010
LeeThong


Generated by Foxit PDF Creator © Foxit Software
For evaluation only.








Generated by Foxit PDF Creator © Foxit Software
For evaluation only.

×