SỰ PHỐI HỢP GIỮA CÁC AGENT TRONG HỆ BKAS

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 49)

quyết các vấn đề của hệ thống. Trong đó các agent khác nhau chịu trách nhiệm thực thi những tác vụ khác nhau, những tác vụ đơn lẻ này cần phải được kết hơp với nhau để giải quyết những vấn đề phức tạp.

1.14 Khái niệm phối hợp trong hệ thống BKAS

Trong hệ thống đa agent (MAS) một số agent (tự trị) kết hợp với nhau để thực hiện những công việc phức tạp. Mỗi agent có một mục đích riêng, và các mục tiêu nhỏ này cần được phối hợp với nhau để hoàn thành các công việc chung một cách hiệu quả và hợp lý [13]. Việc cộng tác giữa các agent có

thể coi như một tiến trình mà ở đó các agent tham gia có những hoạt động

cộng đồng liên quan chặt chẽ. Điều này tạo ra một khối hành động thống nhất,

không có sự xung đột giữa các agent khác nhau.

1.15 Vai trò của phối hợp

Trong nhiều trường hợp, một agent không đủ khả năng, tài nguyên để hoàn thành công việc của nó, nên nó phải yêu cầu tài nguyên từ một agent khác. Quá trình cộng tác giữa các agent trong hệ BKAS đóng một vai trò quan trọng:

Ngăn chặn sự hỗn loạn, lộn xộn trong hệ đa agent. Do quá trình

kiểm soát agent trong hệ thống đa agent là không tập trung, nên tình trạng hỗn loạn trong cộng đồng agent rất dễ xảy ra. Không có một agent nào có cái nhìn bao quát một hệ thống (tương đối phức tạp) mà nó đang tồn tại. Ví dụ, một người quản lý không thể hiểu rừ khả năng của số lượng lớn nhõn viên của mình (có thể lên tới hàng ngàn người). Vì vậy, các agent chỉ có một cái nhìn, mục tiêu và tri thức giới hạn và có thể bị xung đột với các cá thể agent khác. Nên chúng không thể tham gia vào mọi tổ hợp với các agent khác, những tổ

hợp agent không hợp lý và không có sự phối hợp sẽ dẫn đến tinh trạng hỗn loạn của hệ thống.

Đáp ứng các ràng buộc tổng thể luôn tồn tại các ràng buộc trong

một nhúm agent, phải đáp ứng được nếu muốn thành công. Ví dụ, nhúm agent xõy dựng kịch bản phải đáp ứng ràng buộc về đặc tả. Tương tự, các agent quản lý mạng phải quản và khắc phục lỗi trong khoảng thời gian vài giõy (hoặc vài giờ). Những ràng buộc này đặc thù cho từng nhúm agent. Vì vậy, các agent trong cùng nhúm (cũng như thuộc các nhúm khác nhau) cần phải hợp tác để thoả món những ràng buộc trong nhúm (và các ràng buộc tổng thể của hệ thống).

Tri thức chuyờn môn, tài nguyên và thông tin phõn tán. mỗi agent

đều có những khả năng, tri thức chuyên môn riêng, giống như bác sĩ thuộc về nha khoa, thần kinh học hay chuyên khoa tim đều có tri thức chung về y học cơ bản, song mỗi người có hiểu biết riêng về chuyờn môn của mình.Vì lẽ đó, mỗi agent có nguồn thông tin, tài nguyên, trách nhiệm, độ tin cậy, hạn chế khác nhau. Song trong nhiều trường hợp, các agent này cần làm việc với nhau, agent này cần các thông tin, tài nguyên, tri thức chuyên môn của agent khác, nên chúng phải thực hiện việc phối hợp với nhau.

Phụ thuộc giữa hành động của các agent. Trong thực tế, mục tiêu

của các agent thường có sự phụ thuộc lẫn nhau. Ví dụ, trong trường hợp dưới đõy, có hay agent thực hiện việc xếp khối hình:

Agent thứ nhất xếp khỗi B lên khối C, trong khi agent thứ hai xếp khối A lên khối B-C. Như vậy, agent thứ 2 phải chơ cho agent thứ

A B C A B C Bắt đầu Kết quả

nhất hoàn thành công việc của mình, một sự phụ thuộc được hình thành. Việc phụ thuộc này thường xuyờn gặp trong hệ đa agent, và các agent cần phải phối hợp cùng giải quyết vấn đề.

Tận dụng khả năng tính toán song song của hệ đa agent, giảm thời

gian thực hiện một yêu cầu so với việc sử dụng một đối tượng độc lập.

1.16 Kỹ thuật phối hợp giữa các agent

Có rất nhiều cách tiếp cận giải quyết vấn đề phối hợp giữa các agent trong hệ thống đa agent. Có những kỹ thuật dựa trên nền tảng giao tiếp agent, cũng có những kỹ thuật không cần sự giao tiếp. Chúng ta có bốn kỹ thuật phối hợp như sau:

1.16.1 Cấu trúc có tổ chức

Trong một tổ chức agent, chúng ta định nghĩa các khả năng, trách nhiệm, khả năng liên kết và luồng điều khiển. Điều này cung cấp một nền tảng cho các hành động, liên kết thông qua vai trò của agent trong tổ chức, qua kênh giao tiếp và các mối quan hệ phõn quyền giữa các agent. Trong một tổ chức, các agent có thể chia thành hai nhúm, agent chủ và agent nô lệ, việc cộng tác giữa chúng có đặc trưng giống với kỹ thuật cộng tác máy chủ - máy

khách hoặc chủ - nô lệ. Kỹ thuật cộng tá này được sử dụng theo hai cách:

 Agent chủ lập kế hoạch và phõn thành các phần nhỏ cho các agent nô lệ. Các agent nô lệ này có thể giao tiếp với nhau (hoặc không

cần giao tiếp), nhưng cuối cùng chúng phải gửi kết quả về cho

agent chủ. Trong trường hợp này, nhìn từ góc độ agent nô lệ thì agent chủ là agent hoàn toàn tự trị. Cũn từ góc độ agent chủ, agent nô lệ thể hiện sự tự trị cục bộ.

 Thương lượng kiểu bảng đen, lợi dụng kiến trúc bảng đen (cổ điển) để cung cấp cơ sở cho việc cộng tác. Theo cách này, tri thức bảng đen được thay thế bởi các agent (cùng đọc và ghi lên một bảng đen (adsbygoogle = window.adsbygoogle || []).push({});

chung). Agent điều phối (agent chủ) lập kế hoạch cho các agent đọc từ (hoặc ghi lên) bảng đen. Cách tiếp cận này có thể giải quyết bài toán phõn tán.

1.16.2 Đấu giá

Kỹ thuật đấu giá là phương pháp chọn các dịch vụ, tài nguyên của một agent trong một số agent thuộc hệ thống, thoả món một số tiêu chí của agent yêu cầu. Cấu trúc hệ thống agent mô phỏng theo một sàn đấu giá, ở đó một agent có thể đóng hai vai trò:

Người gọi thầu: thực hiện việc chia nhỏ một vấn đề (yêu cầu) lớn

thành các vấn đề nhỏ hơn cho các agent khác thực hiện.

Người đấu thầu: nhận và thực thi các yêu cầu nhỏ từ những agent gọi thầu. Tuy nhiên, các agent này cũng có thể chuyển giao các yêu

cầu nhỏ này cho những agent khác nữa thực thi, tức là đồng thời đóng vai trò là agent gọi thầu.

Những agent gọi thầu chọn các agent thực hiện thông qua việc trả giá, tuõn theo các bước:

o Agent gọi thầu thông báo công việc cho mọi agent biết.

o Các agent đấu thầu xem xét những công việc đó dựa trên khả năng của mình và khả năng uỷ quyền cho agent khác.

o Agent đấu thầu gửi bản dự thầu cho agent gọi thầu.

o Agent gọi thầu xem xét những bản đăng ký nhận được, chọ agent thực thi thích hợp và ký kết với agent đó.

o Agent gọi thầu đợi kết quả trả về từ agent thực thi (được chọn).

Đõy là sự phối hợp hoàn toàn phõn tán, ở đó một agent có thể vừa đóng vai trò gọi thầu và đầu thầu. Trên thực tế cách tiếp cận này được cài đặt trong nhiều ứng dụng.

Kỹ thuật này được ứng dụng hiệu quả nhất trong trường hợp:

o Các tác vụ của ứng dụng được đặc tả chi tiết có thứ tự thực thi.

o Vấn đề lớn được phần chia thành các vấn đề nhỏ hơn.

o Đã giảm thiểu liên quan giữa các tác vụ nhỏ.

Điểm mạnh của kỹ thuật này là agent gọi thầu sử dụng hàm định giá để xác định agent thực thi với chi phí (về tài nguyên chung của hệ thống) là nhỏ nhất. Do hệ BKAS là một hệ động, agent có thể được bổ sung, loại bỏ khỏi hệ thống một cách linh hoạt, nên yêu cầu có sự kiểm soát phõn tán với các agent

nhận thầu và có các giải pháp khôi phục khi gặp lỗi.

1.16.3 Lập kế hoạch cho nhóm agent

Một cách tiếp cận khác giải quyết vấn đề phối hợp trong hệ đa agent là định kế hoạch cho một nhúm agent trong hệ thống. Theo cách này, để có thể loại trừ được những hành động, liên kết mõu thuẫn và xung đột nhau, các agent tham gia vào kế hoạch phải đặc tả những tớnh chất của hành động và liên kết cần thiết để thực thi mục tiêu của chúng. Có hai loại kế hoạch cho nhúm agent:

 Kế hoạch tập trung.

Thường có một agent lập kế hoạch, nó nhận các kế hoạch (hoặc một phần kế hoạch) của các cá thể agent, sau đó nó tiến hành phõn tích để tỡm ra những mõu thuẫn, xung đột tiềm tàng trong các liên kết các hành động của các cá thể agent trên. Tiếp đó, nó cố gắng điều chỉnh các kế hoạch đó và kết hợp chúng vào kế hoạch chung của nhúm khi các tương tác xung đột được loại bỏ.

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

Theo cách này, kết quả cuối cùng thu được là một nhúm agent cùng 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. (adsbygoogle = window.adsbygoogle || []).push({});

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

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 49)