Giải thuật Tránh kẹt xe dựa trên tình trạng giao thông theo thời gian thực đã được phát triển để giải quyết mục tiêu của đề tài.. Để tăng mức độ chính xác trong dự báo tình trạng giao th
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
TRẦN NGỌC SƠN
XÂY DỰNG LỘ TRÌNH, ĐỊNH HƯỚNG GIAO THÔNG ĐỂ
TRÁNH KẸT XE THEO THỜI GIAN THỰC
Chuyên ngành: Khoa Học Máy Tính
Mã số: 60.48.01
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 06 năm 2013
Trang 2Công trình được hoàn thành tại: Trường Đại Học Bách Khoa – ĐHQG-HCM
Cán bộ hướng dẫn khoa học: TS Phạm Trần Vũ
TS Trần Văn Hoài
Cán bộ chấm nhận xét 1 :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 2 :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Luận văn thạc sĩ được bảo vệ tại Trường Đại Học Bách Khoa, ĐHQG Tp HCM ngày … tháng … năm …
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ) 1 ………
2 ………
3 ………
4 ………
5 ………
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA …………
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc Lập - Tự Do - Hạnh Phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên: Trần Ngọc Sơn MSHV: 11070472
Ngày, tháng, năm sinh: 28/02/1987 Nơi sinh: Hà Nam Chuyên ngành: Khoa học Máy tính Mã số: 60.48.01 1 TÊN ĐỀ TÀI: XÂY DỰNG LỘ TRÌNH, ĐỊNH HƯỚNG GIAO THÔNG ĐỂ TRÁNH KẸT XE THEO THỜI GIAN THỰC 2 NHIỆM VỤ VÀ NỘI DUNG:
3 NGÀY GIAO NHIỆM VỤ:
4 NGÀY HOÀN THÀNH NHIỆM VỤ:
5 HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS Phạm Trần Vũ, TS Trần Văn Hoài Tp HCM, ngày … tháng … năm … CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên và chữ ký) (Họ tên và chữ ký) TRƯỞNG KHOA
(Họ tên và chữ ký)
Trang 4LỜI CẢM ƠN
Tôi xin gởi lời cảm ơn chân thành và sâu sắc nhất đến TS Phạm Trần Vũ và TS Trần Văn Hoài Cám ơn các Thầy đã tận tình chỉ bảo, hướng dẫn, định hướng cho tôi trong suốt thời gian thực hiện Luận văn Cám ơn các Thầy đã chia sẻ cho tôi những kinh nghiệm quý báu trong nghiên cứu khoa học Điều đó đã giúp tôi rất nhiều trong việc thực hiện Luận văn cũng như trong công việc giảng dạy, nghiên cứu của tôi sau này Tôi cũng xin cảm ơn gia đình đã động viên và tạo mọi điều kiện tốt nhất để tôi có thể tiếp tục theo đuổi việc học tập nghiên cứu Con xin cám ơn Cha Mẹ, nhờ công lao dưỡng dục của Người mà con mới có được thành quả như ngày hôm nay Con xin hứa
sẽ tiếp tục cố gắng phấn đấu để vươn cao hơn nữa Cám ơn em Ly Na, vợ của tôi, vì những động viên và hỗ trợ cho tôi trong suốt thời gian qua
Trần Ngọc Sơn
Trang 5TÓM TẮT ĐỀ TÀI
Trong những năm gần đây, tình trạng kẹt xe ngày càng nghiêm trọng, nhất là trong các thành phố lớn của Việt Nam Từ đó, hệ thống thu thập dữ liệu và cảnh báo tình trạng giao thông bằng cách sử dụng điện thoại thông minh đã được đưa ra góp phần giải quyết vấn đề kẹt xe hiện nay hiệu quả hơn
Khi người dùng di chuyển trên đường, các dữ liệu GPS sẽ được thu thập thông qua điện thoại di động và gửi đến máy chủ trung tâm thông qua 3G, GPRS hoặc tin nhắn SMS Máy chủ trung tâm xử lý và tổng hợp dữ liệu từ nhiều nguồn khác nhau, phân tích dữ liệu để xác định tình trạng giao thông hiện tại Hệ thống cũng có thể dự đoán tình hình giao thông trong tương lai dựa vào các dữ liệu hiện tại Tình hình giao thông hiện tại và tương lai sẽ được gửi trở lại cho người sử dụng điện thoại thông minh, cảnh báo họ và điều hướng lại giao thông Toàn bộ quá trình này được thực hiện trong thời gian thực
Đề tài này chỉ tập trung vào vấn đề xây dựng lộ trình, định hướng lại giao thông tránh kẹt xe theo thời gian thực Đây là một chức năng quan trọng trong hệ thống thu thập dữ liệu và cảnh báo tình trạng giao thông
Giải thuật Tránh kẹt xe dựa trên tình trạng giao thông theo thời gian thực đã được phát triển để giải quyết mục tiêu của đề tài Giải thuật Tránh kẹt xe dã được chạy thử nghiệm chung với giải thuật tìm đường khác nhiều lần để đánh giá các ưu điểm, khuyết
điểm và tính hiệu quả
Trang 6ABSTRACT
In recent years, traffic jams have become major problems in big cities of Vietnam A system for collecting traffic data and alerting traffic conditions using smartphones was introduced
In this system, when moving on the roads, GPS-enabled smartphones will record their locations and velocity and send the collected data to a central processing server via 3G, GPRS or SMS connections The central server can then filter, clean and aggregate the data from many different sources Then, it can analyse the data and make conclusion on the current traffic conditions It can also predict the future conditions of the traffic using the current data The current and future traffic conditions are sent back to the smartphone users to alert them and also to regulate the traffic This whole process is done in real-time
This topic focuses on issues roadmap for redirecting traffic to avoid congestion in real time This is an important function in the system for collecting traffic data and alerting traffic conditions
An algorithm based on traffic conditions in real time has been developed to solve this problem This algorithm has been compared with other pathfinder algorithms several times to assess the strengths, weaknesses and effectiveness
Trang 7LỜI CAM ĐOAN
Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như đã ghi
rõ trong luận văn, các công việc trình bày trong luận văn này là do chính tôi thực hiện
và chưa có phần nội dung nào của luận văn này được nộp để lấy một bằng cấp ở trường này hoặc trường khác
Ngày 01 tháng 06 năm 2013
Trần Ngọc Sơn
Trang 8MỤC LỤC
Chương 1: GIỚI THIỆU 1
1.1 Lý do chọn đề tài 1
1.2 Mục tiêu của đề tài 3
1.3 Phạm vi nghiên cứu 3
1.4 Cấu trúc của đề tài 3
Chương 2: TỔNG QUAN 5
2.1 Các công trình liên quan 5
2.2 Mô hình tổng quan 7
Chương 3: CƠ SỞ LÝ THUYẾT 9
3.1 Lý thuyết đồ thị 9
3.2 Các giải thuật tìm đường 11
Chương 4: GIẢI PHÁP 14
4.1 Xây dựng dữ liệu bản đồ 14
4.2 Viết chương trình thử nghiệm 17
4.3 Thử nghiệm các giải thuật tìm đường 19
4.4 Phát triển giải thuật Tránh kẹt xe 24
Chương 5: THỬ NGHIỆM VÀ ĐÁNH GIÁ 28
5.1 Dữ liệu thử nghiệm 28
5.2 Phương pháp thử nghiệm 33
5.3 Đánh giá giải thuật 77
Chương 6: KẾT LUẬN 82
CÔNG TRÌNH NGHIÊN CỨU 83
TÀI LIỆU THAM KHẢO 84
Trang 9Chương 1: GIỚI THIỆU 1.1 Lý do chọn đề tài
Tình trạng kẹt xe ở Việt Nam hiện nay ngày càng nghiêm trọng, nhất là trên địa bàn các thành phố lớn như Hà Nội và thành phố Hồ Chí Minh Nếu như trước đây, tình trạng kẹt xe thường diễn ra vào giờ cao điểm và ở một số điểm nhất định thì giờ đây
ùn tắc giao thông đã lan ra hầu như khắp nơi và vào bất cứ giờ nào vào ban ngày Vì sao kẹt xe xảy ra càng ngày càng trầm trọng? Giải pháp nào hiệu quả để thoát ra khỏi tình trạng này?
Hình 1.1: Một cảnh kẹt xe ở thành phố Hồ Chí Minh
Một trong những nguyên nhân chính gây ra kẹt xe ở nước ta là cơ sở hạ tầng đường
bộ quá yếu kém Theo nghiên cứu của tiến sĩ Vũ Anh Tuấn, Viện Nghiên cứu chính sách giao thông Nhật Bản [10], hệ thống đường bộ của Hà Nội và thành phố Hồ Chí Minh có mật độ đường trên diện tích đất đô thị và mật độ đường trên dân số chỉ bằng 1/5 và 1/10 (thậm chí 1/20) các chỉ số tương đương của một thành phố ở Mỹ, Âu Châu trung bình Kết cấu mạng lưới bị mất cân bằng do thiếu đường thứ cấp là đường đấu nối vào các trục đường trục chính, kết nối các đường trục chính với nhau có tác dụng giảm tải cho trục chính trong giờ cao điểm Nói như vậy không có nghĩa là chúng tôi phải cố gắng mở rộng đường, xây mới để đạt chỉ tiêu chất lượng như của
Mỹ Điều đó là không tưởng bởi vì nước ta, đất chật, mật độ dân cư đã quá đông, cực
Trang 10kỳ khó giải phóng mặt bằng và nếu có làm được thì cũng cực kỳ tốn kém Hà Nội từng có những con đường nổi tiếng vì đắt nhất thế giới!
Có rất nhiều giải pháp được đưa ra để giải quyết vấn đề kẹt xe, được phân vào hai nhóm chính là giải pháp tình thế và giải pháp cơ bản:
- Nhóm giải pháp tình thế, tập trung vào hai chủ thể
o Chủ thể thứ nhất là người điều khiển phương tiện giao thông Ðối với chủ thể này, bên cạnh việc tăng cường tuyên truyền giáo dục ý thức chấp hành luật giao thông thì phải tăng cường các biện pháp xử phạt hành chính Ðiều này đòi hỏi lực lượng cảnh sát giao thông và thanh tra giao thông hoạt động tích cực và thường xuyên hơn
o Chủ thể thứ hai là các phương tiện kỹ thuật, điều hành phục vụ việc đi lại như: tuyến đường, đèn hiệu, vạch sơn, Cần phải nghiên cứu và điều chỉnh ngay các luồng chưa hợp lý ở một số tuyến đường Không phải nơi nào cũng bố trí
đi một chiều là thuận lợi mà nhiều khi gây ra tình trạng dồn ép phương tiện giao thông vào một nơi rất dễ gây ra tình trạng kẹt xe
- Nhóm giải pháp cơ bản đóng vai trò tích cực và chủ động hơn Trước hết, cần ưu tiên xây dựng những cầu vượt tại các ngã tư, giao lộ tại những nơi thường kẹt xe
để tạo ra các nút giao thông khác mức, khắc phục tình trạng chờ đợi lâu ở các ngã
tư Mặt khác, cần tiếp tục cải tạo và phát triển cơ sở hạ tầng giao thông theo quy hoạch phát triển giao thông đã được Thủ tướng Chính phủ phê duyệt Một giải pháp cơ bản khác, mang tính chiến lược là phát triển các phương tiện vận tải hành khách công cộng bao gồm xe buýt và các phương tiện vận tải hành khách khối lượng lớn như: hệ thống xe điện ngầm, xe điện mặt đất hoặc tàu điện một ray Bên cạnh đó, cần khai thác hệ thống vận tải hành khách bằng đường sông Lâu dài hơn
là việc phân bố lại các khu dân cư, di dời một số bệnh viện, trường học, cơ quan ở trung tâm thành phố ra các quận, huyện có mật độ dân cư thấp để giảm tải cho các tuyến đường
Tuy nhiên, các giải pháp trên thường không hiệu quả, tốn rất nhiều chi phí về trang thiết bị và triển khai, các dữ liệu thu thập được cũng không dễ dàng được sử dụng cho các ứng dụng dự báo về giao thông
Từ đó, hệ thống thu thập dữ liệu và cảnh báo tình trạng giao thông bằng cách sử dụng điện thoại thông minh đã được đưa ra góp phần giải quyết vấn đề kẹt xe hiện nay hiệu quả hơn Hệ thống này tự động thu thập dữ liệu GPS từ các điện thoại thông minh và
Trang 11tình hình giao thông trong tương lai dựa vào các dữ liệu hiện tại Tình hình giao thông hiện tại và tương lai sẽ được gửi trở lại cho người sử dụng điện thoại thông minh, cảnh báo họ và điều hướng lại giao thông Toàn bộ quá trình này được thực hiện trong thời gian thực
Hệ thống thu thập dữ liệu giao thông và cảnh báo tình hình giao thông có nhiều lợi thế hơn các hệ thống khác như:
- Chi phí thấp do việc sử dụng điện thoại thông minh ngày càng nhiều ở nước ta hiện nay
- Các dữ liệu thu thập dễ dàng sử dụng để xử lý trong thời gian thực
- Người dùng được cập nhật tình hình giao thông hiện tại và tránh được kẹt xe Giải pháp này hoàn toàn có thể đưa vào áp dụng trong thực tế hiện nay Để tăng mức
độ chính xác trong dự báo tình trạng giao thông theo thời gian thực ngoài thông tin của người dùng cung cấp, chúng tôi cần thêm nhiều nguồn thông tin có giá trị khác như thông tin vị trí của mạng lưới các tuyến xe buýt trong thành phố, thông tin tình trạng kẹt xe do người dùng cung cấp, … Nếu được hỗ trợ các thông tin trên thì tính chính xác trong dự báo tình trạng giao thông cũng như tính khả thi của hệ thống thu thập dữ liệu và cảnh báo tình trạng giao thông càng cao
1.2 Mục tiêu của đề tài
Với yêu cầu đặt ra, đề tài chỉ tập trung vào vấn đề xây dựng lộ trình, định hướng lại giao thông tránh kẹt xe theo thời gian thực Đây là một chức năng quan trọng trong hệ thống thu thập dữ liệu và cảnh báo tình trạng giao thông
Mục tiêu của đề tài này là tìm hiểu, nghiên cứu và phát triển giải thuật để xây dựng lộ trình dựa trên tình trạng giao thông thực tế, từ đó giúp người dùng định hướng lại tránh được các khu vực kẹt xe
1.3 Phạm vi nghiên cứu
Phạm vi nghiên cứu của đề tài được giới hạn trong một khu vực của thành phố Hồ Chí Minh (trong để tài này là khu vực Hồ Con Rùa, Quận 1) Sau khi áp dụng thí điểm thành công, đề tài sẽ được mở rộng phạm vi nghiên cứu ra toàn bộ thành phố và các khu vực khác, cuối cùng là mở rộng ra cả nước Việt Nam
1.4 Cấu trúc của đề tài
Trang 12Chương 1: Giới thiệu đề tài
- Lý do chọn đề tài
- Mục tiêu và phạm vi nghiên cứu của đề tài
Chương 2: Tổng quan về đề tài
- Phân tích, đánh giá các công trình liên quan đến đề tài
- Đưa ra mô hình tổng quan của hệ thống, từ đó xác định các vấn đề mà đề tài tập trung nghiên cứu giải quyết
Chương 3: Cơ sở lý thuyết
- Trình bày một phần về lý thuyết đồ thị dùng để biểu diễn bản đồ
- Tìm hiểu một số giải thuật tìm đường trên đồ thị
Chương 4: Giải pháp thực hiện
- Xây dựng dữ liệu bản đồ để dùng cho tìm đường
- Viết chương trình biểu diễn bản đồ, tình trạng giao thông, cập nhật tình trạng giao thông
- Thử nghiệm các giải thuật tìm đường trên bản đồ như Dijkstra, A*
- Phát triển giải thuật Tránh kẹt xe dựa trên tình trạng giao thông theo thời gian
thực
Chương 5: Thử nghiệm và đánh giá
- Chuẩn bị dữ liệu về tình trạng giao thông cho giải thuật Tránh kẹt xe
- Chạy thử nghiệm giải thuật Tránh kẹt xe và giải thuật A*
- Đánh giá ưu và nhược điểm của giải thuật Tránh kẹt xe
Chương 6: Kết luận
- Xác định các công việc đã làm được trong đề tài
- Đóng góp của đề tài cho đất nước
- Hướng phát triển của đề tài
Trang 13Chương 2: TỔNG QUAN 2.1 Các công trình liên quan
Trên thế giới đã có nhiều công trình liên quan đến vấn đề giao thông và việc xây dựng
lộ trình theo thời gian thực như: đánh giá các hiệu quả việc di chuyển trong các ứng dụng giao thông thời gian thực [1], dùng giải thuật D* để lập kế hoạch theo thời gian thực [2], chia sẻ thông tin tình trạng giao thông qua các phương tiện liên lạc [3],[4], xác định thời gian di chuyển bằng cách dùng xe thăm dò gắn GPS [5],[6], xác định thông tin các xe ở gần dựa vào thiết bị gắn trên xe [7], tìm đường trên mạng ad hoc giữa các phương tiện dựa vào dữ liệu thời gian thực [8], xác định tình trạng giao thông dựa trên dữ liệu theo thời gian thực của hệ thống xe taxi [9]
Ngoài ra, Google Maps [14] cũng đã hỗ trợ hiển thị thông tin tình trạng giao thông thời gian thực tại hầu hết các thành phố lớn tại Mỹ Tuy nhiên, không biết bao giờ Google Maps mới hỗ trợ hiển thị tình trạng giao thông ở Việt Nam?
Hình 2.1: Minh họa tình trạng giao thông của Google Maps
Trang 14Google Maps thêm vào các đường giao thông một lớp chứa thông tin tốc độ di chuyển trung bình tại vị trí đó như màu xanh lá, vàng, đỏ hoặc xám Các màu sắc tượng trưng cho tốc độ di chuyển trung bình trên vị trí tương ứng như sau:
o Màu xanh lá: tốc độ trên 50 dặm / 1 giờ
o Màu vàng: tốc độ từ 25 đến 50 dặm / 1 giờ
o Màu đỏ: tốc độ dưới 25 dặm / 1 giờ
o Màu xám: Không có dữ liệu
Đặc biệt, ở Việt Nam cũng có hệ thống lớn hỗ trợ về thông tin giao thông, đó là kênh VOV giao thông phát trên sóng FM 91Mhz Đây là kênh thông tin toàn cảnh về giao thông tại hai thành phố lớn là Hà Nội và thành phố Hồ Chí Minh, nơi giải đáp mọi thắc mắc về các vấn đề giao thông cho thính giả khi gọi đến chương trình, đồng thời còn có thể chia sẻ tình hình giao thông trên đường phố, nhất là vào giờ cao điểm Các thông tin về giao thông và ùn tắc, kẹt xe liên tục được cập nhật bởi hệ thống camera được lắp đặt tại các nút giao thông và lực lượng phóng viên tác nghiệp tại hiện trường
Hình 2.2: Nhiều sinh viên trường Cao đẳng PTTH 2 đăng ký làm
CTV VOV giao thông thành phố Hồ Chí Minh
Trang 15Tuy nhiên, giao thông ở Việt Nam lại rất đặc thù, không giống như giao thông ở các quốc gia khác chủ yếu là xe hơi, các phương tiên giao thông ở Việt Nam chủ yếu là xe máy Do đó các giải pháp về giao thông ở các nước khác chưa chắc đã hoạt động tốt nếu áp dụng ở Việt Nam
Từ các vấn đề trên, mô hình tổng quan của hệ thống thu thập dữ liệu và cảnh báo tình trạng giao thông được đưa ra, từ đó xác định các vấn đề mà đề tài tập trung nghiên cứu giải quyết
2.2 Mô hình tổng quan
Hình 2.3 đưa ra cái nhìn tổng thể về hệ thống thu thập dữ liệu và cảnh báo tình trạng giao thông Hệ thống bao gồm hai phần chính: điện thoại thông minh (Smartphone) và máy chủ trung tâm (Server) Ngoài ra máy chủ còn bao gồm cả website cho phép người dùng xem tình hình giao thông ngay trên trình duyệt của máy tính, laptop
Hình 2.3: Hệ thống thu thập dữ liệu và cảnh báo tình trạng giao thông
2.2.1 Điện thoại thông minh
Điện thoại thông minh là thành phần chính tương tác giữa hệ thống với người dùng Mỗi điện thoại sẽ được cài đặt một phần mềm có ba chức năng chính sau:
- Thu thập dữ liệu GPS (GPS Sensor) như vị trí, tốc độ của người dùng cùng với thời gian mà dữ liệu được thu thập trong các khoảng thời gian cố định Các dữ liệu này sẽ được gửi lên máy chủ trung tâm thông qua 3G, GPRS hoặc tin nhắn SMS Mức độ thu thập dữ liệu và gửi dữ liệu lên máy chủ trung tâm có thể khác nhau
Trang 16- Biểu diễn giao thông (Traffic Visualizer): biểu diễn vận tốc trung bình của từng đoạn đường (tình trạng giao thông) trên bản đồ Các dữ liệu về tình trạng giao thông được máy chủ trung tâm gửi về điện thoại Ngoài ra, vị trí hiện tại của người dùng cũng có thể được biểu diễn ngay trên bản đồ
- Cảnh báo giao thông (Traffic Notifier): cảnh báo cho người dùng về tình trạng giao thông hiện tại Ví dụ như nếu người dùng đang đi vào khu vực kẹt xe, hệ thống sẽ cảnh báo cho người dùng biết Việc xác định hướng đi của người dùng và cảnh báo tình trạng giao thông được xử lý trên máy chủ trung tâm để giảm công việc tính toán trên điện thoại
2.2.2 Máy chủ trung tâm
Máy chủ trung tâm là trái tim của cả hệ thống, nó đảm nhận các công việc tính toán nặng nhọc nhất và lưu trữ dữ liệu Máy chủ trung tâm bao gồm ba chức năng chính: phân tích dữ liệu giao thông (Traffic Data Extractor), theo dõi tình trạng giao thông (Traffic Monitor) và ứng dụng web (Web Application)
- Phân tích dữ liệu giao thông: máy chủ nhận các dữ liệu GPS thô từ nhiều nguồn (điện thoại) Các dữ liệu GPS này độ chính xác không cao do dùng trên điện thoại nên chức năng GPS không chuyên dụng Ngoài ra, dữ liệu GPS này cũng có thể không dùng được do người dùng không tham gia giao thông như đang đi bộ hoặc ngồi ở quán ăn, cà phê, … Do đó các dữ liệu GPS này cần được xử lý để lọc bỏ nhiễu, tăng độ chính xác và cần được ánh xạ vào các đoạn đường trên bản đồ
- Theo dõi tình trạng giao thông có chức năng phân tích dữ liệu giao thông để biết được tình trạng giao thông (tốc độ nhanh, bình thường, chậm) từng khu vực và cảnh báo cho người dùng thông qua điện thoại của họ về tình trạng giao thông hiện tại
- Ứng dụng web cung cấp cho người dùng cách thức khác để sử dụng hệ thống Website cung cấp một số chức năng như bản đồ về tình trạng giao thông hiện tại
và công cụ cho phép người dùng xây dựng lộ trình của mình để tránh được các điểm kẹt xe Người dùng có thể sử dụng công cụ trên với bất kỳ trình duyệt nào Với giới hạn của đề tài nghiên cứu, chỉ tập trung vào giải quyết vấn đề xây dựng lộ trình, định hướng giao thông để tránh kẹt xe theo thời gian thực Đây là chức năng rất quan trọng của hệ thống được chạy trên máy chủ trung tâm để xử lý các yêu cầu
về xây dựng lộ trình, tìm đường, định hướng để tránh kẹt xe cho người dùng
Trang 17Chương 3: CƠ SỞ LÝ THUYẾT
Để xây dựng lộ trình, định hướng giao thông để tránh kẹt xe thì trước hết cần phải tìm hiểu về các lý thuyết liên quan đến vấn đề cần giải quyết như: lý thuyết đồ thị [11], các giải thuật tìm đường
3.1 Lý thuyết đồ thị
Đồ thị là một cấu trúc rời rạc bao gồm các đỉnh và các cạnh nối các đỉnh này Chúng
ta phân biệt các loại đồ thị khác nhau 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 Chú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, xem hình 3.1
Hình 3.1: Sơ đồ mạng máy tính
Nhận thấy rằng trong mạng ở hình 3.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 này 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 3.1 được gọi là đơn đồ thị vô hướng Ta đi đến định nghĩa sau:
Định nghĩa 1: Đơn đồ 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
Trong trường hợp giữa hai máy tính nào đó thường xuyên phải truyền tải nhiều thông tin người ta phải nối hai máy này bởi nhiều kênh thoại Mạng với đa kênh thoại giữa các máy được cho trong hình 3.2
Trang 18Hình 3.2: Sơ đồ mạng máy tính với đa kênh thoại
Định nghĩa 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 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
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) 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ày chú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 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 Cạnh e được gọi là khuyên nếu nó có dạng e = (u, u)
Cá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 Chẳng hạn, trong hình 3.3 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
Ta đi đến định nghĩa sau
Định nghĩa 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:
Trang 19Hình 3.3: Mạng máy tính với kênh thoại một chiều
Định nghĩa 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
Như vậy, dựa vào lý thuyết đồ thị ta có thể biểu diễn bản đồ là một đơn đồ thị có hướng với đỉnh là các giao lộ (ngã ba, ngã tư, …) và cạnh là các đoạn đường nối các giao lộ này
3.2 Các giải thuật tìm đường
Nói đến các giải thuật tìm đường, chúng ta nghĩ ngay đến các giải thuật tìm đường nổi tiếng trong lý thuyết đồ thị như: giải thuật Dijkstra cho đồ thị đơn có trọng số của các cạnh không âm, giải thuật Floyd-Bellman cho đồ thị không có chu trình có tổng trọng
số là âm
Các giải thuật nêu trên được xây dựng trên các mô hình thuần túy lý thuyết, trong đó
đồ thị được xem là tập hợp các đỉnh và cung nối giữa các đỉnh đó, ngoài ra, không có bất kì thông tin gì bổ sung cho bài toán Với mô hình lý thuyết thuần tuý như vậy, trên một đồ thị có thể tồn tại những đặc điểm ít khi xảy ra trong thực tế, chẳng hạn: có thể tồn tại một cung có trọng số lớn hơn tổng trọng số của tất cả các cung còn lại trên đồ thị, hoặc một đồ thị chẳng có cung nào Giải thuật tìm đường Dijkstra đòi hỏi chi phí
về thời gian là O(n2) cho việc tìm đường đi giữa hai cặp đỉnh bất kì; giải thuật Bellman đòi hỏi chi phí O(n) nhưng lại bắt buộc phải tìm đường đi giữa mọi cặp đỉnh trong đồ thị, dẫn đến tổng chi phí thời gian của cả giải thuật là O(n3), như vậy những giải thuật này thích hợp với các đồ thị không quá lớn (từ vài trăm tới không quá vài ngàn đỉnh)
Trang 20Floyd-Trong khi đó, bài toán tìm đường trong thực tế thường làm việc với đồ thị có vài chục ngàn đỉnh; bù lại, các bài toán như vậy lại có thêm thông tin phụ giúp chúng ta định hướng tốt hơn trong quá trình tìm lời giải Vấn đề ở đây là sử dụng các thông tin định hướng đó như thế nào Ví dụ trong các trò chơi chiến thuật thời gian thực, cần đi từ điểm A đến điểm B Ở đây không thể áp dụng các giải thuật tìm đường thông thường
vì bản đồ của trò chơi đôi khi có kích thước lên đến 512 x 512 ô, tương đương với một đồ thị thưa có 262.144 đỉnh; nhóm quân thường có xu hướng đi thẳng về hướng
B và nếu gặp chướng ngại vật thì men theo chướng ngại vật
Để áp dụng việc tìm đường trong thực tế thì có một giải thuật được sử dụng rất nhiều
đó là giải thuật A* (đọc là “a sao” hoặc “a-star” trong tiếng Anh) [12],[13] Giải thuật A* đưa ra cách thức tìm đường heuristic dựa trên giải thuật Dijkstra Vì vậy cũng như Dijkstra, tư tưởng tìm đường của A* dựa trên chiến lược tìm kiếm theo chiều rộng Gần như có sự tương đương một - một giữa các bước thực hiện của cả hai giải thuật Trước khi xem xét giải thuật, các quy ước cho bài toán được đưa ra như sau:
- start = đỉnh xuất phát
- goal = đỉnh kết thúc
- close = tập các đỉnh đã được tính toán chính xác đường đi ngắn nhất
- open = tập các đỉnh còn lại
- l[i,j] = trọng số của cung (i,j)
- d[i] = khoảng cách min từ i đến start
- v[i] = khoảng cách min ước lượng từ i đến start
Như vậy, nhiệm vụ đầu tiên của các giải thuật tìm đường đi ngắn nhất là phải tìm được giá trị d[goal], chi tiết thể hiện của hai giải thuật như dưới đây:
Trang 21iopen
d[i] = min{d[i], d[k]+l[k,i]}
{mở rộng tập close}
chọn k open để iopen
chọn k open để iopen có d[k] d[i]
open = open - [k]
close = close + [k]
until goal close;
Sự khác biệt duy nhất của hai giải thuật ở điểm chọn đỉnh k để mở rộng tập close Trong chiến lược tìm kiếm theo chiều rộng, việc lựa chọn trạng thái để mở rộng tìm kiếm đóng vai trò tối quan trọng Với một trạng thái được lựa chọn tốt, có thể tìm thấy lời giải của bài toán chỉ sau số bước rất ít so với việc lựa chọn trạng thái mở rộng một cách ngẫu nhiên (lựa chọn mù) Theo chứng minh lý thuyết, nếu các trọng số của đồ thị G đều là dương (l[i,j] > 0 với mọi i,j) và v[i] là lượng giá dương thấp hơn đường đi ngắn nhất từ đỉnh i đến start (0 < v[i] < d[i] với mọi i), thì giải thuật A* luôn cho kết quả đúng và không bao giờ yêu cầu nhiều thời gian hơn giải thuật Dijkstra Có hai kết quả dễ thấy:
- Thứ nhất, giải thuật Dijkstra có thể xem là trường hợp “suy biến” của A* trong trường hợp v[i] = 0
- Thứ hai, nếu v[i] là ước lượng đúng thì giải thuật A* có độ phức tạp thời gian
là tuyến tính
Với các giải thuật tìm đường kể trên, chúng chỉ áp dụng được cho việc tìm đường trên các đồ thị tĩnh, không có yếu tố động trong đó như vận tốc thay đổi liên tục theo thời gian Bởi vậy, các giải thuật tìm đường trên không phù hợp với yêu cầu của đề tài là: xây dựng lộ trình dựa vào tình trạng giao thông thay đổi liên tục theo thời gian thực
để tránh kẹt xe
Trang 22Chương 4: GIẢI PHÁP
Để xây dựng lộ trình, định hướng giao thông tránh kẹt xe theo thời gian thực, các giải pháp được đưa ra như sau:
- Xây dựng dữ liệu bản đồ OpenStreetMap [15] từ định dạng OSM
- Viết chương trình thử nghiệm để biểu diễn bản đồ và tình trạng giao thông, đồng thời cho phép cập nhật tình trạng giao thông trên bản đồ
- Thử nghiệm các giải thuật tìm đường trên bản đồ như Dijkstra, A*
- Phát triển giải thuật Tránh kẹt xe dựa trên tình trạng giao thông theo thời gian thực
4.1 Xây dựng dữ liệu bản đồ
Dữ liệu bản đồ OpenStreetMap (OSM) được sử dụng làm dữ liệu bản đồ cho đề tài Đây là dữ liệu bản đồ mở có gần như đầy đủ thông tin các tuyến đường tại các thành phố lớn ở nước ta, đủ để đáp ứng yêu cầu của hệ thống
Bản đồ OpenStreetMap cung cấp dữ liệu với dịnh dạng OSM dựa trên XML, sau đây
là một phần dữ liệu mẫu theo định dạng OSM
<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="CGImap 0.0.2">
<bounds minlat="54.0889580" minlon="12.2487570" maxlat="54.0913900"
maxlon="12.2524800"/>
<node id="298884269" lat="54.0901746" lon="12.2482632" user="SvenHRO"
uid="46882" visible="true" version="1" changeset="676636" 21T21:37:45Z"/>
<node id="261728686" lat="54.0906309" lon="12.2441924" user="PikoWinter"
uid="36744" visible="true" version="1" changeset="323878" 03T13:39:23Z"/>
<node id="1831881213" version="1" changeset="12370172" lat="54.0900666"
lon="12.2539381" user="lafkor" uid="75625" visible="true" 20T09:43:19Z">
<tag k="name" v="Neu Broderstorf"/>
<tag k="traffic_sign" v="city_limit"/>
</node>
Trang 23
<node id="298884272" lat="54.0901447" lon="12.2516513" user="SvenHRO"
uid="46882" visible="true" version="1" changeset="676636" 21T21:37:45Z"/>
<way id="26659127" user="Masch" uid="55988" visible="true" version="5"
<tag k="highway" v="unclassified"/>
<tag k="name" v="Pastower Straße"/>
<member type="node" ref="364933006" role=""/>
<member type="way" ref="4579143" role=""/>
<member type="node" ref="249673494" role=""/>
<tag k="name" v="Küstenbus Linie 123"/>
<tag k="network" v="VVW"/>
<tag k="operator" v="Regionalverkehr Küste"/>
<tag k="ref" v="123"/>
<tag k="route" v="bus"/>
<tag k="type" v="route"/>
</relation>
</osm>
Trang 24Cấu trúc của dữ liệu OSM bao gồm các thành phần chính sau:
Một tập hợp các node chứa thông tin vị trí địa lý
Một tập hợp các way bao gồm từ 2 đến 2000 node
Một tập hợp các relation bao gồm nhiều thành phần như node và way
Với dữ liệu OSM trên, chúng chỉ phù hợp với mục đích để chia sẻ và biểu diễn chứ không thể dùng để tìm đường trên dữ liệu đó được Do đó, những dữ liệu trên cần được chuyển đổi thành dạng mới phù hợp hơn để tìm đường Các bước thực hiện được tiến hành như sau:
- Tìm và tải dữ liệu bản đồ của Việt Nam định dạng OSM
- Dùng công cụ nhập dữ liệu OSM và cơ sở dữ liệu MySQL
- Viết công cụ chuyển đổi dữ liệu OSM thành dạng mới hỗ trợ tìm đường
Dạng dữ liệu mới hỗ trợ tìm đường tôi xây dựng dựa trên lý thuyết về đồ thị, có cấu trúc gồm hai bảng trong cơ sở dữ liệu để chứa các giao lộ trên bản đồ (đỉnh của đồ thị) và chứa các đoạn đường nối các giao lộ (cạnh của đồ thị), xem hình 4.1 sau:
Hình 4.1: Cấu trúc dữ liệu hỗ trợ tìm đường
Lưu ý: giao lộ ở đây có ý nghĩa là giao của các đoạn đường trên bản đồ dựa theo tính chất của dữ liệu OSM
Với bảng nodes chứa các đỉnh của đồ thị, chỉ cần lưu vị trí địa lý (lat, lon) là đủ, dùng
để vẽ các đỉnh và cạnh của đồ thị trên bản đồ Bảng edges chứa các cạnh của đồ thị thì bao gồm nhiều thông tin hơn, chi tiết một cạnh của đồ thị như sau:
a Trường id, next là chỉ mục hai đỉnh
b Trường cost là chiều dài (mét) của cạnh
c Trường time là thời điểm (phút) tương ứng với vận tốc (speed)
d Trường speed là vận tốc (km/h) tương ứng với thời điểm (time)
Trang 25Ngoài ra với đường một chiều thì chỉ có một cạnh được tạo ra, với đường hai chiều thì hai cạnh được tạo ra tương ứng Như vậy theo các tính chất trên thì với mỗi cặp đỉnh
có thể có rất nhiều cạnh với các thời điểm khác nhau, tương ứng với vận tốc tại thời điểm đó Do đó đồ thị tạo ra theo các yêu cầu trên là một đa đồ thị có hướng, gồm rất nhiều cạnh nối giữa các cặp đỉnh
4.2 Viết chương trình thử nghiệm
Từ các dữ liệu đã xây dựng được, chương trình để thử nghiệm các dữ liệu đó đã được xây dựng bằng ngôn ngữ chính là PHP, dữ liệu bản đồ dùng cơ sở dữ liệu MySQL Ngoài ra, chương trình còn được sử dụng nhiều ngôn ngữ trên nền web như HTML, CSS, Javascript, … Chương trình thử nghiệm thực chất là một ứng dụng web và có thể chạy trên bất kỳ trình duyệt web nào
Giao diện chương trình biểu diễn bản đồ như hình 4.2, chương trình này sử dụng các hàm API của Google Maps cung cấp để tương tác với bản đồ Dữ liệu bản đồ được sử dụng là dạng hình ảnh được lấy trực tiếp từ máy chủ của OpenStreetMap
Hình 4.2: Biểu diễn bản đồ OpenStreetMap thông qua Google Maps API
Để biểu diễn tình trạng giao thông trên bản đồ, một lớp các đường chồng lên trên bản
đồ hiện tại được vẽ thêm Các đường vẽ thêm này có màu sắc đậm nhạt tương ứng với vận tốc trên từng đoạn đường của bản đồ, xem hình 4.3
Trang 26Hình 4.3: Biểu diễn tình trạng giao thông trên bản đồ
Các màu sắc tương ứng với tốc độ như sau:
- Màu đỏ tương ứng với tốc độ rất chậm
- Màu cam tương ứng với tốc độ bình thường
- Màu vàng tương ứng với tốc độ nhanh
- Màu xanh tương ứng với tốc độ rất nhanh
Ngoài ra để cập nhật tình trạng giao thông bằng tay theo thời gian trên các đoạn đường, chương trình cập nhật tình trạng giao thông (vận tốc theo thời gian trên từng đoạn đường) cũng được xây dựng Giao diện chương trình cập nhật tình trạng giao thông như hình 4.4
Trang 27Hình 4.4: Cập nhật tình trạng giao thông trên bản đồ
Các bước để thực hiện cập nhật tình trạng giao thông của chương trình như sau:
1 Nhập thời gian cần cập nhật và nhấn vào nút [Xem bản đồ] ở góc trên, bản đồ
sẽ hiển thị tình trạng giao thông tương ứng với thời gian mình nhập vào
2 Bấm vào một đoạn đường muốn cập nhật vận tốc trên bản đồ, chương trình sẽ hiện ra cửa sổ với thời gian và vận tốc tương ứng Nhập vận tốc mới và nhấn vào nút [Cập nhật], xem hình 4.4
3 Thực hiện lại bước 2 trên những đoạn đường khác cho đến khi hoàn thành Như vậy với các chương trình trên, việc thử nghiệm các giải thuật tìm đường và phát triển giải thuật Tránh kẹt xe được thực hiện một cách dễ dàng
4.3 Thử nghiệm các giải thuật tìm đường
Hai giải thuật rất phổ biến được chọn ra để thực hiện thử nghiệm tìm đường là Dijkstra và A* Giao diện chương trình thử nghiệm giải thuật như hình 4.5
Trang 28Hình 4.5: Thử nghiệm các giải thuật tìm đường trên bản đồ
Để chạy được các giải thuật tìm đường thì bắt buộc phải có hai đình bắt đầu và kết thúc Nhấn vào nút [Thêm xuất phát] để thêm đỉnh bắt đầu vào bản đồ, ta có thể kéo thả đỉnh bắt đầu trên bản đồ để đặt vào vị trí thích hợp để thử nghiệm, xem hình 4.6
Trang 29Hình 4.6: Thêm đỉnh bắt đầu vào bản đồ
Tương tự, nhấn vào nút [Thêm đích] để thêm đỉnh kết thúc vào bản đồ, ta có thể kéo thả đỉnh kết thúc trên bản đồ để đặt vào vị trí thích hợp để thử nghiệm, xem hình 4.7
Trang 30Hình 4.7: Thêm đỉnh kết thúc vào bản đồ
Sau khi thêm hai đỉnh bắt đầu và kết thúc vào bản đồ, ta tiến hành thử nghiệm giải thuật tìm đường Dijkstra bằng cách nhấn vào nút [Tìm đường (Dijkstra)] ở phía trên chương trình, kết quả xem hình 4.8 Đường màu xanh dương nhạt chính là đường đi ngắn nhất giữa hai đỉnh bắt đầu và kết thúc theo giải thuật Dijkstra
Trang 31Hình 4.8: Thực hiện giải thuật tìm đường Dijkstra
Tương tự, ta tiến hành thử nghiệm giải thuật tìm đường A* bằng cách nhấn vào nút [Tìm đường (A*)] ở phía trên chương trình, kết quả xem hình 4.9 Đường màu xanh dương đậm chính là đường đi ngắn nhất giữa hai đỉnh bắt đầu và kết thúc theo giải thuật A*
Trang 32Hình 4.9: Thực hiện giải thuật tìm đường A*
Sau nhiều lần thử nghiệm tìm đường với hai giải thuật Dijkstra và A*, kết luận được rút ra như sau: kết quả trả về của hai giải thuật này là hoàn toàn giống nhau Điều này
dễ dàng được chứng minh do hai giải thuật này gần như tương đương một - một với nhau Có khác nhau chỉ là thời gian chạy giải thuật A* có thể nhanh hơn Dijkstra nếu xây dựng hàm ước lượng tốt
Với yêu cầu của đề tài thì sử dụng hai giải thuật trên là không phù hợp do việc xây dựng lộ trình phải phụ thuộc vào tình trạng giao thông, mà tình trạng giao thông thì luôn thay đổi theo thời gian thực Do đó, cần phải phát triển một giải thuật mới (được đặt tên là giải thuật Tránh kẹt xe) dùng để tìm đường dựa trên thời gian động mới đáp ứng được yêu cầu đặt ra
4.4 Phát triển giải thuật Tránh kẹt xe
Giải thuật Tránh kẹt xe được xây dựng với các thông tin như sau:
Đầu vào:
Đồ thị có các thông tin về chiều dài, vận tốc phụ thuộc vào thời gian, đỉnh bắt đầu và đỉnh kết thúc
Trang 33 at: thời gian bắt đầu
OPEN: tập các đỉnh có thể được duyệt
CLOSED: tập các đỉnh đã được tính đường đi
heap.pop(), heap.raise(.), heap.push(.): các thao tác trong hàng đợi ưu tiên xử
OPEN := OPEN – {i}
CLOSED := CLOSED + {i}
Trang 34end end
end
end
return không có đường đi
Tư tưởng chung của giải thuật này là dữ liệu luôn thay đổi theo thời gian khi duyệt đến từng đỉnh mới trong đồ thị Khi duyệt đến một đỉnh mới trong đồ thị thì ta xác định thời gian đến đỉnh này, từ đó xây dựng danh sách đỉnh tiếp theo và trọng số dựa vào thời gian mới xác định được Như vậy tại mỗi bước của giải thuật thì dữ liệu luôn mới theo thời gian, đảm bảo giải thuật chạy theo đúng tình trạng giao thông thực tế khi người dùng di chuyển đến vị trí mới trên đường đi
Ghi chú: Cách tính thời gian đến một đỉnh mới trên đồ thị bằng độ dài đoạn đường giữa hai đỉnh chia cho vận tốc trung bình tại thời điểm đang xét (t=s/v)
Thử nghiệm giải thuật Tránh kẹt xe với thời gian bắt đầu lúc 7h và hai đỉnh bắt đầu, kết thúc giống như điều kiện trong mục 4.3, kết quả trong hình 4.10
Trang 35Hình 4.10: Thực hiện giải thuật Tránh kẹt xe
Kết quả chạy giải thuật Tránh kẹt xe (hình 4.10) khác khi chạy với 2 giải thuật Dijkstra và A* trong phần trước (hình 4.8 và 4.9) Quãng đường đi có thể dài hơn hoặc ngắn hơn, nhưng thời gian di chuyển thì nhanh hơn do trên quãng đường này ít kẹt xe hơn Việc thử nghiệm và đánh giá giải thuật Tránh kẹt xe sẽ được thực hiện chi tiết trong chương sau
Trang 36Chương 5: THỬ NGHIỆM VÀ ĐÁNH GIÁ
Việc thử nghiệm và đánh giá hiệu quả của giải thuật Tránh kẹt xe yêu cầu phải có đầy
đủ dữ liệu thì việc đánh giá mới chính xác được Do đó, việc tạo dữ liệu để thử nghiệm cũng hết sức quan trọng, và việc đưa ra phương pháp thử nghiệm hợp lý lại càng quan trọng hơn
5.1 Dữ liệu thử nghiệm
Hiện tại, dữ liệu về tình hình giao thông thực tế rất ít không đủ để thử nghiệm giải thuật Tránh kẹt xe Do đó, dữ liệu giả về tình hình giao thông theo thời gian tại khu vực Hồ Con Rùa, Quận 1 được tạo ra để thử nghiệm
Khi hệ thống đã được thử nghiệm thành công, thì các dữ liệu về tình trạng giao thông
sẽ được cập nhật một cách tự động lên máy chủ trung tâm thông qua hệ thống thu thập
dữ liệu GPS trên điện thoại
Dữ liệu giả dùng để thử nghiệm giải thuật rất nhiều nên không thể liệt kê hết ở đây được Do đó, chỉ một số hình ảnh minh họa về tình hình giao thông được đưa ra trong khoảng thời gian từ 7 giờ đến 12 giờ, xem các hình từ 5.1 đến 5.9
Trang 37Hình 5.2: Tình hình giao thông lúc 7 giờ 12 phút
Hình 5.3: Tình hình giao thông lúc 7 giờ 30 phút
Trang 38Hình 5.4: Tình hình giao thông lúc 7 giờ 42 phút
Hình 5.5: Tình hình giao thông lúc 7 giờ 48 phút
Trang 39Hình 5.6: Tình hình giao thông lúc 8 giờ
Hình 5.7: Tình hình giao thông lúc 8 giờ 30 phút
Trang 40Hình 5.8: Tình hình giao thông lúc 10 giờ