Luận văn Xây dựng chế độ dinh dưỡng tại trường mầm non bằng logic mờ kết hợp mạng neural và máy học
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA TOÁN – TIN HỌC
BỘ MÔN ỨNG DỤNG TIN HỌC
Digitally signed by Pham The Bao
DN: CN = Pham The Bao, C = VN
Reason: I am the author of this
document
Date: 2006.08.03 15:38:13 +07'00'
Pham The
Bao
XÂY DỰNG CHẾ ĐỘ DINH DƯỠNG
TẠI TRƯỜNG MẦM NON BẰNG
LOGIC MỜ KẾT HỢP MẠNG
NEURAL VÀ MÁY HỌC
Giáo viên hướng dẫn : Thạc sĩ Phạm Thế Bảo.
Sinh viên thực hiện :
1. Phạm Thị Xuân Viên
2. Đặng Trần Vũ
3. Bùi Thanh Xuân
0211303
0211313
0211316
TP.Hồ Chí Minh, Tháng 7/2006
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
.......................................................................................................................................................................................................
Tp. Hồ Chí Minh, ngày ...... tháng ...... năm 2006
Giáo viên hướng dẫn
Th.S. Phạm Thế Bảo
2
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
LỜI CẢM ƠN
Chúng em xin bày tỏ lòng biết ơn sâu sắc đến Th.S Phạm Thế Bảo, dù rất bận rộn
nhưng thầy luôn quan tâm và tận tình hướng dẫn cho chúng em trong suốt quá trình thực
hiện luận văn ; thầy đã giúp đỡ chúng em rất nhiều trong quá trình học tập và gợi mở cho
chúng em đến với đề tài này.
Chúng em chân thành cảm ơn thầy Phạm Thi Vương và thầy Nguyễn Hiền Lương,
các thầy đã giúp đỡ chúng em rất nhiều trong quá trình thực hiện đề tài và cung cấp cho
chúng em nhiều tài liệu tham khảo có giá trị để chúng em thực hiện tốt khóa luận này.
Xin chân thành cám ơn quý Thầy Cô trong khoa Toán – Tin học đã tận tình giảng
dạy, trang bị cho chúng em những kiến thức quý báu trong suốt quá trình học tập và thực
hiện đề tài.
Cuối cùng xin chân thành cám ơn anh Phan Phúc Doãn và các bạn cùng lớp đã có
những ý kiến đóng góp bổ ích giúp chúng em hoàn thành luận văn..
Tp Hồ Chí Minh, ngày 10/7/2006
3
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
MỤC LỤC
Trang
Lời Cảm Ơn
Mục Lục
Danh Mục Bảng Biểu, Hình Ảnh
Bảng Ký Hiệu Các Chữ Viết Tắt
3
4
5
6
Chương 1 TỔNG QUAN
1.1 Đặt vấn đề ………………………………………………………………
1.2 Các hướng giải quyết trong AI …………………………………………
1.3 Lý do sử dụng FL …………………………….…………………………
1.4 Kết hợp FL với các kỹ thuật AI khác ………………..…………………..
9
9
18
19
Chương 2 CƠ SỞ LÝ THUYẾT
2.1 Logic mờ
2.1.1 Tập mờ ……………………………………………………………. 22
2.1.2 Hàm thành viên …………………………………………………… 24
2.1.3 Toán tử tập mờ ……………………………………………….
28
2.1.4 Luật mờ …………………………………………………………… 40
2.1.5 Hệ thống vào/ra…………………………………………………… 42
2.1.6 Mô hình suy luận mờ ……………………………………………… 44
2.1.7 Khử mờ ……………………………………………………………. 48
2.1.8 Hệ thống mờ - bộ điều khiển mờ …………………………………… 49
2.1.9 Cách lựa chọn logic mờ cho từng hệ thống xây dựng …………… 52
2.2 Khái quát về máy học……….……………………………….………………. 54
2.3 Khái quát về mạng neural..……………………………………… ……………..57
Chương 3 XÂY DỰNG THUẬT GIẢI
3.1 Quy định chế độ dinh dưỡng trẻ em ……………………………………….
63
3.2 Nguyên tắc và các bước xây dựng thực đơn ở trường mầm non…………… 63
3.3 Xây dựng tập mờ và hàm thành viên…….….……………………………..
3.4 Xây dựng bộ lọc mờ bằng kỹ thuật máy học …………………………….
3.5 Mạng neural kết hợp hệ mờ phát sinh luật
66
75
và điều chỉnh trọng số…………………………………………..…………
81
Chương 4 CÀI ĐẶT VÀ ĐÁNH GIÁ
4.1 Cài đặt ……………………………………………………………………….
4.1.1 Phân tích – Thiết kế……………………………………………….. 86
4.1.2 Mô hình……………………………………………………………. 94
4. 2 Đánh giá và hướng phát triển ………………………………………….…… 99
Tài liệu tham khảo
101
4
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
DANH MỤC BẢNG BIỂU, HÌNH ẢNH
Trang
18
22
Hình 1-1 . Các bước giải quyết một vấn đề
Hình 2-1 . Hệ thống mờ và nền tảng kiến thức liên quan
Hình 2-2 . Ví dụ minh họa đồ thị hàm thành viên
Hình 2-3 . Đường biểu diễn của hàm đặc trưng và hàm thành viên của tập
những người cao
Hình 2-4 . Hàm S tăng
Hình 2-5 . Hàm dạng chuông
Hình 2-6 . Sử dụng toán tử hội mờ
Hình 2-7 . Sử dụng toán tử giao mờ
24
25
26
26
28
28
29
32
33
34
34
35
36
37
37
38
39
42
43
Hình 2-8 . Toán tử bù mờ
Hình 2-9 . Các toán tử AND và OR
Hình 2-10 . Bốn toán tử t-norm chuẩn
Hình 2-11 . Ví dụ về bốn toán tử t-norm chuẩn.
Hình 2-12 . Toán tử t-norm Nilpotent Minimum
Hình 2-13 . Toán tử t-norm thuộc họ Frank
Hình 2-14 . Toán tử t-norm thuộc Họ Hamacher
Hình 2-15 . Toán tử t-norm thuộc Họ Schweizer-Sklar
Hình 2-16 . Toán tử t-norm thuộc Họ Yager
Hình 2-17 . Bốn toán tử t-conorm S chuẩn
Hình 2-18 . Ví dụ về bốn toán tử t-conorm chuẩn
Hình 2-19 . Phân nhóm các bộ điều khiển theo số tín hiệu vào ra
Hình 2-20 . Luật hợp thành là bộ não của điều khiển mờ
Hình 2-21 . Hàm thành viên cho biến ngôn ngữ đầu vào có giá trị
small, medium và large
Hình 2-22 . Hàm thành viên cho biến đầu ra có giá trị small, medium và large
Hình 2-23 . Hàm thành viên cho “Small” , “Medium” và “Large”
Hình 2-24 . Cấu trúc của hệ thống mờ chuẩn
Hình 2-25 . Cấu trúc của bộ xử lý mờ kết hợp khâu giải mờ và khử mờ
Hình 2-26 . Cấu trúc của một bộ điều khiển mờ
Hình 2-27 . Bộ điều khiển mờ cổ điển (Hình a)
và bộ điều khiển mờ phân tán (Hình b)
Bảng 2-28 . So sánh mạng neural và bộ điều khiển mờ
Hình 3-1. Factor “lượng calo” đối với nhóm nhà trẻ
Hình 3-2. Factor lượng calo đối với nhóm mẫu giáo
Hình 3-3. Factor “tỉ lệ protein” đối với chuẩn một
Hình 3-4. Factor “tỉ lệ lipit” đối với chuẩn một
Hình 3-5. Factor “tỉ lệ gluxit” đối với chuẩn một
Hình 3-6. Factor “tỉ lệ protein” đối với chuẩn hai
Hình 3-7. Factor “tỉ lệ lipit” đối với chuẩn hai
Hình 3-8. Factor “tỉ lệ gluxit” đối với chuẩn hai
Hình 3-9. Mô hình bộ điều khiển mờ thứ nhất
Hình 3-10 Mô hình bộ điều khiển mờ thứ hai
Hình 3-11. Factor “tỉ lệ dinh dưỡng”
45
45
47
49
50
50
51
60
69
69
70
70
71
71
72
72
73
73
74
74
Hình 3-12. Factor “giá tiền”
5
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
Hình 3-13. Factor “độ dùng lại”
Hình 3-14. Phân khoảng giá trị mẫu
75
79
80
81
87
88
89
90
91
92
93
94
95
96
96
97
97
98
98
99
Hình 3-15. Sử dụng dữ liệu mẫu để xây dựng cây quyết định
Hình 3-16. Sử dụng cây quyết định để lọc dữ liệu
Hình 4-1. Giao diện chính của chương trình.
Hình 4-2. Sắp lịch ăn trưa trong một tuần.
Hình 4-3. Sắp lịch ăn trưa trong một tháng.
Hình 4-4. Hiển thị các danh sách các món ăn trong một ngày.
Hình 4-5. Hiển thị danh sách các món ăn trong một tuần
Hình 4-6. Hiển thị danh sách các món ăn trong một tháng.
Hình 4-7. Báo cáo chi tiết của một bữa ăn trưa trong ngày.
Hình 4-8. Mô hình ERD
Hình 4-9. Mô hình DFD
Hình 4-10. Chi tiết ô xử lý “xếp lịch”
Hình 4-11. Chi tiết ô xử lý “cập nhật món ăn”
Hình 4.12. Chi tiết ô xử lý “cập nhật nguyên liệu”
Hình 4-13. Chi tiết ô xử lý “in ấn, báo cao”
Hình 4-14. Chi tiết ô xử ly “tra cứu”
Hình 4-15. Chi tiết ô xử lý “quản lý hệ thống”
Hình 4-16. Mô hình ràng buộc dữ liệu
6
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
BẢNG KÍ HIỆU CÁC CHỮ VIẾT TẮT
FL
MF
χ
Fuzzy Logic
Member function
Logic mờ
Hàm thành viên
Hàm đặc trưng
µ
Hàm thành viên
X
Không gian nền
A,B,…
x,y,…
AI
Các tập mờ
các biến ngôn ngữ
Trí tuệ nhân tạo
Artificial Intelligence
The third in a series
of identification
ID3
Thuật toán cây quyết đinh ID3
ERD
Entity Relationship
Diagrams
Mô hình thực thể quan hệ
DFD
ANFIS
Data Flow Diagrams
Adaptive Network Based
Fuzzy Inference System
Multi Input – Multi Output
Single Input – Single Output Bộ điều khiển mờ
Multi Input – Single Output Bộ điều khiển mờ
Tagagi – Sugeno
Mean Of Maximum
Center Of Area
Sơ đồ luồng dữ liệu
Hệ mờ thích nghi
MIMO
SISO
MISO
TS
MOM
COA
Bộ điều khiển mờ
Mô hình suy luận mờ
Phương pháp khử mờ điểm cực đại
Phương pháp khử mờ điểm trọng tâm
7
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
Chương 1
TỔNG QUAN
1.1 Đặt vấn đề
1.2 Các hướng giải quyết trong AI
1.2.1. Các phương pháp tìm kiếm
1.2.1.1. Các phương pháp tìm kiếm cổ điển
1.2.1.2. Các phương pháp tìm kiếm trên đồ thị
1.2.2. Thuật toán di truyền
1.2.3. Mạng neural
1.2.4. Khai khoáng dữ liệu
1.2.5. Máy học
1.2.6. Logic mờ
1.3 Lý do sử dụng FL
1.4 Kết hợp FL với các kỹ thuật AI khác
8
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
1.1.Đặt vấn đề
Hiện nay tại các trường mầm non, xây dựng khẩu phần ăn cho các bé chủ yếu được
thực hiện bằng tay (thủ công), việc này thường mất thời gian và độ đa dạng của các bữa ăn
là thấp hoặc không đảm bảo về chế độ dinh dưỡng. Chỉ ở vài trường qui mô lớn thì có
thêm sự hỗ trợ của một số hệ thống bán tự động hoặc tự động.
Trong nước hiện có phần mềm Babyfood do công ty Đạt An thực hiện, và phần mềm
Nutrikids đang được khuyến khích sử dụng, trợ giúp việc sắp xếp bữa ăn cho các bé, tuy
nhiên các hệ thống này không thực hiện hoàn toàn tự động mà vẫn phải thông qua khâu xử
lý bằng tay của con người. Hệ thống Nutrikids của Công ty cổ phần mạng trực tuyến Việt
Sin có thêm hệ thống thiết lập dưỡng chất , thiết lập các bữa ăn ngẫu nhiên từ các món ăn
có trong cơ sở dữ liệu phong phú, nhưng không chú trọng đến vấn đề món ăn đó đã được
sử dụng khi nào, hay các món ăn có kỵ nhau, một số thiết lập về dinh dưỡng không thể
thay đổi, không dùng các kỹ thuật AI và việc sắp xếp khẩu phần ăn tại trường mầm non
vẫn do người sắp xếp lịch ăn tại trường thực hiện thủ công lại. Giá của bộ phần mềm
Nutrikids của Việt Sin là 990.000VNĐ
Nước ngoài thì có phần mềm tự động Nutrikids, nhưng có giá khá cao: bốn module,
mỗi module có giá khoảng 250-300USD, và được xây dựng trên nền tảng chế độ dinh
dưỡng của trẻ phương Tây nên không phù hợp.
Trong khi đó vấn đề tin học hoá ở các trường mầm non đang được mở rộng và
khuyến khích phát triển, từ chương trình dạy học cho tới dinh dưỡng của trẻ. Do đó việc
phát triển một hệ thống dinh dưỡng tự động mới, phù hợp cho các trường mầm non trong
nước là cần thiết và khả thi.
Đề tài được thực hiện với một số mục đích sau:
•
Sắp tự động lịch ăn trưa cho trẻ mầm non trong một tháng với lượng dinh
dưỡng phù hợp trong từng ngày, có độ dùng lại thấp, không có các món ăn
kỵ nhau.
•
Hỗ trợ nhà trường trong việc tính toán lại những thay đổi của khẩu phần ăn
có liên quan (chẳng hạn, nếu giá cả thay đổi thì việc tính toán lại giá của
từng khẩu phần ăn liên quan và cơ chế cho phép điều chỉnh quá trình sắp
xếp là hết sức cần thiết)
•
•
Giúp cho người quản lý dễ dàng in ra bảng chi tiết nguyên liệu (kèm theo
giá cả ) cho bộ phận nấu ăn, cũng như kiểm tra, lập báo cáo hàng tuần ,
hàng tháng.
Giúp tra cứu bảng dinh dưỡng các chất, xem cách thức chế biến món ăn…
1.2 Các hướng giải quyết trong AI
1.2.1 Các phương pháp tìm kiếm:
1.2.1.1 Các phương pháp tìm kiếm cổ điển
Trong phương pháp này, chúng ta chọn một khẩu phần ăn, sau đó
tiến hành so sánh khẩu phần này với các khẩu phần còn lại. Nếu khẩu phần
nào đó tốt hơn, tức là khẩu phần mới đáp ứng tốt hơn với các điều kiện như
9
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
điều kiện về calo, về tỉ lệ cân bằng các chất dinh dưỡng … đồng thời thỏa
các điều kiện biên và/hoặc có chi phí nhỏ hơn,…thì chúng ta sẽ thay thế
khẩu phần ban đầu bằng khẩu phần mới và quá trình sẽ lặp lại cho đến khi
chúng ta duyệt qua toàn bộ không gian tìm kiếm.
Chúng ta cần xác định trước không gian tìm kiếm, tức là không gian
khẩu phần ăn. Đồng thời chúng ta cũng phải xác định được các tiêu chí hay
các quy tắc cho phép so sánh, đối chiếu để có thể xác định được khẩu phần
nào tốt hơn khẩu phần nào.
Ưu điểm:
Nếu xác định được các tiêu chí so sánh tốt, phương pháp này sẽ cho
kết quả tối ưu nhất có trong không gian các khẩu phần ăn.
Hạn chế:
Việc tìm kiếm trên không gian khẩu phần ăn sẽ gây ra hiện tượng
bùng nổ tổ hợp. Ví dụ, nếu chúng ta chỉ dùng ba món trong một khẩu phần
ăn thì không gian mẫu sẽ bao gồm n3 mẫu với n là số món trong cùng một
loại (canh, mặn, tráng miệng). Ví dụ, mỗi loại có 5 món ăn, khi đó không
gian mẫu chúng ta có sẽ là 53 = 125; nếu mỗi loại tăng thêm một món ăn,
không gian mẫu sẽ trở thành 63 = 226 . Rõ ràng, khi n lớn, việc tìm kiếm sẽ
rất tốn kém. Nếu một khẩu phần không chỉ có ba món mà có thể dao động
từ ba đến năm món thì việc tìm kiếm sẽ càng khó khăn hơn.
Việc xác định các tiêu chí đánh giá để xác định một khẩu phần ăn tốt
hơn một khẩu phần khác hay không là một vấn đề lớn. Mỗi món ăn bao
gồm rất nhiều thành phần nên một khẩu phần ăn cũng sẽ có rất nhiều thành
phần. Các khẩu phần ăn lại phải thỏa mãn nhiều điều kiện khác nhau về
dinh dưỡng (calo, chất đạm, …), về tỉ lệ cân bằng giữa các chất, về giá cả,
về độ ưa thích... Do vậy, việc xác định một khẩu phần thỏa mãn tất cả điều
kiện tốt hơn khẩu phần khác là không dễ dàng. Việc so sánh sẽ càng trở nên
phức tạp và nhiều khi không thể thực hiện được nếu các điều kiện này đan
xen nhau, trái ngược lẫn nhau.
Việc có nhiều điều kiện làm tăng chi phí thực hiện so sánh và tăng
thời gian tìm kiếm.
1.2.1.2 Các phương pháp tìm kiếm trên đồ thị
Chúng ta có thể xây dựng cây trạng thái từ các món ăn. Các cây
được xây dựng trên các tiêu chí định trước như các món trong một nút (hoặc
trong các nút có nối với nhau) không được kỵ nhau (điều kiện biên) hay
lượng calo phải nằm trong khoảng nào đó (điều kiện dinh dưỡng). Ngoài ra,
chúng ta có thể áp dụng một số luật để cây không cao quá như giới hạn số
calo, giới hạn số món ăn…
Ưu điểm:
Việc xây dựng cây tốt sẽ làm giảm đáng kể kích thước của không
gian tìm kiếm. Hạn chế việc bùng nổ tổ hợp và loại bỏ các khẩu phần không
thỏa các điều kiện nào đó. Điều này làm cho việc tìm kiếm trên cây sẽ thực
hiện nhanh hơn rất nhiều so với các phương pháp tìm kiếm cổ điển. Việc
10
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
xây dựng cây chỉ cần thực hiện một lần và sau này nếu có thêm một món
mới chúng ta chỉ cần cập nhật lại cây mà không phải xây dựng lại từ đầu.
Khuyết điểm:
Tương tự việc xác định tiêu chí so sánh trong các phương pháp tìm
kiếm cổ điển, việc xác định tiêu chí để xây dựng cây cũng rất khó khăn vì
có nhiều điều kiện dinh dưỡng và điều kiện biên. Ngoài ra, các cây chỉ có
thể cho kết quả đúng (tức là thỏa các điều kiện) chứ ít khi xác định được các
kết quả tối ưu.
Việc xây dựng cây (phụ thuộc vào các tiêu chí xây dựng cây) nếu
thực hiện không tốt sẽ ảnh hưởng lớn đến các thuật toán áp dụng sau này.
Chất lượng cây sẽ quyết định chất lượng của chương trình.
Nếu cây lớn, thời gian tìm kiếm sẽ lâu hơn và sẽ xảy trường hợp một
số khẩu phần hoặc món ăn sẽ không bao giờ được sử dụng
1.2.2 Thuật toán di truyền
Ý tưởng chính của thuật toán này xuất phát từ thế giới tự nhiên, các sinh vật
sinh trưởng và phát triển. Đến một giai đoạn nào đó, chúng thực hiện giao phối và
sinh sản. Quá trình giao phối và sinh sản luôn xuất hiện hai hiện tượng là di truyền và
biến dị. Hiện tượng di truyền cho phép thế hệ sau tốt (có khả năng thích nghi) giống
thế hệ trước (tức là chí ít cũng không làm xấu đi khả năng thích nghi của loài). Còn
hiện tượng biến dị sẽ tạo ra các cá thể có khả năng mới. Nếu khả năng mới là tốt hơn
(tức khả năng thích nghi của cá thể đó cao hơn) thì nó sẽ được truyền lại cho các cá
thể khác ở thế hệ sau. Nếu khả năng mới là xấu hơn (tức khả năng thích nghi kém
hơn) thì khả năng truyền lại cho các cá thể của sau sẽ ít hơn (chứ không phải là
không có). Và dần dần, trong quá trình chọn lọc tự nhiên, các đặc tính hạn chế khả
năng thích nghi của loài sẽ được loại bỏ hoặc thay thế bằng các đặc tính mới tốt hơn.
Tương tự, thuật toán di truyền coi các mẫu hay các khẩu phần ăn trong bài
toán của chúng ta là các nhiễm sắc thể, các nhiễm sắc thể sẽ được lai ghép với nhau
để tạo ra các nhiễm sắc thể mới, đồng thời một số gen trong quá trình lai ghép bị đột
biến cũng tạo thành các nhiễm sắc thể mới. Cuối cùng quá trình chọn lọc tự nhiên sẽ
loại bỏ các nhiễm sắc thể có khả năng thích nghi kém ra khỏi quần thể.
Biểu diễn các khẩu phần dưới dạng các nhiễm sắc thể
Việc biểu diễn các khẩu phần dưới dạng các nhiễm sắc thể ảnh hưởng lớn đến
việc cài đặt các phép toán như lai ghép hay đột biến. Trong thuật toán di truyền,
chúng ta có thể biểu diễn các nhiễm sắc thể như một chuỗi nhị phân gồm n bit. Trong
bài toán xếp lịch các bữa ăn trưa, trong mỗi loại (canh, mặn, tráng miệng), chúng ta
biểu diễn mỗi món ăn là một chuỗi nhị phân gồm n bit, với n là số bit ít nhất có thể
dùng để biểu diễn được tất cả món ăn. Ví dụ, giả sử có mười món canh, chúng ta xác
định n theo công thức n ≥ log2 10 ≈ 3.3, suy ra n=4. Tương tự, có hai mươi món mặn
thì chúng ta cần n=5 bit; có năm món tráng miệng, cần ba bit để biểu diễn. Cần chú ý
là số món trong mỗi loại có thể khác nhau nên số bit dùng cho mỗi loại có thể không
giống nhau.
Sau khi xác định số bit cần để biểu diễn các món cho mỗi loại, chúng ta đặt
các chuỗi bit cạnh nhau theo thứ tự xác định trước để biểu diễn các nhiễm sắc thể.
Chẳng hạn, chúng ta đặt các chuỗi theo thứ tự canh, mặn và tráng miệng. Lấy lại ví
11
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
dụ trên, chúng ta biểu diễn một nhiễm sắc thể như sau aaaabbbbbccc với các bit a
dành cho món canh, b dành cho mặn và c cho tráng miệng.
Ngoài cách biểu diễn bằng chuỗi nhị phân, chúng ta cũng có thể biểu diễn các
khẩu phần ăn như một chuỗi n số nguyên, với n là số loại món ăn. Trong bài toán của
chúng ta, n có giá trị là 3. Trong mỗi loại, chúng ta gán cho mỗi món ăn một số duy
nhất, và thông thường các số được gán là các số nguyên dương và cách nhau 1 đơn
vị. Tiếp tục ví dụ trên, chúng ta gán mười món canh các giá trị từ 0 đến 9, hai mươi
món mặn các giá trị từ 0 đến 19, và 0 đến 4 cho các món tráng miệng. Và chúng ta
cũng đặt các số cạnh nhau theo thứ tự xác định trước để biểu diễn nhiễm sắc thể.
Theo ví dụ trên, nhiễm sắc thể có dạng như sau abc với a là số gán cho món canh, b
cho món mặn và c cho tráng miệng.
Lai ghép
Lai ghép là phép toán thực hiện lai ghép hai nhiễm sắc thể (hay hai khẩu phần
ăn) với nhau để tạo ra các nhiễm sắc thể (khẩu phần ăn) mới tốt hơn hay có khả năng
thích nghi cao hơn (đáp ứng tốt hơn với các điều kiện). Với một xác xuất lai k cho
trước, chúng ta tiến hành chọn các cặp nhiễm sắc thể (khẩu phần) và thực hiện lai
ghép. Tùy thuộc vào việc biểu diễn các nhiễm sắc thể (hay khẩu phần) mà chúng ta
có các phép lai khác nhau.
Ví dụ: tiếp tục với ví dụ ban đầu, giả sử chúng ta có hai nhiễm sắc thể:
aaaabbbbbccc và eeeeggggghhh. Chúng ta tiến hành lai ghép. Giả sử vị trí lai ghép
được xác định là vị trí thứ sáu từ trái qua, sau khi lai ghép, chúng ta được hai nhiễm
sắc thể mới là aaaabgggghhh và eeeegbbbbccc.
Một vấn đề cần quan tâm trong phép lai là chúng ta cần kiểm tra các chuỗi
biểu diễn các nhiễm sắc thể có hợp lệ hay không. Chẳng hạn, chúng ta chỉ gán các số
từ 0 đến 9 cho các món canh, sau khi thực hiện phép lai, số biểu diễn món canh trong
nhiễm sắc thể có thể có giá trị lớn hơn 9. Nếu xảy ra trường hợp đó, chúng ta cần
thực hiện điều chỉnh cho phù hợp.
Đột biến
Đột biến cũng là một phép toán quan trọng trong thuật toán di truyền. Tùy
vào việc biểu diễn nhiễm sắc thể mà chúng ta có các cài đặt khác nhau cho phép toán
này. Tương tự như lai ghép, phép đột biến cũng căn cứ vào xác xuất đột biến để xác
định nhiễm sắc thể nào đột biến. Phép toán này cũng nhằm tạo ra nhiễm sắc thể có độ
thích nghi cao hơn.
Ví dụ, giả sử nhiễm sắc thể 001110001001 được chọn để tiến hành đột biến
và vị trí đột biến được xác định là bit đầu tiên tính từ trái. Sau khi đột biến, chúng ta
thu được nhiễm sắc thể 10110001001.
Trong ví dụ trên, ta thấy chuỗi bit biểu diễn món canh 1011 có giá trị là 11,
nên chuỗi này không có món tương ứng với nó. Chính vì vậy chúng ta cũng cần có cơ
chế kiểm tra và xử lý các trường hợp không hợp lệ.
Chọn lọc
Quá trình chọn lọc là quá trình chọn những nhiễm sắc thể (khẩu phần) có khả
năng thích nghi cao và loại bỏ các nhiễm sắc thể (khẩu phần) có độ thích nghi thấp
hơn. Tương tự như hai phép toán trên, việc cài đặt phép toán này cũng phụ thuộc vào
cách biểu diễn các nhiễm sắc thể. Phép toán này thực hiện ước lượng khả năng thích
nghi của các cá thể trong quần thể thông qua một hàm đánh giá. Các cá thể có độ
12
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
thích nghi cao nhất sẽ được giữ lại và một chu kỳ hay một thế hệ mới sẽ ra đời. Thế
hệ mới này cũng trải qua qua trình chọn lọc tự nhiên và cứ thế cho đến khi chúng ta
thu được các cá thể (nhiễm sắc thể) tối ưu hay có khả năng thích nghi cao nhất.
Hàm đánh giá
Hàm được sử dụng để ước lượng độ thích nghi của các nhiễm sắc thể hay
được dùng để đánh giá các khẩu phần ăn xem khẩu phần nào tốt hơn khẩu phần nào.
Chúng ta phải xác định các tiêu chí để đánh giá. Thường hàm này trả về một giá trị số
cho biết “độ tốt” của một khẩu phần ăn.
Tỉ lệ lai
Tỉ lệ lai thể hiện kỳ vọng về số cá thể trong quần thể sẽ được chọn để lai với
nhau. Tỉ lệ lai thường dùng là 33%
Tỉ lệ đột biến
Tỉ lệ đột biến thể hiện kỳ vọng về số cá thể trong quần thể sẽ tạo ra đột biến
trong quá trình sinh sản. Tỉ lệ đột biến thường dùng là 0.01% (Các tỉ lệ này có được
trong thực nghiệm và tự nhiên)
Số cá thể trong quần thể hay số khẩu phần ăn trong một tập các khẩu phần
Số lượng cá thể (khẩu phần) trong quần thể (tạp các khẩu phần) sẽ được duy
trì từ thế hệ này sang thế hệ khác. Số lượng cá thể (khẩu phần) càng nhiều thì việc xử
lý càng tốn kém. Số lượng cá thể (khẩu phần) ít thì việc xác định nhiễm sắc thể (khẩu
phần) tối ưu có thể cần nhiều chu kỳ (thế hệ) hơn mới có thể xác định được
Số thế hệ
Số lần sinh sản của một quần thể
Ưu điểm
Rõ ràng, với bài toán xác định khẩu phần, thuật toán di truyền cho phép hạn
chế hay thu nhỏ không gian tìm kiếm. Thuật toán chỉ tập trung vào những vùng
không gian mà khả năng xuất hiện món ăn “tốt”, tức là thỏa mãn tốt các điều kiện, là
nhiều nhất. Phép lai ghép cho phép tiến gần đến khẩu phần tốt hơn và phép đột biến
sẽ chuyển việc tìm kiếm đến vùng không gian khác có nhiều khả năng chứa khẩu
phần “tốt” khác.
Thông qua hàm đánh giá, chúng ta có thể biết được khẩu phần nào tốt nhất
trong các khẩu phần có được mà không phải trực tiếp so sánh chúng với nhau. Điều
này có thể làm giảm tính phức tạp của việc so sánh hay chọn lựa giữa các khẩu phần
Thuật toán luôn đảm bảo sẽ tìm được khẩu phần tốt, nhưng không phải là tối
ưu, sau số thế hệ được xác định trước. Nếu số thế hệ đủ lớn (đồng nghĩa với thời gian
thực hiện lâu hơn), chúng ta có thể nhận được các khẩu phần gần tối ưu.
Khuyết điểm
Tuy thuật toán luôn cho ra khẩu phần “tốt” nhưng không đảm bảo đó là khẩu
phần tối ưu. Độ “tốt” của khẩu phần phụ thuộc vào số thế hệ và số cá thể trong quần
thể (số khẩu phần trong tập các khẩu phần) cũng như việc biểu diễn các nhiễm sắc
thể (khẩu phần).
13
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
Việc biểu diễn các khẩu phần trong trong thuật toán di truyền thường có định
dạng cố định. Chính vì vậy chúng ta không thể có đồng thời các khẩu phần có ba
món và khẩu phần có bốn món trong cùng một thuật toán di truyền. Điều này hạn chế
khả năng của chương trình vì chỉ cho phép số lượng món cố định, trong khi thực tế
có thể thay đổi tùy theo các điều kiện khác nhau. Ngoài ra, việc thay đổi cách biểu
diễn có thể dẫn đến việc phải viết lại toàn bộ chương trình. Điều này làm hạn chế khả
năng mở rộng của chương trình.
Thời gian thực hiện của thuật toán cũng là một vấn đề. Tuy so với các phương
pháp tìm kiếm thì thuật toán di truyền thực hiện nhanh hơn, nhưng nếu phải trải qua
rất nhiều thế hệ mới xác định được khẩu phần ăn “tốt” thì sẽ rất tốn kém.
Việc xây dựng hàm đánh giá cũng phải được quan tâm. Làm thế nào để xây
dựng các tiêu chí đánh giá, tiêu chí nào là quan trọng và tiêu chí nào ít quan trọng
hơn,… Các tiêu chí sẽ ảnh hưởng rất lớn đến thuật toán vì nó quyết định các vùng mà
thuật toán cần tập trung tìm kiếm. Chỉ cần đánh giá sai các tiêu chí, thuật toán có thể
không cho kết quả tốt mà ngược lại, có thể cho các kết quả không thể chấp nhận
được, thuật toán có thể rơi về cục bộ địa phương mà không rơi về điểm tối ưu. Việc
xây dựng tiêu chí sẽ rất khó khăn vì các khẩu phần ăn có nhiều ràng buộc về dinh
dưỡng hay các điều kiện biên.
1.2.3 Mạng neural
Mạng neural được dùng để phân loại hoặc đánh giá và lựa chọn một khẩu
phần trong các khẩu phần ứng viên. Mạng có cấu tạo chung bao gồm một hoặc nhiều
nút nhập, một hoặc nhiều nút xuất, không có hoặc có nhiều lớp ẩn, mỗi lớp ẩn có thể
có một hoặc nhiều nút ẩn. Các nút nhập có các cung nối với các nút ẩn và có thể có
các cung nối trực tiếp với các nút xuất, các cung này được gán trọng số thể hiện ảnh
hưởng của một nút nhập với một nút ẩn hoặc nút xuất. Các nút thuộc lớp ẩn có thể
nối với các nút ẩn khác (trong lớp ẩn sau, trước hoặc trong cùng lớp ẩn) hoặc nối với
các nút xuất. Các cung này cũng được gán trọng số thể hiện ảnh hưởng của nút ẩn với
các nút nối với nó. Các nút xuất có thể có các cung nối với các nút ẩn và các cung
này cũng được gán trọng số. Ngoài ra, bản thân các nút ẩn và các nút xuất cũng có
một trọng riêng gọi là trọng ngưỡng. Giá trị này xác định ảnh hưởng của một nút đối
với đầu ra của nút đó.
Các mạng luôn có hai trang thái là học và ánh xạ. Ở trạng thái học, các mạng
sẽ sử dụng dữ liệu đầu vào được cung cấp để cập nhật các trọng sao cho thể hiện mặt
lỗi tốt nhất (tức là lỗi trên mẫu học là thấp nhất có thể). Tuy nhiên, trong quá trình
học cần tránh hiện tượng qua khớp xảy ra. Hiện tượng quá khớp là hiện tượng mạng
hoạt động tốt trên dữ liệu học nhưng không tốt trên dữ liệu khác (không phải dữ liệu
học). Trạng thái ánh xạ là trạng thái mà mạng sử dụng các trọng số được cập nhật
trong quá trình học cho các mẫu mới để đưa ra các quyết định tương ứng.
Ưu điểm
Nếu được thiết kế tốt và có nhiều dữ liệu, thì sau quá trình luyện, mạng có thể
được sử dụng để xác định kết quả tốt nhất mà nó tìm được. Các mạng có chất lượng
thường cho kết quả đúng khoảng trên dưới 95%.
Khuyết điểm
14
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
Khuyết điểm đầu tiên là mạng cần có dữ liệu để học hay luyện mạng. Càng
nhiều dữ liệu, chất lượng của mạng càng cao. Tuy nhiên, trong bài toán xác định
khẩu phần ăn, chúng ta không có dữ liệu để học. Điều này có thể khẳng định ngay là
mạng nơron không thích hợp với bài toán này.
Chính vì tránh tình trạng quá khớp nên chất lượng của mạng không bao giờ
đạt được 100%. Chính vì vậy, mạng chỉ cho ra kết qua tốt nhất có thể trong giới hạn
của nó chứ không thể cho ra giá trị tối ưu của bài toán.
Việc xác định số nút ẩn hay số lớp ẩn cũng là vấn đề cần được quan tâm. Hiện
tại, chưa có công thức cụ thể nào để xác định số lớp cũng như số nút ẩn mỗi lớp.
Chúng ta chỉ có thể biết được điều này dựa vào phương pháp thử sai. Điều này sẽ gây
tốn kém trong quá trình xây dựng mạng.
Việc xác định tất cả tổ hợp có thể có giữa các món ăn có thể là một công việc
đơn giản. Tuy nhiên, việc cho tất cả các tổ hợp đó vào mạng để nhận kết quả có thể là
việc làm hết sức lãng phí vì vấn đề bùng nổ tổ hợp. Chúng ta có thể dừng quá trình
này khi xác định được một khẩu phần thích hợp hoặc một khẩu phần đủ tốt. Nhưng
điều này lại dẫn đến hệ quả là các khẩu phần xác định được lại không đảm bảo là
khẩu phần tốt nhất.
1.2.4 Khai khoáng dữ liệu
Khai khoáng dữ liệu là kỹ thuật được dùng để rút trích tri thức từ các tập dữ
liệu lớn một cách tự động. Các tri thức được rút trích thường là các tri thức mới, chưa
biết. Hơn nữa, các tri thức mới phải thỏa mãn các yêu cầu hợp lệ, mới lạ, có ích và có
thể hiểu được
Chúng ta có kiểu dữ liệu ở đây là các chuỗi ký tự, giá trị số, các bit nhị
phân,… được lưu trữ trên bộ nhớ ngoài. Thông tin là dữ liệu ở mức cao, đã được tinh
chế và làm gọn để biểu thị đặc điểm của thông tin. Tri thức là thông tin tích hợp, thể
hiện mối quan hệ giữa các dữ liệu hay các thông tin với nhau. Ta có thể hiểu tri thức
là dữ liệu trừu tượng và được khái quát hóa ở mức cao.
Ưu điểm
Vì các kỹ thuật dùng trong khai khoáng dữ liệu đều dựa vào dữ liệu sẵn có để
rút trích các tri thức nên các tri thức này thường rất có giá trị. Chẳng hạn, chúng ta
muốn khẩu phần ăn có món mặn là A và món canh là B, và chúng ta không biết chọn
món tráng miệng như thế nào cho hợp thì các tri thức rút trích được có thể cho chúng
ta biết món tráng miệng nào là tốt nhất.
Dựa vào các tri thức mới, chúng ta có thể xác định các món thường ăn chung
với nhau (điều này sẽ có thể đảm bảo được các ràng buộc và chúng ta không phải mất
công đi xác định lại chúng). Sau khi có được danh sách này, chúng ta có thể luân
phiên thay thế các khẩu phần này.
15
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
Chính vì chỉ dựa vào dữ liệu cho trước nên các kỹ thuật này hoạt động rất
hiệu quả, có thể xác định được khẩu phần ăn tối ưu ngay lập tức.
Khuyết điểm
Khuyết điểm đầu tiên phải nhắc đến là dữ liệu. Tất cả các kỹ thuật dùng trong
khai khoáng dữ liệu đều cần dữ liệu và điều này chắc chắn không thể có trong bài
toán của chúng ta. Do vậy, các kỹ thuật này không thể áp dụng được.
Kế đến, các kỹ thuật này chỉ rút ra được các thông tin về các món ăn như món
nào thường ăn chung với món nào hay món nào thì không ăn với món nào. Dựa vào
các thông tin này chúng ta cũng có thể xác định khẩu phần ăn tương ứng. Tuy nhiên,
các kỹ thuật này không thể mở rộng hay tạo ra các khẩu phần mới. Điều này sẽ dẫn
đến việc trùng lặp nếu dữ liệu không đủ lớn.
Việc mở rộng là khó khăn vì các tri thức rút trích được phụ thuộc hoàn toàn
vào dữ liệu. Nếu muốn có các tri thức mới, cần cung cấp các dữ liệu mới và phải tiến
hành lại để rút trích các tri thức mới.
1.2.5. Máy học
Phương pháp này mô hình hóa các hệ thống tự tổ chức, tự ổn định, tự hoàn
thiện. Đặc trưng cơ bản của các hệ thống này là lượng tri thức bắt đầu từ con số 0 và
tăng dần qua các thử ngiệm. Phương pháp này bao trùm phương pháp mạng neural và
khai khoáng dữ liệu.
Học có giám sát: quá trình học có tín hiệu hướng dẫn vào ra chính xác của
thầy giáo, dữ liệu học vào ra của hệ thống phải được thiết lập trước. Sau quá
trình học hệ thống sẽ tìm ra một luật thích hợp để thực hiện tốt công việc dự
báo ngõ ra được kết hợp với ngõ vào mới của hệ thống.
Ưu điểm: trong phương pháp này, hệ thống tự động suy luận để tạo ra kết
quả tương ứng. Thông thường chỉ sau một vài bước lặp hệ thống có thể xác
định được kết quả. Kết quả này thường là tối ưu vì các luật dùng trong hệ
thống là do các chuyên gia trong lĩnh vực tương ứng tạo ra. Hệ thống này lý
tưởng nếu chúng ta am hiểu lĩnh vực mà hệ thống được cài đặt và chúng ta có
thể đưa ra được các luật suy diễn.
Khuyết điểm: các luật là khuyết điểm chính của hệ thống. Làm thế nào xác
định được các luật tối ưu hay đủ tốt để hệ thống có thể hoạt động tốt như
mong muốn. Điều này chỉ có thể kiểm nghiệm qua quá trình kiểm thử và tiếp
tục theo dõi trong quá trình hoạt động của hệ thống. Điều này dường như là
không thể bởi vì với chương trình xác định khẩu phần ăn, chúng ta không thể
liên tục theo dõi kết quả của hệ thống để có những chỉnh sửa kịp thời. Hơn
nữa, điều đó quá tốn kém so với hệ thống của chúng ta.
Việc tạo luật trong để xác định khẩu phần ăn tối ưu khó có thể thực
hiện được các điều kiện. Việc xác định các luật đủ bao trùm các điều kiện là
một công việc khó khăn và phức tạp.
Vấn đề nữa cần đề cập là dữ liệu đầu vào. Càng nhiều dữ liệu đầu vào,
hệ thống hoạt động càng kém hiệu quả. Việc bùng nổ dữ liệu có thể xảy ra
nếu chúng ta bổ sung dữ liệu sau mỗi lần áp dụng luật vào lại dữ liệu cũ.
16
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
Chính vì vậy, khi áp dụng phương pháp này chúng ta cần chú ý đến vấn đề
bùng nổ dữ liệu.
Học không giám sát: còn được gọi là thể loại tự học, với thể loại học này,
quá trình học không có sự trợ giúp bất kỳ thông tin hướng dẫn nào của thầy
giáo, chỉ có dữ liệu đầu vào, hệ thống tự khám phá ra một luật thích nghi để
tìm đầu ra được kết hợp với đầu vào mới từ tập các mẫu dữ liệu học đầu vào
mong muốn.
Ưu điểm: phương pháp này đơn giản hơn các phương pháp khác, nó chỉ cho
biết một mẩu (khẩu phần) có thỏa điều kiện hay không. Chúng ta chỉ cần cho
hệ thống học các mẫu (khẩu phần) positive, tức là các khẩu phần đã được
chấp nhận. Sau nó, hệ thống có thể được dùng để xác định một khẩu phần có
thể được chấp nhận hay không. Chúng ta có xem hệ thống này như một hàm
nhiều biến, giá trị của hàm có thể dương hoặc âm tùy thuộc vào giá trị đầu
vào.
Khuyết điểm: chính vì tính đơn giản mà phương pháp này không cho kết quả
tối ưu, hơn nữa chất lượng của hệ thống cũng không được đảm bảo. Ngoài ra,
phương pháp này cũng cần dữ liệu để học nên phương pháp này không thể sử
dụng trong bài toán xác định khẩu phần ăn.
1.2.6 Logic mờ
Trong thực tế, các thông tin mà chúng ta nhận được thường là các thông tin
không rõ ràng hoặc không đầy đủ. Các phương pháp nêu trên không thể xử lý các
thông tin dạng này. Các phương pháp trên hầu hết yêu cầu thông tin phải rõ ràng và
đầy đủ. Tuy một số phương pháp khoáng phá dữ liệu có thể chấp nhận các dữ liệu
không đầy đủ nhưng giá trị của các thuộc tính là giá trị rõ ràng, không nhập nhằng.
Do vậy, chúng ta chỉ có thể sử dụng logic mờ để xử lý các thông tin không rõ ràng.
Các thông tin trước khi được xử lý sẽ được mờ hóa. Sau đó, thông tin được
mờ hóa sẽ được áp dụng các luật của hệ thống để cho ra kết quả mờ. Các luật này
được xây dựng khi xây dựng hệ thống và các tham số cũng được điều chỉnh để thích
hợp các thông tin mà hệ thống xử lý. Sau khi có kết quả mờ, kết quả này lại được giải
mờ và chúng ta thu được kết quả mong muốn.
Trong bài toán xác định khẩu phần ăn, các dữ liệu đầu vào của hệ thống là
không chính xác hay không rõ ràng. Mỗi món ăn bao gồm nhiều thành phần như
calo, đạm, chất béo,…Mỗi khẩu phần lại có nhiều món ăn, do đó cũng có nhiều thành
phần. Giá trị các thành phần này thường không chính xác do quá trình chế biến món
ăn và chúng thường dao động trong một khoảng cho trước. Ngoài ra, các điều kiện về
dinh dưỡng cũng như các điều kiện biên cũng không rõ ràng. Chẳng hạn chúng ta có
thể chấp nhận một khẩu phần ăn nếu lượng đạm của nó nằm trong một khoảng cho
phép (được xác định trước). Hoặc khoảng thời gian giữa hai lần sử dụng liên tiếp của
một món ăn càng lâu càng tốt. Các thông tin đó đều không rõ ràng. Chính vì vậy, việc
sử dụng logic mờ trong bài toán này là hoàn toàn tự nhiên. Các giá trị mờ sẽ được
đánh giá bằng hệ thống mờ và kết quả đầu ra sau khi được giải mờ sẽ cho ta biết
“chất lượng” của khẩu phần ăn tương ứng. Các khẩu phần ứng viên sẽ lần lượt được
đánh giá và khẩu phần được đánh cao nhất sẽ được chọn.
Các luật sử dụng trong hệ thống mờ được xây dựng dựa trên các điều kiện
(điều kiện dinh dưỡng cũng như điều kiện biên) và các thông tin mờ như khoảng giá
17
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
trị của chất đạm mà một khẩu phần ăn phải có,…Các thông tin này đều sẵn có nên
việc xây dựng luật sẽ đơn giản hơn vì chúng ta có cơ sở để xây dựng luật. Cũng chính
vì có cơ sở nên chúng ta có thể đánh giá các luật được xây dựng tốt hay không. Vì
chúng ta có thể đánh giá sát các điều kiện đối với một khẩu phần ăn nên chúng ta có
thể nhận được một khẩu phần ăn tối ưu. Đây là lý do quan trọng trong việc chọn lựa
phương pháp sử dụng trong bài toán xác định khẩu phần ăn.
Tuy nhiên, khi xây dựng hệ thống, chúng ta sẽ gặp phải vấn đề kết hợp các luật
lại với nhau. Chúng ta không thể sử dụng các luật riêng rẽ để đánh giá khẩu phần ăn
vì các thông số của một khẩu phần ăn đều liên quan mật thiết với nhau. Ngoài ra,
chúng ta cũng phải gán các trọng số cho từng luật vì không phải luật nào cũng quan
trọng như nhau. Chẳng hạn khẩu phần có chứa hai món ăn kỵ nhau sẽ được đánh giá
khác như thế nào với khẩu phần có lượng đạm thừa. Điều này làm nảy sinh vấn đề
xây dựng bộ trọng số cho các luật.
Việc xây dựng trọng số có thể tham khảo ý kiến của chuyên gia và cũng có
thể dùng phương pháp thử sai hoặc kết hợp cả hai. Việc kết hợp các luật lại với nhau
cũng không quá khó khăn vì lý thuyết mờ đã xây dựng được các mô hình kết hợp.
Vấn đề là chúng ta phải xác định được mô hình nào phù hợp với bài toán của chúng
ta.
1.3 Lý do sử dụng Logic mờ
Trong mục trên, chúng ta đã tham khảo sơ lược một số kỹ thuật trong lĩnh vực AI
có thể áp dụng cho bài toán , đã nêu lên một số ưu khuyết điểm của từng kỹ thuật, và qua
đó phần nào nói lên được vì sao lại sử dụng logic mờ cho bài toán của chúng ta. Trong mục
này chúng ta sẽ thảo luận chi tiết hơn về lý do sử dụng logic mờ.
Thông thường, các bài toán được giải quyết theo kiểu:
Hình 1-1 . Các bước giải quyết một vấn đề.
Tất cả các thao tác xử lý chính là ánh xạ từ những dữ liệu thu thập được để đưa ra
một kết quả tương ứng với những dữ liệu đầu vào đó. Chúng ta sử dụng một hộp đen
(Black Box) để thực hiện việc ánh xạ này. Như vậy thì trong hộp đen của chúng ta sẽ chứa
những gì? Như mục trên đã trình bày, có rất nhiều thứ có thể đặt vào trong hộp đen này:
Hệ thống mờ, hệ thống tuyến tính, hệ chuyên gia, mạng neural nhân tạo, phương trình vi
phân, các phép toán nội suy … Tuy có nhiều cách có thể làm cho hộp đen hoạt động,
nhưng cuối cùng việc sử dụng FL vẫn là cách tối ưu nhất. Lotfi Zadeh - cha đẻ của lý
thuyết tập mờ, đã từng nhận xét: “Trong hầu hết các trường hợp, bạn có thể xây dựng một
hệ thống phức tạp mà không cần phải sử dụng FL, tuy nhiên việc sử dụng FL sẽ nhanh hơn
và chi phí rẻ hơn”.
18
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
Sau đây là một số nhận xét chung về FL:
Logic mờ là một khái niệm rất dễ hiểu: Những khái niệm toán học đằng sau
các suy luận mờ rất đơn giản. Điều đó làm cho hệ mờ đẹp “tự nhiên” khi
người đọc tiếp cận với nó, đồng thời người đọc có khả năng đào sâu vào
những kiến thức về hệ mờ mà không gặp phải những vấn đề quá phức tạp
như trong các nhánh khác của lĩnh vực trí tuệ nhân tạo.
Logic mờ mềm dẻo và linh hoạt.
Logic mờ chấp nhận dữ liệu mơ hồ, không chính xác: Nếu quan sát kỹ bạn
sẽ thấy rằng, mọi thứ đều không thực sự đúng và chính xác 100% , bất kì
vấn đề nảy sinh trong thực tế đều chỉ mang giá trị tương đối cho dù bạn có
thực hiện và kiểm tra nó cẩn thận đến chừng nào. Suy luận mờ đưa sự hiểu
biết không đầy đủ này vào ngay trong quá trình xử lý mà không cần phải
đợi cho đến khi có đầy đủ mọi thông tin về vấn đề cần xử lý.
Logic mờ có thể mô hình hóa các hàm phi tuyến với độ phức tạp bất kì: Bạn
có thể tạo ra một hệ thống mờ thỏa mãn tập dữ liệu vào – ra bất kì. Hệ
thống này có thể thực hiện dễ dàng bằng cách sử dụng kỹ thuật thích nghi
giống như ANFIS
Logic mờ có thể được xây dựng dựa trên sự từng trải của các chuyên gia:
Trái ngược với mạng neural nhân tạo (mạng này sử dụng một số lượng lớn
dữ liệu cho trước để học và sau đó được sử dụng để đưa ra kết quả sau quá
trình học của mình), logic mờ cho phép bạn xây dựng hệ thống dựa vào sự
từng trải của các chuyên gia am hiểu hệ thống mà bạn xây dựng.
Logic mờ có thể được sử dụng xen kẽ với các kỹ thuật truyền thống: Các hệ
thống mờ không thay thế hoàn toàn các phương pháp điều khiển truyền
thống. Trong nhiều trường hợp, logic mờ còn nâng cao và đơn giản hóa các
thao tác điều khiển truyền thống này.
Logic mờ dựa vào ngôn ngữ tự nhiên: Cơ sở của logic mờ chính là các giao
tiếp, suy luận của con người về sự vật hiện tượng trong thế giới thực. Chính
vì lẽ đó mà có nhiều cách phát biểu khác nhau trong logic mờ.
Phát biểu sau cùng có lẽ là ý quan trọng nhất mà chúng ta nên thảo luận thêm.
Ngôn ngữ tự nhiên được chúng ta sử dụng hằng ngày, đã được định hình và hoàn thiện qua
quá trình hàng ngàn năm lịch sử của xã hội loài người. Các câu văn viết bằng ngôn ngữ đời
thường có giá trị truyền thông rất lớn. Chúng ta ít khi ý thức được điều này, bởi vì nó là
ngôn ngữ đời thường, chúng ta vẫn sử dụng hằng ngày. Chính vì logic mờ được xây dựng
trên ngôn ngữ đời thường đã làm cho việc sử dụng logic mờ trở nên rất dễ dàng và thuận
tiện.
1.4 Kết hợp FL với các kỹ thuật AI khác
Việc sử dụng một phương pháp độc lập thường cho một kết quả giới hạn bởi mỗi
phương pháp đều có điểm mạnh và điểm yếu riêng của chúng. Hơn nữa các thông tin được
yêu cầu xử lý thường không tối ưu cho một phương pháp, hay nói cách khác là chúng ta có
thể áp dụng nhiều phương pháp khác nhau để xử lý các thông tin đó. Chính vì vậy, người
ta thường kết hợp các phương pháp lại với nhau để tận dụng các ưu điểm của mỗi phương
pháp. Các phương pháp bổ sung cho nhau để nâng cao chất lượng của quá trình xử lý
thông tin.
19
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
Một vài ví dụ về việc kết hợp các phương pháp:
• Mạng nơron + logic mờ: kết hợp này thường được sử dụng trong các hệ thống
nhận dạng như nhận chữ viết, nhận dạng vân tay,…
• Thuật giải di truyền + logic mờ: kết hợp này thường được sử dụng trong các
hệ thống điều khiển tự động trong công nghiệp hay các công việc đầu tư, tiếp
thị trong lĩnh vực thương mại…
Như phần trước đã đề cập, việc sử dụng logic mờ là hoàn toàn tự nhiên và có cơ sở.
Tuy nhiên, vì hệ thống phải đánh giá tất cả các khẩu phần ứng viên để chọn được khẩu
phần tốt nhất nên chi phí sẽ cao nếu có nhiều khẩu phần ứng viên. Chính vì vậy, nếu chúng
ta có thể giảm được số ứng viên đầu vào, chúng ta có thể tăng đáng kể hiệu quả của hệ
thống.
Chúng ta có thể sử dụng logic mờ kết hợp với phương pháp máy học – học có giám
sát. Sử dụng các luật của máy học chúng ta có thể loại bỏ các khẩu phần không hợp lệ hoặc
khả năng được chọn là rất thấp như khẩu phần có các món kỵ nhau, có cơ cấu năng lượng
không phù hợp, vượt quá mức giá tiền cho phép, không được sử dụng trong một thời gian
rất lâu,.… Điều này sẽ làm giảm đáng kể số lượng mẫu mà hệ thống cần đánh giá. Kết quả
là chi phí cho việc đánh giá sẽ giảm xuống nhưng khẩu phần ăn được chọn sẽ vẫn tối ưu.
Đây là phương pháp lý tưởng cho bài toán của chúng ta: hệ thống xây dựng được tạo
thành từ ba bộ phận:
• Thành phần máy học: đóng vai trò là bộ lọc dữ liệu, nhằm tăng tốc độ xử lý của bộ
điều khiển mờ, bằng cách giảm số lượng dữ liệu vào bộ điều khiển mờ.Thành phần
này gồm
o Bộ lọc tĩnh: loại bỏ các khẩu phần có cơ cấu năng lượng không phù hợp với
chuẩn dinh dưỡng. Vì cơ cấu năng lượng trong thực phẩm không thay đổi
theo thời gian nên bộ lọc sẽ có các luật tĩnh cũng như các giá trị điều kiện là
tĩnh.
o Bộ lọc động: loại bỏ các khẩu phần có các món ăn kỵ nhau, có giá vượt xa
mức cho phép,… Vì các giá trị này có thể thay đổi theo thời gian hay theo
kinh nghiệm của người sử dụng nên bộ lọc sẽ có các luật tĩnh và các giá trị
điều kiện động.
o Bộ lọc sử dụng kỹ thuật máy học: Xây dựng cây quyết định cho phép tự
phát sinh luật loại bỏ các dữ liệu dư thừa
• Thành phần bộ điều khiển mờ: sẽ bao gồm hai bộ mờ
o Bộ mờ thứ nhất: sẽ phân tích các khẩu phần ăn sau khi đã được lọc bớt dữ
liệu qua 2 bộ lọc (bộ lọc tĩnh và bộ lọc động) để đưa ra tỉ lệ chọn cho các
khẩu phần dựa trên cơ cấu năng lượng
o Bộ mờ thứ hai: Dữ liệu sau khi qua bộ lọc máy học được phân tích bởi bộ
điều khiển mờ thứ hai dựa trên tỉ lệ chọn theo cơ cấu năng lượng (được tính
bởi bộ mờ thứ nhất) kết hợp với các điều kiện giá tiền ở mức cho phép, độ
dùng lại thấp để đưa ra tỉ lệ chọn cuối cùng của các khẩu phần.
• Thành phần mạng neural nhân tạo: Điều chỉnh trọng số cho bộ luật mờ, dựa trên
các mẫu hoặc kiến thức của chuyên gia.
Trong 3 thành phần xây dựng, bộ phận chủ yếu của hệ thống là các bộ mờ, hai thành
phần còn lại chỉ đóng vai trò hỗ trợ nhằm tối ưu hoạt động của bộ điều khiển mờ :
• Thành phần mạng neural: tối ưu độ chính xác của bộ điều khiển mờ
• Thành phần bộ lọc: tối ưu tốc độ thực hiện của bộ điều khiển mờ
20
Khoa Tóan – Tin học trường Đại Học Khoa Học Tự Nhiên Tp.HCM
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Xây dựng chế độ dinh dưỡng tại trường mầm non bằng logic mờ kết hợp mạng neural và máy học", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
luan_van_xay_dung_che_do_dinh_duong_tai_truong_mam_non_bang.pdf

