Tải bản đầy đủ (.docx) (24 trang)

Tiểu luận MÔN BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG BIỂU DIỄN TRI THỨC VỚI LOGIC MỆNH ĐỀ VÀ VỊ TỪ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (366.32 KB, 24 trang )

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)
CHƯƠNG I: KHÁI QUÁT VỀ BIỂU DIỄN TRI THỨC
I. Khái niệm về tri thức và biểu diễn tri thức
1.khái niệm tri thức
Tri thức (knowledge) là sự hiểu biết về một lĩnh vực của chủ đề trong đó lĩnh
vực là miền chủ đề được chú trọng. Tri thức thuờng bao gồm các khái niệm, các
loại sự kiện, các luật,
Ví dụ:
Kiến thức về một lĩnh vực y học và khả năng chẩn đoán bệnh là tri thức.
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.
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.
Công cụ cho 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ị, cây.
- Các mô hình đối tượng.
- Các ngôn ngữ đặc tả tri thức.
Ví dụ:
Kiến thức về một tam giác cần thiết cho việc giải bài toán tam giác có thể
đượ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 tam giá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 tam giác.
Trang 3
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)
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
1) Tập ký hiệu đại diện cho các sự kiện.
2) 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.
3. Mạng ngữ nghĩa
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.
Dự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.
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.
Trang 5

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

Suy diễn lùi là 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.
5. Suy diễn hỗn hợp
Suy diễn hỗn hợp là 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ĩ.
CHƯƠNG II: BIỂU DIỄN TRI THỨC VỚI LOGIC MỆNH ĐỀ VÀ VỊ TỪ
I . khái quát về biểu diễn tri thức với logic mệnh đề và vị từ.
Tri thức được thể hiện dưới dạng lớp của các biểu thức logic và cơ sở tri thức
giải bài toán được thiết lập trên cơ sở lớp của các biểu thức logic này. Luật suy diễn và
thủ tục chứng minh tri thức được lập luận trên cơ sở toán học logic với các yêu cầu đặt
ra của bài toán. Với phương pháp biểu diễn này cung cấp ý tưởng để tiếp cận với ngôn
ngữ lập trình Prolog trong lĩnh vực trí tuệ nhân tạo. Hai cách biểu diễn này đều dùng kí
hiệu để biễu diễn tri thức và các toán tử áp lên các ký hiệu để suy luận logic, và đã
cung cấp cho các nhà nghiên cứu những công cụ hình thức để biểu diễn và suy luận tri
Trang 7
Biểu diễn tri thức và ứng dụng SVTH:Nguyễn Thị Thu Ngân
(CH1101022)
thức. Hay còn được gọi là một ngôn ngữ biểu diễn dùng để mã hóa tri thức dưới dạng
sao cho dễ lập trình với ngôn ngữ lập trình Prolog.
II. Biểu diễn tri với với logic mện đề và vị từ

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)
- Tương đương của hai câu là một câu : P ∨ Q = R là một câu
- Các câu hợp lệ được gọi là các công thức dạng chuẩn (well-formed
formula) hay WFF.
Trong các câu phép tính mệnh đề, các ký hiệu ( ) và [ ] dùng để nhóm các ký
hiệu vào các biểu thức con và nhờ đó kiểm soát được thứ tự của chúng trong
việc đánh giá biểu thức và diễn đạt. Ví dụ (P ∨ Q) = R hoàn toàn khác với P ∨
(Q = R).
Ví dụ: ( (P∧Q) ⇒ R) = ¬P ∨ ¬Q ∨ R
Định nghĩa biểu thức: là một câu hay công thức dạng chuẩn, của phép tính
mệnh đề khi và chỉ khi nó có thể được tạo từ những ký hiệu hợp lệ thông qua
một dãy những luật này.
Ví dụ: (( P ∧ Q) ⇒ R = ¬ P ∨ ¬ Q ∨ R là một câu dạng chuẩn trong phép tính
mệnh đề vì : P, Q, R là các mệnh đề và do đó là các câu.
P ∧ Q, hội của hai câu là một câu.
(P ∧ Q) ⇒ R, kéo theo của một câu là một câu.
¬ P và ¬ Q, phủ định của các câu là câu.
¬ P ∨ ¬ Q, tuyển của hai câu là câu.
¬ P ∨ ¬ Q ∨ R, tuyển của hai câu là câu.
(( P ∧ Q) ⇒ R = ¬ P ∨ ¬ Q ∨ R, tương đương của hai câu là câu.
Đây là câu xuất phát, nó đã được xây dựng thông qua một loạt các luật hợp lệ và
do đó nó có dạng chuẩn.
Mệnh đề tương đương
Dạng hấp thụ:
A ∧ (A ∨ B) = A
A ∨ (A ∧ B) = A
A ∧ (¬A ∨ B)= A∧B
A ∨ (¬A ∧ B)= A∨B
Trang 9
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

(hôm_qua, mưa). Thông qua các luật suy diễn, chúng ta sẽ có thể thao tác trên
các biểu thức phép tính mệnh đề, truy xuất và suy ra những câu mới.
Ký hiệu vị từ: là tập hợp gồm các chữ cái, chữ số, ký hiệu với mọi_với mọi, và
được bắt đầu bằng chữ cái.Ví dụ: X3, tom_and_jerry. Ký hiệu chân lý: true,
false.
Hằng: dùng để chỉ một đối tượng / thuộc tính trong thế giới.
Hằng được ký hiệu bắt đầu bằng chữ thường: helen, yellow, rain, …
Biến: dùng để chỉ một lớp tổng quát các đối tượng/thuộc tính.
Biến được ký hiệu bắt đầu bằng chữ hoa: X, People, Students, …
Hàm: dùng để chỉ một hàm trên các đối tượng.
Hàm được ký hiệu bắt đầu bằng chữ thường: father, plus, …
Mỗi ký hiệu hàm có một ngôi n, chỉ số lượng các đối số của hàm.
Vịtừ: dùng để định nghĩa một mối quan hệ giữa không hoặc nhiều đối tượng.
Vị từ được ký hiệu bắt đầu bằng chữ thường: likes, equals, part_of, …
Biểu thức hàm: là một ký hiệu hàm theo sau bởi n đối số.
Ví dụ: father(david) price(bananas) like(tom, football)
Mục (term): là một hằng, một biến hay một biểu thức hàm
Câu sơ cấp: là một hằng vị từ với n ngôi theo sau bởi n thành phần nằm trong
cặp dấu ( ), cách nhau bởi dấu ‘,’, và kết thúc với dấu ‘.’
- Trị chân lý true, false là các câu sơ cấp.
- Câu sơ cấp còn được gọi là: biểu thức nguyên tử, nguyên tử hay mệnh đề
Ký hiệu vị từ trong các câu này là friends, likes.
Câu: được tạo ra bằng cách kết hợp các câu sơ cấp sử dụng:Các phép kết nối
logic: ⇒ ,¬ ,∨, ∧ , =
Các lượng tử biến:
+ Lượng tử phổ biến với mọi ∀: dùng để chỉ một câu là đúng với mọi giá trị của
biến lượng giá
Ví dụ: với mọiX likes(X, ice-cream).
+ Lượng tử tồn tại ∃: dùng để chỉ một câu là đúng với một số giá trị nào đó của
biến lượng giá.

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

Không nói lên được từng phẩn tử của man và mortal nên biểu diễn không suy
diễn được gì
Ví dụ:
Suy diễn:
3. Biểu diễn: isa và instance
Biểu diễn instance: a1 là thành viên của của A
- Tên lớp vị từ: A(a1)
- Instance là tên vị từ: instance(a1,A)
Các câu ví dụ trên có thể biểu diễn:
1. man(Marcus)
2. Pompeian(Marcus)
3. ∀X: Pompeian(X) → Roman(X)
4. ruler(Caesar)
5. ∀ X: Roman(X) → loyalto(X, Caesar) v hate(X, Caesar)
Hoặc:
1.instance(Marcus, man)
2. instance(Marcus, Pompeian)
3. X: instance(X, Pompeian) → instance(X, Roman)
4. instance(Caesar, ruler)
5. ∀ X: instance(X, Roman) → loyalto(X, Caesar) v hate(X,
Caesar)
4. Các hàm và vị từ khả tính toán
Các trường hợp có thể khai báo được, như: tryassassinate(Marcus, Ceasar),
loyalto(Marcus, Caesar),…
Tuy nhiên trong trường hợp như quan hệ trên các số, như: 1 < 2, 2 <3, 7 >(3+2)
thì ta không thể ghi đủ: lt(q,1), lt(2,3);
Ví dụ khi gọi hàm để tính (3 + 2) để tính toán được gt(7,3+2) v trả về trị (true)
Dùng hàm và vị từ tính toán được:
1. Marcus was a man.
man(Marcus)

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)

Clause Form = clause ^ clause ^ clause ^ …
Clause = term v term v term
Ví dụ clause:
P v ¬Q v R.
¬P v Q v ¬R
¬P v Q v ¬R
¬Roman(X) v hate(X, Ceaser)
Luật phân giải:
Mệnh đề
Vị từ
Để chứng minh P từ tập F của các mệnh đề:
1. Chuyển F sang clause form
2. Lập ¬P, chuyển ¬P sang clause form. Thêm vào các 2. Lập ¬P,
chuyển ¬P sang clause form. Thêm vào các clause ở bước 1
3. Lặp đến khi gặp mâu thuẩn, hoặc không thể đi tiếp được nữa:
1. Chọn 2 clauses ở dạng.
a v C1
¬a v C2
Với C1, C2 biểu thức con của 1 clause
2. Thêm vào tập clauses dòng:
(C1 – a) v (C2 – ¬a )
Dấu “–” nghĩa là loại bỏ a khỏi C1 và ¬a khỏi C2
Ví dụ: Chứng minh hình thức bằng luật phân giải cho đoạn văn sau đây: đoạn
văn sau đây: “ Nam hoặc là chuyên gia hoặc là người cá biệt. Nếu Nam là
chuyên gia thì Nam có nhiều báo cáo có tiếng và được đồng nghiệp tin cậy. Nếu
Nam có nhiều báo cáo có tiếng thì hộp thư của Nam có nhiều thư. Nếu Nam là
người cá biệt thì Nam không được bạn bè tôn trọng. Quan sát thấy rằng, hộp thư
của Nam không có nhiều thư “.
chứng minh: “Nam không được bạn bè tôn trọng.“
Các mệnh đề:

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

De Morgan:
¬(a v b) = ¬a ^ ¬b
¬(a ^ b) = ¬a v ¬b
Tương đương lượng từ:
¬ ∀X: P(X) = ∃X: P(X)
¬ ∃: P(X) = ∀X: P(X)
Áp dung cho ví dụ trước
∀X: [¬roman(X) v ¬know(X, Marcus)] v [hate(X,Ceasar) v
(∀Y: ∃Z: ¬hate(Y,Z) v thinkcrazy(X,Y))]
3. Chuẩn hoá các biến để các lượng từ chỉ ràng buộc 1 biến duy nhất.
Biến đổi như VD sau:
∀X: P(X) v ∀X: Q(X) = ∀X: P(X) v ∀Y: Q(Y).
4. Chuyển lượng từ về bên trái. Chú ý, không chuyển thứ tự của chúng
Ví dụ: tiếp bước 2.
∀X: ∀Y: ∃Z: [¬roman(X) v ¬know(X, Marcus)] v
[hate(X, Ceasar) v (¬hate(Y,Z) v thinkcrazy(X,Y))]
5. Loại bỏ lượng từ tồn tại : Sử dụng hàm skolem
Hàm skolem:
∀X: ∀Y: ∃Z : P(X,Y,Z) = ∀X: ∀Y: P(X,Y,f(X,Y))
Biến của lượng từ tồn tại được thay là hàm theo những biến của lượng từ với
mọi trước nó
6. Bỏ qua các lượng từ (với mọi) còn lại ở bước 5. xem như mọi biến đều bị
tác động bởi lượng từ với mọi (∀)
Ví dụ: tiếp bước 4
[¬roman(X) v ¬know(X, Marcus)] v [hate(X, Ceasar) v
(¬hate(Y,Z) v thinkcrazy(X,Y))]
7. Chuyển hội chuẩn (Conjunctive Normal Form - CNF)
Một chuỗi các mệnh đề kết nối nhau bằng quan hệ AND (^).
Mỗi mệnh đề có dạng một tuyển OR (v) của các biến mệnh Mỗi mệnh đề có
dạng một tuyển OR (v) của các biến mệnh đề.

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)

ancestor(symbol,symbol)
man(symbol)
woman(symbol)
parent(symbol,symbol)
clauses
man(chester).
man(irvin).
man(clannece).
man(ken).
man(ron).
man(charlie).
man(nora).
woman(mildred).
woman(skindy).
woman(marry).
woman(sharon).
woman(elizabeth).
parent(chester,irvin). % means chester is parent of irvin
parent(chester,clannece).
parent(chester,mildred).
parent(irvin,ken).
parent(irvin,ron).
parent(clannece,skindy).
parent(clannece,sharon).
parent(clannece,charlie).
parent(mildred,mary).
parent(ken,nora).
parent(ken,elizabeth).
father(F,C):-man(F),parent(F,C).
mother(M,C):-woman(M),parent(M,C).

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

7. />8. Lập trình logic -
/>dir/10.pdf
9. Sử dụng logic mệnh đề và vị từ-
/>

×