Agent gi ả i quy ế t bài toán

Một phần của tài liệu 9912071_9912704 (Trang 43)

L ị ch s ử l ậ p k ế ho ạ ch

1 GI Ả I TOÁN B Ằ NG PH ƯƠ NG PHÁP TÌM KI Ế M

1.1. Agent gi ả i quy ế t bài toán

Bước đầu tiên trong việc giải quyết vấn đề là sự thiết lập mục tiêu, dựa trên ngữ cảnh hiện hành. Cùng với việc thiết lập mục tiêu, agent phải chú ý đến những nhân tố khác ảnh hưởng đến khả năng thu được mục tiêu.

Mục tiêu là tập hợp các trạng thái môi trường, mà chỉ ở những trạng thái đó mục tiêu mới được thoả mãn. Các hành động là nguyên nhân chuyển đổi giữa các trạng thái môi trường. Như vậy, rõ ràng là agent phải tìm ra những hành động đưa nó đến trạng thái mục tiêu. Nhưng trước khi làm điều này, agent phải sắp xếp lại các hành động và

các trạng thái cần xem xét, nhưng không đi vào hành động chi tiết ở mức thấp.

Theo sau bước thiết lập mục tiêu là bước xây dựng bài toán, đây là quá trình quyết định các hành động và mục tiêu nào cần xem xét.

1.1.2. Ví dụ

Ví dụ, agent muốn đi từ thành phố Arad đất nước Romania đến Bucharet bằng xe hơi. Vậy mục đích là đến Bucharet. Nhưng từ Arad ta chỉ có thể đến 3 thành phố là Sibiu, Timisoara và Zerind. Không có đường nào đến mục tiêu, và giả sử agent không quen thuộc các con đường ở Romaria. Do đó, agent không biết hành động nào là tốt nhất, nó không đủ tri thức

để biết trạng thái kết quả của mỗi hành động. Nếu không có thêm tri thức, chọn một con đường bất kỳđểđi.

Nhưng giả sử rằng agent có một bản đồ Romania, trên giấy hay trong bộ nhớ của nó. Bản đồ giúp agent biết được tình trạng có thể lâm vào nếu thực hiện hành động. Với bản đồ này, agent có thể quan sát các chuỗi trạng thái con của cuộc hành trình hoạch định qua mỗi thành phố, và tìm xem hành trình nào đến Bucharet. Với những lựa chọn chưa biết giá trị,

để biết phải làm gì, agent thử nghiệm các chuỗi hành động khác nhau đưa

đến các trạng thái đã biết giá trị, và sau đó lựa chọn chuỗi hành động tốt nhất, đây gọi là quá trình tìm kiếm.

1.1.3. Chương trình agent giải quyết bài toán đơn giảnThuật toán tìm kiếm lấy bài toán làm đầu vào và trả về giải pháp theo Thuật toán tìm kiếm lấy bài toán làm đầu vào và trả về giải pháp theo dạng chuỗi hành động. Khi một giải pháp được tìm thấy, các hành động trong đó được thực thi. Đây được gọi là quá trình thực thi. Như vậy, ta có một thiết kế đơn giản cho agent gồm 3 quá trình: thiết lập, tìm kiếm và thực thi. Thuật toán sau thể hiện agent giải quyết bài toán đơn giản. Sau

khi thiết lập mục tiêu và bài toán cần giải quyết, agent gọi hàm search để

giải bài toán. Khi giải pháp được thực thi, agent sẽ tìm mục tiêu mới.

Hai hàm CẬP NHẬT TRẠNG THÁI và THIẾT LẬP MỤC TIÊU được mô tả sau. Việc thực thi giải pháp thì dễ dàng đối với agent giải quyết bài toán đơn giản: hàm CHỌN HÀNH ĐỘNG chỉ lấy hành động đầu tiên trong chuỗi hành động, hàm HÀNH ĐỘNG CÒN LẠI trả về các hành

động còn lại

1.2. Thiết lập bài toán

Trước khi đi vào chi tiết sự thiết lập bài toán ta cần quan tâm đến những tri thức về hành động và trạng thái của agent. Những tri thức này phụ

thuộc vào mối liên hệ giữa agent và môi trường qua sự nhận thức và hành

động của nó.

functionAGENT GIẢI QUYẾT BÀI TOÁN ĐƠN GIẢN (p) trả về

hành động

inputs:p, tri thức

static:s, chuỗi hànhđộng, khởi tạo là rỗng

trạng thái, mô tảtrạng thái môi trường hiện hành

g, mục tiêu, khởiđầu là null

bài toán, sựmô tảbài toán

trạng thái– CẬP NHẬT TRẠNG THÁI(trạng thái,p)

ifsrỗngthen

g – THIẾT LẬP MỤC TIÊU(trạng thái)

bài toán– THIẾT LẬP BÀI TOÁN(trạng thái,g)

s– TÌM KIẾM(bài toán)

hành động– CHỌN HÀNH ĐỘNG(s,trạng thái)

s– HÀNH ĐỘNG CÒN LẠI(s,trạng thái)

returnhành động

Có 4 loại bài toán cơ bản khác nhau: bài toán trạng thái đơn, bài toán đa trạng thái, bài toán ngẫu nhiên và bài toán khảo sát. Mô tả cụ thể các loại bài toán được nói đến trong phần sau.

1.2.1. Các kiểu bài toán

Xét ví dụ, agent cần làm sạch môi trường. Giả sử môi trường chỉ có 2 vị

trí, mỗi vị trí có hoặc không có rác và agent có thể ở một trong hai vị trị

trí. Có 8 trạng thái có thể xảy ra. Với bài toán này, agent có 3 hành động: Qua trái, Qua phải và Nhặt. Giải sử hành động Nhặt có hiệu quả 100%. Mục tiêu là làm sạch tất cả rác. Tươngứng với trạng thái {7,8} . Hình 3.1 thể hiện bài toán này.

Hình 3.1. Bài toán agent làm sạch môi trường.

1.2.1.1. Bài toán trạng thái đơn

Đối với bài toán này, agent ở trong môi trường xác định và có thể truy cập được. Agent biết rõ mình đang ởđâu và cần làm gì. Agent tính toán

được trạng thái kết quả sau khi thực hiện chuỗi hành động. Cụ thể: Agent có bộ cảm biến và biết mìnhđangở trạng thái 5 và biết rằng sau chuỗi hành động [Qua phải,Nhặt] nó sẽ thu được trạng thái mục tiêu.

1.2.1.2. Bài toán đa trạng thái

Agent ở trong môi trường xác định nhưng không thể tiếp cận được. Agent biết mình phải làm gì nhưng không biết mình đang ở đâu. Trong môi trường này agent phải suy luận về tập trạng thái mà nó có thể gặp phải. Trường hợp này, agent không có cơ quan cảm biến. Nó chỉ biết trạng thái ban đầu là tập hợp {1,2,3,4,5,6,7,8}. Tuy tình trạng này là khó khăn, nhưng agent vẫn làm việc tốt. Agent tính được là sau khi thực thi hành

độngQua phảinó sẽở một trong các trạng thái {2,4,6,8}. Thực tế, agent có thể nhận thấy rằng chuỗi hành động [Qua phải,Nhặt,Qua trái,Nhặt]

đảm bảo tìm thấy trạng thái mục tiêu. 1.2.1.3. Bài toán ngẫu nhiên

Agent ở trong môi trường không xác định và cũng không thể truy cập

được. Để giải quyết bài toán này, agent phải tính toàn bộ cây hành động, không chỉ chuỗi hành động đơn giản. Mỗi nhánh trong cây là một trường hợp ngẫu nhiên có thể phát sinh. Môi trường tự nhiên là một bài toán ngẫu nhiên vì sự dự đoán chính xác các trạng thái trong môi trường là không khả thi. Ví dụ cụ thể của bài toán này như sau:

Giả sử agent tuân theo luật của Murphy là: hành động Nhặtđôi khi sẽ đặt rác lên tấm thảm nếu như tại đó không có rác. Ví dụ, nếu agent ở

trạng thái 4, thì sau hành động Nhặt nó sẽ ở một trong các trạng thái {2,4}.

Trong cây hành động, nếu agent đang ở một trong các vị trí {1,3}. Agent có thể đưa ra chuỗi hành động như sau [Nhặt,Qua phải,Nhặt]. Hành động Nhặt sẽ đặt agent vào một trong hai trạng thái {5,7} và hành

động Qua phải sẽ đặt vào một trong hai trạng thái {6,8}. Nếu agent ở

trạng thái 6 thì chuỗi hành động sẽ thành công, nếu ở trạng thái 8 thì kế

[Nhặt], agent ở một trong hai trạng thái {5,7} thì đôi khi kế hoạch cũng thành công, nhưng không phải lúc này cũng vậy. Đối với bài toán này, không thểđưa ra chuỗi hành động cốđịnh đảm bảo giải pháp thành công.

1.2.1.4. Bài toán khảo sát

Agent không biết không gian trạng thái của bài toán, không biết thông tin kết quả của hành động. Giống như đi từ nơi này đến nơi khác mà không có bản đồ. Đây là bài toán khó nhất đối với agent thông minh. Agent phải thử nghiệm và từ từ khám phá xem hành động của nó làm gì và sắp xếp các trạng thái đang tồn tại. Agent học bản đồ môi trường và sử dụng nó

để giải quyết bài toán.

1.2.2. Định nghĩa bài toán và giải pháp

Bài toán là tập hợp các thông tin agent sẽ dùng để quyết định xem sẽ làm gì. Những thành phần cơ bản của bài toán gồm trạng thái và hành động:

• Trạng thái ban đầu của agent.

• Tập hợp các hành động sẵn có của agent. Thuật ngữ toán tử được dùng để biểu diễn sự mô tả hành động theo trạng thái tìm kiếm bằng cách thực thi các hành động trong trạng thái cụ thể. Ví dụ, cho hàm S và trạng thái cụ thể x, S(x) trả về tập các trạng thái có thể tìm thấy từ x bởi bất cứ hành động đơn giản nào.

• Sự kiểm tra mục tiêu dùng để xác định xem trạng thái nào đó có phải là trạng thái mục tiêu không. Hay khi có tập các trạng thái mục tiêu rõ ràng, sự kiểm tra chỉ đơn giản xem agent có tìm ra một trong các trạng thái đó hay không. Nhưng đôi khi, mục tiêu được xác định bởi các thuộc tính trừu tượng, không phải tập các trạng thái được liệt kê rõ ràng.

• Hàm chi phí đường đi là hàm gán chi phí cho một con đường. Với chi phí cho một con đường là tổng chi phí của các hành động riêng rẽ dọc theo con đường. Ký hiệu của hàm chi phí đường đi làg. Với:

o Không gian trạng thái của bài toán là tập hợp tất cả các trạng thái

Một phần của tài liệu 9912071_9912704 (Trang 43)

Tải bản đầy đủ (PDF)

(143 trang)