GIẢI QUYẾT VẤN ĐỀ BẰNG PHƯƠNG PHÁP TÌM KIẾM TÌM KIẾM KHÔNG CÓ THÔNG TIN (tt) 1 GIẢI QUYẾT VẤN ĐỀ BẰNG PHƯƠNG PHÁP TÌM KIẾM TÌM KIẾM KHÔNG CÓ THÔNG TIN (tt) AI University of Technology and Education Table of content Depth First Search Depth Limited Search Iterative Deepening Search Bidirectional Search 2 Depth First Search 1 3 Depth First Search Idea 4 1 Bắt đầu từ đỉnh (nút) gốc ban đầu 2 Duyệt đi xa nhất theo từng nhánh 4 Tìm thấy đỉnh cần tìm Đã duyệt hết đỉnh 3 Khi duyệt hết nhánh Lùi về từng.
Trang 1GIẢI QUYẾT VẤN ĐỀ BẰNG PHƯƠNG PHÁP TÌM KIẾM TÌM KIẾM KHÔNG CÓ THÔNG TIN (tt)
AI
University of Technology and
Education
Trang 2Table of content
1 Depth First Search
2 Depth Limited Search
3 Iterative Deepening Search
4 Bidirectional Search
Trang 3Depth First Search
1
Trang 4Depth First Search : Idea
nhánh3
Khi duyệt hết nhánh Lùi về từng đỉnh để tìm Duyệt những nhánh tiếp theo
Trang 5Depth First Search : Pseudocode
5
function DFS ( v ){
gán nhãn v đã duyệt For ( u = 1; u <= n ; u++) If( u tồn tại trong danh sách
kề v)
If ( u có nhãn là không )
{
Xử lý đỉnh u
DFS ( u ) }
?
Trang 6Depth First Search
Advantages
Disadvantages
Trang 7Depth First Search : Practice
11
66
8899
44
12
33
Trang 8Depth Limited Search
2
Trang 9Depth Limited Search: Idea
Phát triển các nút chưa xét theo chiều sâu nhưng có hạn mức
Trang 10Depth Limited Search
function DLS ( src, target , limit){
if (src == target) return true;
Trang 11Depth Limited Search
Có bộ nhớ hiệu quả
Tránh đi vào con đường không mang lại kết quả tốt
Giải pháp nằm dưới
giới hạn
Không tối ưu con
đường Thời gian
Trang 12Depth Limited Search: Practice
Trang 13Iterative Deepening Search
3
Trang 14IDS : Idea
2 Nếu chưa thấy đỉnh cần tìm tăng độ
sâu giới hạn và gọi lại hàm DLS
3 Lặp lại cho đến khi thấy đỉnh cần
tìm hoặc đã duyết hết đỉnh
Trang 15Iterative Deepening Search
function IDS (src, target, max_depth ){
for limit from 0 to max_depth
Trang 16Iterative Deepening Search
Advantages
Disadvantages
Trang 17Bidirectional Search
4
Trang 18Bidirectional Search : Idea
Trang 21Bidirectional Search
5 Khởi tạo biến meet = -1
6 while (!list_start.empty() && !list_goal.empty()) {
7 Bất kỳ thuật toán tìm kiếm đã học cho 2 phần start, goal
8 meet = kiểm tra xem chúng đã gặp nhau qua 2 mảng (1) và (2)
?
Trang 22Bidirectional Search
Advantages
Disadvantages
Trang 23Any questions?
Trang 24Thuật toán Depth First Search — Giải Thuật Lập Trình (stdio.vn)
Tìm kiếm theo chiều sâu – Wikipedia tiếng Việt
Thuật toán Depth Limited Search — Blog Lập Trình
(bloglaptrinh2016.wordpress.com)
Tìm kiếm giới hạn chiều sâu – Wikipedia tiếng Việt
https://www.educba.com/bidirectional-search/