26
ĐẠI HC QUC GIA THÀNH PHHCHÍ MINH TRƯỜNG ĐẠI HC CÔNG NGHTHÔNG TIN BIU DIN TRI THC VÀ NG DNG TIU LUN GVHD : PGS. TS. ĐỖ VĂN NHƠN Hc viên: Vũ Đăng Khôi (CH1101017 – Cao hc CNTT K6) Tháng 01/2013

CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

  • Upload
    hung-bd

  • View
    82

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

BIỂ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

Page 2: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

LỜI CÁM ƠN Em 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

Page 3: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Page 4: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

MỤC LỤC

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

Page 5: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - i - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên: Vũ Đăng Khôi Cao học CNTT khóa 6/2011

LỜ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.

Page 6: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - ii - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên: Vũ Đăng Khôi Cao học CNTT khóa 6/2011

DANH 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

Page 7: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 1 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

PHẦ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.

Page 8: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 2 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

Tri 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.

Page 9: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 3 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

PHẦ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.

Page 10: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 4 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

Ngoà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 (know-

how).

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ị

Ghế màu Nâu

Page 11: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 5 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

1.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

Ví dụ:

Sẻ Chim

cánh

bay

di chuyển

PHIẾU ĐIỂM

Họ tên:

Địa chỉ:

Môn Điểm Toán Vật lý …

Tên frame:

Lớp:

Thuộc tính:

Thuộc tính 1 Giá trị 1 Thuộc tính 2 Giá trị 2 … Thuộc tính n Giá trị n

Page 12: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 6 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

1.2.5. Logic

Logic mệnh đề Logic vị từ

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í dụ:

“Tôi ăn Cơm” �Ăn(Tôi, Cơm)

Trong đó “Tôi” và “Cơm” là hằng số,

“ăn” là vị từ.

Các phương pháp biểu diễn tri thức trên đây đều có những ưu và nhược điểm

nhất định. Mỗi phương pháp chỉ biểu diễn được một khía cạnh của tri thức trong khi tri

thức cần được biểu diễn trong các hệ ứng dụng rất đa dạng và thường bao gồm các

khái niệm từ đơn giản đến có cấu trúc phức tạp, các hệ thức tính toán với những qui

luật nhất định, các liên hệ đa dạng bao gồm cả định tính lẫn định lượng, các luật dẫn

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)

Page 13: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 7 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

trong đó: 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,

R, r, ra, rb, rc }

• F = { GocA + GocB + GocC = Pi, a*sin(GocB) = b*sin(GocA),

� a^2 = b^2 + c^2 - 2*b*c*cos(GocA), . . . }

• Facts = {}

• Rules = { {GocA = GocB}⇒ {a = b},

{a = b} ⇒ {GocA = GocB},

{a^2 = b^2+c^2}⇒{GocA=pi/2},

{GocA=pi/2} ⇒ {a^2 = b^2+c^2, b ⊥ c}, ...}

Khảo sát các bài toán suy diễn và tính toán trên một C-Object và xây dựng các

thuật giải thích hợp sẽ là cơ sở cho việc thiết kế các hệ hỗ trợ giải toán kết hợp với sự

tra cứu kiến thức và học kiến thức. Tuy nhiên, mỗi loại C-Object khi xét riêng biệt chỉ

thể hiện được một phần tri thức có tính chất cục bộ trong ứng dụng trong khi kiến thức

của con người về một lĩnh vực hay một phạm vi kiến thức nào đó thường bao gồm các

khái niệm và các loại đối tượng khác nhau với những mối quan hệ hữu cơ.

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

Page 14: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 8 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

tí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 )}

Page 15: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 9 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

Rules = {{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.

Page 16: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 10 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

3.2. Giải quyết bài toán

3.2.1. Chuẩn bị cơ sở tri th ức

− Khai báo Predicate

− Nhập giá trị đặc biệt cho các hàm Facts

− Nhập tất cả các công thức Rules. Chia tập hợp Rules thành các bộ công

thức, do người sử dụng chia theo trong thực tế, nếu không, chương trình

chia tự động theo tên hàm hay toán hạng.

3.2.2. Thuật giải suy diễn tiến

Bước 1: Xác định tất cả các công thức có thể dùng. Nếu exp không thể áp dụng

được công thức nào thì thực hiện biến đổi cơ bản cho exp (các phép biến đổi cơ bản là

quy đồng, khai triển, đặt thừa số chung, nhân lượng liên hợp) và lặp lại bước 1.

Bước 2: Áp dụng các công thức đó vào biến đổi exp.

Lặp lại hai bước trên cho đến khi exp được rút gọn.

3.2.3. Thuật giải suy diễn tiến với Heuristics

Để tìm được lời giải một cách nhanh chóng, chúng ta có thể sử dụng một số luật

heuristic vào phương pháp suy diễn tiến. Xem xét phương pháp con người giải các bài

toán, ta dùng các luật heuristic trong thuật giải. Sau đây là một số luật được sử dụng:

Chia tập hợp Rules các công thức ra thành nhiều bộ công thức khác nhau như

con người đã từng làm trong thực tế.

Với một biểu thức đã cho, chọn bộ công thức nào “thích hợp” nhất để rút gọn

biểu thức đó.

Sau khi đã chọn được một bộ công thức thích hợp, ta sử dụng các luật heuristic

lại chọn một công thức “thích hợp” nhất để áp dụng vào biến đổi biểu thức. Nếu kết

quả bước 2 chỉ có một công thức có thể áp dụng được thì chọn ngay công thức đó.

Ngược lại, chọn một công thức để áp dụng theo các ưu tiên sau:

Ưu tiên 1: Ưu tiên sử dụng công thức có kết quả là hằng số.

Ví dụ: Nếu kết quả ở bước 2, có 3 công thức có thể áp dụng là:

Page 17: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 11 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

sin[x]2 + cos[x]2 = 1

sin[x]2 = 2

]2cos[1 x−

cos[x]2 = 2

]2cos[1 x+

thì ta dùng ưu tiên này chọn công thức thứ nhất sin[x]2 + cos[x]2 = 1 để áp dụng.

Ưu tiên 2: Ưu tiên sử dụng công thức phát sinh các hàm, các dạng đối liên quan

đến kết quả. (ví dụ: kết quả có tan (cung 2x như tan[2x]) thì ưu tiên dùng các công

thức biến đổi sang tan, (cung [2x]) …)

Ví dụ: Giả sử sau bước giải 1, ta có:

exp = 2

22

]sin[

]cos[]cos[

x

xx +−

kết quả bài toán rút gọn này là: cos[x]2cot[x]2

và có 4 công thức có thể dùng là:

sin[x]2 = 2

]2cos[1 x−

cos[x]2 = 2

]2cos[1 x+

]tan[]sin[

]cos[x

x

x =

22

]cot[1]sin[

1x

x+=

thì ta chọn công thức 22

]cot[1]sin[

1x

x+= để áp dụng.

Ưu tiên 3: Ưu tiên sử dụng công thức không sinh ra hàm mới, biến mới so với

kết quả (để hy vọng đồng dạng, gom lại những hạng tử đồng dạng). Ví dụ như exp chỉ

chứa cung x thì không nên dùng các công thức biến đổi sang cung 2x. (đến khi nào vẫn

chưa ra kết quả thì mới dùng).

Ví dụ: Rút gọn biểu thức: exp = cos[x]sin[x](1+tan[x])(1+cotan[x])

Page 18: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 12 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

Ta có, công thức có thể áp dụng là:

cos[x]sin[x] = 2

]2sin[ x

tan[x] = ]cos[

]sin[

x

x

nhưng không chọn công thức thứ nhất vì sẽ ra kết quả chứa cung mới 2x, mà

chọn công thức tan[x] = ]cos[

]sin[

x

x để biến đổi.

Ưu tiên 4: Ưu tiên sử dụng công thức có vế trái dài nhất (để hy vọng biến đổi

phần dài nhất đó thành phần ngắn hơn).

Ví dụ: Rút gọn biểu thức exp với: exp = 2

2

]tan[1

]tan[1

a

a

−+

thì bước giải đầu tiên ta có các công thức có thể dùng là:

tan[a] = ]cos[

]sin[

a

a và 1 + tan[a]2 =

2]cos[

1

a

và vì cả hai công thức đều không rơi vào các ưu tiên từ 1 đến 3 nên khi áp dụng

ưu tiên 4 ta chọn để áp dụng công thức 1 + tan[a]2 = 2]cos[

1

a vì công thức này có vế

trái là 1 + tan[a]2 dài hơn vế trái của công thức tan[a] = ]cos[

]sin[

a

a là tan[a].

Từ đó ta có thuật giải suy diễn tiến với heuristic để rút gọn biểu thức như sau:

Bước 1: Xét exp “thích hợp” với bộ công thức nào nhất => chọn một bộ công

thức “thích hợp” nhất (bộ công thức có nhiều công thức có vế trái xuất hiện trong exp

nhất, nếu có nhiều bộ công thức như thế thì ta ưu tiên chọn bộ công thức ưu tiên dùng

trong thực tế, chẳng hạn như đối với dạng lượng giác ta thường dùng các hệ thức cơ

bản hơn là các công thức hạ bậc, điều này có thể được thể hiện bằng việc đánh trọng

số cho từng bộ công thức)

Page 19: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 13 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

Bước 2: Với bộ công thức chọn được ở bước 1, phát sinh tất cả các công thức có

thể có (chỉ phát sinh công thức để tìm số hạng) và thêm các công thức này vào bộ công

thức đó.

Ví dụ: Với công thức: cos[x]2 +sin[x]2 = 1, ta phát sinh thêm các công thức:

cos[x]2 = 1 – sin[x]2, sin[x]2 = 1 – cos[x]2 và các công thức theo chiều ngược lại:

1 = sin[x]2 + cos[x]2 (hằng số chuyển sang vế phải)

Repeat

Bước 3: Trên bộ công thức tìm được ở bước 2, xác định tất cả các công thức mà

exp có thể dùng (là tất cả những công thức có vế trái xuất hiện trong exp). Nếu không

có công thức nào mà exp áp dụng được thì thực hiện biến đổi cơ bản cho exp (các

phép biến đổi cơ bản là quy đồng, khai triển, đặt thừa số chung, nhân lượng liên hợp)

rồi lặp lại bước 3. Lưu ý chọn phép biến đổi cơ bản sao cho kết quả xuất hiện vế trái

của một công thức nào đó trong bộ công thức đang được phép áp dụng (đó là bộ công

thức xác định ở bước 2). Nếu không có phép biến đổi cơ bản nào cho kết quả như thế,

ta sang bước 1 để chọn bộ công thức khác.

Bước 4: Dùng các luật ưu tiên để chọn một công thức “thích hợp” nhất, nếu

vẫn còn nhiều hơn một công thức “thích hợp” nhất thì chọn công thức đầu tiên. (vì thế

nên xếp các công thức trong cơ sở tri thức theo thứ tự mức ưu tiên thường dùng giảm

dần).

Bước 5: Áp dụng công thức xác định được ở bước 4 vào biến đổi biểu thức exp.

Ghi nhận lại sự kiện hay công thức được sử dụng và kết quả biến đổi.

Until (với bộ công thức đang dùng, không thể áp dụng được công thức nào nữa)

Lặp lại từ bước 1 đến bước 5 cho đến khi biểu thức exp được rút gọn.

Ví dụ: Rút gọn biểu thức: exp = sin[x]cos[x](1+tan[x])(1+cot[x])

Bước 1:

Ta có biểu thức exp “thích hợp” với bộ công thức fHệThứcCơBảnSangSinCos

nhất, với:

fHệThứcCơBảnSangSinCos =

Page 20: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 14 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

{cos[x]2 + sin[x]2 = 1, cot[x]tan[x] = 1, 1 + tan[x]2 = 2]cos[

1

x, 1 + cot[x]2 =

2]sin[

1

x, tan[x] =

]cos[

]sin[

x

x, cot[x] =

]sin[

]cos[

x

x};

vì có số công thức có vế trái xuất hiện trong exp là nhiều nhất (hai công thức):

tan[x] = ]cos[

]sin[

x

x

cot[x] = ]sin[

]cos[

x

x

Bước 2: Phát sinh tất cả các công thức có thể có, ta được bộ công thức

fHệThứcCơBảnSangSinCos trở thành:

fHệThứcCơBảnSangSinCos =

{cos[x]2 + sin[x]2 = 1, cot[x]tan[x] = 1, 1 + tan[x]2 = 2]cos[

1

x, 1 + cot[x]2 =

2]sin[

1

x, tan[x] =

]cos[

]sin[

x

x, cot[x] =

]sin[

]cos[

x

x, cos[x]2 = 1 – sin[x]2, sin[x]2 = 1 – cos[x]2 ,

1 = sin[x]2+ cos[x]2 }

Bước 3: Tất cả những công thức có thể dùng là:

tan[x] = ]cos[

]sin[

x

x

cot[x] = ]sin[

]cos[

x

x

Bước 4: Chọn công thức tan[x] = ]cos[

]sin[

x

x

Bước 5: exp = sin[x]cos[x](1 + ]cos[

]sin[

x

x)(1 + cot[x])

Bước 3: Công thức có thể dùng: cot[x] = ]sin[

]cos[

x

x

Bước 4: Chọn ngay công thức này

Page 21: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 15 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

Bước 5: exp = sin[x]cos[x](1 + ]cos[

]sin[

x

x)(1 +

]sin[

]cos[

x

x)

Bước 3: Vì không thể dùng được công thức nào nữa trong bộ công thức

fHệThứcCơBảnSangSinCos, nên ta tiến hành khai triển exp, ta được:

exp = cos[x]2 + 2cos[x]sin[x] + sin[x]2

lặp lại bước 3, ta được công thức có thể dùng là cos[x]2 + sin[x]2 = 1

Bước 4: Chọn ngay công thức này

Bước 5: exp = 1 + 2cos[x]sin[x]

Với bộ công thức đang dùng là fHệThứcCơBảnSangSinCos, exp không thể áp

dụng được công thức nào nữa, ta quay lại bước 1.

Bước 1:

Ta có biểu thức exp “thích hợp” với bộ công thức fCôngThứcHạBậc nhất, tiến

hành tương tự như trên, ta áp dụng công thức cos[x]sin[x] = sin[2x]/2, ta được kết quả:

exp = 1 + sin[2x], đây là kết quả cuối cùng.

Bài giải hoàn chỉnh như sau:

3.2.4. Xây dựng các thủ tục xử lý trên biểu thức

− NhanLuongLienHopTuSo[ps,kq]: nhân lượng liên hợp với tử số của một

phân số.

− DatThuaSoChung[f1,f2]: đặt thừa số chung.

− CoTheDuoc[f, fs]: kiểm tra f có thể sử dụng được một công thức trong bộ

công thức fs hay không.

Page 22: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 16 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

− BienDoiCoBan[f, kq, TapCongThuc]: thực hiện một phép biến đổi cơ bản

(hằng đẳng thức, đặt thừa số chung, khai triển, quy đồng, nhân lượng liên

hợp) trên f với biểu thức mục tiêu là kq và sao cho sau khi thực hiện phép

biến đổi này f có thể áp dụng một công thức nào đó trong bộ công thức

TapCongThuc.

− BienDoi[f, kq, TapCongThuc]: tiến hành áp dụng công thức trong bộ công

thức TapCongThuc để biến đổi biểu thức f về biểu thức mục tiêu kq, nếu

không áp dụng được công thức nào thì thực hiện BienDoiCoBan sao cho f

áp dụng được công thức trong TapCongThuc. Vòng lặp trong thủ tục này

dừng khi biến đổi được f về kq (lý tưởng nhất) hay không thể áp dụng được

một công thức nào nữa.

− BoCongThucThichHopNhat[f, TapTatCaCacCongThuc]: chọn bộ một công

thức “thích hợp” với một biểu thức nhất

− DanhSachCongThucCoThe[f, TapCongThuc]: tìm tất cả những công thức

có thể áp dụng được cho biểu thức f từ bộ công thức thích hợp nhất.

− ChonCongThucTotNhat[f, kq, DSCongThucCoThe]: từ bộ công thức b, chọn

một công thức “thích hợp” nhất đối với biểu thức từ tập hợp tất cả những

công thức có thể:

− RutGon[f]: rút gọn biểu thức f.

3.3. Chương trình minh họa

Chương trình minh họa được cài đặt trên môi trường web, sử dụng ngôn ngữ php

để xử lý các sự kiện vả cơ sở dữ liệu MySQL để lưu trữ cơ sở tri thức và động cơ suy

diễn. Cơ sở dữ liệu gồm các bảng:

− Bảng KhaiBao chứa các khai báo định nghĩa các hàm (phần Predicate).

− Bảng CongThuc chứa các bộ công thức ứng với tập Facts và Rules.

− Bảng ThuTuc chứa các thủ tục tương ứng với các giải thuật của chương

trình.

Page 23: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 17 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

Chức năng cơ bản của chương trình:

− Cập nhật cơ sở tri th ức: cho phép người dùng thêm/xóa/sửa các khai

báo, các công thức và các thủ tục và lưu trữ trong cơ sở dữ liệu.

− Rút gọn biểu thức: cho phép người dùng thực hiện một thao tác rút gọn

một biểu thức, xem chi tiết lời giải trung gian và đáp số cuối cùng.

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

Page 24: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 18 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

Hình 4. Giao diện chương trình minh họa – Cập nhật cơ sở tri th ức

Page 25: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 19 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

PHẦN III. K ẾT LUẬN

Có nhiều phương pháp biểu diễn tri thức khác nhau. Mỗi phương pháp đều có ưu

điểm và hạn chế nhất định. Mỗi phương pháp thích hợp với từng lĩnh vực chuyên môn

cụ thể, phục vụ cho việc giải quyết một lớp bài toán đặc trưng nhất định.

Bài tiểu luận đã trình bày một cách cô đọng một số phương pháp biểu diễn tri

thức phổ biến và giới thiệu một phương pháp biểu diễn tri thức dạng hàm. Bài viết

cũng giới thiệu một chương trình nhỏ để minh họa cách biểu diễn và lập luận dựa trên

tri thức dạng hàm.

Nội dung bài tiểu luận không nằm ngoài phạm vi môn học “Bi ểu diễn tri th ức

và ứng dụng”, nhằm củng cố phần lý thuyết được học và cài đặt minh họa một kỹ

thuật biểu diễn tri thức cụ thể là tri thức dạng hàm nên còn có nhiều hạn chế nhất định

cần được phát triển thêm để tiến tới xây dựng và hoàn thiện một hệ thống giải toán tự

động dựa trên tri th ức.

Page 26: CH1101017-Vu Dang Khoi - Bieu Dien Tri Thuc Dang Ham Va Ung Dung

Biểu diễn tri thức và ứng dụng - 20 - GVHD: PGS. TS. Đỗ Văn Nhơn

Học viên:Vũ Đăng Khôi Cao học CNTT khóa 6/2011

TÀI LI ỆU THAM KH ẢO

[1] Đỗ Văn Nhơn (2001). 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. Luận án tiến sĩ toán học.

[2] Đỗ Văn Nhơn (2012). Bài giảng môn học: Biểu diễn tri thức và ứng dụng. Trường

ĐH CNTT TP. HCM.

[3] Hoàng Kiếm (2004). Bài giảng logic ứng dụng trong Tin học. Đại học Khoa học tự

nhiên TP. HCM.

[4] Hoàng Kiếm (chủ biên – 2008). Giáo trình Các hệ cơ sở tri thức. NXB ĐH Quốc

gia TP. HCM, 2008.

[5] Nguyễn Thủy Đoan Trang (2003). Mô hình tri thức dạng hàm và áp dụng. Luận

văn thạc sĩ tin học.