1. Trang chủ
  2. » Cao đẳng - Đại học

Bài giảng toán rời rạc chương 4 lý thuyết đồ thị

91 1,9K 1

Đ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

Tiêu đề Lý thuyết đồ thị
Chuyên ngành Toán rời rạc
Thể loại Bài giảng
Định dạng
Số trang 91
Dung lượng 380,83 KB

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

Nội dung

 Đồ thị liên thông là đồ thị mà mọi cặp đỉnh củanó đều có đường đi nối chúng với nhau... Ma trận liên thuộc của đồ thị G là ma trận 1 aij nếu đỉnh vi là đỉnh đầu của cung ej nếu đỉnh vi

Trang 1

Chương 4:

Trang 3

4.I MỞ ĐẦU

Bài toán về những cây cầu ở Konigsber

Năm 1736 Euler, cha đẻ của lý thuyết đồ thị, đã giải

được bài toán hóc búa nổi tiếng thời đó về những câycầu ở Konigberg

Thành phố Konigberg có hai hòn đảo nối với nhau vàvới 2 bờ sông bằng 7 chiếc cầu như hình vẽ

Trang 4

Tìm đường đi qua tất cả 7 cây cầu, mỗi cây cầu chỉ được đi qua một lần, sau đó quay về nơi xuất phát

Trang 5

4.2 CÁC KHÁI NIỆM CƠ BẢN 4.2.1 Đồ thị, đỉnh, cạnh, cung:

Trang 6

4.2 CÁC KHÁI NIỆM CƠ BẢN

Trang 7

 Cho đồ thị G = (V, E) Cạnh e  E liên kết đỉnh v

và w, ta nói e liên thuộcc đỉnh v, w; đỉnh v và w gọi

Trang 8

Đồ thị hữu hạn: là đồ thị có số cạnh (cung) hữu hạn.

Đồ thị đơn: là đồ thị không có khuyên và không cócạnh song song

Đồ thị đầy đủ: là đồ thị mà mọi cặp đỉnh đều kề nhau

Bậc của đỉnh vV là tổng số cạnh liên thuộc với nó,

kí hiệu d(v) Mỗi khuyên được tính cho 2 bậc

Trang 9

 Đỉnh treo: là đỉnh có bậc bằng 1.

Nửa bậc: Cho đồ thị có hướng G = (V, E)

+ Nửa bậc ra của đỉnh vV, kí hiệu dr(v) là

số cung đi ra từ đỉnh v

+ Nửa bậc vào của đỉnh vV, kí hiệu dv(v)

là số cung đi vào đỉnh v

4.2 CÁC KHÁI NIỆM CƠ BẢN

Đỉnh cô lập có bậc bằng 0

Trang 10

Cho đồ thị G = (V, E) Khi đó:

Trang 12

4.2.2 Đường đi, chu trình, tính liên thông

Đường đi  từ đỉnh v đến đỉnh w là dãy các cạnh nốitiếp nhau bắt đầu từ đỉnh v và kết thúc tại đỉnh w

Số cạnh trên đường đi  là độ dài của đường đi 

Đường đi  có độ dài n từ đỉnh v đến đỉnh w được biểudiễn như sau:

 = (v, e 1 , v 1 , e 2 , v 2 , …, v n-1 , e n , w)

Trong đó: vi (i = 1, …, n-1) là các đỉnh trên đường đi

và ei (i = 1, …, n) là các cạnh trên đường đi liên

Trang 13

Chu trình đơn là chu trình không đi qua một cạnh quá một lần.

Đường đi sơ cấp là đường đi không đi qua một đỉnh quá một lần.

Chu trình sơ cấp là chu trình không đi qua một đỉnh quá một lần.

Chu trình là đường đi có đỉnh đầu và đỉnh cuối

trùng nhau

Đường đi đơn là đường đi không đi qua một cạnh

quá một lần.

Trang 14

Đường đi có hướng trong đồ thị có hướng là dãy cáccung nối tiếp nhau (e1, e2, …, en) thỏa mãn đỉnh cuối củacung ei là đỉnh đầu của cung ei+1, i = 1, …, n-1.

Đường đi đơn (chu trình đơn) có hướng là đường đi(chu trình) có hướng không đi qua một cung quá một

Trang 15

ba

Trang 16

Đồ thị liên thông là đồ thị mà mọi cặp đỉnh của

nó đều có đường đi nối chúng với nhau

Đồ thị con:

Cho đồ thị G = (V, E) Đồ thị G’ = (G’, E’) là

đồ thị con của G nếu:

(i) V’ V và E’ E và

(ii) e = (v,w)  E: e  E’  v, w  V’

Thành phần liên thông:

Trang 17

4.2.3 BIỂU DIỄN ĐỒ THỊ TRÊN MÁY

Lưu ý mỗi khuyên được tính là 2 cạnh

Ma trận kề của đồ thị vô hướng luôn đối xứng qua đường chéo chính

Trang 18

0 0

0

v5

1 0

1 1

1

v4

0 1

2 1

0

v3

0 1

1 0

1

v2

0 1

0 1

,aa

)v(

Trang 19

 Đồ thị có hướng

Cho đồ thị có hướng G = (V, E) có n đỉnh theo thứ

tự v1, v2, …, vn

Ma trận kề của đồ thị G là ma trận vuông A = (aij)n, trong đó aij là số cung đi từ đỉnh vi đến vj

Trang 20

0 0

0 0

0 0

v6

1 0

0 0

0 0

v5

1 1

0 0

0 0

v4

0 0

1 0

0 0

v3

0 0

1 1

0 0

v2

0 0

0 1

1 0

Trang 21

1 j

ij i

n

1 j

ji i

Trang 22

aij nếu đỉnh vi liên thuộc cạnh ej

Trang 23

0 0

0 0

0

v5

0 1

1 0

1 1

0

v4

1 0

1 1

0 0

0

v3

0 0

0 1

1 0

1

v2

0 0

0 0

0 1

Trang 24

V v

, a )

v (

n

1 j

Trang 25

 Đồ thị có hướng

Cho đồ thị có hướng G = (V, E) có n đỉnh, V = {v1,

v2, …, vn}, m cạnh E = {e1, e2, …, em} và không cókhuyên

Ma trận liên thuộc của đồ thị G là ma trận

1

aij

nếu đỉnh vi là đỉnh đầu của cung ej

nếu đỉnh vi không kề cung ejnếu đỉnh vi là đỉnh cuối của cung ej

Trang 26

0 0

0 0

0 0

v5

0

1 0 0 0

e7

1 -1

0 0

0 0

0 v

0 1

-1 -1

0 0

0

v4

0 0

1 0

-1 -1

0

V3

0 0

0 1

1 0

-1

v2

0 0

0 0

0 1

Trang 28

Định nghĩa

Hai đồ thị gọi là đẳng cấu nhau nếu có sự tương ứng

1 – 1 giữa các đỉnh và các cạnh (cung) với nhau

Định lý

Cho G1 = (V1, E1), G2(V2, G2) là 2 đồ thị đẳng cấu Khi đó:

(i) G1, G2 có số cạnh và số đỉnh bằng nhau

(ii) Số đỉnh bậc k của G1 và G2 bằng nhau

(iii) Số chu trình đơn, sơ cấp có chiều dài k của G1

4.2.4 ĐỒ THỊ ĐẲNG CẤU

Trang 30

Ví dụ

Trang 31

b

c

de

1

2

34

5Đẳng cấuĐường đi: a, b, c, d, e

Tương ứng với đường

đi: 1, 2, 3, 4, 5

Tương ứng:

a-1, b-2, c-3, d-4, e-5

Trang 32

ĐỒ THỊ LƯỠNG PHÂN

Đồ thị lưỡng phân G = (V, E) là đồ thị mà tập cácđỉnh được phân làm 2 tập rời nhau V1, V2 sao chomỗi cạnh của đồ thị liên kết với 1 đỉnh thuộc V1

và 1 đỉnh thuộc V2

Kí hiệu:

G = ({V1, V2}, E)

Trang 33

Ví dụ

Trang 34

4.3 ĐỒ THỊ EULER

4.3.1 Định nghĩa

Cho đồ thị vô hướng G = (V, E)

Đường đi Euler là đường đi đơn qua mọi cạnh vàmọi đỉnh đồ thị

Chu trình Euler là chu trình đơn qua mọi cạnh vàmọi đỉnh đồ thị

Trang 38

4.3.1 Điều kiện cần và đủ để đồ thị có chu

trình và đường đi Euler

 Đồ thị G có đường đi Euler khi và chỉ khi G liên thông và có đúng 2 đỉnh bậc lẻ.

 Đồ thị G có chu trình Euler khi và chỉ khi G liên thông và mọi đỉnh đều có bậc chẵn khác 0.

Đồ thị vô hướng:

Trang 39

 Đồ thị có hướng G có chu trình có hướng Euler

khi và chỉ khi G liên thông mạnh và mọi đỉnh đều

có nửa bậc ra bằng nửa bậc vào.

Chú thích:

Đồ thị liên thông mạnh là đồ thị có hướng mà

mọi cặp đỉnh của nó đều có đường đi có hướng nốichúng với nhau

Đồ thị có hướng:

dv(v) = dr(v)

Trang 40

Các thuật toán tìm chu trình Euler

Đầu vào: Đồ thị G   , không có đỉnh cô lập

Đầu ra: Chu trình Euler C của G, hoặc kết luận G

không có chu trình Euler

Trang 41

 Nếu không tồn tại Ck thì kết luận không có chutrình Euler  Kết thúc

Loại khỏi H chu trình Ck Nếu H chứa các đỉnh cô

lập thì loại chúng ra khỏi H  sang bước 4.

Nếu H =  thì kết luận C là chu trình Euler  Kết thúc, ngược lại sang bước 5

(3)

(4)

Nếu H và C không có đỉnh chung thì kết luận không

có chu trình Euler

H và C có đỉnh chung Chọn v là đỉnh chung của H

và C Đặt k:= k+1 Quay lại bước 2.

(5)

Trang 42

Cho G là đồ thị Thanh mã tấu Mohammed

Trang 43

(1) Đặt H := G, k := 1, C := , v := f.

(2) Ta xây dựng chu trình C1 trong H:

C1 := (f,g,k,h,i,e,b,c,d,f)Đặt C := C  C1 = (f,g,k,h,i,e,b,c,d,f)

(3) Loại C1 ra khỏi H, ta được đồ thị H như sau

Trang 44

Các đỉnh c và k là các đỉnh cô lập, vì thế ta loại

chúng ra khỏi H

(5) Chọn đỉnh chung của H và C là v := f

Đặt k := k+1 = 2 Quay lại bước (2)

(2) Ta xây dựng chu trình C2 trong H:

C2 := (f,i,j,h,g,d,b,a,e,f)Nối C2 vào C ta được chu trình C sau

C := C  C2 = (f,g,k,h,i,e,b,c,d,f)  (f,i,j,h,g,d,b,a,e,f)

Trang 45

(3) Loại C2 ra khỏi H, ta được đồ thị H gồm toàn các

đỉnh cô lập Loại các đỉnh cô lập ta có H = 

(4) Vì H = , ta kết luận C là chu trình Euler, kết thúc

Trang 46

 Thuật toán 2 (Fleury)

+ Đầu vào Đồ thị G  , không có đỉnh cô lập

+ Đầu ra. Chu trình Euler C của G, hoặc kết luận G không có chu trình Euler

Trang 47

(3) Chọn cạnh đi tiếp:

- Trường hợp đỉnh v1 là đỉnh treo: Tồn tại duy nhấtđỉnh v2 kề v1 Chọn cạnh (v1, v2) Sang bước (4)

- Trường hợp đỉnh v1 không là đỉnh treo:

Nếu mọi cạnh liên thuộc v1 là cầu , thì không có chu

trình Euler, kết thúc

Ngược lại, chọn cạnh (v1, v2) bất kỳ không phải là

cầu trong H Thêm vào đường đi C đỉnh v2 Sang bước (4)

Trang 48

(4) Xoá cạnh vừa đi qua, và xoá đỉnh cô lập:

Loại khỏi H cạnh (v1, v2) Nếu H có đỉnh cô lập, thìloại chúng khỏi H

Đặt v1 := v2 Quay lại bước (2)

Chú thích:

Cạnh v gọi là cầu nếu bỏ cạnh đó thì đồ thị

không liên thông

Trang 50

4.4 ĐỒ THỊ HAMINTON4.4.1 Định nghĩa

Trang 52

4.4.3 Điều kiện đủ

Cho G là đơn đồ thị n đỉnh (n  3) Nếu:

Gv

,2

n)

v(

thì G có chu trình Hamintơn

Cho G là đơn đồ thị n đỉnh (n  3) Nếu:

Gv

,2

1

n)

v(

Định lí 1

Định lí 2

Trang 53

Định lí 3

Nếu G là đồ thị có hướng liên thông mạnh và:

Gv

,2

n)

v(d

&

2

n)

v(

thì G có chu trình có hướng Hamintơn

Trang 54

4.5 TÌM ĐƯỜNG ĐI NGẮN NHẤT

4.5.1 Đồ thị có trọng số:

Là đồ thị mà mỗi cạnh của nó được gán 1 số

Trong đồ thị có trọng số, độ dài trọng số của

đường đi  là tổng các trọng số trên đường đi đó

4.5.2 Phát biểu bài toán:

Cho đồ thị có trọng số G = (V, E) Tìm đường đi

Trang 55

4.5.3 Thuật toán Dijkstra:

Tìm đường đi ngắn nhất từ đỉnh a đến đỉnh z trong

đồ thị có trọng số Trọng số của cạnh (i,j) là w(i,j) > 0

và đỉnh x sẽ mang nhãn L(x) Khi kết thúc thuật giảiL(z) chính là chiều dài đường đi ngắn nhất từ a đến z

Đầu vào: Đồ thị liên thông G = (V, E) có trọng số

w(i, j) > 0 với mọi cạnh (i, j), đỉnh a và đỉnh z

Đầu ra: Chiều dài đường đi ngắn nhất và đường đingắn nhất

Trang 57

(4) Với mỗi x  T kề với v gán:

L(x)  min{L(x), L(v) + w(v, x)}

Nếu L(x) này thay đổi thì ghi nhớ đỉnh v cạnh x

để sau này xây dựng đường đi ngắn nhất

Quay về bước 2.

Trang 58

53

Trang 59

Phương pháp lập bảng ghi nhãn:

Ta lập bảng tính toán các nhãn gồm các cột ứngvới các đỉnh, và các hàng ứng với các các lần tínhnhãn ở bước 4 Các nhãn gạch dưới ứng với nhãnnhỏ nhất ở bước 2 và đỉnh bị loại ghi bên phải.Sau khi đỉnh z bị loại, từ z ta lần ngược về đỉnh a theo nhãn ghi trên bảng ta có đường đi ngắn nhất

Trang 60

e

dcb

2

28

53

Trang 61

4.5.4 Thuật toán Floyd:

Thuật giải tìm độ dài đường đi ngắn nhất giữa mọi cặp đỉnh trong đồ thị có hướng liên thông có trọng số

+ Đầu vào: Đồ thị liên thông G = (V,E), V= {1, 2, , n},

có trọng số w(i,j) >0 với mọi cung (i,j)

+ Đầu ra: Ma trận D=[d(i,j)], trong đó d(i,j) là chiều dàiđường đi ngắn nhất từ i đến j với mọi cặp (i,j)

Trang 62

+ Phương pháp:

(1) Bước khởi tạo: Ký hiệu D0 là ma trận xuất phát

D0 = [d0(i,j)]

trong đó:

d0(i,j) = w(i,j) nếu tồn tại cung (i,j)

d0 (i,j) = + nếu không tồn tại cung (i,j)

Trang 64

 Định lý: Thuật toán Floyd là đúng.

 Hệ quả

(i) Nếu ma trận kết quả của thuật toán Floyd có phần tửhữu hạn trên đường chéo chính thì đồ thị chứa chu trình.(ii) Nếu ma trận kết quả chứa phần tử + ngoài đườngchéo chính thì đồ thị không liên thông mạnh

Trang 66

2 2

2

2 7

1

6 5

4 3

2 1

Đỉnh

Áp dụng thuật toán Floyd:

Ma trận khoảng cách xuất phát D0 là (các ô trống là ):

D0 

Trang 67

D1 =

1

6

4 2

9 2

2

2 7

1

6 5

4 3

2 1

Đỉn h

Trang 68

D2 =

10 4

2 9

2

5

5 8

2

8 2

11 7

1

6 5

4 3

2 1

Đỉn h

Trang 69

D3 =

8 2

5 1

6

5 10

4 2

9 2

5

11 5

8 4

4

3

3

7 1

4

2

14 8

2 11

7

1

6 5

4 3

2 1

Đỉ nh

Trang 70

11 5

8 4

4

3

3

7 1

4

2

13 7

2 10

6

1

6 5

4 3

2 1

Đỉn h

D4 =

Trang 71

D5 = D

5 =

7 2

6 4

1 4

6

5 9

4 2

8 2

5

10 5

9 7

4 7

4

3

3

6 1

5 3

9 3

2

12 7

2 9

6 9

1

6 5

4 3

2 1

Đỉn h

Trang 72

D = D6 =

7 2

6 4

1 4

6

5 7

4 2

6 2

5

10 5

9 7

4 7

4

3 5

9 7

4 7

3

6 1

5 3

7 3

2

12 7

2 9

6 9

1

6 5

4 3

2 1

Đỉn h

Cuối cùng, D là ma trận khoảng cách ngắn nhất giữa cácđỉnh Theo hệ quả ta thấy đồ thị liên thông mạnh và chứa

Trang 73

Độ cao là 2

Trang 74

Một số thuật ngữ:

Cho T là cây có gốc vo Giả sử x, y, z là các đỉnh của T

và (vo, v1, , vn) là đường đi trong T Khi đó ta gọi:

 vn-1 là cha của vn

 vo, ,vn-1 là tiền bối của vn

 vn là con của vn-1

 y là hậu thế của x, nếu x là tiền bối của y

 y và z là anh em nếu chúng đều là con của đỉnh x

 x là đỉnh lá nếu nó không có con

Trang 75

v4 v5 v6 v7

v2 là cha của v4&v5

v1, v2 là tiền bối của v4

v4 là con của v2

v4&v5 là anh em

v4, v5, v6, v7: đỉnh lá v1, v2, v3: đỉnh trong

Trang 76

Rừng là đồ thị mà mỗi thành phần liên thông là cây

Rừng gồm 3 cây

Trang 77

Định lí

Cho T là đồ thị n đỉnh Các mệnh đề sau tương đương

(i) T là cây

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

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

(iv) T liên thông và mỗi cạnh là cầu

(v) Hai đỉnh bất kỳ được nối với nhau bởi một đường điduy nhất

(vi) T không chứa chu trình và nếu thêm một cạnh nốihai đỉnh thì ta thu được đúng 1 chu trình

Trang 78

Ví dụ

Cho đồ thị G là rừng có t cây và n đỉnh Tìm sốcạnh của G

Đs: (n – t) cạnh

Trang 79

Cây cân bằng là cây mà mọi đỉnh lá có mức là h hay

h-1, trong đó h là chiều cao của cây

Trang 80

&

1

ni

c

1m

1

mln

&

1m

1

li

Trang 84

Định lí

Đồ thị G = (V, E) có cây phủ  G liên thông

Trang 85

Các thuật toán tìm cây phủ

Duyệt cây theo chiều rộng

Trong thuật giải này ta ký hiệu S là dãy các đỉnh

+ Đầu vào. Đồ thị G=(V,E) với các đỉnh: v1, v2,…, vn

+ Đầu ra. Cây phủ T hoặc kết luận đồ thị không liênthông

+ Các bước

(1) Khởi tạo:

Đặt S := {v1} T là đồ thị gồm 1 đỉnh v1 và không

có cạnh, v1 là gốc

Trang 86

(2) Thêm cạnh:

Với mỗi xS theo thứ tự, thêm cạnh (x,y) và đỉnh

y vào T sao cho không tạo thành chu trình

Nếu thêm được thì sang bước (3)

Nếu không thêm cạnh được nữa thì kết thúc Khi đónếu T chứa hết các đỉnh của đồ thị T là cây phủ, ngược lại đồ thị không liên thông

(3) Cập nhật S:

Thay S bởi các con (trong T) của các đỉnh trong

Trang 88

Duyệt cây theo chiều sâu

+ Đầu vào. Đồ thị G=(V,E) với các đỉnh v1, v2,…, vn

+ Đầu ra. Cây phủ T hoặc kết luận đồ thị không liên thông

Trang 89

- Nếu không tồn tại cạnh như vậy thì đến bước (4);

- Ngược lại thêm cạnh (w,vk) và đỉnh vk vào T, số

cạnh e tăng lên 1, e:=e+1, đặt w:=vk và quay lại

bước (2)

Trang 90

 Nếu w = v1 , Kết thúc Đồ thị không liên thông.

 Nếu w  v1 sang bước (5)

(5) Quay lui:

(4) Kiểm tra điều kiện kết thúc:

Giả sử x là cha của w (trong T) đặt w := x

Quay lại bước (3)

Ngày đăng: 04/07/2014, 14:46

HÌNH ẢNH LIÊN QUAN

Đồ thị con của G nếu: - Bài giảng toán rời rạc chương 4 lý thuyết đồ thị
th ị con của G nếu: (Trang 16)
Đồ thị Euler Chu trình Euler: a, b, c, f, e, b, d, c, a - Bài giảng toán rời rạc chương 4 lý thuyết đồ thị
th ị Euler Chu trình Euler: a, b, c, f, e, b, d, c, a (Trang 36)
Đồ thị liên thông và có các đỉnh bậc chẵn. Ta có chu trình Euler sau - Bài giảng toán rời rạc chương 4 lý thuyết đồ thị
th ị liên thông và có các đỉnh bậc chẵn. Ta có chu trình Euler sau (Trang 49)
Đồ thị sau: - Bài giảng toán rời rạc chương 4 lý thuyết đồ thị
th ị sau: (Trang 60)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm