Sự uỷ thác cộng đồng

Một phần của tài liệu Lập trình Game Agent (Trang 34)

Mặc dù những sự thoả hiệp đóng một vai trò quan trọng trong việc điều phối nhưng nó được xây dựng không có tính cộng đồng, tính xã hội. Sự thoả hiệp mô tả một agent điều khiển sự uỷ thác của nó như thế nào, nhưng nó không đặc tả một agent tác động đến các thành viên khác trong cộng đồng như thế nào khi nó thay đổi hoặc chỉnh sửa sự uỷ thác của nó. Với những mục đích mà chúng không liên quan các hoạt động khác thì sự thoả hiệp được coi là đầy đủ. Tuy nhiên với những mục đích phụ thuộc lẫn nhau cần phải thông báo sự thay đổi của mình đến tất cả các quá trình có liên quan khác, nếu cộng đồng agent hoạt động theo phương thức liên kết. Một mặt việc cung cấp các thông tin cần thiết về sự thay đổi trong việc uỷ thác của agent đến các thành viên trong cộng đồng một cách sớm nhất nếu có thể là rất quan trọng, một mặt các agent không nên quảng bá thông tin về sự uỷ thác của chúng bất cứ khi nào chúng thay đổi vì điều này sẽ làm cho nguồn tài nguyên liên lạc sẽ bị quá tải và làm cho bên nhận dễ bị sao lãng một cách không cần thiết.

Sau đây là một ví dụ về việc thương lượng giữa hai điều kiện đó trong thoả hiệp cộng đồng:

THOẢ HIỆP CỘNG ĐỒNG: ĐỐI VỚI BĂNG THÔNG HẠN CHẾ

NGUYÊN NHÂN:

 SỰ UỶ THÁC CỤC BỘ BỊ NGỪNG

 SỰ UỶ THÁC CỤC BỘ HOÀN THÀNH

HÀNH ĐỘNG:

R1: NẾU UỶ THÁC CỤC BỘ HOÀN THÀNH

THÌ THÔNG BÁO CHO TẤT CẢ CÁC SỰ UỶ THÁC CÓ LIÊN QUAN

R2: NẾU UỶ THÁC CỤC BỘ BỊ NGỪNG VÌ KHÔNG ĐẠT ĐƯỢC HOẶC KHÔNG CÓ ĐỘNG CƠ THÚC ĐẨY

THÌ THÔNG BÁO CHO TẤT CẢ NHỮNG SỰ UỶ THÁC CÓ LIÊN QUAN MẠNH R3: NẾU UỶ THÁC CỤC BỘ BỊ NGỪNG HOẶC KHÔNG CÓ ĐỘNG CƠ THÚC ĐẨY VÀ TÀI NGUYÊN LIÊN LẠC KHÔNG BỊ QUÁ TẢI

THÌ THÔNG BÁO CHO TẤT CẢ NHỮNG SỰ UỶ THÁC LIÊN QUAN YẾU.

Ví dụ về sự thoả hiệp cộng đồng

Một cách lý tưởng, những thành viên tham gia cần phải nhận thức được sự thoả hiệp nào điều khiển các mối tương tác của chúng. Sự nhận thức này là rất cần thiết nếu các agent cực tiểu hoá những sự hợp tác không cần thiết, không chắc chắn và cực đại những lợi ích của việc liên kết hành động (joint action). Do đó, trở lại với ví dụ trên, nếu agent2 phải có nguồn tài nguyên d1

j để hoàn thành G2

p,2,2 thì nó sẽ yêu cầu sự hợp tác với agent1 để có được tài nguyên sẵn có. Tuy nhiên như vậy chưa đủ bởi vì agent2 còn muốn nguồn tài nguyên được sản xuất sử dụng một sự thoả hiệp cộng đồng thích hợp. Agent1 có chấp nhận đề xuất của agent2 hay không tuỳ thuộc vào ý muốn cá nhân của nó và mối quan hệ giữa hai agent. Nếu đề nghị của agent2 được agent1 chấp nhận hoặc nếu agent2 có thể buộc agent1 thì sự

thoả hiệp sẽ được chấp thuận. Nếu đề nghị không được chấp thuận hai agent sẽ cùng nhau thương lượng để quyết định đạt được sự chấp thuận. Cứ như vậy sự thoả hiệp cộng đồng cho mọi mục đích phụ thuộc lẫn nhau sẽ làm giảm tốc độ của các tiến trình khác, do đó khi thiết kế hệ thống phải đặt ra điều kiện khi hai agent tương tác với nhau chúng phải sử dụng một sự thoả hiệp đặc biệt.

Vậy đặt ra một câu hỏi sự thoả hiệp cộng đồng cho một sự uỷ thác liên kết khác với sự thoả hiệp cộng đồng cho một sự uỷ thác cá thể như thế nào? Câu trả lời cho câu hỏi này dựa trên yêu cầu hỗ trợ lẫn nhau của các hành động liên kết. Mẫu tối thiểu của việc hỗ trợ tương hỗ là một nhóm các agent hợp tác cung cấp cho các nhóm khác các thông tin chung như:

 Trạng thái của sự uỷ thác đối với những mục tiêu chung

 Trạng thái của sự uỷ thác đối với cả nhóm.

Nếu một agent có biết về một trong hai loại thông tin trên thay đổi thì nó sẽ thể hiện một phần qua ngữ nghĩa trực quan của sự uỷ thác liên kết đến tất cả các thành viên khác trong nhóm. Cũng như nhiều hành động liên kết khác dựa trên sự tham gia của tất cả các thành viên, chỉ cần một sự thay đổi của sự uỷ thác của một agent có thể làm ảnh hưởng nghiêm trọng đến hiệu năng của cả nhóm.

Một phần của tài liệu Lập trình Game Agent (Trang 34)

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

(118 trang)
w