trợ tra cứu tuyến xe buýt tại Tp.HCM” đã đạt được một số kết quả oy thể như sau: ~ _ Mô hình hóa bãi toán bằng đỗ thị và đề xuất một số thuật toán tìm kiểm đường đi tối ưu theo các tiêu
Trang 1
BỘ GIÁO DỤC VA ĐÀO TẠO
'TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.HCM
BAO CAO TONG KET
DE TAI KHOA HỌC CONG NGHE CAP TRUONG
ĐÈ TÀI:
NGHIÊN CỨU XÂY DỰNG HỆ THÓNG THÔNG TIN HỖ TRỢ
'TRA CỨU TUYẾN XE BUÝT TẠI TP.HCM
Chủ nhiệm đề tài: ThS Nguyễn Ngọc Trung
Trang 21.3 Thuật toán tìm lộ trình ít tuyến nhất
1.4 Thuật toán tìm lộ trình ít tuyến và ngắn nhất
CHƯƠNG 2 GIỚI THIỆU WEBSITE TRA CỨU THÔNG TIN XE BUÝT
Trang 3ĐÈ TÀI KHOA HQC CONG NGHỆ CÁP TRƯỜNG Tên đề ải: Nghiên cứu xây dựng hệ thống thông tin hỗ trợ tra cứu tuyển xe buýt tại
Chủ nhiệm mát tải: Nguyễn Ngọc Trung Điện thoại: 0918887594
Email trungnnĐhemup sửa vn
Thời gian thực hiện đề ti: từ tháng 04/2010 đến tháng 04/201 1
1, Mục tiêu đề tài:
š tài nhằm nghiên cứu, xây dựng một hệ thống hỗ trợ tra cứu thông tin vẻ các tuyển xe buýt trên địa bản Tp.HCM, thể hiện cụ thể là một website bản đồ xe buýt trực tuyến với các chức năng sau:
1 Tra cứu thông in về lịch trình và ộ trình của các tuyển xe
“Tìm lộ trình xe buýt tốt nhất từ địa điểm bắt đầu đến địa ty ta thúc theo nhiều mục tiêu (giá thành rẻ, ít lôi pH thời gian ngắn “a 3 Tra cứu thông tin về vị tr, địa bch ted sobs ig tla sii
rẻ, một số văn bản, quy định,
3 Kết quả nghiên cứu:
‘Sau thời gian 1 năm thực hiện, đề tài *Nghiên cứu, xây dựng hệ thống thông tin hỗ trợ tra cứu tuyến xe buýt tại Tp.HCM” đã đạt được một số kết quả oy thể như sau:
~ _ Mô hình hóa bãi toán bằng đỗ thị và đề xuất một số thuật toán tìm kiểm đường
đi tối ưu theo các tiêu chỉ khác nhau
“Xây đựng được một trang web tra cứu thông tìn trực tuyến để hiện thực hóa các kết quả nghiên cứu trên bài toán này với các dữ liệu giả lập Trang web được bản về tra cứu tuyển xe buýt
Bén cạnh những kết quả đạt được, để tải vẫn còn một số hạn chế,
ức
iễm khuyết
Trang 4
~ _ Cie thuột toán chỉ chú trọng vào việc tìm kiểm lộ trình di chuyển xe buýt giữa các trạm, chưa tính toán đến chỉ phí đi bộ ngắn nhất mà người dùng có thể đi 'Với những hạn chế trên, dé tai cin vn tiếp tục nghiên cứu, phát triển thêm để có sớm đưa vào ứng dụng rộng
3 Sản phẩm cự thể của để tài
~ _ 01 tải liệu trình bây chỉ iết các thuật toán
~ _ 01 website tra cửu tuyển xe buýt với các dữ liệu
Minh
~ Dio tao durge 04 cử nhân CNTT
lập trên bản đổ Tp Hỗ Chỉ
Trang 51 Dit vin ab
© che’ 06 thị lớn, cũng với nhịp độ ting trưởng kinh tế là quá trình cdân số, nhu cầu đi lại, kéo theo sự gia tăng không ngừng phương tỉ lượng lẫn chúng loại làm cho vẫn để giao (bông đô thị trở nên cắp bách hơn bao giờ hết Hiện nay, giao thông đô thị là vẫn đề được quan tâm và ưu tiên giải quyết của phần lớn các đồ tên thế gi
Trang quả tình pht tiễn vi nhiễu ý do khác nhan hệ thông giao thông đô thị phát triển không đồng bộ và mắt cân đối giữa các bộ phận mã cy thể là giữa hệ thống giao thông động khiến mạng lưới giao thông đô thị trở nên kém tông si thường xuyên xây +a tinh trang ùn tắc, ai nạn giao thông, ô nhiễm môi trường,
"Việc phát tin vận tải hành khách công cộng nói chung và vận tải hành khách xe buột nối riêng được coi là một giải pháp quan trọng để hạn chế sự quá tải trong hệ thống giao thông
Với thực rạng giao thông ở thành ph LH Chí Minh hiện nay có hể nối xe buýt đã trở thành một bộ phận không thễ thiểu rong đời sống của người dân Xe buýt p nhu cầu đi lại của người dân trong đô thị, ngoài ra còn có những tuyển xe buýt kế cận phục vụ việc đi lại giữa nội thành và các vùng lẫn cận, phụ cận thành phố Hồ Chí Minh,
“của các nhà quản lý cũng như người đân
.Ở một số thành phổ lớn, để tiện dụng cho người dùng, người ta đã xây dựng các
website hỗ trợ tra cứu tuyến, chỉ
~ Hệ Eis ee bu; pas City Bus Travel Nhàn
ide.net/s
~ Transport for London
‘http:/wow ft gov.uk/tfl/gettingaround/maps/buses/
G Vigt Nam, hiện tại có một số website hỗ trợ người dùng như
~ _ Hệ thống website hỗ trợ xe buyt tai Hi Gi: Altp://www hanoibus.com vn/
‘utp://www.transerco, vi/hanoibus/
Trang 6
Hg théng website trun diễu hành vận tải hành khách công cộng của Sở giao thông thành phổ Hồ Chí Minh (0//p./4ues.Bapjphem com vn ) Mặc dù vậy, các websilc này vẫn còn bộc lộ nhiều hạn chế như: chỉ cung cấp cho người sử dụng thông tin vé tuyến xe, tram chờ, giá vé, thẻ thông mình, sơ đỗ tuyển vẫn là bản đổ giấy 1 thống trên còn thiểu tính trực quan, không hỗ trợ tối đa các yêu cầu mit người dũng đặt ra để họ có thể lựa chọn những lộ trình tiết kiệm nhất Chinh vi vay, để đáp ứng nhu cầu đi lại xe buýt của người dân, cần phải có một hệ thống hỖ trợ tìm kiếm lộ trình tối ưu Hệ thống này phải đếp ứng được các yêu cầu: phù trong thành phố với thời gian thực hiện chuyến đi, số lần chuyển tuyến, và chỉ phí thấp nhất
2 Myc tiéu cita dé tai
Đề tải nhằm nghỉ xây dựng một hệ thống hỗ trợ tra cứu thông tin về các tuyến xe buýt trên địa bản Tp.HCM, thể hiện cụ thể là một website bản đồ xe buýt trực tuyển với các chức năng sau:
~_ Tra cứu thông tín vẻ lịch trình vả lộ trình của các tuyến xe buýt
= Tim lộ tình xe buýt tốt nhất tử địa điểm bắt dẫu dén dja điểm ie thie theo
“nhiều mục tiêu (giá thành rẻ, ít phải đổi ais thôi gan ngắn
~_ Tra cứu thông tỉn về vị trí, xe du trạm wisi diac eye giá vẻ, một số văn bản, quy đị
Trang 7
MOT SO #ưữết TA, TÌM KIEM TÓI U
LQ TRINH XE BUYT
1.1, - Phát biểu bài toán
'Với hệ thống mạng xe buýt rộng lớn như hiện nay ở thành phố Hỗ Chỉ Minh
hổ trợ người sử dụng xe buýt xác định lộ trình thích hợp cho mình là võ cùng cần tị
“Trong đó mỗi đối tượng khác nhau lại có nhu cằu chọn lựa lộ trình theo các tiêu chí khác nhau (đi nhanh nhất, quãng đường dị chuyển ngắn nhất, lộ trình Ít chuyển tuyển nhí
Do 46, vin đ đi A e thuật toàn hiệu quá dễ các wcbsile có thể ứng dụng và phục vụ cho các đối tượng khá pe nh ra, kết quả nhận được không những trong thời gian ngắn nhất mã còn p
Đồ thị là một mô hình biểu diễn chặt chế và tổng quát bằng ngôn ngữ ký hiệu và giáp việc biểu diễn thuật toán trở nên rõ rằng hơn Với lý do đó, hệ được thể hiện dưới dạng đồ thị có hướng G = (V, E), Trong đố, V là tập đỉnh đại diện cho
«ie trạm còn Fl tip cung, mỗi dây ác cung liên iếp đại điện cho nột tuyển xe với mỗi
‘cung được tạo bởi 2 trạm kể nhau trên tuyến xe đó
Bài (odin tim kiếm tối ưa lộ trình xe buýt có (hể được phái biểu một cách hình thứ như sau: "Cho một bản đỗ các tuyển xe bujt được biểu điễn dưới dạng một đỗ thị có sướng có trọng số G = (V,E), danh sách các tuyển xe buỷt được biểu diễn dưới dạng các đường di trên đỗ thị này và s, t € V là trạm bắt đầu, trạm kết thúc Hãy tìm một lộ trình xe buýt từ s đẫn ¡lỗi ưru theo một trong các tiêu chí: độ dài ngắn nhất, chuyển í" tuyển nhất, chuyển ít tuyển và ngắn nhất”
`Ví dụ: Xét bản đỗ xe buýt được biểu diễn dưới dang đồ thị sau:
Trang 8~ Tuyén2: 1034510
Tuyến 3:5 64%
Tuyển 4: 178964 5 101
Khi đỏ, nếu trạm xuất phát là I vã trạm kết thúc là 6 thỉ:
~_ Đường đi ngắn nhất là tt SE: 3810039900829
- ree tuyển nhất là: 78 9 6 (Tuyến 1)
mg di yến và ng hit 1 7896 (Tuyển) với độ dã 300
INITIAL; (ei tao dé tượng nút canh
11:= FibonacciHeap() / khai báo Fibonacei Heap
Hinsert(s) chin s vio H
LL
Trang 9Cho d thi G = (V, E) có trọng số như hình vẽ
"Mình 2 1 ~ ĐỒ thị là mô hình hóa cña mạng lưới giao thông xe buýt
‘Yeu clu đặt ra là tìm lộ trình đi ngắn nhất từ đỉnh số 1 đến định số 6 Các bước thực hiện thuật toán
Bước khởi tạo
“Thực hiện xây đựng các đổi tượng nút(node), cạnh(edge) của Fibonacci Heap Khai bio Fibonacci Heap là H
in nhãn cho các node như sau:
« d1}=0
+ đ[2]~ đ[3]= d4}= đ[5]= d6] = đ[7] = đỊ8] = d[9] = đị10] =œ CChèn đỉnh xuất phát vào Fibonacci Heap.Nghĩa là: H-insert(1) Khi đó H = {1 }
Trang 14
Hình 2 10 ~ Thực hiện thao tác extract Min tré
Duyệt tắt cả các đỉnh kề định số 8 và giảm khóa
30 d5 sơ
Trang 16
Đayệt tắt cả các định kể định số 10 và giảm khóa
Cac dinh 1 va 3 đã được duyệt và đã gắn nhãn nên ta kiểm tra điểu kiện để có thể iim khóa hay không
Trang 19Khi mà I ng thì thuật toán kết thúc
Như vậy ta tìm thấy được đường đi ngắn nhất từ 1 đến 6 là 1~2~3~4~5~6 với chỉ phí là 270
Đánh giá độ phức tạp
“Công thức để đãnh giá độ phúc tạp của thuật toắn tìm đường đi n dụng thuật toán Dijkstra
Toasa =O(m.Tpese«o{D) * R.T„e + R-Tges-we)
Việc sử dụng thuật toán Dijksra kết hợp với cấu trúc Fibonacci Heap thời gian thực thì các thao tác:
Trang 2013.1 Mô tả
'Kết quả của thuật toán này là lộ trình ¡đáp ứng tiêu chí ít phải hay đỗi tuyến nhất Dễ
te hiện được iu này, ta sẽ chuyển đổ thị đang sử dụng sang một đồ thị có hướng ) với tập cạnh E, được định nghĩa như sau: Vu, v € V, (u,v) € By, néu tir uw e6
tử vi don 1 tuyển xe buyt (u va v nằm trên cũng một tuyển xe buýt)
Để thuận tiện cho việc áp đụng thuật toán, chúng ta lưu trữ các giá trị đại điện cho chiều đải ngắn nhất giữa mọi cập đính trong đỗ thị G¡ Để tìm ra giá trị này, ta dp dung thuật toán Floyd-WarshalL
1.3.2 Thuật toán Floyd-Warshall
Cho đơn đồ thị với n định và m cạnh Với u và v là 2 đỉnh bắt kỷ của đồ thị, bài toán đặt ra là cần tính tắt cả các dịu, v) là khoảng cách từ u tới v Giả sử đồ thị G được cải đặt dưới dạng ma trận trọng số A, thuật toán Floy Wardshall trả về kết quả là ma trận trọng số
D[u, v] = min(D[u, v], Dfu, k] + DỊk, v])
D6 phize tạp tỉnh toán (độ phức tạp thời gian) của thuật toán Floy Wardshall
Trang 21Hình 2 22 ~ Mô hình hóa các tuyến xe
"Từ đó ta có ma trận kể A
Trang 22Kết quả nhận được là ma trận trọng số D, trong đó DỊi|Ú] là số tuyến ít nhất đi từ ¡ taj
011122233
010122233
111022233 p-|212201122
Vy = (lve Kad(st)=d(sv) +d) vi
Ey = (spony) ang eM Ad(s.y) +1 = d(s.v)}
1.3.4 Thuật toán tìm kiếm theo chiều sâu
Ta sẽ bắt đầu tìm kiếm tử định s của đồ thị Sau đó chọn v là một đính kẻ tùy ý với s
và lập lại quá trình đối với v Ở bước tổng quát, giá sử ta đang xét định v Nếu như trong,
Trang 23thành đã xét) và bắt đầu tử nó ta sẽ tiếp tục quá trinh tìm kiểm Còn nếu như không còn định nào kề với v là chưa xết thì ta sẽ nói rằng đỉnh này là đã duyệt xong và quay trở lại tiếp tục tìm kiểm từ đỉnh mã trước đó ta đến đi y (nếu v = s thi kết thúc tìm kiếm) 'Có thể nói nôm na là tìm theo chiều sâu bắt đầu từ đỉnh v được thực hi theo chiều sâu từ tắt cả các đỉnh chưa xét kể với v, Quá trình này có thể mô tả bởi thủ tục
để quy sau đây:
(* Tìm kiếm theo chiều sâu bắt đầu từ đỉnh v;
Cac bign Chuaxet, Ke là biến toàn cục
~_ Trong trường hợp biểu diễn đồ thị bằng danh sách kể, thuật toán DFS có độ phức tạp tính toán là O(n + m) = O(max(n, m)) Đây la cách cải đặt tốt nhất
2
Trang 24hợp này là O( + ø”)= O0)
~_ Nếu đỗ thị được biểu điễn bằng danh sách cạnh, thao tác duyệt những định
kể với định u sẽ dẫn tới việc phải duyệt qua toàn bộ danh sách cạnh đây là
ï đặt tôi nhất, nó có độ phức tập tính toán lã O(n.m) toán tìm kiếm lộ trình ít tuyến nhất
Tư tưởng chính của thuật toán ng là tìm kiếm theo chiều sâu trên miễn giá trị của
đỗ thị Nó được mô tả chỉ tiết như
~_ Đữ liệu ra: Danh sách đinh theo thứ tự là (s,m,,m, m,/), NEZ, m20 Với mụ„mạ, m„ €
~_ Mã giả: Quá trình này có hể mô tả bởi thì tục đệ quy sau đây: Proeedure DPIMS(v): 7
Tìm kiểm theo chiều sâu bắt đầu tử đỉnh vị
Các bién d, KetQua, Ke 1 biển toàn cục
Trang 25(* Nếu không tổn tại đường đi từ s đến t thì dừng,
Ngược lại thì thực hiện tìm kiếm
%
if dfs, t)= 0 then break
else
DisPlus(v);
— Độ phức tạp tính toán (độ phức tạp thời gian): của thuật toán nảy tương
đương với độ phức tạp của thuật toán tìm kiếm theo chiều sâu lä O(n + m) = O(max(n, m) trong trường hợp cài đặt đồ thị ở dạng danh sách kể
Trang 26Lượt đi: Lượt về
Tuyển: 6-4-5 5-6 Tuyén4: 1-7-5 5=10-1 Tuyến 5: T-8-9-6
Tựa vào thông tin tuyển trên, ta có th sau:
'Hình 2 24 ~ Đề thị biểu diễn thông tin tuyển Trong đó, ma trận kề của đỗ thị trên có dạng sau
Trang 27Sau khi thực hiện thuật tìm số tuyến ít nhất giữa 2 trạm bắt ky, ta có ma trin sau:
`2 nghĩa là cần đi qua ít nhất cđến trạm 6 (qua | tram trung gian)
Trang 281.4.1 Mô tả
tết quả của thuật oán này là lộ tình đáp ứng tig chí t phải thay đổi tuyển nhất và
là lội gái ngắn nhất trong số các lộ trình ít phải thay đổi tuyến nhất
“Thuật toán tìm lộ trình ít tuyển và ngắn nhất (ừ s đến t) hoạt động với dữ liệu vào là
đỗ thị có hướng giống như đồ thị G; nhưng có bổ sung trọng số cho mỗi cung và dữ liệu
VỀ chiều đãi cần thiết để đi qua 2 đình bắt kỳ
Miền giá trị khi thực hiện thuật toán này cũng giống như miền giá trị khi thực hiện tìm lộ trình ít tuyển nhất Miền giá trị này có dạng dé thi có hướng không chu trình 1.4.2 Đồ thị có hướng không chu trình (Directed Acyclic Graph ~ DAG) Đây là đồ thị mà trong đó không chứa chu trình Trong đồ thị có hướng không chu trình luôn tồn tại ít nhất 1 thứ tự sắp xếp Tô pô (Topological Sorting) Điều này thể hiện trong định lý sau:
Giả sử G là đồ thị không có chu trình Khi đó các đỉnh của nó có thể đánh số sao cho mỗi cung của đồ thị chỉ hưởng từ đỉnh cỏ chỉ số nhỏ hơn đến đỉnh có chỉ số lớn hơn, nghĩa là mỗi cung của nó có thể biểu din đưới dạng
(vim) sarong 45 1<j
'Để đánh số lại các đỉnh theo điều kiện trên, ta có thể dùng thuật toán tìm kiếm theo chiều sâu và đánh số ngược lại với thứ tự duyệt xong Công việc nảy được miều tả trong, đoạn mi pascal nhu sau: