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

Báo cáo khoa học: "Kỹ thuật tìm đ-ờng đi ngắn nhất trên bản đồ" pdf

7 461 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 201,46 KB

Nội dung

lưu văn giang Trung tâm biên tập vμ công nghệ cao Nhμ xuất bản Bản đồ Tóm tắt: Bμi báo nói về kỹ thuật tìm đường đi có độ dμi ngắn nhất của hai điểm bất kỳ trên bản đồ vμ đề xuất một

Trang 1

Kỹ thuật tìm đường đi ngắn nhất

trên bản đồ

KS lưu văn giang

Trung tâm biên tập vμ công nghệ cao Nhμ xuất bản Bản đồ

Tóm tắt: Bμi báo nói về kỹ thuật tìm đường đi có độ dμi ngắn nhất của hai điểm bất kỳ

trên bản đồ vμ đề xuất một số ứng dụng kỹ thuật nμy trong thực tế

Summary: In this paper we consider the details of the routing algorith (the shortest path

on the graph) and some applications from the result in the practice

i đặt vấn đề

Trong một số trường hợp sử dụng bản đồ để tra cứu đường đi tới điểm nào đó thường xuất hiện câu hỏi làm thế nào để xác định đường đi đến đó là ngắn nhất? Trong phạm vi hẹp hoặc mạng lưới giao thông đơn giản ít đường đi thì có thể tìm ngay được câu trả lời Hầu hết các trường hợp còn lại là khó khăn Vấn đề đặt ra là cần xây dựng cơ sở kỹ thuật tìm đường đi ngắn nhất giữa hai điểm xác định trên bản đồ trong thời gian nhỏ nhất đáp ứng ngay yêu cầu sử dụng

ii cơ sở của kỹ thuật tìm đường đi ngắn nhất trên bản đồ

Phát biểu bài toán: Cho hai điểm bất kì trên bản đồ Hãy chỉ ra đường đi có độ dài ngắn nhất giữa hai điểm đó trên cơ sở hệ thống giao thông của bản đồ

1 Cơ sở toán học giải bài toán

Cơ sở toán học của vấn đề này thực ra đã được toán học giải quyết từ rất lâu Có rất nhiều phương pháp khác nhau, trong bài này giới thiệu kỹ thuật tìm đường đi ngắn nhất dựa trên lý thuyết toán đồ thị Phương pháp này có nhiều ưu điểm hơn khi áp dụng trong các bản đồ số bởi vì các bản đồ số dạng véc tơ đều xây dựng trên cơ sở lý thuyết đồ thị

V là tập đỉnh

E là tập cạnh

C{u,v} là ma trận trọng số

u,v ∈ V

(xem hình vẽ 1)

Trang 2

0 1 4

0 4

1 2 0

5 0 2

3 2 0

1 0

6 5 4 3 2 1

6 5 4 3 2 1

5

5 4

2

1 3

2 1

4 1

2

Hình 1.

Tất cả các thuật toán tìm đường đi ngắn nhất trên đồ thị đều dựa trên một tính chất “Mọi

đường con của đường đi ngắn nhất cũng là đường đi ngắn nhất” Giả sử tìm đường đi ngắn nhất

từ đỉnh s tới đỉnh t, s, t ∈ V người ta luôn tìm được đỉnh v trước t sao cho khoảng cách từ s đến t

sẽ bằng (d(s,t) = d(s,v) + c(v,t) Đỉnh v sẽ là trước t ngắn nhất: Mọi đoạn sẽ từng bước kiến thiết một cây đường đi “ngắn nhất”, có gốc tại nút nguồn hay còn gọi nút khởi đầu cho tới khi nút cuối cùng trong đồ thị đã được đưa vào ở bước thứ k các con đường “ngắn” nhất tới k nút gần nguồn nhất sẽ được tính Các nút đó được định nghĩa thuộc một tập N Có thể kể ra các thuật toán tiêu biểu như Dijkstra, ford - Bellman, hoặc thuật toán Floyd v.v Dưới đây trình bày thuật toán Dijkstra để minh họa cho cách giải bài toán này

- Thuật toán Dijkstra

Giả sử nút 1 là nút nguồn Để tìm các con đường ngắn nhất từ nút 1 tới các nút còn lại của đồ thị

ta bắt đầu duyệt đồ thị tại đỉnh 1 cho độ dài đỉnh 1 tới 1 là 0, xét tới hai đỉnh kề liên thông với 1

Độ dài đường đi được cộng liên tiếp sau một bước tính nếu tổng độ dài ngắn nhất được đưa vào tập N:

Bước 0 (khởi động)

N0 = {1}

= C(1,v) v ∉ N

Bước k (tính vμ cập nhật)

∪ {u}

Nk = Nk-1

(v), v ≠ N (u) = minD

Dk(v) = min[D (v), D (u) + C(u,v)] k-1 k-1

v ≠ Nk

Thuật toán dừng lại khi tất cả các nút đã nằm trong N Kết quả giải thuật cho phép tìm

đường đi ngắn nhất từ một đỉnh cho trước tới tất cả đỉnh còn lại

Chẳng hạn với đồ thị hình 1 chọn điểm xuất phát là đỉnh 1 Thuật toán Dijkstra sẽ chỉ ra

đường đi ngắn nhất xuất phát từ đỉnh 1 tới đỉnh còn lại

Trang 3

Kết quả thể hiện hình 2a đường đi ngắn nhất được tô đậm

1

1

1 2 2

3

5 2 1

3

6

5

5 4

2

1 3

2 1

4 1

2

1

1

1

2 2

2

3

3

5

10 2

1

3

6

Hình 2

Trong trường hợp đồ thị là vô hướng cách tính cũng tương tự Trong trường hợp này trọng

số được tính cho cả hai chiều chẳng hạn ta cho đồ thị hình 2b sau, trọng số tính được cả hai chiều nút khởi đầu tại 1 Kết quả thể hiện hình 2c đường đi ngắn nhất được tô đậm

Nhận xét:

- Người ta đã chứng minh rằng thuật toán Dijkstra tìm được đường đi ngắn nhất trên đồ thị

tính toán sẽ rất hạn chế

- Nếu ta áp dụng lần lượt n đỉnh ta sẽ tìm được đường đi ngắn nhất ở bất kỳ cặp đỉnh nào Trong trường hợp này người ta còn dùng thuật toán Ford – Bellman hoặc thuật toán Floyd Chi tiết các thuật toán này có thể xem thêm trong lý thuyết toán đồ thị Độ phức tạp của các thuật toán này cỡ O(n3), O(n4)

2 Xây dựng kỹ thuật tìm kiếm đường đi ngắn nhất trên bản đồ

Trong bài toán này cần giải quyết hai vấn đề:

- Xây dựng mô hình đồ thị để áp dụng

- Chỉ ra đường đi thực tế trên bản đồ

- Khắc phục độ phức tạp của bài toán

2.1 Xây dựng mô hình đồ thị

Trong lý thuyết bản đồ số mọi đối tượng đồ họa trong bản đồ đều quy về ba đối tượng cơ bản là: điểm, đường, vùng (point, polyline, polygon) chúng được lưu trữ và biểu thị theo lý thuyết

đồ thị Mối quan hệ giữa ba đối tượng này đã được phân tích định nghĩa trong lý thuyết bản đồ

số ở đây nêu lại khái niệm segment có liên quan tới bài toán

- Một đoạn đường độc lập (không rẽ nhánh) được gọi segment (tạm dịch phân đoạn) tương

đương với đường đi độ dài của đồ thị với điều kiện các đỉnh có bậc không vượt quá 2 (bậc của

đỉnh là số cạnh nối các đỉnh kề) Trong một segment luôn tồn tại một điểm đầu và điểm cuối

a

b

c

d e g

f

i

j

h m

n

Hình 3 dưới đây là cấu trúc véc tơ

của một đoạn đường giao thông cùng

loại cùng lớp (a,b,c,d,e), (e,j,h,m) được

gọi là một segment

Đồ thị G ={V,E} đươc lập như sau:

Hình 3.

Trang 4

Tập đỉnh V∈G tạo bởi những điểm giao nhau của hệ thống giao thông Tức là nó sẽ là các ngã ba, ngã tư trên bản đồ

Tập cạnh E ∈ G tạo bởi cặp đỉnh có đường giao thông đi qua

Ma trận trọng số {cij} được xác lập theo công thức:

=

+

ư

n

1 k

2 1 k k 2 1 k

x (

C =S =ij ij

là chiều dài đại số của một segment

Sij

xk, yk là các giá trị tọa độ phẳng của véc tơ thứ k thuộc segment S

= ∞

Hình vẽ sau mô tả một đoạn giao thông đô thị dùng tạo lập ra đồ thị G, chiều đi đường giao thông chính là hướng của đồ thị (hình 4) Giả thiết các trọng số cho như hình 4

5

5 4

2

1

3

2 1

4 1

2

2

1

4

6

5 3

Hình 4

Hai điểm bất kỳ được chọn trên bản đồ chẳng hạn là S, T khi đó xảy ra hai trường hợp:

- S,T ∈ V thì bài toán tìm đường đi ngắn nhất trên bản đồ giống như bài toán cơ bản đã nêu trên

- S,T∉V

Trong trường hợp này xét bài toán bổ sung là cho một điểm S(x,y) tìm tại lân cận S một

đỉnh u ∈ V; V ∈ G sao cho khoảng cách S → u là ngắn nhất Sau khi có u xét tất cả cạnh qua u với điều kiện khoảng cách từ S đến các cạnh qua u nhỏ nhất tìm ra S’ (hình 5b) Tương tự như vậy với điểm T tìm ra đỉnh v và T’ Như vậy bài toán sẽ được đưa về bài toán cơ bản ở trên Khoảng cách ngắn nhất giữa hai điểm S,T sẽ là d(sT) = d(ss’) + d(s’u) + d(uv) + d(vv’) + d(v’T) (hình 5)

5

5 4

2

1

3

2 1

4

1

2

T

T' s'

s s'

u

Hình 5.

2.2 Khắc phục độ phức tạp tính toán

Trang 5

Để giảm độ phức tạp tính toán tức là làm giảm thời gian tìm ra kết quả của bài toán Trong trường hợp cụ thể áp dụng trên bản đồ nhận thấy mạng lưới giao thông là cố định hay đồ thị G

đã cho là cố định vì vậy có thể tính trước mọi khả năng có thể hay tìm đường đi cho cặp đỉnh bất

kỳ sau đó lập bảng tra Khi tình huống yêu cầu thì không phải tính nữa mà chỉ cần tra kết quả Chiến lược thứ 2 làm giảm độ phức tạp bài toán tức là làm cho đồ thị G có số đỉnh phù hợp Trong trường hợp này người ta chia đồ thị G có số đỉnh lớn ra nhiều đồ thị con có số đỉnh nhỏ hơn Với bài toán cụ thể ở hình 4, áp dụng thuật giải trên triển khai dạng bảng có kết quả sau:

0,1 1,1*

5

3,2* 4,2*

4,3*

5 Tiếp tục cho đến hết ta có kết quả sau dạng cây khung sau:

2

5

3

4

1

6

s

s

s s

s

s

Hình 6

Cuối cùng ta lập được bảng tra sẵn cho cặp đỉnh bất kỳ lưu lại dưới dạng file số liệu:

Đỉnh 1 Đỉnh 2 Đỉnh 3 Đỉnh 4 Đỉnh 5 Đỉnh 6

Đỉnh1 0 1,2 1,2,3 1,2,4 1,2,4,6,5 1,2,4,6

Đỉnh3 3,1 3,1,2 0 3,1,2,4 3,1,2,4,5 3,1,2,4,6

Đỉnh4 4,5,3,1 4,5,3,1,2 4,5,3 0 4,5 4,6

Đỉnh5 5,3,1 5,3,1,2 5,3 5,3,4 0 5,3,4,6

Trang 6

Đỉnh6 6,5,3,1 6,5,3,1,2 6,5,3 6,5,3,4 6,5 0

- Khi số điểm quá lớn tiến hành chia đồ thị lớn

thành các đồ thị con sao cho số đỉnh chung nhau

là nhỏ nhất Trong một số trường hợp chỉ ra một

đỉnh nào đấy làm đỉnh chung

Nếu hai điểm đưa vào xét thuộc một đồ thị

con Gi bài toán về dạng cơ bản đã xét ở trên

Nếu hai điểm đưa vào xét thuộc hai đồ thị

khác nhau khi đó coi các đồ thị con và các đỉnh

chung đã phân tích ở trên như đỉnh của đồ thị mới (hình 8)

đồ thị này cũng được thiết kế từ trước, trọng số được tính

lại theo các trường hợp cụ thể Bài toán chia thành hai bài

toán con

G1 G2 G3

Hình 7

v1

v3

v2

v4

v5

v6

G3

G4

- Tìm đường đi ngắn nhất giữa các đồ thị con theo mô

hình tổng thể (hình 8) kết quả chỉ ra các đỉnh chung và tập

đỉnh là các đồ thị con

- Tìm đường đi ngắn nhất lần lượt của tất cả cặp trong

các đồ thị thành phần và các đỉnh chung kề nhau của đồ

- Cả hai bài toán này đều có thể tính trước và lập bảng tra như đã trình bày ở trên như vậy bài toán lặp lại cách giải như đã trình bày

2.3 Chỉ ra đường đi

Kỹ thuật này rất đơn giản, tập cạnh đồ thị G đã biết thiết lập mối liên kết với các segment thiết lập nên cạnh đó Khi đã xác định các đỉnh chứa đường đi ngắn nhất tức là xác định được các segment gọi lại thủ tục vẽ các véc tơ của segment đó tức là đã vẽ đồ họa lại chính con

đường đó trong hệ giao thông của bản đồ (bài toán đang xét trong bản đồ số và ứng dụng sự trợ giúp tính toán của máy tính)

III Kết luận

Thuật toán đã trình bày ở trên không phải là duy nhất mà còn rất nhiều thuật toán khác nhau trong chiến lược tìm đường đi ngắn nhất Vì vậy việc giới thiệu mang tính chất tham khảo, tùy từng trường hợp cụ thể mà áp dụng Có thể kể ra một số ứng dụng kỹ thuật tìm đường đi ngắn nhất như:

- Dịch vụ chỉ dẫn đường đi qua mạng điện thoại cố định hoặc di động Tại tổng đài cài đặt sẵn máy tính có ứng dụng trên khi đó sẽ sẵn sàng trả lời khi có yêu cầu

- Trợ giúp cho các phương án tác chiến quân sự, an ninh, phòng cháy chữa cháy

- Các ứng dụng trên có thể phát triển thêm các điều kiện là phương tiện đi là khác nhau như ô tô, xe máy, hay một phương tiện nào đó v.v khi đó chỉ thay các mô hình đồ thị Và thực

tế sinh ra nhiều ứng dụng khác nữa

Tài liệu tham khảo

Trang 7

[1] Nguyễn Đức Nghĩa, Nguyễn Tô Thμnh Toán rời rạc Nhà xuất bản Đại học quốc gia Hà nội, 2003 [2] TS Vũ Bích Vân Bản đồ học điện toán Giáo trình cao học ngành bản đồ Hà nội, 2000

Ngày đăng: 06/08/2014, 05:21

HÌNH ẢNH LIÊN QUAN

Hình 3 d−ới đây là cấu trúc véc tơ - Báo cáo khoa học: "Kỹ thuật tìm đ-ờng đi ngắn nhất trên bản đồ" pdf
Hình 3 d−ới đây là cấu trúc véc tơ (Trang 3)
Đồ thị G ={V,E} đ−ơc lập nh− sau: - Báo cáo khoa học: "Kỹ thuật tìm đ-ờng đi ngắn nhất trên bản đồ" pdf
th ị G ={V,E} đ−ơc lập nh− sau: (Trang 3)
Hình vẽ sau mô tả một đoạn giao thông đô thị dùng tạo lập ra đồ thị G, chiều đi đường giao  thông chính là hướng của đồ thị (hình 4) - Báo cáo khoa học: "Kỹ thuật tìm đ-ờng đi ngắn nhất trên bản đồ" pdf
Hình v ẽ sau mô tả một đoạn giao thông đô thị dùng tạo lập ra đồ thị G, chiều đi đường giao thông chính là hướng của đồ thị (hình 4) (Trang 4)
Đồ thị này cũng được thiết kế từ trước, trọng số được tính - Báo cáo khoa học: "Kỹ thuật tìm đ-ờng đi ngắn nhất trên bản đồ" pdf
th ị này cũng được thiết kế từ trước, trọng số được tính (Trang 6)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w