Tải bản đầy đủ (.pdf) (73 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (954.12 KB, 73 trang )

ĐẠ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

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH


MỞ ĐẦ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”.
1


2. 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.

2


3. 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 QLearning 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.

3


CHƯƠ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
4


nhậ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


5


Tí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ử.
6


1.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:

7


- 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ả
8


nhữ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.

9


• 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
10


mô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.
11


1.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.
12


1.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.

13


CHƯƠ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:
14


• 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 Q i, 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
15


củ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
16


tá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


17


chọ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.
Sấp

Ngửa

Sấp

-1 , 1

1 , -1

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
thú nhận).
Nhận xét này cho phép rút gọn tập các hành động tác tử nên lựa chọn và
trong một số trường hợp cho phép tìm ra hành động tốt nhất. Việc loại bỏ các
hành động không nên lựa chọn dựa trên khái niệm hành động ưu thế (dominant
actions) được phát biểu như sau:

18


Giả 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 ai 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, ai)) > 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
19


lạ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.
2.1.2.2 Cân bằng Nash
Trong một số trường hợp, việc loại bỏ hành động kém ưu thế không cho
phép tìm ra lời giải chính xác. Trong phần này, ta sẽ xem xét một phương pháp
có thể cho lời giải chính xác hơn, đó là phương pháp dựa trên cân bằng Nash
(Nash equilibrium) [9]. Cân bằng Nash là một trong những khái niệm quan trọng
nhất của lý thuyết trò chơi và đóng vai trò quan trọng khi phân tích tương tác
giữa các đa tác tử trong hệ thống.
Ý 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 (a0-i, a0i) sao cho với
mọi tác tử i ta có ui(a0-i, a0i) ≥ ui(a0-i, ai), ∀ ai ∈ Ai.
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 Bi(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à Bi(a-i) = {ai ∈ Ai : u i (ai,

ai) ≥ ui (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ó
20


a0i ∈ Bi(a0-i)
Trong ví dụ hai người tù, giá trị tập B1 cho tác tử thứ nhất là
B1 (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ó
B1 (Thú nhận) = {Thú nhận}
Với tác tử thứ hai ta cũng có
B2 {Không thú nhận} = B2 {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ó.
21


2. 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
22


hệ 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

23


trướ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ị
24


×