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

Giải thuật di truyền cho thời khoỏ biểu

Một phần của tài liệu MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG TRONG BÀI TOÁN LẬP THỜI KHOÁ BIỂU (Trang 81 -92 )

1. Tổ chức và khai thỏc cơ sở dữ liệu truyền thống

5.2.3. Giải thuật di truyền cho thời khoỏ biểu

Trƣớc hết ta nhỡn vào bảng 1 sau đõy để thấy đƣợc thời gian biểu thụng thƣờng trong thực tế của một lớp học:

Thứ 2 Thứ 3 Thứ 4 Thứ 5 Thứ 6

Tiết 1 ….. …. …. … ….

Tiết 2 ….. …. …. … ….

Tiết 3 ….. Tờn mụn Giảng viờn Phũng học

…. … ….

Tiết 4 ….. …. …. … ….

Tiết 5 ….. …. …. … ….

Tiết 6 ….. …. …. … ….

Bảng 1: Mụ hỡnh thời khoỏ biểu thực tế

Cỏch trỡnh bày này rất dễ hiểu và cú ớch cho việc lập thời khoỏ biểu, tuy nhiờn ta khụng thể dựng nú để biểu diễn cỏc nhiễm sắc thể trong cỏc thời gian nhƣ nhau. Nguyờn nhõn là do khi dựng bảng này thỡ việc tƣơng giao chộo và đột biến trở nờn khú khăn, ngoài ra theo truyền thống thỡ cỏc nhiễm sắc thể đƣợc biểu diễn bằng chuỗi cỏc bit. Nhƣ đó núi ở trờn, cỏc thành phần cần thiết cho thời khoỏ biểu gồm: khe thời gian (tiết học), giảng viờn, sinh viờn, sự kiện(buổi học), phũng học, lớp học. Ta cần kết hợp giữa thời khoỏ biểu của lớp học và lịch trỡnh của giảng viờn và khụng gian là cần thiết.

Trong thời khoỏ biểu và để làm cho giải thuật tiến hoỏ cú hiệu quả cỏc nhiễm sắc thể đƣợc thiết kế nhƣ bảng 2 :

Thứ 2 – 1 Thứ 2 - 2 ….. Thứ 6 – 5 Thứ 6 – 6

Phũng 1 Sự kiện 1-1 Sự kiện 2-2 … … ..

…… … … …

Phũng thực hành 1 .. .. .. .. …

…. .. .. .. .. ..

Phũng thực hành j .. .. .. .. Sự kiện i-6

Bảng 2: mụ hỡnh thiết kế cho nhiễm sắc thể.

5.2.3.1. Cỏc khe thời gian

Cỏc sự kiện (buổi học) chiếm cỏc phũng trong một ngày làm việc. Trong mụ hỡnh thời khoỏ biểu đƣa ra ở bảng hai chiều nhƣ bảng 2, chiều cột biểu diễn ngày làm việc, chiều hàng là một số khe thời gian trong mỗi ngày làm việc. Trong thiết kế nhiễm sắc thể, tất cả cỏc khe thời gian đƣợc đƣa vào trong một cột, vớ dụ: Một tuần bắt đầu từ thứ 2 đến thứ 6 và mỗi buổi học cú 6 khe thời gian (6 tiết), do đú tổng số khe thời gian (tiết) trong một tuần là 6x5=30. Tuy nhiờn, cỏc thụng số này cú thể thay đổi tuỳ theo hoàn cảnh.

5.2.3.2. Cỏc phũng.

Cỏc phũng gồm phũng học, phũng thực hành… chớnh là cỏc chiều hàng. Trong khớa cạnh này ta đƣa ra định nghĩa về khu vực. Một khu vực chỉ một tập cỏc phũng, mỗi khu vực cú một số thuộc tớnh chung nhƣ: kiểu phũng, cỡ phũng…Tập lớn nhất cỏc khu vực trong trƣờng hợp chỳng ta đang nghiờn cứu chớnh là sự phõn loại theo kiểu, vớ dụ: tất cả cỏc phũng thớ nghiệm tạo thành khu vực thực hành, tập cỏc phũng học tạo thành khu vực lý thuyết. Tập lớn thứ hai đƣợc phõn loại bằng độ lớn của cỏc phũng. Độ lớn cú thể là rộng, trung bỡnh hoặc nhỏ. Cỏc khu vực đƣợc phõn loại theo kiểu của chỳng. Vớ dụ: một buổi học thực hành cú số lƣợng sinh viờn thuộc loại trung bỡnh cú thể đƣợc phõn vào cỏc phũng cú cỡ trung bỡnh hoặc cỡ lớn của khu vực thực hành, nhƣng khụng bao giờ đƣợc phõn vào khu vực lý thuyết vỡ chỳng khụng cựng loại.

Trong chiều hàng, tất cả cỏc phũng đầu tiờn đƣợc phõn loại vào hai khu vực lớn nhất là khu vực thực hành và khu vực lý thuyết. Sau đú, với mỗi khu vực thỡ cỏc phũng đƣợc phõn loại vào cỏc khu vực con dựa trờn cỡ của nú. Vớ dụ: cỏc phũng cỡ lớn phải đƣa vào cỏc khu vực cỡ lớn, cỏc phũng trung bỡnh cú thể đƣa vào cỏc khu vực cỡ trung bỡnh hoặc cỡ lớn nếu cũn chỗ.

Tuõn theo quy tắc này, khi tất cả cỏc sự kiện đó đƣợc gỏn cho cỏc khu vực, chỳng cần đƣợc sắp xếp theo thứ tự abc. Theo thứ tự thẳng đứng, tập cỏc khu vực lý thuyết thỡ ở trờn và sau đú là cỏc khu vực thực hành. Thứ tự cuối cựng của chiều hàng theo kiểu từ lý thuyết đến thực hành, và trong mỗi cỏi đú cú hai khu vực, một tập khu vực con theo thứ tự từ tập cỏc khu vực con cỡ nhỏ đến tập cỏc khu vực con cỡ lớn. Tƣơng tự, trong cỏc tập khu vực này cũng đƣợc sắp xếp theo thứ tự abc. Mỗi một phũng cú thể là phũng lý thuyết, phũng thực hành, chỳng cú giỏ trị nhƣ sau:

Phũng Tờn x Cỡ x Điều hành x Kiểu

Cỏc phũng đƣợc sắp xếp theo kiểu dạng phũng lý thuyết, phũng thực hành …, mỗi dạng phũng lại đƣợc sắp xếp theo phạm vi, cỏc phũng trong bảng 2 đƣợc sắp xếp theo thứ tự từ cỏc cỡ trung bỡnh đến cỏc cỡ lớn. Một bản ghi tạo ra một phạm vi của mỗi loại phũng. Điều này giỳp cho việc giải quyết cỏc xung đột và giỏ phải trả cho cỏc sự kiện.

5.2.3.3. Sự kiện

Mỗi một sự kiện bao gồm sỏu thành phần:

Sự kiện  Mụn học xLớp x Giảng viờn x Cỡ x Điều hành x Kiểu Trong đú:

Mụn học: Tờn mụn học

Giảng viờn: giảng viờn dạy mụn học

Lớp: Tờn lớp học

Cỡ: Kớch thƣớc của phũng học.

Điều hành: Văn phũng điều phối (điều hành) giảng viờn/mụn học.

Kiểu: Xỏc định kiểu mụn học : lý thuyết, thực hành… Ta cú bảng quan hệ giữa phũng học và cỏc sự kiện

Tờn phũng Kiểu phũng Cỡ phũng Điều hành phũng Tờn mụn (Từ khoỏ) Giảng viờn (từ khoỏ) Tờn lớp (từ khoỏ)

Theo mối quan hệ trờn, ớt nhất hai ràng buộc cứng và một ràng buộc mềm đó nờu ở trờn đƣợc đề cập đến. Vớ dụ: kiểu của phũng và cỏc sự kiện là nhƣ nhau, số chỗ trong phũng khụng đƣợc nhỏ hơn số lƣợng sinh viờn trong lớp. Nếu cú thể thỡ cỏc sự kiện(buổi học) gần phũng quản lý. Tuy nhiờn, nhƣ đó núi đến ở trờn ta chỳ ý cỏc ràng buộc cứng là cỏc ràng buộc bắt buộc phải tuõn theo để đảm bảo tớnh khả thi của nhiễm sắc thể.

Khi thời khoỏ biểu đƣợc phỏt triển, cỏc thành phần đặc biệt của thời khoỏ biểu cũng cú thể đạt đƣợc. Vớ dụ: thời khoỏ biểu của phũng Pi đơn giản chớnh là dũng mà nú chiếm trong thời khoỏ biểu. Đặt ỏ là tập thời khoỏ biểu cho sự kiện E, tất cả cỏc sự kiện của nú chứa trong hàng i, khi đú thời khoỏ biểu của Pi chớnh là ỏ.

TKB(Pi)  ỏ x Khe thời gian.

Tất cả cỏc thụng tin về giảng viờn, lớp học, mụn học đều cú thể tỡm kiếm thụng qua cỏc từ khoỏ nhƣ tờn giảng viờn, tờn mụn…trong thời khoỏ biểu. Trong thực tế cỏc thụng tin đú đó chứa đựng trong cỏc nhiễm sắc thể.

5.2.3.4. Khởi tạo.

Trong quỏ trỡnh khởi tạo cỏc quần thể của cỏc lời giải khả thi đƣợc tạo ngẫu nhiờn mà khụng cần biết đến giỏ trị của nú cú thớch hợp hay khụng. quỏ trỡnh này tuõn theo cỏc giai đoạn đƣợc lập lịch sẵn từ trƣớc, ở đõy cỏc sự kiện sẽ phải tuõn thủ theo cỏc yờu cầu và độ ƣu tiờn hoặc cỏc ràng buộc cứng đó đƣợc lập lịch. Vớ dụ: một lớp cú buổi thớ nghiệm hoỏ học phải đƣợc thực hành tại phũng 9 đến 10 vào thứ 2. Cỏc sự kiện này đƣợc gọi là cú độ ƣu tiờn hàng đầu. Một vài sự kiện khụng cú quỏ nhiều yờu cầu nhƣng bắt buộc phải tuần thủ cỏc yờu cầu, cỏc sự kiện này cú độ ƣu tiờn thứ 2. vớ dụ: cỏc buổi thực hành tại phũng thực hành của thầy Kim vào buổi sỏng bất kỳ.

Trong giai đoạn lập lịch cú trƣớc, phần cũn lại của cỏc sự kiện (cỏc phần khụng bắt buộc phải làm theo yờu cầu hoặc theo quyền ƣu tiờn) đƣợc gỏn ngẫu

nhiờn cho cỏc khoảng khụng gian trong thời khoỏ biểu theo yờu cầu về phũng của chỳng. Mỗi sự kiện cú cỏc thuộc tớnh của nú gồm kiểu, phần quản lý, cỡ phũng yờu cầu. Nhƣ vậy, với mỗi sự kiện cần gỏn cho nú một kiểu phự hợp và cỡ phũng khụng đƣợc nhỏ hơn cỡ yờu cầu của sự kiện.

Để giảm bớt sự phức tạp của quỏ trỡnh khởi tạo, định nghĩa khu vực đƣợc nờu ở trờn đƣợc ỏp dụng. Vớ dụ: Một bài giảng lý thuyết khụng bỏo giờ đƣợc gỏn ngẫu nhiờn cho một phũng thực hành. Thực vậy, bất kỳ sự vi phạm ràng buộc cứng nào trong thời gian này đều làm cho thời khoỏ biểu khụng thể thực hiện đƣợc. Thực vậy, mỗi khi một khe thời gian và một phũng đƣợc phỏt sinh ngẫu nhiờn cho một sự kiện khi đú việc kiểm tra dựa trờn ràng buộc cứng đƣợc thực hiện, nếu cú lỗi thỡ khe thời gian và phũng trờn bị huỷ và lại sinh ra một cỏi mới. Cụng việc tiếp tục cho đến khi khụng cũn ràng buộc cứng bị xõm phạm. Núi chung, giỏ phải trả cho việc tỡm kiếm và xỏc định lại nhƣ trờn thỡ rẻ hơn giỏ của việc sửa lỗi của thời khoỏ biểu. Trong trƣờng hợp nguồn tài nguyờn là thoải mỏi (lỏng) thỡ việc thực hiện khụng quỏ khú khăn, khú khăn thực sự chỉ xảy ra khi nguồn tài nguyờn là hạn hẹp.

Nhỡn chung, một thời khoỏ biểu thụng thƣờng nờn thoả món cỏc quan hệ Cij ≥ Eij trong đú, Cij là dung lƣợng của tất cả cỏc tài nguyờn và Eij là dung lƣợng yờu cầu cú kiểu i và cỡ j cho sự kiện. Nếu nhƣ giỏ trị của ể(Cij- Eij) là quỏ nhỏ thỡ việc tỡm lại lời giải là một vấn đề rất lớn.

Trong cỏch tiếp cận này, nếu phƣơng ỏn thử và sai bị lỗi, ta cần quay lại giai đoạn khởi tạo và thực hiện giai đoạn cho đến khi tỡm thấy lời giải khả thi (khi ể(Cij- Eij) là khụng quỏ nhỏ).

Thủ tục khởi tạo nhiễm sắc thể:

Procudure Initialization(cho mỗi nhiễm sắc thể)

Giai đoạn 1: Lập lịch trƣớc (cỏc trƣờng hợp liờn quan) của cỏc sự kiện cú ràng buộc cứng hoặc độ ƣu tiờn.

- Kiểm tra ràng buộc cứng Giai đoạn 2: Lịch trỡnh sau đú:

Bƣớc 1: Với mỗi sự kiện Ei xỏc định khu vực mà nú thuộc về.

Bƣớc 2: Sinh ngẫu ngiờn cỏc khe thời gian và phũng cho cỏc sự kiện.

Bƣớc 3: Kiểm tra sự xõm phạm cỏc ràng buộc cứng cho Ei. Nếu bất kỳ sự xõm phạm nào đƣợc tỡm thấy quay trở lại bƣớc 2, ngƣợc lại thực hiện bƣớc 4.

Bƣớc 4: Xỏc định Ei vào cỏc khe (tiết học).

5.2.3.5. Ước lượng.

Quỏ trỡnh ƣớc lƣợng chỉ giải quyết cỏc ràng buộc mềm và cú một cơ chế cho việc xỏc định hỡnh phạt khi cỏc ràng buộc này bị vi phạm. Hàm ƣớc lƣợng nhƣ sau: Eval(f) = 1/(1+cost(f))

Trong đú, cost(f) là tổng của cỏc hỡnh phạt cú trọng số, tức là cost(f)=ểwi*ni với ni là số lƣợng một số loại ràng buộc nhất định bờn trong nhiễm sắc thể, wi là trọng số gắn với hỡnh phạt. Mặc dự trong thực tế khi khởi tạo giỏ trị thớch hợp cú thể là rất thấp xong sau một số lần ƣớc lƣợng cỏc ràng buộc mềm ngày càng đƣợc thoả món và do đú, giỏ phải trả ngày càng thấp. Nhƣ vậy, mục đớch là làm cho giỏ là tối thiểu hay làm cho hàm Eval(f) cú giỏ trị gần đến 1.

5.2.3.6. Cỏc toỏn tử di truyền.

Sự tương giao chộo.

Trong phần này ỏp dụng việc vẽ bản đồ từng phần tƣơng giao chộo. Dựa trờn bản đồ này một bản đồ tƣơng giao chộo dựa trờn khu vực đƣợc đề xƣớng. Trong cỏc thủ tục khởi tạo và mụ tả nhiễm sắc thể, cỏc phũng đƣợc sắp xếp đầu tiờn là theo kiểu, sau đú là theo cỡ bờn trong mỗi kiểu. Việc sắp xếp này đƣợc thực hiện trƣớc khi quỏ trỡnh tiến hoỏ diễn ra, bởi vỡ hoặc sự tƣơng giao chộo hoặc sự đột biến giữa cỏc kiểu của sự kiện nhƣ lý thuyết và thực hành sẽ trở nờn vụ nghĩa trong suốt quỏ trỡnh, và do đú, thời khoỏ biểu nhận đƣợc là khụng thể chấp nhận. Tƣơng tự, nếu sự kiện của cỏc kiểu khỏc nhau đƣợc trộn bởi tƣơng giao chộo hoặc đột biến thỡ thủ tục để sửa chữa trở nờn rất phức tạp, trong trƣờng hợp này tốt hơn hết là nờn khởi tạo lại.

Trong bản đồ tƣơng giao chộo cú cỏc thủ tục chớnh nhƣ sau: 1. Lựa chọn cỏc tập con với sự định vị tƣơng ứng.

2. Thiết lập mối quan hệ giữa cỏc gen 3. Trao đổi cỏc gen theo mối quan hệ. 4. Hợp phỏp hoỏ cỏc nhiễm sắc thể

Bản đồ tƣơng giao chộo dựa trờn cỏc khu vực cũng tƣơng tự nhƣ bản đồ tƣơng giao chộo, loại trừ ở đõy cỏc khụng gian tƣơng giao chộo đƣợc phõn chia thành cỏc khu vực y theo kiểu của cỏc phũng và sự kiện hoặc cỡ của phũng và sự kiện. Nhƣ vậy, khởi tạo cỏc tập sự kiện con một cỏch ngẫu nhiờn bằng cỏch lựa chọn bằng cỏch phỏt sinh chỳng từ bố mẹ. Cỏc tập sự kiện con đƣợc phỏt sinh từ bảng thời khoỏ biểu mẹ M và bảng thời khoỏ biểu cha F đƣợc biểu thị tƣơng ứng là S1 và S2. Cỏc tập con này cú thể rơi vào một trong ba quy định sau:

1. Tất cả cỏc sự kiện đều là cỏc bài giảng.

2. Chứa đựng cả bài giảng lẫn cỏc sự kiện thớ nghiệm(thực hành) 3. Tất cả cỏc sự kiện đều là bài thỡ nghiệm(thực hành)

Sự tƣơng giao chộo xảy ra giữa hai tập con S1 và S2 và cả hai con mới sinh ra là C1 và C2. Thủ tục đƣợc mụ tả nhƣ sau:

Procedure Bản_Đồ_Tƣơng_giao_chộo_dựa_trờn_Khu vực

Bƣớc 1:Đặt tập con S1 và S2 cho sự tƣơng giao chộo y theo cỏc khối ngẫu nhiờn sinh ra.

Bƣớc 2: Đoỏn nhận phạm vi định vị của tập con và đặt cỏc khu vực cho tƣơng giao chộo.

Bƣớc 3: ỏp dụng vẽ bản đồ tƣơng giao chộo cho từng khu vực

1. Thiết lập mối quan hệ giữa cỏc gen trong mỗi khu vực. 2. Trao đổi cỏc gen theo mối quan hệ.

3. Hợp phỏp hoỏ cỏc nhiễm sắc thể. Bƣớc 4: Hai con C1 và C2 đƣợc tạo ra.

Minh họa cho thủ tục trờn.

Mặc dự sự khởi tạo là khả thi nhƣng cỏc con C1 và C2 đƣợc sinh ra chƣa chắc đó tạo ra thời khoỏ biểu khả thi, do đú ở đõy cần kiểm tra cỏc ràng buộc và quỏ trỡnh sửa chữa cỏc ràng buộc cứng cần đƣợc thực hiện để đảm bảo tớnh khả thi.

Trong lý thuyết tiến hoỏ cơ bản, cỏc gen khụng cú thụng tin di truyền sẽ khụng cú hiệu ứng di truyền sang đời sau hoặc cỏc cỏ thể khỏc. Khi cỏc nhiễm sắc thể trong dạng cỏc chuỗi, một bản đồ tƣơng giao chộo thụng thƣờng đƣợc thực hiện nhƣ sau: hai chuỗi (hoỏn vị và cỏc gen tƣơng ứng liờn quan) đƣợc xếp thẳng hàng và giao chộo tại cỏc vị trớ đƣợc lấy ngẫu nhiờn khụng thụng bỏo trƣớc dọc theo cỏc chuỗi. Hai điểm này định nghĩa đoạn thớch ứng cho tƣơng giao chộo thụng qua trao đổi vị trớ – vị trớ. Chỳng ta xột vớ dụ sau: cho hai chuỗi A và B cú dạng

A= 9 8 4 | 5 6 7 | 1 3 2 10 B= 8 7 1 | 2 3 10| 9 5 4 6

Giả thiết ban đầu chuỗi B đƣợc vẽ bản đồ trong chuỗi A. Điều này cú nghĩa cỏc giỏ trị 5 và 2, 3 và 6, 10 và 7 sẽ thay đổi vị trớ. Tƣơng tự vẽ bản đồ A trong B ta cú 5 và 2, 6 và 3, 7 và 10 trao đổi vị trớ cho nhau nhƣ bảng 4. Do đú ta cú A’ và B’ đƣợc sinh ra nhƣ sau:

A’= 9 8 4 | 2 3 10 | 1 6 5 7 Khe thời gian thuyết A B C D E F G H I Thực hành a C

b Khe thời gian d thuyết A B C G D E H I Thực hành c A b d

Khe thời gian thuyết F B E D I A G H C Thực hành a c B d

Khe thời gian thuyết E F B G D A H C Thực hành c a b d

Bản đồ tương giao chộo

B’= 8 10 1 | 5 6 7 | 9 2 4 4

Mỗi chuỗ A’ và B’ đều chứa cỏc thụng tin từng phần theo yờu cầu đƣợc xỏc định bởi cha, mẹ.

Những quy tắc trờn cũng cú thể đƣợc ỏp dụng cho bản đồ tƣơng giao chộo dựa trờn khu vực. Mặc dự cỏc nhiễm sắc thể đƣợc biểu diễn dƣới dạng ma trận hai chiều, nhƣng tập cỏc vấn đề con của bản đồ hầu nhƣ giống với cỏc vấn đề đó trỡnh bày ở trờn loại trừ trƣờng hợp sau:

1. Cả nhiễm sắc thể và cỏc đoạn thớch ứng đều cú mặt trong ma trận. 2. Nhiễm sắc thể khụng chứa gen nào cả.

Tƣơng tự ta xột hai nhiễm sắc thể sau A và B cú bản đồ theo từng phần nhƣ


Một phần của tài liệu MỘT SỐ PHƯƠNG PHÁP KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG TRONG BÀI TOÁN LẬP THỜI KHOÁ BIỂU (Trang 81 -92 )

×