Biểu diễn tri thức giúp có thể tổ chức và cài đặt một cơ sở tri thức cho các hệ chuyên gia, các hệ cở sở tri thức và các hệ giải bài toán dựa trên tri thức.. Cấu trúc của hệ giải toán dự
Trang 1LỜI MỞ ĐẦU
Ngày nay, khoa học máy tính và CNTT phát triển mạnh mẽ, đã thâm nhập vào hầu hết các hoạt động của con người Nhu cầu của con người về các ứng dụng công nghệ thông tin ngày càng cao, từ những ứng dụng đơn giản đến những hệ chuyên gia hỗ trợ ra quyết định Nhu cầu đòi hỏi các ứng dụng thông minh đang ngày trở nên cấp thiết Có một khó khăn trong việc phát triển các ứng dụng CNTT đó là việc hiện thực ý niệm của con người bằng ngôn ngữ tự nhiên lên ngôn ngữ máy tính Đó là vấn đề đặt ra và là nội dung cốt lỏi của bộ môn biểu diễn tri thức
Trong nội dung bài tiểu luận này, Em xin khái quát lý thuyết về biểu diễn tri thức, và cách tiếp cận để giải một bài toán tự động Bên cạnh đó, Em cũng xin gửi lời cảm ơn đến thầy PGS.TS Đỗ Văn Nhơn, đã tận tình truyền đạt cho em những kiến thức bổ ích
CHƯƠNG I TỔNG QUAN VỀ BIỂU DIỄN TRI THỨC
1 Tri thức và biểu diễn tri thức
1.1 Khái niệm tri thức
Tri thức là một hệ thống phức tạp, đa dạng và trừu tượng bao gồm nhiều thành tố với
những mối liên hệ tác động qua lại như:
- Các khái niệm với những mối liên hệ cơ bản nhất định (relationships)
Trang 2- Biết một tam giác có các yếu tố nào cùng với các công thức liên hệ giữa các yếu tố là tri thức.
- Biết các dạng cấu trúc dữ liệu thường dùng trong lập trình cùng với các thuật toán xử
lý cơ bản trên các cấu trúc là tri thức
1.2 Khái niệm về biểu diễn tri thức
Biểu diễn tri thức (Knowledge Representation) là sự diễn đạt và thể hiện của tri thức dưới những dạng thích hợp để có thể tổ chức một cơ sở tri thức của hệ thống
Biểu diễn tri thức giúp có thể tổ chức và cài đặt một cơ sở tri thức cho các hệ chuyên gia, các hệ cở sở tri thức và các hệ giải bài toán dựa trên tri thức
1.3 Các dạng tri thức
- Tri thức mô tả: các khái niệm, các đối tượng cơ bản
- Tri thức cấu trúc: các khái niệm cấu trúc, các quan hệ, các đối tượng phức hợp,
- Tri thức thủ tục: các luật dẫn, các thủ tục xử lý, các chiến lược, …
- Tri thức meta: tri thức về các dạng tri thức khác và cách sử dụng chúng
2 Cấu trúc của hệ giải toán dựa trên tri thức
2.1 Cấu trúc hệ thống
Cấu trúc của một hệ giải toán thông minh
Có thể nói rằng phần cốt lõi của hệ thống là phần cơ sở tri thức, trong đó có các kiến thức cần thiết cho việc giải các bài toán Bộ suy diễn (còn gọi là mô-tơ suy diễn) sẽ áp dụng kiến thức trong cơ sở tri thức để tìm lời giải cho bài toán
Trang 32.2 Vấn đề biểu diễn tri thức
Biểu diễn tri thức đóng vai trò rất quan trọng trong thiết kế và xây dựng một hệ
giải bài toán thông minh và các hệ chuyên gia George F, Luger và Gerhard
Lakemeyer đã tổng kết các phương pháp biểu diễn tri thức khác nhau và phân làm
4 loại: biểu diễn dựa trên logic hình thức, biểu diễn dựa trên tri thức làm thủ tục,
biểu diễn dạng mạng, và biểu diễn cấu trúc
2.3 Vấn đề suy diễn tự động
Suy diễn tự động để giải quyết các bài toán dựa trên tri thức cũng là một vấn đề quan trọng Các phương pháp suy diễn tự động nhằm vận dụng kiến thức đã biết trong quá trính lập luận giải quyết vấn đề trong đó quan trọng nhất là các chiến lược điều khiển giúp phát sinh những sự kiện mới từ các sự kiện đã có
Xây dựng và phát triển các phương pháp biểu diễn tri thức là một hướng nghiên cứu quan trọng cho các nhà nghiên cứu về Trí tuệ Nhân tạo
3 Các phương pháp biểu diễn tri thức
3.1 Biểu diễn dựa trên logic hình thức
Mô hình: (Predicates, Clauses)
Predicates là tập gồm các vị từ, mỗi vị từ biểu diễn cho phát biểu nói về một tính chất
của đối tượng hay một quan hệ giữa các đối tượng mỗi vị từ xác định bởi tên vị từ và các kiểu tham biến
Ví dụ: gioi(x:sinhvien)
Ví dụ: vg(v: vector, P: plane)
Clauses là tập gồm các biểu thức vị từ gồm 2 dạng fact và rule.
Sử dụng các biểu thức logic hình thức trong một hệ thống logic để diễn đạt các sự kiện và các luật trong cơ sở tri thức
Phép tính logic vị từ cấp 1 được sử dụng phổ biến nhất và có cả một ngôn ngữ lập trình hỗ trợ cho phương pháp này Đó là ngôn ngữ lập trình PROLOG
Trong ngôn ngữ PROLOG, chỉ cần khai báo các sự kiện và các luật Hệ thống sẽ thức hiện giải quyết vấn đề được yêu cầu dựa trên tri thức được khai báo
Trang 43.2 Hệ luật dẫn
Mỗi luật dẫn được phát biểu dưới dạng: if <giả thiết>then <kết luận>
Mô hình: Một cách hình thức, hệ luật dẫn gồm
Tập ký hiệu đại diện cho các sự kiện
- Tập luật dẫn trong đó <giả thiết> và <kết luận> là các tập hợp sự kiện
- Nhận xét: Mô hình hệ luật dẫn trên khó áp dụng trực tiếp vì quan niệm sự kiện khá đơn giản
Ví dụ: một phần kiến thức về một tam giác trong hình học
Các yếu tố của tam giác, mỗi sự kiện là một phát biểu nói lên tính xác định của yếu tố
ký hiệu cho các sự kiện: a, b, c, A, B, C, S, p, R, ha, hb, hc,…
Các luật nói lên liên hệ “dẫn xuất” giữa các sự kiện:
- Mô hình: (Facts, Rules)
Facts gồm các phát biểu chỉ các sự kiện hay tác vụ nào đó.
Rules gồm luật dẫn có dạng “if … then …”.
Phần tri thức trên có thể biểu diễn theo mô hình hệ luật dẫn (Facts, Rules) gồm:
Facts = {a, b, c, A, B, C, S, p, R, ha, hb, hc, …}
End
Cấu trúc file Rules.txt:
Begin
Trang 5{A, B} => {C} : luật về góc tam giác.
v.v…
End
Vấn đề suy diễn (suy luận) trên hệ luật dẫn:
Cho trước hệ luật dẫn K = (Facts, Rules) Giả sử có một tập sự kiện GT đã xác định, ta xét một tập sự kiện mục tiêu KL Hỏi có thể suy ra KL từ GT dựa trên tri thức K hay
không ?
Ký hiệu bài toán: GT KL
3.3 Mạng ngữ nghĩa
Mô hình tri thức dạng đồ thị: (Nodes, Arcs)
Nodes gồm các yếu tố hay các bộ phận cấu thành tri thức Các node có thể là khái niệm,
đối tượng, sự kiện, cấu trúc trừu tượng, …
Arcs gồm các liên kết biểu diễn cho các quan hệ giữa các nodes Các quan hệ có thể là:
IS_A, HAS_A, …
Tổ chức lưu trữ: Dựa trên các kỹ thuật biểu diễn và tổ chức lưu trữ xử lý đồ thị
Ví dụ: Biểu diễn ma trận, biểu diễn dạng danh sách kề hay danh sách cạnh, …
Ví dụ 1: “Mạng tính toán trên tam giác”
Tamgiac.txt:
Begin_variables
a : cạnh a của tam giác
b : cạnh b của tam giác
A + B + C = pi : công thức về góc tam giác
S = sqrt(p*(p-a)*(p-b)*(p-c)) : Công thức Hê-rông
End_formulas
Mạng ngữ nghĩa (semantic network) có dạng một đồ thị gồm các nút và các cung, trong đó:
- Các nút thể hiện các khái niệm, các đối tượng
- Các cung thể hiện các quan hệ giữa các đối tượng
Trang 6Dựa trên mạng ngữ nghĩa ta nhận biết tri thức một cách trực quan giúp thiết kế các xử
lý như: thêm/bớt các khái niệm hay các đối tượng, tìm kiếm thông tin
Nhận xét: Mô hình khá trừu tượng và khái quát, trong áp dụng phải phát triển các mô hình tri thức cụ thể hơn
3.4 Các khung (frame)
Các khung (frame) thể hiện các khái niệm dưới dạng cấu trúc mẫu tin và có hình thức như một bảng mẫu
Khung cơ bản: gồm các thành phần cơ bản sau
- Tên đối tượng (loại khung)
- Các thuộc tính
- Giá trị của các thuộc tính
Khung lớp: thể hiện các tính chất tổng quát của một lớp các đối tượng, với những quan hệ kế thừa và cấu trúc phân cấp
Các kỹ thuật suy diễn cơ bản:
- Suy diễn tiến
- Suy diễn lùi
4.2 Hợp giải trong tri thức dạng logic
Phương pháp: Thực hiện quá trình phát sinh sự kiện mới bằng cách sử dụng các luật suy diễn cơ bản trên các biểu thức logic như: Modus Ponens, Modus Tollens, tam đoạn luận
Trong logic vị từ: Quá trình hợp giải có thể được cài đặt dựa trên kỹ thuật hợp nhất (unification) và quay lui (backtracking)
Trang 7PROLOG là một ngôn ngữ lập trình được thiết kế với chức năng suy diễn theo phương pháp này.
4.3 Suy diễntiến
Suy dẫn từ giả thiết đi đến kết luận
Chiến lược này được bắt đầu bằng tập sự kiện đã biết, rút ra các sự kiện mới nhờ dùng các luật mà phần giả thiết khớp với sự kiện đã biết, và tiếp tục quá trình này cho đến khi thấy trạng thái đích, hoặc cho đến khi không còn luật nào khớp được các sự kiện đã biết hay được sự kiện suy luận Trong áp dụng cụ thể phương pháp thường sử dụng kết hợp với các qui tắc heuristic trong việc chọn luật
4.4 Suy diễn lùi
Phương pháp: Truy ngược từ kết luận trở về giả thiết Phương pháp này được tiến hành bằng cách truy ngược từ mục tiêu cần đạt được trở về phần giả thiết của bài toán bằng cách áp dụng các luật trong cơ sở tri thức
Quá trình suy diễn lùi này sẽ phát sinh một sơ đồ cây mục tiêu kèm theo một cơ chế quay lui và lời giải sẽ được tìm thấy khi tất cả các mục tiêu ở các nút lá của cây mục tiêu đều thuộc về những sự kiện đã biết Trong áp dụng cụ thể phương pháp thường sử dụng kết hợp với các qui tắc heuristic trong việc chọn luật
4.5 Suy diễn hỗn hợp
Phương pháp: Kết hợp 2 quá trình suy diễn tiến và suy diễn lùi nhằm khắc phục
khuyết điểm của mỗi phương pháp và nâng cao hiệu quả của quá trình suy diễn trong áp dụng cụ thể
Nhược điểm của suy diễn tiến: Không cảm nhận được sự gần tới đích
Nhược điểm của suy diễn lùi: thường dẫn tới sự phân nhánh lớn và không cảm nhận được
sự cần chuyển hướng dòng suy nghĩ
5 Giới thiệu, nhận định một số công trình nghiên cứu
5.1 Các phương pháp biểu diễn tri thức
Các phương pháp chung: các phương pháp biểu diễn theo logic hình thức, các phương pháp biểu diễn thủ tục, các phương pháp biểu diễn dạng mạng và các phương pháp biểu diễn cấu trúc
Trang 8Ưu điểm của mỗi phương pháp: thích hợp cho việc biểu diễn từng dạng tri thức riêng lẻ.Nhược điểm chung: chỉ biểu diễn được một khía cạnh của tri thức đa dạng và chưa hướng tới một mô hình tri thức bao hàm nhiều dạng thông tin và nhiều dạng sự kiện khác nhau.
5.2 Một số lý thuyết về chứng minh tự động
Phương pháp hình thức: xây dựng các hệ thống logic khác nhau bao gồm tập ký hiệu,
cú pháp của công thức hình thức, ngữ nghĩa và hệ luật trên các công thức
Ưu điểm: Tính chặc chẽ cao, khá đơn giản với sô luật không nhiều
Nhược điểm: Trừu tượng và không thich hợp cho nhiều ứng dụng cụ thể như hệ giải bài toán hình học, các hệ chuyên gia ứng dụng
5.3 Một số phương pháp chứng minh định lý hình học.
Phương pháp diện tích chủ yếu tập trung vào sự thẳng hàng và sự song song
Phương pháp hiệu Pythagoras (Pythagoras Difference) tập trung vào khảo sát sự vuông góc của đường thẳng và đường tròn Hiệu Pythagoras còn có thể được sử dụng để khảo sát sự song song và có liên quan đến phương pháp diện tích
Phương pháp “full angle”:đề xuất một khái niệm hình thức liên quan đến góc “full angle”
và thực hiện một số chứng minh tự động dựa trên khái niệm này
Phương pháp “thể tích” và phương pháp hiệu Pythagoras cho không gian
Phương pháp vector sử dụng đại số tuyến tính và lý thuyết về không gian vector trong chứng minh định lý hình học
5.4 Phương pháp Wu
Phương pháp Wu là một phương pháp biểu diễn và chứng minh định lý hình học theo cách tiếp cận đại số: biểu diễn các sự kiện dựa trên các đa thức và các tính toán trên tập nghiệm của các đa thức
Ưu điểm: Phương pháp nầy cho ta một biểu diễn khá đẹp về mặt lý thuyết toán học
5.5 Các phương pháp chứng minh hình học bằng máy tính
Tổng kết các nghiên cứu về chứng minh tự động các bài toán hình học, S.C Chou và các đồng tác giả đã liệt kê các phương pháp khác nhau có thể dùng để chứng minh các bài toán hình học bằng máy tính Hạn chế lớn nhất của các phương pháp này là chúng không cho ta một mô hình biểu diễn tri thức tốt giúp xây dựng một cơ sở tri thức, bộ suy diễn và các thành phần khác của hệ thống
Trang 95.6 Một số nghiên cứu xây dựng hệ giải toán hình học
Một số nghiên cứu xây dựng hệ giải toán hình học như:
“xây dựng hệ giải toán hình học phẳng”, luận văn thạc sĩ nặm 2000 của lê phấn ninh
“xây dựng hệ chứng minh hình học”, luận văn thạc sĩ nặm 1999 của trần xuân phương
5.7 Một số sản phẩm của phần mềm giải toán
Các chương trình toán học và hình học trong bộ phần mềm Engineering 2000, chương trình StudyWorks, Chương trình Math Expess!, phần mềm toán học MAPLE,
MATHEMATICA, MATHCAD, REDUCE, v.v…
CHƯƠNG 2 MẠNG SUY DIỄN TÍNH TOÁNGiới thiệu
Nghiên cứu các phương pháp biểu diễn và xử lý tri thức là cốt lõi cho việc xây dựng những chương trình “thông minh”, đặc biệt là các hệ chuyên gia và các hệ giải toán dựa trên tri thức
Phần này sẽ nêu lên một mô hình biểu diễn tri thức được gọi là Mạng Suy diễn - Tính toán Các thuật giải cho các vấn đề cơ bản trên mô hình được thiết kế và áp dụng trong một số chương trình cụ thể
1 Dẫn nhập
Sự cần thiết của việc nghiên cứu xây dựng và phát triển các mô hình biểu diễn tri thức cho các chương trình giải toán thông minh
1.1 Vấn đề biểu diễn tri thức
Trong cấu trúc của một hệ giải toán dựa trên tri thức, 2 thành phần trung tâm là cơ sở tri thức và bộ suy diễn dựa trên tri thức Trên thực tế, đã có nhiều phương pháp biểu diễn tri thức và suy diễn đã được nghiên cứu và đề xuất Tuy nhiên mỗi phương pháp đều chỉ thể hiện được một khía cạnh nào đó của tri thức và có những nhược điểm nhất định Cần xây dựng và phát triển các mô hình biểu diễn tri thức giúp thiết kế và cài đặt phần tri thức cũng như phần suy diễn của các hệ giải toán dựa trên tri thức
Trang 101.2 Các ví dụ dẫn tới mô hình
Trong nhiều chủ đề giải toán thường gặp những vấn đề đặt ra dưới dạng như sau: Cần phải thực hiện những tính toán hay suy diễn ra những yếu tố cần thiết nào đó từ một số yếu tố đã được biết trước
Để giải quyết vấn đề người ta phải vận dụng một số hiểu biết (tri thức) nào đó về những liên hệ giữa các yếu tố đang được xem xét Những liên hệ cho phép ta có thể suy
ra được một số yếu tố từ giả thiết đã biết một số yếu tố khác
Ví dụ 1:
Giả sử chúng ta đang quan tâm đến một số yếu tố trong một tam giác, chẳng hạn : 3 cạnh a, b, c; 3 góc tương ứng với 3 cạnh : ?, ?, ?; 3 đường cao tương ứng : ha, hb, hc; diện tích S của tam giác; nửa chu vi p của tam giác; bán kính đường tròn nội tiếp r của tam giác
Giữa 12 yếu tố trên có các công thức thể hiện những mối quan hệ giúp ta có thể giải quyết được một số vấn đề tính toán đặt ra như: Tính một yếu tố từ một số yếu tố được cho trước Chẳng hạn, tính S khi biết a, b và p
Trong tam giác chúng ta có thể kể ra một số quan hệ dưới dạng công thức sau đây:
csin
bsin
6 Mạng suy diễn và các vấn đề cơ bản
2.1 Quan hệ và luật suy diễn
Quan hệ suy diễn:
Cho M {x1,x2, ,xm} là một tập hợp các biến có thể lấy giá trị trong các miền xác định D1,
Trang 11D2, ,Dm Mỗi quan hệ suy diễn R trên M được xác định bởi một (hay một số) ánh xạ có dạng: fR,u,v : Du→ Dv,
Trong đó u,v là các bộ biến được phân chia từ bộ biến
x = <x1,x2, ,xm>; Du và Dv là tích của các miền xác định tương ứng của các biến trong
u và trong v
Quan hệ suy diễn R(x) có thể được biểu diễn bởi một (hay một số) ánh xạ fR,u,v và ta viết vắn tắt là: f : u ⇒ v
Cách ký hiệu trên bao hàm ý nghĩa như một luật suy diễn: ta có thể xác định hay suy
ra được các biến thuộc v khi biết các biến thuộc u
Quan hệ là đối xứng và có hạng k khi quan hệ đó giúp ta có thể tính được k biến bất
kỳ từ m-k biến kia (ở đây x là bộ gồm m biến < x1,x2, ,xm >)
7 Mạng suy diễn
7.1 Định nghĩa
Mạng suy diễn, viết tắt là MSD, là một cấu trúc (M,F) gồm 2 tập hợp:
M = {x1,x2, ,xn}, là tập hợp các thuộc tính hay các biến lấy giá trị trong các miền xác định nào đó
F = {f1,f2, ,fm}, là tập hợp các luật suy diễn có dạng:
Trang 12Nếu có thể suy ra được B từ A thì quá trình suy diễn như thế nào? Trong trường hợp có nhiều cách suy diễn khác nhau thì cách suy diễn nào là tốt nhất?
Bổ sung giả thiết:
Trong trường hợp không thể xác định được B, thì cần cho thêm điều kiện gì để có thể xác định được B
Ký hiệu bài toán xác định B từ A là:
Ký hiệu bao đóng của A là:
Closure(A)
8.2 Thuật toán tìm lời giải
Mệnh đề:
Dãy quan hệ suy diễn D là một lời giải của bài toán
A → B khi và chỉ khi D áp dụng được trên A và
D(A) ⊇ B
=> Để tìm một lời giải ta có thể làm như sau: Xuất phát từ giả thiết A, ta thử áp dụng các quan hệ để mở rộng dần tập các biến được xác định (được biết); và quá trình nầy tạo ra một sự lan truyền tính xác định trên tập các biến cho đến khi đạt đến tập biến B
8.3 Phân tích quá trình giải
Trong mục nầy ta nêu lên một cách xây dựng quá trình giải từ một lời giải đã biết của bài toán A → B trên mạng (M,F)
Trang 13Đối với một lời giải, rất cĩ khả năng một quan hệ nào đĩ dẫn tới việc tính tốn một số biến thừa, tức là các biến tính ra mà khơng cĩ sử dụng cho các bước tính phía sau Do
đĩ, chúng ta cần xem xét quá trình áp dụng các quan hệ trong lời giải và chỉ tính tốn các biến thật sự cần thiết cho quá trình giải theo lời giải
9 Lời giải tối ưu
được gọi là phần kết luận của luật r và ký hiệu là goal(r) Tập hợp Tập hợp attr(r) =
hypothesis(r) ∪ goal(r) được gọi là tập hợp các thuộc tính trong luật r.
9.2 Lời giải tối ưu
Giả sử (A, D, w) là một mạng suy diễn cĩ trọng số Cho S = {f1, ,fk}là một dãy các luật suy diễn và A là một tập hợp các thuộc tính Đặt
S 1(A) = A ∪ goal(f1) nếu hypothesis(f1) ⊆ A,
= A nếu ngược lại
S i(A) = S i-1(A) ∪ goal(fi) nếu hypothesis (fi) ⊆ S i-1(A),
= S i-1(A) nếu ngược lại, (i=2,…,k)
S (A) = S k(A)
Đặt: w(S) = w(f1) + w(f2) + + w(fk)
Ta gọi w(S) là trọng số của S
9.3 Tìm lời giải tối ưu
Vấn đề: tìm lời giải tối ưu cho bài tốn H ? G trên một mạng suy diễn cĩ trọng số (A,
D, w)
Tiếp cận: thuật giải A*
Cần cĩ một biểu diễn thích hợp cho khơng gian trạng thái của bài tốn cũng như cho yêu cầu của bài tốn