Tải bản đầy đủ (.pdf) (53 trang)

Matroid với lý thuyết đồ thị và một số ứng dụng trong tối ưu tổ hợp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (699.26 KB, 53 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
——————————————–

NGUYỄN THỊ THANH THỦY

MATROID VỚI LÝ THUYẾT ĐỒ THỊ
VÀ MỘT SỐ ỨNG DỤNG TRONG TỐI ƯU TỔ HỢP

LUẬN VĂN THẠC SĨ TOÁN HỌC

HÀ NỘI - 2017


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
——————————————–

NGUYỄN THỊ THANH THỦY

MATROID VỚI LÝ THUYẾT ĐỒ THỊ
VÀ MỘT SỐ ỨNG DỤNG TRONG TỐI ƯU TỔ HỢP

LUẬN VĂN THẠC SĨ TOÁN HỌC

Chuyên ngành: TOÁN ỨNG DỤNG
Mã số: 60 46 01 12

Người hướng dẫn khoa học:

TS. Trần Minh Tước



HÀ NỘI - 2017


LỜI CAM ĐOAN
Tôi đã thực hiện đề tài Matroid với lý thuyết đồ thị và một số ứng dụng
trong tối ưu tổ hợp. Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi.
Kết quả nghiên cứu của đề tài này đảm bảo tính khách quan, trung thực, không trùng
lặp với các tác giả khác.
Hà Nội, tháng 12 năm 2017
Học viên

Nguyễn Thị Thanh Thủy


LỜI CẢM ƠN
Trước khi trình bày nội dung chính luận văn tốt nghiệp, tôi xin bày tỏ lòng biết
ơn sâu sắc tới Tiến sĩ Trần Minh Tước người đã tận tình hướng dẫn để tôi có thể
hoàn thành đề tài này.
Tôi cũng xin bày tỏ lòng biết ơn chân thành tới toàn thể các thầy cô giáo trong
khoa Toán, Trường Đại học Sư phạm Hà Nội 2 đã dạy bảo tôi tận tình trong suốt quá
trình học tập tại khoa.
Nhân dịp này tôi cũng xin được gửi lời cảm ơn chân thành tới gia đình, bạn bè đã
luôn bên cạnh, động viên, giúp đỡ tôi trong suốt quá trình học tập và thực hiện đề tài
này.
Hà Nội, tháng 12 năm 2017
Học viên

Nguyễn Thị Thanh Thủy



Mục lục

Lời mở đầu

1

1 Một số kiến thức chuẩn bị

3

1.1

1.2

1.3

Lý thuyết matroid . . . . . . . . . . . . . . . . . . . . .

3

1.1.1

Định nghĩa matroid . . . . . . . . . . . . . . . . .

3

1.1.2

Tiên đề cơ sở . . . . . . . . . . . . . . . . . . . .


5

1.1.3

Tiên đề vòng . . . . . . . . . . . . . . . . . . . .

8

1.1.4

Tiên đề hạng . . . . . . . . . . . . . . . . . . . .

11

1.1.5

Maroid đối ngẫu . . . . . . . . . . . . . . . . . .

14

Một số khái niệm và kết quả của lý thuyết đồ thị . . . .

15

1.2.1

Khái niệm đồ thị . . . . . . . . . . . . . . . . . .

15


1.2.2

Đồ thị đối ngẫu . . . . . . . . . . . . . . . . . . .

18

1.2.3

Đồ thị đẳng cấu . . . . . . . . . . . . . . . . . . .

19

Một số tính chất liên hệ giữa matroid với đồ thị . . . . .

20

2 Một số liên hệ giữa matroid với lý thuyết đồ thị
2.1

2.2

22

Tính đối ngẫu của matroid đồ thị . . . . . . . . . . . . .

22

2.1.1


Điều kiện cần để matroid có tính đồ thị

. . . . .

22

2.1.2

Điều kiện đủ để matroid có tính đồ thị . . . . . .

26

Định lý Whitney . . . . . . . . . . . . . . . . . . . . . .

28

3 Matroid với một số ứng dụng trong tối ưu tổ hợp

i

35


MỤC LỤC

3.1

3.2

MỤC LỤC


Sử dụng thuật toán tham lam giải quyết bài toán trên
matroid có trọng số . . . . . . . . . . . . . . . . . . . . .

35

3.1.1

Bài toán thực tế

. . . . . . . . . . . . . . . . . .

35

3.1.2

Đưa bài toán về matroid có trọng số . . . . . . .

36

3.1.3

Thuật toán . . . . . . . . . . . . . . . . . . . . .

37

Hệ đại diện phân biệt . . . . . . . . . . . . . . . . . . . .

39


3.2.1

Khái niệm hệ đại diện phân biệt . . . . . . . . . .

39

3.2.2

Matroid hệ đại diện phân biệt . . . . . . . . . . .

40

3.2.3

Bài toán sắp xếp công việc cho nhóm công nhân .

42

Kết luận

45

Tài liệu tham khảo

46

ii


Danh sách hình vẽ

1.1

Đồ Thị H . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1.2

Đồ Thị H1 . . . . . . . . . . . . . . . . . . . . . . . . . .

9

1.3

Vòng C1 . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

1.4

Vòng C2 . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

1.5

Vòng C3 . . . . . . . . . . . . . . . . . . . . . . . . . . .

11


1.6

Đơn đồ thị G có hướng

. . . . . . . . . . . . . . . . . .

16

1.7

Đơn đồ thị G vô hướng

. . . . . . . . . . . . . . . . . .

17

1.8

Đồ thị có trọng số G . . . . . . . . . . . . . . . . . . . .

18

1.9

Xây dựng đồ thị G* là đối ngẫu của đồ thị G . . . . . .

19

1.10 Ví dụ hai đồ thị vô hướng đẳng cấu


. . . . . . . . . . .

20

2.1

Đồ thị H2 . . . . . . . . . . . . . . . . . . . . . . . . . .

23

2.2

Xây dựng đối ngẫu hình học của một đồ thị phẳng . . .

24

2.3

Xây dựng đối ngẫu hình học của một đồ thị phẳng . . .

25

2.4

Phép đồng nhất đỉnh và phép tách đỉnh . . . . . . . . .

29

2.5


Đồ Thị G là một vòng tổng quát . . . . . . . . . . . . .

30

3.1

(a):

3.2

Đồ thị G

3.3

Công nhân yi có thể làm công việc xi tương ứng với cạnh

3.4

(A ), (b): A tương ứng với

(A ) . . . . . . . . .

40

. . . . . . . . . . . . . . . . . . . . . . . . . .

42

x i yi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


43

Công nhân y1 , y2 và công việc x1 , x2 . Cho p (x1 ) < p (x2 )

44

iii


DANH SÁCH HÌNH VẼ

DANH SÁCH HÌNH VẼ

Lời mở đầu
1. Lý do chọn đề tài
Lý thuyết matroid được giới thiệu lần đầu tiên bởi Hassler Whitney
vào năm 1935 và được BL Van Der Wearden độc lập đưa ra ngay sau đó.
Cả hai nhà toán học đều quan tâm đến việc xây dựng một mô tả chung
về “sự độc lập” với các tính chất liên quan chặt chẽ đến đại số tuyến tính
và lý thuyết đồ thị. Lý thuyết này nghiên cứu về sự gắn kết của cấu trúc
hình học mang tính trừu tượng (matroid) với cấu trúc hình học mang
tính cụ thể. Mặc dù ra đời khá muộn nhưng việc nghiên cứu matroid đã
phát triển và trở thành một lý thuyết hoàn chỉnh và có nhiều ứng dụng.
Lý thuyết matroid đã tổng quát hóa được những tính chất về sự độc lập
tuyến tính, phụ thuộc tuyến tính trong không gian vectơ và có nhiều
ứng dụng với lý thuyết đồ thị. Bên cạnh đó, phương pháp tham lam để
giải quyết nhiều bài toán tối ưu tổ hợp đã được biểu diễn hiệu quả bằng
ngôn ngữ của matroid. Trong một thời gian rất ngắn so với lịch sử toán
học, cho đến nay, lý thuyết matroid đã nhanh chóng trở thành một lĩnh
vực đặc biệt của toán học, một dạng hiện đại của hình học, tiêu chuẩn

lý thuyết và thực hành cho nhiều thuật toán. Khi tiếp cận và tìm hiểu về
matroid, nhận thấy sự mới mẻ và tính ứng dụng cao vào việc giải quyết
các bài toán tối ưu tổ hợp, đồ thị theo một cách thể hiện khác khá hiệu
quả. Điều này làm cho tôi băn khoăn rằng lý thuyết matroid có thực sự
giúp chúng ta giải quyết các bài toán một cách hiệu quả như thế. Cho
nên, tôi quyết định chọn đề tài Matroid với lý thuyết đồ thị và một
số ứng dụng trong tối ưu tổ hợp để triển khai nghiên cứu.
2. Mục đích nghiên cứu
Tìm hiểu được một cách hệ thống về matroi và sự liên hệ giữa lý
thuyết matroid với lý thuyết đồ thị, tối ưu tổ hợp và một số ứng dụng.

1


3. Nhiệm vụ nghiên cứu
Tìm hiểu về lý thuyết matroid.
Trình bày một cách hệ thống về sự liên hệ giữa lý thuyết matroid với
lý thuyết đồ thị, tối ưu tổ hợp, và ứng dụng để giải quyết một số bài
toán.
4. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: matroid, đồ thị, các bài toán tối ưu tổ hợp.
Phạm vi nghiên cứu: lý thuyết matroid; các khái niệm liên quan đến
lý thuyết đồ thị, tối ưu tổ hợp và tìm hiểu giải pháp cho một số bài toán
bằng ngôn ngữ của lý thuyết matroid.
5. Phương pháp nghiên cứu
Nghiên cứu lý thuyết với công cụ hỗ trợ là đại số tuyến tính, lý thuyết
đồ thị, tối ưu tổ hợp.
6. Dự kiến đóng góp của đề tài
Lý thuyết matroid là một dạng hiện đại của hình học, có ứng dụng
trong nhiều lĩnh vực khác nhau. Sau khi hoàn thành đề tài, tôi có sự

hiểu biết cho bản thân về lý thuyết matroid và văn bản luận văn có thể
là tài liệu tham khảo hữu ích cho những ai quan tâm.

2


Chương 1
Một số kiến thức chuẩn bị
Trong chương này trình bày một số khái niệm cơ bản nhất về lý thuyết
matroid và lý thuyết đồ thị.

1.1

Lý thuyết matroid

1.1.1

Định nghĩa matroid

Đầu tiên chúng ta sẽ tìm hiểu: Matroid là gì? Khái niệm được đưa ra
sau đây dựa trên các tập con độc lập của tập nền S cùng với một số ví
dụ giúp ta có hình dung đầu tiên về matroid. Ngoài ra ta có thể định
nghĩa matroid bằng các khái niệm tương đương dựa trên tập cơ sở, tập
vòng hay hàm hạng được trình bày trong các mục sau.
Định nghĩa 1.1.1. Matroid là một cặp M gồm tập hữu hạn S và họ
F các tập con của S được gọi là các tập độc lập của M khi và chỉ khi
thỏa mãn các điều kiện sau:
M(1i) ∅ ∈ F .
M(2i) Nếu X ∈ F và Y ⊆ X thì Y ∈ F .
M(3i) Nếu U, V ∈ F và |U | = |V |+1 thì sẽ tồn tại phần tử x ∈ U −V

sao cho (V ∪ {x}) ∈ F .

Sau đây ta xét một số ví dụ minh họa.
3


Ví dụ 1.1.1. Cho ma trận A dưới đây với các nhãn tương ứng:
1 2 3 4 5 6 7


1 0 0 1 0 0 0


0 1 0 1 1 1 0


0 0 1 0 1 1 0
Ký hiệu E = {1, 2, 3, 4, 5, 6, 7} là tập các vecter cột xác định bởi nhãn
của chúng. Giả sử F là họ các tập chỉ số I ⊆ E sao cho tập các vecter
cột được gãn nhãn bởi I là độc lập tuyến tính . Khi đó F gồm các tập
con của E − {7} có nhiều nhất ba phần tử loại trừ {1, 2, 4}, {2, 3, 5},
{2, 3, 6} và loại cả các tập chứa {5, 6}. Ta được (E, F ) là matroid.
Ví dụ 1.1.2. Xét đồ thị G cho bởi hình vẽ.

Hình 1.1: Đồ Thị H

Xét họ F các tập cạnh của G mà không chứa chu trình nào của G.
Như vậy, các tập của F sẽ không chứa bất kỳ tập nào trong các tập
sau: {7}, {5, 6}, {1, 2, 4}, {2, 3, 5}, {2, 3, 6}, {1, 3, 4, 5}, {1, 3, 4, 6}. Khi
đó, E(G) với họ F xác định trên lập thành một matroid của G.

Matroid xác định như trên gọi là matroid vòng của G.
Ví dụ 1.1.3. Cho tập S hữu hạn phần tử.
Xét họ F1 = {∅} khi đó ta có (S, F1 ) là một matroid được gọi là
matroid tầm thường.
4


Xét họ F2 = P(S) = 2S khi đó ta có (S, F2 ) là một matroid được
gọi là matroid rời rạc.
1.1.2

Tiên đề cơ sở

Cho matroid M = (S, F ). Xét họ không rỗng B có phần tử là các tập
con độc lập lớn nhất của S trong M. Vì các phần tử của B là các tập
độc lập nên B là họ các tập độc lập của M.
Bổ đề 1. Nếu B1 , B2 là cơ sở của matroid M thì |B1 | = |B2 |.
Định lý 1.1.1. Một Matroid M bao gồm một tập hữu hạn khác rỗng E
và một họ khác rỗng B các tập con của E (được gọi là cơ sở) khi và chỉ
khi thỏa mãn các điều kiện sau:
B(1i) Không có cơ sở nào chứa cơ sở nào.
B(2i) Nếu B1 và B2 là cơ sở và e là phần tử bất kỳ của B1 , khi đó tồn
tại một phần tử f của B2 sao cho (B1 − {e} ∪ {f }) là một cơ sở.
Nếu lấy ra một phần tử từ B1 , khi đó tồn tại một phần tử trong B2
sao cho có một cơ sở mới B3 hình thành khi thêm phần tử đó vào B1 .
Chứng minh. Ta chứng minh rằng họ B được xác định như trên thỏa
mãn hai điều kiện B(1i), B(2i) của định lý 1.1.1.
Xét B1 , B2 ∈ B, B1 = B2 , mà theo bổ đề 1 ta có số phần tử của các
cơ sở bằng nhau |B1 | = |B2 |, hiển nhiên B(1i) được thỏa mãn.
Cho B1 − x và B2 là hai tập độc lập, |B1 − x| < |B2 |. Theo điều

kiện M (3i), ∃ y ∈ (B2 − (B1 − x)) sao cho ((B1 − x) ∪ y) ∈ F . Hiển
nhiên y ∈ (B2 − B1 ). Đặt B3 = (B1 − x) ∪ y. Theo bổ đề 1 ta có
|B3 | = |(B1 − x) ∪ y| = |B1 |. Hơn nữa, (B1 − x) ∪ y là tập độc lập, suy
ra B3 là cơ sở của M. Vậy B(2i) được thỏa mãn.
Bây giờ ta sẽ chứng minh họ B và tập S là một matroid theo định
nghĩa 1.1.1.
Cho I = {I ⊆ B|B ∈ B}. Ta sẽ chứng minh (S, I ) là một matroid.
5


Từ B thỏa mãn B(1i) nên I thỏa mãnM(1i).
Nếu I ∈ I , I ⊆ I ⇒ I ⊂ B, B ∈ B, thỏa mãn M (2i).
Cho I1 , I2 ∈ I với |I1 | < |I2 | sao cho ∀e ∈ I2 − I1 , I1 ∪ e ∈
/ I . Theo
định nghĩa, B có chứa phần tử B1 , B2 . Như vậy, I1 ⊆ B2 và I2 ⊆ B2 .
Cho rằng tập B2 được chọn sao cho |B2 − (I2 ⊆ B1 )| là nhỏ nhất. Bởi
vậy ta chọn I1 , I2 để
I2 − B1 = I2 − I1

(1)

Giả sử rằng B2 −(I2 ∪B1 ) là khác rỗng. Khi đó, ta có thể chọn phần tử
x từ tập này, theo B(2i) có một phần tử y ∈ B1 −B2 sao cho (B2 −x)∪y ∈
B. Nhưng sau đó |((B2 − x) ∪ y) − (I2 ∪ B1 )| < |B2 − (I2 ∪ B1 )| và việc
chọn B2 là mâu thuẫn, nên B2 − (I2 ∪ B1 ) là rỗng và B2 − B1 = I2 − B1 .
Mà theo (1) I1 = B1 nên
B2 − B1 = I2 − I1

(2)


Tiếp theo ta chứng minh B1 − (I1 ∪ B2 ) là rỗng. Giả sử B1 − (I1 ∪ B2 )
là không rỗng, thì có x ∈ B1 − (I1 ∪ B2 ) và y ∈ B2 − B1 sao cho
(B1 − x) ∪ y ∈ B.
Bây giờ thì (I1 ∪ y) ⊆ ((B1 − x) ∪ y) nên I1 ∪ y ∈ I .
Từ y ∈ (B2 − B1 ), theo (2), y ∈ (I2 − I1 ), mâu thuẫn với điều giả sử.
Suy ra B1 − (I1 ∪ B2 ) là rỗng. Vì thế B1 − B2 = I1 − B2 .
B1 − B2 ⊆ I1 − I2

(3)

Mà |B1 | = |B2 | nên |B1 − B2 | = |B2 − B1 |, kết hợp với (1), (2), (3) ta

|I1 − I2 | ≥ |I2 − I1 | ⇔ |I1 | ≥ |I2 |, mâu thuẫn với giả thuyết |I1 | < |I2 |
Vậy (S, I ) là matroid.
Định lý 1.1.2. Các sơ sở của một matroid có cùng số phần tử.

6


Chứng minh. Giả sử hai cơ sở của matroid là B1 và B2 có số lượng
phần tử khác nhau . Giả sử |B1 | < |B2 | và có một phần tử {e1 } ∈ M sao
cho e1 ∈ B1 nhưng e1 ∈
/ B2 . Nếu lấy e1 ∈ B1 , theo B(2i), ta có e2 ∈ B2 ,
e2 ∈
/ B1 sao cho B3 = B1 − (e1 ) ∪ (e2 ). Khi đó B3 là một cơ sở trong M.
Vì thế |B1 | = |B3 | nhưng B2 = B1 = B3 . Nếu ta tiếp tục thay các phần
tử k lần khi đó sẽ không có phần tử ở B1 mà không có trong Bk .
Vậy nên ∀ e ∈ Bk thì e ∈ B2
Suy ra Bk ⊆ B2 (mâu thuẫn với B(i)).
Ví dụ 1.1.4. Cho ma trận A là ma trận 5 x 8 có các cột là các vecter

trong R5 . Tập các vecter cột của A là {1, 2, 3, 4, 5, 6, 7, 8}.
1 2 3 4 5 6 7 8

0

0


0

0

0

1 1 1 0 0 0
1 1 0 1 1 0
0 0 1 1 0 1
0 0 0 0 1 1
0 0 0 0 0 0


0

0


0

1


1

Tập các cột của ma trận là một matroid. Cơ sở của matroid là một
tập độc lập tuyến tính tối đại trong không gian vecter cột. Xét hai cơ sở
của matroid.
       

1
1
0
0 



























1
0
1
0

       

    
B1 = 0,1,0,0

       


0 0 1 1




       





 0
0
0
1 

7


       

0 
0
0
1















1 1 0 0



       

    
B2 = 0,1,1,0
       



0 0 1 1




       




 0
1 
0
0
Thay vecter thứ 2 trong B1 bằng vecter thứ 2 trong B2 được cơ sở B3
       

0 
0
0

1




























1 1 1 0

    
B3 0,1,0,0
       



0 0 1 1

















 0
1 
0
1
Trong trường hợp này ta thấy tính chất B(2i), được thỏa mãn.Và điều
này cũng chứng tỏ không có cơ sở nào chứa cơ sở khác.

1.1.3

Tiên đề vòng

Cho matroid M = (S, F ). Gọi mỗi tập phụ thuộc tối tiểu của M là một
vòng, kí hiệu C(M ) là họ các vòng.
Nhận xét: Nếu bớt đi một phần tử của C thì ta được tập độc lập.
Định lý 1.1.3. Cho tập hữu hạn S và C là họ các tập con của S. Khi
đó C là tập vòng của matroid M trên S khi và chỉ khi thỏa mãn các điều
kiện sau:
C(1i) ∅ ∈
/ C.
C(2i) Nếu C1 , C2 ∈ C và C1 ⊆ C2 thì C1 = C2 .
C(3i) Nếu C1 , C2 ∈ C và e ∈ C1 ∩ C2 thì tồn tại C3 ∈ C, C3 ⊆
(C1 ∪ C2 ) − e.
Chứng minh. Ta chứng minh tập C được xây dựng như trên sẽ thỏa
mãn ba điều kiện của định lý 1.1.3.
8


Theo M(1i) ta có ∅ ∈ F nên hiển nhiên ∅ ∈
/ C, C(1i) được thỏa mãn.
Theo M(2i), nếu X ∈ F , Y ⊆ X thì Y ∈ F . Khi ta thêm cùng một
phần tử vào mỗi tập X, Y thì được X , Y là các tập phụ thuộc tối tiểu
và Y ⊆ X . Nếu Y ⊂ X thì vô lý vì một tập phụ thuộc tối tiểu không
thể là con thực sự của một tập phụ thuộc tối tiểu khác, suy ra Y = X ,
C(2i) được thỏa mãn.
Cho C1 , C2 ∈ C, C1 ∩ C2 = e. Giả sử không có C3 ∈ C sao cho C3 ⊆
(C1 ∪ C2 ) − e. Ta có C1 − e, C2 − e, C3 ⊆ (C1 ∪ C2 ) − e đều là các tập độc
lập và |(C1 ∪ C2 ) − e| > |C1 − e|, |(C1 ∪ C2 ) − e| > |C2 − e|. Theo M(3i),

xét hai tập C1 − e, C3 ⊆ (C1 ∪ C2 ) − e độc lập và |(C1 ∪ C2 ) − e| > |C1 − e|
thì ∃ f ∈ ((C1 ∪ C2 ) − e) − (C1 − e) sao cho (C1 − e) ∪ f ∈ F . Mà
f ∈ ((C1 ∪ C2 ) − e) ⇔ f ∈ (C2 − e) suy ra |C2 − e| > |C1 − e|. Tương tự
ta có |C1 − e| > |C2 − e|, mâu thuẫn chứng tỏ giả sử sai. Vậy điều kiện
C(3i) được thỏa mãn.
Cho C là họ tập con của S thỏa mãn các điều kiện của định lý 1.1.3, C
là họ các tập C với C ⊂ C. Như vậy C là tập độc lập, suy ra C ⊆ F .
Theo định nghĩa 1.1.1 (S, C ) là một matroid.
Ví dụ 1.1.5. Cho đồ thị H bởi hình vẽ.

Hình 1.2: Đồ Thị H1

Ta có thể định nghĩa một vòng trong lý thuyết đồ thị là một chu
trình, ta sẽ lấy một vòng trong matroid M, là chu trình đóng của H có
ít hơn một cạnh. Vòng của đồ thị H trong hình 1.2 được cho trong bảng
sau:
9


Vòng
{a, b, c, d, e}
{a, e, f }
{a, e, d, g}
{d, f, g}
{b, c, g}
{b, c, d, g}
Quan sát tập bảng trên ta thấy điều kiện C(1i), C(2i) được thỏa mãn.
Xét vòng C1 = {a, e, f } , C2 = {a, b, c, d, e} thuộc C. Ta thấy hai
vòng đều chứa hai phẩn tử {a} và {e}. Hình 1.3 thể hiện đồ thị của
C3 = C1 ∪ C2 .


Hình 1.3: Vòng C1

Hình 1.4: Vòng C2

10


Hình 1.5: Vòng C3

Có thể thấy ở đây ba vòng trong C3 là {a, e, f }, {a, b, c, d, e}, {b, c, d, f },
trong đó,{b, c, d, f } là một vòng trong C3 mà không chứa cả {a} và {e}.
Như vậy, tính chất C(3i) được thỏa mãn.
1.1.4

Tiên đề hạng

Cho đồ thị G = (V, E), M(G) là matroid vòng của đồ thị G xác định
trên tập cạnh E và tập độc lập gồm các tập con của E không chứa chu
trình của G.
Cho M = (S, F ) và họ tất cả các tập con của S là 2S .
Gọi hàm số r(A) = max{|X||X ⊆ A và X ∈ (F )} là hạng của A.
Hạng của matroid M kí hiệu là r(M ), hay r(S).
Nhận xét: Hạng của tập A là số phần tử của tập độc lập lớn nhất
thuộc A. Nếu A độc lập thì r(A) = |A|.
Định lý 1.1.4. Cho S là tập hữu hạn khác rỗng và hàm số r : 2S −→ N.
Khi đó r là hàm hạng của matroid trên S khi và chỉ khi thỏa mãn các
điều kiện sau ∀X, Y của S:
R(1i) 0 ≤ r(X) ≤ |X|.
R(2i) Nếu Y ⊆ X thì r(Y ) ≤ r(X).

R(3i) r(X ∪ Y ) ≤ r(X) + r(Y ) − r(X ∩ Y ).
Chứng minh. Ta chứng minh rằng hàm số r được xác định như trên
thỏa mãn ba điều kiện của định lý 1.1.4.
11


Theo M(1i), ∅ ∈ F nên r(∅) = 0. Cho X là tập con độc lập của A,
dễ thấy |X| ≤ |A| ↔ r(A) ≤ |A|, R(1i) được thỏa mãn.
Xét X ∈ F , Y ⊆ X theo M(2i) ta có, Y ∈ F . Y là tập độc lập
⇔ r(Y ) = |Y |. Có Y ⊆ X nên |Y | ≤ |X| và r(X) = |X|, suy ra
r(Y ) ≤ r(X), R(2i) được thỏa mãn.
Xét U, V ∈ F và |U | = |V | + 1. Theo M (3i) thì tồn tại x ∈ (U − V )
sao cho (V ∪ U ) ∈ (F ), suy ra V ∪ x là tập độc lập.
Ta có r(U ) = |U |, r(V ) = |V |, r(V ∪ x) = |V ∪ x|,
r(U ∪ V ) ≤ |U ∪ V |, r(U ∩ V ) ≤ |U ∩ V |.
|U | + |V | = |U ∪ V | + |U ∩ V |
⇔ |U | + |V | ≥ r(U ∪ V ) + r(U ∩ V )
⇔ r(U ) + r(V ) ≥ r(U ∪ V ) + r(U ∩ V ) ⇔ r(U ∪ V ) ≤ r(U ) + r(V ) −
r(U ∩ V ). R(3i) được thỏa mãn.
Cho I = {X ⊆ S|r(X) = |X|}, bây giờ ta sẽ chứng minh (S, I ) là
một matroid. Để làm được điều này, trước tiên ta làm một bài toán phụ.
Chứng minh bài toán
Cho X − Y = {y1 , y2 , ..., yk }. Ta xét phét quy nạp theo k.
Nếu k = 1 bài toán hiển nhiên là đúng.
Giả sử bài toán đúng với k = n, cần chứng minh bài toán đúng với
k = n + 1.
r(X) + r(X) = r(X ∪ {y1 , y2 , ..., yk }) + r(X ∪ yn + 1)
≥ r((X ∪ {y1 , y2 , ..., yk }) ∪ (X ∪ yn + 1)) + r((X ∪ {y1 , y2 , ..., yk }) ∩
(X ∪ yn + 1))
= r(X ∪ {y1 , y2 , ..., yk + 1}) + r(X)

⇔ r(X) ≥ r(X ∪ {y1 , y2 , ..., yk + 1})
Theo R(2i) suy ra (X ∪ {y1 , y2 , ..., yk + 1}) ⊆ X, vô lý, suy ra
r(X) = r(X ∪ {y1 , y2 , ..., yk + 1}) (bài toán được chứng minh).
Ta trở lại phần chứng minh (S, I ) là matroid. Theo R(1i), 0 ≥ r(∅) ≥
|∅| nên r|∅| = |∅| suy ra ∅ ∈ I . M(1i) được thỏa mãn.
12


Cho I ∈ I , I ⊆ I. Khi đó r(I) = |I|. Theo R(3i)
r(I ∪ (I − I )) + r(I ∩ (I − I )) ≥ r(I ) + r(I − I ) ≥ r(I ) + r(I − I )
⇔ r(I) + r(∅) ≥ r(I ) + r(I − I )

(1)

Nhưng r(I) = |I| và r(∅) = 0. Ngoài ra, theo R(2i), r(I ) ≥ |I | và
r(I − I ) ≥ |I − I | và (1) suy ra
|I| ≥ r(I ) + r(I − I ) ≥ |I | + |I − I | = |I|
⇒ r(I ) = |I | ⇔ I ∈ I . M(2i) được thỏa mãn. Để chứng minh I
thỏa mãn M(3i), giả sử ngược lại.
Cho I1 , I2 ∈ I với |I1 | < |I2 | và ∀e ∈ (I2 − I1 ), I1 ∪ e ∈ I . Khi đó,
∀e, r(I1 ∪ e) = |I1 ∪ e|. Do đó, theo R(1i), R(2i) và I ∈ I , ta nhận được
∀e:
|I1 | + 1 > r(I1 ∪ e) ≥ r(I1 ) = I1
⇔ (I1 ∪ e) = |I1 |
Áp dụng bài toán phụ đã chứng minh ở trên với X = I1 và Y = I2 ,
ta có r(I1 ) = r(I1 ∪ I2 ). Nhưng |I1 | = r(I1 ) và r(I1 ∪ I2 ) ≤ r(I2 ) = |I2 |,
nên |I1 | ≤ |I2 |, mâu thuẫn với |I1 | < |I2 |.
Suy ra I thỏa mãn M(3i). Vậy (S, I ) là một matroid.
Ví dụ 1.1.6.
Xét ma trận A và matroid như ở ví dụ 1.1.4. Ta có một trong những

không gian vecter cột của A là
       

1
1
0
0 


























1
0
1
0

       

    
B1 = 0,1,0,0

       


0 0 1 1


















 0
0
0
1 
Vì đây có 4 vectơ trong cơ sở và là tập độc lập tuyến tính lớn nhất
nên hạng của ma trận A là 4.
13


Quan sát ma trận C các vecter cột của A.
         

0 
0
0
1
1

































1 0 1 0 1
     
C = 0,1,0,0,1
         



0 0 1 1 0




















 0
0 
1
0
0
Kích thước của C là 5, hạng của C là 4 nên R(2i) được thỏa mãn.
Cho tập D sao cho D ⊆ C ⊆ A.
     

1
1

0 












1 0 1



     

   
D = 0,1,0
     


0 0 1






     




 0
0
0 
Ta thấy rằng 3 = r(D) < r(C) = 4 nên tính chất R(2i) được thỏa
mãn.
Từ định nghĩa của matroid, tính chất R(3i) được thỏa mãn với hai
tập C, D ⊆ E.
r(C ∪ D) + r(C ∩ D) ≤ r(C) + r(D)
4+3=4+3
1.1.5

Maroid đối ngẫu

Định lý 1.1.5. Cho M = (S, B) là một matroid trên S được định nghĩa
theo tiên đề cơ sở. Khi đó, ta gọi matroid đối ngẫu của M, kí hiệu là M*
là matroid trên S với cơ sở B ∗ xác định bởi
B ∗ = {S − B|B ∈ B}.
Chứng minh. Sau đây ta sẽ chứng minh M ∗ = {S, B ∗ } là một matroid.
14


Vì B = ∅ nên dễ dàng thấy B ∗ = ∅, thỏa mãn điền kiện B(1i).
Cho B1∗ , B2∗ ∈ B ∗ (M ). Với j = 1, 2, cho Bj = S − B ∗ . Khi đó Bj ∈
B(M ) và B1∗ − B2∗ = B2 − B1 . Theo B(2i), x ∈ B2 − B1 thì ∃y ∈
B1 − B2 sao cho (B1 − y ∪ x) ∈ B(M ). Theo đó mà y ∈ B2∗ − B1∗

và S(M ) − ((B1 − y) ∪ y) ∈ B ∗ (M ). Nhưng S(M ) − ((B1 − y) ∪ x) =
((S(M )−B1 −x)∪y = (B1∗ −x)∪y). Suy ra B ∗ (M ) thỏa mãn B(2i). Vậy
B ∗ (M ) là cơ sở của matroid trên S hay M ∗ = {S, B ∗ } là một matroid.
Matroid trong định lý trên nền S(M) và họ cơ sở B ∗ (M ) được gọi là
đối ngẫu của M. Như vậy B(M ∗ ) = B ∗ (M ).
Sự liên hệ giữa M và M* được nói đến trong định lý sau đây.
Định lý 1.1.6. Trên mỗi tập nền S ta luôn có (M ∗ )∗ = M .

1.2

Một số khái niệm và kết quả của lý thuyết đồ
thị

1.2.1

Khái niệm đồ thị

Mô hình đồ thị xuất hiện nhiều trong khoa học và cả đời sống hàng ngày.
Đồ thị tỏ ra hiệu quả trong việc giải các bài toán trong nhiều lĩnh vực
khác nhau. Ta có thể hình dung đồ thị như tập hữu hạn các đối tượng
và những mối liên hệ giữa các đối tượng đó.
Có nhiều loại đồ thị được xây dựng dựa vào cấu trúc của đồ thị, cụ
thể là tùy thuộc vào sự xác định mối liên hệ giữa các đối tượng. Trong
khuôn khổ luận văn, tôi chỉ đề cập tới ba loại đồ thị: đồ thị có hướng,
đơn đồ thị vô hướng, đa đồ thị vô hướng và đồ thị có trọng số. Các khái
niệm cơ bản về đồ thị được dùng theo cuốn " Lý thuyết tổ hợp và đồ
thị", tác giả Ngô Đắc Tân, NXB ĐHQG Hà Nội.
Định nghĩa 1.2.1. Đơn đồ thị có hướng G 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
15



V x V , tức E là quan hệ hai ngôi trên V .
Các phần tử của V được gọi là các đỉnh, còn các phần tử của E được
gọi là các cung của đồ thị G. Cụ thể hơn, nếu (a, b) ∈ E thì (a, b) được
gọi là cung của G với đỉnh đầu là a và đỉnh cuối là b và có hướng đi từ
a tới b.
Biểu diễn đồ thị có hướng G trên mặt phẳng như sau. Các đỉnh của G
được biểu diễn bằng các vòng tròn nhỏ, còn các cung thì được biểu diễn
bằng các đường cong nối đỉnh đầu với đỉnh cuối và có mũi tên hướng từ
đỉnh đầu tới đỉnh cuối.
Ví dụ 1.2.1. Cho đồ thị có hướng G = (V, E) với V = {a, b, c, d, e, f }
và E = {ab, bc, bd, cd, de, df, ef }.

Hình 1.6: Đơn đồ thị G có hướng

Định nghĩa 1.2.2. Đơn đồ thị vô hướng G là một cặp có thứ tự
G = (V, E), ở đây V là một tập hữu hạn; còn E là tập với các phần tử
là các đa tập lực lượng 2 trên V .
Các phần tử của V được gọi là các đỉnh, còn các phần tửu của E
được gọi là các cạnh của đồ thị vô hướng G. Cho a, b ∈ V , nếu tồn tại
e = {a, b} thì khi đó e là một cạnh của G với hai đỉnh đầu mút là a, b.
Đồ thị vô hướng được biểu diễn trên mặt phẳng tương tự đồ thị có
hướng. Điểm khác biệt ở đây là không có mũi tên chỉ hướng trên các
cạnh.
16


Ví dụ 1.2.2. Cho đồ thị vô hướng G = (V, E) với V = {a, b, c, d, e, f }
và E = {ab, bc, cd, db, ce, ef, f d}.


Hình 1.7: Đơn đồ thị G vô hướng

Định nghĩa 1.2.3. Đa đồ thị vô hướng G là một cặp có thứ tự
G = (V, E), ở đây V là một tập còn E là một đa tập lực lượng 2 trên V .
Đa đồ thị vô hướng cũng được biểu diễn trên mặt phẳng tương tự
như đồ thị vô hướng, trong đó các cạnh khác nhau mà có cùng đỉnh đầu
và đỉnh cuối được biểu diễn bằng các đường cong khác nhau.
Định nghĩa 1.2.4. Đồ thị G = (V, E) được gọi là đồ thị có trọng số
nếu ít nhất một trong hai hàm f : V → WV và g : E → WE , được xác
định, ở đây WV và WE là các tập số. Giá trị f (v) được gọi là trọng số
của đỉnh v, còn giá trị g (e) được gọi là trọng số của cạnh e.
Người ta thường kí hiệu đồ thị có trọng số bằng G = (V, E, f ) hay
G = (V, E, g) hay G = (V, E, f, g) tùy thuộc vào việc chỉ một hàm f ,
chỉ một hàm g hay cả hai hàm f và g được xác định.
Trong khuôn khổ luận văn này, chúng ta chỉ sử dụng G = (V, E, g).
Biểu diễn một đồ thị G = (V, E, g) có trọng số trên mặt phẳng trực
quan ta biểu diễn đồ thị vô hướng hoặc có hướng và gắn trọng số tương
ứng lên trực tiếp bên cạnh cung mang giá trị đó.
Ví dụ 1.2.3. Cho đồ thị vô hướng có trọng số G = (V, E) với V =
{a, b, c, d, e, f } và E = {ab, bc, cd, db, ce, ef, f d}
17


g (ab) = g (bc) = g (cd) = 2
g (bd) = 3
g (de) = g (ef ) = 4
g (df ) = 5.

Hình 1.8: Đồ thị có trọng số G


1.2.2

Đồ thị đối ngẫu

Cho đồ thị phẳng G và phép nhúng trong mặt phẳng. Xây dựng đối
ngẫu G* của G.
Ta chèn một đỉnh của G* vào mỗi miền của mặt phẳng bị chia bởi
G.
Với mỗi cạnh e của G, nếu e nằm trên ranh giới giữa hai miền thì ta
thêm vào G* một cạnh tương ứng nối hai đỉnh của G* nằm trong hai
miền đó và gán cho nó nhãn chính là e. Nếu e nằm trong một miền duy
nhất thì thêm một vòng lặp ở đỉnh tương ứng của G* rồi gán cho nó
nhãn là e.
Ví dụ 1.2.4.

18


×