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

Mô hình tương tác dựa trên role trong hệ đa agent

118 625 1

Đ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 118
Dung lượng 1,91 MB

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

Nội dung

Tương tác [9] có thể có nhiều dạng như phối hợp, hỗ trợ, thương lượng để hoàn thành mục tiêu riêng hoặc để thực hiện mục tiêu chung hoặc thậm chí là cạnh tranh tài nguyên… Do khả năng c

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Thị Thanh Huyền

MÔ HÌNH TƯƠNG TÁC DỰA TRÊN ROLE

TRONG HỆ ĐA AGENT

LUẬN VĂN THẠC SĨ

HÀ NỘI – 2007

Trang 2

NGUYỄN THỊ THANH HUYỀN

MÔ HÌNH TƯƠNG TÁC DỰA TRÊN ROLE

TRONG HỆ ĐA AGENT

Ngành: Công nghệ thông tin Chuyên ngành:

Mã số: 1.01.10

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS TRẦN ĐÌNH QUẾ

HÀ NỘI – 2007

Trang 3

MỤC LỤC

LỜI CAM ĐOAN iii

MỤC LỤC iv

DANH MỤC BẢNG BIỂU viii

DANH MỤC HÌNH VẼ ix

KÍ HIỆU VIẾT TẮT xi

MỞ ĐẦU 1

Chương 1 Tương tác trong hệ đa agent 6

1.1 Hệ đa agent 6

1.1.1 Hệ phần mềm phức tạp 6

1.1.2 Hệ đa agent 8

1.2 Tương tác trong hệ đa agent 10

1.2.1 Khái niệm tương tác đa agent 10

1.2.2 So sánh tương tác trong hệ đa Agent và hệ hướng đối tượng 12

1.3 Mô hình tương tác hướng agent 14

1.3.1 Đặc tả tương tác bằng UML 14

1.3.2 Mô hình tương tác dựa trên mục tiêu (goal) 15

1.3.3 Mô hình tương tác dựa trên role 19

1.4 Thương lượng đấu giá 20

1.4.1 Khái niệm thương lượng 20

1.4.2 Thương lượng đấu giá 22

1.4.3 Một số giao thức đấu giá cơ bản 24

Trang 4

1.5 Kết chương 25

Chương 2 Role trong phát triển phần mềm 26

2.1 Tổng quan về role 26

2.1.1 Cơ sở thực tiễn 26

2.1.2 Role và vai trò của role trong hệ thống thông tin 27

2.2 Phát triển phần mềm dựa trên role 29

2.2.1 Role trong phát triển phần mềm 29

2.2.2 Role trong phát triển phần mềm hướng đối tượng 32

2.3 Role trong hệ đa agent 35

2.3.1 Mô hình role 35

2.3.2 So sánh role trong hệ đa agent và hướng đối tượng 38

2.3.3 Một số phương pháp mô hình tương tác dựa trên role 40

2.4 Kết chương 46

Chương 3 Mô hình tương tác dựa trên role 47

3.1 Mô hình role và tương tác dựa trên role BRAIN 47

3.1.1 Mô hình role 47

3.1.2 Mô hình tương tác dựa trên role 48

3.2 XRole – Tập kí hiệu đặc tả role 49

3.2.1 Đặc tả role 50

3.2.2 Cài đặt role 55

3.3 Cơ sở hạ tầng tương tác 58

3.3.1 RoleX 59

3.3.2 RoleSystem 60

Trang 5

3.4 Mô hình role cho đấu giá tự động 61

3.4.1 Thiết kế role 61

3.4.2 Đặc tả role 64

3.5 Kết chương 66

Chương 4 Cài đặt thử nghiệm hệ thống đấu giá 67

4.1 Mô tả bài toán 67

4.1.1 Giao thức đấu giá kiểu Anh 67

4.1.2 Chiến lược đấu giá 69

4.2 JADE Platform 72

4.2.1 Ngôn ngữ truyền thông ACL 73

4.2.2 Cơ chế truyền thông giữa các Agent 74

4.2.3 Ví dụ minh họa truyền thông ACL 76

4.3 Cài đặt role 76

4.4 Cấu trúc role agent 80

4.4.1 Cấu trúc hai tầng của hệ thống 80

4.4.2 Quá trình tương tác giữa các role agent 83

4.5 Kết quả thử nghiệm 84

4.5.1 Khởi tạo các role agent 84

4.5.2 Quá trình thương lượng giữa Seller và Auctioneer 88

4.5.3 Quá trình thương lượng giữa Bidder và Auctioneer 89

4.5.4 Kết thúc đấu giá 90

4.5.5 Một số khảo sát kết quả 92

4.6 Đánh giá 96

Trang 6

4.6.1 Đánh giá hệ thống thử nghiệm 96

4.6.2 Đánh giá phương pháp BRAIN 97

KẾT LUẬN 100

Hướng phát triển trong tương lai 101

TÀI LIỆU THAM KHẢO 103

Trang 7

DANH MỤC BẢNG BIỂU

Bảng 1.1 So sánh tương tác hướng agent và hướng đối tượng 12

Bảng 2.1: Các phương pháp sử dụng role trong phát triển phần mềm 31

Bảng 4.1 Quá trình thương lượng giữa Seller và Auctioneer 88

Bảng 4.2 Quá trình thương lượng giữa Bidder và Auctioneer 89

Bảng 4.3 Các Bidder tham gia đấu giá 92

Bảng 4.4 Kết quả phiên đấu giá khi thay đổi gia số 93

Bảng 4.5 Kết quả phiên đấu giá khi thay đổi TO3 94

Bảng 4.6 Kết quả ba phiên đấu giá đồng thời 96

Trang 8

DANH MỤC HÌNH VẼ

Hình 1.1 Mô hình chuẩn của hệ thống phức tạp 7

Hình 1.2 Hệ đa agent 9

Hình 1.3 Lược đồ tổng quan của phương pháp Hermes 17

Hình 1.4 Lược đồ phân cấp IG 18

Hình 2.1 Mô hình tương tác dựa trên role 37

Hình 3.1 Khung BRAIN 47

Hình 3.2 Mô hình tương tác giữa hai agent 49

Hình 3.3 Cú pháp khai báo DTD 50

Hình 3.4 DTD cho các role theo mô hình BRAIN 51

Hình 3.5 Lược đồ XML cho mô hình role theo BRAIN 53

Hình 3.6 Định nghĩa role Bidder trong XRole 54

Hình 3.7 Chuyển đối HTML của Bidder.xml 56

Hình 3.8 XSL chuyển tài liệu XML thành lớp Java 57

Hình 3.9 Mã nguồn lớp Java chuyển từ Bidder.xml 58

Hình 3.10 Đặc tả role Seller 64

Hình 3.11 Đặc tả role Auctioneer 65

Hình 3.12 Đặc tả role Seller 66

Hình 4.1 Giao thức đấu giá kiểu Anh FIPA 68

Hình 4.2 Thuật toán quyết định của Auctioneer 70

Hình 4.3 Thuật toán đấu giá của Bidder 72

Hình 4.4 Nền Jade và các Container 73

Hình 4.5 Cơ chế truyền thông điệp không đồng bộ của Jade 75

Hình 4.6 Lược đồ quan hệ giữa các lớp trong hệ Auction 78

Trang 9

Hình 4.7 Mã nguồn Java tương ứng với Seller.xml 78

Hình 4.8 Mã nguồn Java tương ứng với Auctioneer.xml 79

Hình 4.9 Mã nguồn Java tương ứng với Bidder.xml 79

Hình 4.10 Mã nguồn Java cài đặt Bidder 80

Hình 4.11 Cấu trúc phân tầng của hệ đa agent dựa trên role 81

Hình 4.12 Giao diện khởi tạo role agent 84

Hình 4.13 Giao diện của một Bidder 85

Hình 4.14 Giao diện của Seller 85

Hình 4.15 Giao diện của Auctioneer 86

Hình 4.16 Cây phân cấp Agent của nền Jade 87

Hình 4.17 Giao diện kết quả của Bidder thắng cuộc 90

Hình 4.18 Giao diện kết quả của Bidder thất bại 91

Hình 4.19 Giao diện kết quả của Seller 91

Hình 4.20 Giao diện hiển thị của Auctioneer 92

Hình 4.21 Giao diện thiết đặt thông số cho ba phiên đấu giá song song 95

Trang 10

KÍ HIỆU VIẾT TẮT

BRAIN Behavioral Roles for Agent INteractions

FIPA Foundation of Intelligent Physical Agents

AIP Agent Interaction Protocol

ACL Agent Communication Language

KQML Knowledge Query Manipulation Language

KIF Knowledge Interchange Format

RBAC Role Based Access Control

UML Unified Modeling Language

AUML Agent Unified Modeling Language

RBSD Role Based Software Development

HTML HyperText Markup Language

XSL eXtension Style Language

JADE Java Agent DEvelopment Framework

Trang 11

MỞ ĐẦU

Thiết kế và xây dựng các hệ thống phần mềm phức tạp là một việc làm hết sức khó khăn và được cho là một trong những công việc kiến thiết phức tạp nhất của loài người Lịch sử phát triển phần mềm đã trải qua nhiều mô hình khác nhau như lập trình thủ tục, hướng đối tượng, mẫu thiết kế… Mỗi mô hình đều có mục đích hoặc đơn giản hóa quá trình kỹ nghệ hoặc mở rộng quy mô và tăng khả năng

xử lý phức tạp của hệ thống Thập kỷ trước đã chứng kiến thời kỳ huy hoàng của kỹ nghệ phần mềm hướng đối tượng, song bản chất tĩnh, ổn định của đối tượng tỏ ra không phù hợp cho thiết kế các hệ thống trong môi trường phân tán, không thuần

nhất, động và mở như Internet Thực thể phần mềm gọi là agent với những đặc

trưng như tự chủ, linh hoạt, di động, có khả năng giao tiếp…được coi là một trong những lựa chọn cho phát triển các hệ thống phân tán và đã thu hút nhiều sự quan tâm nghiên cứu ([36], [50], [8], [9])

Với công nghệ agent, một hệ thống phức tạp được chia thành các thành phần nhỏ hơn và mỗi agent được giao thực hiện một số nhiệm vụ nào đó Các thành phần phân rã này thường phụ thuộc lẫn nhau Nhờ có khả năng tự chủ, các agent này có thể giao tiếp, phối hợp với các agent khác để hoàn thành mục tiêu chung của hệ

thống Như vậy, mỗi agent luôn cần có sự cộng tác từ phía các agent khác Tương

tác chính là cầu nối, là phương tiện để các agent hoạt động cùng nhau Tương tác

[9] có thể có nhiều dạng như phối hợp, hỗ trợ, thương lượng để hoàn thành mục tiêu riêng hoặc để thực hiện mục tiêu chung hoặc thậm chí là cạnh tranh tài nguyên…

Do khả năng chủ động và tính xã hội của agent mà tương tác giữa các agent trở nên phức tạp hơn nhiều so với tương tác giữa các đối tượng Trong khi, đối tượng chỉ đơn giản thực hiện những thao tác do người lập trình cài đặt mà không có

sự chủ động nào, agent được cung cấp tri thức, phương pháp và có thể chủ động quyết định thực hiện cái gì, như thế nào [45] Do vậy, tương tác trong hệ đa agent

có một số điểm khác biệt nổi bật so với tương tác trong hệ đối tượng:

Trang 12

 Tương tác đa agent xảy ra một cách tự động, không cần sự kích hoạt từ bên ngoài Trong khi thực hiện một nhiệm vụ nào đó, nếu cần thiết, agent hoàn toàn có thể tự kích hoạt tương tác với agent khác Chính điều này tạo

ra sự lan tỏa tương tác khiến cho tương tác giữa các agent không chỉ dừng lại ở hai chiều

 Tương tác trong hệ đa agent mang tính chất xã hội vì đó không chỉ là một bên đưa ra yêu cầu còn bên kia thực hiện mà agent hoàn toàn có khả năng

từ chối thực thi yêu cầu của các agent khác Mặt khác, tương tác đa agent

có thể được phân chia theo ngữ cảnh xã hội thành các loại như tương tác kết hợp, phối hợp, cạnh tranh, thương lượng Với các tương tác phức tạp như cạnh tranh, thương lượng, việc xây dựng chiến lược, mô hình để agent thực hiện tương tác một cách tự động gặp nhiều khó khăn vì cần phải có những mô hình phù hợp và những công cụ mạnh hơn Hơn nữa, do agent

có thể quyết định dựa trên tri thức, có khả năng phát động tương tác nên tương tác trong hệ đa agent là rất khó đoán trước trong thời gian thiết kế

Vì vậy, tính linh động là điều tối cần thiết trong mô hình tương tác đa agent, nghĩa là mô hình tương tác phải cung cấp cho agent khả năng di chuyển và hoạt động từ vị trí này sang vị trí khác, thêm bớt agent một cách

dễ dàng… trong thời gian chạy

Cho đến nay, nhiều mô hình tương tác đã được đề xuất như mô hình dựa trên mục tiêu (goal) [18], mô hình kế thừa từ mô hình hướng đối tượng AUML [5]…Tuy nhiên, các mô hình này chưa thể hiện được đầy đủ bản chất chủ động và tính xã hội của agent cũng như chưa hỗ trợ được đầy đủ các pha trong quy trình phát triển phần mềm Một số mô hình gần đây ra đời nhằm khắc phục những hạn

chế trên, trong số đó mô hình dựa trên role đang thu hút nhiều sự quan tâm nghiên

cứu

Role [20] từ lâu đã được áp dụng trong nhiều lĩnh vực khác nhau và thường được hiểu là tập các quyền hạn, chức năng và nghĩa vụ được cung cấp cho một đối

Trang 13

tượng như con người để hoàn thành một nhiệm vụ nào đó Trong hệ đa agent, mỗi khi agent muốn thực hiện một công việc, nó sẽ đảm nhận một role tương ứng Ví dụ, khi một agent muốn tham gia trả giá trong một phiên đấu giá, agent đó sẽ chọn đảm

nhận role Người mua (Bidder), ngược lại, nếu muốn rao bán một mặt hàng, agent khác nào đó sẽ chọn đảm nhận role Người bán (Seller) Mọi thao tác liên quan đến

trả giá, tìm kiếm sản phẩm, mua hàng đều được tích hợp trong role Bidder, các thao tác tìm trung gian, đặt giá được cài đặt trong role Seller Bản thân mỗi agent không cần phải cài đặt tất cả các chức năng này Như vậy, việc sử dụng role cho phép người phát triển phân tách rạch ròi vấn đề liên quan đến tương tác với các vấn đề liên quan đến thuật toán của agent Tương tác có thể được phát triển độc lập với thuật toán tính toán của agent và điều này làm tăng tính môđun hóa và sử dụng lại của phần mềm Các ứng dụng cùng thể loại có thể sử dụng lại các role đã được phát triển hoàn thiện của một ứng dụng trước đó và hoàn toàn có thể chỉnh sửa cho phù hợp với ngữ cảnh cụ thể

Hiện nay, nhiều phương pháp dựa trên role đã được đề xuất [9], mỗi phương pháp mô hình role theo một cách riêng biệt như role dưới dạng quyền hạn, trách nhiệm trong phương pháp GAIA [51] hay dịch vụ trong phương pháp ALAADIN [22]…Trong luận văn này, chúng tôi chọn cách tiếp cận dựa trên khung BRAIN [13] do nhóm tác giả G Cabri, L.Ferrari và F.Zambonelli đề xuất

Khung BRAIN cung cấp một mô hình để trừu tượng hóa role bao gồm: tập kí

hiệu XRole để đặc tả role cũng như cơ sở tương tác RoleX, RoleSystem để hỗ trợ cài

đặt và thực thi các ứng dụng dựa trên role Trong BRAIN, role được mô hình dưới dạng các hành vi, khả năng và tri thức mà agent có thể sử dụng để thực hiện nhiệm

vụ Hành vi của agent là tập các sự kiện mà agent có thể quản lý còn khả năng của Agenta là tập các hành động mà agent có thể thực hiện Tương tác giữa các Agent được mô hình bởi một cặp (hành động, sự kiện) Tương tác xảy ra khi một agent

chọn thực hiện một hành động và cơ sở tương tác sẽ dịch hành động này thành một

sự kiện rồi gửi tới agent nhận Agent nhận tiếp nhận, xử lý các sự kiện này và đáp

Trang 14

trả bằng cách chọn thực hiện một hành động trong khả năng của nó và hệ thống chuyển hành động này thành sự kiện gửi lại agent gửi

Ngày nay, với sự phát triển của Internet, các hệ thống đấu giá trực tuyến đã trở nên phổ biến Đặc biệt, việc sử dụng các agent thông minh đã giúp người dùng

có thể thoát ly việc ra quyết định trong đấu giá đồng thời có thể tham gia nhiều cuộc đấu giá cùng lúc Tuy nhiên, tương tác giữa các agent này lại đặt ra nhiều vấn đề đối với người phát triển hệ thống như làm cách nào để agent có thể di chuyển dễ dàng giữa các nút trong mạng, cách nào để một agent có thể tham gia đồng thời nhiều cuộc đấu giá với những vai trò khác nhau…

Mục đích của luận văn này trước hết xem xét vấn đề tương tác, khái niệm role trong phát triển phần mềm và đặc biệt trong mô hình tương tác của các agent Sau đó, tập trung nghiên cứu mô hình tương tác dựa trên role với khung BRAIN và

áp dụng mô hình vào phát triển hệ thống đấu giá trực tuyến Nội dung luận văn được chia thành các phần chính sau đây:

Chương 1 Tương tác trong hệ đa agent: Chương này tập trung làm rõ

vai trò và tầm quan trọng của tương tác trong hệ đa agent Một số đặc điểm khác biệt của tương tác trong hệ đa Agent với tương tác trong các hệ khác cùng một số đặc điểm của thương lượng – một loại hình tương tác phức tạp nhất trong hệ đa agent

Chương 2 Role trong phát triển phần mềm: Khái niệm role trong phát

triển phần mềm và một số phương pháp mô hình role sẽ được trình bày trong chương này

Chương 3 Mô hình tương tác dựa trên role: Chương này mô tả chi tiết

mô hình tương tác dựa trên role với khung BRAIN Mô hình cung cấp công cụ để phát triển một hệ thống phần mềm dựa trên khái niệm role, một tập kí hiệu để đặc tả role và các cơ sở tương tác phục vụ cho việc cài đặt

và thực thi hệ thống

Trang 15

Chương 4 Cài đặt thử nghiệm hệ thống đấu giá: Chương này sẽ trình

bày một cài đặt thử nghiệm hệ thống đấu giá sử dụng mô hình BRAIN trên nền Jade

Cuối cùng, phần kết luận trình bày một số kết quả đạt được của luận văn và hướng phát triển trong tương lai

Trang 16

1 Chương 1 Tương tác trong hệ đa agent

Tương tác là một trong những hoạt động cơ bản của các thành phần trong một hệ thống Nó quyết định sự thành công của từng thành phần đó cũng như mục tiêu chung của hệ thống tổng thể Trong chương này, chúng ta sẽ tìm hiểu về tương tác trong hệ thống phần mềm, đặc biệt là tương tác giữa các Agent trong hệ đa agent

1.1 Hệ đa agent

1.1.1 Hệ phần mềm phức tạp

Kỹ nghệ các hệ thống phức tạp đã luôn là vấn đề khó khăn đối với ngành công nghệ phần mềm trong khi độ phức tạp của các hệ thống này lại không ngừng tăng lên do sự phong phú về chức năng, mục đích, sự đa dạng về người dùng… Vì vậy, chúng ta cần có một phương pháp luận thích hợp cung cấp các cấu trúc và kỹ thuật để thể hiện được bản chất của hệ thống đồng thời làm giảm sự phức tạp trong quá trình phát triển Để tìm ra phương pháp luận này, chúng ta có thể sử dụng một

số đặc điểm quan trọng sau đây của hệ phức tạp [29] :

 Hệ thống luôn có cấu trúc phân cấp1

1

Cấu trúc phân cấp ở đây được hiểu theo nghĩa rộng, nghĩa là hệ thống được coi là một tập liên tục các hệ thống con, mà không phải các mối quan hệ mang tính phân qưyền giữa hệ thống và các thành phần con

Trang 17

Tương tác trong hệ thống được chia làm hai loại riêng biệt: Tương tác

giữa các hệ thống con với nhau là tương tác không thường xuyên và khó đoán trước Tương tác giữa các thành phần của một hệ thống con thường xảy ra hơn và dễ dự đoán hơn

Những đặc điểm trên sẽ giúp chúng ta định nghĩa được một cách nhìn chuẩn

về hệ thống như Hình 1.1:

Hình 1.1 Mô hình chuẩn của hệ thống phức tạp

Trong mô hình trên, bản chất phân cấp của hệ thống được thể hiện qua các liên kết ―bao gồm‖(composed of), các hệ thống con được kết nối bởi các liên kết

―tương tác không thường xuyên‖ và các thành phần của một hệ con được kết nối

với nhau bởi liên kết ―tương tác thường xuyên‖ Với mô hình này, một thành phần

ở một mức có thể được triển khai thành một tập hợp các thành phần con ở mức tiếp theo

Mô hình hệ thống phức tạp ở trên đã gợi mở nhiều vấn đề giúp các kỹ sư phần mềm phát triển các công cụ mạnh để xử lý tính phức tạp của hệ thống Hầu hết các phương pháp được đề xuất đều dựa trên một số nguyên tắc và kỹ thuật sau:

 Sự phân rã (Decomposition): Kỹ thuật cơ bản nhất để giải quyết bất kỳ một bài toán lớn nào cũng là chia nó thành các bài toán nhỏ dễ xử lý hơn, trong đó mỗi bài toán nhỏ lại có thể tiếp tục được phân rã và xử lý tươđối

Tương tác thường xuyên

Hệ thống con

Thành phần con

Bao gồm Tương tác không thường xuyên

Trang 18

độc lập với nhau (giống như các hệ thống con có thể phân rã trong Hình 1.1) Sự phân rã này giúp xử lý tính phức tạp của hệ thống bởi nó giới hạn phạm vi mà người thiết kế cần quan tâm, tức là, tại một thời điểm nào đó chúng ta chỉ phải xem xét một phần nhỏ của bài toán mà không quan tâm đến phần còn lại Điều này tạo tính mô đun và chuyên môn hóa cho quá trình phát triển

 Trừu tượng hóa (Abstraction): Quá trình xác định mô hình của một hệ thống chỉ tập trung vào một số thuộc tính hoặc chi tiết nhất định Kỹ thuật này lại một lần nữa có hiệu quả bởi vì nó giới hạn phạm vi cần quan tâm của người thiết kế tại một thời điểm bất kỳ Chúng ta có thể tập trung sự chú ý các điểm nổi bật của vấn đề, không phí công sức vào các chi tiết ít liên quan hơn

 Tổ chức phân cấp: Là cách thức sắp đặt và quản lý các thành phần của hệ thống cũng như mối quan hệ giữa chúng Cơ chế tổ chức chủ yếu là nhiều thành phần ở một mức sẽ được gộp lại thành một thành phần ở mức trên

và nhiều thành phần mức trên này lại được gộp lại để tạo thành một thành phần của hệ thống ở mức cao hơn…

Dựa trên những kỹ thuật cơ bản này, mỗi phương pháp kỹ nghệ phần mềm đều có cách áp dụng riêng và có những điểm mạnh yếu khác nhau Phương pháp hướng đối tượng, được dùng phổ biến trong thập kỷ trước, là một phương pháp khá mạnh song vẫn bộc lộ nhiều hạn chế như chưa thích ứng tốt với tính động, phân tán

và mở của các hệ thống hoạt động trên mạng hiện nay Phương pháp kỹ nghệ hướng agent đã và đang thu hút được nhiều sự quan tâm nghiên cứu cho phát triển các hệ phần mềm phức tạp

1.1.2 Hệ đa agent

Như đã trình bày ở phần trên, hệ thống luôn có xu hướng phân rã thành các thành phần nhỏ hơn Với phương pháp hướng agent, các thành phần này chính là

Trang 19

các agent Một hệ thống không thể hoạt động hiệu quả với chỉ một agent duy nhất đảm nhiệm toàn bộ hệ thống, khái niệm hệ đa agent ra đời [50]:

―Hệ đa agent là một hệ thống bao gồm nhiều agent tương tác qua lại với nhau‖

Hình 1.2 Hệ đa agent

Qua mô hình hệ thống, chúng ta có thể nhận thấy một số đặc điểm của hệ đa Agent như sau [29]:

 Mỗi agent có một phạm vi hoạt động cũng như tầm ảnh hưởng riêng trong

hệ thống Phạm vi hoạt động của agent trong môi trường thể hiện bằng hình chiếu của agent tương ứng xuống môi trường trong Hình 1.2 Phạm vi của các agent có thể độc lập hoặc chồng chéo lên nhau nhưng luôn luôn chỉ là một phần nhỏ của với môi trường

 Mỗi agent không có đủ điều kiện (dữ liệu, thông tin) và khả năng để giải quyết toàn bộ vấn đề của hệ thống Mỗi agent chỉ được cung cấp khả năng

đủ (thậm chí còn thiếu) để đạt mục tiêu Vì vậy, để hoàn thành mục tiêu (cả riêng và chung), các agent cần tương tác với nhau

A2 Agent i

Tương tác Quan hệ tổ chức

Trang 20

 Các agent trong hệ đa agent có thể hoạt động một cách độc lập, không chịu

sự điều khiển của các agent khác cũng như của hệ thống Chúng chỉ có thể trao đổi chứ không chi phối lẫn nhau agent là các đối tượng thông minh nên việc agent này áp đặt hoạt động lên agent khác là không thể có Tuy nhiên, sự độc lập ở đây chỉ là tương đối, không có agent nào hoạt động hoàn toàn riêng lẻ, tách rời Các agent vẫn phải tương tác với nhau để yêu cầu giúp đỡ hoặc phối hợp để thực hiện được nhiệm vụ đề ra (thể hiện qua

liên kết tương tác trong Hình 1.2 ) Việc trao đổi sẽ thông qua một ngôn

ngữ giao tiếp riêng, ở mức tri thức có thể là KQML, ACL hay KIF

Tóm lại, mục tiêu tổng thể của hệ thống được chia thành các mục tiêu nhỏ hơn và giao cho các agent Mỗi agent sẽ được cung cấp khả năng cần thiết để hoàn thành những mục tiêu đó Tuy nhiên, để cho agent gọn nhẹ và dễ dàng di chuyển trên môi trường phân tán, agent thường không được trang bị đầy đủ các tính năng

mà chúng phải tương tác qua lại để hỗ trợ nhau, cùng hợp tác để đạt mục tiêu chung Như vậy, trong hệ đa agent, tương tác chính là chìa khóa dẫn đến thành công của hệ thống

1.2 Tương tác trong hệ đa agent

1.2.1 Khái niệm tương tác đa agent

Như đã đề cập ở phần trên, hệ đa agent là hệ thống gồm nhiều agent tự chủ

và linh hoạt khác nhau Mỗi agent đều có mục tiêu riêng và một phần mục tiêu chung của cả hệ thống Trong quá trình hoạt động các agent phải liên hệ với nhau để hoàn thành nhiệm vụ, tất cả những mối liên hệ đó được gọi chung là tương tác Vậy tóm lại, chúng ta có định nghĩa tương tác trong hệ đa agent [29]:

“Tương tác là các mối liên hệ, trao đổi để kết hợp, phối hợp hoặc cạnh tranh,

thương lượng giữa các agent trong hệ đa agent nhằm đạt được mục tiêu riêng của từng agent cũng như mục tiêu tổng thể của hệ thống ”

Trong các hệ thống thông tin, tương tác có thể được chia thành ba loại chính:

Trang 21

Tương tác bình đẳng (peer to peer): đơn giản chỉ là trao đổi các thông

điệp có thể hiểu được giữa các thành phần với nhau

xảy ra khi một bên yêu cầu bên kia thực hiện một hành động cụ thể nào đó

mang tính xã hội như quan hệ tương hỗ, cạnh tranh, thương lượng…

Trong ba loại tương tác trên, tương tác kiểu bình đẳng hay khách-chủ là tương tác phổ biến trong các hệ hướng đối tượng và hướng thành phần Với hai loại tương tác này, các bên thực hiện tương tác bằng cách trao đổi thông điệp hoặc dùng

dữ liệu chia sẻ Tương tác trong hệ đa agent thuộc vào loại thứ ba, là tương tác xã hội Loại tương tác này có ngữ nghĩa phức tạp, phong phú và đa dạng

Nhờ có tính chủ động, agent có khả năng tự phát động tương tác khi cần mà không phải nhờ đến agent khác ra lệnh Nhờ tính phản ứng và tự chủ, tương tác trong hệ đa agent không còn việc một bên đưa ra yêu cầu và bên kia buộc phải thực hiện, agent hoàn toàn có khả năng từ chối Do vậy, tương tác giữa hai agent có thể xảy ra theo hai chiều Mặt khác, agent thường không có đủ khả năng để làm tất cả mọi việc, điều này buộc agent phải phát động tương tác để yêu cầu hỗ trợ từ agent khác Nhờ vậy mà tương tác trong hệ đa agent có thể là tương tác có nhiều hơn hai agent tham gia, hay còn gọi là tương tác nhiều chiều

Trong các hệ thống, mâu thuẫn giữa các agent là không thể tránh khỏi Mâu thuẫn này có thể xuất phát từ việc chia sẻ tài nguyên, cũng có thể do các agent có mục tiêu riêng trái ngược nhau Quan hệ giữa agent mua và agent bán trong các hệ thống thương mại điện tử là một ví dụ Các agent có xung đột sẽ phải dung hòa lợi ích giữa các bên, bằng tương tác cạnh tranh, thương lượng Vì vậy, tương tác trong

hệ đa agent có thể chia làm hai loại chính [29]:

khi các agent muốn đạt được mục tiêu chung của hệ thống mức trên

Trang 22

Chẳng hạn, để thực hiện được việc mua bán, agent mua cần kết hợp với agent lấy thông tin khách hàng và agent tìm kiếm để tìm ra nơi bán sản phẩm cần mua…Khi đó, quan hệ giữa agent mua, agent lấy tin và agent tìm kiếm là quan hệ cộng tác

xảy ra khi các agent cần thực hiện nhiệm vụ, mục tiêu riêng Khi đó, nhiều agent có cùng yêu cầu về tài nguyên hoặc mục tiêu của chúng mâu thuẫn với nhau dẫn đến sự cạnh tranh lẫn nhau và xuất hiện thương lượng Chi tiết về thương lượng sẽ được trình bày trong phần 1.4 của chương này

1.2.2 So sánh tương tác trong hệ đa Agent và hệ hướng đối tượng

Một số điểm sau đây có thể được coi là điểm phân biệt giữa tương tác đa agent và tương tác giữa các đối tượng [2]:

 Tương tác trong hệ đa Agent là tương tác chủ động: Agent có thể tự quyết định khi nào cần tương tác, phải tương tác với agent nào và bằng cách nào…Trong khi đó, tương tác trong hệ hướng đối tượng là hoàn toàn

bị động Mọi tương tác của đối tượng đều cần được phát động từ bên ngoài,

có thể do một đối tượng khác hoặc do hệ thống Bản thân đối tượng không

có quyền quyết định thực hiện tương tác nào, vào thời điểm nào

Tương tác hướng agent Tương tác hướng đối tượng

Bảng 1.1 So sánh tương tác hướng agent và hướng đối tượng

 Tương tác trong hệ agent có ngôn ngữ giao tiếp riêng: Agent có ngôn ngữ giao tiếp mức cao (có tính khai báo) như KQML hoặc FIPA ACL Các ngôn ngữ này đều dựa trên thuyết hoạt động nói (“speech act theory”) Kết quả là các tương tác thường được kiểm soát ở mức tri thức: dưới dạng mục

Trang 23

tiêu nào agent nên theo đuổi, tại thời điểm nào và bởi cái gì (lời gọi phương thức, hàm chức năng đều phải tuân theo một cú pháp định trước) Tương tác giữa các đối tượng chỉ đơn giản là việc gọi thực hiện phương thức công cộng của đối tượng cần giao tiếp Giao tiếp của đối tượng với đối tượng là do người phát triển tự cài đặt dựa trên các công cụ của ngôn ngữ lập trình, hoàn toàn không có ngôn ngữ chung

 Tương tác giữa các agent có tính lan truyền: Agent có khả năng phản ứng lại tác động của môi trường, nhờ đó agent có khả năng tự phát động tương tác Mặt khác, do chỉ được cung cấp khả năng có hạn, agent phải phát động tương tác tới agent khác để yêu cầu giúp đỡ, đến lượt agent được yêu cầu lại phát động tương tác đến các agent khác… Vậy nên, có thể nói tương tác đa agent có tính lan truyền Ngược lại, các đối tượng chỉ thực hiện một hành vi nào đó khi nhận được lời gọi hành động từ các đối tượng khác Vì vậy, tương tác trong hệ hướng đối tượng chỉ gói gọn trong hai đối tượng và không thể lan theo dây chuyền

 Tương tác trong hệ đa Agent rất khó đoán trước: Hệ đa agent là hệ mở, thay đổi liên tục Vì vậy, quan hệ giữa các agent rất khó xác định trước trong pha thiết kế Mặt khác, do đặc tính thông minh của âgent, việc xác định agent sẽ phản ứng ra sao, như thế nào trước tác động của môi trường

là không khả thi Ngược lại, trong hệ hướng đối tượng, chúng ta phải xác định được đối tượng nào tương tác với đối tượng nào và ra sao để cài đặt cách thức gọi phương thức thực hiện tương tác đó Do vậy, có thể nói tương tác giữa các đối tượng là hoàn toàn tĩnh

Tóm lại, tương tác giữa các agent được xem là ở mức trừu tượng cao hơn tương tác giữa các đối tượng theo nghĩa là đạt ở mức tri thức với khả năng tương tác

linh hoạt để có thể coi là những đối tượng thông minh

Trang 24

1.3 Mô hình tương tác hướng agent

Có nhiều phương pháp khác nhau cho mô hình tương tác trong hệ đa agent Một số phương pháp như Message passing [37] xem tương tác đơn giản chỉ là sự trao đổi thông điệp giữa hai agent, phương pháp Linda [27] dựa chủ yếu trên mô hình cộng tác không cặp đôi và không gian dữ liệu chia sẻ Nhìn chung, các phương pháp này mới chỉ dừng lại ở mức biến đổi các phương pháp tương tác trước đây bằng cách thêm vào một số khái niệm mới như “meeting point”, “event channel” hoặc “tuple space” cho phù hợp với agent mà chưa thực sự tính đến những đặc trưng của agent như tính xã hội, khả năng phản ứng và tự chủ

Một số nhà nghiên cứu khác thì tận dụng sự tương đồng giữa agent và đối tượng để đề xuất ra các phương pháp mô hình tương tác dựa trên UML như Tropos [33] và AUML [5] Một số khác thì mô hình tương tác agent dưới dạng các dịch vụ (service) và nhiệm vụ (task) như Agentis hay mô hình hóa dựa trên mục tiêu tương tác (goal) như Hermes, hoặc mô hình dựa trên role như BRAIN…Sau đây, chúng ta

sẽ tìm hiểu một số mô hình tương tác hướng agent tiêu biểu hiện nay

1.3.1 Đặc tả tương tác bằng UML

Trước đây, kỹ thuật hướng Agent vẫn chưa áp dụng được vào việc phát triển phần mềm công nghiệp vì kỹ thuật này vẫn chưa có được các công cụ hỗ trợ đầy đủ các pha trong vòng đời phát triển phần mềm Vì vậy, người ta đã nghĩ đến sự kết hợp kỹ nghệ hướng Agent với các chuẩn phổ biến như phát triển phần mềm hướng đối tượng để tạo ra một công cụ hiệu quả hơn Hai tổ chức FIPA và OMG đã phối hợp để đưa ra một mô hình kỹ nghệ hướng agent mới, gọi là AGENT UML [5] Đây là sự mở rộng của ngôn ngữ UML, một chuẩn không chính thức cho phân tích

và thiết kế hướng đối tượng Phần cơ bản của AGENT UML là giao thức tương tác

đa agent AIP

Trang 25

AIP là một lớp các mẫu thiết kế phần mềm trong đó người ta mô tả các vấn

đề thường xảy ra trong hệ đa agent và sau đó mô tả giải pháp để giải quyết những vấn đề đó Định nghĩa một giao thức tương tác agent (AIP) bao gồm:

 Mô hình tương tác

 Một trình tự các thông điệp gửi qua lại giữa các agent với các vai trò khác nhau

 Một ngữ nghĩa thống nhất với các hành động giao tiếp (CAs) trong một

mô hình giao tiếp

Thông điệp phải thỏa mãn các hành động giao tiếp chuẩn, CA định nghĩa kiểu và nội dung thông điệp (ví dụ ngôn ngữ giao tiếp agent ACL FIPA hoặc KQML) Các giao thức ràng buộc các thông số của việc trao đổi thông điệp (ví dụ như thứ tự và kiểu trao đổi) tùy theo mối quan hệ giữa các agent hoặc ý định của việc giao tiếp

Kiểu lược đồ mới được giới thiệu trong AGENT UML là lược đồ giao thức (Protocol Diagram) Do giao thức tương tác định nghĩa chính xác hành vi của một nhóm các Agent cộng tác nên chúng ta sẽ kết hợp các lược đồ chuỗi với ký hiệu lược đồ trạng thái để tạo nên đặc tả của giao thức tương tác

1.3.2 Mô hình tương tác dựa trên mục tiêu (goal)

Tương tác được đặc tả dưới dạng các giao thức tương tác, như trong Petri nets [54], máy trạng thái hữu hạn [49] hay AGENT UML, đều không phù hợp với đặc tính tự chủ và chủ động của agent đồng thời không cho phép phục hồi tương tác sau khi bị lỗi Một số nhà nghiên cứu của trường đại học RMIT, Úc đã đề xuất khái niệm tương tác hướng mục tiêu (goal) phù hợp hơn với bản chất của kỹ thuật agent, gọi là phương pháp Hermes [18] Tương tác hướng mục tiêu được định nghĩa dưới dạng các mục tiêu tương tác (Interaction Goal - IG) và các ràng buộc thời gian Các agent tham gia tương tác sẽ quyết định cách thức để đạt được IG và bị giới hạn bởi các ràng buộc thời gian thiết lập trên các IG đó Tương tác giữa các agent xảy ra vì

Trang 26

các agent đều có mục tiêu phải đạt được và tương tác là một cách để đạt được mục tiêu của chúng

Trong các thiết kế giao thức truyền thống, thiết kế tương tác chỉ là xác định một số chuỗi thông điệp hợp lệ dưới dạng các thông điệp và các dạng kết hợp như vòng lặp, phân nhánh, chuỗi…Phương pháp thiết kế Hermes sẽ thực hiện khác hẳn Người thiết kế tương tác sẽ không phải định nghĩa các chuỗi thông điệp mà thay vào đó thông điệp sẽ được mô tả dưới dạng các mục tiêu tương tác, các hành động sẵn có và các ràng buộc Sau đó, agent sẽ quyết định chuỗi thông điệp (dựa trên ràng buộc tương tác) được sử dụng cho tương tác đó Điều đó có nghĩa là các chuỗi thông điệp sẽ được sinh ra từ tương tác chứ không phải tương tác được sinh ra từ chuỗi thông điệp Chính điểm này sẽ tạo ra tính linh động và bền vững của tương tác

Quá trình thiết kế Hermes (Hình 1.3) có thể được coi là mô hình thác nước mini gia tăng trong đó mỗi bước được thừa hưởng kết quả từ bước trước Quá trình này được áp dụng lặp đi lặp lại, mỗi lần phát triển thiết kế lại nảy sinh những thay đổi cho các phần đã phát triển trước Hai bước quan trọng nhất trong thiết kế hướng mục tiêu là xác định role, IG và tổ chức cây phân cấp IG

Xác định các role và mục tiêu tương tác: Các role được định nghĩa dưới

dạng các đối tượng tham gia tương tác Các mục tiêu tương tác có thể là các mục tiêu ở mức cao cần đạt được để thực hiện tương tác được coi là thành công Khi xác định mục tiêu tương tác, tốt nhất là phải nghĩ rộng và nắm bắt được các mục tiêu mức cao Cần chú ý rằng mục tiêu tương tác ở đây là mục tiêu của tương tác chứ không phải mục tiêu của một Agent cụ thể tham gia tương tác

Trang 27

Hình 1.3 Lược đồ tổng quan của phương pháp Hermes

 Xây dựng cây phân cấp mục tiêu tương tác IG: Nếu có thể, các mục tiêu sẽ được chia thành các mục tiêu nhỏ hơn (Sub-IGs) và được tổ chức theo cấu trúc phân cấp như trong Hình 1.4…Cấu trúc cây này có một IG duy nhất là đỉnh, thể hiện mục tiêu tương tác tổng quát của hệ thống Ví dụ, trong giao thức thương mại điện tử, mục tiêu tổng quát của tương tác giao dịch thương mại, Trade Trade IG có thể được chia nhỏ hơn thành hai IG

cụ thể hơn là Agree và Exchange Hai IG này có thể được chia nhỏ nữa… Trong hình 1.4, hình tròn biểu diễn mục tiêu tương tác và đường thẳng liền

kí hiệu sự phân rã (tức là mối quan hệ mục tiêu con Một khi các mục tiêu tương tác được phân rã thành các mục tiêu nhỏ hơn và các ràng buộc thời gian (đường mũi tên) sẽ được thêm vào Khi các mục tiêu tương tác được

4

Chuỗi hành động

3

Xác định hành động

6

Định nghĩa thông điệp

Kết quả thiết kế cuối

Kết quả trung gian

Phản hồi

Kiểm tra lẫn nhau

5

Xác định thông điệp

Trang 28

xác định thành cấu trúc cây mục tiêu thì các role liên quan trong tương tác

sẽ được gán cho các mục tiêu Trong ví dụ này, ta có thể thấy ngay là có

hai role: Customer (C) và Merchant (M) Chúng ta cũng cần phải xác định

agent khởi xướng (initiator) cho mỗi mục tiêu tương tác Agent khởi

xướng là role khởi tạo và có trách nhiệm về một mục tiêu tương tác nào đó

Cây phân cấp mục tiêu tương tác cho ta thấy một cái nhìn tổng quan những

mục tiêu cần đạt được để hoàn thành tương tác

Hình 1.4 Lược đồ phân cấp IG

Sau khi xây dựng được cây phân cấp IG, bước tiếp theo là xác định hành

động nào cần sử dụng để đạt được một mục tiêu tương tác cụ thể (ở mức lá) và có

những ràng buộc nào giữa những hành động này Việc xem xét này chính là thiết kế

mức nội tại của các Agent Không cần thiết phải xem xét các hành động của các

mục tiêu tương tác IG không phải mức lá bởi các mục tiêu này sẽ đạt được nếu các

mục tiêu con của nó được hoàn thiện Cứ như vậy, IG tổng thể sẽ được thực hiện

Trade I: ↑ R: C,M

Agree I: ↑ R: C,M

Exchange I: ↑ R: C,M

Negotiate Price I: ↑ R: C,M

Transfer Goods I: M R: C,M

Payment I: C R: C,M

Send Recieve I: M R: C,M

Trang 29

1.3.3 Mô hình tương tác dựa trên role

Qua tìm hiểu, chúng ta có thể nhận thấy phương pháp AUML [5] có ưu điểm

là biểu diễn tương tác theo thời gian rất rõ ràng và trực quan nhưng lại có hạn chế là dùng quá nhiều timeline để mô tả giao thức tương tác Vì vậy, khi số lượng agent lớn sẽ làm cho lược đồ phức tạp, dễ nhầm lẫn dẫn đến khó xử lý dư thừa… Phương pháp dựa trên mục tiêu Hermes khắc phục được hạn chế của phương pháp AUML, tương thích tốt hơn với kỹ thuật agent và có thêm khả năng hồi phục từ trạng thái lỗi Tuy nhiên, phương pháp dựa trên mục tiêu tương tác cũng gặp phải một số khó khăn như pha thiết kế theo phương pháp này tốn rất nhiều thời gian công sức và kết quả là cho ra rất nhiều các thành phần thiết kế khác nhau Điều này làm cho quá trình cài đặt hệ thống trở nên phức tạp

Hiện nay, phương pháp dựa trên role đã và đang thu hút được nhiều sự quan tâm chú ý Role là một khái niệm đã được dùng từ lâu trong một số lĩnh vực kỹ nghệ phần mềm như UML và điều khiển truy cập RBAC Khi áp dụng vào ngữ cảnh đa agent, role đã được điều chỉnh cho phù hợp Role được coi là một nguyên mẫu hành vi dùng chung cho nhiều lớp agent khác nhau và được coi là một tập hành

vi, khả năng và tri thức mà Agent có thể sử dụng để thực thi nhiệm vụ Nhờ những đặc tính trên của role, phương pháp tương tác dựa trên role thể hiện một số ưu điểm nổi bật so với các phương pháp khác:

 Role cho phép tách quan tâm giữa những vấn đề về tính toán và vấn đề về

tương tác trong quá trình phát triển ứng dụng hướng agent Các vấn đề

tính toán được gói gọn trong chính bản thân agent khi định nghĩa hành vi

cơ bản của nó Mặt khác, giao tiếp của agent với các agent khác sẽ được tích hợp trong role và các hành vi phụ khác Người ta có thể phát triển agent và role độc lập nhau về mặt thời gian cũng như phương pháp Điều này giúp tăng khả năng phân rã và do đó làm đơn giản hóa quá trình phát triển hệ thống

Trang 30

 Role là một khái niệm trừu tượng ở mức cao nên cho phép sự độc lập nhất

định giữa các tình huống cụ thể, nhờ đó nâng cao được tính tổng quát của

các phương pháp dựa trên role

 Role có thể được phát triển theo nhu cầu và quy tắc cục bộ Nhờ vậy mà tính cục bộ được nâng cao trong khi phát triển các hệ thống phân tán có quy mô lớn

 Role cho phép sử dụng lại giải pháp cũng như sản phẩm phần mềm: Role cho phép sử dụng lại giải pháp cũng như sản phẩm phần mềm Trên thực tế, role thường gắn liền với một ngữ cảnh hệ thống và độc lập với agent Vì thế, người thiết kế có thể sử dụng lại những role đã được thực hiện tốt trước đó cho những ứng dụng tương tự Chúng ta hoàn toàn có thể coi role

là một dạng của mẫu thiết kế (design pattern) và khi đó tập các role có liên quan cùng với định nghĩa cách thức chúng tương tác với nhau được coi là một giải pháp cho một vấn đề cụ thể và nó có thể được sử dụng lại trong nhiều tình huống tương tự

Như vậy, với cách tiếp cận theo role, số lượng thành phần thiết kế không còn quá lớn, không làm cho quá trình cài đặt phức tạp Ví dụ, trong một hệ thống đấu giá trực tuyến, thành phần thiết kế chính của hệ thống chỉ đơn giản gồm các role người bán, người điều khiển đấu giá và người mua tiềm năng…Các mối tương tác của hệ thống cũng diễn ra chủ yếu giữa các role này Vì vậy, phương pháp này tạo cho người phát triển một cách nhìn tự nhiên, khoa học và đơn giản về hệ thống, từ

đó quá trình phát triển cũng dễ dàng hơn Chi tiết về phương pháp này sẽ được chúng tôi trình bày chi tiết trong chương 2 và 3 của luận văn

1.4 Thương lượng đấu giá

1.4.1 Khái niệm thương lượng

Thương lượng là chủ đề thu hút rất nhiều sự quan tâm nghiên cứu trong khoa học máy tính cũng như trong khoa học kinh tế chính trị Thương lượng có thể được

Trang 31

dùng theo nhiều nghĩa khác nhau nhưng nói chung đều nói tới quá trình tương tác nhằm đẩy mạnh sự phối hợp và hợp tác giữa các thành phần trong một hệ thống [31]:

Thương lượng là quá trình thoả hiệp giữa các bên có lợi ích xung đột nhau

để đi tới một kết quả thống nhất, có thể chấp nhận được

Với sự bùng nổ của Internet, số lượng giao dịch trên mạng ngày một tăng lên đòi hỏi phải có một cách quản lý thích hợp Trên thực tế, việc một người tham gia vào nhiều giao dịch cùng lúc là không khả thi bởi việc quản lý rất phức tạp Điều này, đòi hỏi người tham gia phải có các đại diện cho mình và việc giao dịch phải được tiến hành một cách tự động mà không cần đến sự can thiệp của con người Điều này hoàn toàn có thể đạt được nhờ việc sử dụng agent, từ đó nảy sinh khái niệm thương lượng tự động ([42], [26]):

Thương lượng tự động là quá trình thương lượng diễn ra một cách tự động giữa các agent (đại diện cho các bên có lợi ích xung đột nhau)

Về bản chất, thương lượng là quá trình tương tác giữa hai bên có lợi ích xung đột nhau Trong các hệ thống thực cũng như hệ thống phần mềm, việc xung đột lợi ích giữa các bên là không thể nào tránh khỏi Vì vậy, thương lượng là một quá trình tất yếu và ảnh hưởng lớn đến kết quả hoạt động của hệ thống và không có thương lượng, một số hệ thống không bao giờ đạt được mục đích hoạt động của mình Ví dụ về thương lượng tự động có thể kể đến như tương tác giữa agent mua

và agent bán trong các ứng dụng thương mại điện tử hoặc quan hệ giữa server và client trong các hệ thống cung cấp dịch vụ như truy cập cơ sở dữ liệu dùng chung,

hệ thống đăng ký mail, hệ thống game online…

Một quá trình thương lượng tự động được đặc trưng bởi ba thành phần chính sau đây [4]:

 Mục tiêu thương lượng: Là tập các kết quả cuối cùng mà quá trình thương lượng phải đạt được

Trang 32

 Chiến lược thương lượng: Chiến lược thương lượng xác định cách thức hành động của agent để đạt được mục tiêu đề ra một cách hiệu quả nhất Mỗi một agent có chiến lược thương lượng riêng, được giữ bí mật với bên kia

 Giao thức thương lượng: Đây là tập các qui tắc điều khiển tiến trình thương lượng (bao gồm luồng thông điệp trao đổi giữa các bên, ai có thể làm gì, khi nào…) nhằm đảm bảo cho tiến trình thương lượng được suôn

sẻ Giao thức thương lượng được phổ biến rộng rãi cho tất cả các bên tham gia

Theo số lượng các bên tham gia trong thương lượng, chúng ta có thể chia các

mô hình thương lượng tự động làm hai loại chính:

Thương lượng đấu giá, đấu thầu, chợ: Đây là các mô hình dạng một –

nhiều hoặc nhiều – nhiều trong đó nhiều Agent sẽ thương lượng với một hoặc nhiều agent khác Mô hình này được sử dụng rộng rãi trong lĩnh vực bán hàng trực tuyến Một số website sử dụng kiểu thương lượng này có thể

kể đến eBay (http://www.ebay.com)

Thương lượng song phương: Đây là mô hình thương lượng mà một cặp

Agent tương tác qua lại với nhau[39] Với các mô hình kiểu này, người ta hay sử dụng các phương pháp Heuristic vì phương pháp này tỏ ra hiệu quả trong việc xử lý tính không chắc chắn vốn có trong thương lượng song phương

1.4.2 Thương lượng đấu giá

Theo thuyết kinh tế, đấu giá là một cách quyết định giá trị của những loại hàng hóa giá cả không ổn định hoặc khó xác định Giá trị hàng hóa thường được quyết định bởi mức độ quan tâm của khách hàng Thương lượng đấu giá chính là quá trình xác định giá sản phẩm giữa các bên tham gia Đấu giá đã được sử dụng để mua và bán hàng hóa từ thời Hy Lạp cổ đại và ngày càng phát triển nhờ sự bùng nổ

Trang 33

của Internet Hiện nay, đấu giá đã trở thành một trong những cách thức bán hàng hiệu quả và phổ biến nhất trên Internet Hiện có hơn 2500 Website hoạt động theo kiểu đấu giá trực tuyến Có nhiều hình thức đấu giá khác nhau nhưng tất cả đều dựa trên một nguyên tắc cơ bản Bên bán sẽ rao bán hàng hóa trực tiếp hoặc qua trung gian là các công ty tổ chức đấu giá Cuộc đấu giá sẽ bắt đầu từ một giá khởi điểm nào đó (thường là thấp hơn giá thị trường) Nhiều người mua sẽ tham gia trả giá và hàng hóa sẽ được bán cho người trả giá cao nhất

Thực tế, các cuộc đấu giá hoạt động với thời điểm bắt đầu và kết thúc rất khác nhau và có thể diễn ra bất cứ lúc nào Vì những lý do này, người mua gặp rất nhiều khó khăn trong việc mua bán của mình Để mua một mặt hàng nào đó, người mua sẽ phải theo dõi nhiều phiên đấu giá khác nhau để tìm đúng lúc một site nào đó bán mặt hàng mà họ mong muốn Thậm chí ngay cả khi người mua đã chọn được cuộc đấu giá cần tham gia thì họ cũng phải quyết định số tiền nên đặt để có thể mua được mặt hàng phù hợp với điều kiện của mình Một số phương pháp để hỗ trợ người dùng đã được áp dụng như đặt proxy (eBay và Yahoo!Auction) hoặc công cụ tìm kiếm đấu giá (như BixXS và AuctionBeagle) Tuy nhiên, các hệ thống này vẫn gặp phải một số vấn đề như chỉ hoạt động được trên một site nhất định với một giao thức đấu giá nhất định và quyết định trả giá vẫn thuộc phần trách nhiệm của con người Điều này khiến cho con người chưa thoát ly được việc tham gia đấu giá

Để khắc phục những hạn chế này, nhiều nghiên cứu tập trung phát triển các agent tự động có khả năng tham gia vào nhiều cuộc đấu giá khác nhau ([4], [26], [31], [39], [42]) Các agent được cung cấp các khả năng thương mại có thể thực hiện các cuộc trao đổi mua bán một cách tự động Về chi tiết, agent có thể theo dõi

và thu thập thông tin từ các cuộc đấu giá đang diễn ra, đưa ra quyết định thay cho người mua và đảm bảo việc chuyển phát hàng hóa Agent cũng phải đảm bảo rằng

nó không bao giờ trả giá quá số tiền mà nó có (số lượng tối đa mà người mua có thể trả) và nó cố gắng để mua được hàng hóa phù hợp với yêu cầu của người mua (ví dụ như trong thời gian sớm nhất, với giá rẻ nhất có thể hoặc cơ hội thành công lớn nhất)

Trang 34

1.4.3 Một số giao thức đấu giá cơ bản

Những đơn vị tổ chức đấu giá này sử dụng nhiều giao thức đấu giá khác nhau Các kiểu đấu giá khác nhau dựa trên tính chất trung gian (có hay không đối tượng trung gian), hình thức tương tác giữa các bên tham gia và cách lựa chọn người thắng cuộc Hiện các hệ thống đấu giá sử dụng một trong các kiểu đấu giá cơ bản sau đây [26]:

Đấu giá kiểu Anh: Đấu giá kiểu Anh là kiểu đấu giá thông dụng nhất

Người bán đặt ra một giá khởi điểm cho mặt hàng, người mua lần lượt đưa

ra giá, lần sau cao hơn lần trước Hoạt động trả giá sẽ kết thúc khi hết thời hạn đấu giá hoặc không có người mua nào tăng giá trả cho mặt hàng đó Mặt hàng sẽ được bán cho người trả giá cao nhất với giá đã trả Đấu giá kiểu Anh cũng cho phép người bán đặt ra giá sàn cho hàng hóa của mình Đây là loại đấu giá có đối tượng trung gian là người điều khiển đấu giá

Đấu giá Vickrey: Đấu giá Vickrey tương tự như đấu giá kiểu Anh trong

việc bán và trả giá Điểm khác biệt là một người mua không được biết giá trả của những người mua khác và người trả giá cao nhất là người thắng cuộc và sẽ mua hàng với giá của người trả cao thứ hai Đây là một dạng đấu giá hay vì người mua sẽ có động lực để trả giá họ cho là xứng đáng với giá trị hàng hóa mà không cần lo lắng tới những người trả giá khác

Đấu giá kiểu Hà Lan: Người điều khiển đấu giá sẽ bắt đầu quá trình đấu

giá với một giá trần và sau đó giảm dần cho tới khi có người chấp nhận giá đưa ra Đấu giá Hà Lan có ý nghĩa quan trọng trong các ứng dụng thời

gian thực, trong đó người bán cần bán sản phẩm trong thời gian ngắn

Đấu giá Yankee: Đấu giá Yankee là một dạng biến thể của đấu giá kiểu

Hà Lan trong đó người trả giá thành công sẽ trả giá mà họ đã đặt cho mặt hàng chứ không phải giá của người trả thấp nhất được chấp nhận (giống như trong đấu giá kiểu Hà Lan)

Trang 35

Việc lựa chọn giao thức đấu giá nào là quyền của người bán và người tổ chức các phiên đấu giá nhằm vào đối tượng phục vụ của hệ thống Đấu giá kiểu Anh thì tốt hơn cho người mua trong khi đấu giá kiểu Hà Lan mang lại nhiều lợi ích hơn cho người bán…Đấu giá kiểu Anh là giao thức thường được chọn hơn cả do tính đơn giản, dễ dùng và hiệu quả

1.5 Kết chương

Trong chương này, chúng tôi đã trình bày khái niệm tương tác cũng như sự cần thiết của tương tác trong hệ đa agent Tương tác chính là chìa khóa để đạt mục tiêu của hệ thống, do đó, các nhà nghiên cứu đã phát triển nhiều công cụ khác nhau

để mô hình hóa tương tác agent trong đó mô hình dựa trên role hiện đang thu hút được nhiều sự quan tâm nghiên cứu và đã thể hiện nhiều ưu điểm vượt trội Luận văn này tập trung nghiên cứu một số mô hình tương tác dựa trên role và việc sử dụng các mô hình này vào kỹ nghệ phần mềm Chi tiết sẽ được trình bày trong các chương tiếp theo

Trang 36

2 Chương 2 Role trong phát triển phần mềm

Role đã được nghiên cứu và áp dụng trong nhiều lĩnh vực khác nhau Trong

kỹ nghệ phần mềm, role cùng với agent đang là một chủ đề thu hút nhiều sự quan tâm nghiên cứu Chương này sẽ trình bày tổng quan về role và cách thức mô hình tương tác dựa trên role trong hệ đa agent Cuối cùng sẽ là một vài khảo sát về các phương pháp mô hình dựa trên role

2.1 Tổng quan về role

2.1.1 Cơ sở thực tiễn

Trong một xã hội, các cá nhân có thể thay đổi thường xuyên, người này mất

đi, người kia xuất hiện song cấu trúc xã hội là luôn luôn ổn định Xã hội vẫn có các thành phần cố định nông dân, công nhân, giáo viên, sinh viên, cha mẹ, con cái…Đây chính là các vai trò hay role Vậy nên có thể nói chính role đã tạo nên cấu trúc xã hội và là cái bất di bất dịch chứ không phải con người W.Shakespeare đã từng nói:

―Cả thế giới là một sân khấu

Và con người là các diễn viên

Họ đến rồi đi

Mỗi người trong đời mình đóng rất nhiều vai khác nhau.‖

(As You like It, Act II, Scene 7)

Một vai diễn có thể được nhiều người đảm nhận và người này không diễn thì

có người khác thay thế chứ vai diễn không bao giờ mất đi Mặt khác, người diễn viên trong cuộc đời cũng không chỉ đóng một vai duy nhất mà là rất nhiều vai khác nhau Con người cũng vậy, trong cuộc đời mình có thể đảm nhận nhiều role khác nhau, hết role này đến role khác Trong suốt cuộc đời, một người sẽ chuyển vào và

ra nhiều role: có role được giữ lại suốt đời (ví dụ: role “con gái”), cũng có những

Trang 37

role sau một thời gian thì bị bỏ đi để bắt đầu các role mới (ví dụ: role “học sinh” sẽ kết thúc khi một người học hết cấp 3 và họ tiến vào role mới “sinh viên”) Việc chuyển đổi role này tương ứng với sự chuyển đổi qua các quãng đời khác nhau và

có thể dễ dàng hoặc khó khăn phụ thuộc vào hoàn cảnh xã hội và thời gian [55] Ngoài ra, việc tiếp nhận một role sẽ có ảnh hưởng đến việc tiếp nhận các role khác

Ví dụ, phụ nữ ở châu Âu thường trì hoãn quá trình chuyển tiếp đến role “vợ” và

“mẹ” của mình bởi họ muốn kéo dài thêm quãng thời gian đảm nhận role “thanh niên” Trong mỗi quãng đời, một người cùng lúc có thể giữ nhiều role khác nhau Khi một người phụ nữ trở thành một “người mẹ”, cô ấy cũng vẫn tiếp tục có vai trò

là “con gái”, là “vợ”…

Dù đảm nhận nhiều role khác nhau nhưng điều quan trọng nhất là hoàn thành

đúng và đủ role của mình Hơn 2000 năm trước, Khổng Tử cũng đã nói:―Vua ra

vua, tôi ra tôi, cha ra cha và con ra con‖ Ở đây, điểm cần nhấn mạnh chính là

phạm vi, giới hạn, trách nhiệm và nghĩa vụ của con người gắn với role và vị trí mà

họ nắm giữ Mỗi người đều có một role nhất định và khi đã đảm nhiệm role đó thì phải thực hiện cho đúng, cho đủ, không làm lấn sang role khác để tránh sự xung đột, mâu thuẫn

Từ những cơ sở thực tiễn này, role đã được nhiều ngành khoa học quan tâm nghiên cứu như khoa học hành vi, xã hội học, tâm lý học…và mới nhất là kỹ nghệ phần mềm Các hệ thống phần mềm thực chất là sự mô phỏng thế giới thực bằng các công cụ số hóa, vì vậy, việc nghiên cứu áp dụng role vào kỹ nghệ phần mềm là điều rất tự nhiên và đầy hứa hẹn

2.1.2 Role và vai trò của role trong hệ thống thông tin

Trong phần này, chúng ta sẽ xem xét những ý tưởng ban đầu về role qua một

số nghiên cứu của nhiều ngành khoa học khác nhau và vai trò của role trong các hệ thống thông tin [30]

Trong các ngành xã hội học, role có thể là chuỗi mẫu các hành động hoặc việc làm có ý thức mà một người có thể thực hiện trong một môi trường tương tác

Trang 38

(Sarbin) [55] Chung quan điểm về chuẩn mực, năm 1975, Bates và Harvey đưa ra một định nghĩa role là tập các tiêu chuẩn cụ thể được tổ chức thành một chức năng [55] Với định nghĩa này, chúng ta thấy rằng role chính là các chuẩn mực một người phải đảm bảo khi họ đảm nhận một chức năng của xã hội Allen và Van De Vliert [55] cụ thể hóa các chuẩn mực trong định nghĩa trên bằng các hành vi chuẩn mực được mong đợi gắn liền với một vị trí nào đó trong một hệ thống xã hội Ví dụ, với role người bán, hành vi chuẩn mực của người đó có thể là nhập hàng, bán hàng, thanh toán…Nói chung, những định nghĩa trên đây đều gắn kết role với các chuẩn mực như mẫu hành động, tiêu chuẩn…Tuy nhiên, với một hệ thống có quá nhiều định nghĩa về role, người đọc sẽ bối rối khi gặp những trường hợp không đáp ứng

đủ tất cả các điều kiện Trong trường hợp đó, liệu cái mà chúng ta đang xem xét có phải là role hay không? Nhằm kết hợp những thành phần của nhiều định nghĩa rời rạc để tạo thành một khái niệm tổng quát nhất, Bruce Biddle [55] đã đề xuất định nghĩa role:

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

Do đó, có thể nói khái niệm role đã cung cấp cho chúng ta một cầu nối thuận tiện giữa hành vi cá nhân với cấu trúc xã hội Role tỏ ra hữu ích trong việc mô hình hóa quyền hành, trách nhiệm, chức năng và tương tác liên quan đến vị trí quản lý trong các tổ chức xã hội

Đầu năm 1982, Turoff và Hiltz [46] lần đầu tiên áp dụng khái niệm role vào thiết kế hệ thống báo điện tử Trong tòa báo điện tử, họ thiết kế các role khác nhau như: tác giả, biên tập, độc giả…Mỗi role trong hệ thống trao đổi thông tin điện tử (EIES) được gắn với một tập con các quyền cơ bản bao gồm các thao tác loại bỏ, liên kết, gán và sử dụng…Role đã được coi là một cơ chế quan trọng của hệ thống Trong hệ thống của họ, người dùng làm việc với các role mà họ đảm nhận chứ không phải đặc quyền của từng cá nhân Việc thiết kế những role này đã giúp điều khiển luồng thông tin và xử lý thông tin giữa các người dùng khác nhau của hệ

Trang 39

thống, tạo cho hệ thống hoạt động hiệu quả Nhiều bài báo khác cũng đã được đăng tải về việc áp dụng role trong các lĩnh vực khác nhau như: điều khiển truy cập [55], quản trị hệ thống và kỹ nghệ phần mềm[12][13]… Role đã tỏ rõ ưu điểm trong việc giúp các thành viên trong một nhóm tránh được tình trạng quá sức bởi sự quá tải thông tin, tình trạng đan xen, chồng chéo giữa nhiệm vụ của nhiều người trong một nhóm…Như vậy, có thể thấy role đã thực sự trở thành một công cụ đắc lực trong việc quản lý và điều hành hoạt động của các hệ thống

Phát triển phần mềm là một công việc khó khăn và phức tạp Nó là một dạng hành động cộng tác điển hình liên quan đến tổ chức nhóm, phân chia công việc và hợp tác giữa các thành viên trong nhóm Phải làm cách nào đó để các thành viên trong nhóm hoàn thành bổn phận của họ đồng thời vẫn tôn trọng các quyền lợi của các thành viên khác Vì vậy, role cũng thực sự hữu ích trong việc quản lý các dự án phần mềm Ngoài ra, nhiều nghiên cứu đã bắt đầu tập trung vào việc sử dụng role như các công cụ kỹ nghệ phần mềm chứ không chỉ đơn thuần là công cụ quản lý Các phương pháp sử dụng role trong phát triển phần mềm được gọi chung là phương pháp phát triển phần mềm dựa trên role (Role-Based Software Development - RBSD) và sẽ được khảo sát chi tiết trong phần 2.2 tiếp theo

2.2 Phát triển phần mềm dựa trên role

2.2.1 Role trong phát triển phần mềm

Quá trình phát triển phần mềm liên quan đến nhiều khía cạnh khác nhau như quản lý [34], mô hình hóa, thiết kế và mã hóa Vì vậy, role có thể được sử dụng trong kỹ nghệ phần mềm theo nhiều cách khác nhau Từ mô hình thác nước về quy trình phát triển phần mềm, chúng ta có thể thấy rằng vòng đời phát triển phần mềm bắt đầu bằng việc lập kế hoạch dự án đến phân tích yêu cầu hệ thống rồi tới thiết kế,

mã hóa và cuối cùng là bảo trì Role là một công cụ có thể áp dụng được ở hầu hết các pha của vòng đời phát triển phần mềm, tập trung nhất là các pha phân tích, thiết

kế và quản trị hệ thống phần mềm…

Trang 40

Cụ thể, role có thể được coi là các công cụ cho các hoạt động sau đây:

 Role là công cụ quản lý nguồn nhân lực

 Role là thành phần của mô hình quá trình

 Role là công cụ phân tích thiết kế

 Role là phương tiện tương tác

 Role là khái niệm để mô hình hóa

Sau đây là bảng tổng kết một vài cách sử dụng role trong quá trình phát triển phần mềm:

Đề xuất thuyết hành động

Đề xuất hệ thống kí hiệu cho các lược đồ hành động role

Roel là khái niệm hay trong các công cụ kí hiệu để mô tả quá trình hệ thống một cách hình thức

2000 Murdoch

[32]

Áp dụng RAD vào

kỹ nghệ đặc tả quá trình

Đề xuất phương pháp để mô hình các quá trình thiết kế với RAD

RAD có thể được sử dụng

để mô hình các quá trình kỹ nghệ

Siêu mô hình giới thiệu khái niệm giao diện và tránh các vấn đề không đồng nhất với role trong UML

Đề xuất các role tĩnh trong một môi trường để hỗ trợ các quá trình kỹ nghệ phần mềm hợp tác

Role có thể được sử dụng để biểu diễn các quá trình phát triển phần mềm và hỗ trợ sự phối hợp giữa các thành viên nhóm

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

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Phương Lan, Hoàng Đức Hải, “XML nền tảng và ứng dụng”, Nhà xuất bản Lao động và Xã hội, 2005 Sách, tạp chí
Tiêu đề: XML nền tảng và ứng dụng
Nhà XB: Nhà xuất bản Lao động và Xã hội
[2] Trần Đình Quế, Nguyễn Thị Thanh Huyền, ―Tương tác dựa trên role trong hệ đa agent‖, Kỷ yếu Hội thảo Quốc gia về Công nghệ thông tin và Truyền thông lần thứ IX, trang 349, 06/2006, Đà Lạt, Việt Nam.Tiếng Anh Sách, tạp chí
Tiêu đề: ―Tương tác dựa trên role trong hệ đa agent‖
[3] S.T. Acuna, N. Juristo, ―Assigning people to roles in software projects,‖ Softw. Pract. Exp, vol. 34, no. 7, pp. 675–696, Jun. 2004 Sách, tạp chí
Tiêu đề: ―Assigning people to roles in software projects,‖
[4] C. Bartolini, C. Preist, ―A Framework for Automated Negotiation‖, HPL-2001-90, 2001 Sách, tạp chí
Tiêu đề: ―A Framework for Automated Negotiation‖
[5] B. Bauer, J.P. Müller, J. Odell, ―Agent UML: A Formalism for Specifying Multiagent Interaction‖, International Journal of Software Engineering and Knowledge Engineering 11, 2001 Sách, tạp chí
Tiêu đề: ―Agent UML: A Formalism for Specifying Multiagent Interaction‖
[6] D. Baumer, D. Ritchie, W. Siberski, M. Wulf, ―The Role Object Pattern‖, Proc. 4 th Pattern Languages of Programming conference (PLoP), Monticello, Illinois, USA, September 1997 Sách, tạp chí
Tiêu đề: ―The Role Object Pattern‖
[7] M. Becht, T. Gurzki, J. Klarmann, M. Muscholl, ―ROPE: Role Oriented Programming Environment for Multiagent Systems‖, Proc.Fourth IFCIS Conference on Cooperative Information Systems (CoopIS'99), Edinburgh, Scotland, September 1999 Sách, tạp chí
Tiêu đề: ―ROPE: Role Oriented Programming Environment for Multiagent Systems‖
[8] G. Booch, ―Object-oriented analysis and design with applications‖, Addison Wesley, 1994 Sách, tạp chí
Tiêu đề: ―Object-oriented analysis and design with applications‖
[9] G. Cabri, L. Ferrari, L. Leonardi, ―Agent role-based collaboration and coordination: a survey about existing approaches‖, The 2004 IEEE Systems, Man and Cybernetics Conference, Netherlands, October, 2004 Sách, tạp chí
Tiêu đề: ―Agent role-based collaboration and coordination: a survey about existing approaches‖
[10] G. Cabri, L. Ferrari, L. Leonardi, ―BRAIN: a Framework for Flexible Role-based Interactions in Multiagent Systems‖, Proc. First European Workshop in Multi Agent Systems (EUMAS), Oxford, UK, December 2003 Sách, tạp chí
Tiêu đề: ―BRAIN: a Framework for Flexible Role-based Interactions in Multiagent Systems‖
[11] G. Cabri, L. Ferrari, L. Leonardi, F. Zambonelli, ― Implementing role- based interaction for Internet agents”, 2003 International Symposium on Applications and the Internet, Orlando (USA), January 2003 Sách, tạp chí
Tiêu đề: ―Implementing role-based interaction for Internet agents
[12] G. Cabri, L. Ferrari, L. Leonardi, F. Zambonelli, ―Role-based Approaches for Agent Development‖, AAMAS'04, July 19-23, New York, USA, 2004 Sách, tạp chí
Tiêu đề: ―Role-based Approaches for Agent Development‖
[13] G. Cabri, L. Ferrari, L. Leonardi, F. Zambonelli, ―Role-based Approaches for Engineering Interactions in Large-scale Multi-Agent Systems‖, 2001 Sách, tạp chí
Tiêu đề: ―Role-based Approaches for Engineering Interactions in Large-scale Multi-Agent Systems‖
[14] G. Cabri, L. Ferrari, L. Leonardi, F. Zambonelli, ―RoleX Environment for Multi-Agent Cooperation‖, 2004 Sách, tạp chí
Tiêu đề: ―RoleX Environment for Multi-Agent Cooperation‖
[15] G. Cabri, L. Ferrari, L. Leonardi,―Supporting the Development of Multi-Agent ”, The International Workshop on AOSE-2005 Sách, tạp chí
Tiêu đề: ―Supporting the Development of Multi-Agent
[16] G. Cabri, L. Ferrari, L. Leonardi, F. Zambonelli, “XRole: XML Roles for Agent Interactions”, in Proceedings of the 3 rd International Symposium “From Agent Theory to Agent Implementation”, at the 16 th European Meeting on Cybernetics and Systems Research (EMCSR 2002), Wien, April 2002 Sách, tạp chí
Tiêu đề: XRole: XML Roles for Agent Interactions"”, in Proceedings of the 3rd International Symposium “From Agent Theory to Agent Implementation
[17] B.G. Cain, J.O. Coplien, ―A role-based empirical process modeling environment,‖ in Proc. 2nd Int. Conf. Softw. Process, Berlin, Germany, Feb. 1993, pp. 125–133 Sách, tạp chí
Tiêu đề: ―A role-based empirical process modeling environment,‖
[18] C. Cheong, M. Winikoff, ―Hermes: Designing Goal-Oriented Agent Interactions‖, Proceedings of 4th international joint conference on Autonomous agents and multiagent systems, 2005 Sách, tạp chí
Tiêu đề: ―Hermes: Designing Goal-Oriented Agent Interactions‖
[19] C. Cheong, M. Winikoff, ―Improving Flexibility and Robustness in Agent Interactions: Extending Prometheus with Hermes‖, Software Engineering for Multi-Agent Systems IV, 2005 Sách, tạp chí
Tiêu đề: ―Improving Flexibility and Robustness in Agent Interactions: Extending Prometheus with Hermes‖
[20] V. Dignum, F. Dignum, ―Task and Social Coordination in Agent Organizations‖, 2005 Sách, tạp chí
Tiêu đề: ―Task and Social Coordination in Agent Organizations‖

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Mô hình chuẩn của hệ thống phức tạp. - Mô hình tương tác dựa trên role trong hệ đa agent
Hình 1.1. Mô hình chuẩn của hệ thống phức tạp (Trang 17)
Hình 1.2. Hệ đa agent. - Mô hình tương tác dựa trên role trong hệ đa agent
Hình 1.2. Hệ đa agent (Trang 19)
Hình 1.3. Lược đồ tổng quan của phương pháp Hermes. - Mô hình tương tác dựa trên role trong hệ đa agent
Hình 1.3. Lược đồ tổng quan của phương pháp Hermes (Trang 27)
Hình 1.4. Lược đồ phân cấp IG. - Mô hình tương tác dựa trên role trong hệ đa agent
Hình 1.4. Lược đồ phân cấp IG (Trang 28)
Hình 2.1. Mô hình tương tác dựa trên role - Mô hình tương tác dựa trên role trong hệ đa agent
Hình 2.1. Mô hình tương tác dựa trên role (Trang 47)
Hình 3.1. Khung BRAIN - Mô hình tương tác dựa trên role trong hệ đa agent
Hình 3.1. Khung BRAIN (Trang 57)
Hình 3.2. Mô hình tương tác giữa hai agent - Mô hình tương tác dựa trên role trong hệ đa agent
Hình 3.2. Mô hình tương tác giữa hai agent (Trang 59)
Hình 3.7. Chuyển đối HTML của Bidder.xml - Mô hình tương tác dựa trên role trong hệ đa agent
Hình 3.7. Chuyển đối HTML của Bidder.xml (Trang 66)
Hình 4.1. Giao thức đấu giá kiểu Anh FIPA - Mô hình tương tác dựa trên role trong hệ đa agent
Hình 4.1. Giao thức đấu giá kiểu Anh FIPA (Trang 78)
Hình 4.4. Nền Jade và các Container - Mô hình tương tác dựa trên role trong hệ đa agent
Hình 4.4. Nền Jade và các Container (Trang 83)
Hình 4.5. Cơ chế truyền thông điệp không đồng bộ của Jade - Mô hình tương tác dựa trên role trong hệ đa agent
Hình 4.5. Cơ chế truyền thông điệp không đồng bộ của Jade (Trang 85)
Hình 4.6. Lược đồ quan hệ giữa các lớp trong hệ Auction. - Mô hình tương tác dựa trên role trong hệ đa agent
Hình 4.6. Lược đồ quan hệ giữa các lớp trong hệ Auction (Trang 88)
Hình 4.11. Cấu trúc phân tầng của hệ đa agent dựa trên role - Mô hình tương tác dựa trên role trong hệ đa agent
Hình 4.11. Cấu trúc phân tầng của hệ đa agent dựa trên role (Trang 91)
Hình 4.19. Giao diện kết quả của Seller. - Mô hình tương tác dựa trên role trong hệ đa agent
Hình 4.19. Giao diện kết quả của Seller (Trang 101)
Hình 4.21. Giao diện thiết đặt thông số cho ba phiên đấu giá song song. - Mô hình tương tác dựa trên role trong hệ đa agent
Hình 4.21. Giao diện thiết đặt thông số cho ba phiên đấu giá song song (Trang 105)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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