Theo cách tiếp cận này, các thành phần phần mềm thông minh gọi là agent thay mặt ngời sử dụng tìm kiếm hàng hoá, lựa chọn đối tác và tiến hành thơng lợng một cách chủ động theo yêu cầu b
Trang 1Thơng lợng tự động trong thơng mại điện tử
TS.Trần Đình Quế, SV Nguyễn Mạnh Hùng
Khoa Công nghệ thông tin 1
Tóm tắt: Trong những năm gần đây thơng lợng tự động đang trở thành chủ đề đợc quan tâm
nghiên cứu mạnh mẽ trong thơng mại điện tử Trong hệ thống thơng lợng, các thành phần phần mềm (agent) sẽ thay mặt ngời bán và ngời mua tìm kiếm hàng hoá, lựa chọn đối tác và tiến hành thơng lợng một cách chủ động mà không có sự can thiệp của con ngời Bài báo này nhằm trình bày mô hình thơng lợng song phơng với chiến lợc thơng lợng dựa trên quyết định
mờ cho nhiều thuộc tính và nhiều mặt hàng Chiến lợc này đã đợc áp dụng để phát triển hệ dịch vụ du lịch, trong đó các agent thay mặt ngời sử dụng tiến hành thơng lợng đặt mua vé tàu và đặt chỗ khách sạn.
Từ khoá: Thơng mại điện tử, hệ đa agent, thơng lợng song phơng, mô hình ràng buộc mờ.
1 Mở đầu
Thơng mại điện tử đợc hiểu là các hoạt động giao dịch thơng mại đợc thực hiện với sự trợ giúp của công nghệ thông tin và công nghệ truyền thông Tuy nhiên, đây là một định nghĩa mang tính tổng quát Trong thực tế, có thể hiểu thơng mại điện tử là các giao dịch
th-ơng mại đợc thực hiện trên môi trờng Internet Thth-ơng mại điện tử thế hệ thứ nhất đợc biết
đến thông qua các giao dịch trực tuyến [5] trên mạng Internet (không tự động) trong đó ngời bán giới thiệu tất cả các mặt hàng của mình trên một website nhất định và ngời mua có thể truy cập các website này để xem xét, lựa chọn mặt hàng theo nhu cầu của mình Nếu muốn mua một mặt hàng nào đó, ngời mua có thể tiến hành trả giá một cách trực tiếp trên website
và việc thanh toán có thể bằng thẻ tín dụng qua mạng Internet hoặc tại nhà khi ngời mua đợc bàn giao sản phẩm Hình thức này có hai hạn chế [8]: thứ nhất là tốn thời gian của khách hàng; thứ hai là trong trờng hợp khách hàng không có hiểu biết đầy đủ về mặt hàng cần mua thì không thể tự mình tìm kiếm và mua hàng trực tuyến
Trong những năm gần đây, hình thức thơng lợng tự động đã đợc quan tâm nghiên cứu mạnh mẽ ([1], [4-9]) và đợc coi là một cuộc cách mạng trong thơng mại điện tử thế hệ thứ hai so với thế hệ thứ nhất Theo cách tiếp cận này, các thành phần phần mềm thông minh (gọi
là agent) thay mặt ngời sử dụng tìm kiếm hàng hoá, lựa chọn đối tác và tiến hành thơng lợng một cách chủ động theo yêu cầu ban đầu của khách hàng Các agent thơng lợng tự động dựa trên hai yếu tố: các giao thức và các chiến lợc Các giao thức đảm bảo cho các agent hoạt
động tự chủ theo các luật thơng lợng, trong khi đó các chiến lợc hỗ trợ việc thơng lợng thành công và tìm kiếm hàng hoá phù hợp với ngời dùng trong thời gian hạn định nào đó
Tuỳ theo các dạng tơng tác, các mô hình thơng lợng đợc chia thành ba phạm trù chính: Phạm trù thứ nhất bao gồm các mô hình đa phơng-đơn phơng hay đa phơng-đa phơng trong
đó nhiều agent thơng lợng với một hay nhiều agent khác Các mô hình này đợc sử dụng rộng rãi cho một số website nh eBay (http://www.ebay.com) Phạm trù thứ hai bao gồm các mô hình đơn phơng-đơn phơng theo đó từng cặp agent thơng lợng trực tiếp với nhau Các mô hình này sử dụng các phơng háp heuristic để xử lý thông tin không chắc chắn (xem ví dụ [4]) Phạm trù thứ ba bao gồm các mô hình dựa trên lập luận/thuyết phục theo đó các agent
sử dụng những kiểu lập luận khác nhau nh đe doạ, khuyến mãi để thuyết phục đối thủ chấp nhận việc mua bán [6] Trong các phạm trù này, lĩnh vực thơng lợng có thể là đơn thuộc tính (nh giá) hay đa thuộc tính (nh giá, chất lợng, kiểu hàng, bảo hành, )
Bài báo này tập trung xem xét mô hình thơng lợng song phơng với nhiều thuộc tính và
đa chủng hàng hoá Việc thơng lợng đợc tiến hành với chiến lợc ớc lợng dựa trên mô hình ràng buộc mờ để quyết định chọn lựa hàng hoá theo sở thích của ngời dùng Phần còn lại của
Trang 2bài báo đợc cấu trúc nh sau: Phần 2 giới thiệu mô hình chiến lợc của các bên tham gia trong một phiên thơng lợng tự động; Phần 3 giới thiệu một áp dụng cho hệ dịch vụ đặt chỗ du lịch; Phần 4 là kết luận
2 Mô hình hoá thơng lợng tự động
Thơng lợng là một tiến trình đựơc tạo ra bởi hai hay nhiều bên tham gia, mỗi bên tham gia tiến hành đề nghị các yêu cầu và trả lời các yêu cầu cho đối tác nhằm đi đến một thoả thuận chung thoả mãn tất cả các bên [4] Thơng lợng tự động đợc hiểu là quá trình thơng l-ợng đợc diễn ra giữa các agent đại diện cho các bên tham gia, chúng tiến hành đặt yêu cầu và trả lời các yêu cầu một cách tự động mà không cần tới sự trợ giúp của con ngời
Khi nói đến thơng lợng tự động, ngời ta quan tâm đến hai khía cạnh ([5], [6]): thứ nhất
là giao thức thơng lợng đợc sử dụng (tơng tự nh luật thơng lợng, bắt buộc các bên phải tuân theo); thứ hai là chiến lợc nào đợc sử dụng để thơng lợng tự động có hiệu quả Phần tiếp theo
sẽ trình bày hai vấn đề này trên mô hình thơng lợng song phơng
2.1 Giao thức thơng lợng
Giao thức thơng lợng qui định các luật giao tiếp giữa các bên tham gia thơng lợng [5] Chẳng hạn với giao thức thơng lợng kiểu đấu giá (Auction), ngời mua chỉ đợc quyền trả giá cao hơn giá hiện tại của hàng hoá đã đợc trả Đối với các giao thức thơng lợng kiểu song
ph-ơng (Bilateral) hay đa phph-ơng (Multilateral) thì ngời mua có thể đề nghị ngời bán có những nhợng bộ về giá cả hay chất lợng hàng hoá thông qua các thuộc tính Các giao thức th… ơng l-ợng có thể đợc phân chia thành các lớp nh Hình 1 Riêng giao thức đấu giá có nhiều kiểu khác nhau [5]: kiểu của ngời Anh (English) có giá khởi điểm thấp, ngời mua trả giá cao dần lên; kiểu của ngời Hà lan (Dutch) có giá khởi đầu rất cao và đợc hạ dần xuống trong quá trình thơng lợng; kiểu giá ban đầu (First bid) chỉ diễn ra trong một buổi và chấm dứt khi ngời
tổ chức đã gõ triện để kết thúc; kiểu Vickrey tơng tự nh kiểu giá ban đầu nhng ngời thắng cuộc có thể trả giá cao nhất hoặc cao thứ nhì trong cuộc đấu giá
Một áp dụng đợc giới thiệu trong Mục 3 sử dụng giao thức thơng lợng song phơng Trong đó, hai bên tham gia thơng lợng đều có thể có các yêu cầu đề nghị đối tác phải đáp ứng và có những nhợng bộ để đáp ứng lại yêu cầu của đối tác Chiến lợc đa ra các yêu cầu và các nhợng bộ sao cho nhanh chóng tìm đợc thoả thuận chung đồng thời đạt đợc lợi ích cao nhất đối với mỗi bên sẽ đợc thảo luận trong mục tiếp theo
2.2 Chiến lợc thơng lợng
Mô hình thơng lợng song phơng quan tâm tới chiến lợc thơng lợng của cả bên bán lẫn bên mua Mục này sẽ giới thiệu các mô hình chiến lợc thơng lợng cho mỗi bên tham gia dựa trên mô hình bài toán ràng buộc mờ
Hình 1: Phân loại các giao thức thương lượng
Trang 32.2.1 Agent bán
Mỗi agent bán hàng nắm giữ một tập các tri thức bao gồm: tập G = {g1, ,gm} là
các đơn vị hàng hoá mà nó có thể cung cấp, mỗi đơn vị hàng hoá gi có một tập ni thuộc tính
i
i
a1, 2, }, các thuộc tính này đều có thể thơng lợng đợc và mỗi mặt hàng gi có một giá
trị lợi ích ui đợc coi là lợi nhuận thu đợc nếu bán đợc mặt hàng này Tập R = {r1,
r2, ,rk}các ràng buộc đối với ngời mua của mỗi mặt hàng, các ràng buộc này là tuỳ chọn đối với mỗi mặt hàng nên có giá trị Boolean Tập C = {c1,c2, ,ct} các khuyến
mại đối với các mặt hàng, các phần tử của tập này cũng có giá trị Boolean do hình thức khuyến mại có thể có hoặc không đối với mỗi mặt hàng Tập O = {o1,o2, ,ol} các
khách hàng đang thơng lợng với nó, mỗi khách hàng o i bao gồm địa chỉ, các yêu cầu và các hàng hoá đã giới thiệu cho khách hàng tơng ứng Khi đó, tiến trình thơng lợng của agent bán
đối với mỗi khách hàng có thể có các trạng thái đợc minh hoạ nh Hình 2
• Khởi đầu: Bắt đầu cuộc thơng lợng, Agent bán chuyển vào trạng thái chờ đợi các kết
nối từ ngời mua ngay sau khi đã hoàn tất các thủ tục cần thiết để đăng kí vào hệ thống
• Chờ đợi: Trạng thái này chờ đợi các phản ứng từ phía khách hàng Tuỳ vào nội dung các
thông điệp từ khách hàng mà agent bán chuyển vào những trạng thái cần thiết
• Cập nhật: trạng thái này bắt đầu khi agent bán nhận đợc thông điệp “find” từ khách
hàng Khi đó, nó cập nhật các yêu cầu của khách hàng vào biến oi tơng ứng (có thể là yêu cầu thêm hoặc nhợng bộ) và chuyển sang trạng thái Tìm kiếm.
• Tìm kiếm: trạng thái này đợc bắt đầu khi agent bán nhận đợc thông điệp “refind” hoặc
chuyển từ trạng thái Cập nhật Tại đây, agent bán tìm kiếm mặt hàng thoả mãn các yêu
cầu của khách hàng trong biến khách hàng o i tơng ứng, nếu có nhiều hơn một mặt hàng thoả mãn, nó chọn mặt hàng nào có giá trị lợi nhuận ui cao nhất và chuyển sang trạng thái Ràng buộc Nếu không tìm thấy mặt hàng nào thoả mãn, nó chuyển sang trạng thái Khuyến mại.
• Ràng buộc: Nếu tìm thấy mặt hàng thoả mãn yêu cầu của khách hàng, agent bán vào
trạng thái này để kiểm tra xem mặt hàng vừa tìm đợc có ràng buộc nào đối với ngời mua hay không (chẳng hạn ngời mua phải là vị thành niên, là nam hoặc nữ, độc thân hoặc có gia đình ), các ràng buộc này nằm trong tập … R Sau khi bổ sung các ràng buộc vào mặt
hàng, agent bán sẽ gửi thông điệp “check” kèm theo mặt hàng này để hỏi xem ngời mua
có chấp nhận đợc mặt hàng này không
• Khuyến mại: Nếu không tìm thấy mặt hàng náo thoả mãn khách hàng, agent bán sẽ
chuyển vào trạng thái khuyến mại Tại đây, nó kiểm tra xem đã có mặt hàng nào đợc giới thiệu cho khách hàng hay cha (tìm trong tập O phần tử o i tơng ứng) Nếu cha có, nó sẽ
Hình 2: Sơ đồ trạng thái thương lượng của agent bán
Trang 4gửi thông điệp “relax” đề nghị ngời mua giảm bớt một mức độ của thuộc tính vừa yêu cầu Nếu đã có, nó lại kiểm tra tiếp xem mặt hàng đó đã đợc giới thiệu kèm khuyến mãi trớc đây hay cha Nếu đã giới thiệu thì bây giờ nó không còn gì mới nên phải gửi thông
điệp “relax” nh trên Nếu cha giới thiệu, nó sẽ giới thiệu mặt hàng này kèm theo hình thức khuyến mãi với thông điệp “check” yêu cầu khách hàng xem có chấp nhận đợc hay không
Quá trình trên có thể lặp lại nhiều lần với các thay đổi từ phía khách hàng và chỉ kết thúc khi agent bán nhận đợc thông điệp “deal” báo chấp nhận của khách hàng hoặc thông điệp “fail” báo kết thúc thất bại khi khách hàng không thể giảm yêu cầu của mình thêm nữa Trong tr-ờng hợp kết thúc thành công, agent bán phải cập nhật lại số lợng mặt hàng tơng ứng trong tập
G và lu thông tin ngời mua lại cho công tác thống kê sau này Nếu kết thúc thất bại, nó chỉ loại bỏ thông tin về khách hàng từ phần tử o i tơng ứng
2.2.2 Agent mua
Mô hình chúng ta quan tâm là thơng lợng kiểu song phơng nên một agent mua chỉ đợc thơng lợng với một agent bán (nhng một agent bán có thể thơng lợng đồng thới với nhiều agent mua) Do đó, mỗi agent mua cần có các tri thức nh sau: tập P = {p1, ,pn} các
ràng buộc tơng ứng với các thuộc tính của hàng hoá, các ràng buộc này có thể là ràng buộc
đối với một thuộc tính hoặc có thể là ràng buộc đối với nhiều thuộc tính, và mỗi ràng buộc pi
có một độ u tiên thoả mãn ui khác nhau; nếu một thuộc tính có nhiều giá trị thì mỗi giá trị cũng có độ u tiên về mức độ thoả mãn j
i
pp khác nhau Một giá trị α gọi là ngỡng chấp nhận đối với khách hàng, nghĩa là mặt hàng chỉ đợc chấp nhận khi độ thoả mãn tính đợc không vợt quá ngỡng này Tất cả các thông tin này đợc thu thập thông qua một giao diện trực tiếp với khách hàng Các trạng thái thơng lợng của agent mua đợc minh hoạ nh hình 3
• Lựa chọn: đợc coi nh trạng thái khởi đầu cho thơng lợng Tại đây, agent mua khởi động
một phiên thơng lợng bằng cách chọn một trong các ràng buộc pi có độ u tiên thoả mãn
ui lớn nhất Sau đó, nó gửi các ràng buộc này đến agent bán với thông điệp “find” với mong muốn agent bán tìm kiếm mặt hàng thoả mãn ràng buộc pi này
• Kiểm tra: sau khi nhận đợc thông điệp “check” từ agent bán, agent mua sẽ chuyển vào
trạng thái này để kiểm tra xem mặt hàng nhận đợc có thoả mãn các ràng buộc còn lại trong tập P hay không Việc kiểm tra này chỉ đơn thuần xem giá trị các thuộc tính của mặt
Hình 3: Sơ đồ trạng thái thương lượng của agent mua
Trang 5hàng có nằm trong tập giá trị ràng buộc của các thuộc tính tơng ứng hay không Nếu có ít nhất một ràng buộc bị vi phạm, nó chuyển sang trạng thái Ràng buộc Nếu không có ràng
buộc nào bị vi phạm, nó chuyển sang trạng thái Duyệt.
• Duyệt: mặt hàng nhận đợc không vi phạm các ràng buộc của khách hàng, nhng không thể
chắc chắn rằng mặt hàng đó đợc khách hàng chấp nhận Để kiểm tra khả năng này, agent mua sử dụng các kỹ thuật mờ để tính toán độ thoả mãn của mặt hàng tơng ứng đối với yêu cầu của khách hàng theo các bớc nh sau
max
u
u i
chuyển đổi độ phù hợp tơng đơng nếu nó thoả mãn các điều kiện [8]:
1 G(u 1 , a) ≥ G(u 2 , a) nếu u 1 ≤ u 2 ;
2 G(u, a 1 ) ≤ G(u, a 2 ) nếu a 1 ≤ a 2 ;
3 G(1, a) = a;
4 G(0, a) = 1.
Trong áp dụng trình bày ở Phần 3, hàm chuyển đổi độ quan trọng đợc sử dụng là hàm
1 ) 1 ( )
,
(u a = a− u+
buộc tổng thể của mặt hàng Để tính đợc độ chấp nhận mặt hàng của agent mua, cần phải tính các giá trị thoả mãn ràng buộc đối với bên bán và độ thoả mãn khuyến mãi.
- Tính độ thoả mãn ràng buộc đối với agent bán: vì bên bán có thể có một số ràng buộc đối với ng ời
với mặt hàng.
với agent mua nếu nó thoả mãn các điều kiện sau [8]:
kiện sau [8]:
2 a⊕b≥max( b a, ) với ∀a,b∈(α,1];
3 a⊕b≤min( b a, ) với ∀a,b∈[0,α);
Trong áp dụng ở Phần 3, toán tử đồng nhất đợc sử dụng là:
) 1 )(
1 ( )
1 (
) 1 (
b a ab
ab b
a
−
− +
−
−
=
⊕
α α
α
.
Khi đó, nếu độ chấp nhận mặt hàng ad lớn hơn ngỡng chấp nhận α của khách hàng thì agent mua chấp nhận mặt hàng bằng cách gửi đi thông điệp “deal” và kết thúc giai đoạn thơng lợng Nếu ngợc lại, độ thoả mãn của mặt hàng nhỏ hơn ngỡng α thì mặt hàng bị
Trang 6loại bỏ và agent mua yêu cầu agent bán tìm mặt hàng khác theo các ràng buộc cũ với thông điệp “refind” (không bổ sung thêm ràng buộc mới)
• Ràng buộc: khi mặt hàng nhận đợc có ít nhất một vi phạm đối với các ràng buộc trong P,
agent mua chuyển vào trạng thái này Tại đây, nó bổ sung các ràng buộc bị vi phạm vào tập các yêu cầu gửi đi agent bán cùng với thông điệp “find” để yêu cầu tìm kiếm mặt hàng thoả mãn các yêu cầu đã đợc bổ sung này
• Duyệt lại: nếu nhận đợc thông điệp “relax”, agent mua sẽ chuyển vào trạng thái này
Thông điệp “relax” có ý nghĩa yêu cầu agent mua giảm bớt mức độ đối với ràng buộc bổ sung sau cùng trớc đó Do vậy, agent mua sẽ kiểm tra lại xem ràng buộc đó có thể giảm
đ-ợc nữa hay không Một ràng buộc p i có thể giảm thêm đợc khi độ thoả mãn j
i
pp (giảm
lần thứ j) vần còn lớn hơn ngỡng nhợng bộ λ Sau khi kiểm tra, nếu còn giảm đợc, agent mua sẽ chuyển sang trạng thái Nhợng bộ Nếu không còn giảm đợc nữa, agent mua sẽ gửi
đi thông điệp “fail” để thông báo huỷ bỏ cuộc thơng lợng với agent bán
• Nhợng bộ: tại đây, agent mua sẽ giảm ràng buộc đợc đề nghị p i xuống một mức theo đơn
vị của thuộc tính tơng ứng (khi đó, độ u tiên j
i
pp cũng giảm theo) Sau đó, gửi ràng buộc
đợc thay đổi này đến agent bán với thông điệp “find” yêu cầu agent bán tìm kiếm mặt hàng theo các ràng buộc đã thay đổi
Vì việc thơng lợng có thể diễn ra trên nhiều thuộc tính, có nghĩa là có thể có nhiều thuộc tính cần nhợng
bộ Tuy nhiên, agent mua phải ớc lợng để chọn ra mỗi lần chỉ nhợng bộ trên một thuộc tính sao cho giá trị lợi ích của mình bị giảm là nhỏ nhất Khi đó, agent mua tính giá trị lợi ích bị mất dựa trên độ thoả
4 T(u,0)=0
Nh vậy, với mỗi bên tham gia thơng lợng, đều có hai trạng thái kết thúc: thành công hoặc thất bại Việc quyết định thành công hay thất bại đều do bên agent mua chấp nhận hay không chấp nhận mặt hàng của agent bán Điều này là phù hợp với thực tế khi thơng lợng kết thúc là do ngời mua quyết định có mua hay không
3 áp dụng hệ dịch vụ du lịch
3.1 Kiến trúc của hệ thống
Bài toán đặt ra nh sau: Một ngời muốn đi du lịch (hoặc công tác) ngắn ngày tại một thành phố trong nớc Do hạn chế thời gian nên thay vì tìm kiếm và đặt chỗ trực tiếp vé tàu đi
về và khách sạn sẽ ở trong thời gian đó, ngời này sử dụng dịch vụ đặt chỗ trọn gói qua mạng Khi đó, ngời này chỉ phải khai báo các thông tin yêu cầu về loại vé tàu và phòng ở trong khách sạn, sau một thời gian hạn định, ngời đó sẽ nhận đợc đầy đủ thông tin về các dịch vụ
t-ơng ứng theo yêu cầu.
Hệ thống này đợc phân tích và thiết kế dựa trên phơng pháp luận MaSE và agentTool MaSE (Multiagent Systems Engineering) là phơng pháp luận cho phát triển các hệ đa agent
và agentTool là bộ công cụ hỗ trợ phơng pháp luận này (xem chi tiết [2]) Hệ thống đợc thiết
kế gồm bốn lớp agent: UserAgent là lớp agent đại diện cho ngời mua, HotelAgent là lớp agent quản lý và cung cấp phòng ở khách sạn, TrainAgent là agent quản lý và cung cấp thông tin vé cho các chuyến tàu và MidAgent là agent môi giới thơng lợng giữa UserAgent với các agent bán là HotelAgent và TrainAgent Kiến trúc hệ thống đợc minh hoạ nh hình 4
Trang 7Hoạt động của hệ thống đợc tóm tắt nh sau: Mỗi agent bán kiểu HotelAgent và TrainAgent đại diện cho nhà cung cấp các dịch vụ khách sạn và tàu hoả tơng ứng tại mỗi thành phố Khi tham gia vào hệ thống, chúng phải đăng kí với MidAgent các thông tin bao gồm địa chỉ và khả năng cung cấp dịch vụ của mình Mỗi UserAgent đại diện cho một khách hàng, khi tham gia vào hệ thống phải đăng kí với MidAgent để nhận đợc địa chỉ các nhà cung cấp dịch vụ khách sạn và tàu hoả tại thành phố nó định đến, để tiến hành thơng l-ợng Sau khi nhận đợc địa chỉ HotelAgent và TrainAgent, UserAgent sẽ tiến hành thơng lợng với các agent bán này theo chiến lợc và giao thức đã đợc giới thiệu trong Phần 2 Trớc hết UserAgent sẽ thơng lợng với TrainAgent theo yêu cầu nh ngày đi, chuyến tàu, loại vé, để chọn vé tàu mong muốn; sau đó nó tiếp tục tiến hành thơng lợng với HotelAgent để chọn chỗ ở khách sạn mong muốn UserAgent còn có nhiệm vụ tích hợp thông tin và gửi lại cho ngời sử dụng (xem chi tiết trong [10]) Phần tiếp theo dành trình bày quá trình thơng lợng giữa các agent
3.2 Quá trình thơng lợng
Do khuôn khổ hạn chế của bài báo nên phần này sẽ chỉ tập trung minh hoạ quá trình thơng lợng đặt chỗ khách sạn giữa bên mua là UserAgent và bên bán là HotelAgent Giả sử UserAgent đại diện cho một khách hàng muốn đi công tác tại Thành phố Hồ Chí Minh trong 3 ngày Các yêu cầu của khách hàng đối với khách sạn bao gồm 5 tiêu chí là {Số sao khách sạn, giá phòng khách sạn, số giờng trong phòng, khoảng cách từ khách sạn
đến trung tâm thành phố, và kết nối Internet}, độ u tiên với các tiêu chí này tơng ứng là {2,
4, 1, 3, 5} Ngỡng chấp nhận α =0.95 và ngỡng nhợng bộ là λ =0.5 cho tất cả các tiêu chí trên Độ thoả mãn với các giá trị khác nhau của từng thuộc tính đợc cho trong các bảng 1 đến 5
Hình 4: Kiến trúc hệ thống
Trang 8Độ thoả mãn đối với các hình thức khuyến mại “Miễn phí điện thoại nội hạt” và “Tặng quà may mắn” lần lợt là 80% và 20% HotelAgent quản lí khách sạn khu vực Thành phố HCM có các khách sạn với các thuộc tính nh bảng 6
Sau khi đợc MidAgent môi giới, UserAgent bắt đầu tiến trình thơng lợng với HotelAgent thee các vòng lặp nh sau
Vòng 1
UserAgent: chọn ràng buộc có độ u tiên cao nhất là “có Internet”, gửi đi cùng với thông điệp
kiểu “find”
HotelAgent: Khi nhận đợc thông điệp “find” Nó cập nhật yêu cầu {internet} vào tri thức của
mình và tiến hành tìm kiếm khách sạn thoả mãn yêu cầu này Theo bảng 6, có các khách sạn {k 2 , k 3 , k 6 , k 7 , k 8} thoả mãn Nhng k 2 có giá trị lợi ích cao hơn (trong ứng dụng này, giá trị lợi
ích đợc tính là 2% giá phòng khách sạn môi giới đợc) Do đó, HotelAgent sẽ gửi thông
điệp “check” kèm với khách sạn k 2 bao gồm các thông tin {số sao = 5, giá phòng = 400, số giờng = 2, khoảng cách = 4, có internet}.
Bảng 1: Độ thoả mãn thuộc
tính “giá phòng” Bảng 2: Độ thoả mãn thuộc tính “khoảng cách”
Bảng 3: Độ thoả mãn
thuộc tính “Số sao” thuộc tính “Bảng 4: Độ thoả mãn Số giường” Bảng 5: Độ thoả mãn thuộc tính “Internet”
Trang 9Vòng 2
UserAgent: Nhận đợc thông điệp “check”, nó kiểm tra xem có bị vi phạm ràng buộc nào
không Phát hiện có vi phạm giá phòng = 400 > 300 Nó bổ sung yêu cầu {giá phòng ≤
300} và gửi đi cùng với thông điệp “find”.
HotelAgent: Nhận thông điệp “find”, nó cập nhật lại yêu cầu và tìm kiếm lại theo yêu cầu
{có Internet, giá phòng ≤300} Có các khách sạn {k 6 , k 8} thoả mãn, nhng k 6 có lợi ích lớn hơn nên nó gửi k6 {số sao = 3, giá phòng = 300, số giờng = 2, khoảng cách = 2, có Internet}
kèm thông điệp “check”
Vòng 3
UserAgent: kiểm tra thấy vi phạm: số sao = 3 <4 Bổ sung yêu cầu {số sao ≥4} và gửi theo
thông điệp “find”
HotelAgent: cập nhật lại yêu cầu, tìm kiếm theo yêu cầu mới {có Internet, giá phòng ≤300,
số sao ≥4} Nhng không có khách sạn nào thoả mãn Vì trớc đây cha có khách sạn nào bị
gửi lại với thông điệp “refind” nên nó gửi thông điệp “relax” mà không phải vào trạng thái
khuyến mại.
Vòng 4
UserAgent: Nhận thông điệp “relax”, nó duyệt lại xem có thể nhợng bộ những thuộc tính nào
đã gửi đi đồng thời kiểm tra giá trị lợi ích bị mất nếu nhợng bộ trên từng thuộc tính Các thuộc tính có thể nhợng bộ:
1 Internet: nhợng bộ từ 1 xuống 0: T= (1 - 0)*(5/5) = 1
2 Giá phòng: nhợng bộ từ 300 lên 310: T = (1 0.9)*(4/5) = 0.08–
3 Số sao: nhợng bộ từ 4 xuống 3: T = (1 - 0.7)*(2/5) = 0.12
Do đó, nó chọn nhợng bộ là giá phòng do giá trị lợi ích bị mất là nhỏ nhất Nó bổ sung yêu cầu {giá phòng 310≤ } và gửi đi thông điệp “find”
HotelAgent: cập nhật lại yêu cầu và tìm kiếm theo yêu cầu mới là {có Internet, giá phòng
310
≤ , số sao ≥4} Vì chỉ có khách sạn k 7 thoả mãn nên nó giới thiệu k 7 {số sao = 4, giá phòng = 310, số giờng = 1, khoảng cách = 6, có Internet} kèm theo thông điệp “check”.
Vòng 5
UserAgent: kiểm tra thấy có hai vi phạm: số giờng = 1 <2 và khoảng cách = 6 > 5 Nó bổ
sung yêu cầu {số giờng ≥2, khoảng cách ≤ 5} và gửi kèm thông điệp “find”.
HotelAgent: cập nhật yêu cầu, yêu cầu hiện tại là {có Internet, giá phòng ≤310, số sao ≥4,
số giờng ≥2, khoảng cách ≤5} Vì không có khách sạn nào thoả mãn, và cũng cha có khách
sạn nào đợc trả lại kèm thông điệp “refind” nên HotelAgent sẽ gửi đi thông điệp “relax”
Vòng 6
UserAgent: Kiểm tra các khả năng nhợng bộ:
Bảng 6: Các khách sạn có thể phục vụ
Trang 101 Internet, nhợng bộ từ 1 xuống 0: T = (1 - 0)*(5/5) = 1
2 Giá phòng, nhợng bộ từ 310 lên 320 (đã nhợng một lần): T = (1 0.8)*(4/5) = 0.16–
3 Số sao, nhợng bộ từ 4 xuống 3: T = (1 0.7)*(2/5) = 0.12–
4 Số giờng, nhợng bộ từ 2 xuống 1: T = (1 0.5)*(1/5) = 0.1–
5 Khoảng cách, nhợng bộ từ 5 lên 6: T = (1 0.9)*(3/5) = 0.06–
Do đó, nó nhợng bộ về khoảng cách và bổ sung yêu cầu {khoảng cách ≤ 6}, gửi đi kèm
thông điệp “find”
HotelAgent: cập nhật yêu cầu về khoảng cách, nhng vẫn không tìm thấy khách sạn nào thoả
mãn một lần nữa, nó lại gửi thông điệp “relax”
Vòng 7
UserAgent: kiểm tra các điều kịên nhợng bộ:
1 Internet, nhợng bộ từ 1 xuống 0: T = (1 - 0)*(5/5) = 1
2 Giá phòng, nhợng bộ từ 310 lên 320 (đã nhợng một lần): T = (1 0.8)*(4/5) = 0.16–
3 Số sao, nhợng bộ từ 4 xuống 3: T = (1 0.7)*(2/5) = 0.12–
4 Số giờng, nhợng bộ từ 2 xuống 1: T = (1 0.5)*(1/5) = 0.1–
5 Khoảng cách, nhợng bộ từ 6 lên 7 (đã nhợng một lần): T = (1 0.8)*(3/5) = 0.12– Vì vậy nó nhợng bộ số giờng, bổ sung yêu cầu {số giờng ≥ 1} và gửi kèm thông điệp “find”.
HotelAgent: cập nhật yêu cầu mới, trở thành {có Internet, giá phòng ≤310, số sao ≥4, số gi-ờng ≥1, khoảng cách ≤6} Lần này, có khách sạn k 7 thỏa mãn Nó gửi k 7 kèm thông điệp
“check” (Lu ý rằng k 7 trớc đây đã bị từ chối do yêu cầu quá cao, nay lại có thể phù hợp do một số nhợng bộ từ UserAgent)
Vòng 8
UserAgent: kiểm tra thấy các ràng buộc đều thoả mãn so với ràng buộc hiện tại Nó chuyển
sang trạng thái duyệt xem có chấp nhận đợc khách sạn này không
Độ phù hợp các ràng buộc: Số sao = (1 - 1)*(2/5) + 1 = 1
Giá phòng = (0.9 1)*(4/5) + 1 = 0.92–
Số giờng = (0.5 - 1)*(1/5) + 1 = 0.9 Khoảng cách = (0.9 - 1)*(3/5) + 1 = 0.94 Internet = (1 - 1)*(5/5) + 1 = 1
Vậy δ =0.9
Độ đáp ứng ràng buộc của khách sạn: vì khách sạn không có ràng buộc nào nên β =1
.
Độ thoả mãn khuyến mại: khách sạn k 6 có khuyến mại nhng chiện cha đợc giới thiệu nên γ =0.
Vậy độ chấp nhận của UserAgent là
ad = min{0.9, 1}⊕ ((1 – 0.95)*0 + 0.95)
= 0.9⊕0.95
=
) 95 0 1 )(
9 0 1 ( 95 0 95 0
* 9 0
* ) 95 0 1 (
95 0
* 9 0
* ) 95 0 1 (
−
− +
−
−
= 0.9 Giá trị này lớn hơn ngỡng chấp nhận 0.95 nên không chấp nhận đợc đối với UserAgent Khi đó, nó gửi đi thông điệp “refind”
HotelAgent: Khi nhận thông điệp “refind”, nó tiến hành tìm lại theo yêu cầu cũ Nhng không
có khách sạn nào thoả mãn ngoại trừ khách sạn k 7 vừa đợc từ chối theo thông điệp “refind”
Nó chuyển sang trạng thái Khuyến mại, phát hiện khách sạn k 7 có khuyến mại Điện thoại nội hạt, nó đính kèm thông tin này vào khách sạn k 7 và gửi đi với thông điệp “check”
Vòng 9
UserAgent: nhận đợc k 7 bổ sung hình thức khuyến mại Nó chỉ cần tính lại giá trị độ thoả mãn khuyến mại γ =0.8 do độ thoả mãn với hình thức khuyến mại này là 80%, các giá trị