Trong đó, vấn đề thiết kế hệ đa agent mở dựa trên tổ chức xã hội với role đã thu hút được nhiều quan tâm nghiên cứu [1..25].. Trong hệ đa agent mở, role có thể được gán và thay đổi trong
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Mạnh Sơn
HỆ ĐA AGENT MỞ DỰA TRÊN MÔ HÌNH ROLE VÀ TỔ CHỨC
Ngành: Công nghệ thông tin Chuyên ngành: Công nghệ phần mềm
Trang 21 MỤC LỤC
LỜI CẢM ƠN Error! Bookmark not defined LỜI CAM ĐOAN Error! Bookmark not defined
MỤC LỤC ii
DANH MỤC BẢNG BIỂU iv
DANH MỤC HÌNH VẼ v
KÝ HIỆU VIẾT TẮT vi
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ HỆ ĐA AGENT MỞ 3
1.1 Hệ đa agent mở 3
1.1.1 Hệ đa agent và Hệ đa agent mở 3
1.1.2 Các khái niệm cơ bản trong hệ đa agent mở 5
1.2 Vấn đề phát triển hệ đa agent 6
1.2.1 Phương pháp luận phát triển hệ đa agent đóng 6
1.2.2 Phương pháp luận phát triển hệ đa agent mở 9
1.2.3 Phương pháp luận O-MaSE 10
1.3 Mối quan hệ giữa role và mô hình tổ chức trong hệ đa agent mở 13
1.3.1 Vai trò của role trong thiết kế hệ đa agent mở 14
1.3.2 Role trong các mô hình tổ chức của hệ đa agent mở 15
1.4 Kết chương Error! Bookmark not defined CHƯƠNG 2: MÔ HÌNH ROLE TRONG HỆ ĐA AGENT MỞ Error! Bookmark not defined
2.1 Vấn đề xây dựng mô hình biểu diễn role Error! Bookmark not defined 2.2 Mô hình biểu diễn role trong BRAIN Framework Error! Bookmark not defined 2.2.1 Vài nét lịch sử Error! Bookmark not defined 2.2.2 Mô hình role Error! Bookmark not defined 2.2.3 Biểu diễn role bằng XML Error! Bookmark not defined 2.3 Đại số quan hệ giữa các role Error! Bookmark not defined 2.3.1 Quan hệ Bằng nhau: Error! Bookmark not defined 2.3.2 Quan hệ kế thừa Error! Bookmark not defined 2.3.3 Quan hệ loại trừ Error! Bookmark not defined
Trang 32.3.4 Quan hệ Yêu cầu Error! Bookmark not defined 2.3.5 Quan hệ thêm vào Error! Bookmark not defined 2.3.6 Quan hệ trộn Error! Bookmark not defined 2.3.7 Quan hệ lãnh đạo Error! Bookmark not defined 2.4 So sánh với các nghiên cứu liên quan Error! Bookmark not defined 2.5 Kết chương Error! Bookmark not defined CHƯƠNG 3: KỸ THUẬT GÁN ROLE TRONG HỆ ĐA AGENT MỞ Error! Bookmark not defined
3.1 Vấn đề xây dựng kỹ thuật gán role cho hệ đa agent mở Error! Bookmark not defined
3.2 Mô hình tổ chức trong thương mại điện tử Error! Bookmark not defined 3.3 Thuật toán ARA Error! Bookmark not defined 3.4 So sánh các nghiên cứu liên quan Error! Bookmark not defined 3.5 Kết chương Error! Bookmark not defined CHƯƠNG 4: THỬ NGHIỆM HỆ THỐNG ĐA ĐẤU GIÁ Error! Bookmark not defined
4.1 Phân tích yêu cầu hệ thống Error! Bookmark not defined 4.1.1 Mô tả hệ thống Error! Bookmark not defined 4.1.2 Xây dựng mô hình goal của hệ thống Error! Bookmark not defined 4.2 Xây dựng thư viện role Error! Bookmark not defined 4.2.1 Xác định các role Error! Bookmark not defined 4.2.2 Quan hệ giữa các role Error! Bookmark not defined 4.3 Thiết kế hệ thống Error! Bookmark not defined 4.3.1 Mô hình lớp agent Error! Bookmark not defined 4.3.2 Thiết kế phân tầng hệ thống sử dụng JADE Error! Bookmark not defined 4.5 Kết quả cài đặt thử nghiệm Error! Bookmark not defined 4.6 Kết chương Error! Bookmark not defined KẾT LUẬN Error! Bookmark not defined TÀI LIỆU THAM KHẢO 16 PHỤ LỤC Error! Bookmark not defined
Trang 42 DANH MỤC BẢNG BIỂU
Bảng 1.1: So sánh các phương pháp luận cho hệ đa agent mở 15
Bảng 2.1: Các role trong hệ thống đấu giá nhiều sản phẩm Error! Bookmark not defined
Bảng 2.2: Biểu diễn role English bidder Error! Bookmark not defined Bảng 2.3: Ví dụ về Quan hệ kế thừa giữa các role Error! Bookmark not defined
Bảng 2.4: Ví dụ về quan hệ yêu cầu giữa các role Error! Bookmark not defined
Bảng 4.1: Các role trong hệ thống đa đấu giá Error! Bookmark not defined
Bảng 4.2: Các role trong hệ thống đa đấu giá mô tả theo bộ ba <Q, C, B>
Error! Bookmark not defined Bảng 4.3: Quan hệ kế thừa giữa role Bidder và English Bidder Error! Bookmark not defined
Bảng 4.4: Quan hệ kế thừa giữa role Auctioner và English Auctioner Error! Bookmark not defined
Bảng 4.5: Quan hệ yêu cầu giữa các role Manager và Notifier Error! Bookmark not defined
Trang 53 DANH MỤC HÌNH VẼ
Hình 1.1: Các bước phát triển của Gaia 8 Hình 1.2: Mô hình OMACS 11 Hình 1.3: Các bước phát triển hệ đa agent mở theo O-MaSE 13
Hình 2.1: Tương tác giữa các role trong BRAIN Error! Bookmark not defined
Hình 2.2: Biểu diễn role bidder bằng XML trong BRAIN Framework Error! Bookmark not defined
Hình 2.3: Biểu diễn role bidder bằng XML Error! Bookmark not defined Hình 2.4: Ví dụ về quan hệ loại trừ giữa các role Error! Bookmark not defined
Hình 3.1: Thuật toán gán role cho agent Error! Bookmark not defined Hình 4.1: Hệ thống đa đấu giá Error! Bookmark not defined Hình 4.2: Sơ đồ goal của hệ thống đa đấu giá Error! Bookmark not defined
Hình 4.3: Mô hình các lớp agent trong hệ thống đa đấu giá Error! Bookmark not defined
Hình 4.4: Mô hình kiến trúc của JADE Error! Bookmark not defined Hình 4.5: Thiết kế phân tầng hệ thống dựa trên JADE Error! Bookmark not defined
Hình 4.6: Khởi động Manager Agent Error! Bookmark not defined Hình 4.7: Manager Agent đăng ký và nhận role Manager Error! Bookmark not defined
Hình 4.8: Khởi động Auctioner Agent Error! Bookmark not defined Hình 4.9: Đăng ký và gán role cho Auctioner Agent Error! Bookmark not defined
Hình 4.10: Auctioner Agent chờ trả giá từ phía Bidder Agent Error! Bookmark not defined
Hình 4.11: Khởi động Bidder Agent Error! Bookmark not defined Hình 4.12: Gán role cho Bidder Agent Error! Bookmark not defined Hình 4.13: Khởi động nhiều Bidder Agent Error! Bookmark not defined Hình 4.14: Gán role cho nhiều Bidder Agent Error! Bookmark not defined Hình 4.15: Trả giá trong phiên đấu giá kiểu Anh Error! Bookmark not defined
Hình 4.16: Auctioner đếm thời gian khi không có Bidder nào trả giá cao hơn
Error! Bookmark not defined
Trang 6Hình 4.17: Kết thúc phiên đấu giá Error! Bookmark not defined
Trang 74 KÝ HIỆU VIẾT TẮT
ACL Agent Communication Language
AMS Agent Management System
BRAIN Behavior Roles for Agent INteraction
DF Directory Facilitator
DL Description Language
FIPA Foundation for Intelligent Physical Agents
GaiaEXOA Gaia Extended with Organisation Abstraction
GUI Graphics User Interface
JADE Java Agent Development Framework
MaSE Multiagent Systems Engineering Methodology
O-MaSE Open - Multiagent Systems Engineering Methodology
ROADMAP Role Oriented Analysis and Design for Multi-Agent Programming UML Unified Modelling Language
XML eXtensible Markup Language
Trang 8Mở đầu
1
Sự phát triển mạnh mẽ của môi trường Internet và các ứng dụng trên Internet
đã nảy sinh các yêu cầu ngày càng phức tạp và đa dạng hơn về tính mở và tính phân tán cho các hệ thống thông tin nói chung Các hệ thống tính toán phân tán như web ngữ nghĩa (Semantic web), tính toán lưới (Grid computing), tính toán khắp nơi (ubiquitous computing), P2P (Peer to Peer), mạng xã hội, còn được gọi là
là các hệ tự trị phân tán – mở, hệ thông minh và phân tán hay hệ đa agent mở đang rất được quan tâm nghiên cứu và phát triển [16] Nếu xét trên cấu trúc của hệ thống thì một trong những đặc trưng quan trọng nhất của các hệ thống này là bao gồm các thành phần phần mềm tự chủ, có mục đích đã được thiết kế riêng và có thể tự do gia nhập hay rời khỏi hệ thống
Có rất nhiều vấn đề cần quan tâm khi nghiên cứu phát triển hệ đa agent mở Trong đó, vấn đề thiết kế hệ đa agent mở dựa trên tổ chức xã hội với role đã thu hút được nhiều quan tâm nghiên cứu ([1 25]) Role có thể hiểu là một vai trò xác định cho phép agent đảm nhiệm nó hướng tới việc thực hiện một số chức năng nào
đó trong hệ thống Trong hệ đa agent đóng, role được biểu diễn như một nhóm các tác vụ (task) cố định và các trách nhiệm được xác định trước Trong hệ đa agent
mở, role có thể được gán và thay đổi trong quá trình tương tác giữa các agent Việc một agent đảm nhận hay không đảm nhận một role là dựa trên khả năng và mục tiêu của agent đó trong quá trình thực thi của hệ thống
Nhiều vấn đề đã được đưa ra xem xét như mô hình role, quan hệ giữa các role, thiết kế dựa trên role, gán role cho các agent…Có rất nhiều mô hình biểu diễn role trong hệ đa agent mở đã được đưa ra Mỗi mô hình biểu diễn role có những quan điểm khác nhau về kiểu tổ chức đa agent, và role; đưa ra các cách thức biểu diễn role khác nhau và có những mô tả khác nhau về quan hệ giữa các role Tương tự như vậy, các cách tiếp cận của các nhóm nghiên cứu khác nhau đã đưa ra những
kỹ thuật gán role rất khác nhau nhưng đều có một điểm chung là: kỹ thuật gán role phụ thuộc vào mô hình tổ chức tương ứng trong hệ thống đó
Trang 9Mở đầu
2
Mục tiêu của luận văn là tìm hiểu tổng quan về hệ đa agent mở và phát triển
hệ đa agent mở, các cách tiếp cận mô hình role và gán role trong hệ đa agent mở Sau đó, luận văn sẽ phát triển một mô hình role và đại số tương tác trên role dựa trên mô tả role đã trong BRAIN Framework của nhóm nghiên cứu Cabri et al ([2 6]) Một thuật toán gán role cho agent trong hệ đa agent mở cũng được đưa ra
và thử nghiệm với hệ thống đa đấu giá
Nội dung luận văn được chia thành 4 chương:
Chương 1: Tổng quan về hệ đa agent mở Chương này sẽ giới thiệu tổng
quan về hệ đa agent đóng và mở, các khái niệm và đặc trưng cơ bản của hệ
đa agent mở Nội dung chương cũng đề cập đến các cách tiếp cận phát triển hệ đa agent mở, vấn để role và mô hình tổ chức trong hệ đa agent mở
để làm cơ sở cho các chương tiếp theo
Chương 2: Mô hình role trong hệ đa agent mở Chương này khái quát
các cách tiếp cận mô hình hóa role, trình bày chi tiết mô hình role với các thành phần <Q, C, B> và biểu diễn sử dụng XML Dựa trên mô hình biểu diễn này, luận văn sẽ xây dựng đại số quan hệ trên tập role đó
Chương 3: Kỹ thuật gán role trong hệ đa agent mở Chương này khái
quát các cách tiếp cận gán role cho agent trong hệ đa agent mở, sau đó đề xuất một thuật toán gán role áp dụng cho mô hình tổ chức có agent lãnh đạo
Chương 4: Thử nghiệm hệ thống đa đấu giá Chương này giới thiệu bài
toán xây dựng hệ thống đa đấu giá trong thương mại điện tử, trình bày các bước phân tích thiết kế hệ thống trong đó áp dụng mô hình biểu diễn và thuật toán gán role đã xây dựng trong các chương trước Cuối chương là một số kết quả cài đặt, thử nghiệm
Cuối cùng là Kết luận và Tài liệu tham khảo Phần phụ lục sẽ giới thiệu một
số phần chính trong chương trình thử nghiệm
Trang 10Chương này sẽ trình bày tổng quan về hệ đa agent mở, các khái niệm trong hệ đa agent mở Vấn đề phát triển hệ đa agent mở cũng sẽ được xem xét Phần cuối chương 1, luận văn sẽ trình bày khái quát về role và tổ chức trong hệ đa agent mở làm cơ sở cho nội dung của các chương tiếp theo
1.1 Hệ đa agent mở
Sự phát triển mạnh mẽ của Internet và các hệ thống trên nền Internet đã tạo nên các
hệ thống tính toán phân tán như web ngữ nghĩa (Semantic web), tính toán lưới (Grid computing), tính toán khắp nơi (ubiquitous computing), P2P (Peer to Peer), mạng xã hội Các hệ thống này được gọi là là các hệ tự trị phân tán – mở hay còn gọi là hệ thông minh
và phân tán Đặc trưng quan trọng của các hệ thống này là bao gồm các thành phần phần
Trang 11Hệ đa agent có thể được hiểu là: một tập các agent cùng hoạt động trong một hệ thống, mỗi agent có thể có đích khác nhau nhưng toàn bộ hệ agent cùng hướng tới mục đích chung thông qua tương tác
Hệ đa agent tỏ ra có nhiều ưu điểm trong việc giải quyết các bài toán phức tạp hiện nay dựa trên tính năng của từng agent và sự phối hợp giữa các agent Các môi trường và dạng bài toán thích hợp cho hệ đa agent như:các bài toán vượt quá khả năng của một agent đơn, các bài toán phân tán trong đó có nhiều thành phần tự chủ cùng hoạt động trong một xã hội agent (society of agent) và cùng tuân theo các luật xã hội (social law), các bài toán mà thông tin được thu thập từ nhiều nguồn khác nhau, các bài toán trong đó
có sự thương lượng, cộng tác hay cạnh tranh giữa các thực thể khác nhau trong hệ thống
Hệ đa agent như mô tả trên được xem là hệ đa agent đóng, tức là cấu trúc hệ thống không thay đổi trong quá trình tương tác Hành vi của các agent được thiết kế từ đầu và không thay đổi trong quá trình hoạt động Tổ chức của agent cũng là tổ chức cố định Với các hệ thống thông minh phân tán, hệ đa agent đóng tỏ ra không phù hợp Vì vậy, khái niệm hệ đa agent mở được đưa ra
Hệ đa agent mở được hiểu là hệ đa agent trong đó các agent có thể tự do gia nhập hay rời khỏi hệ thống và có khả năng tự động thay đổi vai trò trong tương tác để phù hợp với môi trường
Các đặc trưng của hệ đa agent mở được xem là tương đối phức tạp và dựa trên mô hình hệ thống của mỗi cách tiếp cận Tuy nhiên, có thể tóm lược các đặc trưng cơ bản bao gồm: ([9], [10], [24], [20], ):
Hệ đa agent mở có cấu trúc tổ chức động và phức tạp Các agent có thể tham gia hoặc rời khỏi nhóm hoặc tổ chức Các nhóm và tổ chức này tương tác để tạo nên
tổ chức mức cao hơn
Trang 125
Hệ đa agent mở có tính thích nghi, cấu trúc tổ chức tự động thay đổi cho phù hợp với môi trường bên ngoài
Các agent trong hệ đa agent mở có khả năng tự thay đổi role (vai trò) trong tương
tác dựa trên khả năng của agent đó Một trong những vấn đề rất được quan tâm là
xây dựng mô hình biểu diễn role role và các kỹ thuật gán role cho agent trong hệ
đa agent mở
Tương tác trong hệ đa agent mở được xây dựng dựa trên các luật, các giao thức, quyền hạn và sử dụng mô hình tích hợp ontology với ontology chung của tổ chức Các luật, các giao thức cũng có thể thay đổi cho phù hợp với cấu trúc và trạng thái mới của tổ chức
11.1.2 1.1.2 Các khái niệm cơ bản trong hệ đa agent mở
Với các đặc trưng cơ bản đã trình bày trong phần 1.1.1, ngoài các khái niệm đã được xem xét trong hệ đa agent đóng, trong hệ đa agent mở quan tâm đến các khái niệm sau ([9], [10], [20], [24]):
Goal (đích): tương tự như trong hệ đa agent đóng, goal trong hệ đa agent mở mô
tả một chức năng cần đạt được của hệ thống Các goal trong hệ đa agent mở được xem xét với các quan hệ phức tạp hơn trong hệ đa agent đóng gồm AND, OR, xác
định trước, tạo, hủy, kích hoạt
Role (vai trò): được định nghĩa là một thực thể có khả năng hướng tới được một
goal cụ thể hoặc hỗ trợ để đạt được goal đó Nếu như trong hệ đa agent đóng, các role được đưa ra với tính chất là cơ sở để xác định các agent thì trong hệ đa agent
mở role có vai trò quyết định Mỗi role đưa ra tập các khả năng yêu cầu và tập hành vi tương ứng Vấn đề mô hình biểu diễn role và gán role là vấn đề thu hút
nhiều mối quan tâm trong thời gian gần đây
Agent: là thực thể phần mềm có tính độc lập, tự chủ và hướng đích Trong hệ đa
agent mở, agent có thể thay đổi hành vi của mình trong tương tác dựa trên role (vai trò) Kiến trúc bên trong, tương tác ngoài giữa các agent, kế hoạch của mỗi agent trong hệ đa agent mở phức tạp hơn trong hệ đa agent đóng do khả năng
tự thích nghi và thay đổi linh hoạt trong quá trình hoạt động
Group (nhóm): Là tập các agent có đích giống nhau hoặc gần tương tự nhau