1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thuật toán a tìm đường đi ngắn nhất tránh vật cản

54 200 1

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 54
Dung lượng 1,46 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH _ BÙI ĐỨC HỒNG THUẬT TỐN A* TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÁNH VẬT CẢN LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGHỆ AN, 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH BÙI ĐỨC HỒNG THUẬT TỐN A* TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÁNH VẬT CẢN Chuyên ngành: CÔNG NGHỆ THÔNG TIN Mã số: 60.48.02.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Người hướng dẫn khoa học: TS LÊ HỒNG TRANG NGHỆ AN, 2017 LỜI CẢM ƠN Lời đầu tiên, tơi xin bày tỏ lịng biết ơn sâu sâu sắc tới tất thầy giáo, giáo hỗ trợ, giúp đỡ tơi q trình thực luận văn tốt nghiệp Tôi xin cảm ơn thầy giáo, giáo Khoa cơng nghệ thơng tin, phịng Sau Đại học tạo điều kiện thuận lợi giảng dạy giúp đỡ tơi q trình học tập làm luận văn tốt nghiệp Tôi xin gửi lời cảm ơn chân thành đến TS.Lê Hồng Trang, người hướng dẫn, nhận xét, thầy đóng góp định hướng, ý kiến q báu, giúp đỡ tơi hồn thành luận văn Xin kính chúc thầy cô giáo sức khỏe tiếp tục đạt nhiều thành công nghiên cứu khoa học nghiệp giảng dạy, chúc khoa công nghệ thông tin ngày phát triển Cuối cùng, xin cảm ơn gia đình đồng nghiệp, người ln bên động viên cổ cũ tơi suốt q trình học tập Tôi xin chân thành cảm ơn ! Nghệ An, tháng 06 năm 2017 Học viên Bùi Đức Hoàng LỜI CAM ĐOAN Tôi xin cam đoan: Các công việc trình bày luận văn: “Thuật tốn A* tìm đường ngắn tránh vật cản” cơng trình nghiên cứu cá nhân, thực sở nghiên cứu lý thuyết, kiến thức kinh điển, nghiên cứu khảo sát tình hình thực tiễn hướng dẫn khoa học Tiến sĩ Lê Hồng Trang, đảm bảo khơng vi phạm luật sở hữu trí tuệ pháp luật Việt Nam Nếu sai, xin chịu trách nhiệm trước pháp luật TÁC GIẢ LUẬN VĂN Bùi Đức Hồng MỤC LỤC TRANG PHỤ BÌA LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC BẢNG, HÌNH VẼ MỞ ĐẦU CHƯƠNG LÝ THUYẾT VỀ HEURISTIC VÀ ĐỒ THỊ 10 1.1 Hàm đánh giá Heuristic 10 1.1.1 Tính khả chấp 10 1.1.2 Tính đơn 11 1.1.3 Khả cập nhật thông tin 11 1.1.4 Ví dụ 11 1.2 Các khái niệm lý thuyết đồ thị 13 1.2.1 Khái niệm đồ thị 13 1.2.2 Phân loại đồ thị 13 1.2.3 Các thuật ngữ đồ thị 16 1.2.4 Một số dạng đồ thị đặc biệt 18 1.2.5 Biểu diễn đồ thị 20 CHƯƠNG THUẬT TOÁN A* 23 2.1 Bài toán 23 2.2 Thuật toán A* 29 2.3 Mơ tả thuật tốn A* 29 2.4 Ví dụ minh họa hoạt động thuật tốn A* 31 CHƯƠNG THUẬT TỐN A* TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÁNH VẬT CẢN 42 3.1 Bài tốn tìm đường tránh vật cản 42 3.2 Mơ tả thuật tốn A* tránh vật cản 43 3.3 Sử dụng hàm định hướng 43 3.4 Ví dụ minh họa 44 3.5.Thực thi thuật toán 46 KẾT LUẬN 48 TÀI LIỆU THAM KHẢO 50 PHỤ LỤC 51 DANH MỤC CÁC BẢNG, HÌNH VẼ Bảng Trang Bảng 1.1 Danh sách kề 22 Bảng 2.2: Biểu diễn viết tắt địa điểm thành phố Vinh 31 Hình Hình 1.1 Các bước di chuyển ô số 13 Hình 1.2 Biểu đồ phân loại đồ thị 13 Hình 1.3 Đơn đồ thị vô hướng 14 Hình 1.4 Đa đồ thị vô hướng 14 Hình 1.5 Giả đồ thị vơ hướng 15 Hình 1.6 Đơn đồ thị có hướng 15 Hình 1.7 Đa đồ thị có hướng 16 Hình 1.8 Cho đồ thị 17 Hình 1.9 Cho đồ thị 18 Hình 1.10 Biểu đồ dạng đồ thị đặc biệt 18 Hình 1.11 Đồ thị đầy đủ K2, K3, K4 19 Hình 1.12 Đồ thị vòng C3, C4, C5 19 Hình 1.13 Đồ thị vịng W3, W4, W5 19 Hình 1.14 Đồ thị vịng Q1, Q2, Q3 20 Hình 1.15 Mơ tả đồ thị phẳng 20 Hình 1.16 Biểu diễn đồ thị dạng ma trận liền kề 21 Hình 1.17 Đồ thị 22 Hình 2.1 Đồ thị biểu diễn không gian trạng thái 24 Hình 2.2 Đồ thị biểu diễn đường bước 24 Hình 2.3 Đồ thị biểu diễn đường bước 25 Hình 2.4 Đồ thị biểu diễn đường bước 25 Hình 2.5 Đồ thị biểu diễn đường bước 26 Hình 2.6 Đồ thị biểu diễn đồ thành phố Vinh 32 khoảng cách tính theo (km) 32 Hình 2.7 Biểu diễn đường bước 34 Hình 2.8 Biểu diễn đường bước 35 Hình 2.9 Biểu diễn đường bước 36 Hình 2.10 Biểu diễn đường bước 38 Hình 2.11 Biểu diễn đường bước 40 Hình 2.12 Biểu diễn đường bước 41 Hình 3.1 Mơi trường hoạt động robot 42 Hình 3.2 Tìm đường từ A đến B 44 Hình 3.3 Các bước di chuyển robot 45 Hình 3.4 Kết đường ngắn robot 45 Hình 3.5 Giao diện chương trình 46 Hình 3.6 Bản đồ tạo chương trình 47 Hình 3.7 Đường robot 47 Hình 3.8 Bản đồ có nhiều đường 48 Hình 3.9 Đường tìm robot 48 MỞ ĐẦU Sự cần thiết vấn đề nghiên cứu Bài tốn đường ngắn tốn tìm đường hai đỉnh cho tổng trọng số cạnh tạo nên đường nhỏ Trong thực tế tốn tìm đường ngắn toán kinh điển bản, cho hai điểm vào miền, mặt phẳng tìm đường ngắn hai điểm thuộc miền, mặt phẳng Và thơng thường để giải tốn người ta rời rạc hóa miền, mặt phẳng thành đồ thị chuyển toán dạng tốn tìm đường ngắn đồ thị Thuật toán Dijkstra thuật toán tiếng khoa học máy tính Trở lại trước máy tính điều, khoảng năm 1956, Edsger Dijkstra nghĩ cách để tìm đường ngắn đồ thị có cạnh tất giá trị không âm Cho đến ngày nay, thuật tốn ơng sử dụng lĩnh vực "định tuyến" Nó mở rộng người khác để tạo đường tiên tiến việc tìm kiếm thuật tốn A * Thuật toán A* thuật toán thiết kế kiểm nghiệm tốt để giải tốn tìm đường ngắn đồ thị Đây thuật tốn đầy đủ theo nghĩa ln ln tìm thấy lời giải tốn có lời giải Thuật toán bao gồm số đặc điểm sau: - Là mở rộng thuật toán Dijkstra - Kết hợp với sử dụng “đánh giá heuristic” tăng hiệu tìm kiếm thuật tốn đồ thị Trên thực tế người ta kiểm nghiệm nhận thấy tính hiệu Vì vậy, tơi chọn đề tài áp dụng thuật toán A* để giải cách hiệu tốn tìm đường ngắn tránh vật cản Mục tiêu nghiên cứu 2.1 Mục tiêu tổng quát Nghiên cứu tổng quan tốn tìm đường ngắn nhất, áp dụng thuật tốn A* cho tốn tìm đường tránh vật cản Bên cạnh đó, luận văn trình bày mơ thuật tốn kết đạt sau cài đặt thuật toán 2.2 Mục tiêu cụ thể Luận văn tập trung vào mục tiêu sau: - Tìm hiểu thuật tốn A* tốn tìm đường ngắn nhất; - Mở rộng thuật tốn A* việc giải tốn tìm đường ngắn tránh vật cản; - Mô đường robot Đối tượng phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu (a) Nghiên cứu lý thuyết Nghiên cứu tốn tìm đường ngắn qua tài liệu nước; kết khảo sát có tính chất đánh giá nghiên cứu trước; tài liệu lập trình để thực thi thuật toán (b) Nghiên cứu thực nghiệm Sử dụng ngơn ngữ lập trình để thực thi thuật tốn cho ví dụ ứng dụng thực tế tốn tìm đường ngắn tránh vật cản 3.2 Phạm vi nghiên cứu Trong phạm vi luận văn này, tơi tập trung nghiên cứu, giải tốn tìm đường ngắn tránh vật cản, ứng dụng tốn vào ví dụ với ngơn ngữ Matlab Nội dung nghiên cứu 4.1.Về lý thuyết: - Tìm hiểu lý thuyết Heuristic đồ thị 38 (NHNNghiep, g = 6, h = 5, f = 11, Cha = BĐien)} Trong tập OPEN, điểm BXVinh điểm có giá trị f nhỏ Ta chọn Tmin=BXVinh Chuyển BXVinh từ OPEN sang CLOSE Kết bước (xem Hình 2.10) Hình 2.10 Biểu diễn đường bước Bước 5:Từ điểm BXVinh đến điểm BĐien, HCNam NTGa Vì BĐien nút Cha nên ta loại nút Ta tính giá trị f, g h điểm lại OPEN = {(BThuy, g = 1, h = 6, f = 7, Cha = ĐHVinh), (QTruong, g = 1,5, h = 7, f = 8,5, Cha = KSPĐong), (CVinh, g = 4, h = 5, f = 9, Cha = CVTTam), (NHNNghiep, g = 6, h = 5, f = 11, Cha = BĐien)} CLOSE = {( ĐHVinh, g = 0, h = 5, f = 5), (KSPĐong, g = 1, h = 4,5, f = 5,5, Cha = ĐHVinh), (CVTTam, g = 2, h = 4, f = 6, Cha = KSPĐong), (BĐien, g = 3, h = 2,5, f = 5,5, Cha = CVTTam), 39 (BXVinh, g = 4, h = 1,5, f = 5,5, Cha = BĐien)}  h(HCNam) = 2; g(HCNam) = g(BXVinh) + c(BXVinh,HCNam) = + = 6; f(HCNam) = g(HCNam) + h(HCNam) = + = 8; cha(HCNam) = BXVinh;  h(NTGa) = 0,5; g(NTGa) = g(BXVinh) + c(BXVinh,NTGa) = + = 5; f(NTGa) = g(NTGa) + h(NTGa) = 0,5 + = 5,5; cha(NTGa) = BXVinh; Khi ta có điểm HCNam NTGa khơng có OPEN nên ta đưa vào OPEN đặt cha chúng BXVinh OPEN = {(BThuy, g = 1, h = 6, f = 7, Cha = ĐHVinh), (QTruong, g = 1,5, h = 7, f = 8,5, Cha = KSPĐong), (CVinh, g = 4, h = 5, f = 9, Cha = CVTTam), (NHNNghiep, g = 6, h = 5, f = 11, Cha = BĐien), (HCNam, g = 6, h = 2, f = 7, Cha = BXVinh), (NTGa, g = 5, h = 0,5, f = 5,5, Cha = BXVinh)} Trong tập OPEN, điểm NTGa điểm có giá trị f nhỏ Ta chọn Tmin=NTGa Chuyển điểm NTGa từ OPEN sang CLOSE Kết bước (xem Hình 2.11) Bước 6: Từ NTGa đến điểm Gvinh HCNam BXVinh CKBac Vì BXVinh nút Cha nên ta loại nút Ta tính giá trị f, g h điểm lại  h(GVinh) = 0; g(GVinh) = g(NTGa) + c(NTGa,GVinh) = + = 6; f(GVinh) = g(GVinh) + h(GVinh) = + = 6; cha(GVinh) = NTGa; 40 Hình 2.11 Biểu diễn đường bước  h(QBau) = 2; g(QBau) = g(NTGa) + c(NTGa,QBau) = + = 6; f(QBau) = g(QBau) + h(QBau) = + = 8; cha(QBau) = NTGa;  h(CKBac) = 3; g(CKBac) = g(NTGa) + c(NTGa,CKBac) = + = 7; f(CKBac) = g(CKBac) + h(CKBac) = + = 10; cha(CKBac) = NTGa; Khi ta có điểm GVinh QBau CKBac khơng có OPEN nên ta đưa vào OPEN đặt Cha chúng NTGa OPEN = {(BThuy, g = 1, h = 6, f = 7, Cha = ĐHVinh), (QTruong, g = 1,5, h = 7, f = 8,5, Cha = KSPĐong), (CVinh, g = 4, h = 5, f = 9, Cha = CVTTam), (NHNNghiep, g = 6, h = 5, f = 11, Cha = BĐien), (HCNam, g = 6, h = 2, f = 7, Cha = BXVinh), 41 (GVinh, g = 6, h = 0, f = 6, Cha = NTGa), (QBau, g = 6, h = 2, f = 8, Cha = NTGa), (CKBac, g = 7, h = 3, f = 10, Cha = NTGa)} Trong tập OPEN, điểm GVinh điểm có giá trị f nhỏ Ta chọn Tmin= GVinh Như thuật toán kết thúc Kết (xem Hình 2.12) Để xây dựng lại đường từ ĐHVinh đến Gvinh ta lần theo giá trị Cha lưu trữ kèm với f, g h lúc đến ĐHVinh Cha(GVinh) = NTGa Cha(NTGa) = BXVinh Cha(BXVinh) = BĐien Cha(BĐien) = CVTTam Cha(CVTTam) = KSPĐong Cha(KSPĐong) = ĐHVinh Vậy đường ngắn từ ĐHVinh đến NTGa là: ĐHVinh, KSPĐong, CVTTam, BĐien, BXVinh, NTGa, GVinh Hình 2.12 Biểu diễn đường bước 42 CHƯƠNG THUẬT TỐN A* TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÁNH VẬT CẢN Chương mô tả tốn tìm đường tránh vật cản Sử dụng thuật toán A* kết hợp hàm định hướng heuristic cho tốn tìm đường tránh vật cản Chương cấu trúc sau: Mục 3.1 3.2 trình bày tốn Nội dung hàm định hướng trình bày Mục 3.3 Cài đặt thử nghiệm toán đề cập Mục 3.4 3.5 3.1 Bài tốn tìm đường tránh vật cản Bài tốn điều hướng địa hình tìm đường ngắn từ điểm xuất phát đến điểm đích vấn đề quy hoạch đường Mặc dù có nhiều cách tiếp cận vấn đề, giải thuật biết đến để giải tốn hiệu thuật tốn A* Trong chương này, nhằm thể tính thực tế luận văn giả lập đường cho robot Robot hiểu robot điểm, tức khơng xét đến kích thước Robot phải qua địa hình mặt phẳng, vượt qua vật cản cho trước tới điểm đích cho đường ngắn Vật cản vị trí (các hay tọa độ) cho trước mà đường robot vượt qua Cách tiếp cận hướng từ điểm bắt đầu xác định tất điểm liền kề Robot di chuyển đến điểm liền kề lặp lại trình tìm thấy điểm đích Hình 3.1 Mơi trường hoạt động robot 43 3.2 Mơ tả thuật tốn A* tránh vật cản A * sử dụng khoảng cách điểm điểm đích di chuyển đến vị trí có khoảng cách nhỏ Nó đánh giá đường ngắn từ điểm bắt đầu đến điểm n hàm h(n) giá trị thực đường ngắn điểm n tới điểm đích hàmg(n) Tổng chi phí f(n) = g(n) + h(n) tính cho chi phí thực đường tối ưu từ điểm xuất phát đến điểm đích qua điểm n Khoảng cách hai nút đơn giản xác định chi phí đường hai nút Mặc dù điều khơng phải khoảng cách với thực tế (vì thực tế có trở ngại cần phải khảo sát), nhiên khoảng cách không chênh lệch so với thực tế Cách đối xử thuật toán A* có vật cản: - Ghi lại tất vị trí vật cản chạy thuật toán A* bắt gặp vật cản thuật tốn khơng chọn chuyển sang bước tìm kiếm Tuy nhiên, có bất lợi số lượng vật cản lớn - Chúng ta có cách tiếp cận vị trí vật cản có hàm định hướng h(n), n vị trí vật cản Và vị trí vật cản gán h(n)=+∞, tức f(n)= g(n) +h(n) =+∞ Khi vị trí n khơng chọn đỉnh đường 3.3 Sử dụng hàm định hướng Trong toán tìm đường ngắn tránh vật cản, đề cập phần trước, hàm định hướng xác định đỉnh khoảng cách đoạn thẳng nối đỉnh đích, tức khoảng cách Ơclít (Euclidean) Cụ thể cho Xhiện Yhiện toạ độ (dịng, cột) vị trí (tính từ góc trái phía hình), Xđích Yđích toạ độ vị trí đích Do robot theo đường chéo, ta đặt: 44 - a = | Xđích - Xhiện | - b = | Yđích - Yhiện | - h = min(a, b) * √2+ |b - a| khoảng cách ngắn để robot đến đích Trường hợp h(n) vị trí vật cản gán Xvc, Yvc có tọa độ (+∞,+∞), mặt khác thời điểm thuật toán lựa chọn h nhỏ nhất, với h(n)=+∞ khơng lựa chọn, tức đường khơng qua vị trí chứa vật cản 3.4 Ví dụ minh họa Hình 3.2 Tìm đường từ A đến B Cho đồ với trạng thái ban đầu với A điểm đầu B điểm đích Hình 3.2 Một robot cần từ điểm A đến điểm B qua đường ngắn tránh vật cản ô sẫm màu Ta có trạng thái ban đầu n0: - g(A) = - h(A)= (2,3)* √2 + |2 - 3| = 2√2 +1 - f(A)= g(A) + h(A) = + 2√2+1 = + 2√2 Tại vị trí vật cản có tọa độ (1,1), (2,1) gán với trọng số +∞, tức vị trí vật cản h(n)=+∞, hay f(n)=g(n)+h(n)= +∞ Như vậy, đường robot không qua vị trí Ta bắt đầu cho robot di chuyển tính trạng thái bước đến đích B Hình 3.3 mô tả bước robot theo A*, ký hiệu: 45 - vật cản, - ® robot, - R đường robot qua Hình 3.3 Các bước di chuyển robot Đường ngắn theo thuật toán A* cho robot với đồ đạt đây, với độ dài đường g = + 2√2 Hình 3.4 Kết đường ngắn robot 46 3.5.Thực thi thuật toán Thuật toán A* cho toán tìm đường tránh vật cản chúng tơi thực thi ngôn ngữ Matlab hỗ trợ giao diện người dùng cho việc thử nghiệm Trong ví dụ thực (Hình 3.5), khơng gian đường chia thành 10 hàng 10 cột Người dùng dử dụng chuột để chọn điểm xuất phát điểm đích, xác định vị trí vật cản Sau trình chọn lựa kết thúc, thủ tục A* gọi để tìm đường mơi trường vừa thiết lập Hình 3.5 Giao diện chương trình Hình 3.6 mơ tả ví dụ điểm xuất phát điểm đích chọn ô (1,9) (9,8) Các vật cản thiết lập cột 2, 4, 6, cho có cột khơng có vật cản Điều có nghĩa tồn đường từ điểm xuất phát điểm đích đường dĩ nhiên đường ngắn Hình 3.7 thể đường tìm robot cho ví dụ 47 Hình 3.6 Bản đồ tạo chương trình Hình 3.7 Đường robot Hình 3.8 thể ví dụ khác có nhiều đường điểm xuất phát điểm đích Thuật tốn A* thực tìm đường ngắn số đường Kết cho Hình 3.9 48 Hình 3.8 Bản đồ có nhiều đường Hình 3.9 Đường tìm robot KẾT LUẬN 49 Trong trình thực luận văn, bên cạnh cố gắng thân nhờ giúp đỡ tận tình thầy giáo hướng dẫn, luận văn thực theo nhiệm vụ giao thời hạn theo yêu cầu Bản thân tự nhận xét, đánh giá trình thực thu số kết sau: - Tìm hiểu, nghiên cứu nắm rõ tốn tìm đường ngắn sử dụng thuật toán A* - Mở rộng tốn việc tìm đường ngắn mơi trường đồ thị có chứa vật cản - Mơ tả ứng dụng thuật tốn A* việc tìm đường cho robot, thấy ưu, nhược điểm thuật toán áp dụng tốn tìm đường ngắn tránh vật cản Bên cạnh kết đạt luận văn số điểm hạn chế sau: - Bài toán giải vấn đề phạm vi lý thuyết, để triển khai thực tế phải áp dụng nhiều khoa học kỹ thuật thực Hướng khắc phục phát triển đề tài: - Triển khai, thử nghiệm toán phạm vi rộng để thấy rõ vướng mắc, bất cập môi trường thực tế - Áp dụng công nghệ khoa học vào việc bổ sung hồn thiện tốn 50 TÀI LIỆU THAM KHẢO [1] Bách khoa toàn thư mở Wikipedia, https://vi.wikipedia.org [2] Nguyễn Doãn Phước, Lý thuyết điều khiển nâng cao, NXB Khoa học kỹ thuật, 2009 [3] Trần Quốc Chiến, Giáo trình Lý thuyết đồ thị, Tài liệu lưu hành nội bộ, Đà Nẵng, 2002 [4] Peter Hart, Nils Nilso, Bertram Raphael, A Formal Basis for the HeuristicDetermination of Minimum Cost Paths, 1968 [5] Dijkstra.E, A note on two problems in connection with graphs, Numerische Mathematik, Vol.1, 1959 [6] K M Chandy, J Misra, Distributed Computation on Graphs, Shortest Path Algorithms,University of Texax at Autin, November 1982 [7] Thomas H.Cormen, Charles E.Leiserson, Ronald L.Rivest, Introduction To Algorithms, The MIT Press, 1999 51 PHỤ LỤC Code chương trình: while((xNode ~= xTarget || yNode ~= yTarget) && NoPath == 1) exp_array=expand_array(xNode,yNode,path_cost,xTarget,yTar get,CLOSED,MAX_X,MAX_Y); exp_count=size(exp_array,1); for i=1:exp_count flag=0; for j=1:OPEN_COUNT if(exp_array(i,1) == OPEN(j,2) && exp_array(i,2) == OPEN(j,3) ) OPEN(j,8)=min(OPEN(j,8),exp_array(i,5)); if OPEN(j,8)== exp_array(i,5) OPEN(j,4)=xNode; OPEN(j,5)=yNode; OPEN(j,6)=exp_array(i,3); OPEN(j,7)=exp_array(i,4); end; flag=1; end; end; if flag == OPEN_COUNT = OPEN_COUNT+1; OPEN(OPEN_COUNT,:)=insert_open(exp_array(i,1),exp_array (i,2),xNode,yNode,exp_array(i,3),exp_array(i,4),exp_arr ay(i,5)); end; end; index_min_node = min_fn(OPEN,OPEN_COUNT,xTarget,yTarget); if (index_min_node ~= -1) xNode=OPEN(index_min_node,2); yNode=OPEN(index_min_node,3); 52 path_cost=OPEN(index_min_node,6 CLOSED_COUNT=CLOSED_COUNT+1; CLOSED(CLOSED_COUNT,1)=xNode; CLOSED(CLOSED_COUNT,2)=yNode; OPEN(index_min_node,1)=0; else NoPath=0; end; end; ... tả thuật tốn A* 29 2.4 Ví dụ minh h? ?a hoạt động thuật toán A* 31 CHƯƠNG THUẬT TỐN A* TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÁNH VẬT CẢN 42 3.1 Bài tốn tìm đường tránh vật cản. .. đường ngắn hai thuật tốn Thuật tốn A* Thuật tốn Dijkstra ta thấy hai thuật toán cho kết tốt nhất, Thuật toán A* thực giải nhanh nhiều so với giải Thuật tốn 29 Dijkstra Và ta thấy rõ Thuật toán. .. g(QBau) + h(QBau) = + = 8; cha(QBau) = NTGa;  h(CKBac) = 3; g(CKBac) = g(NTGa) + c(NTGa,CKBac) = + = 7; f(CKBac) = g(CKBac) + h(CKBac) = + = 10; cha(CKBac) = NTGa; Khi ta có đi? ??m GVinh QBau CKBac

Ngày đăng: 10/02/2021, 21:57

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w