Professional Documents
Culture Documents
TTNT ChinhQuy 1
TTNT ChinhQuy 1
Dự đoán rằng đến năm 2000, máy tính sẽ có 30% khả năng
vượt qua một người không có chuyên môn đối với một bài kiểm
tra (Turing test) trong 5 phút
Turing (vào năm 1950) đã dự đoán trước các vấn đề tranh luận
quan trọng trong TTNT trong vòng 50 năm sau
Turing đã đề xuất các thành phần quan trọng của TTNT: tri
thức, suy diễn, hiểu ngôn ngữ, học
Suy nghĩ như con người: Khoa học nhận
thức
Cuộc “cách mạng nhận thức” những năm1960:
Xem bộ não người như một cấu trúc xử lý thông tin
Nghiên cứu về tâm lý nhận thức thay thế cho các nghiên
cứu trước đó về hành vi ứng xử
Cần các lý thuyết khoa học về các hoạt động bên trong
của bộ não người
Làm thế nào để xác nhận (kiểm chứng)? Yêu cầu:
1) Dự đoán và kiểm chứng các hoạt động (hành vi) của chủ thể
con người (hướng tiếp cận top-down), hoặc
2) Nhận dạng (xác định) trực tiếp từ các dữ liệu về hệ thần
kinh (hướng tiếp cận bottom-up)
Hiện nay, cả 2 hướng tiếp cận này (Cognitive Science và
Cognitive Neuroscience) được tách rời với lĩnh vực TTNT
Suy nghĩ hợp lý: Các luật suy
nghĩ
Chuẩn hóa (hoặc quy tắc hóa), hơn là mô tả
Aristotle: Thế nào là các quá trình suy nghĩ / tranh luận
đúng đắn?
Một số trường học ở Hy Lạp đã phát triển những dạng
logic: ký hiệu và các luật dẫn xuất đối với các quá trình
suy nghĩ
Mối liên hệ trực tiếp, thông qua toán học và triết học, đối
với khoa học TTNT hiện đại
Các vấn đề:
1. Không phải tất cả các hành vi (hành động) thông minh đều
xuất phát từ các cân nhắc (suy nghĩ) logic
2. Mục đích của sự suy nghĩ là gì? Những suy nghĩ nào mà tôi
nên thực hiện, trong số các suy nghĩ mà tôi có thể có?
Hành động một cách hợp lý
Hành động một cách hợp lý: thực hiện đúng
việc cần làm
Đúng việc cần làm: là việc (hành động) giúp
cực đại hóa việc đạt được các mục tiêu, đối với
các thông tin hiện có
Không nhất thiết liên quan đến sự suy nghĩ – ví
dụ, phản xạ chớp mắt
Tuy nhiên, sự suy nghĩ nên được xem là thuộc
vào hệ thống (nhóm) các hành động hợp lý
Tác tử hợp lý
Một tác tử (agent) là một thực thể có khả năng
nhận thức và hành động
Một cách khái quát, một tác tử có thể được biểu
diễn bằng một ánh xạ: từ quá trình (lịch sử) nhận
thức đến hành động:
f: P* → A
Đối với một tập (lớp) các môi trường và nhiệm vụ,
chúng ta cần tìm ra tác tử (hoặc một lớp các tác tử)
có hiệu suất tốt nhất
Lưu ý: Các giới hạn về tính toán (của máy tính)
không cho phép đạt được sự hợp lý hoàn hảo (tối
ưu)
Æ Mục tiêu: Thiết kế chương trình máy tính tối ưu
đối với các tài nguyên máy tính hiện có
Nền tảng của TTNT
Triết học
Logic
Các phương pháp suy diễn
Các cơ sở (nền tảng) của việc học
Ngôn ngữ
Sự hợp lý
Toán học
Biểu diễn hình thức và các giải thuật chứng minh
Tính toán
Bài toán (vấn đề) giải quyết được và không giải quyết được
Bài toán (vấn đề) áp dụng được và không áp dụng được (độ
phức tạp tính toán - thời gian để giải quyết bài toán - là hàm
mũ)
Xác suất
Nền tảng của TTNT
Kinh tế học
Hàm lợi ích (tiện ích)
Lý thuyết ra quyết định
Tâm lý học
Sự thích nghi
Các dấu hiệu của nhận thức và điều khiển vận động
Các kỹ thuật thực nghiệm (vd: tâm sinh lý học,…)
Nền tảng của TTNT
Công nghệ máy tính
Xây dựng các máy tính có tốc độ tính toán
nhanh
Chơi cờ
Deep Blue (hệ thống máy tính của IBM) đã đánh bại kiện
tướng cờ vua Thế giới Garry Kasparov vào năm 1997
Người máy
Ngày nay, rất nhiều cuộc phẫu thuật trong y tế sử dụng các
trợ giúp người máy trong các thao tác vi phẫu
(microsurgery)
Các thành tựu quan trọng trong TTNT
Chẩn đoán
Các chương trình chuẩn đoán y tế dựa trên phân tích
xác suất đã có thể thực hiện ở mức tương đương các
bác sỹ chuyên môn trong một số lĩnh vực của y tê
Lập kế hoạch hậu cần cho quân đội
Trong cuộc chiến tranh Vùng Vịnh năm 1991, các lực
lượng của quân đội Mỹ đã triển khai sử dụng một
chương trình lập kế hoạch và xếp lịch cho công tác
hậu cần để di chuyển 50.000 xe cộ, hàng hóa, và
quân lính
Hàm tác tử: là hàm ánh xạ từ lịch sử nhận thức tới các
hành động:
f: P* → A
Chương trình tác tử: hoạt động (chạy) dựa trên kiến trúc
thực tế của hàm f
Tác tử = Kiến trúc + Chương trình
Ví dụ : Thế giới của máy hút bụi
Một hành động đúng (hợp lý) là hành động giúp cho tác tử
đạt được thành công cao nhất đối với mục tiêu đặt ra
Đánh giá hiệu quả hoạt động: là tiêu chuẩn để đánh giá
mức độ thành công trong hoạt động của một tác tử
Ví dụ: Tiêu chí đánh giá hiệu quả hoạt động của một tác
tử máy hút bụi có thể là: mức độ làm sạch, thời gian hút
bụi, mức độ điện năng tiêu tốn, mức độ tiếng ồn gây ra, …
Tác tử hợp lý
Tác tử hợp lý
Với mỗi chuỗi nhận thức có được,
Một tác tử hợp lý cần phải lựa chọn một
hành động giúp cực đại hóa tiêu chí đánh
giá hiệu quả hoạt động của tác tử đó,
Dựa trên các thông tin được cung cấp bởi
chuỗi nhận thức và các tri thức được sở hữu
bởi tác tử đó
Tác tử hợp lý
Sự hợp lý ≠ Sự thông suốt mọi thứ
Sự thông suốt mọi thứ = Biết tất cả mọi thứ, với tri
thức vô hạn
Vì các nhận thức có thể không cung cấp tất cả các
thông tin liên quan
Các bộ phận hành động (A): hiển thị màn hình các
bài tập, các gợi ý, sửa (chữa) bài tập
function SIMPLE-REFLEX-AGENT(percept)
static: rules (tập các luật có dạng: điều kiện-hành động)
state ← INTERPRET-INPUT(percept)
rule ← RULE-MATCH(state, rules)
action ← RULE-ACTION[rule]
return action
Tác tử phản xạ dựa trên mô hình
Tác tử phản xạ dựa trên mô hình
Tác tử phản xạ dựa trên mô hình:
Sử dụng một mô hình nội bộ để theo dõi (giám sát) trạng thái hiện
tại của môi trường
Lựa chọn hành động: giống như đối với tác tử phản xạ đơn giản
function REFLEX-AGENT-WITH-STATE(percept)
static: state (mô tả trạng thái hiện tại của môi trường)
rules (tập các luật có dạng: điều kiện-hành động)
action (hành động gần nhất)
Kiểu của môi trường có ảnh hưởng quyết định đối với việc thiết
kế tác tử
Môi trường trong thực tế thường có các đặc điểm: chỉ có thể
quan sát được một phần, ngẫu nhiêu, liên tiếp, thay đổi
(động), liên tục, đa tác tử
Tác tử - Tổng kết
Tác tử tương tác với môi trường thông qua các bộ phận
cảm biến và các bộ phận hành động
Hàm tác tử mô tả các hành động mà tác tử thực hiện
trong các tình huống
Một tác tử hợp lý sẽ cực đại hóa hiệu quả hoạt động của
nó
Các chương trình tác tử cài đặt (thực hiện) các hàm tác
tử
Các mô tả PEAS xác định môi trường công việc
Các môi trường được phân loại dựa theo các tiêu chí:
Có thể quan sát được? Xác định? Phân đoạn? tĩnh? Rời
rạc? Tác tử đơn lẻ?
Các kiến trúc tác tử cơ bản: Phản xạ, Phản xạ theo
trạng thái, Dựa trên mục tiêu, Dựa trên lợi ích
Trí tuệ Nhân tạo
Giải quyết vấn đề - Tìm kiếm
Giải pháp?
[Sang phải, Hút bụi]
Ví dụ: Máy hút bụi
Nếu là bài toán đa
trạng thái
Bắt đầu (có thể) ở
trạng thái
{#1,#2,#3,#4,#5,#6
,#7,#8}
Luôn bắt đầu bằng di
chuyển sang phải
Giải pháp?
[Sang phải, Hút bụi,
Sang trái, Hút bụi]
Ví dụ: Máy hút bụi
Nếu là bài toán có
sự kiện ngẫu nhiên
Bắt đầu ở trạng thái
#5
Không xác định: Hút
bụi có thể làm bẩn
một cái thảm sạch!
Có thể quan sát một
phần: vị trí, mức độ
bẩn ở vị trí hiện thời
Giải pháp?
[Sang phải, if Bẩn
then Hút bụi]
Phát biểu bài toán
Không gian trạng thái
Ví dụ: tất cả các thành phố ở Rumani
Trạng thái khái quát = Một tập các trạng thái thực tế
Hành động khái quát = Một kết hợp phức tạp của các
hành động thực tế
Ví dụ: Hành động "Arad Æ Zerind" biểu diễn một tập kết
hợp các đường, đường vòng, chỗ nghỉ, …
Để đảm bảo việc thực hiện quá trình tìm kiếm, bất kỳ
trạng thái thực tế nào cũng phải có thể đạt đến được từ
trạng thái thực tế khác
Giải pháp khái quát = Một tập các đường đi giải pháp
trong thực tế
Không gian trạng thái
Đồ thị không gian trạng thái
Các trạng thái
Nút
Các hành động
Cung
Mục tiêu
Nút mục đích
Đường đi và chi phí
Chuỗi các cung và giá thành tương ứng
Ví dụ: Máy hút bụi
Ví dụ: Máy hút bụi
Các trạng thái?
Chỗ bẩn và vị trí máy hút bụi
Các hành động?
Sang trái, sang phải, hút bụi, không làm gì
Kiểm tra mục tiêu?
Không còn chỗ (vị trí) nào bẩn
Chi phí đường đi?
1 (mỗi hành động), 0 (không làm gì cả)
Ví dụ: Puzzle-8
Ví dụ: Puzzle-8
Các trạng thái?
Các vị trí của các ô số
Các hành động?
Di chuyển ô trống sang trái, sang phải,
lên trên, xuống dưới
Kiểm tra mục tiêu?
Đạt trạng thái đích (goal state)
Chi phí đường đi?
1 cho mỗi di chuyển
Bài tập: 8-Hậu
Xếp 8 quân Hậu
trên bàn cờ vua sao
cho không quân
Hậu nào có thể tấn
công quân Hậu
khác
Các trạng thái?
Trạng thái ban đầu?
Các hành động?
Kiểm tra mục tiêu?
Bài tập: 8-Hậu
Các trạng thái?
Tất cả các sắp xếp của 0-8 quân Hậu trên bàn cờ
Trạng thái ban đầu?
Không quân Hậu nào trên bàn cờ
Các hành động?
Thêm một quân Hậu vào bàn cờ
Kiểm tra mục tiêu?
8 quân Hậu trên bàn cờ và không thể tấn công nhau
h(n) = chi phí ước lượng từ nút hiện tại n tới đích
f(n) = chi phí tổng thể ước lượng của đường đi qua
nút hiện tại n đến đích
A*
A*
A*
A*
A*
A*
A*
Tính đầy đủ?
Có (trừ khi có rất nhiều các nút có chi phí f
≤ f(G) )
Độ phức tạp về thời gian?
Bậc của hàm mũ
Độ phức tạp về bộ nhớ?
Lưu giữ tất cả các nút trong bộ nhớ
Tính tối ưu?
Có (đối với một ước lượng)
Ước lượng chấp nhận được
Một ước lượng (heuristic) h(n) được xem là chấp nhận
được nếu đối với mọi nút n: h(n) ≤ h*(n), trong đó h*(n)
là chi phí thật để đi từ nút n đến đích
Một ước lượng chấp nhận được không bao giờ đánh giá
quá cao đối với chi phí để đi tới đích
Thực chất, ước lượng chấp nhận được có xu hướng đánh
giá “lạc quan”
Ví dụ: Ước lượng hSLD(n) không bao giờ đánh giá quá
cao khoảng cách đường đi thực tế
Định lý: Nếu h(n) là đánh giá chấp nhận được, thì
phương pháp tìm kiếm A* sử dụng giải thuật TREE-
SEARCH là tối ưu
Ước lượng chấp nhận được
Ví dụ đối với trò chơi ô chữ 8 số:
h1(n) = số các ô chữ nằm ở sai vị trí
h1(S) = 8
h2(n) = khoảng cách dịch chuyển (←,→,↑,↓) ngắn nhất
để dịch chuyển các ô chữ nằm sai vị trí về vị trí đúng
h2(S) = 3+1+ 2+2+ 2+3+ 3+2 = 18
Ước lượng ưu thế
Ước lượng h2 được gọi là ưu thế hơn ước lượng h1 nếu:
h1(n) và h2(n) đều là các ước lượng chấp nhận được
h2(n) ≥ h1(n) đối với tất cả các nút n
Nếu h2 ưu thế hơn ước lượng h1, thì h2 tốt hơn cho quá
trình tìm kiếm
Ví dụ ô chữ 8 số: Chi phí = Số lượng trung bình của các
nút phải xét:
Với độ sâu d =12
IDS (Tìm kiếm sâu dần): 3.644.035 nút phải xét
A*(sử dụng ước lượng h1): 227 nút phải xét
A*(sử dụng ước lượng h2): 73 nút phải xét
Với độ sâu d =24
IDS (Tìm kiếm sâu dần): Quá nhiều nút phải xét
A*(sử dụng ước lượng h1): 39.135 nút phải xét
A*(sử dụng ước lượng h2): 1.641 nút phải xét
Các giải thuật cục bộ
Trong nhiều bài toán tối ưu, đường đi để tới đích không
quan trọng – mà quan trọng là trạng thái đích
Trạng thái đích = Lời giải của bài toán
Không gian trạng thái = Tập hợp các các cấu hình “đầy
đủ”
Mục tiêu: Tìm một cấu hình thỏa mãn các ràng buộc
Ví dụ: Bài toán n quân hậu Trong những bài toán như thế,
chúng ta có thể sử dụng các giải thuật tìm kiếm cục bộ
Tại mỗi thời điểm, chỉ lưu một trạng thái “hiện thời" duy
nhất – Mục tiêu: cố gắng “cải thiện” trạng thái hiện thời
này đối với một tiêu chí nào đó
Bài toán 4 quân hậu
Bố trí 4 quân hậu trên một bàn cờ có
kích thước 4x4, sao cho không có 2
quân hậu nào trên cùng hàng, hoặc trên
cùng cột, hoặc trên cùng đường chéo
Hill climbing
Hill climbing
Nhược điểm: Tùy vào trạng thái đầu, giải thuật tìm
kiếm leo đồi có thể “tắc” ở các điểm cực đại cục bộ
Không tìm được lời giải tối ưu toàn cục
Hill climbing
Ước lượng h = tổng số các cặp quân hậu ăn nhau, hoặc
là trực tiếp hoặc gián tiếp
Trong trạng thái trên: h =17
Hill climbing
Trạng thái bàn cờ trên là một giải pháp tối ưu cục bộ
Với ước lượng h =1 (vẫn còn 1 cặp hậu ăn nhau)
Simulated annealing
Ý tưởng: Thoát khỏi các điểm tối ưu cục bộ bằng cách
cho phép cả các dịch chuyển “tồi” từ trạng thái hiện
thời, nhưng giảm dần tần xuất của các di chuyển tồi này
Simulated annealing
Nếu giá trị của tham số T (xác định mức độ
giảm tần xuất đối với các di chuyển tồi) giảm
chậm, thì phương pháp tìm kiếm Simulated
Annealing Search sẽ tìm được lời giải tối ưu
toàn cục với xác suất xấp xỉ 1
Nếu một trong số các trạng thái là trạng thái đích, thì
giải thuật kết thúc (thành công); nếu không, thì chọn k
trạng thái tiếp theo tốt nhất (từ tập các trạng thái tiếp
theo), và lặp lại bước trên
Giải thuật di truyền
Trạng thái tiếp theo được sinh ra bằng cách “kết hợp” 2 trạng
thái trước (cha mẹ)
Bắt đầu giải thuật: Sinh ra (ngẫu nhiên) k trạng thái
Tập k trạng thái này được gọi là một quần thể (population)
Mỗi trạng thái được biểu diễn bằng một chuỗi ký tự, mà mỗi ký
tự này thuộc vào một tập hữu hạn (thường là {0,1})
Hàm đánh giá mức độ “phù hợp” của một trạng thái - fitness
function
Giá trị đánh giá càng cao = Trạng thái càng tốt (càng phù hợp)
Sản sinh ra thế hệ (tập hợp) các trạng thái tiếp theo bằng cách
áp dụng các toán tử di chuyền
Lựa chọn / tái tạo (selection / replication)
Lai ghép (crossover)
Đột biến (mutation)
Giải thuật di truyền
Giải thuật di truyền
Trí tuệ Nhân tạo
Thỏa mãn ràng buộc
Định lý
Nếu đồ thị ràng buộc không có vòng lặp, thì bài
toán TMRB có thể giải được với độ phức tạp thời
gian là O(nd2)
Tận dụng cấu trúc bài toán
Giải thuật cho bài toán TMRB cấu trúc
cây
Một số giải thuật khác cho bài toán
TMRB
Hill-climbing, Simulated Annealing có thể dùng cho
bài toán TMRB
Các trạng thái đầy đủ, i.e., toàn bộ biến được gán
Cho phép các trạng thái với ràng buộc không thể thỏa
mãn
Hành động gán lại giá trị các biến
Chọn biến để gán
Ngẫu nhiên
Giá trị gán sử dụng heuristic min-conflicts:
Chọn giá trị ít xâm phạm các ràng buộc nhất
i.e., leo đồi với h(n) = số lần xâm phạm các ràng
buộc
Ví dụ: 4-Hậu
Trạng thái: 4 hậu ở 4 cột (4*4 = 256 trạng
thái)
Hành động: di chuyển hậu trong cột
Muc tiêu: 4 hậu không thể tấn công nhau
Ước lượng: h(n) = number of attacks
Tổng kết TMRB
TMRB là một loại bài toán tìm kiếm đặc biệt
Trạng thái định nghĩa bởi giá trị của các biến
Mục tiêu định nghĩa bởi ràng buộc các biến
Tìm kiếm quay lui
Tìm kiếm sâu + Gán đơn biến
Thứ tự chọn biến và giá trị ảnh hưởng mạnh đến kết
quả
Sử dụng heuristics
Tận dụng cấu trúc bài toán giúp cải tiến độ phức tạp
thời gian
Bài toán cấu trúc cây
Dùng một số giả thuật tìm kiếm cục bộ cho TMRB
Hill-climbing, Simulated Annealing với heuristic Min-
conflicts
Bài tập
Nếu giải bài toán Mã TWO
số học sử dụng giải + TWO
thuật Tìm kiếm quay
lui cơ bản, có bao FOUR
nhiêu trường hợp
phải xét?
Giải bài toán bằng
cách kết hợp các
heuristics
Lan truyền ràng buộc
MRV
LCV
Bài tập
1. Chọn biến X3: miền giá trị {0,1}
2. Chọn X3=1: sử dụng lan truyền ràng buộc F/=0
3. F=1
4. Chọn biến X2: X1 và X2 có cùng số giá trị còn lại
5. Chọn X2=0
6. Chọn X1: X1 còn ít giá trị nhất trong các biến còn lại
7. Chọn X1=0
8. Chọn O: O phải là số chẵn nhỏ hơn 5 nên có ít giá trị còn
lại nhất (T+T=O dư 1 và O+O=R+10*0)
9. Chọn O=4
10. R=8
11. T=7
12. Chọn U: U phải là số chẵn nhỏ hơn 9
13. U=6: sử dụng lan truyền ràng buộc
14. W=3
Trí tuệ Nhân tạo
Bài tập lớn