Hình 15: Quỏ trình sinh kế hoạch tập trung cho nhóm agent theo

Một phần của tài liệu đồ án công nghệ thông tin Xây dựng mô hình hệ thống đa agent BKAS và xây dựng hệ thống hỗ trợ chuẩn đoán bệnh dưa trên mô hình BKAS. (Trang 54)

thực thi một kế hoạch đã được sửa đổi, kết hợp từ nhiều kế hoạch đơn lẻ. Vấn đề phức tạp nhất là việc tạo ra kế hoạch chung cho cả nhúm, cũn việc thực thi kế hoạch chung ấy (trong trường hợp mọi xung đột, mõu thuận được loại bỏ) là đơn giản.

 Kế hoạch phõn tán.

Theo ý tưởng này, mọi agent trong một nhúm đều biết các mô hình kế hoạch của các agent cũn lại. Thông qua việc giao tiếp, các agent xõy dựng, cập nhật kế hoạch của bản thõn và mô hình kế hoạch của các agent khác, cho đến khi mọi xung đột và mõu thuẫn bị loại bỏ. Các agent trong nhúm thực hiện kế hoạch cục bộ của chúng cùng với các agent khác, trên cơ sở sự thay đổi liên tục trong từng phần kế hoạch tổng thể (được xõy dựng bởi sự trao đổi các kế hoạch của từng agent). Cho nên, các agent trong nhúm luôn phải theo dừi các thay đổi trong việc phối hợp của nhúm.

Agent lập kế hoạch tập trung

Nhận các kế hoạch đơn.

Xác định các mâu thuẫn, xung đột. Sửa đổi cho phù hợp

Ghép vào kế hoạch của nhóm agent 1 kế hoạch đơn agent 2 agent 3 agent 4 agent 5

Hình 16: Cơ chế thực hiện theo kế hoạch phân tán

Theo mô hình trên, các công việc (1), (2), (3) được thực hiện liên tuc trong quá trình thực thi kế hoạch, và mang tớnh lặp.

Về lý thuyết, kỹ thuật này tương đối phức tạp so với kỹ thuật lập kế hoạch tập trung. Kỹ thuật này đòi hỏi các agent trong nhúm phải đươc cài đặt những phương thức giao tiếp với nhau một cách linh hoạt. Song trong quá trình thực thi, kỹ thuật này có thể khác phục được những thay đổi bất ngờ của môi trường cũng như từ yêu cầu người sử dụng.

1.16.4 Thương lượng

Phần đóng vai trò quan trọng nhất của việc thực hiện phối hợp giữa các agent là quá trình thương lượng, hõu hết các mức độ phối hợp đều bao gômg một số bước thương lượng. Trên thực tế, vấn đề thương lượng là mấu chột cho quá trình phối hợp, sử dụng phổ biến trong lĩnh vực trí tuệ nhõn tạo phõn tán. Chúng ta có thể hiểu thương lượng theo nghĩa đơn gian như sau:

Là việc thực hiện giao tiếp của một nhúm agent nhằm mục đích đạt được một sự thống nhất chung về một số vấn đề cùng quan tõm - Bussman &

Muller [14]. Agent

Các agent còn lại của nhóm Kế hoạch

riêng

Kế hoạch của ag khác

nhận biết các thay đổi (1)

sửa đổi và cập nhật (2)

Để cho việc thương lượng đạt được hiệu quả, các agent tham gia cần phải có sự suy luận về độ tin cậy, nhu cầu và mục đích của các agent khác, và quy trình phát triển kỹ thuật này tuân theo các bước sau:

 Mô tả và duy trì mô hình đánh giá độ tin cậy.

 Đánh giá độ tin cậy của các agent khác.

 Tác động ngược lại đối với mục đích và độ tin cậy của agent khác. Vấn đề thương lượng được áp dụng cho nhiều bài toán thực tế, ví dụ, bài toán lập lịch, các trò chơi, và đặc biệt là ứng dụng mua bán. Xét quá trình thương lượng trong bài toán mua bán, giả sử người bán đưa giá là P1, nếu người mua có dự kiến giá lớn hơn hoặc bằng giá P1 thì không cần thiết phải thương lướng, Việc thương lượng chỉ cần thiết khi giá của người mua thấp hơn giá đưa ra của người bán. Khi đó người mua có xu hướng giảm giá mà người bán đưa gia, người bán căn cứ vào giá thấp nhất có thể bán P0 (có lói ít nhất) và giá mà người mua đưa ra để quyết định có bán hay không. Nếu giá mà người mua thấp hơn P0, người bán sẽ thương lượng để thuyết phục người mua tăng giá lên.

1.17 Kết luận

Trên đõy chúng ta đã tỡm hiểu về việc phối hợp hành động giữa các agent trong cộng đồng agent, tầm quan trọng của nó đối với việc hoàn thành các yêu cầu của người sử dụng. Phối hợp thành công là mục tiêu thiết kế cho hầu hết những người phát triển hệ thống đa agent. Nếu cơ chế phối hợp không được tốt, chúng ta sẽ không thể đạt được một số điểm mạnh của mô hình đa agent, như tớnh toán song song, chia sẻ tri thức, khả năng phõn tán và nhiều khả năng khác.

Chúng ta có thể nhận thấy rằng, một kỹ thuật phối hợp giữa các agent bao giờ cũng có 4 phần chớnh. Thứ nhất, phải có cấu trúc mà các agent có thể tương tác theo cách có thể dự đoán trước. Thứ hai, cần có tớnh mềm dẻo để agent có khả năng hoạt động trong môi trường động và có thể đối phó với

những phần không rừ ràng, mơ hồ của cộng đồng agent .Thư ba, phải có cấu trúc xã hội, mô tả cách agent sẽ đố xử với các agent khác khi đang thực hiện phối hợp. Cuối cùng, agent có đủ tri thức và khả năng suy luận dể khai thác cả cấu trúc sẵn có (của cá thể agent cũng như cộng đồng) và khả năng mềm dẻo.

GIAO TIẾP GIỮA CÁC AGENT TRONG HỆ BKAS

Giao tiếp cho phép các agent trong một hệ đa agent trao đổi thông tin với nhau, trên cơ sở đú chỳng điều phối các hoạt động của chúng và hợp tác với các agent khác. Điều này làm nảy sinh một câu hỏi quan trọng là: các giao thức nào và các kỹ thuật truyền thông nào là có ích để tăng cường sự cộng tác giữa các agent tham gia trong quá trình truyền thông đó. Trong một hệ đa agent, có nhiều cách được đề xuất cho các agent để trao đổi thông tin với agent khỏc. Cỏc agent có thể trực tiếp trao đổi các thông điệp, hoặc chúng có thể tự tổ chức thành một hệ liên đoàn và giao tiếp với nhau thông qua các agent trung gian đặc biệt (facilitator agent), hoặc chúng có thể phổ biến rộng rãi (broadcast) các thông báo. Cách tiếp cận phổ biến khác được sử dụng cho phép các agent truyền thông qua lại với nhau là thông qua một kho dữ liệu dùng chung - được gọi là blackboard - tại đó thông tin có thể được gửi đi và nhận về.

1.18 Vấn đề giao tiếp trong hệ đa agent

Trong hệ thống đa agent, mỗi agent cần có khả năng tương tác và giao tiếp với các agent khác và với môi trường xung quanh để hợp tác và chia sẻ tri thức. Để làm được điều này, ngoài cơ chế truyền thông, giữa các agent cần phải có một ngôn ngữ biểu đạt chung hoặc cú cỏc ngôn ngữ có thể chuyển đổi qua lại và sử dụng chung nền tảng tri thức để có thể hiểu được các thông điệp trao đổi với nhau. Hiện nay chưa có một ngôn ngữ nào được thừa nhận cho mọi agent, mọi nơi, mọi lúc để thể hiện các câu hỏi và thông tin. Tuy nhiên, một ngôn ngữ giao tiếp giữa các agent cần có một số đặc trưng cơ bản, đảm bảo tính tự chủ và không phụ thuộc vào cấu trúc trong của agent: (adsbygoogle = window.adsbygoogle || []).push({});

Về hình thức: một ngôn ngữ giao tiếp tốt cho các agent phải có tính tường thuật, đơn giản về mặt cú pháp, và con người có thể hiểu được. • Về nội dung: ngôn ngữ giao tiếp nên được phân tầng theo một cách

nào đó mà thích hợp cả với các hệ thống khác. Nghĩa là ngôn ngữ giao tiếp giữa các agent nờn cú những nét đặc trưng (riêng biệt) - để mô tả hoạt động giao tiếp, ngôn ngữ biểu đạt nội dung - để mô tả thông tin về lĩnh vực muốn giao tiếp.

Về ngữ nghĩa: ngữ nghĩa của ngôn ngữ giao tiếp cũng cần bộc lộ được những thuộc tính về mặt ngữ nghĩa của một ngôn ngữ bất kỳ nào khác.

Về thực hiện: việc thực hiện cũng nên có hiệu quả, cả về mặt tốc độ, cả về mặt sử dụng băng thông đường truyền.

Networking: ngôn ngữ truyền thông giữa các agent cũng cần phù hợp với kỹ thuật mạng hiện đại.

Về môi trường: môi trường có tính phân bố cao, không đồng nhất, và thực sự là một môi trường động.

Tính tin cậy: ngôn ngữ giao tiếp phải hỗ trợ cho các cuộc truyền thông được an toàn và tin cậy.

Ngôn ngữ thực hiện, kiến trúc phần mềm agent, và các ứng dụng cũng sẽ ảnh hưởng tới việc thiết kế ngôn ngữ giao tiếp giữa các agent. Khi các ứng dụng agent ngày càng trở nên phức tạp, nhu cầu diễn đạt và gìn giữ thêm những tri thức về môi trường, lịch sử, và các mục đích của agent cũng sẽ phát sinh, bởi vì một agent có thể phản ứng lại một cách tự chủ đối với các sự kiện xảy ra trong môi trường, agent cần một môi trường kiểu mẫu và một tập các luật quản lý các hành động của nó. Vì vậy, một ngôn ngữ truyền thông giữa các agent phải là một ngôn ngữ biểu diễn tri thức, cho phép trao đổi tri thức giữa các agent.

1.19 Các phương pháp giao tiếp

Cơ chế truyền thông giỳp cỏc agent trao đổi thông tin với nhau, trên cơ sở đó agent điều phối hoạt động của mình và hợp tác với các agent khác. Điều này làm nảy sinh một câu hỏi quan trọng: các giao thức nào và các kỹ thuật truyền thông nào là có ích để tăng cường sự cộng tác giữa các agent tham gia trong quá trình truyền thông đó? Trong một hệ đa agent, đã có nhiều phương pháp được đề xuất để agent trao đổi thông tin với các agent khỏc. Cỏc agent có thể trực tiếp trao đổi các thông điệp (truyền thông trực tiếp), hoặc chúng có thể tự tổ chức thành một hệ liên đoàn và giao tiếp với nhau thông qua các agent trung gian đặc biệt (facilitator agent), hoặc chúng có thể gửi các thông báo tới tất cả các agent khác (broadcast). Một phương pháp khác cho phép các agent truyền thông qua lại với nhau là thông qua một kho dữ liệu dùng chung - được gọi là blackboard - tại đó thông tin có thể được gửi đi và nhận về.

1.19.1 Truyền thông trực tiếp

Truyền thông trực tiếp thiết lập các kết nối vật lý trực tiếp với các agent khác thông qua một giao thức như giao thức TCP/IP đảm bảo sự đến nơi an toàn của cỏc gúi tin. Kết nối vật lý ở đây ngụ ý rằng: agent tham gia giao tiếp phải nhận biết được agent khác trong hệ thống. Agent có thể lấy được địa chỉ của các agent khác theo hai cách:

• Từ các thông điệp nhận được từ các agent khác (địa chỉ là một phần trong thông điệp), hoặc

• Từ một đối tượng trung tâm (centralized object), ví dụ:

Conversation-manager trong COOL hoặc AgentNameServer trong

JATLite) - giống như một dịch vụ chỉ dẫn (directory service) mà tại đó tất cả các agent tham gia vào hệ thống đều phải đăng ký với đối tượng này.

Agent gửi có thể truy cập địa chỉ của các agent nhận bằng cách tìm kiếm trong đối tượng trung tâm này. Việc đăng ký giống như là một quá trình khởi động để lấy các thông tin về tất cả các agent tham gia vào hệ thống. Kỹ

thuật truyền thông trực tiếp được sử dụng trong hầu hết các platform và các ngôn ngữ kiến trúc agent đang tồn tại.

1.19.2 Các hệ liên đoàn

Khi số lượng các agent trong hệ thống trở nên quá lớn thì chi phí và việc xử lý liên quan đến vấn đề truyền thông trực tiếp trở nên không thể cáng đáng nổi. Một trong những phương pháp nhằm loại bỏ yếu điểm này đó là tổ chức một nhúm cỏc agent thành một hệ liên đoàn. Hình 5 mô tả cấu trúc của một hệ liên đoàn. Trong hệ liên đoàn này, các agent không liên lạc trực tiếp với agent khác. Thay vào đú, chỳng giao tiếp thông qua một agent trung gian đặc biệt. Ở đây, mỗi một nhóm agent có một agent trung gian tích luỹ các tri thức và các nhu cầu, khả năng riêng biệt của các agent trong nhúm. Cỏc agent cũng có thể gửi các yêu cầu và thông tin về mức độ ứng dụng tới các agent trung gian và nhận về các thông tin phản hồi. Các agent trung gian sẽ sử dụng các thông tin nhận được từ các agent để truyền thông điệp mức ứng dụng (application-level message) và gửi chúng tới địa chỉ tương ứng. Trong hệ thống này, các agent sẽ tổ chức thành một tập đoàn, ở đó chúng từ bỏ quyền tự trị của chúng và tuân theo sự chi phối của các agent trung gian; và các agent trung gian này sẽ chịu trách nhiệm đáp ứng các nhu cầu của các agent trong hệ thống.

Một phần của tài liệu đồ án công nghệ thông tin Xây dựng mô hình hệ thống đa agent BKAS và xây dựng hệ thống hỗ trợ chuẩn đoán bệnh dưa trên mô hình BKAS. (Trang 54)