Professional Documents
Culture Documents
-Hầu hết các loại agent đều có khả năng giải quyết 1 hay nhiều vấn đề nhất định.
Thế nhưng, như chúng ta đã biết
- Khả năng thông minh thấp, ánh xạ trực tiếp từ trạng thái đến hành động dựa
trên các quy tắc được xác định, lập trình trước mà không cân nhắc kết quả
khi hành động.
- Không thể hoạt động tốt trong môi trường (ex: môi trường xe tự hành) vì:
o Ánh xạ có thể vượt quá khả năng lưu trữ.
o Cần nhiều thời gian để học tập.
- Có sự xem xét các hành động trong tương lai và kết quả dự kiến.
- Để đạt được mục tiêu, nó sử dụng thuật toán tìm kiếm và lập kế hoạch.
- Một hạn chế của Goal-based agent là không phải lúc nào cũng chọn con
đường tối ưu hóa nhất để đạt được mục tiêu cuối cùng.
Reflex agent được biết đến như là agent đơn giản nhất ,bởi vì chúng trực
tiếp sắp xếp tình trạng (states) trong hành động (actions). Nhưng không
may , Chúng lại thất bại trong việc vận hành môi trường, Nơi mà bản đồ
(mapping) quá lớn để lưu trữ và học. Do đó , Goal-based agent đưa ra
những hành động (action) và kết quả như mong muốn.
Thế nên, Problem-solving agent ra đời, là 1 loại Goal-based agent phát triển.
Problem-solving agent giải quyết vấn đề 1 cách hoàn hảo chính xác bằng
cách xác định vấn đề và các giải pháp có thể có, qua đó chọn được giải pháp
tối ưu nhất.
Các bước giải quyết vấn đề được thực hiện bởi Problem-solving agent:
- Đây là bước đầu tiên và đơn giản nhất trong quá trình giải quyết vấn đề. Nó
tổ chức trình tự cần thiết để hình thành một mục tiêu trong số nhiều mục tiêu
cũng như các hành động để đạt được mục tiêu đó.
- Việc xây dựng mục tiêu dựa trên tình hình hiện tại và hiệu suất của agent.
- Đâ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.
o 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. Problem-solving agent chọn một hàm chi phí, hàm
này phản ánh hiệu suất của nó.
Một giải pháp tối ưu có chi phí đường dẫn thấp nhất trong số tất cả các giải
pháp.
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/
https://mhesham.wordpress.com/tag/problem-solving-agent/
1. Tìm kiếm nước đi tối ưu (mang lại lợi thế) chúng ta có thể tìm thấy ở nhiều game
chẳng hạn như chơi cờ vua, cờ tướng
2. Tìm kiếm phương án sắp xếp thoả mãn yêu cần đề ra (thoả mãn ràng buộc) bằng
việc lập thời khoá biểu về thời gian tự học trong tuần của chúng ta, và ràng buộc ở
đây có thể là các môn học trên trường, thời gian đi học thêm, thời gian ngủ nghỉ,..
3. Tìm đường đi tối ưu (chiều dài, thời gian, giá,..), chúng ta có thể dễ dàng thấy
thông qua việc sử dụng phần mềm google map.
Có rất nhiều loại vấn đề, nhưng tóm gọn lại có 4 loại chính:
Điều đó đồng nghĩa với việc, thuật toán đơn định là thuật toán có thể xác định được 1
hướng đi cụ thể.
Với vấn đề 1, chúng ta thường thấy nhất đó chính là việc lập thời khoá biểu, vì nó đã có
các ràng buộc như thời gian các môn trên trường cố định, … cộng với việc lập ra các thứ
muốn làm thêm ra thì khá đơn giản, nên không gian trạng thái của vấn đề khá nhỏ, dễ
dàng nắm được toàn bộ không gian trạng thái
Với vấn đề 2, ta có thể dễ dàng thấy ở việc tìm đường đi thông qua gg map, vì dù có
hướng đi cụ thể, thì những đường đi trên gg map lại không phải là toàn bộ không gian
trạng thái để đến được vị trí chúng ta muốn, có thể có nhiều hướng đi khác nữa.
Với vấn đề 3, chúng ta có thể dễ dàng thấy ở việc chơi cờ vua, có rất nhiều nước cờ có
thể đi nhưng chúng ta chỉ nắm được 1 phần các nước cờ phải đi đó thôi, và 1 phần đó là
vì các nước cờ đó hiện tại là có thể mang lại lợi thế cho chúng ta, và chỉ nắm được 1 phần
cũng là vì nếu đi nước cờ đó thì chúng ta chỉ có thể đoán được 2 3 nước cờ tiếp theo của
ván cờ chứ không thể nắm được hết toàn bộ.
Với vấn đề 4, dễ dàng thấy ở việc nếu như lần đầu đi 1 nơi nào đó như Sài Gòn và muốn
tìm 1 địa điểm như landmark 81 mà không dùng gg map hoặc bất cứ thông tin gì thì chắc
chắn sẽ có nhiều hướng đi khác nhau và chúng ta không thể xác định được là mình đã đi
đúng hướng hay chưa.
Thành phần liên thông của đồ thị G là các đồ thị con liên thông tối đại của G.
Đồ thị G được gọi là đồ thị liên thông nếu G chỉ có một thành phần liên thông.
Trong trí tuệ nhân tạo hay lý thuyết đồ thị, thuật toán tìm kiếm theo chiều rộng
(BFS) là một thuật toán phát triển các nút chưa xét theo chiều rộng và các nút được
xét theo thứ tự độ sâu tăng dần .BFS phù hợp với các bài toán tìm đường từ gốc
đến 1 điểm đích cho trước và thuật toán sẽ tốt nhất khi ở trong đồ thị không có
trọng số. khi đó, thuật toán sẽ luôn tìm được đường tới đích ngắn nhất có thể.
Đây là thuật toán tìm các đỉnh bằng cách duyệt theo chiều sâu.
– Xuất phát từ 1 đỉnh và đi mãi cho đến khi không thể đi tiếp, sau đó đi về lại đỉnh
đầu.
Trong quá trình quay lại:
+ nếu gặp đường đi khác thì đi cho đến khi không đi tiếp được nữa
+ nếu không tìm ra đường đi nào khác thì ngừng việc tìm kiếm.
– Trong quá trình đi đến đỉnh khác, thuật toán sẽ lưu lại đỉnh cha vừa đi qua để khi
đi ngược lại từ đỉnh Kết thúc đến đỉnh Xuất phát, ta có thể xem được đường đi từ
đỉnh Kết thúc đến đỉnh Bắt Đầu
– Sở dĩ thuật toán này tìm được đường đi là nhờ vào cơ chế tô màu và lưu đỉnh
cha. Quá trình tô màu khiến 1 đỉnh không thể xét 2 lần trở lên và có thể xem được
đường đi từ đỉnh Kết Thúc đến đỉnh Xuất phát dựa vào việc lưu đỉnh cha.
Thuật toán sử dụng một cấu trúc dữ liệu hàng đợi để lưu trữ thông tin trung gian
thu được trong quá trình tìm kiếm:
B1. Chèn đỉnh gốc vào hàng đợi (đang hướng tới)
B2. Lấy ra đỉnh đầu tiên trong hàng đợi và quan sát nó
Nếu đỉnh này chính là đỉnh đích, dừng quá trình tìm kiếm và trả về kết quả.
Nếu không phải thì chèn tất cả các đỉnh kề với đỉnh vừa thăm nhưng chưa được
quan sát trước đó vào hàng đợi.
B3. Nếu hàng đợi là rỗng, thì tất cả các đỉnh có thể đến được đều đã được quan sát
– dừng việc tìm kiếm và trả về "không thấy".
Ta nhập số đỉnh và đồ thị dưới dạng ma trận kề ta được kết quả là thứ tự duyệt như
sau:
Duyệt thử thuật toán bằng tay ta có bảng kết quả:
Nguồn:
https://bloglaptrinh2016.wordpress.com/2016/06/09/bfs-thuat-toan-tim-kiem-theo-
chieu-rong/
https://www.youtube.com/watch?v=IGrIwpAX9Qk&t=251s
https://expressmagazine.net/development/4008/ly-thuyet-thuat-toan-tim-kiem-
theo-chieu-rong-bfs-bang-cc-va-java
https://yinyangit.wordpress.com/2012/05/26/gamedev-ap-dung-ai-trong-game-ran-
san-moi-part1/
3.4.2 Thuật toán tìm kiếm theo chi phí thống nhất (Uniform-cost search).
Trong các ngành khoa học máy tính hay trí tuệ nhân tao, thuật toán tìm kiếm với
chi phí cực tiểu (UCS) là một cách duyệt cây dùng cho việc duyệt hay tìm kiếm
trên cây có trọng lượng chi phí. Thuật toán sẽ phát triển các nút chưa xét có chi phí
thấp nhất – các nút được xét theo thứ tự chi phí tăng dần.
Tìm các node gần node start có chi phi nhỏ nhất rồi mở rộng cho đến khi tìm được
đích node goal.
Thuật toán UCS dùng một hàng đợi có ưu tiên để lưu trữ và duyệt các trạng thái
trên đường đi. Bên cạnh đó dùng một danh sách lưu trữ lại các trạng thái đã xét.
THUẬT TOÁN:
Đưa trạng thái ban đầu START vào PQ, độ ưu tiên g(START) = 0
Lấy một trạng thái n (có g thấp nhất) ra khỏi PQ. Đưa n vào CLOSE.
Nếu n là trạng thái đích GOAL thì “đã tìm thấy”. Dừng thuật toán.
Nếu không, với mỗi trạng thái con n’ chưa xét (n’ không thuộc CLOSE) của n:
Tìm đường đi ngắn nhất với chi phí là khoảng cách giữa hai địa điểm
8 puzzle:
Source:
Nguồn code:
https://www.youtube.com/watch?v=QxZsIVBgMdA&t=1s
https://bloglaptrinh2016.wordpress.com/2016/06/09/ucs-thuat-toan-tim-kiem-voi-chi-phi-cuc-tieu/
thuật toán:
https://thuvienhuongdan.com/thuat-toan-tim-kiem-chi-phi-dong-nhat-uniform-cost-search-ucs-
894.html