• Hệ thống thông minh Intelligent Systems - IS: – cung cấp cách tiếp cận về mặt phương pháp luận chuẩn để giải quyết những vấn đề quan trọng , phức tạp và nhận được các kết quả nhất quá
Trang 1GIỚI THIỆU HỌC PHẦN CÁC HỆ THỐNG THÔNG MINH
Intelligent Systems
Trang 2MỤC ĐÍCH & YÊU CẦU
• MỤC ĐÍCH: Trang bị kiến thức cơ bản cho xây dựng một hệ thống thông minh nhân tạo
• YÊU CẦU: Người học phải có được các tri thức, kỹ năng sau:
– Hiểu một hệ thống thông minh nhân tạo là gì
– Hiểu các phương pháp tiếp cận để xây dựng một hệ thống thông minh
– Nắm vững phương pháp lập kế hoạch
Trang 3NỘI DUNG, PP HỌC & PP ĐÁNH GIÁ
• NỘI DUNG
1 Tổng quan về một hệ thống thông minh
2 Phương pháp tiếp cận xây dựng hệ thống thông minh
– Kiểm tra giũa kỳ: 30%, trắc nghiệm
– Thi cuối kỳ 70%, trắc nghiệm
Trang 4TÀI LIỆU THAM KHẢO
1 Intelligent Systems: Architecture, Design, Control by James S Albus and
Alexander M Meystel (Hardcover - Aug 7, 2001)
2 Planning in Intelligent Systems: Aspects, Motivations, and Methods
(Wiley Series on Intelligent Systems) by Wout van Wezel, R J Jorna, and Alexander M Meystel (Kindle Edition - Mar 17, 2006) - Kindle Book
3 Technologies for Constructing Intelligent Systems 2: Tools (Studies in
Fuzziness and Soft Computing) by Bernadette Bouchon-Meunier, Julio Gutierrez-Rios, Luis Magdalena, and Ronald R Yager (Kindle Edition - April 8, 2002) - Kindle Book
4 Elaine Rich, Kevin Knight; Artificial Intelligence (second edition);
International Edition; 1991
5 George F Luger; Artificial Intelligence: Structure and Strategies for
complex Problems Solving (Fourth Edition), Addison Wesley; 2002
6 Võ Huỳnh Trâm, Trần Ngân Bình; Giáo trình Trí tuệ nhân tạo; 2003
Trang 5TỔNG QUAN VỀ CÁC HỆ THỐNG THÔNG MINH
Overview of Intelligent Systems
Trang 6NỘI DUNG
• Hệ thống thông minh là gì ?
– Các đặc điểm của một hệ thống thông minh
– Các phành phần của một hệ thống thông minh
• Trí tuệ tính toán (Computational Intelligence - CI)
• Tính toán mềm (Soft Computing - SC)
• Các hệ thống lai (Hybrid Systems)
2
Trang 7HỆ THỐNG THÔNG MINH LÀ GÌ?
• Hệ thống thông minh (Intelligent Systems - IS):
– cung cấp cách tiếp cận về mặt phương pháp luận chuẩn để giải quyết những vấn đề quan trọng , phức tạp và nhận
được các kết quả nhất quán, đáng tin cậy qua thời gian
– Trí tuệ bao gồm khả năng lĩnh hội, khả năng hiểu, khả năng rút kinh nghiệm, khả năng thu lượm và duy trì tri thức, khả năng trí tuệ, khả năng đáp ứng nhanh và thành công với các tình huống mới…
– Từ phối cảnh tính toán, trí tuệ của hệ thống được đặc trưng bởi tính mềm dẻo, tính thích nghi, ghi nhớ, học, năng
động, lập luận, khả năng quản trị thông tin không chắc
chắn, thiếu chính xác
– Trí tuệ nhân tạo là một cơ sở cốt yếu để xây dựng các hệ
Trang 8HỆ THỐNG THÔNG MINH LÀ GÌ? (cont.)
• Trí tuệ nhân tạo gồm hai hướng chính: HAI
(Humanistic Artificial Intelligence) và RAI
(Rationalistic Artificial Intelligence)
– HAI: nghiên cứu để tạo ra các máy có thể thực hiện các
chức năng đòi hỏi trí tuệ, nghiên cứu làm thế nào để tạo ra máy tính làm được các việc mà hiên thời con người làm tốt hơn
– RAI: nghiên cứu tìm kiếm giải thích và tranh đua ứng xử thông minh theo thuật ngữ của các quá trình tính toán
• IS phải làm nhiều với RAI hơn với HAI
• Động cơ của IS là giải quyết các vấn đề phức tạp với hiệu quả tốt hơn
4
Trang 9HỆ THỐNG THÔNG MINH LÀ GÌ? (cont.)
• IS = hệ thống tranh đua với một vài khía cạnh trí tuệ được biểu lộ bởi bản chất, bao gồm học, thích nghi, mạnh mẽ vượt qua các lĩnh vực vấn đề, hiệu quả cải thiện (về thời gian | không gian) nén thông tin, lập
luận ngoại suy
Trang 10TRÍ TUỆ TÍNH TOÁN
• AI xây dựng một hệ thống thông minh bởi nghiên cứu
đầu tiên cấu trúc của vấn đề, sau đó áp dụng các thủ tục lập luận hình thức trong cấu trúc đó (phương pháp tiếp
cận biểu diễn ký hiệu và thao tác top-down – symbolic
representations and manipulations in top-down way)
• Tiếp cận không ký hiệu và bottom-up, trong đó cấu trúc
được phát hiện và là kết quả của một nguồn hỗn độn, Các phương pháp để hiểu và tiên đoán cách ứng xử của hệ
thống như vậy dựa trên các kỹ thuật phân tích là không thích hợp Môi trường tính toán được dùng trong cách
tiếp cập phân tích là quá tuyệt đối và không mềm dẻo vì phải đối mặt với tính không chắc chắn và lượng thứ tính không chính xác
6
Trang 11TRÍ TUỆ TÍNH TOÁN (cont.)
• Logic mờ (Fuzzy Logic – FG), Mạng nơ ron (Neural
Netwwork – NN) và tính toán tiến hoá (Evolutionary
Computation – EC) được tích hợp dưới cái tên trí tuệ tính toán (Computational Intelligence – CI)
• Một hệ thống được gọi là trí tuệ tính toán nếu nó
Trang 12TRÍ TUỆ TÍNH TOÁN (cont.)
• Tính thích nghi là một trong các đặc điểm mấu chốt của hệ thống thông minh
8
Trang 13• Tính toán mềm (Soft Computing): hướng tới phân
tích và thiết kế các hệ thống thông minh
– Dựa trên logic mờ, mạng nơ ron nhân tạo, lập luận xác suất (bao hàm các thuật toán di truyền, lý thuyết hỗn độn, máy học
Trang 14• Nguyên lý định hướng của tính toán mềm là: khai
thác sự lượng thứ đối với tính thiếu chính xác, tính
không chắc chắn và tính chân thật bộ phận để đạt
được tính kiểm soát được, tính cường tráng, giá giải quyết thấp và hoà hợp tốt với thực tế
10
Trang 16CÁC HỆ THỐNG LAI
• Các hệ thống lai tổ hợp hai hoắc hơn các công nghệ (logic
mờ, mạng nơ ron, các thuật toán di truyền…) để xây dựng các hệ thống thông minh
• Một số mô hình được dùng:
– Tổ hợp (Combination): kiến trúc lai kiểu mẫu của loại này là tổ hợp liên tiếp các mạng nơ ron và các hệ thống quy tắc/ dựa trên quy tắc mờ
– Tích hợp (Integration): sử dụng ba hoặc hơn các công nghệ
riêng biệt, đưa vào sự phân cấp các hệ thống con
– Hợp nhất (Fusion): kiến trúc ghép cặp lỏng và trộn thường dựa trên khả năng tối ưu hoá mạnh của các giải thuật di truyền và
mạng nơ ron
– Kết hợp (Association): Bao gồm các công nghệ khác nhau, trao đổi tri thức và sự kiện
12
Trang 1814
Trang 19BIỂU DIỄN VẤN ĐỀ TRONG KHÔNG GIAN TRẠNG THÁI
Modelling the Problem By State
Space
Trang 20NỘI DUNG
1 Định nghĩa không gian trạng thái
2 Tìm kiếm trong không gian trạng thái
Trang 21ĐỊNH NGHĨA KHÔNG GIAN TRẠNG THÁI
(KGTT)
• Một không gian trạng thái là một bộ bốn <N, A, S, GD>,
trong đó:
• N là một tập các trạng thái/ nút
• A là một tập các liên kết/ cung giữa các trạng thái/ nút
• S là một tập con không rỗng của N, bao gồm các trạng thái
ban đầu của bài toán
• GD là một tập con không rỗng của N, bao gồm các trạng thái đích của bài toán Tập GD được xác định bởi:
– Một liệt kê các trạng thái/ một tính chất có thể đo lường được của các trạng thái cần đạt tới trong quá trình tìm kiếm
– Một tính chất của đường đi (path)
• Một đường đi lời giải là một đường đi trong đồ thị KGTT,
Trang 22ĐỊNH NGHĨA KHÔNG GIAN TRẠNG THÁI
(KGTT) (cont.)
• Ví dụ: bài toán (n2 -1)-puzzle
một lưới nxn ô vuông, n 2 -1 ô chứa các số nguyên 1, 2, …, n 2 -1, ô còn lại trống Xuất phát từ một cấu hình đã cho, bằng một dãy các di chuyển các ô số sang ô trống để đạt tới một cấu hình cho trước
• 15-puzzle Trạng thái ban đầu Trạng thái đích
Trang 23ĐỊNH NGHĨA KHÔNG GIAN TRẠNG THÁI
(KGTT) (cont.)
• Tập các trạng thái: Lưới (mảng hai chiều) các ô, trong đó n2 – 1
ô chứa các số từ 1 đến n2 – 1 và một ô trống
• Tập các cung « biến đổi trạng thái » (các toán tử):
– L(eft): phép dịch chuyển ô trống sang trái
– U(p): phép dịch chuyển ô trống lên trên
– R(ight): phép dịch chuyển ô trống sang phải
– D(own): phép dịch chuyển ô trống xuống dưới
? Điều kiện để các phép biến đổi này có thể thực hiện được
(tiền điều kiện – precondition)
Trang 246
ĐỊNH NGHĨA KHÔNG GIAN TRẠNG THÁI
(KGTT) (cont.)
L(s):
(hoành độ ô trống > 1) (hoán vị ô trống với ô bên trái nó)
Gọi (x(s), y(s)) là toạ độ ô trống trong s, toán tử L(s) có thể viết như sau:
Tương tự với các toán tử còn lại
• Tập các trạng thái ban đầu: cấu hình xuất phát
• Tập các trạng thái đích: cấu hình đích
Trang 25ĐỊNH NGHĨA KHÔNG GIAN TRẠNG THÁI
(KGTT) (cont.)
Có khả năng xảy ra vòng lặp không?
Trang 268
ĐỊNH NGHĨA KHÔNG GIAN TRẠNG THÁI
(KGTT) (cont.)
Bài toán TSP (Traveling Saleman Problem)
Biểu diễn bài toán ?
Trang 27ĐỊNH NGHĨA KHÔNG GIAN TRẠNG THÁI
(KGTT) (cont.)
Mỗi cung được đánh dấu bằng tổng giá của con đường từ nút bắt đầu đến nút hiện tại
Trang 28ĐỊNH NGHĨA KHÔNG GIAN TRẠNG THÁI
– Một đường đi lời giải
– Một đường đi thoả điều kiện GD
10
Trang 29TÌM KIẾM TRONG KHÔNG GIAN TRẠNG
THÁI
• Các chiến lược tìm kiếm trong không gian trạng thái
– Tìm kiếm hướng dữ liệu (Data Driven Search)/ tìm kiếm tiến/ dây chuyền
tiến (Forward Chaining): Tìm kiếm xuất phát từ một trạng thái khởi đầu, tìm
các trạng thái có thể đạt tới từ nó bởi « một phép biến đổi », tiếp tục tìm kiếm như vậy đối với các trạng thái vừa tìm thấy … đến khi tìm thấy một trạng thái đích hoặc thất bại
– Tìm kiếm hướng mục tiêu (Goal Driven Search)/ tìm kiếm lùi/ dây chuyền
lùi (Backward Chaining): Tìm kiếm xuất phát từ đích, tìm các trạng thái có
thể đạt tới đích bởi « một phép biến đổi », tìm các trạng thái có thể đạt tới các trạng thái tìm thấy ở bước trước bằng « một phép biến đổi » … đến khi tìm thấy một trạng thái khởi đầu hoặc thất bại
– Tìm kiếm hai hướng: hướng dữ liệu, hướng mục tiêu, kiểm tra tập « đạt tới »
của tìm hướng DL, và tập « có thể đi đến đích » của tìm hướng mục tiêu có
« điểm chung » nếu có tìm được một lời giải
Trang 30– Tất cả hoặc một phần dữ liệu được cho từ đầu
– Có nhiều mục tiêu, nhưng chỉ có một số ít các phép toán có thể
áp dụng cho một trạng thái bài toán
– Rất khó đưa ra một mục tiêu hoặc giả thuyết ngay lúc đầu
Trang 31TÌM KIẾM TRONG KHÔNG GIAN TRẠNG
– Có thể đưa ra mục tiêu hoặc giả thuyết ngay lúc đầu
– Có nhiều phép toán có thể áp dụng trên 1 trạng thái của bài toán => sự bùng nổ số lượng các trạng thái
– Các dữ liệu của bài toán không được cho trước, nhưng hệ
Trang 32– Tìm kiếm rộng (Breath First Search)
– Tìm kiếm sâu (Depth First Search)
– Tìm kiếm sâu dần (Depth First Search With Iterative deepening)
Trang 33TÌM KIẾM TRONG KHÔNG GIAN TRẠNG
THÁI (cont.)
Function breath_first_search;
Var Open: Queue of Node; Closed: Set of Node;
Begin
Open := [Start]; Closed :=[ ];
while not Empty(Open) do begin
X := Front(Open); Dequeue(Open);
If <X là trạng thái đích> then return( success ) else begin
For mỗi toán tử trạng thái Op có thể áp dụng lên X do begin
If not member(Op(X), Open) and not member(Op(X), Closed) then Enqueue(O(X), Open);
Insert(X, Closed);
end;
end;
return( fail)
Trang 3416
TÌM KIẾM TRONG KHÔNG GIAN TRẠNG
THÁI (cont.)
Open = [A]; closed = []
Open = [B,C,D]; closed = [A]
Open = [C,D,E,F]; closed = [B,A]
Open = [D,E,F,G,H]; closed = [C,B,A]
Open = [E,F,G,H,I,J]; closed = [D,C,B,A]
Open = [F,G,H,I,J,K,L]; closed = [E,D,C,B,A]
Open = [G,H,I,J,K,L,M]; (vì L đã có trong open);
closed = [F,E,D,C,B,A]
…
Tìm kiếm rộng – Breath First Search
Trang 35TÌM KIẾM TRONG KHÔNG GIAN TRẠNG
THÁI (cont.)
Function depth_first_search;
Var Open: Stack of node; Closed: Set of node;
Begin
Open := [Start]; Closed := [ ];
while not Empty(Open) do begin
X := Top(Open); Pop(Open);
if <X là trạng thái đích> then return( success ) else begin
For mỗi toán tử O có thể áp dụng lên X do
If not member(O(X), Open) and not member(O(X), Closed) then Push(O(X), Open)
Insert(X, Closed);
end;
end;
return( fail );
Trang 3618
TÌM KIẾM TRONG KHÔNG GIAN TRẠNG
THÁI (cont.)
Open = [A]; closed = []
Open = [B,C,D]; closed = [A]
Open = [E,F,C,D];closed = [B,A]
Trang 37TÌM KIẾM TRONG KHÔNG GIAN TRẠNG
THÁI (cont.)
• Tìm kiếm sâu dần (depth first search with iterative deepening)
– Định độ sâu tìm kiếm: h
– Tìm kiếm sâu đến độ sâu h
– Nếu không tìm thấy trạng thái đích nào, tăng h: h = h+Δh
– Tiếp tục tìm kiếm đến độ sâu h mới
– …
Trang 38– Có thể không tìm thấy lời giải, dù bài toán có lời giải
– Nếu tìm thấy một lời giải, tìm kiếm sâu dừng
• Ưu nhược điểm của tìm kiếm rộng:
– Nếu bài toán có lời giải, tìm kiếm sâu luôn tìm thấy một, hơn nữa lời giải tìm thấy của tìm kiếm rộng là một lời giải tối ưu theo nghĩa: đường
đi lời giải là ngắn nhất
– Đòi hỏi nhiều bộ nhớ
Trang 39CÁC HỆ SẢN XUẤT
• Một hệ sản xuất gồm:
– Một tập hợp các quy tắc, mỗi một gồm vế trái, xác định tính có thể áp
dụng được của quy tắc và vế phải mô tả hoạt động được thực hiện khi quy tắc được áp dụng
– Một số tri thức/cơ sở dữ liệu chứa thông tin thích hợp cho nhiệm vụ
cụ thể Thông tin trong các CSDL này có thể được cấu trúc theo một cách thích hợp
– Một chiến lƣợc điều khiển, xác định thứ tự các quy tắc được so sánh
với CSDL và phương pháp giải quyết xung đột khi một vài quy tắc
cùng tương hợp
– Một bộ áp dụng quy tắc
Trang 4022
CÁC HỆ SẢN XUẤT (cont.)
Các chiến lƣợc điều khiển
• Có nhiều quy tắc có thể áp dụng vào trạng thái hiện hành (vế trái tương hợp với trạng thái hiện hành), chọn quy tắc nào để
Trang 41CÁC HỆ SẢN XUẤT (cont.)
Tìm kiếm heuristic
• Heuristic là một kỹ thuật cải thiện hiệu quả của một quá trình tìm kiếm, có thể phải hy sinh các đòi hỏi về tính đầy đủ
Heuristic định hướng tìm kiếm
• Heuristic tốt có thể hướng dẫn tìm thấy lời giải tốt trong một thời gian ngắn hơn
• Một heuristic thường hàm chứa tri thức lĩnh vực
• Tìm kiếm heuristic ít khi cho ra một lời giải tối ưu mà thường chỉ là một lời giải « tốt »
• Tri thức heuristic thường được kết hợp với thủ tục tìm kiếm dựa trên quy tắc thông qua:
– Các quy tắc
– Hàm heuristic, hàm đánh giá các trạng thái và xác định « sự hứa hẹn » của chúng
Trang 4224
CÁC HỆ SẢN XUẤT (cont.)
Tìm kiếm heuristic
• Hàm heuristic là một hàm trên tập các trạng thái, nó đo lường
« sự hứa hẹn » của mỗi trạng thái Giá trị của hàm heuristic
Trang 43tỏ « thiếu khôn ngoan »?
– Yêu cầu của bài toán là một lời giải tốt hay tốt nhất?
– Yêu cầu lời giải của bài toán là một trạng thái hay một đường dẫn?
– Để giải bài toán cần một lượng lớn tri thức hay tri thức chỉ giữ vai trò trong các ràng buộc tìm kiếm?
– Lời giải bài toán có thể tìm thấy bởi chương trình máy tính hay cần một
sự tương tác giữa máy tính và con người?
Trang 4426
CÁC ĐẶC TRƯNG BÀI TOÁN (cont.)
Bài toán có thể phân tích?
Trang 45CÁC ĐẶC TRƯNG BÀI TOÁN (cont.)
Các bước giải có thể bỏ qua / hủy bỏ?
Quá trình tìm kiếm lời giải cho một bài toán:
• Chứng minh định lý: bước giải « vô dụng » có thể bỏ qua
(không ảnh hưởng đến kết quả) - Ignorable
• Câu đố 8-puzzle: có thể quay lui và hủy bỏ một số bước giải
« vô dụng » - Recoverable
• Trong trò chơi cờ vua: mỗi bước giải không thể bỏ qua (ảnh hưởng đến kết quả), không thể hủy bỏ - Irrecoverable
Trang 4628
CÁC ĐẶC TRƯNG BÀI TOÁN (cont.)
Vũ trụ có thể tiên đoán?
• 8-puzzle: mỗi di chuyển, trạng thái kết quả hoàn toàn xác định
Có thể lập kế hoạch để xác định lời giải
• Trong nhiều bài toán, kết quả của một bước di chuyển là
không chắc chắn/ không xác định Do vậy, không thể lập kế hoạch để xác định lời giải
Trang 47CÁC ĐẶC TRƯNG BÀI TOÁN (cont.)
Một lời giải tốt là tuyệt đối hay tương đối?
• Bài toán yêu cầu tìm một lời giải
– Thời gian tìm kiếm lời giải « không quá cao »
– Có thể sử dụng heuristic
• Bài toán yêu cầu tìm lời giải tốt nhất
– Thời gian tìm kiếm lời giải « cao »
– Rất ít heuristic đảm bảo lời giải tìm thấy là lời giải tốt nhất → Tìm
kiếm « vét cạn »
Trang 4830
CÁC ĐẶC TRƯNG BÀI TOÁN (cont.)
Lời giải là một trạng thái hay một đường đi?
• Dịch tự động Anh-Việt: Một từ / phrase trong tiếng anh được dịch thành một từ / phrase trong tiếng việt: lời giải là một trạng thái
• Bài toán « đong dầu »: Lời giải là một đường đi