1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Lý thuyết đồ thị - Phần 3 docx

9 307 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 9
Dung lượng 399,5 KB

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

Nội dung

Tìm đường đi ngắn nhất... Đồ thị vô hướng có hướng G=V,E được gọi là đồ thị có trọng số nếu mỗi cạnh cung e∈E được đặt tương ứng với một số thực we.. Số thực we được gọi là trọng số của

Trang 1

3.3 Đường đi trong đồ thị

3.3.1 Định nghiã đường đi.

3.3.2 Tính liên thông.

3.3.3 Chu trình Euler và đường đi Euler.

3.3.4 Tìm đường đi ngắn nhất.

Trang 2

 Đồ thị có trọng số

 Định nghĩa 1.

Đồ thị vô hướng (có hướng) G=(V,E) được gọi là đồ thị có trọng

số nếu mỗi cạnh (cung) e∈E được đặt tương ứng với một số thực w(e) Số thực w(e) được gọi là trọng số của cạnh (cung) e

 Định nghĩa 2.

Ma trận trọng số của đơn đồ thị G =(V,E) là ma trận W=[wi,k] trong đó

wi,k là trọng số của cạnh (cung) nối đỉnh thứ i với đỉnh thứ k (nếu có);

w =∞ nếu không có cạnh (cung) nối đỉnh thứ i với đỉnh thứ

3.3.4 Tìm đường đi ngắn nhất

Trang 3

 Theo định nghiã trên:

 các phần tử của ma trận trọng só có thể là các số âm

 Một đơn đồ thị bất kỳ cũng có thể xem là đồ thị có trọng số nếu mỗi cạnh (cung) đều gắn trọng số là 1 (như định nghĩa đường đi độ dài 1 trong mục trước) và khi đó ma trận trọng số chính là ma trận 0-1

 Ví dụ:

 xét một mạng hàng không, khi đó mạng này có thể coi là các

đồ thị có trọng số với các kiểu trọng số sau đây:

 Độ dài cung đường bay

 Giá cước vận chuyển cho một đơn vị vận chuyển

 thời gian thực hiện chuyến bay giữa hai sân bay

3.3.4 Tìm đường đi ngắn nhất

Trang 4

Ma trận trọng số của đồ thị trên là

Ví dụ:

= 20 11 0 13 22 0

24 0 18 11 0 15

14 20 0 20 15 0

3.3.4 Tìm đường đi ngắn nhất

Trang 5

 Bài toán được đặt ra là:

 tìm đường đi ngắn nhất trong đồ thị có trọng số G =(V,E) từ

đỉnh x đến đỉnh y cho trước.

 Ý tưởng giải thuật là:

 ta sẽ lần lượt duyệt và xác định độ dài của đường đi ngắn nhất từ đỉnh x đến các đỉnh lân cận, cho đến khi đỉnh đích y được duyệt

 Ở mỗi bước duyệt, mỗi đỉnh v sẽ được gắn nhãn, là cặp (l(v);t(v)) trong đó:

 l(v) là độ dài của đường đi tìm được từ đỉnh đầu x đến đỉnh v cho đến thời điểm đang xét;

 t(v) là đỉnh trước đỉnh v trong đường đi đó

3.3.4 Tìm đường đi ngắn nhất

Trang 6

 Từ đó ta có thuật toán sau đây Dijkstra (Hà lan-1930-2002):

 Bước khởi đầu:

Với mọi đỉnh v ∈ V,

l(v):= ∞ ; t(v):=‘’;

L(x):=0; {độ dài đường đi từ x đến x bằng 0}

S:= ∅ ; {S là tập đỉnh đã được duyệt}

 Bước lặp:

Khi y ∉ S thực hiện:

Tìm u trong tập các đỉnh chưa được duyệt (u ∈ V\S) sao cho l(u) bé nhất; S:=S ∪ {u};

Với mọi đỉnh v thuộc tập các đỉnh chưa được duyệt và có cạnh (cung) từ u đến v, thực hiện

Nếu l(u) + wuv < l(v) thì

l(v):= l(u) + wuv ; t(v):=u;

3.3.4 Tìm đường đi ngắn nhất

Trang 7

 Ví dụ:

Tìm đường đi ngắn nhất từ A1 đến

A4

3.3.4 Tìm đường đi ngắn nhất

Bước khởi đầu

A1

0 A2

∞ A3∞ A4∞ A5∞ A6∞

Bước 1

Bước 2

A 6 0 15,A1 20,A1 35,A6 20,A1 14, A1

Bước 3

A 2 0 15,A1 20,A1 33,A2 20,A1 14, A1

Bước 4

A 3 0 15,A1 20,A1 33,A2 20,A1 14, A1

Bước 5

A 5 0 15,A1 20,A1 33,A2 20,A1 14, A1

Bước 6

Trang 8

 Giới thiệu chương trình

3.3.4 Tìm đường đi ngắn nhất

1

2

3

4

5

6

7 8

9

1

2

3

4

5

6

Trang 9

3.3.4 Tìm đường đi ngắn nhất

Edsger Wybe Dijkstra

 (sinh ngày 11 tháng 5, 1930 tại Rotterdam

– mất ngày 6 tháng 8, 2002 tại Nuenen)

 Là nhà khoa học máy tính Hà Lan

 Ông được nhận giải thưởng Turing cho các

đóng góp có tính chất nền tảng trong lĩnh

vực ngôn ngữ lập trình

 Không lâu trước khi chết, ông đã được

nhận giải Bài báo ảnh hưởng lớn trong lĩnh

vực tính toán phân tán của ACM dành cho

bài báo đã khởi đầu cho ngành con

Self-stabilization

 Sau khi ông qua đời, giải thưởng thường

niên này đã được đổi tên thành giải thưởng

(ảnh của Brian Randell)

Ngày đăng: 02/07/2014, 23:20

TỪ KHÓA LIÊN QUAN

w