Trí Tuệ Nhân Tạo
Nguyễn Nhật Quang
Trường Đại học Bách Khoa Hà Nội
Viện Công nghệ Thông tin và Truyền thông
Năm học 2012-2013
Nội dung môn học:
Giới thiệu về Trí tuệ nhân tạo
Tác tử
Giải quyết vấn đề: Tìm kiếm, Thỏa mãn ràng buộc
Logic và suy diễn
Biểu diễn tri thức
Biểu diễn tri thức không chắc chắn
Họcmáy
Học
máy
2
Trí tuệ nhân tạo
Giới thiệu
v
ề lo
g
ic
g
Logic là ngôn ngữ hình thức cho phép (giúp) biểudiễn thông
t
in
dướ
i
dạ
n
g
các
k
ết
l
uậ
n
có
t
h
ể
được
đưa
r
a
t
dướ
dạ g
các
ết
uậ
có
t ể
được
đưa
a
Logic = Syntax + Semantics
Cú pháp (syntax): để xác định các mệnh đề (sentences)
trong
một
ngôn
ngữ
trong
một
ngôn
ngữ
Ngữ nghĩa (semantics): để xác định “ý nghĩa" củacácmệnh
đề trong một ngôn ngữ
ắ
ề
Tứclà, xácđịnh sựđúng đ
ắ
ncủamộtmệnh đ
ề
Ví dụ: Trong ngôn ngữ của toán học
(x+2
≥
y)
là
một
mệnh
đề
;(
x+y
>
{})
không
phải
là
một
mệnh
đề
(x+2
≥
y)
là
một
mệnh
đề
;
(
x+y
>
{})
không
phải
là
một
mệnh
đề
(x+2 ≥ y) là đúng nếuvàchỉ nếugiátrị (x+2) không nhỏ hơngiátrị y
(x+2 ≥ y) là đúng khi x = 7, y = 1
(x+2
≥
y)
là
sai
khi
x
=
0y
=
6
(x+2
≥
y)
là
sai
khi
x
0
,
y
6
3
Trí tuệ nhân tạo
Cú
p
há
p
của một lo
g
ic
pp
g
Cú pháp = Ngôn ngữ + Lý thuyết chứng minh
Ngôn ngữ (Language)
Các ký hiệu (symbols), biểu thức (expressions), thuật ngữ (terms),
công thức (formulas) hợp lệ
E.g., one plus one equal two
Lý thuyết chứng minh (Proof theory)
Tậ h álậtdiễ hhéhứ ih( lậ )á
Tậ
p
h
ơp c
á
c
l
u
ật
suy
diễ
n c
h
o p
hé
p c
hứ
ng m
i
n
h
(
suy
l
u
ậ
n ra
)
c
á
c
biểu thức
Ví dụ: Luật suy diễn any plus zero Ⱶ any
ề ầ
Một định lý (theorem) là một mệnh đ
ề
logic c
ầ
n chứng minh
Việc chứng minh một định lý không cần phải xác định ngữ nghĩa
(interpretation) của các ký hiệu!
(interpretation)
của
các
ký
hiệu!
4
Trí tuệ nhân tạo
N
g
ữ n
g
hĩa của một lo
g
ic
g
g
g
Ngữ nghĩa = Ý nghĩa (diễn giải) của các ký hiệu
Ví d
Ví
d
ụ
I(one) nghĩa là 1 (∈ N)
I(two) nghĩa là 2 (∈ N)
I(
p
lu
s
) nghĩa là phép cộng + : N x N → N
I(equal) nghĩa là phép so sánh bằng = : N x N → {true, false}
I(one plus one equal two) nghĩa là true
Nếu diễn giải của một biểu thức là đúng (true), chúng ta
nói rằng phép diễn giải này là một mô hình (model) của
biểuthức
biểu
thức
Một biểu thức đúng đối với bất kỳ phép diễn giải nào thì
được gọi là một biểu thức đúng đắn (valid)
Ví dụ: A OR NOT
A
5
Trí tuệ nhân tạo
T
ính bao hàm
Tính bao hàm có nghĩalàmột cái gì đó tuân theo (bị hàm
chứa
ý
n
g
hĩabởi
)
m
ộ
tcái
g
ì khác:
ý
g
)
ộ
g
KB ╞α
Một
cơ
sở
tri
thức
KB
bao
hàm
(
hàm
chứa
)
mệnh
đề
α
Một
cơ
sở
tri
thức
KB
bao
hàm
(
hàm
chứa
)
mệnh
đề
α
nếuvàchỉ nếu α là đúng trong mọimôhình(thế giới)
mà trong đó KB là đúng – Tứclà: nếu KB đúng, thì α
cũn
g
p
hải đún
g
g
p
g
Ví dụ: Nếu mộtcơ sở tri thức KB chứacácmệnh đề “Đội bóng A
đãthắng” và “Đội bóng B đãthắng”, thì KB bao hàm mệnh đề
“Đội bóng A hoặc đội bóng B đãthắng”
Ví
dụ
:
Mệnh
đề
(
x+y
=
4)
bao
hàm
mệnh
đề
(4
=
x+y
)
Ví
dụ
:
Mệnh
đề
(
x+y
=
4)
bao
hàm
mệnh
đề
(4
=
x+y
)
Tính bao hàm là mối quan hệ giữacácmệnh đề dựatrên
ngữ nghĩa
6
Trí tuệ nhân tạo
Các mô hình
Các nhà logic học thường hay xem
xét các sự việc theo các mô hình
(models)
(models)
Các mô hình là các không gian (thế
giới) có cấu trúc, mà trong các không
gian đó tính đúng đắn(củacácsự
gian
đó
tính
đúng
đắn
(của
các
sự
việc) có thể đánh giá được
Định nghĩa: m là một mô hình của
mệnh đề α nếu α là đúng trong
m
mệnh
đề
α
nếu
α
là
đúng
trong
m
M(α) là tập hợp tất cả các mô hình
của α
KB╞ α nếu và chỉ nếu M(KB) ⊆ M(α)
Ví dụ: KB = “Đội bóng A đã thắng và
đội bóng B đã thắng”, α = “Đội bóng
A đãthắng
”
A
đã
thắng
7
Trí tuệ nhân tạo
Suy diễn lo
g
ic (1)
g
KB ├
i
α
Mệnh
đề
α
được
suy
ra
từ
KB
bằng
cách
áp
dụng
thủ
tục
(
suy
Mệnh
đề
α
được
suy
ra
từ
KB
bằng
cách
áp
dụng
thủ
tục
(
suy
diễn) i
(Nói cách khác) Thủ tục i suy ra mệnh đề α từ KB
Tính đúng đắn (soundness)
Một thủ tục suy diễn i đượcgọilàđúng đắn (sound), nếuthủ tục
i
hỉ
á
ệ h
đề
đ
b
hà
(tild t )
i
suy ra c
hỉ
c
á
cm
ệ
n
h
đề
đ
ược
b
ao
hà
m
(
en
t
a
il
e
d
sen
t
ences
)
Thủ tục i là đúng đắn, nếubấtcứ khi nào KB ├
i
α, thì cũng đúng
đốivới KB╞ α
Nếu thủ tục i suy ra mệnh đề α, mà α không được bao hàm trong
KB, thì thủ tục i là không đúng đắn (unsound)
8
Trí tuệ nhân tạo
Suy diễn lo
g
ic (2)
g
Tính hoàn chỉnh (completeness)
Một
thủ
t
diễ
i
đ
i
là
hà
hỉ h
(lt)
ế
Một
thủ
t
ụcsuy
diễ
n
i
đ
ượcgọ
i
là
h
o
à
nc
hỉ
n
h
(
comp
l
e
t
e
)
, n
ế
u
thủ tục i có thể suy ra mọi mệnh đề được bao hàm (entailed
sentences)
Thủ
t
i
là
hà
hỉ h
ế
bất
ứ
khi
à
KB
╞
thì
ũ
đú
Thủ
t
ục
i
là
h
o
à
nc
hỉ
n
h
, n
ế
u
bất
c
ứ
khi
n
à
o
KB
╞
α,
thì
c
ũ
ng
đú
ng
đốivới KB ├
i
α
(
Trong
phần
tiếp
theo
của
bài
giảng
)
chúng
ta
sẽ
xét
đến
(
Trong
phần
tiếp
theo
của
bài
giảng
)
chúng
ta
sẽ
xét
đến
logic vị từ bậc 1 (first-order logic)
Có khả năng biểudiễn(diễn đạt) hầuhết các phát biểu logic
Với logic vị từ bậc1, tồntạimộtthủ tục suy diễn đúng đắn và
hoàn chỉnh
9
Trí tuệ nhân tạo
Suy diễn lo
g
ic (3)
g
Logic là một cách để biểu diễn hình thức và suy diễn tự
động
động
Việc suy diễn (reasoning) có thể được thực hiện ở mức
cú pháp (bằng các chứng minh):
suy diễndiễndịch
cú
pháp
(bằng
các
chứng
minh):
suy
diễn
diễn
dịch
(deductive reasoning)
Việc su
y
diễn có thể được thực hiện ở mức n
g
ữ n
g
hĩa
ằ
y g g
(b
ằ
ng các mô hình): suy diễn dựa trên mô hình
(model-based reasoning)
10
Trí tuệ nhân tạo
Suy diễn lo
g
ic (4)
g
Suy diễn ngữ nghĩa ở mức của một phép diễn giải (mô
hình
)
:
)
Với một biểu thức, có tồn tại một mô hình không?: có
thể thỏa mãn được (satisfiability)
Với một biểu thức và một phép diễn giải, kiểm tra xem
phép diễn giải có phải là một mô hình của biểu thức
khôn
g
?: ki
ể
m tra mô hình
(
model checkin
g)
g
(g)
Suy diễn ngữ nghĩa ở mức của tất cả các phép diễn giải
có thể: kiểm tra tính đúng đắn (validity checking)
Logics that are sound (correct) and complete:
provability corresponds to validity
11
Trí tuệ nhân tạo
Lo
g
ic định đề
–
Cú
p
há
p
(1)
g
pp
Logic định đề (propositional logic) là loại logic đơn giản
nhất
nhất
Biểu thức định đề (propositional formula)
Mộtkýhiệ đị h đề (S
S
)là ộtbiể thứ (đị h đề)
Một
ký
hiệ
u
đị
n
h
đề
(S
1
,
S
2
, …
)
là
m
ột
biể
u
thứ
c
(đị
n
h
đề)
Các giá trị hằng logic đúng (true) và sai (false) là các biểu
thức
Nếu S
1
là một biểu thức, thì (¬S
1
) cũng là một biểu thức
(Phép phủ định)
12
Trí tuệ nhân tạo
Lo
g
ic định đề
–
Cú
p
há
p
(2)
g
pp
Biểu thức định đề (propositional formula)…
Nế S
àS
là á biể thứ thì (S
S
) ũ là ột
Nế
u
S
1
v
à
S
2
là
c
á
c
biể
u
thứ
c,
thì
(S
1
∧
S
2
)
c
ũ
ng
là
m
ột
biểu thức (Phép kết hợp / và)
Nếu S
1
và S
2
là các biểu thức, thì
(
S
1
∨ S
2
)
cũn
g
là m
ộ
t
1
2
(
1
2
) g ộ
biểu thức (Phép tuyển / hoặc)
Nếu S
1
và S
2
là các biểu thức, thì (S
1
⇒ S
2
) cũng là một
biểuthức (Phép
suy ra
/
kéo theo
)
biểu
thức
(Phép
suy
ra
/
kéo
theo
)
Nếu S
1
và S
2
là các biểu thức, thì (S
1
⇔ S
2
) cũng là một
biểu thức (Phép tương đương)
Không gì khác (các dạng trên) là một biểu thức
13
Trí tuệ nhân tạo
Cú
p
há
p
của lo
g
ic định đề
–
Ví dụ
pp
g
p
q
r
t
t
rue
false
¬p
(¬p) ∧ true
((
p)
false)
¬
((
¬
p)
∨
false)
(¬p) ⇒ (¬((¬p) ∨ false))
(p
(q
r))
⇔
(p
q)
(p
r)
(p
∧
(q
∨
r))
⇔
(p
∧
q)
∨
(p
∧
r)
14
Trí tuệ nhân tạo
T
hứ
t
ựưu tiên của các toán
t
ử lo
g
ic
g
Thứ tự ưu tiên của các toán tử logic (từ cao xuống thấp)
¬, ∧, ∨, ⇒, ⇔
Sử dụng cặp ký tự “()” để xác định mức độ ưu tiên
Các ví dụ
Các
ví
dụ
p ∧ q ∨ r tương đương (p ∧ q) ∨ r – chứ không phải p ∧ (q ∨ r)
¬
p
∧
qtương đương (
¬
p)
∧
q
–
chứ không phải
¬
(p
∧
q)
¬
p
∧
q
tương
đương
(
¬
p)
∧
q
chứ
không
phải
¬
(p
∧
q)
p ∧¬q ⇒ r tương đương (p ∧ (¬q)) ⇒ r – chứ không phải
p ∧ (¬(q ⇒ r)) hoặc p ∧ ((¬q) ⇒ r)
15
Trí tuệ nhân tạo
Lo
g
ic định đề
–
N
g
ữ n
g
hĩa (1)
g
g
g
Vớimột mô hình (model) cụ thể, nó sẽ xác định giá trị
đún
g
/
sai cho mỗik
ý
hi
ệ
u đ
ị
nh đề
g
ý
ệ
ị
Ví dụ: Với 3 ký hiệuS
1
, S
2
và S
3
, thì có thể lấyvídụ
mộtmôhìnhm
1
xác định như sau:
(S
i
S
đú
S
i
)
m
1
≡
(S
1
=sa
i
,
S
2
=
đú
ng,
S
3
=sa
i
)
Với 3 ký hiệu định đề như ví dụ trên, có thể chỉ ra 8 mô
hình
có
thể
hình
có
thể
16
Trí tuệ nhân tạo
Lo
g
ic định đề
–
N
g
ữ n
g
hĩa (2)
g
g
g
Ngữ nghĩacủamộtmôhìnhm = Các quy tắc để đánh giá
g
iá tr
ị
chân l
ý
(
đún
g/
sai
)
củacácm
ệ
nh đề tron
g
mô hình
g
ị
ý( g
)
ệ
g
m đó
¬S
1
là đúng, khi và chỉ khi S
1
là sai
S
∧
S
là
đúng
khi
và
chỉ
khi
S
là
đúng
và
S
là
đúng
S
1
∧
S
2
là
đúng
,
khi
và
chỉ
khi
S
1
là
đúng
và
S
2
là
đúng
S
1
∨ S
2
là đúng, khi và chỉ khi S
1
là đúng hoặcS
2
là đúng
S
1
⇒ S
2
là đúng, khi và chỉ khi S
1
là sai hoặcS
2
là đúng
là sai, khi và ch
ỉ
khi S
1
là đúng và S
2
là sai
S
1
⇔ S
2
là đúng, khi và chỉ khi S
1
⇒S
2
là đúng và S
2
⇒S
1
là đúng
Ví
d
Với
ô
hì h
h
í
d
ê
hì
iá
ị
ủ
Ví
d
ụ:
Với
m
ô
hì
n
h
m
1
n
h
ư trong v
í
d
ụ tr
ê
n, t
hì
g
iá
tr
ị
c
ủ
a
biểuthức logic định đề sau sẽ là:
¬S
1
∧ (S
2
∨ S
3
) = đúng ∧ (đúng ∨ sai) = đúng ∧ đúng = đúng
17
Trí tuệ nhân tạo
Ngữ nghĩa của logic định đề – Ví dụ (1)
Xét mô hình m
1
≡
(p=đúng, q=sai), ta có ngữ nghĩa (giá
tr
ị
lo
g
ic
)
của các biểu thức sau
ị g)
¬p là sai
¬q là đúng
p ∧ q là sai
p ∨ q là đúng
p
⇒
qlà
sai
p
⇒
q
là
sai
q ⇒ p là đúng
p
⇔
q
là sai
p
q
¬p ⇔ q là đúng
18
Trí tuệ nhân tạo
Ngữ nghĩa của logic định đề – Ví dụ (2)
Xét mô hình m
2
≡
(p=sai, q=đúng), ta có ngữ nghĩa (giá
tr
ị
lo
g
ic
)
của các biểu thức sau
ị g)
¬p là đúng
¬q là sai
p ∧ q là sai
p ∨ q là đúng
p
⇒
qlà
đúng
p
⇒
q
là
đúng
q ⇒ p là sai
p
⇔
q
là sai
p
q
¬p ⇔ q là đúng
19
Trí tuệ nhân tạo
Bản
g
chân lý đối
v
ới các toán
t
ử lo
g
ic
g
g
S
S
S
S
Λ
S
S
VS
S
⇒
S
S
⇔
S
S
1
S
2
¬
S
1
S
1
Λ
S
2
S
1
VS
2
S
1
⇒
S
2
S
1
⇔
S
2
sai sai đúng sai sai đúng đúng
sai đúng đúng sai đúng đúng sai
đúng sai sai sai đúng sai sai
đúng đúng sai đúng đúng đúng đúng
20
Trí tuệ nhân tạo
T
ươn
g
đươn
g
lo
g
ic
g
gg
Hai mệnh đề được gọi là tương đương logic khi và chỉ khi hai
m
ệ
nh đề nà
y
luôn đún
g
tron
g
cùn
g
mô hình: α ≡ ß khi và chỉ
ệ y ggg
khi α╞ β và β╞ α
21
Trí tuệ nhân tạo
Biểu diễn bằn
g
lo
g
ic định đề
–
Ví dụ
gg
Giả sử chúng ta có các định đề sau
p
≡
“
Chiều nay
trời
nắng
”
p
≡
Chiều
nay
trời
nắng
q ≡ “Thờitiếtlạnh hơn hôm qua”
r ≡ “Tôi sẽđibơi”
“
Tôi
ẽ
đi
đá
bó
”
s ≡
“
Tôi
s
ẽ
đi
đá
bó
ng
”
t ≡ “Tôi sẽ vềđến nhà vào buổitối”
Biểu
diễn
các
phát
biểu
trong
ngôn
ngữ
tự
nhiên
Biểu
diễn
các
phát
biểu
trong
ngôn
ngữ
tự
nhiên
“Chiều nay trời không nắng và thờitiếtlạnh hơn hôm qua”: ¬p ∧ q
“Tôi sẽđibơi nếunhư chiều nay trờinắng”: p → r
“
Nế
tôi
(
ẽ
)
khô
đi
b i
thì
tôi
ẽ
đi
đá
bó
”
“
Nế
u
tôi
(
s
ẽ
)
khô
n
g
đi
b
ơ
i
thì
tôi
s
ẽ
đi
đá
bó
ng
”
:
¬
r → s
“Nếutôi(sẽ) đi đá bóng thì tôi sẽ về nhà vào buốitối”: s → t
22
Trí tuệ nhân tạo
Mâu thuẫn và Tautolo
gy
g
Một biểuthức logic định đề luôn có giá trị sai (false) trong
mọi
phép
diễn
giải
(
mọi
mô
hình
)
thì
được
gọi
là
một
mọi
phép
diễn
giải
(
mọi
mô
hình
)
thì
được
gọi
là
một
mâu thuẫn (contradiction)
Ví dụ: (p ∧¬p)
Một biểuthức logic định đề luôn có giá trịđúng (true)
trong mọi phép diễngiải(mọi mô hình) thì đượcgọilà
ột
ttl
m
ột
t
au
t
o
l
ogy
Ví dụ:(p ∨¬p)
(p
∧
q)
↔
(
p
∨
q)
¬
(p
∧
q)
↔
(
¬
p
∨
¬
q)
¬(p ∨ q) ↔ (¬p ∧¬q)
23
Trí tuệ nhân tạo
Tính thỏa mãn được và Tính đúng đắn
Một biểuthức logic định đề là thỏamãnđược
(
satisfiable
)
,
nếubiểuthức đó đún
g
tron
g
m
ộ
tmômình
(
)
,
g
g
ộ
nào đó
Ví dụ: A ∨ B, A ∧ B
Một
biể
thứ
là
khô
thể
thỏ
ã
đ
Một
biể
u
thứ
c
là
khô
ng
thể
thỏ
am
ã
n
đ
ược
(unsatisfiable), nếu không tồntạibấtkỳ mô hình nào mà
trong đóbiểuthứclàđúng
Ví
d
A
A
Ví
d
ụ:
A
∧¬
A
Một biểuthứclàđúng đắn (valid), nếubiểuthức đúng
trong
mọi
mô
hình
trong
mọi
mô
hình
Ví dụ: đúng; A ∨¬A; A ⇒ A; (A ∧ (A ⇒ B)) ⇒ B
24
Trí tuệ nhân tạo
Bài toán chứn
g
minh lo
g
ic
gg
Vớimộtcơ sở tri trức(mộttậpcácmệnh đề) KB và một
mệnh
đề
α
cần
chứng
minh (
gọi
là
một
định
lý)
mệnh
đề
α
cần
chứng
minh
(
gọi
là
một
định
lý)
Cơ sở tri thức KB có bao hàm (về mặtngữ nghĩa)
α
hay
khôn
g
: KB
╞
α
?
g
╞
Nói cách khác,
α
có thểđượcsuyra(đượcchứng minh) từ cơ sở
tri thức KB hay không?
Câ
hỏi
đặt
ra
Liệ
có
tồn
tại
một
thủ
t c
(
s
diễn
)
có
Câ
u
hỏi
đặt
ra
:
Liệ
u
có
tồn
tại
một
thủ
t
ụ
c
(
s
uy
diễn
)
có
thể giải quyết được bài toán chứng minh logic, trong một
số hữu hạncácbước?
ố
ề
Đố
ivới logic định đ
ề
, câu trả lờilàcó!
25
Trí tuệ nhân tạo