BÁO CÁO MÔN HỌC CÔNG NGHỆ PHẦN MỀM HƯỚNG AGENT ĐỀ TÀI: TÌM HIỂU CÁC HỆ ĐA AGENT MỞ - Pdf 15

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

BÁO CÁO MÔN HỌC
CÔNG NGHỆ PHẦN MỀM HƯỚNG AGENT
ĐỀ TÀI: TÌM HIỂU CÁC HỆ ĐA AGENT MỞ
Giáo viên hướng dẫn : TS Nguyễn Mạnh Hùng
Học viên : Nguyễn Thị Kim Chung
Lớp M13CQCS01-B
Hà Nội, tháng 12 năm 2013
Tìm hiểu các hệ đa agent mở
Mục lục
Lời nói đầu 4
Chương 1: Hệ đa agent 5
1.1 Hệ đa agent 5
1.1.1 Khái niệm và ưu điểm của hệ đa agent 5
1.1.1 Khái niệm và ưu điểm của hệ đa agent 5
1.1.2 Đặc trưng và mục đích của hệ đa agent 6
1.1.2 Đặc trưng và mục đích của hệ đa agent 6
1.1.3 Tổ chức của hệ đa agent 6
1.1.3 Tổ chức của hệ đa agent 6
1.2 JACK: Cơ sở hạ tầng 8
1.3 Phương pháp tiếp cận ACMAS 9
Chương 2: OCMAS và AGR 12
2.1 Các nguyên tắc chung của OCMAS 12
2.2 Mô hình AGR 14
2.3 Sơ đồ Cheeseboard 15
2.4 Mô tả cấu trúc tổ chức 15
2.5 Phương pháp luận 17
Chương 3: Ứng dụng 19
3.1 Tổ chức một hội thảo (đánh giá các bài báo khoa học) 19
Kết luận 25

Nguyễn Thị Kim Chung 4
Tìm hiểu các hệ đa agent mở
Chương 1: Hệ đa agent
1.1 Hệ đa agent
1.1.1 Khái niệm và ưu điểm của hệ đa agent
Hệ đa agent là một hệ nhiều agent tương tác với nhau để hoàn thành mục đích
chung của cả hệ thống và mỗi agent cũng hoàn thành mục đích riêng của mình.
Quá trình tính toán và xử lý thông tin trong hệ đa agent được xem là có nhiều
ưu điểm so với hệ đối tượng như sau [1]:
• Khả năng tính toán hiệu quả: cung cấp khả năng tính toán hiệu quả hơn
nhờ việc phân chia cho các agent khác nhau và các agent có khả năng
phối hợp tốt.
• Độ tin cậy: có nhiều agent cùng tham gia vào 1 vấn đề và có cơ chế trao
đổi , kiểm tra  độ tin cậy tốt hơn.
• Khả năng mở rộng: hệ đa agent là hệ mở vì có thể thêm các agent mới
hoặc bớt các agent đã hoàn thành nhiệm vụ đi.
• Tính manh mẽ: Hệ đa agent có khả năng giải quyết được các bài toán
phức tạp như điều khiển tự động, thương mại điện tử…
• Bảo trì: do hệ đa agent bao gồm nhiều agent, mỗi agent là 1 module có
tính độc lập cao  nếu có vấn đề xảy ra đối với 1 agent cũng không ảnh
hưởng đến các agent khác và khả năng bảo trì cũng tốt hơn nhiều.
• Khả năng phản ứng: Hệ đa agent kế thừa khả năng phản ứng của các
agent đơn nên khi nhận biết được 1 thay đổi của môi trường thì các agent
trong hệ thống sẽ phối hợp với nhau để đưa ra hành động tương ứng.
• Tính linh hoạt: Các agent trong hệ đa agent có khả năng tương tác với
nhau để giải quyết vấn đề chung.
• Khả năng sử dụng lại cao: mỗi agent là 1 module riêng và có 1 chức
năng riêng  có thể sử dụng lại agent này với các ứng dụng khác có
cùng chức năng đó
Nguyễn Thị Kim Chung 5

Tuy nhiên, định nghĩa này thiếu một tính năng rất quan trọng của các tổ chức:
phân vùng của tổ chức, cách ranh giới được đặt giữa các tiểu tổ chức. Ngoại trừ trong
các tổ chức nhỏ, các tổ chức được cấu trúc như tập hợp của nhiều phân vùng, đôi khi
được gọi là nhóm hoặc cộng đồng, ngữ cảnh, bộ phận, dịch vụ… và mỗi phân vùng
chính nó có thể được chia thành các phân vùng. Từ những định nghĩa, nó có thể lấy
được các tính năng chính của các tổ chức:
• Một tổ chức được thành lập các agent (cá nhân) mà biểu hiện một hành vi
• Tổ chức tổng thể có thể được phân chia thành các phân vùng có thể chồng
chéo lên nhau (gọi là các nhóm phân vùng).
• Hành vi của các agent có chức năng liên quan đến hoạt động tổng thể tổ
chức (khái niệm về vai trò).
• Agents tham gia vào mối quan hệ động (cũng được gọi là mô hình hoạt
động) đó là kiểu mẫu sử dụng phép phân loại của roles, tasks hoặc
protocols.
• Các loại trạng thái có liên quan thông qua mối quan hệ giữa roles, tasks và
protocols
Một yếu tố quan trọng của tổ chức là các khái niệm về vai trò (role). Role được
hiểu là một tập hành vi mà một đối tượng có thể áp đặt lên đối tượng khác để làm thay
đổi khả năng cũng như hành vi của đối tượng đó. Một số phương pháp khác thì xem
role là một tập các đối tượng hoặc thực thể để nhấn mạnh sự tương đồng giữa role
trong chương trình máy tính và trong thế giới thực.
Cấu trúc của tổ chức là những gì tồn tại khi các thành phần cá nhân tham gia
vào hoặc rời khỏi một tổ chức gồm hai khía cạnh: khía cạnh tĩnh và khía cạnh động:
Khía cạnh tĩnh của một tổ chức được làm bằng hai phần: một cấu trúc phân
vùng và một cấu trúc vai trò. Một cấu trúc phân vùng chỉ cách agent được lắp ráp
thành các nhóm và làm thế nào các nhóm có liên quan đến nhau. Một cấu trúc vai trò
được xác định, đối với từng nhóm, bằng một loạt các vai trò và mối quan hệ của họ.
Cấu trúc này cũng xác định tập các ràng buộc rằng các agent phải đáp ứng để đóng
một vai trò cụ thể và lợi ích thu được với vai trò đó.
Nguyễn Thị Kim Chung 7

một cách tự động. Ví dụ: Nếu một agent thêm một niềm tin mẫu thuẫn với niềm tin có
Nguyễn Thị Kim Chung 8
Tìm hiểu các hệ đa agent mở
sẵn, database class tự động phát hiện và loại đi niềm tin cũ đi. Database class không
phải là cách duy nhất mà agent có thể thể hiện thông tin.
Event Class: Những events thúc đẩy một agent hành động. Đó là một số các loại
event trong JACK, mỗi cái sử dụng khác nhau
Các loại event khác nhau này giúp mô hình hóa:
• Sự kích thích nội bộ: về cơ bản sự kiện mà một Agent gửi cho chính nó. Những
sự kiện nội bộ này là sự thực hiện liên tục của một Agent và nhận thức mà nó
đảm bảo.
• Sự kích thích bên ngoài: nhận các thông điệp từ các Agent khác
• Động cơ mà agent có thể có, chẳng hạn như mục tiêu mà các agent cam kết đạt
được.
1.3 Phương pháp tiếp cận ACMAS
Công nghệ phần mềm từ khi agent ra đời cho tới nay có thể được hưởng lợi ích
từ các khái niệm và kiến trúc đề xuất bởi cộng đồng MAS (Multi-Agent Systems) để
đơn giản hóa việc thiết kế các hệ thống phần mềm phức tạp. Để làm cho hệ thống
MAS sẵn sàng cho các ứng dụng công nghiệp, một tổ chức phi lợi nhuận được gọi là
FIPA đã đề xuất một tập hợp các tiêu chuẩn thiết kế hệ thống đa agent phải được đáp
ứng để làm cho MAS của họ tương thích với các hệ thống khác.Một điểm thú vị về các
tiêu chuẩn, các nền tảng đã được xây dựng theo họ (xem Jade và Fipa-OS) dựa trên
một số giả định nằm trong hệ thống MAS. [2]
• Một agent có thể giao tiếp được với bất kỳ agent khác.
• Một Agent cung cấp một tập hợp các dịch vụ trong đó có sẵn cho tất cả các
agent khác trong hệ thống.
• Mỗi agent có trách nhiệm để hạn chế khả năng bị tác động từ các agent
khác.
• Trách nhiệm của mỗi agent là xác định mối quan hệ của nó, tương tác vd
với các agent khác. Do đó mỗi agent “biết được” trực tiếp (thông qua agent

an ninh quá mạnh có thể ngăn chặn hệ thống làm việc hiệu quả trên lĩnh vực
mà yêu cầu tốc độ phản ứng, nó quan trọng hơn là an ninh.
Nguyễn Thị Kim Chung 10
Tìm hiểu các hệ đa agent mở
• Mô đun : trong công nghệ phần mềm cổ điển, các thực thể hợp tác chặt chẽ
để cùng nhau được nhóm lại thành các module hay “gói”. Đối với mỗi
module, các quy tắc của khả năng hiển thị được xác định. Một số tổ chức có
thể được nhìn thấy bởi các gói khác ( và thậm chí cả phần mềm) trong khi
những gói khác không thấy, vì vậy được gọi là tổ chức tư nhân, được ẩn đi
và do đó không thể truy cập từ bên ngoài gói. Điều này không thể với
AOMAS nơi mà tất cả các agent có thể truy cập từ khắp mọi nơi. Nó phải đề
xuất một cách quan trọng để nhóm các agent phải làm việc cùng nhau. Tuy
nhiên, đề xuất này không nên có ở những nhóm tĩnh, nhưng đề xuất một
cách để nhóm các tác nhân tích cực làm việc với nhau. Hơn nữa ,các agent
sẽ có thể tự động tự thay đổi nhóm của mình trong suốt cuộc đời của agent
theo một số quy tắc thiết kế chung.
• Framework/ phương pháp tiếp cận thành phần. Công nghệ phần mềm
hiện đại đã chỉ ra tầm quan trọng của khái niệm Framework/thành phần.
Một Framework là một kiến trúc trừu tượng trong đó các thành phần Plugin.
Nó thường cần thiết để xác định các Sub-Frameworks của Frameworks. Ví
dụ: trong một giao diện Frameworks, một số thành phần lớn như biểu đồ,
cây hoặc bảng (xem các thành phần Jtree hoặc Jtable của Java), có thể giới
thiệu sub framework của họ. Trong ACMAS chỉ có một framework, nền
tảng riêng của mình và nó không có thể mô tả sub-framework trong đó
tương tác cụ thể có thể được xây dựng.
Nguyễn Thị Kim Chung 11
Tìm hiểu các hệ đa agent mở
Chương 2: OCMAS và AGR
Trong phần này sẽ mở rộng và tiếp tục trình bày và phân tích các khái niệm
chính của tổ chức tập trung hệ thống đa nhân (OCMAS: Organization centered multi-

phản ứng cũng như agent cố ý có thể hành động trong một tổ chức. Cấp
độ tổ chức nên loại bỏ bất kỳ vấn đề về tâm lý như niềm tin, mong
muốn, ý định, mục tiêu, vv và chỉ cung cấp mô tả các hành vi dự kiến.
• Nguyên tắc 3: Một tổ chức cung cấp một cách phân vùng hệ thống, mỗi
phân vùng (hoặc nhóm) tạo nên một bối cảnh tương tác cho các agent.
Do đó, một nhóm là một đơn vị tổ chức trong đó tất cả các thành viên có
thể tương tác một cách tự do. Nhiều Agent thuộc về một nhóm có thể nói
chuyện với nhau, sử dụng cùng một ngôn ngữ. Hơn nữa, nhóm thiết lập
ranh giới. Trong khi đó, cấu trúc của một nhóm A có thể được biết đến
tất cả các agent thuộc A, nó được ẩn cho tất cả các agent không thuộc về
A. Như vậy, nhóm mờ đục dần với nhau và không giả định một tiêu
chuẩn chung của sự tương tác agent và kiến trúc.
Từ những nguyên tắc này tạo ra những quan điểm sau:
• Một tổ chức có thể được xem như một framework năng động, nơi các
agent là thành phần. Vào một nhóm/tham gia một vai trò có thể được
xem như một tiến trình plug-in nơi một thành phần được tích hợp vào
một framework.
• Thiết kế hệ thống ở cấp độ tổ chức có thể đưa ra những vấn đề cần thực
hiện, chẳng hạn như lựa chọn xây dựng các agent phải đóng một vai trò
cụ thể, lại mở ra.
• Nó có thể nhận ra sự thật "Open System" mà kiến trúc các agent được để
không xác định.
• Có thể xây dựng hệ thống an toàn sử dụng các nhóm như "hộp đen" bởi
vì những gì xảy ra trong một nhóm không thể được nhìn thấy từ agent
mà không thuộc nhóm đó. Nó cũng có thể xác định chính sách an ninh
để giữ cho điều không mong muốn ra khỏi một nhóm.
Nguyễn Thị Kim Chung 13
Tìm hiểu các hệ đa agent mở
Để cho thấy làm thế nào những nguyên tắc có thể được hiện thực hóa trong một
mô hình tính toán, phần này sẽ trình bày các vấn đề cơ bản và phương pháp luận của

Một vai trò được thể hiện như một hình lục giác và nối mạng hình lục giác này
cho các agent. Hình 2 cho một ví dụ của một tổ chức cụ thể bằng cách sử dụng sơ đồ
cheeseboard. Trong bức tranh này, các agent F là thành viên của cả G2 và G3, đóng
vai trò R4 và R5 trong G2 và R6 trong G3.
2.4 Mô tả cấu trúc tổ chức
Các ký hiệu cheeseboard, trong khi rất phù hợp cho tổ chức cụ thể, không phải
là phù hợp với mô tả về mối quan hệ trong tổ chức ở một mức độ trừu tượng, tức là
cho định nghĩa của cơ cấu tổ chức. Do đó đã giới thiệu một ký hiệu để mô tả cơ cấu tổ
chức. [2]
Để thể hiện sơ đồ tổ chức trong một cách đơn giản và thuận tiện hơn, đề xuất
một tập hợp các đồ họa. Trong ký hiệu này, cấu trúc nhóm, tức là đại diện trừu tượng
của nhóm, được biểu diễn như hình chữ nhật, trong đó vai trò, biểu diễn như là hình
lục giác, được đặt. Hạn chế được biểu diễn như là mũi tên giữa các vai trò. Ở đây sử
Nguyễn Thị Kim Chung 15
Tìm hiểu các hệ đa agent mở
dụng hai loại mũi tên. Mũi tên lớn được sử dụng cho sự tương ứng và mũi tên mỏng
được sử dụng cho mô hình phụ thuộc.
Sơ đồ tương tác, được biểu diễn như hình chữ nhật tròn, được sử dụng để mô tả
giao thức truyền thông giữa các vai trò. Mà không xem xét cách agent giao tiếp, có thể
để mô tả thông tin liên lạc ở một mức độ trừu tượng, ví dụ như khó khăn cụ thể giữa
các vai trò. Một sự tương tác có thể xảy ra giữa hai hay nhiều agent và được mô tả ở
cấp độ tổ chức giữa các vai trò. Vai trò khởi xướng của sự tương tác được đại diện bởi
một mũi tên chỉ hướng tới sự tương tác. Vai trò tham gia khác được biểu diễn như là
đường nét đơn giản giữa tương tác và vai trò. Hình 3 cho thấy một cơ cấu tổ chức có
liên quan đến tổ chức cụ thể của hình 1. Trong sơ đồ này, nhiều trường hợp khác nhau
được thể hiện. Có 3 cấu trúc nhóm, được gọi là GS1, GS2 và GS3. Các d1 phụ thuộc
thể hiện sự tương ứng giữa vai trò của R2 và R3 GS1 vai trò của GS2. điều này cho
phép định nghĩa của agent mà hành động như đại diện giữa hai nhóm. Các d2 phụ
thuộc thể hiện một sự phụ thuộc giữa R4 và R5, có nghĩa là tất cả các agent playing R5
phải play R4. Tương tác I2, I5 và I6, có liên quan đến chỉ có một vai trò, sẽ được thực

diện bởi một agent ở các cấp độ tiếp theo, có thể được đại diện bởi một mô hình tổ
chức, nơi một số "đại biểu tham dự agent trong một nhóm được xem như" agent đại
diện 'trong một nhóm khác. Khi cơ cấu tổ chức được xây dựng cùng với động tổ chức
của tạo nhóm đó là thời gian để có được vào định nghĩa của vai. Sau đó, người ta có
thể sử dụng Gaia phương pháp để điền vào các vai trò và gắn chúng với các cấu trúc
chung. Quan điểm được đưa ra ở đây có một số kết nối với thiết kế hướng đối tượng,
Nguyễn Thị Kim Chung 17
Tìm hiểu các hệ đa agent mở
nơi mà các sơ đồ chính là sơ đồ lớp, đại diện cho các khía cạnh tĩnh của các đối tượng,
và các sơ đồ trình tự, cho một cái nhìn sâu sắc về các khía cạnh năng động của các đối
tượng. Tuy nhiên, chúng ta thường sử dụng sơ đồ cheeseboard để có được một ý tưởng
đầu tiên của mô hình tổ chức người ta có thể sử dụng để xây dựng một OCMAS
Nguyễn Thị Kim Chung 18
Tìm hiểu các hệ đa agent mở
Chương 3: Ứng dụng
3.1 Tổ chức một hội thảo (đánh giá các bài báo khoa học)
Hãy xem xét ví dụ về việc tổ chức một cuộc hổi thảo trong đó có các roles như
Program committee chair - Chủ tịch hội đồng, PC member - thành viên hội đồng đánh
giá, primary PC member - trưởng nhóm đánh giá và Author - tác giả bài báo được
đánh giá, cũng là thành viên hội đồng. PCChair có trách nhiệm assign bài báo cho
thành viên hội đồng đọc và đánh giá. Mỗi bài báo cần được đánh giá bởi tối thiểu n
thành viên. Thành viên không được đánh giá bài báo của chính mình. Đối với mỗi bài
báo, PC Chair sẽ chỉ định một thành viên trong hội đồng làm trưởng nhóm. Người này
có trách nhiệm thu thập comment từ nhóm đánh giá, tổng hợp, giải quyết các mâu
thuẫn trong các đánh giá của thành viên. Trên cơ sở đó quyết định bài báo cáo được
thông qua hoặc hủy bỏ. [4]
Hình 3: Mô tả mô hình ứng dụng độc lập nền tảng (ASPI)
Nguyễn Thị Kim Chung 19
Tìm hiểu các hệ đa agent mở
Như thể hiện trong hình, lớp PCChairRole được định nghĩa là một lớp con của

Nguyễn Thị Kim Chung 20
Tìm hiểu các hệ đa agent mở
trình bài báo thì sẽ lấy role Author từ tập roles còn khi review bài báo thì sẽ lấy role
Program Committee . Trong quá trình này, việc gán role được tự động thực hiện bởi
các máy chủ quản lý không gian roles. Khi hết thời hạn nộp bài, quá trình gán review
các bài báo cáo bắt đầu. Agent PC Chair (Agent chủ tịch) căn cứ keywords trong các
bài báo để xác định các Agent Program Committee có khả năng review dựa trên hiểu
biết thế mạnh của họ về một lĩnh vực nào đó phù hợp, và tạo ra một bảng phân công
review ban đầu. Một kết quả mô phỏng cho một bảng như vậy được minh họa trong
sau:
Hình 4: Kết quả mô phỏng khi đệ trình bài báo (kết quả khởi đầu)
Từ bảng này có thể thấy việc gán review ban đầu không cân đối: một số bài báo
được giao cho nhiều người đánh giá, trong khi một số khác chỉ có 1 người kiểm tra. Để
cân bằng số người đánh giá cho mỗi bài báo, PCChair chủ tịch cần tìm người nhận xét
bổ sung cho những bài báo mà không có đủ người nhận xét , và có thể bỏ bớt một số
người nhận xét cho những bài báo mà có quá nhiều người nhận xét. Tất nhiên có thể
một người được gán thêm không đồng ý việc review thêm tài liệu đó (Vì không rơi
vào lĩnh vực họ hiểu). Điều này đòi hỏi các PCChair đàm phán với các thành viên hội
đồng để đạt được mục tiêu của mình . Một giao thức tương tác đơn giản hóa để thực
hiện việc đàm phán đó được thể hiện trong hình 5:
Nguyễn Thị Kim Chung 21
Tìm hiểu các hệ đa agent mở
Hình 5: Giao thức tương tác giữa PC chair và PC member (1)
Như hình vẽ , Chủ tịch hội đồng đầu tiên tạo một yêu cầu cho một thành viên hội đồng
review một bài báo. Các thành viên hội đồng có sự lựa chọn hoặc chấp nhận hoặc từ
chối yêu cầu. Nếu yêu cầu được chấp nhận, chủ tịch thông báo cho thành viên về thời
hạn hoàn thành review. Nếu thành viên hội đồng phủ quyết (không thể hoàn thành với
thời hạn đó), cuộc nói chuyện kết thúc.
Nguyễn Thị Kim Chung 22
Tìm hiểu các hệ đa agent mở

năng động mà agent có thể tạo ra.
Báo cáo đã trình bày một tập hợp các sơ đồ (sơ đồ cơ cấu tổ chức, sơ đồ
"cheeseboard" và sơ đồ trình tự tổ chức) có thể đại diện cho các khía cạnh khác nhau
của OCMAS.
Cuối cùng, là một case study nhỏ về áp dụng hệ đa agent mở để xây dưng, tổ
chức một hội thảo như nào.
Mặc dù đã cố gắng tìm hiểu tài liệu để hoàn thành báo cáo này nhưng em mới
chỉ ra được một phần nhỏ của kiến trúc tổ chức xã hội trong hệ đa agent, vẫn còn
nhiều vấn đề phải nghiên cứu và làm rõ hơn nữa. Và nếu có điều kiện em sẽ tiếp tục
tìm hiểu thêm về đề tài trong thời gian tới.
Nguyễn Thị Kim Chung 25


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status