Nó giải quyết vấn đề bằng cách tìm ra chuỗi hành động dẫn đến trạng thái mong muốn mục tiêu.. Các bước giải quyết vấn đề được thực hiện bởi Problem-solving agent: Hình thành mục tiêu Goa
Trang 1TIỂU LUẬN TRÍ TUỆ NHÂN TẠO
GIẢI QUYẾT VẤN ĐỀ BẰNG PHƯƠNG PHÁP TÌM KIẾM
TÌM KIẾM KHÔNG CÓ THÔNG TIN
Trang 2I.Các agents có khả năng giải quyết vấn đề
Vấn đề tìm kiếm?
- Vấn đề tìm kiếm, một cách tổng quát, có thể hiểu là tìm một đối tượng thỏa mãn một
số đòi hỏi nào đó
-Chúng ta có thể kể ra rất nhiều vấn đề mà việc giải quyết nó được quy về vấn đề tìm kiếm
Tìm hiểu 4 loại agents ở chương 2:
● Simple reflex agents
● Model-based reflex agents
● Goal-based agents
● Utility-based agents
Kết luận, PROBLEM - SOLVING AGENT là
một loại goal - based agent Nó giải quyết vấn đề bằng cách tìm ra chuỗi hành động dẫn đến trạng thái mong muốn (mục tiêu)
Các bước giải quyết vấn đề được thực hiện bởi Problem-solving agent:
Hình thành mục tiêu (Goal Formulation):
● Đây là bước đầu tiên và đơn giản nhất trong quá trình giải quyết vấn đề
Trang 3Mục tiêu được xây dựng như một tập hợp các tất cả các trạng thái, trong đó mục tiêu được thỏa mãn
● Đạt từ trạng thái ban đầu đến trạng thái mục tiêu
Hình thành vấn đề (Problem Formulation):
● Đây là bước quan trọng nhất của quá trình giải quyết vấn đề, nó quyết định những hành động cần được thực hiện để đạt được mục tiêu đã xây dựng
● Có năm thành phần sau tham gia vào việc hình thành vấn đề:
o Trạng thái ban đầu (Initial state): Là trạng thái bắt đầu của agent hướng tới mục tiêu của nó
o Hành động (Action): Liệt kê các hành động có thể có của agent
o Mô hình chuyển tiếp (Transition Model): Mô tả mỗi hành động thực hiện
Trang 4o Kiểm tra mục tiêu (Goal test): Xác định xem trạng thái đã cho có phải là trạng thái mục tiêu hay không
o Chi phí đường dẫn (Path cost): Chỉ chi phí cho mỗi đường dẫn để đến được mục tiêu
Tìm kiếm (Search): Nó xác định tất cả các
chuỗi hành động tốt nhất có thể, chứng minh, tìm ra thuật toán tốt nhất, tối ưu nhất trong số các thuật toán khác nhau để đạt được mục tiêu
Thực thi (Execution): Nó thực thi giải pháp tối
ưu tốt nhất từ các thuật toán tìm kiếm để đạt được trạng thái mục tiêu từ trạng thái hiện tại
https://www.tutorialandexample.com/
problem-solving-in-artificial-intelligence/
II.Các loại vấn đề
Các vấn đề tìm kiếm bao gồm:
• Không gian trạng thái
• Trạng thái ban đầu và trạng thái kết thúc
• Giải pháp (solution) là một chuỗi hành động chuyển từ trạng thái ban đầu đến trạng thái kết thúc
Trang 5Có rất nhiều loại vấn đề, nhưng tóm gọn lại
có 4 loại chính:
1 Đơn định/ nắm toàn bộ không gian trạng thái
2 Đơn định/nắm được bộ phận trong
không gian trạng thái
3 Không đơn định/nắm được 1 bộ phận của không gian trạng thái
4 Không đơn định/không nắm được bộ phận của không gian trạng thái
III Thuật toán BFS
Best First Search là tìm kiếm theo bề rộng
(Breadth First Search) được hướng dẫn bởi hàm đánh giá Tư tưởng của thuật toán này là việc tìm kiếm bắt đầu tại nút gốc và tiếp tục
bằng cách duyệt các nút tiếp theo có giá trị của hàm đánh giá là thấp nhất so với các nút còn lại nằm trong hàng đợi
procedure Best_First_Search;
begin
Khởi tạo danh sách L chỉ chứa trạng thái ban đầu;
loop do
Trang 6if L rỗng then
{thông báo thất bại; stop};
Loại trạng thái u ở đầu danh sách L;
if u là trạng thái kết thúc then
{thông báo thành công; stop};
for mỗi trạng thái v kề u do
Xen v vào danh sách L sao cho L được sắp theo thứ tự tăng dần
của hàm đánh giá;
end;
Ưu điểm
– Kỹ thuật tìm kiếm rộng là kỹ thuật vét cạn
không gian trạng thái bài toán vì vậy sẽ tìm
được lời giải nếu có
– Đường đi tìm được đi qua ít đỉnh nhất
Nhược điểm
– Tìm kiếm lời giải theo thuật toán đã định
trước, do vậy tìm kiếm một cách máy móc; khi không có thông tin hổ trợ cho quá trình tìm
kiếm, không nhận ra ngay lời giải
– Không phù hợp với không gian bài oán kích thước lớn Đối với loại bài toán này, phương pháp tìm rộng đối mặt với các nhu cầu:
+ Cần nhiều bộ nhớ theo số nút cần lưu trữ
Trang 7+ Cần nhiều công sức xử lý các nút, nhất là khi các nhánh cây dài, số nút tăng
+ Dễ thực hiện các thao tác không thích hợp, thừa, đưa đến việc tăng đáng kể số nút phải xử lý
– Không hiệu qủa nếu lời giải ở sâu Phương pháp này không phù hợp cho trường hợp có nhiều đường dẫn đến kết quả nhưng đều sâu – Giao tiếp với người dùng không thân thiện
Do duyệt qua tất cả các nút, việc tìm kiếm
không tập trung vào một chủ đề
IV.Thuật toán UCS
Thuật toán UCS tìm đường đi từ root tới đích với chi phí ít nhất Node p: ban đầu là root biên:
là queue ban đầu chỉ chứa một node duy nhất
là p đã xét: là queue chứa các node đã xét, ban đầu là rỗng nếu biên rỗng: báo lỗi (*) lấy p ra khỏi biên nếu p là đích: kết thúc chương trình thêm p vào tập đã xét
Khái niệm hàng đợi ưu tiên:
● Hàng đợi ưu tiên cũng có những tính chất giống như hàng đợi đó là chèn phần tử
Trang 8vào phía cuối và lấy ra từ phía đầu Nhưng
có điểm khác đó là thứ tự các phần tử trong hàng đợi ưu tiên phụ thuộc vào độ ưu tiên của phần tử đó Còn hàng đợi bình thường thì tuân theo tính chất FIFO (First in first
out)
● Phần tử với độ ưu tiên cao nhất sẽ
được xếp lên đầu hàng đợi và phần tử với
độ ưu tiên thấp nhất sẽ được chuyển xuống cuối
● Có sẵn trong thư viên của C++ và một
số ngôn ngữ
Ưu điểm
Thuật toán là tối ưu vì ở mọi trạng thái, con
đường có chi phí thấp nhất được chọn
Nhược điểm
Nó không quan tâm đến số bước liên quan đến tìm kiếm và chỉ quan tâm đến chi phí đường dẫn Do đó thuật toán này có thể bị mắc kẹt
trong một vòng lặp vô hạn
Trang 9Phân biệt thuật toán UCS và Dijkstra
So sánh BFS và UCS
Tiêu
chí
đánh
giá
Chiến
lược
Tìm kiếm kinh nghiệm, sử dụng hàm đánh giá
Tìm kiếm mù, không sử dụng hàm đánh giá
Chi Tính từ node bắt đầu Tính từ node trước đến
Trang 10phí đến node hiện tại node hiện tại
Độ
phức
tạp
theo
thời
gian
Độ
phức
tạp
theo
không
gian
Danh
sách
các
node
chờ
duyệt
Hàng đợi ưu tiên Hàng đợi ưu tiên
Khả
năng
tìm
nghiệ
Luôn tìm thấy Quá trình tìm kiếm có
thể đi xa khỏi lời giải
Kỹ thuật này chỉ xét một phần của không gian và
Trang 11m coi đó là phần hứa hẹn
hơn cả
Có thể bị kẹt trong vòng lặp
Tối ưu Có nếu cost > 0 Không
Ghi
chú
Khi đồ thi có chi phí
ở mỗi bước là như nhau thì thuật toán trở thành phương pháp tìm kiếm theo chiều rộng
Một hàm đánh giá tốt
có thể giảm thời gian và không gian nhớ một cách đáng kể