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

Bài toán ghép cặp và ứng dụng trong công tác tuyển sinh

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 (1.07 MB, 130 trang )

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Style Definition: TOC 1: Justified, Right:
-0.02", Tab stops: 6.13", Right,Leader: … +
Not at 6.33"
Style Definition: TOC 2: Tab stops: 0.38",
Left
Style Definition: TOC 3: Right: -0.02", Tab
stops: 6.13", Right,Leader: … + Not at 6.38"

NGUYỄN HỒNG HẢI

BÀI TOÁN GHÉP CẶP VÀ ỨNG DỤNG
TRONG CÔNG TÁC TUYỂN SINH

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái Nguyên - 2015


2

MỤC LỤC
LỜI CẢM ƠN ....................................................................................................... 64
DANH MỤC VIẾT TẮT ....................................................................................... 75
DANH MỤC CÁC HÌNH ..................................................................................... 86
DANH MỤC CÁC BẢNG .................................................................................. 107
Lời nói đầu .......................................................................................................... 118
Chương 1: TỔNG QUAN MỘT SỐ VẤN ĐỀ VỀ ĐỒ THỊ................................1511


1.1.Các khái niệm cơ bản....................................................................................1511
1.1.1.Đồ thị ........................................................................................................1511
1.1.2.Đồ thị hai phía ...........................................................................................1511
1.1.3.Đồ thị hai phía đầy đủ ................................................................................1612
1.2.Bài toán ghép cặp không trọng......................................................................1814
1.2.1. Bài toán ....................................................................................................1814
1.2.2.Thuật toán đường mở .................................................................................2016
1.3.Bài toán ghép cặp với trọng số cực tiểu.........................................................2217
1.3.1.Bài toán .....................................................................................................2217
1.3.2.Các khái niệm ............................................................................................2318
1.3.3.Thuật toán Hungari ....................................................................................2419
1.4. Bài toán ghép cặp với trọng số cực đại.........................................................2621
1.4.1.Bài toán .....................................................................................................2622
1.4.2.Thuật toán..................................................................................................2722
1.5.Kết luận chương ...........................................................................................2924
Chương 2: BÀI TOÁN GHÉP CẶP....................................................................3025
2.1.Giới thiệu bài toán ........................................................................................3025
2.1.1.Phát biểu bài toán ......................................................................................3025
2.2.Bài toán hôn nhân bền vững .........................................................................3227

Formatted: Font: 14 pt
Formatted: Font: Not Bold


3

2.2.1.Giới thiệu bài toán .....................................................................................3227
2.2.2.Đặt bài toán ...............................................................................................3328
2.2.3.Các đặc trưng của bài toán .........................................................................3429
2.2.4.Điều kiện giải bài toán ...............................................................................3530

2.2.5.Thuật toán cho bài toán hôn nhân bền vững ...............................................3530
2.2.5.1.Ý tưởng và lược đồ thuật toán .................................................................3630
2.2.5.2.Tính ổn định và bền vững .......................................................................4135
2.2.6.Triển khai thuật toán ..................................................................................4540
2.3.Một số ứng dụng phát triển dựa trên thuật toán hôn nhân bền vững ..............4842
2.3.1.Bài toán ghép tạng (cho và nhận thận) .......................................................4942
2.3.2.Bài toán ghép cặp bác sĩ thực tập và bệnh viện ..........................................4943
2.4.Kết luận chương ...........................................................................................5043
Chương 3: ỨNG DỤNG THUẬT TOÁN GHÉP CẶP TRONG BỐI CẢNH
TUYỂN SINH ĐẠI HỌC Ở NƯỚC TA .............................................................5145
3.1.Giới thiệu bài toán tuyển sinh ở nước ta ........................................................5145
3.2.Ý nghĩa bài toán ...........................................................................................5246
3.3.Đặt bài toán ..................................................................................................5448
3.4.Ý tưởng giải quyết bài toán ...........................................................................5549
3.5.Áp dụng bài toán hôn nhân bền vững ............................................................5549
3.6.Sự khác nhau giữa bài toán hôn nhân bền vững và tuyển sinh đại học...........5650
3.7.Thuật toán.....................................................................................................5851
3.8.Tính ổn định của thuật toán...........................................................................6256
3.9.Kết luận chương ...........................................................................................6660
KẾT LUẬN ........................................................................................................6861
TÀI LIỆU THAM KHẢO ..................................................................................6962
LỜI CẢM ƠN ......................................................................................................... 4

Formatted: Tab stops: Not at 6.13"


4

DANH MỤC CÁC HÌNH ....................................................................................... 5
Chương 1: TỔNG QUAN MỘT SỐ VẤN ĐỀ VỀ ĐỒ THỊ................................... 10

1.1.

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

1.1.1. Đồ thị........................................................................................................... 10
1.1.2. .................................................................................................. Đồ thị hai phía

Formatted: Font: Times New Roman, 13 pt

10

Formatted: Font: Times New Roman, 13 pt
Formatted: Font: Times New Roman, 13 pt

1.1.3. ....................................................................................... Đồ thị hai phía đầy đủ 12

Formatted: Font: Times New Roman, 13 pt

1.1.4. .......................................................................... Bài toán ghép cặp không trọng

Formatted: Font: Times New Roman, 13 pt

a.

Bài toán ......................................................................................................... 14

b.

Thuật toán đường mở .................................................................................... 15


14

Formatted: Font: Times New Roman, 13 pt
Formatted: Font: Times New Roman, 13 pt
Formatted: Font: Times New Roman, 13 pt
Formatted: Tab stops: Not at 6.13"

1.1.5. .............................................................Bài toán ghép cặp với trọng số cực tiểu 17

Formatted: Font: Times New Roman, 13 pt

a.

Bài toán ......................................................................................................... 17

Formatted: Font: Times New Roman, 13 pt

b.

Các khái niệm................................................................................................ 18

c.

Thuật toán Hungari ........................................................................................ 19

Formatted: Tab stops: Not at 6.13"

1.1.6. Bài toán ghép cặp với trọng số cực đại ......................................................... 20

Formatted: Font: Times New Roman, 13 pt

Formatted: Font: Times New Roman, 13 pt

a. Bài toán 21

Formatted: Tab stops: Not at 6.13"

b. Thuật toán ......................................................................................................... 21
1.2. Kết luận chương ............................................................................................. 23
Formatted: Font: Not Bold

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

Formatted: Font: Times New Roman, 13 pt,
Not Bold

2.1. Giới thiệu bài toán .......................................................................................... 24

Formatted: Font: Times New Roman, 13 pt
Formatted: Font: Times New Roman, 13 pt

2.1.1. Phát biểu bài toán ........................................................................................ 24

Formatted: Font: Times New Roman, 13 pt

2.1.2. Các định nghĩa ............................................................................................. 24

Formatted: Not Highlight
Formatted: Font: Times New Roman, 13 pt

2.1.3. Các trường hợp giải bài toán ghép cặp ......................................................... 25


Formatted: Tab stops: Not at 6.13"

2.2. Bài toán hôn nhân bền vững............................................................................ 26

Formatted: Font: Times New Roman, 13 pt
Formatted: Font: Times New Roman, 13 pt

2.2.1. Giới thiệu bài toán ....................................................................................... 26

Formatted: Font: Times New Roman, 13 pt

2.2.2. Đặt bài toán ................................................................................................. 26

Formatted: Font: Times New Roman, 13 pt
Formatted: Font: Times New Roman, 13 pt

2.2.3. ................................................................................ Các đặc trưng của bài toán

28

2.2.4. ...................................................................................... Điều kiện giải bài toán

28

Formatted: Font: Times New Roman, 13 pt

2.2.5. ...................................................... Thuật toán cho bài toán hôn nhân bền vững

29


Formatted: Font: Times New Roman, 13 pt

Formatted: Font: Times New Roman, 13 pt

Formatted: Font: Times New Roman, 13 pt


5

a. Ý tưởng và lược đồ thuật toán ...................................................................... 29

Formatted: Font: Times New Roman, 13 pt

b. Tính ổn định và bền vững ............................................................................. 34

Formatted: Font: Times New Roman, 13 pt

2.2.6. ......................................................................................... Triển khai thuật toán

38

Formatted: Font: Times New Roman, 13 pt
Formatted: Font: Times New Roman, 13 pt

a. Thiết kế chương trình ......................................................................................... 38

Formatted: Tab stops: Not at 6.13"

b. Hệ thống 38

c. Chương trình...................................................................................................... 39
2.3.

Một số ứng dụng phát triển dựa trên thuật toán hôn nhân bền vững ............. 40

2.3.1. .............................................................. Bài toán ghép tạng (cho và nhận thận) 40
2.3.2. ................................................. Bài toán ghép cặp bác sĩ thực tập và bệnh viện
2.4.

Kết luận chương .......................................................................................... 41

40

Formatted: Font: Times New Roman, 13 pt
Formatted: Font: Times New Roman, 13 pt
Formatted: Font: Times New Roman, 13 pt
Formatted: Font: Times New Roman, 13 pt
Formatted: Tab stops: Not at 6.13"

Chương 3: ỨNG DỤNG THUẬT TOÁN GHÉP CẶP TRONG BỐI CẢNH
TUYỂN SINH ĐẠI HỌC Ở NƯỚC TA. ............................................................... 42
3.1.

Giới thiệu bài toán tuyển sinh ở nước ta. ...................................................... 42

3.2.

Ý nghĩa bài toán .......................................................................................... 43

3.3.


Đặt bài toán ................................................................................................. 45

3.4.

Ý tưởng giải quyết bài toán .......................................................................... 46

3.5.

Áp dụng bài toán hôn nhân bền vững ........................................................... 46

3.6.

Sự khác nhau giữa bài toán hôn nhân bền vững và tuyển sinh đại học.......... 46

3.7.

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

3.8.

Tính ổn định của thuật toán ......................................................................... 52
Formatted: Font: 12 pt

Formatted: Centered


6

LỜI CẢM ƠN

Để hoàn thành luận văn này, emtôi xin bày tỏ lòng biết ơn sâu sắc đến cô

Formatted: Font: 14 pt

giáo hướng dẫn TS. Nguyễn Thị Hồng Minh đã tận tình hướng dẫn em tôi
trong suốt quá trình thực hiện luận văn.
EmTôi xin chân thành cảm ơn quý Thầy, Cô trong trường Đại học Công
nghệ Tthông tin & Truyền thông - Đại học Thái Nguyên; quý Thầy, Cô trong
Viện Công nghệ thông tin đã tận tình truyền đạt kiến thức cho chúng emtôi
trong 2 năm học tập và nghiên cứu. Với vốn tiếp thu trong khóa học không
chỉ là nền tảng cho quá trình nghiên cứu luận văn này mà còn là hành trang
quý báu, nền tảng vững chắc để emtôi tiếp tục nghiên cứu, hoạt động trong
lĩnh vực công nghệ thông tin.
Cuối cùng Em xixin cảm ơn gia đình, bạn bè, đồng nghiệp đã giúp đỡ
và động viên tôi em trong công việc và học tập cũng như trong quá trình thực

Formatted: Font: 14 pt, Font color: Auto
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Font color: Auto
Formatted: Font: 14 pt

hiện luận văn này.

Formatted: Font: 14 pt, Font color: Auto

Xin chúc mọi người luôn mạnh khoẻ, đạt được nhiều thành tích cao
trong công tác, học tập và nghiên cứu khoa học!

Formatted: Font: 14 pt


Trân trọng cảm ơn!
Thái Nguyên, ngày 12 tháng 5 năm 2015
Tác giả

Nguyễn Hồng Hải

Formatted Table
Formatted: Font: Bold, Not Italic

Formatted: Font: Bold, Not Italic
Formatted: Centered


7

Formatted: Font: Not Bold

DANH MỤC VIẾT TẮT
Viết tắt

Viết đầy đủ

Ý nghĩa

Đpcm

Điều phải chứng minh

Điều phải chứng minh


THPT

Trung học phổ thông

Trường trung học phổ thông

Formatted: Font: Times New Roman, 13 pt
Formatted: Indent: Left: 0"
Formatted Table
Formatted: Font: Times New Roman, 13 pt
Formatted: Font: Times New Roman, 13 pt
Formatted: Centered, Indent: Left: 0"
Formatted: Font: Times New Roman, 13 pt
Formatted: Indent: Left: 0"
Formatted: Centered, Indent: Left: 0"
Formatted: Font: Times New Roman, 13 pt
Formatted: Indent: Left: 0"
Formatted: Font: Times New Roman, 13 pt
Formatted: Font: Times New Roman, 13 pt


8

DANH MỤC CÁC HÌNH
Hình 1. Đồ thị.................................................................................................... 1511
Hình 2. Đồ thị hai phía không có chu trình ........................................................ 1612
Hình 3. Đồ thị hai phía có chu trình ................................................................... 1612
Hình 4.Đồ thị không phải đồ thị hai phía ........................................................... 1612

Formatted: Font: Times New Roman, 13 pt

Formatted: Font: 13 pt
Formatted: Font: Times New Roman, 13 pt
Formatted: Font: 13 pt
Formatted: Font: Times New Roman, 13 pt
Formatted: Font: 13 pt

Hình 5.Đồ thị hai phía đầy đủ hình sao .............................................................. 1713

Formatted: Font: Times New Roman, 13 pt

Hình 6. Đồ thị hai phía đầy đủ hình vuốt cây ..................................................... 1713

Formatted: Font: 13 pt

Hình 7. Đồ thị hai phía đầy đủ m≠n ................................................................... 1814
Hình 8.Đồ thị hai phía đầy đủ m=n .................................................................... 1814

Formatted: Font: Times New Roman, 13 pt
Formatted: Font: 13 pt
Formatted: Font: Times New Roman, 13 pt
Formatted: Font: 13 pt

Hình 9. Đồ thị hai phía và bộ ghép M ................................................................ 2016
Hình 10. Chú thích trong 1 ô của bảng.............................................................. 3832

Formatted: Font: Times New Roman, 13 pt
Formatted: Font: 13 pt
Formatted: Font: Times New Roman, 13 pt

Hình 11. Khai báo số lượng người đàn ông và số lượng người phụ nữ tham gia


Formatted: Font: 13 pt

ghép cặp ............................................................................................................ 4741

Formatted: Font: Times New Roman, 13 pt
Formatted: Font: 13 pt

Hình 12. Khai báo tập có thứ tự về tiêu chuẩn lựa chọn của mỗi người đàn ông 4741
Hình 13. Khai báo tập có thứ tự về tiêu chuẩn lựa chọn của mỗi người phụ nữ .. 4841

Formatted: Font: Times New Roman, 13 pt
Formatted: Font: 13 pt
Formatted: Font: Times New Roman, 13 pt

Hình 14. Kết quả thực hiện chương trình ........................................................... 4842

Formatted: Font: 13 pt

Hình 15. Chú thích trong 1 ô của bảng............................................................... 6053

Formatted: Font: Times New Roman, 13 pt
Formatted: Font: 13 pt

Hình 1. Đồ thị............................................................................................................. 11

Formatted: Font: Times New Roman, 13 pt
Formatted: Font: 13 pt

Hình 2. Đồ thị hai phía không có chu trình ................................................................. 12

Hình 3. Đồ thị hai phía có chu trình ............................................................................ 12
Hình 4.Đồ thị không phải đồ thị hai phía .................................................................... 13
Hình 5.Đồ thị hai phía đầy đủ hình sao ....................................................................... 13

Formatted: Font: Times New Roman, 13 pt
Formatted: Font: 13 pt
Formatted: Font: Times New Roman, 13 pt
Formatted: Font: 13 pt
Formatted: Default Paragraph Font
Formatted: Default Paragraph Font
Formatted: Default Paragraph Font

Hình 6. Đồ thị hai phía đầy đủ hình vuốt cây .............................................................. 14

Formatted: Default Paragraph Font
Formatted: Default Paragraph Font

Hình 7. Đồ thị hai phía đầy đủ m≠n ............................................................................ 14

Formatted: Default Paragraph Font
Formatted: Default Paragraph Font

Hình 8.Đồ thị hai phía đầy đủ m=n ............................................................................. 15

Formatted: Default Paragraph Font

Hình 9. Đồ thị hai phía và bộ ghép M ......................................................................... 16

Formatted: Default Paragraph Font



9

Hình 10. Chú thích trong 1 ô của bảng....................................................................... 32

Formatted: Default Paragraph Font

Hình 11. Khai báo những người đàn ông và những người phụ nữ tham gia ghép đôi .. 40

Formatted: Default Paragraph Font

Hình 12. Khai báo tập có thứ tự về tiêu chuẩn lựa chọn của mỗi người đàn ông ......... 40

Formatted: Default Paragraph Font

Hình 13. Khai báo tập có thứ tự về tiêu chuẩn lựa chọn của mỗi người phụ nữ ........... 40

Formatted: Default Paragraph Font

Hình 14. Kết quả thực hiện chương trình .................................................................... 40

Formatted: Default Paragraph Font

Hình 15. Chú thích trong 1 ô của bảng........................................................................ 51

Formatted: Default Paragraph Font

Formatted: Heading 1, Space Before: 0 pt,
After: 0 pt



10

Formatted: Font: 14 pt

DANH MỤC CÁC BẢNG
Bảng 1. Tập có thứ tự về tiêu chuẩn lựa chọn của 3 người đàn ông m1, m2, m3 và 3

Formatted: Tab stops: 6.13", Right,Leader:
… + Not at 6.33"

người phụ nữ w1, w2, w3 ............................................................................. 38333332

Formatted: Font color: Auto

Bảng 2.Tập có thứ tự về tiêu chuẩn lựa chọn của 4 người đàn ông m1, m2, m3, m4 và

Formatted: Font color: Auto

4 người phụ nữ w1, w2, w3, w4. ................................................................... 38333332
Bảng 3.Tập có thứ tự về tiêu chuẩn lựa chọn của 4 người đàn ông m1, m2, m3, m4 và

Formatted: Font color: Auto

3 người phụ nữ w1, w2, w3: ......................................................................... 40343434
Bảng 4. Tập có thứ tự về tiêu chuẩn lựa chọn của 5 người đàn ông m1, m2, m3, m4,

Formatted: Font color: Auto

m5 và 5 người phụ nữ w1, w2, w3, w4, w5 .................................................... 42363636

Bảng 5. Tập có thứ tự về tiêu chuẩn lựa chọn 2 người phụ nữ w1, w2 và 2 người đàn

Formatted: Font color: Auto

ông m1, m2 .................................................................................................. 44393938
Bảng 6. Tập có thứ tự về tiêu chuẩn lựa chọn của 3 trường đại học u1, u2, u3 và 4 thí

Formatted: Font color: Auto

sinh s1, s2, s3, s4 ........................................................................................... 60545451
Bảng 7. Tập có thứ tự về tiêu chuẩn lựa chọn của 3 trường đại học u1, u2, u3 và 6 thí

Formatted: Font color: Auto

sinh s1, s2, s3, s4, s5, s6 ................................................................................. 61555552
Bảng 8. Tập có thứ tự về tiêu chuẩn lựa chọn của 3 trường đại học u1, u2, u3 và 6 thí

Formatted: Font color: Auto

sinh s1, s2, s3, s4, s5, s6 ................................................................................. 62565654
Bảng 9. :Tập có thứ tự về tiêu chuẩn lựa chọn của ba trường đại học: u1, u2, u3 và
bốn thí sinh: s1, s2, s3, s4 ........................................................................... 64585855

Formatted: Font color: Auto
Formatted: Font color: Auto


11

Formatted: Font: 14 pt


Lời nói đầu
Lý thuyết đồ thị là một lĩnh vực nghiên cứu đã có từ lâu và có nhiều
ứng dụng hiện đại. Những tư tưởng cơ bản của lý thuyết đồ thị được đề xuất
từ những năm đầu của thế kỷ 18 bởi nhà toán học lỗi lạc người Thụy Sĩ
Leonhard Euler. Chính ông là người đã sử dụng đồ thị để giải bài toán nổi
tiếng về các cái cầu ở thành phố Konigsberg. Từ đó lý thuyết đồ thị ngày càng
khẳng định được vị trí quan trọng trong việc áp dụng để giải quyết các bài
toán thực tế nhờ vào việc tìm ra ngày càng nhiều các định lý, công thức và
thuật toán. Các bài toán, thuật toán trong lý thuyết đồ thị không những có
nhiều ứng dụng trong thực tế mà nó còn giúp cho chúng ta mô tả một cách dễ
dàng các bài toán phức tạp cụ thể, để từ đó có thể mã hóa các bài toán đó vào
máy tính.
Thuật toán ghép cặp trong lý thuyết đồ thị là một ví dụ cụ thể: Thuật toán
ghép cặp đạt được những thành công nhất định và được áp dụng tại nhiều
nước châu Âu là thuật toán được nghiên cứu bởi hai nhà khoa học David Gale
và Lloyd Shapley. Thuật toán này đã được giới thiệu và đăng tải trên một tạp
chí toán học vào năm 1962. Sau này, thuật toán còn được biết đến với tên gọi
thuật toán Gale-Shapley. Tuy nhiên, nghiên cứu của hai nhà khoa học David
Gale và Lloyd Shapley chỉ có vẻ đẹp thuần túy về mặt lý thuyết mà khó có thể
áp dụng vào trong thực tiễn. Nhà kinh tế học Alvin Roth đã đi xa hơn bằng
việc sáng tạo ra các luật chơi áp dụng được trong thực tế. Ông và các cộng sự
đã tổ chức các trò chơi kinh tế nho nhỏ để sinh viên tham gia. Sau đó các ông
thu thập và phân tích kết quả thu được và mô hình hóa các tương tác giữa
những người chơi với nhau dựa trên quan sát thực tế. Nói cách khác, ông thiết

Formatted: Heading 1, Space Before: 0 pt,
After: 0 pt



12

kế ra các thị trường mà nếu không có các phát minh của ông thì đã không tồn
tại hoặc tồn tại dưới một dạng rất không hiệu quả.
Gần đây nhất, năm 2012, ứng dụng của thuật toán này đã mang lại giải
thưởng Nobel kinh tế cho hai nhà khoa học người Mỹ là Alvin E.Roth và
Lloyd Shapley với nghiên cứu “Lý thuyết phân phối ổn định và thực tiễn thiết
kế thị trường” có khả năng ứng dụng rộng rãi trên khắp thế giới.
Thực tế các lĩnh vực trong cuộc sống có liên quan đến giao dịch có yêu
cầu ghép cặp là rất nhiều như: ghép cặp giữa các cặp đôi trong trung tâm môi
giới hôn nhân, ghép cặp trong trường hợp hiến và ghép tạng; phân công công
tác cho các sinh viên tốt nghiệp ngành y tới các bệnh viện, công tác tuyển sinh
đại học…
Trong các lĩnh vực nêu trên, ở nước ta việc áp dụng thuật toán ghép cặp
vào các lĩnh vực đó là chưa nhiều và chưa phổ biến mặc dù có rất nhiều lĩnh
vực giao dịch có yêu cầu. Tuyển sinh đại học cũng là một trong nhiều lĩnh
vực có yêu cầu giao dịch ghép cặp, đặc biệt là trong khâu tuyển sinh Đại học.
Công tác tuyển sinh ở nước ta hiện đang được áp dụng đó là: Kết thúc kỳ
thi tốt nghiệp THPT quốc gia, các thí sinh sẽ tìm hiểu chỉ tiêu tuyển sinh,
điểm xét tuyển và các điều kiện tuyển sinh khác để lựa chọn những ngành
học, trường học phù hợp với nhu cầu của mình. Sau đó sẽ nộp hồ sơ xét dự thi
vào những trường có khả năng trúng tuyển cao. Mỗi thí sinh đăng ký xét
tuyển đại học sẽ gửi kết quả điểm thi tốt nghiệp THPT và các ngành học đăng
ký vào các trường mà mình muốn học (cho phép thí sinh đăng ký tối đa 4
ngành (hoặc nhóm ngành) của một trường cho mỗi đợt xét tuyển; Các nguyện
vọng này được xếp theo thứ tự ưu tiên từ 1 đến 4). Ngoài ra thí sinh còn
dùng 3 bản chính Giấy chứng nhận kết quả thi dùng cho xét tuyển các nguyện
vọng bổ sung để đăng ký; Kết thúc mỗi đợt xét tuyển nguyện vọng bổ sung,

Formatted: Font: 14 pt, Not Highlight

Formatted: Font: 14 pt
Formatted: Font: 14 pt, Not Highlight


13

thí sinh không trúng tuyển được quyền rút hồ sơ đăng ký xét tuyển để đăng ký
xét tuyển đợt tiếp theo.
Các trường đại học tiếp nhận hồ sơ ứng tuyển của các thí sinh và sẽ lựa

Formatted: Font: 14 pt

Formatted: Font: 14 pt, Font color: Auto

chọn những thí sinh có điểm từ cao xuống thấp cho đến khi hết chỉ tiêu.
Mô hình tuyển sinh đại học này có rất nhiều điểm tương đồng với mô
hình tuyển sinh đại học và vào các trường trung học ở Mỹ trước năm 2003:
các học sinh trung học được yêu cầu liệt kê 5 trường mà mình ưa thích, tiếp
theo danh sách này được gửi đến các trường đại học. Các trường học sẽ lựa
chọn xem học sinh nào phù hợp và từ chối những học sinh khác. Quá trình
này lặp lại khoảng hơn 2 vòng, và các trường sẽ lựa chọn được những thí sinh
phù hợp với trường mình.
Nhưng với hình thức tuyển sinh như vậy, kết quả là hơn 30.000 thí sinh
phải theo học ở trường mà mình không liệt kê trong danh sách, các trường học
bị loại bớt cơ hội lựa chọn những thí sinh mình mong muốn. Hơn nữa, cơ chế
này dẫn đến việc trình bày sai sở thích của mỗi sinh viên.
Với hình thức tuyển sinh ở nước ta cộng với mối liên quan mật thiết và

Formatted: Font: 14 pt


tính áp dụng thực tế rất cao như giới thiệu trên của bài toán ghép cặp tôi xin
lựa chọn đề tài: “ Bài toán ghép cặp và ứng dụng trong công tác tuyển
sinh” nhằm mục đích định hướng cho công tác tuyển sinh của các trường đại
học đạt chất lượng và hiệu quả, giúp hỗ trợ các em học sinh được học theo
đúng sở trường, năng lực để có một điều kiện tốt hơn trong tương lai.
Bố cục của luận văn gồm 3 chương.:

Formatted: Font: 14 pt, Font color: Auto
Formatted: Indent: First line: 0.32"
Formatted: Font: 14 pt, Font color: Auto
Formatted: Not Expanded by / Condensed by
Formatted: Font: 14 pt, Font color: Auto, Not
Expanded by / Condensed by
Formatted: Font: 14 pt, Font color: Auto, Not
Expanded by / Condensed by
Formatted: Not Expanded by / Condensed by

CChương 1: Ttrình bày nội dung tìm hiểu tổng quan về lý thuyết đồ thhị:
Các định nghĩa, các loại đồ thị, bậc của đồ thị, đường đi, chu trình, tính liên
thông trong đồ thị.. Tiếp theo

Formatted: Font: 14 pt, Font color: Auto, Not
Expanded by / Condensed by
Formatted: Font: 14 pt, Font color: Auto, Not
Expanded by / Condensed by
Formatted: Not Expanded by / Condensed by
Formatted: Font: 14 pt, Font color: Auto, Not
Expanded by / Condensed by



14

Cchương 2 2: Giới thiệu một số bài toán trên đồ thị:

Formatted: Font: 14 pt, Font color: Auto
Formatted: Font: 14 pt, Font color: Auto

trình bày bài toán ghép cặp, bài toán hôn nhân bền vững và các ứng dụng
của bài toán hôn nhân bền vững. Trong - Bài toán ghép cặp:
+ Bài toán ghép cặp không trọng

Formatted: Font: 14 pt, Font color: Auto
Formatted: Font: 14 pt, Font color: Auto

Formatted: Indent: Left: 0", First line: 0.32"

+ Bài toán ghép cặp với trọng số cực tiểu
+ Bài toán ghép cặp với trọng số cực đại
+ Bài toán ghép cặp tối ưu
- Bài toán hôn nhân bền vững: trình bày bài toán và sử dụng thuật toán
ghép cặp.
Cchương 3 l: lấy chương 2 làm tiền đề cho chương 3 xây dựng ý tưởng,
mô tả thuật toán ghép cặp ứng dụng cho bài toán tuyển sinh.

Formatted: Font: 14 pt, Font color: Auto, Not
Expanded by / Condensed by
Formatted: Indent: First line: 0.32"

Formatted: Font: 14 pt, Font color: Auto
Formatted: Font: 14 pt, Font color: Auto

Formatted: Font: 14 pt, Font color: Auto
Formatted: Font: 14 pt, Font color: Auto
Formatted: Font: 14 pt, Font color: Auto
Formatted: Font: 14 pt
Formatted: Centered, Indent: First line: 0"

Formatted: Font: Times New Roman, 14 pt,
Bold


15

Chương 1: TỔNG QUAN MỘT SỐ VẤN ĐỀ VỀ ĐỒ THỊ
VÀ ĐỒ THỊ HAI PHÍA

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

Formatted: Font: 14 pt
Formatted: Outline numbered + Level: 1 +
Numbering Style: 1, 2, 3, … + Start at: 1 +
Alignment: Left + Aligned at: 0" + Tab after:
0.25" + Indent at: 0.25"

1.1.1. Đồ thị
Đồ thị vô hướng G = (V,E) gồm[4]:
- V là tập hợp khác rỗng mà các phần tử của nó gọi là đỉnh (vertex) của G.

Formatted: Tab stops: 0.5", List tab + Not at
0.25"
Formatted: Bullets and Numbering

Formatted: Indent: First line: 0.25"

- E là đa tập hợp gồm các cặp không sắp thứ tự của hai đỉnh. Mỗi phần tử
của E được gọi là một cạnh (edge) của G.
Đồ thị vô hướng không có cạnh song song và không có khuyên gọi là đồ

Formatted

... [1]

Formatted

... [2]

Formatted: Indent: First line: 0.13"
Formatted

... [3]

Formatted: Indent: First line: 0.32"

thị đơn vô hướng.
Ví dụ:

Hình 1111. Đồ thị

1.1.2. Đồ thị hai phía
Một đồ thị đơn vô hướng G:=(V,E) được gọi là hai phía nếu tồn tại một
phân hoạch tập đỉnh V thành hai tập con X1 và X2 độc lập, rời nhau sao cho bất
kì cạnh nào của đồ thị cũng nối một đỉnh thuộc X1 với một đỉnh thuộc X2. Khi

đó người ta còn kí hiệu là: G:=(X1X2,E) với các phân hoạch X1, X2 và gọi
một tập (chẳng hạn X1) là tập các đỉnh trái và tập còn lại (chẳng hạn X2) là tập

Formatted: Font: 14 pt
Formatted: Outline numbered + Level: 3 +
Numbering Style: 1, 2, 3, … + Start at: 1 +
Alignment: Left + Aligned at: 0" + Tab after:
0.25" + Indent at: 0.25", Tab stops: 0.5", List
tab + Not at 0.25"
Formatted

... [4]


16

các đỉnh phải của đồ thị hai phía G. Các đỉnh thuộc X1 gọi là các X1_đỉnh, các
đỉnh thuộc X2 gọi là các X2_đỉnh.
Nếu |X1|=|X2| thì G được gọi là đồ thị hai phía cân bằng.

Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt

Ví dụ:

Formatted: Font: 14 pt, Italic

Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt

Hình 2222. Đồ thị hai phía không có chu trình

Hình 3333. Đồ thị hai phía có chu trình

Hình 4444.Đồ thị không phải đồ thị hai phía
1.1.2.1.1.3. Đồ thị hai phía đầy đủĐồ thị hai phía đầy đủ


17

Cho G = (V,E) là một đồ thị vô hướng hai phía, một phân hoạch V thành

Formatted

... [5]

Formatted

... [8]

Formatted

... [6]


Formatted

... [7]

Formatted

... [9]

Formatted

... [10]

Formatted

... [11]

Formatted

... [12]

Formatted

... [13]

là một cạnh trong E. Một đồ thị hai phía đầy đủ với các phân chia kích thước

Formatted

... [14]


Formatted

... [15]

|X1| = m, |X2| = n được kí hiệu là Km,n . Hai đồ thị mà có kí hiệu giống nhau thì

Formatted

... [16]

Formatted

... [17]

Formatted

... [18]

Formatted

... [19]

Formatted

... [20]

Formatted

... [21]


Field Code Changed

... [22]

Formatted

... [23]

Formatted

... [24]

Formatted

... [25]

Formatted

... [26]

Formatted

... [27]

Formatted

... [28]

Formatted


... [29]

Formatted

... [30]

Formatted

... [31]

Formatted

... [32]

Formatted

... [33]

Formatted

... [34]

Formatted

... [35]

Formatted

... [36]


Formatted

... [37]

Formatted

... [38]

Formatted

... [39]

Formatted

... [40]

Formatted

... [41]

Formatted

... [42]

Formatted

... [43]

Formatted


... [44]

Formatted

... [45]

Formatted

... [46]

Formatted

... [47]

Formatted

... [48]

Formatted

... [49]

Formatted

... [50]

hai tập con X1 và X2 (X1 ≠ ≠ X2 và X1   X2 = ), sao cho không có cạnh
nối giữa 2 điểm trong cùng một tập con. Khi đó G được gọi là hai phía đầy đủ
nếu: Với mọi cặp đỉnh (i,j) mà iX1 và j X2 thì có đúng một cạnh nối i và j, ij


chúng đẳng cấu.
- Đồ thị hai phía đầy đủ Km,n có: m+n đỉnh, m.n cạnh.
- Các dạng đồ thị đầy đủ hai phía:
 K1,n với đồ thị hình sao

Hình 5555.Đồ thị hai phía đầy đủ hình sao
 K1,n với đồ thị hình vuốt cây

Hình 6666. Đồ thị hai phía đầy đủ hình vuốt cây


18

 Km,n với m≠n

Formatted: Font: Italic

Formatted: Font: Italic
Formatted: Bullets and Numbering
Formatted: Indent: Left: 0.13", No bullets or
numbering
Formatted: Font: 14 pt
Formatted: Indent: First line: 0.25"
Formatted: Indent: Left: 0.13", First line:
0.25"
Formatted: Indent: First line: 0.25"

Hình 7777. Đồ thị hai phía đầy đủ m≠n

Formatted: Font: 14 pt, Italic

Formatted: Font: 14 pt

 Km,n với m = n

Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic

Hình 8888. Đồ thị hai phía đầy đủ m=n

Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic

1.2. Bài toán ghép cặp không trọng
1.2.1. Bài toán ghép cặp không trọngBài toán

Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt

Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt

Bài toán
Cho một đồ thị hai phía G = (X1X2,E) ở đây X1 là các tập đỉnh trái và X2
là tập các đỉnh phải của G. X1={x1[1], x1[2],…, x1[m]}, X2={x2[1], x2[2],…,

Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt

x2[n]}.

Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt


19

Một bộ ghép (matching) của G là một tập các cạnh của G đôi một không

Formatted

... [51]

là có số cạnh lớn nhất) của G.


Formatted

... [52]

Xét một bộ ghép M của G.

Formatted

... [53]

Formatted

... [54]

Formatted

... [55]

Formatted

... [56]

Formatted

... [57]

Formatted

... [58]


Formatted

... [59]

có đỉnh chung.
Bài toán ghép cặp (matching problem) là tìm một bộ ghép lớn nhất (nghĩa

- Các đỉnh trong M gọi là các đỉnh đã ghép (matched vertices), các đỉnh
khác là chưa ghép.
- Các cạnh trong M gọi là các cạnh đã ghép, các cạnh khác là chưa ghép.
Nếu định hướng lại các cạnh của đồ thị thành cung, những cạnh chưa ghép
được định hướng từ X1 sang X2, những cạnh đã ghép định hướng từ X2 về X1
.Trên đồ thị định hướng đó: Một đường đi xuất phát từ một X1_đỉnh chưa
ghép gọi là đường pha (alternating path), một đường đi từ một X1_đỉnh chưa
ghép tới một X2_đỉnh chưa ghép gọi là đường mở (augmenting path).
Một cách dễ hiểu, có thể quan niệm như sau:
-

Một đường pha là một đường đi đơn trong G bắt đầu bằng một

X1_đỉnh chưa ghép, đi theo một cạnh chưa ghép sang X2 , rồi đến một cạnh đã
ghép về X1, rồi lại đến một cạnh chưa ghép sang X2… cứ xen kẽ nhau như
vậy.
-

Một đường mở là một đường pha. Bắt đầu từ một X1_đỉnh chưa ghép

kết thúc bằng một X2_đỉnh chưa ghép.
Ví dụ: Với đồ thị hai phía trong hình 9 và bộ ghép
M ={(x1[1],x2[1]),(x1[2],x2[2])}

x1[3] và x2[3] là những đỉnh chưa ghép, các đỉnh khác là đã ghép.
Đường (x1[3], x2[3], x1[2], x2[1]) là đường pha.


20

Đường (x1[3], x2[3], x1[2], x2[1], x1[1], x2[3]) là đường mở.

Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt

Hình 9999. Đồ thị hai phía và bộ ghép M

1.2.2. Thuật toán đường mở
Thuật toán đường mở

Formatted: Outline numbered + Level: 3 +
Numbering Style: 1, 2, 3, … + Start at: 2 +
Alignment: Left + Aligned at: 0.38" + Tab
after: 0.88" + Indent at: 0.88"
Formatted: Font: 14 pt


Thuật toán đường mở để tìm một bộ ghép lớn nhất cho bài toán ghép cặp
phát biểu như sau:
Bước 1:
Bắt đầu từ một bộ ghép bất kỳ M (thông thường bộ ghép được khởi gán
bằng bộ ghép rỗng hay được tìm bằng các thuật toán tham lam).
Bước 2:
Tìm một đường mở.
Bước 3:
Nếu bước 2 tìm được đường mở thì mở rộng bộ ghép M: Trên đường mở,
loại bỏ những cạnh đã ghép khỏi M và thêm vào M những cạnh chưa ghép.
Sau đó lặp lại bước 2.

Formatted: Level 2, Outline numbered +
Level: 2 + Numbering Style: 1, 2, 3, … + Start
at: 1 + Alignment: Left + Aligned at: 0" + Tab
after: 0.25" + Indent at: 0.25"
Formatted: Indent: First line: 0.25"


21

Nếu bước 2 không tìm được đường mở thì thuật toán kết thúc.
* Mã giả thuật toán:

Formatted: Font: Arial Narrow, Bold

Input: Đồ thị hai phía G = (X1X2,E), X1={x1[1], x1[2],…, x1[m]}, X2={x2[1], x2[2],…, x2[n]}.
Output: Một bộ ghép M lớn nhất của G.
Matching1() 
Khởi tạo một bộ ghép M;

n = số cạnh đã ghép;
While (có đường mở xuất phát từ x1 tới một đỉnh x2 chưa ghép  X2)
xóa các cạnh đã ghép khỏi M;
ghép (x1, x2);
n++;
End.

Formatted: Indent: First line: 0", Space After:
0 pt, Line spacing: single
Formatted

... [60]

Formatted

... [61]

Formatted

... [62]

Formatted

... [63]

Formatted

... [64]

Formatted


... [65]

Formatted: Space After: 0 pt, Line spacing:
single
Formatted

... [66]

Formatted

... [67]

Formatted: Indent: First line: 0", Space After:
0 pt, Line spacing: single
Formatted: Space After: 0 pt, Line spacing:
single
Formatted

... [68]

Formatted: Font: 14 pt
Formatted: Indent: First line: 0.38"

Như ví dụ trên, với bộ ghép hai cạnh M ={(x1[1],x2[1]),(x1[2],x2[2])} và
đường mở tìm được gồm các cạnh:
(x1[3], x2[2])  M

Formatted: Font: (Default) Arial, 14 pt
Formatted: Indent: First line: 0.38", Space

After: 0 pt, Line spacing: single
Formatted: Font: 14 pt
Formatted: Indent: First line: 0.38"
Formatted

... [69]

Formatted

... [70]

Formatted

... [71]

(x1[2], x2[1])  M

Formatted

... [72]

(x2[1], x1[1])  M

Formatted

... [73]

(x1[1], x2[3])  M

Formatted


... [74]

(x2[2], x1[2])  M


22

Vậy thì ta sẽ loại đi các cạnh (x2[2], x1[2]) và (x2[1], x1[1]) trong bộ

Formatted

... [75]

ghép cũ và thêm vào đó các cạnh (x1[3], x2[2]), (x1[2], x2[1]), (x1[1], x2[3])
được bộ ghép 3 cạnh.
1.3. Bài toán ghép cặp với trọng số cực tiểu
1.3.1. Bài toán
1.11.1. Bài toán ghép cặp với trọng số cực tiểu

Bài toán

Formatted: Bullets and Numbering
Formatted: Indent: Left: 0.13", Hanging:
0.75", Outline numbered + Level: 3 +
Numbering Style: 1, 2, 3, … + Start at: 1 +
Alignment: Left + Aligned at: 0.5" + Tab after:
1" + Indent at: 1", Tab stops: Not at 1"
Formatted: Font: 14 pt
Formatted: None, No bullets or numbering


Cho một đồ thị hai phía G = (X1X2,E). X1={x1[1], x1[2],…, x1[m]},
X2={x2[1], x2[2],…, x2[n]}. Được cho bởi ma trận vuông C cỡ kk, c[i, j] =
trọng số cạnh nối đỉnh x1[i] với x2[j]. Giả thiết c[i, j]0 (i, j)
Bài toán ghép cặp với trọng số cực tiểu là tìm một bộ ghép đầy đủ trọng số

Formatted: Indent: Left: 0", First line: 0.25",
Outline numbered + Level: 3 + Numbering
Style: 1, 2, 3, … + Start at: 5 + Alignment: Left
+ Aligned at: 0" + Tab after: 0.25" + Indent
at: 0.25"
Formatted

... [76]

Formatted: Indent: First line: 0.25"

nhỏ nhất.
Hai định lý sau đây tuy rất đơn giản nhưng là những định lý quan trọng tạo
cơ sở cho thuật toán sẽ trình bày.
Định lý 1: Loại bỏ khỏi G những cạnh trọng số lớn hơn 0. Nếu những
cạnh trọng số 0 còn lại tạo ra bộ ghép k cạnh trong G thì đây là bộ ghép cần
tìm.
Chứng minh: theo giả thiết, các cạnh của G mang trọng số không âm nên
bấy kỳ bộ ghép nào trong G cũng có trọng số không âm, mà bộ ghép ở trên
mang trọng số 0, nên tất nhiên đó là bộ ghép đầy đủ trọng số nhỏ nhất.
Định lý 2: Với đỉnh x1[i], nếu ta cộng thêm một số  (dương hay âm) vào
tất cả những cạnh liên thuộc với x1[i] (tương đương với việc cộng thêm  vào
tất cả các phần tử thuộc hàng i của ma trận C) thì không ảnh hưởng tới bộ
ghép đầy đủ trọng số nhỏ nhất.


Formatted

... [77]


23

Chứng minh: Với một bộ ghép đầy đủ bất kỳ thì có một và chỉ một cạnh
ghép với x1[i]. Nên việc cộng thêm  vào tất cả các cạnh liên thuộc với x1[i]

Formatted: Font: 14 pt, Italic, Portuguese
(Brazil)

sẽ làm tăng trọng số bộ ghép đó lên . Vì vậy nếu như ban đầu, M là bộ ghép

Formatted: Font: 14 pt, Portuguese (Brazil)
Formatted: Font: 14 pt

đầy đủ trọng số nhỏ nhất thì sau thao tác trên, M vẫn là bộ ghép đầy đủ trọng

Formatted: Font: 14 pt, Portuguese (Brazil)

số nhỏ nhất.

Formatted: Font: 14 pt, Italic, Portuguese
(Brazil)
Formatted: Font: 14 pt, Portuguese (Brazil)

1.3.2. Các khái niệm


Formatted: Font: 14 pt
Formatted: Font: 14 pt, Portuguese (Brazil)
Formatted: Font: 14 pt

Các khái niệm
Để cho gọn, ta gọi những cạnh trọng số 0 của G là những 0_cạnh.

Formatted: Indent: Left: 0.25", Outline
numbered + Level: 3 + Numbering Style: 1, 2,
3, … + Start at: 1 + Alignment: Left + Aligned
at: 0.5" + Tab after: 1" + Indent at: 1", Tab
stops: Not at 1"
Formatted: Font: 14 pt, Portuguese (Brazil)

Xét một bộ ghép M chỉ gồm những 0_cạnh.

Formatted: Indent: Left: 0.25", First line: 0"
Formatted: Font: 14 pt

- Những đỉnh  M gọi là những đỉnh đã ghép, những đỉnh còn lại gọi là

Formatted: Indent: Left: 0.25"
Formatted: Indent: Left: 0.25", First line: 0"

những đỉnh chưa ghép.
- Những 0_cạnh  M gọi là những 0_cạnh đã ghép, những 0_cạnh còn lại
là những 0_cạnh chưa ghép.

Formatted: Indent: First line: 0.25"

Formatted: Indent: First line: 0.29"
Formatted: Font: Times New Roman, 14 pt
Formatted: Font: 14 pt
Formatted: Font: Times New Roman, 14 pt

Nếu ta định hướng lại các 0_cạnh theo cách: Những 0_cạnh chưa ghép
cho hướng từ tập X1 sang tập X2, những 0_cạnh đã ghép cho hướng từ tập X2
về tập X1. Khi đó:
- Đường pha là một đường đi cơ bản xuất phát từ một X1_ đỉnh chưa ghép
đi theo các 0_cạnh đã định hướng ở trên. Như vậy dọc trên đường pha, các

Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic

0_cạnh chưa ghép và những 0_cạnh đã ghép xen kẽ nhau. Vì đường pha chỉ là

Formatted: Font: 14 pt

đường đi cơ bản trên đồ thị định hướng nên việc xác định những đỉnh nào có

Formatted: Font: 14 pt, Italic

thể đến được từ x  X1 bằng một đường pha có thể sử dụng các thuật toán tìm


Formatted: Font: Times New Roman, 14 pt

Formatted: Font: 14 pt

Formatted: Font: 14 pt

kiếm trên đồ thị. Những đỉnh và những cạnh được duyệt qua tạo thành một
cây pha gốc x.

Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt


24

a.

- Một đường mở là một đường pha đi từ một X1_ đỉnh chưa ghép tới

một X2_đỉnh chưa ghép.

Formatted: Font: 14 pt
Formatted: Indent: First line: 0.29", No
bullets or numbering
Formatted: Font: 14 pt, Italic

Như vậy:

Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic


b.

- Đường đi trực tiếp từ một X1_đỉnh chưa ghép tới một X2_đỉnh chưa

ghép qua một 0_cạnh chưa ghép cũng là một đường mở.
- Dọc trên đường mở, số 0_cạnh chưa ghép nhiều hơn số 0_cạnh đã ghép
đúng 1 cạnh.

Formatted: Font: 14 pt
Formatted: Indent: First line: 0.29"
Formatted: Indent: First line: 0.29", No
bullets or numbering
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt

1.3.3. Thuật toán Hungari

Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt

a. Thuật toán Hungari

Formatted: Indent: First line: 0.25", No
bullets or numbering
Formatted: Font: 14 pt

Bước 1: Khởi tạo
Một bộ ghép M :=


Formatted: Indent: Hanging: 0.88", Outline
numbered + Level: 3 + Numbering Style: 1, 2,
3, … + Start at: 1 + Alignment: Left + Aligned
at: 0.5" + Tab after: 1" + Indent at: 1", Tab
stops: 0.63", List tab + Not at 1"
Formatted: Font: 14 pt

Bước 2: với mọi đỉnh x  X1, ta tìm cách ghép x:
Bắt đầu từ đỉnh x, thử tìm đường mở bắt đầu ở x bằng thuật toán tìm kiếm

Formatted: Indent: First line: 0.29"

trên đồ thị. Có hai khả năng có thể xảy ra:
c.

- Hoặc tìm được đường mở thì dọc theo đường mở, ta loại bỏ những

cạnh đã ghép khỏi M và thêm vào M những cạnh chưa ghép, ta được một bộ

Formatted: Indent: First line: 0.29", No
bullets or numbering
Formatted: Font: 14 pt

ghép mới nhiều hơn bộ ghép cũ 1 cạnh và đỉnh x trở thành đã ghép.
d.

- Hoặc không tìm được đường mở thì có thể xác định được:

VisitedX1= {Tập những X1_đỉnh có thể đến được từ x bằng một đường

pha}
VisitedX2= {Tập những X2_đỉnh có thể đến được từ x bằng một đường
pha}

Formatted: Font: 14 pt

Formatted: Indent: First line: 0.29"
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt
Formatted: Font: 14 pt, Italic
Formatted: Font: 14 pt


25

Gọi  là trọng số nhỏ nhất của các cạnh nối giữa một đỉnh thuộc VisitedX1

Formatted

... [78]

Formatted

... [79]

Formatted


... [80]

Formatted

... [81]

với một đỉnh không thuộc VisitedX2. Dễ thấy  >0 bởi nếu =0 thì tồn tại một
0_cạnh (x1, x2) với x1VisitedX1 và x2VisitedX2. Vì x đến được x1 bằng một
đường pha và (x1, x2) là một 0_cạnh nên x cũng đến được x2 bằng một đường
pha, dẫn tới x2  VisitedX2, điều này vô lý.
Biến đổi đồ thị G: với x1 VisitedX1, trừ  vào trọng số những cạnh liên
thuộc với x1, với  x2  VisitedX2, cộng  vào trọng số những cạnh liên thuộc
với x2.
Lặp lại thủ tục tìm kiếm trên đồ thị thử tìm đường mở xuất phát ở x cho
tới khi tìm ra đường mở.
Bước 3: Sau bước 2 thì mọi X1_đỉnh đều được ghép, in kết quả về bộ ghép
tìm được.
* Mã giả thuật toán

Formatted: Font: Arial Narrow

Mã giả thuật toán

Formatted

... [82]

Input: Đồ thị hai phía G = (X1X2,E). X1={x1[1], x1[2],…, x1[m]}, X2={x2[1], x2[2],…,


Formatted

... [83]

Ma trận vuông C cỡ kk, c[i, j] = trọng số cạnh nối đỉnh x1[i] với x2[j]. Giả thiết c[i,

Formatted

... [84]

Formatted

... [85]

Khởi tạo M:=;

Formatted

... [86]

While (xX1)

Formatted

... [87]

x2[n]}.

j]0 (i, j)
Output: Bộ ghép đầy đủ trọng số nhỏ nhất.

Matching2() 


×