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

Tìm luồng cực đại và thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông (LV01993)

70 527 0

Đ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 70
Dung lượng 1,48 MB

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

Nội dung

Vì vậy cũng đã xuất hiện các bài toán trong các ứng dụng trong thực tế chẳng hạn tìm đường đi ngắn nhất của hai nút trên bản đồ.. Hình 1.3: Sơ đồ mạng máy tính với kênh thoại thông báo

Trang 1

THẨM HỮU HIỀN

TÌM LUỒNG CỰC ĐẠI VÀ THỨ CẤP, ỨNG DỤNG GIẢI BÀI TOÁN TÌM ĐƯỜNG CONG TRONG

GIAO THÔNG

LUẬN VĂN THẠC SĨ MÁY TÍNH

HÀ NỘI, 2016

Trang 2

THẨM HỮU HIỀN

TÌM LUỒNG CỰC ĐẠI VÀ THỨ CẤP, ỨNG DỤNG GIẢI BÀI TOÁN TÌM ĐƯỜNG CONG TRONG

GIAO THÔNG

Chuyên ngành: Khoa học máy tính

Mã số: 60 48 01 01

LUẬN VĂN THẠC SĨ MÁY TÍNH

Người hướng dẫn khoa học: PGS.TS Lê Huy Thập

HÀ NỘI, 2016

Trang 3

LỜI CẢM ƠN

Trong thời gian thực hiện luận văn em đã nhận được rất nhiều sự khích

lệ, động viên, giúp đỡ từ phía thầy cô, gia đình và bạn bè xung quanh

Em xin bày tỏ lòng biết ơn chân thành nhất tới thầy giáo, PGS.TS Lê Huy Thập, người đã trực tiếp hướng dẫn em hoàn thành luận văn này

Em xin gửi lời cảm ơn chân thành tới các thầy cô trong trường Đại học

Sư phạm Hà Nội 2

Em đã cố gắng học tập và hoàn thành luận văn thạc sỹ nhưng có thể luận văn vẫn còn có những thiếu sót Em rất mong nhận được sự góp ý, chỉ bảo của các thầy cô và các bạn để luận văn hoàn thiện hơn

Em xin chân thành cảm ơn!

Hà Nội, ngày 10 tháng 07 năm 2016

Học viên

Thẩm Hữu Hiền

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan đây là kết quả nghiên cứu của tôi dưới sự hướng dẫn

khoa học của PGS TS Lê Huy Thập

Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được

ai công bố trong bất kỳ công trình nào khác

Học viên

Thẩm Hữu Hiền

Trang 5

MỤC LỤC

MỞ ĐẦU 1

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 3

1.1 Tổng quan mạng vận tải 3

1.1.1 Phương pháp quản lý mạng xe buýt 3

1.1.2 Phương pháp quản lý mạng xe khách 3

1.2 Tổng quan đơn đồ thị, hữu hạn và vô hướng 6

1.2.1 Bậc của Đỉnh trong đồ thị 9

1.2.2 Đường đi, chu trình 12

1.2.3 Cây 14

CHƯƠNG 2: MỘT SỐ THUẬT TOÁN TRÊN ĐỒ THỊ 17

2.1 Giới thiệu một số thuật toán trên đồ thị 17

2.1.1 Tìm đường đi giữa hai đỉnh của đồ thị 17

2.1.2 Duyệt các cạnh cầu của đồ thị 22

2.1.3 Duyệt các đỉnh trụ của đồ thị 27

2.1.4 Xác định tinh liên thông 34

2.1.5 Thuật toán tìm luồng cực đại trong mạng 38

2.2 Phát biểu và thuật toán tìm luồng cực đại 39

2.2.1 Bài toán 39

2.2.2 Thuật toán giải bài toán tìm luồng cực đại và cực đại thứ cấp 40

CHƯƠNG 3:TÌM LUỒNG CỰC ĐẠI VÀ THỨ CẤP MẠNG VẬN TẢI47 3.1 Giới thiệu công ty cần quản lý mạng vận tải 47

3.2 Mục đích và nhiệm vụ giải bài toán 47

3.3 Các giao diện và kết quả chạy chương trình demo 48

3.3.1 Giao diện chính 48

3.3.2 Kết luận chương 3 50

KẾT LUẬN 60

TÀI LIỆU THAM KHẢO 62

Trang 6

DANH MỤC CÁC Í HIỆU CÁC CHỮ VIẾT TẮT

Trang 7

DANH MỤC HÌNH V

Hình 1.1: Sơ đồ mạng máy tính 7

Hình 1.2: Sơ đồ mạng máy tính với đa kênh thoại 7

Hình 1.3: Sơ đồ mạng máy tính với kênh thoại thông báo 8

Hình 1.4: Mạng máy tính với kênh thoại một chiều 9

Hình 1.5: Đồ thị vô hướng 10

Hình 1.6: Đồ thị có hướng 11

Hình 1.7: Đường đi trên đồ thị 13

Hình 1.8: Rừng có 3 cây 14

Hình 2.1: Chỉ số của các đỉnh……… ……… 33

Hình 2.2: Ví dụ tồi tệ đối với thuật toán Ford_Fulkerson 45

Hình 2.3: Tăng luồng dọc theo đường tăng 46

Hình 3.1: Giao diện màn hình chính……… 52

Hình 3.2: Nhập danh sách các loại xe 52

Hình 3.3: Nhập Danh sách lái xe 53

Hình 3.4: Nhập tuyến và thông lượng 53

Hình 3.5: Nhập các hành trình 54

Hình 3.6: Sửa danh sách các loại xe 55

Trang 8

DANH MỤC BẢNG

Bảng 2.1 Kiểm nghiệm thuật toán duyệt các cạnh cầu của đồ thị 24 Bảng 2.2 Kiểm nghiệm thuật toán duyệt các đỉnh trụ của đồ thị 29 Bảng 2.3 Kiểm nghiệm thuật toán kiểm tra tính liên thông mạnh 36

Trang 9

MỞ ĐẦU

1 Lý do chọn đề tài

Mạng Vận Tải hết sức quan trọng đối với nền kinh tế của một quốc gia trong đó có Việt Nam chúng ta Mạng Vận Tải là cốt lõi cho sự phát triển giao thương kinh tế - xã hội Hiện nay Việt Nam đang xây dựng những cơ s hạ tầng vận tải hiện đại, để thúc đẩy giao thông phát triển đi đôi với việc hiệu quả đáp ứng tối đa mà mạng vận tải đem lại

Vấn đề đăt ra đây là bài toán mạng vận tải khi được sử dụng tối ưu hóa về mặt khoảng cách, tìm ra những đoạn đường ngắn nhất rút ngắn được thời gian đi lại Vì vậy cũng đã xuất hiện các bài toán trong các ứng dụng trong thực tế chẳng hạn tìm đường đi ngắn nhất của hai nút trên bản đồ

Những bài toán tối ưu đã được áp dụng rộng rãi trong nhiều lĩnh vực đem lại một giá trị nhất định, trong bài toán tìm luồng cực đại và thứ cấp, ứng dụng tìm đường đi trong giao thông

Do tính hấp dẫn và tính thời sự của bài toán ta có thể áp dụng vào thực

tế sắp xếp các tuyến đường mạng vận tải, tìm được khoảng cách cũng như thời gian rút ngắn nhất để tăng hiệu quả về mặt kinh tế

Với mong muốn tìm ra đoạn đường ngắn nhất, hiệu quả nhất để đem lại nguồn lợi kinh tế vận tải Vì vậy tôi xin chọn đề tài: “tìm luồng cực đại và

thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông” để nghiên cứu.

2 Mục đích nghiên cứu

- Nghiên cứu bài toán tìm luồng cực đại và thứ cấp trong mạng vận tải

- Lập trình trên VB.NET để tìm luồng cực đại và thứ cấp trong mạng

vận tải

3 Nhiệm vụ nghiên cứu

- Nghiên cứu phương pháp quản lý mạng vận tải

Trang 10

- Nghiên cứu một số kiến thức về toán rời rạc

- Nghiên cứu các bài toán tối ưu trong mạng vận tải

- Dùng ngôn ngữ VB.NET thể hiện một số bài toán tối ưu trong mạng

vận tải

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

- Đối tượng nghiên cứu: Luồng cực đại và thứ cấp

- Phạm vi nghiên cứu: Ứng dụng giải bài toán tìm đường trong mạng

giao thông

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

- Phương pháp lấy ý kiến chuyên gia về luồng cực đại và thứ cấp để có

thể thiết kế được chương trình phù hợp với yêu cầu thực tiễn

- Phương pháp nghiêm cứu lý luận qua tài liệu liên quan đến luồng

cực đại và thức cấp, nhằm xây dựng cơ s lý thuyết để giải quyết các vấn đề của luận văn

- Phương pháp thực nghiệm thông qua quan sát thực tế, yêu cầu của cơ

s , những lý luận được nghiên cứu và kết quả đạt được qua những phương pháp trên

Trang 11

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 Tổng quan mạng vận tải

1.1.1 Phương pháp quản lý mạng xe buýt

* Giám sát hành trình và lợi ích mang lại:

giám sát, điều hành phương tiện của bạn bất kì nơi đâu, bất kì khi nào Với thiết bị định vị này sẽ giúp bạn tiết kiệm công sức, thời gian quản lý xe

* Tính năng quản lý

- Quản lý đóng m cửa

- Xem lại lộ trình xe trong quá khứ

- Giám sát vị trí và lộ trình xe theo thời gian thực trên nền bản đồ

- Kiểm soát được việc lái xe bỏ điểm dừng

- Tính km đường GPS trên bản đồ

- Tìm kiếm địa chỉ trên bản đồ

- Quản lý khách bằng vé tháng hoặc vé hàng ngày

- Quản lý ra vào trạm kiểm soát

* Quản lý xe và lợi ích mang lại

- Hỗ trợ công tác quản lý tài sản phương tiện trong trường hợp lái xe đổi phụ tùng, rút nhiên liệu

- Kiểm soát được việc lái xe bỏ điểm dừng

- Kiểm soát việc lái xe chạy ẩu: quá tốc độ, tăng tốc đột ngột nhiều lần

1.1.2 Phương pháp quản lý mạng xe khách

nối Internet là có thể quản lý, giám sát, điều hành phương tiện của bạn bất

Trang 12

kì nơi đâu, bất kì khi nào Với thiết bị định vị này sẽ giúp bạn tiết kiệm công sức, thời gian quản lý xe

- oanh nghiệp quản lý được vị trí, tốc độ, số km hành trình của phương tiện tại mọi thời điểm bằng nhiều báo cáo chi tiết, đa dạng giúp nhà quản lý nhanh chóng tổng hợp tình hình

- Trích xuất các báo cáo chi tiết nhằm giúp doanh nghiệp lên kế hoạch, hành trình hợp lý cho đội xe, kịp thời điều chỉnh, tính toán định mức nguồn nhiên liệu, nhân lực, thời gian…

* Tính năng quản lý:

- Quản lý đóng m cửa (Áp dụng với xe khách)

- Xem lại lộ trình xe trong quá khứ

- Báo cáo dừng đỗ: Biển số; thông tin lái xe; thời gian dừng/đỗ; vị trí dừng đỗ

- Báo cáo nhiên liệu hiện có trên xe

- Báo cáo tổng hợp tình trạng hoạt động

- Quản lý ra vào trạm kiểm soát

- ảnh báo xe mất tín hiệu GPS, GPRS

- Tìm kiếm xe theo bán kính

- Tính km đường GPS trên bản đồ

- Tìm kiếm địa chỉ trên bản đồ

- Báo cáo đóng m cửa: Biển số; thông tin lái xe; thời điểm đóng m cửa; vị trí

- Giám sát vị trí và lộ trình xe theo thời gian thực trên nền bản đồ và bản đồ vệ tinh

- Thu thập được thông tin vị trí, tốc độ, thời gian lái xe, số km hành trình…

Trang 13

- ó thể truy cập lại hành trình cũ mà xe đã đi qua tại bất cứ thời điểm nào

- Kiểm soát được hành trình của xe, tránh việc lái xe chạy sai lộ trình quy định

- Kiểm soát tình trạng xe m cửa khi di chuyển cũng như tắt bật điều hòa trên xe khách

- ung cấp các báo cáo với số liệu chính xác khi các cơ quan chức năng yêu cầu

* Quản lý lái xe và lợi ích mang lại:

- Hỗ trợ công tác quản lý tài sản phương tiện trong trường hợp lái xe đổi phụ tùng, rút nhiên liệu

- Kiểm soát được việc lái xe bỏ điểm dừng

- Kiểm soát việc lái xe chạy ẩu: quá tốc độ, tăng tốc đột ngột nhiều lần

- Tạo các báo cáo về các lỗi vi phạm của lái xe có chế tài xử lý để ngày càng nâng cao chất lượng dịch vụ

- Kiểm soát được vận tốc của phương tiện tại mọi thời điểm để đưa ra cảnh báo tức thời cho lái xe biết để điều chỉnh tốc độ phù hợp

- Tính năng cảnh báo loa Buzzer: ảnh báo quá tốc độ, cảnh báo lái xe

* Quản lý hành khách, lợi ích mang lại

- Giúp bạn có thể quan sát toàn bộ hành khách trên xe, các hành vi đón khách không đúng quy định

- Là “công cụ giám sát” cả trong và ngoài xe lúc chủ vắng mặt

Trang 14

- Giúp mình đoán cho các tài xế ô tô trong trường hợp xảy va chạm giao thông

- Giải quyết các khiếu kiện giữa tài xế và hành khách

- Tăng chất lượng và niềm tin với khách quan, giám sát và làm cơ s

để nâng cao chất lượng phục vụ hành khách

- Bảo vệ các tình trạng an ninh trong công tác quản lý vận chuyển hành khách: trộm cướp, móc túi, mất mát

- Cung cấp hình ảnh chụp luân phiên theo 3 phút/ 5 phút/ 10 phút

- Gắn quay vào trong có thể thấy được các trạng thái hành khách, số lượng, khuôn mặt rõ nét; gắn quay ra ngoài có thể thấy được hình ảnh phía trước

xe đang chạy, ghi nhận tình trạng: Đóng phạt, kẹt xe, đường, quang cảnh

- Hình ảnh có thể lưu lại trong thời gian 60 ngày, phục vụ bất cứ quá trình điều tra với chứng cứ khách quan trung thực

1.2 Tổng quan đơn đồ thị hữu hạn và vô hướng

- Định ngh a về đồ thị

Đồ thị là một cấu trúc dữ liệu (hay là một bức tranh) rời rạc bao gồm các đỉnh và các cạnh nối các đỉnh này

ác loại đồ thị đồ thị được phân biệt b i kiểu và số lượng cạnh nối

hai đỉnh nào đó của đồ thị

Để có thể hình dung được tại sao lại cần đến các loại đồ thị khác nhau, chúng ta sẽ nêu ví dụ sử dụng chúng để mô tả một mạng máy tính Giả sử ta

có một mạng gồm các máy tính và các kênh điện thoại (gọi tắt là kênh thoại) nối các máy tính này húng ta có thể biểu diễn các vị trí đặt náy tính b i các điểm và các kênh thoại nối chúng b i các đoạn nối

Trang 15

Hình 1.1: Sơ đồ mạng máy tính

Nhận thấy rằng trong mạng hình 1, giữa hai máy bất kỳ chỉ có nhiều nhất là một kênh thoại nối chúng, kênh thoại naỳ cho phép liên lạc cả hai chiều và không có máy tính nào lại được nối với chính nó Sơ đồ mạng máy cho trong hình 1 được gọi là đơn đồ thị vô hướng Ta đi đến định nghĩa sau

Hình 1.2: Sơ đồ mạng máy tính với đa kênh thoại

Định ngh a 1.2

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

các cặp không có thứ tự gồm hai phần tử khác nhau của V gọi là các cạnh

Trang 16

Hai cạnh e1 và e2 được gọi là cạnh lặp nếu chúng cùng tương ứng với một cặp đỉnh

Hình 1.3: Sơ đồ mạng máy tính với kênh thoại thông báo

Rõ ràng mỗi đơn đồ thị đều là đa đồ thị, nhưng không phải đa đồ thị nào cũng là đơn đồ thị, vì trong đa đồ thị có thể có hai (hoặc nhiều hơn) cạnh nối một cặp đỉnh nào đó

Trong mạng máy tính có thể có những kênh thoại nối một náy nào đó với chính nó (chẳng hạn vời mục đính thông báo) Mạng như vậy được cho trong hình 3 Khi đó đa đồ thị không thể mô tả được mạng như vậy, b i vì

có những khuyên (cạnh nối một đỉnh với chính nó) Trong trường hợp

nàychúng ta cần sử dụng đến khái niệm giả đồ thị vô hướng, được định nghĩa

như sau:

Định ngh a 1.3

Giả đồ thị vô hướng G = (V, E) bao gồm V là tập các đỉnh và E là tập các cặp không có thứ tự gồm hai phần tử (không nhất thiết phải khác nhau) của V gọi là cạnh ạnh e được gọi là khuyên nếu nó có dạng e = (u, u)

Trang 17

Hình 1.4: Mạng máy tính với kênh thoại một chiều

ác kênh thoại trong mạng máy tính có thể chỉ cho phép truyền tin theo một chiều hẳng hạn, trong hình 4 máy chủ Hà Nội chỉ có thể nhận tin từ các máy địa phương, có một số máy chỉ có thể gửi tin đi, còn các kênh thoại cho phép truyền tin theo cả hai chiều được thay thế b i hai cạnh có hướng ngược chiều nhau

Định ngh a 1.4

Đơn đồ thị có hướng G = (V, E) bao gồm V là tập các đỉnh và E là tập

các cặp có thứ tự gồm hai phần tử khác nhau của V gọi là các cung

Nếu trong mạng có thể có đa kênh thoại một chiều, ta sẽ phải sử dụng đến khái niệm đa đồ thị có hướng:

Định ngh a 1.5

Đa đồ thị có hướng G = (V, E) bao gồm V là tập các đỉnh và E là tập các cặp có thứ tự gồm hai phần tử khác nhau của V gọi là các cung Hai cung

e1, e2 tương ứng với cùng một cặp đỉnh được gọi là cung lặp

Trong các phần tiếp theo chủ yếu chúng ta sẽ làm việc với đơn đồ thị

vô hướng và đơn đồ thị có hướng Vì vậy, để cho ngắn gọn, ta sẽ bỏ qua tính

Trang 18

thuộc với hai đỉnh u và v, hoặc cũng nói là nối đỉnh u và đỉnh v, đồng thời

các đỉnh u và v sẽ được gọi là các đỉnh đầu của cạnh (u, v)

Để có thể biết có vào nhiêu cạnh liên thuộc với một đỉnh, ta có định nghĩa sau

deg(a) = 1, deg(b) = 4, deg(c) = 4, deg(f) = 3,

deg(d) = 1, deg(e) = 3, deg(g) = 0

Đỉnh bậc 0 gọi là đỉnh cô lập Đỉnh bậc 1 được gọi là đỉnh treo Trong

ví dụ trên đỉnh g là đỉnh cô lập, a và d là các đỉnh treo Bậc của đỉnh có tính chất sau:

Định lý 1 Giả sử G = (V, E) là đồ thị vô hướng với m cạnh

Khi đó tông bậc của tất cả các đỉnh bằng hai lần số cung

Chứng minh Rõ ràng mỗi cạnh e = (u, v) được tính một lần

trong deg(u) và một lần trong deg(v) Từ đó suy ra tổng tất cả các bậc của các đỉnh bằng hai lần số cạnh

Ví dụ 2 Đồ thị với n đỉnh có bậc là 6 có bao nhiêu cạnh

Giải: Theo định lý 1 ta có 2m = 6n Từ đó suy ra tổng các cạnh của đồ

thị là 3n

Trang 19

Hệ quả Trong đồ thị vô hướng, số đỉnh bậc lẻ (nghĩa là có bậc là số lẻ)

là một số chẵn

Chứng minh Thực vậy, gọi O và U tương ứng là tập đỉnh bậc lẻ và

tập đỉnh bậc chẵn của đồ thị Ta có

2m=∑deg(v)+∑deg(v) ,V ϵ U , vϵ O

Do deg(v) là chẵn với v là đỉnh trong U nên tổng thứ nhất trên là số

chẵn Từ đó suy ra tổng thứ hai (chính là tổng bậc của các đỉnh bậc lẻ) cũng phải là số chẵn, do tất cả các số hạng của nó là số lẻ, nên tổng này phải gồm một số chẵn các số hạng Vì vậy, số đỉnh bậc lẻ phải là số chẵn

Ta xét các thuật ngữ tương tự cho đồ thị vô hướng

Định ngh a 1.8

Nếu e = (u, v) là cung của đồ thị có hướng G thì ta nói hai đỉnh u và v

là kề nhau, và nói cung (u, v) nối đỉnh u với đỉnh v hoặc cũng nói cung này

là đi ra khỏi đỉnh u và vào đỉnh v Đỉnh u(v) sẽ được gị là đỉnh đầu (cuối) của cung (u,v)

Tương tự như khái niệm bậc, đối với đồ thị có hướng ta có khái niệm bán bậc ra và bán bậc vào của một đỉnh

Trang 20

Ví dụ 3 Xét đồ thị cho trong 1.6 hình Ta có

deg - (a)=1, deg - (b)=2, deg - (c)=2, deg - (d)=2, deg - (e) = 2

deg + (a)=3, deg + (b)=1, deg + (c)=1, deg + (d)=2, deg + (e)=2

o mỗi cung (u, v) sẽ được tính một lần trong bán bậc vào của đỉnh v

và một lần trong bán bậc ra của đỉnh u nên ta có:

Định lý 2 Giả sử G = (V, E) là đồ thị có hướng Khi đó

2m = ∑ deg+(v) + ∑ deg-(v)

v ϵ V vϵ V

Rất nhiều tính chất của đồ thị có hướng không phụ thuộc vào hướng trên các cung của nó Vì vậy, trong nhiều trường hợp sẽ thuận tiện hơn nếu ta

bỏ qua hướng trên các cung của đồ thị Đồ thị vô hướng thuđược bằng cách

bỏ qua hướng trên các cung được gọi là đồ thị vô hướng tương ứng với đồ thị

có hướng đã cho

1.2.2 Đường đi, chu trình

- Định ngh a đường đi:

Đường đi là độ dài n từ đỉnh u đến đỉnh v, trong đó n là số nguyên

dương, trên đồ thị vô hướng G = (V, E) là dãy x0, x1,…, xn-1, xn

trong đó u = x0 , v = xn , (xi , xi+1) ϵ E, i = 0, 1, 2,…, n-1

Đường đi nói trên còn có thể biểu diễn dưới dạng dãy các cạnh:

(x0, x1), (x1, x2), …, (xn-1, xn)

Đỉnh u gọi là đỉnh đầu, còn đỉnh v gọi là đỉnh cuối

của đường đi Đường đi có đỉnh đầu trùng với đỉnh cuối (tức là u = v) được

gọi là chu trình Đường đi hay chu trình được gọi là đơn nếu như không có

cạnh nào bị lặp lại

Ví dụ 4 Trên đồ thị vô hướng cho trong hình 1.7: a, d, c, f, e

là đường đi đơn độ dài 4 òn d, e, c, a không là đường đi, do (c,e) không phải là cạnh của đồ thị ãy b, c, f, e, b là chu trình độ dài 4 Đường đi a, b, e,

Trang 21

d, a, b có độ dài là 5 không phải là đường đi đơn, do cạnh (a, b) có mặt trong

nó 2 lần

Hình 1.7: Đường đi trên đồ thị

Khái niệm đường đi và chu trình trên đồ thị có hướng được định nghĩa hoàn toàn tương tự như trong trường hợp đồ thị vô hướng, chỉ khác là ta có chú ý đến hướng trên các cung

- Định ngh a chu trình :

Đường đi độ dài n từ đỉnh u đến đỉnh v, trong đó, n là số nguyên

dương, trên đồ thị có hướng G = (V, ) là dãy

x0, x1,…, xn-1, xn

trong đó u = x0, v = xn, (xi, xi+1) ϵ E, i = 0, 1, 2,…, n-1

Đường đi nói trên còn có thể biểu diễn dưới dạng dãy các cung:

Ví dụ 5 Trên đồ thị có hướng cho trong hình 1.7: a, d, c, f, e

là đường đi đơn độ dài 4 òn d, e, c, a không là đường đi, do (c,e) không phải là cạnh của đồ thị ãy b, c, f, e, b là chu trình độ dài 4 Đường đi a, b, e,

d, a, b có độ dài là 5 không phải là đường đi đơn, do cạnh (a, b) có mặt trong

nó 2 lần

Trang 22

Xét một mạng máy tính Một câu hỏi đặt ra là hai máy tính bất kỳ trong mạng này có thể trao đổi thông tin được với nhau hoặc là trực tiếp qua kênh nối chúng hoặc thông qua một hoặc vài máy tính trung gian trong mạng Nếu

sử dụng đồ thị để biểu diễn mạng máy tính này (trong đó các đỉnh của đồ thị tương ứng với các máy tính, còn các cạnh tương ứng với các kênh nối) câu hỏi đó được phát biểu trong ngôn ngữ đồ thị như sau: Tồn tại hay không đường đi giữa mọi cặp đỉnh của đồ thị

Định lý 3 Giả sử G = (V,E) là đồ thị vô hướng với |V| = n Khi đó các

mệnh đề sau đây là tương đương:

(1) T là cây;

(2) T không chứa chu trình và có n-1 cạnh;

(3) T liên thông và có n-1 cạnh;

(4) T liên thông và mỗi cạnh của nó điều là cầu;

(5) Hai đỉnh bất kỳ của T được nối với nhau b i đúng

một đường đi đơn;

(6) T không chứa chu trình nhưng hễ cứ thêm vào một cạnh ta thu được đúng một chu trình

Trang 23

Chứng minh Ta sẽ chứng minh định lý theo sơ đồ sau:

(1) (2) (3)  (4)  (5)  (6)  (1) (1)  (2) Theo định nghĩa T không chứa chu trình Ta sẽ chứng minh bằng qui nạp theo số đỉnh n cho khẳng định: Số cạnh của cây với n đỉnh là n-

1 Rõ ràng khẳng định đúng với n=1 Giả sử n>1 Trước hết nhận rằng trong mọi cây T có n đỉnh đều tìm được ít nhất một đỉnh là đỉnh treo (tức là đỉnh có bậc là 1) Thực vậy, gọi v1, v2 , ,vk là đường đi dài nhất (theo sốcạnh) trong T Khi đó rõ ràng v1 và vk là các đỉnh treo, vì từ v1 (vk) không có cạnh nối với bất cứ đỉnh nào trong số các đỉnh v2, v3 , ,vk (do đồ thị không chứa chu trình), cũng như với bất cứ đỉnh nào khác của đồ thị (do đường đi đang xét dài nhất) Loại bỏ v1 và cạnh (v1 , v2) khỏi T ta thu được cây T1 với n-

1 đỉnh, mà theo giả thiết qui nạp có n-2 cạnh Vậy cây T có n-2+1 = n-1 cạnh

(2)  (3) Ta chứng minh bằng phản chứng Giả sử T không liên thông Khi đó T phân rã thành k≥2 phần liên thông T1, T2, Tk o T không chứa chu trình nên mỗi Ti (i=1,2, .,k) cũng không chứa chu trình, vì thế mỗi Ti là cây Do đó nếu gọi n(Ti) và e(Ti) theo thứ tự là số đỉnh và cạnh của Ti, ta có:

Mâu thuẫn thu được chứng tỏ là T liên thông

(3)  (4) Việc loại bỏ một cạnh bất kỳ khỏi T dẫn đến đồ thị với n đỉnh

và n-2 cạnh rõ ràng là đồ thị không liên thông Vậy mọi cạnh trong T đều là cầu

(4)  (5) Do T là liên thông nên hai đỉnh bất kỳ của nó được nối với nhau b i một đường đi đơn Nếu có cặp đỉnh nào của T có hai đường đi đơn

Trang 24

khác nhau nối chúng, thì từ đó suy ra đồ thị chứa chu trình, và vì thế các cạnh trên chu trình này không phải là cầu

(5)  (6) T không chứa chu trình, b i vì thế nếu có chu trình thì hoá ra tìm được cặp đỉnh của T được nối với nhau b i hai đường đi đơn Bây giờ, nếu thêm vào T một cạnh e nối hai đỉnh u và v nào đó của T Khi đó cạnh này cùng với đường đi đơn nối u với v sẽ tạo thành chu trình trong T hu trình thu được này là duy nhất, vì nếu thu được nhiều hơn một chu trình thì suy ra trong T trước đó phải có sẵn chu trình

(6) (1) Giả sử T không liên thông Khi đó gồm ít ra là 2 thành phần liên thông Vì vậy, nếu thêm vào T một cạnh nối hai đỉnh thuộc hai thành phần liên thông khác nhau ta không thu được thêm một chu trình nào

cả Điều đó mâu thuẫn với giả thiết (6) Định lý được chứng minh

ết luận chương

Mạng Vận Tải hết sức quan trọng đối với nền kinh tế là cốt lõi cho sự phát triển giao thương kinh tế - xã hội Hiện nay Việt Nam đang xây dựng những cơ s hạ tầng vận tải hiện đại, để thúc đẩy giao thông phát triển đi đôi với việc hiệu quả đáp ứng tối đa mà mạng vận tải đem lại

Vấn đề đăt ra đây là bài toán mạng vận tải khi được sử dụng tối ưu hóa về mặt khoảng cách, tìm ra những đoạn đường ngắn nhất rút ngắn được thời gian đi lại Vì vậy cũng đã xuất hiện các bài toán trong các ứng dụng trong thực tế chẳng hạn tìm đường đi ngắn nhất của hai nút trên bản đồ

Trong chương 1 đã tìm hiểu khái quát tổng quan về mạng vận tải đưa ra được những phương pháp quản lý, hỗ trợ và tổng quan về đơn dồ thị hữu hạn,

vô hướng Để giải quyết nghiên cứu sâu hơn chuyển sang chương 2

Trang 25

CHƯƠNG 2 MỘT SỐ THUẬT TOÁN TRÊN ĐỒ THỊ

2.1 Giới thiệu một số thuật toán trên đồ thị

2.1.1 Tìm đường đi giữa hai đỉnh của đồ thị

a) Đặt bài toán ho đồ thị G = (vô hướng hoặc có hướng), trong đó V

là tập đỉnh, E là tập cạnh Bài toán đặt ra là hãy tìm đường đi từ đỉnh sV đến đỉnh tV

b) Mô tả thuật toán ho đồ thị G =, s, t là hai đỉnh thuộc V Khi đó, dễ dàng nhận thấy, nếu tDFS(s) hoặc tBFS(s) thì ta có thể kết luận có đường

đi từ s đến t trên đồ thị Nếu tDFS(s) hoặc tBFS(s) thì ta có thể kết luận không có đường đi từ s đến t trên đồ thị Vấn đề còn lại là ta ghi nhận thế nào đường đi từ s đến t? Để ghi nhận đường đi từ s đến t dựa vào hai thuật toán DFS(s) hoặc BFS(s) ta sử dụng một mảng truoc[] gồm n phần tử (n=|V|)

Kh i tạo ban đầu truoc[u]=0 với mọi u = 1, 2, , n Trong quá trình thực hiện hai thuật toán DFS (s) và BFS(s), mỗi khi ta đưa đỉnh vKe(s) vào ngăn xếp (trong trường hợp ta sử dụng thuật toán DFS) hoặc hàng đợi(trong trường hợp

ta sử dụng thuật toán DFS) ta ghi nhận truoc[v] = s Điều này có nghĩa, để đi được đến v ta phải qua đỉnh s Khi hai thuật toán DFS và BFS duyệt đến đỉnh

t thì truoc[t] sẽ nhận giá trị là một đỉnh nào đó thuộc V hay tDFS(s) hoặc

tBFS(s) Trong trường hợp hai thủ tục DFS và BFS không duyệt được đến đỉnh t, khi đó truoc[t] =0 và ta kết luận không có đường đi từ s đến t Hình dưới đây mô tả thuật toán tìm đường đi từ đỉnh s đến đỉnh t trên đồ thị bằng thuât toán DFS Hình dưới đây mô tả thuật toán tìm đường đi từ đỉnh s đến đỉnh t trên đồ thị bằng thuât toán BFS

Trang 26

Thuật toán DFS tìm đường đi từ s đến t

begin

Bước 1 (Khởi tạo):

stack = ; //Khởi tạo stack là

Push(stack, s); //Đưa đỉnh s vào ngăn xếp

chuaxet[s] = False; //Xác nhận đỉnh u đã duyệt Bước 2 (Lặp) : while ( stack  ) do

u = Pop(stack); //Loại đỉnh ở đầu ngăn xếp for each v Ke(u) do //Lấy mỗi đỉnh uKe(v)

if ( chuaxet[v] ) then //Nếu v đúng là chưa duyệt chuaxet[v] = False; // Xác nhận đỉnh v đã duyệt Push(stack, u);//Đưa u vào stack

Push(stack, v); //Đưa v vào stack

truoc[v] = u; //Ghi nhận truoc[v] là u

Trang 27

Thuật toán BFS tìm đường đi từ s đến t

Thuật toán BFS(s):

Bước 1(Khởi tạo):

Queue = ; Push(Queue,s); chuaxet[s] = False; Bước 2 (Lặp):

EndFor ;

EndWhile ;

Bước 3 (Trả lại kết quả): Return

Thuật toán Ghi-Nhan-Duong-Di (s, t) {

//u là đỉnh trước khi đến được t

while (u s ) { //Lặp nếu u chưa phải là s ;

//Đưa ra đỉnh u u = truoc[u];

// Lần ngược lại đỉnh truoc[u]

} ;

Trang 28

Bài toán tìm đường đi ngắn nhất

Ta chỉ xét đồ thị có hướng G =(V,E), |V|=n, |E|=m với các cung được gán trọng số, nghĩa là, mỗi cung (u,v)  E của nó được đặt tương ứng với một

số thực a(u,v) gọi là trọng số của nó húng ta sẽ đặt a(u,v) =  , nếu (u,v)  E Nếu dãy

Độ dài của đường đi chính là tổng của các trọng số trên các cung của

nó ( hú ý rằng nếu chúng ta gán trọng số cho tất cả cung đều bằng 1, thì thu được định nghĩa độ dài của đường đi như là số cung của đường đi giống như trong các chương trước đã xét)

Bài toán tìm đường đi ngắn nhất trên đồ thị dưới dạng tổng quát có thể phát biểu như sau: tìm đường đi có độ dài nhỏ nhất từ một đỉnh xuất phát

s  V đến đỉnh cuối (đích) t  V Đường đi như vậy ta sẽ gọi là đường đi ngắn nhất từ s đến t còn độ dài của nó ta sẽ ký hiệu là d(s,t) và còn gọi là khoảng cách từ s đến t (khoảng cách định nghĩa như vậy có thể là số âm) Nếu như không tồn tại đường đi từ s đến t thì ta sẽ đặt d(s,t)= Rõ ràng, nếu như mỗi chu trình trong đồ thị đều có độ dài dương, trong đường đi ngắn nhất không có đỉnh nào bị lặp lại (đường đi không có đỉnh lặp lại sẽ gọi

là đường đi cơ bản) Mặt khác nếu trong đồ thị có chu trình với độ dài âm (chu trình như vậy để gọi ngắn gọn ta gọi là chu trình âm) thì khoảng cách giữa một số cặp đỉnh nào đó của đồ thị có thể là không xác định, b i vì, bằng cách đi vòng theo chu trình này một số đủ lớn lần, ta có thể chỉ ra đường đi giữa các đỉnh này có độ dài nhỏ hơn bất cứ số thực cho trước nào Trong

Trang 29

những trường hợp như vậy, có thể đặt vấn đề tìm đường đi cơ bản ngắn nhất, tuy nhiên bài toán đặt ra sẽ tr nên phức tạp hơn rất nhiều, b i vì nó chứa bài toán xét sự tồn tại đường đi Hamilton trong đồ thị như là một trường hợp riêng

Trước hết cần chú ý rằng nếu biết khoảng cách từ s đến t, thì đường đi ngắn nhất từ s đến t, trong trường hợp trọng số không âm, có thể tìm được một cách dễ dàng Để tìm đường đi, chỉ cần để ý là đối với cặp đỉnh s, t  V tuỳ ý (s <> t) luôn tìm được đỉnh v sao cho:

d(s,t) = d(s,v) + a(v,t)

Thực vậy, đỉnh v như vậy chính là đỉnh đi trước đỉnh t trong đường đi ngắn nhất từ s đến t Tiếp theo ta lại có thể tìm được đỉnh u sao cho d(s,v) = d(s,u) + a(u,v), Từ giả thiết về tính không âm của các trọng số dễ dàng suy

ra rằng dãy t, v, u, không chứa đỉnh lặp lại và kết thúc đỉnh s Rõ ràng dãy thu được xác định (nếu lật ngược thứ tự các đỉnh trong nó) đường đi ngắn nhất từ s đến t Từ đó ta có thuật toán sau đây để tìm đường đi ngắn nhất từ

s đến t khi biết độ dài của nó

Trang 30

b) Mô tả thuật toán

Không hạn chế tính tổng quát của bài toán ta cũng giả thiết đồ thị G=< V,E> đã cho là liên thông Trong trường hợp đồ thị không liên thông, bài toán duyệt cầu thực hiện trên mỗi thành phần liên thông của đồ thị.Trong trường hợp đồ thị được biểu diễn dưới dạng ma trận kề, loại bỏ cạnh e=(u,v)E ra khỏi

đồ thị ta thực hiện bằng cách cho các phần tử A[u][v]=0 và A[v][u]=0 (A[u][v] là ma trận kề biểu diễn đồ thị G) Đối với đồ thị được biểu diễn dưới dạng danh sách kề, danh sách kề của đỉnh u ta bớt đi đỉnh v và danh sách kề của đỉnh v ta bớt đi đỉnh u ( Ke(u) = Ke(u)\{v},

Ke(v) = Ke(v)\{u})

Thuật toán duyệt các cạnh cầu của đồ thị được mô tả chi tiết

Trang 31

Thuật toán Duyet-Cau ( G =) &lt;V,E&gt;){

{ ReInit(); //u;V: chuaxet[u] = True;

for each e,E do {//Lấy mỗi cạnh thuộc đồ thị

E = E\{e}; //Loại bỏ cạnh e ra khỏi đồ thị

if (DFS(1) , V ) then //Nếu tăng thành phần liên thông của đồ thị ; endif ; E = E{e} ; //Hoàn trả lại cạnh e

ReInit();//Khởi tạo lại các mảng chuaxet[]

endfor;

}

c) Kiểm nghiệm thuật toán

Giả sử ta cần xác định đồ thị vô hướng

G =&lt;V,E&gt; được biểu diễn dưới dạng ma trận kề dưới đây có những cạnh cầu:

Trang 32

Cạnh eE DFS(u)=?//BFS(u)=? DFS(u) V?

(1,2)E DFS(1) = 1, 3, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (1,3)E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO 1,4)E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (2,3)E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (2,4)E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (3,4)E DFS(1) = 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 4 NO

(5,6)E DFS(1) = 1, 2, 3, 4, 5, 7, 6, 8, 9, 10, 11, 12, 13 NO (5,7)E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (5,8)E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (5,9)E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (6,7)E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (6,9) E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (7,8) E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (8,9) E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (10,11) E DFS(1) =1, 2, 3, 4, 5, 6, 7, 8, 9 YES (10,12) E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (10,13) E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (11,12) E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (11,13) E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (11,14) E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO (12,13) E DFS(1) = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 NO

Kết luận: cạnh (35), (9,10) là cầu

Bảng 2.1 Kiểm nghiệm thuật toán duyệt các cạnh cầu của đồ thị

Trang 33

d) Cài đặt thuật toán

- Thuật toán được cài đặt theo khuôn dạng đồ thị được qui ước với các thủ tục sau: PTIT 59

Thủ tục Read- ata() : Đọc ma trận kề biểu diễn đồ thị trong file

dothi.in

Thủ tục ReInit() : Kh i tạo lại giá trị cho mảng chuaxet[]

Thủ tục DFS(u) : Thuật toán DFS bắt đầu tại đỉnh u

Thủ tục BFS(u) : Thuật toán BFS bắt đầu tại đỉnh u

hương trình kiểm tra tính liên thông mạnh của đồ thị được thể hiện như dưới đây

Trang 35

ho đồ thị vô hướng liên thông G = Đỉnh uV được gọi trụ nếu loại

bỏ đỉnh u cùng với các cạnh nối với u làm tăng thành phần liên thông của đồ thị Bài toán đặt ra là xây dựng thuật toán duyệt các đỉnh trụ của đồ thị vô hướng G = cho trước

Ngày đăng: 27/09/2016, 09:23

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Nguyễn Đức Nghĩa, Nguyễn Tô Thành, Toán Rời Rạc , NXB Đại Học Quốc Gia Hà Nội. năm 2003 Sách, tạp chí
Tiêu đề: Nguyễn Đức Nghĩa, Nguyễn Tô Thành, Toán Rời Rạc
Nhà XB: NXB Đại Học Quốc Gia Hà Nội. năm 2003
[2]. Bùi Minh Trí, Quy Hoạch Toán Học, NXB Khoa Hoc và Kỹ Thuật, 2001 [3]. Lê Huy Thập, Hệ hỗ trợ ra quyết định, Bài giảng tại Học viện công nghệBưu chính viễn thông, năm 2006 Sách, tạp chí
Tiêu đề: Bùi Minh Trí, Quy Hoạch Toán Học," NXB Khoa Hoc và Kỹ Thuật, 2001 [3]. "Lê Huy Thập, Hệ hỗ trợ ra quyết định, Bài giảng
Nhà XB: NXB Khoa Hoc và Kỹ Thuật
[4]. Lê Huy Thập, Giáo trình kỹ thuật lập trình, Tập 1, NXB Khoa học tự nhiên và công nghệ, năm 2008 Sách, tạp chí
Tiêu đề: Lê Huy Thập, Giáo trình kỹ thuật lập trình, Tập 1
Nhà XB: NXB Khoa học tự nhiên và công nghệ
[5]. Lê Huy Thập, Bài giảng toán rời rạc phần I và II , tại Học Viện CNBCVT, từ năm 2003- 2016 Sách, tạp chí
Tiêu đề: Lê Huy Thập, Bài giảng toán rời rạc phần I và II
[6]. Kenneth H. Rosen, Discrete Mathematics anh Its Applications, 2005 Sách, tạp chí
Tiêu đề: Kenneth H. Rosen, Discrete Mathematics anh Its Applications
[7]. Sapp Hel Popag, Transportion Management books…, năm 2015 Sách, tạp chí
Tiêu đề: Sapp Hel Popag, Transportion Management books…
[8]. Lê Văn Phùng,Kỹ thuật phân tích thiết kế hệ thống thông tin hướng cấu trúc, tái bản lần 3, năm 2015 NXB Thông tin và truyền thông Sách, tạp chí
Tiêu đề: Lê Văn Phùng,Kỹ thuật phân tích thiết kế hệ thống thông tin hướng cấu trúc, tái bản lần 3
Nhà XB: NXB Thông tin và truyền thông

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Sơ đồ mạng máy tính - Tìm luồng cực đại và thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông (LV01993)
Hình 1.1 Sơ đồ mạng máy tính (Trang 15)
Hình 1.2: Sơ đồ mạng máy tính với đa kênh thoại - Tìm luồng cực đại và thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông (LV01993)
Hình 1.2 Sơ đồ mạng máy tính với đa kênh thoại (Trang 15)
Hình 1.4: Mạng máy tính với kênh thoại một chiều - Tìm luồng cực đại và thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông (LV01993)
Hình 1.4 Mạng máy tính với kênh thoại một chiều (Trang 17)
Hình 1.7: Đường đi trên đồ thị - Tìm luồng cực đại và thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông (LV01993)
Hình 1.7 Đường đi trên đồ thị (Trang 21)
Bảng 2.1 . Kiểm nghiệm thuật toán duyệt các cạnh cầu của đồ thị - Tìm luồng cực đại và thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông (LV01993)
Bảng 2.1 Kiểm nghiệm thuật toán duyệt các cạnh cầu của đồ thị (Trang 32)
Hình 2.2. Chỉ số mới (trong ngoặc) của các đỉnh được đánh lại theo thứ tự - Tìm luồng cực đại và thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông (LV01993)
Hình 2.2. Chỉ số mới (trong ngoặc) của các đỉnh được đánh lại theo thứ tự (Trang 41)
Hình 2.1: Chỉ số của các đỉnh - Tìm luồng cực đại và thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông (LV01993)
Hình 2.1 Chỉ số của các đỉnh (Trang 41)
Đồ thị có hướng G= &amp;lt;V,E&amp;gt;liên thông mạnh nếu giữa hai đỉnh bất - Tìm luồng cực đại và thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông (LV01993)
th ị có hướng G= &amp;lt;V,E&amp;gt;liên thông mạnh nếu giữa hai đỉnh bất (Trang 42)
Hình 2.4: Ví dụ tồi  đối với thuật toán Ford_Fulkerson - Tìm luồng cực đại và thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông (LV01993)
Hình 2.4 Ví dụ tồi đối với thuật toán Ford_Fulkerson (Trang 53)
Hình 2.5: Tăng luồng dọc theo đường tăng - Tìm luồng cực đại và thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông (LV01993)
Hình 2.5 Tăng luồng dọc theo đường tăng (Trang 54)
Hình 3.1: Giao diện màn hình chính - Tìm luồng cực đại và thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông (LV01993)
Hình 3.1 Giao diện màn hình chính (Trang 60)
Hình 3.3: Nhập Danh sách lái xe - Tìm luồng cực đại và thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông (LV01993)
Hình 3.3 Nhập Danh sách lái xe (Trang 61)
Hình 3.5:  Nhập các hành trình - Tìm luồng cực đại và thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông (LV01993)
Hình 3.5 Nhập các hành trình (Trang 62)
Hình 3.6: Sửa danh sách các loại xe - Tìm luồng cực đại và thứ cấp, ứng dụng giải bài toán tìm đường trong giao thông (LV01993)
Hình 3.6 Sửa danh sách các loại xe (Trang 63)

TỪ KHÓA LIÊN QUAN

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