1.1.1 Một số khỏi niệm Thương mại điện tử có thể được hiểu theo nhiều nghĩa khác nhau, dưới nhiều hỡnh thức khỏc nhau như: quảng cáo trên truyền hỡnh, giới thiệu sản phẩm trờn mạng Inte
Trang 1- -
ĐẶNG THÀNH TRUNG
THƯƠNG LƯỢNG TỰ ĐỘNG DỰA TRÊN ĐỘ ĐO TƯƠNG TỰ TRONG HỆ
ĐA AGENT
LUẬN VĂN THẠC SĨ
Hà Nội - 2005
Trang 2- -
ĐẶNG THÀNH TRUNG
THƯƠNG LƯỢNG TỰ ĐỘNG DỰA TRÊN ĐỘ ĐO TƯƠNG TỰ TRONG HỆ
Trang 3MỤC LỤC
MỤC LỤC 1
DANH MỤC BẢNG BIỂU 4
DANH MỤC HèNH VẼ 5
MỞ ĐẦU 7
Chương 1 THƯƠNG MẠI ĐIỆN TỬ 11
1.1 THƯƠNG MẠI ĐIỆN TỬ 11
1.1.1 Một số khỏi niệm 11
1.2.2 Cỏc mụ hỡnh giao dịch điện tử 12
1.2 THƯƠNG LƯỢNG 16
1.2.1 Tổng quan về thương lượng 16
1.2.2 Thương lượng song phương dựa trên ràng buộc mờ có trọng số 19
1.3 KẾT LUẬN 21
Chương 2 CÔNG NGHỆ AGENT 22
2.1 TỔNG QUAN VỀ AGENT 22
2.1.1 Khỏi niệm agent 22
2.1.2 Các đặc trưng của agent 23
2.2 HỆ ĐA AGENT 24
2.2.1 Khỏi niệm 24
2.2.2 Môi trường tính toán thích hợp cho hệ đa agent 25
2.2.3 Mụ hỡnh tương tác 26
2.3 NGễN NGỮ TRUYỀN THễNG GIỮA CÁC AGENT 27
2.3.1 KQML là gỡ? 27
2.3.2 Đặc trưng của KQML 27
Trang 42.3.3 Cỳ phỏp KQML 28
2.4 PHƯƠNG PHÁP LUẬN PHÁT TRIỂN HỆ ĐA AGENT 29
2.4.1 Pha phõn tớch 33
2.4.2 Pha thiết kế 37
2.5 agentTool và agentMom 39
2.5.1 Cụng cụ agent Tool 39
2.5.2 Cỏc thành phần của agentMom 40
2.6 KẾT LUẬN 41
Chương 3 AGENT RA QUYẾT ĐỊNH 42
3.1 MỘT SỐ KHÁI NIỆM CƠ BẢN 42
3.1.1 Tập mờ và ngữ nghĩa khỏi niệm mờ 42
3.1.2 Đại số các tập mờ 43
3.1.3 Quan hệ mờ 45
3.2 Mễ HèNH AGENT RA QUYẾT ĐỊNH 45
3.2.1 Mụ hỡnh ra quyết định agent bán 46
3.2.2 Mụ hỡnh ra quyết định agent mua 54
3.3 KẾT LUẬN 62
Chương 4 MÔ HèNH THƯƠNG LƯỢNG 63
4.1 BÀI TOÁN 63
4.2 CHIẾN LƯỢC THƯƠNG LƯỢNG 63
4.2.1 CHIẾN LƯỢC CHO AGENT MUA 64
4.2.2 CHIẾN LƯỢC CHO AGEN BÁN 65
4.3 VÍ DỤ MINH HỌA 67
4.3.1 Miền tri thức agent bỏn 67
4.3.2 Miền tri thức agent mua 69
Trang 54.3.3 Thương lượng 71
4.4 KẾT LUẬN 75
Chương 5 DỊCH VỤ HỖ TRỢ MUA BÁN XE MÁY MoSeB 76
5.1 GIỚI THIỆU BÀI TOÁN 76
5.2 PHÂN TÍCH VÀ THIẾT KẾ 77
5.2.1 Phõn tớch 77
5.2.2 Thiết kế 88
5.3 CÀI ĐẶT VÀ TÍCH HỢP 94
5.3.1 Lưu trữ hệ tri thức 94
5.3.2 Mụ hỡnh hệ thống 97
5.3.3 Một số giao diện chương trỡnh 98
KẾT LUẬN 106
TÀI LIỆU THAM KHẢO 108
Trang 6DANH MỤC BẢNG BIỂU
Bảng 2.1: Một số từ khoỏ của KQML 29
Bảng 2.2: Các phương pháp luận và công cụ phát triển hệ đa agent 30
Bảng 3.1: Một số phộp toỏn trờn tập mờ 43
Bảng 3.2: Một số vớ dụ về hàm t-norm và s-norm 44
Bảng 3.3: Tiêu chuẩn đánh giá độ tương tự 50
Bảng 4.1: Tri thức agent bỏn 68
Bảng 4.2: Cỏc hàm tiờu chuẩn 69
Bảng 4.3: Mức độ thoả món đối với thuộc tính định tính 70
Bảng 4.4: Độ tương tự giữa các sản phẩm với ràng buộc hiện tại 75
Bảng 5.1: Các bước thương lượng 100
Trang 7DANH MỤC HÌNH VẼ
Hỡnh 1.1: Mụ hỡnh CBB (Comsumer Behavior Buying) 13
Hỡnh 1.2: Mụ hỡnh BBT (Business-to-Business Transaction) 15
Hỡnh 2.1: Mụ hỡnh tương tác với agent môi giới 26
Hỡnh 2.2: Biểu diễn cỳ phỏp của KQML dưới dạng BNF 29
Hỡnh 2.3: Cụng cụ agentTool phiờn bản 2.0 31
Hỡnh 2.4: Cỏc pha trong MaSE 32
Hỡnh 2.5: Lược đồ phân cấp mục tiêu 33
Hỡnh 2.6: Lược đồ tuần tự 34
Hỡnh 2.7: Sơ đồ vai trũ và nhiệm vụ 36
Hỡnh 2.8: Sơ đồ hoạt động bên trong nhiệm vụ 36
Hỡnh 2.9: Khung cơ bản agentMom 40
Hỡnh 2.10: Mụ hỡnh đối tượng agentMom 40
Hỡnh 3.1: Khỏi niệm tập mờ 42
Hỡnh 3.2: Mức độ chấp nhận của agen bán 52
Hỡnh 3.3: Đánh giá thuộc tính kiểu định tính 57
Hỡnh 3.4: Xỏc định trọng số cho từng thuộc tính 58
Hỡnh 4.1: Chiến lược mua 64
Hỡnh 4.2: Chiến lược bán 66
Hỡnh 4.3: Mức độ thoả món đối với thuộc tính định lượng 70
Hỡnh 5.1: Lược đồ mục tiêu 77
Hỡnh 5.2: Trớch chọn cỏc usecase 78
Hỡnh 5.3: Biểu đồ tuần tự báo cáo 79
Hỡnh 5.4: Biểu đồ tuần tự thương lượng 79
Hỡnh 5.5: Biểu đồ tuần tự môi giới 80
Trang 8Hỡnh 5.6: Cỏc lớp ontology 82
Hỡnh 5.7: Sơ đồ ontology hệ thống 84
Hỡnh 5.8: Lược đồ các role hệ thống 85
Hỡnh 5.9: Sơ đồ hoạt động của nhiệm vụ Negotiate trong role Buyer 86
Hỡnh 5.10: Sơ đồ hoạt động của nhiệm vụ Serve trong role Seller 87
Hỡnh 5.11: Lược đồ Agent 89
Hỡnh 5.12: Phiờn hội thoại khởi xướng 90
Hỡnh 5.13: Phiờn hội thoại đáp ứng 90
Hỡnh 5.14: Kiến trỳc BuyerAgent 92
Hỡnh 5.15: Kiến trỳc SellerAgent 93
Hỡnh 5.16: Kiến trỳc BrokerAgent 93
Hỡnh 5.17: Kiến trỳc hệ thống tổng thể 94
Hỡnh 5.18: CSDL cho SellerAgent 95
Hỡnh 5.19: CSDL cho BuyerAgent 96
Hỡnh 5.20: Mụ hỡnh kiến trỳc 3 lớp 98
Hỡnh 5.21: Trang chủ 99
Hỡnh 5.22: Yờu cầu tổng thể của khỏch hàng 103
Hỡnh 5.23: Mụ hỡnh hoỏ cỏc thuộc tớnh định tính 103
Hỡnh 5.24: Mụ hỡnh hoỏ cỏc thuộc tớnh định lượng 104
Hỡnh 5.25: Thương lượng giữa hai agent 104
Hỡnh 5.26: Giao diện kết quả 105
Trang 9MỞ ĐẦU
Sự phỏt triển mạnh mẽ của Internet và cụng nghệ truyền thụng đó dẫn đến sự
bùng nổ của thương mại điện tử với cỏc tiến trỡnh giao dịch được thực hiện dựa
trờn cụng nghệ truyền thụng và mạng Internet
Do cú nhiều ưu điểm hơn so với thương mại truyền thống như: giao dịch có thể thực hiện nhanh hơn, rẻ hơn, không phụ thuộc vào văn hoỏ hay vị trí địa lý… nên thương mại điện tử ngày càng đóng một vai trũ quan trọng trong nhiều tổ chức doanh nghiệp Tuy nhiờn, đa số cỏc ứng dụng thương mại điện tử ngày nay mới chỉ dừng lại ở mức độ giới thiệu sản phẩm trên các Website trực tuyến (được gọi thương mại điện tử thuộc thế hệ thứ nhất) Khi đó, khỏch hàng chọn lựa sản phẩm
ưa thớch và sau đó tiến hành cỏc bước giao dịch khỏc như thanh toỏn (theo hỡnh thức chuyển khoản…) hay yờu cầu giao hàng Tuy nhiờn, càng ngày người ta càng nhận ra rằng mụ hỡnh này chưa thể hiện hết sức mạnh tiềm ẩn của thương mại điện
tử
Trong thương mại điện tử, mỗi phiờn giao dịch bao gồm nhiều pha khỏc nhau [24]: xỏc định nhu cầu và nhà cung cấp, thương lượng, thanh toỏn… Trong cỏc pha
này, thương lượng được xem là một trong những pha then chốt trong quỏ trỡnh
giao dịch Với thương mại điện tử thế hệ thứ nhất, giai đoạn thương lượng được khỏch hàng thực hiện một cách thủ công và phải giao dịch trực tiếp với người bán Thế hệ thứ hai của thương mại điện tử1
, bắt đầu từ năm 2001, được đặc trưng bởi việc tự động hoá các giai đoạn trong tiến trỡnh giao dịch Nhiều nghiờn cứu về thương mại điện tử hiện nay tập trung vào xem xét những vấn đề liên quan đến tự động hoá quá trỡnh thương lượng dựa trên công nghệ agent
Các agent phần mềm thông minh hay ngắn gọn là agent được hiểu là các chương trỡnh cú những đặc trưng như: tự chủ, linh hoạt, thích nghi chạy trên các máy chủ khác nhau có thể tương tác trao đổi thông tin cho nhau Khi đó, người mua chỉ cần đưa ra các yêu cầu đối với sản phẩm cần mua (giá trong khoảng bao nhiêu, màu sắc chất lượng sản phẩm như thế nào…) cho các agent đại diện cho mỡnh (gọi là agent mua) và người bán cũng đặt ra các yờu cầu cho sản phẩm muốn bán (chỉ bán với giá
1
K.C Laudon and C.G Traver E-commerce: Business, Technology, Society Addison Wesley Pub.,
2002
Trang 10tối thiểu bao nhiêu…) cho các agent đại diện cho mỡnh (gọi là agent bỏn) Khi đó, các agent sẽ tự động tỡm kiếm và giao dịch thương lượng với nhau Kết quả cuối cùng sẽ được thông báo cho người dùng
Tuỳ thuộc vào số lượng các bên tham gia, thương lượng có thể được chia thành
hai dạng: thương lượng kiểu đấu giá (chỉ một bờn mua hoặc bờn bỏn đưa ra đề xuất yờu cầu và sẽ chọn người thắng cuộc trong nhiều đối tỏc tham gia) và thương lượng
song phương (cú một bờn mua và một bờn bỏn tham gia) Mỗi dạng thương lượng
đều có ba thành phần liên quan:
(i) Đối tượng thương lượng: có thể là từng thuộc tính hoặc toàn bộ đối tượng
như số lượng mặt hàng, ngày giao hàng, giá cả, kích cỡ
(ii) Giao thức thương lượng: liên quan đến các quy luật mà các bên phải thoả
thuận trong thương lượng như kiểu thương lượng là đấu giá hay song phương
(iii) Chiến lược thương lượng: quỏ trỡnh lập luận để đưa ra quyết định Chiến
lược thương lượng có thể hiểu là các bước agent đưa ra quyết định Tuỳ theo các mô hỡnh thương lượng khác nhau, các agent sẽ phải có các chiến lược thương lượng khác nhau để đạt được mục đích của mỡnh
Trong những năm gần đây, thương lượng song tự động trong thương mại điện tử
đó trở thành chủ đề thu hỳt nhiều quan tõm, nghiờn cứu ([3-8], [17-20], [23-28])
Mụ hỡnh thương lượng song phương đa thuộc tớnh dựa trờn ràng buộc mờ cú độ ưu tiờn được Jennings [28] đề xuất năm 2003 Trong mụ hỡnh này, chiến lược ra quyết định của cả agent mua và agent bỏn được xõy dựng dựa trờn cỏc ràng buộc mờ cú
độ ưu tiờn của cỏc thuộc tớnh Tuy nhiờn, trong thực tế người bỏn khụng những chỉ thụ động chạy theo cỏc yờu cầu của agent mua mà cũn cú thể tự đề xuất cỏc mặt hàng tương tự để thuyết phục người bỏn mua mặt hàng [18]
í tưởng về độ tương tự cú thể hiểu đơn giản như sau: Các sản phẩm thương lượng thường được đặc trưng bởi nhiều thuộc tính Do đó, việc đánh giá các sản phẩm được thực hiện thông qua các thuộc tính Hai sản phẩm được xem là tương tự nhau nếu chúng cú cỏc giỏ trị trong cỏc thuộc tớnh tương ứng tương tự nhau Khi đó, mức độ tương tự giữa hai sản phẩm sẽ được xác định bằng tổ hợp có trọng số độ tương tự giữa các giá trị này Các thuộc tính của sản phẩm được chia thành hai loại: các thuộc tính định lượng (có miền giá trị là một khoảng nào đó, ví dụ: giá, thời hạn
Trang 11đăng ký…) và cỏc thuộc tớnh định tính (có miền giá trị là một tập hợp các giá trị rời rạc, ví dụ: màu sắc, phân khối…) Để xác định mức độ tương tự giữa các giá trị trong một thuộc tính, người ta sử dụng khái niệm gọi là hàm đánh giá Hàm đánh giá hiểu đơn giản là một hàm ánh xạ mỗi giá trị của một thuộc tính tương ứng với một giá trị thực thuộc khoảng [0,1] Khi đó, mức độ tương tự của các giá trị trong cùng một thuộc tính cũng sẽ được xác định bằng tổ hợp có trọng số các giá trị của hàm đánh giá đối với thuộc tính đó
Luận văn này đó sử dụng mụ hỡnh “tương tự” để cải tiến mụ hỡnh ra quyết định của agent bỏn Trong quỏ trỡnh thương lượng, các yêu cầu của agent mua sẽ được
mô hỡnh hoỏ thành cỏc ràng buộc mờ có độ ưu tiên và lần lượt gửi sang cho người bán theo thứ tự của độ ưu tiên Về phía agent bán, nếu không tỡm được cỏc sản
phẩm thoả món yờu cầu agent mua, nú cú thể đề xuất một số sản phẩm “tương tự”
để nõng cao hiệu quả thương lượng
Luận văn “Thương lượng tự động dựa trên độ đo tương tự trong hệ đa Agent”
nhằm kết hợp mụ hỡnh đưa ra quyết định dựa trờn ràng buộc mờ cú trọng số và mụ hỡnh độ đo tương tự để phỏt triển thương lượng trong hệ đa agent Mụ hỡnh này đó được ỏp dụng để xõy dựng hệ đa agent thương lượng tự động MoSeB (Motorcycle Selling and Buying) Hệ thống được xây dựng và phát triển dựa theo phương pháp luận MaSE và công cụ agentTool [11] Nội dung chính của luận văn bao gồm năm chương
Chương 1: Thương mại điện tử Trỡnh bày khái niệm cơ bản về thương mại điện
tử, các mô hỡnh giao dịch và cỏc mụ hỡnh thương lượng
Chương 2: Cụng nghệ Agent Trỡnh bày cỏc khỏi niệm cơ bản về agent, hệ đa
agent và ngôn ngữ truyền thông KQML giữa các agent Phương pháp luận phát triển
hệ đa agent MaSE (Multiagent System Engineering) và công cụ agentTool được sử dụng để phát triển ứng dụng sẽ được đề cập đến
Chương 3: Agent ra quyết định Trỡnh bày một số khỏi niệm cơ bản trong logic
mờ và ứng dụng của chúng trong việc mô hỡnh hoỏ sở thớch người mua cũng như cách tính toán đưa ra quyết định của người bán và người mua
Chương 4: Mụ hỡnh thương lượng Trỡnh bày cụ thể chiến lược ra quyết định
của cả hai bên (bên mua và bên bán) trong mô hỡnh thương lượng song phương
Trang 12Chương 5: Dịch vụ hỗ trợ mua bỏn xe mỏy MoSeB Mụ hỡnh thương lượng
song phương được đề cập trong các chương trước sẽ được áp dụng để phát triển hệ MoSeB Chương này trỡnh bày chi tiết từng bước xây dựng một hệ đa agent dựa trên phương pháp luận MaSE và công cụ agentTool và kết quả cài đặt với ngôn ngữ lập trỡnh java
Phần kết luận của luận văn nhằm trỡnh bày những kết quả đó đạt được và một số hướng nghiên cứu và phát triển của luận văn trong thời gian tới
Trang 13Chương 1 THƯƠNG MẠI ĐIỆN TỬ 1.1 THƯƠNG MẠI ĐIỆN TỬ
Khi nói đến thương mại điện tử, người ta thường nghĩ tới việc sử dụng các công
cụ giao tiếp như: mạng internet, mạng điện thoại… để trợ giúp cho công việc giao dịch kinh doanh Chương này giới thiệu tổng quan về thương mại điện tử, các mô hỡnh giao dịch và thương lượng trong quá trỡnh giao dịch
1.1.1 Một số khỏi niệm
Thương mại điện tử có thể được hiểu theo nhiều nghĩa khác nhau, dưới nhiều hỡnh thức khỏc nhau như: quảng cáo trên truyền hỡnh, giới thiệu sản phẩm trờn mạng Internet… Tuy nhiờn, dự hiểu theo dưới hỡnh thức nào, mụ hỡnh nào thỡ thương mại điện tử vẫn phải thể hiện được bản chất của mỡnh là một hỡnh thức giao dịch cú sự hỗ trợ của cụng nghệ điện tử Hiệp hội thương mại điện tử [24] (Electronic Commerce Association) đó đưa ra một định nghĩa về thương mại điện tử như sau:
Thương mại điện tử là các giao dịch thương mại, giao dịch hành chính hoặc trao đổi thông tin được thực hiện dựa vào công nghệ thông tin và công nghệ truyền thông
Như vậy có thể thấy rằng, các giao dịch thương mại được thực hiện trên mạng Internet, mạng điện thoại… đều được xem là thương mại điện tử
Dựa vào bản chất của các giao dịch, chúng ta có thể chia thương mại điện tử
thành ba dạng chính [10]: B2B (business to business), B2C (business to consumer)
và C2C (consumer to consumer)
Giao dịch B2B là giao dịch mà cả người mua và người bán đều là cỏc doanh
nghiệp Hỡnh thức giao dịch kiểu này thường là sự cộng tác Nghĩa là khi một doanh nghiệp không thể đáp ứng nhu cầu cung cấp cho đối tỏc, doanh nghiệp này tỡm cỏch liờn kết với nhiều doanh nghiệp khỏc để hỗ trợ thực hiện giao dịch
Giao dịch B2C là giao dịch mua bỏn giữa doanh nghiệp và khách hàng Các
giao dịch kiểu này thường là các giao dịch bán lẻ trực tuyến với các khách hàng cá nhân
Trang 14Giao dịch C2C là giao dịch giữa các khách hàng, có thể hiểu đây cũng là một
hỡnh thức hợp tỏc, chia sẻ tài nguyờn giữa cỏc khỏch hàng với nhau Kiểu giao dịch này gần giống với B2B nhưng nó mang tính cá nhân hơn
Ngoài ra, cũn cú một số dạng giao dịch khỏc [24] như: giao dịch phi doanh nghiệp (là cỏc giao dịch sử dụng Internet bởi những tổ chức phi doanh nghiệp như viện nghiên cứu, chính phủ…), giao dịch nội bộ… Hầu hết các ứng dụng thương mại điện tử dựa trên nền Web thời kỳ đầu đều là B2C [31], tuy nhiên giờ đây B2C chỉ chiếm một phần nhỏ trong tổng giá trị giao dịch thương mại Ví dụ, các giao dịch B2B trong năm 2003 là khoảng 800 tỷ đô la, gấp 5 lần B2C
1.2.2 Cỏc mụ hỡnh giao dịch điện tử
Tuỳ theo từng kiểu giao dịch khỏc nhau, sẽ cú cỏc mụ hỡnh giao dịch khỏc nhau: giao dịch B2C cú mụ hỡnh giao dịch tương ứng là CBB ([10], [19], [24]) (Comsumer Behavior Buying), giao dịch B2B cú mụ hỡnh giao dịch tương ứng là BBT ([10], [19], [24]) (Bussiness-to-Business Transaction)… Cỏc mụ hỡnh giao dịch biểu diễn cỏc pha cần thực hiện
Xác định nhu cầu: Trong giai đoạn này, người dùng xỏc định một nhu cầu
của mỡnh về một sản phẩm hoặc một dịch vụ nào đó theo nhiều cách: nhờ
quảng cáo, giới thiệu thông qua bạn bè
Mụi giới sản phẩm: Nhằm xác định sản phẩm nào để mua Các kỹ thuật
chính được sử dụng trong giai đoạn này là lọc: lọc dựa trên đặc trưng, lọc cộng tác, và lọc dựa trên ràng buộc Ví dụ, giả sử một khách hàng muốn mua một máy tính xách tay Sony thông qua trang Web của Amazon Agent đại diện cho anh ta, trước hết, chọn loại “các máy tính”, sau đó xác định “Sony”
Trang 15trong trường nhón hiệu, khi đó các máy tính xách tay với các đặc trưng này
sẽ được trả lại Các hệ thống thương mại điện tử có thể sử dụng nhiều kỹ thuật lọc một lúc (vỡ đôi khi người dùng không biết chính xác các ràng buộc của sản phẩm mà họ đang tỡm kiếm)
Hỡnh 1.1: Mụ hỡnh CBB (Comsumer Behavior Buying) Thành lập liên minh người mua: Một liên minh được xem như một nhóm
các người mua cộng tác với nhau để đạt được một nhiệm vụ chung Thành lập liên minh người mua bao gồm 5 bước [34] (Tsvetovat và Sycara, 2000): Thương lượng, chọn người đứng đầu, hỡnh thành liờn minh, tập trung tiền trả
và thực hiện giao dịch
Môi giới người bán: Là giai đoạn tỡm kiếm một người bán thích hợp để mua
sản phẩm sau khi đó xỏc định sản phẩm mong muốn Cụng việc chủ yếu trong giai đoạn này tập trung vào việc tỡm kiếm người bán có sản phẩm thoả món tối đa các yêu cầu của khách hàng (giá rẻ, chất lượng cao, thời gian giao hàng nhanh…)
Thương lượng: Sau khi đó tỡm được người bán, bước tiếp theo sẽ là quá
trỡnh thương lượng các ràng buộc đối với sản phẩm mong muốn của người
Xác định
nhu cầu
Mụi giới sản phẩm
Thành lập liờn minh người mua
Mụi giới người bán
Đánh giá
sản phẩm
Thẻ tớn dụng
Đường hàng không, tàu thuỷ Cỏch thực
hiện
Cũn ai mua nữa khụng?
Mụ hỡnh CBB
Thương lượng
Trang 16mua Một trong các thay đổi lớn mà thương mại điện tử thế hệ thứ hai được
sử dụng là sự thoả hiệp dựa vào agent, tức là việc trả giá và đưa ra các đề xuất sẽ được thực hiện một cách tự động Vỡ vậy, thương lượng là giai đoạn chính đối với các hệ thương mại điện tử Đõy là phần cốt yếu trong mỗi tiến trỡnh giao dịch và là quan tõm chớnh của luận văn, nờn chương này sẽ dành một phần riờng (phần 1.2) để trỡnh bày về vấn đề này
Mua bỏn và phõn phối: Cho dù thương lượng cú thành công, nhưng đến giai
đoạn này người mua không đồng ý mua thỡ giao dịch cũng coi như thất bại (do thời hạn giao dịch quá lâu, không thích sản phẩm này nữa…) Nếu người mua đồng ý mua, tức là giao dịch thành cụng thỡ giai đoạn này sẽ quyết định cách thức thanh toán (trả tiền mặt, trả bằng thẻ tín dụng…) và bàn giao sản
phẩm
Đánh giá sản phẩm: Là giai đoạn chỉ dành cho người mua Giai đoạn này
giúp người mua thẩm định sản phẩm đó nhận được Trong nhiều trường hợp, giai đoạn này cũng có thể quyết định tới sự thành công hay thất bại của giao dịch
1.2.2.2 Mụ hỡnh BBT
Mụ hỡnh BBT ([10], [24]) là mụ hỡnh giao dịch cho kiểu giao dịch B2B giữa cỏc doanh nghiệp Mối quan hệ giữa các doanh nghiệp phức tạp hơn nhiều so với mối quan hệ giữa các doanh nghiệp và khách hàng Tuy vậy, mục đích chính vẫn là làm sao để thực hiện giao dịch thành cụng và thu lợi nhuận Ngược với mô hỡnh CBB,
mụ hỡnh này tập trung chủ yếu vào phía người bán í nghĩa của nú là cải tiến hiệu quả trong quỏ trỡnh tỡm kiếm sản phẩm để cung cấp cho khách hàng Mô hỡnh này
bao gồm sỏu pha: Thành lập hiệp hội (Partnership Formation), mụi giới (Brokering), thương lượng (Negotiation), dự thảo hợp đồng (Contract Formation),
thực hiện hợp đồng (Contract Fulfillment) và đánh giá dịch vụ (Service Evaluation)
Thành lập hiệp hội: Trong giai đoạn này, mỗi bên tham gia sẽ tỡm kiếm
thờm cỏc cộng tỏc cho mỡnh để hỡnh thành lờn một doanh nghiệp ảo trước khi thực hiện giao dịch Quá trỡnh này giỳp cho tiến trỡnh giao dịch được thực hiện một cách hiệu quả hơn (người mua không đáp ứng được nhu cầu của người bán hoặc người bán không thoả món cỏc yờu cầu của người mua)
Trang 17Hỡnh 1.2: Mụ hỡnh BBT (Business-to-Business Transaction) Mụi giới: Đây là giai đoạn khá quan trọng trong giao dịch Giai đoạn này xác
định các cặp giao dịch thích hợp thông qua một người trung gian Khi người bán cần bán, họ chỉ cần đăng ký với nhà môi giới, và người mua sẽ tỡm kiếm đối tác của mỡnh từ cỏc nhà mụi giới Nhà mụi giới sẽ dựa vào các thông tin
từ cả hai phía để quyết định xem các đối tác nào có thể giao dịch với nhau
Thương lượng: Sau khi tỡm được đối tác phù hợp, các bên tham gia giao
dịch sẽ tiến hành thương lượng với nhau để tiến tới kí kết hợp đồng Quá trỡnh thương lượng sẽ tuân theo các qui tắc và giao thức thương lượng tuỳ theo mỗi hỡnh thức thương lượng được lựa chọn
Dự thảo hợp đồng: Sau khi kết thúc giai đoạn thương lượng, nếu giao dịch
thành công thỡ sẽ đi tiếp tới giai đoạn này Dựa trên các thông tin đó thoả thuận, một hợp đồng thương mại sẽ được soạn thảo với đầy đủ các điều khoản tương ứng Các bên tham gia sẽ xem xét và ký hợp đồng để đảm bảo giao dịch
Thành lập hiệp hội
Đánh giá dịch vụ Cỏc doanh nghiệp
Mụi giới
Thương lượng
Dự thảo hợp đồng
Thực hiện hợp đồng
Tỡm kiếm người mua & người bán
phản hồi
Mụ hỡnh BBT
Trang 18Thực hiện hợp đồng: Khi hợp đồng ký kết có hiệu lực thi hành, các bên
tham gia có trách nhiệm thực thi đúng các điều khoản đó dự thảo trong hợp đồng Tức là nhà cung cấp phải cung cấp đúng các sản phẩm theo yêu cầu của khách hàng, ngược lại khách hàng phải thanh toán đầy đủ theo các điều khoản đó đề ra Hỡnh thức thanh toỏn cũng được xác định trong hợp đồng
Đánh giỏ dịch vụ: Đây là giai đoạn cuối của quá trỡnh giao dịch, giai đoạn
này chủ yếu được thực hiện bởi phía người bán Sau mỗi phiên giao dịch, người bán phải tổng kết và rút ra một số kết luận cho riêng mỡnh nhằm tăng hiệu quả cho các phiên giao dịch tiếp theo
1.2 THƯƠNG LƯỢNG
1.2.1 Tổng quan về thương lượng
Thương lượng đóng một vai trũ rất quan trọng trong thương mại nói chung và thương mai điện tử nói riêng Điều này là rất hiển nhiên vỡ lợi ớch của cỏc bờn tham gia giao dịch khụng bao giờ cú thể thống nhất mà luụn tồn tại mõu thuẫn, nờn cần phải có sự thương lượng, thoả hiệp trong các giao dịch Quỏ trỡnh giao dịch cú thành cụng hay khụng phụ thuộc rất nhiều vào giai đoạn này Trong thế hệ thương mại điện tử thứ hai, quỏ trỡnh này được thực hiện một cỏch tự động thụng qua cỏc agent đại diện cho cỏc bờn tham gia trong quỏ trỡnh giao dịch ([3], [17], [23]):
Thương lượng là một tiến trỡnh thoả hiệp giữa các bên tham gia tương tác (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 Thương lượng tự động là một quá trỡnh thương lượng, trong đó, người mua và người bán được thay thế bằng các thực thể agent Việc tỡm kiếm, mua bỏn và thoả thuận giữa người mua và người bán được thực hiện tự động bởi các agent
Giao thức thương lượng: tập các qui tắc điều khiển quá trỡnh thương lượng Mục tiêu thương lượng: tập cỏc kết quả cuối cựng mà quỏ trỡnh thương
lượng phải đạt được
Trang 19Chiến lược thương lượng: Đây được xem là phần quan trọng nhất của mỗi
agent tham gia thương lượng Chiến lược thương lượng xác định cỏc hành động mà agent phải tuân theo để đạt được mục tiêu đề ra
Thương lượng có thể được xem như một quá trỡnh tỡm kiếm phõn tỏn thụng qua một khụng gian các sản phẩm Mỗi thuộc tính được sử dụng trong quá trỡnh tỡm kiếm sản phẩm được xem như là một chiều của không gian Khi đó, số thuộc tính của sản phẩm tăng lên thỡ số chiều của khụng gian tỡm kiếm cũng tăng lên và quá trỡnh tỡm kiếm sẽ càng phức tạp hơn Khi đó, việc xác định chiến lược thương lược
sẽ trở lên rất phức tạp
Tuỳ vào cỏc khớa cạnh khỏc nhau, chỳng ta cú thể phõn nhúm cỏc hỡnh thức
thương lượng khác nhau làm hai dạng [24]: thương lượng kiểu đấu giá và thương
lượng song phương
1.2.1.1 Thương lượng kiểu đấu giá
Đấu giá là một trong những hỡnh thức thương lượng đó được nghiên cứu và phát triển khá phổ biến trong thương mại điện tử (như: eBay, Yahoo…) Trong mỗi phiên đấu giá, sẽ có một hoặc nhiều agent làm nhiệm vụ điều khiển phiên đấu giá và các agent cũn lại sẽ thay nhau đưa ra các lời trả giá theo đúng cỏc qui tắc đấu giá
Có nhiều kiểu đấu giá như đấu giá kiểu Anh, kiểu Vickrey Trong đấu giá kiểu Anh bên bán đưa ra giá và nhiều bên mua lần lược đưa ra giá cao hơn giá bên bán; quá trỡnh này lặp lại với số vũng nào đó và bên nào đưa ra giá cao nhất được xem là thắng cuộc Ngược lại trong đấu giá kiểu Vickrey, bên mua đưa ra giá thấp hơn giá
đề nghị của bên bán và người đưa ra giá cao nhất sẽ thắng nhưng chỉ phải trả giá của người cao thứ hai
1.2.1.2 Thương lượng song phương
Thương lương song phương [24] là dạng thương lượng có hai bên tham gia trong quá trỡnh giao dịch, một bờn mua và một bờn bỏn Với các thương lượng kiểu đấu giá, quá trỡnh thương lượng thường chỉ liên quan đến một thuộc tớnh quan trọng nhất của sản phẩm là giỏ bỏn Ngược lại, thương lượng song phương thỡ phức tạp hơn, quá trỡnh thương lượng thường liên quan đến nhiều thuộc tích của sản phẩm cùng một lúc
Trang 20Các agent tham gia thương lượng kiểu đấu giá thường xây dựng các chiến lược thương lượng dựa theo lý thuyết trũ chơi, tuy nhiên các chiến lược này thường không hiệu quả vỡ chỳng khụng đánh giá được hết các tỡnh huống xảy ra trong quỏ trỡnh giao dịch và cỏc thụng tin phản hồi từ phớa đối tác là rất ít Trong mô hỡnh thương lượng song phương, việc tự động hoá tỏ ra rất hiệu quả Mặc dù chúng không nhận được các thông tin phản hồi hoàn chỉnh từ đối tác nhưng thông tin nhận được cũng đủ để các agent đưa ra quyết định cho mỡnh Cú ba cỏch tiếp cận trong việc xõy dựng mụ hỡnh ra quyết định trong thương lượng song phương ([17], [24]):
Mụ hỡnh thương lượng dựa trờn lý thuyết trũ chơi Mụ hỡnh này tập trung
xỏc định các chiến lược tối ưu bằng các phân tích các tương tác như một trũ chơi giữa các bên tham gia Chiến lược được xây dựng theo cách tiếp cận này thường áp dụng để đưa ra giải pháp tối ưu cho một bên tham gia trong một trường hợp cụ thể và các bên tham gia thường không có thông tin về đối thủ của mỡnh Cỏch tiếp cận này thường phù hợp với mô hỡnh đấu giá Tuy nhiên, cỏch tiếp cận này vẫn cũn nhiều vấn đề liên quan đến độ phức tạp tính toán mà cho đến nay vẫn chưa được giải quyết trọn vẹn Để có thể áp dụng
mô hỡnh này cho cỏc bài toỏn được đặt ra thỡ cần phải cú cỏc giả thiết lý tưởng như: tài nguyên tính toán không hạn chế, khụng gian cỏc kết quả là hữu hạn, … Trên thực tế, điều này rất khó xảy ra
Mụ hỡnh thương lượng dựa trờn kỹ thuật Heuristic Mụ hỡnh này sử dụng
cỏc kỹ thuật tớnh toỏn heuristic Kỹ thuật tớnh toỏn heuristic được sử dụng trong các trường hợp bị hạn chế về tài nguyên tính toán, do đó không đưa ra kết quả tối ưu mà chỉ tỡm ra cỏc kết quả tốt nhất cú thể được (hay cũn gọi là tối ưu địa phương) Mô hỡnh này rất phự hợp với cỏc bài toỏn thực tế vỡ nú làm giảm đi rất nhiều các ràng buộc mà các bài toán thực tế không thể đáp ứng như trong mô hỡnh lý thuyết trũ chơi Đó cú rất nhiều mụ hỡnh thương lượng song phương tính toán dựa trên kỹ thuật heuristic được đề xuất [17]:
mụ hỡnh thương lượng với cỏc thủ tục quyết định dựa trờn sự thoả món cỏc ràng buộc mờ phõn tỏn (Yokoo, 1998); mụ hỡnh thương lượng đa thuộc tớnh dựa trờn ràng buộc mờ (Nicholas R Jennings, 2003)…
Mụ hỡnh thương lượng dựa trờn lý thuyết thuyết phục Mặc dự lý thuyết trũ
chơi và cách tiếp cận heuristic được sử dụng rất rộng rói nhưng chúng vẫn cũn một số hạn chế Thứ nhất trong quỏ trỡnh thương lượng, các agent trao
Trang 21đổi thông tin thông qua các đề xuất và chúng không được phép thay đổi các
đề xuất của mỡnh, tức là chỳng luụn phải tương tác với các đề xuất đó được xác định trước Thứ hai, các mô hỡnh sở thích cũng như mục tiêu của từng agent phải được xác định cụ thể và không thay đổi trong suốt quá trỡnh thương lượng Mô hỡnh dựa trờn lý thuyết thuyết phục đó giải quyết được các hạn chế của hai mô hỡnh trờn Mụ hỡnh này cho phộp cỏc agent điều chỉnh các đề xuất của mỡnh trong quỏ trỡnh thương lượng hoặc gây ảnh hưởng tới đề xuất thương lượng của agent khác
Trong cả ba mụ hỡnh trờn, phạm vi thương lượng có thể là đơn thuộc tính (hoặc giá cả, hoặc chất lượng ) hoặc là đa thuộc tính (giá cả và chất lượng ) Luận văn này tập trung chủ yếu phỏt triển mụ hỡnh thương lượng song phương đa thuộc tính với kỹ thuật heuristic và độ đo tương tự
1.2.2 Thương lượng song phương dựa trên ràng buộc mờ có trọng số
Mụ hỡnh này được phát triển từ bài toán thoả món ràng buộc mờ ưu tiên (Prioritised Fuzzy Constraint Satisfaction Problems viết tắt là PFCSP) được Jenning
đề xuất năm 2003 Bài toỏn thoả món ràng buộc mờ thuộc lớp bài toán NP đầy đủ, tức là chưa có lời giải tối ưu Thương lượng song phương là một trong những cách tiếp cận khá hiệu quả để giải quyết cỏc lớp bài toỏn thuộc dạng này
1.2.2.1 Mụ hỡnh sở thớch của người mua
Trong mụ hỡnh này, chiến lược thương lượng của người mua được mô hỡnh hoỏ dựa trờn cỏc ràng buộc mờ cú độ ưu tiên Mụ hỡnh này cú cỏc ưu điểm [28]:
Trong nhiều trường hợp, khỏch hàng khụng thể xỏc định chớnh xỏc cỏc sản phẩm mong muốn, vỡ vậy cỏc yờu cầu của họ thường được diễn đạt bằng cỏc
ràng buộc đối với sản phẩm thụng qua cỏc thuộc tớnh của sản phẩm
Khỏch hàng khụng thể đánh giỏ một cỏch chắc chắn đối với cỏc yờu cầu của mỡnh Thay vào đó, họ thường đánh giỏ một cỏch chung chung, khụng chắc
chắn Một tham chiếu như vậy cú thể được biểu diễn như một ràng buộc mờ
Trang 22Đối với mỗi thuộc tớnh của sản phẩm, khỏch hàng thường cú độ ưu tiên khỏc
nhau Vớ dụ: với những khỏch hàng bị hạn chế về tài chớnh, thỡ thuộc tớnh giỏ cả sẽ được ưu tiờn hơn cỏc thuộc tớnh khỏc
Trong quỏ trỡnh giao dịch, cú nhiều cỏch để người mua đề xuất cỏc ràng buộc của mỡnh cho người bỏn: đề xuất lần lượt từng ràng buộc, đề xuất nhiều ràng buộc một lỳc… Với mụ hỡnh này, cỏc ràng buộc của người mua sẽ được đề xuất lần lượt sang cho người bỏn theo thứ tự của độ ưu tiờn Cỏch tiếp cận này được sử dụng là do:
Bản chất cỏc hoạt động của người bỏn là tỡm kiếm sản phẩm thoả món yờu cầu người bỏn Do đó, việc tỡm kiếm sẽ hiệu quả hơn nếu cỏc yờu cầu được cung cấp lần lượt một cỏch cú thứ tự
Bài toỏn tỡm kiếm thoả món nhiều ràng buộc cựng một lỳc thuộc lớp bài toỏn NP đầy đủ, dú đó, thời gian tớnh toỏn để tỡm ra lời giải tối ưu là khụng thực tế
1.2.2.2 Mụ hỡnh độ đo tương tự giữa cỏc mặt hàng của người bỏn
Việc xõy dựng chiến lược cho người bỏn chớnh là quỏ trỡnh tỡm kiếm lời giải cho bài toỏn ràng buộc mờ cú độ ưu tiờn Một cỏch tiếp cận khỏ trực quan và đơn giản là người bỏn sẽ tỡm kiếm cỏc sản phẩm thoả món cỏc ràng buộc theo thứ tự giảm dần của độ ưu tiờn Tức là, giả sử người mua quan tõm đến thuộc tớnh giỏ cả hơn thuộc tớnh màu sắc của sản phẩm, khi đó, người bỏn sẽ tỡm kiếm cỏc sản phẩm thoả món ràng buộc về giỏ cả trước Trong số sản phẩm tỡm thấy, nú sẽ chọn ra sản phẩm thoả món cỏc ràng buộc về màu sắc
Trong quỏ trỡnh tỡm kiếm, nếu khụng tỡm thấy sản phẩm nào thoả món tất cả cỏc ràng buộc Người bỏn sẽ yờu cầu nhượng bộ bớt cỏc ràng buộc Tuy nhiờn, việc nhượng bộ khụng phải là vụ hạn
Để cải tiến hiệu quả trong quỏ trỡnh thương lượng, luận văn trỡnh bày một chiến lược mới dựa trờn độ đo tương tự giữa cỏc mặt hàng Trong mụ hỡnh này, nếu khụng tỡm được sản phẩm nào thoả món yờu cầu người mua Người bỏn sẽ xỏc định một số sản phẩm “tương tự” nhất đối với cỏc ràng buộc của người mua Trong
Trang 23số đó, người bỏn sẽ chọn ra sản phẩm cú lợi nhất cho mỡnh để đề xuất cho người mua
1.3 KẾT LUẬN
Chương này giới thiệu tổng quan về thương mại điện tử và các giai đoạn trong cỏc mụ hỡnh giao dịch Một trong những giai đoạn quan trọng nhất trong các mô hỡnh giao dịch đó là thương lượng và là quan tâm của luận văn này
Trang 24Chương 2 CÔNG NGHỆ AGENT
Nội dung chương này trước hết trỡnh bày một số khỏi niệm cơ bản về agent, hệ
đa agent và ngôn ngữ truyền thông giữa các agent Sau đó trỡnh bày cỏc bước trong phân tích và thiết kế hệ đa agent dựa trên phương pháp luận MaSE
2.1 TỔNG QUAN VỀ AGENT
2.1.1 Khỏi niệm agent
Trong những năm gần đây, sự phát triển của công nghệ Internet đó dẫn tới việc ứng dụng cụng nghệ thụng tin một cỏch rộng rói vào nhiều lĩnh vực khỏc nhau trong cuộc sống như: tỡm kiếm truy xuất thụng tin, quản lý mạng viễn thụng… Sự
đa dạng của việc áp dụng khiến cho việc phát triển phần mềm ngày càng trở nên phức tạp hơn, sự phức tạp thể hiện ở chỗ:
Khối lượng xử lý cụng việc ngày càng lớn: Cỏc hệ phần mềm ngày nay phải
xử lý một lượng khối lượng dữ liệu rất lớn Bên cạnh đó, các thuật toán để giải quyết vấn đề thường có độ phức tạp lớn (nhiều bài toán thuộc dạng NP đầy đủ)
Yờu cầu về tớnh chớnh xỏc ngày càng cao: Sự ra đời của các hệ thống thời
gian thực, các hệ thống ứng dụng thực như: các hệ điều khiển không lưu, các
hệ quản lý… đũi hỏi tớnh chớnh xỏc rất cao
Yờu cầu về tớnh mở và phõn tỏn: Yờu cầu này xuất hiện cựng với sự phỏt
triển của các hệ thống mạng, đặc biệt là các hệ thống trên mạng Internet Ngày nay, hầu hết các hệ thống thông tin ngày nay đều gắn bó chặt chẽ với môi trường mạng và do đó các phần mềm cũng phải đáp ứng ngày các tốt hơn các nhu cầu của con người như: tỡm kiếm thông tin, hỗ trợ người mua và người bán đưa ra quyết định…
Yêu cầu tính độc lập giữa các thành phần trong hệ thống: Yờu cầu này thể
hiện rừ nhất trong cỏc hệ ra quyết định và các hệ thương mại điện tử Các hệ thống này yêu cầu các thành phần phải hoạt động động lập và chủ động tương tác với các thành phần khác nhằm hướng tới mục tiêu riêng của mỡnh
Trang 25Những yêu cầu này dẫn đến sự nghiên cứu và phát triển mạng mẽ của công nghệ phần mềm trong những năm gần đây Cách tiếp cận dựa trên cấu trúc chiếm ưu thế vào những năm 70-80 đó dần dần bị thay thể bởi phương pháp luận hướng đối tượng với tập ký hiệu chuẩn mà ngày nay đó trở thành phổ biến trong phõn tớch, thiết kế và xõy dựng cỏc hệ phần mềm Tuy nhiờn, khi cỏc hệ thống thụng tin ngày càng trở nờn phức tạp hơn thỡ người ta cũng nhận ra sự hạn chế của cách tiếp cận này Một trong những nguyên nhân cơ bản là do tính thụ động của các đối tượng, nghĩa là các đối tượng chỉ thực sự hoạt động khi nhận được một thông điệp từ đối tượng khác [8] Với cỏc hệ thống cú yờu cầu về tính phân tán như các hệ thương lượng trong thương mại điện tử, các hệ quản lý mạng viễn thụng… thỡ cỏc tương tác thụ động như vậy tỏ ra không phù hợp Các thành phần phần mềm trong các hệ thống như vậy phải phục vụ các dịch vụ khác nhau, do đó cần phải chủ động theo các mục đích riêng của mỡnh đồng thời phải tương tác với các thành phần khác để chia sẻ tài nguyên, hỗ trợ tính toán…
Đó cú rất nhiều định nghĩa khác nhau về agent, từ đơn giản đến phức tạp, từ cụ thể đến tổng quát Dưới đây là một định nghĩa về một agent phần mềm được nhiều người chấp nhận:
“Agent 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ế.”
2.1.2 Các đặc trưng của agent
Cỏc agent phần mềm có một số đặc trưng khác biệt với các chương trỡnh phần mềm núi chung (Jennings và Wooldridge 1998) Dưới đây là một số đặc trưng cơ bản:
Tớnh tự chủ (autonomous): agent phải tự kiểm soát được những hành động
của chính nó và có khả năng làm việc cũng như thi hành những tác vụ độc
lập với người dùng và những tác nhân khác Nghĩa là những chương trỡnh
này cú thể tự hoạt động mà không cần có người dùng thao tác
Khả năng phản ứng (reactive): agent phải biết cỏch tự phỏt hiện ra những
thay đổi của môi trường xung quanh nó và phản ứng với những thay đổi này
Trang 26trong một thời gian hợp lý bằng cỏch trả lời cỏc sự kiện hoặc thực hiện những hành động nào đó
Khả năng giao tiếp (communicative): agent phải cú khả năng tương tác với
người dùng và những agent khác thông qua một ngụn ngữ giao tiếp kiểu
agent nào đó
Khả năng hoạt động hướng mục tiờu (goal-driven): agent không chỉ thực
hiện các thao tác đơn thuần để phản ứng lại môi trường mà chúng cũn cú một
mục tiờu riờng và các hành động hướng về mục tiờu này cho đến khi chỳng
Một hệ đa agent là một tập hợp các agent, có mục tiờu riêng, miền tri thức riêng nhưng có thể tương tác với nhau để hoàn thành mục tiêu chung, tổng thể của hệ thống
Theo Katia P.Sycara một hệ đa agent được đặc trưng bởi các tính chất sau [33]: Mỗi agent có thông tin không đầy đủ để giải quyết bài toán đặt ra Đây là một trong những đặc trưng của một hệ phân tán Do khả năng (miền tri thức, phạm vi hoạt động…) của mỗi agent là hữu hạn và bài toán cần giải quyết thường là quá lớn đối với một agent đơn
Hệ đa agent không có bộ điều khiển toàn cục hệ thống, tức là các agent hoạt động một cách độc lập không phụ thuộc vào agent khác và cả hệ thống tổng thể
Dữ liệu được phân tán cho nhiều agent khác nhau trong hệ thống Mỗi agent chỉ có thể quản lý một nguồn tài nguyờn hạn chế
Trang 27Sự tính toán trong hệ đa agent là không đồng bộ Đặc trưng này thể hiện một cách rừ nột tớnh “tự chủ“ của cỏc agent Cỏc agent có thể hành động một cách độc lập, tách biệt đối với các agent khác mà không cần phải “chờ đợi” các agent khác hoặc bắt các agent khác “chờ đợi” mỡnh
Như vậy, trong hệ đa agent, các agent hoạt động một cách tự chủ và độc lập với nhau Ngoài ra, chúng có thể tương tác với nhau dưới nhiều hỡnh thức khỏc nhau: cộng tỏc, cạnh tranh, thương lượng… để chia sẻ tài nguyên và khả năng xử lý
2.2.2 Môi trường tính toán thích hợp cho hệ đa agent
Hệ đa agent tỏ ra có nhiều ưu điểm trong việc giải quyết các vấ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 bao gồm [33]:
Hệ đa agent có thể giải quyết một bài toán vượt quá khả năng của một agent đơn Trong các hệ agent đơn, toàn bộ quỏ trỡnh xử lý đều tập trung vào một agent duy nhất Nhưng do tài nguyên cũng như khả năng xử lý hạn chế (chẳng hạn như bộ nhớ hoặc tốc độ xử lý thấp…) nờn cỏc hệ thống như vậy thường có những “nút cổ chai”, gây ra sự bế tắc cho hệ thống Hệ đa agent giải quyết vấn đề này thông qua cơ chế phối hợp, cộng tác giữa các agent
Hệ đa agent cung cấp phương pháp giải quyết 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 và cựng tuõn theo cỏc qui tắc trong xó hội đó Các thành phần trong hệ đa agent không phải luôn luôn có cùng chung một mục tiêu Để thực hiện các mục tiêu riêng của mỡnh, cỏc agent cú thể tương tác với các agent khác theo các giao thức như: cộng tác, kết hợp, hoặc trong các trường hợp có mục tiờu riờng mõu thuẫn nhau thỡ cú thể là cạnh tranh, thương lượng…
Hệ đa agent cung cấp các phương pháp giải quyết các bài toán mà thông tin được thu thập từ nhiều nguồn khác nhau Các nguồn thông tin này được phân tán trong một hệ thống lớn như: bài toán truy xuất thụng tin trờn mạng Internet…
Cách tiếp cận hướng agent phù hợp khi hệ thống phải hành động một cách tự chủ để thay mặt người dùng, ví dụ như trong các quá trỡnh thương lượng giữa các thành phần bên trong hệ thống để đạt được các mục đích khác nhau
Trang 282.2.3 Mụ hỡnh tương tác
Khi các agent hoạt động trong các hệ đa agent, người thiết kế cần phải xác định
mô hỡnh tương tác cụ thể cho hệ thống Hiện nay có rất nhiều mô hỡnh tương tác khác nhau trong các hệ đa agent ([35], [36]):
Tương tác không có agent trung gian: mụ hỡnh này cú ưu điểm là đơn giản,
dễ xây dựng và phù hợp với những hệ thống agent đóng như: mụ hỡnh bảng đen, mô hỡnh mạng hợp đồng…
Tương tác với agent trung gian: Mụ hỡnh này sử dụng một agent trung gian
nhằm quản lý khả năng của các agent khỏc: tương tác với agent môi giới, tương tác với agent điều phối… Luận văn tập trung chủ yếu vào mô hỡnh tương tác có agent trung gian, cụ thể hơn là mô hỡnh tương tác với agent môi giới
Mụ hỡnh tương tác với agent môi giới
Trong mụ hỡnh này, một agent đóng vai trũ như một nhà môi giới, có nhiệm vụ
tạo ra cơ chế liên lạc trực tiếp giữa agent Yờu cầu và agent Cung cấp như hỡnh 2.1
Hỡnh 2.1: Mụ hỡnh tương tác với agent môi giới
Trong mụ hỡnh này, khi cỏc agent khỏc muốn tham gia vào hệ thống phải đăng
ký dịch vụ với agent Mụi giới và trở thành nhà cung cấp dịch vụ Agent Mụi giới sẽ cập nhật vào cơ sở tri thức của nó tên, địa chỉ và khả năng dịch vụ của agent Cung
cấp Trong một tương tác cụ thể, khi có một agent Yờu cầu yêu cầu một dịch vụ, nó
sẽ gửi yêu cầu đó đến agent Mụi giới và chờ đợi Agent Mụi giới sẽ xem xét trong miền tri thức của nó để tỡm ra một agent Cung cấp cú thể thực hiện yờu cầu và gửi cho agent Yờu cầu tên, địa chỉ của agent Cung cấp Quỏ trỡnh tương tác sau đó sẽ diễn ra trực tiếp giữa agent Yờu cầu và agent Cung cấp
Kết quả dịch vụ
Yờu cầu dịch vụ Tên, địa chỉ
nhà cung cấp
Trang 292.3 NGễN NGỮ TRUYỀN THễNG GIỮA CÁC AGENT
Có rất nhiều vấn đề đặt ra trong quá trỡnh xõy dựng một hệ đa agent:
Truyền thụng: Cỏch thức gửi và nhận thông điệp giữa cỏc agent
Ngụn ngữ: Ý nghĩa của các thông điệp mà các agent trao đổi cho nhau Chớnh sỏch: Cấu trỳc cỏc cuộc hội thoại giữa cỏc agent
Một trong những vấn đề quan trọng nhất trong quá trỡnh hoạt động của một hệ
đa agent là các agent giao tiếp với nhau bằng ngôn ngữ gỡ, theo qui tắc nào… Do
đó, việc thiết kế một ngôn ngữ giao tiếp cho phép các agent có thể “nói chuyện” được với nhau là rất quan trọng Có nhiều ngôn ngữ truyền thông đa agent đó được nghiên cứu, một trong những ngôn ngữ truyền thông được sử dụng rộng rói nhất là KQML ([15], [16], [30])
2.3.1 KQML là gỡ?
KQML [15] được viết tắt của từ “Knowledge Query and Manipulation Language” có nghĩa là ngôn ngữ thao tác và truy vấn tri thức Nó không chỉ là ngôn ngữ mà cũn xỏc định giao thức cho việc trao đổi thông tin và tri thức giữa cỏc agent
KQML là một phần của dự án “the ARPA Knowledge Sharing Effort”, nhằm mục đích phát triển các kỹ thuật và phương pháp luận cho việc xây dựng miền tri thức lớn, có thể chia sẻ và sử dụng lại
KQML là một giao thức độc lập đối với:
Cơ chế truyền thông (TCP/IP, email, CORBA, IIOP,…)
Ngụn ngữ nội dung (KIF, SQL, STEP, Prolog, …)
Giao thức tương tác (Contrac Net)
Trang 30KQML có thể mở rộng cho các kiểu thông điệp mới Vỡ vậy, nú cú thể cú nhiều hỡnh thỏi khỏc nhau
2.3.3 Cỳ phỏp KQML
Khung cơ bản của một thông điệp được sử dụng trong quá trỡnh trao đổi thông tin bao gồm các thành phần sau [16]:
Người gửi: Địa chỉ người nhận
Người nhận: Địa chỉ người gửi
Hành động: Người gửi muốn người nhận làm gỡ
Ngụn ngữ: Từ vựng và cỳ pháp mà các bên trao đổi thông tin có thể hiểu Cỏc hàm mó hoỏ và giải mó
Một thông điệp KQML cũng đảm bảo đầy đủ các thành phần này Mỗi thông điệp KQML có thể được gọi là một thể hiện (performative) Một thể hiện được biểu diễn bởi một chuỗi các ký tự ASCII tuân theo cú pháp tựa như ngôn ngữ lập trỡnh LISP (một ngụn ngữ lập trỡnh hướng đối tượng) Cỳ phỏp này cú rất nhiều ưu điểm như: dễ hiểu (vỡ nú gần với ngụn ngữ tự nhiờn), dễ lập trỡnh…
Theo cú pháp đó, mỗi câu lệnh được biểu diễn bởi một cặp “tham số - giá trị” Tuy vậy, không như các hàm trong LISP, các tham số trong KQML được xác định bởi các từ khoá, do đó, chỳng độc lập về thứ tự Các từ khoá này đều được bắt đầu bởi dấu “:”, theo sau là tên từ khoá [15] Dưới đây là một ví dụ về một thông điệp KQML:
(tell : sender SellerAgent : reciver BuyerAgent : in-reply-to id9100.145 : ontology EC.CD : language Prolog : content “price (moto1234, 20)”
)
Cú pháp KQML [15] viết dưới dạng BNF (Backup Norm Form) (hỡnh 2.3) Dạng chuẩn BNF được định nghĩa với cỏc nguyờn tử là cỏc ký tự trong bảng mó
Trang 31ascii(<ascii>), cỏc chữ cỏi (<alphabetic>), cỏc chữ số (<number>), dấu nháy kép (<double-quote>), gạch chéo ngược (<backslash>), dấu cách ()…
Hỡnh 2.2: Biểu diễn cỳ phỏp của KQML dưới dạng BNF
Bảng 2.1 liệt kê một số tham số cơ bản được sử dụng trong KQML [15]
:in-reply-to Hành động phản hồi cho thông điệp trước
:reply-with Hành động phản hồi cho thông điệp hiện tại
:language Ngụn ngữ sử dụng trong content
:ontology Tờn ontology (tập cỏc thuật ngữ trong :content)
Bảng 2.1: Một số từ khoỏ của KQML
2.4 PHƯƠNG PHÁP LUẬN PHÁT TRIỂN HỆ ĐA AGENT
Hiện nay đó cú rất nhiều phương pháp luận phỏt triển hệ đa agent Tuy nhiờn, tất
cả đều dựa trờn một trong ba cỏch tiếp cận sau: dựa trờn trờn Agent và Cụng nghệ agent, phỏt triển từ hướng đối tượng và dựa trờn cụng nghệ tri thức Cựng với cỏc phương phỏp luận phỏt triển hệ đa agent, cũng cú rất nhiều cỏc cụng cụ tiện ớch
<performative> ::= (<word> {:<word><expression>}*)
<expression> ::= <word> | <quotation> | <string> |
(<word><expression>}*)
<word> ::= <character>*
<character> ::= <alphabetic> | <number> | <special>
<special> ::= < | > | = | + | - | | / | & | ^ | - | _ | @ | $ | % | : | | ! | ?
<quotation> ::= „<expr> | „<comma-expr>
<comma-expr> ::= <word> | <quotation> | <string> | ,<comma-expr> |
(<word>{<comma-expr>}*)
<string> ::= “<stringchar>*” | #<digit><digit>*”<ascii>*
<stringchar> ::= \<ascii>| <ascii>-\-<double-quote>
Trang 32được phỏt triển Bảng 2.2 giới thiệu một số công cụ phát triển đang được sử dụng phổ biến nhất hiện nay Luận văn sử dụng phương phỏp luận MaSE ([12], [13]) và cụng cụ agentTool ([11]) để phỏt triển ứng dụng
1 agentTool Air Force Institute of
Phát triển hệ đa agent
và phỏt triển agent
3 Microsoft Agent Microsoft Corparation Active X Tạo agent giao tiếp
Bảng 2.2: Các phương pháp luận và công cụ phát triển hệ đa agent
MaSE (Multiagent System Engineering) là phương phỏp luận để phõn tớch và thiết kế cỏc 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ỳ (Air Force Institute of Technology) MaSE sử dụng một lượng lớn các hỡnh vẽ đồ hoạ để mô tả các mục tiêu hệ thống, các hành
vi, các kiểu agent, và cỏc giao diện giao tiếp agent
Phương pháp luận MaSE là sự chuyên biệt hoá của các phương pháp luận thiết
kế phần mềm truyền thống Các thao tác chung của MaSE được thể hiện trong hỡnh
2.4 Theo đó, MaSE bao gồm hai pha [12]: pha phõn tớch và pha thiết kế
Pha phân tích trong MaSE bao gồm 4 bước:
xác định các mục tiêu (capturing Goals)
xác định các usecase (applying Usecases)
xõy dựng ontology (building Ontolofy)
hoàn thiện cỏc role (redifing Roles)
Trang 33Pha thiết kế cũng có 4 bước:
tạo cỏc lớp Agent (creating Agent classes)
xõy dựng cỏc phiờn hội thoại (constructing Conversations)
kết hợp cỏc lớp Agent (assembling Agent classes)
thiết kế hệ thống (System Design)
Hỡnh 2.3: Cụng cụ agentTool phiờn bản 2.0
Trang 34Hỡnh 2.4: Cỏc pha trong MaSE
Xác định Use Case
Hoàn thiện cỏc Role
Tạo cỏc lớp Agent
Xõy dựng cỏc phiờn hội thoại
Kết hợp cỏc lớp Agent
Sơ đồ Task
Cỏc phiờn hội thoại
Trang 352.4.1 Pha phõn tớch
Bước 1: Xác định mục tiêu
Xác định mục tiêu là bước đầu tiên trong pha phân tích Nó thực hiện việc chuyển một đặc tả yờu cầu hệ thống ban đầu thành một tập cỏc mục tiờu hệ thống
cú cấu trỳc Cỏc mục tiờu thể hiện “cỏi mà hệ thống cần đạt được” và duy trỡ trong
tiến trỡnh phõn tớch và thiết kế Điều này ngược với phân tích hướng đối tượng, các
đối tượng thể hiện “cách để hệ thống thực hiện”
Theo MaSE, mọi hành động trong hệ thống đều phải hỗ trợ một mục tiêu cụ thể Các mục tiêu là các mệnh lệnh thường được diễn đạt như một lời phát biểu cho mục
đích của hệ thống và thường được mô tả bằng câu “Hệ thống sẽ … “
Ngữ cảnh hệ thống ban đầu là tập hợp bất cứ cỏi gỡ mà người phân tích thu được theo nhiều cách khác nhau Ngữ cảnh hệ thống ban đầu là đầu vào của bước xỏc định mục tiêu Kết quả đầu ra của bước này là một lược đồ thứ bậc có cấu trúc các mục tiêu (hỡnh 2.5) Pha xỏc định mục tiờu bao gồm hai bước:
Xác định mục tiêu: chọn lọc ra tập các yêu cầu cơ bản từ ngữ cảnh hệ thống,
mỗi yêu cầu được mô tả bằng một mục tiêu
Xõy dựng cấu trỳc cỏc mục tiờu: tổ chức các mục tiêu đó xỏc định vào một
lược đồ phân cấp dạng cây
Hỡnh 2.5: Lược đồ phân cấp mục tiêu
Trang 36Bước 2: Xác định các Usecase
Usecase mô tả cách thức cư xử mà hệ thống thực hiện trong từng trường hợp cụ thể Các cách thức này xuất phát từ các mong muốn của người dùng Mục tiêu của pha này là để xỏc định một tập các usecase từ ngữ cảnh hệ thống ban đầu và tạo ra một tập các lược đồ tuần tự, giúp người phân tích xác định tập các role (vai trũ) ban đầu và các đường dẫn giao tiếp bên trong hệ thống Usecase xác định các ngữ cảnh
cơ bản mà hệ thống có thể thực hiện Lược đồ tuần tự bắt các usecase như một tập các sự kiện giữa các role tạo nên hệ thống Các chuỗi sự kiện này sau đó đươc sử dụng trong pha phân tích để xác định các nhiệm vụ mà một role cụ thể phải thiết lập Pha này cũng bao gồm 2 bước:
Xác định các usecase: Bước này thực hiện việc trích chọn các usecase từ
cách thức hoạt động của hệ thống Các usecase có thể được lấy ra từ nhiều nguồn khác nhau: đặc tả hệ thống, mong muốn của người dùng Thông thường mỗi mục tiờu đó được xác định trong bước trước sẽ tương ứng với
một usecase Cú hai loại usecase: usecase tớch cực (mô tả các hoạt động bỡnh thường của hệ thống) và usecase tiờu cực (mô tả các hoạt động không
mong muốn của hệ thống) Người phân tích phải xác định được cả hai loại usecase này để có thể xây dựng được một hệ thống hoạt động hiệu quả
Hỡnh 2.6: Lược đồ tuần tự
Xõy dựng lược đồ tuần tự: Lược đồ tuần tự mô tả chuỗi các sự kiện được
truyền qua các role (vai trũ) từ cỏc usecase Hỡnh 2.6 minh hoạ một lược đồ tuần tự Cỏc hỡnh elip chứa tờn cỏc role của hệ thống, mỗi role sẽ cú một
Trang 37đường sống tương ứng (đường thẳng đứng, hướng xuống dưới bắt đầu từ tên role), các đường mũi tên giữa các đường sống biểu diễn các sự kiện được truyền qua các role Thứ tự về mặt thời gian được thực hiện từ đỉnh lược đồ tới cuối lược đồ
Bước 3: Xây dựng Ontology
Ontology ([4], [6], [14]) là tập các khái niệm để biểu diễn tri thức trong các quá trỡnh trao đổi thông điệp thông Nói cách khác, ontology là một miền tri thức chung giữa các agent
Trong MaSE, quỏ trỡnh xõy dựng Ontology bao gồm bốn bước [14]:
Xác định mục đích và phạm vi: Đây là bước đầu tiên trong quá trỡnh xõy
dựng ontology Bước này nhằm mục đích xác định miền giới hạn của tri thức cần trao đổi và trao đổi cái gỡ giữa cỏc agent Giai đoạn này rất quan trọng
vỡ chỳng giỳp cỏc agent cú thể “hiểu” nhau hơn trong quá trỡnh hội thoại
Thu thập dữ liệu: Bước này có nhiệm vụ tỡm kiếm tất cả cỏc dữ liệu cú thể
được sử dụng trong hệ thống Các dữ liệu này thường tập trung vào các danh
từ (thường gọi là tập thuật ngữ) được sử dụng trong miền tri thức của các agent Từ tập các thuật ngữ này, người phân tích chọn ra các danh từ có thể biểu diễn một kiểu dữ liệu nào đó để tạo ra tập các khái niệm ban đầu của ontology
Xõy dựng ontology khởi đầu: Có hai cách để xây dựng ontology khởi đầu:
Kế thừa ontology của hệ thống khác và xây dựng hoàn toàn mới
Hoàn thiện ontology: Đây là bước cuối cùng trong quá trỡnh xõy dựng
ontology Trong bước này, người phân tích sẽ kiểm tra và đánh xem các ontology vừa xõy dựng cú thoả món yờu cầu hệ thống hay khụng Cỏc ontology thoả món sẽ được chọn và được đưa vào lược đồ ontology hệ thống Kết quả của quỏ trỡnh này là một sơ đồ cấp bậc các khái niệm có thể đáp ứng yêu cầu hoạt động của hệ thống
Bước 4: Hoàn thiện cỏc Role
Role là khái niệm dùng để chỉ vai trũ mà cỏc đối tượng cần thực hiện, mỗi đối tượng sẽ có một hoặc nhiều role (vai trũ) nhất định trong hệ thống Để thực hiện các
Trang 38mục tiêu của mỡnh, mỗi role sẽ phải thực hiện một hoặc nhiều nhiệm vụ Trong công cụ agentTool, các role được biểu diễn bằng một hỡnh chữ nhật, trong khi cỏc nhiệm vụ của chỳng được biểu diễn bởi các hỡnh elip Pha này bao gồm hai bước:
Xác định các role: Thông thường, các mục tiêu của hệ thống được ánh xạ
tương ứng 1-1 thành các role, tức là mỗi mục tiêu được xem là một role Mỗi role sẽ thực hiện nhiều nhiệm vụ Sau khi xác định được các nhiệm vụ cho cỏc role, cần phải xác định được các giao thức giao tiếp giữa chỳng (hỡnh vẽ 2.7), các giao thức này có thể được xác định từ tập cỏc usecase
Hỡnh 2.7: Sơ đồ vai trũ và nhiệm vụ
Hỡnh 2.8: Sơ đồ hoạt động bên trong nhiệm vụ
Trang 39Mụ hỡnh cỏc nhiệm vụ hiện tại: Sau khi các role được tạo ra, cần phải xác
định các nhiệm vụ tương ứng cho chúng Thông thường thỡ mỗi role phải thực hiện nhiều nhiệm vụ Mỗi nhiệm vụ của role được mô tả bằng một lược
đồ trạng thái hữu hạn (hỡnh 2.8) bao gồm: các trạng thái, các chuyển tiếp giữa các trạng thái… Trong mỗi lược đồ trạng thái, luôn luôn phải có trạng thái bắt đầu và trạng thái kết thúc
2.4.2 Pha thiết kế
Bước 5: Tạo các lớp Agent
Trong bước này, các lớp agent sẽ được tạo ra từ các role đó được xác định trong bước 4 Kết quả đầu ra của bước này là một lược đồ các lớp agent và các phiên hội thoại (conversation) giữa chúng Để đảm bảo mục tiêu của hệ thống, mỗi role phải được đảm nhiệm bởi ít nhất một agent Tuy nhiên, trong một số trường hợp, một role có thể được nhiều agent đảm nhiệm hoặc ngược lại một agent đảm nhiệm nhiều role
Các phiên hội thoại được xác định từ các quan hệ giữa các role mà các lớp agent tương ứng thực hiện Ví dụ, hai lớp agent A và B lần lượt thực hiện nhiệm vụ trong hai role: role 1 và role 2 Nếu giữa hai nhiệm vụ này có một giao thức xác định thỡ giữa hai lớp Agent này sẽ phải có một phiên hội thoại theo chiều tương ứng
Bước 6: Xây dựng các phiên hội thoại
Mỗi phiên hội thoại (conversation) biểu diễn một phiên giao tiếp giữa hai agent Trong MaSE, mọi liên lạc giữa hai agent bất kỳ đều phải thông qua phiên hội thoại Nhiệm vụ của bước này là thiết kế chi tiết kiến trúc bên trong các phiên hội thoại đó xỏc định trong bước trên
Mỗi lớp hội thoại gồm hai sơ đồ lớp giao tiếp: một cho bên khởi xướng và một cho bên đáp ứng Mỗi sơ đồ truyền thông được xem như là một sơ đồ trạng thái hữu hạn tương tự như các sơ đồ nhiệm vụ ở bước 4 Có hai điểm khác biệt trong việc thiết kế sơ đồ phiên hội thoại so với việc phân tích thiết kế sơ đồ nhiệm vụ:
Tại cỏc trạng thỏi: Phải xác định cụ thể tên các hàm và các tham số
Tại các chuyển tiếp của sơ đồ: Phải chi tiết hoá các hàm, thông điệp chuyển
Trang 40Sau khi xác định các phiên hội thoại, cần phải kiểm tra tính hợp lệ của chỳng Mỗi phiên hội thoại được coi như hợp lệ nếu thoả món cỏc điều kiện sau:
Trong mỗi sơ đồ của phiên hội thoại, khụng cú cỏc vũng lặp vụ hạn, tức là nếu cú chu trỡnh trong mỗi phiờn hội thoại thỡ cần phải cú điều kiện dừng và điều kiện dừng này phải có khả năng xảy ra
Mỗi lớp agent phải có ít nhất một phiên hội thoại và tại mỗi thời điểm trong phiên hội thoại, nó chỉ được ở trong một trạng thái xác định
Tất cả các trạng thái trong phiên hội thoại đều có thể được sử dụng, tức là không có trạng thái nào không bao giờ được sử dụng
Mỗi thông điệp gửi đi thỡ đối tác phải có khả năng nhận và xử lý thông điệp
đó
Bước 7: Kết hợp các agent
Sau khi đó cú cỏc lớp agent và cỏc lớp hội thoại tương ứng cho chúng Để hệ thống có thể hoạt động một cách hiệu quả, cần phải kết hợp các agent này lại theo một lược đồ xác định Mục đích của bước này là tạo ra một lược đồ như vậy Bước này bao gồm hai bước con:
Thiết kế kiến trỳc: Để thiết kế kiến trúc bên trong giữa các agent, người thiết
kế có thể tự thiết kế hoặc chọn một kiến trúc có sẵn Trong trường hợp tự thiết kế, người thiết kế có thể dựa vào các thành phần từ các nhiệm vụ và các role mà các lớp agent tương ứng đảm nhiệm
Thiết kế cỏc thành phần: Bước này thiết kế chi tiết từng thành phần con của
kiến trúc tổng thể đó được xác định Quá trỡnh này được hoàn thành sau khi các lớp đó xỏc định được các thuộc tính và các phương thức riêng cho mỡnh
Bước 8: Thiết kế hệ thống
Nhiệm vụ của bước này là xây dựng một lược đồ phát triển hệ thống Lược đồ phát triển hệ thống xác định vị trí, nhiệm vụ của từng agent tham gia hệ thống Mỗi hệ thống con sẽ cú một mỏy chủ (server) cú khả năng hoạt động liên tục trong thời gian chạy ứng dụng Trong mỗi hệ thống này sẽ có một số các agent hoạt đông với từng mục tiêu cụ thể Các agent của các lớp agent khác nhau sẽ tương tác