Các bài toán liên quan ựến ựồ thị tô màu

Một phần của tài liệu Giáo trình toán rời rạc 2 (Trang 101 - 111)

Những bài toán liên quan ựến tô màu bản ựồ ựã dẫn ựến rất nhiều kết quả trong lắ thuyết ựồ thị. Khi một bản ựồ ựược tô màu, hai miền có chung biên giới ựược tô bằng 2 màu A1 X1 X2 A2 X8 B1 B2 X3 X7 B4 B3 X4 A4 X6 X5 A3 A H K E B C G D F

khác nhau. Mỗi bản ựồ có thể coi là một ựồ thị phẳng. Trong một bản ựồ, ta coi hai miền có chung nhau một ựường biên là hai miền kề nhau (hai miền chỉ có chung nhau một ựiểm biên không ựược coi là kề nhau).Một bản ựồ thường ựược tô màu, sao cho hai miền kề nhau ựược tô hai màu khác nhau. Ta gọi một cách tô màu bản ựồ như vậy là một cách tô màu ựúng.

để ựảm bảo chắc chắn hai miền kề nhau không bao giờ có màu trùng nhau, chúng ta tô mỗi miền bằng một màu khác nhau. Tuy nhiên việc làm ựó nói chung là không hợp lý.Nếu bản ựồ có nhiều miền thì sẽ rất khó phân biệt những màu gần giống nhau. Do vậy người ta chỉ dùng một số màu cần thiết ựể tô bản ựồ. Một bài toán ựược ựặt ra là: xác ựịnh số màu tối thiểu cần có ựể tô màu ựúng một bản ựồ.

Ta xét vắ dụ sau: Bản ựồ trong hình 14.1 bên có 6 miền,nhưng chỉ cần có 3 màu (vàng, ựỏ, xanh) ựể tô ựúng bản ựồ này. Chẳng hạn, màu vàng ựược tô cho M1 và M4, màu ựỏ ựược tô cho M2 và M6, màu xanh ựược tô cho M3 và M5.

Hình 13.6 Bản ựồ có 6 miền Các ựịnh nghĩa:

định nghĩa 13.1 Tô màu một ựồ thị vô hướng là một sự gán màu cho các ựỉnh sao cho hai ựỉnh kề nhau phải khác màu nhau.

Một ựồ thị có thể ựược tô màu bắng cách gán các màu khác nhau cho mỗi ựỉnh của nó. Tuy vậy, với hầu hết các ựồ thị, ta có thể tô màu chúng với số màu ắt hơn số ựỉnh. Vậy số màu ắt nhất cần thiết là bao nhiêu ?.

định nghĩa 13.2 Số màu (sắc số) của một ựồ thị là số màu tối thiểu cần thiết ựể tô màu ựồ thị này.

Mỗi bản ựồ trên mặt phẳng có thể biểu diễn bằng một ựồ thị, trong ựó mỗi miền

của bản ựồ ựược biểu diễn bằng một ựỉnh; các cạnh nối hai ựỉnh, nếu các miền ựược biểu diễn bằng hai ựỉnh này là kề nhau. đồ thị nhận ựược bằng cách này gọi là ựồ thị ựối

ngẫu của bản ựồ ựang xét. Rõ ràng mọi bản ựồ trên mặt phẳng ựều có ựồ thị ựối ngẫu phẳng. Bài toán tô màu các miền của bản ựồ là tương ựương với bài toán tô màu các ựỉnh của ựồ thị ựối ngẫu sao cho không có hai ựỉnh liền kề nhau có cùng một màu, mà ta gọi là tô màu ựúng các ựỉnh của ựồ thị.

Số màu ắt nhất cần dùng ựể tô màu ựúng ựồ thị G ựược gọi là sắc số của ựồ thị G và ký hiệu là χ(G).

Mệnh ựề 13.1: Nếu ựồ thị G chứa một ựồ thị con ựồng phôi với ựồ thị ựầy ựủ Kn thì χ(G) ≥ n.

Mệnh ựề 13.2: Nếu ựơn ựồ thị G không chứa chu trình ựộ dài lẻ thì χ(G) =2.

Mệnh ựề 13.3: Với mỗi số nguyên dương n, tồn tại một ựồ thị không chứa K3 và có sắc số bằng n.

định lý 13.1 :(định lý 5 màu của Kempe-Heawood): Mọi ựồ thị phẳng ựều có thể tô ựúng bằng 5 màu.

định lý 13.2 (định lý 4 màu của Appel-Haken): Mọi ựồ thị phẳng ựều có thể tô ựúng bằng 4 màu.

Thuật toán tô màu cho ựồ thị thỏa mãn ựiều kiện số màu ắt nhất

Input: ựồ thị G = (V, E).

Output: ựồ thị G = (V, E) có các ựỉnh ựã ựược gán màu.

Các bước:

B1: Lập danh sách các ựỉnh của ựồ thị EỖ:=[v1,v2,Ầ,vn] ựược sắp xếp theo thứ tự bậc giảm dần: d(v1) ≥ d(v2) ≥ Ầ ≥ d(vn)

đặt i := 1;

B2: Tô màu i cho ựỉnh ựầu tiên trong danh sách. Duyệt lần lượt các ựỉnh tiếp theo và tô màu i cho ựỉnh không kề ựỉnh ựã ựược tô màu i.

B3: Nếu tất cả các ựỉnh ựã ựược tô màu thì kết thúc, ựồ thị ựược tô bằng i màu. Ngược lại, sang bước B4.

B4: Loại khỏi EỖ các ựỉnh ựã tô màu. Sắp xếp lại các ựỉnh trong EỖ theo thứ tự bậc giảm dần. đặt i := i + 1 và quay lại B2..

Bài toán 15 Lập lịch thi: Hãy lập lịch thi trong trường ựại học sao cho không có sinh viên nào có hai môn thi cùng một lúc.

Có thể giải bài toán lập lịch thi bằng mô hình ựồ thị, với các ựỉnh là các môn thi,

có một cạnh nối hai ựỉnh nếu có sinh viên phải thi cả hai môn ựược biểu diễn bằng hai ựỉnh này. Thời gian thi của mỗi môn ựược biểu thị bằng các màu khác nhau. Như vậy việc lập lịch thi sẽ tương ứng với việc tô màu ựồ thị này.

Giải pháp:

Biểu diễn bằng ựồ thị:

Ớ Mỗi môn học là một ựỉnh

Ớ Nếu 2 môn học nào ựược dự thi bởi cùng 1 sinh viên thì sẽ nối bằng 1 cạnh.

Ớ Cách lập lịch sẽ tương ứng với bài toán tô màu của ựồ thị này.

Ta xét vắ dụcụ thể: Lập lịch thi cho 7 môn học sao cho các sinh viên không có môn thi nào bị trùng.. Giả sử các môn học ựuợc ựánh số từ 1 tới 7 và các cặp môn thi sau có chung sinh viên: 1 và 2, 1 và 3, 1 và 4, 1 và 7, 2 và 3, 2 và 4, 2 và 5, 2 và 7, 3 và 4, 3 và 6, 3 và 7, 4 và 5, 4 và 6, 5 và 6, 5 và 7, 6 và 7.

Giải:

Biểu diễn bằng ựồ thị:

Ớ Mỗi môn thi là một ựỉnh của ựồ thị. Như vậy ựồ thị của chúng ta có 7 ựỉnh.

Ớ Hai môn thi có cùng một sinh viên trùng nhau sẽ ựược nối với nhau bằng một cạnh.

Ớ Thực hiện tô màu cho ựồ thị thu ựược khi ựó ta thu ựược số màu cần tô cho ựồ thị là số ựợt thi cần tổ chức cho mỗi môn thi.

Hình 13.7 Lập lịch thi 7 môn

Thực hiện việc tô màu như sau:

B1:Tắnh và sắp xếp bậc của các ựỉnh của ựồ thị theo chiều giảm dần ta có danh sách các ựỉnh ựược sắp xếp như sau: E={2,3,7,1,4,6,5}.

B2:Bắt ựầu từ ựỉnh 3 tô cho nó màu vàng.Sau ựó duyệt tất cả các ựỉnh còn lại trong danh sách nếu ựỉnh nào không kề với nó tô cho ựỉnh ựó màu của ựỉnh 3.Nhìn vào ựồ thị có ựỉnh 5 không kề với ựỉnh 3 nên tô màu vàng cho ựỉnh 5.

B3:Loại khỏi E những ựỉnh ựã tô màu nên E={2,7,1,4,6}

B4: chọn ựỉnh 2 là ựỉnh bắt ựầu và tô màu xanh cho nó.Các ựỉnh còn lại trên ựồ thị là 7,1,4,6,5.Tuy nhiên các ựỉnh này ựều kè với ựỉnh 2 nên màu xanh chỉ ựược tô cho ựỉnh 2 mà thôi.

B5: Loại ựỉnh 2 ra khỏi E. E={7,1,4,6}

B6: chọn ựỉnh 7 là ựỉnh bắt ựầu.Tô màu nâu cho nó.Các ựỉnh còn lại ta thấy chỉ có ựỉnh 4 là không kề với ựỉnh 7 nên tô màu nâu cho ựỉnh 4.

B7: xóa 2 ựỉnh 7 và 4 ựã tô màu ra khỏi E. E={1,6}.

B8: E còn lại 2 ựỉnh là 1 và 6 không kề với nhau nên có thể tô cùng một màu cho chúng.Chọn màu ựỏ.

Vậy với các bước ở trên ta ựã tô màu cho ựồ thị tương úng sao cho số màu tô là ắt nhất.

Hình dưới ựây biểu diễn ựồ thị tương ứng. Việc lập lịch thi chắnh là việc tô màu ựồ thị này. Vì số màu của ựồ thị này là 4 nên cần có 4 ựợt thi.

Hình 13.8 Tô màu cho ựồ thị lịch thi

Ta có bảng lịch thi như sau:

đợt Thi Môn Thi

I 1,6

II 2

III 3,5

IV 4,7

Bài toán 16 Phân chia tần số

Các kênh truyền hình từ số 1 tới số 12 ựược phân chia cho các ựài truyền hình sao cho không có ựài phát nào cách nhau không quá 150 km lại dùng cùng một kênh. Có thể chia kênh truyền hình như thế nào bằng mô hình tô màu ựồ thị.

Ta xây dựng ựồ thị bằng cách coi mỗi ựài phát là một ựỉnh. Hai ựỉnh ựược nối với

nhau bằng một cạnh nếu chúng ở cách nhau không quá 150 km. Việc phân chia kênh tương ứng với việc tô màu ựồ thị, trong ựó mỗi màu biểu thị một kênh.

Biểu diễn bằng ựồ thị:

Ớ Mỗi ựỉnh là một dài phát

Ớ Hai ựỉnh ựược nối một cạnh nếu hai ựài phát cách nhau ắt hơn 150 dặm

Ớ Số màu của ựồ thị chắnh là số kênh cần dùng Ta xét vắ dụ cụ thể sau:

Sáu ựài truyền hình ở cách nhau như trong bảng dưới ựây.Hỏi phải cần bao nhiêu kênh khác nhau ựể phát sóng, nếu hai ựài không thể dùng cùng một kênh khi chúng cách nhau không quá 150km. 1 2 3 4 5 6 1 . 85 175 200 50 100 2 85 . 125 175 100 160 3 175 125 . 100 200 200 4 200 175 100 . 210 220 5 50 100 200 210 . 100 6 100 160 250 220 100 . Giải: Biểu diễn bằng ựồ thị:

Ớ Mỗi ựỉnh là một ựài phát.Như vậy có 6 ựỉnh.

Ớ Hai ựỉnh ựược nối với nhau nếu 2 ựài phát thanh cách nhau ắt hơn 150km

Ớ Thực hiện việc tô màu cho ựồ thị ta ựược số màu cần tô cho ựồ thị chắnh là số kênh cần dùng.

Hình 13.9 Phân chia kênh truyền hình

Thực hiện việc tô màu cho ựồ thị

B1:Tắnh vá Sắp xếp các ựỉnh của ựồ thị theo chiều giảm cảu số bậc ta có danh sách E={1,5,2,6,3,4}

B2: chọn ựỉnh 2 làm ựỉnh xuất phát và tô màu ựỏ cho nó.Trong danh sách E ta thấy có ựỉnh 6 và 4 không kề với 2 nên tô màu ựỏ cho 2 ựỉnh 4 và 6.

B3: Loại bỏ các ựỉnh ựược tô màu ra khỏi E.E={1,5,3}

B4: chọn ựỉnh 1 là ựỉnh xuất phát.Tô mà vàng cho nó.Trong danh sách E có ựỉnh 3 không kề với 1 nên tô màu vàng cho ựỉnh 3.

B5: Loại bỏ các ựỉnh ựược tô màu khỏi E. E ={5}.còn lại ựỉnh 5 tô màu xanh cho nó.

Như vậy ta có ựồ thị sai khi tô màu là:

Hình 13.10 Tô màu cho ựồ thị phân chia kênh truyền hình

Từ ựồ thị ta thấy có 3 màu ựược tô.Như vậy số kênh cần dùng là 3.

5 2 1 6 3 4 vàng vàng đỏ đỏ đỏ xanh 5 2 1 6 3 4

Ta có bảng sau:

Kênh đài phát

I 1,3

II 5

III 2,4,6

Bài toán 17 Các thanh ghi chỉ số

Trong các bộ dịch hiệu quả cao việc thực hiện các vòng lặp ựược tăng tốc khi các biến dùng thường xuyên ựược lưu tạm thời trong các thanh ghi chỉ số của bộ xử lý trung tâm (CPU) mà không phải ở trong bộ nhớ thông thường. Với một vòng lặp cho trước cần bao nhiêu thanh ghi chỉ số? Bài toán này có thể giải bằng mô hình tô màu ựồ thị. để xây dựng mô hình ta coi mỗi ựỉnh của ựồ thị là một biến trong vòng lặp. Giữa hai ựỉnh có một cạnh nếu các biến biểu thị bằng các ựỉnh này phải ựược lưu trong các thanh ghi chỉ số tại cùng thời ựiểm khi thực hiện vòng lặp. Như vậy số màu của ựồ thị chắnh là số thanh ghi cần có vì những thanh ghi khác nhau ựược phân cho các biến khi các ựỉnh biểu thị các biến này là liền kề trong ựồ thị.

Giải pháp:

Biểu diễn bằng ựồ thị:

Ớ Mỗi biến tương ứng với mỗi ựỉnh

Ớ Hai ựỉnh ựược nối với nhau nếu hai biến cùng ựược ghi xuống tại một thời ựiểm

Ớ Số thanh ghi ắt nhất cần sử dụng sẽ là số màu của ựồ thị trên

Ta xét vắ dụ cụ thể sau: Bảy biến xuất hiện trong vòng lặp của một chương trình. Các biến và các bước chúng cần phải lưu là: t :các bước từ 1 ựến 6; u :bước 2; v: các bước từ 2 tới 4;w:các bước 1,3 và 5; x: các bước 1 và 6; y: các bước từ 3 tới 6; và Z: các bước 4 và 5. Cần bao nhiêu thanh ghi chỉ số khác nhau ựể lưu các biến trên khi thực hiện vòng lặp này ?

T={1,2,3,4,5,6} U={2} V={2,3,4} W={1,3,5} X={1,6} Y={3,4,5,6} Z={4,5} Biểu diễn bằng ựồ thị:

Ớ Mỗi biến tương ứng với mỗi ựỉnh

Ớ Hai ựỉnh ựược nối với nhau nếu hai biến cùng ựược ghi xuống tại một thời ựiểm

Ớ Số thanh ghi ắt nhất cần sử dụng sẽ là số màu của ựồ thị trên Từ các bước ở trên ta có ựược ựồ thị tương ứng như sau:

Hình 13.11 Thanh ghi chỉ số trong CPU

Thực hiện tô màu:

Áp dụng việc tô màu tương tự như bài toán lập lịch thi và phân chia tần số với E = {t,v,w,x,y,z,u}

Ta có ựược số màu tô cho ựồ thị như sau:

t u v z w y x

Hình 13.12 Tô màu cho ựô thị thanh ghi chỉ số

Từ ựồ thị ta thấy có 5 màu ựược tô nên số thanh ghi cần thiết là 5.

Số thanh ghi Biến

I t

II W,u

III V,x

IV z

V y

Một phần của tài liệu Giáo trình toán rời rạc 2 (Trang 101 - 111)

Tải bản đầy đủ (PDF)

(137 trang)