ðẠI HỌC THÁI NGUYÊN TRƯỜNG ðẠI HỌC CNTT&TT
HÀ TUẤN VIỆT
ỨNG DỤNG MẠNG NƠ RON HOPFIELD GIẢI BÀI
TOÁN LẬP THỜI KHÓA BIỂU
Chuyên ngành: Khoa học máy tính
TÓM TẮT LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Mã số: 60.48.01
THÁI NGUYÊN - 2011
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Công trình ñược hoàn thành tại:
Trường ðại học CNTT & TT- ðại Học Thái Nguyên
Người hướng dẫn khoa học: PGS TS. ðẶNG QUANG Á
Phản biện 1:........................................................................................ Phản biện 2:.........................................................................................
Luận văn sẽ ñược bảo vệ trước Hội ñồng chấm luận văn họp tại: Vào hồi...... giờ...... ngày....... tháng........ năm 2011.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Có thể tìm hiểu luận văn tại trung tâm học liệu ðại học Thái Nguyên Và thư viện Trường/Khoa: …………………………….
i
LỜI CẢM ƠN
Xin chân thành cảm ơn Thầy PGS TS. Đặng Quang Á đã tận tình chỉ
dạy, hướng dẫn tôi trong suốt thời gian học tập và làm luận văn.
Tôi cũng xin biết ơn chân thành đến các Thầy giáo Viện Công nghệ
Thông tin đã giảng dạy, giúp đỡ trong suốt thời gian học tập.
Xin cảm ơn tất cả các anh chị học viên Cao học khóa 8, cám ơn các cán
bộ công chức, giảng viên Khoa Công nghệ thông tin- ĐH Thái Nguyên đã tạo
điều kiện tốt cho tôi trong suốt trong hai năm học qua.
Xin cám ơn các bạn bè, đồng nghiệp đã chỉ bảo tôi rất nhiều trong thời
gian thực hiện luận văn này.
Cuối cùng, xin chân thành cảm ơn các thành viên trong gia đình đã
động viên và tạo mọi điều kiện thuận lợi để tôi có được kết quả như ngày hôm
nay.
THÁI NGUYÊN 10/2011
Người viết luận văn
Hà Tuấn Việt
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
ii
LỜI CAM ĐOAN
Tôi xin cam đoan đề tài luận văn “ Ứng dụng mạng nơ-ron Hopfield
giải bài toán thời khóa biểu” là công trình nghiên cứu của bản thân tôi. Các
số liệu, kết quả nghiên cứu nêu trong luận văn này là trung thực và chưa từng
được ai công bố trong một công trình nào khác. Tôi xin chịu trách nhiệm về
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
luận văn của mình.
iii
MỤC LỤC
TRANG PHỤ BÌA Trang
LỜI CẢM ƠN ……………………………………………………………… i
LỜI CAM ĐOAN…………………………………………………………... ii
MỤC LỤC………………………………………………………………….. iii
DANH MỤC CÁC BIỂU ĐỒ, HÌNH VẼ………………………………….. v
MỞ ĐẦU........................................................................................................... 1
CHƯƠNG I ....................................................................................................... 3
TỔNG QUAN VỀ MẠNG NƠ RON NHÂN TẠO ......................................... 3
1.1. GIỚI THIỆU VỀ MẠNG NƠ-RON NHÂN TẠO ................................ 3
1.1.1 Lịch sử phát triển ............................................................................. 3
1.1.2. Mô hình mạng nơ-ron nhân tạo....................................................... 4
1.2. PHẠM VI ỨNG DỤNG CỦA MẠNG NƠ RON NHÂN TẠO ......... 19
1.2.1. Những bài toán thích hợp............................................................. 19
1.2.2. Các lĩnh vực ứng dụng mạng nơ ron............................................. 23
1.3. MẠNG HOPFIELD ............................................................................ 24
1.3.1. Mạng Hopfield rời rạc................................................................... 25
1.3.2. Mạng Hopfield liên tục. ................................................................ 27
1.3.3. Mạng Hopfield với bài toán tối ưu................................................ 28
1.3.4. Mạng Hopfield với bài toán lập thời khóa biểu ............................ 30
1.4. NHẬN XÉT ......................................................................................... 32
CHƯƠNG II.................................................................................................... 33
ỨNG DỤNG MẠNG NƠ-RON HOPFIELD TRONG BÀI TOÁN LẬP THỜI
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
KHÓA BIỂU CHO TRƯỜNG ĐẠI HỌC...................................................... 33
iv
2.1 Bài toán lập thời khóa biểu và những khó khăn trong việc lập thời khóa
biểu cho trường đại học............................................................................... 33
2.2. Tình hình giải quyết bài toán lập thời khóa biểu ................................. 37
2.3. Xây dựng mô hình mạng Hopfield cho bài toán thời khóa biểu.......... 38
2.3.1. Mạng nơ ron Hopfield................................................................... 38
2.3.2. Ánh xạ bài toán thời khóa biểu lên mạng nơ-ron Hopfield .......... 40
2.4. Thuật toán mạng nơ-ron Hopfield trong bài toán lập thời khóa biểu cho
trường Đại học............................................................................................. 43
2.5. Kết luận chương 2 ................................................................................ 46
CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM.................................................. 47
3.1 Thiết kế chương trình ứng dụng mạng nơ ron Hopfield trong việc lập
thời khóa biểu cho trường đại học. ............................................................. 47
3.2 Chuẩn bị dữ liệu .................................................................................... 50
3.3. Kết quả thử nghiệm.............................................................................. 50
3.4. Đánh giá kết quả................................................................................... 51
KẾT LUẬN VÀ ĐỀ NGHỊ............................................................................. 52
Kết quả đạt được của luận văn .................................................................... 52
Các định hướng nghiên cứu tiếp theo ......................................................... 52
TÀI LIỆU THAM KHẢO............................................................................... 53
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
PHỤ LỤC ........................................................................................................ 55
v
DANH MỤC CÁC BIỂU ĐỒ, HÌNH VẼ
Hình 1.1. Mô hình nơ-ron sinh học................................................................... 6
Đồ thị hàm đồng nhất (Identity function) ......................................................... 8
Đồ thị hàm bước nhị phân (Binary step function) ............................................ 8
Đồ thị hàm sigmoid........................................................................................... 9
Đồ thị hàm sigmoid lưỡng cực........................................................................ 10
Hình 1.2. Mô hình một nơ-ron ........................................................................ 11
Hình 1.3. Mạng truyền thẳng một lớp............................................................. 13
Hình 1.4. Mạng truyền thẳng nhiều lớp .......................................................... 14
Hình 1.5. Mạng một lớp có nối ngược............................................................ 15
Hình 1.6. Mạng nhiều lớp có nối .................................................................... 15
Hình 1.7. Mô hình mạng Hopfield.................................................................. 25
Đồ thị hàm Sigmoid ........................................................................................ 28
Đồ thị hàm Hàm y=tanh(x) ............................................................................. 28
Hình 3.1: Giao diện chương trình thời khóa biểu ........................................... 48
Hình 3.2: Danh sách các form dữ liệu............................................................. 49
Hình 3.3: Minh họa tìm kiếm dữ liệu theo lớp ............................................... 49
Hình 3.4: Nhập tham số công thức cho bài toán thời khóa biểu.................... 50
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 3.5: Minh họa kết quả sau khi xếp thời khóa biểu ................................. 50
1
MỞ ĐẦU
Nhờ các khả năng: học, nhớ lại và khái quát hóa từ các mẫu huấn luyện
hoặc dữ liệu, mạng nơ-ron nhân tạo trở thành một phát minh đầy hứa hẹn của
hệ thống xử lý thông tin. Các tính toán nơ-ron cho phép giải quyết tốt những
bài toán đặc trưng bởi một số hoặc tất cả các tính chất sau: sử dụng không
gian nhiều chiều, các tương tác phức tạp, chưa biết hoặc không thể biết về mặt
toán học giữa các biến. Ngoài ra phương pháp này còn cho phép tìm ra
nghiệm của nhưng bài toán đòi hỏi đầu vào là các cảm nhận của con người
như: tiếng nói, nhìn và nhận dạng..
Bài toán lập thời khóa biểu đại học là một bài toán tối ưu dạng NP-hard
và tìm được một thời khóa biểu có chất lượng tốt là một thử thách thực sự.
Bài toán với một số lượng lớn các sự kiện và bao gồm nhiều ràng buộc cứng
khác nhau để thực hiện việc tìm kiếm thời khóa biểu tối ưu là phức tạp và tốn
nhiều thời gian. Để xử lý độ phức tạp của bài toán và để cung cấp việc tự
động hỗ trợ con người trong xếp thời khóa biểu, đã có nhiều cách tiếp cận
trong các tài liệu tập trung vào bài toán này. Những công việc nghiên cứu thể
hiện trong luận văn nhằm xây dựng theo tình trạng phát biểu tìm kiếm phương
pháp luận cho bài toán thời khóa biểu. Nghiên cứu tập trung vào phần xếp lịch
dạy của thời khóa biểu nhằm đảm bảo lớp - giáo viên - phòng học tránh bị
xung đột. Các tính toán nơ-ron cho phép giải quyết tốt các bài toán có nhiều
tương tác phức tạp. Vì vậy, ứng dụng mạng nơ-ron Hopfield trong bài toán
thời khóa biểu sẽ hứa hẹn là một giải pháp hiệu quả góp phần nâng cao khả
năng xếp thời khóa biểu nhờ tính hội tụ nhanh đến một trạng thái ổn định của
mạng nơ-ron Hopfield.
Trên thế giới, đã có một số nghiên cứu ứng dụng mạng nơ-ron trong bài
toán xếp lịch thời khóa biểu cho trường đại học. Tuy nhiên, lĩnh vực này còn
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
khá mới mẻ và chưa được ứng dụng rộng rãi ở nước ta. Trong nước cũng
2
chưa có một tài liệu chính thống nào về lĩnh vực này. Với những ứng dụng
ngày càng rộng rãi của mạng nơ-ron, việc nghiên cứu và áp dụng vào bài toán
thời khóa biểu trở nên cấp thiết, và đang rất được quan tâm. Chính vì những
lý do trên em đã quyết định chọn đề tài: “Ứng dụng mạng nơ-ron Hopfield
trong việc lập thời khóa biểu cho trường đại học“ làm hướng nghiên cứu.
Với mục tiêu đưa những ý tưởng khác nhau nhằm tăng hiệu quả tổng quan với
thuật toán xếp thời khóa biểu và tìm cách ứng dụng vào thực tế.
Luận văn gồm 3 chương với các nội dung cơ bản sau:
Chương 1: Trình bày tổng quan về cơ sở mạng nơ-ron nhân tạo, và nêu
khái quát ứng dụng mạng nơ-ron trong bài toán xếp thời khóa biểu.
Chương 2: Trình bày phương pháp giải bài toán lập thời khóa biểu,
dùng mạng Hopfield sửa đổi nhằm giảm độ phức tạp và tăng tốc giải
bài toán, đưa ra những nhận xét về hiệu quả của các mô hình bài toán.
Chương 3: Thiết kế cài đặt thử nghiệm chương trình ứng dụng mạng
nơ-ron Hopfield cho bài toán lập thời khóa biểu, đánh giá về kết quả
đạt được.
Ngoài ra, luận văn còn phần phụ lục và tài liệu tham khảo kèm theo ở cuối đề
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
tài.
CHƯƠNG I
3
TỔNG QUAN VỀ MẠNG NƠ RON NHÂN TẠO
1.1. GIỚI THIỆU VỀ MẠNG NƠ-RON NHÂN TẠO
1.1.1 Lịch sử phát triển
Khái niệm mạng nơ-ron được bắt đầu vào cuối thế kỷ 19, đầu thế kỷ 20
do có sự tham gia của ba ngành Vật lý học, Tâm lý học và Thần kinh học. Các
nhà khoa học như Hermann Von Hemholtz, Earnst Mach, Ivan Pavlov với các
công trình nghiên cứu đi sâu vào lý thuyết tổng quát mô tả hoạt động của trí
tuệ con người như: Học, nhìn, và lập luận, .. nhưng không đưa ra được mô
hình toán học cụ thể mô tả hoạt động của nơ-ron.
Về lịch sử, quá trình nghiên cứu và phát triển mạng nơ-ron nhân tạo có
thể chia thành bốn giai đoạn như sau:
+ Giai đoạn một: Từ nghiên cứu của William (1890) về tâm lý học với
sự liên kết các nơ-ron thần kinh. Năm 1943, nhà thần kinh học Warren
MeCulloch và nhà logic học Walter Pitts đã chỉ ra rằng:về nguyên tắc mạng
các nơ-ron nhân tạo có thể được mô hình hoá như thiết bị ngưỡng (giới hạn)
để thực hiện tính toán bất kỳ một hàm số học hay các phép tính logic nào.
Tiếp theo hai ông là Donald Hebb với giải thuật huấn luyện mạng ra đời năm
1949.
+ Giai đoạn hai: Vào khoảng những năm 1960, một số mô hình nơ-ron
hoàn thiện hơn có tính ứng dụng thực tiễn đã được đưa ra như: mô hình
Perceptron của Frank Rosenblatt (1958), mô hình Adaline của Bernard
Widrow (1962). Trong đó mô hình Perceptron rất được quan tâm vì nguyên lý
đơn giản, nhưng nó cũng có hạn chế vì như Marvin Minsky và Seymour
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Papert của MIT (Massachurehs Insritute of Technology) đã phát hiện ra và
4
chứng minh nó không dùng được cho các hàm logic phức (1969). Còn
Adaline là mô hình tuyến tính, tự chỉnh, được dùng rộng rãi trong điều khiển
thích nghi, tách nhiễu và vẫn phát triển cho đến nay.
+ Giai đoạn ba: Vào khoảng đầu thập niên 80, việc nghiên cứu mạng
nơ-ron diễn ra rất mạnh mẽ cùng với sự ra đời của máy tính cá nhân PC.
Những đóng góp lớn cho mạng nơ-ron trong giai đoạn này phải kể đến
Stephen Grossberg, Teuvo Kohonen, Rumelhart và John Hopfield. Trong đó
đóng góp lớn của nhà vật lý học người Mỹ John Hopfield gồm hai mạng phản
hồi: Mạng rời rạc năm 1982 và mạng liên tục năm 1984. Đặc biệt, ông đã dự
kiến nhiều khả năng tính toán lớn của mạng mà một nơ-ron không có khả
năng đó. Cảm nhận của Hopfield đã được Rumelhart, Hinton và Williams đề
xuất thuật toán sai số truyền ngược (back –propagation) nổi tiếng để huấn
luyện mạng nơ-ron nhiều lớp nhằm giải bài toán mà mạng khác không thực
hiện được. Nhiều ứng dụng mạnh mẽ của mạng nơ-ron ra đời cùng với các
mạng theo kiểu máy Boltzmann và mạng Neocognition của Fukushima.
+ Giai đoạn bốn: từ năm 1987 - đến nay, hàng năm thế giới đều mở hội
nghị toàn cầu chuyên ngành nơ-ron IJCNN (International Joint Conference on
Neural Networks). Rất nhiều công trình được nghiên cứu để ứng dụng mạng
nơ-ron vào các lĩnh vực cuộc sống, ví dụ như: Kỹ thuật tính, tối ưu, sinh học, y
học, thống kê, giao thông, hoá học… Cho đến nay, mạng nơ-ron đã tìm được và
khẳng định được vị trí của mình trong rất nhiều ứng dụng khác nhau.
1.1.2. Mô hình mạng nơ-ron nhân tạo 1.1.2.1. Nơ-ron sinh học
Bộ não con người có khoảng 1010 tế bào thần kinh liên kết chặt chẽ với
nhau được gọi là các nơ-ron. Mỗi nơ-ron gồm có ba phần: Thân nơ-ron với nhân
ở bên trong (soma), một đầu sợi trục thần kinh ra (axon) và một hệ thống tế bào
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
hình cây (dendrite). Tế bào hình cây có nhiệm vụ mang các tín hiệu điện tới các
5
tế bào thân, tế bào thân sẽ thực hiện gộp (Sum) và phân ngưỡng ( Thresholds)
các tín hiệu đến. Sợi trục thần kinh làm nhiệm vụ đưa các tín hiệu thân ra ngoài
Trong thực tế có rất nhiều dây thần kinh vào và chúng bao phủ một diện tích rất lớn (0.25 mm2) để nhận các tín hiệu từ các nơ-ron khác. Đầu thần kinh ra
được rẽ nhánh nhằm chuyển giao tín hiệu từ thân nơ-ron tới nơ-ron khác. Các
nhánh của đầu thần kinh được nối với các khớp thần kinh (synapse). Các khớp
thần kinh này được nối với thần kinh vào của các nơ-ron khác. Sự sắp xếp của
các nơ-ron và mức độ mạnh yếu của các khớp thần kinh được quyết định bởi quá
trình hóa học phức tạp, sẽ thiết lập chức năng của mạng nơ-ron, các nơ-ron có
thể sửa đổi tín hiệu tại các khớp, trong các nơ-ron nhân tạo được gọi là trọng số.
Có thể nói, mạng nơ-ron sinh học hoạt động chậm hơn rất nhiều so với các linh kiện điện tử (10-3 giây so với 10-9 giây), nhưng bộ não có thể thực hiện
nhiều công việc nhanh hơn rất nhiều so với máy tính thông thường. Do cấu trúc
song song của mạng nơ-ron sinh học thể hiện toàn bộ các nơ-ron thực hiện đồng
thời tại một thời điểm. Mạng nơ-ron nhân tạo cũng có được đặc điểm này. Các
mạng nơ-ron nhân tạo chủ yếu thực nghiệm trên các máy tính mạnh có vi mạch
tích hợp rất lớn, các thiết bị quang, bộ xử lý song song. Điều này cũng giải thích
tại sao những nghiên cứu khoa học về mạng nơ-ron nhân tạo có điều kiện phát
triển cùng với sự phát triển về kỹ thuật công nghệ phần cứng máy tính.
Có nhiều loại nơ-ron khác nhau về kích thước và khả năng thu phát tín
hiệu. Tuy nhiên, chúng có cấu trúc và nguyên lý hoạt động chung.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình vẽ (1.1) là một hình ảnh đơn giản hoá của một loại nơ-ron như vậy.
6
Hình 1.1. Mô hình nơ-ron sinh học
- Hoạt động của nơ-ron sinh học có thể mô tả tóm tắt như sau:
Mỗi nơ-ron nhận tín hiệu vào từ các tế bào thần kinh khác. Chúng tích
hợp các tín hiệu vào, khi tổng tín hiệu vượt quá một ngưỡng nào đó chúng tạo
tín hiệu ra và gửi tín hiệu này tới các nơ-ron khác thông qua dây thần kinh.
Các nơ-ron liên kết với nhau thành mạng. Mức độ bền vững của các liên kết
này xác định một hệ số gọi là trọng số liên kết.
1.1.2.2. Nơ-ron nhân tạo
Để mô phỏng các tế bào thần kinh và các khớp nối thần kinh của bộ
não con người, mạng nơ-ron nhân tạo có các thành phần có vai trò tương tự là
các nơ-ron nhân tạo và kết nối giữa chúng (kết nối này gọi là weights). Nơ-
ron là một đơn vị tính toán có nhiều đầu vào và một đầu ra, mỗi đầu vào đến
từ một khớp nối thần kinh (synapse). Đặc trưng của nơ-ron là một hàm kích
hoạt phi tuyến chuyển đổi một tổ hợp tuyến tính của tất cả các tín hiệu đầu
vào thành tín hiệu đầu ra.
Một nơ-ron nhân tạo là một đơn vị tính toán hay đơn vị xử lý thông tin
cơ sở cho hoạt động của một mạng nơ-ron.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Các thành phần cơ bản của một mô hình nơ-ron
7
• Trọng số và tổng tín hiệu đầu vào:
Mỗi nơ-ron có rất nhiều dây thần kinh vào, nghĩa là mỗi nơ-ron có thể
tiếp nhận đồng thời nhiều tín hiệu. Giả sử tại nơ-ron i có N tín hiệu vào, mỗi
jS được gán một trọng số
ijW tương ứng. Ta ước lượng tổng tín
tín hiệu vào
inet theo một số dạng sau:
hiệu đi vào nơ-ron
N
net
(i)Dạng tuyến tính:
= ∑
i
W s ij
j
= 1
j
(1.1)
N
net
(ii)Dạng toàn phương:
= ∑
i
W s ij
2 j
= 1
j
(2.2)
N
2
= -
r
)2
net
w
(iii)Dạng mặt cầu:
( -∑ s
ij
i
j
= 1
j
(
)
j
N= 1,
(3.3)
ijw
Trong đó: r và lần lượt là tâm và bán kính mặt cầu
• Hàm kích hoạt (hàm chuyển):
Hầu hết các đơn vị trong mạng nơ-ron chuyển net input bằng cách sử dụng
một hàm vô hướng (scalar – to – scalar function) gọi là hàm kích hoạt, kết quả
của hàm này là một giá trị gọi là mức độ kích hoạt của đơn vị. Trừ khả năng
đơn vị đó thuộc lớp ra, giá trị kích hoạt được đưa vào một hay nhiều đơn vị
khác. Các hàm kích hoạt thường bị ép vào một khoảng giá trị xác định, do đó
thường được gọi là các hàm nén (squashing).
Hàm biến đổi tín hiệu đầu vào net cho tín hiệu đầu ra out được gọi là hàm
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
kích hoạt. Hàm này có đặc điểm là không âm và bị chặn, dùng để giới hạn biên
8
độ đầu ra của nơ-ron. Có nhiều dạng hàm kích hoạt, người ta thường sử dụng
một hàm kích hoạt chung cho toàn mạng.
Một số hàm kích hoạt thường được sử dụng
1) Hàm đồng nhất (Linear function, Identity function)
g(x) = x (1.3)
Nếu coi các đầu vào là một đơn vị thì chúng sẽ sử dụng hàm này. Có khi một
hằng số được nhân với net-input tạo thành một hàm đồng nhất.
Đồ thị hàm đồng nhất (Identity function)
2) Hàm bước nhị phân (Binary step function, Hard limit function)
Hàm này còn gọi là hàm ngưỡng (Threshold function hay Heaviside
q
function). Đầu ra của hàm này giới hạn một trong hai giá trị:
neáu x
g x ( )
‡
<
q
neáu x
0,
1, =
(1.4)
ở đây q là ngưỡng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Đồ thị hàm bước nhị phân (Binary step function)
9
Dạng hàm này thường sử dụng trong mạng một lớp. Trong hình vẽ q được
chọn bằng 1.
3) Hàm sigmoid (Sigmoid function (logsig))
Hàm sigma là dạng chung nhất của hàm kích hoạt được sử dụng trong
cấu trúc mạng nơ-ron nhân tạo. Nó là một hàm tăng và nó thể hiện một sự
trung gian giữa tuyến tính và phi tuyến. Một ví dụ của hàm này là hàm
=
g x ( )
logistics, xác định như sau:
x
+
1 e l-
1
(1.5)
ở đó l là tham số độ dốc của hàm sigma. Bằng việc biến đổi tham số l ,
chúng ta thu được các hàm sigma với các độ dốc khác nhau. Thực tế, hệ số
góc tại x= 0 là l /4. Khi tham số hệ số góc tiến tới không xác định, hàm sigma
trở thành một hàm ngưỡng đơn giản. Trong khi một hàm ngưỡng chỉ có giá
trị là 0 hoặc 1, thì một hàm sigma nhận các giá trị từ 0 tới 1. Cũng phải ghi
nhận rằng hàm sigma là hàm phân biệt, trong khi hàm ngưỡng thì không
(Tính phân biệt của hàm là một đặc tính quan trọng trong lý thuyết mạng
neuron). Hàm này thường được dùng cho các mạng được huấn luyện (trained)
bởi thuật toán lan truyền ngược (back –propagation), bởi nó dễ lấy đạo hàm,
làm giảm đáng kể tính toán trong quá trình huấn luyện. Hàm được dùng cho
các chương trình ứng dụng mà đầu ra mong muốn rơi vào khoảng [0,1].
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Đồ thị hàm sigmoid
10
4) Hàm sigmoid lưỡng cực (Bipolar sigmoid function (tan(sig))
x
=
g x ( )
x
+
e e
1 1
- - (1.6) -
Hàm này có đặc tính tương tự hàm sigmoid. Hàm làm việc tốt đối với các ứng
dụng có đầu ra yêu cầu trong khoảng [-1,1].
Đồ thị hàm sigmoid lưỡng cực
Các hàm chuyển của các đơn vị ẩn (hidden units) là cần thiết để biểu diễn sự
phi tuyến vào trong mạng.
• Nút bias:
Là một nút thêm vào nhằm tăng khả năng thích nghi của mạng nơ-ron
trong quá trình học. Trong các mạng nơ-ron có sử dụng bias, mỗi nơ-ron có
thể có một trọng số tương ứng với bias. Trọng số này luôn có giá trị là 1.
Mô hình của một nút xử lý (nút thứ i):
Vi
Wi1
Vj Wij Vi Ui= ∑ Vi=fi(Ui)
WiN
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
VN
11
N
=
+
U
i
VW j ij
i
∑
θ
Hình 1.2. Mô hình một nơ-ron
= 1 # i
j j
)
V =
(1.7)
i
( Uf i
i
(1.8)
iU : là tín hiệu vào tại nơ-ron i
iV : là tín hiệu ra tại nơ ron i
ijW : là trọng số liền kề từ nơ-ron j đến nơ-ron i
q
i : là ngưỡng (đầu vào ngoài) kích hoạt nơ-ron i.
if : là hàm kích hoạt của nơ-ron i
Trong đó:
1.1.2.3. Mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo (gọi tắt là mạng nơ-ron) là mô hình toán học hay
mô hình tính toán được xây dựng dựa trên các mạng nơ-ron sinh học. Nó gồm
có một nhóm các nơ-ron nhân tạo(nút) nối với nhau, và xử lý thông tin bằng
cách truyền theo các kết nối và tính giá trị mới tại các nút (cách tiếp cận
connectionism đối với tính toán). Phần lớn mạng nơ-ron nhân tạo là một hệ
thống thích ứng (adaptive system) tự thay đổi cấu trúc của mình dựa trên các
thông tin bên ngoài hay bên trong chảy qua mạng trong quá trình học.
Với việc giả lập các hệ thống sinh học, các cấu trúc tính toán, mạng nơ-
ron có thể giải quyết được các lớp bài toán nhất định, như: Bài toán người du
lịch, bài toán tô màu bản đồ, bài toán xếp loại, bài toán lập thời khóa biểu, bài
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
toán tìm kiếm, bài toán nhận dạng mẫu... Các bài toán phức tạp cao, không
12
xác định. Tuy nhiên, sự liên kết giữa một bài toán bất kỳ trong thực tế với một
giải pháp mạng nơ-ron lại là một việc không dễ dàng.
Xét một cách tổng quát, mạng nơ-ron là một cấu trúc xử lý song song
thông tin phân tán mang các đặc tính nổi bật sau :
(cid:1) Là mô hình toán học dựa trên bản chất của nơ-ron. (cid:1) Bao gồm một số lượng rất lớn các nơ-ron liên kết với nhau. (cid:1) Mạng nơ-ron có khả năng học, khái quát hóa tập dữ liệu học
thông qua việc gán và hiệu chỉnh các trọng số liên kết.
(cid:1) Tổ chức theo kiểu tập hợp mang lại cho mạng nơ-ron khả năng
tính toán rất lớn, trong đó không có nơ-ron nào mang thông tin
riêng biệt.
Ví dụ : Hình 1.2, 1.3,1.4, 1.5 là một số mô hình mạng thông dụng.
• Các hình trạng của mạng
Hình trạng mạng được định nghĩa bởi: số lớp (layers), số đơn vị trên
mỗi lớp, và sự liên kết giữa các lớp đó. Các mạng thường được chia làm hai
loại dựa trên cách thức liên kết các đơn vị:
1.1.2.3.1. Mạng truyền thẳng
- Mạng truyền thẳng một lớp
Mạng perceptron một lớp do F.Rosenblatt đề xuất năm 1960 là mạng
truyền thẳng chỉ một lớp vào và một lớp ra không có lớp ẩn. Trên mỗi lớp này
có thể có một hoặc nhiều nơ-ron. Mô hình mạng nơ-ron của F.Rosenblatt sử
dụng hàm ngưỡng đóng vai trò là hàm chuyển. Do đó, tổng của tín hiệu vào
q
lớn hơn giá trị ngưỡng thì giá trị đầu ra của nơ-ron sẽ là 1, còn trái lại sẽ là 0.
out i
‡
<
q
0 ,
1, =
neáu net i neáu net i
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
(1.9)
13
jx∑
là tổng thông tin đầu vào của nơ-ron i. Với neti = wij
Mô hình mạng nơ-ron truyền thẳng một lớp là mô hình liên kết cơ bản
và đơn giản nhất. Các nơ-ron tổ chức lại với nhau tạo thành một lớp, đường
truyền tín hiệu được truyền theo một hướng nhất định nào đó. Các đầu vào
được nối với các nơ-ron theo các trọng số khác nhau, sau quá trình xử lý cho
ra một chuỗi các tín hiệu ra.
x1 y1
y2 x2
yn Xm
Hình 1.3. Mạng truyền thẳng một lớp
]T
=
..., Với mỗi giá trị đầu vào.
x
. Qua quá trình xử lý của
[ xx ,2,1
nx
]T
=
y
...,
ny
,2
[ yy ,1
mạng ta sẽ thu được một bộ tương ứng các giá trị đầu ra là
m
q
=
được xác định như sau :
y
i
,1
n
i
i
xw ij
j
i
j
= 1
= ∑ f
,
- (1.10)
Trong đó :
m : Số tín hiệu vào
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
n : Số tín hiệu ra
T
]T
W
,...,
w
14
i
in
i
[ = , ww i 1
2
if : Là hàm kích hoạt nơ-ron thứ i
q : Là ngưỡng của nơ-ron thứ i.
i
: là véc tơ trọng số của nơ-ron thứ i.
Ngay từ khi mạng Perceptron được đề xuất nó được sử dụng để giải quyết bài
q > i
toán phân lớp. Một đối tượng sẽ được nơ-ron i phân vào lớp A nếu :
jx∑
Tổng thông tin đầu vào wij
Trong trường hợp trái lại nơ-ron sẽ được phân vào lớp B.
- Mạng truyền thẳng nhiều lớp (Multilayer Perceptron –MLP)
Với mạng nơ-ron truyền thẳng một lớp ở trên, khi phân tích một bài
toán phức tạp sẽ gặp rất nhiều khó khăn, để khắc phục vấn đề này người ta
đưa ra mô hình mạng nơ-ron truyền thẳng nhiều lớp bằng việc kết hợp một số
lớp nơ-ron lại với nhau. Lớp nhận tín hiệu vào gọi là lớp vào, lớp đưa tín hiệu
ra của mạng được gọi là lớp ra. Các lớp ở giữa lớp vào và lớp ra được gọi là
lớp ẩn và các nơ-ron trong các lớp ẩn có hàm chuyển (hàm kích hoạt) dạng
phi tuyến. Mạng nơ-ron nhiều lớp có thể giải quyết các bài toán phi tuyến nhờ
vào các lớp ẩn. Càng nhiều lớp ẩn thì khả năng mở rộng thông tin càng cao và
xử lý tốt mạng có nhiều lớp vào và lớp ra.
Hình (1.4) mô tả cấu trúc của mạng nơ-ron truyền thẳng nhiều lớp.
Lớp vào Lớp ẩn Lớp ra x y
y x
y xm
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 1.4. Mạng truyền thẳng nhiều lớp
15
1.1.2.3.2. Mạng hồi quy (Recurrent Neutral Network)
X1
Y1
X2
Y2
Mạng hồi quy một lớp có nối ngược
. . .
. . .
. . .
XN
YM
Hình 1.5. Mạng một lớp có nối ngược
Mạng hồi quy nhiều lớp có nối ngược.
Y1
Y2
. . . . . . . . .
X1 X2 . . . X Y
Hình 1.6. Mạng nhiều lớp có nối
1.1.2.4. Luật học
Tiến trình học là tiến trình quan trọng của con người, nhờ học mà bộ
não ngày càng tích lũy các kinh nghiệm để thích nghi với môi trường và xử lý
tình huống tốt hơn. Mạng nơ-ron xây dựng lại cấu trúc bộ não thì phải cần có
khả năng nhận biết dữ liệu thông qua tiến trình học, với các thông số tự do
của mạng có thể thay đổi liên tục bởi những thay đổi của môi trường và mạng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
nơ-ron ghi nhớ giá trị đó.
16
Trong quá trình học, giá trị đầu vào được đưa vào mạng và theo dòng
chảy trong mạng tạo thành giá trị đầu ra.
Tiếp đến là quá trình so sánh giá trị tạo ra bởi mạng nơ-ron với giá trị
mong muốn. Nếu hai giá trị này giống nhau thì không thay đổi gì cả. Tuy
nhiên, nếu có một sai lệch giữa hai giá trị này vượt quá giá trị sai số mong
muốn thì đi ngược mạng từ đầu ra về đầu vào để thay đổi một số kết nối.
Đây là quá trình lặp lại liên tục và có thể không dừng khi không tìm
được giá trị W sao cho đầu ra tạo bởi mạng nơ-ron bằng đúng đầu ra mong
muốn. Do đó trong thực tế người ta phải thiết lập một số tiêu chuẩn dựa trên
một giá trị sai số nào đó của hai giá trị này, hay dựa trên một số lần lặp nhất
định.
Để tiện cho việc trình bày, ta kí hiệu y là giá trị kết xuất của mạng nơ-
ron, t là giá trị ra mong muốn, e là sai lệch giữa hai giá trị này.:
e = t - y
Mạng nơ-ron có một số ưu điểm so với máy tính truyền thống. Cấu trúc
song song của mạng nơ-ron rất thích hợp cho những ứng dụng đòi hỏi tốc độ
nhanh theo thời gian thực. Khả năng huấn luyện của mạng nơ-ron có thể khai
thác để phát triển hệ thống thích nghi. Mặt khác, với khả năng tổng quát hóa
của mạng nơ-ron, nó có thể áp dụng để điều khiển nhiều tham số phức tạp
đồng thời từ đó giải quyết dễ dàng một số bài toán thuộc lớp bài toán NP- đầy
đủ (NP-Complete ).
Các luật học đóng vai trò quan trọng trong việc xác định một mạng
nơ-ron nhân tạo. Một cách đơn giản về khái niệm học của mạng nơ-ron là cập
nhật trọng số trên cơ sở các mẫu. Theo nghĩa rộng thì học có thể được chia ra
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
làm hai loại: Học tham số và học cấu trúc.
17
- Học tham số: Các thủ tục học này nhằm tìm kiếm ma trận trọng số sao
cho mạng có khả năng đưa ra dự báo sát với thực tế. Dạng chung của luật học
=
h
=
=
tham số có thể được mô tả như sau:
rx
,
i
,1
, jN
,1
M
W ij
j
D (1.11)
trong đó:
ijW : là sự thay đổi trọng số liên kết từ nơ ron j đến nơ ron i.
jx : là tín hiệu vào nơ ron j.
D
r : là hằng số học.
h : là tốc độ học, nằm trong khoảng (0,1).
Vấn đề đặt ra ở đây là tín hiệu học r được sinh ra như thế nào để hiệu
chỉnh trọng số của mạng.
Có thể chia thủ tục học tham số ra thành ba lớp học nhỏ hơn: Học có
chỉ đạo, học tăng cường và học không chỉ đạo. Việc xác định r tùy thuộc vào
từng kiểu học.
+ Học có tín hiệu chỉ đạo: Là quá trình mạng học dựa vào sai số giữa
đầu ra thực và đầu ra mong muốn để làm cơ sở cho việc hiệu chỉnh trọng số.
Sai số này chính là hằng số học r. Luật học điển hình của nhóm này là luật
học Delta của Widrow (1962) nêu ra đầu tiên dùng để xấp xỉ trọng của
Adaline dựa trên nguyên tắc giảm gradient.
Trong nhóm luật học này cũng cần phải kể đến luật học Perceptron của
Rosenblatt (1958). Về cơ bản luật học này thay đổi các giá trị trọng trong thời
gian học, còn luật Perceptron thì thêm hoặc bỏ trọng tùy theo giá trị sai số
dương hay âm.
Một loạt các luật học khác cũng được dựa trên tư tưởng này. Luật Oja
là cải tiến và nâng cấp của luật Delta. Luật truyền ngược là luật mở rộng của
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
luật Delta cho mạng nhiều lớp. Đối với mạng truyền thẳng thường sử dụng
18
luật truyền ngược để chỉnh trọng với tín hiệu chỉ đạo từ bên ngoài và người ta
gọi mạng này là mạng lan truyền ngược.
+ Học không có tín hiệu chỉ đạo: Luật học này sử dụng đầu ra của
mạng làm cơ sở để hiệu chỉnh các trọng số liên kết. Hay trong luật này chính
là tín hiệu ra của mạng. Điển hình là luật Hebb (1949) thường dùng cho các
mạng tự liên kết, luật LVQ (Learning Vector Quantization) dùng cho mạng tự
tổ chức một lớp thuộc lớp mạng ánh xạ đặc trưng của Kohonen.
Luật học Hebb là luật sinh học xuất phát từ tiên đề của Hebb cho rằng:
Giữa hai nơ-ron có quan hệ và có thay đổi thế năng thì giữa chúng có sự thay
đổi trọng số liên kết. Nói cách khác, trọng số được điều chỉnh theo mối tương
=
h
=
=
quan trước và sau, nghĩa là:
W
,1
, jN
,1
M
ij
, ixy i j
D (1.12)
trong đó:
ijWD
:jx là tín hiệu vào nơ-ron j.
iy là tín hiệu ra của nơ-ron i.
h là tốc độ học, nằm trong khoảng (0,1).
là sự thay đổi trọng số liên kết từ nơ-ron j đến nơ-ron i.
Luật Hebb giải thích việc chỉnh trọng trong phạm vi cục bộ của mạng
mà không cần tín hiệu chỉ đạo từ bên ngoài. Hopfield cũng cải tiến luật Hebb
cho các mạng tự liên kết thành 16 dạng khác nhau theo kiểu luật Hebb, luật
đối Hebb, luật Hopfield...
Như vậy, ứng với mỗi nhóm mạng thường áp dụng một luật học nhất
định. Nếu tồn tại hàng chục loại mạng khác nhau thì các luật học dùng trong
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
mạng nơ-ron có thể tăng lên rất nhiều lần.
19
Đối với mạng phản hồi thường sử dụng luật Hebb và các luật cải tiến
của nó để chỉnh trọng mà không cần tín hiệu chỉ đạo từ bên ngoài.
+ Học tăng cường: Trong một số trường hợp, thông tin phản hồi chỉ là
tín hiệu bao gồm hai trạng thái cho biết tín hiệu đầu ra của mạng là đúng hay
sai. Quá trình học dựa trên các thông tin hướng dẫn như vậy được gọi là học
có củng cố (học tăng cường) và tín hiệu mang thông tin phản hồi được gọi là
tín hiệu củng cố cho quá trình học. Ta có thể thấy rằng quá trình học này là
một dạng của quá trình học có tín hiệu chỉ đạo bởi vì mạng nhận được một số
thông tin phản hồi từ bên ngoài.
- Học cấu trúc: Tìm kiếm các tham số của cấu trúc mạng để tìm ra một
cấu trúc mạng hoạt động tốt nhất. Trong thực tế, việc học cấu trúc là tìm ra số
lớp ẩn và tìm ra số nơ-ron trên mỗi lớp đó. Giải thuật di truyền thường được
sử dụng trong các cấu trúc nhưng thường chạy rất lâu, thậm chí ngay cả đối
với mạng có kích thước trung bình. Ngoài ra kỹ thuật gọt tỉa mạng hay mạng
tăng dần cũng được áp dụng trong việc học cấu trúc của mạng có kích thước
tương đối nhỏ.
1.2. PHẠM VI ỨNG DỤNG CỦA MẠNG NƠ RON NHÂN TẠO
1.2.1. Những bài toán thích hợp
Mạng nơ-ron được coi như là hộp đen biến đổi véc-tơ đầu vào m biến
thành véc-tơ đầu ra n biến. Tín hiệu ra có thể là các tham số thực, (tốt nhất
nằm trong khoảng [0, 1], hoặc [-1, 1]), số nhị phân 0, 1, hay số lưỡng cực -
1;+1. Số biến của véc-tơ vào ra không bị hạn chế xong sẽ ảnh hưởng tới thời
gian tính và tải dữ liệu của máy tính. Nói chung, các lớp bài toán áp dụng cho
nơ-ron có thể được phân chia thành bốn loại:
1. Phân lớp (classification).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2. Mô hình hoá (modeling).
20
3. Biến đổi, thực hiện ánh xạ từ một không gian đa biến vào không gian
đa biến khác tương ứng (transformation and mapping).
4. Liên kết và kỹ thuật dịch chuyển cửa sổ (association and moving
window).
1.2.1.1. Phân loại
Một trong các công việc đơn giản và thường được sử dụng nhiều
trong việc quản lý các đối tượng đa biến là phân loại (phân lớp một đối tượng
vào các nhóm, nhóm con, hay chủng loại). Ví dụ: Bài toán phân lớp ảnh, nhận
dạng mẫu, . . .
Khi phải phân loại một quyết định phức tạp, chúng ta phải bắt đầu với
việc nghiên cứu thống kê các mối liên quan giữa nhiều đối tượng và thuộc
tính của lớp các đối tượng. Có thể nói việc xây dựng một cây phân lớp các
quyết định phải được thực hiện trước khi thủ tục học được tiến hành. Nếu kết
quả cuối cùng không thoả mãn, chúng ta cần phải xem xét lại cách biểu diễn
các đối tượng hoặc cây phân lớp hoặc thay đổi cả hai.
1.2.1.2. Mô hình hoá
Các hệ thống phân loại đưa ra các câu trả lời rời rạc như có, không
hoặc một số nguyên định danh các đối tượng đầu vào thuộc lớp nào. Mô hình
hoá yêu cầu hệ thống phải sản sinh ra các câu trả lời mang tính liên tục. Trong
quá trình mô hình hoá, cần một số lượng nhỏ các số liệu để xây dựng mô
hình.
Mô hình này có thể đưa ra các dự báo cho tất cả các đối tượng đầu
vào. Việc tìm ra đường cong phù hợp với các số liệu thực nghiệm là một
trong những ứng dụng thuộc dạng này. Trong bất kỳ loại mô hình nào cũng
phải tuân theo một giả định là: các thay đổi nhỏ của tín hiệu vào chỉ gây ra
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
những biến đổi nhỏ của tín hiệu ra.
21
Trong các vấn đề đa biến, mạng nơ-ron có nhiều lợi thế hơn so với
các phương pháp mô hình hoá cổ điển sử dụng các hàm giải tích. Bởi vì trong
phương pháp mô hình hoá cổ điển đối với mỗi đầu ra, ta phải định nghĩa một
hàm cụ thể cùng một bộ các tham số, trong khi đó đối với mạng nơ-ron thì
không phải quan tâm tới các hàm đó. Tuy nhiên, trong các phương pháp mô
hình hoá cổ điển, các hệ số có thể có một số ý nghĩa nào đó đối với vấn đề cần
giải quyết, trái lại các trọng số của mạng không mang một ý nghĩa nào cả.
Trong nhiều ứng dụng khá đặc biệt, khi sai số thực hiện khá lớn
chúng ta có thể mô hình hoá bằng cách cân xứng hoá giữa tín hiệu vào tín
hiệu ra. Trong các trường hợp này, sử dụng mạng như một bảng tra là đủ, mặc
dù các bảng này sẽ cho lời giải giống nhau trong một khoảng nào đó của tín
hiệu vào.
Đối với việc chọn chiến lược học, chúng ta cần quan tâm đến sự phân
bố của các đối tượng dùng để học. Nếu số lượng đối tượng dùng cho việc học
là ít và được phân bố tương đối đều trong toàn không gian, khi đó số liệu có
thể được dùng ngay cho việc mô hình hoá. Trái lại, nếu các đối tượng là
nhiều, sẵn có nhưng phân bố ngẫu nhiên trong không gian biến, đầu tiên phải
giảm thiểu chúng sao cho vẫn bao trùm toàn không gian, sau đó mới dùng làm
số liệu cho việc mô hình hoá.
1.2.1.3. Biến đổi
Việc biến đổi nhằm mục đích nén các đối tượng từ không gian m chiều
vào không gian có số chiều nhỏ hơn rất nhiều. Qua việc nén, các đối tượng này
sẽ bộc lộ các đặc điểm mà chúng ta không thể nhận thấy khi chúng thuộc
không gian nhiều chiều. Theo một chừng mực nào đó, biến đổi tương tự như
việc nhóm các đối tượng hay phân loại thể hiện ở chỗ biểu diễn các kết quả ra.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Trong phân loại, chúng ta muốn định danh các nhóm hoặc lớp mà đối tượng
22
thuộc vào, còn trong biến đổi, chúng ta quan tâm đến toàn bộ các đối tượng và
từ đó chúng ta thu nhận được các nhóm từ các đối tượng học. Điểm quan trọng
trong biến đổi là các đối tượng được biểu diễn bởi toạ độ của nơ-ron trung tâm
chứ không phải là giá trị của tín hiệu ra.
Một trong những ứng dụng của việc biến đổi là tiền xử lý (thường được
gọi là kế hoạch hoá thực nghiệm). Thông qua quá trình tiền xử lý, chúng ta có
thể chọn ra các đối tượng điển hình từ tập vô số các đối tượng ngẫu nhiên, loại
trừ các đối tượng dư thừa hay trùng lặp. Điều này là cực kỳ quan trọng khi lựa
chọn các đối tượng làm mẫu học cho mạng lan truyền ngược sai số.
1.2.1.4. Liên kết
Liên kết là tìm ra đối tượng đích có mối quan hệ với một đối tượng
vào, thậm chí cả khi đối tượng vào bị hỏng hoặc hoàn toàn không biết. Theo
một nghĩa nào đó, liên kết có thể được coi là phân loại. Thủ tục học cho vấn
đề này là học có tín hiệu chỉ đạo.
Lĩnh vực nghiên cứu các quá trình phụ thuộc thời gian là một trong
những lĩnh vực chính trong nghiên cứu quá trình điều khiển. Ở đây người sử
dụng dự báo được các hành vi của hệ thống đa biến dựa trên một chuỗi số liệu
được ghi nhận theo thời gian. Trong mô hình hoá phụ thuộc thời gian, các
biến của tín hiệu vào bao gồm các giá trị hiện tại và quá khứ của các biến quá
trình, trong đó tín hiệu ra dự báo giá trị trong tương lai của những biến quá
trình đó. Về nguyên tắc các hiểu biết này có thể có các độ dài tuỳ ý, nhưng
trong quá trình kiểm soát hiểu biết tương lai chỉ bao gồm một bước thời gian.
Việc học dịch chuyển tới bước tiếp theo tạo ra các cửa sổ bao gồm số bước
thời gian của véc-tơ ra. Để tạo ra mô hình hoàn chỉnh của một quá trình, tất cả
các biến quá trình phải được huấn luyện tại đầu ra của mạng, nhưng không
phải tất cả các biến trong quá trình đều ảnh hưởng như nhau đối với kết quả
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
cuối cùng, chỉ có một số biến là đáng quan tâm. Do đó chúng ta chỉ phải chọn
23
các biến đó cho quá trình học. Kỹ thuật dịch chuyển cửa sổ có thể được sử
dụng để giải quyết các vấn đề chuỗi các sự kiện và đối tượng như trong các
lĩnh vực về môi trường theo thời gian, kiểm soát hỏng hóc.
1.2.2. Các lĩnh vực ứng dụng mạng nơ ron Trong quá trình phát triển, mạng nơ ron đã được ứng dụng thành công
trong rất nhiều lĩnh vực. Một số ứng dụng chính của mạng nơ-ron có thể liệt
kê là:
- Xử lý ảnh: Gồm trùng khớp ảnh, tiền xử lý ảnh, phân đoạn và phân tích
ảnh, nén ảnh, ...
- Xử lý tín hiệu: phân tích tín hiệu địa chấn và hình thái học.
- Nhận dạng mẫu: Gồm việc tách các nét đặc biệt của mẫu, phân loại và
phân tích tín hiệu của ra đa, nhận dạng và hiểu tiếng nói, nhận dạng vân
tay, ký tự, chữ viết, ..
- Y học: phân tích và hiểu tín hiệu điện tâm đồ, chuẩn đoán bệnh, xử lý
ảnh y học.
- Các hệ thống quân sự: phát hiện thủy lôi, phân loại luồng ra đa, nhận
dạng người nói.
- Giải trí: Hoạt hình, các hiệu ứng đặc biệt, dự báo thị trường.
- Các hệ tài chính: Gồm phân tích thị trường chứng khoán, định giá bất
động sản, cho vay, kiểm tra tài sản cầm cố, đánh giá mức độ hợp tác,
phân tích đường tín dụng, cấp phát thẻ tín dụng, dự báo tỷ giá tiền tệ và
thương mại an toàn.
- Trí tuệ nhân tạo: Gồm các hệ chuyên gia, ..
- Các hệ thống năng lượng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
- Dự đoán: Dự đoán các trạng thái của hệ thống,..
24
- Vấn đề lập kế hoạch, điều khiển và tìm kiếm: Gồm cài đặt song song
các bài toán thỏa mãn ràng buộc, bài toán lập thời khóa biểu cho trường
đại học, bài toán người đi du lịch, ..
- Giải các bài toán tối ưu: Vấn đề chính là tìm những thuật toán huấn
luyện mạng để góp phần tìm nghiệm cho nhiều lớp bài toán tối ưu toàn
cục.
Tóm lại, mạng nơ-ron nhân tạo được xem là một cách tiếp cận đầy tiềm năng
để giải quyết các bài toán có tính phi tuyến, phức tạp và đặc biệt trong tình
hình các dữ liệu đầu vào không tường minh.
1.3. MẠNG HOPFIELD
Trong mạng hồi quy tín hiệu ra của một nơ-ron có thể được truyền
ngược lại làm tín hiệu vào cho các nơ-ron ở các lớp trước, hoặc các nơ-ron
trong cùng một lớp. Phần này sẽ trình bày mô hình mạng tiêu biểu thuộc lớp
mạng hồi quy, đó là mạng Hopfield.
Mạng Hopfield được bắt đầu nghiên cứu từ năm 1982. Đây là mạng
một lớp với thông tin và quá trình xử lý có nối ngược. Chính công trình của
Hopfield được tìm thấy rất nhiều ứng dụng, đặc biệt trong bộ nhớ liên kết và
trong các bài toán tối ưu.
Giả sử mạng được xây dựng dưới dạng mạng một lớp, mỗi nơ-ron được
truyền ngược lại làm tín hiệu vào cho các nơ-ron khác nhưng bản thân các
nơ-ron không tự liên kết với chính nó. Khi đó mô hình mạng Hopfield được
biểu diễn như Hình 1.6.
Tín hiệu ra của nơ-ron thứ j nào đó được truyền ngược lại làm tín hiệu
vào cho các nơ-ron khác trong mạng một cách đầy đủ thông qua các trọng số
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
tương ứng.
25
X1 Y1
Đầu vào Đầu ra Y2 X2
. . .
XN YM
ww =
Hình 1.7. Mô hình mạng Hopfield
ij
ji
Ký hiệu Wij là liên kết giữa hai nơ-ron i và j ( ), Vi là đầu ra
của nơ-ron i. Ta coi véc tơ (V1, V2, ... Vn) là trạng thái của mạng. Tại mỗi thời
điểm t mỗi nơ-ron i tổng hợp các tín hiệu Vj từ các nơ-ron khác và tín hiệu từ
=
+
U
I
i
VW ij
j
i
∑
bên ngoài (bias)
Tuỳ theo hàm kích hoạt fi mà nơ-ron i cho đầu ra là:
Vi(t+1) = fi(Vi(t)).
i Mạng đạt trạng thái cân bằng nếu Vi(t+1) = Vi(t) , "
n
n
n
=
)
-=
,
,...,
( VVEE 2
1
V n
VVW ij
i
j
VE i j
∑∑
∑-
Ta định nghĩa hàm năng lượng của mạng là:
1 2
(1.13)
Tuỳ theo phương thức hoạt động của mạng mà người ta phân mạng
Hopfield ra thành mạng Hopfield rời rạc và mạng Hopfield liên tục.
1.3.1. Mạng Hopfield rời rạc.
Mạng Hopfield rời rạc là mạng được tính rời rạc (đầu ra rời rạc) và làm
việc ở chế độ không đồng bộ.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Trường hợp mạng nhận các giá trị nhị phân {0, 1}:
26
f Hàm kích hoạt được xác định như sau: fi ”
net
)
f net (
‡
1, neáu 0 = 0, neáu khaùc
(1.14)
Việc cho hàm kích hoạt (1.13) tương đương với quy tắc chuyển trạng
0
= ( ) 0
+ ‡ I i
I
1,neáu
0
D = - V i
i
vaø V t i = vaø V t ( ) 1 i
thái của mạng Vi(t+1) = Vi(t) +D Vi trong đó D Vi được cho bởi công thức (quy tắc)
∑ W V t ( ) ij j ∑ + £ W V t ( ) ij j trong caùctröôøng hôïp khaùc
0,
1, neáu
,=
ni
i
(1.15)
). Khi đó với quy tắc chuyển trạng thái như Định lý: Giả sử Wii =0 (
trên và cập nhật không đồng bộ thì năng lượng của mạng không tăng (tức là
giảm hoặc giữ nguyên).
Chứng minh: Giả sử nơ-ron không thay đổi trạng thái từ thời điểm t
+
đến t+1. Khi đó mạng sẽ thay đổi năng lượng và
= ( tEE
)1
)( tE
-= (
I
)
V
)( tVW kj
j
k
k
∑
j
D - - D (1.16)
Vì thế theo công thức (1.14) ta luôn có D E£ 0, tức là năng lượng của mạng
không tăng. Vì thế hàm năng lượng sẽ đạt tới giá trị cực tiểu. Do hàm giới
nội.
Do tính chất hội tụ và giá trị nhị phân của các nơ-ron nên mạng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hopfield rời rạc được sử dụng cho các bài toán tối ưu {0, 1}
27
Một mở rộng của mạng nhị phân là mạng lượng tử hoá. Đây là một loại
mạng mới được đề xuất và thích hợp cho việc giải các bài toán quy hoạch
nguyên.
1.3.2. Mạng Hopfield liên tục.
Mạng Hopfield liên tục là mạng mà trạng thái của nó được mô tả bởi
i
+
I
= ∑
VW ij
j
i
phương trình động học
dU dt
j
V =
)
i
Uf ( i
i
(1.17)
trong đó fi là hàm kích hoạt.
Ở đây ta cũng giả thiết Wij= Wji và Wii =0. Dễ thấy rằng nếu hàm năng lượng
được cho bởi (1.12) thì :
i
-=
¶
dU dt
i
E V Sự hội tụ của mạng Hopfield liên tục cho bởi định lý sau:
¶
i
n= 1,
0
dE dt
£ ) là các hàm khả vi và không giảm thì Định lý: nếu fi(Ui) (
Chứng minh: Ta có vì theo giả thiết các hàm fi(Ui) là không giảm nếu
0
0
dV i dU
dE dt
i
2
‡ £ , do đó ,
i
=
-=
.
∑
¶ ¶
dE dt
dV i dU
dU dt
dV i dU
E V i
i
E ∑ V i
i
i
i
¶ ¶
l
=
=
=
+
)
V
Sigmoid
( U
1(
tanh(
U
))
i
i
i
l
Với tư cách là hàm kích hoạt người ta thường chọn hàm Sigmoid:
U
i
+
1 2
2
1
1 e
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
- l trong đó >0 là
28
1
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0 -5
-4
-3
-2
-1
0
1
2
3
4
5
0 -5
-4
-3
-2
-1
0
1
2
3
4
5
tham số xác định độ dốc của hàm. Đồ thị của hàm Sigmoid với một số giá trị của l xem hình vẽ
lamda =1 lamda =2
Đồ thị hàm Sigmoid
Với hàm kích hoạt Sigmoid thì cực tiểu địa phương của hàm năng lượng
buộc xảy ra với các giá trị của Vi bằng 0 hoặc 1. Chính vì vậy mạng Hopfield được
sử dụng cho các bài toán tối ưu tổ hợp {0, 1}.
Nhận xét rằng hàm kích hoạt Sigmoid là một hàm nén (squashing function)
trong dải [0, 1] và vì thế thích hợp cho các bài toán tối ưu {0, 1}. Nếu cần giải
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-5
-4
-3
-2
-1
0
1
2
3
4
5
bài toán tố ưu {-1, 1} cần sử dụng hàm nén trong dải [-1, 1], chẳng hạn hàm tanh (l x).
Đồ thị hàm Hàm y=tanh(x)
1.3.3. Mạng Hopfield với bài toán tối ưu
Sau công trình của Hopfield và Tank mạng Hopfield đã được sử dụng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
nhiều vào việc giải bài toán tối ưu tổ hợp. Ta đã biết mạng Hopfield sẽ đạt tới
29
trạng thái cân bằng khi hàm năng lượng của nó đạt tới giá trị cực tiểu. Vì vậy,
từ bài toán cho trước, ta xây dựng một hàm mục tiêu F nào đó (đã được xử lý
các ràng buộc) và đặt F = E (E là hàm năng lượng), sau đó tìm mối liên hệ
giữa các biến của chúng. Chính vì vậy mà mạng Hopfield rất phù hợp với các
bài toán tối ưu tổ hợp, đặc biệt là đối với một số bài toán thuộc lớp bài toán
NP-đầy đủ như: bài toán thời khóa biểu, bài toán người bán hàng, tìm đường
đi tối ưu cho tuyến đường xe bus trường học, bài toán người đưa thư,...
Tuy nhiên, khi sử dụng mạng Hopfield vào việc giải các bài toán tối ưu
trong thực tế còn gặp một số hạn chế sau:
- Mạng Hopfield không đảm bảo cho hội tụ toàn cục. Để khắc phục, người ta
đã kết hợp mạng Hopfield với một số giải thuật khác, ví dụ như giải thuật di
truyền v. v. . . , hoặc đưa vào phương trình động học một số hạng đặc biệt gọi
là số hạng leo đồi. Từ đó hàm năng lượng của mạng có thể thay đổi đến một
trạng thái cao hơn, tránh được hội tụ địa phương và tiến tới hội tụ toàn cục.
- Việc chọn hệ số của hàm mục tiêu và hệ số của hàm ràng buộc để nhận được
một lời giải tốt là hết sức khó khăn. Cho đến nay, việc chọn nó vẫn chủ yếu
dựa vào kinh nghiệm. Hiện nay, đã có một số phương pháp điều khiển các hệ
số này bằng cách dùng điều khiển mờ .
- Một cách tổng quát, có thể xây dựng một số bước cần phải thực hiện khi sử
dụng mạng Hopfield vào việc giải bài toán tối ưu như sau (ánh xạ bài toán tối
ưu lên mạng nơ ron):
1. Lập sơ đồ biểu diễn các đầu ra của mạng sao cho nó có thể giải mã thành
nghiệm của bài toán tối ưu.
2. Tạo hàm năng lượng sao cho giá trị cực tiểu của nó ứng với nghiệm tốt
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
nhất của bài toán cần ánh xạ.
30
3. Gán giá trị cho các tham số của hàm năng lượng, điều này xác định các
trọng số tương đối gán cho các thành phần khác nhau của hàm năng
lượng.
4. Đưa ra phương trình động học cho các nơ ron.
5. Khởi tạo các giá trị đầu vào.
* Chú ý: Không có phương pháp ánh xạ trực tiếp các bài toán tối ưu có ràng
buộc lên mạng nơ ron. Cho nên phải thêm vào hàm mục tiêu các thành phần
phạt khi các ràng buộc bị phá vỡ. Khi đó hàm năng lượng được biểu diễn như
tổng của hàm mục tiêu và các thành phần phạt.
1.3.4. Mạng Hopfield với bài toán lập thời khóa biểu
Bài toán thời khóa biểu bao hàm sự phân công Giáo viên, lớp và phòng
học cụ thể tới khung thời gian và học kỳ, theo cách đó không một ai đó được
giao nhiều hơn một phòng tại một thời điểm và phòng không có nhiều hơn
một lớp học và giáo viên tại cùng thời điểm. Như vậy, thời khóa biểu mang
tính khả thi tránh được xung đột, nhưng không hẳn nhất thiết như vậy. Để thời
khóa biểu hoạt động chúng ta cần xem xét đến một số ràng buộc cụ thể. Ví dụ
về các ràng buộc này sẽ được giới thiệu ở phần sau đề tài này. Thường tổ
chức hoàn thiện nhất lập thời khóa biểu như các khóa học và lập kế hoạch
kiểm tra trong trường đại học. Các cơ sở giả định trong mô hình đơn giản này
là chúng ta đang lập thời khóa biểu lớp học chứ không phải là sinh viên cá
nhân. Một lớp định nghĩa như một nhóm sinh viên học cùng khóa học giống
nhau về cùng môn học và không phân tách, bởi vậy có thể thay đổi như một
nhóm và có thể tham chiếu đến như một thực thể đơn.
Một trong những bài toán thời khóa biểu đơn giản nhất là mô hình lớp –
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
giáo viên được trình bày bởi De Werra (1985) như sau (xem [9]):
31
Gọi C là tập hợp các lớp học và T là tập hợp các giáo viên. Ta xây dựng
ijR ).
một ma trận kích thước C · T thỏa R = (
ijR là số đơn vị thời gian mà giáo viên j phải dạy lớp i trong suốt
Trong đó,
thời gian biểu quy định.
j
i
k
x
Chúng ta định nghĩa một biến logic ijkx như sau:
k
ij
1, neáu lôùp vaø giaùo vieân daïy trong thôøi gian = 0,tröôøng hôïp khaùc
(1)
ijkx =1 thể hiện một giáo viên j có mặt để dạy lớp i tại
Theo công thức (1) thì
ijkx = 0 trong trường hợp còn lại, ví dụ như không có giáo viên j,
phòng k ; và
dạy lớp i, vào thời gian k.
P
Mô hình Lớp – giáo viên (TT1)
(
TjCi ,
)
=∑ x
ijk
R ij
= 1
k
T
˛ ˛ " (2)
(1
kCi
,
)
ijk
£∑ x
= 1
j
C
(cid:213) ˛ ˛ " (3)
(1
kTj
,
)
ijk
£∑ x
= 1
i
(cid:213) ˛ ˛ " (4)
i C j T k
;
;
)
ijkx = 0 hoặc 1 ( "
˛ ˛ ˛ (5) (cid:213)
Công thức (2) đảm bảo mỗi bộ (Lớp – giáo viên) chỉ xuất hiện chính xác một
lần trong thời khóa biểu, trong khi công thức (3) và (4) tránh xung đột lớp,
giáo viên, và công thức (5) bảo đảm tính toàn vẹn cho lời giải.
=
ˆ G C T R (
,
,
)
Trong mô hình TT1, quy về bài toán liên quan đến đồ thị hai phía
và sử dụng kỹ thuật tô màu các cạnh để tìm xung đột trong phân
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
công Lớp –giáo viên. Đỉnh của đồ thị là lớp và giáo viên, mỗi đỉnh ci và đỉnh
32
tj liên kết bởi các cạnh song song Rij. Bài toán yêu cầu cách tô mầu cho mỗi
cạnh của đồ thị G (từ chọn lựa P mầu) sao cho không có hai cạnh liền kề có
mầu giống nhau. Kỹ thuật phát triển mạng được sử dụng để giải quyết bài
toán Lớp – giáo viên đơn giản chính xác cho kích cỡ đồ thị nhỏ. Tuy nhiên,
đây là bài toán thuộc lớp NP đầy đủ và kỹ thuật tô mầu của cạnh và phát triển
mạng hoàn toàn không phù hợp cho lời giải khi mở rộng bài toán Lớp – giáo
viên.
1.4. NHẬN XÉT
Mạng truyền thẳng và mạng hồi quy là hai mô hình tiêu biểu của mạng nơ-
ron nhân tạo, mỗi loại mạng sẽ có những ưu nhược điểm riêng.
- Mạng truyền thẳng một lớp dễ phân tích nhưng không mô tả được mọi
hàm. Mạng nhiều lớp khắc phục được nhược điểm trên nhưng lại rất khó
phân tích và gặp khó khăn trong quá trình xây dựng mạng. Mặt khác
mạng truyền thẳng nhiều lớp có thể gây sai số tích lũy qua các lớp.
- Mạng phản hồi một lớp (tiêu biểu là mạng Hopfield) có cấu trúc đơn
giản vì thế dễ phân tích, không chứa sai số tích lũy.
- Mạng nơ-ron truyền thẳng chỉ đơn thuần tính toán các tín hiệu ra dựa
trên các tín hiệu vào và trọng số liên kết giữa các nơ-ron đã xác định sẵn
trong mạng. Do đó chúng không có trạng thái bên trong nào khác ngoài
trọng số W. Đối với mạng hồi quy, trạng thái bên trong của mạng được
lưu trữ tại các ngưỡng của nơ-ron. Nói chung mạng hồi quy không ổn
định, mạng cần phải tính toán rất lâu, thậm chí lặp vô hạn trước khi đưa
ra kết quả mong muốn. Quá trình học của mạng hồi quy cũng phức tạp
hơn mạng truyền thẳng rất nhiều. Tuy vậy các mạng hồi quy có thể cho
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
phép mô phỏng các hệ thống tương đối phức tạp trong thực tế
CHƯƠNG II: ỨNG DỤNG MẠNG NƠ-RON HOPFIELD
33
TRONG BÀI TOÁN LẬP THỜI KHÓA BIỂU CHO TRƯỜNG
ĐẠI HỌC
2.1 Bài toán lập thời khóa biểu và những khó khăn trong việc lập thời
khóa biểu cho trường đại học.
- Phát biểu bài toán
Gọi V là tập hợp các phòng học và C, T lần lượt là tập các lớp học và
ijkR ˛ C · T ·
ijkR là số
các giáo viên. Ta xây dựng một ma trận V, trong đó,
đơn vị thời gian mà giáo viên j phải dạy lớp i tại phòng học k theo thời gian
biểu quy định.
ijklx như sau:
klx
ij
Chúng ta định nghĩa một biến logic
0,
1, =
(6) nếu lớp i và giáo viên j dạy tại phòng k trong thời gian l ngược lại
Ví dụ:
Giáo viên : Nguyễn Văn A -> j
Phòng : 309 A -> k
Lớp : ĐH Tin 11B ->i
Thời gian: 8h30 – 10h05 ->l
ijklx =1 thể hiện một giáo viên j có mặt để dạy lớp i tại
Theo công thức (6) thì
ijklx = 0 trong các trường hợp còn lại.
phòng k trong thời gian l; và
Bài toán lập thời khóa biểu đáp ứng các ràng buộc theo mô hình TT2
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
(Timetable 2) được phát biểu như sau:
34
Mô hình Lớp – giáo viên – phòng học (TT2)
ijklx thỏa mãn các ràng buộc sau (xem [9]):
P
Cần tìm các biến logic
R
(
VkTjCi
,
,
)
ijkl
ijk
=∑ x
= 1
l
T
V
˛ ˛ ˛ " (7)
1 (
i C l ,
)
∑∑
x ijkl
£ " ˛ " ˛ (cid:213)
= 1
= 1
j
k
C
V
(8)
1 (
j T l ,
)
∑∑
x ijkl
= 1
= 1
i
k
C
T
£ " ˛ ˛ (cid:213) (9)
1 (
k V l ,
)
∑∑
x ijkl
i
j
= 1
= 1
(10) £ " ˛ ˛ (cid:213)
i C j T k V l ;
;
;
)
" ˛ ˛ ˛ ˛ (cid:213) (11) xijkl = 0 hoặc 1 (
ijkR thể hiện mối quan hệ giữa lớp i – giáo
Trong đó, công thức (7) ở vế phải
ijklx để nói tổng
viên j – phòng học k, vế trái của công thức ta sử dụng biến
thời gian (số tiết) mà một giáo viên j dạy lớp i tại phòng k trong thời điểm l
được thực hiện suốt trong thời gian biểu.
Các công thức từ (8) –(10) đảm bảo Lớp –giáo viên – phòng học không bị
xung đột. Cụ thể:
• Công thức (8) đảm bảo ràng buộc về Giáo viên – phòng học, nghĩa là
trong một lớp tại một thời điểm chỉ có tối đa một giáo viên j dạy phòng
k. hay một phòng học chỉ được phép một giáo viên dạy tại một thời
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
điểm.
35
• Công thức (9) đảm bảo cặp ràng buộc Lớp - phòng học, nghĩa là mọi
giáo viên j tại một thời điểm l chỉ dạy được một lớp i tại phòng k hay
một phòng học chỉ được phép một lớp học tại một thời điểm.
• Công thức (10) đảm bảo ràng buộc theo cặp Lớp –giáo viên, tức trong
một thời điểm l một lớp chỉ có tối đa một giáo viên.
ijklx chỉ được phép nhận một
• Công thức (11) thể hiện giá trị biến logic
trong hai giá trị 0 hoặc 1.
Với mục đích xây dựng mô hình bài toán thời khóa biểu để giải bằng mạng
nơ-ron Hopfield, ta diễn giải mô hình bài toán thời khóa biểu ở trên (TT2)
sang dạng biễu diễn mới (TT3) như sau: Giả sử có bộ ba T ( Lớp- giáo viên -
phòng học) cho việc lập thời gian biểu tới học kỳ P. Mỗi bộ ba theo mẫu lớp i
gặp giáo viên j tại phòng k. Có duy nhất một bộ ba sẽ xảy ra Rijk trong toàn bộ
V
C
T
t
=
ijkR
T, tổng số bộ ba được xác định bởi:
∑∑∑
= 1
i
= 1
j
= 1
k
(12)
Sử dụng biến Boolean xtp như sau:
=
tpx
(13)
,1 ,0
ˆ
,
ˆ ,C T V :
nếu bộ ba t = (i, j, k) được gán đợt P nếu khác
=
ˆ itC
Định nghĩa các ma trận ˆ
,1 ,0
nếu lớp i thuộc bộ ba t=(i,j,k) nếu khác
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
(14)
(15)
=
ˆ jtT
nếu giáo viên j thuộc bộ ba t=(i,j,k) nếu khác
,1 ,0
(16)
=
ˆ ktV
nếu phòng học k thuộc bộ ba t=(i,j,k) nếu khác
,1 ,0
Ma trận x định rõ một lời giải đúng cho bài toán thời khóa biểu nếu
thỏa mãn các ràng buộc (TT3):
P
t
36
(1
t
)
tp
=∑ x
(17)
p
= 1 t
˛ "
1 (
i C p
,
)
(18)
£ " ˛ ˛ (cid:213)
∑
ˆ x C tp it
= 1
t
t
(19)
(1
pTj
,
)
˛ ˛ " £ (cid:213)
∑
ˆ Tx tp
jt
= 1
t
t
(20)
)
(1
pVk
,
˛ ˛ " £ (cid:213)
∑
ˆ Vx tp kt
= 1
t
=
t
(21)
{ } (,1,0
t
,
p
)
xtp
Phương trình (17) đảm bảo mỗi bộ ba (Lớp – giáo viên – phòng học)
chỉ xuất hiện chính xác một lần trong thời khóa biểu, trong khi phương trình
(18) – (20) tránh xung đột lớp, giáo viên, phòng học, và phương trình (21) bảo
P ˛ ˛ "
so với TT2, nhằm giảm chiều bài toán. Trong khi trình bày TT2 bao hàm ma
trận lời giải với kích thước C x T x V x P, qua trình bày TT3 giảm xuống còn
Pt ·
.
kích thước
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
đảm tính toàn vẹn cho lời giải. Rõ ràng, công thức này trình bày ngắn gọn hơn
37
- Những khó khăn trong việc lập thời khóa biểu
Việc ánh xạ các ràng buộc bài toán lên mạng nơ-ron Hopfield thông
qua hàm năng lượng E, xác định các thành phần trong hàm phạt, từ đó kết hợp
hàm năng lượng của mạng nơ-ron Hopfield cho ra ma trận trọng số của mô
hình bài toán, .. sẽ là những khó khăn thực sự khi tìm lời giải bài toán lập thời
khóa biểu.
Việc bài toán với tập dữ liệu lớn về số lượng các lớp học, giáo viên,
phòng, đơn vị thời gian và nhiều điều kiện ràng buộc sẽ ảnh hưởng đến khả
năng tính toán của chương trình.
2.2. Tình hình giải quyết bài toán lập thời khóa biểu
Thời khóa biểu là một dạng bài toán kinh điển trong hoạt động nghiên
cứu về lập lịch nói chung, do bài toán đòi hỏi phải thỏa mãn nhiều điều kiện
ràng buộc. Từ hình thức đơn giản nhất như mô hình lớp – giáo viên đến các
bài toán phân công công việc phức tạp, thời khóa biểu là bài toán tối ưu tổ
hợp dạng NP-complete, và chúng ta sẽ mở rộng mối liên hệ mô hình lớp –
giáo viên này.
Có thể sử dụng mạng nơ-ron Hopfield để giải bài toán thời khóa biểu
cho trường đại học. Các nghiên cứu trước đây sử dụng mạng nơ-ron cho bài
toán thời khóa biểu không mang lại kết quả như mong đợi, nhưng những
nghiên cứu gần đây đã chứng minh rằng mạng nơ-ron đã có thể giải quyết tốt
Bài toán Người bán hàng rong (Smith, 1999). Việc áp dụng mạng nơ-ron
Hopfield vào lập thời khóa biểu trường học mang tính thời sự và hiệu suất
của mạng Hopfield phụ thuộc vào việc sử dụng công thức phù hợp. Thuật giải
mạng Hopfield có thể so sánh với các thuật toán siêu tìm kiếm
(metaheuristics) khác như mô phỏng luyện kim (Annealing) và tìm kiếm tabu
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
về lời giải chất lượng và thời gian tính toán qua kiểm tra.
38
2.3. Xây dựng mô hình mạng Hopfield cho bài toán thời khóa biểu
2.3.1. Mạng nơ ron Hopfield
Mạng nơ ron Hopfield ( Hopfield, 1982, 1984) là công cụ toán học có
thể được sử dụng để giải các bài toán tối ưu tổ hợp. Ưu thế của mạng nơ-ron
đã vượt qua những kỹ thuật tối ưu truyền thống ở dạng tiềm năng về sức
mạnh tính toán rất nhanh khi phương tiện phần cứng máy tính ngày càng phát
triển, và dùng trong mạng tính toán xử lý song song.
Có hai loại mạng Hopfield là mạng Hopfield rời rạc và liên tục, cho các
giá trị khác nhau tùy vào trạng thái nơ-ron. Mô hình sinh học của bộ não
người là luôn cố gắng sử dụng đầy đủ các hệ thống kết nối bên trong của N
nơ-ron. Nơ-ron i có trạng thái vào ui và đầu ra vi (có thể là giá trị nhị phân
trong mạng rời rạc hoặc giá trị thực bởi số 0 và 1 ở mạng liên tục). Trạng thái
ui kết hợp đầu vào bias Ii, và tổng trọng số đi ra từ tất cả các nơ-ron. Trọng
số, xác định độ dài của các kết nối từ nơ-ron i tới j, cho bởi Wij. Quan hệ giữa
các trạng thái của một nơ-ron và tín hiệu đi ra của nơ-ron được xác định bởi
hàm kích hoạt g(ui). Hàm kích hoạt này độc lập trên mạng Hopfield rời rạc
i
=
=
+
hoặc liên tục. Có dạng:
g u (
)
(1 tanh(
))
v i
i
u l
1 2
(22)
Công thức trên sử dụng cho mạng Hopfield liên tục, trong đó l là biến xác
định độ dốc của hàm kích hoạt g(ui).
Đối với mạng Hopfield rời rạc, hàm kích hoạt thường thể hiện hàm ngưỡng
>
0
rời rạc:
=
v i
0, neáu
0
1 , neáu =
u i u i
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
(23) g u ) ( i £
39
N
+ D
t
I
+ = 1)
∑
u t ( i
u t ( ) i
+ w v j ij
i
Các nơ-ron tự học (tuần tự hoặc song song) theo đúng luật sau:
j
= 1
(24)
+ = 1)
)
v t ( i
g u ( i
(25)
( trong ∆t là thời gian trễ cố định), và khi thực hiện mạng nơ-ron sẽ hội tụ về
N
N
N
= -
cực tiểu địa phương với hàm năng lượng theo thời gian:
E
∑∑
∑
W v v ij
i
j
I v i i
1 2
i
j
i
= 1
= 1
= 1
- (26)
Được cung cấp bởi trọng số đối xứng Wij = Wji. Nếu các nơ-ron tiếp
nhận thông tin song song (hoặc đồng bộ) thì trạng thái hội tụ tới tồn tại hai
chu kỳ. Cả hai trạng thái mạng trong đó bao gồm hai chu kỳ sẽ cực tiểu địa
phương với hàm năng lượng.
Mạng rời rạc có ưu thế hơn mạng liên tục trong số lần cập nhập để hội tụ cực
tiểu địa phương và tốc độ thực hiện nhanh hơn trong mỗi nơ-ron, về chủ điểm
này, liên kết với ràng buộc phần cứng khác, chúng tôi đã chọn mạng Hopfield
rời rạc để giải bài toán thời khóa biểu trình bày ở trên. Chúng tôi cũng chọn
cập nhập cho các nơ-ron bằng phép toán song song hơn cách tuần tự trước
đây, tăng cường không giới hạn để giải các bài toán lớn với tốc độ nhanh nhất
có thể. Liên quan đến việc thực hiện tất cả các tính toán song song của trạng
thái đầu vào u khi tất cả v được cập nhập, trái với cập nhập tuần tự mà tính
toán u và v cập nhập cho nơ-ron tại một thời điểm.
Hopfield và Tank (1985) cho thấy rằng nếu bài toán tối ưu 0 – 1 có thể
được thể hiện trong một hàm năng lượng được cho bởi công thức (26), mạng
Hopfield có thể được dùng để tìm lời giải tối ưu cục bộ của hàm năng lượng,
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
có thể dịch đến lời giải cực tiểu địa phương của bài toán tối ưu, cung cấp tham
40
số mạng (trọng số và đầu vào bias) đã được lựa chọn thích hợp cho bài toán.
Thông thường, hàm năng lượng của mạng được thực hiện tương đương với
hàm mục tiêu của bài toán tối ưu đã được giảm đến mức tối thiểu. Trong khi
các ràng buộc bài toán bao gồm hàm năng lượng như hàm phạt. Các tham số
mạng có thể được suy ra bởi so sánh với hàm năng lượng chuẩn cho bởi công
thức (26). Trọng số của mạng, Wij, hệ số của hàm bậc 2 vivj, và đầu vào bias
hiện tại, Ii mỗi nơ-ron i, hệ số vi của hàm năng lượng.
Mạng được cài đặt ban đầu mức kích hoạt vi của mỗi nơ-ron tới trạng
thái. Ngẫu nhiên và không đồng bộ cập nhập của mạng xảy ra ở công thức
(24) và (25) sẽ cho trạng thái năng lượng tối thiểu đạt được, trước mức năng
lượng không tăng trong suốt trạng thái dịch chuyển (Hopfield, 1982). Chứng
N
+
-=
minh liên quan thể hiện:
I
v
0
E
i
j
i
vW ij
∑
= 1
j
N
£ D D
0
0
+
I
∑
W v ij
i
j
D £
vaø
0
0
0
j
= 1
< D < u 0 = i u i
vaø v i v i
‡ D ‡ D ‡
Bởi nếu Các dẫn xuất của trọng số và đầu vào bias ở hai trình bày thời khóa biểu (TT2 và TT3) được cho ở trên.
2.3.2. Ánh xạ bài toán thời khóa biểu lên mạng nơ-ron Hopfield
Để ánh xạ bài toán tối ưu lên mạng nơ-ron Hopfield, chúng ta cần đưa
C
T
V
P
C
T
V
P
T
V
a
b
=
ra các trọng số và ràng buộc của bài toán. Hàm năng lượng biểu diễn theo TT2:
E
x
∑∑∑ ∑
∑∑∑∑∑∑
ijkl
R ij
x x ijkl
+ ' ' ij k l
'
'
2
2
i
j
k
l
i
j
k
l
= 1
= 1
= 1
= 1
= 1
= 1
= 1
= 1
2 +
'
-
j j
= = k 1 1 ' j k k
C
C
T
V
P C
V
T
V
P C
T
c
g +
∑∑∑∑∑∑
∑∑∑∑∑
∑
x x ijkl
x x ijkl
' ' i jk l
' ' i j kl
'
'
'
'
2
2
i
j
k
l
j
k
l
i= 1
= 1
= 1
= 1
= 1
= 1
= 1
= 1
'
'
'
„ „ (27)
i i
= = k 1 1 ' i k k
i i
= 1 i
j j
= 1 j
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
„ „ „ „
41
Trong đó a,b, c, g là các tham số phạt được chọn để cân bằng các thành phần
của hàm. Số hạng đầu tiên trong phương trình (27) đạt giá trị cực tiểu khi yêu
cầu ràng buộc (7) là thỏa mãn, và lớn hơn không trong trường hợp còn lại. Ba
thành phần còn lại trong phương trình (27) đảm bảo các ràng buộc tương ứng
với các bất phương trình (8)-(10).
Mạng Hopfield có thể được thiết kế để tối thiểu hóa hàm này, với điều
kiện trọng số của mạng và đầu ra bias xác định cụ thể. Một nơ-ron vijkl thực
'
hiện tương đương với ma trận giải xijkl, và một ma trận tám chiều có trọng số
v i ' ' i j k l
xây dựng ma kết nối tất cả các nơ-ron vijkl tới tất cả các nơ-ron khác
trận bốn chiều đầu ra bias.
C
T
V
P
T
V
P
P
C
T
V
Hàm năng lượng rút ra từ mạng Hopfield là:
-=
'
'
E
W
vv ijkl
vI ijkl
ijkl
∑∑∑∑∑∑∑
∑∑∑∑
ijkl
' ' ' lkji
' ' ' lkji ,
'
'
'
1 2
i
j
k
l
i
j
k
l
= 1
= 1
= 1
= 1
= 1
= 1
= 1
= 1
j
k
l
= 1
= 1
= 1
(28) -
Hàm này tổng quát hóa phương trình (26) cho các biến bốn chiều của mỗi
nơ-ron. Sau khi khai triển sắp xếp lại hàm (27), so sánh với hàm năng lượng
'
'
= -
bd
d
d
d
d
d
(28) cho hai hàm tương đương sau.
(1
c )(1
)
(1
)
(1
)
'
'
'
'
'
'
'
'
'
kk
jj
ii
d ' jj
d kk
ll
ii
jj
kk
ll
(1
d )(1
'
'
'
ad d d ' ii d d ) ' jj
ii
kk
ll
a=
I
- - - - - - (29) Thiết lập ma trận trọng của TT2: W i ' ijkl i j k l , d g - - -
ijkl
R ijk
'
s
y
(30)
s =1 nếu
y= và bằng không trong
'yy
'yy
là hàm Kronecker – Delta , ở đây
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
trường hợp khác.
'
=
i
d
'
42
ii
'
0, ngöôïc laïi i
i
= 1, neáu i
C
T
V
a
R
2 ijk
Ta có: „
∑∑∑
2
i
j
k
= 1
= 1
= 1
Một thành phần hằng số được thêm vào là
Tuy nhiên hằng số này có thể được bỏ qua mà không ảnh hưởng đến các giá
trị tối ưu cục bộ và toàn cục của hàm gốc (27), và hàm năng lượng Hopfield
(28).
Đối với mô hình lớp – giáo viên – phòng học (TT3), chúng ta có thể
ánh xạ lên mạng nơ-ron Hopfield theo cách tương tự. Sử dụng mô hình này,
số chiều của mỗi nơ-ron là nhỏ hơn, và số chiều kết nối trọng số và đầu ra
bias cũng như vậy. Từ mô hình TT3 đã trình bày, một hàm tối ưu có thể được
t
t
t
t
t
P
C
P
T
P
a
b
ˆ
=
2 +
xây dựng như sau:
E
1
'
'
∑∑∑∑
∑∑∑∑
x tp
c ˆ + x C x C tp it it
' t p
ˆ ˆ x T x T jt tp jt
' t p
'
'
2
2
2
= 1
= 1
p
t
= 1
i
= 1
p
= 1
t
= 1
j
= 1
p
= 1
t
∑ ∑
'
'
-
t t
= 1 t
t t
= 1 t
t
t
V
P
g
+
'
∑∑∑∑
ˆ ˆ x V x V tp kt ' t p kt
'
2
= 1
= 1
= 1
k
p
t
'
„ „ (31)
t t
= 1 t
„
Số hạng đầu tiên của phương trình (31) sẽ bằng không nếu mỗi bộ ba Lớp –
giáo viên – phòng học xếp chính xác với thời khóa biểu. Điều kiện thứ hai
đảm bảo sự xung đột về lớp là nhỏ nhất bởi tất cả ba thành phần tránh lớp đã
xếp trong một thời điểm. Điều kiện ba và bốn đảm bảo hạn chế đến mức tối
thiểu các vi phạm về giáo viên và phòng học.
Để ánh xạ bài toán tối ưu lên mạng nơ-ron Hopfield, lời giải ma trận x
W
'
'
là đặt lại ban đầu như là một ma trận nơ-ron nhị phân v, và hàm năng lượng
tp t p , và tpI .
,
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
mạng Hopfield sẽ là một hàm của tpv ,
43
C
T
= -
ad
b
Thiết lập ma trận trọng số theo TT3:
W
d d (1
)
(1
)
'
'
'
'
'
'
'
'
∑
∑
' tp t p ,
tt
tt
pp
ˆ ˆ c C C it it
tt
pp
ˆ ˆ T T jt jt
d d
= 1
= 1
i
j
(32)
V
g
- - - -
(1
)
'
'
'
∑
d d tt
pp
ˆ ˆ V V kt kt
= 1
k
a=
(33)
tpI
Như vậy, các công thức (29) và (30) định nghĩa các tham số mạng của
mô hình TT2, và các công thức (32) và (33) dành cho mô hình TT3. Có thể
nhận thấy rằng, số chiều của nơ-ron và ma trận trọng số và ma trận đầu ra
bias, như TT3 có tính hiệu quả hơn so với các mô hình trước. Số nơ-ron đòi
hỏi cũng giảm bớt khi sử dụng TT3 đối với bài toán thời khóa biểu mở rộng.
- -
2.4. Thuật toán mạng nơ-ron Hopfield trong bài toán lập thời khóa biểu
Thuật giải mạng nơ-ron Hopfield dùng mã giả như sau:
Khởi tạo u ( ngẫu nhiên)
Tính v sử dụng phương trình (23)
cho trường Đại học
For i= 1 to descent
For j=1 to lặp
Cập nhập uk dùng phương trình (24)
Cập nhập vk dùng phương trình (25)
Tăng k
N
Tính ổn định =
D∑ v k
k
= 1
Nếu tiêu chuẩn ổn định đã phù hợp, thoát vòng lặp j
Tăng j
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
For k=1 to N
44
Chọn một nơ-ron ngẫu nhiên, và xoay tới ngưỡng
1
0;
0
0
u k
> neáu u k
u k
< neáu u k
fi fi Chuẩn hóa u ( )
Tăng i.
(xem [9], p293-294) Mạng nơ-ron Hopfield dạng chuẩn khi được cập
nhật theo phương trình (24) và (25) ở trên sẽ cực tiểu cả hai hàm năng lượng
Hopefield và hàm phạt tối ưu tương ứng. Bản chất của việc giảm thiểu này là
giảm độ dốc xuống, việc này sẽ gây một vài khó khăn cho việc hội tụ ở cực trị
địa phương của hàm năng lượng. Chúng ta sẽ còn gặp nhiều khó khăn hơn khi
xem xét bản chất của các cực trị địa phương này. Vì bài toán tối ưu hóa được
thể hiện thông qua một chuỗi các điều kiện phạt, rất khó để cân bằng các điều
a b cg ,
,
,
kiện này bằng cách lựa chọn các tham số phạt, trong trường hợp này là
. Nếu số hạng a quá lớn so với ba số hạng còn lại, lời giải bài toán
nhiều khả năng sẽ có xung đột giữa các lớp học, giáo viên, phòng học hay
giữa cả ba ràng buộc với nhau. Tương tự, nếu số hạng a quá nhỏ so với ba số
hạng còn lại, lời giải sẽ gần như không có mâu thuẫn do các điều kiện hoặc bộ
ba đã bị loại bỏ để giảm mâu thuẫn. Các cực trị địa phương này sẽ dẫn tới
việc lập nên một thời khóa biểu không hiệu quả. Để đạt được một thời khóa
biểu tốt, cực trị toàn cục phải được duy trì, tương ứng với chi phí bỏ ra bằng
không theo phương trình (27) hoặc (31).
Rõ ràng, nếu các tham số phạt được chọn thích hợp để cân bằng các
thành phần của bài toán tối ưu, chúng ta vẫn phải đối mặt với các vấn đề gây
ra bởi thuật toán độ dốc xuống của quy tắc cập nhật. Trong phần này, chúng
tôi sẽ trình bày một số sửa đổi để tránh khỏi cực trị địa phương. Các sửa đổi
của chúng tôi dựa trên việc quan sát và nhận thấy mạng nơ-ron Hopfield hoạt
động tốt nhất (đo lường bằng việc giảm hàm năng lượng một cách nhanh
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
chóng) trong suốt vài lần lặp lại đầu tiên. Một lần lặp lại được định nghĩa là
45
một lần cập nhật hoàn toàn của tất cả các nơ-ron N dựa theo phương trình (24)
và (25). Trong vài lần lặp lại đầu tiên, hàm năng lượng giảm nhanh chóng và
cải thiện từ từ sau đó, cho tới sau khoảng 50 vòng lặp thì gặp phải một cực trị
địa phương và mạng dao động giữa nơ-ron trạng thái và tất cả giá trị năng
lượng tương tự nhau. Do đó, chúng tôi chấm dứt việc cập nhật sau một số ít
lần lặp lại, đưa giá trị u về 0 hoặc 1 dựa trên giá trị v hiện tại, và khởi động lại
quá trình. Quá trình này được lặp đi lặp lại một vài lần. Tính ngẫu nhiên ở
cuối mỗi vòng được tạo ra bằng cách chọn ngẫu nhiên một nơ-ron và cho nó
một trạng thái v bằng 0 hoặc 1. Một ngưỡng được dùng để kiểm soát tính
ngẫu nhiên, nếu ngưỡng là 0.5 thì tất cả các nơ-ron đều sẽ có cơ hội ngang
nhau để trở thành 0 hoặc 1, nhưng nếu như ngưỡng được tăng lên 0.9 thì sẽ
chỉ có 10% cơ hội cho 1 nơ-ron trở thành 1. Để cho phép một mức giảm bất
kỳ dừng lại khi xuất hiện cực trị địa phương, chúng tôi cũng giới thiệu một
N
phương pháp được gọi là ổn định, đếm số thay đổi trạng thái của nơ-ron trong
D∑ hoặc vD
v k
k
= 1
. Nếu trạng thái ổn định đo lường này dưới giá trị một lần lặp
được xác định trước, mạng Hopfield có thể dừng độ dốc hiện tại, xoay vòng
của một nơ-ron, và tiếp tục với gốc khác. Tạo một số lần lặp linh hoạt, và tổng
số lần lặp cho phép được giảm đi đáng kể có thể.
Vì vậy, những sửa đổi đến mạng nơ-ron linh hoạt ở trên kết hợp với
thuộc tính một khả năng tìm kiếm vô hướng trong những đoạn ngắn độ dốc
a b cg ,
,
,
xuống, dùng để điều khiển vùng ổn định và xáo trộn ngẫu nhiên để thoát khỏi
cực trị địa phương. Các tham số được xác định là các tham số phạt
như sau:
1. Số lần lặp lại tại mỗi dốc
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2. Số dốc xuống
46
3. Điều kiện ổn định để chấm dứt sớm tại mỗi lần lặp
4. Số nơ-ron cho phép xoay đến khi kết thúc mỗi lần lặp
5. Ngưỡng xác định xác suất một nơ-ron một giá trị 1 khi đã xoay
D =1. t
6. Tổng số bước chạy thực hiện từ khởi tạo ngẫu nhiên u và v
Mạng nơ-ron rời rạc có thời gian trễ cố định ở công thức (24) tại
2.5. Kết luận chương 2
- Phần đặt vấn đề đã thể hiện được phát biểu tổng quát của bài toán.
- Giới thiệu tình hình giải quyết bài toán lập thời khóa biểu và những khó
khăn trong việc thực hiện.
- Đã trình bày lời giải bài toán bằng cách sử dụng hai ánh xạ bài toán thời
khóa biểu theo mô hình TT2 và TT3 lên mạng Hopfield (xem [9]).
Mô hình đầu tiên là một mở rộng cơ bản của công thức Hopfield and Tank
(1985), có thể ứng dụng tới tất cả các bài toán tối ưu tổ hợp. Mô hình thứ hai
có hiệu quả hơn mang ý tưởng ánh xạ bộ ba (Lớp – giáo viên – phòng học)
trong suốt học kỳ (Abramson, 1991) lên mạng nơ-ron Hopfield. Việc dùng
công thức ánh xạ bộ ba (lớp –giáo viên- phòng) TT3, đã chứng minh là có
hiệu quả hơn về số các nơ-ron và trọng số cần thiết để mã hóa cho bài toán.
Trong khi chất lượng giải pháp tương tự thu được cho cả hai trình bày mạng
nơ-ron, sự cải thiện về tốc độ tính toán cho TT3 làm cho nó các ưu tiên tiếp
cận mạng nơ-ron. Việc cài đặt thử nghiệm nhằm xác định ảnh hưởng của sửa
đổi đã thực hiện trên mạng nơ-ron, đó là sự tác động của ngẫu nhiên xoay
vòng, kiểm soát thông qua các ngưỡng tham số. Do vậy, thuật giải mạng nơ-
ron Hopfield đã thể hiện được khả năng cho lời giải chất lượng tốt với bài
toán thời khóa biểu mở rộng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
- Giới thiệu thuật giải mạng nơ-ron Hopfield cải tiến bằng mã giả.
CHƯƠNG 3:
47
CÀI ĐẶT THỬ NGHIỆM
3.1 Thiết kế chương trình ứng dụng mạng nơ ron Hopfield trong việc lập
thời khóa biểu cho trường đại học.
- Chương trình Demo
Với những lý thuyết đã nghiên cứu, tác giả đã cài đặt mô hình thử
nghiệm bằng ngôn ngữ C#.
Minh họa thuật toán nơ-ron Hopfield sẽ được cài đặt.
Input:
ijklu (ngẫu nhiên)
Khởi tạo một mảng 4 chiều
ijklv
>
neáu u
0
ijkl
=
g u (
)
v ijkl
ijkl
sử dụng phương trình (23) - Tính
neáu u
0,
0
ijkl
1 , =
£
)kl
g u ij(
Trong đó là hàm kích hoạt.
ijklu tại thời điểm (t+1) sử dụng phương trình (24)
I+
w
- cập nhập
'
∑
v * kl ij
ijkl
ijklu (t+1) = ijklu (t) + ∆t(
' ' ' kl i j k l
,
ij
'
' ' ' i j k l
=
+
I
w
*
'
∑
kl
kl
u ij
v ij
ijkl
' ' ' kl i j k l
,
ij
'
' ' ' i j k l
a=
I
)
R cho trước.
ijkl
ijk
Trong đó
=
+ D
kl
kl
kl
v ij
v ij
v ij
tại thời điểm (t+1) sử dụng phương trình (25) - Cập nhập ijklv
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Trong đó
+
48
W
V
I
t ( )
= ( ) 0
0
'
'
'
ijkl
‡
V
' ' ijkl i j k l , V
I
1,neáu
' ' ' i j k l + t ( )
0
( ) 1
'
'
'
∑ ∑ W
= - ijkl
ijkl
vaø V t ijkl = vaø V t ijkl
' ' ' i j k l
0,
' ' ijkl i j k l , trong caùctröôøng hôïp khaùc
1, neáu
D £
Output: ijklv
là một ma trận cho lời giải bài toán lập thời khóa biểu. Tín hiệu ra ijklv
Dưới đây là chương trình cài đặt thử nghiệm theo thuật giải mạng nơ-ron
Hopfield.
Giao diện chính chương trình
Hình 3.1: Giao diện chương trình thời khóa biểu
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
- Về giao diện ( UI) bao gồm nhiều Form trong đó có các form nhập dữ liệu như hình vẽ:
49
Hình 3.2: Danh sách các form dữ liệu
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 3.3: Minh họa tìm kiếm dữ liệu theo lớp
50
3.2 Chuẩn bị dữ liệu
Để cài đặt chương trình thử nghiệm ta cần phải lựa chọn dữ liệu đầu
vào đơn giản và các tham số phù hợp. Trong bài toán này, tôi cho dữ liệu đầu
a =3, b
c= = =1. g
vào là 2 lớp, 2 giáo viên, 4 phòng học, 4 tiết cụ thể và hệ số công thức là
3.3. Kết quả thử nghiệm - Nhập tham số công thức:
Hình 3.4: Nhập tham số công thức cho bài toán thời khóa biểu
- Xếp thời khóa biểu
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hình 3.5: Minh họa kết quả sau khi xếp thời khóa biểu
51
Phần mềm Demo đã chạy ra kết quả là lịch thời khóa biểu, nhưng đang
còn bị xung đột giữa lớp - giáo viên - phòng học. Qua đó, tôi thấy rằng có thể
sử dụng mạng Hopfield để giải bài toán lập thời khóa biểu cho trường đại học
tuy vậy còn nhiều các yếu tố ràng buộc và cần phải dành nhiều thời gian
nghiên cứu kỹ để cho kết quả tối ưu.
3.4. Đánh giá kết quả
Việc cài đặt chương trình mô phỏng hệ thống ứng dụng mạng nơ-ron
Hopfield xếp lịch thời khóa biểu ban đầu cho kết quả khả quan. Tuy nhiên,
việc sử dụng mạng nơ-ron Hopfield để giải bài toán cũng cần được thử
nghiệm nhiều và so sánh với các thuật giải siêu tìm kiếm khác.
Một hạn chế trong luận văn này là khi tiến hành cài đặt thuật giải gặp
phải vô cùng khó khăn do tính trừu tượng trong thuật toán sửa đổi của bài
toán lập thời khóa biểu. Và việc so sánh giữa hai mô hình TT2 và TT3 cần
phải có nhiều thời gian và công sức nghiên cứu tìm tòi hơn nữa.
Trong thời gian làm luận văn, mặc dù đã nỗ lực hết sức trong việc
nghiên cứu tìm tòi trong đó có các tài liệu tiếng anh liên quan và sự giúp đỡ
nhiệt tình của thầy hướng dẫn và bạn bè đồng nghiệp. Song do thời gian có
hạn và còn nhiều hạn chế về mặt kinh nghiệm, kiến thức nên trong quá trình
tìm hiểu luận văn, không thể tránh khỏi những sai sót. Em mong rằng sẽ nhận
được nhiều ý kiến đóng góp của thầy cô và các bạn để luận văn hoàn thiện
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
hơn, và sớm ứng dụng vào thực tế.
52
KẾT LUẬN VÀ ĐỀ NGHỊ
Kết quả đạt được của luận văn
Trong luận văn “ Ứng dụng mạng nơ-ron Hopfield giải bài toán lập thời
khóa biểu“ tôi đã hoàn thành những nhiệm vụ sau:
1. Đã hệ thống cơ sở lý thuyết của mạng nơ-ron nhân tạo, đặc biệt là mạng
nơ-ron Hopfield. Nêu phương pháp ánh xạ mạng nơ-ron lên bài toán tối ưu,
và giới thiệu mạng nơ-ron Hopfield đối với bài toán lập thời khóa biểu.
2. Đã trình bày phát biểu bài toán lập thời khóa biểu và những khó khăn
trong việc lập thời khóa biểu cho trường đại học.
3. Đã nghiên cứu bài toán lập thời khóa biểu dựa trên mạng nơ-ron Hopfield
do tác giả De Verra (1985) đề xuất và hiểu rõ lý thuyết bài toán.
4. Đã cài đặt thử nghiệm thuật giải mạng nơ-ron Hopfield, lựa chọn một mô
hình cụ thể TT2 trên máy tính, kết quả đạt được là phần mềm xếp thời khóa
biểu.
Các định hướng nghiên cứu tiếp theo
Để cho một thời khóa biểu tốt nhất thỏa mãn nhiều ràng buộc phụ
thuộc vào nhiều yếu tố như: về độ lớn bài toán đặt ra, việc chọn lựa các
tham số cho ma trận trọng số là vô cùng cần thiết. Vì vậy hướng nghiên cứu
tiếp theo của luận văn là tìm ra thuật giải cải tiến và phương pháp chọn lựa
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
tham số sao cho bài toán lập thời khóa biểu tìm được là tối ưu.
53
TÀI LIỆU THAM KHẢO
Tiếng Việt
1. Đặng Quang Á, Một cách nhìn về việc sử dụng mạng Hopfield giải các bài
toán thoả mãn ràng buộc và tối ưu có ràng buộc, Báo cáo tại Hội thảo quốc
gia “Một số vấn đề chọn lọc của công nghệ thông tin”, Hải phòng 6/2001.
2. Đặng Quang Á, Ứng dụng của mang nơ ron trong tính toán, Sách “Hệ mờ,
mạng nơ ron và ứng dụng”, Chủ biên: Bùi Công Cường, Nguyễn Doãn
Phước, Nhà XBKH-KT, Hà nội, 2001, 199-211.
3. Bùi Văn Thanh, Bùi Việt Hà, Ứng dụng mô hình bài toán xếp thời khóa
biểu để phát triển phần mềm xếp thời khóa biểu cho trường đại học, cao đẳng,
Báo cáo nghiên cứu, Viện CNTT, 2008.
4. Nguyễn Thị Thanh Huyền, Nguyễn Hồng Hạnh, Vũ Tuyết Trinh, Trần
Đình Khang. Giải thuật di truyền và bài toán lập thời khóa biểu. Tạp chí Khoa
học và Công nghệ các trường Đại học kỹ thuật, 6/2008.
5. KS. Lương Văn Khoa, TS. Lưu Trường Văn, GS. Lê Kiều Mạng, Mạng nơ-
ron nhân tạo (ANNs) và giới thiệu một số nghiên cứu ứng dụng trong quản lý
dự án đầu tư xây dựng, tạp chí kinh tế xây dựng số 2/2006.
Tiếng Anh
6. Y. Takefuji, Neural Network Parallel Computing, Kluwer Acad. Publ.,
1992.
7. Marco Paulo Carrasco and Margarida Vaz Pato, A Comparison of Discrete
and Continuous Neural Network Approaches to Solve the Class/Teacher
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Timetabling Problem, CIO − Working Paper 4/2001,
54
8. Masri Ayob, Salwani Abdullah and Ariff Md Ab Malik, A Practical
Examination Timetabling Problem at the Universiti Kebangsaan Malaysia,
IJCSNS International Journal of Computer Science and Network Security,
VOL.7 No.9, September 2007.
9. Kate A. Smitha, David Abramsonb, David Dukeb, Hopfield neural
networks for timetabling: formulations, methods, and comparative results,
Computers & Industrial Engineering 44 (2003) 283–305.
10. http://www.grupet.at/en/downloads/demoversion/demoversion.php
11. http://www.mimosasoftware.com/company2.html
12. Salwani Abdullah, Heuristic approaches for university timetabling problems, The Scholl of Computer Science and Information Technology, June 2006
13. J. Hertz, A. Krogh, R. G. Palmer, Introduction to the Theory of Neural
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Computation, Addison-Wesley, 1991.
55
PHỤ LỤC
// Mã lệnh chính chương trình cài đặt thử nghiệm “ Ứng dụng mạng nơ-ron
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Hopfield.TT2 { public class Calculation { private int iCountI; private int iCountJ; private int iCountK; private int iCountL; private float fAlpha; private float fGamma; private float fBeta; private float fLama; private int iDescentNumber; private int iNeuralNumber; private float[,,,] arrU; private float[,,,] arrV; private float[,,,] arrI; private float[,,,] arrDelta; private float[,,,,,,,] arrW; private int[,] arrKroneckerDelta; private float[, , ] arrR; public Calculation(int i, int j, int k, int l,float alpha,float beta,float gamma, float lama, int neural, int descent) { CountI = i; CountJ = j; CountK = k; CountL = l; fAlpha = alpha; fBeta = beta; fGamma = gamma; fLama = lama;
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hopfield giải bài toán thời khóa biểu”
iNeuralNumber = neural;
iDescentNumber = descent;
U = new float[CountI,CountJ,CountK,CountL];
V = new float[CountI, CountJ, CountK, CountL];
I = new float[CountI, CountJ, CountK, CountL];
W = new float[CountI, CountJ, CountK, CountL,
CountI, CountJ, CountK, CountL];
arrDelta = new float[CountI, CountJ, CountK,
CountL];
arrKroneckerDelta = new int[CountI + CountJ +
CountK + CountL, CountI + CountJ + CountK + CountL];
R = new float[CountI, CountJ, CountK];
#region Private methods
private void KhoiTaoKroneckerDelta()
{
for (int i = 0; i < CountI + CountJ + CountK +
CountL; i++)
{
for (int j = 0; j < CountI + CountJ + CountK
+ CountL; j++)
{
if (i == j)
{
arrKroneckerDelta[i, j] = 1;
}
else
{
arrKroneckerDelta[i, j] = 0;
}
}
}
}
private void KhoiTaoU()
{
Random r = new Random();
for (int i=0;i Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 56 }
}
}
}
}
private void ChuanHoaU()
{
for (int i = 0; i < CountI; i++)
{
for (int j = 0; j < CountJ; j++)
{
for (int k = 0; k < CountK; k++)
{
for (int l = 0; l < CountL; l++)
{
if (arrU[i, j, k, l] >=0)
{
arrU[i, j, k, l] = 1;
}
else
{
arrU[i, j, k, l] = 0;
}
}
}
}
}
}
private void KhoiTaoV()
{
for (int i = 0; i < CountI; i++)
{
for (int j = 0; j < CountJ; j++)
{
for (int k = 0; k < CountK; k++)
{
for (int l = 0; l < CountL; l++)
{
arrV[i, j, k, l] =
TinhG(i,j,k,l);
}
}
}
}
}
private void TinhI()
{
for (int i = 0; i < CountI; i++) Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 57 {
for (int j = 0; j < CountJ; j++)
{
for (int k = 0; k < CountK; k++)
{
for (int l = 0; l < CountL; l++)
{
arrI[i, j, k, l] = arrR[i, j,
k]*fAlpha;
}
}
}
}
}
private int TinhG(int i, int j, int k, int l)
{
if (arrU[i,j,k,l]>0)
{
return 1;
}
return 0;
} private float TinhW(int i, int j, int k, int l) {
float fResult = 0;
for (int i1 = 0; i1 < CountI; i1++)
{
for (int j1 = 0; j1 < CountJ; j1++)
{
for (int k1 = 0; k1 < CountK; k1++)
{
for (int l1 = 0; l1 < CountL; l1++)
{
arrW[i,j,k,l,i1,j1,k1,l1] = (-
1)*fAlpha*arrKroneckerDelta[i, i1]*arrKroneckerDelta[j,
j1]*arrKroneckerDelta[k, k1] -
fBeta*arrKroneckerDelta[i, i1]*(1 - arrKroneckerDelta[j,
j1])*(1 - arrKroneckerDelta[k, k1])*arrKroneckerDelta[l, l1]
-
fLama*(1 - arrKroneckerDelta[i, i1])*arrKroneckerDelta[j,
j1]*(1 - arrKroneckerDelta[k, k1])*arrKroneckerDelta[l, l1] -
fGamma*(1 - arrKroneckerDelta[i, i1])*(1 - Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 58 arrKroneckerDelta[j, j1])*arrKroneckerDelta[k,
k1]*arrKroneckerDelta[l, l1];
fResult += arrW[i, j, k, l, i1,
j1, k1, l1];
}
}
}
}
return fResult;
}
private float TinhDeltaV(int i, int j, int k, int l)
{
float fTemp = 0;
for (int i1 = 0; i1 < CountI; i1++)
{
for (int j1 = 0; j1 < CountJ; j1++)
{
for (int k1 = 0; k1 < CountK; k1++)
{
for (int l1 = 0; l1 < CountL; l1++)
{
fTemp += arrW[i, j, k, l, i1, j1,
k1, l1]*V[i1, j1, k1, l1] ;
}
}
}
}
if (fTemp + I[i, j, k, l] >= 0 && arrV[i, j, k,
l] == 0)
{
return 1;
}
if (fTemp + I[i, j, k, l] <= 0 && arrV[i, j, k,
l] == 1)
{
return -1;
}
return 0;
}
#endregion
public void TT2()
{
float fCondition = -1;
KhoiTaoU();
KhoiTaoV();
TinhI(); Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 59 KhoiTaoKroneckerDelta();
for (int m = 0; m < iDescentNumber; m++)
{
for (int n = 0; n < iNeuralNumber;n++ )
{
fCondition = 0;
for (int i = 0; i < CountI; i++)
{
for (int j = 0; j < CountJ; j++)
{
for (int k = 0; k < CountK; k++)
{
for (int l = 0; l < CountL;
l++)
{
arrU[i, j, k, l] =
TinhW(i, j, k, l) * arrV[i, j, k, l] + arrI[i, j, k, l];
arrV[i, j, k, l] =
TinhG(i, j, k, l);
arrDelta[i, j, k, l] =
TinhDeltaV(i, j, k, l);
arrV[i, j, k, l] +=
arrDelta[i, j, k, l];
fCondition += arrDelta[i,
j, k, l];
}
}
}
}
ChuanHoaU();
}
}
}
}
} Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 60