Bài giảng TRÍ TUỆ NHÂN TẠO Bài giảng NHẬP MÔN TRÍ TUỆ NHÂN TẠO TÀI LIỆU GIẢNG DẠY Tài liệu giảng dạy chính Giáo trình “Nhập môn trí tuệ nhân tạo”, Hoàng Kiếm, Trường ĐH Công nghệ Thông tin, Đại học[.]
Trang 1Bài giảng
NHẬP MÔN TRÍ TUỆ NHÂN TẠO
Trang 2TÀI LIỆU GIẢNG DẠY
Giáo trình “Nhập môn trí tuệ nhân tạo”, Hoàng Kiếm, Trường ĐH Công nghệ Thông tin, Đại học QG TP HCM
Giáo trình “Trí tuệ nhân tạo”, Nguyễn Thanh Thủy, NXB Giáo Dục
Trang 3TỔNG QUAN VỀ TTNT
Trí tuệ nhân tạo (TTNT) (Artificial Intelligence):
Là một nhánh của khoa học máy tính, chuyên nghiên cứu, thiết
kế và chế tạo các hệ thống thông minh – có trí tuệ giống như
(hoặc hơn ) con người.
Mục tiêu: Tạo ra những máy tính có khả năng:
Nhận thức: có khả năng quan sát, học hỏi, hiểu biết cũng như có những kinh nghiệm về thế giới xung quanh Quá trình nhận thức giúp có tri thức.
Suy luận: là khả năng vận dụng những tri thức sẵn có để đưa ra các quyết định.
Phản ứng: đưa ra các hành động thích hợp dựa trên tri thức và suy luận.
Cả 3 khả năng này đều cần đến yếu tố cơ bản: Tri thức
Trang 4TỔNG QUAN VỀ TTNT
Năng lực máy tính ngày càng mạnh mẽ cho phép những chương
trình máy tính sử dụng các thuật giải TTNT nhanh và hiệu quả hơn.
Máy tính đánh cờ Deep Blue đánh bại Casparov Tuy nhiên:
Deep Blue chỉ biết chơi cờ;
Không có được trí tuệ của trẻ 3 ba tuổi như: nhận diện người thân, khả năng quan sát và nhận biết thế giới, tình cảm thương ghét, …
Khả năng hiện tại của các sản phẩm TTNT vẫn còn khiêm tốn,
nhưng vẫn đang tiến bộ và hữu dụng trong 1 số công việc đòi hỏi trí thông minh của con người
TTNT đã trở thành một phần thiết yếu của công nghiệp, kỹ thuật, cung cấp giải pháp cho những vấn đề khó khăn nhất trong khoa học máy tính.
Trang 5Máy tính tiêu chuẩn Bật/Tắt các
công tắc
Trang 6LỊCH SỬ
1930s, Alan Turing cho rằng bằng cách làm việc với các ký tự “0” và “1”, máy có thể mô phỏng bất cứ hành động có thể nhận thức nào của quá trình suy diễn toán học;
1950s, có các chương trình giải các bài toán đại số, chứng minh các kết quả logic, … bằng ngôn ngữ lập trình Lisp;
1980s – sự thành công về mặt thương mại của các
hệ chuyên gia – mô phỏng tri thức và các kỹ năng phân tích của 1 hoặc 1 nhóm các chuyên gia;
1990s và 2000s, TTNT đã gặt hái được những thành công lớn trong khai phá dữ diệu, chuẩn đoán y tế, …
và nhiều lĩnh vực khác trong công nghiệp kỹ thuật
Trang 7 Biểu diễn tri thức (knowledge representation):
Các vấn đề cần giải quyết thường yêu cầu biểu diễn tri thức rộng lớn về các đối tượng, các thuộc tính, các nhóm và quan hệ giữa các đối tượng; các tình huống, sự kiện, trang thái và thời gian; nguyên nhân và kết quả, …
Lập kế hoạch (planning): các hệ thống thông minh phải biết thiết lập các mục tiêu và cách đạt được chúng, có khả năng
chọn phương thức tốt nhất trong các phương thức có sẵn để đạt được mục tiêu.
Trang 8CÁC LĨNH VỰC CHÍNH
Học máy (machine learning): Học không có giám sát (unsupervised learning), học có giám sát (supervised
learning);
Xử lý ngôn ngữ tự nhiên (Natural language
processing): Máy có khả năng đọc hiểu ngôn ngữ tự nhiên;
Nhận thức (perception): Nhận biết giọng nói, khuôn mặt, đối tượng;
Khả năng di chuyển và thực hiện thao tác: Chế tạo Robot;
…
Trang 9THUẬT TOÁN – THUẬT GIẢI
Thuật toán: Một phương thức giải quyết vấn
đề (bài toán) bằng một chuỗi hữu hạn các
bước.
Khi giải quyết các vấn đề, có thể gặp:
Chưa có cách giải theo kiểu thuật toán và cũng không biết có tồn tại thuật toán hay không;
Có thuật toán để giải nhưng không dùng được vì thời gian giải quá lớn hoặc có các điều kiện khó đáp ứng;
Có những bài toán được giải theo những cách giải
vi phạm thuật toán nhưng vẫn có thể chấp nhận được
Trang 10THUẬT TOÁN – THUẬT GIẢI
Mở rộng thuật toán:
Tính xác định (decidability): bằng giải thuật đệ
quy và ngẫu nhiên;
Tính đúng đắn (soundness – correctness): Chấp nhận các cách giải thường cho kết quả tốt (nhưng không phải lúc nào cũng tốt) nhưng ít phức tạp và hiệu quả
Thuật giải: Cách giải chấp nhận được nhưng không hoàn toàn đáp ứng đầy đủ các tiêu
chuẩn của thuật toán.
Trang 11THUẬT GIẢI HEURISTIC
không chắc là lời giải tốt nhất
quả hơn so với thuật toán tối ưu, vì vậy chi phí thấp hơn
suy nghĩ của con người
Trang 12THUẬT GIẢI HEURISTIC
Có nhiều phương pháp xây dựng, thường dựa vào
các nguyên lý cơ bản sau:
Vét cạn thông minh: Khi không gian tìm kiếm lớn, tìm cách giới hạn lại không gian tìm kiếm hoặc thực hiện 1 kiểu dò tìm đặc biệt dựa vào đặc thù của bài toán để nhanh chóng tìm ra mục tiêu.
Tham lam (greedy): Lấy tiêu chuẩn tối ưu (toàn cục) của bài toán để làm tiêu chuẩn chọn lựa hành động cho phạm vi cục
bộ của từng bước.
Thứ tự: Thực hiện hành động dựa trên 1 cấu trúc thứ tự
hợp lý của không gian khảo sát nhằm nhanh chóng có được một lời giải tốt.
Hàm heuristic: Là hàm đánh giá thô, giá trị phụ thuộc vào trạng thái hiện tại của bài toán tại mỗi bước Dùng giá trị này để chọn lựa cách hành động tương đối hợp lý.
Trang 13BÀI TOÁN HÀNH TRÌNH
NHANH NHẤT
Tìm một hành trình cho người giao hàng đi qua n điểm khác nhau, mỗi điểm đi qua một lần và trở về điểm xuất phát sao cho tổng thời gian đoạn đường cần đi là ngắn nhất Giả thiết rằng giữa hai điểm bất kỳ đều có con đường nối trực tiếp
Cách 1: Liệt kê tất cả các con đường có thể
đi, tính thời gian của mỗi con đường, rồi tìm con đường có thời gian ngắn nhất Có độ
phức tạp là O(n!).
Trang 14HÀNH TRÌNH NHANH NHẤT
Cách 2: Ứng dụng nguyên lý Greedy:
Lấy tiêu chuẩn hành trình nhanh nhất của bài
toán làm tiêu chuẩn chọn lựa cho mỗi bước:
B1: Từ điểm khởi đầu, liệt kê tất cả các con đường đến các đại lý còn lại rồi chọn con đường nhanh nhất
B2: Khi đã đi đến 1 đại lý, chọn đại lý tiếp theo cũng theo nguyên tắc trên, nghĩa là chọn con đường nhanh nhất đến 1 trong những đại lý chưa đi đến Lặp lại B2 cho đến lúc không còn đại lý để đi.
Đơn giản hơn và thường cho kết quả tương đối tốt
Độ phức tạp là O(n2)
Trang 15HÀNH TRÌNH NHANH NHẤT
1
2
3 4
1
2
3 4
5
5
1
Trang 16HÀNH TRÌNH NHANH NHẤT
1
2
3 4
1
2
3 4
5
1
3 4 4
Trang 17HÀNH TRÌNH NHANH NHẤT
1
2
3 4
1
2
3 4
5
1
3 2
3
Trang 18HÀNH TRÌNH NHANH NHẤT
1
2
3 4
1
2
3 4
5
1
3 2
1
Trang 19HÀNH TRÌNH NHANH NHẤT
Thuật giải heuristic cho kết quả
1+3+2+1+4=11, trong khi hành trình tối ưu là 2+1+3+3+1=10
Tối ưu Heuristic
1
2
3 4
1
2
3 4
5
4
1
3 2
1
Trang 202
3 4
5
90
1
3 2
1
Trang 21BÀI TOÁN PHÂN VIỆC
Một cty nhận được hợp đồng gia công n chi tiết C1, C2, …, Cn Cty có m máy gia công là M1, M2, …, Mm Mỗi chi tiết có thể được gia công trên bất cứ máy
nào Một khi đã gia công một chi tiết trên 1 máy,
công việc sẽ tiếp tục cho đến lúc hoàn thành Việc
gia công chi tiết Ci trên một máy bất kỳ cần dùng 1 thời gian là ti Tìm cách phân bổ công việc để thời
gian hoàn thành toàn bộ các chi tiết là nhanh nhất
Thuật toán tối ưu theo kiểu vét cạn có độ phức tạp O(m*n)
Trang 22BÀI TOÁN PHÂN VIỆC
Trang 23BÀI TOÁN PHÂN VIỆC
Thuật giải heuristic theo nguyên lý xếp thứ tự:
Sắp xếp các chi tiết theo thứ tự giảm dần về thời gian gia công
Lần lượt sắp xếp các chi tiết theo thứ tự đó vào máy còn dư nhiều thời gian nhất
Phương án L* này cũng chính là phương án tối ưu với tổng thời gian là 8, đúng bằng thời gian hoàn thành chi tiết C3
Trang 24BÀI TOÁN PHÂN VIỆC
Tuy nhiên, có những trường hợp thuật toán heuristic không đưa ra được phương án tối ưu, ví dụ:
t3=2
t2=3
Trang 25BÀI TOÁN PHÂN VIỆC
Nếu gọi T* là thời gian để gia công xong n
chi tiết theo thuật giải heuristic và T0 là thời gian tối ưu thì người ta c/m được rằng: T*/T0
Trang 26CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC
Nói chung, nhiều vấn đề phức tạp đều có dạng “tìm đường đi trong đồ thị”: xuất phát từ 1 đỉnh của đồ thị, tìm đường đi hiệu quả nhất đến 1 đỉnh nào đó
Phát biểu khác: Cho trước 2 trạng thái T0 và Tg hãy xây dựng chuỗi trạng thái T0, T1, …, Tn-1, Tn=Tg sao cho:
cost(Ti-1,Ti) thỏa mãn 1 điều kiện cho trước nào đó
(thường là nhỏ nhất)
Ti thuộc tập hợp S – không gian trạng thái – bao gồm tất cả các trạng thái có thể có của bài toán
Cost(Ti-1,Ti) là chi phí để biến đổi từ Ti-1 sang Ti.
Từ 1 trạng thái Ti có nhiều cách để biến đổi sang Ti+1
Trang 27CÁC PHƯƠNG PHÁP TÌM KIẾM HEURISTIC
biểu diễn dưới dạng đồ thị:
Mỗi trạng thái là 1 đỉnh của đồ thị.
Tập hợp S bao gồm tất cả các đỉnh của đồ thị.
Việc biến đổi từ trạng thái Ti-1 sang Ti là việc đi từ đỉnh đại diện cho Ti-1 sang đỉnh đại diện cho Ti theo cung nối giữa 2 đỉnh.
Trang 28TÌM KIẾM THEO CHIỀU SÂU
Depth-First Search:
Tại trạng thái (đỉnh) hiện hành, chọn 1 trạng thái tiếp theo (trong tập các trạng thái có thể biến đổi thành từ trạng thái hiện tại) làm trạng thái hiện hành kế tiếp cho đến khi đến trạng thái đích
Nếu không thể biến đổi thành trạng thái kế tiếp thì quay lui lại trạng thái trước trạng thái hiện
hành Nếu ở trạng thái trước này mà cũng không thể biến đổi được nữa thì quay lui lại trạng thái trước nữa và cứ thế Nếu đã quay lui đến trạng thái khởi đầu mà vẫn thất bại thì kết luận là bài toán không có lời giải
Trang 29TÌM KIẾM THEO CHIỀU SÂU
Khởi đầu
Đích
Khởi đầu
Trang 30TÌM KIẾM THEO CHIỀU SÂU
Khởi đầu
Đích
Khởi đầu
Trang 31TÌM KIẾM THEO CHIỀU SÂU
Khởi đầu
Đích
Khởi đầu
Trang 32TÌM KIẾM THEO CHIỀU SÂU
Khởi đầu
Đích
Khởi đầu
Trang 33TÌM KIẾM THEO CHIỀU SÂU
Khởi đầu
Đích
Khởi đầu
Quay lui
Trang 34TÌM KIẾM THEO CHIỀU SÂU
Khởi đầu
Đích
Khởi đầu
Quay lui
Trang 35TÌM KIẾM THEO CHIỀU SÂU
Khởi đầu
Đích
Khởi đầu
Quay lui
Trang 36TÌM KIẾM THEO CHIỀU SÂU
Khởi đầu
Đích
Khởi đầu
Quay lui
Trang 37TÌM KIẾM THEO CHIỀU SÂU
Khởi đầu
Đích
Khởi đầu
Đích Quay lui
Trang 38TÌM KIẾM THEO CHIỀU SÂU
Việc tìm kiếm phát triển theo chiều sâu Chỉ
mở rộng sâu xuống từ các trạng thái được
chọn (mầu xanh) mà không mở rộng các
Trang 39TÌM KIẾM THEO CHIỀU SÂU
Trang 40TÌM KIẾM THEO CHIỀU RỘNG
giải)
Trang 41TÌM KIẾM THEO CHIỀU RỘNG
Khởi đầu
Đích
Khởi đầu
Trang 42TÌM KIẾM THEO CHIỀU RỘNG
Khởi đầu
Đích
Khởi đầu
Trang 43TÌM KIẾM THEO CHIỀU RỘNG
Khởi đầu
Đích
Khởi đầu
Trang 44TÌM KIẾM THEO CHIỀU RỘNG
Khởi đầu
Đích
Khởi đầu
Trang 45TÌM KIẾM THEO CHIỀU RỘNG
một đỉnh loang ra tất cả các đỉnh xung quanh, không bỏ sót đỉnh nào.
Phụ thuộc vào độ sâu của lời giải: tốt cho trường hợp lời giải nằm gần gốc cây tìm kiếm, xấu cho trường hợp ngược lại.
Thuận lợi khi muốn tìm được nhiều lời giải.
Trang 46TÌM KIẾM THEO CHIỀU RỘNG
cho đến độ sâu của trạng thái đích.
Trang 47KẾT LUẬN
Cả 2 chiến lược tìm kiếm này đều là các phương
pháp tìm kiếm có hệ thống và chắc chắn tìm ra lời giải
Tuy nhiên, do bản chất là vét cạn nên không thích hợp cho những bài toán có không gian tìm kiếm lớn
Cả 2 đều có tính chất “mù quáng” vì không chú ý
đến những thông tin (tri thức) ở trạng thái hiện thời, thông tin về đích cần tới và mối quan hệ giữa chúng (các thông tin này vô cùng quan trọng và rất có ý nghĩa để thiết kế các thuật giải hiệu quả hơn)
Trang 48TÌM KIẾM LEO ĐỒI
Leo đồi đơn giản:
Thực chất là 1 trường hợp đặc biệt của tìm kiếm theo chiều sâu nhưng không thể quay lui
Việc lựa chọn trạng thái tiếp theo được quyết định dựa trên một hàm heuristic (đặt tên là h)
Hàm heuristic là 1 ước lượng về chi phí dẫn đến lời giải Đây không phải là chi phí tối ưu thực sự
Trang 49TÌM KIẾM LEO ĐỒI
Tư tưởng:
B1: Nếu trạng thái khởi đầu cũng là trạng thái đích thì thoát và báo đã tìm được lời giải Ngược lại, đặt trạng thái hiện hành (Ti) là trạng thái khởi đầu (T0)
B2: Lặp lại cho đến khi gặp trạng thái đích hoặc không tồn tại 1 trạng thái tiếp theo hợp lệ của trạng thái hiện hành:
B2.1 Đặt Tk là 1 trạng thái tiếp theo hợp lệ của trạng thái hiện hành Ti
Trang 50TÌM KIẾM LEO ĐỒI
Ti=T0; Stop = False;
While (Stop == False) {
If (Ti == Tg) {<Tìm được kết quả>; Stop = True;}
Else { Better = False;
While ((Better==False) && (Stop==False){
If (<Không tồn tại trạng thái kế tiếp hợp lệ của Ti>){
<Không tìm được kết quả>; Stop = True;}
Trang 51TÌM KIẾM LEO ĐỒI
Bài toán 4 khối lập phương:
Cho 4 khối lập phương giống nhau A, B, C, D trong đó các mặt M1, …, M6 được tô bằng 6 màu khác nhau Mỗi bước ta chỉ được xoay 1 khối lập phương quanh 1 trục x, y hoặc z 90 độ theo chiều bất kỳ (ngược hoặc thuận theo chiều kim đồng hồ).
Trang 52TÌM KIẾM LEO ĐỒI
Ban đầu 4 khối lập phương được xếp vào một
hàng bên trái Hãy xác định số bước quay ít nhất sao cho tất cả các mặt của các khối lập phương trên bốn mặt của hàng là có cùng màu như hàng bên phải.
Trang 53TÌM KIẾM LEO ĐỒI
If (Gphải+Gdưới==8)
G=True;
Else G = False;
Hàm heuristic h được định nghĩa như sau:
h=Gtrái + Gphải + Gtrên + Gdưới
Trang 54TÌM KIẾM LEO ĐỒI
để thuật giải leo đồi có thể hoạt động tốt.
dẫn đến lời giải hơn không?
Trang 55LEO ĐỒI DỐC ĐỨNG
các hướng đi có thể và chọn đi theo trạng
có thể (trong khi leo đồi chỉ chọn đi theo
trạng thái kế tiếp đầu tiên tốt hơn so với
trạng thái hiện hành).
Trang 56LEO ĐỒI DỐC ĐỨNG
Tư tưởng:
B1: Nếu trạng thái khởi đầu cũng là trạng thái đích thì
thoát và báo đã tìm được lời giải Ngược lại, đặt trạng
thái hiện hành (Ti) là trạng thái khởi đầu (T0)
B2: Lặp lại cho đến khi gặp trạng thái đích hoặc không tồn tại 1 trạng thái kế tiếp nào tốt hơn trạng thái hiện
Trang 57LEO ĐỒI DỐC ĐỨNG
Ti=T0; Stop = False;
While (Stop == False) {
If (Ti == Tg) {<Tìm được kết quả>; Stop = True;}
Else { Best = h(Ti); Tmax=Ti;
While (<tồn tại trạng thái kế tiếp hợp lệ của Ti>{
Tk = <1 trạng thái kế tiếp hợp lệ của Ti>;
Trang 58ĐÁNH GIÁ
So với leo đồi đơn giản (LĐĐG), leo đồi dốc đứng
(LĐDĐ) có ưu điểm là luôn luôn chọn hướng đi có
Do lúc nào cũng chọn hướng đi tốt nhất nên LĐDĐ thường
đi đến lời giản sau 1 số bước ít hơn so với LĐĐG
LĐDĐ sẽ tốn nhiều thời gian hơn cho 1 bước nhưng lại đi ít bước hơn.
Trang 59nhưng đây không phải là trạng thái đích.
Điều này xảy ra nếu chương trình đạt đến
1 điểm cực đại địa phương hoặc 1 đoạn
đơn điệu ngang
Trang 60ĐÁNH GIÁ
Điểm cực đại địa phương: là 1 trạng thái tốt hơn tất
cả các trạng thái lân cận của nó, nhưng không tốt hơn 1 số trạng thái ở xa và chúng được gọi là những ngọn đồi thấp
Đoạn đơn điệu ngang: là 1 vùng bằng phẳng, trong
đó toàn bộ các trạng thái lân cận đều có cùng giá trị
Trang 61ĐÁNH GIÁ
Để đối phó với các nhược điểm này, thường dùng 1 số phương pháp sau:
Kết hợp leo đồi và quay lui:
Quay lui lại trạng thái trước đó và thử đi theo hướng khác
Hợp lý nếu tại các trạng thái trước có 1 hướng đi tốt mà
Trang 63ĐÁNH GIÁ
Thực hiện 1 bước nhảy vọt theo hướng nào
đó để đi đến 1 vùng mới của không gian tìm kiếm:
Bước liên tục nhiều bước mà tạm thời “quên” đi việc kiểm tra “bước sau cao hơn bước trước” Có
vẻ hiệu quả khi gặp phải 1 đoạn đơn điệu ngang
Tuy nhiên, ta cũng có thể nhảy vọt qua lời giải
thực sự trong trường hợp đang đứng khá gần lời giải
Số bước nhảy là bao nhiêu và nhảy theo hướng nào là 1 vấn đề phụ thuộc rất nhiều vào đặc điểm không gian tìm kiếm của bài toán
Trang 65VAI TRÒ CỦA HÀM HEURISTIC
Cho 1 cột gồm các khối xếp chồng lên
nhau Hãy xác định số thao tác biến đổi ít nhất từ một khối ban đầu về khối đích.
Thao tác biến đổi:
Lấy 1 khối ở đỉnh 1 cột bất kỳ và đặt nó lên 1 chỗ trống tạo thành 1 cột mới Chỉ có thể tạo
ra tối đa 2 cột mới
Lấy 1 khối ở đỉnh 1 cột và đặt nó lên đỉnh 1 cột khác
Trang 66VAI TRÒ CỦA HÀM HEURISTIC
Khởi đầu Kết thúc
A B C D E F G H
B C D E F G H A
Trang 67VAI TRÒ CỦA HÀM HEURISTIC
Trang 68VAI TRÒ CỦA HÀM HEURISTIC
h(T1)=-6; h(Ta)=-8; h(Tb)=-6; h(Tc)=-6
Thuật giải leo đồi tạm dừng.
T1 Ta Tb Tc
B C D E F G H
C D E F G H A
B C D E F G
H
C D E F G
Trang 69VAI TRÒ CỦA HÀM HEURISTIC
Hàm heuristic: cộng 1 điểm cho mỗi khối phụ trợ đúng (khối phụ trợ là khối nằm bên dưới khối hiện tại), ngược lại trừ 1 điểm.
Trạng thái khởi đầu có giá trị là -28.
Trạng thái kết thúc sẽ có giá trị là 28.