TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

Embed Size (px)

Citation preview

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    1/61

    ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

    TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

    -----  -----

    TIỂU LUẬN MÔN HỌC

    THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ 

    ĐỀ TÀI:

    TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ 

    ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    GIẢNG VIÊN HƯỚ NG DẪN : PGS. TS. ĐỖ VĂN NHƠN 

    HỌC VIÊN THỰ C HIỆN : NGUYỄN HỒ DUY TRÍ

    MSHV : CH1401039

    LỚ P : CH KHMT K09

    TP. HỒ CHÍ MINH –  12/2015

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    2/61

    ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

    TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

    -----  -----

    TIỂU LUẬN MÔN HỌC

    THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ 

    ĐỀ TÀI:

    TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ 

    ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    TP. HỒ CHÍ MINH –  12/2015

    GIẢNG VIÊN HƯỚ NG DẪN : PGS. TS. ĐỖ VĂN NHƠN 

    HỌC VIÊN THỰ C HIỆN : NGUYỄN HỒ DUY TRÍ

    MSHV : CH1401039

    LỚ P : CH KHMT K09

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    3/61

    NHẬN XÉT CỦA GIẢNG VIÊN 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    4/61

     

    i

    LỜ I CẢM ƠN 

    Lời đầu tiên, tôi xin chân thành cám ơn Khoa Khoa học máy tính, trường Đại học

    Công nghệ Thông tin đã tạo điều kiện tốt nhất để tôi được tham gia học tập và hoàn

    thành bài tiểu luận này. Tôi xin chân thành cám ơn Thầy –  PGS. TS. Đỗ Văn Nhơn, Thầy đã không quản

    khó khăn, tận tình chỉ bảo. Với kiến thức uyên bác và những bài giảng luôn luôn được

    cập nhật của Thầy, tôi đã thật sự học hỏi được rất nhiều và trưởng thành hơn trong tư

    duy và nhận thức. 

    Mặc dù tôi đã cố gắng hoàn thành bài tiểu luận trong phạm vi kiến thức hạn hẹp và

    khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Tôi kính

    mong nhận được sự cảm thông và tận tình chỉ bảo của Thầy và các bạn. 

    Một lần nữa, xin chân thành cảm ơn tất cả mọi người. 

    Học viên thực hiện 

    Nguyễn Hồ Duy Trí

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    5/61

     

    ii

    MỤC LỤC 

    LỜ I CẢM ƠN ............................................................................................................................ i 

    MỤC LỤC................................................................................................................................. ii 

    LỜI NÓI ĐẦU ......................................................................................................................... iv 

    CHƯƠNG I. MỞ  ĐẦU ............................................................................................................ 1 

    1.1.  Lý do chọn đề tài ....................................................................................................... 1 

    1.2.  Mục đích và nhiệm vụ............................................................................................... 1 

    1.2.1.  Mục đích ............................................................................................................. 1 

    1.2.2.  Nhiệm vụ cần thực hiện - ................................................................................... 1 

    1.3.  Đối tượ ng và phạm vi nghiên cứ u............................................................................ 2 

    1.4.  Phương pháp nghiên cứ u ......................................................................................... 2 

    1.5.  Ý nghĩa khoa học và thự c tiễn của đề tài ................................................................ 2 

    CHƯƠNG II. GIẢI THUẬT TÔ MÀU TRONG TÔ MÀU ĐỈNH ĐỒ THỊ ...................... 3 

    2.1.  Tổng quan về đồ thị .................................................................................................. 3 

    2.1.1.  Một số khái niệm liên quan tới đồ thị .............................................................. 3 

    2.1.2.  Biểu diễn đồ thị................................................................................................... 5 

    2.1.3.  Ứng dụng của lý thuyết đồ thị ........................................................................... 6 

    2.2.  Bài toán tô màu đồ thị .............................................................................................. 7 

    2.2.1. 

    Một số lý thuyết liên quan ................................................................................. 7 

    2.2.2.  Bài toán tô màu cạnh ......................................................................................... 7 

    2.2.3.  Giải thuật tô màu cạnh ...................................................................................... 8 

    2.2.4.  Bài toán tô màu đỉnh........................................................................................ 12 

    2.2.5.  Giải thuật tô màu đỉnh vận dụng giải thuật tham lam ................................. 12 

    2.2.6.  Nhược điểm của giải thuật tô màu tham lam ................................................ 14 

    2.2.7.  Định nghĩa NP –đầy đủ.................................................................................... 15 

    2.3.  Bài toán ngườ i bán hàng ........................................................................................ 15 

    2.3.1.  Phát biểu ........................................................................................................... 15 

    2.3.2.  Sử dụng giải thuật láng giềng gần nhất (nearest neighbor algorithm) ....... 16 

    CHƯƠNG III. KHẢO SÁT HIỆN TR ẠNG VÀ YÊU CẦU CHỨC NĂNG .................... 18 

    3.1.  Một số chương trình lập lịch thi sử  dụng giải thuật tô màu ............................... 18 

    3.2.  Giớ i thiệu về k ỳ thi trong trường Đại học Công nghệ thông tin ......................... 20 

    3.3.  Mô tả hệ thống ......................................................................................................... 21 

    3.4.  Mô tả các đơn vị tham gia ...................................................................................... 22 

    3.5. 

    Hoạt động chính khi lập lịch thi ............................................................................ 23 

    3.6.  Quy trình nghiệp vụ lập lịch thi ............................................................................ 24 

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    6/61

     

    iii

    3.7.  Hiện trạng tin học của trường Đại học ................................................................. 25 

    3.8.  Mong muốn của trường đối vớ i hệ thống ............................................................. 25 

    3.9.  Yêu cầu chức năng và phi chức năng của hệ thống ............................................. 26 

    3.10.  Lợ i ích của hệ thống mớ i ........................................................................................ 28 

    CHƯƠNG IV. ÁP DỤNG VÀO BÀI TOÁN LẬP LỊCH THI........................................... 29 

    4.1.  Giải thuật tô màu đỉnh trong bài toán lập lịch ..................................................... 29 

    4.2.  Độ phứ c tạp ............................................................................................................. 31 

    4.3.  Mô hình hóa và áp dụng giải thuật tô màu vào bài toán lập lịch thi trường Đạihọc CNTT ........................................................................................................................... 33 

    4.4.  Một số k ết quả khi sử  dụng giải thuật tô màu lập lịch thi .................................. 44 

    CHƯƠNG V. KẾT LUẬN VÀ HƯỚ NG PHÁT TRIỂN .................................................... 53 

    5.1. 

    K ết quả đạt đượ c ..................................................................................................... 53 

    5.2.  Hướ ng phát triển ..................................................................................................... 53 

    TÀI LIỆU THAM KHẢO ..................................................................................................... 54 

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    7/61

     

    iv

    LỜI NÓI ĐẦU

    Bài toán lậ p lịch là bài toán xây dựng một k ế  hoạch phân phối hợ  p lý các tài

    nguyên một cách tối ưu nhất nhằm đem lại hiệu quả cao nhất cho ngườ i sử dụng. Côngviệc lậ p lịch liên quan tớ i nhiều vấn đề như thời gian ước lượ ng của công việc, quan hệ 

    thứ tự giữa các công việc, yêu cầu tài nguyên, nhân lực, ràng buộc các tài nguyên và

    các giai đoạn thực hiện bài toán. Từ lâu, con người đã thực hiện công việc lậ p lịch bằng

    các ghi chép các kí hiệu, số liệu, các thông tin trên giấy, vải, vách đá…

     Ngày nay, vớ i sự phát triển như vũ bão của Công nghệ thông tin, việc lậ p lịch có

    sự tr ợ  giúp đắc lực của máy tính, giúp ghi nhớ  các số liệu lớ n một cách dễ dàng và thuậnlợi hơn so với ghi chép thông thường. Tuy nhiên, đa số  các phần mềm lậ p lịch đều chỉ 

    áp dụng cho các bài toán lậ p lịch tổng quát mà không chi tiết cho từng bài toán riêng

    được, làm con ngườ i vẫn phải tốn nhiều thờ i gian và sức lực khi lậ p lịch.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    8/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    1 HVTH: Nguyễ n H ồ Duy Trí

    CHƯƠNG I. MỞ  ĐẦU

    1.1.  Lý do chọn đề tài

    Để lậ p lịch, người ta đã đưa ra nhiều giải thuật để giải quyết: giải thuật mô phỏngluyện kim, tìm kiếm tabu thích nghi, tô màu, di truyền… Trong đó, giải thuật tô màu là

    giải thuật hay đượ c sử dụng nhất bở i sự đơn giản hay số lượ ng lờ i giải của nó.

    Giải thuật tô màu dựa trên lý thuyết về đồ thị thể hiện cách giải quyết vấn đề khá

    tự nhiên và dễ hiểu, tuy nó chỉ đưa ra một lờ i giải, nhưng kết quả lậ p lịch cũng rất tốt.

    Một trong những yếu điểm lớ n nhất của giải thuật này là sử dụng nhiều bộ nhớ, đặc biệt

    là khi cài đặt theo giải thuật đệ quy.

    Trong thờ i gian gần đây, tại trường Đại học Công nghệ thông tin (ĐH CNTT), khi

    đến thờ i gian thi giữa k ỳ hoặc thi cuối k ỳ, Phòng Đào tạo (PĐT) đã đượ c Ban dữ liệu

    hỗ tr ợ  để đưa ra một lịch thi, tuy nhiên tình tr ạng sinh viên trùng lịch thi vẫn còn xảy

    ra, hệ thống chưa tự động kiểm tra sinh viên trùng lịch mà phải chờ  phản hồi từ sinh

    viên, sau đó điều chỉnh thủ công vào lịch đó.

    Vớ i mong muốn đưa ra lịch thi tốt nhất, phù hợ  p với tình hình cơ sở  vật chất của

    trườ ng, tôi nhận thấy bài toán lậ p lịch thi là vô cùng cần thiết. Thông qua lý thuyết về đồ thị và các kiến thức đã học đượ c, tôi mong muốn ứng dụng đượ c vào trong bài toán

    lậ p lịch thi tại trường ĐH CNTT, giúp tiết kiệm đượ c thờ i gian và sức lực của trườ ng

    mỗi khi k ỳ thi tớ i.

    1.2.  Mục đích và nhiệm vụ 

    1.2.1.  Mục đích

    -  Tiết kiệm thờ i gian và công sức khi lậ p thờ i khóa biểu.

    Tìm hiểu về giải thuật tô màu đồ thị.

    -  Áp dụng giải thuật tô màu đồ thị vào việc xây dựng lịch thi.

    1.2.2.  Nhiệm vụ cần thực hiện -

    -  Tìm hiểu giải thuật tô màu đồ thị.

    -  Phân tích bài toán, tìm hiểu cách lậ p lịch thi ở  trường ĐH CNTT.

    -  K ết hợ  p giải thuật tô màu đồ thị vớ i quy trình nghiệ p vụ ở  trường Đại học để xây

    dựng lịch thi.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    9/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    2 HVTH: Nguyễ n H ồ Duy Trí

    1.3.  Đối tượ ng và phạm vi nghiên cứ u

    -  Đối tượ ng nghiên cứu: lý thuyết về đồ thị, các giải thuật trên đồ thị, bài toán tô

    màu và ứng dụng lậ p lịch thi.

    Phạm vi nghiên cứu: trong phạm vi trường ĐH CNTT, tìm các ràng buộc chungmà trường có để có thể lậ p lịch thi.

    1.4.  Phương pháp nghiên cứ u

    Sử dụng phương pháp nghiên cứu lý thuyết k ết hợ  p vớ i lậ p trình thực nghiệm: -

     Nghiên cứu về lý thuyết đồ thị, giải thuật tô màu, phân tích và tổng hợ  p tài liệu liên

    quan.

    -  Tìm hiểu phân tích quy trình lậ p lịch thi tại trường đại học, phân tích rõ các ràng

     buộc.

    -  Phân tích, yêu cầu bài toán, xây dựng giải thuật phù hợ  p.

    1.5.  Ý nghĩa khoa học và thự c tiễn của đề tài

    -  Phần nghiên cứu lý thuyết sẽ cung cấ p một cách tổng quan về lý thuyết đồ thị và

    giải thuật tô màu trong đồ thị, và ứng dụng..

    -  K ết quả nghiên cứu có thể ứng dụng cho trường ĐH CNTT trong công việc lậ p

    lịch thi.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    10/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    3 HVTH: Nguyễ n H ồ Duy Trí

    CHƯƠNG II. GIẢI THUẬT TÔ MÀU TRONG TÔ MÀU ĐỈNH ĐỒ THỊ 

    2.1.  Tổng quan về đồ thị 

    2.1.1. 

    Một số khái niệm liên quan tới đồ thịĐồ thị là một cấu trúc r ờ i r ạc gồm tậ p hợp các đỉnh và tậ p hợ  p các cạnh nối các

    đỉnh đó. Ngườ i ta phân loại đồ thị dựa trên đặc điểm của các cạnh nối. Hay có cách định

    nghĩa khác là: Một đơn đồ thị G = (V, E) gồm một tậ p khác r ỗng V mà các phần tử của

    nó gọi là các đỉnh và một tậ p E mà các phần tử của nó gọi là các cạnh, đó là các cặ p

    không có thứ tự của các đỉnh phân biệt.

    Một đồ thị đượ c gọi là một đồ thị phẳng nếu

    ta có thể vẽ nó trên mặt phẳng sao cho các cạnh của

    nó không cắt nhau ngoài ở  đỉnh. Cách vẽ như vậy

    sẽ đượ c gọi là biểu diễn phẳng của đồ thị.

    Ví dụ hình bên là một đồ thị phẳng.

    Đồ  thị  vô hướng: là đồ  thị G mà mỗi cạnh

    không phân biệt thứ tự hai đỉnh đầu mút, là tậ p không thứ tự các đỉnh và cạch nối giữa

    hai cạnh của đồ thị: G=(V,E), trong đó V là tậ p hữu hạn các cạnh của đồ thị, E là tậ phữu hạn các cặ p không thứ tự chứa các đỉnh phân biệt, đượ c gọi là cạnh. Hai đỉnh thuộc

    một cạnh đượ c gọi là các đỉnh đầu cuối của cạnh đó.

    Hình 2.2. Đồ thị vô hướ ngĐồ thị có hướ ng là một tậ p có thứ tự các đỉnh và cạnh có hướ ng nối hai cạnh của

    đồ thị: G = (V,A). trong đó V là tậ p hữu hạn các đỉnh, A là tậ p các cặ p có thứ tự chứa

    Hình 2.1. Ví dụ đồ thị phẳng 

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    11/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    4 HVTH: Nguyễ n H ồ Duy Trí

    các đỉnh, đượ c gọi là các cạnh có hướ ng hoặc cung. Một cạnh e = (x, y) đượ c coi là có

    hướ ng từ x tới y; x đượ c gọi là điểm đầu/gốc và y đượ c gọi là điểm cuối/ngọn của cạnh.

    Hình 2.3. Đồ thị có hướ ng

    Một đa đồ thị G = V, E gồm một tậ p khác r ỗng V mà các phần tử của nó gọi làcác đỉnh và một họ E mà các phần tử của nó gọi là các cạnh, đó là các cặ p không có thứ 

    tự của các đỉnh phân biệt. Hai cạnh đượ c gọi là cạnh bội hay song song nếu chúng cùng

    tương ứng vớ i một cặp đỉnh.

    Hình 2.4. Đa đồ thị 

    Đơn đồ thị có hướ ng G = bao gồm V là tập các đỉnh, E là tậ p các cặ p có

    thứ tự gồm hai phần tử của V gọi là các cung.

    Đa đồ thị có hướ ng G = bao gồm V là tập đỉnh, E là cặ p có thứ tự gồm hai

     phần tử của V đượ c gọi là các cung. Hai cung e1, e2 tương ứng vớ i cùng một cặp đỉnh

    đượ c gọi là cung lặ p.

    Hình 2.5. Ví dụ cung lặ p

    Bậc của đỉnh v trong đồ thị G= V,E , ký hiệu deg v , là số các cạnh liên thuộc vớ i

    nó, riêng khuyên tại một đỉnh đượ c tính hai lần cho bậc của nó. Đỉnh v gọi là đỉnh treo

    nếu deg v =1 và gọi là đỉnh cô lậ p nếu deg v =0.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    12/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    5 HVTH: Nguyễ n H ồ Duy Trí

    Hình 2.6. Ví dụ bậc của đỉnh

    Ví dụ: deg(A) = 0; deg(B) = 1, deg(C) = 1; deg(D) = 4, deg(E) = 2; deg(F) = 3,

    deg(G) = 4; deg(H) = 1, A là đỉnh cô lập, B, C, H là đỉnh treo.

    Một đồ thị đượ c gọi là một đồ thị phẳng nếu ta có thể vẽ nó trên mặt phẳng sao

    cho các cạnh của nó không cắt nhau ngoài ở  đỉnh. Cách vẽ như vậy sẽ đượ c gọi là biểu

    diễn phẳng của đồ thị.

    2.1.2.  Biểu diễn đồ thị

    Tham khảo: trong danh mục tài liệu tham khảo, tiếng việt, website [4].

    Ma tr ận k ề (Adjaceny matrix) là một ma tr ận N x N, trong đó N là số đỉnh của đồ 

    thị. Nếu có một cạnh nào đó nối đỉnh vi tới đỉnh vj thì phần tử Mij bằng 1, nếu không

    thì nó có giá tr ị bằng 0. Cấu trúc này thuận lợ i cho việc tìm đồ thị con và để đảo các đồ 

    thị.

    Hình 2.7. Biểu diễn đồ thị bằng ma tr ận k ề 

    Danh sách k ề (Adjaceny list): Mỗi đỉnh của đồ thị có một danh sách các đỉnh k ề 

    nó (nghĩa là có một cạnh nối từ đỉnh này đến mỗi đỉnh đó). Trong đồ thị vô hướ ng, cấu

    trúc này có thể gây trùng lặ p. Chẳng hạn nếu 3 đỉnh nằm trong danh sách của đỉnh 2 thì

    đỉnh 2 cũng phải có trong danh sách của đỉnh 3. Lậ p trình viên có thể chọn cách sử dụng

     phần không gian thừa, hoặc có thể liệt kê các quan hệ k ề cạnh chỉ một lần. Biểu diễn dữ 

    liệu này thuận lợ i cho việc từ một đỉnh duy nhất tìm đượ c mọi đỉnh nối vớ i nó, do các

    đỉnh này đã đượ c liệt kê tườ ng minh.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    13/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    6 HVTH: Nguyễ n H ồ Duy Trí

    Hình 2.8. Biểu diễn đồ thị bằng danh sách k ề 

    -  Ma tr ận liên thuộc (Incidence matrix):

    -  Đồ thị có hướ ng: Nếu G là đồ thị có hướ ng không có khuyên, ma tr ận liên thuộc

    (hay liên k ết đỉnh cạnh) của đồ thị G, ký hiệu A(G), là ma tr ận n*m (n: số đỉnh,

    m: số cạnh) được định nghĩa là A = (Aij) với quy ướ c:

    * Aij = 1 nếu cạnh j hướ ng ra khỏi đỉnh i

    * Aij = -1 nếu cạnh j hướng vào đỉnh i.

    * Aij = 0 nếu cạnh j không k ề đỉnh i.

    Hình 2.9. Biểu diễn đồ thị có hướ ng bằng ma tr ận liên thuộc-  Đồ thị vô hướ ng: Nếu G là đồ thị vô hướ ng không có khuyên, ma tr ận liên thuộc

    (hay liên k ết đỉnh cạnh) của đồ thị G, ký hiệu A(G), là ma tr ận n*m (n: số đỉnh,

    m: số cạnh) được định nghĩa là A = (Aij) với quy ướ c:

    * Aij = 1 nếu cạnh i k ề vớ i cạnh j.

    * Aij = 0 nếu ngượ c lại.

    Hình 2.10. Biểu diễn đồ thị vô hướ ng bằng ma tr ận liên thuộc

    2.1.3.  Ứng dụng của lý thuyết đồ thị

    Bài toán tìm tập con độc lậ p

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    14/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    7 HVTH: Nguyễ n H ồ Duy Trí

    -  Bài toán tô màu đồ thị 

    -  Bài toán tìm đường đi ngắn nhất

    -  Bài toán luồng cực đại

    Kiểm tra tính liên thông của đồ thị -  Duyệt đồ thị 

    2.2.  Bài toán tô màu đồ thị 

    Tô màu đồ thị và sự tổng quát của nó là công cụ hữu hiệu trong mô hình hóa r ất

    nhiều bài toán khác nhau trong vấn đề xế p lịch, xây dựng chương trình và vấn đề phân

    công công việc.

    2.2.1.  Một số lý thuyết liên quan

    Trong Lý thuyết đồ thị, tô màu đồ thị (graph coloring) là trườ ng hợp đặc biệt của

    gán nhãn đồ thị, mà trong đó mỗi đỉnh hay mỗi cạnh hay mỗi miền của đồ thị có thể 

    đượ c gán bở i một màu hay một tậ p hợp các màu nào đó. Tô màu đồ thị có thể là:

    -  Tô màu đỉnh (vertex coloring) là gán cho mỗi đỉnh của đồ thị một màu nào đó

    sao cho không có hai đỉnh nào liền k ề lại trùng màu nhau;

    -  Tô màu cạnh (edge coloring) là gán cho mỗi cạnh của đồ thị một màu nào đó sao

    cho sao cho không có 2 cạnh nào trùng màu;

    -  Tô màu miền (face coloring) là gán cho mỗi miền của đồ thị phẳng một màu sao

    cho không có 2 miền có chung đườ ng biên lại cùng màu.

    Sắc số (tiếng Anh: chromatic number) của một đồ thị là số màu ít nhất để tô các

    đỉnh. Sắc số của đồ thị G đượ c kí hiệu là χ(G). 

    Số màu cạnh (tiếng Anh: chromatic index) của một đồ thị là số màu ít nhất dùng

    để tô các cạnh. Số màu cạnh của đồ thị G đượ c kí hiệu là χ'(G).

    Số màu cạnh của đồ thị G bất kì bằng sắc số của đồ thị đườ ng L((G)) của đồ thị đó: χ'(G) = χ(L(G)), do đó việc nghiên cứu tô màu cạnh của G tương đương vớ i nghiên

    cứu tô màu đỉnh của L(G).

    Định lí 4 màu: số màu của 1 đồ thị phẳng không lớn hơn 4.

    2.2.2.  Bài toán tô màu cạnh

     Bài toán:

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    15/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    8 HVTH: Nguyễ n H ồ Duy Trí

    Cho G = (V, E) là đơn đồ thị vô hướng (G không là đồ thị khuyên), tìm cách tô

    màu cho mỗi cạnh của đồ thị sao cho hai cạnh có cùng chung một đỉnh không bị tô bở i

    cùng một màu. Một phép gán màu cho mỗi cạnh như vậy đượ c gọi là phép tô màu đồ 

    thị, nói cách khác, phép tô màu đồ thị bởi k màu nói trên đượ c hiểu là một phân hoạchcủa tậ p cạnh E của G thành k tậ p con (k ứng vớ i số màu) sao cho mỗi tậ p con ứng vớ i

    một màu xác định. Bài toán đặt ra là tìm số màu ít nhất để có thể gán.

    Hình 2.11. Ví dụ về tô màu cạnh

    Đồ thị trên có thể tô bởi 5 màu. Đồ thị G gọi là tô đượ c bở i k màu cạnh nếu G có

    một phép tô k màu phù hợ  p.

    Giải thuật  

    Về giải thuật giải quyết bài toán tô màu cạnh đồ thị hiện nay trên thế giớ i có nhiều

    giải thuật được đề xuất như:

    -  Giải thuật thu gọn (Contraction Algorithms) được đề xuất bở i Zykov

    -  Giải thuật tô màu theo dãy (sequential coloring)

    Trong đó giải thuật tô màu theo dãy lại đượ c ứng dụng nhiều cách khác nhau.

    Ý tưở ng của giải thuật này xoay quanh việc sắ p xế p thứ tự các cạnh của đồ thị 

    theo một thứ tự nhất định. Đánh trọng số cho các màu được dùng để tô. Sau đó duyệt

    các cạnh theo thứ tự nêu trên. Trong quá trình duyệt sẽ tô màu cho cạnh bằng màu cótr ọng số nhỏ nhất mà chưa đượ c sử dụng để tô cho các cạnh k ề. Đây là một vận dụng

    của việc sử dụng giải thuật tham lam. K ết quả của bài toán sẽ khác nhau nếu ta chọn

    thứ tự các cạnh khác nhau. Do đó các cải tiến của giải thuật này đều dựa trên việc sắ p

    xế p thứ tự các cạnh hợp lý hơn.

    2.2.3.  Giải thuật tô màu cạnh 

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    16/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    9 HVTH: Nguyễ n H ồ Duy Trí

     Input: Các cạnh đã đượ c sắ p thứ tự đánh dấu theo thứ tự E1, E2, … Đồ thị không

    có khuyên.

    Output: Các cạnh tương ứng với các màu đã đượ c tô.

     Bướ c 1: Tìm bậc lớ n nhất của đồ thị (D) Bướ c 2: Chuẩn bị D + 1 màu để tô.

     Bướ c 3: Tô màu E bở i màu k. Duyệt từng cạnh E, tô màu cho cạnh i. Xét cạnh đó

    đượ c tô màu tạo bởi đỉnh I và đỉnh J. Xét các cạnh có chung đầu là đỉnh I và J, tô màu

    cho các cạnh đó bở i các màu khác nhau. Trong lúc tô màu cho các cạnh đó, xét nếu đỉnh

    còn lại của cạnh đó có cạnh trùng màu thì ta sử dụng màu khác. Cứ tiế p tục như vậy

    cho tớ i khi tô màu toàn bộ cạnh của đồ thị 

    Hình 2.12. Ví dụ về cách tô màu cạnh:

    Tô màu cạnh cho đồ thị sau:

    Sắ p xế p các cạnh theo thứ tự sau:

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    17/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    10 HVTH: Nguyễ n H ồ Duy Trí

     Bướ c 1: Tô màu cạnh đầu tiên (màu đỏ):

     Bướ c 2: Tô màu cạnh k ề vớ i một màu khác (màu xanh):

     Bướ c 3: Tiế p tục tô màu cạnh k ề vớ i 2 cạnh trên, ở  đây là cạnh thứ 3 vớ i màu xanhda tr ờ i.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    18/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    11 HVTH: Nguyễ n H ồ Duy Trí

     Bướ c 4: Tô màu cạnh k ề vớ i cạnh đầu tiên, ở  đây là cạnh thứ 4 vớ i màu sắc khác

    màu đỏ.

     Bướ c 5: Tô màu cạnh k ề vớ i cạnh vừa tô vớ i màu sắc khác màu xanh

     Bướ c 6: Tô màu cạnh thứ 6 vớ i màu sắc không trùng vớ i các cạnh đã tô màu trướ c

    đó.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    19/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    12 HVTH: Nguyễ n H ồ Duy Trí

     Bướ c 7: Tiế p tục tô màu các cạnh 7, 8, 9. Ta thu được đồ thị đã tô màu

     K ế t luận: Đồ thị này có thể tô với 5 màu. Đây chính là số màu nhỏ nhất có thể 

    dùng để tô màu đồ thị này.2.2.4.  Bài toán tô màu đỉnh

     Bài toán

    Cho G = (V, E) là đơn đồ thị vô hướng (G không là đồ thị khuyên), tìm cách tô

    màu cho mỗi đỉnh của đồ thị sao cho hai đỉnh k ề nhau không bị tô bở i cùng một màu.

    Một phép gán màu cho mỗi đỉnh như vậy đượ c gọi là phép tô màu đồ thị, nói cách khác,

     phép tô màu đồ thị bởi k màu nói trên đượ c hiểu là một phân hoạch của tập đỉnh V của

    G thành k tậ p con (k ứng vớ i số màu) sao cho mỗi tậ p con ứng vớ i một màu xác định.Bài toán đặt ra là tìm số màu ít nhất để có thể gán.

    Giải thuật  

    Số lượ ng màu nhỏ nhất để tô các đỉnh của đồ thị G gọi là sắc số đỉnh của đồ thị G,

    sao cho không có 2 đỉnh k ề nhau nào đượ c tô bở i cùng một màu.

    Một đồ thị có thể đượ c tô bằng k màu, trong đó mỗi một tập các đỉnh cùng màu

    đượ c gọi là một lớ  p màu.

    Một đồ thị có thể đượ c tô bằng k màu nghĩa là có k tập độc lập nhau trong đồ thị.

    2.2.5.  Giải thuật tô màu đỉnh vận dụng giải thuật tham lam

     Input: Ma tr ận k ề của đồ thị G (V,E)

    Output: danh sách các đỉnh đã đượ c tô màu

    Giải thuật tham lam (tiếng Anh: Greedy algorithm) là một giải thuật giải quyết

    một bài toán theo kiểu metaheuristic để  tìm kiếm lựa chọn tối ưu địa phương ở  mỗi

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    20/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    13 HVTH: Nguyễ n H ồ Duy Trí

     bước đi vớ i hy vọng tìm đượ c tối ưu toàn cục. Ở đây ta chọn đỉnh có bậc lớ n nhất để tối

    ưu số màu cần tô.

     Bướ c 1: Lập danh sách các đỉnh theo thứ tự giảm của bậc ta được E’ = (V1, V2…). 

    Đặt i = 1. Bướ c 2: Tô màu i cho đỉnh đầu tiên trong danh sách. Duyệt lần lược các đỉnh tiế p

    theo và tô màu i cho đỉnh không k ề đỉnh đã đượ c tô màu I (lựa chọn tham lam)

     Bướ c 3: 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 4.

     Bướ c 4: Loại khỏi E’ các đỉnh đã tô màu. Sắ p xế p lại E’ theo thứ tự bậc giảm dần.

    Đặt i = i + 1 và quay lại bướ c 2.

    Hình 2.13. Ví dụ về tô màu đỉnh.

    Tô màu cho đồ thị sau:

     Bướ c 1: Lập danh sách các đỉnh theo thứ tự giảm dần của bậc ta được E’ = (A, D,

    B, E, F, C), đặt i = 1.

     Bướ c 2: Tô màu 1 cho đỉnh A, duyệt các đỉnh còn lại thấy có đỉnh C không k ề vớ i

    đỉnh A, nên tô màu đỉnh C cùng màu 1.

     Bướ c 3: Đồ thị chưa tô màu hết nên loại A và C ra khỏi đồ thị, ta được E’ = (D,

    B, E, F). Tiế p tục tô màu 2 cho đỉnh D, duyệt các đỉnh còn lại nhưng không thể tô màu

    cho bất kì đỉnh nào nữa.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    21/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    14 HVTH: Nguyễ n H ồ Duy Trí

     Bướ c 4: Đồ thị chưa tô màu hết nên loại D ra khỏi đồ thị, ta được E’ = (B, E, F).

    Tiế p tục tô màu 3 cho đỉnh B, duyệt các đỉnh còn lại và tô màu 3 cho đỉnh E.

     Bướ c 5: Đồ thị chưa tô màu hết nên loại B, E ra khỏi đồ thị, ta được E’ = (F). Tiế p

    tục tô màu 4 cho đỉnh F, duyệt các đỉnh còn lại và không còn đỉnh nào nên không tô

    thêm màu đượ c.

     Bướ c 6: Do đồ thị đã đượ c tô hết màu ở  các đỉnh nên k ết thúc vớ i số màu tô là 4.

    2.2.6.  Nhược điểm của giải thuật tô màu tham lam

    Giải thuật tô màu tham lam không phải là một giải thuật tối ưu nhất về số màu để 

    tô cho một đồ thị. Trên cùng một đồ thị, vận dụng giải thuật tô màu tham lam có thể 

    cho ra nhiều k ết quả khác nhau.

    Một trườ ng hợ  p về đồ thị 2 phía đầy đủ như dưới là trườ ng hợp đặc biệt không tốt

    vớ i giải thuật tô màu tham lam. Sử dụng giải thuật tô màu tham lam tạo ra n màu sắc,

    trong khi đó thì đồ thị chỉ cần 2 màu để tô:

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    22/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    15 HVTH: Nguyễ n H ồ Duy Trí

    Hình 2.14. Nhược điểm tô màu tham lam

    2.2.7.  Định nghĩa NP –đầy đủ 

    Trong lý thuyết độ phức tạ p tính toán, lớ  p NP-đầy đủ là một lớ  p các bài toán quyết

    định. Một bài toán L là NP-đầy đủ nếu nó nằm trong lớ  p NP (lờ i giải cho L có thể đượ c

    kiểm chứng trong thời gian đa thức) và là NP-khó (mọi bài toán trong NP đều có thể 

    quy về L trong thời gian đa thức).Mặc dù bất kì lờ i giải nào cho mỗi bài toán đều có thể đượ c kiểm chứng nhanh

    chóng, hiện chưa có cách nào tìm ra đượ c lờ i giải đó một cách hiệu quả. Thờ i gian thực

    thi của tất cả các giải thuật hiện tại cho những bài toán này đều tăng rất nhanh theo kích

    thướ c bài toán. Vì vậy ngay cả những trườ ng hợp có kích thước tương đối lớn đã đòi

    hỏi thờ i gian hàng tỷ năm để giải. Do đó, việc xác định xem những bài toán này có thể 

    đượ c giải quyết nhanh chóng hay không (thườ ng gọi là bài toán P so vớ i NP) là một

    trong những bài toán mở  của khoa học máy tính hiện nay. (theo Wikipedia).

    Bài toán tô màu đỉnh là một bài toán NP đầy đủ.

    2.3.  Bài toán ngườ i bán hàng

    2.3.1.  Phát biểu

    Có một ngườ i giao hàng cần đi giao hàng tại n thành phố. Anh ta xuất phát từ một

    thành phố nào đó, đi qua các thành phố khác để giao hàng và tr ở  về thành phố  ban đầu.

    Mỗi thành phố chỉ đến một lần, và khoảng cách từ một thành phố đến các thành phố 

    khác đã đượ c biết trướ c. Hãy tìm một chu trình (một đường đi khép kín thỏa mãn điều

    kiện trên) sao cho tổng độ dài các cạnh là nhỏ nhất.

    Bài toán người bán hàng cũng là bài toán thuộc dạng NP –  đầy đủ.

    Bài toán ngườ i bán hàng có thể đượ c mô hình hóa dưới đồ thị  phía dưới, trong đó

    mỗi thành phố là một đỉnh, các cạnh là đường đi giữa mỗi thành phố, độ dài cạnh chính

    là khoảng cách mỗi con đườ ng.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    23/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    16 HVTH: Nguyễ n H ồ Duy Trí

    Hình 2.15. Ví dụ về  bài toán ngườ i bán hàng

    2.3.2.  Sử dụng giải thuật láng giềng gần nhất (nearest neighbor algorithm)

    Hình 2.16. Giải thuật láng giềng gần nhấtCác bước của giải thuật :

     Bướ c 1: Chọn một đỉnh bắt đầu V.

     Bướ c 2: Từ đỉnh hiện hành chọn cạnh nối có chiều dài nhỏ nhất đến các đỉnh chưa

    viếng thăm. Đánh dấu đã viếng thăm đỉnh vừa chọn.

     Bướ c 3: Nếu còn đỉnh chưa viếng thăm thì quay lại bướ c 2.

     Bướ c 4: Quay lại đỉnh V.

    Bài toán có năm thành phố vớ i khoảng cách giữa các thành phố đượ c tính bằng

    km. Sử dụng giải thuật láng giềng gần nhất, bắt đầu lần lượ t từ mỗi đỉnh, tìm đường đi

    thích hợp cho ngườ i bán hàng, cửa hàng đặt tại A và cần đi qua tất cả thành phố còn lại.

     Bắt đầu với đỉ nh A

    Từ A, đỉnh gần nhất là C, chiều dài AC = 8

    Từ C, đỉnh chưa viếng thăm gần nhất là E, CE = 4

    Từ E, đỉnh chưa viếng thăm gần nhất là B, EB = 15

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    24/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    17 HVTH: Nguyễ n H ồ Duy Trí

    Từ B, đỉnh chưa viếng thăm gần nhất là D, BD = 10

    Không còn đỉnh chưa viếng thăm, vì vậy quay về A, DA = 14

    Tổng chi phí ACEBDA là 8 + 4 + 15 + 10 + 14 = 51

     Lặ p l ại bắt đầu vớ i những đỉ nh khác:Đỉnh bắt đầu Đường đi  Tổng chiều dài

    A ACEBDA 51

    B BACEDB 50

    C CEABDC 45

    D DCEABD 45

    E ECABDE 50

    E ECDBAE 45

    Bảng 2.1. Đầu vào giải thuật láng giềng gần nhất

    Có ba đường đi có chiều dài 45 km là giống nhau. Một nhân viên bán hàng có cửa

    hàng tại A, đường đi tốt nhất tìm ra bở i giải thuật láng giềng gần nhất là ABDCEA =

    45 km.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    25/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    18 HVTH: Nguyễ n H ồ Duy Trí

    CHƯƠNG III. KHẢO SÁT HIỆN TR ẠNG VÀ YÊU CẦU CHỨC NĂNG 

    3.1.  Một số chương trình lập lịch thi sử  dụng giải thuật tô màu

    Bài toán tô màu đồ thị và ứng dụng xây dựng phần mềm xếp lịch thi cho họcchế tín chỉ

    -  Tham khảo: trong danh mục các tài liệu tham khảo, tiếng việt, ebook [1]

    -  Các vấn đề đã giải quyết:

      Xây dựng lịch thi cho học chế tín chỉ(sinh viên không thi cách ngày)

      Sắ p lịch thi trong thờ i gian giớ i hạn

      Trong một ngày, một phòng có thể phục vụ nhiều ca thi

     

    Các lớ  p môn học cùng môn học thì thi cùng thờ i điểm  Sinh viên không thi nhiều hơn 1 ca trong 1 ngày

      Sinh viên không thi liên tiế p trong k ngày

    -   Nhược điểm, các vấn đề chưa giải quyết:

      Chưa sắ p xế p tùy theo sức chứa của phòng, lịch phòng bận, tùy theo hình

    thức thi của lớ  p môn học mà chọn phòng cho phù hợ  p.

      Do sắ p một màu cho một ngày nên số ngày tối thiểu để có thể sắp đượ c là

     bằng số màu (nhỏ hơn số màu thì sẽ không sắp đượ c lịch thi)

      Phụ thuộc vào số k ngày thi cách để xét ngườ i dùng nhậ p nên không biết số 

    k nào là tối ưu nhất vớ i lịch thi để sắ p, từ đó vấn đề thi cách ngày của sinh

    viên chỉ có thể giải quyết một cách tương đối, nếu không tìm đượ c môn học

    nào thỏa mãn thì sẽ cách ngày đó ra.

      Giả sử không đủ phòng khi sắ p một màu cho một ngày thì chưa xử lý đượ c.

     

    Chưa quan tâm về vấn đề ca thi khi sắ p xế p lịch (chỉ từ các màu trong ngàyđể sắ p vào các ca tùy chọn).

      Chưa quan tâm tớ i các vấn đề lựa chọn phòng thi khác, thờ i gian thi khác khi

    lịch đã sắ p xong.

      Chưa quan tâm tớ i vấn đề sử dụng các ngày thi hợ  p lý nhất.

    A New Exam Scheduling Algorithm Using Graph Coloring

    -  Tham khảo: trong danh mục các tài liệu tham khảo, tiếng anh, ebook [6]

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    26/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    19 HVTH: Nguyễ n H ồ Duy Trí

    -  Các vấn đề đã giải quyết:

      Sắ p xếp đượ c lịch thi không bị trùng sinh viên

      Tính toán hiệu suất của giải thuật tô màu

     

    Quan tâm tớ i vấn đề cán bộ coi thi  Sinh viên không thi 2 ca thi một ngày

      Quan tâm tớ i vấn đề phòng thi tại một thời điểm

      Sử dụng các khe(slots) để phân bố các lớ  p môn học trong các màu cho các

    ngày

      Quan tâm tớ i vấn đề sử dụng các ngày để phân bố thi tốt nhất.

    -   Nhược điểm, các vấn đề chưa giải quyết:

     

    Chưa giải quyết vấn Descartes lớ  p môn học cùng môn học thì thi cùng nhau

      Chưa quan tâm tớ i vấn đề sinh viên thi cách ngày

      Chưa quan tâm tớ i vấn đề phòng thi nhiều: hình thức thi của lớ  p môn học,

    sức chứa…

      Chưa quan tâm tớ i vấn đề tối ưu theo ngày thi

      Giả sử không đủ phòng khi sắ p một màu cho một ngày thì chưa xử lý đượ c.

    Graph Coloring for Class Scheduling

    -  Tham khảo: trong danh mục tài liệu tham khảo, tiếng anh, ebook [7]

    -  Các vấn đề đã giải quyết:

      Vấn đề tìm phòng cho các lớ  p môn học

      Xây dựng lịch thi không bị trùng sinh viên

      Giải quyết vấn đề khi một màu sắ p vào các phòng trong một thời điểm mà

    không đủ thì nó sẽ sắ p ra thờ i gian khác

     

    Tối ưu ngày thi-  Vấn đề chưa giải quyết:

      Chưa quan tâm tớ i vấn đề ca thi

      Chưa quan tâm tớ i vấn Descartes lớ  p môn học cùng môn học thì cho thi cùng

    nhau

      Chưa quan tâm tớ i vấn đề sinh viên thi ít ca nhất trong ngày, thi cách ngày

      Chưa xử lý vấn đề phòng thi nhiều: hình thức thi của lớ  p môn học, sức chứa…

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    27/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    20 HVTH: Nguyễ n H ồ Duy Trí

      Chưa quan tâm tớ i vấn đề bận phòng

    University Exam Scheduling System Using Graph Coloring Algorithm and

    RFID Technology

    Tham khảo: trong danh mục tài liệu tham khảo, tiếng anh, ebook [8]-  Các vấn đề đã giải quyết:

      Sắ p xếp đượ c lịch thi sinh viên không bị trùng

      Quan tâm tớ i vấn đề phòng thi hợ  p lý

      Sắp đượ c các màu vào các ca, các ngày

      Tính toán hiệu suất làm việc của giải thuật tô màu.

    -  Các vấn đề chưa giải quyết: 

     

    Các lớ  p môn học cùng môn học thì cho thi cùng nhau

      Chưa xử lý vấn đề phòng thi nhiều: hình thức thi của lớ  p môn học, sức chứa…

      Chưa quan tâm tớ i vấn đề sinh viên thi ít ca nhất trong ngày, thi cách ngày

      Chưa quan tâm tớ i vấn đề bận phòng

      Giả sử không đủ phòng khi sắ p một màu cho một ngày thì chưa xử lý đượ c.

    3.2.  Giớ i thiệu về k ỳ thi trong trường Đại học Công nghệ thông tin

    Trường ĐH CNTT là trường Đại học đào tạo theo hình thức tín chỉ. Một năm học

    tại trườ ng có 3 học kì: học kì 1, học kì 2 và học kì hè. Mỗi một học kì thườ ng có 2 k ỳ 

    thi diễn ra là k ỳ thi giữa kì và k ỳ thi cuối kì. Mỗi k ỳ thi có sự tham gia của toàn bộ sinh

    viên trườ ng vớ i khoảng 4.000 sinh viên và hơn 300 môn học khác nhau. Các sinh viên

    có thể học 6-8 môn khác nhau. Số ca thi trong một ngày có thể lên tớ i 4 ca, vớ i thờ i gian

    từng ca là: Ca 1: bắt đầu từ 7h30; Ca 2: bắt đầu từ 9h30; Ca 3: bắt đầu từ 13h30; Ca 4:

     bắt đầu từ 15h30. Tuy nhiên, vớ i môn thực hành thì thờ i gian thi tùy thuộc vào giảng

    viên dạy lớp đó quy định.Hiện tại trườ ng có sử dụng phần mềm riêng để xây dựng lịch thi. Phần mềm này

    xây dựng dựa trên giải thuật tô màu tham lam (Greedy Coloring). Phần mềm này xây

    dựng lịch thi khá tốt (chưa xảy ra trườ ng hợ  p trùng lịch thi nào), tuy nhiên, còn vài ràng

     buộc mà phần mềm vẫn chưa thực hiện tốt như chưa sắp đượ c các môn thi mà số lượ ng

    sinh viên thi 2 ca một ngày và số lượ ng sinh viên thi liên tiế p 2 ngày tốt nhất, dẫn tớ i

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    28/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    21 HVTH: Nguyễ n H ồ Duy Trí

    trườ ng hợp PĐT sau khi nhận đượ c lịch đã xế p thì vẫn phải xế p tay lại để thỏa mãn các

    trườ ng hợ  p.

    3.3.  Mô tả hệ thống

    Đối với môn thi thực hành, báo cáo đồ án môn học:

    Phòng Đào tạo

    4

    Phòng Dữ liệu

    2 Ban Quản lý cơ sở 1Các khoa

    3

     

    Sơ đồ 3.1. Sơ đồ mô tả hệ thống vớ i thi thực hành, báo cáo đồ án môn học

    1: Danh sách lịch thi đã đượ c sắ p xế p ngày thi và cán bộ coi thi nhưng chưa sắ p

     phòng

    2: Danh sách các phòng bận

    3: Danh sách lịch thi hoàn chỉnh đã sắ p phòng

    4: Hỗ tr ợ  lậ p lịch

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    29/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    22 HVTH: Nguyễ n H ồ Duy Trí

    Đối với môn thi lý thuyết:

    Phòng Đào tạo

    7

    Phòng Dữ liệu

    2 Ban Quản lý cơ sở 1Các khoa

    6

    Dữ liệu trường

    Sinh viên Cán bộ

    3

    4

    5

     

    Sơ đồ 3.2. Sơ đồ mô tả hệ thống vớ i thi lý thuyết

    1: Lịch bận của các giảng viên

    2: Lịch bận phòng

    3: Các thông tin về lớ  p môn học, sinh viên, học phí sinh viên

    4: Thông tin về lịch thi của sinh viên

    5: Thông tin về lịch coi thi của cán bộ 

    6: Thông tin về lịch thi của khoa

    7: Hỗ tr ợ  lậ p lịch

    3.4.  Mô tả các đơn vị tham gia

    -  Khoa: là nơi chịu trách nhiệm về các lớ  p môn học. Do học theo tín chỉ nên mỗi

    môn học sẽ do 1 khoa phụ trách về giảng viên và nội dung môn học đó. Khoa

    cũng là đơn vị quản lý các giảng viên và phân công công tác đối vớ i các giảng

    viên. Khoa cũng quản lý các lớ  p môn học và đưa ra danh sách các lớ  p môn học

    nào đượ c thi, và thi theo thứ tự như thế nào. Một môn học có thể có nhiều lớ  p

    môn học đi kèm, và mỗi một lớ  p môn học lại có thể có nhiều lớ  p thực hành. Tuy

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    30/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    23 HVTH: Nguyễ n H ồ Duy Trí

    nhiên, khi đăng kí học phần thì sinh viên chỉ đượ c phép học một lớ  p môn học

    thuộc một môn học và một lớ  p thực hành tương ứng. Mỗi giảng viên đều có các

    thông tin: mã giảng viên, tên giảng viên, địa chỉ, số điện thoại, chức vụ, thuộc

    khoa nào, giới tính, năm sinh. Mỗi giảng viên có lịch bận công tác gồm các thôngtin: mã giảng viên, thờ i gian bắt đầu, thờ i gian k ết thúc, lý do. Mỗi môn học thì

    sẽ có các thông tin: mã môn học, tên môn học, số tín chỉ, thuộc khoa nào. Mỗi

    lớ  p môn học thì bao gồm các thông tin: mã lớ  p môn học, mã môn học, mã giảng

    viên dạy, phòng dạy, thờ i gian học, số lượ ng, các sinh viên theo học, các lớ  p thực

    hành đi kèm, thờ i gian thi, hình thức thi, loại thi.

    -  Phòng Đào tạo: là nơi tiế p nhận thông tin từ các bộ phận khác và trao đổi thông

    tin, dướ i sự hỗ tr ợ  của Ban dữ liệu để có thể xây dựng và điều chỉnh lịch thi, sau

    khi lậ p lịch thi thì thông báo lịch thi tớ i các cán bộ coi thi, các khoa và các sinh

    viên.

    -  Ban quản lý cơ sở : Nơi quản lý toàn bộ cơ sở  vật chất của trườ ng, bao gồm

     phòng học, phòng thực hành, phòng thí nghiệm và sân bãi. Ban cũng có lịch làm

    việc của các cơ sở  vật chất để tránh xảy ra trườ ng hợ  p nhiều đối tượ ng sử dụng

    chung một cơ sở  vật chất. Trong phòng học thì có các thông tin về  phòng đó như

    mã phòng, sức chứa, vị trí phòng, loại phòng, tình tr ạng sử dụng của phòng đó

    -  Sinh viên: Là thực thể tr ực tiế p tham gia vào quá trình thi tại trườ ng. Sinh viên

    có các thông tin quan tr ọng như: mã sinh viên, tên sinh viên, giới tính, địa chỉ,

    lớp, khoa, năm sinh, số điện thoại, email.

    -  Dữ  liệu trườ ng: Bao gồm các thông tin về lớ  p môn học, thông tin về học phí của

    sinh viên… được lưu trữ trên hệ thống quản tr ị cơ sở  dữ liệu của trườ ng. Các dữ 

    liệu này sẽ giúp cung cấ p thông tin cho quá trình lậ p lịch thi-  Ban dữ  liệu: là đơn vị hỗ tr ợ , cung cấ p các giải pháp kĩ thuật giúp PĐT lậ p lịch.

    3.5.  Hoạt động chính khi lập lịch thi

    -  Quản lý dữ  liệu của trườ ng: các thông tin về lớ  p môn học, về danh sách các cán

     bộ, danh sách các phòng đượ c sử dụng làm phòng thi.

    -  Lập lịch thi: dựa trên các dữ liệu để xây dựng lịch thi, thông báo lịch thi tớ i các

    cá nhân, đơn vị liên quan.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    31/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    24 HVTH: Nguyễ n H ồ Duy Trí

    3.6.  Quy trình nghiệp vụ lập lịch thi

    Kì thi đượ c phân làm hai loại chính:

    Thi thực hành hay báo cáo đồ án môn học, thi vấn đáp Tiế ng Anh

    Vớ i loại thi này, Khoa sẽ gửi danh sách các lớ  p môn học thực hành đã sắ p sẵnngày tháng và cán bộ coi thi để gửi tới PĐT. Dựa trên dữ liệu về phòng của trườ ng,

    PĐT sẽ sắ p các phòng thi phù hợ  p và gửi lại cho Khoa để khoa thông báo về cho sinh

    viên của mình. Thông thườ ng thì các lớ  p môn học thực hành đượ c tổ chức thi vào tuần

    dự tr ữ của học kì, và lớ  p môn học nào học ở   phòng nào thì thi ngày đó tại đúng thờ i

    gian học đó. Giảng viên coi thi cũng chính là giảng viên dạy thực hành môn đó.

    Thi lý thuyế t

    Vớ i loại thi này thì tổ chức quy mô hơn. Các khoa sẽ chỉ đưa ra danh sách các

    giảng viên bận không tham gia coi thi đượ c gửi cho PĐT. Ban Quản lý cơ sở  sẽ gửi cho

    PĐT các phòng không sử dụng làm phòng thi đượ c. Mặc định, các giảng viên đều phải

    tham gia coi thi và các phòng học đều tr ống. PĐT dựa vào dữ liệu các lớ  p môn học,

    sinh viên học lớ  p môn học, phòng học và giảng viên coi thi để có thể xây dựng lịch thi.

    Thườ ng thì công việc xế p lịch thi thì PĐT sẽ để Ban Dữ liệu thực hiện, và đưa lại cho

    PĐT hiệu chỉnh nếu có thay đổi về lịch bận phòng. Khi xây dựng lịch thi, đảm bảo các

    yêu cầu sau:

    -  Yêu cầu cứng:

      Lịch thi đượ c thực hiện trong một khoảng thời gian xác định có thể điều

    chỉnh.

      Không bị trùng lịch thi của một sinh viên.

      Một lớ  p môn học khi thi thì phải đảm bảo 1 ngườ i ngồi 1 bàn (sức chứa của

     phòng đó sẽ chia 2 để tính số sinh viên khi thi). Có thể du di thêm vài ngườ inữa trong một phòng học.

      Các lớ  p môn học cùng môn học thì tổ chức thi cùng nhau.

      Có 4 ca thi ở  trườ ng vớ i các thờ i gian thi khác nhau.

      Lớ  p thực hành thì sắ p ở  các phòng thi thực hành, lớ  p lý thuyết thì sắ p ở  phòng

    thi lý thuyết, các lớ  p chất lượ ng cao thì sắ p ở  các phòng chất lượ ng cao. Lớ  p

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    32/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    25 HVTH: Nguyễ n H ồ Duy Trí

    thi vấn đáp, thực hành thì sắ p xế p phòng có sức chứa lớn hơn số lượ ng sinh

    viên.

    -  Yêu cầu mềm:

     

    Sinh viên mong muốn thi 1 ca 1 ngày.  Có thể sắ p xế p một số môn thi vào một ngày nào đó. 

      Sinh viên có thể thi cách ngày tốt nhất.

      Ưu tiên thi ca 2,3,1,4.

      Ưu tiên môn có thời lượ ng thi >90p thì cho thi ca 2.

    Sau khi đưa ra danh sách lịch thi cho từng lớ  p thì mớ i dựa trên thông tin học phí

    của sinh viên để đính kèm ghi chú về các khoản học phí chưa đóng. Thông tin về lịch

    thi sẽ đượ c gửi cho sinh viên (thông tin về lịch thi của sinh viên đó), khoa (thông tin về 

    lịch thi của khoa đó), tình hình sử dụng phòng.

    Chương trình tậ p trung vào chức năng lậ p lịch thi cho các lớ  p lý thuyết nên các

     phần sau sẽ chỉ trình bày về thi lý thuyết cuối kì và giữa kì.

    3.7.  Hiện trạng tin học của trường Đại học

    Hiện tại trường ĐH CNTT đượ c trang bị cấu hình tối thiểu là Pentium IV, Ram 1

    GB, HDD 250 GB thỏa mãn chạy được chương trình có các giải thuật.

    Trườ ng hiện tại sử dụng phần mềm để lậ p lịch thi. Phần mềm này sử dụng giải

    thuật tô màu tham lam (Greedy Coloring) để thực hiện lậ p lịch thi, tuy nhiên, có một số 

    hạn chế khi sử dụng phần mềm này là:

    -  Không dựa theo danh sách phòng bận (giả sử hôm đó phòng đó bận công việc gì

    đó), phần mềm mặc định lấy toàn bộ  phòng để sắ p lịch. Sau khi lậ p xong lịch thì

    PĐT sẽ hiệu chỉnh lại bằng tay. Điều này có thể mất nhiều công sức nếu có nhiều

     phòng bận nhiều thời điểm.-  Chưa sắp đượ c các lớ  p theo số sinh viên thi 2 ca một ngày hoặc số sinh viên thi

    liên tiế p 2 ngày.

    -  Chưa tận dụng tối ưu sức chứa của phòng vớ i số lượ ng sinh viên lớp đó thi.

    3.8.  Mong muốn của trường đối vớ i hệ thống

    -  Có thể nhập đượ c danh sách phòng bận để phân công phòng.

    -  Có thể tùy chọn nhiều tham số để đưa ra các lịch thi khác nhau.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    33/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    26 HVTH: Nguyễ n H ồ Duy Trí

    -  Giao diện thân thiện, dễ sử dụng.

    -  Phân quyền linh động: theo nhóm quyền.

    -  Đảm bảo tính bảo mật: chỉ có ngườ i có mật khẩu mớ i có thể đăng nhậ p vào hệ 

    thống, chỉ có ngườ i quản lý mớ i có thể thay đổi các thiết đặt quan tr ọng đối vớ ihệ thống.

    3.9.  Yêu cầu chức năng và phi chức năng của hệ thống

    Yêu cầu chức năng

    Yêu cầu khi l ậ p l ịch thi:

    -  Chương trình tậ p trung vào việc sắ p lịch cho các môn thi lý thuyết giữa kì hoặc

    cuối kì.

    Sắp đượ c k ỳ thi lý thuyết. Các môn có hình thức thi là viết hoặc vấn đáp thì sẽ 

    đượ c xế p vào phòng thi lý thuyết, các môn có hình thức thi là máy thì sẽ đượ c

    xế p vào các phòng máy tính.

    -  Có thể sắ p xế p một số môn thi vào một ngày nào đó.

    -  Các lớ  p chất lượng cao đượ c sắ p vào các phòng chất lượng cao tương ứng.

    -  Có thể điều chỉnh khoảng thờ i gian thi.

    -  Sinh viên thi không bị trùng lịch.

    -  Các lớ  p môn học phải được thi trong các phòng đảm bảo 1 sinh viên ngồi một

     bàn 2 ngườ i. Tuy nhiên có thể điều chỉnh thêm một lượng ngườ i nữa vào trong

     phòng đó.

    -  Có thể chỉnh sửa lịch.

    -  Các lớ  p môn học cùng môn học thì tổ chức thi cùng nhau.

    -  Có 4 ca thi ở  trườ ng vớ i các thờ i gian thi khác nhau: ca 1 bắt đầu lúc 7h30, ca 2

     bắt đầu lúc 9h30, ca 3 bắt đầu lúc 13h30, ca 4 bắt đầu lúc 15h30.-  Ưu tiên sắ p vào các ca theo thứ tự là 2,3,1,4.

    -  Có thể điều chỉnh các tùy chọn để ra các lịch thi khác nhau.

    -  Phân công hợ  p lý phòng thi: dựa theo sức chứa của phòng và thờ i gian bận của

     phòng để có lịch sử dụng phòng tối ưu nhất.

    -  Có thể xế p phòng máy cho các lớ  p môn học học lý thuyết nhưng thi trên máy.

    -   Nếu thi ở  phòng máy thì phải sắ p số lượ ng máy >= số lượng sinh viên phòng đó.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    34/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    27 HVTH: Nguyễ n H ồ Duy Trí

    -  Sắ p sinh viên thi ở  các phòng có sức chứa tương đương nhau

    -  Có thể xuất ra các tệ p tin k ết quả lịch thi: lịch thi chung, lịch thi theo lớ  p môn

    học.

    Sắ p lịch thi cho sinh viên thi 2 ngày liên tiế p, sinh viên thi 2,3,4 ca một ngày phùhợ  p nhất.

    -  Các môn học có thời lượng thi >90p thì ưu tiên cho thi ca 2.

     Đố i vớ i Admin (Ban d ữ  liệu):

    -  Có thể sử dụng mọi chức năng mà các phòng khác sử dụng.

    -  Thêm dữ liệu về khoa, sinh viên, môn học, giảng viên, năm học, phòng học.

    -  Có thể điều chỉnh quyền cho các thành viên khác.

     Đố i với Phòng Đào tạo:

    -  Lậ p lịch thi.

     Đố i vớ i Ban Quản lý cơ sở :

    -  Cậ p nhật tình tr ạng phòng.

     In/Nhậ p báo biể u, thố ng kê:

    -  In lịch thi chung.

    -  In lịch thi theo lớ  p.

    -  In lịch thi cho khoa.

    Chức năng đề  xuấ t:

    -  Các môn thi có cùng thời lượng thi thì cho thi cùng nhau để dễ sắ p xế p cán bộ 

    coi thi.

    -  Có thể cho phép loại bỏ một số ngày không thi trong danh sách ngày.

    -  Cho phép tùy chọn số sinh viên thi 3 ca, 4 ca bao nhiêu thì phù hợ  p vớ i 1 sinh

    viên thi 2 ca.-  Cho phép tùy chọn lậ p lịch thi có giớ i hạn thờ i gian hay không phụ thuộc vào số 

    lượ ng sinh viên thi 2 ngày chấ p nhận và số lượ ng sinh viên thi 2 ca chấ p nhận.

    -  Cho phép lựa chọn đầu vào là các môn học đượ c phép thi.

    -  Cho phép lựa chọn đầu vào là các ngày tổ chức thi.

    -  Cho phép lựa chọn đầu vào là các môn học muốn ưu tiên thi trướ c trong một ngày

    nào đó.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    35/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    28 HVTH: Nguyễ n H ồ Duy Trí

    -  Cho phép lựa chọn số sinh viên thi 3 ca và 4 ca so vớ i 2 ca chấ p nhận đượ c.

    -  Phân quyền theo nhóm quyền.

    Yêu cầu phi chức năng

    Hệ thống triển khai dướ i dạng Winform.-  Giao diện thân thiện, dễ sử dụng.

    -  Trình bày thông tin nhanh chóng.

    -  Đảm bảo tính bảo mật: chỉ có ngườ i có mật khẩu mớ i có thể đăng nhậ p vào hệ 

    thống, chỉ có ngườ i quản lý mớ i có thể thay đổi các thiết đặt quan tr ọng đối vớ i

    hệ thống.

    3.10. Lợ i ích của hệ thống mớ i

    Giảm thiểu thờ i gian lậ p lịch.

    -  Giảm thiểu sai sót khi lậ p lịch.

    -  Giảm thiểu thời gian trao đổi thông tin giữa các phòng ban.

    -  Thông tin đượ c hiển thị k ị p thờ i và chính xác.

    -  Có thể tùy chọn nhiều ràng buộc khác nhau.

    -  Tăng hiệu quả làm việc của các nhân viên PĐT. 

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    36/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    29 HVTH: Nguyễ n H ồ Duy Trí

    CHƯƠNG IV. ÁP DỤNG VÀO BÀI TOÁN LẬP LỊCH THI

    4.1.  Giải thuật tô màu đỉnh trong bài toán lập lịch

    Vớ i tích Descartes chúng ta có thể chuyển đổi các vấn đề trong việc tìm kiếm một tậ p m-màu của các đỉnh n của một đồ thị tương đương như việc tìm kiếm một bộ độc lậ p kích

    thướ c n trong tích Descartes G × K m. 

    Tích Descartes

    Một đơn đồ thị G với n đỉnh là tô được bằng m  mầu  khi và chỉ khi tích Descartes

    G × K m có một tập độc lập kích thước n. 

    Chứng minh. 

    Giả sử có một tập m-màu của các đỉnh của G. Xác định một tập con S  của các đỉnh của

    tích Descartes G × K m như sau. Một đỉnh (u, v) của G × K m thuộc S  nếu và chỉ nếu đỉnh

    u của G được giao màu v đối với tập m màu thích hợp. Vì mỗi đỉnh của G được giao

    một màu duy nhất, | S  | = n.  Bây giờ chúng ta sẽ chỉ ra rằng S  là một tập độc

    lập.  Cho (u1, v1) và (u2, v2 ) thuộc S, giả sử có một cạnh  {(u1, v1 ), (u2, v2 )} trong G × 

     K m. Do đó, theo định nghĩa của tích Descartes, có hai khả năng: 

      u1 = u2 và {v1, v2 } là một cạnh trong K m.  Nhưng u1 = u2 vớ i v1 = v2, từ  mỗi đỉnh

    trong G đượ cgiao một màu duy nhất. Nhưng sau đó {v1, v1 } không thể  là một

    cạnh trong K m khi K m là một đơn đồ thị (mâu thuẫn).

      {u1, u2 } là một cạnh trong G, và v1 = v2.  Nhưng điều này vi phạm các định nghĩa

    của một tậ p m màu của G từ đỉnh k ề phải đượ c giao các màu khác nhau (mâu

    thuẫn).

    Vì vậy không thể  có một cạnh giữa hai đỉnh trong S  và S  phải là một tập độc lậ p.

     Ngượ c lại, giả sử có một tập độc lậ p S  kích thướ c n trong tích Descartes G × K m. Ta chỉ ra r ằng G có m màu riêng biệt. Nếu m  lớn hơn hoặc bằng n thì G có thể đượ c m màu

    một cách tầm thường, do đó giả sử m nhỏ hơn n. Sự  phân chia các đỉnh của S  vào nhiều

    nhất là m lớp tương đương C 1, C 2, ..., C m, nơi một đỉnh (u, v) trong S  thuộc về lớ  p tương

    đương C i khi và chỉ khi v = vi. Rõ ràng , điều này đưa ra một định nghĩa phân chia tố t

    của các đỉnh trong S . Bây giờ  các đỉnh của G vào nhiều nhất là m lớp tương đương

    C' 1, C' 2, ..., C' m , nơi một u đỉnh của G thuộc lớp tương đương C' i nếu và chỉ  nếu (u,

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    37/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    30 HVTH: Nguyễ n H ồ Duy Trí

    vi ) thuộc về  lớ  p tương đương C i. Để chứng tỏ điều đó ta đưa ra một định nghĩa phân

    chia tốt của các đỉnh các đỉnh của G tuân theo:

      Cho một đỉnh u của G, nếu u thuộc về cả hai C' i và C'  j thì (u, vi ) thuộc C i và (u,

    v j ) thuộc C  j. Khi K m đầy đủ, {vi, vk} là một cạnh trong K m, do đó, {(u, vi ) , (u, v j )} làmột cạnh trong tích Descartes G × K m. Điều này mâu thuẫn vớ i thực tế là S  là

    một tập độc lậ p .Vì vậy, các bộ C' 1 , C' 2, ..., C' m là cặ p phân chia.

      Danh sách các phần tử của S  sắ p xếp như sau: 

    o  (U 11, v1 ), (u12, v1 ), ..., (u1i (1), v1 ) 

    o  (U 21, v2 ), (u22, v2 ), ..., (u2i(2), v2 ) 

    o  ...

    o  (U m1, vm ), (um2, vm ), ..., (umi(m) , vm ) 

     Nếu một số ui j = uk l  trong  danh sách, thì, khi K m đầy đủ, {vi , vl  } là một cạnh trong K m, do

    đó, {(ui j, vi ), (uk l , vl  )} là một cạnh trong tích Descartes G × K m. Điều này mâu thuẫn vớ i

    thực tế S  là một tập độc lậ p. Vì vậy, tất cả các ui j xuất hiện trong danh sách là riêng biệt

    và từ | S  | = n, có n, ui j , i   phân biệt mọi đỉnh của G đượ c chứa trong một số lớ  p tương

    đương C'  Do đó, chỉ  định màu i đến đỉnh u của G nếu u thuộc về  các lớp tương

    đương C' i. Điều này tạo ra một tậ p m-màu của các đỉnh của G. 

    Bây giờ chúng ta định nghĩa hai thủ tục để thực hiện với tập độc lập trong tích Descartes

    G × K m.

    Thủ tục 1 

    Với một tập độc lập S của tích Descartes G × K m nếu S  không có đỉnh có thể thêm, đầu

    ra S.  Ngược lại, cho mỗi đỉnh có thể thêm (u, v) của S, tìm số ρ (S ∪ {(u, v)}) của đỉnh

    có thể thêm của tập độc lập S  ∪ {(u, v)}. Cho (u, v)max  biểu thị một đỉnh có thể thêm sao

    cho ρ (S  ∪ {(u, v)max }) là lớn nhất và chứa tập độc lập S  ∪ {(u, v)max }. Lặp lại cho đếnkhi tập độc lập không có đỉnh có thể thêm vào. 

    Thủ tục 2 

    Cho một tập độc lập tối đa S của tích Descartes G × K m, nếu không có đỉnh (u1, v1 ) bên

    ngoài S  sao cho (u1, v1 ) có đúng một lân cận (u2, v2) trong S, đầu ra S.  Ngược lại, tìm

    thấy một đỉnh (u1, v1 ) ngoài S sao cho (u1, v1 ) có đúng một lân cận (u2, v2 ) trong S 1. Xác

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    38/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    31 HVTH: Nguyễ n H ồ Duy Trí

    định S (u1, v1), (u2, v2)  bằng cách thêm (u1, v1) vào S  và bỏ (u2, v2 ) từ S. Thực hiện thủ tục

    3.1 trên S  (u1, v1 ), (u2, v2 ) và đầu ra các tập độc lập kết quả. 

    Giải thuật 

    Với đầu vào là một đơn đồ thị G với n đỉnh, tìm kiếm một tập m-màu của các đỉnhcủa G. Để {u1, u2, ..., un }  biểu thị các đỉnh của G và để {v1, v2, ..., vm }  biểu thị các đỉnh

    của  K m.. Chúng ta tạo các tập độc lập tối đa trong tích Descartes G × K m. Ở mỗi giai

    đoạn, nếu tập độc lập thu được có kích thước n nhỏ nhất, thì đi đến phần III. 

     Phần I.  Đối với i = 1, 2, ..., n và j = 1, 2, ..., n lần lượt  

     Khởi tạo tập độc lập S i, j = {(ui, v j )}. 

    Thực hiện thủ tục 1 trên S i, j.

     Đối với r = 1, 2, ..., n thực hiện thủ tục 2 lặp lại r lần. 

     Kết quả là một tập độc lập tối đa S i, j.

     Phần II. Với mỗi cặp tập độc lập tối đa S i, j , S k, l  tìm thấy trong phần I  

     Khởi tạo S đặt độc lập i, j, k, l = S i, j ∩ S k, l.

    Thực hiện thủ tục 1 trên S i, j, k, l.

     Đối với r = 1, 2, ..., n thực hiện thủ tục 2 r lần  lặp đi lặp lại. 

     Kết quả là một tập độc lập tối đa S i, j, k, l.

     Phần III.  Nếu một tập độc lập S với kích thước n đã được tìm thấy tại bất kỳ giai đoạn

    của phần I hoặc phần II, đầu ra S như là một tập m-màu của các đỉnh của G theo Bổ

    đề Đề các.  Ngược lại, kết luận thuật toán không thể tìm thấy bất kỳ tương ứng m-

    màu của các đỉnh của G.

    4.2.  Độ phứ c tạp

    Tiếp theo để đánh giá độ phức tạ p của giải thuật, nhóm sẽ chỉ ra r ằng thuật toán k ết thúc

    trong thời gian đa thức, trong khi tìm kiếm một tậ p m-màu cho một đồ thị vớ i n đỉnh, bằng cách xác định một đa thức của N = nm đó là một cận trên trên tổng số  bướ c tính

    toán thực hiện bở i thuật toán.Lưu ý rằng chúng ta xem xét

      Kiểm tra xem một cặ p của các đỉnh đượ c k ết nối bở i một cạnh trong G, và

      So sánh xem một số nguyên cho trướ c nhỏ hơn một số nguyên cho trước đượ c tính

    toán các bước cơ bản.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    39/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    32 HVTH: Nguyễ n H ồ Duy Trí

    Mệnh đề 1

    Cho một đồ thị đơn giản G với n đỉnh và một tập độc lập S  của G × K m, thủ tục 1 mất ít

    nhất (nm)5  bước. 

    Chứng minh Kiểm tra việc một đỉnh riêng có thể thêm thì mất tối đa (nm)2  bước, từ đỉnh có ít hơn

    các lân cận nm và cho mỗi lân cận phải mất ít hơn nm bước để kiểm tra xem nó là ở

    ngoài tập độc lập. Đối với một tập độc lập riêng, việc tìm kiếm số ρ của các đỉnh có thể

    thêm mất ít nhất (nm)3 = (nm)(nm)2  bước, khi nhiều nhất nm đỉnh  bên ngoài tập độc lập

    chúng ta phải kiểm tra xem nó có thể thêm hay không. Đối với một tập độc lập riêng,

    việc tìm kiếm một đỉnh sao cho ρ là tối đa thì mất ít nhất (nm)4 = (nm)(nm)3  bước, khi

    có hầu hết nm đỉnh bên ngoài. Thủ tục 1 kết thúc khi hầu hết nm đỉnh được thêm, do đó

     phải mất một tổng của hầu hết (nm)5 = (nm)(nm)4 bước. 

    Mệnh đề 2 

    Cho một đơn đồ thị G với n đỉnh và một tập độc lập tối đa S  của G × K m, thủ tục 2 mất

    ít nhất (nm)5 + (nm)2 +1 bước. 

    Chứng minh 

    Để tìm một đỉnh (u1, v1 ) bên ngoài S  mà có đúng một lân cận (u2, v2 ) bên trong S có tối

    đa (nm)2  bước, khi có ít hơn nm đỉnh ngoài S và chúng ta phải tìm ra nếu ít nhất một

    trong các lân cận bé hơn nm của bất kỳ đỉnh nào ở trong S.  Nếu như một đỉnh (u1, v1 ) đã

    được tìm thấy, phải mất một bước để hoán đổi (u1, v1 ) và (u2, v2 ).  Sau đó, bằng mệnh

    đề 1, phải mất ít nhất (nm)5  bước để thực hiện các thủ tục 1 vào tập độc lập kết quả.  Như

    vậy, thủ tục 2 mất ít nhất (nm) 2 + 1 + (nm) 5  bước. 

    Mệnh đề 3

    Cho một đơn đồ thị G với n đỉnh và m  màu, phần I của thuật toán có tốiđa (nm)7 + (nm)6 + (nm)4 + (nm)2  bước. 

    Chứng minh 

    Tại mỗi lượt, thủ tục 1 mất ít nhất (nm)5  bước bằng mệnh đề 1. Sau đó, thủ tục 2 được

    thực hiện tối đa nm lần mà theo mệnh đề 2, mất tối đa nm((nm) 5 + (nm) 2 + 1)

    = (nm) 6 + (nm)3 + nm  bước .Vì vậy, tại mỗi lượt, tối đa (nm)5 + (nm)6 + (nm)3 +

    nm  bước được thực hiện. Có nm lượt cho i = 1, 2, ..., n, và j = 1, 2, ..., m, do đó, một

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    40/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    33 HVTH: Nguyễ n H ồ Duy Trí

     phần I thực hiện tổng cộng tối đa là nm((nm)5 + (nm)6 + (nm)3 +

    nm) = (nm)6 + (nm)7 + (nm)4 + (nm)2  bước. 

    Mệnh đề 4

    Cho một đơn đồ thị G với n đỉnh và m  màu , thuật toán mất ít hơn (nm)8

     +2(nm)7 + (nm)6 + (nm)5 + (nm)4 + (nm)3 + (nm)2  bước để kết thúc. 

    Chứng minh 

    Có ít hơn (nm)2 cặ p riêng biệt của tập độc lậ p tối đa đượ c tìm thấy bở i phần I, mà

    đượ c thực hiện lần lượt. Tương tự như các thực nghiệm về mệnh đề 3, phần II có ít hơn 

    (nm)2 ((nm)5 + (nm)6  + (nm)3 + nm) = (nm)7 + (nm)8 +(nm)5 + (nm)3. Do đó, phần I và

     phần II cùng nhau mất ít hơn tổng cộng của

    ((nm 7 + (nm) 6 + (nm) 4 + (nm) 2 ) + ((nm) 8 +(nm) 7 + (nm) 5 + (nm) 3 ) = (nm) 8 +

    2(nm)7 + (nm)6 + (nm)5 + (nm)4 + (nm)3 + (nm)2  bước để k ết thúc.

    4.3.  Mô hình hóa và áp dụng giải thuật tô màu vào bài toán lập lịch thi trườ ng

    Đại học CNTT

    Các bướ c xây d ự ng l ịch thi bằ ng giải thuật tô màu:

    -  Bướ c 1: Sử dụng giải thuật tô màu tham lam để tìm các màu cho bài toán

    -  Bướ c 2: Từ các màu tìm đượ c phân bố vào các ca và ngày hợ  p lý, từ mỗi ca và

    ngày lựa chọn phòng hợ  p lý

     Đầu vào và đầu ra của bài toán:

    -  Dữ liệu đầu vào: Danh sách các lớ  p môn học, môn học, tình hình đăng kí học

     phần của sinh viên, danh sách ngày thi, danh sách các môn muốn thi trướ c, các

    cài đặt cho giải thuật.

    Dữ liệu đầu ra: Lịch thi cho các lớ  p môn học, các tệ p tin Excel Lịch thi chung,Lịch thi cho khoa, Lịch thi cho các lớ  p môn học, Lịch thi cho sinh viên, các thống

    kê về tình hình thi sinh viên.

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    41/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    34 HVTH: Nguyễ n H ồ Duy Trí

    Sơ đồ 5.1. Mô hình các bướ c xử lý bài toán tô màu

  • 8/19/2019 TÌM HIỂU GIẢI THUẬT TÔ MÀU ĐỒ THỊ ÁP DỤNG VÀO BÀI TOÁN TƯ VẤN LẬP LỊCH THI

    42/61

    Thuật toán và phương pháp giải quyết vấn đề  GVHD: PGS. TS. Đỗ Văn Nhơn 

    35 HVTH: Nguyễ n H ồ Duy Trí

    Sử dụng giải thuật tô màu để tìm các màu cho bài toán

    Sơ đồ 5.2. Sơ đồ áp dụng giải thuật tô màu vào bài toán:

    -  Ràng buộc: Các