Quan hệ kế thừa

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức (Trang 35)

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

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

2.3.2 Quan hệ kế thừa

Quan hệ kế thừa giữa hai role r1 và r2 cho biết role này thừa hưởng toàn bộ tập yêu cầu khởi đầu, khả năng và hành vi của role kia, role này là sự tổng quát hoá của role kia. Ký hiệu r1 extend r2.

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

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

(ii)Tính chất bắc cầu (r1, r2, r3) R: ((r1 extend r2) (r2 extend r3) (r1 extend r3) )

Quan hệ kế thừa xét trên các tập r1 = <Q1, C1, B1> và r2 = <Q2, C2, B2>:

r1 extend r2: Q2 Q1 C2 C1 B2 B1

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

Xét trong hệ thống đấu giá nhiều sản phẩm, các role English Bidder, Dutch Bidder ... là kế thừa từ role Bidder, các role English Auctioner, Dutch Auctioner ... là kế thừa từ Auctioner. Trong trƣờng hợp này, các role Bidder và Auctioner là trừu tƣợng. Khi một agent tham gia hệ thống với vai trò ngƣời mua thì sẽ đƣợc gán role Bidder, tuy nhiên, tùy thuộc vào sản phẩm và phiên đấu giá cụ thể thì agent đó sẽ nhận đƣợc role tƣơng ứng (English Bidder, Dutch Bidder ... ) và khi đó mới thực sự có khả năng thực hiện các hành vi nhƣ trả giá, thay đổi giá ... Xem xét quan hệ kế thừa giữa các role thể hiện qua các tập <Q, C, B> trong Bảng 2.3.

Tên role Bidder English Bidder

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

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

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

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

Quan hệ loại trừ giữa hai role r1 và r2 cho biết hai role này không thể gán cho một agent tại cùng một thời điểm. Ký hiệu r1 not r2. Quan hệ này là tập con của R R và thoả mãn các tính chất:

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

(ii)Tính chất đối xứng: (r1, r2) R: (r1 not r2 r2 not r1)

Quan hệ loại trừ biểu diễn trên r1 = <Q1, C1, B1> và r2 =<Q2, C2, B2>:

r1 not r2: Q1  Q2 = 

r1 Incompatitive(r2)

Xét trong hệ thống đấu giá nhiều sản phẩm, quan hệ loại trừ xuất hiện giữa role Manager với Bidder, giữa Manager với Auctioner (đã nhận vai trò quản lý

chung thì không nhận vai trò ngƣời mua hoặc bán). Khi xét trên một sản phẩm cụ thể thì đã là ngƣời bán sản phẩm đó thì cũng sẽ không thể là ngƣời mua sản phẩm đó. Tức là hai role Bidder và Auctionner (và các role con của nó) cũng có quan hệ loại trừ nhƣng chỉ trên một sản phẩm cụ thể chứ không xác định đƣợc ngay trên

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

Với biểu diễn role trong XML, ta cần thêm thẻ Incompatitive cho biết các role không tƣơng thích với role đang xét. Hình 4 biểu diễn hai role: Manager và English Bidder, qua đó thể hiện quan hệ loại trừ.

<?xml version="1.0" encoding="UTF-8"?> <role xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:noNamespaceSchemaLocation="XRole.xsd"> <name>English bidder</name> <context>auction</context> <description>

This role is the bidder of an English auction. </description> <keyword>auction</keyword> <keyword>bidder</keyword> ... <require> <name>account</name>

<description>has a valid account to bid</description> </require> … <capacity> <name>join</name> <description>join an auction</description> </capacity> <capacity> <name>re_bid</name>

<description>make more than one bid</description> </capacity>

….

<behavior>

<name>E_bid</name>

<description>Makes a English bid.</description> <content> <description>Bid.</description> <type>Price</type> </content> </behavior> <behavior> <name>Re_bid</name>

<description>Makes a new bid with higer price. <?xml version="1.0" encoding="UTF-8"?> <role xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:noNamespaceSchemaLocation="XRole.xsd"> <name>Manager</name> <context>auction</context> <description>

This role is the manager of all auctions. </description> <keyword>auction</keyword> <keyword>manager</keyword> ... <require> <name>admin account</name>

<description>has a valid admin account to manage </description> </require> … <capacity> <name>creating</name> <description>creat an auction</description> </capacity> <capacity> <name>assigning</name>

<description>assign role to agent</description> </capacity>

….

<behavior>

<name>create</name>

<description>creat an auction for an auctioner </description>

</behavior> <behavior>

<name>assign</name>

<description>assign suitable role to agent </description>

</behavior>

<incompatitive> bidder </incompatitive> <incompatitive> auctioner </incompatitive>

</description> <content> <description>Higher Bid.</description> <type>Price</type> </content> </behavior>

<incompatitive> manager </incompatitive> <incompatitive> notifier </incompatitive>

…. </role>

</role>

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

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

Quan hệ này là tập con của R R và thoả mãn các tính chất: (i) Tính chất phản xạ r R: (r and r)

(ii)Tính chất bắc cầu (r1, r2, r3) R: ((r1 and r2) (r2 and r3) (r1 and r3) )

Quan hệ này đƣợc biểu diễn trên r1 = <Q1, C1, B1> và r2 =<Q2, C2, B2>:

r1 and r2: Q1  Q2

Có thể hiểu quan hệ yêu cầu là: nếu tập yêu cầu ban đầu của role r2 có chứa toàn bộ các tập yêu cầu của role r1 thì một agent đảm nhiệm role r2 đƣơng nhiên đảm nhiệm role r2.

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

có quan hệ yêu cầu (agent đã đảm nhiệm role Manager thì cũng đảm nhiệm luôn

Tên role Manager Notifier

Q Has an admin

account

Has an admin account

C Creating an auction, assigning role

Notifying

B Create, assign Notify

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

2.3.5 Quan hệ thêm vào

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

Quan hệ này là tập con của R R và thoả mãn các tính chất: (i) Tính chất phản xạ r R(r add r)

(ii)Tính chất đối xứng: (r1, r2) R: (r1 add r2 r2 add r1)

Quan hệ này đƣợc biểu diễn trên r1 = <Q1, C1, B1> và r2 =<Q2, C2, B2>:

r1 add r2: B1 B2 = 

r1  Incompatitive(r2)

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

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

vào (nếu xét trên các sản phẩm khác nhau). Các role con thuộc các kiểu này cũng có quan hệ thêm vào (một ngƣời mua có thể cùng một lúc tham gia nhiều phiên đấu giá hoặc cũng có thể vừa đóng vai trò ngƣời mua, vừa đóng vai trò ngƣời bán (nhƣng phải trong các phiên đấu giá khác nhau)).

2.3.6 Quan hệ trộn

Quan hệ trộn giữa hai role cho biết: tập hành vi của hai role “chồng” lên nhau và hai role có thể cùng được gán cho một agent nhưng khi kết hợp thì sẽ cho một role khác với hai role đơn lẻ ban đầu. Ký hiệu r1merge r2. Quan hệ này là tập con của R R và thoả mãn tính chất đối xứng (r1, r2) R: (r1 merge r2 r2 merge r1)

Quan hệ này đƣợc biểu diễn trên r1 = <Q1, C1, B1> và r2 =<Q2, C2, B2>:

r1 merge r2: B1 B2 

role mới đƣợc tạo ra r* = r1 merge r2 thì: Q* = Q2 Q1

C* = C2  C1 B* = B2 B1

Trong hệ thống đấu giá chúng ta đang xét thì không có trƣờng hợp quan hệ trộn nào. Chúng ta có thể xét một ví dụ thực tế khác nhƣ sau: (tham khảo từ [11]) giả sử một sinh viên của một trƣờng đại học có role là Student, các giảng viên

trong Khoa là Staff_Member. Khi sinh viên là nghiên cứu sinh (PhD Student) thì

hoàn toàn có thể nhận role Staff_Member. Hai role này kết hợp lại với nhau sẽ tạo ra một role mới với những sự khác biệt với bản thân hai role ban đầu. Cụ thể:

 Mặc dù là Staff_Member nhƣng nghiên cứu sinh không thể truy nhập các

thông tin nội bộ của Khoa, của Trƣờng.

 Mức thu nhập và các quyền lợi liên quan của nghiên cứu sinh tham gia giảng dạy sẽ khác với sinh viên khác nhƣng cũng khác với các

Staff_Member khác.

2.3.7 Quan hệ lãnh đạo

Quan hệ lãnh đạo giữa hai role cho biết một role cho phép agent đảm nhiệm nó được phép cấp phát role kia cho agent khác. Ký hiệu r1 lead r2. Quan hệ này là tập con của R R và thoả mãn tính chất duy nhất: tức là trong một hệ thống, nếu có, chỉ có một role lãnh đạo các role khác (gọi là Leader) và chỉ có duy nhất một agent quản lý chung được phép đảm nhận role này.

Quan hệ này đƣợc biểu diễn trên r1 = <Q1, C1, B1> và r2 =<Q2, C2, B2> thì

nếu r1 lead r2 thì trong C1 có khả năng gán role cho agent khác còn tập B1 sẽ có các hành vi liên quan đến quản lý thư viện role và gán role.

Trong hệ thống đấu giá mà chúng ta đang xét: role Manager (quản lý chung) có thể xem là một Leader Role và sẽ có quan hệ lãnh đạo các role khác.

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

Mô hình biểu diễn role theo kiểu hình thức sử dụng bộ <Q, C, B> đã đƣợc đƣa ra trong [6] bởi nhóm Zambonelli. Vấn đề biểu diễn role sử dụng XML (XRole) đã đƣợc đƣa ra trong [3], [4], [6]. Tuy nhiên trong các tài liệu này, nhóm Zambonelli chƣa mô hình hoá cụ thể các dạng quan hệ có thể có trên tập role. Các định nghĩa role bằng XML trong XRole chƣa biểu diễn các yêu cầu khởi đầu của role và chƣa biểu diễn đƣợc các role không tƣơng thích.

Một số quan hệ giữa các role đã đƣợc nhóm H. Xu và X. Zhang đƣa ra trong [23, 24] (quan hệ kế thừa, quan hệ lãnh đạo, quan hệ không tƣơng thích ...). Tuy nhiên những quan hệ này chƣa xác định rõ ràng sự liên quan lẫn nhau giữa các thành phần biểu diễn role trên mỗi quan hệ.

Tập đại số quan hệ trên role với các quan hệ nhƣ: bằng nhau, trộn, loại trừ ... đã đƣợc đƣa ra trong [18]. Tuy nhiên nhóm nghiên cứu này không đi sâu phân tích mối liên quan giữa các thành phần bên trong của role với mỗi dạng quan hệ.

Trong chƣơng 2 này, luận văn đã sử dụng định nghĩa mới cuả nhóm Zambonelli về role để xem xét cụ thể các quan hệ trên tập role. Biểu diễn role bằng XML của nhóm Zambonelli cũng đã đƣợc thay đổi, bổ sung để biểu diễn đầy đủ các thành phần của role và các thông tin cần khi mô tả các quan hệ giữa các role.

2.5 Kết chƣơng

Chƣơng 2 đã trình bày khái quát các cách tiếp cận trong mô hình role cho hệ đa agent mở. Luận văn đã đi sâu trình bày chi tiết mô hình role trong BRAIN và biểu diễn dạng XML sau đó áp dụng mô hình này để xây dựng các quan hệ trên tập role. Các tính chất của mỗi quan hệ cũng đã đƣợc xem xét.

CHƢƠNG 3

KỸ THUẬT GÁN ROLE TRONG HỆ ĐA AGENT MỞ

Nội dung của chƣơng 3 sẽ trình bày các cách tiếp cận trong việc gán role cho hệ đa agent mở. Dựa trên mô hình biểu diễn role và các quan hệ trên tập role ở chƣơng 2, luận văn sẽ đề xuất một thuật toán gán role trong mô hình tổ chức có agent lãnh đạo.

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

Thiết kế và xây dựng hệ đa agent mở dựa trên role đang là chủ đề đƣợc quan tâm nghiên cứu rộng rãi ([2..25]). Một trong những vấn đề quan trọng nhất là làm thế nào để gán role và huỷ gán role cho các agent trong hệ thống. Nhiều cách tiếp cận khác nhau đã đƣợc đƣa ra nhằm mô hình hoá và đƣa ra kỹ thuật gán role cho agent trong một mô hình tổ chức cụ thể.

Một số cách gán role tiêu biểu là:

 Đối sánh trực tiếp các thành phần của role và agent từ đó lựa chọn role phù hợp cho agent

 Sử dụng biểu đồ UML để mô tả role và các agent có thể đảm nhận

 Sử dụng phƣơng pháp loại trừ dần các role không phù hợp

 Sử dụng role lãnh đạo

 Sử dụng một thành phần trong hệ thống để quản lý và gán role.

Phƣơng pháp gán role theo kiểu đối sánh trực tiếp (matching) đƣợc nhóm nghiên cứu Dignum đƣa ra trong [12] và [13]. Dựa trên định nghĩa hình thức role và agent (sử dụng ngôn ngữ 3APL), các quá trình gán role và huỷ gán role cho agent đƣợc thực hiện dựa trên việc đối sánh trực tiếp các thành phần trong mô tả theo 3APL của agent đang muốn đảm nhiệm role và đặc tả của role đó.

Odell ([20], [21], [22]) đã đƣa ra quan điểm biểu diễn quá trình thay đổi role của các agent dựa trên các biểu đồ UML nhƣ: biểu đồ trạng thái, biểu đồ tƣơng tác dạng tuần tự … Kỹ thuật gán role với biểu đồ UML sẽ có hai đặc trƣng:

 Mỗi role đƣợc xem nhƣ một tập các hành vi mong muốn sẽ đƣợc gán cho agent.

 Quá trình gán role sẽ là một chuyển tiếp trong biểu đồ trạng thái của agent với một trong các dạng: activate, suspend và shift.

Phƣơng pháp gán role sử dụng các hàm đánh giá đƣợc đƣa ra bởi nhóm DeLoach ([4], [5], [6]). Theo mô hình này:

 Mỗi role yêu cầu một tập khả năng (capabilities).

 Các role sẽ đƣợc gán cho các agent thoả mãn các khả năng mà role yêu cầu. Sự thoả mãn sẽ đƣợc đánh giá bởi một giá trị score [0..1].

 Với một mục tiêu cụ thể, hàm achieves: R, GL -> 0 .. 1 sẽ xác định một role hoàn thành một đích (GL) ở mức độ nào.

 Các yêu cầu về khả năng cần có để đảm nhiệm một role đƣợc xác định bởi hàm: requires: R, C Boolean.

Nhóm Karageogos et. al ([18]), dựa trên mô hình role và đại số qua hệ giữa các role, đã đƣa ra một thuật toán gán role với các đặc trƣng:

 Các role sẽ có một tập role không tƣơng thích

 Các agent khi tham gia hệ thống lúc đầu sẽ duyệt cả tập role.

 Các role sẽ loại trừ lẫn nhau dựa trên tính tƣơng thích cho đến khi tìm đƣợc role phù hợp cho agent.

Nhóm H. Xu và X. Zhang ([23], [24]) thì đƣa ra phương pháp ánh xạ A-R để gán role cho agent theo mô hình biểu diễn role đã đƣa ra. Phƣơng pháp ánh xạ này có hai đặc trƣng cơ bản:

 Sử dụng một role đặc biệt là role lãnh đạo. Agent đảm nhiệm role này sẽ tạo ra và quản lý các thể hiện role

 Khi agent mới tham gia hệ thống, agent lãnh đạo sẽ thực hiện gán cho agent phù hợp dựa trên tập ràng buộc, các yêu cầu và tính tƣơng thích giữa các role.

Nhóm Zambonelli et.al ([2], [3], [4], [5], [6]) dựa trên biểu diễn role bằng XML đã đƣa ra phƣơng pháp gán role trong tƣơng tác bằng cách sử dụng một thành phần riêng gọi là Role Loader trong BRAIN Framework.

Nhƣ vậy, các cách tiếp cận của các nhóm nghiên cứu khác nhau đã đƣa ra những kỹ thuật mô hình hoá và gán role rất khác nhau nhƣng đều có một điểm chung. Đó là, kỹ thuật gán role phụ thuộc vào mô hình tổ chức tương ứng trong hệ

thống đó.

Các mô hình tổ chức khác nhau đã đƣợc giới thiệu trong phần 1.3.2 trong đó đã xem xét gán role cho từng dạng tổ chức. Trong các phần tiếp theo của chƣơng 3, luận văn sẽ đƣa ra mô hình tổ chức trong hệ thống thƣơng mại điện tử, đặc điểm nổi bật và vấn đề gán role cho agent trong mô hình tổ chức đó. Dựa trên đặc trƣng của mô hình tổ chức cụ thể đƣợc chọn, phần 3.3 sẽ đƣa ra một thuật toán gán role để áp dụng cho các role đƣợc biểu diễn theo XML.

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

Khi thiết kế một hệ đa agent mở, vấn đề quan trọng đầu tiên là cần xác định mô hình tổ chức phù hợp. Xét riêng với các hệ thống thƣơng mại điện tử, các thành phần tham gia có đích (goal) thƣờng là trái ngƣợc nhau (ngƣời mua, ngƣời bán) nhƣng luôn muốn có xu hƣớng cân bằng để đạt tới lợi ích cao nhất chung của cả hệ thống. Dựa trên các kiểu tổ chức đƣợc mô tả trong phần 1.3.2 thì tổ chức kiểu chợ có thể xem là phù hợp nếu xét trên đặc trƣng về mục tiêu của các agent

trong hệ thống. Tuy nhiên, để quản lý tốt các giao dịch thƣơng mại thì tổ chức kiểu

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Hệ đa agent mở dựa trên mô hình role và tổ chức (Trang 35)

Tải bản đầy đủ (PDF)

(79 trang)