Đồ thị có hướng

Trần Vĩnh Đức

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

1 / 34

Ngày 24 tháng 7 năm 2018

Tài liệu tham khảo

▶ Eric Lehman, F Thomson Leighton & Albert R Meyer, Mathematics for Computer Science, 2013 (Miễn phí)

▶ Ngô Đắc Tân, Lý thuyết Tổ hợp và Đồ thị, NXB ĐHQG Hà Nội, 2004.

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

2 / 34

▶ Douglas B. West. Introduction to Graph Theory. 2nd Edition, 2000.

Nội dung

Định nghĩa và ví dụ

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

Đồ thị thi đấu

Định nghĩa Một đồ thị có hướng là một cặp có thứ tự G = (V; E), ở đây V là một tập, còn E là một tập con của tích đề các V (cid:2) V, tức E là một quan hệ hai ngôi trên V.

▶ Các phần tử của V thường được gọi là các đỉnh. ▶ Các phần của E gọi là các cung. ▶ Cụ thể hơn, nếu (a; b) 2 E thì (a; b) được gọi là cung của G với đỉnh đầu là a và đỉnh cuối là b,

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

4 / 34

▶ và ta viết a ! b

Đồ thị có hướng

v2 Đồ thị có hướng G = (V; E):

v1

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

5 / 34

V = fv1; v2; v3g E = fv1 ! v1; v1 ! v2; v1 ! v3; v2 ! v3; v3 ! v2g v3

Bậc vào & bậc ra

v2

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

6 / 34

v1 Đỉnh v1 v2 v3 indeg 1 2 2 5 outdeg 3 1 1 5 v3

v2

Mệnh đề

v2V

v2V

∑ ∑ v1 indeg(v) = outdeg(v) = jEj

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

7 / 34

v3

Hành trình có hướng và đường đi có hướng

Hành trình Hành trình đơn Đường đi 7 3

3 3

7 7

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

8 / 34

Lặp cạnh Lặp đỉnh

Định nghĩa Xét G = (V; E) là đồ thị có hướng với V = fv1; v2; : : : ; vng. Ma trận kề A = (aij) của G định nghĩa bởi

{

aij = 1 nếu vi ! vj 0 ngược lại:

Ví dụ

v2

1 0

v1 A @ A = 1 1 1 0 0 1 0 1 0

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

9 / 34

v3

Định lý Xét G = (V; E) là đồ thị có hướng với n đỉnh

ij ) là số hành trình có

V = fv1; v2; : : : ; vng:

và A = (aij) là ma trận kề của G. Xét (p(k) hướng từ vi tới vj. Khi đó

ij ):

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

10 / 34

Ak = (p(k)

Ví dụ

1 0 v2

A @ A = 1 1 1 0 0 1 0 1 0 v1 1 0 1 0

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

11 / 34

@ @ A A2 = A A3 = v3 1 2 2 0 1 0 0 0 1 1 3 3 0 0 1 0 1 0

Chứng minh

là phần tử ở hàng i cột j của ma trận Ak.

ij = p(k)

ij

▶ Bằng quy nạp theo độ dài hành trình. ▶ Ta ký hiệu a(k) ij ▶ Ta đặt P(k) := 8i; j a(k)

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

12 / 34

▶ Bước cơ sở: k = 1. 3 Tại sao?

Chứng minh: Bước quy nạp

▶ Giả sử P(k) 3 ▶ Hành trình độ dài k + 1 từ vi đến vj có thể tách thành

k; vh ! vj

k; vh là một hành trình độ dài k từ vi tới vh

vi

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

13 / 34

▶ với vi ▶ và h : vh ! vj là một cạnh trong G.

Chứng minh: Bước quy nạp (tiếp)

n∑

h: vh!vj

h=1 n∑

∑ = (cid:1) ahj p(k+1) ij p(k) ih = p(k) ih

= (giả thiết quy nạp) (cid:1) ahj a(k) ih

h=1 = a(k+1) ij

(quy tắc nhân ma trận)

3

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

14 / 34

Định nghĩa Một đồ thị có hướng G = (V; E) là liên thông mạnh nếu với mọi u; v 2 V, tồn tại một đường đi có hướng từ u tới v trong G.

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

15 / 34

Định nghĩa Một đồ thị có hướng được là phi chu trình (DAG) nếu nó không chứa chu trình có hướng.

v2

v1 v4 v5

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

16 / 34

v3

Nội dung

Định nghĩa và ví dụ

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

Đồ thị thi đấu

Định nghĩa

▶ Một đồ thị định hướng của một đồ thị (vô hướng)

G = (V; E) là một đồ thị có hướng thu được từ G bằng cách chọn một hướng

x ! y hoặc y ! x

cho mỗi cạnh xy 2 E.

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

18 / 34

▶ Đồ thị thi đấu là một đồ thị định hướng của một đồ thị đầy đủ nào đó.

Ví dụ

▶ Đồ thị định hướng của đồ thị đầy đủ cho phép mô hình hóa các giải đấu thể thao kiểu “round-robin”.

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

19 / 34

▶ Giải đấu gồm n đội và mỗi đội thi đấu với tất cả các đội khác. ▶ Với mỗi cặp u; v, ta có cạnh u ! v nếu u thắng v. ▶ Cuối giải ta có một đồ thị định hướng của Kn. ▶ “Điểm số” của mỗi đội chính là bậc ra của đội đó, là số lần thắng.

Đội nào vô địch?

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

20 / 34

Định nghĩa Một đường đi Hamilton có hướng là hành trình đi qua mỗi đỉnh của G đúng một lần.

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

21 / 34

Có phải mọi đồ thị thi đấu đều có đường Hamilton?

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

22 / 34

Định lý Mọi đồ thị thi đấu đều chứa một đường đi Hamilton.

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

23 / 34

Chứng minh

▶ Bằng quy nạp theo số đỉnh n của đồ thị. Đặt

P(n) := “Mọi đồ thị thi đấu với n đỉnh đều chứa đường đi Hamilton”:

▶ Bước cơ sở: n = 1 3 ▶ Bước quy nạp: Giả sử P(n) đúng. ▶ Xét đồ thị thi đấu n + 1 đỉnh. ▶ Bỏ đi một đỉnh v bất kỳ, ta còn đồ thị thi đấu n đỉnh:

fv1; v2; : : : ; vng:

▶ Theo quy nạp ta có đường đi

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

24 / 34

v1 ! v2 ! (cid:1) (cid:1) (cid:1) ! vn:

Trường hợp 1

Nếu v ! v1, vậy ta có đường Hamilton

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

25 / 34

v ! v1 ! v2 ! (cid:1) (cid:1) (cid:1) ! vn

Trường hợp 2

Nếu v1 ! v và tồn tại i nhỏ nhất sao cho v ! vi.

vi(cid:0)1 vi vn v1 v2 : : : : : :

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

26 / 34

v

Trường hợp 3

Nếu v1 ! v và với mọi i, vi ! v. Vậy ta có đường Hamilton

3

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

27 / 34

v1 ! v2 ! (cid:1) (cid:1) (cid:1) ! vn ! v

Trò chơi chọi gà

▶ Hoặc con gà u thắng con gà v: u ! v ▶ Hoặc con gà v thắng con gà u: v ! u ▶ Con gà u gọi là gần thắng con gà v nếu {

u ! v hoặc u ! w w ! v

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

28 / 34

▶ Một vua gà là con gà gần thắng mọi con gà khác.

Ví dụ Hãy tìm các vua gà.

v1 v2

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

29 / 34

v4 v3

Câu hỏi Có phải mọi đồ thị thi đấu đều có vua gà?

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

30 / 34

Định lý Con gà với bậc ra cao nhất là một vua.

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

31 / 34

Chứng minh

Ta chứng minh bằng phản chứng. Xét u có bậc ra cao nhất và u không là vua. Vậy tồn tại v thỏa mãn:

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

32 / 34

1. v ! u, và 2. Với mọi w: :(u ! w) } | hoặc :(w ! v) } | {z w!u {z v!w

Nhắc lại tương đương logic

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

33 / 34

(cid:17) :P _ Q P ) Q

Chứng minh

Ta chứng minh bằng phản chứng. Xét u có bậc ra cao nhất và u không là vua. Vậy tồn tại v thỏa mãn:

1. v ! u, và 2. Với mọi w: :(u ! w) } | hoặc :(w ! v) } | {z w!u {z v!w

Khẳng định 2 tương đương với Nếu u ! w vậy v ! w. Kết hợp với khẳng định 1 ta được

7:

CuuDuongThanCong.com

https://fb.com/tailieudientucntt

34 / 34

outdeg(v) (cid:21) outdeg(u) + 1