2009-07-21 26 views
9

Xuất phát từ một nền tảng học thuật trong các hệ thống mutli-agent (được phát triển bằng Java sử dụng JADE) Tôi chỉ có nhận thức ngoại vi về mô hình đồng thời của Actor. Bây giờ tôi đã bắt đầu khám phá Scala Tôi không thể không bị ấn tượng bởi những điểm tương đồng giữa cách tiếp cận Đại lý và Diễn viên.Có hợp lý để xem các diễn viên tự trị cao là đại lý không?

Tôi rất muốn sử dụng thư viện diễn viên của Scala cho dự án nghiên cứu tiếp theo của tôi thay vì chỉ đơn giản gọi các thư viện JADE vì điều này sẽ buộc tôi phải hiểu thấu hơn về ngôn ngữ. Hơn nữa, tập trung vào việc xác định mọi thứ về hành vi của JADE không phải là rất phù hợp với vấn đề của tôi.

Có điều gì đó về cơ bản khác nhau giữa một diễn viên tự trị cao và một Đại lý mà tôi đang thiếu không?

Trả lời

10

Có, có sự khác biệt. Đối với các đại lý rất đơn giản, các diễn viên và các đại lý có thể giống nhau. Tuy nhiên, do "đại lý tự trị", hoặc ít nhất, tôi thường giả định một cái gì đó như, , ví dụ:, một mô hình Niềm tin-Mong muốn, nơi mô hình đại lý nội bộ trừu tượng hóa môi trường các tác nhân nó tương tác với nhau, để nó có thể lập kế hoạch về cách tương tác với môi trường đó để đạt được mục tiêu của nó.

Trong khi diễn viên có thể chắc chắn có tất cả điều này, một tác nhân đơn lẻ cũng có thể được tạo thành từ nhiều tác nhân, cùng nhau hợp tác để xử lý các phần khác nhau của khung BDI. Một diễn viên, cho tất cả các ý định, một đơn vị lập kế hoạch. Nếu các tác nhân của bạn về cơ bản là tuyến tính và đơn luồng, chúng phù hợp. Nếu chúng làm việc song song trong nội bộ, bạn muốn có nhiều tác nhân cho mỗi tác nhân.

Vì vậy, tác nhân và tác nhân có điểm gì chung?

  • Cả hai đều giao tiếp bằng cách truyền tin nhắn.

  • Cả hai đều (thường) có trạng thái nội bộ - ngay cả khi ẩn trong trạng thái thực thi.

  • Cả hai đều dự kiến ​​không chia sẻ trạng thái với các tác nhân/đại lý khác.

  • Cả hai đều được dự kiến ​​sẽ được lên lịch độc lập với các tác nhân/đại lý khác.

Tác nhân có gì nhiều hơn diễn viên?

  • Đại lý thường làm theo mô hình mà dictate hành vi của một đại lý - chẳng hạn như, ví dụ, BDI - và các diễn viên thường không. Tác nhân phản ứng, tuy nhiên, tương tự như các diễn viên trong lĩnh vực này.

  • Đại lý có thể có nhiều đơn vị lập lịch nội bộ. Tuy nhiên, các đại lý không tương tự như các diễn viên trong lĩnh vực này.

Các diễn viên có nhiều hơn các đại lý?

  • Không có gì mà tôi có thể nghĩ đến, mặc dù các diễn viên Scala có thể chia sẻ trạng thái.
+1

Tôi chắc chắn sẽ không đồng ý với việc đánh đồng BDI và các đại lý tự trị. BDI đơn giản là một kiến ​​trúc có thể cho một lớp tác nhân.Có kiến ​​trúc đại lý với các mô hình môi trường rõ ràng không phải là BDI, ví dụ: các chất phản xạ trong các môi trường có thể quan sát một phần Tôi tin rằng phần thứ hai của câu trả lời của bạn có giá trị. Một tác nhân không phải là một tác nhân theo cùng một cách mà một luồng không phải là một tác nhân. Tuy nhiên, hoặc có thể được sử dụng để thực hiện mục tiêu tạo ra một tác nhân tự trị. Trường hợp tại điểm, các đại lý của JADE ngồi trên các chủ đề Java. Cảm ơn bạn đã giúp đỡ của bạn mặc dù. – DuncanACoulter

+1

Ah Tôi thấy bạn đang cập nhật câu trả lời của mình khi tôi viết nhận xét của tôi ... Tôi nghĩ câu trả lời mới của bạn sẽ giải quyết được câu hỏi của tôi một cách độc đáo. – DuncanACoulter

+0

Xin lỗi, tôi không có ý định nào về việc tương đương các đại lý tự trị với BDI. Ý tôi là chỉ sử dụng BDI làm ví dụ. Tôi không hoàn toàn chắc chắn làm thế nào để rephrase câu trả lời của tôi, nhưng tôi đã cải thiện nó một chút. –

Các vấn đề liên quan