Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 83 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
83
Dung lượng
2,96 MB
Nội dung
- 1 -
Đại học Thái Nguyên
Khoa công nghệ thông tin
Phạm Thị Hằng Nga
Thuật toántìm đờng đitối u trongGIS
Luận văn thạc sĩ CÔng ngHệ THÔNG TIN
Thái Nguyên - 2010
- 2 -
Đại học Thái Nguyên
Khoa công nghệ thông tin
Phạm Thị Hằng Nga
Thuật toántìm đờng đitối u tronggis
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01
Luận văn thạc sĩ CÔNG NGHệ THÔNG TIN
Ngời hớng dẫn khoa học
PGS. TS. Đặng Văn Đức
Thái Nguyên - 2010
i
LỜI CAM ĐOAN
Tôi xin cam đoan bản luận văn “Thuật toántìmđườngđitốiưutrong
GIS” là công trình nghiên cứu của tôi dưới sự hướng dẫn khoa học của
PGS.TS. Đặng Văn Đức, tham khảo các nguồn tài liệu đã được chỉ rõ trong
trích dẫn và danh mục tài liệu tham khảo. Các nội dung công bố và kết quả
trình bày trong luận văn này là trung thực và chưa từng được ai công bố trong
bất cứ công trình nào.
Thái Nguyên, tháng 10 năm 2010
Phạm Thị Hằng Nga
ii
Lời cảm ơn
Tôi xin gửi lời cảm ơn sâu sắc tới PGS. TS. Đặng Văn Đức, người đã tận tình
có những chỉ bảo cần thiết để giúp đỡ tôitrong suốt quá trình nghiên cứu và phát
triển luận văn.
Xin chân thành cảm ơn quý Thầy cô trong khoa Sau đại học trường Đại học
Thái Nguyên đã nhiệt tình giảng dạy, trang bị cho tôi những kiến thức quý báu
trong suốt thời gian học tập tại trường.
Xin chân thành cảm ơn các bạn cùng lớp, đồng nghiệp và đơn vị nơi tôi công
tác đã tạo điều kiện cho tôi hoàn thành luận văn này.
Xin gửi lời cảm ơn tới gia đình tôi đã động viên tôitrong suốt quá trình học
và hoàn thành luận văn.
iii
MỤC LỤC
LỜI CAM ĐOAN i
MỞ ĐẦU 1
CHƯƠNG 1 - TỔNG QUAN VỀ GIS 4
1.1 Định nghĩa, các thành phần, chức năng GIS 4
1.1.1 Định nghĩa 4
1.1.2 Các thành phần 9
1.1.3 Chức năng của Gis 12
1.2 Cấu trúc dữ liệu không gian véctơ và các thuậttoán liên quan 14
1.2.1 Các thành phần dữ liệu 14
1.2.2 Các phép toán phân tích không gian trên mô hình Vector 18
1.3 Các ứng dụng GIS 22
CHƯƠNG 2 – MỘT SỐ THUẬTTOÁNTÌMĐƯỜNGĐITỐIƯU ỨNG
DỤNG TRONGGIS 24
2.1 Một số thuậttoán cơ sở: Disktra, Floy, A* 24
2.1.1 Phát biểu bài toán 24
2.1.2 Thuậttoán Dijkstra 25
2.1.3 Thuậttoán Bellman-Ford 34
2.1.4 Thuậttoán A* 37
2.2 Ứng dụng logíc mờ trongtìmđườngđitốiưu 46
2.2.1 Giới thiệu Logic mờ 46
2.2.2 Ứng dụng logic mờ trongtìmđườngđitốiưu 50
2.3 Nhận xét đánh giá 53
CHƯƠNG 3 – PHÁT TRIỂN CHƯƠNG TRÌNH THỬ NGHIỆM 56
3.1 Giới thiệu bài toántìmđườngđitốiưu 56
3.1.1 Lý do xây dựng chương trình 56
iv
3.1.2 Mục tiêu, nhiệm vụ của chương trình 56
3.2 Các công nghệ sử dụng 57
3.2.1 MapInfo Professional 57
3.2.2 Thư viện hỗ trợ xây dựng ứng dụng bản đồ MapXtreme 60
3.2.3 Hệ quản trị cơ sở dữ liệu Access 64
3.2.4 Ngôn ngữ lập trình Microsoft Visual C#.NET 64
3.3 Thiết kế, lập trình hệ thống demo 65
3.3.1 Thiết kế 65
3.3.2 Lập trình demo 67
3.4 Đánh giá kết quả thu được 72
KẾT LUẬN 73
HƯỚNG PHÁT TRIỂN 74
TÀI LIỆU THAM KHẢO 75
v
DANH MỤC HÌNH VẼ
Hình 1.1 Hệ thống thông tin tin địa lý 6
Hình 1.2 Tầng bản đồ 7
Hình1.3 Các hoạt động chính của GIS 8
Hình 1.4 Các thành phần của GIS 9
Hình 1.5 Phần cứng GIS 11
Hình 1.6 Phần mềm của GIS 12
Hình 1.7 Các nhóm chức năng trongGIS 13
Hình 1.8 Các thành phần hình học cơ sở 14
Hình 1.9: Số liệu vector được biểu thị dưới dạng điểm (Point) 15
Hình 1.10: Số liệu vector được biểu thị dưới dạng Arc 16
Hình 1.11: Số liệu vector được biểu thị dưới dạng vùng (Polygon) 17
Hình 1.12 Một số khái niệm trong cấu trúc cơ sở dữ liệu bản đồ 17
Hình 1.13 Phép toán Buffer 18
Hình 1.14 Phép toán Difference 18
Hình 1.15 Phép toán Clip 19
Hình 1.16 Phép toán Intersect 19
Hình 1.17 Phép toán Convex hull 19
Hình 1.18 Phép toán Symmetric difference 20
Hình 1.19 Phép toán cut 20
Hình 2.1 Đồ thị minh họa thuậttoán Dijkstra 28
Hình 2.2 Đồ thị minh họa thuậttoán Bellman-Ford 35
Hình 2.3: Minh hoạ phép toán hợp trên tập mờ 50
Hình 2.4: Minh hoạ phép toán giao trên tập mờ 50
Hình 2.5: Đồ thị mờ G minh hoạ thuậttoán FSA 51
Hình 2.6: Các đườngđi mờ ngắn nhất của đồ thị mờ G 53
vi
Hình 3.1 Sơ đồ phân cấp chức năng 65
Hình 3.2 Bảng dữ liệu 66
Hình 3.3 Giao diện tìm kiếm đườngđi ngắn nhất 71
Hình 3.4 Giao diện kết quả tìm kiếm 72
1
MỞ ĐẦU
Từ xa xưa, thông tin địa lý đã là nhu cầu cần thiết của mọi người trong
mọi sinh hoạt hàng ngày tại những vị trí khác nhau. Mỗi người trong xã hội
luôn luôn có nhu cầu cần biết về thế giới thực xung quanh mình. Con người
muốn được hiểu biết về các thực thể, các sự kiện, các hiện tượng như thế nào,
xảy ra ở đâu, xảy ra khi nào, và tại sao như vậy. Ở quy mô rộng lớn hơn,
những nhà lãnh đạo một địa phương, một quốc gia, một khu vực luôn luôn
cần có thông tin địa lý một cách đầy đủ, chính xác, kịp thời để ra những quyết
sách đúng đắn, phù hợp lòng dân, làm cho địa phương, quốc gia ngày càng
phát triển. Những nhà quân sự cần có thông tin địa lý để có những phương án
chiến lược, chiến thuật bảo vệ lãnh thổ. Những nhà đầu tư cần thông tin địa lý
để tính toán những khả năng và hiệu quả đầu tư, những nhà kinh doanh cần có
thông tin địa lý để qui hoạch chiến lược thị trường, làm cho hàng hóa được
tiêu thụ nhanh chóng. Những nhà quản lý công trình giao thông đô thị cần
thông tin địa lý để cơ cấu lại phương tiện giao thông công cộng theo hướng
giảm ách tắc giao thông, tiết kiệm nhiên liệu, giảm ô nhiễm môi trường,…
Ngày nay, với sự phát triển của công nghệ thông tin, đặc biệt là từ khi
xuất hiện ngành đồ họa vi tính cũng như sự gia tăng vượt bậc những khả năng
phần cứng, hệ thống thông tin địa lý (GIS) đã ra đời và phát triển nhanh
chóng cả về mặt công nghệ cũng như ứng dụng. Hệ thống thông tin địa lý đã
chứng tỏ khả năng ưu việt hơn hẳn các hệ thông tin bản đồ truyền thống nhờ
vào khả năng tích hợp thông tin mật độ cao, cập nhật thông tin dễ dàng cũng
như khả năng phân tích, tính toán của nó. Do đó, hệ thống thông tin địa lý đã
nhanh chóng trở thành một công cụ trợ giúp quyết định cho tất cả các ngành
từ quy hoạch đến quản lý, tất cả các 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 nay
2
không có lĩnh vực nào không có hoặc không thể ứng dụng công nghệ GIS.
Cũng chính vì thế, công nghệ thông tin địa lý (công nghệ GIS) được tiếp cận
từ nhiều hướng khác nhau và do đó cũng có nhiều định nghĩa khác nhau về
GIS.
Thuật toántìmđườngđitốiưutrong GIS, hiện nay đang được triển
khai rộng rãi trong các ứng dụng quan trọng trên thực tế như lập kế hoạch vận
chuyển, điều khiển giao thông,…
Trên đây đã điểm qua tầm quan trọng của hệ thông tin địa lý, đặc biệt là
thuật toántìmđườngđitốiưutrongGis đã cho ta thấy rõ tính cần thiết cũng
như tính thời sự của vấn đề, đồng thời có ý nghĩa khoa học và thực tiễn. Vì
thế, tôi đã thực hiện đề tài luận văn: “Thuật toántìmđườngđitốiưutrong
Gis”.
Mục tiêu đề tài là tìm hiểu các thuậttoán áp dụng trong đồ thị. Đề tài
cũng bước đầu xây dựng một chương trình tìm kiếm đườngđitốiưu giúp cho
những người tham gia giao thông, hay khách du lịch ở thành phố Hải Phòng
chọn được hướng đườngđitốiưu nhất, nhằm tiết kiệm thời gian và công sức.
Bố cục của luận văn bao gồm phần mở đầu, phần kết luận và ba chương
nội dung được tổ chức như sau:
Chương 1: Tổng quan về GIS
Chương này trình bày tổng quan về hệ thống thông tin địa lý bao gồm
các thành phần, chức năng và các ứng dụng của GIS. Hơn nữa, đề cập đến
một số vấn đề về cấu trúc dữ liệu không gian vectơ và các thuậttoán liên
quan…
Chương 2: Một số thuậttoántìm kiếm đườngđitốiưu ứng dụng trong
GIS
[...]...3 Trong chương này tập trung vào một số thuậttoán tìm đườngđi ngắn nhất trong đồ thị như thuậttoán Dijkstra, thuậttoán A*, thuậttoán Floyd,… Chương 3: Phát triển chương trình thử nghiệm Trong chương này phát triển ứng dụng về thuậttoántìmđườngđitốiưutrong thực tế Cụ thể là cài đặt và thử nghiệm với thuậttoán Floyd để tìm kiếm đườngđi có khoảng cách ngắn nhất giữa các đi m đường trên... là cây đườngđi ngắn nhất Đườngđi duy nhất từ s đến bất kỳ đi m x nào khác nằm trong cây đườngđi ngắn nhất là đườngđi ngắn nhất từ s đến x Nếu đườngđi ngắn nhất từ s đến x trong cây đườngđi ngắn nhất đi qua đỉnh y thì phần đườngđi từ y đến x này là đườngđi ngắn nhất từ y đến x Ngược lại thì tồn tại đườngđi khác, thậm chí còn ngắn hơn đườngđi từ y đến x, đi u này mâu thuẫn với đườngđi ngắn... các chức năng tìm địa đi m cho các công trình ngầm: ống dẫn, đườngđi n,…; cân đối tải đi n; lập kế hoạch bảo dưỡng các công trình công cộng… - Phân tích tổng đi u tra dân số, lập bản đồ các dịch vụ y tế, bưu đi n và nhiều ứng dụng khác 24 CHƯƠNG 2 – MỘT SỐ THUẬTTOÁNTÌMĐƯỜNGĐITỐIƯU ỨNG DỤNG TRONGGIS 2.1 Một số thuậttoán cơ sở: Disktra, Floy, A* 2.1.1 Phát biểu bài toán Các thuậttoán đồ thị... các cung đơn trongđườngđi Với hai đỉnh bất kỳ, s và t trong G, có thể tồn tại nhiều đườngđi từ s đến t Bài toánđườngđi ngắn nhất bao gồm tìm đườngđi từ s đến t sao cho chiều dài nhỏ nhất có thể Bài toán này có thể chia làm hai loại sau: Tìm đườngđi ngắn nhất từ một đỉnh nguồn đến các đỉnh còn lại của đồ thị Tìm đườngđi ngắn nhất giữa mọi cặp đỉnh của đồ thị Với hai loại bài toán này ta có... từ s đến y bằng cách kết nối đườngđi ngắn nhất từ s đến x với cung (x, y) cho tất cả các đỉnh x đã được gán nhãn Chọn đườngđi ngắn nhất trong k đườngđi này và đặt nó là đườngđi ngắn nhất từ s đến y Vì vậy, nếu đã biết đỉnh thứ k gần đỉnh s nhất thì đỉnh thứ k+1 có thể được xác định như trên Bắt đầu với k=0, quá trình này có thể lặp đi lặp lại cho đến khi tìm ra đườngđi ngắn nhất từ s đến t (tức... x đã tìm ra Vì các cung đã được gán nhãn luôn luôn tạo thành cây nên có thể xem thuậttoán này như phát triển một cây có gốc tại đỉnh s Một khi đến được đỉnh t thì có thể kết thúc quá trình phát triển Mở rộng thuật toán: Nếu muốn tìm đườngđi ngắn nhất từ đỉnh s đến mọi đỉnh khác trong đồ thị thì tiếp tục quá trình phát triển cho đến khi tất cả các đỉnh được nằm trong cây đườngđi ngắn nhất Trong. .. các đỉnh đã được gán nhãn thì dừng lại vì đườngđi duy nhất của các cung đã được gán nhãn từ s đến x là đườngđi ngắn nhất từ s đến x với mọi đỉnh x 28 - Ngược lại, trở về bước 2 2.1.2.4 Ví dụ minh họa Tìmđườngđi ngắn nhất từ nút s đến nút t trong đồ thị G trong hình 2.1 sau bằng thuậttoán Dijkstra: 3 1 2 4 2 7 s t 3 3 3 2 2 4 Hình 2.1 Đồ thị minh họa thuậttoán Dijkstra Bước 1: Khởi tạo, d(s) = 0,... ứng dụng GIS Vì GIS được thiết kế như một hệ thống chung để quản lý dữ liệu không gian nên có rất nhiều ứng dụng trong các lĩnh vực thường thấy trong thực tế GIS đóng vai trò như là một công cụ hỗ trợ quyết định cho việc lập kế hoạch hoạt động [1] - Quản lý và lập kế hoạch mạng lưới đường phố: bao gồm các chức năng tìm kiếm địa chỉ, tìm vị trí khi biết trước địa chỉ đường phố; đi u khiển đường đi, lập... bài toán như sau: Đầu vào: Cho một đồ thị có hướng có trọng số G = (V, E) (với V: tập đỉnh, E: tập cạnh), một hàm trọng số w: E [0, ) Đầu ra: Hãy tìmđườngđi ngắn nhất giữa hai đỉnh (chẳng hạn (s, t)) trong đồ thị G 25 2.1.2 Thuậttoán Dijkstra Thuậttoán này do nhà khoa học Hà Lan - ông Edsger Dijkstra đưa ra vào năm 1959 cung cấp nền tảng cơ bản cho thuậttoán hữu hiệu nhất để giải quyết bài toán. .. nền tảng cơ bản cho thuậttoán hữu hiệu nhất để giải quyết bài toán này Thuậttoán Dijkstra được thiết kế dựa trên kỹ thuật tham ăn để giải quyết bài toántìmđườngđi ngắn nhất từ một đỉnh nguồn trong đồ thị có hướng với trọng số không âm Thuậttoán Dijkstra hoạt động dựa trên việc gán nhãn cho các đỉnh 2.1.2.1 Phát biểu bài toán Đầu vào: Cho một đồ thị có hướng G = (V, E) (với V: tập đỉnh, E: tập . thuật toán liên
quan…
Chương 2: Một số thuật toán tìm kiếm đường đi tối ưu ứng dụng trong
GIS
3
Trong chương này tập trung vào một số thuật toán. thực hiện đề tài luận văn: Thuật toán tìm đường đi tối ưu trong
Gis .
Mục tiêu đề tài là tìm hiểu các thuật toán áp dụng trong đồ thị. Đề tài
cũng bước