1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề tài BÀI TOÁN GHÉP CẶP VÀ ỨNG DỤNG

34 899 3

Đ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

Định dạng
Số trang 34
Dung lượng 770 KB

Nội dung

Đề tài BÀI TOÁN GHÉP CẶP VÀ ỨNG DỤNG NHÓM 8 STT Họ tên Công việc (theo mục lục) Chữ ký Nhận xét của giáo viên 1 Lê Diêm Hùng Chương 1: Đại cương về đồ thị 2 Hồ Thị Mộng Điệp Chương 2: Bài toán ghép cặp 3 Đào Thị Anh Thư Chương 3: Ứng dụng 4 Nguyễn Thị Phương Anh Chương 3: Ứng dụng và báo cáo MỤC LỤC Chương 1. ĐẠI CƯƠNG VỀ ĐỒ THỊ 1.1 Các khái niệm cơ bản 3 1.2 Các loại đồ thị 5 1.3 Bậc, nửa bậc vào, nửa bậc ra 5 1.4 Đường đi, chu trình, tính liên thông 8 Chương 2. BÀI TOÁN GHÉP CẶP 2.1 Mạng 10 2.2 Bài toán ghép cặp 11 2.2.1 Phát biểu bài toán 11 2.2.2 Một số định nghĩa 12 2.2.3 Thuật toán giải bài toán ghép cặp 16 2.2.4 Bài toán ghép cặp tối ưu 23 Chương 3. ỨNG DỤNG CỦA BÀI TOÁN GHÉP CẶP 3.1 Bài toán phân công công việc 27 3.1.1 Phát biểu bài toán 27 3.1.2 Cách giải 27 3.2 Bài toán xếp thời khóa biểu ở trường học 30 3.2.1 Phát biểu bài toán 30 3.2.2 Cách giải 30 3.3 Bài toán dịch vụ hôn nhân 31 3.3.1 Phát biểu bài toán 31 3.3.2 Cách giải 31 KẾT LUẬN 33 DANH MỤC TÀI LIỆU THAM KHẢO 34 CHƯƠNG 1 ĐẠI CƯƠNG VỀ ĐỒ THỊ 1.1 CÁC KHÁI NIỆM CƠ BẢN 1.1.1 Đồ thị, đỉnh, cạnh, cung Định nghĩa 1.1. Đồ thị vô hướng G = (V, E) gồm tập V các đỉnh và tập E các cạnh. Mỗi cạnh được liên kết với một cặp đỉnh v, w (không kể thứ tự). Nếu cạnh e liên kết v, w thì ta nói cạnh e liên thuộc đỉnh v, w và các đỉnh v, w liên thuộc cạnh e. Ví dụ 1.1 Hình 1.1 là đồ thị vô hướng có tập đỉnh và tập cạnh E = {(1, 4), (3, 4), (3, 3), (3, 5), (4, 5), (5, 6)} Định nghĩa 1.2. Đồ thị có hướng G = (V, E) gồm tập V các đỉnh và tập E các cạnh có hướng gọi là cung. Mỗi cung được liên kết với một cặp đỉnh (v, w) có thứ tự.

Trang 1

Đề tài BÀI TOÁN GHÉP CẶP VÀ ỨNG DỤNG

NHÓM 8

(theo mục lục) Chữ ký

Nhận xét của giáo viên

1 Lê Diêm Hùng Chương 1: Đại cương về

đồ thị

2 Hồ Thị Mộng Điệp Chương 2: Bài toán

ghép cặp

3 Đào Thị Anh Thư Chương 3: Ứng dụng

4 Nguyễn Thị Phương Anh Chương 3: Ứng dụng và

báo cáo

Trang 2

MỤC LỤC

Chương 1 ĐẠI CƯƠNG VỀ ĐỒ THỊ

1.1 Các khái niệm cơ bản 3

1.2 Các loại đồ thị 5 1.3 Bậc, nửa bậc vào, nửa bậc ra 5

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

Chương 2 BÀI TOÁN GHÉP CẶP

2.1 Mạng 10

2.2 Bài toán ghép cặp 11

2.2.1 Phát biểu bài toán 11

2.2.2 Một số định nghĩa 12 2.2.3 Thuật toán giải bài toán ghép cặp 16

2.2.4 Bài toán ghép cặp tối ưu 23

Chương 3 ỨNG DỤNG CỦA BÀI TOÁN GHÉP CẶP

3.1 Bài toán phân công công việc 27

3.1.1 Phát biểu bài toán 27

3.1.2 Cách giải 27

3.2 Bài toán xếp thời khóa biểu ở trường học 30

3.2.1 Phát biểu bài toán 30

3.2.2 Cách giải 30

3.3 Bài toán dịch vụ hôn nhân 31

3.3.1 Phát biểu bài toán 31

3.3.2 Cách giải 31

KẾT LUẬN 33

DANH MỤC TÀI LIỆU THAM KHẢO 34

Trang 3

CHƯƠNG 1 ĐẠI CƯƠNG VỀ ĐỒ THỊ

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

1.1.1 Đồ thị, đỉnh, cạnh, cung

Định nghĩa 1.1 Đồ thị vô hướng G = (V, E) gồm tập V các đỉnh và tập

E các cạnh Mỗi cạnh e E được liên kết với một cặp đỉnh v, w (không kểthứ tự)

Nếu cạnh e liên kết v, w thì ta nói cạnh e liên thuộc đỉnh v, w và cácđỉnh v, w liên thuộc cạnh e

4

5

6

Hình 1.1

Trang 4

Ví dụ 1.2

Hình 1.2Hình 1.2 là một đồ thị có hướng với tập đỉnh V = {1, 2, 3, 4, 5, 6} vàtập cung E = {(1, 2), (2,3), (2, 4), (3, 4), (4, 5), (3, 5), (5, 6)}

Định nghĩa 1.3 Nếu thay mỗi cung của đồ thị có hướng G bằng một

cạnh, thì đồ thị vô hướng nhận được là đồ thị lót của G

Ví dụ 1.3

Đồ thị lót của đồ thị có hướng ở hình 1.2 là

Hình 1.3

1.1.2 Các khái niệm cơ bản khác

 Hai cạnh kề nhau là hai cạnh cùng liên thuộc một đỉnh

 Hai đỉnh kề nhau là hai đỉnh cùng liên thuộc một cạnh

 Hai cạnh gọi là song song nếu chúng liên kết với cùng một cặp đỉnh

 Khuyên là cạnh có hai đỉnh liên kết trùng nhau

 Đỉnh cô lập là đỉnh không liên kết với bất kỳ đỉnh nào khác

 Đỉnh treo là đỉnh chỉ liên kết với một đỉnh duy nhất

Trang 5

 Số đỉnh của đồ thị gọi là bậc của đồ thị, ký hiệu d(G).

 Số cạnh của đồ thị gọi là cỡ của đồ thị, ký hiệu card(G)

Hình 1.4

Trang 6

Bậc: Cho đồ thị G = (V, E) Bậc của đỉnh v V là tổng số cạnhliên thuộc với nó và ký hiệu là d(v).

Nếu đỉnh có khuyên thì khuyên được tính là 2 khi tính bậc, như vậy:

d(v) = số cạnh liên thuộc đỉnh v + 2* số khuyên

Như vậy đỉnh cô lập trong đồ thị đơn là đỉnh có bậc bằng 0 Đỉnh treo

là đỉnh có bậc bằng 1

Bậc lớn nhất của các đỉnh trong đồ thị G ký kiệu là ( )G và bậc nhỏnhất của các đỉnh trong G ký hiệu là ( )G

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

Nửa bậc ra của đỉnh v, kí hiệu d0(v) là số cung đi ra từ đỉnh v (v là đỉnhđầu)

Nửa bậc vào của đỉnh v, kí hiệu dI(v) là số cung đi tới đỉnh v (v là đỉnhcuối)

1.3.2 Các định lý về bậc

Định lý 1.5 Cho đơn đồ thị G có số đỉnh lớn hơn 1 Khi đó G có ít nhất

hai đỉnh có cùng bậc

Chứng minh

Xét đồ thị G có n đỉnh Trong G không thể có đồng thời một đỉnh bậc 0

và một đỉnh bậc n Thật vậy, nếu G có một đỉnh bậc 0 thì không có cạnh nàonối đỉnh này với n-1 đỉnh còn lại trong G, do đó n-1 đỉnh còn lại của G có bậc

là một trong n-2 số 1,2,3,…,n-2 Nếu G không có đỉnh bậc 0 thì n đỉnh có bậc

là một trong n-1 số 1,2,3,…,n-1 Theo nguyên lý Dirichlet trong cả hai trườnghợp G có ít nhất hai đỉnh có cùng bậc

Định lý 1.6 Cho đồ thị G = (V,E) Khi đó tổng bậc các đỉnh của đồ thị

Trang 7

Mỗi cạnh e( , )u vE tham gia tính 1 bậc ở đỉnh u và 1 bậc ở đỉnh v.

Trang 8

Số cạnh trên dãy  gọi là độ dài của dãy  Dãy  từ đỉnh v đến đỉnh

w có độ dài n được biểu diễn như sau:

v e v e v, , , , , ,1 1 2 2 v n 1, ,we n

trong đó ,v i i 1,n 1 là các đỉnh trên dãy và ,e i i 1,n là các cạnh trên dãyliên thuộc đỉnh kề trước và kề sau nó Các đỉnh và cạnh trên dãy có thể lặp lại

Định nghĩa 1.16 Đường đi từ đỉnh v đến đỉnh w là dãy từ đỉnh v đến

đỉnh w trong đó các cạnh không lặp lại

Định nghĩa 1.17 Đường đi sơ cấp là đường đi không qua một đỉnh quá

một lần

Định nghĩa 1.18 Vòng là dãy có đỉnh đầu và đỉnh cuối trùng nhau Định nghĩa 1.19 Chu trình là đường đi có đỉnh đầu và đỉnh cuối trùng

nhau

Trang 9

Định nghĩa 1.20 Chu trình sơ cấp là chu trình không đi qua một đỉnh

quá một lần

Định nghĩa 1.21 Đồ thị vô hướng được gọi là liên thông nếu mọi cặp

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

Định lý 1.9 Mọi chu trình đồ thị phẳng có độ dài chẵn khi và chỉ khi

mọi mặt của đồ thị có bậc chẵn

Định lý 1.10 (Công thức Euler) Cho G là đồ thị liên thông phẳng có e

cạnh, v đỉnh và f mặt Khi đó ta có công thức: f=e-v+2

Định lý 1.11 Cho G là đơn đồ thị liên thông phẳng có e cạnh, v đỉnh và

đai g, không có đỉnh treo Khi đó ta có ( 2)

v  ), không có đỉnh treo Khi đó ta có: e3v 6

Hệ quả 1.4 Cho G là đơn đồ thị phẳng liên thông với e cạnh và v đỉnh (

3

v  ), không có đỉnh treo và không có chu trình độ dài 3 Khi đó ta có:

2 4

ev

Trang 10

CHƯƠNG 2 BÀI TOÁN GHÉP CẶP

2.1 MẠNG

Mạng

Mạng là đơn đồ thị có hướng G = (V, E, c) thỏa mãn

(i) Có duy nhất 1 đỉnh, gọi là nguồn, không liên thuộc cung vào

(ii) Có duy nhất 1 đỉnh, gọi là đích, không liên thuộc cung ra

(iii) Trọng số cij của cung (i, j) là các số không âm và gọi là khả năngthông qua của cung

(iv) Đồ thị liên thông yếu

Ví dụ 2.1 Đồ thị sau là mạng với nguồn là đỉnh a và đích là đỉnh z

Ta có khả năng thông qua cab = 3, cbc = 2, cad = 5, cdc = 2, cde = 2, ccz = 4,

cez = 4

Luồng Cho mạng G với khả năng thông qua cij, ( i, j)  G Tập các giátrị

{ fij│( i, j)  G }gọi là luồng trên mạng G nếu thỏa mãn

(i) 0 ≤ fij ≤ cij  (i, j)  G

(ii) (i,k)G f ik = (k,j)G f kj  k  V \ { a; z}

Giá trị luồng Cho luồng f trên mạng G Giá trị của luồng f là đại lượng

Trang 11

v(f) = (a ),iG f ai = (i,z)G f iz

2.2 BÀI TOÁN GHÉP CẶP

2.2.1 Phát biểu bài toán

Ta xét bài toán sau Cho tập X và Y Mỗi phần tử của X có thể ghépvới một số phần tử của Y Vấn đề đặt ra là tìm cách ghép mỗi phần tử của Xvới một số phần tử của Y sao cho số cặp ghép là lớn nhất

Ví dụ 2.3 Có 4 người A, B, C, D xếp làm các công việc 1, 2, 3, 4, 5.

Giả sử: A có thể làm công việc 2, 5

V1 = {A, B, C, D} V2 = { 1, 2, 3, 4, 5} và

E = { (A,2),(A,5),(B,2),(B,5),(C,1),(C,3),(C,4),(C,5),(D,2),(D,5) }

Hình 2.11

Trang 12

Việc bố trí cho mỗi người một công việc phù hợp quy về tìm 4 cungđôi một không kề nhau của đồ thị.

Trước hết chúng ta định nghĩa bài toán tổng quát

2.2.2 Một số định nghĩa

Cho đồ thị G Một bộ ghép (matching) của đồ thị G là một tập hợp các

cạnh (cung) của G, đôi một không kề nhau

Bài toán ghép cặp (Matching problem) của G là tìm bộ ghép có số cạnh

(cung) lớn nhất của G

Bộ ghép cực đại là bộ ghép có số cạnh (cung) lớn nhất Lực lượng của

bộ ghép cực đại kí hiệu là α1(G)

Cho G = (X,Y,E) là đơn đồ thị lưỡng phân

Bộ ghép đầy đủ từ X vào Y là bộ ghép cực đại có lực lượng bằng lực

lượng của X

Bộ ghép hoàn hảo là bộ ghép đầy đủ từ X vào Y và từ Y vào X (suy ra

card(X) = card(Y))

Đưa bài toán ghép cặp về mạng chuẩn

Xét đơn đồ thị lưỡng phân G = (X, Y, E)

Ta sẽ đưa bài toán ghép cặp cuả đồ thị G về bài toán luồng cực đại nhưsau

Từ đồ thị G ta xây dựng mạng G’ gồm tập các đỉnh

V’ = {s} X Y  {t }

Tập các cung E’ = {(s,x)│x  X }  E  {(y,t)│yY}

và khả năng thông qua

Csx = 1 x  X

Cyt = 1 y  Y

Cxy = + x  X, y Y, (x,y)  E

2.2.3 Các định lý

Trang 13

Định lý 2.5 Xét bài toán ghép cặp của G = (X, Y, E) và bài toán luồng cực

đại trên mạng G’ Khi đó

(i) Mọi luồng f = {fxy} của G’ sinh bởi thuật toán tìm luồng cực đạixác định một bộ ghép của G

(ii) Mọi luồng cực đại f = {fxy} của G’ sinh bởi thuật toán tìm luồngcực đại xác định một bộ ghép cực đại của G

(iii) Mọi luồng cực đại f = {fxy} của G’ sinh bởi thuật toán tìm luồngcực đại có giá trị │X│xác định một bộ ghép đầy đủ của G

Trang 14

Sử dụng thuật toán tìm luồng cực đại ta dễ dàng tìm được luồng cực đại

có giá trị cực đại bằng 3 cho ở hình 2.13

Trang 15

E(P) = {(x,y)  E’│x P & y P } = E1 E2E3

Các tập E1, E2 và E3 rời nhau từng đôi một nên

│E(P)│=│E1+│E2+│E3│≥│X│-│PX│+R(PX)-│PY│+│PY│≥ │X│

Từ đó suy ra lát cắt cực tiểu có khả năng thông qua là│X│ Theo định

lý luồng cực đại lát cắt cực tiểu, luồng cực đại có giá trị │X│ Vậy bộ ghéptương ứng là đầy đủ

Định lý 2.7 (Định lí kết hôn Konig) Nếu đồ thị lưỡng phân đơn G=(X, Y, E)

là k- bậc (các đỉnh đều có bậc là k>0), thì tồn tại bộ ghép hoàn hảo

Chứng minh:

Cho A  X bất kì và f(A) là tập các đỉnh trong Y kề với đỉnh trong A

Ký hiệu E1 là tập các cạnh liên thuộc các đỉnh trong A và E2 là tập các cạnhliên thuộc các đỉnh trong f(A) Khi đó card(E1) ≤ card(E2) Mặt khác ta cócard(E1) = k card(A) và card(E2) = k card(f(A)) Suy ra card(A) ≤ card(f(A)).Như vậy, theo định lý kết hôn Hall, tồn tại bộ ghép đầy đủ từ X vào Y

Trong đồ thị lưỡng phân G=(X,Y,E), mỗi cạnh sẽ tham gia tính 1 bậc

Trang 16

bằng tổng bậc các đỉnh trong Y ( và bằng số cạnh) Vì các đỉnh trong G đều

có bậc k > 0, nên X và Y có số đỉnh bằng nhau Suy ra tồn tại bộ ghép hoànhảo của G

2.2.3 Thuật toán giải bài toán ghép cặp

Một đường mở (augmeting path) của M là 1 đường pha của M kết thúcbằng 1 đỉnh Y- đỉnh chưa ghép

Từ 1 đỉnh u thuộc X chưa ghép, ta có thể xây dựng 1 cây pha(alternating tree) gốc u gồm tất cả các đường pha bắt đầu từ u (các đường phanày không có đỉnh chung nào khác ngoài u)

Một cây pha có chứa ít nhất 1 đường mở gọi là cây mở (augmetingtree), nếu không ta gọi nó là 1 cây đóng (Hungarian tree), gốc u của cây đóngnày gọi là đỉnh đóng (Hungarian acorn)

Ý tưởng của giải thuật : Chúng ta bắt đầu với 1 bộ ghép M bất kì Nếu M

chứa mọi đỉnh trong X thì nó là 1 bộ ghép cực đại Nếu không, ta chọn 1 đỉnh

u chưa ghép thuộc X và tìm kiếm 1 cách hệ thống cho 1 đường mở M với gốcu

Để tìm bộ ghép tối đại của một đồ thị lưỡng phân G, ta dùng giải thuậtđường mở sau:

Giải thuật đường mở (Augmenting path/ Hungarian Algorithm)

Trang 17

Xây dựng bộ ghép M như sau:

Bước 1: Mọi đỉnh thuộc X là chưa kiểm tra Đặt M = Ø

Bước 2: Nếu mọi đỉnh thuộc X chứa ghép đều đã kiểm tra thì dừng Bộghép nhận được là cực đại

Bước 3: Nếu không, chọn một đỉnh u thuộc X chưa ghép và chưa kiểmtra để xây dựng 1 cây pha gốc u

Bước 4: Nếu cây pha này là cây mở thì qua bước 5, nếu không, đánhdấu u là đã kiểm tra rồi quay về bước 2

Bước 5: Thực hiện thủ tục mở rộng M bằng cây mở như sau:

Trên đường mở, loại bỏ các cạnh trong M và thêm vào các cạnh ngoài

M để nhận được bộ ghép mới

Đánh dấu mọi đỉnh thuộc X là chưa kiểm tra

Quay về bước 2

Trang 18

Sơ đồ khối của giải thuật này là

END

Xây dựng cây pha gốc u

Mở rộng M Đánh dấu tất cả các đỉnh X là “chưa kiểm

tra”

Đánh dấu u “đã kiểm tra”

Mọi đỉnh chưa kiểm tra M  Ø

Các đỉnh thuộc tập X chưa ghép cặp, đã kiểm

Trang 19

Định lí: Bộ ghép nhận được khi áp dụng giải thuật đường mở vào đồ thị

lưỡng phân G là cực đại

Trang 20

Ma trận liên kết của G là:

a b c d e f g h

H G F E D C B A

1

1 1

1 1

1 1

1 1

1

1 1

1 1

1 1

1 1

1

1 1

1 1

Trang 23

Cuối cùng, xét đỉnh H, cây gốc pha H là:

Không mất tính tổng quát, ta giả thiết G = Kn,n ( nếu cần, có thể thêm cácđỉnh giả và cạnh giả với trọng số +) với X=Y={1,2,…,n } Ký hiệu A=

aij là ma trận trọng số, trong đó aij là trọng số cạnh (i,j) Như vậy lời giảicủa bài toán ghép cặp tối ưu là tìm n phần tử của ma trận A thỏa

(i) không có hai phần tử nằm trên một hàng hoặc một cột

Trang 24

Như vậy ghép cặp tối ưu của ma trận A cũng là ghép cặp tối ưu của ma trậnA’ và ngược lại.

Từ phân tích trên ta suy ra phương pháp tìm ghép cặp tối ưu như sau:

Với mỗi hàng của A ta trừ đi phần tử nhỏ nhất sao cho mỗi hàng có ít nhất một phần tử bằng 0.

Sau đó với mỗi cột của A ta trừ đi phần tử nhỏ nhất sao cho mỗi cột có ít nhất một phần tử bằng 0.

3 6

2 5

2 6

5 3

3 6

4 2

4 5

Trừ hàng 1 cho 2, hàng 2 cho 3, hàng 3 cho 2 và hàng 4 cho 2 ta nhận được

1 4

3 3

0 4

2 0

0 3

2 0

2 3

Tiếp tục trừ cột 1 cho 3 ta nhận được ma trận hiệu chỉnh A’

1 1

0 3

0 1

2 0

0 0

2 0

2 0

Ma trận đơn vị hoán vị ghép cặp với A’ là

0 0

1 0

0 0

0 0

1 0

0 0

0 1

Như vậy, ứng với các phần tử khác 0 của P ta có bộ ghép cực đại tối ưu

M ={(1,1),(2,2),(3,4),(4,3) }Với tổng trọng số

W(M) = 5 + 3 + 2 + 2 = 12

Thủ tục xác định ma trận đơn vị hoán vị ghép cặp

Nếu ma trận hiệu chỉnh A’ có ma trận đơn vị ghép cặp P, thì ta có thể tìm

ma trận P bằng thủ tục sau:

Trang 25

Chọn hàng hoặc cột có số phần tử 0 là ít nhất Chọn phần tử 0 bất kì trên hàng hoặc cột được chọn và gạch loại hàng và cột chứa phần tử 0 đó khỏi ma trận.

Tiếp tục quá trình trên cho đến khi xác định được n phần tử 0 Các phần

tử 0 này sẽ ứng với các phần tử ≠ 0 của P.

Ví dụ 2.8 Ma trận trọng số A có ma trận hiệu chỉnh A’ như sau

5 6

7

1 4

3 2

5

1 1

4 3

1

5 4

2 2

6

4 2

3 1

2 3

4

0 3

2 1

4

0 0

3 2

0

3 2

0 0

4

3 1

2 0

3

Áp dụng thủ tục trên ta lần lượt chọn được các phần tử 0 trên các ô (1,2),

(2,3), (4,5), (3,1), (5,4) Từ đó ta có bộ ghép cực đại tối ưu

M = {(1,2),(2,3),(4,5),(3,1),(5,4) } Với tổng trọng số

W(M) = 1 + 2 + 1 + 1 + 3 = 8

Phương pháp Hungary

Thủ tục trên không phải khi nào cũng cho kết quả Chẳng hạn trongtrường hợp phần tử 0 duy nhất của hai hàng nằm trên 1 cột Trong trường hợpnhư vậy ta phải phân bố lại các phần tử 0 của ma trận hiệu chỉnh để có thểghép cặp với ma trận đơn vị hoán vị.Theo định lý Konig- Egervary, số phần

tử 0 cực đại, trong đó không có hai phần tử trên cùng hàng hoặc cùng cộtbằng số cực tiểu hàng và cột phủ tất cả phần tử 0

Giả thiết số cực tiểu hàng và cột phủ tất cả phần tử 0 là k < n Ta tìm

phần tử nhỏ nhất t trong các phần tử không bị phủ Sau đó ta trừ các phần tử

trên các hàng không phủ đi một lượng t Điều này sẽ làm xuất hiện các phần

tử âm (-t) trên các cột phủ Để khử các phần tử âm này, ta cộng các phần tử

Trang 26

phần tử 0 được phân phối lại Tiếp tục quá trình này cho đến khi ta nhận được

n hàng và cột phủ

Trang 27

CHƯƠNG 3

ỨNG DỤNG CỦA BÀI TOÁN GHÉP CẶP

3.1 BÀI TOÁN PHÂN CÔNG CÔNG VIỆC

3.1.1 Phát biểu bài toán

Trong 1 công ty, có n người công nhân x1, x2, …, xn và n công việc y1,

y2,…,yn Mỗi người công nhân là có thể làm được 1 hoặc nhiều hơn một việc.Tìm điều kiện để tất cả công nhân đều có việc phù hợp

3.1.2 Cách giải

Dựng 1 đồ thị lưỡng phân G = (X, Y, E) với X = {x1,x2, …, xn} biểuthị n người công nhân, Y = { y1,y2,…,yn} biểu thị n công việc và xi là kết hợpvới yj nếu và chỉ nếu người công nhân xi là làm được công việc yj Bài toántrở thành xác định có hay không một bộ ghép hoàn hảo trong đồ thị G

Áp dụng thuật toán giải bài toán ghép cặp đã trình bày trong chương 2

Ví dụ 3.1 Có 8 người công nhân {A, B, C, D, E, F, G, H} và các công

việc {a, b, c, d, e, f, g, h} Mỗi người công nhân là có thể làm được các côngviệc được cho trong đồ thị dưới đây Hãy tìm một bộ ghép tối đại cho đồ thịlưỡng phân này

Hình 3.1

Trang 28

1 1

1 1

1 1

1 1

1 1

1

1 1

1 1

Trang 29

Đây là cây đóng vì không chứa đường mở nào cả Bộ ghép sau cùng là

bộ ghép tối đại của G

Trang 30

3.2 BÀI TOÁN XẾP THỜI KHÓA BIỂU Ở TRƯỜNG HỌC

3.2.1 Phát biểu bài toán

Cho danh sách một số giáo viên và danh sách các lớp học được dạy bởicác giáo viên này Giả sử rằng có đủ phòng học để cho các giáo viên thựchiện các tiết giảng của mình tại các lớp nhưng tại một thời điểm thì một giáoviên chỉ có thể dạy tại một lớp và cùng một lúc tại một lớp không thể có nhiềuhơn một giáo viên dạy Hãy bố trí cho các giáo viên thực hiện các tiết giảngcủa mình tại các lớp, sao cho số lượng giáo viên tham gia là nhiều nhất

3.2.2 Cách giải

Xây dựng đồ thị lưỡng phân G=(X, Y, E) Với X là tập các giáo viên, Y

là tập các lớp học Một đỉnh x trong tập X được nối với một đỉnh y trong tập

Y nếu và chỉ nếu giáo viên x có tiết giảng ở lớp y

Vậy việc bố trí cho các giáo viên thực hiện các tiết giảng của mình tạicác lớp, sao cho số lượng giáo viên tham gia là nhiều nhất, trở thành xác địnhmột bộ ghép cực đại của đồ thị G

Ví dụ 3.2 Chẳng hạn bảng sau cho biết danh sách các giáo viên

a b c d e f g tham gia giảng dạy tại một số lớp , , , , , ,  1,2,3,4,5,6 Hãy bố trí

cho các giáo viên thực hiện các tiết giảng của mình tại các lớp, sao cho sốlượng giáo viên tham gia là nhiều nhất

( Như bảng dưới thì giáo viên a sẽ không dạy tại các lớp 3,5,6)

Ngày đăng: 31/05/2014, 09:25

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Trần Quốc Chiến (2005), Giáo trình lý thuyết đồ thị, Đại học Đà Nẵng [2] Trần Quốc Chiến, Báo cáo về luồng cực đại, , Đại học Đà Nẵng Sách, tạp chí
Tiêu đề: Giáo trình lý thuyết đồ thị", Đại học Đà Nẵng[2] Trần Quốc Chiến, "Báo cáo về luồng cực đại
Tác giả: Trần Quốc Chiến
Năm: 2005
[3] Nguyễn Đức Nghĩa – Nguyễn Tô Thành (2002), Toán Rời Rạc, NXB Đại Học Quốc Gia Hà Nội Sách, tạp chí
Tiêu đề: Toán Rời Rạc
Tác giả: Nguyễn Đức Nghĩa – Nguyễn Tô Thành
Nhà XB: NXB Đại Học Quốc Gia Hà Nội
Năm: 2002
[4] Đặng Huy Ruận (2004), Lý thuyết đồ thị và ứng dụng, NXB Khoa học và kỹ thuật Sách, tạp chí
Tiêu đề: Lý thuyết đồ thị và ứng dụng
Tác giả: Đặng Huy Ruận
Nhà XB: NXB Khoa học và kỹ thuật
Năm: 2004
[5] Nguyễn Cam – Chu Đức Khánh (1999), Lý thuyết đồ thị, NXB Tổng Hợp TP Hồ Chí Minh.Tiếng Anh Sách, tạp chí
Tiêu đề: Lý thuyết đồ thị
Tác giả: Nguyễn Cam – Chu Đức Khánh
Nhà XB: NXB Tổng Hợp TP Hồ Chí Minh. Tiếng Anh
Năm: 1999
[6] V.K. Balakrishnan (2005), Graph theory, Tokyo Sách, tạp chí
Tiêu đề: Graph theory
Tác giả: V.K. Balakrishnan
Năm: 2005
[7] J.A. Bondy and U.S.R. Murty (2002), Graph theory with application, New York Sách, tạp chí
Tiêu đề: Graph theory with application
Tác giả: J.A. Bondy and U.S.R. Murty
Năm: 2002

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w