Lịch sử vấn đề Bản chất của huấn luyện tác tử và đa tác tử nói chung là quá trình cho tác tử hành động trong môi trường của chúng, lấy về chuỗi các kết quả, các kết quả đó được phân tích
Trang 1ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
-
VŨ HẢI HIỆU
PHƯƠNG PHÁP HUẤN LUYỆN ĐA TÁC TỬ VỚI SỰ
CÓ MẶT CỦA TÁC TỬ THEO DÕI
Chuyên ngành: Khoa học máy tính
Trang 2MỞ ĐẦU
1 Lý do chọn đề tài
Trong những năm gần đây, việc nghiên cứu và triển khai ứng dụng công nghệ đa tác tử đã trở thành một trong những hướng trọng tâm của ngành Khoa học máy tính Mặc dù công nghệ này chỉ mới bắt đầu phát triển mạnh từ năm 90 của thế kỷ XX nhưng nó đã thể hiện rất rõ nét về tính hiệu quả và tầm ảnh hưởng tích cực của nó trong ngành khoa học máy tính nói riêng và các lĩnh vực
có ứng dụng công nghệ thông tin nói chung Đối với các lĩnh vực tự động hóa công nghiệp, điều khiển giám sát, phân phối năng lượng hay các game hiện đại, chúng luôn thể hiện tính chất phức tạp, bất định và mô hình luôn thay đổi vì thế
xu hướng xây dựng hệ thống theo hướng công nghệ đa tác tử là một tất yếu Mặt khác chúng ta thấy rất rõ ràng máy tính hiện nay không còn là các hệ thống hoạt động riêng lẻ nữa, xu hướng điều khiển phân tán là một vấn đề cốt lõi mà các nhà phát triển ứng dụng cần quan tâm tới Lượng công việc máy tính đảm nhiệm thay con người ngày càng nhiều, chúng ta ngày càng trao quyền cho máy tính nhiều hơn, máy tính có thể quyết định những tình huống quan trọng thay con người Để thực hiện tốt các công việc thay con người, máy tính cần phải thông minh, linh hoạt trong môi trường hoạt động của mình Trong vài năm gần đây,
vấn đề máy học đã được nghiên cứu khá nhiều, các công trình nghiên cứu mang
tính nền móng cho lĩnh vực này liên tục ra đời và từ đó các ứng dụng đưa vào thực tiễn cũng phát triển theo Một trong những vấn đề thuộc lĩnh vực máy học
là các giải pháp huấn luyện tác tử và đa tác tử, đây là vấn đề rất rộng và đầy thách thức, các vấn đề mang tính lý thuyết cơ sở không ngừng được bổ sung và hoàn thiện Trước khi bước vào môi trường hoạt động thực sự của mình, tác tử cần phải trải qua một qua trình huấn luyện hay nói cách khác là học cách ra quyết định để có thể đem lại một kết quả tốt Với mong muốn tìm hiểu về công nghệ tác tử, tác tử thông minh, tương tác và phối hợp trong hệ đa tác tử đặc biệt
là phương pháp huấn luyện cho hệ đa tác tử, chúng tôi đã quyết định chọn đề tài
“Phương pháp huấn luyện đa tác tử với sự có mặt của tác tử theo dõi”
Trang 32 Lịch sử vấn đề
Bản chất của huấn luyện tác tử và đa tác tử nói chung là quá trình cho tác
tử hành động trong môi trường của chúng, lấy về chuỗi các kết quả, các kết quả
đó được phân tích, đánh giá và cuối cùng là một bảng lượng giá được sinh ra từ những kết quả trên Bảng lượng giá mức độ quan trọng trong mỗi hành động của tác tử chính là kết quả của quá trình huấn luyện và nó chính là căn cứ giúp tác tử quyết định hành động của mình tại mỗi trạng thái trong môi trường hoạt động của nó Một trong những thuật toán huấn luyện tác tử được xem là nền móng cho nhiều nghiên cứu về sau đó là thuật toán huấn luyện đơn tác tử Q-Learning
do Watkins và Dayan xây dựng năm 1992 [18] Có rất nhiều các thuật toán khác được cải tiến từ Q-Learning và đã mang lại hiệu quả rất lớn Ví dụ thuật toán Nash Q-Learning do Junling Hu và Michael P Wellman phát triển [11], giải thuật này dựa trên nền tảng Q-Learning, lý thuyết cân bằng Nash và lý thuyết trò chơi, với sự kết hợp trên giải thuật này đã cho phép huấn luyện với số lượng tác
tử và không gian trạng thái tương đối lớn Ở Việt Nam, tuy mới tiếp cận với công nghệ tác tử nhưng một số tác giả cũng đã cho ra những kết quả đáng ghi nhận có thể kể ra các tác giả như Từ Minh Phương với giải thuật Q-Phân tán [19]; Nguyễn Linh Giang với giải thuật Q- mờ cho hệ đa tác tử [10], các kết quả của các tác giả đều đem lại những giá trị khoa học đáng kể và nền tảng của các kết quả đều được dựa trên Q-Learning
Trong luận văn này, chúng tôi nghiên cứu về đơn tác tử, hệ đa tác tử và ứng dụng thuật toán Q-Learning truyền thống trong việc huấn luyện đa tác tử với sự có mặt của một tác tử theo dõi Các ứng dụng cho thuật toán Q-Learning truyền thống thường ứng dụng cho đơn tác tử và trạng thái đích cần đạt tới là cố định Trong đề tài này, chúng tôi sẽ cố gắng áp dụng Q-Learning cho hệ đa tác
tử với trạng thái đích liên tục thay đổi
Trang 43 Mục đích và đối tượng nghiên cứu
3.1 Mục đích nghiên cứu
Thực hiện đề tài này, mục đích đầu tiên của luận văn là tổng hợp được các tài liệu về công nghệ tác tử một cách đầy đủ, khái quát và có hệ thống Mặt khác, ứng dụng được các thuật toán huấn luyện tác tử vào một số dạng bài toán khác nhau, cài đặt thử nghiệm và đánh giá mức độ hiệu quả của thuật toán Q-Learning trong việc huấn luyện đa tác tử
3.2 Đối tượng nghiên cứu
Bên cạnh những vấn đề tổng quan về đơn tác tử và hệ đa tác tử, đối tượng nghiên cứu chính của đề tài đi sâu vào nghiên cứu về các vấn đề sau:
1 Tác tử thông minh và các loại kiến trúc của tác tử thông minh
2 Tương tác giữa các tác tử trong cùng một hệ đa tác tử
3 Các tác tử phối hợp với nhau theo những quy tắc nào trong hệ đa tác tử
4 Thuật toán Q-Learning và ứng dụng của nó
4 Cấu trúc của luận văn
Ngoài phần mở đầu và kết luận, phần nội dung của luận văn gồm có 3 chương:
Chương 1: Tổng quan về tác tử và hệ đa tác tử
Chương 2: Phối hợp và tương tác trong hệ đa tác tử
Chương 3: Phương pháp huấn luyện đa tác tử với sự có mặt của tác tử
theo dõi và cài đặt thử nghiệm
Trang 5CHƯƠNG 1: TỔNG QUAN VỀ TÁC TỬ VÀ ĐA TÁC TỬ
1.1 Tác tử
1.1.1 Định nghĩa tác tử
Cho đến nay, có rất nhiều cách định nghĩa về tác tử, các ý kiến trái chiều nhau nguyên nhân chủ yếu xuất phát từ những yêu cầu khác nhau trong một số ứng dụng cụ thể Những mâu thuẫn này là điều xảy ra rất nhiều trong ngành khoa học máy tính Chính những ý kiến đa chiều đó của các nhà chuyên môn đã cho thấy sự phong phú về khả năng ứng dụng cũng như lý thuyết của công nghệ phần mềm hướng tác tử
Định nghĩa thường được sử dụng nhất phát biểu như sau: “Tác tử (Agent)
là hệ thống tính toán hoạt động tử chủ trên một môi trường nào đó, có khả năng cảm nhận và tác động vào môi trường” [6]
Chúng ta quan tâm đến một số các điểm quan trọng sau của định nghĩa trên
• Vấn đề đầu tiên, tác tử là hệ thống tính toán, hệ thống này có thể là phần cứng, phần mềm hoặc kết hợp cả phần cứng và phần mềm Đối với tác tử là phần mềm có thể là chương trình máy tính, các luồng thực hiệu (Thread), đối với tác tử phần cứng thông thường là các Robot, các thiết bị giám sát giao thông
• Vấn đề thứ hai, khi nói đến tác tử tồn tại và hoạt động trong môi trường, định nghĩa trên nhấn mạnh khả năng cảm nhận và tác động lại môi trường một cách trực tiếp và có thể làm thay đổi môi trường Tác
tử nhận thông tin tử môi trường qua các cơ quan cảm nhận và tác động lại môi trường qua các cơ quan tác động Các tác tử là phần cứng cơ quan cảm nhận thường là thiết bị cảm biến (cảm biến nhiệt, âm), thiết
bị nhận dạng hay đơn thuần là các camera, cơ quan tác động thường là các bộ phận cơ học, quang học, âm thanh Đối với tác tử là phần mềm môi trường hoạt động chính là máy tính hay mạng máy tính Việc cảm
Trang 6nhận và tác động vào môi trường của tác tử được thực hiện thông qua lời gọi hệ thống
• Vấn đề thứ ba, đó là tính tự chủ (tự trị) của tác tử, đây là một thuộc tính quan trọng của tác tử, nó mang tính đặc trưng của tác tử Sự tự chủ
ở đây chính là khả năng hành động không cần đến sự can thiệp của người dùng hay bất kỳ một tác nhân nào khác Tác tử có thể tự kiểm soát hành vi của mình trong suốt quá trình hoạt động, trước những vấn
đề này sinh trong môi trường hoạt động chúng có thể tự đưa ra quyết định cho hành động của mình Mặt khác tính tự chủ còn được biểu hiện ở khả năng học của tác tử
Như vậy, với những đặc điểm tồn tại và hành động tự chủ trong môi trường tác tử có thể độc lập thực hiện một nhiệm vụ nào đó thay cho con người hoặc các tử khác [9]
Hình 1.1: Kiến trúc chung của tác tử
1.1.2 Các đặc điểm khác của tác tử
Ngoài các đặc điểm quan trọng nhất của tác tử được nhắc tới trong định nghĩa, tác tử còn có thêm những đặc điểm sau:
Khả năng tự học: Là khả năng thu thập kiến thức mới từ kinh nghiệm thu
lượm được, kết quả của việc tự học phải giúp cho tác tử hành động tốt hơn, hiệu quả hơn
Trang 7Tính thích ghi: Là khả năng tồn tại và hoạt động hiệu quả khi môi trường
thay đổi
Khả năng di chuyển: Là khả năng di chuyển mã nguồn của tác tử từ máy
tính này sang máy tính khác hay nút mạng này sang nút mạng khác đồng thời vẫn giữ nguyên trạng thái
1.1.3 Môi trường hoạt động của tác tử
Tác tử được xây dựng để hoạt động trong một môi trường nào đó, chính
vì thế tính chất, đặc điểm của môi trường và mối quan hệ giữa tác tử với môi trường chính là yếu tố quyết định đến việc nghiên cứu cũng như triển khai ứng dụng Hầu hết các nghiên cứu đều khẳng định tác tử và môi trường có quan hệ như sau: tác tử cảm nhận môi trường, suy luận và sau đó thực hiện hành động tác động vào môi trường Quá trình đó được lặp lại cho đến hết vòng đời của một tác tử
Chính vì sự gắn bó mật thiết giữa môi trường và tác tử cho nên vấn đề phân loại môi trường hoạt động của tác tử cũng được đặt ra
1.1.3.1 Môi trường có thể tiếp cận đầy đủ và không thể tiếp cận đầy đủ
Môi trường được gọi là có thể tiếp cận đầy đủ nếu tác tử có thể thu thập đầy đủ và chính xác thông tin về trạng thái của môi trường thông qua cơ quan cảm nhận Môi trường có thể tiếp cận đầy đủ là những môi trường tương đối đơn giản và thuần nhất Môi trường không thể tiếp cận đầy đủ là những môi trường
có độ phức tạp từ trung bình đến phức tạp, ví dụ: Thế giới thực vật lý, Internet
1.1.3.2 Môi trường xác định và không xác định
Nếu trạng thái tiếp theo của môi trường hoàn toàn xác định bởi trạng thái
hiện tại và hành động của tác tử tại thời điểm t thì môi trường được gọi là xác
định Như vậy, trước mỗi hành động của mình tác tử đều biết trước kết quả Đối với trường hợp môi trường không xác định, cùng một hành động có thể cho ra những kết quả khác nhau, thậm trí cho những kết quả không mong muốn Với loại môi trường không xác định thường gây khó khăn trọng việc thiết kế tác tử
Trang 81.1.3.3 Môi trường phân đoạn và không phân đoạn
Trong môi trường có phân đoạn hoạt động của tác tử được chia theo thời gian thành từng đoạn riêng biệt, không phụ thuộc vào nhau Hiệu quả hành động trong từng đoạn chỉ phụ thuộc vào đoạn tác tử đang xét chứ không phụ thuộc vào đoạn khác Môi trường không phân đoạn thường phức tạp hơn vì tác tử phải quan tâm đến các đoạn có liên quan tới đoạn đang xét
1.1.3.4 Môi trường tĩnh và động
Môi trường động là môi trường có thể thay đổi trong khi tác tử đang suy diễn để lựa chọn chiến lược hành động Môi trường tĩnh thì ngược lại, tác tử không cần quan tâm đến môi trường cũng như giới hạn về thời gian trước khi ra quyết định cho chiến lược hành động của mình Qua đó ta thấy việc triển khai ứng dụng trên môi trường tĩnh là thuận lợi hơn trên môi trường động
1.1.3.5 Môi trường rời rạc và liên tục
Nếu số lượng cảm nhận và các hành động có thể của tác tử trong môi trường là hữu hạn và luôn xác định thì là môi trường rời rạc Ngược lại trong trường hợp môi trường là liên tục
Qua những phân loại về môi trường chúng ta thấy với mỗi đặc điểm môi trường khác nhau sẽ kéo theo yêu cầu thiết kế tác tử khác nhau để đảm bảo sự hoạt động hiệu quả và chính xác của tác tử Việc xác định môi trường hoạt động của tác tử là bước quan trọng và là một trong những bước đầu tiên phải làm trong quá trình thiết kế tác tử
1.1.4 Tác tử thông minh
1.1.4.1 Tác tử thông minh là gì?
Tác tử thông minh là tác tử có khả năng hoạt động linh hoạt và mềm dẻo
để thực hiện nhiệm vụ được giao [6]
Tính linh hoạt của tác tử được thể hiện bởi ba đặc điểm chính sau:
Trang 9- Tính phản xạ: Là khả năng phản ứng kịp thời với các thay đổi của môi trường
- Tính chủ động: Tác tử chủ động trong hành động của mình, tự tìm ra phương án hành động tối ưu nhằm đạt được kết quả tốt nhất
- Tính cộng đồng: Là khả năng tương tác giữu người dùng hoặc tác tử khác để lấy thông tin hoặc cung cấp thông tin cho đối tác
Nếu xét từng đặc điểm riêng lẻ thì ba đặc điểm này không có gì mới trong các phương pháp lập trình cũ Trong thực tế có rất nhiều hệ thống phần mềm không xây dựng theo hướng tác tử nhưng mang một trong những đặc điểm trên Tuy nhiên, khi xây dựng phần mềm tác tử thông minh thì cần phải hội đủ các đặc điểm này
1.1.4.2 Cảm nhận, suy diễn và tác động vào môi trường
1.1.4.2.1 Cảm nhận môi trường
Việc cảm nhận môi trường giúp cho tác tử biết được tình trạng của môi trường đang diễn ra như thế nào, từ đó tác tử sẽ đưa được ra quyết định hành động của mình Đối với các tác tử là phần cứng (Robot) việc cảm nhận môi trường thường bằng các camera, thiết bị cảm ứng; đối với các tác tử là phần mềm việc cảm nhận môi trường thường là những thông điệp từ hệ điều hành Những thông tin mà tác tử cảm nhận được từ môi trường không phải tất cả đều
là có ích, chính vì thế việc chọn lọc thông tin là một yêu cầu đặt ra cho cơ chế cảm nhận môi trường của tác tử
1.1.4.2.2 Suy diễn (cơ chế ra quyết định)
Quá trình ra quyết định của một tác tử có thể được mô tả như sau Giả sử thời gian được chia thành những khoảng rời rạc t0, t1, , tn Tại mỗi thời điểm đó tác tử phải lựa chọn hành động từ tập hữu hạn các hành động của tác tử Nhờ cơ quan cảm nhận tác tử thu được những cảm nhận về môi trường Giả sử tại các thời điểm t0, t1, tn cảm nhận của tác tử về môi trường lần lượt là p0, p1, ,pn
với pi thuộc P, P là tập các cảm nhận có thể có của tác tử Tại thời điểm ti, tất cả
Trang 10những cảm nhận của tác tử là chuỗi cảm nhận si = < p0, p1, , pi> Giả sử tập hành động có thể của tác tử là A = {a1, a2, , an} Tại mỗi thời điểm ti tác tử có thể chọn một hành động ai A Việc tác tử lựa chọn hành động nào phụ thuộc vào chuỗi cảm nhận Si tại thời điểm ti
Tác tử suy diễn trước khi quyết định hành động được chia ra làm nhiều dạng, việc phân chia này phụ thuộc vào cách thức cảm nhận và hành động của tác tử Ta có thể phân loại như sau:
- Tác tử phản xạ: Là tác tử hành động dựa trên cảm nhận hiện tại mà
không cần quan tâm đến chuỗi cảm nhận trước đó.Ví dụ bộ phận cảm ứng của hệ thống cửa tự động Bộ phận này hoạt động dựa trên nguyên tắc trạng thái môi trường được chia làm hai dạng, có người và không có người, nếu có người cửa sẽ tự động mở Nguyên lý hoạt động của loại tác
tử này nằm trong kiến trúc phản xạ, đây là loại kiến trúc không sử dụng
cơ chế suy diễn phức tạp Kiến trúc phản xạ được biết đến nhiều nhất là
kiến trúc gộp (subsumption architecture) do Rodney Brooks đề xuất lần đầu tiên năm 1986 Kiến trúc gộp này được mô tả như sau:
• Quá trình quyết định của tác tử được thực hiện dựa trên tập các hàm hành động gọi là hành vi thực hiện nhiệm vụ (task accomplishment behaviours) Mỗi hành vi thực chất là một hàm hành động Mỗi hành vi được tổ chức như một môđun và có mục đích thực hiện nhiệm vụ nhất định Trong kiến trúc nguyên bản của Brooks, mỗi môđun hành vi được cài đặt như một máy trạng thái hữu hạn Hành vi của tác tử được biểu diễn bằng các luật hoặc quy
tắc đơn giản dưới dạng: tình huống Hành động Mỗi một luật này ánh xạ từ một trạng thái cảm nhận được thành một hành động
Vì cơ chế ra quyết định của tác tử do nhiều môđun hành vi gộp lại nên kiến trúc này có tên là kiến trúc gộp
Trang 11• Nhiều mô đun hành vi trong kiến trúc gộp có thể được kích hoạt đồng thời, lúc này mỗi mô đun sẽ sinh ra một hành động Trong tất
cả những hành động được sinh ra đó một hành động duy nhất sẽ được chọn để thực hiện
- Tác tử có trạng thái: Trong thực tế, cảm nhận hiện thời của tác tử
thường chưa đủ thông tin để tác tử quyết định hành động Nguyên nhân chủ yếu khiến cho tác tử chưa ra được quyết định hành động la do cảm nhận hiện tại không cung cấp đủ thông tin về môi trường Để có thể hình dung đầy đủ về môi trường, tác tử phải sử dụng đến những cảm nhận trước đó Thông tin tin về môi trường được tác tử ghi lại thành một chuỗi cảm nhận cho tới thời điểm hiện tại Tuy nhiên, nếu trong một khoảng thời gian dài mà tác tử chưa ra được quyết định thì chuỗi cảm nhận mà tác
tử phải ghi lại là rất dài, như vậy việc lưu trữ và xử lý thông tin trở nên không hiệu quả Thay vì phải lưu trữ chuỗi cảm nhận dài như vậy, tác tử duy trì một cấu trúc gọi là trạng thái bên trong Trạng thái bên trong là những thông tin có ích nhất giúp cho tác tử có thể hình dung một cách chính xác về môi trường Mặt khác, thông tin về môi trường liên tục được cập nhật mỗi khi tác tử có cảm nhận mới Việc quyết định hành động của tác tử dựa trên trạng thái chứa bên trong của tác tử Chúng ta xét ví dụ về một tác tử lái xe ô tô, trước khi thực hiện hành động rẽ trái, rẽ phải hoặc dừng xe, tác tử cần phải cảm nhận được tối thiểu các thông tin sau thì mới có thể ra quyết định: phía sau có xe khác hay không, đường có phải là đường cấm hay không
- Tác tử hành động có mục đích: Để tác tử có thể thực hiện đúng nhiệm
vụ của mình, thông tin về trạng thái môi trường là chưa đủ Tác tử cần có thông tin về nhiệm vụ, cần biết mục đích của mình là gì Cách đơn giản nhất để tác tử hoạt động có mục đích là xây dựng sẵn một chương trình hành động và yêu cầu tác tử hành động theo đúng chương trình đã định ra
đó Tuy nhiên, cách làm này tỏ ra cứng nhắc Trong một số trường hợp
Trang 12môi trường thay đổi không phù hợp với chương trình và dẫn tới việc tác
tử sẽ hoạt động không hiệu quả hoặc sai mục đích đặt ra Vì vậy, để đảm bảo tính mềm dẻo ta chỉ báo cho tác tử biết mục đích cần đạt được thay vì cho tác tử biết phải làm thế nào để đạt được mục đích đó Mục đích thường cho một trong hai dạng:
1) đạt được trạng thái nào đó;
2) đảm bao duy trì trạng thái nào đó
- Tác tử với cơ chế suy diễn lôgic: Một số nghiên cứu về trí tuệ nhân tạo
cho rằng hành vi thông minh có thể tạo ra bằng cách biến đổi thông tin môi trường và mục đích của tác tử về dạng biểu tượng, sau đó thực hiện những biến đổi cần thiết trên những biểu tượng đó Cách tiếp cận này được gọi là trí tuệ nhân tạo biểu tượng (symbolic artificial intelligence) và được sử dụng trong một số nghiên cứu để xây dựng tác tử thông minh Hệ thống biểu tượng thông dụng nhất để mô tả môi trường và tác tử là các biểu thức lôgic Để xây dựng tác tử thông minh có cơ chế suy diễn lôgic cần phải giải quyết hai vấn đề:
• Biến đổi thông tin về dạng biểu tượng: Thông tin về môi trường phải được biến đổi thành mô hình biểu tượng, ở đây là biểu thức lôgic Thông thường, một phần môi trường và mục đích của tác tử như các quy luật logic được xây dựng từ trước, một phần còn lại được tác tử cập nhật trong quá trình hoạt động và cảm nhận
• Biểu diễn và suy diễn: Thông tin cần được biểu diễn phù hợp với biểu thức lôgic và có cơ chế biến đổi tự động những biểu thức này (suy diễn tự động) để sinh ra hành động Kết quả suy diễn phải được sinh ra trong khoảng thời gian đủ ngắn để không bị lạc hậu so với thời gian thay đổi của môi trường
Các nghiên cứu về tác tử với cơ chế suy diễn lôgic mới chỉ đang trên con đường hoàn thiện đây là một đề tài hấp dẫn được đề cập đến đến nhiều trong thời gian gần đây
Trang 131.2 Hệ đa tác tử
1.2.1 Khái niệm về hệ đa tác tử
Trong thực tế, các ứng dụng đơn tác tử thường chỉ giải quyết các vấn đề tương đối đơn giản trong một môi trường đơn giản, đối với các ứng dụng phức tạp (ví dụ game bóng đá) thì một tác tử không thể đáp ứng được yêu cầu đặt ra Trong những trường hợp đó hệ đa tác tử chính là giải pháp thích hợp để giải quyết vấn đề
Hệ đa tác tử là hệ thống bao gồm nhiều tác tử có khả năng tương tác với nhau, trong quá trình tương tác đó hệ đa tác tử tạo ra cho hệ thống những đặc điểm mà đơn tác tử không thể tạo ra được [6]
1.2.2 Nhiệm vụ của hệ đa tác tử
Hê đa tác tử nghiên cứu hành vi của tập hợp các tác tử làm việc cùng nhau
để giải quyết một nhiệm vụ nào đó Sự tương tác giữa những tác tử trong hệ đa tác tử là không biết trước và chỉ được xác định trong quá trình hoạt động của hệ thống Quan hệ giữa các tác tử trong hệ đa tác tử là phối hợp chứ không nhất thiết là hợp tác Trong quá trình hoạt động của hệ thống một tác tử này có thể gửi yêu cầu cho các tác tử khác, các tác tử nhận được yêu cầu có thể đồng ý hoặc từ chối Tất cả những quyết định của các tác tử trong hệ đa tác tử nhằm mục đích đem lại một kết quả mong muốn
1.2.3 Những khả năng của hệ đa tác tử
- Giải quyết những vấn đề quá phức tạp đối với một tác tử riêng lẻ
- Có thể tích hợp giữa các hệ thống khác nhau, làm giảm chi phí trong việc nâng cấp, thay đổi hệ thống phần mềm
- Cho phép mô hình hóa hệ thống một cách tự nhiên Ví dụ, hệ thống game trò chơi bóng đá, các tác tử là một cầu thủ mang những thuộc tính về tốc
độ, khả năng sút bóng, cầm bóng, tử duy chiến thuật
- Cho phép giải quyết những vấn đề mà thông tin được phân tán
Trang 141.2.4 Các vấn đề cần quan tâm khi triển khai ứng dụng đa tác tử
Chúng ta thấy hệ đa tác tử thể hiện rõ khả năng mạnh mẽ của mình trong việc xây dựng các hệ thống công nghệ thông tin nói chung tuy vậy việc thiết kế
và cài đặt hệ đa tác tử kéo theo rất nhiều vấn đề cần phải giải quyết Có một số đặc điểm chính cần quan tâm như sau:
- Cách biểu diễn, phân rã bài toán, phân chia bài toán con tới các tác tử trong hệ thống và tổng hợp kết quả từ những lời giải của các bài toán được phân chia đó
- Vấn đề tổ chức tương tác, liên lạc giữa các tác tử Sử dụng giao thức liên lạc, ngôn ngữ giao tiếp nào, nội dung liên lạc và thời gian trao đổi ra sao
- Đối với mỗi quyết định hành động của một tác tử bất kỳ vẫn phải đảm bảo tính thống nhất, hiệu quả của cả hệ thống
- Vấn đề liên lạc giữa các tác tử chính là sự sống còn của hệ đa tác tử, chính vì thế mỗi tác tử đều phải có những thông tin nhất định của các tác tử khác trong hệ thống
- Tất cả các mâu thuẫn giữa các tác tử chỉ có thể giải quyết trong quá trình hoạt động của hệ thống
- Cần phải cân đối được khối lượng công việc và chi phi cho việc liên lạc các tác tử trong hệ thống
1.3 Kết luận
Trong phần này chúng ta đã tìm hiểu về các khái niệm cơ bản nhất về tác
tử và hệ đa tác tử, các cơ chế hoạt động và khả năng ứng dụng của công nghệ tác
tử cũng đã được đề cập tới Mục đích chính của hệ đa tác tử là sự tương tác và phối hợp giữa các tác tử với nhau để đem lại kết quả mong muốn Cách thức các tác tử tương tác và phối hợp với nhau như thế nào sẽ là những vấn đề chính được chúng tôi nghiên cứu trong chương 2 của luận văn
Trang 15CHƯƠNG 2 :TƯƠNG TÁC VÀ PHỐI HỢP TRONG HỆ ĐA
TÁC TỬ
2.1 Tương tác trong hệ đa tác tử
Trong phần này, chúng tôi sẽ nghiên cứu việc ra quyết định cho hệ đa tác
tử, trong đó nhiều tác tử tồn tại đồng thời và tương tác với nhau Các kỹ thuật ra
quyết định cho hệ đa tác tử được xây dựng trên cơ sở lý thuyết trò chơi [9] Ban
đầu là những nghiên cứu về các quan hệ kinh tế và mục đích của nó là phục vụ chủ yếu cho các ngành kinh tế, nhưng lý thuyết trò chơi đó đã được phát triển thành một môn khoa học với cơ sở toán học chặt chẽ và được ứng dụng cho nhiều ngành khác nhau trong đó có hệ đa tác tử Đối với hệ đa tác tử, lý thuyết trò chơi cung cấp nhiều công cụ lý thuyết cho phép phân tích, đánh giá hành vi của các tác tử trong cùng một hệ đa tác tử suốt quá trình tồn tại và tương tác với nhau của chúng
Sự tương tác trong hệ tác tử chỉ được xây dựng dựa trên hai điều kiện: thứ
nhất, tác tử hành động có lý trí, tức là quyết định của từng tác tử phải tối ưu hoá hàm mục tiêu của tác tử đó; thứ hai, tác tử hành động có chiến lược, tức là khi ra
quyết định, tác tử có tính tới hành động của tác tử khác trong hệ thống
2.1.1 Hệ đa tác tử và trò chơi chiến lược
Để phân tích quá trình ra quyết định cho hệ tác tử, các tác tử trong hệ thống được xem xét như những thành viên tham gia vào một trò chơi Tuỳ theo cách tác tử ra quyết định khi chơi, ta có thể phân biệt hai kiểu trò chơi khác
nhau Trò chơi có chiến lược là trò chơi trong đó tác tử ra quyết định (lựa chọn
chiến lược hành động) một lần duy nhất khi bắt đầu chơi, từ đó các tác tử hành động đồng thời và không thay đổi chiến lược của mình nữa [9]
2.1.1.1 Trò chơi chiến lược
Giả sử có n tác tử (n > 1) cùng tồn tại và hành động Trò chơi chiến lược giữa n tác tử được mô tả như sau:
Trang 16• Mỗi tác tử i có thể lựa chọn một hành động ai trong tập hợp các hành động hợp lệ Ai của mình Hành động của cả hệ thống được xác định bởi vectơ (a1, a2,…, an) tạo thành từ hành động riêng rẽ của từng tác tử và được gọi là
hành động chung Ký hiệu hành động chung của tác tử là a
• Hành động chung a của tác tử dẫn đến kết quả Ω (Ω có thể là trạng thái mới mà môi trường chuyển sang sau khi các tác tử thực hiện hành động chung a) Mỗi kết quả hay trạng thái có một giá trị nào đó đối với tác tử, có thể tốt hay không tốt, tốt nhiều hay tốt ít Ta nói rằng mỗi kết quả có một lợi ích cho tác tử
và sử dụng một hàm đánh giá Qi(Ω) để đánh giá lợi ích của kết quả Ω đối với tác
tử i Hàm đánh giá của từng tác tử có thể không giống nhau Do Ω là kết quả của việc thực hiện hành động a, thay vì sử dụng Qi, ta có thể sử dụng ui(a) ≡ Qi(Ω) Hàm ui(a) cho phép đánh giá trực tiếp lợi ích mà hành động a đem lại cho tác tử
i và được gọi là hàm thưởng Để đơn giản, hàm thưởng được xác định từ trước
cho mỗi hành động chung và không thay đổi trong suốt quá trình chơi
• Mỗi tác tử chỉ được lựa chọn một hành động duy nhất khi bắt đầu trò chơi Tác tử phải lựa chọn hành động đồng thời và độc lập so với tác tử khác sao cho không tác tử nào được biết tác tử khác sẽ hành động như thế nào Tuy nhiên, tác tử có đầy đủ thông tin về những tác tử sẽ tham gia vào trò chơi, cũng như tập các hành động hợp lệ và giá trị hàm thưởng của tác tử khác
Như vậy, trong trò chơi chiến lược, mỗi tác tử thực hiện một hành động duy nhất và nhận được một phần thưởng Phần thưởng không chỉ phụ thuộc vào hành động của riêng tác tử mà phụ thuộc vào hành động chung của tất cả tác tử tham gia Một điểm quan trọng là tác tử không biết trước hành động của tác tử khác mà chỉ có thể dự đoán tác tử khác sẽ hành động thế nào
Một điều kiện quan trọng khi phân tích trò chơi chiến lược là hành động
của tác tử thoả mãn hai yêu cầu sau Thứ nhất, tác tử tham gia trò chơi hành động có lí trí, tức là cố gắng đạt phần thưởng lớn nhất Thứ hai, tác tử hành động có chiến lược, tức là có tính đến ảnh hưởng của tác tử khác Khi đó lời giải
Trang 17của trò chơi là dự đoán về hành động chung và kết quả mà hành động đó đem lại Việc tìm ra lời giải của trò chơi có giá trị quan trọng vì nó cho phép dự đoán tác tử sẽ hành động thế nào khi tham gia vào trò chơi
2.1.1.2 Ví dụ về các trò chơi
Trong phần này, các khái niệm về trò chơi chiến lược trình bày ở trên sẽ được minh hoạ qua một số ví dụ đơn giản trong đó chỉ có hai tác tử tham gia trò chơi, mỗi tác tử có thể lựa chọn một trong hai hành động
Ví dụ : Trò chơi được phát biểu như sau:
Có hai đối tượng nghi vấn phạm tội bị giam giữ riêng và hỏi cung riêng sao cho hai đối tượng này không thể liên lạc và thông tin cho nhau Mỗi đối tượng
có thể thú nhận hoặc không thú nhận hành vi phạm tội Các khả năng sau có thể xảy ra
1) Nếu cả hai cùng thú nhận, mỗi người sẽ bị tù ba năm
2) Nếu một người thú nhận còn người kia chối tội, người thú nhận sẽ được thả ngay trong khi người chối tội bị tù bốn năm
3) Nếu cả hai cùng không thú nhận, mỗi người sẽ bị tù một năm
Trong ví dụ này, mỗi tác tử có thể lựa chọn một trong hai hành động: thú nhận hoặc không thú nhận Tổ hợp hành động riêng của hai tác tử, ta được tất cả
bốn hành động chung Giá trị hàm thưởng cho bốn hành động chung có thể cho
dưới dạng ma trận thưởng như trên hình 2.1 Các dòng của ma trận thưởng
tương ứng với hành động của tác tử thứ nhất, cột của ma trận thưởng tương ứng với hành động của tác tử thứ hai Mỗi ô của ma trận chứa giá trị hàm thưởng cho hành động chung tương ứng với ô đó, giá trị thưởng của tác tử thứ nhất đứng trước dấu phNy, giá trị thưởng cho tác tử thứ hai đứng sau dấu phNy Cần chú ý, giá trị thưởng cho trong ma trận không phải số lượng năm bị tù mà là số năm giảm được hạn tù, càng giảm được nhiều năm thì giá trị hàm thưởng càng lớn
Ví dụ, ô ma trận với giá trị (4, 0) cho thấy nếu tác tử thứ nhất thú nhận trong khi
Trang 18tác tử thứ hai không thú nhận thì tác tử thứ nhất sẽ nhận giá trị thưởng là 4 (được tha ngay) và tác tử thứ hai nhận giá trị thưởng là 0 (bị tù bốn năm)
Không thú nhận Thú nhận Không thú nhận (3 , 3) (0 , 4)
Thú nhận (4 , 0) (1 , 1)
Hình 2.1: Ma trận thưởng cho trò chơi hai người tù
Câu hỏi đặt ra là mỗi tác tử nên hành động thế nào khi không biết trước hành động của tác tử còn lại Một trong những cách trả lời câu hỏi này là thực hiện suy luận sau Xét một tác tử (ví dụ tác tử thứ nhất) Các khả năng hành động và kết quả cho tác tử đó như sau:
- Giả sử tác tử này không thú nhận Nếu tác tử còn lại không thú nhận, cả hai sẽ được thưởng 3 Nếu tác tử còn lại thú nhận, tác tử đang xét sẽ được thưởng 0 Như vậy, kết quả xấu nhất nếu không thú nhận là 0 (bốn năm tù)
- Giả sử nó thú nhận Nếu tác tử còn lại thú nhận, cả hai sẽ được thưởng 1, nếu ngược lại, tác tử đang xét sẽ được thưởng 4 Như vậy kết quả xấu nhất nếu thú nhận là 1 (ba năm tù)
Như vậy, nếu tính đến tình huống xấu nhất, chiến lược cho kết quả chắc
chắn là thú nhận Ở một phần sau, ta sẽ xem xét những phương pháp khác cho
phép lựa chọn chiến lược hành động
Ví dụ 2: Trò chơi cạnh tranh và trò chơi tổng bằng không Trò chơi cạnh tranh và trò chơi với tổng bằng không là tên chung của một lớp các bài toán trong đó kết quả có lợi cho một tác tử sẽ là kết quả có hại cho tác tử còn lại và như vậy quyền lợi của tác tử khi tham gia trò chơi là mâu thuẫn với nhau Lấy ví
dụ trò chơi đoán mặt đồng tiền Hai tác tử sẽ chọn một trong hai giá trị “ngửa” hoặc “sấp” mà không biết trước người kia chọn thế nào Nếu giá trị trùng nhau, tác tử thứ nhất phải trả cho tác tử thứ hai một nghìn đồng Ngược lại, nếu hai lựa
Trang 19chọn khác nhau, tác tử thứ hai phải trả tác tử thứ nhất một nghìn đồng Ma trận thưởng cho trò chơi được cho trên hình 2.2
Ngửa 1 , -1 -1 , 1
Hình 2.2: Ma trận thưởng cho trò chơi với tổng bằng không
Điểm đặc biệt của trò chơi này là tổng giá trị hàm thưởng của hai tác tử luôn bằng không u1(a) + u2(a) = 0, ∀a Như vậy việc cố gắng làm lợi cho mình cũng có nghĩa làm hại cho người cùng chơi Trò chơi này, do vậy được gọi là trò
chơi cạnh tranh toàn phần Mặc dù được nghiên cứu nhiều trên lý thuyết, trên
thực tế, các tình huống hoàn toàn cạnh tranh rất hiếm khi xảy ra do các bên mặc
dù đối địch nhau nhưng vẫn có một số lợi ích chung nhất định
2.1.2 Hành động ưu thế và cân bằng Nash
2.1.2.1 Hành động ưu thế
Nếu một tác tử tham gia trò chơi đang lựa chọn chiến lược hành động Chắc chắn rằng, tác tử sẽ không lựa chọn một hành động ai nếu hành động đó luôn cho kết quả tồi hơn một số hành động khác bất kể những tác tử còn lại hành động thế nào Ví dụ, trong trò chơi hai người tù, lựa chọn không thú nhận luôn
cho kết quả tồi hơn thú nhận bất kể tác tử còn lại hành động thế nào (tác tử sẽ nhận kết quả 3 và 4 cho không thú nhận và thú nhận nếu tác tử còn lại không thú nhận và nhận kết quả 0 và 1 cho không thú nhận và thú nhận nếu tác tử còn lại
Trang 20Giả sử có n tác tử trong một hệ đa tác tử, gọi a-i là hành động chung của tất
cả tác tử trừ tác tử thứ i và (a-i, ai) là hành động chung được tạo thành từ a-i và hành động ai của tác tử i Như vậy hành động chung a-i thực chất là một tập hợp các hành động riêng bao của bao gồm n-1 tác tử Hành động có ưu thế được định nghĩa như sau
Định nghĩa 2.1 Hành động a i của tác tử i được gọi là ưu thế hoàn toàn (gọi tắt là ưu thế) so với hành động a’ i của cùng tác tử đó nếu u((a -i , a i )) > u(a -i , a’ i )), ∀ a -i
Hành động a’i khi đó được gọi là kém ưu thế so với ai
Theo định nghĩa này, thú nhận là hành động có ưu thế hoàn toàn so với không thú nhận trong ví dụ trò chơi hai người tù
Như đã nói, tác tử tham gia trò chơi là tác tử có lí trí, và do vậy chúng sẽ không lựa chọn hành động kém ưu thế so với hành động khác Kết hợp với định nghĩa hành động có ưu thế và kém ưu thế ở trên ta có thể xây dựng thủ tục rút gọn bài toán như sau
Thủ tục bỏ hành động kém ưu thế: Loại bỏ hành động kém ưu thế được thực hiện bằng cách lần lượt xem xét từng hành động của từng tác tử Nếu một hành động là kém ưu thế so với hành động khác thì loại bỏ hành động kém ưu thế Thủ tục này có thể thực hiện theo bất cứ thứ tự nào và không phụ thuộc vào
số lượng hành động bị loại bỏ ở mỗi bước Nếu chỉ có một hành động duy nhất còn lại sau khi thực hiện thủ tục thì đó là hành động trội và là lựa chọn duy nhất hợp lí của tác tử
Trong trò chơi hai người tù trên hình 2.1, giả sử ta bắt đầu thủ tục loại bỏ
hành động kém ưu thế từ tác tử thứ nhất Hành động không thú nhận là hành
động kém ưu thế so với thú nhận, do vậy bị loại bỏ, ma trận chỉ còn lại dòng thứ
hai Tiếp tục với tác tử thứ hai, so sánh hai khả năng thú nhận và không thú nhận , ta có thể bỏ nốt cột thứ nhất tương ứng với hành động kém ưu thế không thú nhận (nhận giá trị thưởng 0 so với 1 nếu thú nhận) Như vậy ma trận chỉ còn
Trang 21lại một ô tương ứng với hành động chung (thú nhận, thú nhận), đây chính là lời
giải mà thủ tục loại bỏ hành động kém ưu thế tìm ra
Ý tưởng của cân bằng Nash xuất phát từ nhận xét: khi lựa chọn chiến lược, tác tử cần quan tâm tới chiến lược của các tác tử còn lại và lựa chọn hành động phù hợp nhất với hành động của tác tử này Xét ví dụ sau Khi lái xe trên đường hai chiều, ta cần chọn lái bên phải hoặc bên trái đường để tránh đâm vào xe đi ngược chiều Nếu lái xe ở đất nước ta, lựa chọn hợp lí duy nhất là lái xe ở phần đường bên phải Rõ ràng, nếu những người khác cùng lái về bên phải thì hành động cho kết quả tốt nhất mà ta có thể lựa chọn là cũng lái sang phải Đây chính
là phản ứng hợp lí đối với chiến lược của tác tử khác và tạo thành cân bằng Nash
Cân bằng Nash được định nghĩa theo hai cách như sau
Định nghĩa 2.2 Cân bằng Nash là hành động chung (a 0 -i , a 0 i ) sao cho với mọi tác tử i ta có u i (a 0 -i , a 0 i ) ≥ u i (a 0 -i , a i ), ∀ a i ∈ A i
Theo định nghĩa này, cân bằng Nash là hành động chung mà bất cứ tác tử nào nếu đơn phương thay đổi cũng sẽ phải nhận kết quả không tốt hơn Do vậy, tác tử không được lợi gì nếu đơn phương từ bỏ cân bằng Nash
Định nghĩa 2.3 Gọi B i (a -i ) là tập hành động của tác tử i cho kết quả tốt nhất khi các tác tử còn lại lựa chọn hành động a -i , tức là B i (a -i ) = {a i ∈ A i : u i (a -
i , a i ) ≥ u i (a -i , a’ i ), ∀ a’ i} Cân bằng Nash là hành động chung a0
sao cho với mọi tác tử i ta có
Trang 22a0i ∈ Bi(a0-i) Trong ví dụ hai người tù, giá trị tập B1 cho tác tử thứ nhất là
B 1 (Không thú nhận) = {Thú nhận} Thật vậy, nếu tác tử 2 không thú nhận thì giá trị hàm thưởng của tác tử 1 là 4 cho thú nhận lớn hơn 3 cho không thú nhận Tương tự, ta có
B 1 (Thú nhận) = {Thú nhận}
Với tác tử thứ hai ta cũng có
B 2 {Không thú nhận} = B 2 {Thú nhận} = {Thú nhận}
Như vậy vân bằng Nash là {Thú nhận, Thú nhận}
Hai định nghĩa trên của cân bằng Nash là tương đương nhau Tuy nhiên định nghĩa 2 nhấn mạnh ý nghĩa của cân bằng Nash như tập hợp các phản ứng tốt nhất của mỗi tác tử với chiến lược của những tác tử còn lại
Khái niệm cân bằng Nash cho phép xác định hành động chung hợp lí của tác tử Khác với thủ tục loại bỏ hành động kém ưu thế trình bày ở trên, việc sử dụng cân bằng Nash chỉ đưa điều kiện hành động chung cần thoả mãn mà không chỉ rõ các bước để tìm ra hành động đó Thông thường, cân bằng Nash được xây dựng bằng cách tìm kiếm vét cạn tức là xem xét toàn bộ hành động chung cho đến khi tìm được cân bằng Phương pháp này đòi hỏi khối lượng tính toán là hàm mũ của số tác tử do vậy không thể thực hiện được trong những trường hợp
có số lượng tác tử lớn
Đánh giá cân bằng Nash và hành động có ưu thế: Cân bằng Nash là khái
niệm mạnh hơn hành động có ưu thế Điểm mạnh của cân bằng Nash thể hiện ở chỗ trong nhiều trường hợp không tồn tại hành động có ưu thế hoàn toàn, ta vẫn tìm được cân bằng Nash Ngoài ra, ưu điểm của cân bằng Nash so với hành động có ưu thế còn thể hiện qua hai tính chất sau:
1 Thủ tục loại bỏ hành động kém ưu thế không bao giờ loại bỏ cân bằng Nash nếu có
Trang 232 Nếu thủ tục loại bỏ hành động kém ưu thế tìm được một hành động chung hoàn toàn ưu thế duy nhất thì hành động chung này cũng chính là cân bằng Nash của trò chơi
Nếu trò chơi có một cân bằng Nash duy nhất, đó chính là hành động chung
mà các tác tử lựa chọn và đây cũng là lời giải cho trò chơi Tuy nhiên, một số trò chơi chiến lược không có cân bằng Nash trong khi một số trò chơi khác lại có nhiều hơn một cân bằng Nash Ví dụ, trò chơi cạnh tranh với ma trận thưởng ở hình 2.2 không có cân bằng Nash, trong khi đó trò chơi lái xe trên đường có hai cân bằng Nash: cân bằng thứ nhất là tất cả cùng lái xe về bên trái, cân bằng thứ hai là tất cả lái xe về bên phải Cả hai trường hợp này đều gây khó khăn trong việc dự đoán hành động của tác tử
- Nếu cân bằng Nash không tồn tại, ta không thể dự đoán được tác tử hành động thế nào
- Ngược lại, nếu có nhiều cân bằng Nash, rất khó xác định cần đạt được cân bằng nào Ví dụ, nếu lái xe ở một nước không có luật giao thông, hai lái xe đi ngược chiều có thể đâm nhau do không biết nên cùng lái về bên phải hay cùng lái về bên trái
Vấn đề tương tác trong hệ đa tác tử thường được chia làm hai loại đó là chung lợi ích hoặc mâu thuẫn lợi ích, các dạng toán tương tác trong hệ đa tác tử thường rất phong phú, đa dạng đòi hỏi việc thiết kế ứng dụng phải linh hoạt, có
sự phân tích kỹ lưỡng, nếu không rất dễ đem lại những kết quả không mong muốn [6]
2.2 Phối hợp trong hệ đa tác tử
2.2.1 Thế nào là phối hợp trong hệ đa tác tử
Mục đích chính của việc xây dựng và ứng dụng hệ đa tác tử là kết hợp khả năng của nhiều tác tử để giải quyết một số nhiệm vụ Trong một hệ thống có nhiều thành viên với đặc điểm tự chủ như vậy, nếu mỗi thành viên hành động theo cách của mình, không tương tác hợp lí với những thành viên khác thì toàn
Trang 24hệ thống sẽ hoạt động rời rạc, không ăn ý, thành viên của hệ thống, thay vì đóng góp vào giải quyết công việc chung, có thể cản trở lẫn nhau, làm ảnh hưởng tới hoạt động của thành viên khác Hệ thống khi đó sẽ hoạt động kém hiệu quả, cho kết quả ngược với mong đợi Để giải quyết vấn đề này, khi thiết kế và xây dựng
hệ đa tác tử cần đặc biệt quan tâm đến vấn đề phối hợp (coordination)
Phối hợp là tổ chức và quản lí quan hệ phụ thuộc trong hành động của các tác tử sao cho toàn hệ thống hoạt động một cách thống nhất [6]
Cụ thể hơn, quá trình phối hợp phải cho phép đáp ứng những yêu cầu sau: thứ nhất, đảm bảo các phần việc của nhiệm vụ chung được sắp xếp trong kế
hoạch của ít nhất một tác tử (đảm bảo công việc sẽ được ai đó thực hiện); thứ hai, tác tử tương tác với nhau sao cho hoạt động của tác tử được kết hợp với
nhau để tạo thành kết quả chung; thứ ba, các yêu cầu đó phải được thực hiện
trong một thời gian hữu hạn với số lượng tài nguyên tính toán hợp lí
Phối hợp đóng vai trò quan trọng trong các nghiên cứu về hệ đa tác tử nói riêng và trí tuệ phân tán nói chung Đây cũng là đối tượng nghiên cứu của nhiều ngành khoa học xã hội khác như xã hội học, kinh tế, tâm lí xã hội, chính trị học, luật, nhân loại học Chẳng hạn, xã hội học nghiên cứu sự phối hợp giữa những người trong một nhóm với kích thước nhóm khác nhau; kinh tế học nghiên cứu quá trình phối hợp trên thị trường giữa những công ty hạch toán độc lập Các hệ thống sinh học cũng biểu hiện khả năng phối hợp, chẳng hạn hoạt động của não được tạo thành từ sự phối hợp của các nơron đơn giản
2.2.2 Sự cần thiết phải phối hợp
Sau đây là một số lí do vì sao phối hợp lại cần thiết đối với hệ đa tác tử
Hành động của mỗi tác tử trong cùng một hệ phụ thuộc vào hành động của một hay nhiều tác tử khác, chúng phụ thuộc vào nhau trong hai trường hợp: 1) Quyết định của tác tử này ảnh hưởng đến quyết định của tác tử khác, chẳng hạn, khi hai tác tử cùng di chuyển một vật nặng theo một quỹ đạo cho
Trang 25trước, mỗi lực tác động của từng tác tử tại một thời điểm luôn cần có sự phối hợp sao cho vật nặng không đi lệch khỏi quỹ đạo;
2) Hành động của các tác tử có thể mâu thuẫn với nhau, ví dụ nếu nhiều tác
tử - robot có nhu cầu di chuyển qua một cửa trong khi cửa chỉ cho phép từng tác tử đi qua thì có thể dẫn tới va chạm
Phối hợp nhằm làm tránh tình trạng hỗn loạn trong hệ đa tác tử Trong hệ thống bao gồm nhiều tác tử, mỗi tác tử chỉ có hình dung cục bộ về môi trường
và hành động của mình, hành động của nhiều tác tử có thể mâu thuẫn với nhau, tình trạng hỗn loạn là rất tự nhiên và không thể tránh khỏi nếu không có cơ chế phối hợp Ví dụ trên sân bóng các cầu thủ chơi một cách tự do, không có huấn luyện viên, không có đội trưởng, ai cũng muốn làm tiền đạo ghi bàn dẫn tới tình trạng loạn đội hình
Phối hợp cho phép đạt được mục tiêu đề ra của cả hệ thống Mục tiêu đề
ra của hệ thống là ràng buộc mà nhóm tác tử cần thoả mãn trong quá trình hoạt động Chẳng hạn, nhóm tác tử làm nhiệm vụ xây dựng một ngôi nhà chỉ được phép sử dụng một số tiền nhất định để hoàn thành ngôi nhà đó Hoặc hệ tác tử làm nhiệm vụ điều khiển quá trình công nghiệp phải kịp đưa ra hành động trong một khoảng thời gian nào đó Nếu mỗi tác tử làm việc riêng rẽ và đều cố gắng tối ưu hàm mục tiêu riêng của mình thì các ràng buộc này sẽ bị phá vỡ Trong ví
dụ trên, mỗi tác tử có thể cố gắng sử dụng số tiền tối đa có thể hoặc sử dụng nhiều thời gian hơn để ra quyết định
Không cá thể nào có khả năng thực hiện công việc một mình do hạn chế
về tài nguyên, khả năng hoặc thông tin Nhiều công việc không thể hoàn thành bởi những tác tử hoạt động riêng rẽ do không đủ khả năng, tài nguyên hoặc thông tin Việc tạo ra một tác tử vạn năng bao gồm những thành phần có khả năng thực hiện mọi nhiệm vụ có thể không thực tế hoặc kém hiệu quả, và do vậy, phối hợp nhiều tác tử có khả năng giải quyết vấn đề độc lập là giải pháp tối
ưu hơn hết Tác tử với khả năng kinh nghiệm khác nhau có thể phối hợp như các chuyên gia y tế phối hợp kinh nghiệm của mình trong chuNn đoán và điều trị
Trang 26bệnh nhân Tác tử có thể có tài nguyên khác nhau (bộ nhớ, thời gian CPU, đường truyền) cần thiết cho các bài toán phức tạp Tác tử có thể chia sẻ các thông tin của mình để tạo ra nguồn thông tin chung cần thiết (ví dụ tác tử làm nhiệm vụ điều khiển giao thông có thể kết hợp thông tin từ những camera riêng
rẽ để có cái nhìn toàn cảnh)
Trong nhiều trường hợp các tác tử có thể hoàn toàn hoạt động độc lập nhưng thông tin của tác tử này lại có ích cho tác tử khác, khi đó phối hợp sẽ giúp giảm chi phí thừa trong hệ thống [22] Lấy ví dụ tình huống sau: “Tôi tìm được một bài báo trên mạng Tôi biết rằng bài báo đó cũng cần thiết cho bạn tôi Tôi
in thêm một bản và đưa cho bạn tôi” Rõ ràng, phối hợp trong trường hợp này là không nhất thiết Bạn tôi cũng có thể tự tìm và in bài báo đó Nhưng việc chủ động phối hợp cho phép bạn tôi tiết kiệm thời gian tìm kiếm và tải bài báo về
2.2.3 Một số đặc điểm của phối hợp trong hệ tác tử
Phối hợp trong hệ đa tác tử xuất hiện trong thời gian hệ thống hoạt động
Do vậy tác tử phải có khả năng phát hiện yêu cầu phối hợp và thực hiện phối hợp như một phần trong hoạt động của mình Đặc điểm này khác với các hệ thống phân tán truyền thống trong đó quá trình phối hợp giữa các thành phần được dự đoán trước trong quá trình thiết kế
Một điều cần ghi nhớ là phối hợp và hợp tác không nhất thiết phải đi cùng
với nhau Nhiều tác tử hợp tác với nhau trong công việc chung không được phối hợp tốt có thể dẫn tới hỗn loạn, thiếu thống nhất Để có thể hợp tác hiệu quả, tác
tử cần lưu trữ mô hình về tác tử khác cũng như hình dung về các tương tác tương lai Trong khi đó, phối hợp có thể thực hiện cho các tác tử không hợp tác với nhau Ví dụ, mặc dù những người tham gia giao thông không quen biết và không có công việc chung cần hợp tác, giao thông vẫn được điều phối bằng cách ban hành hệ thống luật, quy tắc và sử dụng các phương tiện điều khiển giao thông Thậm chí, điều phối có thể thực hiện đối với hệ thống bao gồm những tác
tử cạnh tranh với nhau Quy luật cạnh tranh là một cơ chế phối hợp được nghiên cứu kỹ trong kinh tế học
Trang 27Để thực hiện phối hợp, tác tử có thể liên lạc với nhau Tuy nhiên, liên lạc không phải là điều kiện bắt buộc cho phối hợp Phối hợp không thông qua liên lạc có thể thực hiện nếu mỗi tác tử có được hình dung về các hành động của tác
Hai hoặc nhiều hành động có quan hệ tiêu cực hay quan hệ mâu thuẫn với
nhau nếu việc thực hiện hành động này gây trở ngại cho việc thực hiện đồng thời các hành động khác Nguyên nhân của quan hệ tiêu cực có thể do mâu
thuẫn về mục tiêu hành động hay do hạn chế về tài nguyên Ngược lại, quan hệ tích cực là quan hệ cho phép hành động này được lợi từ việc thực hiện hành động khác Việc kết hợp hành động có quan hệ tích cực cho kết quả tốt hơn so với thực hiện những hành động này một cách độc lập Quan hệ tích cực được
phân chia tiếp thành một số dạng sau Quan hệ bình đẳng là quan hệ khi một
hành động không gắn với một tác tử cụ thể và do đó có thể được thực hiện bởi
Quan hệ giữa các hành động
Mục tiêu khác
nhau
Quan hệ tích cực
Quan hệ bình đẳng
Quan hệ giúp đỡ
Trang 28bất cứ tác tử nào Quan hệ gộp là quan hệ khi hành động A của một tác tử X là
một phần trong hành động B của tác tử Y, do vậy khi Y thực hiện hành động B
của mình, hành động A cũng được thực hiện theo Quan hệ giúp đỡ là quan hệ
trong đó việc thực hiện hành động này có lợi cho việc thực hiện hành động khác
Việc xác định quan hệ giữa hai hành động rất quan trọng cho việc phối hợp hành động Trong trường hợp phối hợp được thực hiện tập trung, việc xác định quan hệ hành động tương đối đơn giản Ngược lại, nếu phối hợp được thực hiện phân tán, việc xác định trước quan hệ giữa các hành động thường rất khó khăn Đặc điểm này là nguyên nhân chính dẫn tới sự phức tạp trong kế hoạch phân tán
2.2.5 Chia sẻ công việc
Một trong các chiến lược thường được sử dụng để phối hợp tác tử trong
giải quyết vấn đề phân tán là chia sẻ công việc (task sharing) Ý tưởng chia sẻ
công việc rất đơn giản: khi tác tử có nhiều việc phải thực hiện hoặc có những phần việc không có khả năng thực hiện, tác tử có thể yêu cầu các tác tử khác với
ít việc hơn hay có khả năng hơn thực hiện một phần việc giúp mình
Phân rã nhiệm vụ: Nhiệm vụ (hoặc công việc) được chia thành các phần
việc nhỏ hơn (bài toán con) mà các tác tử có thể thực hiện Nếu cần thiết, phần việc con sinh ra lại được phân rã tiếp để tạo thành những phần việc nhỏ hơn Quá trình này có thể tiếp tục cho tới khi từng phần việc đủ nhỏ để từng tác tử riêng có thể thực hiện được
Phân phối công việc: Các phần việc sau khi đã được phân rã sẽ được
phân phối đến những tác tử thích hợp để thực hiện
Thực hiện công việc: Tác tử tương ứng thực hiện phần việc được giao
Mỗi tác tử sau khi nhận phần việc của mình lại có thể tiếp tục phân chia thành những phần việc nhỏ hơn và giao cho tác tử khác thực hiện Quá trình phân rã,
Trang 29phân phối và thực hiện lặp lại cho đến khi mỗi tác tử có thể tự thực hiện phần việc của mình mà không cần chia sẻ tiếp
Tổng hợp kết quả: sau khi thực hiện xong phần việc của mình, tác tử gửi
kết quả cho tác tử gốc (tác tử quản lý) Tác tử gốc kết hợp kết quả thành phần để nhận được kết quả chung
Phân rã công việc Phân phối và thực hiện Tổng hợp kết quả
công việc
Hình 2.4: Mô hình chia sẻ công việc
Tuỳ trường hợp cụ thể, các bước nêu trên có thể phức tạp hoặc đơn giản Chẳng hạn, nếu bản thân nhiệm vụ ban đầu đã có dạng tập hợp nhiều công việc con, khi đó, bước phân rã công việc là không cần thiết Nếu tác tử có thể giao công việc cho một số lượng không hạn chế tác tử với khả năng giống nhau thì bước hai có thể thực hiện dễ dàng không cần lựa chọn gì đặc biệt Tương tự như vậy, trong nhiều trường hợp, kết quả thực hiện phần việc con đòi hỏi quá trình tổng hợp kết quả phức tạp, và do vậy có thể bỏ qua bước thứ tư
Phân chia công việc theo cách thức đấu thầu
Quá trình phân công nhiệm vụ trở nên phức tạp hơn nhiều khi các tác tử trong hệ thống có khả năng khác nhau; các phần việc con không giống nhau cả
TT
TT
TT
TT
Trang 30về kích thước lẫn yêu cầu; phần việc con vẫn còn tương đối lớn đòi hỏi phân chia tiếp Các hệ thống như vậy rất phổ biến trên thực tế do một số nguyên nhân sau:
- Hệ tác tử thường không bao gồm các tác tử vạn năng mà chỉ có các tác tử với chuyên môn hẹp, mỗi tác tử chỉ có thể thực hiện một số loại công việc nhất định Đặc điểm này tương tự hệ thống làm việc của con người, việc kết hợp chuyên gia với chuyên môn hẹp khác nhau cho hiệu quả tốt hơn hoặc kinh tế hơn sử dụng những người toàn năng
- Công việc cần thực hiện cùng thường có cấu trúc phức tạp, có thể phân chia theo nhiều cách khác nhau
Vấn đề đặt ra là làm thế nào thực hiện chia sẻ công việc trong hệ thống như vậy một cách tối ưu và có hiệu quả cao nhất Theo một giải pháp đơn giản nhất, mỗi tác tử có một bảng riêng lưu thông tin về khả năng của tác tử khác Khi cần chia việc, tác tử sẽ căn cứ vào bảng này để cử ra tác tử phù hợp Mặc dù đơn giản nhưng phương pháp này không thích nghi với thay đổi trạng thái trong hệ thống Giả sử, sau khi tìm trong bảng nói trên, tác tử phát hiện ra một số tác tử
có thể thực hiện phần việc vừa sinh ra Tuy nhiên, một vài tác tử trong số đó đã được giao việc khác và đang bận thực hiện việc này Vậy làm thế nào để biết được tác tử nào đang rỗi và giao việc phù hợp?
Một trong những cơ chế chia sẻ công việc được biết đến nhiều nhất cho
phép giải quyết vấn đề nói trên là mạng đấu thầu hay đơn giản là đấu thầu Đấu
thầu là giao thức bậc cao cho phép tác tử hợp tác một cách hiệu quả nhờ chia sẻ công việc Mạng đấu thầu bao gồm tập hợp các tác tử thực hiện cơ chế đấu thầu qua các bước sau
Bước 1: Tác tử đánh giá công việc và nhận thấy cần sự giúp đỡ của tác tử
khác để thực hiện công việc của mình Tác tử cần sự giúp đỡ trong ít nhất một trong các trường hợp sau:
- Tác tử không thể thực hiện được được công việc hiện có do không có khả năng hoặc tài nguyên cần thiết;
Trang 31- Sự giúp đỡ của tác tử khác cho phép thực hiện công việc tốt hơn hoặc nhanh hơn
Bước 2: Tác tử chia công việc thành các phần việc nhỏ hơn và gửi thông
báo về phần việc tới các tác tử khác Thông thường, tác tử gửi thông báo tới tất
cả các tác tử còn lại, cách này gọi là đấu thầu công khai Nếu có thông tin về
một số tác tử có khả năng thực hiện công việc, thông báo sẽ được hạn chế chi
gửi đến các tác tử đó, cách này gọi là đấu thầu hạn chế Trong trường hợp tác tử
biết đích xác tác tử nào có khả năng nhận công việc hiện tại, thông báo sẽ được
gửi đích danh đến tác tử đó, cách thông báo này gọi là chỉ định thầu Tác tử thực hiện phân chia công việc và gửi thông báo được gọi là tác tử quản lí (manager)
Cũng chính tác tử quản lí sau đó chịu trách nhiệm theo dõi việc thực hiện và tổng hợp kết quả thành phần
Bước 3: Các tác tử khác sau khi nhận được thông báo sẽ ra quyết định có
bỏ thầu (nhận việc) hay không Để quyết định về việc bỏ thầu, tác tử cần đánh giá các yếu tố sau:
- Khả năng của tác tử thực hiện công việc Khả năng này bao gồm khả năng bốn có của tác tử và tình trạng hiện tại (tác tử có bận thực hiện công việc khác hay không, tài nguyên còn lại có đủ không);
- Các ràng buộc và giá thành thực hiện (nếu có) Giá thành thực hiện được tính dưới dạng ích lợi mà tác tử thu được hoặc lượng tài nguyên
mà tác tử cần sử dụng để thực hiện công việc đó Nếu quyết định bỏ thầu, tác tử gửi đề nghị nhận thầu cho tác tử quản lí Thông báo này có thể chứa thông tin về giá thành và thời hạn thực hiện
Bước 4: Tác tử quản lí có thể nhận được nhiều đề nghị từ những tác tử
khác nhau Khi đó, tác tử quản lí lựa chọn trong số này một tác tử trúng thầu Quy trình lựa chọn phụ thuộc vào trường hợp cụ thể nhưng thường dựa trên giá thành và thời gian kèm theo đề nghị Tác tử gửi thông báo cho tác tử trúng thầu
và tác tử này trở thành nhà thầu đối với công việc nhận được Sau khi trở thành
nhà thầu, tác tử có trách nhiệm hoàn thành công việc đó Mỗi nhà thầu có thể tự
Trang 32thực hiện công việc nhận được hoặc chia công việc thành các phần nhỏ hơn và mời các tác tử khác thầu lại Khi đó tác tử nhà thầu đóng vai trò tác tử quản lí đối với các gói thầu mới Sau đây là một số chi tiết cụ thể liên quan đến giao thức đấu thầu cho các hệ tác tử
- Định dạng thông báo mời thầu:
o Yêu cầu về khả năng nhà thầu: danh sách các tiêu chí mà tác tử
phải có để có thể trở thành nhà thầu Khi nhận được thông báo mời thầu, tác tử xem xét thông tin này để đánh giá khả năng tham gia của mình
o Mô tả công việc: mô tả công việc được thông báo, mô tả này cho
phép tác tử nhận thông báo so sánh thông báo với các lời mời thầu khác
o Yêu cầu với đề nghị bỏ thầu: mô tả khuôn dạng và thông tin cần có
trong đề nghị bỏ thầu Tác tử quản lí có thể yêu cầu các tác tử khác chỉ cung cấp các thông tin cần thiết cho việc đánh giá trong đề nghị
bỏ thầu
o Hạn bỏ thầu: là thời hạn cuối cho việc nhận thông báo bỏ thầu Sau
khi hết thời hạn này, tác tử quản lí xem xét các đề nghị nhận được
để chọn ra một tác tử làm nhà thầu
- Không tác tử nào có thể thực hiện công việc được thông báo Trong trường hợp tất cả các tác tử đều bận và không thể nhận thầu, tác tử quản lí có thể chọn một trong các cách giải quyết sau:
o Nếu đang sử dụng chế độ thông báo hạn chế hoặc thông báo trực tiếp, tác tử quản lí mở rộng khoảng mời thầu bằng cách thông báo quảng bá tới tất cả các tác tử trong mạng đấu thầu Việc quảng bá thông báo cho phép tìm được những tác tử mặc dù không nằm trong danh sách ứng cử viên ban đầu nhưng có khả năng thực hiện công việc được thông báo
o Lặp lại việc gửi thông báo mời thầu Việc gửi thông báo mời thầu
sẽ được định kỳ lặp lại cho đến khi một tác tử nào đó kết thúc công
Trang 33việc của mình và có thể tham gia vào phiên đấu thầu Thông số quan trọng khi đó là khoảng thời gian giữa các lần lặp lại thông báo Nếu thông báo được lặp lại quá thưa, tác tử sẽ không tận dụng được ngay các tác tử vừa được giải phóng Ngược lại, thông báo lặp lại quá thường xuyên sẽ làm tăng chi phí truyền thông cho chuyến thông báo Một giải pháp hợp lí hơn là cho phép các nhà thầu thông báo về tình trạng sẵn sàng của mình Khi nhận được thông báo này, tác tử quản lí sẽ lặp lại thông báo mời thầu đang bị treo
o Thay đổi thông báo mời thầu bằng cách giảm bớt yêu cầu đối với nhà thầu Trong trường hợp yêu cầu về khả năng nhà thầu trong thông báo ban đầu quá chặt chẽ, tác tử quản lí có thể giảm bớt các yêu cầu này để tìm ra các nhà thầu mới Bằng cách thay đổi các yêu cầu này, tác tử có thể xác định sự ưu tiên của mình đối với chất lượng dịch vụ
o Thay đổi lại cách phân rã công việc Việc phân chia công việc theo cách khác có thể cho phép tìm ra nhà thầu thích hợp với các phần việc mới Do công việc có thể phân rã theo nhiều cách khác nhau, quan hệ giữa phân rã công việc và khả năng tìm nhà thầu (phân chia công việc) là rất phức tạp và hiện tại chưa có phương pháp hiệu quả cho phép giải quyết vấn đề này
Đấu thầu là phương pháp phối hợp tác được sử dụng và nghiên cứu nhiều nhất trong vấn đề trí tuệ phân tán phân tán Ưu điểm chính của đấu thầu là đơn giản, trực quan, dễ hiểu và dễ thực hiện cho phép thích nghi với thay đổi trạng thái của từng tác tử trong hệ thống Mỗi tác tử đều có thể đóng vai trò tác tử quản lí hay tác tử nhà thầu tuỳ thuộc vào khả năng và trạng thái hiện thời của tác
tử [6]
2.2.6 Chia sẻ kết quả
Một chiến lược khác cho phép phối hợp các tác tử hợp tác là chia sẻ kết quả Chia sẻ kết quả là phương pháp giải quyết vấn đề phân tán trong đó các tác
Trang 34tử trao đổi thông tin về kết quả thực hiện công việc của mình Quá trình trao đổi thông tin bắt đầu từ thông tin về những kết quả đơn giản và tiếp tục bằng việc trao đổi những kết quả lớn hơn với độ phức tạp cao hơn Một trong các lí do phải trao đổi kết quả là kết quả thực hiện công việc của từng tác tử phụ thuộc vào trạng thái và khả năng tác tử đó, do vậy kết quả thực hiện cùng một công việc trên những tác tử khác nhau có thể khác nhau Ví dụ, với cùng một bài tập, những sinh viên khác nhau có thể cho lời giải khác nhau Chia sẽ kết quả, do vậy, cho phép cải thiện kết quả chung của cả nhóm tác tử trên những phương diện sau:
Tăng độ tin cậy: Kết quả sinh ra độc lập bởi các tác tử khác nhau cho
cùng một công việc có thể dùng để kiểm tra lẫn nhau, củng cố ủng hộ nhau và sinh ra giải pháp tập thể có độ tin cậy cao hơn
Tăng độ trọn vẹn của lời giải: Thông thường mỗi tác tử chỉ thực hiện
một phần công việc Chia sẻ kết quả cho phép tổng hợp kết quả các phần việc để
có lời giải tổng thể và trọn vẹn cho toàn bộ công việc
Tăng độ chính xác: Để hiệu chỉnh kết quả của mình, tác tử cần biết kết
quả các phần việc do tác tử khác thực hiện Ví dụ, trong trường hợp nhiều tác giả cùng tham gia viết một cuốn sách, mỗi tác giả cần biết đồng nghiệp của mình viết gì để điều chỉnh nội dung viết của mình cho phù hợp
Giảm thời gian thực hiện: Ngay cả khi tác tử có thể thực hiện công việc
một mình, thực hiện các phần việc song song và chia sẻ kết quả thường cho kết quả với thời gian ngắn hơn Có thể lấy lại ví dụ ở đầu chương: khi tôi tìm được một bài báo hay, tôi cho bạn tôi xem, nhờ vậy bạn tôi đỡ mất thời gian để tìm bài báo này
Mặc dù lợi ích của chia sẻ kết quả là rất rõ ràng, để có thể chia sẻ kết quả
và sử dụng kết quả được chia sẻ, cần giải quyết hai vấn đề sau Thứ nhất, xử lí kết quả được chia sẻ thế nào cho có ích cho công việc của riêng mình Thứ hai,
do thông tin về kết quả có thể rất nhiều, cần trao đổi thông tin có lựa chọn để tránh chi phí truyền thông cao và quá tải mạng
Trang 352.2.7 Hợp tác chính xác về chức năng
Giả sử công việc chung bao gồm những phần việc liên quan đến nhau và những phần việc này được giao cho những tác tử khác nhau thực hiện Để thực hiện phần việc của mình, mỗi tác tử cần biết kết quả thực hiện những phần việc khác Tuy nhiên, do tác tử không biết trước các kết quả này, hoạt động của tác tử
có thể không nhất quán với nhau Để khắc phục tình trạng này, tác tử có thể dự kiến trước kết quả các phần việc khác và thực hiện phần việc của mình trên cơ
sở các kết quả dự kiến này, đồng thời trao đổi thông tin với tác tử khác để điều chỉnh dần kết quả dự kiến, qua đó điều chỉnh hoạt động của mình Tất nhiên, kết quả mà tác tử dự kiến ban đầu có thể sai, nhưng qua trao đổi kết quả thực tế và điều chỉnh cuối cùng tác tử sẽ có được kết quả đúng Đặc điểm của quá trình điều chỉnh trong đó kết quả là kết quả đúng được gọi là chính xác về chức năng
(functionally accurate - FA) Quá trình điều chỉnh được thực hiện nhờ trao đổi
thông tin lặp đi lặp lại, hay nhờ hợp tác (cooperative - C) với tác tử khác Hệ thống cho phép hợp tác nhất quán với nhau như vậy, do đó, được gọi là hợp tác chính xác về chức năng (FA/C) [21]
Bản chất của hợp tác đúng đắn về chức năng là tác tử xem xét kết quả thành phần của mình và kết quả nhận được từ tác tử khác như các kết quả có tính dự kiến Dựa trên những kết quả dự kiến này, tác tử có thể theo đuổi hoặc so sánh đồng thời vài phương án Trao đổi kết quả dự kiến cho phép nâng cao độ toàn vẹn, độ chính xác cũng như độ tin cậy của kết quả Việc sử dụng các kết quả thành phần cho phép tạo ra kết quả lớn hơn Sử dụng kết quả của tác tử khác cho phép điều chỉnh kế hoạch và kết quả của mình Cuối cùng, so sánh nhiều giải pháp (hỗ trợ nhau hoặc mâu thuẫn nhau) cho phép tăng độ tin cậy của giải pháp lựa chọn
Nhờ trao đổi kết quả thành phần theo FA/C, đến một thời điểm nhất định, ít nhất một tác tử trong hệ thống sẽ có đầy đủ thông tin cần thiết để tạo ra giải pháp tổng thể Tuy nhiên, việc trao đổi thông tin không lựa chọn có thể dẫn tới tình trạng trao đổi quá nhiều kết quả, làm phí phạm chi phí truyền thông và tài
Trang 36nguyên tính toán Bên cạnh đó, hạn chế trao đổi thông tin còn cho phép tăng tính hoài nghi của tác tử khi nhận và số lượng kết quả từ tác tử khác Sau đây là một
số giải pháp cho phép hạn chế trao đổi thông tin
2.2.8 Phối hợp nhờ cấu trúc tổ chức
Một phương pháp khác cho phép hạn chế trao đổi thông tin là sử dụng thông tin về cấu trúc của công việc để tổ chức hệ đa tác tử Ví dụ, trong toàn bộ công việc thiết kế, một số chi tiết liên quan đến nhau nhiều hơn và do vậy tác tử chịu trách nhiệm thiết kế các phần việc này cũng trao đổi thông tin với nhau nhiều hơn với những tác tử khác
Trên cơ sở những nhận xét như vậy, một cấu trúc tổ chức được xác định
trong cộng đồng tác tử Cấu trúc tổ chức hay đơn giản tổ chức trong hệ đa tác tử
bao gồm các quy định về chức năng, trách nhiệm, phạm vi quan tâm và thNm quyền của từng tác tử trong hệ thống Cấu trúc tổ chức gán cho mỗi tác tử một
số loại công việc mà tác tử có thể thực hiện, cũng như thứ tự ưu tiên khi tác tử đồng thời nhận được nhiều công việc thuộc về những loại khác nhau Ví dụ, trong một đội bóng, nhiệm vụ của thủ môn là bảo vệ khung thành của đội mình,
do vậy trong đa số trường hợp thủ môn không cần chạy lên phía trước để ghi bàn
Do mỗi tác tử có một trách nhiệm nhất định, tác tử đó cần được thông tin về các kết quả thành phần có ảnh hưởng đến việc hoàn thành trách nhiệm của mình, trong khi không cần quan tâm đến những kết quả không liên quan đến việc thực hiện trách nhiệm đó Như vậy, cấu trúc tổ chức cho phép xác định ai là người quan tâm đến một kết quả thành phần nào đó Cấu trúc tổ chức cũng quy định mức độ hành động của tác tử khi nhận được kết quả thành phần (chẳng hạn tác
tử có độ ưu tiên cao hơn có thể thay đổi kết quả của tác tử mức dưới, trong khi tác tử mức dưới không có quyền này)
Cấu trúc tổ chức có nhiều điểm tương tự tổ chức trong các cơ quan của con người: mỗi người có trách nhiệm thực hiện một số loại công việc, mỗi người đều