Tri thức là các thông tin, các tài liệu, các cơ sở lý luận, các kỹ năng khác nhau, đạtđược bởi một tổ chức hay một cá nhân thông qua các trải nghiệm thực tế hay thông qua sự giáo dục đào
Trang 1
GVHD: PGS.TS Đỗ Văn Nhơn HV: Trương Hoài Phong
Mã số: CH1301048
MỘT SỐ PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC VÀ MỘT SỐ ỨNG DỤNG CỦA
PROLOG TRONG BIỂU DIỄN TRI THỨC
TP HỒ CHÍ MINH, NĂM 2014
Trang 21.2 Phân loại tri thức: 7
1.3 Sự phân lớp của tri thức: 8
1.4 Hệ cơ sở tri thức: 8
1.5 Biểu diễn tri thức sử dụng luật dẫn xuất 8
1.5.1 Cơ chế suy luận trên các luật sinh 9
1.5.2 Ưu điểm và nhược điểm của biểu diễn tri thức bằng luật 10
1.6 Biểu diễn tri thức bằng Scripts 11
1.7 Biểu diễn tri thức bằng Frame 12
1.8 Biểu diễn tri thức bằng mạng ngữ nghĩa 13
1.8.1 Khái niệm: 13
1.8.2 Ưu điểm và nhược điểm của mạng ngữ nghĩa 15
1.9 Biểu diễn tri thức bằng mệnh đề logic vị từ 16
CHƯƠNG 2: LÝ THUYẾT LOGIC VỊ TỪ 16
2.1 Khái niệm về vị từ: 17
2.2 Không gian của vị từ: 18
2.3 Trọng lượng của vị từ: 18
2.4 Phép toán vị từ 19
2.4.1 Hằng: 19
2.4.2 Biến: 19
2.4.3 Các vị từ: 20
2.4.4 Hàm: 20
2.5 Các lượng từ: 20
2.5.1 Lượng từ tồn tại (∃): 21
2.5.2 Lượng từ với mọi ( ∀): 21
Trang 32.5.4.2 Định lý 2: 23
2.5.4.3 Định lý 3: 24
2.6 Công thức tương đương: 24
2.6.1 Các phép tương đương: 25
2.6.2 Các phép tương đương có giới hạn: 25
2.6.3 Một vài điều kiện không tương đương 25
2.7 Công thức chỉnh dạng (well – formed formulas): 26
2.7.1 Công thức chỉnh dạng ( Wff) được xây dựng như sau: 26
2.7.2 Từ Wff sang mệnh đề: 26
2.7.3 Sự tương đương: 27
2.8 Quy tắc và mô hình suy diễn trong logic vị từ cấp 1 27
2.8.1 Quy tắc suy diễn 1 ( rút gọn) 27
2.8.2 Quy tắc suy diễn 2( cộng) 27
2.8.3 Quy tắc suy diễn 3(khẳng định ) 27
2.8.4 Quy tắc suy diễn 4( phủ định) 27
2.8.5 Quy tắc suy diễn 5( bắc cầu) 28
2.8.6 Quy tắc suy diễn 6( tam đoạn luận tuyển) 28
2.8.7 Quy tắc suy diễn 7( mâu thuẫn) 28
2.8.8 Quy tắc suy diễn 8( theo từng trường hợp) 28
2.8.9 Quy tắc suy diễn 9( đặc biệt hóa phổ dụng) 28
2.8.10 Quy tắc suy diễn 10(tổng quát hóa phổ dụng) 28
2.8.11 Quy tắc suy diễn 11 29
2.8.12 Quy tắc suy diễn 12 29
2.8.13 Quy tắc suy diễn 13 29
Trang 4CHƯƠNG 3: MỘT SỐ ỨNG DỤNG CỦA LOGIC VỊ TỪ 32
3.1 Giới thiệu Prolog 33
3.2 Ứng dụng của Prolog trong giao thông: 33
3.2.1 Giới thiệu: 33
3.2.2 Mô hình hoạt động 34
3.2.3 Thiết kế chương trình 34
3.3 Ứng dụng Prolog trong tư vấn học tập: 37
3.3.1 Giới thiệu 37
3.3.2 Mô hình hoạt động 38
3.3.3 Thiết kế chương trình: 38
3.4 Ứng dụng của prolog trong kinh dịch: 39
3.4.1 Giới thiệu: 39
3.4.2 Mô hình hoạt động: 40
3.4.3 Thiết kế chương trình: 40
3.5 Ứng dụng của prolog trong chuẩn đoán bệnh của con người: 48
3.5.1 Giới thiệu: 48
3.5.2 Mô hình hoạt động: 49
3.5.3 Thiết kế chương trình: 49
3.6 Ứng dụng của prolog trong chuẩn đoán hư hỏng của máy móc: 52
3.6.1 Giới thiệu: 52
3.6.2 Mô hình hoạt động: 53
3.6.3 Thiết kế chương trình: 53
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 59
4.1 KẾT LUẬN 59
Trang 6CHƯƠNG 1: MỘT SỐ PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC 1.1 Tri thức là gì?
Tri thức có nhiều ý nghĩa tùy theo văn cảnh, nhưng lúc nào cũng có liên quan vớinhững khái niệm như hiểu biết, ý nghĩa, thông tin, giảng dạy, giáo dục, giao tiếp, diễn
tả, học hỏi, suy luận, nhận thức và kích thích trí óc Tri thức là nó bao gồm ba tiêu chíkhả tín, xác thực, và chứng minh được
Tri thức là các thông tin, các tài liệu, các cơ sở lý luận, các kỹ năng khác nhau, đạtđược bởi một tổ chức hay một cá nhân thông qua các trải nghiệm thực tế hay thông qua
sự giáo dục đào tạo; các hiểu biết về lý thuyết hay thực tế về một đối tượng, một vấn
đề, có thể lý giải được về nó
Tóm lại, Tri thức là nói về đối tượng thực hiện được những hành động một cáchhiệu quả Tri thứ là sự hiểu biết của con người trong một phạm vi, lĩnh vực nào đó,được xem xét theo các mục tiêu hay các vấn đề nhất định có khả năng giúp con ngườilàm việc có hiệu quả
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): là một quan hệ 2 ngôi R trên một tập X như phản xạ, đối
xứng, phản xứng, bắc cầu; Quan hệ thứ tự; Quan hệ tương đương;
Cách biểu diễn của một quan hệ 2 ngôi R trên tập X: Biểu diễn dựa trên “tậphợp”, biểu diễn bằng ma trận, biểu đồ (đồ thị)
Các toán tử (operators), phép toán, các biểu thức hay công thức.
Trang 7Các luật (rules)
Sự kiện (facts)
1.2 Phân loại tri thức:
Tri thức sự kiện: là các khẳng định về một sự kiện, khái niệm nào đó (trong một
phạm vi xác định) Các định luật vật lý, toán học,… thường được xếp vào loại này Vídụ: mặt trời mọc ở phía đông, tam giác đều có 3 góc 600…
Tri thức thủ tục: thường dùng để diễn tả phương pháp, các bước tiến hành, trình
từ hay ngắn gọn là cách giải quyết vấn đề Thuật toán, thuật giải là một dạng của trithức thủ tục
Tri thức mô tả: cho biết một đối tượng, sự kiện, vấn đề, khái niệm, … được thấy,
cảm nhận, cấu tạo như thế nào Ví dụ: một cái bàn thường có 4 chân; con người có 2 tay,
2 mắt,
Tri thức Heuristic: là một dạng tri thức cảm tính Các tri thức thuộc loại này
thường có dạng ước lượng, phỏng đoán, và thường được hình thành thông qua kinhnghiệm
Siêu tri thức: Mô tả tri thức về tri thức Loại tri thức này giúp cho 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 đề
Trang 81.3 Sự phân lớp của tri thức:
1.4 Hệ cơ sở tri thức:
Cơ sở tri thức là tập hợp các tri thức liên quan đến vấn đề mà chương trình quantâm giải quyết
1.5 Biểu diễn tri thức sử dụng luật dẫn xuất
Phương pháp biểu diễn tri thức bằng luật sinh được phát minh bởi Newell và Simon trong lúc hai ông đang cố gắng xây dựng một hệ giải bài toán tổng quát Đây là
một kiểu biểu diễn tri thức có cấu trúc Ý tưởng cơ bản là tri thức có thể được cấu trúc
bằng một cặp điều kiện – hành động: "NẾU điều kiện xảy ra THÌ hành động sẽ được thi
hành" Chẳng hạn : NẾU đèn giao thông là đỏ THÌ bạn không được đi thẳng, NẾU máytính đã mở mà không khởi động được THÌ kiểm tra nguồn điện, …
Trang 9Ngày nay, các luật sinh đã trở nên phổ biến và được áp dụng rộng rãi trongnhiều hệ thống trí tuệ nhân tạo khác nhau Luật sinh có thể là một công cụ mô tả để giảiquyết các vấn đề thực tế thay cho các kiểu phân tích vấn đề truyền thống Trong trườnghợp này, các luật được dùng như là những chỉ dẫn (tuy có thể không hoàn chỉnh)nhưng rất hữu ích để trợ giúp cho các quyết định trong quá trình tìm kiếm, từ đó làmgiảm không gian tìm kiếm Một ví dụ khác là luật sinh có thể được dùng để bắt chướchành vi của những chuyên gia Theo cách này, luật sinh không chỉ đơn thuần là mộtkiểu biểu diễn tri thức trong máy tính mà là một kiểu biễu diễn các hành vi của conngười
Để biễu diễn một tập luật sinh, người ta thường phải chỉ rõ hai thành phần chínhsau: Tập các sự kiện F(Facts), Tập các quy tắc R (Rules)
1.5.1 Cơ chế suy luận trên các luật sinh
Suy diễn tiến : là quá trình suy luận xuất phát từ một số sự kiện ban đầu, xác
định các sự kiện có thể được "sinh" ra từ sự kiện này
Suy diễn lùi: là quá trình suy luận ngược xuất phát từ một số sự kiện ban
đầu, ta tìm kiếm các sự kiện đã "sinh" ra sự kiện này Một ví dụ thường gặp trong thực
tế là xuất phát từ các tình trạng của máy tính, chẩn đoán xem máy tính đã bị hỏng hóc ởđâu
Trang 10 Có âm thanh đọc ổ cứng
Tình trạng đèn màn hình "xanh" hoặc "chớp đỏ"
Không sử dụng được máy tính
Điện vào máy tính "có" hay "không"
1.5.2 Ưu điểm và nhược điểm của biểu diễn tri thức bằng luật
a) Ưu điểm:
Biểu diễn tri thức bằng luật đặc biệt hữu hiệu trong những tình huống hệ thốngcần đưa ra những hành động dựa vào những sự kiện có thể quan sát được Nó cónhững ưu điểm chính yếu sau đây:
Các luật rất dễ hiểu nên có thể dễ dàng dùng để trao đổi với người dùng (vì
nó là một trong những dạng tự nhiên của ngôn ngữ)
Có thể dễ dàng xây dựng được cơ chế suy luận và giải thích từ các luật
Việc hiệu chỉnh và bảo trì hệ thống là tương đối dễ dàng
Có thể cải tiến dễ dàng để tích hợp các luật mờ
Các luật thường ít phụ thuộc vào nhau
b) Nhược điểm:
Các tri thức phức tạp đôi lúc đòi hỏi quá nhiều (hàng ngàn) luật sinh Điều này
sẽ làm nảy sinh nhiều vấn đề liên quan đến tốc độ lẫn quản trị hệ thống
Thống kê cho thấy, người xây dựng hệ thống trí tuệ nhân tạo thích sử dụng luật
Trang 11biểu diễn tri thức bằng luật sinh cho dù có phương pháp khác thích hợp hơn! Đây lànhược điểm mang tính chủ quan của con người
Cơ sở tri thức luật sinh lớn sẽ làm giới hạn khả năng tìm kiếm của chương trìnhđiều khiển Nhiều hệ thống gặp khó khăn trong việc đánh giá các hệ dựa trên luật sinhcũng như gặp khó khăn khi suy luận trên luật sinh
1.6 Biểu diễn tri thức bằng Scripts
Script là một cách biểu diễn tri thức tương tự như frame nhưng thay vì đặc tả
một đối tượng, nó mô tả một chuỗi các sự kiện Để mô tả chuỗi sự kiện, script sử dụng
một dãy các slot chứa thông tin về các con người, đối tượng và hành động liên quan
đến sự kiện đó
Tuy cấu trúc của các script là rất khác nhau tùy theo bài toán, nhưng nhìn chungmột script thường bao gồm các thành phần sau:
Điều kiện vào (entry condition): mô tả những tình huống hoặc điều kiện cần
được thỏa mãn trước khi các sự kiện trong script có thể diễn ra
Role (diễn viên): là những con người có liên quan trong script
Prop (tác tố): là tất cả những đối tượng được sử dụng trong các chuỗi sự
kiện sẽ diễn ra
Scene(Tình huống): là chuỗi sự kiện thực sự diễn ra
Result (Kết quả): trạng thái của các Role sau khi script đã thi hành xong
Track (phiên bản): mô tả một biến thể (hoặc trường hợp đặc biệt) có thể xảy
ra trong đoạn script
Script rất hữu dụng trong việc dự đoán điều gì sẽ xảy đến trong những tìnhhuống xác định Thậm chí trong những tình huống chưa diễn ra, script còn cho phép
Trang 12máy tính dự đoán được việc gì sẽ xảy ra và xảy ra đối với ai và vào thời điểm nào Nếu
máy tính kích hoạt một script, người dùng có thể đặt câu hỏi và hệ thống có thể suy rađược những câu trả lời chính xác mà không cần người dùng cung cấp thêm nhiều thôngtin (trong một số trường hợp có thể không cần thêm thông tin) Do đó, cũng giống nhưframe, script là một dạng biểu diễn tri thức tương đối hữu dụng vì nó cho phép ta mô tảchính xác những tình huống "chuẩn" mà con người vẫn thực hiện mỗi ngày hoặc đãnắm bắt chính xác
Để cài đặt script trong máy tính, bạn phải tìm cách lưu trữ các tri thức dưới dạnghình thức LISP là ngôn ngữ lập trình phù hợp nhất để làm điều này Sau khi đã cài đặtxong script, bạn (người dùng) có thể đặt câu hỏi về những con người hoặc điều kiện cóliên quan trong script Hệ thống sau đó sẽ tiến hành thao tác tìm kiếm hoặc thao tác somẫu để tìm câu trả lời Chẳng hạn bạn có thể đặt câu hỏi "Khách hàng làm gì trướctiên?" Hệ thống sẽ tìm thấy câu trả lời trong scene 1 và đưa ra đáp án "Đậu xe và bướcvào nhà hàng"
1.7 Biểu diễn tri thức bằng Frame
Frame là một cấu trúc dữ liệu chứa đựng tất cả những tri thức liên quan đến một
đối tượng cụ thể nào đó Frames có liên hệ chặt chẽ đến khái niệm hướng đối tượng(thực ra frame là nguồn gốc của lập tŕnh hướng đối tượng) Ngược lại với các phươngpháp biểu diễn tri thức đã được đề cập đến, frame "đóng gói" toàn bộ một đối tượng,tình huống hoặc cả một vấn đề phức tạp thành một thực thể duy nhất có cấu trúc Mộtframe bao hàm trong nó một khối lượng tương đối lớn tri thức về một đối tượng, sựkiện, vị trí, tình huống hoặc những yếu tố khác Do đó, frame có thể giúp ta mô tả khá
Trang 13Dưới một khía cạnh nào đó, người ta có thể xem phương pháp biểu diễn tri thứcbằng frame chính là nguồn gốc của ngôn ngữ lập trình hướng đối tượng Ý tưởng của
phương pháp này là "thay vì bắt người dùng sử dụng các công cụ phụ như dao mở để đồ hộp,
ngày nay các hãng sản xuất đồ hộp thường gắn kèm các nắp mở đồ hộp ngay bên trên vỏ lon Như vậy, người dùng sẽ không bao giờ phải lo lắng đến việc tìm một thiết bị để mở đồ hộp nữa!" Cũng vậy, ý tưởng chính của frame (hay của phương pháp lập trình hướng đối
tượng) là khi biểu diễn một tri thức, ta sẽ "gắn kèm" những thao tác thường gặp trên tri
thức này Chẳng hạn như khi mô tả khái niệm về hình chữ nhật, ta sẽ gắn kèm cách tính
chu vi, diện tích
Frame thường được dùng để biểu diễn những tri thức "chuẩn" hoặc những trithức được xây dựng dựa trên những kinh nghiệm hoặc các đặc điểm đã được hiểu biếtcặn kẽ Bộ não của con người chúng ta vẫn luôn "lưu trữ" rất nhiều các tri thức chung
mà khi cần, chúng ta có thể "lấy ra" để vận dụng nó trong những vấn đề cần phải giảiquyết Frame là một công cụ thích hợp để biểu diễn những kiểu tri thức này
1.8 Biểu diễn tri thức bằng mạng ngữ nghĩa
1.8.1 Khái niệm:
Mạng ngữ nghĩa la một phương phap biểu diễn tri thức đầu tiên và cũng là phương pháp dễ hiểu nhất đối với chúng ta Phương pháp này sẽ biểu diễn tri thức dưới dạng một đồ thị, trong đó đỉnh là các đối tượng (khái niệm) còn các cung cho biết mối quan hệ giữa các đối tượng (khái niệm) này
Chẳng hạn: giữa các khái niệm chích chòe, chim, hót, cành, tổ có một số mối quan hệ như
sau:
Trang 14 Chim biết hót
Chim có cánh
Chim sống trong tổ
Các mối quan hệ nay sẽ được biểu diễn trực quan bằng một đồ thị như sau :
Do mạng ngữ nghĩa là một loại đồ thị cho nên nó thừa hưởng được tất cả nhữngmặt mạnh của công cụ này Nghĩa là ta có thể dùng những thuật toán của đồ thị trênmạng ngữ nghĩa như thuật toán tìm liên thông, tìm đường đi ngắn nhất,… để thực hiệncác cơ chế suy luận Điểm đặc biệt của mạng ngữ nghĩa so với đồ thị thông thường
chính là việc gán một y nghĩa (có, làm, là, biết, ) cho các cung Trong đồ thị tiêu chuẩn, việc co một cung nối giữa hai đỉnh chỉ cho biết có sự liên hệ giữa hai đỉnh đó và tất cả
các cung trong đồ thị đều biểu diễn cho cung một loại lien hệ Trong mạng ngữ nghĩa,
cung nối giữa hai đỉnh con cho biết giữa hai khái niệm tương ứng có sự liên hệ như thế
nào Việc gán ngữ nghĩa vào các cung của đồ thị đã giúp giảm bớt được số lượng đồ thị
cần phải dùng để biễu diễn các mối liên hệ giữa các khái niệm Chẳng hạn như trong ví
dụ trên, nếu sử dụng đồ thị thông thường, ta phải dùng đến 4 loại đồ thị cho 4 mối liên
hệ : một đồ thị để biểu diễn mối liên hệ "là", một đồ thị cho mối liên hệ "làm", một cho
"biết" và một cho "có" Một điểm khá thú vị của mạng ngữ nghĩa là tính kế thừa Bởi vì
Trang 15ngay từ trong khái niệm, mạng ngữ nghĩa đã hàm ý sự phân cấp (như các mối liên hệ
"là") nên có nhiều đỉnh trong mạng mặc nhiên sẽ có những thuộc tính của những đỉnh
khác Chẳng hạn theo mạng ngữ nghĩa ở trên, ta co thể dễ dàng trả lời "có" cho câu hỏi :
"Chích chòe có làm tổ không?" Ta có thể khẳng định được điều này vì đỉnh "chích chòe"
có liên kết "là" với đỉnh "chim" và đỉnh "chim" lại liên kết "biết" với đỉnh "làm tổ" nênsuy ra đỉnh "chích chòe" cũng có liên kết loại "biết" với đỉnh "làm tổ" (Nếu để ý, bạn sẽ
nhận ra được kiểu "suy luận" mà ta vừa thực hiện bắt nguồn từ thuật toán "loang" hay
"tim lien thong" trên đồ thị!) Chính đặc tính kế thừa của mạng ngữ nghĩa đã cho phép
ta có thể thực hiện được rất nhiều phép suy diễn từ những thông tin sẵn có trên mạng
Tuy mạng ngữ nghĩa là một kiểu biểu diễn trực quan đối với con người nhưngkhi đưa vào máy tính, các đối tượng và mối liên hệ giữa chúng thường được biểu diễndưới dạng những phát biểu động từ (như vị từ) Hơn nữa, các thao tác tìm kiếm trênmạng ngữ nghĩa thường khó khăn (đặc biệt đối với những mạng có kích thước lớn) Do
đó, mô hình mạng ngữ nghĩa được dùng chủ yếu để phân tích vấn đề Sau đó, nó sẽđược chuyển đổi sang dạng luật hoặc frame để thi hành hoặc mạng ngữ nghĩa sẽ đượcdùng kết hợp với một số phương pháp biểu diễn khác
1.8.2 Ưu điểm và nhược điểm của mạng ngữ nghĩa
a) Ưu điểm
Mạng ngữ nghĩa rất linh động, ta có thể dễ dàng thêm vào mạng các đỉnh hoặc
cung mới để bổ sung các tri thức cần thiết
Mạng ngữ nghĩa có tính trực quan cao nên rất dễ hiểu
Mạng ngữ nghĩa cho phép các đỉnh có thể thừa kế các tính chất từ các đỉnh khác thông qua các cung loại "là", từ đó, có thể tạo ra các liên kết "ngầm" giữa
Trang 16 những đỉnh không có lien kết trực tiếp với nhau.
Mạng ngữ nghĩa hoạt động khá tự nhien theo cách thức con người ghi nhận
Tinh thừa kế (vốn là một ưu điểm) trên mạng sẽ có thể dẫn đến nguy cơ mâu
thuẫn trong tri thức Chẳng hạn, nếu bổ sung thêm nút "Gà" vào mạng như hình
sau thi ta có thể kết luận rằng "Gà" biết "bay"! Sở dĩ có điều này là vì có sự không
rõ ràng trong ngữ nghĩa gán cho một nút của mạng Có thể phản đối quan điểm vì chorằng, việc sinh ra mâu thuẫn là do ta thiết kế mạng dở chứ không phải do khuyết điểm
của mạng Tuy nhiên, xin lưu y rằng, tính thừa kế sinh ra rất nhiều mối liên "ngầm" nên
khả năng nảy sinh ra một mối liên hệ không hợp lệ là rất lớn!
Hầu như không thể biển diễn các tri thức dạng thủ tục bằng mạng ngữ nghĩa vì các khái niệm về thời gian và trình tự không được thể hiện tường minh trên mạng ngữ nghĩa
1.9 Biểu diễn tri thức bằng mệnh đề logic vị từ
Người ta sử dụng các ký hiệu để thể hiện tri thức và các phép toán logic tác độnglên các ký hiệu để thể hiện suy luận logic Kỹ thuật chủ yếu thường được sử dụng là logic vị từ
Trang 17Trong bài tiểu luận này ta sẽ đi vào lý thuyết logic vị từ và các ứng dụng của logic vị từ trong cuộc sống.
CHƯƠNG 2: LÝ THUYẾT LOGIC VỊ TỪ
Trong toán học hay trong chương trình của máy tính, chúng ta thường gặpnhững câu có chứa các biến như sau: "x>3", "x=y+3", "x+y=z" Các câu này không đúngcũng không sai vì các biến chưa được gán cho những giá trị xác định Câu "x > 3" có hai
bộ phận: bộ phận thứ nhât là biến x đóng vai trò chủ ngữ trong câu; bộ phận thứ hai
"lớn hơn 3" đóng vai trò vị ngữ của câu, nó cho biêt tính chât mà chủ ngữ có thể có Cóthể ký hiệu câu "x lớn hơn 3" là P(x) với P là ký hieu vị ngữ "lớn hơn 3" và x là biên.Người ta cũng gọi P(x) là giá trị của hàm mệnh đề P tại x Xét trong tập hợp các số thực,một khi biến x được gán giá trị cụ thể thì câu P(x) sẽ có giá trị chân lý Chẳng hạn P(4) làđúng còn P(2,5) là sai Hàm mệnh đề cũng có thể xét trong tập các số nguyên, số thựchay số phức, vv…Do đó, chúng ta sẽ xem xét cách tạo ra những mênh đề từ những câunhư vậy
2.1 Khái niệm về vị từ:
Một vị từ là một khẳng định P(x, y, …) trong đó có chứa một số biến x, y,…Lấygiá trị trong những tập hợp A, B,… cho trước, sao cho:
Bản thân P(x, y,…) không phải là mệnh đề
Nếu thay x,y,…bằng những giá trị cụ thể thuộc tập hợp A,B,… cho trước ta sẽđược một mệnh đề P(x,y,…), nghĩa là khi đó chân trị của P(x,y,…) được gọi là các biến
tự do của vị từ
Trang 18Ví dụ 1: Các câu có liên quan tới các biến như: “x > 3”, “ x + y = 4 ” rất hay gặp
trong toán học và trong các chương trình của máy tính Các câu này không đúng cũngkhông sai vì các biến chưa được cho những giá trị xác định
Nói cách khác, vị từ có thể được xem là một hàm mệnh đề có nhiều biến hoặckhông có biến nào, nó có thể đúng hoặc sai tùy thuộc vào giá trị của biến và lập luậncủa vị từ
Vi dụ 2: Câu {n là chẵn} là một vị từ Nhưng khi cho n là một số cụ thể là chẳn hay
Trang 19Người ta có thể xem vị từ như là một ánh xạ P, với mỗi phần tử thuộc tập hợp E ta
được một ảnh P(x)∈{ϕ, 1} Tập hợp E này được gọi là không gian của vị từ Khônggian này sẽ chỉ rõ các giá trị khả dĩ của biến x làm cho P(x) trở thành mệnh đề đúnghoặc sai
Trang 20Câu có dạng P(x1, x2, , xn) được gọi là giá trị của hàm mệnh đ ề P tại (x1, x2, ,xn) và P cũng được gọi là vị từ.
- Trước khi viết câu trên ta hãy tìm hiểu các câu đơn giản được viết như sau:
+ "Nam thích Mai" được viết theo phép toán vị từ là: thích (Nam, Mai)
+ "Đông thích Mai" được viết theo phép toán vị từ là: thích (Đông, Mai).
Tổng quát khẳng định trên được viết như sau:
Thích (X, Z) AND thích (Y, Z) → NOT thích (X, Y)
Trang 21Ví dụ 7: Vị từ "Quả bóng màu xanh" có thể viết lại: "X màu Y" Quả bóng xanh là các
hằng được xác định trong không gian của vị từ X, Y là biến
2.4.3 Các vị từ:
Một sự kiện hay mệnh đề trong phép toán vị từ được chia thành phần Vị từ vàtham số Tham số thể hiện một hay nhiều đối tượng của mệnh đề, còn vị từ dùng đểkhẳng định về đối tượng
Ví dụ 8: Câu "X thích Y" có dạng thích (X, Y) Thích là vị từ cho biết quan hệ giữa
các đối tượng trong ngoặc Đối số là các ký hiệu thay cho các đối tượng của bài toán
2.4.4 Hàm:
Được thể hiện bằng ký hiệu, cho biết quan hệ hàm số
Ví dụ 9: Hoa là mẹ của Mai, Đông là cha của Cúc Hoa và Đông là bạn của nhau.
Ta có hàm số được viết để thể hiện quan hệ này
Trang 22không gian xác định của nó, người ta gọi đó là sự lượng hóa hay lượng từ các hàmmệnh đề.
Trang 232.5.1 Lượng từ tồn tại (∃):
Câu xác định "Tập hợp những biến x làm cho P(x) là đúng không là tập hợp rỗng"
là một mệnh đề Hay "Tồn tại ít nhất một phần tử x trong không gian sao cho P(x) làđúng" là một mệnh đề được gọi là lượng từ tồn tại của P(x)
2.5.2 Lượng từ với mọi ( ∀):
Câu xác định "Tập hơp những x làm cho P(x) đúng là tất cả tập hợp E" là một mệnh
đề Hay "P(x) đúng với mọi giá trị x trong không gian" cũng là một mệnh đ ề được gọi làlượng từ với mọi của P(x)
P(x) là sai với mọi phần tử x
Ví dụ10: Xét trong không gian các số thực, ta có:
Cho P(x) := “ x + 1 > x”, khi đó có thể viết: ∀ xP(x)
Cho P(x) := “ 2x = x + 1 ”, khi đó có thể viết: ∃xP(x)
Ví dụ 11: Cho vị từ P(x) = {số nguyên tự nhiên x là số chẵn} Xét chân trị của hai
mệnh đề∀x P(x) và ∃x P(x)
Trang 24∀x P(x) = {tất cả số nguyên tự nhiên x là số chẵn} là mệnh đề sai khi x = 5.
∃x P(x) = {hiện hữu một số nguyên tự nhiên x là số chẵn} là mệnh đề đúng khix=10
Chú ý: Cho P là một vị từ có không gian E Nếu E = {e1, e2, en}, mệnh đề ∀x P(x)
là đúng khi tất cả các mệnh đề P(e1), P(e2), P(en) là đúng Nghĩa là ∀x P(x) ⇔ P(e1) ∧P(e2) ∧ ∧ P(en) là đúng
Tương tự ∃x P(x) là đúng nếu có ít nhất một trong những mệnh đề P(e1), P(e2), P(en) là đúng Nghĩa là ∃x P(x) ⇔ P(e1) ∨ P(e2) ∨ ∨ P(en) là đúng
Ví dụ 12: Cho P(a,b) = {cặp số nguyên tương ứng thỏa a + b = 5}
Hãy xác định chân trị của các mệnh đề sau:
Trang 25Các định lý:
2.5.4.1 Định lý 1:
Cho vị từ P(a, b) có trọng lượng là 2 Khi đó:
a) ∀a∀b P(a,b) và∀b∀a P(a, b) là có cùng chân trị.
Nghĩa là: ∀a∀b P(a,b) ↔ ∀b∀a P(a, b)
Ký hiệu: ∀(a,b) P(a,b)
b) ∃a∃b P(a,b) và ∃b∃a P(a, b) là có cùng chân trị
Nghĩa là: ∃a∃b P(a,b) ↔∃b∃a P(a, b)
∃(a,b) P(a,b) {Hiện hữu một cặp số nguyên tương ứng (a,b) sao cho a + b
∀b∃a P(a, b) {Mọi số nguyên tương ứng b, hiện hữu một số nguyên
Trang 26c) Nếu ∃a∀b P(a,b) là đúng thì∀b∃a P(a,b) cũng đúng nhưng điều ngược lại chưa đúng.
Nghĩa là: ∃a∀b P(a,b) →∀b∃a P(a,b)
d) Nếu ∃b∀a P(a,b) là đúng thì∀a∃b P(a,b) cũng đúng nhưng điều ngược lại chưa đúng.
Nghĩa là: ∃b∀a P(a,b) →∀a∃b P(a,b)
¬∃x P(x) nói rằng tập hợp những x mà ở chúng P(x) là đúng là tập hợp rỗng.Nghĩa là, tập hợp những phần tử x mà ở chúng P(x) là sai là tập E hay không có phần tửnào làm P(x) đúng Ta có∀x (¬P(x))
Ví dụ 13: Phủ định của "Mọi số nguyên n là chia chẵn cho 3“ là "Tồn tại ít nhất một
số nguyên n không chia chẵn cho 3"
Ví dụ 14: Hãy xét phủ định của câu sau đây:
"Tất cả sinh viên trong lớp đều đã học môn Toán rời rạc 2"
Câu này chính là câu sử dụng lượng từ với mọi như sau: ∀xP(x)
Trang 27 Trong đó P(x) = {x đã học môn Toán rời rạc 2}.
Phủ định của câu này là: "Không phải tất cả các sinh viên trong lớp đều đã họcmôn Toán rời rạc 2" Điều này có nghĩa là:" Có ít nhất một sinh viên ở lớp nàychưahọc Toán rời rạc 2" Đây chính là lượng từ tồn tại của phủ định hàm mệnh
đề ban đầu được viết như sau:
∃x¬P(x) Ta có :
¬ ∀xP(x) ⇔ ∃x¬P(x)
¬ ∃xP(x) ⇔ ∀x¬P(x)
liên kết của những biến của vi từ với phương tiện định lượng, người ta thay thế nhữngđịnh lượng ∀ bởi ∃, và ∃ bởi ∀ và sau cùng thay thế vị từ bằng phủ định của vị từ đó
2.5.4.3 Định lý 3:
Cho P và Q là hai vị từ có cùng không gian.
a) Mệnh đề∀x (P(x) ∧Q(x)) và (∀x (P(x) ∧∀x (Q(x)) là có cùng chân trị
b) Nếu mệnh đề∃x (P(x) ∧Q(x)) là đúng thì ta có mệnh đề: (∃x P(x)) ∧ (∃xQ(x))cũng đúng
c) Mệnh đề ∃x (P(x) ∨Q(x)) và (∃xP(x) ∨∃xQ(x)) là có cùng chân trị
d) Nếu mệnh đề∀x (P(x) ∨Q(x)) là đúng thì ta có mệnh đề∀xP(x) ∨ ∀x Q(x) làđúng, nhưng điều ngược lại không luôn luôn đúng
2.6 Công thức tương đương:
A tương đương B nếu và chỉ nếu (A →B) ∧ (B →A)
Trang 28 ∀x∀y W(x,y) ≡ ∀y∀x W(x,y)
∃x ∃y W(x,y) ≡ ∃y∃x W(x,y)
2.6.2 Các phép tương đương có giới hạn:
Các phép tương đương sau đúng khi x không xuất hiện trong biểu thức C:
Trang 29 ∀x W(x) →∃x W(x)
∀x A(x) ∨ ∀x B(x) →∀x (A(x) ∨ B(x))
∃x (A(x) ∧ B(x)) →∃x A(x) ∧∃x B(x)
∀x (A(x) → B(x)) →(∀x A(x) →∀x B(x))
∃y ∀x W(x,y) →∀x ∃y W(x,y)
2.7 Công thức chỉnh dạng (well – formed formulas):
Một tên vị từ theo sau bởi một danh sách các biến như: P (x, y), trong đó P là tên vị
từ, và x và y là các biến, được gọi là một công thức nguyên tử
2.7.1 Công thức chỉnh dạng ( Wff) được xây dựng như sau:
Trang 30 Wff này là T, nếu miền giá trị là (1, 3, 5), (2, 4, 6) hoặc các số nguyên dương.Nhưng nó không còn là T nếu miền giá trị là ( 1, 3, 5), hay các số nguyên âm
Nếu giả thiết Q(x, y) là “x > y” thì ∀xQ(x, y) có thể nhận giá trị T hay F tùythuộc theo biến y
Từ ví dụ trên ta rút ra kết luận sau:
o Wff được gọi là thỏa mãn nếu tồn tại một giải thích làm cho nó T
Ví dụ 17: ∀x P(x) là thỏa mãn.
o Wff là hợp lệ nếu nó là đúng với mọi giải thích
Ví dụ 18: ∀x P(x) ∨ ∃x¬P(x) hợp lệ với mọi P và giải thich.
o Wff là không hợp lệ hoặc không thỏa mãn nếu không tồn tại một giải thíchlàm Wff T
2.8 Quy tắc và mô hình suy diễn trong logic vị từ cấp 1
2.8.1 Quy tắc suy diễn 1 ( rút gọn)
Công thức cơ sở: (A˄B)→A≡1
Mô hình suy diễn :
A B
∴ A
2.8.2 Quy tắc suy diễn 2( cộng)
Trang 31Công thức cơ sở: A → (AB) ≡ 1
Mô hình suy diễn: A
2.8.4 Quy tắc suy diễn 4( phủ định)
Công thức cơ sở: ((A→B)˄ ´B) → ´A ≡ 1
Mô hình suy diễn:
A → B
´
B
∴ ´A
2.8.5 Quy tắc suy diễn 5( bắc cầu)
Công thức cơ sở: ((A→B)˄(B→C))→(A→C)≡1
Mô hình suy diễn:
A → B
B → C
∴ A →C
2.8.6 Quy tắc suy diễn 6( tam đoạn luận tuyển)
Công thức cơ sở: ( ´A ˄(A˅B))→B≡1
Mô hình suy diễn:
Trang 32Mô hình suy diễn:
2.8.8 Quy tắc suy diễn 8( theo từng trường hợp)
o Công thức cơ sở: ((A→C)˄(B→C))→((A˅B)→C) ≡ 1
o Mô hình suy diễn:
A → C
B → C
∴( A ˅ B)→C
2.8.9 Quy tắc suy diễn 9( đặc biệt hóa phổ dụng)
Nếu mệnh đề ∀xP(x) đúng trên trường M thì khi thay x bởi phần tử a bất kỳtrong M ta được mệnh đề a cũng đúng
Công thức cơ sở: ∀xP(x)→P(a)≡1
Mô hình suy diễn: ∀ x P(x)
∴ P(a) với a là phần tử cố định bất kỳ trong M
2.8.10 Quy tắc suy diễn 10(tổng quát hóa phổ dụng)
Cho mệnh đề ∀xP(x) trên trường M Khi đó, nếu P(a) đúng với mọi phần tử atrên trường M thì mệnh đề ∀xP(x) cũng đúng trên trường M
Công thức cơ sở: P(a)→ ∀xP(x)≡1
Mô hình suy diễn: P(a)
∴ ∀ x P(x) với a là phần tử bất kỳ trong M.
2.8.11 Quy tắc suy diễn 11
Công thức cơ sở: ((∀x)(P(x)→Q(x)˄P(a))→Q(a)≡1, aM mà P(a) đúng
Trang 33Mô hình suy diễn:
2.9 Dạng chuẩn tắc của công thức logic vị từ - dạng chuẩn Prenex
2.9.1 Chuyển về dạng chuẩn Prenex:
Trang 341 Xóa toán tử “→”
2 Chuyển lượng từ ra phía trước
F = (Q1 x1) (Qn xn) (D1∨…∨Dk)
Dk là hội của một hoặc nhiều mệnh đề
Ví dụ 21: F = (∀x)(∃z)(∀y)((¬p(x) ∧ q(y)) ∨ (q(y) ∧ r(z))).
F = (Q1 x1) (Qn xn) (D1∧…∧ Dk)
Dk là tuyển của một hoặc nhiều mệnh đề
Ví dụ 22: F = (∀x)(∃z)(∀y)((¬p(x) ∨ q(y)) ∧ (q(y) ∨ r(z))).
- Đổi tên biến
- Xóa toán tử “→” dùng A → D = ~A ∨ B
- Di chuyển ¬ (~) về bên trái của mỗi mệnh đề
- Chuyển các lượng từ ra bên trái của công thức
- Dùng luật phân bố và kết hợp để chuyển về dạng tương ứng ( Hội/ Tuyển)
Ví dụ 23: Cho W= ∀xA(x) ∨ ∃xB(x) →C(x) ∧∃xC(x).
W ≡ ∀y A(y) ∨ ∃z B(z) →C(x) ∧ ∃t C(t) (Đổi tên biến)
Trang 35≡ (~∀y A(y) ∧~∃z B(z)) ∨(C(x) ∧∃tC(t))(Di chuyển ~)
≡ (∃y~A(y) ∧∀z~B(z)) ∨ (C(x) ∧∃t C(t))
≡ ∃y∀z∃t((~A(y) ∧~B(z)) ∨(C(x) ∧C(t))) (Di chuyển ∃,∀)
Đây là dạng chuẩn Prenex tuyển
2.10 Luật suy diễn
Universal Instantiation ∀xP(x) → P(c) c là 1 giá trị trong universe
Universal Generalization P(c) → ∀xP(x) P(c) là T với mọi c trong một universe
đang xem xétExistential Instantiation ∃xP(x) → P(c) c trong universe vá P(c) là T
Existential
Generalization
P(c) → ∃xP(x) c trong universe
Ví dụ 24 : Một hóa đơn là trống nếu nó chưa được thanh toán (bằng tiền mặt) cho
30 ngày Hóa đơn A vẫn chưa được thanh toán cho 30 ngày Vì vậy việc kiểm tra này làtrống Bạn không thể thanh toán cho một hóa đơn trống Do đó bạn không thể thanhtoán cho hóa đơn A Bây giờ chúng ta đã có một hóa đơn mà không thể thanh toán
Ta đặt:
C(x): x là một hóa đơn
T(x): x đã được thanh toán trong 30 ngày
V(x): x là trống
Trang 36CHƯƠNG 3: MỘT SỐ ỨNG DỤNG CỦA LOGIC VỊ TỪ
Ngày nay, cùng với khoa học kỹ thuật, Lôgíc học đang có những bước phát triểnmạnh, ngày càng có sự phân ngành và liên ngành rộng rãi Nhiều chuyên ngành mớicủa Lôgíc học ra đời : Lôgíc kiến thiết, Lôgíc đa trị, Lôgíc mờ, Lôgíc tình thái v.v… Sựphát triển đó đang làm cho Lôgíc học ngày càng thêm phong phú, mở ra những khảnăng mới trong việc ứng dụng Lôgíc học vào các ngành khoa học và đời sống
Đặc biệt là trong khoa học máy tính, Logic là nội dung trung tâm của khoa họcmáy tính từ khi ngành này được hình thành: công trình của Alan Turing vềEntscheidungs problem theo sau từ công trình của Kurt Gödel về các định lý về sựkhông toàn vẹn, và khái niệm của các máy tính dành cho mục đích tổng quát bắt nguồn
từ công trình này đã có tầm quan trọng mang tính nền tảng đối với các nhà thiết kế máytính trong những năm 1940
Trong những năm 1950 và 1960, các nhà nghiên cứu dự đoán rằng khi tri thức của
Trang 37ra một máy tính có khả năng lập luận, hay nói cách khác là trí tuệ nhân tạo Điều nàyhóa ra là khó khăn hơn đã dự đoán do sự phức tạp trong lập luận của con người Tronglập trình logic, một chương trình bao gồm một tập hợp các tiên đề và các luật Các hệthống lập trình logic như Prolog tính toán các hệ quả của các tiên đề và luật để trả lờimột truy vấn.
Đã có rất nhiều công trình nghiên cứu, các luận văn, báo cáo về ứng dụng prologtrong giải quyết các vấn đề của cuộc sống như: Sử dụng Prolog trong chuẩn đoán bệnh,
sử dụng prolog trong kinh dịch, sử dụng prolog trong giao thông, sử dụng prologchuẩn đoán hư hỏng của máy móc, sử dụng prolog trong tư vấn học tập…
3.1 Giới thiệu Prolog
Prolog là ngôn ngữ được sử dụng phổ biến nhất trong dòng các ngôn ngữ lậptrình logic (Prolog có nghĩa là Programming in Logic) Ngôn ngữ Prolog do giáo sưngười Pháp Alain Colmerauer và nhóm nghiên cứu của ông đề xuất lần đầu tiên tạitrường Đại học Marseille đầu những năm 1970
Prolog còn gọi là ngôn ngữ lập trình ký hiệu (symbolic programming) tương tựngôn ngữ lập trình hàm Prolog rất thích hợp để giải quyết các bài toán liên quan đếncác đối tượng (obj)ect) và mối quan hệ (relation) giữa chúng
Prolog được dùng phổ biến trong lĩnh vực trí tuệ nhân tạo Nguyên lý lập trình dựatrên các mệnh đề Horn
Mỗi chương trình Prolog là một cơ sở dữ liệu gồm:
Đối tượng (Obj)ect): biến và hằng
Trang 38 Vị từ (Predicate): thể hiện mối quan hệ giữa các đối tượng.
Sự kiện (Fact): mệnh đề vị từ
Luật (Rule): mệnh đề kéo theo
3.2 Ứng dụng của Prolog trong giao thông:
3.2.1 Giới thiệu:
Một cơ sở dữ liệu đã được xây dựng bao gồm các luật để nhận biết hình dáng,đặc điểm, tên của các biển báo Từ đó xây dựng chương trình giao tiếp có khả năng tiếpnhận các sự kiện (facts) mà người dùng cung cấp Sau khi xử lý các sự kiện bằng cách
sử những thông tin được lưu trong cơ sở dữ liệu Chương trình sẽ thông báo kết quả lênmàn hình, về tên biển báo giao thông, và hướng dẫn cho người sử dụng biết trong quátrình tham gia giao thông cần phải xử lý như thế nào khi gặp biển báo này
3.2.2 Mô hình hoạt động
Mô hình hoạt động