Biểu diễn tri thức và ứng dụng SVTH:Nguyễn Thị Thu Ngân
(CH1101022)
MỤC LỤC
Trang 1
Biểu diễn tri thức và ứng dụng SVTH:Nguyễn Thị Thu Ngân
(CH1101022)
GIỚI THIỆU
Trong Thế kỷ thứ 21, xã hội con người thực hiện cuộc cách mạng về thông tin,
sau cách mạng xanh và cách mạng cơ khí. Tri thức được đánh giá như là quyền lực và
tiền bạc. Xã hội cũng dần chuyển sang xã hội tri thức, tức các sản phẩm quốc dân có
hàm lượng tri thức cao. Từ năm 1964, người ta đã dự đoán xu thế ứng dụng tri thức
trong các ngành Kinh tế quốc dân.Công nghệ thông tin đáp ứng nhu cầu xử lý dữ liệu
và tri thức. Bên cạnh công nghệ phần mềm là công nghệ tri thức. Công nghệ tri thức
được nghiên cứu nhằm tích lũy tri thức của chuyên gia, làm máy tính thực hiện những
chức năng thông minh như người, đồng thời làm con người cũng tự nâng cao bản thân.
các lĩnh vực Trí tuệ nhân tạo, hệ chuyên gia, dịch tự động… đều liên quan đến tri thức.
Nhiều ứng dụng về Công nghệ thông tin đã và đang sử dụng tri thức như dữ liệu meta,
điều khiển quá trình xử lý dữ liệu. Việc lập luận trên các dữ liệu và tri thức đã và đang
mang lại cho con người những thành công ngày càng tăng trong việc xử lý dữ liệu. Mô
hình cơ sở dữ liệu định nghĩa cái gọi là những quy tắc suy diễn được dùng để tự động
suy luận những thực tế mới (gọi là những thực tế được suy luận). Suy luận những thực
tế đã được trở nên sẵn có đối với những người sử dụng thông qua một giao diện hợp
nhất. Những người sử dụng giao tiếp với một cơ chế suy diễn đã thực hiện những mục
đích kiểm tra thông tin, tìm kiếm thông tin và thực hiện các thông tin: kiểm tra thông
tin là một vị từ mà có thể xác định bởi 02 kết quả Đúng hoặc Sai, tìm kiếm thông tin là
một hàm logic định nghĩa với ít nhất một biến tự do.
Trong phạm vi của đề tài em xin trình bày sơ lược một số khái niệm về biểu
diễn tri thức , biểu diễn tri thức với logic mệnh đề và vị từ. Phần cuối của tiểu luận là
chương trình ứng dụng lập trình logic vào trong biểu diễn tri thức.
Trang 2
Biểu diễn tri thức và ứng dụng SVTH:Nguyễn Thị Thu Ngân
(CH1101022)
Tập các biến trong tam giác:
a, b, c : 3 cạnh của tam giác.
α, β, γ : 3 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.
Tập các công thức trong tam giác:
f1 : α + β + γ = π (radian).
f2 : a2 = b2 + c2 - 2.b.c.cos α
f3 : b2 = a2 + c2 - 2.a.c.cos β
f4 : c2 = a2 + b2 - 2.a.b.cos γ
f5 : a / sin α = b / sin β
3. Các dạng tri thức:
Tri thức được thể hiện dưới các dạng:
- 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.
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 đạ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 4
Biểu diễn tri thức và ứng dụng SVTH:Nguyễn Thị Thu Ngân
(CH1101022)
III. Suy diễn tự động.
1. Khái niệm suy diễn tự động
Suy diễn tự động là 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ế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ó.
Suy diễn tự động: Quá trình suy diễn được thuật giải hóa và có thể cài đặt thành
chương trình máy tính.
Các kỹ thuật suy diễn 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
Hợp giải trong tri thức dạng logic là 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). PROLOG 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.
3. Suy diễn tiến
Suy diễn tiến là 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ầ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.
Trang 6
Biểu diễn tri thức và ứng dụng SVTH:Nguyễn Thị Thu Ngân
(CH1101022)
4. Suy diễn lùi
1. Phép tính mệnh đề
Định nghĩa mệnh đề:
Mệnh đề là một phát biểu có thể khẳng định tính đúng hoặc sai. Các ký
hiệu (symbol) của phép tính mệnh đề là các ký hiệu mệnh đề : P, Q, R, S, …
(thông thường nó là các chữ cái in hoa nằm gần cuối bảng chữ cái tiếng Anh),
các ký hiệu chân lý – chân trị (truth symbol) : true, false hay các phép toán kết
nối như : ∧, ∨, ¬, ⇒, =
Các ký hiệu mệnh đề (propositional symbol) biểu thị các mệnh đề
(proposition) hay các phát biểu về thế giới thực mà giá trị của chúng có thể là
đúng hoặc sai.
Mệnh đề đơn giản:
- Đồng l một kim loại => Đúng
- Gỗ l một kim loại => Sai
- Hơm nay l thứ Hai => Sai
- Ký hiệu trong phép tính mệnh đề:
- Ký hiệu mệnh đề: P, Q, R, S,
- Ký hiệu chân lý: true, false
- Các phép toán logic: ∧ (hội), ∨ (tuyển), ¬(phủ định), ⇒ (kéo theo) , =
(tương đương)
Định nghĩa câu trong phép tính mệnh đề:
Câu trong phép tính mệnh đề được cấu tạo từ những ký hiệu sơ cấp (atomic
symbol) theo các luật sau đây :
- Tất cả các ký hiệu mệnh đề và ký hiệu chân lý đều là câu (sentences) :
true, P, Q và R là các câu.
- Phủ định của một câu là một câu : ¬ P và ¬ false là các câu
- Hội hay và của hai câu là một câu : P ∧ ¬ P là một câu
- Tuyển hay hoặc của hai câu là một câu : P ∨ ¬ P là một câu
- Kéo theo của một câu để có một câu khác là một câu : P ⇒ Q là một câu.
Trang 8
Biểu diễn tri thức và ứng dụng SVTH:Nguyễn Thị Thu Ngân
(CH1101022)
Dạng De morgan
¬ (A ∧ B) = ¬A ∨ ¬B
¬ (A ∨ B) = ¬A ∧ ¬B
Dạng khác
A ⇒ B = ¬A ∨ B
¬ (A ⇒ B) = A ∧ ¬B
A ⇒ B = A ∧ ¬B⇒ FALSE
Các luật
Luật Modus Ponens (MP)
A, A⇒ B ∴ B
Luật Modus Tollens (MT)
A⇒ B, ¬B ∴¬A
Luật Hội
A,B ∴∴ A^B
Luật đơn giản
A^B ∴ A
Luật Cộng
A ∴ AvB
Luật tam đoạn luận tuyển
Av B, ¬A ∴ B
Luật tam đoạn luận giả thiết
A⇒ B,B⇒ C∴A⇒ C
Trang 10
2. Phép tính vị từ
Trong phép tính mệnh đề, mỗi ký hiệu câu sơ cấp P, Q, … biểu thị một mệnh đề
và chúng ta không thể tác động vào từng phần riêng lẻ của câu. Phép tính vị từ
(predicate calculus) cung cấp cho chúng ta khả năng này. Chẳng hạn, đặt mệnh
đề với mọihôm qua trời mưavới mọilà P, từ đó chúng ta có thể tạo ra một vị từ
chỉ thời tiết mô tả quan hệ giữa một ngày và thời tiết trong ngày ấy: thời_tiết
Ví dụ: ∃ Y friends(Y,tom).
Ngữ nghĩa - Phép tính vị từ
Tương tự như phép tính mệnh đề, ngữ nghĩa của phép tính vị từ cung cấp
một cơ sở để xác định chân trị của các biểu thức dạng chuẩn. Chân trị của các
biểu thức phụ thuộc vào ánh xạ từ các hằng, các biến, các vị từ và các hàm vào
các đối tượng và quan hệ trong lĩnh vực được đề cập.
Sự thông dịch (cách diễn giải) của một tập hợp các câu phép tính vị từ: là
một sự gán các thực thể trong miền của vấn đề đang đề cập cho mỗi ký hiệu
hằng, biến, vị từ và hàm.
Giá trị chân lý của một câu sơ cấp được xác định qua sự thông dịch. Đối
với các câu không nguyên tố, sử dụng bảng chân lý cho cho các phép nối kết,
và:
+ Giá trị của câu với mọiX <câu> là true nếu <câu> là T cho tất cả các
phép gán có thể được cho X.
+ Giá trị của câu $ X <câu> là true nếu tồn tại một phép gán cho X làm
cho <câu> có giá trị T.
Ví dụ:
Ta có thể suy luận:
- parent(eve,abel) parent(eve,cain)
- parent(adam,abel) parent(adam,cain)
- sibling(abel,cain) sibling(cain,abel)
- sibling(abel,abel) sibling(cain,cain) ! Không có nghĩa
-
Phép tính vị từ bậc nhất (First – order predicate calculus)
Phép tính vị từ bậc nhất cho phép các biến lượng giá tham chiếu đến các
đối tượng trong miền của vấn đề đang đề cập nhưng KHÔNG được tham chiếu
đến các vị từ và hàm.
Ví dụ:
Sử dụng logic vị từ cấp1
Nhược điểm: - không có sự tương tác giữa Socrates và Plato
2. Marcus was a Pompeian.
Pompeian(Marcus)
3. Marcus was born in 40 A.D
born(Marcus,40)
4. All men are mortal.
∀X: man(X) →mortal(X)
5. All Pompeian died when the vocano erupted in 79 AD.
erupted(vocano,79) ^ erupted(vocano, 79) ^ ∀ X: [Pompeian(X) X:
[Pompeian(X) →→ died(X, 79)] died(X, 79)]
6. No mortal lives longer then 150 years.
∀ X: ∀ T1: ∀ T2 : mortal(X) ^ born(X, T1) ^ gt(T2 – T1, 150)
→dead(X, T2)
7. It is now 1991
now = 1991
Question:
Is Marcus alive ?
Hay:
alive(Marcus, now)
OR: ¬alive(Marcus, now)
→Cơ sở tri thức không mối quan hệ giữa alive và dead
Ta có thể bổ sung:
8. Alive means not dead.
∀X: ∀T: [alive(X,T) →¬dead(X,T)] ^[¬dead(X,T) →alive(X,T)]
9. Is someone dies, he is dead at all later times
∀X: ∀T1: ∀T2: died(X,T1) ^ gt(T2, T1) →dead(X, T2)
5. Luật phân giải
Thủ tục chứng minh chỉ dựa trên 1 phép toán – phân giải.
Dạng chứng minh: phản chứng.
Chứng minh P bằng cách giả thiết ¬P rồi cố gắng đưa ra mâu thuẩn. mâu thuẩn.
Yêu cầu: các biểu thức phải được chuẩn hoá trước ở dạng clause (clause form)
P1 = “Nam là chuyên gia”
P2 = “Nam là người cá biệt” P2 = “Nam là người cá biệt”
P3 = “Nam có nhiều báo cáo có tiếng
P4 = “Nam được đồng nghiệp tin cậy
P5 = “Hộp thư của Nam có nhiều thư
P6 = “Nam được bạn bè tôn trọng”
Các câu:
1. (P1 ^ ¬P2) v (¬P1 ^ P2)
2. P1 → (P3 ^ P4)
3. P3 →P5
4. P2 →¬P6
5. ¬P5
6. Đưa về clause form
Câu sau được dùng làm ví dụ trong thủ tục đưa về clause form.
“All Romans who know Marcus either hate Caesar or think that anyone
who hates anyone is crazy”
∀X: [roman(X) ^ know(X, Marcus)] →[hate(X, Ceasar) v
(∀Y: ∃Z: hate(Y,Z) →thinkcrazy(X,Y))]
1. Loại bỏ →
dùng tương đương: a→b = ¬a v b dùng tương đương: a→b = ¬a v b
Ví dụ
∀X: [roman(X) ^ know(X, Marcus)] →[hate(X, Ceasar) v
(∀Y: ∃Z: hate(Y,Z) →thinkcrazy(X,Y))]
∀X: ¬[roman(X) ^ know(X, Marcus)] v [hate(X, Ceasar) v
(∀Y: ∃Z: hate(Y,Z) →thinkcrazy(X,Y))]
2. Thu giảm tầm vực của ¬ vào đến mức term.
Dùng tương đương:
¬(¬p) = p
De Morgan:
¬(¬p) = p
Dùng phép phân phố giữa v và ^
Dạng thường gặp:
(a ^ b) v c = (a v c) ^ (b v c)
(a ^ b) v (c ^ d) = (a v c) ^ (a v d) ^ (b v c) ^ (b v d)
Ví dụ: tiếp bước 6
¬roman(X) v ¬know(X, Marcus) v
hate(X, Ceasar) v ¬hate(Y,Z) v thinkcrazy(X,Y)
8. Tách riêng các clause trong CNF ở trên
Nếu có clause form:
(a v ¬b) ^ (¬a v c v d) ^ (a v ¬c v e)
Thì được tách riêng thành các clause:
1. (a v ¬b)
2. (¬a v c v d)
3. (a v ¬c v e)
Đưa các lượng từ về từng clause
(∀X: P(X) ^ Q(X) ) = ∀X: P(X) ^ ∀X: Q(X)
CHƯƠNG IV: CHƯƠNG TRÌNH DEMO
1. Mô hình cây gia phả.
2. Module của chương trình.
predicates
father(symbol,symbol)
mother(symbol,symbol)
son(symbol,symbol)
daughter(symbol,symbol)
siblings(symbol,symbol)
full_siblings(symbol,symbol)
uncle(symbol,symbol)
aunt(symbol,symbol)
grand_parent(symbol,symbol)
descendent(symbol,symbol)
son(S,P):-man(S),parent(P,S).
daughter(D,P):-woman(D),parent(P,D).
siblings(A,B):-parent(P,A),parent(P,B),A<>B.
% siblings have at least one common parent
% the test A\=B preserves that siblings are different persons
full_siblings(A,B):-
parent(F,A),parent(F,B),
parent(M,A),parent(M,B),
A<>B, F<>M.
% full siblings have common parents (both)
% the test F\=M preserves that full siblings have two different parents
(father and mother, naturally)
uncle(U,N):-man(U),siblings(U,P),parent(P,N).
aunt(A,N):-woman(A),siblings(A,P),parent(P,N).
grand_parent(G,N):-parent(G,X),parent(X,N).
descendent(D,A):-parent(A,D).
descendent(D,A):-parent(P,D),descendent(P,A).
ancestor(A,D):-descendent(D,A).
TÀI LIỆU THAM KHẢO
1. Hoàng Kiếm, Giáo trình Các hệ Cơ sở Tri thức, NXB ĐHQG, 2006.
2. John F. Sowa. Knowledge Representation: Logical, Philosophical and
Computational Foundations, Brooks/Cole, 2000.
3. Đỗ Văn Nhơn, Xây dựng hệ tính toán thông minh – Nghiên cứu phát triển các
phương pháp biểu diễn tri thức cho các hệ giải toán tự động. Luận án tiến sĩ,
Đại học KHTN, 2001.
4. Hoàng Kiếm - Đỗ Văn Nhơn, Slide bài giảng biểu diễn tri thức và giai toán tự
động
5. Stuart Russell & Peter Norvig, Artificial Intelligence – A modern approach
(second edition), Prentice Hall, 2003.
6. Võ Huỳnh Trâm- Trần Ngân Bình, slide bài giảng Trí Tuệ Nhân tạo