Qua thời gian tìm hiểu, nghiên cứu tài liệu, em đã đúc kết lại những vấn đề cơ bản, quan trọng nhất của vấn đề nghiên cứu và trình bày lại trong bài tiểu luận này với chủ đề “Xây dựng
Trang 1BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG
TIỂU LUẬN
GVHD : PGS TS ĐỖ VĂN NHƠN Học viên: Vũ Đăng Khôi
(CH1101017 – Cao học CNTT K6)
Tháng 01/2013
Trang 2Em xin chân thành cám ơn PGS TS Đỗ Văn Nhơn về những tri thức và
những kinh nghiệm quý báu mà thầy đã truyền đạt lại cho lớp trong phạm vi
môn học Biểu diễn tri thức và ứng dụng thuộc chương trình đào tạo cao học
ngành Công nghệ thông tin tại trường Đại học Công nghệ thông tin – Đại học Quốc gia Thành phố Hồ Chí Minh
Tác giả cũng xin cám ơn các anh, chị và các bạn trong lớp cao học Công nghệ thông tin khóa 6/2011 về những ý kiến đóng góp trong quá trình học tập
và trao đổi trên lớp và trên diễn đàn
Với khả năng và thời gian có hạn, tiểu luận chắc chắn còn có những thiếu sót nhất định, kính mong thầy và các anh chị góp ý để tác giả có điều kiện hoàn thiện hơn
TP Hồ Chí Minh, 01/2013 Học viên thực hiện
Vũ Đăng Khôi
Trang 3
Trang 4
LỜI NÓI ĐẦU i
DANH MỤC CÁC HÌNH ẢNH ii
PHẦN I DẪN NHẬP 1
PHẦN II NỘI DUNG 3
1 TỔNG QUAN VỀ TRI THỨC VÀ BIỂU DIỄN TRI THỨC 3
1.1 Tri thức 3
1.2 Biểu diễn tri thức 4
1.2.1 Bộ ba Đối tượng – Thuộc tính – Giá trị (Object-Attribute-Value) 4
1.2.2 Các luật dẫn (Rules) 5
1.2.3 Mạng ngữ nghĩa (Semantic Networks) 5
1.2.4 Khung (Frames) 5
1.2.5 Logic 6
1.2.6 Mô hình một đối tượng tính toán (C-Object) 6
1.2.7 Mô hình cơ sở tri thức các đối tượng tính toán (COKB) 7
2 MÔ HÌNH TRI THỨC DẠNG HÀM 8
3 ỨNG DỤNG MÔ HÌNH TRI THỨC DẠNG HÀM ĐỂ GIẢI BÀI TOÁN RÚT GỌN BIỂU THỨC LƯỢNG GIÁC 9
3.1 Phát biểu bài toán 9
3.2 Giải quyết bài toán 10
3.2.1 Chuẩn bị cơ sở tri thức 10
3.2.2 Thuật giải suy diễn tiến 10
3.2.3 Thuật giải suy diễn tiến với Heuristics 10
3.2.4 Xây dựng các thủ tục xử lý trên biểu thức 15
3.3 Chương trình minh họa 16
PHẦN III KẾT LUẬN 19
TÀI LIỆU THAM KHẢO 20
Trang 5LỜI NÓI ĐẦU
Biểu diễn tri thức và ứng dụng là một môn học bắt buộc thuộc chương
trình đào tạo cao học ngành Công nghệ thông tin tại trường Đại học Công nghệ thông tin – Đại học Quốc gia TP HCM
Ngoài các buổi học được giảng viên truyền đạt trực tiếp trên lớp, các học viên được giao tìm hiểu các chủ đề liên quan đến môn học để thấu hiểu sâu sắc từng vấn đề đó và trình bày lại những hiểu biết thông qua một bài tiểu luận
Qua thời gian tìm hiểu, nghiên cứu tài liệu, em đã đúc kết lại những vấn đề
cơ bản, quan trọng nhất của vấn đề nghiên cứu và trình bày lại trong bài tiểu
luận này với chủ đề “Xây dựng mô hình biểu diễn tri thức dạng hàm và áp
dụng vào bài toán rút gọn biểu thức lượng giác”
Tài liệu tham khảo chính của bài viết là tập tài liệu bài giảng môn Biểu diễn tri thức và ứng dụng của PGS TS Đỗ Văn Nhơn, giảng viên phụ trách
môn học này Ngoài ra, bài viết cũng tham khảo thêm một số tài liệu khác có liên quan đến chủ đề báo cáo được liệt kê ở phần tài liệu tham khảo
Trang 6DANH MỤC CÁC HÌNH ẢNH
Hình 1 Biểu diễn tri thức bằng mạng ngữ nghĩa 5
Hình 2 Biểu diễn tri thức bằng frame 5
Hình 3 Giao diện chương trình minh họa Rút gọn biểu thức lượng giác 17
Hình 4 Giao diện chương trình minh họa – Cập nhật cơ sở tri thức 18
Trang 7PHẦN I DẪN NHẬP
Sự khác biệt giữa các hệ cơ sở tri thức và các chương trình truyền thống nằm ở cấu trúc Trong các chương trình truyền thống, cách thức xử lý hay hành vi của chương trình đã được ấn định sẵn qua các dòng lệnh của chương trình dựa trên một thuật giải đã định sẵn Trong các hệ cơ sở tri thức, có hai chức năng tách biệt nhau,
trường hợp đơn giản có hai khối: khối tri thức hay còn được gọi là cơ sở tri thức và khối điều khiển hay còn được gọi là động cơ suy diễn Với các hệ thống phức tạp, bản
thân động cơ suy diễn cũng có thể là một hệ cơ sở tri thức chứa các siêu tri thức (tri thức về cách sử dụng tri thức khác)
Việc tách biệt tri thức khỏi các cơ chế điều khiển giúp ta dễ dàng thêm vào các tri thức mới trong tiến trình phát triển một hệ thống Đây là điểm tương tự của động cơ suy diễn trong một hệ cơ sở tri thức và não bộ con người (điều khiển xử lý), là không đổi cho dù hành vi của cá nhân có thay đổi theo kinh nghiệm và kiến thức mới nhận được
Giả sử một chuyên gia dùng các chương trình truyền thống để hỗ trợ công việc hàng ngày, sự thay đổi hành vi của chương trình yêu cầu họ phải biết cách cài đặt chương trình Nói cách khác, chuyên gia phải là một lập trình viên chuyên nghiệp Hạn chế này được giải quyết khi các chuyên gia tiếp cận sử dụng các hệ cơ sở tri thức Trong các hệ cơ sở tri thức, tri thức được biểu diễn tường minh chứ không nằm ẩn như trong các chương trình truyền thống Do vậy, có thể thay đổi các cơ sở tri thức, sau đó các động cơ suy diễn sẽ làm việc trên các tri thức mới được cập nhật nhằm thực hiện yêu cầu mới của chuyên gia
Đối với các hệ giải quyết vấn đề dựa trên tri thức như các hệ chuyên gia, các hệ
giải toán tự động hay bán tự động thì việc biểu diễn tri thức và chiến lược tìm kiếm
đóng vai trò quyết định trong quá trình xây dựng và cài đặt hệ thống Như vậy, việc nghiên cứu và phát triển các mô hình biểu diễn tri thức và suy diễn tự động trên tri thức giữ một vị trí rất quan trọng trong khoa học máy tính cũng như trong Trí tuệ Nhân tạo Các kết quả nghiên cứu về biểu diễn tri thức và suy luận tự động dựa trên tri thức sẽ là cơ sở và là công cụ cho việc xây dựng các hệ chuyên gia, các hệ giải toán dựa trên tri thức và các hệ cơ sở tri thức
Trang 8Tri thức dạng hàm và tính toán hàm là những tri thức khá phổ biến, đặc biệt là
trong toán học Tri thức dạng hàm và tính toán hàm xuất hiện trong các bài toán tính toán phổ thông cũng như đại học Tiểu luận sẽ đề xuất và phát triển một mô hình tri thức dạng hàm, các kỹ thuật suy luận tự động để giải các dạng bài toán tổng quát trên
mô hình và áp dụng vào bài toán cụ thể là rút gọn biểu thức lượng giác Cách tiếp cận
để giải quyết mục tiêu đề ra là kết hợp có phát triển các phương pháp biểu diễn tri thức
đã biết và tích hợp vào một số phần mềm toán học phổ biến (như Maple, Mathematica)
và giao diện ứng dụng được thiết kế dựa trên môi trường web tương tác (sử dụng ngôn ngữ lập trình php
Trang 9PHẦN II NỘI DUNG
1 TỔNG QUAN VỀ TRI THỨC VÀ BIỂU DIỄN TRI
THỨC
1.1 Tri thức
Tri thức là sự hiểu biết về một lĩnh vực nào đó Một số dạng tri thức được biết đến là: [4]
Tri thức thủ tục – procedured knowledge Mô tả cách thức giải quyết một
vấn đề Loại tri thức này đưa ra giải pháp để thực hiện một công việc nào đó Các dạng tri thức thủ tục tiêu biểu là các luật, chiến lược, lịch trình và thủ tục
Tri thức khai báo – declared knowledge Cho biết một vấn đề được thấy
như thế nào Loại tri thức này bao gồm các phát biểu đơn giản, dưới dạng các khẳng định logic đúng hoặc sai Tri thức khai báo cũng có thể là một danh sách các khẳng định nhằm mô tả đầy đủ hơn về đối tượng hay một khái niệm nào đó
Siêu tri thức - metaknowledge Mô tả tri thức về tri thức Loại tri thức này
giúp lựa chọn tri thức thích hợp nhất trong số các tri thức khi giải quyết một vấn đề Các chuyên gia sử dụng tri thức này để điều chỉnh hiệu quả giải quyết vấn đề bằng cách hướng các lập luận về miền tri thức có khả năng cao hơn
Tri thức heuristic – heuristic knowledge Mô tả các “mẹo” để dẫn dắt tiến
trình lập luận Tri thức heuristic còn gọi là tri thức nông cạn do không đảm bảo hoàn toàn chính xác về kết quả giải quyết vấn đề Các chuyên gia thường dùng các tri thức khoa học như sự kiện, luật, … sau đó chuyển chúng thành các tri thức heuristic để thuận tiện hơn trong việc giải quyết một số bài toán
Tri thức có cấu trúc – structured knowledge Mô tả tri thức theo cấu trúc
Loại tri thức này mô tả mô hình tổng quan hệ thống theo quan điểm của chuyên gia, bao gồm khái niệm, khái niệm con và các đối tượng; diễn tả chức năng và mối liên hệ giữa các tri thức dựa theo cấu trúc xác định
Trang 10Ngoài các dạng tri thức được đề cập ở trên, người ta còn phân tri thức thành 2 loại:
• Tri thức tường minh – explicit knowledge Diễn đạt bằng ngôn ngữ hình
thức, dễ trao đổi giữa các cá nhân Có thể biểu diễn bằng các công thức khoa học, các thủ tục tường minh, hoặc nhiều cách khác Bao gồm thông tin, dữ liệu, sách báo, văn bản, tài liệu đã được hệ thống bằng nhiều phương tiện Tri thức tường minh được đặc trưng bởi các cách tiếp cận lý thuyết, các cách giải quyết vấn đề, tài liệu, cơ sở dữ liệu, cơ sở tri thức
• Tri thức ngầm – tacit knowledge Có được và ẩn chứa trong kinh nghiệm của
từng cá nhân, mang tính chủ quan, bao gồm những hiểu biết riêng thấu đáo, trực giác, linh cảm, kỹ năng, Khó trao đổi hoặc chia sẻ với người khác Chỉ có thể học được từ người khác nhờ quan hê gần gũi trong một khoảng thời gian nào
đó Tri thức ngầm liên quan đến nhận thức như niềm tin, quan niệm, trực giác,
mô hình ẩn dụ, … và kỹ thuật như các ngón nghề (craft), các bí quyết how)
(know-1.2 Biểu diễn tri thức
Biểu diễn tri thức (Kowledge Representation) là phương pháp cho phép mã hóa tri thức trong cơ sở tri thức của hệ thống
Biểu diễn tri thức là một vấn đề được quan tâm trong cả khoa học nhận thức lẫn trí tuệ nhân tạo Trong khoa học nhận thức, người ta quan tâm đến cách thức lưu trữ và
xử lý thông tin Còn trong trí tuệ nhân tạo, mục tiêu chính là lưu trữ tri thức sao cho các chương trình có thể xử lý chúng và đạt được sự thông minh như con người Các nhà nghiên cứu trí tuệ nhân tạo đã mượn các lý thuyết về biểu diễn thông tin từ khoa học nhận thức
Một số kỹ thuật biểu diễn tri thức được biết đến là: [4]
1.2.1 Bộ ba Đối tượng – Thuộc tính – Giá trị (Object-Attribute-Value)
Ví dụ:
Đối tượng Thuộc tính Giá trị
Trang 111.2.2 Các luật dẫn (Rules)
Ví dụ:
1.2.3 Mạng ngữ nghĩa (Semantic Networks)
Hình 1 Biểu diễn tri thức bằng mạng ngữ nghĩa
1.2.4 Khung (Frames)
Ví dụ:
Hình 2 Biểu diễn tri thức bằng frame
IF Bình điện hỏng
THEN Xe sẽ không khởi động được
IF Xe không khởi động được
THEN Đi bộ
IF Xe sẽ không khởi động được AND Hệ thống nhiên liệu tốt THEN Kiểm tra hệ thống điện
… Thuộc tính n Giá trị n
Trang 121.2.5 Logic
Ví dụ:
A = “Xe không khởi động được”
B = “Khoảng cách từ nhà đến cơ quan
xa”
C = “Sẽ trễ giờ làm”
A ^ B C = “IF Xe không khởi động
được AND Khoảng cách từ nhà đến cơ
quan xa THEN Sẽ trễ giờ làm việc”
và các heuristic, v.v
Một cách tiếp cận khác được sử dụng là kết hợp các phương pháp biểu diễn tri thức đã có với những phát triển nhất định để tạo ra một số mô hình biểu diễn tri thức mới với phạm vi tri thức bao gồm nhiều dạng kiến thức đa dạng hơn, và như thế các
mô hình biểu diễn tri thức này có thể được sử dụng như là cơ sở và là công cụ cho việc thiết kế cơ sở tri thức, bộ phận suy luận giải toán tự động cũng như thiết kế phần giao diện của chương trình
1.2.6 Mô hình một đối tượng tính toán (C-Object)
Mô hình này được đề xuất bởi Đỗ Văn Nhơn trong công trình luận án tiến sĩ toán
học: “Xây dựng hệ tính toán thông minh: Xây dựng và phát triển các mô hình biểu
diễn tri thức cho các hệ giải toán tự động”
Một C-Object có thể được mô hình hóa bởi một bộ:
(Attrs, F, Facts, Rules)
Trang 13trong đó: Attrs là tập hợp các thuộc tính của đối tượng, F là tập hợp các quan hệ suy diễn tính toán, Facts là tập hợp các tính chất hay các sự kiện vốn có của đối tượng,
và Rules là tập hợp các luật suy diễn trên các sự kiện liên quan đến các thuộc tính cũng như liên quan đến bản thân đối tượng
Ví dụ: Đối tượng (C-Object) “TAM_GIAC” được biểu diễn theo mô hình trên gồm có:
• Attrs = { GocA, GocB, GocC, a, b, c, ha, hb, hc, ma, mb, mc, pa, pb, pc, S, p,
1.2.7 Mô hình cơ sở tri thức các đối tượng tính toán (COKB)
Mô hình này được đề xuất bởi Đỗ Văn Nhơn trong công trình luận án tiến sĩ toán
học: “Xây dựng hệ tính toán thông minh: Xây dựng và phát triển các mô hình biểu
diễn tri thức cho các hệ giải toán tự động”
Trong mô hình này, ngoài những quan hệ tính toán còn có nhiều luật khác trên các loại sự kiện khác nhau Ở đây không phải chỉ có các loại sự kiện tính toán được quan tâm khảo sát mà ta còn đề cập đến những sự kiện quan hệ khác trên các thuộc
Trang 14tính và trên các đối tượng Mô hình mạng các C-Object tổng quát sẽ cho ta một phương pháp biểu diễn các dạng bài toán tổng quát trong hệ cơ sở tri thức các C-Object, làm cơ sở cho việc thiết kế các môđun giải toán và trợ giúp giải toán trong các
hệ giải toán thông minh
2 MÔ HÌNH TRI THỨC DẠNG HÀM
Một mô hình tri thức dạng hàm có thể được mô hình hóa bởi bộ:
(Predicate, Facts, Rules)
trong đó:
− Predicate là tập hợp chứa các định nghĩa danh mục các hàm, gồm:
o Tên hàm,
o Các đối và kiểu đối của hàm,
o Kiểu kết quả của hàm
− Facts là tập hợp các giá trị đặc biệt của các hàm đã được định nghĩa trong tập
Predicate
− Rules là tập hợp các công thức biểu diễn mối quan hệ giữa các hàm đã được
định nghĩa trong tập Predicate, Rules gồm các bộ công thức được phân loại theo toán tử hay tên hàm Đặc biệt, nên phân loại như trong thực tế đã phân loại, ví dụ như các công thức lượng giác trong các sách giáo khoa phân thành các bộ công thức: hệ thức cơ bản, cung liên quan đặc biệt, công thức cộng, công thức nhân, công thức hạ bậc, công thức biến đổi tích sang tổng,… thì ta cũng sẽ phân loại như vậy
Ví dụ: Kiến thức về lượng giác có thể được biểu diễn như sau:
Predicate = {sin[Real], cos[Real], tan[Real], cot[Real]}
Facts = {cos[Pi/3] =1/2, sin[Pi/2] = 1, cos[0] = 1, … (liệt kê tất cả các giá trị đặc
biệt của các hàm lượng giác )}
Trang 15Rules = {{sin[x]2 + cos[x]2 = 1, cot[x]tan[x] = 1, tan[x] = sin[x]/cos[x],
cot[x]=cos[x]/sin[x], …},
{},
…
(liệt kê tất cả các công thức lượng giác)
{(a+b)2 = a2 + 2ab + b2, a2 – b2 = (a+b)(a-b), (hằng đẳng thức)}}
3 ỨNG DỤNG MÔ HÌNH TRI THỨC DẠNG HÀM ĐỂ GIẢI BÀI TOÁN RÚT GỌN BIỂU THỨC LƯỢNG GIÁC 3.1 Phát biểu bài toán
Giả sử có biểu thức exp
Rút gọn biểu thức exp: Có thể biến đổi biểu thức exp thành một biểu thức
expnew mà expnew gọn hơn exp không?
Định nghĩa: Một biểu thức exp1 được gọi là gọn hơn biểu thức exp2 nếu độ dài
của biểu thức exp1 nhỏ hơn độ dài của biểu thức exp2 Nếu độ dài bằng nhau, giữa các hàm là phép lũy thừa thì gọn hơn phép nhân, chia và phép, nhân chia lại gọn hơn phép cộng, trừ
Độ dài của biểu thức exp được định nghĩa như sau:
Length[exp] = số lượng hàm xuất hiện trong exp
Như vậy, biểu thức hằng có độ dài bằng 0
Ví dụ:
exp = 9 (hay a, a+c) thì Length[exp] = 0
exp = sin[x]cos[x] + tan[x] có Length[exp] = 3
exp = cos[x-y] có Length[exp] = 1
exp = cos[x]cos[y] + sin[x]sin[y] có Length[exp] = 4