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ủatri 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ốn
Trang 1CHƯƠNG I KHÁI NIỆM VỀ TRI THỨC VÀ BIỂU DIỄN TRI THỨC 2
1 Khái niệm về tri thức (knowledge) 2
2 Khái niệm về biểu diễn tri thức 3
3 Ví dụ về biểu diễn tri thức 4
4 Phân loại biểu diễn tri thức 5
CHƯƠNG II CÁC PHƯƠNG PHÁP BIỄU DIỄN TRI THỨC 7
1 Biểu diễn dựa trên logic hình thức 7
2 Hệ luật dẫn 8
3 Mạng ngữ nghĩa 9
4 Các khung 10
CHƯƠNG III SUY DIỄN TỰ ĐỘNG 11
1 Khái niệm 11
2 Hợp giải trong tri thức dạng logic 11
3 Suy diễn tiến 11
4 Suy diễn lùi 12
5 Suy diễn hỗn hợp 12
CHƯƠNG IV THUẬT GIẢI HEURISTIC 13
1 Khái niệm 13
2 Hàm Heuristic 14
CHƯƠNG V CÀI ĐẶT THUẬT GIẢI HEURISTIC 20
1 Giải thuật trên maple 20
CHƯƠNG VI KẾT QUẢ ĐẠT ĐƯỢC 23
CHƯƠNG VII TÀI LIỆU THAM KHẢO 24
1 Tài liệu 24
Trang 2CHƯƠNG I KHÁI NIỆM VỀ TRI THỨC VÀ BIỂU
DIỄN TRI THỨC
1 Khái niệm về tri thức (knowledge)
Tri thức không có được định nghĩa chính xác
Tri thức hay kiến thức có nhiều ý nghĩa tùy theo văn cảnh, nhưng lúc nàocũng có liên quan với những khái niệm như hiểu biết, ý nghĩa, thông tin, giảngdạy, giáo dục (quá trình giáo dục), giao tiếp, diễn tả, học hỏi, suy luận, nhận thức
Trang 32 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ủatri 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
Xây dựng một mô hình biểu diễn tri thức để đưa tri thức lên máy tổ chức lưu
trữ và xử lý, đặc biệt là cho suy luận giải các vấn đề, các bài toán
Mô hình biểu diễn 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 (concepts), với những mối liên hệ cơ bản nhất định
(relationships)
Các quan hệ (relations): xét trên góc độ toán học trong “Toán rời rạc”.
Các toán tử (operators), phép toán, các biểu thức hay công thức
Các hàm (functions)
Các luật (rules)
Sự kiện (facts)
Các thực thể hay đối tượng, một phần tử cụ thể (objects).
Các công cụ cho việc biểu diễn tri thức:
Các cấu trúc dữ liệu cơ bản: dãy, danh sách, tập hợp, mẫu, …
Các cấu trúc dữ liệu trừu tượng: ngăn xếp, hàng đợi
Các mô hình toán học đồ thị: đồ thị, cây
Các mô hình đối tượng
Các ngôn ngữ đặc tả tri thức
Trang 43 Ví dụ về biểu diễn tri thức
Kiến thức về một tam giác cần cho việc giải toán tam giác được biểu diễn gồm:
Một tập hợp các biến thực, mỗi biến đại diện cho một yếu tố của tamgiác
Một tập hợp các công thức liên hệ tính toán trên các yếu tố của tamgiác
Tập các biến trong tam giác gồm:
a, b, c : 3 cạnh của tam giác
, , góc đối diện với 3 cạnh tương ứng trong tam giác
ha, hb, hc : 3 đường cao tương ứng với 3 cạnh của tam giác
S : diện tích tam giác
P : nửa chu vi của tam giác
R : bán kính đường tròn ngoại tiếp tam giác
Trang 54 Phân loại biểu diễn tri thức
Phân loại theo các hệ thống tin học:
Hệ thống thông tin, MIS, GIS, …
Hệ CSTT, HCG, HTGQĐ
Hệ quản ý kho tài liệu theo ngữ nghĩa
V.v…
Phân loại theo lĩnh vực ứng dụng thực tế
Giáo dục (E-learning, E-education, …)
Phần mềm dạy học
Phần mềm tra cứu kiến thức
Phần mềm hỗ trợ giải bài tập (có suy luận dựa trên CSTT)
Phần mềm kiểm tra đánh giá kiến thức
Thương mại (E-commerce)
Internet và các search engineSemantic Web, và Semantic Search
Kinh tế
Tài nguyên, môi trường
Trang 6 V.v…
Các ứng dụng cụ thể
Hệ tra cứu kiến thức, các tự điển kiến thức trên máy tính
Tra cứu kiến thức Toán: Hình học, đại số, giải tích, đại sốtuyến tính, …
Tra cứu kiến thức Vật lý
Tra cứu kiến thức Hóa học
Hệ tra giải bài toán dựa trên CSTT
Hệ giải bài tập HHP, Đại số, HHGT, …
Hệ giải bài toán điện xoay chiều, điện 1 chiều
Hệ giải một số lớp bài toán Hóa học
Phần mềm dạy học
Phần mềm dạy học tiếng Anh
V.v…
Hệ quản lý và hỗ trợ tìm kiếm các văn bản về CNTT
Hệ quản lý kho tài nguyên học tập về CNTT (hoặc ngoại ngữ, vật,hóa, …)
Hệ quản lý văn bản cho một UBND cấp phường, quận, …
Trang 7CHƯƠNG II CÁC PHƯƠNG PHÁP BIỄU DIỄN
TRI THỨC
1 Biểu diễn dựa trên logic hình thức
Sử dụng các biểu thức logic hình thức trong một hệ thống logic để diễn đạtcá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ônngữ lập trình hỗ trợ cho phương phát này Đó là ngôn ngữ 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 trên tri thức được khai báo
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 địnhbởi tên vị từ và các kiểu tham biến
Ví dụ: gioi(x:sinhvien), 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.
=> Nên dùng PROLOG, công cụ xử lý biểu diễn theo vị từ.
Predicates
us(integer, integer)uscln(integer, integer, integer)clauses
uscln(A,0,A)
uscln(0,A,A)
uscln(A,B,D) :- A > B, A1 = A-B, uscln(A1,B,D)
Trang 8uscln(A,B,D) :- A <= B, B1 = B-A, uscln(A,B1,D).
goal
uscln(24,36, What)Run What = 12
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: (Facts, Rules)
Facts: là tập ký hiệu đại diện cho các sự kiện.
Rules là tập luật dẫn trong đó <giả thiết> và <kết luận> là các tập hợp
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,
Trang 9 Mạng ngữ nghĩa (semantic network) có dạng một đồ thị các nút và các cung:
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
Dựa trên mạng ngữ nghĩa ta nhận biết tri thứ 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
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ữ
a : cạnh a của tam giác
b : cạnh b của tam giác
Trang 10S : diện tích tam giác
…End_variablesBegin_formulas
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
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ổn quát của một lớp các đối tượng, vớinhững quan hệ kế thừa và cấu trúc phân cấp
Trang 11CHƯƠNG III SUY DIỄN TỰ ĐỘNG
1 Khái niệm
Suy diễn nhằm vận dụng kiến thức đã biết trong quá trình lập luận giải quyếtvấn đề trong đó quan trọng nhất là các chiến lược điều khiển phát sinh những sựkiện mới từ các sự kiện đã có
Suy diễn tự động: là quá trình suy diễn được thuật giải hóa và có thể cài đặtthành chương trình máy tính
Các kỹ thuật cơ bản:
Suy diễn tiến
Suy diễn lùi
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ụngcác luật suy diễn cơ bản trên các biểu thức logic như: Modus Ponens, ModusTollens, 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ậthợp nhất (unification) và quay lui (backtracking
PROLOG là một ngôn ngữ lập trình được thiết kế với chức năng suy diễntheo phương pháp này
3 Suy diễn tiến
Phương pháp: 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ầngiả 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ấytrạ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
Trang 12 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ắcheuristic trong việc chọn luật.
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 đượctiến hành bằng cách truy ngược từ mục tiêu cần đạt trở về phần giả thiết của bàitoá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ắcheuristic trong việc chọn luật
5 Suy diễn hỗn hợp
Phương pháp: kết hợp cả 2 quá trình suy diễn tiến và suy diễn lùi nhằm khắcphụ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 suydiễ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ôngcảm nhận được sự cần chuyển hướng dòng suy nghĩ
Trang 13CHƯƠNG IV THUẬT GIẢI HEURISTIC
1 Khái niệm
Thuật giải Heuristic là một sự mở rộng khái niệm thuật toán Nó thể hiện cách giải bài toán với các đặc tính sau:
Thường tìm được lời giải tốt (nhưng không chắc là lời giải tốt nhất)
Giải bài toán theo thuật giải Heuristic thường dễ dàng và nhanh chóng đưa ra kết quả hơn so với giải thuật tối ưu, vì vậy chi phí thấp hơn
Thuật giải Heuristic thường thể hiện khá tự nhiên, gần gũi với cách suy nghĩ và hành động của con người
Có nhiều phương pháp để xây dựng một thuật giải Heuristic, trong đó người ta thường dựa vào một số nguyên lý cơ bản như sau:
Nguyên lý vét cạn thông minh: Trong một bài toán tìm kiếm nào đó,khi không gian tìm kiếm lớn, ta thường tìm cách giới hạn lại không giantìm kiếm hoặc thực hiện một kiểu dò tìm đặc biệt dựa vào đặc thù của bàitoán để nhanh chóng tìm ra mục tiêu
Nguyên lý tham lam (Greedy): Lấy tiêu chuẩn tối ưu (trên phạm vitoàn cục) của bài toán để làm tiêu chuẩn chọn lựa hành động cho phạm vicục bộ của từng bước (hay từng giai đoạn) trong quá trình tìm kiếm lờigiải
Nguyên lý thứ tự: Thực hiện hành động dựa trên một cấu trúc thứ tựhợp lý của không gian khảo sát nhằm nhanh chóng đạt được một lời giảitốt
2 Hàm Heuristic
Trong việc xây dựng các thuật giải Heuristic, người ta thường dùng các hàmHeuristic Đó là các hàm đánh già thô, giá trị của hàm phụ thuộc vào trạng thái
Trang 14hiện tại của bài toán tại mỗi bước giải Nhờ giá trị này, ta có thể chọn được cáchhành động tương đối hợp lý trong từng bước của thuật giải.
Bài toán hành trình ngắn nhất – ứng dụng nguyên lý Greedy
Bài toán: Hãy tìm một hành trình cho một người giao hàng đi qua n
điểm khác nhau, mỗi điểm đi qua một lần và trở về điểm xuất phát sao chotổng chiều dài đoạn đường cần đi là ngắn nhất Giả sử rằng có con đường nốitrực tiếp từ giữa hai điểm bất kỳ
Tất nhiên ta có thể giải bài toán này bằng cách liệt kê tất cả con đường
có thể đi, tính chiều dài của mỗi con đường đó rồi tìm con đường có chiềudài ngắn nhất Tuy nhiên, cách giải này lại có độ phức tạp 0(n!) (một hànhtrình là một hoán vị của n điểm, do đó, tổng số hành trình là số lượng hoán
vị của một tập n phần tử là n!) Do đó, khi số đại lý tăng thì số con đườngphải xét sẽ tăng lên rất nhanh
Một cách giải đơn giản hơn nhiều và thường cho kết quả tương đối tốt
là dùng một thuật giải Heuristic ứng dụng nguyên lý Greedy Tư tưởng củathuật giải như sau:
Từ điểm khởi đầu, ta liệt kê tất cả quãng đường từ điểm xuất phát cho đến nđại lý rồi chọn đi theo con đường ngắn nhất
Khi đã đi đến một đại lý, chọn đi đến đại lý kế tiếp cũng theo nguyên tắctrên Nghĩa là liệt kê tất cả con đường từ đại lý ta đang đứng đến những đại
lý chưa đi đến Chọn con đường ngắn nhất Lặp lại quá trình này cho đếnlúc không còn đại lý nào để đi
Bạn có thể quan sát hình sau để thấy được quá trình chọn lựa Theo nguyên
lý Greedy, ta lấy tiêu chuẩn hành trình ngắn nhất của bài toán làm tiêuchuẩn cho chọn lựa cục bộ Ta hy vọng rằng, khi đi trên n đoạn đường ngắnnhất thì cuối cùng ta sẽ có một hành trình ngắn nhất Điều này không phảilúc nào cũng đúng Với điều kiện trong hình tiếp theo thì thuật giải chochúng ta một hành trình có chiều dài là 14 trong khi hành trình tối ưu là 13
Trang 15với kết quả tối ưu Trong khi đó, độ phức tạp của thuật giải Heuristic nàychỉ là 0(n2).
Hình 4.1.1 : Giải bài toán sử dụng nguyên lý Greedy
Tất nhiên, thuật giải theo kiểu Heuristic đôi lúc lại đưa ra kết quảkhông tốt, thậm chí rất tệ như trường hợp ở hình sau
Trang 16 Bài toán phân việc – ứng dụng của nguyên lý thứ tự
Bài toán: Một công ty nhận được hợp đồng gia công m chi tiết máy
J1, J2, … Jm Công ty có n máy gia công lần lượt là P1, P2, … Pn Mọi chitiết đều có thể được gia công trên bất kỳ máy nào Một khi đã gia công mộtchi tiết trên một máy, công việ sẽ tiếp tục cho đến lúc hoàn thành, không thể
bị cắt ngang Để gia công một việc J1 trên một máy bất kỳ ta cần dùng mộtthời gian tương ứng là t1 Nhiệm vụ của công ty là phải làm sao gia côngxong toàn bộ n chi tiết trong thời gian sớm nhất
Chúng ta xét bài toán trong trường hợp có 3 máy P1, P2, P3 và 6 côngviệc với thời gian là t1=2, t2=5, t3=8, t4=1, t5=5, t6=1 ta có một phương
án phân công (L) như hình sau:
Theo hình này, tại thời điểm t=0, ta tiến hành gia công chi tiết J2 trên máyP1, J5 trên P2 và J1 tại P3 Tại thời điểm t=2, công việc J1 được hoàn
Trang 17P2 vẫn đang thực hiện công việc đầu tiên mình … Sơ đồ phân việc theohình ở trên được gọi là lược đồ GANTT Theo lược đồ này, ta thấy thời gian
để hoàn thành toàn bộ 6 công việc là 12 Nhận xét một cách cảm tính ta thấyrằng phương án (L) vừa thực hiện là một phương án không tốt Các máyP1 và P2 có quá nhiều thời gian rãnh
Thuật toán tìm phương án tối ưu Lo cho bài toán này theo kiểu vét cạn có
độ phức tạp cỡ O(mn) (với m là số máy và n là số công việc) Bây giờ ta xétđến một thuật giải Heuristic rất đơn giản (độ phức tạp O(n)) để giải bài toánnày
Sắp xếp các công việc theo thứ tự giảm dần về thời gian gia công
Lần lượt sắp xếp các việc theo thứ tự đó vào máy còn dư nhiều thời giannhất
Với tư tưởng như vậy, ta sẽ có một phương án L* như sau:
Rõ ràng phương án L* vừa thực hiện cũng chính là phương án tối ưu củatrường hợp này vì thời gian hoàn thành là 8, đúng bằng thời gian của côngviệc J3 Ta hy vọng rằng một giải Heuristic đơn giản như vậy sẽ là mộtthuật giải tối ưu Nhưng tiếc thay, ta dễ dàng đưa ra được một trường hợp
mà thuật giải Heuristic không đưa ra được kết quả tối ưu
Trang 18 Nếu gọi T* là thời gian để gia công xong n chi tiết máy do thuật giảiHeuristic đưa ra và T0 là thời gian tối ưu thì người ta đã chứng minh đượcrằng
Trong trường hợp M lớn thì tỷ số 1/M xem như bằng 0 Như vậy, sai số tối
đa mà ta phải chịu là T* ≤ 4/3 T0, nghĩa là sai số tối đa là 33% Tuy nhiên,khó tìm ra được những trường hợp mà sai số đúng bằng giá trị cực đại, dùtrong trường hợp xấu nhất Thuật giải Heuristic trong trường hợp này rõràng đã cho chúng ta những lời giải tương đối tốt
Trang 20CHƯƠNG V CÀI ĐẶT THUẬT GIẢI HEURISTIC
1 Giải thuật trên maple
Trang 23CHƯƠNG VI KẾT QUẢ ĐẠT ĐƯỢC
Do thời gian có hạn nên chương trình còn khá đơn giản và hạn chế Tuy nhiên đã cơbản cài đặt được thuật toán HEURISTIC trên máy tính để giải toán nguyên hàm
Tiếp tục hoàn thiện chương trình áp dụng cho việc xử lý và giải toán tích phân