- Các hành động xếp chông trong chứng minh có tính xây dựng này cho ta kế hoạch:
1. UNSTACK(A,B); 2. PUTDOWN(A)
- Nếu ta có cơ sở dữ liệu
ON(A,B,S0) Ù ONTABLE(B,S0) Ù CLEAR(A,S0)
Và mục tiêu là:
Ta có thể dùng chứng minh định lý để tìm kế hoạch
- Nhưng liệu ta có thể chứng minh:
2.8 Bài toán khung (trạng thái)
- Làm thế nào xác định những điều thay đổi và những điều không thay đổi khi một hành động thực hiện.
- Một giải pháp: “Các tiền đề khung” xác định các vị từ có thể không thay đổi sau một hành động.
- Ví dụ
ONTABLE(z, s) ®
ONTABLE(z,DO(UNSTACK(x,y),s))
[ON(m, n, s) Ù DIFF(m, x)] ®
ON(m,n,DO(UNSTACK(x,y),s))
2.9 Tiền đề khung
- Vấn đề: trừ khi ta dùng đến logic bậc cao, phương pháp Green buộc ta viết nhiều tiền đề khung
- Ví dụ
COLOR(x, c, s) ®
COLOR(x,c,DO(UNSTACK(y,z),s))
- Ta muôn tránh điều này…Cần các cách tiếp cận khác…
III. Lập trình hướng tác tử
3.1 Khái quát về lập trình tác tử
- Nhiều quan tâm về các tác tử trong cộng động AI đã hình thành từ khái niệm lập trình hướng tác tử (AOP) của Shoham.
- AOP là một mô hình lập trình mới, dựa vào quan điểm có tính xã hội về tính toán
- Ý tưởng chính hình thành AOP là việc lập trình trực tiếp các tác tử trên các khái niệm có chủ ý như niềm tin, cam kết, ý định.
- Động cơ đằng sau đề xuất là, vì con người chúng ta dùng thái độ có chủ ý như là một mô hình trừu tượng để biểu diễn các thuộc tính của các hệ thống phức tạp. Theo cùng một cách chúng ta dùng thái độ có chủ ý để mô tả con người, việc dùng thái độ có chủ ý để lập trình cho máy móc có thể có tác dụng.
3.2 AGENT0
- Shoham đã đề xuất một hệ thống AOP hoàn chỉnh gồm 3 thành phần
+ logic xác định các tác tử và mô tả trạng thái tinh thần của chúng
+ một ngôn ngữ lập trình được diễn giải để lập trình các tác tử
+ một tiến trình xây dựng tác tử, để chuyển các ứng dụng bình thường (trung tính) (ví dụ như cơ sở dữ liệu) thành các tác tử.
- Các kết quả chỉ được báo cáo với 2 thành phần đầu.
- Quan hệ giữa logic và ngôn ngữ lập trình là quan hệ ngữ nghĩa.
- Ta bỏ qua logic và xem xét ngôn ngữ AOP đầu tiên AGENT0.
- AGENT0 là mở rộng của LISP
- Mỗi tác tử trong AGENT0 có 4 thành phần:
+ Một tập khả năng (những điều tác tử có thể làm)
+ Một tập niềm tin ban đầu
+ Một tập cam kết ban đầu (những điều mà tác tử sẽ làm)
+ Một tập luật cam kết
- Thành phần chính, xác định tác tử hoạt động như thế nào là, là tập luật cam kết.
- Mỗi luật cam kết bao gồm
+ điều kiện thông điệp
+ điều kiện tinh thần
+ hành động
- Tại mỗi ‘vòng tác tử’
+ Điều kiện thông điều được khớp với các thông điệp mà tác tử nhận được
+ Điều kiện tinh thần khớp với các niềm tin của tác tử
+ nếu luật “cháy” (khớp) thì tác tử cam kết thực hiện hành động (hành động này được bổ sung vào tập cam kết của tác tử)
- Các hành động có thể là:
+ private: một tính toán được thực hiện bên trong
+ communicative: gửi thông điệp
- Các thông điệp là một trong ba loại:
+ “yêu cầu” theo đuổi hành động
+ “không yêu cầu” kiềm chế các hành động.
+ “cung cấp thông tin” truyền thông tin
- Một luật cam kết
Chia sẻ với bạn bè của bạn: |