1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ đa agent mở dựa trên mô hình role và tổ chức

79 648 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 1,77 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ở đã đư

Trang 1

Nguyễn Mạnh Sơn

HỆ ĐA AGENT MỞ DỰA TRÊN MÔ HÌNH ROLE VÀ TỔ CHỨC

LUẬN VĂN THẠC SĨ

Hà Nội - 2009

Trang 2

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 3

MỤC LỤC

LỜI CẢM ƠN i

LỜI CAM ĐOAN ii

MỤC LỤC iii

DANH MỤC BẢNG BIỂU v

DANH MỤC HÌNH VẼ vi

KÝ HIỆU VIẾT TẮT vii

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 11

1.3 Mối quan hệ giữa role và mô hình tổ chức trong hệ đa agent mở 14

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 19

CHƯƠNG 2: MÔ HÌNH ROLE TRONG HỆ ĐA AGENT MỞ 20

2.1 Vấn đề xây dựng mô hình biểu diễn role 20

2.2 Mô hình biểu diễn role trong BRAIN Framework 24

2.2.1 Vài nét lịch sử 24

2.2.2 Mô hình role 25

2.2.3 Biểu diễn role bằng XML 26

2.3 Đại số quan hệ giữa các role 28

2.3.1 Quan hệ Bằng nhau: 28

2.3.2 Quan hệ kế thừa 28

Trang 4

2.3.3 Quan hệ loại trừ 29

2.3.4 Quan hệ Yêu cầu 31

2.3.5 Quan hệ thêm vào 32

2.3.6 Quan hệ trộn 33

2.3.7 Quan hệ lãnh đạo 33

2.4 So sánh với các nghiên cứu liên quan 34

2.5 Kết chương 34

CHƯƠNG 3: KỸ THUẬT GÁN ROLE TRONG HỆ ĐA AGENT MỞ 35

3.1 Vấn đề xây dựng kỹ thuật gán role cho hệ đa agent mở 35

3.2 Mô hình tổ chức trong thương mại điện tử 37

3.3 Thuật toán ARA 38

3.4 So sánh các nghiên cứu liên quan 41

3.5 Kết chương 41

CHƯƠNG 4: THỬ NGHIỆM HỆ THỐNG ĐA ĐẤU GIÁ 42

4.1 Phân tích yêu cầu hệ thống 42

4.1.1 Mô tả hệ thống 42

4.1.2 Xây dựng mô hình goal của hệ thống 44

4.2 Xây dựng thư viện role 45

4.2.1 Xác định các role 45

4.2.2 Quan hệ giữa các role 47

4.3 Thiết kế hệ thống 49

4.3.1 Mô hình lớp agent 49

4.3.2 Thiết kế phân tầng hệ thống sử dụng JADE 51

4.5 Kết quả cài đặt thử nghiệm 53

4.6 Kết chương 62

KẾT LUẬN 63

TÀI LIỆU THAM KHẢO 64

PHỤ LỤC 66

Trang 5

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 24

Bảng 2.2: Biểu diễn role English bidder 26

Bảng 2.3: Ví dụ về Quan hệ kế thừa giữa các role 29

Bảng 2.4: Ví dụ về quan hệ yêu cầu giữa các role 32

Bảng 4.1: Các role trong hệ thống đa đấu giá 46

Bảng 4.2: Các role trong hệ thống đa đấu giá mô tả theo bộ ba <Q, C, B> 47

Bảng 4.3: Quan hệ kế thừa giữa role Bidder và English Bidder 48

Bảng 4.4: Quan hệ kế thừa giữa role Auctioner và English Auctioner 48

Bảng 4.5: Quan hệ yêu cầu giữa các role Manager và Notifier 49

Trang 6

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 22

Hình 2.2: Biểu diễn role bidder bằng XML trong BRAIN Framework 25

Hình 2.3: Biểu diễn role bidder bằng XML 27

Hình 2.4: Ví dụ về quan hệ loại trừ giữa các role 31

Hình 3.1: Thuật toán gán role cho agent 40

Hình 4.1: Hệ thống đa đấu giá 43

Hình 4.2: Sơ đồ goal của hệ thống đa đấu giá 45

Hình 4.3: Mô hình các lớp agent trong hệ thống đa đấu giá 50

Hình 4.4: Mô hình kiến trúc của JADE 51

Hình 4.5: Thiết kế phân tầng hệ thống dựa trên JADE 52

Hình 4.6: Khởi động Manager Agent 54

Hình 4.7: Manager Agent đăng ký và nhận role Manager 55

Hình 4.8: Khởi động Auctioner Agent 56

Hình 4.9: Đăng ký và gán role cho Auctioner Agent 57

Hình 4.10: Auctioner Agent chờ trả giá từ phía Bidder Agent 57

Hình 4.11: Khởi động Bidder Agent 58

Hình 4.12: Gán role cho Bidder Agent 59

Hình 4.13: Khởi động nhiều Bidder Agent 59

Hình 4.14: Gán role cho nhiều Bidder Agent 60

Hình 4.15: Trả giá trong phiên đấu giá kiểu Anh 61

Hình 4.16: Auctioner đếm thời gian khi không có Bidder nào trả giá cao hơn 61

Hình 4.17: Kết thúc phiên đấu giá 62

Trang 7

KÝ HIỆU VIẾT TẮT

AMS Agent Management System

DF Directory Facilitator

DL Description Language

FIPA Foundation for Intelligent Physical Agents

GaiaEXOA Gaia Extended with Organisation Abstraction

GUI Graphics User Interface

ROADMAP Role Oriented Analysis and Design for Multi-Agent Programming

UML Unified Modelling Language

XML eXtensible Markup Language

Trang 8

MỞ ĐẦU

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 đó

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ở

Trang 9

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 10

CHƯƠNG 1 TỔNG QUAN VỀ HỆ ĐA AGENT MỞ

Chươ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ở

1.1.1 Hệ đa agent và 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 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 ([16])

Trang 11

Agent và công nghệ Agent đã được quan tâm nghiên cứu từ nhiều năm trở lại đây, theo đó agent được hiểu là: một hệ tính toán hoàn chỉnh hay chương trình được đặt trong một môi trường nhất định, có khả năng hoạt động một cách tự chủ

và mềm dẻo trong môi trường đó nhằm đạt được mục đích đã thiết kế Với các đặc trưng cơ bản như: tính tự chủ, tính chủ động, khả năng phản ứng và khả năng

xã hội, agent được xem là cách tiếp cận phù hợp để xây dựng các hệ thống mở và phân tán

Hệ đ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 12

 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

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

Trang 13

Group (nhóm): Là tập các agent có đích giống nhau hoặc gần tương tự nhau

Organization (tổ chức): là tập hợp các agent và các nhóm agent Các agent

trong tổ chức có thể có goal rất khác nhau thậm chí trái ngược nhau nhưng

đều phải tuân theo các luật tương tác trong tổ chức đó

Domain (miền): là sự kết hợp giữa tổ chức với môi trường bên ngoài tạo nên giới hạn phạm vi quan tâm cho hệ thống

Protocol (giao thức): là các tương tác cụ thể giữa các agent hoặc quan hệ giữa các role

Capacity (khả năng) của agent: mỗi agent khi tham gia vào hệ đa agent

mở sẽ được xem xét dựa trên khả năng của agent đó đối với việc đảm nhiệm một role cụ thể Vấn đề mô hình hóa khả năng của agent cũng là

vấn đề rất được quan tâm

Plan (kế hoạch) của agent: là chuỗi hành vi của agent trong quá hệ thống cùng với các ràng buộc, các yêu cầu đồng bộ nếu có để hướng tới đích

Policy (chính sách): đặc tả các luật của các tổ chức áp dụng cho các hành

vi của các agent trong tổ chức đó

Ontology: định nghĩa các khái niệm trong miền quan tâm của tổ chức

Thông thường, ontology của hệ đa agent mở là một hệ ontology trong đó ontology chung được tích hợp từ các ontology thành phần

Dựa trên các khái niệm trên, nhiều nhóm nghiên cứu đã xây dựng các phương pháp luận xây dựng hệ đa agent mở Trong phần tiếp theo, luận văn sẽ trình bày khái quát các cách tiếp cận xây dựng hệ đa agent đóng và hệ đa agent mở

1.2 Vấn đề phát triển hệ đa agent

1.2.1 Phương pháp luận phát triển hệ đa agent đóng

a) Các cách tiếp cận xây dựng phương pháp luận

Nhu cầu phát triển các ứng dụng phần mềm dựa trên công nghệ agent trong những năm gần đây đã dẫn đến sự ra đời của nhiều phương pháp luận khác nhau Các phương pháp luận phát triển hệ đa agent đóng được xây dựng dựa trên một trong ba cách tiếp cận sau đây:

Trang 14

Cách tiếp cận dựa trên agent và công nghệ agent: cách tiếp cận này xây

dựng hệ đa agent dựa trên các khái niệm trừu tượng hóa mức xã hội như: nhóm, tổ chức, luật xã hội Tiêu biểu là các phương pháp luận Gaia, SODA,

AALAADIN

Cách tiếp cận phát triển từ hướng đối tượng: cách tiếp cận này dựa trên

quan điểm cho rằng các kỹ thuật đã được phát triển và được áp dụng rộng rãi cho công nghệ phần mềm hướng đối tượng có thể được mở rộng cho các phần mềm hướng agent Các công cụ sử dụng để biểu diễn đối tượng và phân tích thiết kế hệ thống hướng đối tượng như UML hoàn toàn có thể mở rộng để biểu diễn các đặc trưng riêng của agent.Các phương pháp luận tiêu

biểu gồm: MASSIVE, KGR, MaSE

Cách tiếp cận dựa trên công nghệ tri thức: các nghiên cứu theo cách tiếp

cận này sử dụng các khái niệm và quá trình trong công nghệ tri thức để xây dựng nên phương pháp luận cho hệ đa agentCác phương pháp luận này tập

trung vào các quá trình thu thập tri thức (Knowledge acquisition), mô hình tri thức (Knowledge modelling) và lập luận được sử dụng bởi các thành

phần agent trong hệ thống phần mềm Tiêu biểu cho cách tiếp cận này là các phương pháp luận như CoMoMAS, MAS-ComonKADS

Mặc dù có những cách tiếp cận khác nhau và xây dựng mô hình hệ thống dựa trên các khái niệm tổ chức, goal, role, agent, tri thức nhưng các phương pháp luận cho hệ đa agent đóng đều có chung các nhược điểm:

 Tổ chức agent cho hệ thống là tổ chức cố định và chỉ có một mức Các agent trong hệ thống không thể tự động tham gia hay rời khỏi tổ chức trong quá trình tương tác

 Các agent không thể tự động thay đổi role (vai trò) trong quá trình tương tác Các role được gắn cho agent ngay khi agent bắt đầu hoạt động

 Các giao thức và mô hình tương tác giữa các agent được thiết kế cố định dựa trên đích phải đạt được của mỗi agent

b) Một số phương pháp luận tiêu biểu cho hệ đa agent đóng

Có rất nhiều phương pháp luận cho hệ đa agent đã được xây dựng Mỗi phương pháp luận đều được áp dụng cho các hệ thống cụ thể và có các ưu điểm nhất định Một số phương pháp luận cho hệ đa agent đóng gồm:

Trang 15

AALADIN: Một phương pháp dựa trên ba khái niệm cơ bản là agent, role

và group, trong đó group là một tập các agent được coi là thành phần thực hiện nhiệm vụ nhỏ nhất Tức là nó là mức thấp nhất có thể hoàn thành được một nhiệm vụ của hệ thống Tuy nhiên, trong phương pháp này role gắn chặt với khái niệm agent nên nó sẽ gây khó khăn cho những người lập trình muốn có được sự độc lập giữa role và agent

ROPE: Role được định nghĩa là những thực thể riêng biệt và có thể được

các agent đảm nhận một cách linh động Phương pháp này tập trung nhiều vào sự cộng tác nên nó thiếu mối tương tác cạnh tranh giữa các agent

GAIA: Mô hình hệ đa agent dưới dạng các tổ chức mà ở đó các role có thể

tương tác Role được dùng nhiều trong các pha phân tích và thiết kế Role

có bốn thuộc tính cơ bản là: trách nhiệm (responsibility), quyền hạn (permission), hoạt động (activity) và giao thức (protocol) GAIA cung cấp một tập kí hiệu dựa trên tập kí hiệu FUSION để đặc tả quyền hạn của role Ngoài ra, GAIA cũng đưa ra được mô hình tương tác biểu diễn được sự phụ thuộc và mối quan hệ qua lại giữa các role trong hệ thống

Hình 1.1: Các bước phát triển của Gaia

MAS-CommonKADS: là phương pháp luận mở rộng từ CommonKADS

để áp dụng cho phân tích và thiết kế hệ đa agent Đây là một phương pháp luận theo cách tiếp cận dựa trên công nghệ tri thức Phương pháp luận này thêm vào CommonKADS các kỹ thuật của phân tích thiết kế hướng đối

PHA THIẾT

KẾ

Trang 16

tượng như kỹ thuật mô hình hoá đối tượng (Object Modelling Technique: OMT), thiết kế hướng trách nhiệm (Responsibility Driving Design: RDD)

và các kỹ thuật để mô tả giao thức agent như ngôn ngữ mô tả và đặc tả (Specification and Description Language: SDL) và biểu đồ thông điệp tuần

tự (Message Sequence Charts)

MaSE (Multiagent System Engineering) là phương pháp luận để phân tích

và thiết kế các hệ phần mềm hướng agent được phát triển bởi nhóm nghiên cứu thuộc Viện Công nghệ Hàng không Hoa Kỳ Quan điểm xây dựng của phương pháp luận này là xem agent như mức trừu tượng cao hơn của một

đối tượng: mỗi agent được xem là một đối tượng đặc biệt Quá trình phát

triển hệ đa agent theo MaSE bao gồm hai pha: pha phân tích và pha thiết kế:

 Pha phân tích bao gồm các bước: Xác định Goal, Xác định các Use Case, Xây dựng Ontology và Hoàn thiện Role

 Pha thiết kế bao gồm các bước: Xác định Agent, Xây dựng hội thoại, Hoàn thiện Agent và Triển khai hệ thống

Toàn bộ quá trình phân tích thiết kế hệ thống theo phương pháp luận MaSE được hỗ trợ bởi bộ công cụ agentTool trong đó mỗi bước đều được biểu diễn bởi các sơ đồ tương ứng

1.2.2 Phương pháp luận phát triển hệ đa agent mở

Do các đặc trưng riêng của hệ đa agent mở, phương pháp luận phát triển hệ đa agent mở cũng được xây dựng theo những cách tiếp cận rất khác nhau Phần lớn các phương pháp luận này đều phát triển từ các phương pháp luận phát triển hệ đa agent đóng Các hướng tiếp cận cho phương pháp luận phát triển hệ đa agent mở

sẽ được trình bày chi tiết trong chương 2 Trong phần này, chúng tôi liệt kê một số phương pháp luận cho hệ đa agent mở Các phương pháp luận ROADMAP, GaiaEXOA sẽ được trình bày chi tiết hơn trong chương 2

AGR (Agent-Role-Group): Là phương pháp phát triển từ AALADIN Dựa

trên ba khái niệm cơ bản: agent, role, group, phương pháp luận này xây dựng cấu trúc hệ thống trong đó mỗi agent đảm nhiệm một hoặc nhiều role

và chia sẻ các đặc tính chung khi tham gia vào nhóm và tổ chức AGR cũng

Trang 17

đưa ra các giao thức tương tác nhưng cơ sở cho các giao thức này còn đơn giản

ROADMAP: Đây là phương pháp luận phát triển từ Gaia, bổ sung mô hình

tri thức (Knowledge Model) và mô hình môi trường (Environment Model)

để đưa ra cách nhìn rõ ràng hơn về tổ chức và các thuộc tính liên quan Các

pha chi tiết của phương pháp luận này sẽ được trình bày trong chương 2

GaiA-EXOA : Đây cũng là một phương pháp luận phát triển từ Gaia trong

đó đưa ra các đặc tả rõ ràng hơn về tổ chức và giao thức tương tác Chi tiết

về phương pháp luận này được trình bày trong chương 2

RoleEP (Role based Evolution Programming): Hỗ trợ nhiều cho việc phát

triển những ứng dụng cộng tác trong đó các agent tương tác với nhau để đạt được mục tiêu chung Phương pháp này dựa trên bốn khái niệm cơ bản là môi trường, đối tượng, agent và role Tuy nhiên, phương pháp này cũng chỉ

hỗ trợ cho duy nhất giai đoạn cài đặt trong quá trình phát triển

MOISE+: phương pháp luận này đưa ra một mô hình tổ chức và mô hình

hệ thống theo cả ba khía cạnh: cấu trúc, chức năng và deontic Các agent

được thiết kế dựa trên tập goal, mỗi agent sẽ được xây dựng một kế hoạch

(plan) và thực hiện các nhiệm vụ (mission) để hướng tới đích đó

Prometheus: là phương pháp luận theo cách tiếp cận hướng agent trong đó

các agent được thiết kế sử dụng mô hình BDI Khi áp dụng cho hệ đa agent

mở, phương pháp này tập trung vào việc mô tả role và kế hoạch cho các agent

BRAIN: Hỗ trợ tất cả các giai đoạn trong quá trình phát triển hệ thống

Phương pháp này cũng có tập kí hiệu dựa trên XML để đặc tả role và hơn nữa nó còn có cả cơ sở hạ tầng tương tác (interaction infrastructure) để giúp agent quản lý các role

O-MaSE ([9], [10], [11]): Đây là phương pháp luận phát triển từ MaSE

Với ưu điểm tương đối đơn giản và có đầy đủ các công cụ hỗ trợ, phương pháp luận này đã được áp dụng hiệu quả cho nhiều bài toán khác nhau Phương pháp luận này sẽ được lựa chọn để phát triển ứng dụng thử nghiệm trong chương 4 nên sẽ được xem xét kỹ hơn trong phần 1.2.3

Trang 18

1.2.3 Phương pháp luận O-MaSE

Phương pháp luận O-MaSE được xây dựng trên cơ sở mô hình OMACS, phát triển từ siêu mô hình của MaSE và đưa ra cơ sở cho phương pháp luận phát triển

hệ đa agent mở Điểm khác biệt cơ bản của mô hình này là quan điểm cho rằng: một agent có thể đảm nhận một role dựa trên năng lực yêu cầu cần phải có để đáp ứng role đó và khả năng hiện tại của agent đó Các agent sẽ tự thích nghi khả năng

để được đảm nhận role phù hợp nhằm hướng tới việc hoàn thành tập goal được yêu cầu Hình 1.2 mô tả các quan hệ cơ bản trong mô hình OMACS

Hình 1.2: Mô hình OMACS

Trong OMACS, tổ chức được định nghĩa là một bộ O = <G, R, A, C, , P, , oaf, achieves, requires, possesses> trong đó:

 G: tập các goal (đích) của tổ chức

Trang 19

requires: hàm R → P(C): tập khả năng yêu cầu để đảm nhận một role

possesses: A x C → [0 1]: cho biết chất lượng của một khả năng với

một agent cụ thể

OMACS cũng định nghĩa thêm hai hàm bổ sung gồm:

capable: hàm A x R → [0 1]: cho biết một agent có thể đảm nhận một

role tốt ở mức độ nào (được tính toán từ requires và posseses)

potential: hàm A x G x R → [0 1]: cho biết một agent khi đảm nhận

một role để hướng đến một goal cụ thể thì sẽ tốt ở mức độ nào (được tính toán dựa trên capable và archieves)

Dựa trên mô hình OMACS, nhóm nghiên cứu DeLoach đã đưa ra các bước của phương pháp luận O-MaSE Đặc điểm cơ bản của O-MaSE là: kế thừa các ký hiệu, cú pháp và đặc tả quen thuộc trong hướng đối tượng như: các lớp, các quan

hệ (gộp, kế thừa, cộng hợp, phụ thuộc) và dựa trên các thành phần cơ bản và quan

hệ trong mô hình OMACS để định nghĩa các đối tượng (hoặc quan hệ) mới như: các tác nhân ngoài (external actor), các giao thức (protocol), các thông điệp (message), các kế hoạch (plan), và các đối tượng môi trường (environment objects)

Trang 20

Hình 1.3: Các bước phát triển hệ đa agent mở theo O-MaSE

Hình 1.3 mô tả sơ đồ tổng quát các bước trong O-MaSE Ngoài các bước chính được mô tả như trên, O-MaSE còn định nghĩa thêm một số bước phụ, gồm:

Mô hình hóa miền (domain model): đặc tả môi trường và miền lĩnh vực

quan tâm của hệ thống Bước này, nếu có, sẽ được đặc sau bước xây dựng mô hình role và là cơ sở để xác định các lớp agent

Mô hình hóa chính sách (policy model): mô tả các ràng buộc trong hoạt

động của các agent và tương tác giữa chúng Là một bước phụ trong pha thiết kế

Mô hình năng lực (capacity model): mô tả khả năng của agent nhằm

hướng đến việc đảm nhiệm role Là một bước phụ trong pha thiết kế

Mô hình hành động (action model): mô tả chi tiết hoạt động bên trong

của agent khi đã đảm nhiệm một role cụ thể Là một bước phụ trong pha thiết kế

Role Model

Protocol Model

System Requirements

/Definition

GMoDS Goal Model

Agent Class Model

Trang 21

1.3 Mối quan hệ giữa role và mô hình tổ chức trong hệ đa agent mở

1.3.1 Vai trò của role trong thiết kế hệ đa agent mở

Như đã trình bày trong phần 1.1, role là một khái niệm quan trọng khi xem xét

hệ đa agent mở Có thể hiểu role là tập hợp các chuẩn mực, mô tả, quy tắc và khái niệm cho hành vi của một con người hoặc một vị trí xã hội Từ lâu, khái niệm role

đã được sử dụng trong phát triển phần mềm như một công cụ cho các hoạt động cơ bản như: mô hình hóa hệ thống, phân tích thiết kế hệ thống, mô tả tương tác, quản

lý nguồn nhân lực

Trong phát triển phần mềm hướng đối tượng với UML , role được sử dụng để xây dựng tập hành vi mà đối tượng có thể áp đặt lên đối tượng khác, hoặc là thành phần trong biểu đồ cộng tác, hoặc dùng để mô tả các lớp giao diện Tuy nhiên, role không phải là khái niệm có vai trò quyết định trong phân tích và thiết kế hướng đối tượng

Trong phát triển hệ đa agent và đặc biệt là hệ đa agent mở, nhiều nghiên cứu khẳng định role là khái niệm có vai trò quyết định ([2 25]) Theo Zambonelli

([3,4]), role được định nghĩa là tập các khả năng, hành vi mong đợi và tri thức mà agent có thể dùng đến khi cần Có thể hiểu, role cung cấp tập khả năng mà agent

có thể sử dụng trong quá trình hướng tới đích được thiết kế

Xét trên quan điểm phát triển hệ thống, trong hệ đa agent đóng, role có thể đượ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

Các phương pháp luận phát triển hệ đa agent mở, đã giới thiệu trong phần 1.2.2, đều coi role là khái niệm quan trọng để tiến trình phát triển phần mềm Mỗi phương pháp có thể quan tâm ở mức độ nào đó với các khái niệm như tổ chức, goal, protocol hay cài đặt hệ thống nhưng đều rất coi trọng khái niệm role (xem Bảng so sánh 1.1)

Trang 22

Bảng 1.1: So sánh các phương pháp luận cho hệ đa agent mở

Luận văn sẽ đi sâu vào hai vấn đề quan trọng khi phát triển hệ đa agent mở dựa trên role là xây dựng mô hình biểu diễn role (chương 2) và đưa ra thuật toán gán role áp dụng cho một mô hình tổ chức cụ thể (chương 3) Phần tiếp theo của chương 1 sẽ khái quát các mô hình tổ chức nói chung và quan điểm về role và gán role cho agent trong các mô hình tổ chức đó

1.3.2 Role trong các mô hình tổ chức của hệ đa agent mở

Dựa trên cấu trúc tổ chức xã hội con người, nhiều nhóm nghiên cứu khác nhau

đã đưa ra rất nhiều dạng tổ chức đa agent khác nhau Sự khác biệt giữa các dạng tổ chức này là do bản chất tương tác và vai trò của các agent tham gia trong tổ chức

đó Trong tài liệu [15], nhóm B Horling và V Lesser đã tổng kết các dạng tổ chức

đa agent Phần này sẽ trình bày vắn tắt các kiểu tổ chức này theo các đặc trưng chính và những suy nghĩ về vấn đề gán role cho các agent theo kiểu tổ chức đó

Tổ chức kiểu cây (Hierarchies)

Đặc trưng cơ bản của kiểu tổ chức cây là được xây dựng dựa trên cấu trúc phân rã của tập goal của hệ thống Các agent tham gia vào hệ thống để đảm nhận

các goal của hệ thống theo cách tiếp cận chia để trị Một đặc điểm quan trọng của kiểu tổ chức này là cố gắng giảm thiểu quan hệ “rộng rãi” giữa một agent với các

Trang 23

nhiều agent khác Các agent chỉ quan hệ với các agent mức trên (node cha trong

cây) và mức dưới (node con trên cây)

Các role được gán trong cấu trúc cây hoàn toàn theo cấu trúc phân rã goal và

task trong hệ thống Mỗi agent khi tham gia hệ thống đều có một tập khả năng tương ứng với một vị trí nào đó trên cây và do đó sẽ được gán role tương ứng để hướng tới goal được yêu cầu cho node đó

Tổ chức Holarchies

Đặc trưng cơ bản của kiểu tổ chức này là hệ thống được chia thành các nhóm

có tính chất tự chủ (ở mức độ nào đó) gọi là holon Một agent có thể thuộc một

nhóm và một nhóm có thể thuộc một nhóm lớn hơn Mỗi nhóm như vậy thường gồm các agent cùng hướng đến việc thực hiện một tác vụ nào đó Có thể xem kiểu

tổ chức này là một trường hợp riêng của tổ chức kiểu cây trong đó cho phép một

số tương tác giữa các node không có quan hệ cha con trực tiếp

Gán role trong tổ chức Holarchies cũng dựa trên cấu trúc phân rã goal và task

của hệ thống Tuy nhiên, khác với cấu trúc cây, các role không thể tương ứng với một node trên cây mà cần xem xét các tương tác (ràng buộc) giữa các node Mỗi

node cũng có thể là một hoặc nhiều agent trong cùng một nhóm

Tổ chức kiểu liên minh (coalition)

Đặc trưng cơ bản của kiểu tổ chức liên minh là một tập con các agent trong hệ

thống có thể “liên minh” với nhau để hướng tới đích chung trong một thời gian Trong một liên minh, có thể có agent lãnh đạo Khi đã liên minh lại thì các liên

minh tương tác với nhau như những thực thể duy nhất Không có sự phối hợp giữa

các agent của các liên minh khác nhau

Gán role cho tổ chức kiểu liên minh có thể được quyết định bởi agent lãnh đạo (nếu có) Tại thời điểm các agent phải liên minh, agent lãnh đạo hoặc agent điều phối chung sẽ xác định và phân chia role cho các agent tham gia để hướng tới đích chung

Tổ chức kiểu đội (team)

Đặc trưng cơ bản của kiểu tổ chức đội (team) là các agent trong đội (team) có hành động riêng nhưng cùng hỗ trợ để đạt tới đích chung Các agent có thể hoạt động theo một “kế hoạch chung” xác định trước

Trang 24

Gán role trong mô hình tổ chức này có hai đặc trưng cơ bản:

 Mỗi agent trong đội đều có thể nhận một hoặc nhiều role để thực hiện các tác vụ phân rã từ đích chung của hệ thống

 Các role có thể thay đổi tuỳ theo kế hoạch chung của đội và sự kiện từ môi trường

Tổ chức kiểu hội họp (congregation)

Đặc trưng cơ bản của tổ chức kiểu hội họp là các agent riêng lẻ phối hợp với nhau theo nhóm nhằm bổ sung cho nhau Mỗi nhóm agent theo kiểu này thường

không chỉ có một goal mà có thể có nhiều goal khác nhau Tuy nhiên, các agent này thường phải có một tập khả năng và yêu cầu cố định ban đầu tương tự nhau

Tổ chức kiểu hội họp có thể tồn tại lâu dài

Gán role trong tổ chức này sẽ có các đặc điểm:

Các hội sẽ được tạo ra và gán nhãn Mỗi agent tuỳ thuộc vào tập khả năng và yêu cầu của nó sẽ xem xét để lựa chọn hội phù hợp Role được

gán cho các agent khi agent tham gia vào hội

 Các agent có thể thay đổi hội mà nó tham gia trong quá trình hướng tới goal của nó Do đó role cũng được thay đổi theo

Tổ chức kiểu xã hội (societies)

Đặc trưng cơ bản kiểu tổ chức xã hội là hệ thống được xây dựng có tính mở,

linh động Các agent có đích riêng rất khác nhau, khả năng không đồng nhất, tương tác với nhau nhằm hướng tới đích riêng của mình Kiểu tổ chức này ràng

buộc các agent bằng cách sử dụng các luật xã hội

Gán role trong tổ chức kiểu xã hội có thể rất phức tạp và thường không có

quy tắc chung cho tất cả các trường hợp Nếu có một hoặc một vài luật xã hội chi phối mọi hoạt động của tổ chức thì role cũng được gán cho agent dựa trên các luật

xã hội đó

Tổ chức kiểu liên hiệp (federation)

Đặc trưng cơ bản của kiểu liên hiệp là hệ thống có agent điều phối chung (facilitator, mediator, broker) Các agent trong liên hiệp chỉ tương tác với agent điều phối này Các liên hiệp khác nhau tương tác với nhau thông qua tương tác của

Trang 25

các agent trung gian Các agent trong các liên hiệp khác nhau có thể không cần có

ngôn ngữ giao tiếp chung và tương tác, xử lý được tập trung ở agent trung gian

Role được gán cho các agent tham gia vào liên hiệp bởi agent điều phối trong liên hiệp đó Tùy thuộc vai trò của agent điều phối trong hệ thống cụ thể, các role

có thể được quản lý trực tiếp bởi agent điều phối hoặc agent điều phối chỉ là trung

gian để agent tham gia tổ chức tương tác với agent quản lý role

Tổ chức kiểu chợ (market-based)

Đặc trưng của tổ chức kiểu chợ khác với kiểu liên hiệp ở chỗ các agent trong

hệ thống là đối thủ cạnh tranh của nhau Các agent hướng tới việc đạt được lợi ích riêng, có thể trái ngược với lợi ích của các agent khác (ví dụ agent mua và agent bán) Tuy nhiên, các agent trong tương tác sẽ hướng tới cân bằng chung của toàn

bộ các agent tham gia

Gán role trong tổ chức kiểu chợ có thể sử dụng agent điều phối như trong mô

hình kiểu liên hiệp hoặc dựa trên hàm mục tiêu của mỗi agent

Tổ chức kiểu ma trận

Đặc trưng của kiểu ma trận là một agent có thể được quản lý bởi nhiều agent quản lý Các hoạt động của một agent có thể bị ảnh hưởng bới nhiều agent quản lý khác nhau Mỗi hàng trong ma trận là các agent, mỗi cột là các agent quản lý Gán role và quản lý role được thực hiện bởi các agent quản lý tại mỗi hàng

Agent quản lý nào chiếm ưu thế trong thời điểm hiện tại thì agent sẽ nhận được role từ agent quản lý đó

Tổ chức phức hợp (compound)

Đặc trưng cơ bản của kiểu tổ chức phức hợp là: kết hợp nhiều kiểu tổ chức

trong một hệ đa agent Ví dụ như: một kiểu tổ chức được dùng cho điều khiển,

một kiểu cho luồng dữ liệu …

Như vậy cũng sẽ không có kiểu gán role cố định cho mọi agent trong tổ chức dạng phức hợp Tùy thuộc vào mục đích của mỗi tổ chức con trong tổ chức chung thì các role sẽ được gán theo cách thức tương ứng với dạng của tổ chức con đó

Trang 27

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 trong việc mô hình hóa role cho hệ đa agent mở và trình bày chi tiết mô hình role với bộ ba <Q, C, B> và biểu diễn với XML Dựa trên mô hình đó, luận văn xây dựng các quan hệ trên tập role và các tính chất của các quan hệ đó

2.1 Vấn đề xây dựng mô hình biểu diễn role

Khái niệm role đã được giới thiệu trong phần 1.3 Một trong những vấn đề rất được quan tâm là mô hình hóa role nhằm mô tả các chính xác yêu cầu và thiết kế

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

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

Mô hình tổ chức của nhóm DeLoach ([9],[10],[11]) cho rằng mỗi role yêu

cầu một tập khả năng (C) Mô hình này xây dựng các hàm đánh giá:

Khả năng đảm nhiệm role bởi giá trị score [0 1]

Trang 28

Yêu cầu cần có để đảm nhiệm role (hàm requires: R, C Boolean

Quan hệ giữa các role được xây dựng dựa trên hàm related: R, R-> Boolean

Tuy nhiên, các thuộc tính cụ thể của role, các hành vi gán cho agent khi nhận role đó và các dạng quan hệ không được mô tả trong mô hình này

Mô hình của Odell ([20], [21], [22]) gắn role với khái niệm nhóm (group)

Role được định nghĩa là một tập các nhiệm vụ được chuẩn hoá cho các hành vi trong một group xác định Có thể có hai dạng quan hệ giữa các role:

Quan hệ gộp (aggregation): Các role có thể kết hợp với nhau, khi đó agent đảm nhiệm role này sẽ có tập hành vi gộp từ hai role ban đầu

Quan hệ “hiểu biết” (acquaintance) Nếu một role hiểu biết role khác

thì agent đảm nhiệm role này có thể chuyển sang đảm nhiệm role khác

bất cứ lúc nào

Biểu diễn role và thiết kế hệ thống dựa trên role trong mô hình này mở rộng

từ các khái trong UML nên rất gần gũi với các lập trình viên hướng đối tượng Tuy nhiên, cũng như trong mô hình của DeLoach, các thuộc tính cụ thể của role và các hành vi sẽ gán cho agent đảm nhiệm role không được mô tả chi tiết

Trong mô hình của H Xu và X Zhang ([23], [24]), các tác giả đưa ra cách

thức biểu diễn khái niệm role dựa trên các thành phần:

hàm beTaken (trạng thái được thực hiện - boolean)

Các goals (mục tiêu) sẽ được gắn với các role cụ thể và được thực hiện trong tập plan của role đó Một số quan hệ giữa các role được mô tả gồm: quan hệ kế thừa, quan hệ đối lập, quan hệ không tương thích Mô hình này phân biệt rõ hai

Trang 29

khái niệm role và thể hiện role, tuy nhiên, ngoại trừ quan hệ kế thừa, các quan hệ

khác chưa được thể hiện rõ trong tập role của hệ thống

Nhóm nghiên cứu Cabri et al ([2 6]) biểu diễn role là một tập các khả năng

(capacities) và các hành vi mong muốn (expected behavior) Tập khả năng và

hành vi này sẽ được chuyển cho agent thực hiện role đó Hệ thống thực hiện gán role cho agent trong tương tác được gọi là BRAIN

Hình 2.1: Tương tác giữa các role trong BRAIN

Tương tác giữa các agent dựa trên role cũng được mô tả trong BRAIN dựa

trên các hành động (action) và sự kiện (event) Các role sẽ được gán trong quá

trình tương tác bằng cách sử dụng Role Loader Một trong những điểm rất quan trọng là nhóm nghiên cứu này là đã đưa ra biểu diễn role dựa trên XML ([4], [6])

và các bước gán role theo biểu diễn XML Trong [6], nhóm nghiên cứu này cũng

đã đưa ra một số thay đổi trong biểu diễn role và biểu diễn hình thức cho role trong BRAIN Framework

Ngoài các nghiên cứu biểu diễn role, nhiều nhóm cũng đi sâu nghiên cứu và đưa ra các quan điểm và thể hiện khác nhau cho quan hệ giữa các role ([12], [13],

[18], [20]) Trong đó, A Karageogos, S Thompson và N Mehandjiev ([18]) đã

đưa ra một cách biểu diễn đại số quan hệ trên tập role và mô tả tương đối đầy đủ các dạng quan hệ trên tập role gồm: quan hệ bằng nhau, quan hệ chứa, quan hệ loại trừ … Mặc dù đưa ra khá đầy đủ các dạng quan hệ nhưng mô hình biểu diễn role nhóm này sử dụng lại không biểu diễn chi tiết các thành phần của một role nên các quan hệ và đại số quan hệ được thể hiện chưa rõ ràng

Phần tiếp theo của chương 2 sẽ áp dụng mô hình biểu diễn role của nhóm Zambonelli trong BRAIN để thể hiện đại số quan hệ trên tập role (với đầy đủ các

HỆ THỐNG TƯƠNG TÁC Hành động

Sự kiện

Trang 30

dạng quan hệ có thể có) Phần 2.2 sẽ trình bày mô hình biểu diễn role trong BRAIN Framework với XML Phần 2.3 đưa ra các quan hệ trên tập role đã được định nghĩa trong phần 2.2 Phần 2.4 là so sánh với các kết quả nghiên cứu liên quan

Để mô tả định nghĩa role và các quan hệ, chúng tôi xem xét ví dụ trên hệ thống đấu giá nhiều sản phẩm ([1]) Quá trình phân tích, thiết kế và cài đặt thử

nghiệm hệ thống này sẽ được trình bày chi tiết trong chương 4 Tuy nhiên để ví dụ cho mô hình và quan hệ trong chương 2, có thể mô tả ngắn gọn về yêu cầu hệ thống như sau:

 Các agent mua được sinh ra đại diện cho người mua để mua sản phẩm yêu cầu theo một hoặc nhiều hình thức đấu giá

 Một agent mua có thể đảm nhiệm nhiều role tương ứng với các kiểu đấu giá khác nhau

 Người bán hàng cũng thể tham gia bán nhiều mặt hàng theo nhiều kiểu đấu giá khác nhau

Các hình thức đấu giá tiêu biểu được xem xét là: đấu giá kiểu Anh (đấu giá tăng), đấu giá Hà Lan (đấu giá giảm trên nhiều sản phẩm), đấu giá kín (kiểu 1 hoặc kiểu 2 - người thắng cuộc phải trả giá bằng người trả cao nhất hoặc cao thứ 2) và đấu giá ngược (hay đấu thầu)

 Hoạt động chung của hệ thống được điểu phối bởi một agent quản lý, agent này chịu trách nhiệm quản lý các role và gán role cho các agent tham gia Các role trong hệ thống này được tổng kết trong Bảng 2.1

Trang 31

Manager Quản lý chung

English Auctioner Bán theo Đấu giá

kiểu Anh

English Bidder Mua theo Đấu

giá kiểu Anh

Dutch Auctioner Bán theo Đấu giá

kiểu Hà Lan

Dutch Bidder Mua theo Đấu

giá kiểu Hà Lan

mô tả như trong Hình 2.1 Ngoài ra, nhóm đã đưa ra phương pháp biểu diễn role

sử dụng XML (XRole) Một biểu diễn diễn XML ví dụ cho role Bidder được biểu

diễn như trong Hình 2.2

Tuy nhiên, trong nghiên cứu gần đây ([4], [5], [6]), nhóm nghiên cứu này đã

đi sâu phân tích một số hạn chế của mô hình biểu diễn role chỉ dựa trên tập khả năng và hành vi mong muốn Đó là:

 Mô hình này chưa cho phép biểu diễn sự thay đổi có tính liên tục của một agent trước, trong và sau khi gán role

 Trước khi nhận được role mới, agent sẽ không có khả năng và các hành

vi cho phép của role đó Điều này là không thực tế vì quá trình thay đổi role thường diễn ra theo từng bước

Trang 32

Để giải quyết vấn đề này, trong [6] đã đưa ra thêm một khái niệm mới là tập yêu cầu khởi đầu (starting requirements) của role Đây là tập các yêu cầu mà một

agent cần đạt được (đầy đủ) trước khi đảm nhiệm role

Hình 2.2: Biểu diễn role bidder bằng XML trong BRAIN Framework

Ngữ cảnh tương tác giữa các role r i và r j được định nghĩa là:

Trang 33

gồm tập các liên kết có thể có giữa hai role r i và r j như: ràng buộc hay tính không tương thích

Gán role: Gán một role cho một agent được định nghĩa là một bộ p = (ri , ) với ý nghĩa là agent được đảm nhiệm role r i R

Xét trong hệ thống đấu giá nhiều sản phẩm, role English Bidder (người mua theo đấu giá kiểu Anh) có thể được biểu diễn bởi các tập <Q, C, B> như sau:

Tên role English Bidder

Q has an account, know English auction rule

C join an English auction, re-bid

B bid, re-bid, payment

Bảng 2.2: Biểu diễn role English bidder

2.2.3 Biểu diễn role bằng XML

Với biểu diễn role theo ba tập (Q, C, B) như trong Định nghĩa 1, chúng ta có thể biểu diễn role English Bidder theo dạng XML như trong Hình 2.3 Trong biểu

diễn này:

 Thẻ require mô tả tập yêu cầu khởi đầu cho role

 Thẻ capacity mô tả tập khả năng gắn thêm cho agent khi đảm nhiệm

role

 Thẻ behavior mô tả tập hành vi cần thực hiện của agent

Trang 34

Hình 2.3: Biểu diễn role bidder bằng XML

<?xml version="1.0" encoding="UTF-8"?>

<role xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Trang 35

2.3 Đại số quan hệ giữa các role

Phần này sẽ trình bày các quan hệ giữa các role dựa trên phân tích các thành phần của role đã định nghĩa trong phần 2.2

Quan hệ này là tập con của R R và thoả mãn các tính chất:

(i) Tính chất phản xạ r R: ( r extend r) (một role có thể được xem là kế thừa từ chính nó)

(ii) Tính chất bắc cầu (r 1 , r 2 , r 3 ) R: ((r 1 extend r 2 ) (r 2 extend r 3 ) (r 1 extend r 3 ) )

Quan hệ kế thừa xét trên các tập r 1 = <Q 1 , C 1 , B 1 > và r 2 = <Q 2 , C 2 , B 2 >:

r 1 extend r 2 : Q2 Q1

C2 C1

B2 B1

Trang 36

Có thể hiểu role r1 được mở rộng từ role r2 bằng cách bổ sung một số yêu cầu khởi đầu, khả năng và hành vi

Xét trong hệ thống đấu giá nhiều sản phẩm, các role English Bidder, Dutch Bidder là kế thừa từ role Bidder, các role English Auctioner, Dutch Auctioner

là kế thừa từ Auctioner Trong trường hợp này, các role Bidder và Auctioner là trừu tượng Khi một agent tham gia hệ thống với vai trò người mua thì sẽ được gán role Bidder, tuy nhiên, tùy thuộc vào sản phẩm và phiên đấu giá cụ thể thì agent

đó sẽ nhận được role tương ứng (English Bidder, Dutch Bidder ) và khi đó mới thực sự có khả năng thực hiện các hành vi như trả giá, thay đổi giá Xem xét quan hệ kế thừa giữa các role thể hiện qua các tập <Q, C, B> trong Bảng 2.3

Q has an account has an account, know English auction rule

C Re-bid Join an English auction, re-bid

B Bid, rebid, payment Bid, re-bid, payment

Bảng 2.3: Ví dụ về Quan hệ kế thừa giữa các role

2.3.3 Quan hệ loại trừ

Quan hệ loại trừ giữa hai role r 1 và r 2 cho biết hai role này không thể gán cho một agent tại cùng một thời điểm Ký hiệu r 1 not r 2 Quan hệ này là tập con của R R

và thoả mãn các tính chất:

(i) Tính chất không phản xạ r R ((r not r))

(ii) Tính chất đối xứng: (r 1 , r 2 ) R: (r 1 not r 2 r 2 not r 1 )

Quan hệ loại trừ biểu diễn trên r 1 = <Q 1 , C 1 , B 1 > và r 2 = <Q 2 , C 2 , B 2 >:

Trang 37

định nghĩa role Ở đây chỉ xem xét quan hệ loại trừ trên định nghĩa role với <Q, C,

B> và XML

Với biểu diễn role trong XML, ta cần thêm thẻ Incompatitive cho biết các role

không tương thích với role đang xét Hình 4 biểu diễn hai role: Manager và

English Bidder, qua đó thể hiện quan hệ loại trừ

<incompatitive> bidder </incompatitive>

<incompatitive> auctioner </incompatitive>

Trang 38

<incompatitive> manager </incompatitive>

<incompatitive> notifier </incompatitive>

</role>

</role>

Hình 2.4: Ví dụ về quan hệ loại trừ giữa các role

2.3.4 Quan hệ Yêu cầu

Quan hệ yêu cầu giữa hai role cho biết khi một agent được gán role này thì cũng phải nhận được role kia Ký hiệu r 1 and r 2

Quan hệ này là tập con của R R và thoả mãn các tính chất:

Trong hệ thống đấu giá nhiều sản phẩm, role Manager và Notifier là hai role

có quan hệ yêu cầu (agent đã đảm nhiệm role Manager thì cũng đảm nhiệm luôn role Notifier) Bảng 4 mô tả hai role này theo các tập <Q, C, B>

Trang 39

Tên role Manager Notifier

Bảng 2.4: Ví dụ về quan hệ yêu cầu giữa các role

2.3.5 Quan hệ thêm vào

Quan hệ thêm vào giữa hai role cho biết hai role này có thể cùng được gán cho một agent Ký hiệu r 1 add r 2 Tập hành vi của hai role không liên quan gì đến nhau

Quan hệ này là tập con của R R và thoả mãn các tính chất:

(i) Tính chất phản xạ r R(r add r)

(ii) Tính chất đối xứng: (r 1 , r 2 ) R: (r 1 add r 2 r 2 add r 1 )

Quan hệ này được biểu diễn trên r 1 = <Q 1 , C 1 , B 1 > và r 2 = <Q 2 , C 2 , B 2 >:

r 1 add r 2 : B1 B2 = 

r1  Incompatitive(r2)

Có thể hiểu, nếu role r1 và r2 không có quan hệ loại trừ thì (r1 không thuộc tập các role không tương thích của r2 và ngược lại) và hai role này có tập hành vi hoàn toàn khác nhau thì hai role này có thể gán cho cùng một agent và khi đó agent sẽ

có tập hành vi là cộng hợp của hai tập hành vi ban đầu

Trong hệ đấu giá nhiều sản phẩm, role Bidder và Auctioner có quan hệ thêm

vào (nếu xét trên các sản phẩm khác nhau) Các role con thuộc các kiểu này cũng

có quan hệ thêm vào (một người mua có thể cùng một lúc tham gia nhiều phiên đấu giá hoặc cũng có thể vừa đóng vai trò người mua, vừa đóng vai trò người bán (nhưng phải trong các phiên đấu giá khác nhau))

Ngày đăng: 25/03/2015, 09:37

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Ben-Ameur, H., Chaib-draa, B. and Kropf, P. (2002), “Multi-item Auctions for Automatic Negotiation”, Journal of Information and Software Technology, 44:291--301, 2002 Sách, tạp chí
Tiêu đề: “Multi-item Auctions for Automatic Negotiation”
Tác giả: Ben-Ameur, H., Chaib-draa, B. and Kropf, P
Năm: 2002
[2] Cabri, G., Ferrari, L., Leonardi, L. (2004), ―Agent Role-based Collaboration and Coordination: A Survey about existing Approaches”, http://agentgroup.ing.unimo.it/MOON/papers/pdf/SMC04.pdf Sách, tạp chí
Tiêu đề: Agent Role-based Collaboration and Coordination: A Survey about existing Approaches
Tác giả: Cabri, G., Ferrari, L., Leonardi, L
Năm: 2004
[3] Cabri, G., Leonardi, L., Zambonelli, F. (2003) ―Role-based Interaction Infrastructures for Internet Agents”,http://agentgroup.ing.unimo.it/MOON/papers/pdf/TIS03.pdf Sách, tạp chí
Tiêu đề: Role-based Interaction Infrastructures for Internet Agents
Tác giả: Cabri, G., Leonardi, L., Zambonelli, F
Năm: 2003
[4] Cabri, G., Leonadi, L., Zambonelli, F. (2003), “XRole: XML Roles for agent Interaction”,http://www.ofai.at/research/agents/conf/at2ai3/final/at2ai3Cabri.pdf.gz Sách, tạp chí
Tiêu đề: XRole: XML Roles for agent Interaction
Tác giả: Cabri, G., Leonadi, L., Zambonelli, F
Năm: 2003
[5] Cabri, G. (2006), “Agent Composition via role-based infrastructures”, Scalable Computing: Practice and Experience, Vol. 7, No. 1, pp. 37-47, ISSN: 1895-1767, March 2006 Sách, tạp chí
Tiêu đề: “Agent Composition via role-based infrastructures”
Tác giả: Cabri, G
Năm: 2006
[6] Cabri, G., Ferrari, L., Leonardi, L. (2004), ―Rethinking agent roles: Extending the role definition in the BRAIN Framework”, SMC (6) 2004: 5455-5460 Sách, tạp chí
Tiêu đề: Rethinking agent roles: Extending the role definition in the BRAIN Framework”
Tác giả: Cabri, G., Ferrari, L., Leonardi, L
Năm: 2004
[7] Robichez de Carvalho, G., Paes, R., Lucena, C. (2005), “Extensions on Interaction Laws in Open Multi-Agent Systems”, http://www.les.inf.puc- rio.br/seas2005/file/gCarvalho.pdf Sách, tạp chí
Tiêu đề: Extensions on Interaction Laws in Open Multi-Agent Systems
Tác giả: Robichez de Carvalho, G., Paes, R., Lucena, C
Năm: 2005
[8] Dang, V. D., Jennings, N. R. (2003), “Optimal clearing algorithms for multi-unit single-item and multi-unit combinatorial auctions with demand/supply function bidding.”, ICEC 2003, Pittsburgh, Pennsylvania, USA Sách, tạp chí
Tiêu đề: ), “Optimal clearing algorithms for multi-unit single-item and multi-unit combinatorial auctions with demand/supply function bidding.”
Tác giả: Dang, V. D., Jennings, N. R
Năm: 2003
[9] DeLoach, S.A. (2006), “Engineering Organization-Based Multiagent System”, SELMAS 2005, pp.109-125, 2006 Sách, tạp chí
Tiêu đề: “Engineering Organization-Based Multiagent System”, SELMAS 2005
Tác giả: DeLoach, S.A
Năm: 2006
[10] DeLoach, S.A., Garcia-Ojeda, J.C., Oyenan, W.H., Velenzuela, J. (2006) “O- MaSE: A Customizable Approach to Developing Multiagent Development Process”, http://macr.cis.ksu.edu/publications/AOSE_07_OMaSE.pdf Sách, tạp chí
Tiêu đề: O- MaSE: A Customizable Approach to Developing Multiagent Development Process
Tác giả: DeLoach, S.A., Garcia-Ojeda, J.C., Oyenan, W.H., Velenzuela, J
Năm: 2006
[11] DeLoach, S.A., (2007), “Developing a Multiagent Conference Management System Using the O-MaSE Process Framework”, AOSE 2007: 168-181 Sách, tạp chí
Tiêu đề: “Developing a Multiagent Conference Management System Using the O-MaSE Process Framework”
Tác giả: DeLoach, S.A
Năm: 2007
[12] Dastani, M., Riemsdijk, M. B., Hulstijin, J., Dignum, F., Meyer, J. C. (2004) “Enacting and Deacting Roles in Agent Programming”, In Proc. of the 5th Int.Workshop on AOSE, page 3382, 2004 Sách, tạp chí
Tiêu đề: Enacting and Deacting Roles in Agent Programming
Tác giả: Dastani, M., Riemsdijk, M. B., Hulstijin, J., Dignum, F., Meyer, J. C
Nhà XB: Proc. of the 5th Int.Workshop on AOSE
Năm: 2004
[13] Dastani, M., Dignum, V., Dignum, F. (2005), “Role-Assignment in Open Agent Societies”, in Proceedings of AAMAS'03 Sách, tạp chí
Tiêu đề: “Role-Assignment in Open Agent Societies”
Tác giả: Dastani, M., Dignum, V., Dignum, F
Năm: 2005
[14] Juan T., Pearce, A, Sterling, L., (2002), ―ROADMAP: Extending the Gaia Methodology for Complex Open Systems”, Proceedings of the 2002 AutonomousAgents and Multi-Agent Systems Sách, tạp chí
Tiêu đề: ROADMAP: Extending the Gaia Methodology for Complex Open Systems”
Tác giả: Juan T., Pearce, A, Sterling, L
Năm: 2002
[15] Horling, B., Lesser, V., (2005) “A Survey of Multi-agent Organizational Paradigms”, The Knowledge Engineering Review, Volume 19, Number 4, Cambridge University Press, pp. 281-316. 2005 Sách, tạp chí
Tiêu đề: “A Survey of Multi-agent Organizational Paradigms”
[16] Huynh, T. D., Jennings, N. R., and Shadbolt, N.R., (2006) ―An integrated trust and reputation model for open multi-agent systems”, Journal of Autonomous Agents and Multi-Agent Systems, 13 (2). pp. 119-154. ISSN 1387-2532 Sách, tạp chí
Tiêu đề: An integrated trust and reputation model for open multi-agent systems”
[17] van Eijk, R. M., de Boer, F. S., van der Hoek W., and Meyer, J. C., (2000)“Open Multi-Agent Systems: Agent Communication and Integration”, http://eprints.kfupm.edu.sa/55845/1/55845.pdf Sách, tạp chí
Tiêu đề: Open Multi-Agent Systems: Agent Communication and Integration
Tác giả: van Eijk, R. M., de Boer, F. S., van der Hoek W., Meyer, J. C
Năm: 2000
[22] Odell, J., Parunak, H.V.D., Fleischer, M., (2004) “The role of roles in designing effective agent organizations”, In Software Engineering for Large-Scale Multi- Agent Systems, LNCS 2603, pages 27—38 Sách, tạp chí
Tiêu đề: ) “The role of roles in designing effective agent organizations”
[23] Xu, H., Zhang, X., (2005), “A Methodology for role-based modelling of open multi-agent software system”, In Proceedings of the 7 th International Conference on Enterprise Information Systems (ICEIS 2005) Sách, tạp chí
Tiêu đề: “A Methodology for role-based modelling of open multi-agent software system”
Tác giả: Xu, H., Zhang, X
Năm: 2005
[24] Xu, H., Zhang, X., Patel, R. J., (2007), ―Developing role-based open multi-agent software systems‖, Int. J. Comput. Intell. Theory Pract. 2, No. 1, 39-56 Sách, tạp chí
Tiêu đề: Developing role-based open multi-agent software systems
Tác giả: H. Xu, X. Zhang, R. J. Patel
Nhà XB: Int. J. Comput. Intell. Theory Pract.
Năm: 2007

HÌNH ẢNH LIÊN QUAN

Hình 1.2: Mô hình OMACS - Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 1.2 Mô hình OMACS (Trang 18)
Hình 1.3:  Các bước phát triển hệ đa agent mở theo O-MaSE - Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 1.3 Các bước phát triển hệ đa agent mở theo O-MaSE (Trang 20)
Bảng 1.1: So sánh các phương pháp luận cho hệ đa agent mở - Hệ đa agent mở dựa trên mô hình role và tổ chức
Bảng 1.1 So sánh các phương pháp luận cho hệ đa agent mở (Trang 22)
Hình 2.1: Tương tác giữa các role trong BRAIN - Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 2.1 Tương tác giữa các role trong BRAIN (Trang 29)
Bảng 2.4: Ví dụ về quan hệ yêu cầu giữa các role - Hệ đa agent mở dựa trên mô hình role và tổ chức
Bảng 2.4 Ví dụ về quan hệ yêu cầu giữa các role (Trang 39)
Hình 3.1: Thuật toán gán role cho agent - Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 3.1 Thuật toán gán role cho agent (Trang 47)
Hình 4.2: Sơ đồ goal của hệ thống đa đấu giá - Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.2 Sơ đồ goal của hệ thống đa đấu giá (Trang 52)
Hình 4.3: Mô hình các lớp agent trong hệ thống đa đấu giá - Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.3 Mô hình các lớp agent trong hệ thống đa đấu giá (Trang 57)
Hình 4.4: Mô hình kiến trúc của JADE - Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.4 Mô hình kiến trúc của JADE (Trang 58)
Hình 4.5: Thiết kế phân tầng hệ thống dựa trên JADE - Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.5 Thiết kế phân tầng hệ thống dựa trên JADE (Trang 59)
Hình 4.6: Khởi động Manager Agent - Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.6 Khởi động Manager Agent (Trang 61)
Hình 4.11: Khởi động Bidder Agent - Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.11 Khởi động Bidder Agent (Trang 65)
Hình 4.13: Khởi động nhiều Bidder Agent - Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.13 Khởi động nhiều Bidder Agent (Trang 66)
Hình 4.17: Kết thúc phiên đấu giá - Hệ đa agent mở dựa trên mô hình role và tổ chức
Hình 4.17 Kết thúc phiên đấu giá (Trang 69)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w