NGHIÊN CỨU THUẬT TOÁN DIJKSTRA VÀ ỨNG DỤNG LOGIC MỜ TRONG HỆ THỐNG THÔNG TIN ĐỊA LÝ
BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG HỌC VIỆN KỸ THUẬT QUÂN SƯ Nguyễn Thị Ngọc Hà NGHIÊN CỨU THUẬT TOÁN DIJKSTRA VÀ ỨNG DỤNG LOGIC MỜ TRONG HỆ THỐNG THÔNG TIN ĐỊA LÝ CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN QUẢN LÝ BÁO CÁO ĐỀ TÀI MÔN HỌC Hà Nội - Năm 2018 Contents CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG ĐỊA LÝ .4 1.1 Hệ thống thông tin địa lý (GIS) 1.2 Biểu diễn liệu địa lý .7 1.3 Phân tích xử lý liệu không gian GIS 11 1.4 Ứng dụng hệ thống thông tin địa lý 15 CHƯƠNG 2: LOGIC MỜ 17 2.1 Giới thiệu .17 2.2 Cơ sở toán học logic mờ 17 2.3 Một số hệ mờ tiêu biểu 17 2.4 Tổng kết chương 17 CHƯƠNG 3: THUẬT TOÁN ĐƯỜNG ĐI NGẮN NHẤT MỜ TRONG GIS 17 3.1 Khả ứng dụng hệ mờ GIS .17 3.2 Nghiên cứu số thuật tốn tìm đường ngắn ứng dụng logic mờ 17 3.3.Thuật toán Dijkstra mờ 17 3.4 Tổng kết chương 17 Danh mục hình ảnh Hình 0.1 Hệ thống thông tin địa lý .6 Hình 0.2 Tầng (layer) đồ .6 Hình 0.3 Biểu diễn giới mơ hình vector raster .10 Hình 0.4 Chồng phủ đa giác .14 Hình 0.5 Tiến trình phủ đa giác 15 LỜI MỞ ĐẦU Với phát triển công nghệ thông tin đặc biệt từ xuất ngành đồ họa vi tính tăng gia vượt bậc khả phần cứng, hệ thống thông tin địa lý (GIS) đời phát triển nhanh chóng mặt cơng nghệ ứng dụng.Hệ thống thông tin địa lý (Geographic Information SystemGIS) đời sở phát triển khoa học máy tính ứng dụng rộng rãi nhiều ngành khoa học có liên quan đến xử lý liệu khơng gian GIS hình thành từ Ngành khoa học: Địa lý, Bản đồ, Tin học toán học Sử dụng máy tính vẽ đồ bắt đầu vào cuối thập niên 50, đầu 60 mươi, từ khái niệm GIS từ năm 70 kỷ trước phát triển mạnh mẽ hai mươi năm trở lại đây[ CITATION Tổn \l 1033 ] GIS trở thành công cụ hỗ trợ giải nhiều tốn tốn tìm kiếm đường tối ưu cho ứng dụng cứu hộ, cứu nạn, giao thông vận tải, đồ chủ đề quan tâm.[ CITATION VũT16 \l 1033 ] Hệ thống thông tin địa lý chứng tỏ khả ưu việt hẳn hệ thống đồ truyền thống dựa vào khả tích hợp thơng tin mật độ cao, cập nhật thông tin dễ dàng khả phân tích, tính tốn Do đó, hệ thống thơng tin địa lý nhanh chóng trở thành công cụ trợ giúp định cho tất ngàng từ quy hoạch quản lý, tất lĩnh vực từ tài nguyên thiên nhiên, môi trường, đất đai, hạ tầng kỹ thuật đến xã hội nhân văn Có thể nói ngày khơng có lĩnh vực khơng có khơng thể ứng dụng GIS Cũng thế, cơng nghệ thơng tin địa lý tiếp cận từ nhiều hướng khác có nhiều định nghĩa khác GIS GIS liệu “ không rõ ràng” hay liệu “mờ” Khái niệm “ không rõ ràng- mờ” đặc trưng vốn có liệu địa lý Các GIS truyền thống thường không sẵn sàng cho việc xử lý với liệu mờ Vì cần phải có mở rộng mơ hình liệu, phép toán lập luận để giải với liệu mờ GIS làm cho hệ thống trở nên mềm dẻo việc giải toán không gian mà liệu chúng liệu dạng mờ Bài tốn tìm đường ngắn vấn đề quan trọng lý thuyết đồ thị, nghiên cứu từ lâu có nhiều ứng dụng nhiều ngành khoa học nói chung, khoa học máy tính hệ thống thơng tin nói riêng Nhiều giải thuật phát triển để tìm đường tối ưu ngày nhiều nhà nghiên cứu nhằm cải tiến xây dựng giải thuật giải tốn tìm đường ngắn với liệu mờ dạng khoảng.[ CITATION Pha11 \l 1033 ] Trên tầm quan trọng hệ thống thông tin địa lý, đặc biệt thuật tốn tìm đường tối ưu ứng dụng logic mờ GIS cho ta thấy tính cần thiết tính thời vấn đề, đồng thời có ý nghĩa khoa học thực tiễn CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG ĐỊA LÝ Để hiểu rõ đề tài : Nghiên cứu thuật toán Dijkstra ứng dụng logic mờ GIS nội dung chương cung cấp kiến thức tảng, tạo điều kiện thuận lợi cho việc phân tích thuật tốn nối tiếp cho chương Phần đầu chương trình bày tổng quan GIS bao gồm định nghĩa GIS, thức biểu diễn liệu, mơ hình biểu diễn liệu GIS máy tính, số tốn phân tích xử lý liệu thường gặp GIS, đặc biệt toán chồng phủ đồ, ứng dụng GIS thực tế Phần sau chương ứng dụng hệ thống thông tin đia lý 1.1 Hệ thống thông tin địa lý (GIS) Định nghĩa hệ thống thông tin địa lý GIS hệ thống phần cứng, phần mềm thủ tục thiết kế để thu thập, quản lý, xử lý, phân tích, mơ hình hóa hiển thị liệu quy chiếu không gian để giải vấn đề quản lý lâp kế hoạch phức tạp Hiểu cách đơn giản hiểu GIS kết hợp giữ đồ (map) sở liệu (database) GIS = Bản đồ + Cơ sở liệu Ở đây, đồ hình thu nhỏ tương đối xác khu vực hay Trái đất, vẽ đơn giản miêu tả không gian, địa điểm hiển thị những thông tin liên quan trực tiếp đến vị trí có liên quan đến khu vực xug quanh Bản đồ GIS công cụ hữu ích cho phép vị trí địa điểm Với kết hợp đồ sở liệu, người dùng xem thơng tin chi tiết đối tượng/ thành phần tương ứng với địa điểm đồ thông qua liệu lưu trữ sở liệu Ví dụ, xem đồ thành phần, người dùng chọn để xem thơng tin thành phố diện tích, số dân, thu nhập bình quân, số quận/huyện thành phố,… Độ phức tạp giới thực không gian hữu hạn Càng quan sát giới gần thấy chi tiết Con người mong mỏi lưu trữ, quản lý đầy đủ liệu giới thực Điều dẫn đến yêu cầu phải có sở liệu lớn, vô hạn để lưu trữ thông tin xác chúng Do vậy, để lưu trữ liệu không gian giới thực vào máy tính phải giảm số lượng liệu đến mức quản lý tiến trình đơn giản hóa hay trừu tượng hóa Trừu tượng đơn giản hóa cách thơng minh Trừu tượng cho ta tổng quát hóa “ ý tưởng” hóa vấn đề xem xét Chúng loại bỏ chi tiết dư thừa tập trung vào điểm chính, Các đặc trưng địa lý phải biểu diễn thành phần rời rạc hay đối tượng để lưu vào CSDL máy tính Hình 0.1 Hệ thống thông tin địa lý GIS lưu thông tin giới thực hành tầng (layer) đồ chuyên đề mà chúng có khả liên kết địa lý với Giả sử có vùng quan sát hình 1-2 Hình 0.2 Tầng (layer) đồ Mỗi nhóm người sử dụng quan tâm đến hay nhiều loại thông tin Ví dụ: - Sở giao thơng cơng quan tâm nhiều đến hệ thống đường phố - Sở nhà đất quan tâm nhiều đến vực dân cư công sở - Sở thương mại quan tâm nhiều đến phân bổ khách hàng vùng Tư tưởng tách đồ thành tầng đơn giản khác mềm dẻo hiệu quả, chúng có khả giải nhiều vấn đề giới thực, từ theo dõi điều hanh xe cộ giao thông đến ứng dụng lập kế hoạch mơ hình hóa lưu thơng Ta sử dụng đến tiến trình tự động, gọi mã hóa địa lý (geocoding) để liên kết liệu bên với liệu đồ Ví dụ: Sử dụng mã hóa địa lý để ánh xạ thông tin bán hàng mã bưu điện (ZIP) hay địa khách hàng đồ điểm 1.2 Biểu diễn liệu địa lý a Các thành phần liệu địa lý Trong GIS, liệu chia thành hai loại: thành phần gian thành phần phi không gian ( thuộc tính) Hai loại thành phần liệu kết hợp thông qua số chung để mô tả đối tượng thực Sự kết hợp thể đặc trưng khơng gian đối tượng, cho phép: Mơ tả “ vị trí, hình dạng” : vị trí tham chiếu, đơn vị đo, dạng hình học thực thể địa lý Mô tả “quan hệ tương tác” thực thể địa lý Ví dụ đất liền kề với khu công nghệ? Mô tả “ thông tin” đối tượng địa lý: chủ sở hữu đất này? - Thành phần không gian Thành phần liệu khơng gian hay cịn gọi liệu đồ, liệu đối tượng mà vị trí xác định bề mặt trái đất Dữ liệu không gian sử dụng hệ thống địa lý xây dựng hệ tọa độ, bao gồm tọa độ, quy luật ký hiệu dùng để xác định hình ảnh đồ cụ thể đồ Hệ thống GIS dùng thành phần liệu không gian để tạo đồ hay hình ảnh đồ hình giấy thông qua thiết biij ngoại vi Mỗi hệ thống GIS dùng mơ hình khác để mơ hình hóa giới thực cho giảm thiểu phức tạp không gian không liệu cần thiết thiết để mơ tả xác đối tượng không gian Hệ thống GIS sử dụng liệu sở sau để mô tả thể đối tượng Điểm( Point): Điểm xác định cặp giá trị tọa độ(x,y) Các đối tượng đơn thông tin địa lý bao gồm vị trí thường mơ tả đối tượng điểm Các đối tượng biểu diễn kiểu điểm thường mang đặc tính có tọa độ đơn (x,y) khơng cần thể chiều dài diện tích Ví dụ: đồ, vị trí bệnh viện, trạm rút tiền tự ATM, xăng,…có thể biểu diễn điểm Đường- cung (line- arc): Đường xác định dãy điểm điểm đầu cuối Đường dùng để mô tả đối tượng địa lý dạng tuyến đường giao thơng, sơng ngịi, tuyến cấp điện, cấp nước… Các đối tượng biểu diễn kiểu đường thường mang đặc điểm có dãy cặp tọa độ, đường bắt đầu kết thúc cắt điểm, độ dài đường khoảng cách điểm đầu điểm cuối Ví dụ: đồ hệ thống đường sơng, sơng, đường biên giưới hành chính,…thường biểu diễn đường đường có điểm (vertex) để xác định vị trí hình dáng đường Vùng (polygon): Vùng xác định ranh giới đường, có điểm đầu trùng điểm cuối Các đối tượng địa lý có diện tích bao quanh đường thường biểu diễn vùng Các đối tượng biểu diễn vùng có đặc điểm mơ tả tập đường bao quanh vùng điểm nhãn( Lael point) thuộc vùng để mô tả, xác định cho vùng Ví dụ: khu vực hành chính, hình dạng công viên, mô tả kiểu liệu vùng Lưới ( Grid): Được mô tả dãy ô mắt lưới cách khoảng cách ổn định Các lưới có kích thước chia theo mét (kích thước thường 1000m x 100m) Lưới chia theo độ có kích thước (1 độ x độ, 0.5 độ x 0.5 độ) Lưới phẳng chia theo km m chia theo kích thước ( km x km, 100 m x 100 m)… Lớp( Class - Layer) Là nhóm đối tượng có tính chất tổ chức chẳng hạn: Lớp đường quốc lộ, đường tỉnh lộ, lớp thông tin thủy văn, lớp thơng tin hành chính, lớp thơng tin dân số, lớp thông tin rừng, lớp thông tin cầu phà, lớp thông tin đường sắt Ngoài đối tượng nêu số hệ GIS cịn có thêm sơ đối tượng đặc biệt cung, hình trịn, hình chữ nhật, text…để tạo đồ có tính thẩm mỹ cao Tuy nhiên phép phân tích chồng xếp hình ảnh đồ thường quan tâm tới ba dạng đối tượng đặc trưng nhất: điểm, đường, vùng Một đối tượng biểu diễn kiểu khác tùy thuốc vào tỷ lê đồ Ví dụ: đối tượng cơng viên biểu diễn điểm đồ có tỷ lệ nhỏ vùng đồ tỷ lệ lớn - Thành phần phi không gian Thành phần liệu phi không gian hay cịn gọi liệu thuộc tính, diễn tả đặc tính, số lượng, mối quan hệ hình ảnh đồ với vị trí địa lý chúng thông qua chế thống Hệ thóng GIS có chế liên kết liệu không gian phi không gian đối tượng với Có thể nói, chức đặc biệt cơng nghệ GIS có khả liên kết xử lý đồng thời liệu đồ liệu thuộc tính Dữ liệu thuộc tính hệ thống GIS thường phân thành loại sau: Bộ xác định: số nhất, liên tục, ngẫu nhiên báo địa lý, số liệu xác định vị trí lưu trữ chung Bộ xác định cho thực thể chứa tọa độ phân bố nó, số hiệu mảnh đồ, mô tả khu vực hay trỏ đến vị trí lưu trữ số liệu liên quan Bộ xác định thường lưu trữ với ghi tọa độ hay mơ tả khác hình ảnh khơng gian ghi số liệu thuộc tính liên quan 10 b Mợt số thuật tốn tìm đường ngắn kinh điển Thuật toán Dijkstra Thuật toán nhà khoa học Hà Lan –Edsger Dijkstra đưa vào năm 1959 cung cấp tảng cho thuật toán hữu hiệu để giải toán Thuật toán Dijkstra thiết kế dựa kỹ thuật tham ăn để giải tốn tìm đường ngắn từ đỉnh nguồn đồ thị có hướng với trọng số khơng âm Thuật tốn Dijkstra hoạt động dựa việc gán nhãn cho đỉnh Ý tưởng Giả sử biết k đỉnh gần đỉnh s tổng chiều dài đồ thị đường ngắn từ s đến đỉnh Gán nhãn đỉnh s k đỉnh với khoảng cách ngắn từ s Sau đỉnh thứ k+1 gần đỉnh x tìm thấy sau Với đỉnh gán nhãn y, xây dựng k đường phân biệt từ s đến y cách kết nối đường ngắn từ s đến x với cung (x, y) cho tất đỉnh x gán nhãn Chọn đường ngắn k đường đặt đường ngắn từ s đến y Vì vậy, biết đỉnh thứ k gần đỉnh s đỉnh thứ k+1 xác định Bắt đầu với k=0, q trình lặp lặp lại tìm đường ngắn từ s đến t (tức t gán nhãn) Thuật toán Thuật toán Dijsktra thực sau: Bước - Ban đầu tất cung đỉnh chưa gán nhãn - Với đỉnh x ∈ V, gọi d(x) nhãn gán cho đỉnh x độ dài đường ngắn từ s đến x - Khởi tạo, đặt d(s) = d(x) = ∞ cho đỉnh x ≠ s - Gọi y đỉnh cuối gán nhãn 37 - Gán nhãn đỉnh s đặt y = s Bước - Với đỉnh chưa gán nhãn x, tính lại nhãn d(x) sau: d(x) = { d(x), d(y) + a(x, y)} - Nếu d(x) = ∞ với đỉnh x chưa gán nhãn dừng lại khơng tồn đường từ s đến đỉnh chưa gán nhãn - Ngược lại: - Gán nhãn cho đỉnh x chưa gán nhãn với giá trị d(x) nhỏ - Gán nhãn cho cung có hướng đến đỉnh x từ đỉnh gán nhãn với giá trị d(x) - Đặt y = x Bước - Nếu đỉnh t gán nhãn dừng, đường ngắn từ s đến t tìm Đường chứa đường đơn cung gán nhãn từ s đến t - Nếu đỉnh t chưa gán nhãn lặp lại bước Chú ý thuật toán gán nhãn cho đỉnh (ngoại trừ đỉnh s) gán nhãn cho cung hướng đỉnh Vì vậy, đỉnh có tối đa cung gán nhãn hướng vào cung gán nhãn khơng có chu trình khơng có cung gán nhãn hai điểm đầu cuối có cung gán nhãn tạo thành dạng có gốc s đến điểm x khác nằm đường ngắn đường ngắn từ s đến x Mở rộng thuật tốn Nếu muốn tìm đường ngắn từ đỉnh s đến đỉnh khác đồ thị tiếp tục trình phát triển tất đỉnh nằm đường ngắn Trong trường hợp này, trở thành mở rộng (nếu tồn tại) Khi bước là: 38 Bước - Nếu tất đỉnh gán nhãn dừng lại đường cung gán nhãn từ s đến x đường ngắn từ s đến x với đỉnh x - Ngược lại, trở bước Ví dụ minh họa Hình 3-2 : Đồ thị minh họa thuật tốn Dijkstra Tìm đường ngắn từ nút s đến nút t đồ thị G hình 3-2 thuật tốn Dijkstra Bước 1:Khởi tạo, d(s) = 0, d(x) = ∞ với x ≠ s Đặt y = s Bước 2:Tính lại khoảng cách cho nút chưa gán nhãn: d(1) = min{ d(1), d(s) + a(s, 1)} = {∞, + 4} = d(2) = { d(2), d(s) + a(s, 2)} = {∞, + 7} = 39 d(3) = {d(3), d(s) + a(s, 3)} = {∞, + 3} = Vì khoảng cách nhỏ nút chưa gán nhãn d(3) = nên gán nhãn cho nút cung (s, 3) Cây đường ngắn chứa cung (s, 3) Đặt y = Bước 3: Nút t chưa gán nhãn nên quay lại bước Bước 2: Tính d(4) = min{d(4), d(3) + a(3, 4) } = {∞, + 3} = Khoảng cách nhỏ nút chưa gán nhãn d(1) = nên gán nhãn cho nút cung (s, 1) Cây đường ngắn chứa cung (s, 3) (s, 1) Đặt y = Bước 3: Đỉnh t chưa gán nhãn nên quay lại bước Bước 2: Tính d(2) = min{d(2), d(1) + a(1, 2)} = {7, + 3} = d(4) = min{d(4), d(1) + a(1, 4)} = {6, + 2} = Khoảng cách nhỏ nút chưa gán nhãn d(4) = nên gán nhãn cho nút cung (1, 4) (3, 4) hai d(4) Chọn tuỳ ý cung (3, 4) Khi đó, đường ngắn chứa cung (s, 3), (s, 1) (3, 4) Đặt y = Bước 3:Đỉnh t chưa gán nhãn nên quay lại bước Bước 2:Tính d(t) = {d(t), d(4) + a(4, t)} = {∞, + 2} = Khoảng cách nhỏ nút chưa gán nhãn d(2) = nên gán nhãn cho nút cung (s, 2) Đường ngắn chứa cung (s, 3), (s, 1), (3, 4) (s, 2) Đặt y = Bước 3: Đỉnh t chưa gán nhãn nên quay lại bước Bước 2:Tính d(t) = {d(t), d(2) + a(2, t)} = {8, + 2} = Khi đó, nút t gán nhãn cuối cung (4, t) gán nhãn d(t) Do vậy, đường ngắn cuối chứa cung (s, 3), (s, 1), (3, 4), (s, 2) (4, t) Đường ngắn từ s đến t chứa cung (s, 3), (3, 4) (4, t) với chiều dài + + = Đường không đường ngắn nhất từ s đến t đường (s, 1), (1, 4) (4, t ) có chiều dài 40 Thuật tốn Bellman-Ford Ban đầu, giả sử tất chiều dài cung không âm Nếu số chiều dài cung âm điều xảy ra? Ví dụ, xét đồ thị Hình 3-2 Đường ngắn từ đỉnh s đến đỉnh t (s, 1), (1, t), chiều dài +2 – = Có thể dễ dàng nhận thấy thuật tốn tìm đường ngắn Dijkstra áp dụng đồ thị đường (s, t) chọn nhầm đường ngắn từ đỉnh s đến đỉnh t Vì vậy, khơng đảm bảo thuật tốn tìm đường ngắn Dijkstra sinh đường ngắn chiều dài cung cho phép âm Thuật toán Bellman-Ford (1956) thuật tốn tính đường ngắn nguồn đơn đồ thị có hướng có trọng số (trong số cung có trọng số âm) Thuật toán Dijkstra giải toán với thời gian chạy thấp hơn, lại đòi hỏi trọng số cung phải có giá trị khơng âm Do đó, thuật tốn Bellman-Ford thường dùng có cung với trọng số âm Mơ tả thuật tốn: function BellmanFord(danh_sách_đỉnh, danh_sách_cung, nguồn) /* hàm yêu cầu đồ thị đưa vào dạng danh sách đỉnh, danh sách cung hàm tính giá trị khoảng_cách đỉnh_liền_trước đỉnh, cho giá trị đỉnh_liền_trước lưu lại đường ngắn nhất*/ //bước 1: khởi tạo đồ thị for each v in danh_sách_đỉnh: if v is nguồn then 41 khoảng_cách(v) := else khoảng_cách(v) := vô đỉnh_liền_trước(v) := null // bước 2: kết nạp cạnh for i from to size(danh_sách_đỉnh): for each (u,v) in danh_sách_cung: if khoảng_cách(v) > khoảng_cách(u) + trọng_số(u,v) then khoảng_cách(v) := khoảng_cách(u) + trọng_số(u,v) đỉnh_liền_trước(v) := u // bước 3: kiểm tra chu trình âm for each (u,v) in danh_sách_cung: if khoảng_cách(v) > khoảng_cách(u) + trọng_số(u,v) : error "Đồ thị chứa chu trình âm" Thuật tốn A* Thuật tốn A* mô tả lần đầu vào năm 1968 Peter Hart, Nils Nilsson, Bertram Raphael[13] Trong báo họ, thuật toán gọi thuật 42 toán A; sử dụng thuật toán với đánh giá heuristic thích hợp thu hoạt động tối ưu, mà có tên A* Thuật tốn A* (đọc A sao) thuật tốn tìm kiếm đồ thị Thuật tốn tìm đường từ nút khởi đầu tới nút đích cho trước (hoặc tới nút thỏa mãn điều kiện đích) Thuật tốn sử dụng "đánh giá heuristic" để xếp loại nút theo ước lượng tuyến đường tốt qua nút Thuật tốn duyệt nút theo thứ tự đánh giá heuristic Do đó, thuật tốn A* ví dụ tìm kiếm theo lựa chọn tốt (best-first search) Ý tưởng trực quan Xét tốn tìm đường - toán mà A* thường dùng để giải A* xây dựng tăng dần tất tuyến đường từ điểm xuất phát tìm thấy đường chạm tới đích Tuy nhiên, tất thuật tốn tìm kiếm có thơng tin, xây dựng tuyến đường "có vẻ" dẫn phía đích Để biết tuyến đường có khả dẫn tới đích, A* sử dụng "đánh giá heuristic" khoảng cách từ điểm cho trước tới đích Trong trường hợp tìm đường đi, đánh giá khoảng cách đường chim bay - đánh giá xấp xỉ thường dùng cho khoảng cách đường giao thông Điểm khác biệt A* tìm kiếm theo lựa chọn tốt cịn tính đến khoảng cách qua Điều làm cho A* "đầy đủ" "tối ưu", nghĩa là, A* ln ln tìm thấy đường ngắn tồn đường A* khơng đảm bảo chạy nhanh thuật tốn tìm kiếm đơn giản Trong mơi trường dạng mê cung, cách để đến đích trước hết phải phía xa đích cuối quay lại Trong trường hợp đó, việc thử nút theo thứ tự "gần đích thử trước" gây tốn thời gian Mơ tả thuật toán Thuật toán A* dựa thuật toán Dijkstra, Dijkstra, tư tưởng tìm đường A* dựa chiến lược tìm kiếm theo chiều rộng Trước 43 xem xét thuật toán, ta quy ước cho tốn tìm đường ngắn đồ thị G: - s = đỉnh xuất phát - t = đỉnh kết thúc - close = tập đỉnh tính tốn xác đường ngắn - open = tập đỉnh lại - s(i,j) = trọng số cung (i,j) - d(i) = khoảng cách nhỏ từ i đến s v(i) = khoảng cách ước lượng từ i đến s Khi đó, nhiệm vụ thuật tốn tìm đường ngắn phải tìm giá trị d(t) Mơ chi tiết thuật tốn A* sau: d(i) = + ∞với ∀i ∈ [1 n] close = [s] open = [1 n] – [s] k=s repeat {sửa đổi ước lượng min} Với ∀i ∈ open d(i) = {d(i), d(k) + a(k, i)} {mở rộng tập close} Chọn k ∈ open để ∀i ∈ open có (d(i) + v(i)) ≤ (d(k) + v(k)) open = open – [k] close = close + [k] Until (t ∈ close) ; 3.3.Thuật toán Dijkstra mờ a Thuật toán 44 Thuật tốn Yong Deng cộng cơng bố năm 2012 Ý tưởng chủ đạo thuật toán biểu diễn khoảng cách hai điểm số mờ dạng hình thang tam giác Từ áp dụng giải thuật Dijkstra để xác định đường ngắn Các định nghĩa số mờ, số mờ tam giác mô tả chương luận văn Ở Yong Deng định nghĩa thêm số mờ hình thang sau: Một số mờ hình thang định nghĩa A* = (a 1, a2, a3, a4) với giá trị hàm liên thuộc sau: if x ≤ a1 if a1 < x < a2 µA* (x)= if a2 < x < a3 if a3 < x < a4 if x ≥ a4 Trên sở định nghĩa số mờ, Yong Deng đưa khái niệm giá trị trung bình để làm so sánh hai số mờ Với số mờ dạng tam giác A* = (a1, a2, a3) giá trị trung bình P(A*) xác định sau: P(A*) = (a1+ 4a2 + a3) Với số mờ dạng hình thang A* = (a1, a2, a3, a4) giá trị trung bình P(A*) xác định sau: P(A*) = (a1 + 2a2 + a3 + a4) Tổng hai số mờ A* B* số mờ €* = A* + B* có giá trị trung bình là: P(€*) = (a1+ 4a2 + a3) + (b1+ 4b2 + b3) với số mờ tam giác P(€*) = (a1 + 2a2 + a3 + a4) + (b1 + 2b2 + 2b3 + b4) với số mờ hình thang Trên sở khái niệm trên, thuật tốn Dijkstra mờ có dạng sau: functionfuzzy Dijkstra (Graph, source): for each vertex v in Graph; //Khởi tạo dist[v]:=infinity; //khoảng cách chưa biết từ source đến v previous[v]:=undefined; //Node trước đường tối ưu từ source 45 end for; dist[source]:=0; // khoảng cách từ source đến source Q:=the set of all nodes in Graph //Cac node chưa tối ưu nên thuộc Q while Q is not emty //Vịng lặp u:=vertex in Q with smalest dist[]; if dist[u]=infinity; break; //Tất điểm không nối với source end if remove u from Q for each neighbor v of u //v mà chưa bị loại khỏi Q alt:=dist[u]+dist_between(u,v); //Phép cộng giá trị trung bình hai số mờ sử dụng if alt (1) = (1) => (2)= 14,1667 Từ kiếm từ (1) => (3) = 12.0000 (1) (1) => (4)=10,8333 (1) => (5)= 8.5000 (1) => others = ∞ S={(1),(5)} Tìm đường ngắn (1) => (5) Q={(2),(3),(4),(6),( ∞),(23)} (1)=>(1)=0 (1) => (5) => (8)= 18.3333 (1)=>(5)= 8.5000 (1) => (5) => (11)= 19,1667 (1) => (5) => (12) = 23.333 (1) => (5) => others = ∞ Tìm đường ngắn S = { (1),(5),(4)} (1) => (4) = 10,8333 Q ={(2),(3),(6),( ∞),(23)} (1)=>(1)= (1) => (4) => (7) = 31,6666 (1)=>(5)= 8.5000 (1) => (4) => (11) = 21.8333 48 (1) =>(4)= 10.8333 Loại (1) => (5) => (11) = 19,667 Tìm kiếm từ (1) => (4) => others = ∞ (1) => (4) Tìm đường ngắn là: (1) => (3) = 12.0000 Kết bước cuối thuật toán Dijkstra Bước Tập S Tập Q Q= {(22)} (1),(5),(4),(3),(2),(8),(11),(12) S = (7),(13),(6),(17),(14),(9),(10), (15) (1) =>(5)=>(11)=>(17)=> (21)=>(23) => others = ∞ (21),(20),(16),(19),(18),(23) Tìm đường ngắn (1) => (1) = (1)=> (5)=> (12) => (1) => (5) = 8,500 (15)=> (18) => (22)= (1) => (4) = 10,8333 52,8333 (1) => (3) = 12.0000 (1) => (2) = 14,1667 (1) => (5) => (8) = 18.3333 (1)=> (5) => (12) = 23.3333 (1) => (5) => (8) => (13) = 24,8333 (1) => (2) => (6) = 26 (1) => (5) =>(11) =>(17)= 29,1667 (1) => (5)=>(11) => (14)= 29,834 (1) => (2) => (6) => (9) = 34,8333 (1) => (2) => (7) => (10) = 35,6667 (1) => (5) => (12)=>(15) = 36,6666 (1) => (2) => (6)=>(9) =>(16) = 42,8333 (1) => (5) => (8)=>(13) =>(19) = 49 43,8333 (1) => (5) => (12)=>(15) =>(18) =46,8333 (1) => (5) => (11)=>(17) =>(21) => (23) = 52.5001 Tìm kiếm từ (1)=> (5)=>(11)=>(17)=>(21)=>(23) 3.4 Tổng kết chương Ngoài việc mối quan hệ tính cần thiết logic mờ hệ GIS, nội dung chương taajo trung vào phân tích giải thuật tìm đường ngắn sử dụng logic mờ Trong đó, để có đối sánh, luận văn tổng kết lại số thuật tốn tìm đường ngắn kinh điển theo phương pháp rõ Nguyên lý phương pháp kinh điển khởi nguồn cho phương pháp Dijkstar mờ, xem tốt ba phương pháp công bố gần mà luận văn khảo sát Đề tài lựa chọn thuật toán Dijkstra mờ cho toán thiết kế tuyến đường trình bày chương Tài liệu tham khảo [1] Tổng quan GIS, Trung tâm Viễn thám Công nghệ thông tin (RITC)Formis II [2] V T Hà, Nghiên cứu thuật tốn tìm đường GIS, Thái Nguyên: Đại học Thái Nguyên, 26/06/2016 [3] P N Minh, "Nghiên cứu, xây dựng tốn tìm đường ngắn với liệu mờ dạng khoảng," Học viện Kỹ thuật Quân sự, Hà Nội, 05/05/2011 [4] P N Hưng, "Nghiên cứu phát triển hệ thống dịch vụ dựa vị trí địa lý thử nghiệm," Đại học công nghệ- Đại học quốc gia Hà Nội, Hà Nội, 2009 [5] H T Cang, "Luận văn thạc sĩ khoa học “ tốn tìm đường ngắn ứng dụng," Đại học Đà Nẵng, Đà Nẵng, 17/08/2011 50 [6] "Bài tốn tìm đường ngắn hai đỉnh thơng qua thuật tốn Dijkstra" [7] L T T H Trịnh Xuân Nam, Mạng viễn thông, Hà Nội: NXB Khoa học kỹ thuật [8] M L A N V L Petrik S., Application of Shortest Path Algorithm to GIS using Fuzzy Logic, Budapest, Hungary: 4th International Symposium of Hungarian Researchers on Computational Intelligence, 2003 [9] A El-Rabbany, Introduction to GPS, ARTECH HOUSE, INC., 2002 [10] D Heywood, An introduction to geographical information systems, 4th ed, 2011 51 ... đường quốc lộ, đường tỉnh lộ, lớp thông tin thủy văn, lớp thông tin hành chính, lớp thơng tin dân số, lớp thông tin rừng, lớp thông tin cầu phà, lớp thơng tin đường sắt Ngồi đối tượng nêu số hệ... thống thông tin địa lý chứng tỏ khả ưu việt hẳn hệ thống đồ truyền thống dựa vào khả tích hợp thơng tin mật độ cao, cập nhật thơng tin dễ dàng khả phân tích, tính tốn Do đó, hệ thống thơng tin địa... tiếp cận theo hướng logic mờ hồn tồn có sở Mối quan hệ GIS logic mờ đươc làm rõ chương báo cáo CHƯƠNG 3: THUẬT TOÁN ĐƯỜNG ĐI NGẮN NHẤT MỜ TRONG GIS Tiếp theo kiến thức sở logic mờ trình bày chương