Báo cáo đề tài giữa kì trí tuệ nhân tạo đề tài online search

22 1 0
Báo cáo đề tài giữa kì trí tuệ nhân tạo  đề tài online search

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Do đó, tác tử phải sử dụng hành động của mình như các thử nghiệm để tìm hiểu về môi trường.Ví dụ cơ bản về online search là một robot được đặt trong một tòa nhà mới và phải khám phá tòa

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCMKHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỀ TÀI GIỮA KÌ TRÍ TUỆ NHÂN TẠO

Mã học phần: ARIN330585_22_2_02 ĐỀ TÀI: ONLINE SEARCH

Giảng viên hướng dẫn: ThS Lê Minh Tân

Danh sách sinh viên thực hiện:

1 Nông Quốc Hưng – 22110340 2 Trần Thị Thảo Ly – 22110375 3 Nguyễn Vương Việt – 22110457

TP Hồ Chí Minh, tháng 03 năm 2024

Trang 2

LỜI CẢM ƠN

Lời đầu tiên, nhóm chúng em xin phép bày tỏ lòng biết ơn đến giảng viên bộ môn và các bạn đã hỗ trợ chúng em trong quá trình hoàn thành đồ án và viết báo cáo của nhóm Chúng em xin gửi một lời cảm ơn đặc biệt thầy - ThS Lê Minh Tân, giảng viên bộ môn Trí tuệ nhân tạo của chúng em Cảm ơn thầy đã dành thời gian và tâm huyết của mình, tận tình hướng dẫn, chỉ bảo nhóm chúng em trong quá trình học tập tại lớp và quá trình hoàn thành nghiên cứu đề tài giữa kỳ của môn học.

Cảm ơn những người bạn đã giúp chúng mình giải đáp những vấn đề khó, đưa ra những ý kiến góp phần xây dựng, tạo động lực cho nhóm trong những lúc khó khăn Những hỗ trợ ấy của các bạn đã giúp chúng mình vượt qua những thách thức trong việc nghiên cứu và đã thành công hoàn thành nghiên cứu đề tài giữa kỳ.

Đồng thời, chúng em cũng muốn bày tỏ lòng biết ơn đến những người đã cung cấp tài liệu và nguồn thông tin quý giá, giúp cho việc nghiên cứu đồ án của chúng em trở nên chính xác và đầy đủ hơn Nhờ có những tài liệu và thông tin này mà nhóm chúng em đã có một góc nhìn tổng quan và sâu sắc hơn đối với đề tài nghiên cứu.

Cuối cùng, chúng em muốn bày tỏ lòng cảm kích đến gia đình, người thân của mình vì sự động viên và hỗ trợ vô giá trong quá trình học tập và nghiên cứu đề tài Nhờ có sự hỗ trợ về tinh thần đã giúp chúng em vượt qua được những bước ngoặt về tâm lý trong quá trình nghiên cứu đề tài.

Và một lần nữa, chúng em xin chân thành cảm ơn tất cả những người đã giúp đỡ chúng em hoàn thành việc nghiên cứu đề tài giữa kỳ của bộ môn Trí tuệ nhân tạo Sự hỗ trợ, động viên của mọi người sẽ luôn là động lực để chúng em tiếp tục nỗ lực phấn đấu và phát triển trong tương lai.

Trang 3

MỤC LỤC

4 Online Search Agent - Các thuật toán trong Online Search 4

CHƯƠNG 2: MÔ HÌNH HÓA CÀI ĐẶT THUẬT TOÁN ONLINE SEARCH

Trang 5

CHƯƠNG 1: GIỚI THIỆU VỀ THUẬT TOÁN ONLINE SEARCH24241 Khái niệm về thuật toán Online Search

Online search là việc tìm kiếm trong môi trường mà tác tử (agent) phải xử lý dữ liệu đầu vào ngay khi nó được nhận, thay vì chờ toàn bộ tập dữ liệu đầu vào trở nên khả dụng Trong môi trường không xác định, tác tử không biết các trạng thái tồn tại hoặc tác động của hành động của mình Do đó, tác tử phải sử dụng hành động của mình như các thử nghiệm để tìm hiểu về môi trường.

Ví dụ cơ bản về online search là một robot được đặt trong một tòa nhà mới và phải khám phá tòa nhà để xây dựng một bản đồ có thể sử dụng để di chuyển từ điểm A đến điểm B.

Khám phá không gian không phải là hình thức duy nhất của việc search Hãy xem xét một đứa trẻ mới sinh: nó có nhiều hành động có thể thực hiện nhưng không biết kết quả của chúng, và nó chỉ trải qua một số trạng thái có thể đạt được Việc khám phá từng bước của trẻ sơ sinh về cách thế giới hoạt động là một phần của quá trình online search.

2 Sự khác nhau giữa Online Search và Offline Search2.1 Thuật toán Offline Search là gì?

Offline search là các thuật toán chạy trên máy tính trước tiên, để tìm ra giải pháp và đưa cho tác tử chạy trong thực tế để tìm ra giải pháp Mỗi hành động của tác tử đều có thể biết được kết quả dựa trên transition model

Offline search gồm 5 thành phần : initial state, possible actions, transition model, goal test, cost.

Ví dụ : DFS, BFS, A*,……

Trang 6

2.2 Bảng so sánh : (online search sẽ hữu dụng trong trường hợp : penalty for, non deterministic environments, no environment model)

Thuật toán Cả offline và online search đều là các thuật toán tìm kiếm

Input Đưa vào 1 lần ngay khi chương

trình bắt đầu

Đưa vào liên tục, sau các hành động thì lại có các input tiếp theo

Thành phầnmột node

Initial state, possible actions, transition model, goal state, cost

Initial state, possible actions, goal state,

Chậm hơn, nhưng có thể giải các bài toán không có transition model

3 Bài toán về Online Search

Online Search giải quyết vấn đề bằng cách xen kẽ tính toán và hành động, chứ không chỉ bằng tính toán thuần túy Chúng ta bắt đầu với giả định môi trường xác định và hoàn toàn quan sát được, với quy định rằng tác tử chỉ biết các thông tin sau:

ACTION(s): trả về danh sách các hành động được phép trong trạng thái s.

cost(s,a,s’): Chi phí của việc thực hiện hành động a trong trạng thái s để đạt được trạng thái s’ Lưu ý rằng tác tử chỉ có thể sử dụng hàm này khi biết rằng s’ là kết quả của hành động.

IS-GOAL(s): Kiểm tra xem trạng thái s có phải là trạng thái mục tiêu hay không Đặt biệt, tác tử không thể xác định RESULT(s,a) ngoại trừ việc thực sự có mặt trong trạng thái s và thực hiện hành động a Ví dụ, trong bài toán mê cung (Hình 1) , tác tử không biết rằng việc đi lên từ (1,1) dẫn đến (1,2); hoặc sau khi đã làm điều đó, nó

Trang 7

không biết rằng việc đi xuống sẽ đưa nó trở lại (1,1) Mức độ không biết này có thể giảm đi trong một số ứng dụng - ví dụ, một robot khám phá có thể biết cách hoạt động của các hành động di chuyển và chỉ không biết vị trí của các chướng ngại vật.

Hình 1: Một mê cung đơn giản Các tác tử S bắt đầu tiếp cận G nhưng không biết gì về

môi trường.

Thông thường, mục tiêu của tác tử là đạt được trạng thái mục tiêu trong khi giảm thiểu chi phí Chi phí là tổng chi phí đường đi mà tác tử gánh chịu khi di chuyển Người ta thường so sánh chi phí này với chi phí đường đi mà tác tử sẽ gánh chịu nếu nó biết không gian tìm kiếm trước - tức là đường đi tối ưu trong môi trường đã biết Theo thuật ngữ của các thuật toán tìm kiếm, so sánh này được gọi là tỷ lệ cạnh tranh (competitive

ratio); chúng ta muốn nó càng nhỏ càng tốt.

Vấn đề online search có thể gặp khó khăn khi đối mặt với các trạng thái “Ngõ cụt”(Dead end): những trạng thái mà không thể truy cập được trạng thái mục tiêu Nếu tác tử không biết từng hành động làm gì, nó có thể thực hiện lệnh “jump into bottomless pit” và không bao giờ đạt mục tiêu Tóm lại, không có thuật toán nào có thể tránh được các trạng thái ngõ cụt trong tất cả không gian trạng thái

Trang 8

Ngõ cụt là vấn đề khó khăn trong việc khám phá của robot như: các bậc thang, đường dốc, vách đá, đường một chiều và cả địa hình tự nhiên đều tạo ra các trạng thái mà từ đó một số hành động không thể quay lại trạng thái trước đó Thuật toán khám phá mà chúng ta sẽ trình bày chỉ được đảm bảo hoạt động trong không gian trạng thái có thể khám phá an toàn (safely explorable), nghĩa là có một trạng thái mục tiêu có thể đạt được từ mọi trạng thái Không gian trạng thái chỉ có các hành động có thể đảo ngược như mê cung (mazes) và 8-puzzles, rõ ràng là có thể khám phá an toàn (nếu có bất kì giải pháp nào)

Ngay cả trong môi trường có thể khám phá an toàn, không thể đảm bảo tỷ lệ cạnh tranh có giới hạn nếu có các đường đi có chi phí không giới hạn Điều này dễ dàng thể hiện trong môi trường có các hành động không đảo ngược, nhưng thực tế vẫn đúng trong trường hợp đảo ngược (Hình 2) Vì lý do này, người ta thường đánh giá hiệu suất của các thuật toán Online Search dựa theo kích thước của toàn bộ không gian trạng thái thay vì chỉ độ sâu của mục tiêu gần nhất.

Hình 2 : Một môi trường hai chiều có thể khiến Online Search Agent đi theo một lộ trình

tùy ý không hiệu quả để đạt được mục tiêu Cho dù tác tử đưa ra lựa chọn nào, đối thủ sẽ

Trang 9

chặn con đường đó bằng một bức tường dài và mỏng khác, để con đường đi theo dài hơn nhiều so với con đường tốt nhất có thể.

4 Online Search Agent - Các thuật toán trong Online Search

Sau mỗi hành động, một online tác tử trong môi trường có thể quan sát nhận được một nhận thức cho biết nó đã đạt đến trạng thái nào; từ thông tin này, nó có thể bổ sung vào bản đồ của môi trường Bản đồ được cập nhật sau đó được sử dụng để lên kế hoạch

đi đâu tiếp theo Sự xen kẽ giữa lập kế hoạch và hành động chính là điểm khiến các thuật

toán Online Search khá khác biệt so với các thuật toán Offline Search mà chúng ta đã thấy trước đây: các thuật toán offline khám phá mô hình không gian trạng thái của chúng, trong khi các thuật toán online khám phá thế giới thực

Ví dụ, A* có thể mở rộng một node ở một phần của không gian và sau đó ngay lập tức mở rộng một node ở một phần xa của không gian, bởi vì việc mở rộng node liên quan đến các hành động mô phỏng chứ không phải hành động thực

Mặt khác, một thuật toán online chỉ có thể khám phá các node kế tiếp cho một trạng thái mà nó đang chiếm giữ về mặt vật lý Điều này có nghĩa là thuật toán chỉ có thể mở rộng các node trên bản đồ hoặc không gian trạng thái mà nó đang trực tiếp tương tác.

Để hiệu quả hơn trong việc mở rộng không gian tìm kiếm mà không cần di chuyển đến các trạng thái xa xôi, việc mở rộng các node theo thứ tự địa phương (local order) là lựa chọn tốt hơn Tìm kiếm theo chiều sâu (Depth-first search) là một thuật toán có chính xác tính chất này bởi vì nó mở rộng node con ngay sau node cha mà không cần quay lại (trừ khi thuật toán đang thực hiện bước lùi - backtracking)

Online Depth-First Exploration Agent thể hiện trong Hình 3 (cho các hành động

xác định nhưng không biết trước) lưu trữ bản đồ của nó trong một bảng, là result[s,a], ghi lại trạng thái kết quả từ việc thực hiện hành động a trong trạng thái s (Đối với các hành động không xác định, tác tử có thể ghi lại một tập hợp các trạng thái theo result[s,a].) Khi trạng thái hiện tại có các hành động chưa được khám phá, tác tử sẽ thử một trong những

Trang 10

hành động đó Vấn đề xuất hiện khi tác tử đã thử tất cả các hành động trong một trạng thái Trong Offline Depth-First Search, trạng thái bị loại bỏ khỏi hàng đợi (queue); trong Online Search, tác tử phải quay lại (backtrack) trong thế giới vật lý Trong Depth-First Search, điều này có nghĩa là quay trở lại trạng thái trước đó mà từ đó nó đã đến trạng thái hiện tại Để đạt được điều đó, đòi hỏi tác tử phải ghi nhớ lịch sử các hành động của mình để có thể điều hướng trở lại một các chính xác, bằng cách dùng bảng unbacktracked để theo dõi các trạng thái tiền nhiệm mà tác tử chưa quay trở lại Nếu tác tử không còn trạng thái nào để quay trở lại, điều này có nghĩa là việc tìm kiếm của nó hoàn tất Tóm lại, Online Depth-First Exploration Agent là một quá trình tương tác giữa hành động và tính toán, nơi tác tử liên tục thích ứng với môi trường mới và sử dụng nó để hướng dẫn giải quyết các quyết định tiếp theo của mình trong một môi trường không biết trước.

Hình 3: Một tác tử Online Search sử dụng tính năng khám phá theo chiều sâu

(Depth-First Exploration) Tác tử chỉ có thể khám phá một cách an toàn trong không gian trạng thái mà trong đó mọi hành động có thể được “hoàn tác” bằng một số hành động khác.

Trang 11

ONLINE-DFS-AGENT là một thuật toán tìm kiếm sử dụng chiến lược theo chiều

sâu để khám phá môi trường Khi áp dụng cho một mê cung như trong Hình 3, trong

trường hợp xấu nhất, tác tử đi qua mỗi liên kết trong không gian trạng thái đúng hai lần Điều này là tối ưu cho việc khám phá vì nó đảm bảo rằng mọi phần của không gian trạng thái đều được đi qua Tuy nhiên, khi mục tiêu là tìm kiếm một mục tiêu cụ thể, tỷ lệ cạnh tranh của tác tử có thể trở nên rất tệ nếu nó đi một quãng đường xa trong khi mục tiêu lại nằm ngay cạnh trạng thái ban đầu Một biến thể online của thuật toán tìm kiếm lặp sâu (iterative deepening) giải quyết vấn đề này; đối với môi trường là một cây đồng nhất (uniform tree), tỷ lệ cạnh tranh của một tác tử như vậy là một hằng số nhỏ.

Do phương pháp quay lui của nó, ONLINE-DFS-AGENT chỉ hoạt động trong không gian trạng thái nơi các hành động có thể đảo ngược Những thuật toán phức tạp hơn có thể hoạt động trong không gian trạng thái tổng quát, nhưng không có thuật toán nào có tỷ lệ cạnh tranh bị giới hạn trong trường hợp đó.

5 Online Local Search - Tìm kiếm trực tuyến cục bộ

Giống như Depth-First Search, Hill-climbing Search có đặc tính địa phương (locality) trong việc mở rộng node của nó Trên thực tế, vì nó chỉ giữ một trạng thái hiện tại trong bộ nhớ nên Hill-climbing Search đã là một thuật toán Online Search! Tuy nhiên, thuật toán cơ bản của Depth-First Search không phải là lựa chọn tốt cho việc khám phá vì

nó khiến tác tử mắc kẹt ở trạng thái local maxima - những điểm cao hơn các điểm lân cận

nhưng không nhất thiết là điểm cao nhất trong không gian tìm kiếm Khi đạt đến local maxima, thuật toán không còn hướng để cải thiện và có thể dừng lại hoàn toàn Hơn nữa, thuật toán Hill-climbing Search không hỗ trợ khởi động lại ngẫu nhiên (random restart) Do Hill-climbing Search là một Online Search và chỉ duy trì một trạng thái hiện tại, nó không thể nhảy hoặc dịch chuyển sang trạng thái bắt đầu mới.

Thay vì khởi động lại ngẫu nhiên, người ta có thể cân nhắc sử dụng bước đi ngẫu

nhiên (random walk) để khám phá môi trường Bước đi ngẫu nhiên là một quá trình lựa

chọn hành động một cách ngẫu nhiên từ trạng thái hiện tại để khám phá môi trường.

Trang 12

Trong một môi trường hữu hạn và có thể khám phá an toàn, bước đi ngẫu nhiên sẽ tìm thấy mục tiêu hoặc hoàn thành việc khám phá của mình Tuy nhiên, quá trình này có thể rất chậm, do trong một số trạng thái, có khả năng “lùi” cao hơn so với “tiến”, tạo ra

những “bẫy” cho bước đi ngẫu nhiên Hình 4 cho thấy một môi trường trong đó bước đi

ngẫu nhiên sẽ mất một lượng bước đi tăng theo cấp số nhân để tìm ra mục tiêu, bởi vì, đối với mỗi trạng thái ở hàng trên cùng ngoại trừ S, tiến trình lùi có khả năng xảy ra gấp đôi so với tiến trình tiến Mặc dù ví dụ này có thể tạo ra để minh họa, nhưng có nhiều không gian trạng thái thực tế có cấu trúc tương tự, gây ra những loại “bẫy” này cho bước đi ngẫu nhiên trong việc tìm kiếm ngẫu nhiên.

Hình 4: Một môi trường trong đó bước đi ngẫu nhiên sẽ thực hiện nhiều bước

theo cấp số nhân để tìm ra mục tiêu.

Tối ưu hóa bằng cách kết hợp hill climbing và bộ nhớ thay vì sự ngẫu nhiên, đã được chứng minh là phương pháp hiệu quả hơn Ý tưởng cơ bản là lưu trữ một “ước tính tốt nhất hiện tại” (current best estimate) H(s) về chi phí để đạt được mục tiêu từ mỗi trạng thái đã được thăm Ban đầu, ước tính này chỉ là một dự đoán dựa trên heuristics, và sau đó được cập nhật khi tác tử tích lũy kinh nghiệm trong không gian trạng thái.

Hãy xem ví dụ đơn giản trong không gian trạng thái một chiều như Hình 5 Trong

(a), tác tử dường như bị mắc kẹt trong một mức tối thiểu cục bộ cố định (flat local

Trang 13

minimum) tại trạng thái màu đỏ Thay vì ở lại nơi đó, tác tử nên theo đường dẫn có vẻ là tốt nhất để đạt được mục tiêu dựa trên ước tính chi phí (estimated cost) hiện tại của các trạng thái lân cận Ước tính chi phí để đạt được mục tiêu thông qua một trạng thái lân cận là tổng của chi phí để đến trạng thái này với ước tính chi phí để đạt được mục tiêu từ trạng thái lân cận đó (c(s,a,s’) + H(s’))) Trong ví dụ này, có hai hành động, với ước tính chi phí ở bên trái và bên phải, vì vậy tốt nhất nên di chuyển sang phải.

Hình 5: Năm lần lặp của LRTA* trên one-dimensional (không gian trạng thái một

chiều) Mỗi trạng thái được gắn nhãn H(s), ước tính chi phí hiện tại để đạt được mục tiêu và mỗi liên kết có chi phí hành động là 1 Trạng thái màu đỏ đánh dấu vị trí của tác tử và ước tính chi phí hiện tại cập nhật ở mỗi lần lặp có một vòng tròn kép.

Trong (b), rõ ràng ước tính chi phí là 2 cho trạng thái màu đỏ trong (a) là overly optimistic (tư duy quá lạc quan) Vì hành động tốt nhất có chi phí là 1 và dẫn đến trạng thái cách mục tiêu ít nhất 2 bước, trạng thái màu đỏ phải cách mục tiêu ít nhất 3 bước, do đó, trạng thái này phải được cập nhật tương ứng, như trong Hình 5(b) Tiếp tục quá trình

Ngày đăng: 16/04/2024, 23:34

Tài liệu cùng người dùng

Tài liệu liên quan