5 April 2006 5 April 2006 [email protected][email protected]Tr Tr í í tu tu ệ ệ nhân nhân t t ạ ạ o o nâng nâng cao cao Hoá NGUYEN College of Technology, Vietnam National University, Hanoi I. Nhập môn AI++ - Hoá NGUYEN @ 2006 2 Agenda Agenda Nhập môn Khái niệm Lịch sử Thực trạng Biểu diễn bài toán và tìm kiếm giải pháp Các kiểu bài toán Xác lập bài toán Các thuật toán tìm kiếm Logic và biểu diễn tri thức Logic mệnh đề Logic vị từ cấp 1 FOL Biểu diễn tri thức Suy diễn Suy diễnvới logic Luật suy diễn Mệnh đề hoá cơ sở tri thức Lập luận tiến Lập luận lùi
43
Embed
Trí tuệ nhân tạo nâng cao - nnhoa.free.frnnhoa.free.fr/courses/AI++/2006/Introduction.pdf · ... trí thông minh nhân tạo ... tập trung vềcác nguyên lý vềtác
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Biểu diễn bài toán và tìm kiếm giải phápCác kiểu bài toánXác lập bài toánCác thuật toán tìm kiếm
Logic và biểu diễn tri thứcLogic mệnh đềLogic vị từ cấp 1 FOLBiểu diễn tri thức
Suy diễnSuy diễn với logicLuật suy diễnMệnh đề hoá cơ sở tri thứcLập luận tiếnLập luận lùi
AI++ - Hoá NGUYEN @ 2006 3
Intelligence: trí thông minh“ability to learn, understand and think” (Oxford dictionary)
Artificial Intelligence (AI): trí thông minh nhân tạo“attempts to understand intelligent entities”, “strives to build intelligent entities” (Stuart Russel & Peter Norvig)
Trí tuệ nhân tạo (Artificial Intelligence AI): được nhìn nhận qua 4 góc độ:
Acting rationallyHành động hợp lý
Acting humanlyHành động như người
Thinking rationallyNghĩ hợp lý
Thinking humanlyNghĩ như người
Acting rationally: Tác nhân có lý (Rational Agent)Tác nhân: cái có thể cảm nhận và hành động
Làm những điều hợp lý
TrTríí tutuệệ nhânnhân ttạạoo llàà ggìì ??
AI++ - Hoá NGUYEN @ 2006 4
KhKhááii niniệệmm TrTríí tutuệệ nhânnhân ttạạoo
TTNT: Lĩnh vực trong khoa học máy tính nghiên cứu về cáchành vi thông minh (intelligent behavior)
Mục tiêu: Hiểu được bản chất các hành vi thông minh
Xây dựng các hệ thống thông minh
TTNT: tập trung về các nguyên lý về tác nhân có lý trí vàcác yếu tố để xây dựng chúng.
AI++ - Hoá NGUYEN @ 2006 5
TTNT: TTNT: llĩĩnhnh vvựựcc đa đa ngngàànhnhTriết học Logic, các phương pháp suy luận, trí tuệ
kiểu cơ sở hệ thống tự nhiên của việc học, ngôn ngữ, tính hợp lý
Toán học Biểu diễn hình thức, thuật toán kiểmchứng, tính toán, khả năng quyết định, tínhdễ xử lý, xác xuất.
Kinh tế Tính hữu dụng, lý thuyết quyết địnhThần kinh học Cơ sở tự nhiên của hoạt động tinh thầnTâm lý học Hiện tượng cảm nhận, kỹ thuật thực nghiệmKỹ nghệ máy tính
Xây dựng những máy tính tốc độ caoLý thuyết điều khiển
Hệ thống thiết kế tối ưu hoá hàm mục tiêu. Ngôn ngữ Biểu diễn tri thức, ngữ pháp
AI++ - Hoá NGUYEN @ 2006 6
Con Con ngưngườờii vvàà mmááyy ttíínhnh
Khó người, dễ máy:Cờ,
Ô chữ,
Xếp thư,
Chứng minh định lý,
Lập lịch
…
Dễ người, khó máy:Nhận dạng tiếng nói, hình dáng,
Hiểu ngôn ngữ tự nhiên,
Xoạn nhạc, thơ,
…
AI++ - Hoá NGUYEN @ 2006 7
LLịịchch ssửử ngngàànhnh TTNTTTNT
1943 McCulloch & Pitts: Mô hình mạch boolean chonão1950 Turing's "Computing Machinery and Intelligence"1956 Hội nghị Dartmouth: TTNT được thông qua1965 Robinson hoàn thành thuật toán cho suy luậnlogic1966—73 TTNT khám phá sự phức tạp tính toán. Nghiêncứu về mạng nơron hầu hết biến mất1969—79 Phát triển sớm các hệ thống dựa trên tri thức1980-- TTNT trở thành 1 ngành công nghiệp1986-- Mạng nơron trở lại phổ biến1987-- TTNT trở thành một khoa học1995-- Xuất hiện của tác nhân thông minh
AI++ - Hoá NGUYEN @ 2006 8
ThThựựcc trtrạạngng TTNTTTNT
Deep Blue đánh bại đại kiện tướng cờ vua thế giới Garry Kasparov, 1997
Chứng minh được 1 phỏng đoán toán học (phỏng đoánRobbins), cái đã không giải được từ nhiều thập kỷ
Xe tự động xuyên Mỹ (tự động 98% thời gian từ Pittsburgh đến San Diego), 1993.
Chương trình lập kế hoạch tự động hoạt động trên các phi thuyền của NASAPhần mềm Proverb giải các câu đố chữ tốt hơn so với hầuhết con người.
Hệ thống tổ chức hội nghị bằng ngôn ngữ tự nhiên.
….
AI++ - Hoá NGUYEN @ 2006 9
ThThựựcc trtrạạngng
AI++ - Hoá NGUYEN @ 2006 10
ỨỨngng ddụụngng
Nhận dạng/tổng hợp tiếng nói,
Nhận dạng/tổng hợp ảnh,
Nhận dạng chữ viết tay,
Xử lý ngôn ngữ tự nhiên,
Lập kế hoạch,
Hỗ trợ quyết định,
Hệ chuyên gia,
…
AI++ - Hoá NGUYEN @ 2006 11
AgendaAgendaNhập môn
Khái niệmLịch sửThực trạng
Biểu diễn bài toán và tìm kiếm giải phápCác kiểu bài toánXác lập bài toánCác thuật toán tìm kiếm
Logic và biểu diễn tri thứcLogic mệnh đềLogic vị từ cấp 1 FOLBiểu diễn tri thức
Suy diễnSuy diễn với logicLuật suy diễnMệnh đề hoá cơ sở tri thứcLập luận tiếnLập luận lùi
Tìm kiếm cục bộ (local search): Giữ trạng thái đơn hiện tại, và tìm cách cải thiện nó
Tìm kiếm Hill-climbingTối ưu địa phương (có thể khác tối ưu toàn cục)Lặp nhiều lần để có được tốt hơn (1 dãy đủ lớn trạng thái ban đầu ngẫunhiên)
Tìm kiếm mô phỏng luyện kimNhảy qua cực đại địa phương bằng cách cho phép vài dịch chuyển "xấu", nhưng giảm dần tần xuất của chúng.
Local beam searchLưu giữ k trạng thái thay vì chỉ mộtBắt đầu với k trạng thái được sinh ra ngẫu nhiênVới mỗi lần lặp, mọi hậu duệ của cả k trạng thái đều được sinh raNếu 1 trong số đó là trạng thái đích, stop; nếu không thì chọn k hậu duệtốt nhất từ danh sách đầy đủ và lặp lại
Thuật toán di truyền
AI++ - Hoá NGUYEN @ 2006 25
ThuThuậậtt totoáánn didi truytruyềềnn
Trạng thái hậu duệ được sinh ra qua việc kết hợp hai trạngthái cha
Bắt đầu với k trạng thái được sinh ra ngẫu nhiên(population)
Một trạng thái được biểu diễn như một chuỗi các ký tựalphabet hữu hạn (thường là 0,1)
Hàm đánh giá (hàm phù hợp): Giá trị cao hơn cho trạng tháitốt hơn
Sản sinh thế hệ kế tiếp của các trạng thái bằng lựa chọn, laitạp, và đột biến (selection, crossover, and mutation)
AI++ - Hoá NGUYEN @ 2006 26
TTóómm ttắắtt
Sử dụng kinh nghiệm (heuristics) để nâng cao hiệu quả tìmkiếm
Best-First Search: những nốt có chi phí thấp nhất được mởrộng trước tiên.
Greedy search: ước lượng chi phí đến đích h(n) từ n.
A*: ước lượng chi phí đường qua n đến đích f(n) = g(n) + h(n).
A* : tối ưu, luôn có nghiệm, mặc dù không gian tìm kiếm còn rộng
Local search: cải thiện việc lặp bằng cách chỉ lưu 1 trạngthái đơn trong bộ nhớ:
Hill-Climbing: có thể kẹt tại cục bộ địa phương.
Simulated Annealing: thoát khỏi cục bộ địa phương với 1 lịch trìnhlàm lạnh đủ dài.
AI++ - Hoá NGUYEN @ 2006 27
AgendaAgendaNhập môn
Khái niệmLịch sửThực trạng
Biểu diễn bài toán và tìm kiếm giải phápCác kiểu bài toánXác lập bài toánCác thuật toán tìm kiếm
Logic và biểu diễn tri thứcLogic mệnh đềLogic vị từ cấp 1 FOLBiểu diễn tri thức
Suy diễnSuy diễn với logicLuật suy diễnMệnh đề hoá cơ sở tri thứcLập luận tiếnLập luận lùi
AI++ - Hoá NGUYEN @ 2006 28
LogicLogic
Logics là những ngôn ngữ hình thức dùng để biểu diễn
thông tin sao cho có thể đi đến một kết luận nào đó
Cú pháp-Syntax định nghĩa câu trong ngôn ngữ đó
Ngữ nghĩa - Semantics xác định "nghĩa" của câu
Tức là định nghĩa chân lý của câu trong một thế giới
Ví dụ:,ngôn ngữ số học
x+2 ≥ y là 1 câu; x2+y > {} không phải là 1 câu
x+2 ≥ y đúng nếu và chỉ nếu số x+2 không bé hơn y
x+2 ≥ y đúng trong thế gới mà x = 7, y = 1
x+2 ≥ y sai trong thế giới mà x = 0, y = 6
Logic mệnh đề Logic Cú pháp và ngữ nghĩa Dạng chuẩn hội
AI++ - Hoá NGUYEN @ 2006 29
LogicLogic mmệệnhnh đ đềề
Logic mệnh đề (propositional logic): quan tâm đến nhữngcông thức mà chúng có thể đúng (true) hoặc sai (false)
Các phần tử cơ bản: các mệnh đề nguyên tử (atoms).
VD: atoms:Hà nội là thủ đô của Việt nam (true)
Việt nam thuộc châu Âu (false)
Việc diễn dịch một mệnh đề dựa trên việc gán cho nó giá trịlogic T (true) hoặc F (false)
Logic mệnh đề Logic Cú pháp và ngữ nghĩa Dạng chuẩn hội
AI++ - Hoá NGUYEN @ 2006 30
DDạạngng chuchuẩẩnn ttắắcc
Các tương đương logic cho phép thực hiện mọi phép toántrên các mệnh đề
Với mọi mệnh đề P, ta đều có thể tìm được mệnh đề P’tương đương với P mà không chứa cả⇔ lẫn ⇒
(nhờ các luật bỏ kéo theo đơn và tương đương)
VD: (A ⇔ B) ⇒ C = ( (A ⇒B) ∧ (B ⇒ A) ⇒ C)
= ¬( (¬A ∨ B) ∧ (¬B ∨ A) ) ∨ C
= (¬(¬A ∨ B)) ∨ (¬(¬B ∨A))∨C
= (A ∧ ¬B) ∨ (B ∧ ¬A) ∨ C
Logic mệnh đề Logic Cú pháp và ngữ nghĩa Dạng chuẩn hội
AI++ - Hoá NGUYEN @ 2006 31
DDạạngng chuchuẩẩnn hhộộii
Dạng chuẩn hội - Conjunctive Normal Form (CNF): công thứcđược thể hiện dưới dạng hội của các câu tuyển.Câu tuyển: câu có dạng A1 ∨ A2 ∨… ∨ An, trong đó Ai là cácliteral.Chuyển tới dạng chuẩn hội CNF: (v.d. với A ⇔ (B ∨ C)
1. Loại ⇔, thay α⇔ β bằng (α⇒ β)∧(β⇒ α)(A ⇒ (B ∨ C)) ∧ ((B ∨ C) ⇒ A)
2. Loại ⇒, thay α⇒ β bằng ¬α∨ β.(¬A ∨ B ∨ C) ∧ (¬(B ∨ C) ∨ A)
3. Chuyển ¬ vào trong sử dụng luật de Morgan và phủ định kép(double-negation):(¬A∨ B ∨ C) ∧ ((¬B∨ ¬C) ∨ A)
4. Áp dụng luật phân phối (∧ trên ∨) :(¬A ∨ B ∨ C) ∧ (¬B ∨ A) ∧ (¬C ∨ A)
Logic mệnh đề Logic Cú pháp và ngữ nghĩa Dạng chuẩn hội
AI++ - Hoá NGUYEN @ 2006 32
CôngCông ththứứcc HornHorn
Công thức Horn (1951):
P1 ∧ P2 ∧… ∧Pm ⇒ Q
~ luật if-then: If P1 and … and Pm then Q
Khi m=0, công thức horn trở thành câu đơn Q, hay sự kiện
Q
Logic mệnh đề Logic Cú pháp và ngữ nghĩa Dạng chuẩn hội
AI++ - Hoá NGUYEN @ 2006 33
ĐĐặặcc điđiểểmm ccủủaa logiclogic mmệệnhnh đ đềề
Ưu điểm:☺ Là dạng khai báo (declarative)
☺ Tri thức và quá trình suy diễn là tách biệt với nhauSuy diễn độc lập với môi trường
☺ Cho phép có những thông tin phủ định/từng phần/không liên kết vớinhau.
☺ Là logic cấu thành: nghĩa của 1 câu phụ thuộc vào nghĩa của cácthành phần của nó
☺ Nghĩa của 1 câu độc lập với ngữ cảnh.
Nhược điểm:Khả năng hạn chế trong việc biểu diễn thông tin
VD: Ta không thể biểu diễn được những câu:
- « Mọi phụ nữ đều duyên dáng »
- « Cô ta đang ăn trái cây »
Logic mệnh đề Logic Cú pháp và ngữ nghĩa Dạng chuẩn hội
AI++ - Hoá NGUYEN @ 2006 34
ĐĐặặtt vvấấnn đ đềề
Thế giới hiện thực: tập các đối tượngmỗi đối tượng có những tính chất riêng,
các đối tượng có quan hệ với nhau
Logic mệnh đề: biểu diễn thế giới qua các sự kiện (facts)
Logic vị từ (first-order logic) (như ngôn ngữ tự nhiên): chophép biểu diễn thế giới:
Đối tượng: người, một cái bàn, …
Quan hệ: cha-con, tròn-vuông, …
Hàm: cho phép xác đinh quan hệ của đối tượng
Logic vị từ cấp một Cú pháp Ngữ nghĩa Sử dụng
AI++ - Hoá NGUYEN @ 2006 35
CCúú phpháápp ccủủaa FOLFOL
Hằng: Hương, 2, NUS,...
Biến: x, y, a, b…
Vị từ (predicate): Brother, >,...
Hàm (function): Sqrt, FatherOf,...
Kết nối: ¬, ⇒, ∧, ∨, ⇔
Bằng: =
Lượng tử: ∀, ∃
Logic vị từ cấp một Cú pháp Ngữ nghĩa Sử dụng
AI++ - Hoá NGUYEN @ 2006 36
CôngCông ththứứcc phânphân ttửử
Công thức phân tử (atomic sentences) :
vị từ(term1,...,termn) hoặc term1 = term2
Trong đó các hạng thức (term) được xác định :
Term = function (term1,...,termn) hoặc hằng hoặc biến
VD: Love(Liên, Husband(Liên)) là một công thức phân tử, trong đó Husband(Liên) là một hạng thức
Logic vị từ cấp một Cú pháp Ngữ nghĩa Sử dụng
AI++ - Hoá NGUYEN @ 2006 37
CôngCông ththứứcc phphứứcc
Công thức phức (complex sentences) được xây dựng từ
các công thức phân tử thông qua việc sử dụng các kết nối
¬S, S1 ∧ S2, S1 ∨ S2, S1⇒ S2, S1 ⇔S2,
VD: >(1,2) ∨ ≤(1,2)
>(1,2) ∧ ¬ >(1,2)
Công thức cụ thể: công thức không chứa biến
Lượng tử phổ dụng: mô tả tính chất của 1 lớp đối tượng
VD: "Mọi người đều có quyền tự do": ∀x (Người(x) ⇒ Tựdo(x))
Lượng tử tồn tại: dùng để nói đến một đối tượng trong 1 lớp
đối tượng mà nó có tính chất/thoả mãn quan hệ nào đó
Một số cô gái có mái tóc nâu: ∃x (Cogai(x) ∧ MàuTóc(x, Nâu))
Logic vị từ cấp một Cú pháp Ngữ nghĩa Sử dụng
AI++ - Hoá NGUYEN @ 2006 38
NgNgữữ nghnghĩĩaa
Giá trị chân lý của một công thức được thể hiện thông qua một mẫu (model) và một minh hoạ (interpretation)
Một mẫu chứa các đối tượng và các quan hệ giữa chúng
Minh hoạ xác định các tham chiếu cho:Ký tự hằng → đối tượngKý tự vị từ → quan hệKý tự hàm → quan hệ hàm
Công thức phân tử predicate(term1,...,termn) là đúng nếu vàchỉ nếu các đối tượng tham chiếu bởi term1,...,termnở trongquan hệ tham chiếu bởi predicate
Ngữ nghĩa của công thức phức: xác định thông qua cáccông thức phân tử.
Logic vị từ cấp một Cú pháp Ngữ nghĩa Sử dụng
AI++ - Hoá NGUYEN @ 2006 39
VVíí ddụụLogic vị từ cấp một Cú pháp Ngữ nghĩa Sử dụng
AI++ - Hoá NGUYEN @ 2006 40
LưLượợngng ttửử phphổổ ddụụngng
∀<variables> <sentence>
VD: Mọi người Việt đều thông minh:∀x NgườiViệt(x) ⇒ Thôngminh(x)
∀x P đúng với mẫu m khi và chỉ khi P đúng với mỗi đốitượng có thể có trong mẫu đó
Nói cách khác, ∀ tương ứng với hợp của mọi thể hiện củaP
Biểu diễn tri thức Thu nhận và mô hình hoá Bản thể học Phạm trù Web Semantic
AI++ - Hoá NGUYEN @ 2006 65
XâyXây ddựựngng cơcơ ssởở tri tri ththứứcc
B1: Xác định ngữ cảnh của bài toán: các loại đối tượng, các
thuộc tính có thể có, các quan hệ.
B2: Xây dựng hệ thống từ vựng
Hằng, các vị từ, các hàm
HasColor(x,y), Small(x), FatherOf(x), …
B3: Xây dựng tri thức về lĩnh vực, về bài toán đặt ra
Chuyển đổi các câu/mệnh đề trong ngôn ngữ tự nhiên thành công
thức logic vị từ.
B4: Chuẩn hoá công thức
KB: tập các câu tuyển
Kỹ nghệ tri thức
Biểu diễn tri thức Thu nhận và mô hình hoá Bản thể học Phạm trù Web Semantic
AI++ - Hoá NGUYEN @ 2006 66
AgendaAgendaNhập môn
Khái niệmLịch sửThực trạng
Biểu diễn bài toán và tìm kiếm giải phápCác kiểu bài toánXác lập bài toánCác thuật toán tìm kiếm
Logic và biểu diễn tri thứcLogic mệnh đềLogic vị từ cấp 1 FOLBiểu diễn tri thức
Suy diễnSuy diễn với logicLuật suy diễnMệnh đề hoá cơ sở tri thứcLập luận tiếnLập luận lùi
AI++ - Hoá NGUYEN @ 2006 67
SuySuy didiễễnn logiclogic
Chuỗi các mệnh đề đúng (tiền đề)
Cần suy ra những sự kiện mới, đúng từ những mệnh đề đó(kết luận)
VD:Tiền đề (những mệnh đề đúng)
A ⇒ B : Nếu Bình ngoan thì Bình sẽ đi xem phim
A : Bình ngoan
Kết luận (sự kiện suy ra)B: Bình sẽ đi xem phim
Ký hiệu suy diễn bằng |={A ⇒ B, A} |= B
Qua suy diễn, ta suy ra những mệnh đề mới là hệ quả logiccủa những mệnh đề ban đầu.
Suy diễn Suy diễn với logic Luật suy diễn Mệnh đề hoá KB Lập luận tiến Lập luận lùi
AI++ - Hoá NGUYEN @ 2006 68
CơCơ ssởở tri tri ththứứcc
Cơ sở tri thức (knowledge base, KB): tập các câu trong mộtngôn ngữ hình thức
KB bao gồm:Tập các sự kiện
Tập các luật
Suy diễn: sử dụng những sự kiện và luật đã có để tìm ra những sự kiện mới, nghĩa là những tri thức mới.
Suy diễn Suy diễn với logic Luật suy diễn Mệnh đề hoá KB Lập luận tiến Lập luận lùi
AI++ - Hoá NGUYEN @ 2006 69
LuLuậậtt suysuy didiễễnn
Modus ponens (kéo theo – loại trừ)Nếu A và (A ⇒ B) thì ta suy ra B
Ký hiệu {A, A ⇒ B} |= B
Modus tollensNếu ¬B và (A ⇒ B) thì ta suy ra ¬A
Ký hiệu {¬B, A ⇒ B} |= ¬A
Bắc cầuNếu A ⇒ B và B ⇒ C thì ta suy ra A ⇒ C
Ký hiệu {A ⇒ B,B ⇒ C} |= A ⇒ C
Suy diễn Suy diễn với logic Luật suy diễn Mệnh đề hoá KB Lập luận tiến Lập luận lùi
AI++ - Hoá NGUYEN @ 2006 70
LuLuậậtt suysuy didiễễnn
Loại bỏ hội:Nếu A và (A ∧ B) thì ta suy ra B
Ký hiệu {A, A ∧ B} |= B
Đưa vào hộiNếu A và B thì ta suy ra A ∧ B
Ký hiệu {A,B} |= A ∧ B
Đưa vào tuyểnNếu A, ta suy ra A ∨ B
Ký hiệu {A} |= A ∨ B
Cho phép đưavào biến tự do
Suy diễn Suy diễn với logic Luật suy diễn Mệnh đề hoá KB Lập luận tiến Lập luận lùi
AI++ - Hoá NGUYEN @ 2006 71
VVíí ddụụ
Đơn giản hoá {p, ¬r, p ⇒ (q ⇒ r)}
Suy diễn bằng Modus ponens : q ⇒ r
Sau đó với Modus tollens : ¬q
Vậy {p, ¬r, p ⇒ (q ⇒ r)} |= ¬q.
Chứng minh rằng {A v B, ¬B v C} |= A v C
(A v B) ⇔ (¬A ⇒ B)
(¬B v C) ⇔ (B ⇒ C)
{A v B, ¬B v C} ⇔ {¬A ⇒ B, B ⇒ C}
Với luật bắc cầu, ta thu được {¬A ⇒ B, B ⇒ C} |= A v C
Chú ý: những ví dụ này chỉ đúng khi chúng ta thừa nhận
những mệnh đề cơ bản là đúng!
Suy diễn Suy diễn với logic Luật suy diễn Mệnh đề hoá KB Lập luận tiến Lập luận lùi
AI++ - Hoá NGUYEN @ 2006 72
LuLuậậtt suysuy didiễễnn (FOL)(FOL)
Thay thế phổ dụng (universal instantiation): thay biến thànhhằng ∀x α |= SUBST ({x/C}, α)
Ví dụ : ∀x Thích(x,tráicây)Thay x bởi Lan (kí hiệu {x/Lan}), ta được Thích(Lan,tráicây)
Thay thế tồn tại (existential instantiation): với câu α, biến x và hằng c, không xuất hiện trong KB: ∃x α |= SUBST ({x/C}, a)
VD: ∃x Thích(x,tráicây)Thay x bởi C1 (ký hiệu {x/C1})
Thích(C1,tráicây), với điều kiện là C1 không nằm trong KB
Chú ý:Thay thế phổ dụng có thể được áp dụng nhiều lần để thêm câu mới. Cơ sở tri thức mới tương đương với cơ sở tri thức cũ, theo nghĩalogicThay thế tồn tại chỉ được áp dụng 1 lần để thay một câu tồn tại. KB mới không tương đương với KB cũ, nhưng nó có thể thoả mãn nếuKB cũ có thể thoả mãn
Suy diễn Suy diễn với logic Luật suy diễn Mệnh đề hoá KB Lập luận tiến Lập luận lùi
AI++ - Hoá NGUYEN @ 2006 73
RRúútt ggọọnn vvềề KB KB mmệệnhnh đđềề
Giả sử KB chỉ chứa:∀x Vua(x) ^ Ham(x) ⇒ XauBung(x)Vua(Titi)Ham(Titi)AnhEm(Toto,Titi)
Nếu chúng ta thay phổ dụng bởi tất cả các khả năng củanó:
KB mới đã được mệnh đề hoá và chỉ chứa các mệnh đề(propositions).Ta có thể chuyển KB sử dụng FOL về dạng chỉ chứa cácmệnh đề và áp dụng kỹ thuật phân giải để thu về lời giải
Suy diễn Suy diễn với logic Luật suy diễn Mệnh đề hoá KB Lập luận tiến Lập luận lùi
AI++ - Hoá NGUYEN @ 2006 74
VVấấnn đđềề vvớớii mmệệnhnh đđềề hohoáá KBKB
Mệnh đề hoá KB có thể sinh ra những câu không thíchđáng.
VD, từ:∀x King(x) ∧ Greedy(x) ⇒ Evil(x)
King(John)
∀y Greedy(y)
Brother(Richard,John)
Khi mệnh đề hoá, sẽ sinh ra những sự kiện không thích đáng nhưGreedy(Richard) (vì Richard không greedy)
Suy diễn Suy diễn với logic Luật suy diễn Mệnh đề hoá KB Lập luận tiến Lập luận lùi
AI++ - Hoá NGUYEN @ 2006 75
HHợợpp nhnhấấtt -- UnificationUnification
Ta có thể tiến hành suy diễn, cần hợp nhất câu bởi cácphép thế θVD: King(x) và Greedy(x) thoả mãn King(John) vàGreedy(y)
θ = {x/John,y/John}
Unify(α,β) = θ if αθ = βθα β θ
Knows(John,x) Knows(John,Jane)
Knows(John,x) Knows(y,OJ)
Knows(John,x) Knows(y,Mother(y))
Knows(John,x) Knows(x,OJ)
Loại bỏ việc trùng tên biến giữa các câu, v.d. Knows(z,OJ)
{x/Jane}}
{x/OJ,y/John}}
{y/John,x/Mother(John)}}
{fail}
Suy diễn Suy diễn với logic Luật suy diễn Mệnh đề hoá KB Lập luận tiến Lập luận lùi
AI++ - Hoá NGUYEN @ 2006 76
UnificationUnification
Để hợp nhất Knows(John,x) và Knows(y,z), ta có:θ = {y/John, x/z } hoặc θ = {y/John, x/John, z/John}
MGU(most general unifier): phép thế mang lại sự ít hạn chếnhất cho các biến.MGU = { y/John, x/z }
Suy diễn Suy diễn với logic Luật suy diễn Mệnh đề hoá KB Lập luận tiến Lập luận lùi
AI++ - Hoá NGUYEN @ 2006 77
LuLuậậtt Modus Ponens Modus Ponens ttổổngng ququáátt
Cơ chế: đi từ sự kiện cần khẳng định để tìm ra sự khẳngđịnh thông qua phần kết luận của các luật
VD: Cho: FB = { B, C}, RB gồm các luật:1. Nếu B AND D AND E thì F2. Nếu G AND D thì A3. Nếu C AND F thì A4. Nếu B thì X5. Nếu D thì E6. Nếu X AND A thì H7. Nếu C thì D8. Nếu X AND C thì A9. Nếu X AND B thì D