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

Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH

88 250 4

Đ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 88
Dung lượng 2,3 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong khi đó yêu cầuđặt ra là phải liên tục trả lời các câu hỏi về thông tin trong đồ thị như tính liênthông của đồ thị, rừng bao trùm tối thiểu, 2 đỉnh bất kỳ có nằm trên cùng mộtcây

Trang 1

MỞ ĐẦU 1

1 Tính cấp thiết của đề tài 1

2 Mục tiêu nghiên cứu 2

3 Đối tượng và phạm vi nghiên cứu 2

4 Phương pháp nghiên cứu 2

5 Bố cục của đề tài 3

CHƯƠNG 1 BÀI TOÁN NGƯỜI ĐƯA THƯ 4

1.1 ĐẠI CƯƠNG VỀ ĐỒ THỊ 4

1.1.1 Đồ thị, đỉnh, cạnh, cung 4

1.1.2 Bậc, nửa bậc vào, nửa bậc ra 5

1.1.3 Đường đi, chu trình , tính liên thông 9

1.2 CHU TRÌNH EULER 10

1.2.1 Định nghĩa 10

1.2.2 Điều kiện cần và đủ 11

1.2.3 Các thuật toán tìm chu trình Euler 15

1.3 BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT 20

1.3.1 Phát biểu bài toán 20

1.3.2 Thuật toán Dijkstra 20

1.3.3 Thuật toán Floyd 21

1.3.4 Thuật toán Floyd –Warshall 26

1.4 BÀI TOÁN NGƯỜI ĐƯA THƯ 28

1.4.1 Phát biểu bài toán 28

1.4.2 Thuật toán tìm lộ trình đưa thư ngắn nhất 29

1.5 TỔNG KẾT CHƯƠNG 1 31

Trang 2

2.2.MAPINFO VÀ CÔNG CỤ LẬP TRÌNH MAPXTREME 32

2.2.1 Tìm hiểu về Mapinfo 32

2.2.2 Mapxtreme 37

2.3 SƠ ĐỒ MẠNG LƯỚI GIAO THÔNG THÀNH PHỐ ĐỒNG HỚI 58

2.3.1 Bản đồ 58

2.3.2 Sơ đồ mạng lưới giao thông 59

2.4 TỔNG KẾT CHƯƠNG 2 60

CHƯƠNG 3 THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH 61

3.1 THIẾT KẾ CHƯƠNG TRÌNH 61

3.1.1 Yêu cầu của chương trình 61

3.1.2 Thiết kế cơ sở dữ liệu 61

3.2 ỨNG DỤNG BÀI TOÁN NGƯỜI ĐƯA THƯ CÀI ĐẶT CHƯƠNG TRÌNH 62

3.3.THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 63

3.3.1 Giao diện chương trình 64

3.3.2 Phóng to, thu nhỏ, di chuyển bản đồ 65

3.3.3 Chọn lớp, thêm, sửa, xoá một đối tượng 66

3.3.4 Tìm kiếm lộ trình đi 70

3.3.5 Đánh giá phần mềm 75

3.4.TỔNG KẾT CHƯƠNG 3 77

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 78

TÀI LIỆU THAM KHẢO 79 QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (bản sao)

Trang 4

hướng dẫn trực tiếp của PGS.TSKH Trần Quốc Chiến.

ràng và trung thực về tên tác giả, tên công trình, thời gian và địa điểm công bố

c Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay giantrá,

tôi xin chịu hoàn toàn trách nhiệm

Tác giả

Hoàng Đình Tuyền

Trang 5

RLC Common Language Runtime

SDK Software Development Kit

SQL Structured Query Language

RDBMS relational database management systems

MS Microsoft Office

UML Unified Modeling Language

Trang 7

1.7 Đồ thị liên thông có các đỉnh bậc chẵn 18

2.5 sơ đồ minh họa các lớp cài đặt giao diện Isession 48

2.7 Các Layer được biễu diễn bằng một sơ đồ UML 512.8 Sơ đồ UML minh họa namespace Find 552.9 Sơ đồ UML dưới đây biểu diễn mô hình lớp

2.10 Bản đồ giao thông thành phố Đồng Hới 582.11 Hình 2.11 Mô hình hóa bằng đồ thị 59

3.5 Chọn lớp bản đồ để chỉnh sữa một đối tượng 69

3.7 Chức năng load đường đi cho xe thu gom rác 71

3.10 Lưu hành trình của xe thu gom rác 74

Trang 8

MỞ ĐẦU

1 Tính cấp thiết của đề tài

Cuộc sống con người ngày càng được cải thiện và nâng cao chất lượng,cùng với sự phát triển đó thì lượng rác thải hàng ngày mà chúng ta thải ra môitrường cũng ngày càng nhiều hơn Một trong các cách để thu gom rác hiệuquả là sử dụng xe chở rác Tuy nhiên với mạng lưới giao thông phức tạp vàchằng chéo nhau trên địa bàn Thành phố Đồng Hới thì việc di chuyển qua lạiquá nhiều sẽ ảnh hưởng đến giao thông cũng như các lợi ích kinh tế Vấn đềđặt ra là tìm hành trình tối ưu sao cho đường đi của xe rác là ngắn nhất

Các bài toán đặt ra trong các ứng dụng như vậy thường có cơ sở dữ liệulớn nên việc rút ngắn thời gian tính toán để trả lời một câu truy vấn có ý nghĩathực tiễn cao Ngoài ra trong thực tế, các đồ thị được sử dụng trong các bàitoán có thể liên tục thay đổi theo thời gian, ví dụ như các đỉnh hay các cạnhcủa nó có thể được thêm vào hay xóa đi (đồ thị động), hoặc thay đổi độ dài,lượng thông qua

Mỗi lần có một thay đổi như vậy cấu trúc dữ liệu của bài toán, thông tin

về các đỉnh cũng như các cạnh cũng bị thay đổi theo Trong khi đó yêu cầuđặt ra là phải liên tục trả lời các câu hỏi về thông tin trong đồ thị như tính liênthông của đồ thị, rừng bao trùm tối thiểu, 2 đỉnh bất kỳ có nằm trên cùng mộtcây bao trùm tối thiểu hay không, đường đi ngắn nhất Một cách tiếp cận đểgiải quyết các bài toán trên đồ thị động là sử dụng các cấu trúc dữ liệu vàthuật toán truyền thống trong đồ thị tĩnh và chạy lại chúng mỗi khi có sự thayđổi trong đồ thị

Tuy nhiên cách tiếp cận như vậy không tận dụng được thông tin của đồthị trước khi thay đổi dẫn đến độ phức tạp để trả lời một câu truy vấn về đồthị sau mỗi bước thay đổi là lớn

Trang 9

Xuất phát từ lý do trên, tôi đã thực hiện đề tàì “BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH” Trong đề tài này tôi đã trình bày các nghiên cứu, khảo sát

thực nghiệm và ứng dụng một số cấu trúc dữ liệu được đưa ra gần đây để giúpquản lý các đồ thị động một cách mềm dẻo

2 Mục tiêu nghiên cứu :

oNghiên cứu lý thuyết đồ thị và ứng dụng

oNghiên cứu cụ thể về các thuật toán tìm đường đi trên đồ thị, đặc biệt làthuật toán giải bài toán người đưa thư

oPhân tích và cài đặt thuật toán người đưa thư

oViết chương trình tìm đường đi cho xe thu gom rác, và thể hiện kết quả oCài đặt ứng dụng cho công ty môi trường đô thị Quảng Bình

3 Đối tượng và phạm vi nghiên cứu

Đối tượng nghiên cứu

o Tìm hiểu công tác có những bất cập, thiếu sót để đề ra giải pháptheo yêu cầu nhằm đem lại hiệu quả cao hơn

o Nghiên cứu các vấn đề về đồ thị và bài toán người đưa thư

o Triển khai xây dựng phần mềm ứng dụng

o Đánh giá khả năng ứng dụng của phần mềm

Phạm vi nghiên cứu

o Các vấn đề về đồ thị

o Ứng dụng tìm hành trình tối ưu nhất cho xe gom rác ở công ty môitrường đô thị Quảng Bình

4 Phương pháp nghiên cứu

Đề tài này sẽ kết hợp hai phương pháp nghiên cứu, đó là:

Trang 10

Phương pháp nghiên cứu lý thuyết

o Nghiên cứu lý thuyết và một số thuật toán trên đồ thị

o Nghiên cứu bài toán người đưa thư

Phương pháp nghiên cứu thực nghiệm

o Sử dụng phương pháp nghiên cứu lý thuyết kết hợp với nghiên cứuthực nghiệm:

o Biểu diễn bài toán thực tế trên đồ thị

o Triển khai xây dựng các giải pháp và ứng dụng bài toán người đưathư vào thực tế

o Chạy thử nghiệm và lưu trữ các kết quả đạt được, sau đó đánh giálại kết quả

5 Bố cục của đề tài

Sau phần mở đầu, luận văn gồm có 3 chương và phần kết luận Cácchương của luận văn bao gồm:

CHƯƠNG 1 BÀI TOÁN NGƯỜI ĐƯA THƯ

CHƯƠNG 2 ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH

CHƯƠNG 3 THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH

Phần kết luận, tổng hợp các kết quả nghiên cứu của luận văn Các kếtquả đạt được, hạn chế của luận văn, đề xuất hướng phát triển tiếp theo cho đềtài

Trang 11

CHƯƠNG 1BÀI TOÁN NGƯỜI ĐƯA THƯ1.1 ĐẠI CƯƠNG VỀ ĐỒ THỊ

1.1.1 Đồ thị, đỉnh, cạnh, cung

Đồ thị vô hướng G = (V,E) gồm một tập V các đỉnh và tập E các cạnh

Mỗi cạnh e  E được liên kết với một cặp đỉnh v, w (không kể thứ tự)

hướng gọi là cung

Mỗi cung e  E được liên kết với một cặp đỉnh (v, w) có thứ tự

e

+ Ví dụ

Hình 1.2 Đồ thị có hướng.

Cho đồ thị có hướng G=(V, E) Nếu ta thay mỗi cung của G bằng một

cạnh, thì đồ thị vô hướng nhận được gọi là đồ thị lót của G.

Trang 12

+ Ghi chú Đồ thị vô hướng có thể coi là đồ thị có hướng trong đó mỗi cạnh e

= (v,w) tương ứng với hai cung (v,w) và (w,v)

Cho đồ thị (có hướng hoặc vô hướng) G = (V,E)

Nếu cạnh e liên kết đỉnh v, w thì ta nói cạnh e liên thuộc đỉnh v, w, các đỉnh v, w liên thuộc cạnh e, các đỉnh v, w là các đỉnh biên của cạnh e và đỉnh v kề đỉnh w.

Nếu chỉ có duy nhất một cạnh e liên kết với cặp đỉnh v, w , ta viết e =(v,w) Nếu e là cung thì v gọi là đỉnh đầu và w gọi là đỉnh cuối của cung e

Nếu có nhiều cạnh liên kết với cùng một cặp đỉnh thì ta nói đó là cáccạnh song song

Cạnh có hai đỉnh liên kết trùng nhau gọi là khuyên

Đỉnh không kề với đỉnh khác gọi là đỉnh cô lập

Số đỉnh của đồ thị gọi là bậc của đồ thị, số cạnh hoặc số cung của đồ thị gọi là cỡ của đồ thị.

Đồ thị hữu hạn là đồ thị có bậc và cỡ hữu hạn.

Đồ thị đơn là đồ thị không có khuyên và không có cạnh song song.

Đồ thị vô hướng đủ là đồ thị mà mọi cặp đỉnh đều kề nhau.

Đồ thị có hướng đủ là đồ thị có đồ thị lót đủ

1.1.2 Bậc, nửa bậc vào, nửa bậc ra

Cho đồ thị G = (V, E)

Bậc của đỉnh vV là tổng số cạnh liên thuộc với nó và ký hiệu là d(v).

Nếu đỉnh có khuyên thì mỗi khuyên được tính là 2 khi tính bậc, nhưvậy

d(v) := Số cạnh liên thuộc v + 2*Số khuyên

Từ định nghĩa suy ra đỉnh cô lập trong đồ thị đơn là đỉnh có bậc bằng 0.

Số bậc lớn nhất của G ký hiệu là (G), số bậc nhỏ nhất của G ký hiệu

là (G)

Trang 13

Đỉnh treo là đỉnh có bậc bằng 1.

Cho G=(V,E) là đồ thị có hướng, v  V nửa bậc ra của đỉnh v, ký hiệu là

dO(v), là số cung đi ra từ đỉnh v (v là đỉnh đầu), và nửa bậc vào của đỉnh

vV, ký hiệu là dI(v), là số cung đi tới đỉnh v (v là đỉnh cuối)

+ Ví dụ

x2 x6

e1 e4

Có hai cạnh song song liên thuộc đỉnh x2 và x3

Đỉnh x5 là đỉnh cô lập

Đỉnh x6 là đỉnh treo

Trang 14

Bổ đề bắt tay (Hand Shaking Lemma)

Cho đồ thị G = (V,E) Khi đó

(i) Tổng bậc các đỉnh của đồ thị là số chẵn và

I v

d ( ) = card(E) trong đó card(E) ký hiệu số phần tử của tập X.

Chứng minh

(i) Mỗi cạnh e = (u, v)  E tham gia tính 1 bậc của đỉnh u và 1 bậc của đỉnh v

Từ đó suy ra công thức (i)

(ii) Mỗi cung e = (u, v)  E tham gia tính 1 bậc ra của đỉnh u và 1 bậc vàocủa đỉnh v Từ đó suy ra công thức (ii)

Hệ quả Số đỉnh bậc lẻ của đồ thị vô hướng là số chẵn.

Trang 15

d )( = 

1

) (

V v

v

d + 

 2

) (

V v

v d

1

) (

V v

v

d = 2 card(E) 

 2

) (

V v

v d

là số chẵn Các số hạng d(v) trong tổng

1

) (

V v

+ Ghi chú : Bổ đề trên có tên bổ đề bắt tay từ bài toán thực tế sau:

Trong một hội thảo, các đại biểu bắt tay nhau Khi đó tổng số lần bắt taycủa tất cả đại biểu bao giờ cũng là số chẵn

Đồ thị K n là đồ thị đơn, đủ n đỉnh (mỗi cặp đỉnh đều có duy nhất một

cạnh liên kết)

Ví dụ sau đây là đồ thị K 5

Hình 1.4 Đồ thị đủ.

Mệnh đề Mọi đỉnh của đồ thị K n có bậc n1 và K n có n(n1)/2 cạnh.

1.1.3 Đường đi, chu trình , tính liên thông

Trang 16

 Cho đồ thị G=(V,E).

Dóy  từ đỉnh v đến w là dóy cỏc đỉnh và cạnh nối tiếp nhau bắt đầu từđỉnh v và kết thỳc tại đỉnh w Số cạnh trờn dóy  gọi là độ dài của dóy  Dóy  từ đỉnh v đến đỉnh w độ dài n được biểu diễn như sau

Đường đi từ đỉnh v đến w là dóy từ đỉnh v đến w, trong đó cỏc cạnhkhụng lặp lại

Đường đi sơ cấp : là đường đi khụng đi qua một đỉnh quỏ một lần

Vũng là dóy có đỉnh đầu và đỉnh cuối trựng nhau

Chu trỡnh là đường đi có đỉnh đầu và đỉnh cuối trựng nhau

Chu trỡnh sơ cấp : là chu trỡnh khụng đi qua một đỉnh quỏ một lần

Dóy có hướng : trong đồ thị có hướng là dóy cỏc đỉnh và cung nối tiếpnhau (e1,e2,…,en) thỏa món đỉnh cuối của cung ei là đỉnh đầu của cung ei+1,i=1, n-1

Đường đi có hướng trong đồ thị có hướng là dóy có hướng, trong đó cỏccung khụng lặp lại

Đường đi có hướng sơ cấp là đường đi có hướng khụng đi qua một đỉnhquỏ một lần

Vũng có hướng là dóy có hướng có đỉnh đầu và đỉnh cuối trựng nhau.Chu trỡnh có hướng là đường đi có hướng có đỉnh đầu và đỉnh cuối trựngnhau

Chu trỡnh có hướng sơ cấp là chu trỡnh có hướng khụng đi qua một đỉnhquỏ một lần

Trang 17

Đồ thị có hướng gọi là liên thông, nếu mọi cặp đỉnh của nó đều có đường

đi nối chúng với nhau

Đồ thị có hướng gọi là liên thông mạnh, nếu mọi cặp đỉnh của nó đều cóđường đi có hướng nối chúng với nhau

Đồ thị có hướng gọi là liên thông yếu, nếu đồ thị lót (vô hướng) của nóliên thông

Đồ thị có hướng gọi là bán liên thông, nếu với mọi cặp đỉnh (u,v) bao giờcũng tồn tại đường đi có hướng từ u đến v hoặc từ v đến u

Định lí 1:

(i) Trong đồ thị vô hướng mỗi dãy từ đỉnh v đến w chứa đường đi

sơ cấp từ v đến w

(ii) Trong đồ thị có hướng mỗi dãy có hướng từ đỉnh v đến w chứa

đường đi có hướng sơ cấp từ v đến w

Định lí 2: Đồ thị G lưỡng phân khi và chỉ khi G không chứa chu trình

Trong trọng đồ độ dài trọng số của đường đi  là tổng các trọng số trênđường đi đó

1.2 CHU TRÌNH EULER

1.2.1 Định nghĩa

Cho đồ thị G=(V,E), V là tập hợp các đỉnh, E là tập hợp các cạnh

Chu trình Euler là chu trình qua mọi cạnh và mọi đỉnh đồ thị, mỗi cạnh

không đi quá 1 lần

Trang 18

Đường đi Euler là đường đi qua mọi cạnh và mọi đỉnh đồ thị, mỗi cạnh

không đi quá 1 lần

Cho đồ thị có hướng G=(V,E)

Chu trình có hướng Euler là chu trình có hướng qua mọi cung và mọi

đỉnh đồ thị, mỗi cung không đi quá 1 lần

Đường đi có hướng Euler là đường đi có hướng qua mọi cung và mọi

đỉnh đồ thị, mỗi cung không đi quá 1 lần

Đồ thị chứa chu trình Euler gọi là Đồ thị Euler.

Ví dụ Đồ thị

H×nh 1.5 §å thÞ Euler.

Có chu trình Euler khởi đầu từ đỉnh 1, đi qua tất cả các cạnh và dỉnh của

đồ thị, mỗi cạnh không quá 1 lần và về lại đỉnh 1: (1, 3, 6, 5, 2, 4, 3, 2, 1)

Trang 19

hẵn khác 0.

Chứng minh

(i) (): Giả sử G có chu trình Euler và v là đỉnh bất kỳ của G Khiđó chu trình Euler đến v theo cạnh e thì ra khỏi v bằng cạnh e’  e Do đó bậccủa v phải là số chẵn G hiển nhiên là liên thông

(ii) (): Giả sử G liên thông và mọi đỉnh có bậc chẵn khác 0 Tachứng minh G có chu trình Euler quy nạp theo số cạnh m của G

 m = 1: Vì G liên thông và mọi đỉnh bậc chẵn nên G chỉ có 1 đỉnh và 1khuyên Khuyên đó cũng tạo thành chu trình Euler

 Giả sử G có m cạnh, số đỉnh n > 0 và mọi đồ thị liên thông có số cạnhnhỏ hơn m với mọi đỉnh bậc chẵn đều có chu trình euler

+ Trường hợp n = 1 hoặc 2 thì hiển nhiên tồn tại chu trình Euler

+ Trường hợp n > 2 Vì bậc của các đỉnh chẵn  2, bao giờ cũng chọnđược 3 đỉnh a, b, c với các cạnh x = (a,b), y = (a,c)

- Giả sử G chứa cạnh z = (b,c)

Xét đồ thị G’ thu được từ G bằng cách loại bỏ ba cạnh x,y,z Sẽ xảy ra 1trong ba khả năng sau:

bậc chẵn nên theo giả thiết quy nạp tồn tại chu trình Euler C’ củaG’ Nối chu trình con (x,y,z) với C’ ta thu được chu trình Euler Ccủa G

G’ có 2 thành phần liên thông G 1 và G 2 Không mất tính tổngquát giả sử G1 chứa a, G2 chứa b và c G1 có chu trình Euler C1,

G2 có chu trình Euler C2 Ta xây dựng chu trình Euler C của Gnhư sau Xuất phát từ đỉnh a đi theo chu trình C1 quay về a, sau đó

đi theo cạnh x = (a,b) đến đỉnh b, từ b đi theo chu trình C2 quay về

b, sau đó đi theo cạnh z = (b,c) và y = (c,a) quay về a

Trang 20

G’ có 3 thành phần liên thông G 1 , G 2 và G 3 Không mất tính tổng

quát giả sử G1 chứa a, G2 chứa b và G3 chứa c G1 có chu trìnhEuler C1, G2 có chu trình Euler C2 , G3 có chu trình Euler C3 Taxây dựng chu trình Euler C của G như sau Xuất phát từ đỉnh a đitheo chu trình C1 quay về a, sau đó đi theo cạnh x=(a,b) đến đỉnh

b, từ b đi theo chu trình C2 quay về b, sau đó đi theo cạnh z=(b,c)đến đỉnh c, từ c đi theo chu trình C3 quay về c, sau đó đi theo cạnhy=(c,a) quay về a

- Giả sử G không chứa cạnh z = (b,c)

Xét đồ thị G’ thu được từ G bằng cách loại bỏ 2 cạnh x,y và thêm cạnh z

Sẽ xảy ra 1 trong hai khả năng sau:

bậc chẵn nên theo giả thiết quy nạp tồn tại chu trình Euler C’ củaG’ Thay cạnh z C’ bằng cạnh x và y ta thu được chu trình Euler

C của G

quát giả sử G1 chứa a, G2 chứa b và c G1 có chu trình Euler C1,

G2 có chu trình Euler C2 Ta xây dựng chu trình Euler C của Gnhư sau Thay cạnh zC2 bằng các cạnh x và y ta có chu trình C2’.Nối C2’ với C1 ta thu được chu trình Euler C của G (đpcm)

 Định lý 2

Cho đồ thị G có k đỉnh bậc lẻ Khi đó số đường đi tối thiểu phủ G là k/2.

Chứng minh.

Ta đã biết số đỉnh bậc lẻ là chẵn, k=2n Chứng minh quy nạp theo n.

(i) n=1: Nối 2 đỉnh bậc lẻ với nhau bằng cạnh z ta thu được đồ thị G’

thoả định lý Euler Như vậy G’ có chu trình Euler C’ Bỏ cạnh z trên C’ ta thuđược đường đi Euler phủ G

Trang 21

(ii) Giả sử G có số đỉnh bậc lẻ là 2n và định lý đúng với k<2n Nối 2

đỉnh bậc lẻ a,b nào đó với nhau bằng cạnh z ta thu được đồ thị G’ có 2n-2đỉnh bậc lẻ Theo giả thiết quy nạp G’ có n-1 đường đi phủ G’ Gọi P làđường đi qua cạnh z Hiển nhiên a, b không phải đỉnh đầu hoặc cuối của P, vìvậy nếu bỏ cạnh z ta thu được 2 đường đi P1 và P2 cùng với n-2 đường đi còn

(ii) Nếu S  , thì số đường đi có hướng tối thiểu phủ G là k Các

đường đi này nối các đỉnh của T đến các đỉnh của tập S

Trang 22

O v d v

d ( ) ( ) = 2Vậy số đường đi có hướng tối thiểu phủ đồ thị là k=2, ví dụ 2 đường đi sau: (A,C,D,A,B,C) và (B,D)

1.2.3 Các thuật toán tìm chu trình Euler

 Thuật toán 1

CD

CD

Trang 23

+ Đầu vào Đồ thị G  , không có đỉnh cô lập.

+ Đầu ra Chu trình Euler C của G, hoặc kết luận G không có chu

trình Euler

+ Phương pháp.

(1) Xuất phát: Đặt H := G, k := 1, C :=  Chọn đỉnh v  G bất kỳ.(2) Xuất phát từ v, xây dựng chu trình bất kỳ Ck trong H

Nếu tồn tại Ck , nối Ck vào C, C := C  Ck Sang bước (3)

Nếu không tồn tại Ck , thì kết luận không có chu trình Euler, kết thúc

Loại khỏi H chu trình Ck Nếu H chứa các đỉnh cô lập thì loại chúng khỏi H Sang bước (4)

Nếu H = , thì kết luận C là chu trình Euler, kết thúc Ngược lại sang

g

ba

Hình 1.6 Đồ thị Thanh mã tấu Mohammed

Trang 24

C1 = (f,g,k,h,i,e,b,c,d,f)Đặt C = C  C1 = (f,g,k,h,i,e,b,c,d,f)

(3) Loại C1 ra khỏi H, ta được đồ thị H như sau

Các đỉnh c và k là các đỉnh cô lập, vì thế ta loại chúng ra khỏi H và nhậnđược đồ thị H sau

(5) Chọn đỉnh chung của H và C là v := f Đặt k := k+1 = 2 Quay lạibước (2)

(2) Ta xây dựng chu trình C2 trong H:

C2 = (f,i,j,h,g,d,b,a,e,f)Nối C2 vào C ta được chu trình C sau

C = C  C2 = (f,g,k,h,i,e,b,c,d,f)  (f,i,j,h,g,d,b,a,e,f)

= (f,g,k,h,i,e,b,c,d,f,i,j,h,g,d,b,a,e,f)(3) Loại C2 ra khỏi H, ta được đồ thị H gồm toàn các đỉnh cô lập.Loại nốt các đỉnh cô lập ta có H = 

(4) Vì H = , ta kết luận C là chu trình Euler, kết thúc.

 Thuật toán 2 (Fleury)

e

j

gd

ba

e

f

khij

g

ba

Trang 25

+ Đầu vào Đồ thị G  , không có đỉnh cô lập.

+ Đầu ra Chu trình Euler C của G, hoặc kết luận G không có chu

trình Euler

+ Phương pháp.

(1) Chọn đỉnh xuất phát bất kỳ v0 Đặt v1 := v0 , C := (v0) H := G.(2) Nếu H = , thì kết luận C là chu trình Euler, kết thúc Ngược lại

sang bước (3)

- Trường hợp đỉnh v1 là đỉnh treo: Tồn tại duy nhất đỉnh v2 kề v1 Chọn cạnh (v1 , v2 ) Sang bước (4)

- Trường hợp đỉnh v1 không là đỉnh treo:

Nếu mọi cạnh liên thuộc v1 là cầu, thì không có chu trình Euler, kết thúc.

Ngược lại, chọn cạnh (v1 , v2 ) bất kỳ không phải là cầu trong H Thêmvào đường đi C đỉnh v2 Sang bước (4)

Loại khỏi H cạnh (v1 , v2 ) Nếu H có đỉnh cô lập, thì loại chúng khỏi

Trang 26

1

2

34

Có tất cả 28 quân Dômino khác nhau Chứng minh rằng ta có thể sắp xếpcác domino thành hình tròn sao cho hai hình vuông kề nhau trên 2 dominokhác nhau sẽ mang cùng số

Giải:

Ta lập đồ thị 7 đỉnh

v0, v1, v2, v3, v4, v5, v6Mỗi đỉnh vi ứng với số i, i=0, ,6 Mỗi đỉnh có thể nối với các đỉnh cònlại và chính nó để tạo thành domino

Ta có đồ thị sau

Trang 27

Liên thông với tất cả các đỉnh có bậc chẵn bằng 6 Do vậy tồn tại chutrình Euler Mỗi chu trình Euler sẽ cho tương ứng một cách xếp.

1.3 BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT

1.3.1 Phát biểu bài toán

Cho đồ thị có trọng số G=(V,E) Kí hiệu w(i,j) là trọng số của các cạnh(i,j) Độ dài đường đi  v0  v1 v2   v n1 v n là tổng các trọng số

1 1

1.3.2 Thuật toán Dijkstra

Thật toán tìm đường đi ngắn nhất từ đỉnh a đến đỉnh z trong đó đồ thịliên thông có trọng số trọng số cạnh (i,j) là w(i,j)>0 và đỉnh x sẽ mang nhãnL(x) Khi kết thúc thuật giải L(z) chính là chiều dài ngắn nhất từ a đến z

Đầu vào: đồ thị liên thông G=(V,E) có trọng số w(i,j)>0 với mọi cạnh

(i,j), đỉnh a và z

Đầu ra :L(z) chiều dài đường đi ngắn nhất từ a đến z và đường đi ngắn

nhất

Phương pháp:

(1) Gán L(a):=0, với mọi x khác a gán L(a)=  Kí hiệu T:=V

(2) Chọn v T sao cho L(v) có giá trị nhỏ nhất Đặt

T:=T-{v}

(3) Nếu z T , kết thúc, L(z) là chiều dài đường đi ngắn nhất từ a đến z

Từ z lần ngược theo đỉnh được ghi nhớ ta có đường đi ngắn nhất.Ngược lại sang bước (4)

(4) Với mỗi x T kề v gán

L(x):=min{L(x),L(v)+w(v,x)}

Trang 28

Nếu L(x) thay đổi thi ghi nhớ đỉnh v cạnh x để sau này xây dựngđường đi

ngắn nhất

Quay về bước (2)

Định lí : Thuật toán Dijkstra là đúng.

 Định lí : Giả sử G là đồ thị liên thông có trọng số và có n đỉnh Gọif(n) là số lần thuật toán Dijkstra khảo sát một cạnh của G trongtrường hợp xấu nhất Khi đó ta có

f(n) = O(n2)

1.3.3 Thuật toán Floyd

Thuật giải tìm độ dài đường đi ngắn nhất giữa mọi cặp đỉnh trong đồ thịcó hướng liên thông có trọng số (không bắt buộc  0)

+ Đầu vào Đồ thị liên thông G=(V,E), V= {1, 2, , n}, có trọng số w(i,j) với

mọi cung (i,j)

+ Đầu ra Ma trận D=[d(i,j)], trong đó d(i,j) là chiều dài đường đi ngắn nhất

từ i đến j với mọi cặp (i,j)

(2) Kiểm tra kết thúc: Nếu k = n, kết thúc D = Dn là ma trận độ dài đường

đi ngắn nhất Ngược lại tăng k lên 1 đơn vị (k:=k+1) và sang (3)

(3) Tính ma trận Dk theo Dk-1 :

Với mọi cặp (i,j), i=1 n, j=1 n thực hiện:

Nếu dk-1(i,j) > dk-1(i,k) + dk-1(k,j) thì đặt

Trang 29

dk(i,j) := dk-1(i,k) + dk-1(k,j)

ngược lại đặt

dk(i,j) := dk-1(i,j)

Quay lại bước (2)

Định lý 1: Thuật toán Floyd là đúng.

Chứng minh.

Ta chứng minh, bằng qui nạp theo k, mệnh đề sau:

- dk(i,j) là chiều dài đường đi ngắn nhất trong những đường nối đỉnh iđến j qua các đỉnh trung gian {1,2, ,k}

- Bước cơ sở: Hiển nhiên mệnh đề đúng với k=0

- Bước qui nạp: Giả sử mệnh đề đúng với k-1 Xét dk(i,j)

Sẽ xảy ra một trong hai trường hợp sau:

(i) Trong các đường nối đỉnh i với j qua các đỉnh trung gian {1,2, ,k-1,k}

có chiều dài ngắn nhất tồn tại một đường p không qua đỉnh k Khi đó p

cũng là đường ngắn nhất nối đỉnh i với j qua các đỉnh trung gian{1,2, ,k-1}, nên theo giả thiết qui nạp:

dk-1(i,j) = d(p)  dk-1(i,k) + dk-1(k,j)

Do đó theo cách tính dk ta có dk(i,j) = dk-1(i,j) = d(p) là độ dài đường

đi ngắn nhất từ i đến j qua các đỉnh trung gian {1,2, ,k-1,k}

(ii) Mọi đường nối đỉnh i với j qua các đỉnh trung gian {1,2, ,k-1,k} có

chiều dài ngắn nhất đều qua đỉnh k Gọi p = (i, ,k, ,j) là một đườngngắn nhất nối đỉnh i với j qua các đỉnh trung gian {1,2, ,k-1,k} Khi đóđoạn (i, k) và (k, ,j) cũng phải là các đường đi ngắn nhất qua cácđỉnh trung gian {1,2, ,k-1} Ta có:

dk-1(i,k) + dk-1(k,j) = d(p) < dk-1(i,j)

Trang 30

(Bất đẳng thức cuối cùng suy ra từ giả thiết mọi đường đi nốiđỉnh i với j qua các đỉnh trung gian {1,2, ,k-1,k} có chiều dài ngắn nhất đềuqua đỉnh k).

Do đó theo cách tính dk ta có dk(i,j) = dk-1(i,k) + dk-1(k,j) = d(p)

là độ dài đường đi ngắn nhất từ i đến j qua các đỉnh trung gian {1,2, ,k-1,k}

+ Ghi chú Từ hệ quả trên ta có thể sử dụng thuật toán Floyd, với w(i,j)=1 nếu

tồn tại cung (i,j) và w(i,j)= + nếu không tồn tại cung (i,j), để xác định xem

đồ thị có chu trình hay có liên thông hay không

1

5

42

4

2

1

Trang 31

Áp dụng thuật toán Floyd ta có:

Từ ma trận do, theo thuật toán, ta xây dựng các ma trận tiếp theo như

sau (các ô gạch dưới có giá trị thay đổi)

Trang 33

1.3.4 Thuật toán Floyd –Warshall

Thuật giải tìm đường đi ngắn nhất giữa mọi cặp đỉnh trong đồ thị cóhướng liên thông có trọng số

+ Đầu vào Đồ thị liên thông G=(V,E), V= 1,2, ,n , có trọng số với

mọi cung (i,j)

+ Đầu ra Ma trận D =d i j , trong đó d(i,j) là chiều dài đường đi( , )

ngắn nhất từ i đến j với mọi cặp (i,j)

Trang 34

Với mọi cặp (i,j), i= 1 n, j=1 n thực hiện:

Nếu dk-1(i,j) > dk-1(i,k) + dk-1(k,j) thì đặt

Quay lại bước (2)

Đường đi ngắn nhất từ i đến j gồm dãy các đỉnh

I , i1, i2, i3,…, ik, ik+1,…, im, jthỏa mãn

i1= p(i,j), i2 =p(i1, j), … , ik+1 = p(ik,j), … , p(im,j) =j

1.4 BÀI TOÁN NGƯỜI ĐƯA THƯ

1.4.1 Phát biểu bài toán

Một nhân viên đi từ Bưu Điện, qua một số đường phố để phát thư, rồiquay về Bưu Điện Người ấy phải đi qua các đường theo trình tự nào đểđường đi là ngắn nhất?

Trang 35

Bài toán được nhà toán học Trung Hoa Guan nêu lên đầu tiên (1962), vìvậy thường được gọi là “Bài toán người phát thư Trung Hoa” Ta xét bài toánở một dạng đơn giản như sau.

Cho đồ thị liên thông G Một chu trình qua mọi cạnh của G gọi là mộthành trình trong G Trong các hành trình đó, hãy tìm hành trình ngắn nhất, tức

là qua ít cạnh nhất

Rõ ràng rằng nếu G là đồ thị Euler (mọi đỉnh đều có bậc chẵn) thì chutrình Euler trong G (qua mỗi cạnh của G đúng một lần) là hành trình ngắnnhất cần tìm

Chỉ còn phải xét trường hợp G có một số đỉnh bậc lẻ (số đỉnh bậc lẻ làmột số chẵn) Khi đó, mọi hành trình trong G phải đi qua ít nhất hai lần một

số cạnh nào đó

Dễ thấy rằng một hành trình qua một cạnh (u,v) nào đó quá hai lần thìkhông phải là hành trình ngắn nhất trong G Vì vậy, ta chỉ cần xét những hànhtrình T đi qua hai lần một số cạnh nào đó của G

Ta quy ước xem mỗi hành trình T trong G là một hành trình trong đồ thịEuler GT, có được từ G bằng cách vẽ thêm một cạnh song song đối với nhữngcạnh mà T đi qua hai lần Bài toán đặt ra được đưa về bài toán sau:

Trong các đồ thị Euler GT, tìm đồ thị có số cạnh ít nhất (khi đó chu trìnhEuler trong đồ thị này là hành trình ngắn nhất)

Trang 36

1.4.2 Thuật toán tìm lộ trình đưa thư ngắn nhất

Bước 1 Khởi tạo Tìm tập đỉnh bậc lẻ U, U = 2k Tính khoảng cách d(u,v)

từng cặp phần tử (u,v) của U (sử dụng thuật toán Floyd-Warshall hoặc

Dijkstra) Đặt min = 

Bước 2 Tìm phân hoạch smin có tổng khoảng cách nhỏ nhất

Với mỗi phân hoạch s gồm k cặp phần tử của U thực hiện

{Tính tổng T(s) = (u,v)d s (u,v)

Nếu T(s) < min, thì đặt min = T(s) và smin := s;}

Bước 3 Lập đồ thị G’ = (V, E’), trong đó E’ = Esmin Bậc các đỉnh trong G’ cóbậc chẵn, suy ra đồ thị G’ có chu trình Euler Tìm chu trình Euler C’ của G’

Bước 4 Thay mỗi cạnh (u,v)  smin bằng đường đi ngắn nhất trong G, ta nhậnđược lộ trình đưa thư ngắn nhất

 Ví dụ Xét bài toán người đưa thư cho ở đồ thị G có các đỉnh 0,1,2,3,4,5 vàcác cạnh với trọng số cho ở hình sau

Trang 38

Ký hiệu status[i] là trạng thái của đỉnh iU: status[i]=true nghĩa là i được ghép cặp, ngược lại i chưa được ghép cặp Khởi tạo status[i]:=false,

status[i]:= true; status[j]:= true;

if r = k then <xử lý phân hoạch ở bước 2 trong thuật toán>

Trang 39

CHƯƠNG 2ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ

QUẢNG BÌNH

2.1 MÔ TẢ BÀI TOÁN THỰC TẾ

Ở công ty môi trường đô thị Quảng Bình có một số lượng nhân viên lái

xe thu gom rác, nhiệm vụ của các nhân viên này là lái xe thu gom đến cáctuyến đường, khu vực (nhà, cơ quan, xí nghiệp ) Các tuyến đường này cóthể thay đổi tuỳ vào các ngày trong tuần (phần này do người quản lý phâncông cho các nhân viên cho từng người, trong một khoản thời gian cố định).Vấn đề đặt ra là tìm đường đi ngắn nhất (ít tốn kém về kinh tế, ít tốn thờigian) để có thể đi thu gom rác đúng nơi được phân công một cách nhanh nhất.Trên cơ sở đó giúp cho người quản lý có thể đánh giá được mức độ hoànthành nhiệm vụ của các nhân viên, tạo nên sự công bằng trong phân công đảmbảo đồng đều giữa các nhân viên, đặc biệt là trả công đúng với hiệu quả côngviệc của mỗi nhân viên Ngoài ra hệ thống có thể in ra bản báo cáo bao gồmcác thông tin liên quan đến nhiệm vụ của mỗi nhân viên (các tuyến phải thugom; tuyến đường đi ngắn nhất, thời gian thực hiện, khoảng cách phải đi )

2.2 MAPINFO VÀ CÔNG CỤ LẬP TRÌNH MAPXTREME

2.2.1 Tìm hiểu về Mapinfo

a) MapInfo là gì

MapInfo là phần mềm công cụ để xây dựng bản đồ trên máy tính kèmvới các chức năng phân tích địa lý

Đây là công cụ hoàn hảo để vẽ bản đồ trên máy tính , nó cho phép chúng

ta thực hiện các phân tích địa lý phức tạp chẳng hạn như phân chia khu vực ,liên kết dữ liệu từ xa, việc kéo thả hoặc loại bỏ các đối tượng bản đồ trongứng dụng và cho phép tạo bản đồ dựa theo bản đồ

Trang 40

Phần mềm MapInfo do công ty MapInfo Corporation của Mỹ xây dựng ,công ty ra đời từ năm 1986 và được biết đến chính thức từ năm 1994 Phầnmềm MapInfo có giao diện khá thân thiện, dễ sử dụng nên tương đối phổ biếntrên thế giới cũng như ở Việt Nam (theo kết quả một khảo sát thống kê chobiết có 80% sử dụng phần mềm này trong nghiên cứu và ứng dụng)

b) Tổ chức thông tin trong tập tin

Thông tin MapInfo quản lý và khai thác là thông tin địa lý, tức là thôngtin có phần thuộc tính và phần không gian

Cấu trúc dữ liệu

Phần thông tin không gian có cấu trúc không gian theo mô hình vector –spaghetti Điều này khiến cho dữ liệu MapInfo thường khá gọn nhẹ, nhưngcũng chính điều này khiến cho các chức năng phân tích không gian củaMapInfo có hạn chế Phần thuộc tính của thông tin trong MapInfo được lưudưới dạng bảng với các cột và hàng theo kiểu mô hình quan hệ

Về tổ chức

Thông tin trong MapInfo tổ chức theo từng table Mỗi table là một tậphợp các tập tin về dữ liệu không gian, thuộc tính và mối liên kết giữa chúng

do hệ thống tạo ra Mỗi table thường được tổ chức theo các tập tin sau:

 (table).tab: chứa thông tin mô tả cấu trúc dữ liệu thuộc tính Đó làfile ở dạng văn bản mô tả khuôn dạng của file lưu trữ thông tin củabạn

 (table).dat: chứa thông tin thuộc tính, phần mở rộng của các tập tinnày có thẻ là dbf,…xls khi thông tin được lấy từ FoxBase, Excel quahoặc bmp, jpg… khi thông tin được lấy từ là ảnh quét

 (table).map: thông tin không gian

 (table).id : thông tin về sự liên kết giữa thông tin không gian vàthuộc tính của chúng

Ngày đăng: 06/07/2015, 10:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] PGS. TSKH Trần Quốc Chiến (2011), Giáo trình toán ứng dụng, Đại học Đà Nẵng Sách, tạp chí
Tiêu đề: Giáo trình toán ứng dụng
Tác giả: PGS. TSKH Trần Quốc Chiến
Năm: 2011
[2] Kenneth H.Rosen (1997), Toán rời rạc ứng dụng trong tin học, bản dịch tiếng Việt, Nxb KHKT, Hà Nội Sách, tạp chí
Tiêu đề: Toán rời rạc ứng dụng trong tin học
Tác giả: Kenneth H.Rosen
Nhà XB: Nxb KHKT
Năm: 1997
[3] Phạm Hữu Khang, Hoàng Đức Hải (2006), C# 2005 Lập trình Windows Forms, Nhà xuất bản Lao động Xã hội Sách, tạp chí
Tiêu đề: C# 2005 Lập trình WindowsForms
Tác giả: Phạm Hữu Khang, Hoàng Đức Hải
Nhà XB: Nhà xuất bản Lao động Xã hội
Năm: 2006
[4] Phạm Hữu Khang, Hoàng Đức Hải (2006), C# 2005 Lập trình cơ sở dữ liệu, Nhà xuất bản Lao động Xã hội Sách, tạp chí
Tiêu đề: C# 2005 Lập trình cơ sở dữliệu
Tác giả: Phạm Hữu Khang, Hoàng Đức Hải
Nhà XB: Nhà xuất bản Lao động Xã hội
Năm: 2006
[5] Lê Thị Mộng Thanh (2009), Nghiên cứu, cài đặt thuật toán giải bài toán lập hành trình người đưa thư và ứng dụng. Báo cáo tốt nghiệp Thạc sĩ ngành CNTT, Học viện KTQS, Khoá 2007-2009.Tiếng nước ngoài Sách, tạp chí
Tiêu đề: Nghiên cứu, cài đặt thuật toán giải bài toánlập hành trình người đưa thư và ứng dụng
Tác giả: Lê Thị Mộng Thanh
Năm: 2009
[6] Charles E.Leiserson, Thomas H.Cormen (1999), Ronald L.Rivest, Introduction To Algorithms, The MIT Press Sách, tạp chí
Tiêu đề: Introduction To Algorithms
Tác giả: Charles E.Leiserson, Thomas H.Cormen
Năm: 1999
[7] Edmonds, J. and Johnson, E. L (1973), "Matching, Euler Tours, and the Chinese Postman", Math. Programm. 5, 88-124 Sách, tạp chí
Tiêu đề: Matching, Euler Tours, and theChinese Postman
Tác giả: Edmonds, J. and Johnson, E. L
Năm: 1973
[8] K. M. Chandy, J. Misra (1982), Distributed Computation on Graphs, Shortest Path Algorithms, University of Texax at Autin, November 1982 Sách, tạp chí
Tiêu đề: Distributed Computation on Graphs,Shortest Path Algorithms
Tác giả: K. M. Chandy, J. Misra
Năm: 1982
[9] Kwan, M. K (1962), "Graphic Programming Using Odd or Even Points." Chinese Math. 1, 273-277 Sách, tạp chí
Tiêu đề: Graphic Programming Using Odd or EvenPoints
Tác giả: Kwan, M. K
Năm: 1962

HÌNH ẢNH LIÊN QUAN

Bảng Tên bảng Trang - Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH
ng Tên bảng Trang (Trang 8)
Hình Tên hình  Trang - Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH
nh Tên hình Trang (Trang 9)
Hình 1.1. Đồ thị vô hướng. - Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH
Hình 1.1. Đồ thị vô hướng (Trang 13)
Hình 1.3. Đồ thị có đỉnh treo. - Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH
Hình 1.3. Đồ thị có đỉnh treo (Trang 15)
Hình 1.4. Đồ thị đủ. - Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH
Hình 1.4. Đồ thị đủ (Trang 17)
Đồ thị trên có chu trình Euler: (A,B,C,D,A). - Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH
th ị trên có chu trình Euler: (A,B,C,D,A) (Trang 24)
Hình 1.7. Đồ thị liên thông và có các đỉnh bậc chẵn - Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH
Hình 1.7. Đồ thị liên thông và có các đỉnh bậc chẵn (Trang 27)
Hình 1.8.  Đồ thị có trọng số. - Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH
Hình 1.8. Đồ thị có trọng số (Trang 38)
Hình 2.2. Đối tượng vùng - Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH
Hình 2.2. Đối tượng vùng (Trang 45)
Hình 2.3. Bản đồ lớp - Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH
Hình 2.3. Bản đồ lớp (Trang 50)
Hình 2.4. Biểu diễn bằng theme - Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH
Hình 2.4. Biểu diễn bằng theme (Trang 51)
Hình 2.5. sơ đồ minh họa các lớp cài đặt giao diện ISession - Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH
Hình 2.5. sơ đồ minh họa các lớp cài đặt giao diện ISession (Trang 57)
Hình 2.6.  MapInfo.Mapping  namespace Lớp Map đại diện cho bản đồ, chứa tất cả mọi thứ mà bạn có thể đặt vào bản đồ, một đối tượng Map thì được thay thế bởi một đối tượng MapControl đối với ứng dụng Desktop hoặc được gắn bởi một đối tượng MapExport đối vớ - Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH
Hình 2.6. MapInfo.Mapping namespace Lớp Map đại diện cho bản đồ, chứa tất cả mọi thứ mà bạn có thể đặt vào bản đồ, một đối tượng Map thì được thay thế bởi một đối tượng MapControl đối với ứng dụng Desktop hoặc được gắn bởi một đối tượng MapExport đối vớ (Trang 59)
Hình 2.7. Các Layer được biễu diễn bằng một sơ đồ UML - Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH
Hình 2.7. Các Layer được biễu diễn bằng một sơ đồ UML (Trang 60)
Hình 2.8. Sơ đồ UML minh họa namespace Find - Luận văn BÀI TOÁN NGƯỜI ĐƯA THƯ VÀ ỨNG DỤNG Ở CÔNG TY MÔI TRƯỜNG ĐÔ THỊ QUẢNG BÌNH
Hình 2.8. Sơ đồ UML minh họa namespace Find (Trang 64)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w