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

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

Đang tải... (xem toàn văn)

Thông tin tài liệu

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 http://www.foxitsoftware.com 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 http://www.foxitsoftware.com 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 http://www.foxitsoftware.com 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 http://www.foxitsoftware.com For evaluation only. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. . 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. 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. 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

Ngày đăng: 02/07/2014, 11:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan