You are on page 1of 397

TRÍ TUỆ NHÂN TẠO

Artificial Intelligence

TS. Lê Xuân Vinh


TS. Lê Thị Kim Nga
Trường ĐH Quy Nhơn

1
Nội dung chương trình

 Thời gian: 45 tiết


 Nội dung: 3 phần

Phần 1: Tổng quan về Khoa học TTNT


Phần 2: Giải quyết vấn đề bằng tìm kiếm
Phần 3: Học máy, các thuật toán học tăng cường
Phần 4: Học sâu
Các chương 1-7,11 trong TLTKhảo [1]

2
Tài liệu tham khảo

[1] Trí tuệ nhân tạo – Đinh Mạnh Tường


[2] Trí tuệ nhân tạo – George F. Luger
[3] Trí tuệ nhân tạo – Nguyễn Thanh Thủy
[4] Giáo trình nhập môn Trí tuệ nhân tạo –
Hoàng Kiếm
[5] Artificial Intelligence, A Modern Approach -
Stuart J. Russell
[6] ArtificiAl intelligence in the 21st century,
3 Stephen Lucci, Danny Kopec, 2016
TỔNG QUAN VỀ KHOA HỌC TTNT

4
(Hình ảnh)

5
Trí tuệ nhân tạo (AI): giới thiệu
• Thành tựu hiện tại
• AI: là gì?
• AI: tại sao nên sử dụng?
• AI/DL: tương quan với con người

6
Thành tựu hiện tại
Đọc văn bản & nhận dạng tiếng nói
Rất tốt
Sản phẩm: Google; ViettelAI, Zalo, v.v.
Hiểu ngôn ngữ tự nhiên:
Rất khá
Sản phẩm: Siri@Apple, Ms. Sophia, v.v.
Hình ảnh:
Rất tốt
Ứng dụng:
Nhận dạng (Face), Sinh ảnh, Phát hiện và phân tích hành vi
đối tượng, v.v.
Phân tích ảnh y khoa
Robot di chuyển như người, tự hành
Rất khá
7
Thành tựu hiện tại
Từ khá đến rất tốt cho phân tích các
dạng tín hiệu khác nhau:
Hình ảnh, video
Âm thanh, chuỗi thời gian (điện tim/não)
Văn bản

8
Trí tuệ nhân tạo là gì?

• Trí tuệ nhân tạo (Artificial


Intelligence, AI)
– Là một lĩnh vực nghiên cứu giúp cho
máy
móc(*) có các khả năng của con người.

9
(*)Các thự c thể nhân tạ o
Trí tuệ nhân tạo là gì?

• Trí tuệ nhân tạo (Artificial


Intelligence, AI)
– Là một lĩnh vực nghiên cứu giúp cho
máy
móc có các khả năng của con người.

Đề xuất tại: Hội nghị Dartmounth (1956)


(Dartmouth Summer Research Project on Artificial Intelligence)

10

Trí tuệ nhân tạo là gì?

Con người có những khả năng đặc biệt nào?

11
Trí tuệ nhân tạo là gì?
Tầm nhìn từ ~1950

Khả năng sử dụng ngôn ngữ


1
Hiểu văn bản, tóm tắt văn bản, viết văn

12 Khả năng nhìn - hiểu (thị giác)


2 Hiểu ảnh và video

31 Khả năng giao tiếp qua nghe-nói


3
Nhận dạng tiếng nói và phát âm

12
Trí tuệ nhân tạo là gì?
Tầm nhìn từ ~1950

Khả năng biểu diễn tri thức


4 và thực hiện suy diễn
Thực hiện chuỗi biến đổi:
Dữ liệu thông tin tri thức thông minh.
Suy diễn dựa vào tri thức

Suy diễn là khả năng yếu nhất hiện nay của AI.
Vui hay không?

AI (hiện nay): Khả năng phân tích dữ


liệu thông minh và đưa ra thông tin có
giá trị 13
Trí tuệ nhân tạo là gì?
Tầm nhìn từ ~1950

Khả năng thể hiện hành động


5 Thực hiện hành động thông minh:
biểu cảm,
đi, đứng, chạy, nhảy, phối hợp,
điều khiển thiết bị, v.v.
Khả năng học
6 Học tập để nâng cao tri thức và kỹ năng.
Học tập, giáo dục, đào tạo: được quan tâm bởi mọi quốc gia

14
Trí tuệ nhân tạo là gì?
Tầm nhìn từ ~1950

Con người Trí tuệ nhân tạo

Học, 3
Học 2 4
nữa,
Học
1 5
mãi.
6
Học
máy
15
Trí tuệ nhân tạo là gì?

Con người Trí tuệ nhân tạo

Con người cần Nếu quan niệm AI


hoàn thiện thông minh và
theo thời gian hoàn thiện ngay
từ phiên bản đầu
tiên bất công!

16
AI: Tại sao sử dụng?
1. Dữ liệu lớn
1
Sự thúc đẩ y từ dữ liệu

Dùng AI để phân tích dữ liệu Dùng dữ liệu cho huấn luyện trong AI
AI

+ Nhãn dữ liệu

Dữ liệu lớn (big-data)


Hàng ngàn camera;
Hàng triệu bài viết, nhận xét;
Hàng trăm triệu phần tử log, v.v.
17
1

18
AI: Tại sao sử dụng?
1. Dữ liệu lớn
1
Sự thúc đẩ y từ dữ liệu
ImageNet Large Scale Visual Recognition Challenge (ILSVRC)

• Số lớp: 1000 http://www.image-net.org


Các giống mèo,
Các giống chó,
Các giống cá, …
• Số ảnh huấn luyện (có nhãn)
• ILSVRC-2010: 1.2 triệu ảnh
• ILSVRC-2017: > 14 triệu ảnh
• Số ảnh kiểm tra (có nhãn)
• ILSVRC-2010: 100.000 ảnh
• ILSVRC-2017: vài trăm ngàn ảnh 19
AI: Tại sao sử dụng?
2 2. Công nghệ tính toán mới
Sự hỗ trợ từ máy móc
Rút ngắn thời gian học

NVIDIA V100
Xử lý dữ liệu nhanh

NVIDIA T4

Hỗ trợ nhiều dạng ứng dụng


Tính toán tại sensor, tính toán tập
trung
20
Jetson TX2
AI: Tại sao sử dụng?
2 2.Công nghệ tính toán mới
Sự hỗ trợ từ máy móc

Vài chục ngày vài ngày

21
Nguồn: https://www.hardwarezone.com.sg/
AI: Tại sao sử dụng?
2 2. Công nghệ tính toán mới
Sự hỗ trợ từ máy móc

Khả năng xử lý: hàng chục ngàn hình/sec 22


Nguồn: NVIDIA
AI: Tại sao sử dụng?
33. Kỹ thuật học mới – Học sâu (deep learning)
Sự hỗ trợ từ khoa họ c & kỹ thuậ t

Học sâu:
• Tăng độ chính xác
• Thích nghi tốt với dữ liệu và tình huống chưa gặp (học bổ sung)
• Dễ sử dụng (end-to-end)
• Thống nhất cách tiếp cận cho các nhánh của AI (All-in-one)
23
AI: Tại sao sử dụng?
3 3. Kỹ thuật học mới – Học sâu (deep
learning)

Dữ liệu x y
Mạng học sâu

y = fw(x)
Mạng nơron học sâu = hàm tóan học y = fw(x);
Nó ánh xạ dữ liệu đầ u vào x ra kết quả mong muố n y

Huấ n luyện mạ ng =
tìm bộ hệ số w để hàm khớ p đượ c vớ i dữ liệu huấ n luyện
24
AI: Tại sao sử dụng?
3 3. Kỹ thuật học mới – Học sâu (deep
learning)

Dữ liệu x y
Mạng học sâu

y = fw(x)

x y
25
AI: Tại sao sử dụng?
3 3. Kỹ thuật học mới – Học sâu (deep
learning)

Dữ liệu x y
Mạng học sâu

y = fw(x)

Bài toán thực tiễn: fw(x) có hàng trăm triệu con số


=> Cần lượng lớn cặp (x,y) để huấn luyện fw(x)

26
AI: Tại sao sử dụng?
3.
3 Kỹ thuật học mới – Học sâu (deep
learning)
Kết quả cuộc thi về nhận dạng ảnh (ILSVRC)

AI đã vượt qua con người


27
AI: Tại sao sử dụng?
Độ chính xác cao

Tính toán nhanh

Thích nghi tốt với dữ liệu


AI
Dễ sử dụng là chủ
Tiềm năng ứng dụng rộng rãi
đề nóng

Một kỹ thuật cho nhiều loại khả năng


Phân
Nghe, Ngôn Hành
Nhìn tích
nói ngữ động
dữ
28
liệu
AI/DL ~ con người

Con người Trí tuệ nhân tạo


Khiếm khuyết không thể học Hiện tượng không thể học
(Vanishinggradients)

Học qua loa, không sâu Hiện tượng không hội tụ về điểm tối ưu
(họcnhanh,hệsốhọclớn)

Học vẹt Hiện tượng quá khớp


(overfitting)

Cần học tập chủ động Cần học tập chủ động

Bài khó cần học nhiều lần hơn Mẫu dữ liệu khó học nhiều lần hơn

29
AI/DL ~ con người

Con người Trí tuệ nhân tạo


Cần lựa chọn tư liệu học tập (sách, Cần lựa chọn mẫu dữ liệu để huấn
bài tập) hiệu quả luyện, kiểm thử và kiểm tra

Phương pháp: học tập chủ động Phương pháp: học tập chủ động
cần tăng dần mức độ từ nhỏ cần tăng dần mức độ theo thời gian
lớn

Phương pháp đánh giá Cần sử dung hàm tổn thất và thưởng
ảnh hưởng lớn chất phạt phù hợp
lượng dạy/học

Khoảng cách nội dung học tập (tổ Phân phối của các tập huấn luyện, kiểm
chức đào tạo) vs công việc thực thử và kiểm tra
tiễn 30
(công nghiệp)
31
I-Lịch sử phát triển của AI

 Từ những năm 1960 chúng ta thường nghe nói


nhiều về máy tính thế hệ 5, hệ chuyên gia, lập trình
Prolog, logic mờ, mạng nơron nhân tạo, giải thuật
di truyền,…
 Đây là một số thuật ngữ trong một ngành mới của
khoa học máy tính: Trí tuệ nhân tạo (AI).
 AI ban đầu giải quyết những vấn đề gì, chúng ta
hãy xem những ứng dụng với những đòi hỏi cụ thể
của nó.

32
1. Trò chơi:

 Cờ carô, cờ vua, các ô số,…


 Mỗi một bước đi trên bàn cờ là một quyết
định trong số rất nhiều khả năng có thể lựa
chọn.
 Tất cả các khả năng sẽ sinh ra một không
gian quá lớn và phức tạp.
 Sẽ rất khó khăn nếu như sòng phẳng xét hết
tất cả các khả năng.

33
Khó khăn

 Vì lý do thời gian, một người đánh cờ chỉ có thể cảm


nhận khả năng tốt trong lựa chọn.
 Một chương trình thông minh phải có khả năng như
vậy.
 Chiến lược lựa chọn mang tính cảm nhận nhưng có
cơ sở sẽ được gọi là heuristic, nó không chắc chắn
mang lại kết quả nhưng nhiều khả năng mang đến
thành công, tuy nhiên vẫn có thể hàm chứa sự rủi ro
đẫn đến thất bại.

34
2. Hệ chuyên gia

 Một chuyên gia phải có nhiều tri thức chuyên môn và


kỹ năng sử dụng những tri thức đó để giải quyết vấn
đề.
 Một hệ chương trình thay thế cho chuyên gia được
gọi là hệ chuyên gia.
 Nó bao gồm cơ sở tri thức và các quy tắc suy luận.
 Hệ chuyên gia đang được ứng dụng rộng rãi trong
các lĩnh vực y tế, giáo dục, thiết kế, kinh doanh,
khoa học,…

35
Những hệ chuyên gia nổi tiếng

 DENDRAL (Stanford, 1960) dùng để phỏng


đoán cấu trúc các phân tử hữu cơ từ công
thức hóa học của chúng
 MYCIN (Stanford, 1970) chẩn đoán và kê
đơn điều trị cho bệnh viêm màng não và
nhiễm trùng máu
 PROSPECTOR (MIT, 1979) xác định vị trí,
loại quặng mỏ dựa trên thông tin địa lý
36
Khó khăn

 Đòi hỏi cơ bản của mọi hệ chuyên gia là biểu


diễn tri thức ngôn ngữ như thế nào và tiếp
cận cách suy luận của con người ra sao.
 Cho đến nay, đó vẫn còn là những vấn đề
nan giải cần giải quyết.

37
3. Điều khiển mờ

 Tích hợp các thiết bị điều khiển mờ tự động vào các


sản phẩm công nghệ phục vụ đời sống bắt đầu từ
những năm 1990 tại Nhật Bản.
 Điển hình là các sản phẩm như máy giặt, máy điều
hòa nhiệt độ của Toshiba; máy ảnh, máy quay phim
kỹ thuật số của Canon; hướng dẫn lùi xe tự động
của Nissan, Mitshubisi; điều khiển tàu điện không
người lái, trong các dây chuyền công nghiệp, sản
xuất xi măng,…

38
39
40
Khó khăn

 Đặc trưng của kỹ thuật này dựa trên lý thuyết


mờ của L. A. Zadeh (1965)
 Với quan điểm mờ hóa đầu vào các tác động
của môi trường nhằm đạt được kết quả liên
tục tốt nhất
 Phù hợp với quan điểm sử dụng ngôn ngữ
để mô tả cho dữ liệu của con người.

41
II. Khái niệm về trí tuệ nhân tạo

 Trí tuệ nhân tạo (Artificial Intelligence – AI) là thuật


ngữ do McCarthy và Marvin Minsky đưa ra tại hội
thảo Dartmount năm 1956 dùng để chỉ cho một
ngành khoa học mới trong lĩnh vực khoa học máy
tính.
 Nghiên cứu những vấn đề liên quan đến tư duy của
con người, AI kế thừa nhiều ý tưởng, quan điểm, kỹ
thuật từ nhiều ngành khoa học khác như Triết học,
Toán học, Tâm lý học,…

42
Định nghĩa

 AI là lĩnh vực nghiên cứu, thiết kế các


chương trình máy tính ứng xử một cách
thông minh.
 AI là lĩnh vực nghiên cứu, thiết kế các tác
nhân thông minh (Intelligent Agents).

43
Mô hình ứng dụng của AI

AI = Presentation & Search

Tri Thức Tìm kiếm


Knowledge Search
Engineering Heurictic
Suy luận
Nghiên cứu và ứng dụng AI trong CN 4.0

• Mục đích của AI. Tạo nên các tác tử (Agent) dựa trên tri thức

• Các lính vực nghiên cứu chính:

+Lập luận/tư duy: Logic toán (Tất định, ngẫu nhiên, mờ, có
yếu tố thời gian)
+Giải bài toán (Problem solving): Tìm kiếm, Giải pháp tương
tự (Cases based reasoning), Điều khiển học

+ Học máy (Machine learning)

+ Biễu diễn và tạo dựng tri thức


Một mô hình Agent dựa trên tri thức
Ví dụ agent giải bài toán tổng quát

47
Ví dụ về Agent dựa trên tri thức

48
Chương 1.
CÁC CHIẾN LƯỢC TÌM KIẾM MÙ

49
I. Biểu diễn vấn đề trong KG trạng thái.

 Vấn đề là gì? Là quá trình xuất phát từ dạng ban


đầu và tìm kiếm trong không gian bài toán để tìm
ra dãy phép toán hay dãy hành động cho phép
dẫn tới đích mong muốn.
 Một bài toán nào đó cần giải quyết, chẳng hạn
như một trò chơi, c.minh một định lý,…
 Một lớp rộng các bài toán có thể giải quyết bằng
cách biểu diễn bởi các trạng thái và các tóan tử
(phép biến đổi trạng thái).
50
Các đặc trưng cơ bản của vấn đề

1) Bài toán có thể phân rả thành các bài toán con dễ giải hơn
không?
2) Các bước giải của bài toán có thể bỏ qua hay hủy bỏ không?
3) Không gian bài toán có thể đoán trước không?
4) Có tiêu chuẩn để xác định một lời giải nào đó là tốt với bài toán
hay không?
5) Có cần đến tri thức để giải quyết bài toán hay điều khiển quá trình
tìm kiếm không?
6) CSTT dùng để giải quyết bài toán có nhất quán với nội dung
không?
7) Có cần tương tác người máy trong quá trình giải quyết không?

51
Ví dụ (trò chơi 8 số) n2-1, n>2

52
Bài toán: 8 số
Có khả năng xảy ra
vòng lặp không?

53
Bài toán tìm đường đi

Làm sao có thể đi từ S đến G? Và số lần chuyển đổi có


thể ít nhất?
5
4
I. Phân loại vấn đề (bài toán)

 Vấn đề đầy đủ thông tin (Informed)


- Biết được dạng đầu, dạng đích và có thể
quyết định khi nào vấn đề được coi là giải
quyết xong.
- VD: Trò chơi 8 số, tháp Hà Nội v.v.
 Vấn đề không đầy đủ thông tin (Uninformed)
- Tìm cách đi từ nhà đến 1 nhà hát mà trước
đó chưa từng đến bao giờ.
55
Các thành phần của KGTT

 Sự sắp xếp các số tại mỗi thời điểm là một TT.


 Hình bên trái là trạng thái ban đầu.
 Hình bên phải là trạng thái kết thúc hay trạng thái
đích (goal).
 Trạng thái đích của một bài toán có thể nhiều hơn
một.
 Một toán tử là một phép biển đổi hợp lệ chuyển từ
trạng thái này sang trạng thái khác.

56
 Tập hợp tất cả các trạng thái mở rộng từ
trạng thái u được ký hiệu là S(u).
 Mở rộng từ trạng thái ban đầu, bằng các
tóan tử, cuối cùng thu được một không gian
trạng thái (KGTT).

57
Định nghĩa

 KGTT là một bộ bốn (X, u0, F, G), trong đó:


X là tập các trạng thái
u0 là trạng thái bắt đầu
F là tập các toán tử, gồm các phép biến đổi.
G là tập trạng thái đích.

58
Biểu diễn KGTT

 Không gian trạng thái có thể biểu diễn bằng


đồ thị có hướng: mỗi đỉnh là một trạng thái,
mỗi cung là một toán tử.

 Giải quyết được vấn đề tức là tìm được


nghiệm của bài toán? đó là đường đi từ trạng
thái bắt đầu đến một trong các trạng thái
đích.
59
Biểu diễn bằng cây

 Trong đồ thị của KGTT có thể xuất hiện chu


trình gây khó khăn cho việc tìm kiếm, hạn
chế các toán tử trong F có thể đưa đồ thị trở
thành cây, một cấu trúc dễ tìm kiếm hơn.
 KGTT của trò chơi caro là một trường hợp
như vậy.

60
Chiến lược tìm kiếm?

 Khi tìm kiếm lời giải, từ một trạng thái nào đó chưa
phải là trạng thái đích, ta dựa theo toán tử sinh ra
tập các trạng thái mới: mở rộng.
 Để được lời giải, ta phải liên tục chọn trạng thái mới,
mở rộng, kiểm tra cho đến khi tìm được trạng thái
đích hoặc không mở rộng được KGTT.
 Tập các trạng thái được mở rộng sẽ có nhiều phần
tử, việc chọn trạng thái nào để tiếp tục mở rộng
được gọi là chiến lược tìm kiếm.

61
Đánh giá một chiến lược?

+ Tính đầy đủ: chiến lược phải đảm bảo tìm


được lời giải nếu có.
+ Độ phức tạp thời gian: mất thời gian bao lâu
để tìm được lời giải.
+ Độ phức tạp không gian: tốn bao nhiêu đơn
vị bộ nhớ để tìm được lời giải.
+ Tính tối ưu: tốt hơn so với một số chiến lược
khác hay không.

62
Thông tin mỗi nút?

+ Nội dung trạng thái mà nút hiện hành đang


biểu diễn.
+ Nút cha đã sinh ra nó.
+ Toán tử đã được sử dụng để sinh ra nút hiện
hành.
+ Độ sâu của nút.
+ Giá trị đường đi từ nút gốc đến nút hiện
hành.

63
II. Các chiến lược tìm kiếm mù

64
Tìm kiếm mù?

 Trạng thái được chọn để phát triển chỉ đơn


thuần dựa theo cấu trúc của KGTT mà không
có thông tin hướng dẫn nào khác.
 Nói chung tìm kiếm mù sẽ không hiệu quả.
 Đây là cơ sở để chúng ta cải tiến và thu
được những chiến lược hiệu quả hơn.

65
1. Tìm kiếm theo chiều rộng (BFS)

 Trạng thái được ưu tiên phát triển là trạng


thái được sinh ra trước.
 Dùng danh sách open chứa các trạng thái
sinh ra đang chờ phát triển
 Danh sách closed chứa các trạng thái đã
được khảo sát.

66
Ví dụ

67
Thuật toán BFS
procedure bfs;
begin
open:=[start]; closed:=[];
while open<>[] do
begin
loại tt ngoài cùng bên trái của open, gọi nó là u
if (u là một đích) then thông báo kết quả, thoát
else begin
Đưa u vào closed
Phát sinh các con v của u
Loại các con đã có trong open+closed
Đưa các con còn lại vào bên phải open (1)
end
end
Thông báo thất bại
End
68
Nhận xét

 Các trạng thái con phát sinh nhờ các toán tử hợp lệ.
 Danh sách open bổ sung phần tử bên phải, lấy phần
tử bên trái.
 Thuật tóan khảo sát tất cả các nút ở độ sâu d sau đó
mới đến mức d+1 nên chắc chắn tìm được nghiệm.
 Nếu vô nghiệm và KGTT hữu hạn thì thuật toán sẽ
dừng và thông báo vô nghiệm.
 Để lưu được nghiệm, cần giữ nút cha của các nút
được khảo sát.

69
Đánh giá

 Giả sử mỗi trạng thái trung bình sinh ra b


trạng thái con (kề), b - gọi là nhân tố nhánh.
 Giả sử đường đi nghiệm có độ dài d. Tình
trạng xấu nhất phải khảo sát là ?
 Độ phức tạp thời gian là O(b^d), độ phức tạp
không gian cũng là O(b^d).

70
71
2. Tìm kiếm theo chiều sâu (DFS)

 Mở rộng nút có độ sâu hơn trước các nút


khác đang chờ xử lý.
 Khi nào không mở rộng được nữa thì mới
quay lại nút ở độ sâu thấp hơn.
 Do đó, các nút mới được sinh ra chờ xử lý
phải được bỏ bên trái của hàng đợi open (tại
câu lệnh 1).

72
Thuật toán DFS
procedure bfs;
begin
open:=[start]; closed:=[];
while open<>[] do
begin
loại tt u ngoài cùng bên trái của open
if (u là một đích) then thông báo kết quả, thoát
else begin
Đưa u vào closed
Phát sinh các con v của u
Loại các con đã có trong open+closed
Đưa các con còn lại vào bên trái open (1)
end
end
Thông báo thất bại
End
73
Nhận xét

 Nếu nhân tố nhánh là b và đang khảo sát nút ở độ


sâu d thì nó chỉ lưu trữ b*d nút, trong khi đó BFS
phải lưu trữ b^d nút.
 Ở độ sâu d=12, DFS chỉ sử dụng 12KB trong khi
BFS dùng đến 111TB.
 Độ phức tạp thời gian của DFS vẫn là O(b^d) vì
trong trường hợp xấu nhất các nút được khảo sát
vẫn như BFS.
 Cơ hội để tìm thấy trạng thái đích cao hơn nếu nó
nằm ở phần không gian trạng thái bên trái.

74
Hạn chế

 Nó bỏ qua cơ hội tìm thấy ngay trạng thái đích khi


trạng thái này nằm gần gốc.
 Nếu KGTT vô hạn có thể nó không tìm được trạng
thái đích.
 Nghiệm nói chung không phải là đường đi ngắn
nhất.
 DFS bị đánh giá là chiến lược không đầy đủ mà
cũng không tối ưu. Do đó nó không được khuyến
khích sử dụng khi KGTT có độ sâu lớn hoặc vô hạn.

75
3. Tìm kiếm với độ sâu hạn chế

 Vẫn như sử dụng chiến lược tìm kiếm theo


chiều sâu nhưng giới hạn độ sâu của đường
đi nghiệm trên cây.
 Tức là sẽ không tiếp tục mở rộng nếu đã đến
một độ sâu d cố định nào đó.
 Số d được gọi là bán kính trên KGTT.

76
Nhận xét

 Chiến lược này sẽ tìm được nghiệm hay


không phụ thuộc vào d.
 Nếu d được chọn thích hợp thì nó tìm được
nghiệm, khi đó chiến lược là đầy đủ. Tuy
nhiên nó không là chiến lược tối ưu.
 Tương tự như DFS, độ phức tạp thời gian là
O(b^d) và độ phức tạp không gian là O(bd).

77
Thuật toán

procedure DFS(d);
begin
open:=[start]; closed:=[]; depth(start):=0;
while open<>[] do
begin
loại u ngoài cùng bên trái open
if (u là một đích) then thbáo kết quả, thoát
else

78
begin
Đưa u vào closed
If depth(u)<d then begin
Phát sinh các con v của u
Loại các con vừa phát sinh đã có trong open+ closed
Gán độ sâu cho các v bằng depth(u)+1
Đưa các con v còn lại vào bên trái open
End;
End;
End; {while}
Thông báo thất bại
End.

79
Khó khăn d?

 Vấn đề khó khăn là xác định độ sâu hạn chế


d.
 Hầu hết các bài tóan chúng ta không biết
trước d bằng bao nhiêu.
 Chiến lược sau đây giải quyết vấn đề này.

80
4. Tìm kiếm sâu dần

 Từng bước tăng dần độ sâu hạn chế để tìm


nghiệm.
 Lần lượt cho d bằng 1,2,…và tìm kiếm với độ
sâu hạn chế ứng với d.
 Tận dụng được lợi thế của hai chiến lược tìm
kiếm rộng và tìm kiếm sâu vì nó tìm hết cây
độ sâu d đến d+1 giống như tìm kiếm rộng

81
Nhận xét

 Chắc chắn tìm được nghiệm nếu có.


 Do sử dụng tìm kiếm sâu trong cây hạn chế
nên ít tốn kém bộ nhớ hơn.
 Chiến lược này là đầy đủ và nếu KGTT là
cây thì nó là chiến lược tối ưu.

82
Thuật toán

procedure DFS1;
begin
for d:=0 to max do
begin
DFS(d);
If thành công then exit
End;
End;

83
Đánh giá

 Thực tế số nút tăng lên nhưng độ phức tạp


của thuật tóan vẫn là O(b^d), trong khi đó độ
phức tạp không gian vẫn là O(bd).
 Vì vậy, tìm kiếm sâu dần được đánh giá là
chiến lược tìm kiếm thích hợp hơn khi KGTT
lớn và không biết trước được độ sâu của
trạng thái đích.

84
Chương 3.
CÁC CHIẾN LƯỢC TÌM KIẾM
KINH NGHIỆM

85
Nguyên nhân

 Các chiến lược tìm kiếm mù kém hiệu quả và


không thể áp dụng được trong nhiều trường
hợp.
 Sử dụng thông tin của trạng thái kết hợp với
nhận xét dựa theo kinh nghiệm để cải tiến là
quan điểm chung của các chiến lược tìm
kiếm kinh nghiệm.

86
1. Hàm đánh giá

87
Khái niệm về hàm đánh giá

 Hàm đánh giá là một hàm ước lượng khả


năng về đích của mỗi trạng thái.
 Chỉ là ước lượng vì nói chung chúng ta
không thể tính toán chính xác khả năng này,
nếu tính được nghĩa là đã tìm được lời giải!
 Tuy nhiên, nhờ kinh nghiệm trong nhiều bài
toán cụ thể, có thể ước lượng được g.trị này.

88
Ví dụ

 Nếu đếm các số sai vị trí của một trạng thái


so với trạng thái đích thì B là 3 và C là 1.
 Như vậy, số này càng nhỏ thì trạng thái đó
càng có khả năng về đích
 Có thể dùng số này làm giá trị cho hàm đánh
giá.

89
Hình thức hóa

 Trong đó X là KGTTcủa bài toán.


 Dễ thấy, nếu u là trạng thái đích thì h(u)=0. Mỗi u
ta có một giá trị ước lượng là h(u)
 h(B)=3; h(C)=1
 Hàm đánh giá còn được gọi là hàm heuristic. Giá
trị hàm càng nhỏ thì khả năng về đích của trạng
thái càng lớn.

90
Tính h(D), h(E)

91
Nhiều cách XD hàm h

 h(D)=h(E)=2
 Về mặt đường đi qua các ô ngang dọc để di chuyển
về đúng vị trí thì (D) phải di chuyển đọan đường xa
hơn (E) nên có thể là (D) không tốt bằng (E).
 Theo nhận xét này, ta có thể xây dựng hàm h bằng
tổng khoảng cách phải di chuyển của các ô sai vị trí.
 Ví dụ: h1(D)=3+3 = 6, h1(E)=2+2=4
 Một ví dụ khác là lấy độ dài đường chim bay !

92
Các bước

+ Biểu diễn bài toán bằng một KGTT thích hợp


+ Xây dựng hàm đánh giá
+ Thiết kế chiến lược chọn trạng thái

93
II. Các chiến lược tìm kiếm kinh
nghiệm.

94
a) Tìm kiếm leo đồi – Hill Climbing
Search (Pearl, 1984)

 Chọn một trạng thái tốt hơn trạng thái đang khảo sát
để phát triển. Nếu không có thuật tóan phải dừng.
 Nếu chỉ chọn một trạng thái tốt hơn: leo đồi đơn
giản, trạng thái tốt nhất: leo đồi dốc đứng.
 Sử dụng hàm h để biết trạng thái nào tốt hơn.
 Khác với tìm kiếm sâu, leo đồi không lưu tất cả các
con mà chỉ lưu đúng một t.thái được chọn nếu có.

95
Thuật toán HCS
procedure hcs(start);
begin
open:=[start]; closed:=[];
while open<>[] do
begin
loại tt ngoài cùng bên trái của open, gọi nó là u
if (u là một đích) then thông báo kết quả, thoát
else begin
Đưa u vào closed
Phát sinh các con v của u
Loại các con đã có trong open+closed
Chọn con tốt nhất và hơn u đưa vào bên trái
open
end
end
Thông báo thất bại
End
96
97
Hoạt động của thuật toán…

Bước Open Closed


1 A-5 Rỗng
2 C-3 A-5
3 G-0 C-3
G-0

98
Nhanh, có thể thất bại

 Hiệu quả khi có một hàm đánh giá tốt. Bế tắc


nếu
– Gặp điểm cực đại địa phương (vùng trũng)
– Khu vực bình nguyên (phẳng)
 Giải pháp xáo trộn ngẫu nhiên.
 Không có giải pháp tổng quát. Cải tiến?

99
Tìm kiếm ưu tiên tốt nhất – Best First
Search (Best-FS)

 Chọn trạng thái tốt nhất trong open để phát triển, kể


cả trạng thái này không tốt bằng trạng thái đã sinh ra
nó.
 Lưu trữ tất cả các trạng thái anh em nên khi đi vào
ngõ cụt, chiến lược này có thể lui ra được mà không
bị bế tắc.
 Best-FS kết hợp tìm kiếm sâu và rộng.
 Best-FS “cẩn thận” hơn ghi nhớ lại các một số trạng
thái không tốt hơn trước đó để còn có thể quay lại.

10
Ví dụ

10
10
Thuật toán Best_FS
procedure Best_FS;
begin
open:={u0}; closed:={ };
while open<>{ } do
begin
loại trạng thái ngoài cùng bên trái của open, gọi nó là u
if (u là một đích) then thông báo thắng lợi, thoát
else begin
Đưa u vào closed
Phát sinh các con v của u
Loại các con v đã có mặt trong open + closed
Đưa các con còn lại vào open
Sắp xếp open sao cho phần tử tốt nhất nằm bên trái
end
end
Thông báo thất bại
end

10
Phương án lưu nghiệm

 Một cách đầy đủ, để có được kết quả là


đường đi nghiệm chúng ta phải lưu ý thêm
về việc lưu giữ các trạng thái cha để truy lại
vết của đường đi này.

10
Chương 3.
CÁC CHIẾN LƯỢC TÌM KIẾM TỐI ƯU

10
Lý do
 Trong các chiến lược tìm kiếm trên, chúng ta chưa
quan tâm đến độ dài hay chi phí của đường đi
nghiệm.
 Trong thực tế, đây là một yếu tố quan trọng vì ý
nghĩa của nghiệm tìm được phụ thuộc vào yếu tố
này.
 Ví dụ như số bước đi của một người chơi cờ. Chi
phí một hành trình trong bài toán người du lịch.
 Vì vậy chúng ta không chỉ quan tâm đến việc tìm ra
nghiệm mà còn phải quan tâm đến việc nghiệm đó
có tối ưu hay không.

10
 KGTT trong bài toán tối ưu phải có thêm
trọng số của các cung.
 Chúng ta đã phân tích các chiến lược từ tìm
kiếm mù, tìm kiếm kinh nghiệm và biết được
những ưu nhược điểm của từng chiến lược.
 Best-FS là chiến lược tìm kiếm linh hoạt nhất
cho đến lúc này, cải tiến chiến lược này để
giải quyết vấn đề tối ưu.
10
1. Hàm đánh giá cải tiến.

 Trong Best-FS, u được ưu tiên phát triển nếu


như nó có giá trị h(u) nhỏ nhất trong các
trạng thái trong open.
 Tuy nhiên, chỉ riêng h(u) là không đủ khi xét
đường đi tối ưu.
 Với quan điểm tối ưu, đồng thời với h(u) nhỏ
để mau về đích thì độ dài đường đi từ trạng
thái xuất phát đến u cũng phải nhỏ. Vì vậy,
người ta dùng hàm đánh giá cải tiến sau:
10
F(u)=h(u)+g(u)
 Trong đó g(u) là độ dài đường đi ngắn nhất
từ u0 đến u
 h(u) là đánh giá độ tốt theo hàm heuristic.
 Hàm h(u) được gọi là chấp nhận được hay
hàm đánh giá thấp nếu như h(u) nhỏ hơn độ
dài đường đi ngắn nhất thực sự từ u đến
đích.

10
Giải thuật A*

 A* là giải thuật tổng quát hơn BestFS, nó tìm kiếm


trên KGTT là đồ thị.
 Vì là đồ thị nên phát sinh nhiều vấn đề khi tìm đường
đi tối ưu.
 Để ý rằng nghiệm là đường đi nên ta phải lưu lại vết
của đường đi này.
 Trong các giải thuật trước, để tập trung cho tư tưởng
chính của các giải thuật đó chúng ta bỏ qua chi tiết
này, nhưng trong giải thuật này chi tiết này được đề
cập vì nó liên quan đến nghiệm một cách trực tiếp.

11
 Mỗi trạng thái u tùy ý sẽ gồm bốn yếu tố
(g(u), h(u), f(u), cha(u)). Trong đó:
 G(u), h(u), f(u) đã biết
 Cha(u) là nút cha của nút u

11
Mô tả hoạt động của A*

11
Lưu các trạng thái

Bước Open closed


1 A(0,7,0,-)
2 B(3,3,6,A), D(1,6,7,A), C(5,4,9,A) A(0,7,0,-)
3 D(1,6,7,A), C(4,4,8,B) B(3,3,6,A)
4 B(2,3,5,D), C(4,4,8,B) D(1,6,7,A)
5 C(3,4,7,B) B(2,3,5,D)
6 G(5,0,5,C) C(3,4,7,B)

Giải thuật dừng ở bước 6 và đường đi thu được độ dài 5 như sau
A-D-B-C-G.
11
Chi tiết các bước

 Ở bước 2, mọi việc xảy ra bình thường


 Ở bước 3, tìm được đường đi đến C qua B
ngắn hơn nên các giá trị của C trong open
phải được sửa đổi.
 Ở bước 4, mặc dù B đã nằm trong closed,
tức đã xét xong nhưng đường đi mới qua D
đến B ngắn hơn nên B phải được lấy khỏi
closed chuyển qua open chờ xét lại với giá trị
mới.
11
 Ở bước 5, lại xảy ra việc chỉnh sửa các giá
trị của C như ở bước 3.
 Giải thuật dừng ở bước 6 và đường đi thu
được độ dài 5 như sau A-D-B-C-G.

11
Chú ý

 Trạng thái đã lưu trong open vẫn có thể thay


đổi giá trị.
 Thậm chí lưu trong closed cũng phải bị xóa
đi và chuyển qua open với các giá trị mới.

11
Giải thuật A*

procedure A*(uo);
begin
g(uo)=0; f(uo)=h(uo);
open:=[uo]; closed:=[];

11
while open<>[] do
begin
loại u ngoài cùng bên trái của open
Đưa u vào closed;
if (u là một đích) then thông báo thắng lợi,
thoát else

11
begin
Sinh các con v của u;
For v thuộc con(u) do begin
g(v):=g(u)+c[u,v];
If v không thuộc open hay closed
begin
f(v):=g(v)+h(v);
cha(v):=u;
Bỏ v vào open;
end

11
If v thuộc open (tồn tại v’ thuộc open, sao cho
v=v’)
If g(v)<g(v’) then
Begin
g(v’):=g(v);
f(v’):=g(v’)+h(v’);
Cha(v’):=u;
End;
12
If v thuộc closed (tồn tại v’ thuộc closed, sao cho v=v’)
If g(v)<g(v’) then
Begin
f(v):=g(v)+h(v);
cha(v):=u;
Đưa v vào open;
Loại v’ khỏi closed;
End;

12
End;{for}
Xếp open để t.thái tốt nhất nằm bên
trái;
End{else}
End;{while}
Thông báo thất bại
End;{procedure}

12
Bài tập: Tìm đường đi nn từ A tới Z

123
Bài tập

124
Kết quả.

 Một hàm đánh giá h(u) được gọi là chấp


nhận được hay là hàm đánh giá thấp nếu
như h(u)<=h*(u) với moi u, ở đây h*(u) là
đường đi ngắn nhất từ u đến đích.
 Nếu hàm đánh giá h(u) là chấp nhận được
thì thuật toán A* là tối ưu.
 A* là thuật tóan hiệu quả nhất trong các thuật
toán đầy đủ và tối ưu.
12
Chương 4.
CÁC CHIẾN LƯỢC TÌM KIẾM
CÓ ĐỐI THỦ

12
I.Trò chơi và tìm kiếm trên cây trò chơi

 Đặc điểm:
 Hai người thay phiên đi (xen kẽ)
 Hai người biết thông tin đầy đủ về nhau
 Mỗi người tìm kiếm nước đi
 Nước đi tốt nhất là nước đi dẫn đến phần
thắng.
 Biểu diễn KGTT bằng cây: cây trò chơi.

12
II.Thủ tục Minimax cơ bản

 Một số ví dụ trên đã đề cập đến trò chơi


nhưng chỉ khảo sát với trường hợp tự demo.
 Bây giờ, chúng ta sẽ quan tâm đến bài toán
trò chơi với hai đối thủ.

12
Ví dụ: trò chơi Nim

 Có n (n>2) đồng xu.


 Mỗi nước đi, người chơi chia các đồng xu
này thành hai đống nhỏ có số lượng mỗi
đống khác nhau.
 Người thua sẽ là người cuối cùng không chia
được theo yêu cầu của bài toán.

12
Phân tích

 Tính toán phản ứng của đối thủ là khó khăn


chủ yếu của bài toán này.
 Thường thì cách giải quyết là giả thiết đối thủ
cũng sử dụng kiến thức về không gian trạng
thái như chúng ta.
 Giả thiết có vẻ hạn chế nhưng chúng ta sử
dụng để có cơ sở dự đoán hành động của
đối thủ.
13
KGTT trò chơi Nim n=7

13
Giả sử MAX là máy tính, MIN là
người chơi

 Hai đấu thủ: MIN và MAX.


 Cố gắng làm sao MAX thắng
 Trong đó MAX luôn tìm cách tối đa ưu thế của
mình và MIN tìm mọi cách để đưa MAX vào
thế khó khăn nhất.
 Mỗi mức trên KGTT ứng với một đấu thủ.
 Để chỉ dẫn được cách đi, chúng ta sẽ gán cho
các nút lá là 1 nếu MAX thắng, là 0 nếu MIN
thắng.
13
Gán trị cho các nút

13
Quy tắc gán trị cho các nút khác lá

 Truyền ngược các trị này từ các nút lá về


gốc theo qui tắc sau:
 Nếu đỉnh ở mức MAX, gán trị cho đỉnh này
bằng giá trị lớn nhất trong các giá trị của các
con của nó
 Nếu đỉnh ở mức MIN, gán trị cho đỉnh này
bằng giá trị bé nhất trong các trị của các con
của nó.
13
Trường hợp u thuộc lớp MAX:

// MAX tối đa ưu thế của mình, nếu MAX thắng


thì nút lá MIN gán =1
Function MaxVal(u);
Begin
If u là nút lá then Val(u):=f(u)
Else MaxVal(u):=max{MinVal(v) | v là các con
của u}
End;
13
Trường hợp u thuộc lớp MIN

// MIN đưa MAX vào thể khó nhất, tức là khi MIN
thắng sẽ gán nút lá trên MAX=0
Function MinVal(u);
Begin
If u là nút lá then MinVal(u):=f(u)
Else MinVal(u):=min{MaxVal(v) | v là các
con của u}
End;
13
Thủ tục chọn nước đi cho MAX

// v là nút kết quả trả về được chọn, chọn sao cho lợi thể nằm ở
MAX, tìm hướng đi MAX giá trị càng lớn:
Procedure Minimax(u, var v);
Begin
Val:= -oo;
For mỗi con w của u do
If val<=MinVal(w) then begin
Val:=MinVal(w);
v:=w;
End;
End;

13
Bài tập

 Biểu diễn KGTT trò chơi Nim với n=6


 Đánh giá các nút
 Giả sử đối thủ chọn cách đi là con bên phải
 Máy thắng hay thua?

13
III. Minimax với độ sâu hạn chế

 KGTT quá lớn, không mở rộng được đến các nút lá


 Do đó ta chỉ tính đến một mức n nào đó thôi.
 Nên không thể gán cho một đỉnh giá trị thắng/thua
cuộc một cách chính xác mà chỉ bằng khả năng
thắng thua – tức là một heuristic nào đó.
 Truyền ngược giá trị cho các nút lớp
 Căn cứ vào các giá trị này để quyết định bước đi.

13
Ví dụ: hạn chế độ sâu d=3

14
Độ sâu d, u thuộc lớp MAX

Function MaxVal(u, d);


Begin
If d=0 hoặc u là đỉnh kthúc then
MaxVal(u):=f(u)
Else MaxVal(u):=max{MinVal(v, d-1) | v
là các con của u}
End;

14
Trường hợp u thuộc lớp MIN

Function MinVal(u,d);
Begin
If d=0 hoặc u là đỉnh kthúc then
MinVal(u):=f(u)
Else MinVal(u):=min{MaxVal(v,d-1) | v
là các con của u}
End;

14
Thủ tục chọn nước đi cho MAX

Procedure Minimax(u, var v, d);


Begin
Val:= -oo;
For mỗi con w của u do
If MinVal(w, d-1) >=Val then begin
Val:=MinVal(w,d-1);
v:=w;
End;
End;

14
Định giá nút lá thế nào?

 Dựa vào sự chênh lệch số lượng các quân


 Trọng số cho loại quân cờ
 Vị trí của quân cờ.

14
Ví dụ: cờ vua

 Quân trắng: tốt hệ số 1; mã, tượng hệ số 3 ;


xe hệ số 5, hậu hệ số 9.
 Quân đen nhận giá trị âm ngược lại đối với
quân trắng.
 Tổng giá trị cả hai quân dùng để đánh giá
trạng thái đó.
 Cách đánh giá này chưa tính đến vị trí của
chúng.

14
Chương trình chơi cờ của Samuel

 Heuristic là tổng các a_i . x_i với


 Mỗi x_i là một đặc trưng của bàn cờ như ưu
thế quân, vị trí quân, khả năng kiểm sóat
trung tâm, cơ hội thí quân để ăn quân của
đối thủ
 a_i là hệ số của đánh giá mức độ quan
trọng của yếu tố này trong trạng thái.

14
Trò chơi Dodgem

14
Luật chơi
 Có hai quân trắng và hai quân đen trên bàn cờ 3x3.
 Quân đen không qua được bên trái mà chỉ di chuyển
lên trên, xuống dưới hoặc qua phải.
 Quân trắng không đi xuống dưới mà chỉ lên trên qua
trái hoặc qua phải.
 Quân đen chỉ được ra khỏi bàn cờ nếu đang đứng ở
cột cuối cùng, quân trắng chỉ được ra khỏi bàn cờ
nếu đang đứng ở dòng trên cùng.
 Đấu thủ thắng cuộc nếu đưa hết 2 quân của mình ra
khỏi bàn cờ hoặc làm cho đối phương không đi
được.

14
KGTT

14
Định giá cho nút ở độ sâu d?

15
Chính xác hơn?

 Mỗi quân trắng cản trực tiếp quân đen cộng


40 điểm, cản gián tiếp cộng 30 điểm và
ngược lại cho quân đen.

15
Số quân?

 Ngoài ra, do số quân cờ càng ít thì khả năng


thắng càng cao nên nếu chỉ còn một quân
trắng thì được cộng thêm như 50 chẳng hạn,
ngược lại chỉ còn một quân đen thì -50.

15
IV. Thủ tục cắt nhánh alpha-beta

 Hạn chế với số mức d đi nữa thì số trạng thái


đã rất lớn.
 Cờ vua: nhân tố nhánh b=35; d=3 có
35*35*35=42.785 trạng thái (chưa kể ở các
mức 1, 2) cần tính mất khoảng 150s.
 Với khả năng nhất định của máy tính, giải
quyết vấn đề thời gian như thế nào?

15
Thủ tục anpha-beta

 Giảm bớt các trạng thái cần khảo sát mà vẫn


không ảnh hưởng gì đến việc giải quyết bài
toán.
 Cắt bỏ các nhánh không cần khảo sát.
 Ví dụ

15
Ví dụ

15
Cơ sở của thủ tục

 Nếu val(v)< val(u) thì


bất kể val(a) bằng bao
nhiêu thì val(c) cũng
bằng val(u).
 Nếu a thuộc lớp min?

15
Cụ thể

 Khi cài đặt, ta dùng một cặp biến alpha, beta.


 Alpha - giá trị lớn nhất trong các giá trị của
các các nút con đã đánh giá của một nút
max
 Beta – giá trị bé nhất trong các giá trị của các
các nút con đã đánh giá của một nút min
 Anpha>=beta cắt nhánh đang xét

15
Định giá cho nút u lớp Max

Function MaxVal(u, anpha, beta);


begin
if (u là nút lá của cây hoặc cây hạn chế) then Maxval:=f(u)
else for w con của u do
begin
alpha:=max{alpha, MinVal(w, alpha, beta)}
if anpha>beta then exit;
end;
MaxVal:=alpha;
end;

15
Định giá cho nút u - lớp Min

Function MinVal(u, anpha, beta);


begin
if (u là nút lá của cây hoặc cây hạn chế) then Minval:=f(u)
else
for w con của u do
begin
beta:=min{beta, MaxVal(w, alpha, beta)}
if anpha>=beta then exit;
end;
MinVal:=beta;
end;

15
Thủ tục hướng dẫn nước đi cho Max

Procedure Alpha_beta(u, var v)


begin
alpha:=-oo; beta:=+oo;
for (w con u) do
if alpha<MinVal(w, alpha, beta) then
begin
alpha:=MinVal(w, anpha, beta);
v:=w;
end;
end;

16
Phần 2.
BIỂU DIỄN TRI THỨC VÀ LẬP LUẬN

16
Biểu diễn tri thức này thế nào?

 SV nào đậu TN và xin được việc làm thì có


cuộc sống ổn định.
 SV nào chăm hoặc may mắn thì đậu TN
 SV nào may mắn thì xin được việc làm
 Nam không chăm nhưng may mắn.

? Cuộc sống của Nam có ổn định không

16
Dữ liệu, Thông tin, Tri thức (1)
 Dữ liệu (data) thường được định nghĩa là các sự kiện
(facts) hoặc các ký hiệu (symbols)
 Thông tin (information) thường được định nghĩa là dữ
liệu đã được xử lý hoặc chuyển đổi thành những dạng
hoặc cấu trúc phù hợp cho việc sử dụng của con người
 Thu được sau khi loại bỏ những thứ dư thừa và giữ lại phần cốt
lõi.

 Tri thức (knowledge) thường được định nghĩa là sự


hiểu biết (nhận thức) về thông tin
 Thu được sau quá trình nhận thức, phát hiện, hoặc học tập

Trí Tuệ Nhân Tạo


16
3
Dữ liệu, Thông tin, Tri thức (2)
 Dữ liệu
 Là kí hiệu, tín hiệu lưu trữ trên máy tính

 Thông tin
 Là những gì con người cảm nhận được

 Tri thức
 Là sự chắc lọc của thông tin
 Các định luật, tiên đề là tri thức mang tính khẳng định
 Các quy trình điều chế, thuật toán là tri thức mang tính thủ tục
 Các nhận định, kết luận về sự kiện hiện tượng là tri thức mô tả
 Các suy đoán, ước lượng dựa trên kinh nghiệm là tri thức heuristic

 Biễu diễn tri thức: Phương pháp, kỹ thuật đưa tri thức lên máy
tính
Trí Tuệ Nhân Tạo
16
4
Biểu diễn tri thức
 Biểu diễn tri thức (Knowlegde representation) là một bài
toán quan trọng của Trí tuệ nhân tạo
 các phương pháp, cách thức biểu diễn tri thức và các công cụ
hỗ trợ việc biểu diễn tri thức

 Tồn tại nhiều phương pháp biểu diễn tri thức


 Luật sản xuất (Production rules)
 Khung (Frames)
 Mạng ngữ nghĩa (Semantic networks)
 Ontology
 Các mô hình xác suất (probabilistic models)
 Học sâu (deep learning)
 …

Trí Tuệ Nhân Tạo


16
5
Biểu diễn tri thức: vấn đề
 Tính hoàn chỉnh (Completeness)
Phương pháp biểu diễn có hỗ trợ việc thu thập và thể hiện mọi
khía cạnh của tri thức (của một lĩnh vực cụ thể)?
 Tính ngắn gọn (Conciseness)
Phương pháp biểu diễn có cho phép việc thu thập tri thức một
cách hiệu quả?
 Phương pháp biểu diễn có cho phép việc lưu trữ và truy nhập

dễ dàng tri thức không?


 Tính hiệu quả về tính toán (Computational efficiency)
 Tính rõ ràng, dễ hiểu (Transparency)
 Phương pháp biểu diễn có cho phép diễn giải (để người dùng
hiểu) về các hoạt động và các kết luận của hệ thống?

Trí Tuệ Nhân Tạo


16
6
Biểu diễn tri thức: bằng luật (1)
 Biểu diễn tri thức bằng các luật (rules) là cách biểu diễn phổ
biến trong các hệ cơ sở tri thức
 Một luật chứa đựng (biểu diễn) tri thức về việc giải quyết một vấn đề nào
đó
 Các luật được tạo nên khá dễ dàng, và dễ hiểu
 Một luật được biểu diễn ở dạng:
IF A1 AND A2 AND … AND An THEN B
 Ai
 Là các điều kiện (conditions, antecedents, premises)
 B
 Là kết luận (conclusion, consequence, action)

Trí Tuệ Nhân Tạo


16
7
Biểu diễn tri thức: bằng luật (2)
 Mệnh đề điều kiện của một luật
 Không cần sử dụng toán tử logic OR
 Một luật với toán tử logic OR trong mệnh đề điều kiện, thì sẽ
được chuyển thành một tập các luật tương ứng không chứa OR
 Ví dụ: Luật (IF A1A2 THEN B) được chuyển thành 2 luật (IF
A1 THEN B) và (IF A2 THEN B)

 Mệnh đề kết luận của một luật


Không cần sử dụng toán tử logic AND

 Một luật với toán tử logic AND trong mệnh đề kết luận, thì sẽ

được chuyển thành một tập các luật tương ứng không chứa AND
 Ví dụ: Luật (IF … THEN B1B2) được chuyển thành 2 luật (IF
… THEN B1) and (IF … THEN B2)
 Không cho phép sử dụng toán tử OR!
Trí Tuệ Nhân Tạo
16
8
Các kiểu luật
 Các kiểu luật khác nhau để biểu diễn các kiểu tri thức
khác nhau
 Quan hệ liên kết
 IF addressAt(x, Hospital) THEN heathIs(x, Bad)
 Quan hệ nguyên nhân (kết quả)
 IF diseaseType(x, Infection) THEN tempIs(x,
High)
 Tình huống và hành động (gợi ý)
 IF diseaseType(x, Infection) THEN
takeMedicine(x, Antibiotic)
 Quan hệ logic
 IF tempGreater(x, 37) THEN isFever(x)

Trí Tuệ Nhân Tạo


16
9
Chương 5.
Logic mệnh đề

17
NN biểu diễn TT

 NNBDTT: Để biểu diễn sự hiểu biết, kinh


nghiệm của con người.
 Chúng ta có thể dùng các câu trong ngôn
ngữ tự nhiên.
 Để thuận tiện cho việc xử lý của máy tính
phải dùng một số ngôn ngữ hình thức.
 NNBDTT là một ngôn ngữ hình thức gồm hai
thành phần cơ bản: cú pháp và ngữ nghĩa

17
Các thành phần

 Cú pháp gồm các ký hiệu, qui tắc liên kết (các phép
toán) để tạo thành các câu (các công thức).
 Ngữ nghĩa chỉ xuất hiện khi các ký hiệu nhận giá trị
trong một miền nào đó.
 Ngoài ra, ngôn ngữ cần được trang bị một cơ chế
lập luận. Cơ chế này sử dụng các luật suy diễn. Một
luật suy diễn là cách để suy ra một công thức từ một
tập công thức nào đó.

17
Tóm lại

 NN biểu diễn tri thức =


cú pháp +
ngữ nghĩa +
cơ chế lập luận.

17
1. Cú pháp

 Hằng logic True, False


 Mệnh đề p, q,...công thức A, B,..
 Phép toán logic: ˄,˅,¬,→
 Các dấu (,)

17
Quy tắc xây dựng công thức

 Các mệnh đề là công thức


 Nếu A, B là công thức thì ¬A là công thức và
A*B là công thức với * là một phép toán logic
2 ngôi.

17
Quy ước

 Các mệnh đề là các câu đơn, còn lại là các


câu phức.
 Nếu P là một mệnh đề thì P và được gọi là
các literal và P là literal dương, ¬P là literal
âm.
 Câu phức có dạng sau gọi là câu tuyển
P1 ˅…˅ Pn

17
2. Ngữ nghĩa

 Minh họa? Khi mỗi thành phần cơ bản (biến mệnh


đề) của một công thức nhận một giá trị (khẳng định)
trên một miền nào đó - nào đó - đó là một minh họa
(interpretation) của công thức.
 Như vậy, một minh họa là một phép gán mỗi mệnh
đề với một giá trị chân lý.
 Khi đó mỗi câu sẽ có một giá trị chân lý được tính
qua giá trị chân lý của các thành phần bởi các phép
toán logic gọi là phương pháp bảng chân lý.

17
CT thỏa được,…

 Công thức thỏa được là công thức đúng


trong một minh họa nào đó(tồn tại).
 Ví dụ. AB là một công thức thỏa được.
 Công thức không thỏa được nếu nó sai trong
mọi minh họa.
 Ví dụ. A˄¬A là một công thức không thỏa
được.

17
CT hằng đúng

 Công thức là hằng đúng hay một tautology


nếu nó đúng với mọi minh họa.
 Ví dụ. A˅¬A là công thức hằng đúng.
 Mô hình của một công thức? là một minh họa
để cho công thức đúng.

17
3. Dạng chuẩn tắc

 Nhằm chuẩn hóa công thức, đưa về dạng thuận


lợi cho việc biễu diễn trên máy tính và suy diễn.
 Một công thức ở dạng chuẩn tắc hội nếu nó là
hội của các câu tuyển.
 Một công thức ở dạng chuẩn tắc tuyển nếu nó
là tuyển của các câu hội.
 Bất kỳ công thức nào cũng đưa được về dạng
chuẩn tắc tuyển, hội.

18
CT tương đương

 Hai công thức A, B là tương đương, kí hiệu


là A≡B, nếu chúng có cùng giá trị chân lý đối
với mọi minh họa.
 Các đồng nhất về tính giao hóan, kết hợp,
phân phối, De Morgan
 A→B≡¬A˅B A↔B≡(A→B)˄(B→A)
 ¬(¬A)=A

18
Đưa CT về dạng chuẩn tắc

1) Bỏ các dấu kéo theo bằng cách dùng


A→B≡¬A˅B
2) Chuyển các dấu phủ định vào sát các biến
mệnh đề bằng luật De Morgan hoặc ¬(¬A)=A
3) Áp dụng luật phân phối thay các công thức
dạng A˅(B˄C)≡(A˅B) ˄(A˅C)

18
Ví dụ

 (A˅¬B)→(A˄C)

18
4. Câu Horn

 Mọi công thức đều có thể đưa về dạng


chuẩn hội, tức là hội của các tuyển.
 Mỗi câu tuyển có dạng
¬P1˅…˅ ¬Pm ˅ Q1˅…˅Qn
 Câu này tương đương với câu (kowalski)
(P1˄…˄Pm)→(Q1˅…˅Qn)

18
Biểu diễn luật, sự kiện

 Khi n<=1 ta được là câu Horn (câu dạng


tuyển).
 Với n=1 dạng câu này trở thành
(P1˄…˄Pm)→Q
 Thường gặp trong các hệ chuyên gia hoặc
trong các bài toán lập luận xấp xỉ.
 Với n=1, m=0 dạng câu này trở thành
→Q được viết là Q – câu sự kiện
18
5. Luật suy diễn

 B được gọi là một hệ quả logic của tập {A1,


…,An} nếu bất kỳ một minh họa nào mà các
Ai đúng thì B cũng đúng.
 Viết dưới dạng
A1,…,An
B

18
Một số luật suy diễn quan trọng

18
18
Luật suy diễn đúng đắn?

 Một luật suy diễn là đúng đắn (sound) nếu


với bất kỳ một mô hình nào của giả thiết thì
đó cũng là mô hình của kết luận.
 Có thể chứng minh các luật suy diễn trên là
đúng đắn.
 Luật phân giải là tổng quát cho cả 3 luật MP,
MT và bắc cầu.

18
Tiên đề, định lý, chứng minh?

 Tiên đề là một tập các CT cho trước, thường


là không suy ra từ các CT khác.
 Định lý là tập các công thức suy ra từ các
tiên đề bằng các luật suy diễn.
 Dãy các suy diễn được sử dụng gọi là chứng
minh của định lý.

19
Ví dụ về chứng minh

 Cho
Q˄S→G˄H (1)
P→Q (2)
R→S (3)
P (4)
R (5)
 Chứng minh G

19
Luật suy diễn đầy đủ?

 Một tập luật suy diễn gọi là đầy đủ nếu mọi


hệ quả logic đều có thể suy ra từ tập các tiên
đề chỉ bằng các luật suy diễn của tập đó.

19
Chứng minh bác bỏ (phản chứng)

 Vì P→Q≡ (P˄¬Q)→0 nên để cm P→Q, ta sẽ


cm P˄¬Q là một công thức không thỏa được.
 Mở rộng: để cm Q là hệ quả logic của các
công thức P1,..,Pn ta sẽ cm P1˄…˄Pn˄ ¬Q
là không thỏa được.
 Làm thế nào để CM một CT không thỏa
được?

19
Luật phân giải, CM bằng luật phân giải

 Câu tuyển A chứa P, câu tuyển B chứa ¬P


thì áp dụng được luật phân giải.
 A và B: hai câu phân giải được.
 Kết quả thu được gọi là giải thức của chúng:
Res(A,B)
 Res(P, ¬P ) là câu rỗng: □

19
Giải thức của một tập công thức

 Gỉai thức của G={P1,…,Pn} là các câu trong


P và tất cả các câu sinh ra từ G bằng cách
chỉ dùng luật phân giải. Kí hiệu: R(G)
 Luật phân giải là đầy đủ để chứng minh tập
câu không thỏa được!

19
Định lý phân giải

 Một tập câu tuyển G là không thỏa được khi


và chỉ khi □ (rỗng) thuộc R(G).
 Nghĩa là: khi tính R(G) nếu sinh được câu □
thì tập công thức G là không thỏa được,
ngược lại thì thỏa được.

19
Thủ tục phân giải

procedure Resolution;
Input: Tap G cac cau tuyen
Output: G thoa duoc hay khong thoa duoc?
Begin
repeat
Chọn 2 câu A,B thuộc G
If A, B phân giải được then tính Res(A,B)
If Res(A,B) là câu mới then thêm Res(A,B) vào G
until nhận được câu rỗng hoặc không có câu mới xuất hiện;
If nhận được câu rỗng then G không thỏa được
else G thỏa được
end.

19
Nhận xét.

 Thủ tục phân giải dừng sau hữu hạn bước.


 Chỉ sử dụng luật pg có thể cm một CT bất kỳ
có là hệ quả logic của một tập CT cho trước.
 Vì vậy, luật pg là đầy đủ cho chứng minh bác
bỏ.

19
Thủ tục cm G→H

 Thêm ¬H vào G
 Chuyển các ct trong G thành dạng chuẩn hội
 Từ dạng chuẩn hội th.lập các câu tuyển G’
 Áp dụng thủ tục phân giải cho tập câu G’
 Nếu G’ không thỏa được thì G→H, ngược lại
H không là hệ quả logic của G.

19
20
20
Chuơng 6.
LOGIC VỊ TỪ

20
Nguyên nhân

 Logic mệnh đề chỉ biểu diễn được những sự


kiện, không thể biểu diễn được nhưng câu
như: Không có vật gì là lớn nhất, cũng không
có vật gì là bé nhất…
 Các ngôn ngữ dùng cho suy luận trong TTNT
đều dựa trên cơ sở của logic vị từ.

20
 Logic vị từ là sự mở rộng của logic mệnh đề.
 LGVT cho phép biểu diễn một lớp các đối
tượng trong một miền nào đó.
 Thuộc tính của đối tượng, mối quan hệ giữa
các đối tượng biểu thị bởi các vị từ.
 Thêm các lượng từ tồn tại, với mọi để tạo ra
câu phong phú hơn.

20
1 Cú pháp.

 Hằng: a,b,c,..
 Biến: x,y,u,v,..
 Vị từ: P(x,y), Q(x),..Vị từ không biến là MĐ.
 Hàm: f,g
 Phép toán logic
 Kí hiệu lượng từ: tồn tại, với mọi
 Dấu câu, ngoặc,...

20
Hạng thức

 Các hạng thức (term): là các biểu thức mô tả


đối tượng.
 Các hằng, biến là hạng thức.
 Nếu t1,...,tn là các hạng thức và f là hàm thì
f(t1,...,tn) là hạng thức

20
Công thức phân tử - câu đơn.

 Các mệnh đề là công thức phân tử


 Nếu P là vị từ n biến và t1,...,tn là các hạng
thức thì P(t1,...,tn) là công thức phân tử.
 Thich là vị từ hai biến, Like(An, Java) là
CTPT
 Yeu(X,Y); t=chong(X); Yeu(X,chong(X))
 X=lan: Lan yêu chồng Lan!

20
Công thức

 CT được xây dựng từ CTPT bằng các phép toán


logic, các lượng từ.
Định nghĩa.
 Các công thức phân tử là công thức
 Nếu G và H là công thức thì ¬G và G*H là các
công thức với * là phép toán logic.
 Nếu G là công thức và x là biến thì
xG ( x ), xG ( x )
là các công thức.

20
2. Ngữ nghĩa

 Minh họa: hằng, biến nhận giá trị trên một


miền cụ thể; các vị từ nhận các thuộc tính,
quan hệ cụ thể, các hàm xác định cụ thể.
 Ý nghĩa của các lượng từ như tên gọi của
nó.

20
Ngữ nghĩa câu đơn

 Vị từ P(x) : x là phụ nữ
 x=Lan với minh họa này P(Lan) biểu diễn
cho câu Lan là phụ nữ.
 Câu đơn có thể xuất hiện các hạng thức
(term).
 Ví dụ Me(x) chỉ đối tượng là mẹ của x nào
đó. Câu đơn P(Me(Lan)) có nghĩa là "Mẹ của
Lan là một phụ nữ".

21
Ngữ nghĩa của lượng từ

 Với mọi: Xác định giá trị bằng hội các giá trị
của công thức khi biến nhận mỗi đối tượng
trong miền xác định
 Tồn tại: Bằng tuyển

Ví dụ VxP(x) nếu lấy miền xác định là sinh viên


lớp CNTT K42 thì là sai, nhưng ]xP(x) là
đúng.

21
Ngữ nghĩa câu phức (công thức)

Xác đinh dựa vào ý nghĩa của các phép toán


logic và ý nghĩa của các lượng từ.
VD. Mọi SV nữ đều thích trang điểm:
x( P ( x)  Thich( x, trangdiem))
Nếu có SV nào đó không thích trang điểm thì
câu này sai, ngược lại thì đúng.

21
CT thỏa được,…

 Nếu đã có cách xác định được giá trị chân lý


của công thức ứng với một minh họa thì ta
có thể định nghĩa:
– Công thức thỏa được, không thỏa được
– Công thức hằng đúng,
– Mô hình như trong logic mệnh đề.

21
;

3. Công thức tương đương

 Định nghĩa như trong logic mệnh đề.


 Các CT tương đương khác:
Đổi tên biến: xG ( x)  yG ( y ); xG ( x)  yG ( y )
Phủ định công thức chứa lượng từ:
xG ( x)  xG ( x)
xG ( x)  xG ( x)

Phân phối lượng từ với phép hội, tuyển:


x( H ( x)  G ( x))  xH ( x)  xG ( x)
21 x( H ( x)  G ( x))  xH ( x)  xG ( x)
4. Dạng chuẩn tắc

 Đưa về dạng chuẩn tắc hội, tức hội của các câu
tuyển để sử dụng được trong các khai báo của ngôn
ngữ prolog.
 Thủ tục:

1. Bỏ các kéo theo


2. Chuyển các phủ định đến các công thức phân tử
3. Bỏ lượng từ tồn tại bằng cách dùng hàm Skolem

21
4. Đặt tên lại để tránh nghĩa nhập nhằng khi lấy
trùng miền xác định
5. Loại bỏ lượng tử với mọi, ngầm hiểu cho
toàn miền xác định
6. Chuyển các tuyển đến các CTPT
7. Loại bỏ hội, tách riêng các câu tuyển.
8. Đặt lại tên biến cho mỗi câu.

21
VD. Biểu diễn CS tri thức sau

 SV nào đậu TN và xin được việc làm thì có


cuộc sống ổn định.
 SV nào chăm hoặc may mắn thì đậu TN
 SV nào may mắn thì xin được việc làm
 Nam không chăm nhưng may mắn.

? Cuộc sống của Nam có ổn định không

21
5. Các luật suy diễn

 Luật thay thế phổ dụng

xG ( x)
Gx | t 

21
Phép thế

 Có dạng
  x1 | t1 ,...xn | t n 
 Trong đó xi là các biến; ti là các hạng thức
không chứa biến.

 G là kí hiệu khi thế vào công thức G

21
Hợp nhất

 Nếu tồn tại một phép thế mà áp dụng cho 2


công thức G, H ta thu được cùng một kết
quả thì G, H được gọi là hợp nhất được bởi
phép thế đó.
 Ví dụ: Thich(x,bongda); Thich(Nam,y)

22
Luật MP tổng quát

22
Ví dụ

 SV(x)˄Nam(x)→Thich(x,bongda)
 SV(minh)
 Nam(minh)

KL Thich(minh,bongda)

22
Luật phân giải tổng quát

22
6. Chứng minh bằng luật phân giải

 PP còn đúng trong logic vị từ


 Chỉ dùng luật phân giải có thể CM được
G→H? bằng cách CM G và ¬H không thỏa
được.
 “Một tâp công thức là không thoả được khi
và chỉ khi nó suy dẫn ra câu rỗng bằng luật
phân giải”

22
Thủ tục chứng minh bác bỏ
Procedure P_Resolution;
Input: Tập G, H
Output: H có suy ra được từ G hay không?
Begin
1. Biến đổi các câu trong G và ¬H về dạng chuẩn tắc hội
2. Thành lập các câu tuyển
3. Repeat
Chọn 2 câu A, B
Tính giải thức Res(A,B)
Bổ sung vào tập công thức
Until xuất hiện câu rỗng hoặc không sinh câu mới
4. Nếu xuất hiện câu rỗng thì H đúng, ngược lại thì H sai
End;

22
Ví dụ

 SV nào đậu TN và xin được việc làm thì có


cuộc sống ổn định.
 SV nào chăm hoặc may mắn thì đậu TN
 SV nào may mắn thì xin được việc làm
 Nam không chăm nhưng may mắn.

CM cuộc sống của Nam ổn định

22
Thành lập các vị từ, các câu

1. TN(x)˄CoVL(x)→Ondinh(x)
2. Cham(y)˅Mayman(y)→TN(y)
3. Mayman(z) )→CoVL(z)
4. ¬Cham(nam)
5. Mayman(nam)

22
Chiến lược phân giải

- Làm sao lựa các câu nào để phân giải mang lại kết
quả nhanh. Có 2 chiến lược phân giải:
Theo bề rộng
Sử dụng tập hỗ trợ
- Tạo thành đô thị phân giải.
- Một đồ thị phân giải có nhiều cây chứng minh
- Nếu tập ban đâu không phân giải được thì gốc của
cây là rỗng.

22
Chương 7.
BIỂU DIỄN TRI THỨC
BẰNG LUẬT VÀ LẬP LUẬN

22
Lý do chỉ dùng câu Horn

 LGVT rất mạnh để biểu diễn tri thức và có


thể CM chỉ dùng luật phân giải.
 Tuy nhiên CM có độ phức tạp cao
 Chỉ xét các câu Horn đủ để biểu diễn nhiều
tri thức
 Áp dụng được nhiều thủ tục suy diễn hiệu
quả hơn có thể ứng dụng trong nhiều lĩnh
vực khác nhau.

23
1. Biểu diễn tri thức bằng luật

 Một luật nếu...thì có dạng câu Horn


P1  ...  Pn  Q
 VD
Nếu
bệnh nhân ho lâu và
bệnh nhân thường sốt vào buổi chiều
thì
bệnh nhân có khả năng bị bệnh lao.

23
Ví dụ 2

Nếu
Tam giác có một góc bằng 60 độ
Tam giác có hai cạnh bằng nhau
thì
Tam giác đó là tam giác đều.

23
Đặc trưng

 Các câu như vậy dùng để bd tập luật và có


đặc trưng:
- Mỗi luật mô tả một phần tương đối độc lập
của tri thức
- Có thể bổ sung loại bỏ các luật một cách dễ
dàng mà không ảnh hưởng đến các luật
khác.

23
2. Suy diễn tiến

 Một CSTT có hai phần:


– Tập các câu luật: R
– Tập các câu sự kiện: F
 Tư tưởng: Kiểm tra luật nào thỏa mãn giả
thiết sinh ra sự kiện mới, bổ sung vào tập F
cho đến khi điều cần chứng minh H rơi vào F

23
2. Suy diễn tiến
 Suy diễn tiến áp dụng quy tắc suy diễn Modus
Ponen tổng quát.
 Xét lần lượt các luận trong R, nếu các sk thỏa mãn
luật này thì có 1 sự kiện mới sinh ra đó là kết luận
của luận này, bổ sung vào CSSK F.
 Tập F này ngày càng mở rộng, đến khi H xuất hiện
trong F thì ta nói H đúng, ngược lại nếu H k xuất
hiện mà cũng không sinh ra sk mới thì H sai hoặc
H không được chứng minh

23
VD

1. TN(x)˄CoVL(x)→Ondinh(x)
2. Cham(x)→TN(x)
3. Mayman(x) →TN(x)
4. Mayman(x)→CoVL(x)
5. ¬Cham(nam)
6. Mayman(nam)

23
Thủ tục suy diễn tiến
Procedure SDtien;
Input: R, F, H
Output: H đúng/sai
Begin
TG:=F; S:=Loc(R,TG); // TG là tập các sự kiện thu đc tại mỗi thời điểm
While (H chua thuoc TG và S khac rong) do
Begin - Chọn các luật mà giả thiết
r ← S; nằm trong Tập TG, gọi là S.
TG:=TG + right(r); - Sau đó lấy lần lược các luật
R:=R-r;
trong S ra, và đưa kết luận
S:=Loc(R,TG);
của luật vào TG.
End;
- Nếu TG có chưa H thì H
If H thuộc TG then H đúng Else H sai;
End; đúng, else H sai

//Suy diễn tiến áp dụng Modus Ponen tổng quát


23 (A->B, A)->B
Nhận xét

 Tập F được sinh ra khá lớn


 Trong F sẽ có nhiều sự kiện chẳng liên quan
gì đến H
 Không có qui tắc để chọn luật

23
3. Suy diễn lùi

 Biểu diễn thành đồ thị và/hoặc


 P1˄…˄Pn→Q
 Thay vì chứng minh Q đi CM tất cả các giả
thiết sinh ra Q là đúng
 Để cm các Pi ta cm các giả thiết của Pi

23
 Một giả thiết hiển nhiên là đúng nếu nó thuộc
tập sự kiện F
 Nếu tất cả các Pi đúng thì Q đúng
 Ngược lại nếu có Pi không đúng thì quay lui
chứng minh theo một luật khác có kết luận là
Q.
 Nếu không tìm được luật nào như vậy thì Q
sai.

24
Thủ tục

Kí hiệu S(q) chỉ cho tập các luật có vế phải là q


function sdlui(q): boolean;
{true nếu q cm được, ngược lại: false}
begin
if (q thuộc F) then sdlui:=true
else if S(q)=[ ] then sdlui:=false
else
begin
S:=S(q);

24
while S<>[ ] do
begin
r ← S;
OK:=true;
for (l left(r)) do
if sdlui(l)=false then
begin
OK:=false;
beak; {for}
end;
if OK then break; {while}
S:=S – {r};
end;

24
if OK then sdlui:=true
else sdlui:=false;
end;
end;

24
4. Ứng dụng

 Hệ chuyên gia
 Lập trình Prolog

24
a. Hệ chuyên gia

 VD HCG tư vấn dinh dưỡng bệnh nhân tiểu


đường.
 Các thành phần:
– Cơ sở tri thức: tri thức luật + tt sự kiện
– Bộ suy diễn
– Bộ giải thích
– Giao diện

24
b. Lập trình Prolog

 Ngôn ngữ lập trình logic


 CSTT các câu Horn bd bằng vị từ
 Thủ tục suy diễn lùi: đã được cài đặt sẵn.

24
Cú pháp

 Hằng: viết chữ thường a,b,an, nam,...


 Biến: viết chữ in đầu tên: X, Y, Sinhvien,
Thaygiao
 Các phép toán:
, chỉ phép and
; chỉ phép or
:- chỉ phép if...then....
not - phủ định (không dùng trong kết luận)

24
Cú pháp…

 Câu là thành phần đơn vị của chương trình.


Một câu có thể viết trên nhiều dòng. Kết thúc
câu là dấu chấm. Có hai loại câu: câu sự
kiện và câu luật (chỉ dùng câu Horn).
 Câu Horn viết dưới dạng q:-p1,p2,...,pn.
Trong đó q gọi là đầu (head), p1,...,pn gọi là
thân.
 Vị từ. bao gồm tên vị từ và các biến. Một vị
từ có thể có nhiều biến.
24
Sử dụng Prolog

 Viết chương trình .pl


 Dịch: consult
 Chạy: Hỏi (goal)

24
Chạy chương trình

? cunhan(nam).
Yes
? cunhan(hung).
No

25
VD

 sinhvien(nam).
 sinhvien(lan).
 sinhvien(hoa).
 hocvien(hung).
 cunhan(X):-sinhvien(X).

25
Một số hằng, vị từ đặc biệt

 write(.)
write(“Toi thich”), write(Y).
 is
N is 5
 not
khongcham(nam):-not cham(nam).
 fail
cham(nam):- fail.

25
Một số chương trình

 Sinh viên
 Tháp Hà Nội
 Tính giai thừa
 Tính tổng
 Ai là người giết chết con mèo!

25
Prolog - một phong cách LTrình khác!

 Đặc tả các suy luận


 Suy diễn lùi

25
Phần 4. Giới thiệu về học máy
(Machine Learning)

 Học máy là gì?


 Một số ứng dụng của học máy
 Thiết kế hệ học
 Kết luận

255
What is Machine Learning?
Khái niệm học:
• Theo nghĩa tự điển: Học là quá trình thu nhận kiến thức,
kỹ năng do người khác truyền lại hoặc đọc đi, đọc lại,
nghiền ngẫm ghi nhớ (học thuộc lòng)
+Rộng hơn, học bao gồm cả quá trình đúc rút tri thức từ
các quan sát, trải nghiệm thực tiễn. (Trường đời)
• According to wikipedia
– “Learning is acquiring new knowledge, behaviors, skills,
values, preferences or understanding, and may involve
synthesizing different types of information. The ability to
learn is possessed by humans, animals and some machines.
Progress over time tends to follow learning curves.”
256
Categorize (Phân loại học)

+ Pasive learning: Học thụ động (bắt chước)

+ Experience based learning (Học trải nghiệm):


ăn, nói…, gói, mở

+ Learning by Practicing and Reasoning (Học tư


duy/ thực hành)

257
Học máy

Học máy là gì?


T. Mitchell: The field of machine learning is concerned with the
question of how to construct computer programs that automatically
improve with experience.
Rob Schapire :
•Machine learning studies computer algorithms for learning to do
stuff
The goal is to devise learning algorithms that do the learning
automatically
• The primary goal of machine learning research is to develop
general purpose algorithms of practical value
Các bài toán cơ bản trong học máy

• Học có giám sát (Supervised learning): Dựa trên tập biết


nhãn, xác định nhãn cho các đối tượng mới.
• Học không giám sát (unsupervised learning): Phân cụm
dữ liệu, xác định hàm mật độ.
• Học tăng cường (Reinforcement learning)

• Kết hợp các phương pháp/bộ học


What is Machine Learning?
T Mitchell’s definition:
Definition: A computer program is said to learn from
experience E with respect to some class of tasks T and performance
measure P, if its performance at tasks in T, as measured by P,
improves with experience E.
Một chương trình máy tính được gọi là học từ kinh nghiệm E đối
với lớp nhiệm vụ học T và độ đo mức thực hiện P nếu sự thực hiện các
nhiệm vụ trong T của nó khi đo bởi P được cải tiến qua kinh nghiệm E
Examples: + Retail data analysis
+ Fingerprint recognition
+ Optimal path finding
What are difference and similarity? 260
Bài toán học máy là gì?

261
Các ví dụ

• Phân lớp (Classsification):


- Phân loại (Categorize) Học có giám sát
- Phân cụm (Clusster)
• Hồi quy (Regression) Học có giám sát

• Học tăng cường (Reinforcement) Game playing learning

262
Tại sao phải học máy?

Học máy có thể giúp chúng ta:


• To find solutions to many problems

in vison, speech recognition, and robotics.

• Data mining (from large/ online databases)

• To produce adaptive automatic machine

• Big data processing


263
Bài toán học quy nạp/có giám sát
( Supervised Learning )

D  ( x , y )
N
k k
k , y k  c( x k ) : y k  Y
k 1

E (c)    L( x k ), y k 
N

k 1
Bài toán học không giám sát
( UnSupervised Learning/ Phân cụm )

• Dựa vào phân tích tính tương tự của các đối tượng trong tập
dữ liệu được xét, chia nhỏ thành các cụm sao cho các đối
tượng trong cùng cụm thì giống nhau hơn khi so với các đối
tượng khác cụm.
• Có nhiều cách phân cụm, kết quả phân cụm là không duy nhất

• Có nhiều thuật toán phân cụm, điển hình và đơn giản nhất là
thuật toán phân cụm Kmean.
.
K-means
• Là một trong những thuật toán gom
cụm đơn giản và hiệu quả nhất
• Mục tiêu: phân một tập có n phần tử
cho trước thành k tập con (k ≤ n),
mỗi tập con biểu diễn cho một cụm.

266
K-means
• Input: Tập dữ liệu kích thước n
Số nguyên dương k, k ≤ n
• Output: k cụm
• Sơ đồ:
Khởi tạo k tâm
Lặp
Tính k cụm: đánh dấu theo tâm gần nhất
Tính lại tâm mỗi cụm
Cho đến khi các cụm không đổi

267
K-means

268
K-means
• Minh họa

269
Thuật toán phân cụm K-mean
Bước 1: Chọn K tâm cụm, mỗi cụm được đại diện
bởi tâm cụm.
Bước 2: Tính khoảng cách giữa các đối tượng
đến K tâm cụm.
Bước 3: Nhóm các đối tượng vào nhóm gần nhất.
Bước 4: Xác định lại tâm cụm mới cho các cụm.
Bước 5: Thực hiện lại bước 2 cho đến khi không
có sự thay đổi giữa các cụm hoặc số lần lặp đủ
lớn.
Ví dụ: Data= {(1,1), (2,1), (4,3), (5,4)}, với K=2
Thuật toán phân cụm K-mean
Bài toán thiết lập đúng đắn (Well-posed problem)
Jacques Hadamard

• Tồn tại duy nhất lời giải

• Lời giải thay đổi liên tục so với điều kiện ban đầu/dữ liệu.

+Bài toán học xác định tốt cần phải có nhiệm vụ cụ thể,
độ đo chất lượng thực hiện , nguồn dữ liệu huấn luyện
đầy đủ.

+ Phân cụm là bài toán thiết lập không đúng đắn.

272
Nhận dạng chữ viết tay

273
Nhận dạng/ đối sánh vân tay

Hai ảnh vân tay có cùng 1 ngón sinh ra không?

274
Thiết kế hệ nhận dang
Bài toán đối sánh:
• Cho vân tay điều tra Iq và vân tay lưu trữ It
• Question: 2 vân tay có cùng ngón sinh ra không?
• Common scheme for solving:
+Determine the similarity S(Iq,It)
+the decision ( yes / no) bases on comparing S(Iq,It) with a
predefined thresholds.
 Main aproachs for deternining the similarity:
 minutiae based matching ( the most popular method)
 texture -based
 grey-scale correlation-based.
275
Nhận dạng/ đối sánh vân tay
Phương pháp đặc trưng chi tiết

Minutiae are special points of fingerprint image such that end points, bifurcation
points...
From images Iq, It, we define two sets of minutiae Mq and Mt :
Mq = {m1, m2, …, mM}; mi= (xi , yi , qi), i = 1,...,M
Mt = {m1’, m2’, …, mN'}; mi'= (xi’,yi’,qi’), i = 1,..,N

4/21
Minutiae based method

It
Minutiae
Extract

Mt

Matching
Mq n

Iq

Minutiae
Extract

Matching scheme based on minutiae

5/21
 Compute the number of corresponding minutiae pairs n
found
 The similarity S(It,Iq):
S(It,Iq) = n2/M× N. (1)
 Based on predefined thresholds of scores Stmax and Stmin,
 conclude that two fingerprints are
genuine if S(It,Iq) > Stmax, (2)
impostor (S(It,Iq) < Stmin). (3)
 For the pairs of fingerprints having the similarity belong to
[Stmin, Stmax] a complemented warping stage is needed to
conclude 6/21
Thiết kế hệ học

• Chuẩn bị: Xác định rõ T, P, E


- Nguồn dữ liệu và phương pháp thu thâp
- Các mô hình/phương pháp hiện có
• Tiền xử lý dữ liệu: Phân đoạn, trích xuất đặc trưng
- Phân tích thành phần độc lập
Xét DL quan sát D xem biến Y và các Xi

có biến nào độc lập với Y thì bỏ ra


Tính tương quan, kiểm định Khi-bình-phương, search "chi square
test" "independence test" "[R]" tutorial

279
280
Design a PR System

 - Time-Consuming
- Data limited  devide: training data & test
data

 - Very important por quality of classifier


- Depend on Domain-specific knowledge ,
- noise (robust)

 - intra-class variants
approachs

 Training set is enough?

 - Error on training set & novel pattern


- Resource & Complexity of Classifier
- Return on Investment
Components of a typycal pattern recognition system
decision

post-processing

classification

feature extraction
Preproce
ssing
segmentation

sensing

Physical Object

282
Steps in machine learning
• Problem formulation
– What is it that we try to predict for new data
• Data collection
– “training data”, optionally with labels provided by a teacher.
• Representation
– how the data are encoded into “features” when presented to learning
algorithm.
• Modeling
– choose the class of models that the learning algorithm will choose from.
• Estimation
– find the model that best explains the data: simple and fits well.
• Validation
– evaluate the learned model and compare to solution found using other
model classes.
• Deploy the learned model
Bao nhiêu dữ liệu thì đủ?

• Thông thường các bài toán càng có nhiều DL quan sát


thì cáng tốt.
• DL ít thì không đủ để đao tạo bộ học.

• DL nhiều nhưng có nhiễu thì gây nên hiện tượng phù


hợp trội/quá khớp (Overfitting)
• Chưa phù hợp /chưa khớp ( Underfitting)

284
Thuật toán gradient

285
Support Vector Machine
Nội dung
• Bài toán phân lớp tuyến tính
• SVM tuyến tính
• SVM phi tuyến
• Ví dụ

Phân lớp tuyến tính
x f y
f(x,w,b) = sign(w x + b)
Nhãn +1 w x + b>0
Nhãn -1

0
b=
+
x
w
w x + b<0

Phân lớp tuyến tính
x f y
f(x,w,b) = sign(w x + b)
Nhãn +1
Nhãn -1

Phân lớp tuyến tính
x f y
f(x,w,b) = sign(w x + b)
Nhãn +1
Nhãn -1

Phân lớp tuyến tính
x f y
f(x,w,b) = sign(w x + b)
Nhãn +1
Nhãn -1

Có nhiều bộ có
thể phân lớp
=> Bộ nào tốt
nhất ?

Phân lớp tuyến tính
x f y
f(x,w,b) = sign(w x + b)
Nhãn +1
Nhãn -1

Phân lớp nhầm


+1

Lề của bộ phân lớp
x f y
f(x,w,b) = sign(w x + b)
Nhãn +1
Nhãn -1 là khoảng cách
giữa “đường
phân lớp” đến
2 điểm dữ liệu
gần nhất tương
ứng với các
phân lớp

Lề cực đại
x f y
1. Bộ phân lớp tốt là bộ có lề cực đại
f(x,w,b) = sign(w x + b)
Nhãn +1 2. Chỉ cần quan tâm đến các support
vectors.
Nhãn -1

Bộ phân lớp tuyến


Support Vectors tính với lề cực đại
là những mẫu là trường hợp đơn
“bên lề” giản nhất của SVM
(Linear SVM)
Biểu diễn toán học của SVM tuyến
tính

+1
= x+ M=Margin Width
la ss
i c t C one
ed z
“Pr
X- 1”
=1 = -
x +b a ss
w =0 l
+ b
i c t C one
wx
b =-
1
Pr ed z
+ “
wx

Giả thiết:  
(x  x )  w 2
• w . x+ + b = +1 M  
• w . x- + b = -1 w w
• w . (x+-x-) = 2
Biểu diễn toán học của SVM tuyến tính
 Mục tiêu: 1) Phân lớp chính xác dữ liệu học
if yi = +1
wxi ify =b-1  1
i

wx i b 1
for all i
2) Cực đại lề
với cực
yi ( wx
tương đương tiểub )  1
i
2
 Quy về việc giải bài toán quy hoạch lồi M 
w 1 t
 Cực tiểu ww
2
ràng buộc

1 t
 ( w)  w w
2
yi ( wxi  b)  1 i
SVM tuyến tính: Tóm tắt

 Bộ phân lớp là phân chia bằng siêu phẳng.


 Các mẫu “quan trọng” là các support vectors; chúng xác định
siêu phẳng.
 Để tìm các support vectors cần thuật toán giải bài toán quy
hoạch lồi (quy về giải bài toán đối ngẫu Lagrange).
SVM phi tuyến
 Dữ liệu học có thể được phân chia như sau

0 x

 Giải quyết như thế nào với phân bố dữ liệu:


0 x

 Ý tưởng: ánh xạ sang không gian với số chiều cao hơn


x2

0 x
SVM phi tuyến: không gian đặc trưng
 Cần ánh xạ dữ liệu gốc sang không gian có số chiều cao
hơn mà trong đó dữ liệu có thể phân chia được.

Φ: x → φ(x)
Hàm nhân
 Bộ phân lớp tuyến tính thực hiện với phép tích vô hướng K(xi,xj)=xiTxj
 Nếu mỗi mẫu được ánh xạ sang không gian với số chiều cao hơn thông qua
phép biến đôi Φ: x → φ(x), thì tích trên trở thành:
K(xi,xj)= φ(xi) Tφ(xj)
 Hàm nhân là một hàm nào đó tương ứng với phép nhân trên ở không gian
đặc trưng mở rộng.
 Ví dụ:
Với vectors x=[x1 x2]; xét K(xi,xj)=(1 + xiTxj)2,
Cần K(xi,xj)= φ(xi) Tφ(xj):
K(xi,xj)=(1 + xiTxj)2,
= 1+ xi12xj12 + 2 xi1xj1 xi2xj2+ xi22xj22 + 2xi1xj1 + 2xi2xj2
= [1 xi12 √2 xi1xi2 xi22 √2xi1 √2xi2]T [1 xj12 √2 xj1xj2 xj22 √2xj1 √2xj2]
= φ(xi) Tφ(xj), trong đó φ(x) = [1 x12 √2 x1x2 x22 √2x1 √2x2]
Một số ví dụ hàm nhân
 Tuyến tính: K(xi,xj)= xi Txj

 Đa thức bậc p: K(xi,xj)= (1+ xi Txj)p

 Gaussian: 2
xi  x j
K (x i , x j )  exp( )
2 2

 Sigmoid: K(xi,xj)= tanh(β0xi Txj + β1)


Ví dụ với OpenCV
Ví dụ với OpenCV
Ví dụ với OpenCV
Một số chủ đề liên quan

305
Problem complexity

• Number of possible map:

Y X

• NP-hard
• NP- Complete

306
Concept learning

•Case of concept learning:


Y={0,1}
Positive examples c(x)=1
Negative examples c(x)=0

Number of possible map: 2 X

307
Examples

vv

Nhận dạng vân tay:


 k
k N
Cho các cặp ảnh vân tay I q , I t k 1
Cùng hoặc khác ngón sinh ra Y= {cùng ngón/ khác ngón}
Xây dựng bộ nhân dạng (đối sánh) các cặp vân tay

308
Learning Multiple Classes, Ci i=1,...,K

X  {xt ,r t }tN1

t
1 if x t
C i
ri   t
0 if x C j , j  i

Train
hypotheses
hi(x), i =1,...,K:
1 if x t
C i
hi x   
t

0 if x t
C j , j  i

309
Lecture Notes for E Alpaydın 2010 Introduction to Machine Learning 2e © The
MIT Press (V1.0)
Regression Problems

Regression (hồi quy)


Let f : Rn → Rm be unknown function,
D={xk, yk}k=1,..,N be a observed data set:
yk= f(xk )+ ε
where ε is a white noise: E(ε)=0
Question: How to compute f(x) for arbitrary x?

Interpolation Problem. Find h: h(xk) =yk for all k


Aproximation problem: Find the best h: h(xk)≈yk for all k

310
Regression

311
Hypothesis space and Version space
(Không gian giả thuyết và không gian tường thuật)

• Hypothesis space H: Set of considered hypotheses


• Consistent hypothesis:
h is consistent with the set D if h(x)=c(x) for all (x,c(x)) in D
• Version space: Let X, H, D be given set
VSH,D= {h in H/ h is consistent with D}
• Inductive learning hypothesis:
„ Any hypothesis approximating the target concept well, over a
sufficiently large set of training examples, will also
approximate the target concept well for unobserved

312
Parameter framework for regression (Lược đồ cho bài toán hồi quy)

Regression
Let f : Rn → Rm be unknown function,
D={xk, yk}k=1,..,N be a observed data set, yk= f(xk )+ ε

Interpolation Problem. Find h: h(xk) =yk for all k


Aproximation problem: Find the best h: h(xk)≈yk for all k

313
Parameter framework for regression

Fremework:
Let Φ(x, c1, …cm) be a known function with parameters c1,…,cm
h(x) = Φ(x, c1, …cm) is ditermined by finding c1,…,cm such that :
• h(xk) = yk for all k for Interpolation P
• (SSE) Σk(h(xk) = yk )2 → minimum for A. P.

Example: Linear regression


One uses Φ(x, c1, …cm) = ∑k ckφk(x), where φk(x) are known function

314
Interpolation and regression function Learning

315
Regression Function Learning

316
Thuật toán gradient

317
Linear case

318
Khuynh hướng quy nạp (inductive bias)

Nếu H = { mọi hàm từ X lên Y} thì có nhiều lời giải phù hợp với D

→ Bài toán học thiết lập không đúng đắn.

→ Việc tìm kiếm không khả thi trong thực tế.

Người ta hạn chế H bởi các giả thiết để thu hẹp không gian tìm
kiếm hoặc cho thuật toán học duy nhất nghiệm.

Tập các giả thiết này gọi là khuynh hướng quy nạp của thuật toán
học.

319
Unbiased Learner

• H = every teachable concept (power set of X)


„ E.g., EnjoySport | H | = 296 = 1028 (only 973 by previous H, biased!)
• „ H’ = arbitrary conjunctions, disjunctions or negations of hypotheses from
previous H,„
E.g., [Sky = Sunny or Cloudy]→<Sunny,?,?,?,?,?> or <Cloudy,?,?,?,?,?>

320
Probably Approximately correct (PAC) Learning

321
322
323
Bao nhiêu dữ liệu thì đủ?

• Thông thường các bài toán càng có nhiều DL quan sát


thì cáng tốt.
• DL ít thì không đủ để đao tạo bộ học.

• DL nhiều nhưng có nhiễu thì gây nên hiện tượng phù


hợp trội/quá khớp (Overfitting)
• Chưa phù hợp /chưa khớp ( Underfitting)

324
325
326
327
Bài toán tỷ lệ chiều.

• Tỷ lệ giữa số mẫu dữ liệu N và số chiều của đặc trưng n

• đóng vai trò quan trọng trong bài toán phân lớp.

• Xét bài toán 2 lớp, dữ liệu hai chiều, từng biến mỗi lớp có phân bố
chuẩn:

• Lớp 1: x1 có phân bố N(1; 1), x2 có phân bố N(1;1)

• Lớp 1: x1 có phân bố N(1,1; 1) , x2 có phân bố N(1,2; 2)

328
• Hình 4.15.b: ( N/n=10) không thể tách tuyến tính đượ,c nhưng hình như có
thể tách được bởi hàm quyết định bạc hai. T
• 30 mẫu mỗi lớp (N/n=30) như trong hình 4.15.c thì trở nên phức tạp hơn
nhiều.
• Ta thấy các lớp này chồng lên nhau vì chúng tuân theo mô hình phân bố
chuẩn đã nêu.
• Vì vậy khi phân lớp có tỷ lệ chiều N/n thấp có thể dẫn đến các kết luận sai
về thực hiện đánh giá lớp khi huấn luyện.
• Khi số chiều cao đòi hỏi số mẫu tăng , khó khăn cho thu thập mẫu và xử lý.
• Rắc rối về bài toán chiều này có tê gọi là hiện tượng lời nguyền độc về số
chiều (curse of dimensionality phenomenon).
329
330
331
ĐÁNH GIÁ CÁC BỘ PHÂN LỚP

Ta xét hai trường hợp :


• 1) Chúng dùng chung dữ liệu huấn luyện, khi đó chỉ đơn thuần so
sánh ước lượng lỗi ;
• 2) Mội bộ phân lớp sử dụng một tập dữ liệu khác nhau

332
Ước lượng lỗi của bộ phân lớp

333
334
335
Phương pháp k-tập (k-folds) đánh giá phương pháp học

336
So sánh các bộ phân lớp

337
338
Một số đại lượng và thông tin khác

339
Một số đại lượng và thông tin khác

340
Đồ thị AND/OR (1)

 IF (Shape=long) AND (Color=(green OR yellow)) THEN (Fruit=banana)


 IF (Shape=(round OR oblong)) AND (Diam > 4) THEN (Fruitclass=vine)
 IF (Fruitclass=vine) AND (Color=green) THEN (Fruit=watermelon)

Shape=long Fruit = banana


AND
Shape=round
OR Shape=oblong
Fruitclass = vine
Diam > 4

Color=green Fruit = watermelon


Color=yellow

Trí Tuệ Nhân Tạo


34
1
Đồ thị AND/OR (2)
 Luật IF (Shape=long) AND (Color=(green OR
yellow)) THEN (Fruit=banana) được tạo nên bởi
các luật:
 IF (Shape=long) AND (Color=green) THEN (Fruit=banana)
 IF (Shape=long) AND (Color=yellow) THEN (Fruit=banana)

 Luật IF (Shape=(round OR oblong)) AND (Diam >


4) THEN (Fruitclass=vine) được
tạo nên bởi các luật:
 IF (Shape=round) AND (Diam > 4) THEN (Fruitclass=vine)
 IF (Shape=oblong) AND (Diam > 4) THEN (Fruitclass=vine)

Trí Tuệ Nhân Tạo


34
2
Vài vấn đề với biểu diễn luật
 Các luật có chứa các vòng lặp
 IF A THEN A
 {IF A THEN B, IF B THEN C, IF C THEN A}
 Các luật có chứa mâu thuẫn
 {IF A THEN B, IF B THEN C, IF A AND D THEN C}
 Các kết luận không thể suy ra được (từ các luật hiện có)
 Khó khăn trong việc thay đổi (cập nhật) cơ sở tri thức
Cơ sở tri thức cũ:
 {IF A1 THEN B1, IF A2 THEN B2, …,
IF An
THEN Bn}
 Cần bổ sung thêm điều kiện C vào tất cả các luật
 Cơ sở tri thức mới: {IF A1 AND C THEN B1, IF A2 AND C
THEN B2, …, IF ATrí n AND C THEN
Tuệ Nhân Tạo B n}
34
3
Sử dụng các luật trong suy diễn
 So khớp mẫu (Pattern matching)
 Để kiểm tra một luật có thể được sử dụng (áp dụng) hay không
 Ví dụ: Nếu cơ sở tri thức chứa đựng tập các luật {IF A1
THEN B1, IF A1 AND A2 THEN B2, IF A2 AND A3
THEN B3} và các sự kiện (được lưu trong bộ nhớ
làm việc) bao gồm A1 và A2, thì 2 luật đầu tiên có thể được sử
dụng

 Chuỗi suy diễn (chuỗi áp dụng các luật)


 Xác định trật tự áp dụng các luật trong quá trình suy diễn
 Với một tập các luật và một tập các sự kiện (các giả thiết), các
luật nào nên được sử dụng, và theo trật tự nào, để đạt tới (suy ra)
một kết luật cần chứng minh?
 2 chiến lược suy diễn: tiến (forward) vs. lùi (backward)
 2 chiến lược suy diễn này đã được trình bày trong bài trước!
Trí Tuệ Nhân Tạo
34
4
Giải quyết xung đột
 Một xung đột (conflict) xảy ra khi có nhiều hơn một luật
có thể áp dụng được (phù hợp với các sự kiện trong bộ
nhớ làm việc)
 Lưu ý, một xung đột không phải là một mâu thuẫn của tập luật

 Trong trường hợp xảy ra xung đột, cần một chiến lược
giải quyết xung đột (conflict resolution strategy - CRS) để
quyết định luật nào được (ưu tiên) áp dụng

 Sự lựa chọn thích hợp một chiến lược giải quyết xung
đột có thể mang lại những cải thiện đáng kể đối với quá
trình suy diễn của hệ thống

Trí Tuệ Nhân Tạo


34
5
Chiến lược giải quyết xung đột
 Áp dụng luật xuất hiện đầu tiên (theo thứ tự) trong cơ sở
tri thức
 Không áp dụng các luật sinh ra các kết quả (sự kiện) đã
có trong bộ nhớ làm việc
 Áp dụng luật cụ thể nhất (luật có nhiều điều kiện nhất)
 Áp dụng các luật phù hợp với các sự kiện được đưa vào
trong bộ nhớ làm việc gần thời điểm hiện tại nhất
 Không áp dụng lại một luật, nếu nó vẫn sinh ra cùng một
tập các sự kiện (giống như lần áp dụng trước của nó)
 Áp dụng luật có độ tin cậy (chắc chắn) cao nhất
 …
 Kết hợp của các chiến lược trên
Trí Tuệ Nhân Tạo
34
6
Hệ thống suy diễn dựa trên luật (1)
Kiến trúc điển hình của một hệ thống suy diễn dựa trên luật
(Rule- based system – RBS)
Dữ liệu quan sát được

Working
Lựa chọn Cập nhật
memory

Rule
memory Áp dụng
Interpreter Kết quả

(htt
p://www.cwa.mdx.ac.uk/bis2040/johnlect.html)
Trí Tuệ Nhân Tạo
34
7
Hệ thống suy diễn dựa trên luật (2)
 Bộ nhớ làm việc (Working memory)
 Lưu giữ các sự kiện (các giả thiết đúng, đã được chứng minh)
 Các sự kiện này sẽ quyết định những luật nào được áp dụng
(bởi thành phần Interpreter)
 Bộ nhớ các luật (Rule memory) Working
memory
 Chính là cơ sở tri thức của hệ
thống Rule
Interpreter
memory
 Lưu giữ các luật có thể áp dụng
 Bộ diễn
 Hệ dịch
thống bắt(Interpreter)
đầu bằng việc đưa một sự kiện (dữ liệu) phù hợp
vào bộ nhớ làm việc
 Khi sự kiện (dữ liệu) trong bộ nhớ làm việc phù hợp với các

điều kiện của một luật trong bộ nhớ các luật, thì luật đó sẽ được
áp dụng

Trí Tuệ Nhân Tạo


34
8
RBS: Ưu điểm (1)
 Cách biểu diễn (diễn đạt) phù hợp
 Rất gần với cách diễn đạt trong ngôn ngữ tự nhiên
 Rất dễ dàng để diễn đạt nhiều tri thức bởi các luật

 Dễ hiểu
 Các luật dạng IF-THEN rất dễ hiểu đối với người sử dụng
 Trong một lĩnh vực (bài toán) cụ thể, cách biểu diễn bằng luật
giúp các chuyên gia trong lĩnh vực này có thể đánh giá và cải
tiến các luật

Trí Tuệ Nhân Tạo


34
9
RBS: Ưu điểm (2)
 Một cách biểu diễn tri thức theo kiểu khai báo
(declarative)
 Thu thập các tri thức (ở dạng các luật IF-THEN) về một lĩnh vực
cụ thể, và đưa chúng vào trong một cơ sở các luật (rule base)
 (Có thể) không cần phải quan tâm đến khi nào, làm thế nào, và
theo trật tự nào mà các luật được sử dụng – Hệ thống sẽ tự
động đảm nhận các nhiệm vụ này

Trí Tuệ Nhân Tạo


35
0
RBS: Nhược điểm
 Khả năng biểu diễn (diễn đạt) bị giới hạn
 Trong nhiều lĩnh vực bài toán thực tế, tri thức của lĩnh vực bài
toán đó không phù hợp với cách biểu diễn dạng (IF-THEN)

 Sự tương tác giữa các luật và trật tự của các luật trong
cơ sở luật có thể gây ra các hiệu ứng không mong muốn
 Trong quá trình thiết kế (design) và bảo trì (maintenance) một cơ sở
luật, mỗi luật mới được đưa vào cần phải được cân nhắc (kiểm tra)
với các luật đã có từ trước
 Rất khó khăn và chi phí tốn kém để xem xét tất cả các tương tác
(interactions) có thể giữa các luật
 Quá tốn kém chi phí: thời gian, công sức, tiền bạc

Trí Tuệ Nhân Tạo


35
1
Biểu diễn tri thức: bằng khung (1)
 Làm thế nào để biểu diễn tri thức “Xe buýt màu blue”?
 Giải pháp thứ 1. Blue(bus)
 Câu hỏi “Cái gì là màu blue?” có thể trả lời được
 Nhưng câu hỏi “Màu của xe buýt là gì?” thì không thể trả lời
được
 Giải pháp thứ 2. Color(bus, blue)
 Câu hỏi “Cái gì có màu blue?” có thể trả lời được
 Câu hỏi “Màu của xe buýt là gì?” có thể trả lời được
 Nhưng câu hỏi “Thuộc tính nào của xe buýt có giá trị là màu
blue?” thì không thể trả lời được
 Giải pháp thứ 3. Prop(bus, color, blue)
 Tất cả 3 câu hỏi trên đều có thể trả lời được

Trí Tuệ Nhân Tạo


35
2
Biểu diễn tri thức: bằng khung (2)
 Một đối tượng được biểu diễn bởi:
(Object, Property, Value)
 Được gọi là cách biểu diễn bằng bộ ba
đối tượng-thuộc tính-giá trị (object-property-value)
 Nếu chúng ta gộp nhiều thuộc tính của cùng
một kiểu đối tượng thành một cấu trúc, thì
chúng ta có cách biểu diễn hướng đối tượng Object
(object-centered representation) Property1

Prop(Object, Property1, Value1) Property2


...
Prop(Object, Property2, Value2)
Propertyn

Prop(Object, Propertyn, Valuen)

Trí Tuệ Nhân Tạo


35
3
Biểu diễn hướng đối tượng
 Cách biểu diễn bằng bộ ba object-property-value là một
cách tự nhiên để biểu diễn các đối tượng
 Các đối tượng cụ thể (Physical objects)
 Ví dụ: Một cái bàn có các thuộc tính chất liệu bề mặt, số ngăn
kéo, độ rộng, độ dài, độ cao, màu sắc, ...

 Các tình huống (Situations)


Ví dụ: Một lớp học có các thuộc tính mã số phòng học, danh
sách sinh viên tham dự, giáo viên, ngày học, thời gian học, ...
 Ví dụ: Một chuyến đi nghỉ mát có các thuộc tính nơi khởi
hành,
nơi đến, phương tiện di chuyển, phòng nghỉ, …

Trí Tuệ Nhân Tạo


35
4
Khung (Frame)
 Có 2 kiểu khung: cụ thể (individual) và tổng quát
(generic)
 Khung cụ thể (Individual frames). Để biểu diễn một đối
tượng cụ thể, chẳng hạn như một người cụ thể, một
chuyến đi nghỉ mát cụ thể, ...
 Khung tổng quát (Generic frames). Để biểu diễn một
lớp (loại) các đối tượng, chẳng hạn như các sinh viên,
các chuyến đi nghỉ mát, ...
 Ví dụ
 Khung tổng quát: Europian_City
 Khung cụ thể: City_Paris
Trí Tuệ Nhân Tạo
35
5
Biểu diễn của một khung
 Một khung được biểu diễn bằng một danh sách định
danh các thuộc tính được gọi là các slots
 Giá trị gán cho một thuộc tính được gọi là filler of the
slot

(frame-name Tên của khung


<slot-name1 filler1>
<slot-name2 filler2>
…)
fillers
Slots

Trí Tuệ Nhân Tạo


35
6
Khung đơn
 Một khung đơn (individual frame) có một thuộc tính đặc
biệt có tên là INSTANCE-OF, và giá trị của thuộc tính
đặc biệt này là tên của một khung tổng quát (generic
frame)

 Ví dụ
(toronto % sử dụng chữ thường cho các khung đơn
<:INSTANCE-OF CanadianCity>
<:Province ontario>
<:Population 4.5M>
…)

Trí Tuệ Nhân Tạo


35
7
Khung tổng quát
 Một khung tổng quát (generic frames) có thể có một
thuộc tính đặc biệt là IS-A mà giá trị của thuộc tính đặc
biệt này là tên của một khung tổng quát khác

 Ví dụ
(CanadianCity % sử dụng tên bắt đầu chữ hoa cho khung tổng
quát
<:IS-A City>
<:Province CanadianProvince>
<:Country canada>
…)

Trí Tuệ Nhân Tạo


35
8
Suy diễn với khung (1)
 Các thuộc tính (slots) trong các khung tổng quát có thể
được gắn (liên kết) với các thủ tục để thực hiện và điều
khiển việc suy diễn
 Có 2 kiểu thủ tục: IF-NEEDED và IF-ADDED
 Thủ tục IF-NEEDED
 Được thực hiện khi không có giá trị cần thiết được gán cho một
thuộc tính (no slot filler)
 Ví dụ: (Table
<:Clearance [IF-NEEDED computeClearance]>
…)
computeClearance là một thủ tục để tính toán (xác định) mức
độ sạch sẽ của cái bàn
Trí Tuệ Nhân Tạo
35
9
Suy diễn với khung (2)
 Thủ tục IF-ADDED
 Được thực hiện khi một thuộc tính được gán giá trị, để cho
phép lan truyền ảnh hưởng của việc gán giá trị của thuộc tính
đó đối với các khung khác (ví dụ, để đảm bảo các ràng buộc
trong bài toán)
 Ví dụ: (Lecture
<:DayOfWeek WeekDay>
<:Date [IF-ADDED computeDayOfWeek]>
…)

Giá trị của thuộc tính :DayOfWeek sẽ được tính toán (lại) khi
thuộc tính :Date được gán giá trị

Trí Tuệ Nhân Tạo


36
0
Khung: Giá trị mặc định (1)
 Hãy xét khung tổng quát (generic frame) sau đây
(CanadianCity
<:IS-A City>
<:Province CanadianProvince>
<:Country canada>
…)
 Hãy xét khung cụ thể (individual frame) sau đây
(city134
<:INSTANCE-OF CanadianCity>
…)
 Đối với khung city134, giá trị (mặc định) cho thuộc tính
:Country là canada
Trí Tuệ Nhân Tạo
36
1
Khung: Giá trị mặc định (2)
 Hãy xét khung cụ thể (individual frame) sau đây
(city135
<:INSTANCE-OF CanadianCity>
<:Country holland>
…)

 Đối với khung city135, thì giá trị cho thuộc tính
:Country là holland (chứ không phải là giá trị mặc định
canada)

Trí Tuệ Nhân Tạo


36
2
Khung: Tính kế thừa (1)
 Các thủ tục và các giá trị thuộc tính của một khung tổng
quát hơn sẽ được áp dụng (kế thừa) bởi một khung cụ
thể hơn, thông qua cơ chế kế thừa

 Ví dụ
(CoffeeTable
<:IS-A Table>
...)
(MahoganyCoffeeTable
<:IS-A CoffeeTable>
...)

Trí Tuệ Nhân Tạo


36
3
Khung: Tính kế thừa (2)
 Ví dụ
(Elephant
<:IS-A Mammal>
<:Colour gray>
...)
(RoyalElephant
<:IS-A Elephant>
<:Colour white>
…)
(clyde
<:INSTANCE-OF RoyalElephant>
…)
Trí Tuệ Nhân Tạo
36
4
Khung: Suy diễn
 Quá trình suy diễn trong phương pháp biểu diễn bằng khung
sẽ diễn ra như sau
1. Người dùng khởi tạo một khung (tương đương với việc khai
báo sự tồn tại của một đối tượng hay một tình huống)
2. Các giá trị của các thuộc tính sẽ được kế thừa (từ các khung
tổng quát hơn)
3. Các thủ tục IF-ADDED sẽ được thực hiện. Việc này có thể sẽ
dẫn đến việc khởi tạo của các khung khác, và việc gán giá trị
của các thuộc tính
Nếu người dùng hoặc một thủ tục yêu cầu việc gán giá trị cho
một thuộc tính, thì:
 Nếu có giá trị cho thuộc tính, thì giá trị đó sẽ được gán
 Nếu không, thủ tục IF-NEEDED sẽ được thực hiện

Trí Tuệ Nhân Tạo


36
5
Biểu diễn bằng khung: Ưu điểm
 Kết hợp được cả tri thức khai báo (declarative knowledge) và tri
thức thủ tục (procedural knowledge) trong cùng một phương pháp
biểu diễn
 Các khung được tổ chức có cấu trúc phân cấp, cho phép dễ dàng
phân loại (phân lớp) tri thức
 Cấu trúc phân cấp các khung cho phép giảm bớt sự phức tạp (và
chi
phí) trong quá trình xây dựng cơ sở tri thức
 Cho phép thiết lập các ràng buộc đối với các giá trị được gán cho
các thuộc tính (ví dụ: ràng buộc giá trị nhập vào phải nằm trong một
khoảng giá trị cụ thể)
 Cho phép lưu giữ các giá trị mặc định (sử dụng thuộc tính đặc biệt
IS-A, các giá trị của các thuộc tính của một khung tổng quát hơn
được sử dụng để gán cho các thuộc tính của một khung cụ thể hơn)
Trí Tuệ Nhân Tạo
36
6
Biểu diễn bằng khung: Nhược điểm
 Trong quá trình thiết kế cấu trúc phân cấp của các
khung, cần rất để ý đến sự hợp lý của việc phân loại (các
khung)
 Có thể gặp vấn đề chi phí cao cho việc thiết kế các thủ
tục (IF-ADDED và IF-NEEDED) – Quá nhiều công sức
dành cho việc thiết kế các thủ tục phù hợp, thay vì tập
trung vào việc kiểm tra cấu trúc và nội dung của các
khung
 Quá trình khai thác các khung có thể không hiệu quả, vì
không có phương pháp hiệu quả để lưu trữ dữ liệu (của
các khung) trong máy tính

Trí Tuệ Nhân Tạo


36
7
Mạng ngữ nghĩa (1)
 Mạng ngữ nghĩa (Semantic Network) được đề cử bởi Quillian
vào năm 1966 như là một mô hình biểu diễn bộ nhớ của con người
 Các động cơ thúc đẩy sự phát triển của mạng ngữ nghĩa
 Để hiểu về cấu trúc của bộ nhớ con người, và việc sử dụng cấu trúc bộ
nhớ này trong xử lý (hiểu) ngôn ngữ
 Kiểu biểu diễn nào cho phép lưu giữ các ý nghĩa (meanings) của các từ
để có thể sử dụng lại các ngữ nghĩa này (như trong bộ nhớ con người)?
 Các chứng minh về tâm lý học đã chỉ ra rằng bộ nhớ của con người sử
dụng các liên kết trong việc xử lý (hiểu) các từ
 Yêu cầu: cần biểu diễn định nghĩa từ điển của các từ, để
 So sánh và phân biệt ý nghĩa của 2 từ
 Sinh ra các câu “tựa” (gần giống) tiếng Anh để mô tả sự so sánh này

Trí Tuệ Nhân Tạo


36
8
Mạng ngữ nghĩa (2)
 Mạng ngữ nghĩa (Semantic Network) là phương pháp biểu
diễn ngữ nghĩa dựa trên đồ thị (graph-based representation)
 Một mạng ngữ nghĩa bao gồm một tập các nút (nodes) và
các liên kết (links)
 Các nút biểu diễn các khái niệm
 Các liên kết biểu diễn các mối quan hệ giữa các khái niệm
 Quá trình suy diễn (reasoning/inference):
Living Thing
được thực hiện thông qua cơ chế
lan truyền Animal
 Tác động (Activation) Plant
 Kế thừa (Inheritance) Elephant
Food
Mam
Trí Tuệ Nhân Tạo moth 36
9
Mạng ngữ nghĩa: Cú pháp
 Các nút (nodes) biểu diễn các khái niệm (concepts), hành
động (actions) hoặc đối tượng (objects) trong lĩnh vực bài toán
đang xét
 Các liên kết (links) là các quan hệ được gán nhãn và có chiều
(directional and labeled) giữa các nút
 Hai kiểu liên kết: kế thừa và cụ thể
 Liên kết kế thừa (Inheritance-oriented link) biểu diễn:
 Nút A là một lớp (loại) con của nút B (vd: liên kết IS-A)
 Nút A là một ví dụ (instance) của nút B (vd: liên kết INSTANCE-
OF)
 Liên kết cụ thể (Domain-specific link) biểu diễn:
 Nút A liên quan tới (có quan hệ với) nút B
 Ví dụ: HAS, CAN, HAS-PART, CAUSES, HAS-COLOR, …
Trí Tuệ Nhân Tạo
37
0
Mạng ngữ nghĩa: Ví dụ (1)

(B. L. Vrusias, course AI-CS289)

Trí Tuệ Nhân Tạo


37
1
Mạng ngữ nghĩa: Ví dụ (2)
covered_by
animal
travels_b skin
flying y
is is
a a
travels_b
bird fish y
feather
covered_by swimming
s

isa isa isa is


a
ostrich penguin canary robin

trav ls_by colour


e colour

walking yellow
travels_b
y

red

instance_of

Opus instance_of

Tweety

colour
white
(http://www.cwa.mdx.ac.uk/bis2040/johnlect.html
)
Trí Tuệ Nhân Tạo
37
2
SN: Lan truyền tác động
 Đối với 2 khái niệm, việc lan
Living Thing
truyền tác động (spreading
is-a
activation) sẽ kích hoạt tác
động từ khái niệm này tới Animal is-a

khái niệm kia, hoặc theo cả 2


hướng is-a
eats
Plant
 Cho phép xác định các khái Elephant
niệm “nằm giữa” liên quan is-a
đến cả 2 khái niệm đó is-a Food
 Ví dụ: Xét việc lan truyền
tác động giữa 2 khái niệm Mammoth
“Elephant” và “Plant”

Trí Tuệ Nhân Tạo


37
3
SN: Tính kế thừa
 Các thuộc tính (properties) của lớp
Legs
(loại) cha được kế thừa cho các
lớp (loại) con has-part
 Kế thừa toàn bộ (Universal Mammal
inheritance): Tất cả các quan hệ Grey
được kế thừa is-a
has-color
 Kế thừa mặc định (Default
Elephant
inheritance): Các quan hệ được
kế thừa, trừ khi có các thông tin White
is-a
mâu thuẫn (với nút cha) ở một nút
has-color
con
Clyde

Trí Tuệ Nhân Tạo


37
4
SN: Ngữ nghĩa (1)
 Biểu diễn bằng mạng ngữ nghĩa rất trực quan, và gần
với nhận thức (cách biểu diễn) của con người
 Nhưng: Đối với cùng một đồ thị (mạng) ngữ nghĩa,
các hệ thống khác nhau có thể có các cách diễn giải
(interpretations) khác nhau
 Ngữ nghĩa (sematics) của các mạng ngữ nghĩa?
 ”Since the semantics of any given language is dependent of the
interpretation of the primitive elements....., the well-definedness of
a network language rests heavily on the set of node and link
types that it provides” (Brachman, p204, Readings in KR)

Trí Tuệ Nhân Tạo


37
5
SN: Ngữ nghĩa (2)
 Ý nghĩa của mạng ngữ nghĩa sau
Car
là gì?
 Thể hiện định nghĩa của một cái
is-a
ô-tô màu đen (Thông tin định
nghĩa)
 Thể hiện rằng tồn tại một ô-tô Car#3
màu đen (Thông tin xác nhận)
has-color
 Thể hiện rằng một cái ô-tô cụ thể
(Car#3) là màu đen (Xác nhận
sự tồn tại) Black

Trí Tuệ Nhân Tạo


37
6
SN: Ngữ nghĩa (3)
 Các liên kết có thể là
 Liên kết xác nhận (Assertional links)
 Lưu giữ các thông tin về không gian bài toán đang
xét
 Có thể thay đổi khi không gian bài toán thay đổi
 Ví dụ: “John hit Mary” (một sự kiện cụ thể
đã xảy ra)
 Liên kết định nghĩa (Definitional links)
 Lưu giữ các ý nghĩa của các khái niệm
 Không thay đổi khi không gian bài toán thay đổi
 Ví dụ: “apple is-a fruit”, “apple has-
color red”

Trí Tuệ Nhân Tạo


37
7
Mạng ngữ nghĩa: Ưu điểm
 Rõ ràng (trực quan) trong hiển thị, dễ hiểu đối với người dùng
 SNs thường được sử dụng như là một công cụ trao đổi (làm
việc) giữa các kỹ sư tri thức (knowledge engineers) và các
chuyên gia (experts) trong giai đoạn thu thập tri thức
 SNs là rất phù hợp đối với các bài toán biểu diễn tri thức ở
dạng phân cấp các khái niệm
 Tri thức được phân loại (phân lớp) thành một cấu trúc phân cấp
 Cơ chế biểu diễn phân cấp của SNs hỗ trợ quá trình suy diễn
nhanh chóng
 Tập trung vào các thành phần chính của tri thức và liên kết
giữa chúng

Trí Tuệ Nhân Tạo


50
Mạng ngữ nghĩa: Nhược điểm
 Không tồn tại cách diễn dịch (interpretation) chung
(chuẩn) – Ngữ nghĩa của các mạng ngữ nghĩa không
được định nghĩa một cách chuẩn tắc
 Gặp vấn đề trong việc biểu diễn các thông tin phủ định
(negation) và tuyển (disjunction)
 Vd: “John does not go fishing”, “John eats pizza
or
fish and chips”
 Khó khăn trong việc chọn các thành phần cơ bản
(primitives) phù hợp
 Khả năng suy diễn hạn chế
 Tốn kém (công sức, thời gian, tiền bạc) khi xây dựng
Trí Tuệ Nhân Tạo
51
Ontology
 Một ontology là một đặc tả (biểu diễn) hình thức và rõ
ràng về các khái niệm
 Một ontology là một từ vựng dùng chung, được dùng
để biểu diễn (mô hình) một lĩnh vực cụ thể
 Các đối tượng và/hoặc
các khái niệm
 Các thuộc tính và các quan hệ của chúng

6
Source: 9
Ontology (2)
 Một ontology có thể được xem như là một cơ sở tri thức
 Một ontology có thể phục vụ các mục đích khác nhau
 Ví dụ: Mô hình cơ sở dữ liệu (database schema) là một
ontology
 Cơ sở tri thức chứa đựng các tri thức cụ thể cần thiết
cho việc giải quyết vấn đề của một lĩnh vực

Trí Tuệ Nhân Tạo


70
Ontology: Các động cơ thúc đẩy
 Các động cơ thúc đẩy về mặt công nghệ
Rất nhiều các hệ thống dựa trên tri thức sử dụng một ontology
mô tả các tri thức của lĩnh vực liên quan
 Việc xây dựng ontology là một nhiệm vụ rất tốn kém (về thời
gian và công sức) trong quá trình phát triển một hệ thống dựa
trên tri thức
 Tại sao không giảm chi phí bằng cách chia sẻ các ontology?
 Ví dụ: Các ontology “cơ bản” mô tả không gian,
thời gian, số lượng, …

 Động cơ thúc đẩy về mặt khoa học


 Để hiểu được các vấn đề nền tảng trong quá trình khái niệm hóa
(nhận thức các khái niệm) của con người
Trí Tuệ Nhân Tạo
71
Các khía cạnh của một ontology (1)
 Nội dung của ontology
 Các kiểu đối tượng, các kiểu quan hệ
 Ví dụ: Bài toán sắp xếp các khối (blocks)
 Các lớp đối tượng: Blocks, Robot Hands
 Các thuộc tính: shapes of blocks, color of blocks
 Các quan hệ: On, Above, Below, Grasp
 Các quá trình: thiết kế hoặc xây nên một tòa tháp

 Kiểu của ontology


 Các quan hệ phân loại cơ bản (vd: instance-of, subclass) là gì?
 Các định nghĩa của các khái niệm (và các ràng buộc đối với
chúng)?
 Khả năng diễn đạt của ngôn ngữ định nghĩa các khái niệm?
 Hướng quá trình (process-centric) hay hướng đối tượng (object-
centric)? Trí Tuệ Nhân Tạo
72
Các khía cạnh của một ontology (2)
 Mục đích sử dụng của ontology
 Chia sẻ tri thức
 Ví dụ: Giữa những người sử dụng, giữa các hệ thống, …
 Sử dụng lại tri thức
 Ví dụ: Sử dụng lại (một phần) tri thức khi các mô hình
hoặc hệ thống thay đổi
 Việc xây dựng ontology
 Ontology sẽ được thu thập hay xây dựng?
 Nếu được thu thập, thì cần kiểm tra:
 Chất lượng của tri thức?
 Sự khác biệt về nội dung?
 Sự tin cậy của tri thức?
 Các khả năng sử dụng trong tương lai?

Trí Tuệ Nhân Tạo


73
Ontology

(Thực
(Lý tế cần
thuyết xem
cần xét)
xem
xét)

Source:
http://www.emiliosanfilippo.it/?page_id=1172
Trí Tuệ Nhân Tạo
74
Xây dựng ontology: các vấn đề
 Xác định giới hạn (phạm vi) và mục đích sử dụng
 Cân nhắc việc sử dụng lại các ontology đã có và liên
quan đến lĩnh vực đang xét
 Liệt kê các khái niệm
 Định nghĩa sự phân loại
 Định nghĩa các thuộc tính
 Định nghĩa các khía cạnh (các ràng buộc)
 Xác định các ví dụ cụ thể (instances)
 Kiểm tra các bất thường (anomalies)

Trí Tuệ Nhân Tạo


75
Phạm vi và mục đích sử dụng
 Không tồn tại một ontology “chuẩn” cho một lĩnh vực cụ thể
 Một ontology là một sự khái quát hóa về một lĩnh vực cụ thể, và
luôn tồn tại nhiều ontologies phù hợp
 Việc khái quát hóa này nên tính đến:
 Việc sử dụng trong tương lai của ontology (mục đích sử dụng)
 Các khả năng mở rộng (của ontology) có thể dự đoán trước
 Các câu hỏi cần phải được trả lời ở giai đoạn này:
 Ontology này được dùng cho lĩnh vực nào?
 Ontology này sẽ được dùng để làm gì?
 Những kiểu câu hỏi nào mà ontology này có thể đưa ra câu trả
lời?
 Ai sẽ dùng và bảo trì ontology này?

Trí Tuệ Nhân Tạo


76
Cân nhắc sử dụng lại các ontology
 Với sự phát triển rất nhanh chóng của Internet và của
lĩnh vực Semantic Web, sẽ tồn tại (có) rất nhiều
ontologies có thể khai thác

Trí Tuệ Nhân Tạo


77
Liệt kê các khái niệm
 Xác định (theo một danh sách) tất cả các khái niệm liên
quan sẽ xuất hiện trong ontology
 Các danh từ (nouns) thường là cơ sở để xác định các tên lớp
(class names)
 Các động từ (verbs) hoặc cụm động từ (verb phrases) thường là
cơ sở để xác định các tên thuộc tính (property names)

 Nên sử dụng các công cụ xây dựng tri thức, để thu được
 Tập các khái niệm
 Cấu trúc (phân cấp) ban đầu của các khái niệm này

Trí Tuệ Nhân Tạo


78
Định nghĩa sự phân loại
 Các khái niệm liên quan cần được tổ chức lại với nhau
thành một cấu trúc phân cấp phân loại (a taxonomic
hierarchy)
Hai chiến lược thường được dùng: top-down vs. bottom-up
 Cần cân nhắc đến hai yếu tố: sự tin cậy (chính xác) và hiệu
quả
(suy diễn)

 Đảm bảo rằng phân cấp thu được thực sự là một phân
loại khái niệm
Nếu A là một lớp con của B, thì mọi ví dụ của A cũng phải là ví
dụ
của B

Trí Tuệ Nhân Tạo


79
Định nghĩa các thuộc tính
 Thường được thực hiện kết hợp với bước trước (định
nghĩa sự phân loại)
 Yêu cầu: Nếu A là một lớp con của B, thì mọi thuộc
tính của B đều phải được áp dụng cho A
 Nên gắn các thuộc tính với lớp cao nhất (phù hợp) trong cấu
trúc phân cấp

 Khi xác định một thuộc tính cho một lớp, cần ngay lập
tức xác định các thông tin về miền (data type) và giá trị
(value domain) của thuộc tính đó

Trí Tuệ Nhân Tạo


80
Định nghĩa các ràng buộc
 Các ràng buộc về số chiều (số phần tử của một tập hợp)
 Các giá trị có thể được gán cho
 Các đặc điểm của quan hệ
 Tính đối xứng, bắc cầu, đảo, …

(protege.stanford.edu/amia2003/
AMIA2003Tutorial.ppt)
Trí Tuệ Nhân Tạo
81
Xác định các ví dụ
 Bổ sung vào ontology các ví dụ (instances) cụ thể
 Số lượng các ví dụ thường lớn hơn (nhiều) số lượng các
lớp (classes)
 Việc bổ sung các ví dụ vào một ontology thường được
làm thủ công (manually)
 Lấy từ các nguồn dữ liệu sẵn có (vd: từ các cơ sở dữ liệu)
 Trích tự động từ một tập các dữ liệu văn bản

Trí Tuệ Nhân Tạo


82
Kiểm tra các bất thường
 Để kiểm tra các mâu thuẫn có thể có trong một ontology,
(hoặc có trong một ontology đi kèm với các ví dụ)

 Các ví dụ của các mâu thuẫn


 Không tương thích về miền, về giá trị, về các đặc tính bắc cầu,
đối xứng, đảo,...
 Không tương thích với ràng buộc về số chiều của một thuộc tính

Trí Tuệ Nhân Tạo


83
Các ví dụ về ontology
 CYC (dùng chung, tổng quát)
 105 kiểu khái niệm, 106 tiên đề

 SENSUS (mở rộng của WordNet, dùng cho xử lý văn


bản)
 70.000 khái niệm

 SUMO (tổng quát)


 1000 khái niệm, 4200 đánh giá

 UMLS (lĩnh vực y-sinh)


 135 kiểu ngữ nghĩa, 54 quan hệ ngữ nghĩa, 975.354 khái niệm

 WordNet (từ vựng)


 152.059 dạng từ, 115,424 cụm từ
Trí Tuệ Nhân Tạo
84
UMLS ontology
 For bio-medicine

(Figure by MIT OCW)

Trí Tuệ Nhân Tạo


85
CYC ontology
 Encode all of human common sense knowledge

Trí Tuệ Nhân Tạo


86

You might also like