Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
200,5 KB
Nội dung
Học viện Công nghệ Bưu chính Viễn thông Khoa Công nghệ thông tin *** Môn: PHÁT TRIỂN PHẦN MỀM HƯỚNG AGENT ĐỀ TÀI: TÌM HIỂU VỀ TƯƠNG TÁC THEO KIỂU THƯƠNG LƯỢNG VÀ ĐẤU GIÁ TRONG HỆ THỐNG ĐA AGENT Giảng viên hướng dẫn: Nguyễn Mạnh Sơn Nhóm sv thực hiện: Nguyễn Hoàng Tuấn Anh Nguyễn Văn Anh Lê Tiến Bình Trịnh Thanh Bình Nguyễn Đình Hậu Phạm Văn Hiếu Phạm Thị Thu Hồng Trần Huy Tường Hà Nội. 2010 1 LỜI MỞ ĐẦU Agent là một hệ thống thông minh, có khả năng suy nghĩ và tư duy, lập luận. Hệ đa agent là một tập hợp các Agent cùng hoạt động trong một hệ thống, mỗi Agent có thể có mục đích khác nhau nhưng toàn bộ hệ thống sẽ cùng hướng tới một mục đích chung . Do mỗi Agent là một thành phần chủ động và có một mục đích riêng do đó để hướng tới mục đích chung của toàn bộ hệ thống đa Agent, chúng phải trao đổi tri thức và tương tác với nhau. Có rất nhiều vấn đề cần tìm hiểu khi nghiên cứu về hệ thống đa Agent. Trong bài này, chúng em đi sâu vào sự tương tác giữa các Agent, cụ thể là tương tác theo kiểu thương lượng và đấu giá. 2 PHẦN I: T?NG QUAN VỀ AGENT VÀ HỆ ĐA AGENT I. KHÁI NIỆM AGENT 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 độc lập và mềm dẻo trong môi trường đó nhằm thực hiện một mục đích đã thiết kế II. HỆ ĐA AGENT 1. Khái niệm Hệ đa agent là một tập hợp các Agent cùng hoạt động trong một hệ thống, mỗi Agent có thể có mục đích khác nhau nhưng toàn bộ hệ thống sẽ cùng hướng tới một mục đích chung thông qua tương tác. 2. Ưu điểm: - Khả năng tính toán hiệu quả - Độ tin cậy cao - Khả năng mở rộng - Tính mạnh mẽ - Khả năng bảo trì - Khả năng phản ứng - Tính linh hoạt - Khả năng sử dụng lại 3. Ứng dụng của hệ đa Agent - Hệ sản xuất - Hệ thống điều khiển tiến trình - Hệ thống viễn thông - Hệ quản lý thông lưu và đường giao thông … Những vấn đề quan trọng trong nghiên cứu phát triển hệ đa Agent: - Tương tác giữa các Agent 3 Trong hệ đa Agent, mỗi Agent la một thành phần chủ động và hướng tới đích riêng do vậy chúng cần trao đổi thông tin tri thức với nhau và thương lượng với nhau khi cần thiết - Ontology - Quy trình phát triển hệ phần mềm hướng Agent 4. Các mô hình tương tác trong hệ đa Agent Trong các hệ thống đa agent, nhiệm vụ chính của hệ thống được phân thành các nhiệm vụ nhỏ hơn và giao cho các agent thực thi. Mỗi agent khi đó sẽ đảm nhiệm một nhiệm vụ con và nó phải làm cách nào đó để hoàn thành sứ mệnh của mình. Cách thức mà các agent thực hiện nhằm đạt được mục tiêu đặt ra là tương tác với các agent khác để lấy thông tin, cộng tác, cạnh tranh Càng ngày người ta càng nhận ra rằng ngoài các đặc trưng tự chủ, phản xạ, thì các đặc trưng tương tác mang tính xã hội càng trở thành quan trọng cho phát triển các hệ phần mềm phức tạp. Trong hệ thống phức tạp như tính toán hầu khắp và dịch vụ Web, các tương tác có thể được phân làm hai loại: Tương tác kiểu cộng tác, hỗ trợ: Đây là những tương tác thường xảy ra giữa các agent thuộc cùng hệ thống nhưng thuộc các hệ thống con khác nhau. Chẳng hạn, một agent bán cần biết thông tin về các sản phẩm máy tính hiện có, nó sẽ yêu cầu cho các agent tìm kiếm để cung cấp các thông tin này. Khi đó, quan hệ giữa agent bán và agent tìm kiếm là quan hệ cộng tác. Tương tác kiểu cạnh tranh: Thông thường, các agent thuộc các hệ thống khác nhau có mối tương tác mang tính cạnh tranh. Kiểu tương tác này xảy ra khi các agent mâu thuẫn lợi ích với nhau, tranh giành nhau để đạt được cái mình muốn, như khi cùng truy xuất đến các tài nguyên dùng chung hoặc quan hệ giữa hai agent mua và agent bán. Như vậy, khi phát triển một hệ đa agent, bên cạnh những vấn đề liên quan đến tính toán số học trong bản thân của mỗi agent, chúng ta cần phải xem xét một vấn 4 đề cũng hết sức quan trọng là tương tác giữa chúng. Hơn nữa, cần phải phân tách rạch ròi hai kiểu tương tác để giúp cho quá trình phát triển hệ thống dễ dàng hơn. PHẦN II: THƯƠNG LƯỢNG VÀ TƯƠNG TÁC I. KHÁI NIỆM THƯƠNG LƯỢNG Thương lượng là một tiến trình vừa cộng tác vừa cạnh tranh được diễn ra giữa hai hay nhiều bên tham gia, bắt đầu bằng những mục tiêu (đích) khác nhau, dần dần đi tới một thỏa thuận chung có lợi cho tất cả các bên. II. PHÂN BIỆT GIỮA THƯƠNG LƯỢNG VÀ TƯƠNG TÁC Thương lượng là một hình thức tương tác giữa các Agent, ngoài ra còn các mô hình tương tác khác. 1. Các mô hình thương lượng Trong bài toán thương lượng, tùy vào số bên tham gia, người ta chia làm bốn nhóm là: thương lượng 1-1, thương lượng 1-n, thương lượng n-n. Sự phân chia này được minh hoạ như hình Số người mua 1-1 1-n n-1 n-n Số người bán Hình: Các dạng thương lượng 5 - Thương lượng 1-1: Còn gọi là thương lượng song phương, chỉ có một người bán thương lượng với một người mua. - Thương lượng n-1: Nhiều người mua một người bán. Đây chính là hình thức đấu giá (Auction). Đấu giá là một trong những hình thức mua bán phổ biến trong thương mại. trong mô hình đấu giá (nhiều người mua, một người bán), người mua sẽ trả giá theo một cách thức nào đó, ví dụ như ai trả giá cao nhất sẽ thắng - Thương lượng 1-n: Một người mua có thể thương lượng đồng thời với nhiều người bán. Hình thức này gọi là đấu giá ngược (Reverse-auction) - Thương lượng n-n: Còn gọi là thương lượng đa phương hay chợ (Market). Mỗi người mua có thể thương lượng đồng thời với nhiều người bán và mỗi người bán cũng có thể thương lượng đồng thời với nhiều người mua. III. MÔ HÌNH THƯƠNG LƯỢNG SONG PHƯƠNG 1. Các cách tiếp cận a. Tiếp cận theo lý thuyết trò chơi Đây là cách tiếp cận sử dụng chiến lược tương tác giữa các agent riêng lẻ (Self- interested agent) theo các luật trò chơi. Trong cách tiếp cận này, các nhà nghiên cứu cố gắng xác định một chiến lược tối ưu bằng cách phân tích mối tương tác giữa các agent giống như trong một trò chơi và tìm ra điểm cân bằng của quá trình tương tác giữa các agent đó. b. Tiếp cận dựa trên heuristic Trong mô hình này, các hàm quyết định dựa trên heuristic được sử dụng để ước lượng và sinh ra các yêu cầu hay đề nghị mới trong quá trình thương lượng. c. Tiếp cận dựa trên lập luận 6 Cách tiếp cận này cho phép các agent có thể chuyển các thông tin thêm hoặc lập luận cho các giá trị tinh thần như niềm tin hay ý định trong quá trình thương lượng. 2. Chiến lược cho Agent bán Trong mô hình thương lượng song phương, agent bán có nhiệm vụ quản lý việc giao dịch đồng thời với các khách hàng của mình. Mỗi agent bán được trang bị một tập các tri thức sau đây: •Tập O { 0 1, 0 2, 0 3 ….0 m } các đơn vị hàng hóa có thể mang cung cấp, mỗi đơn vị hàng hóa 0 i (của cùng một mặt hàng – mỗi agent bán chi, bán một mặt hàng) được mô tả thông qua n thuộc tính ( 0 1 ’ , 0 2 ’ …… 0 n ’ } và có một giá trị lợi ích g i nếu bán được đơn vị hàng đó •Một tập R= { r 1 r m } các ràng buộc đối với người mua của một đơn vị hàng hóa. •Một tập C = { c 1 …… c n } các hình thức khuyến mại cho các đơn vị hàng hóa tương ứng, tập này cũng có nhiều miền giá trị kiểu boolean. •Một tập B= { b1, b2 ……. Bm } các khách hàng đang thương lượng với agent bán. Mỗi khách hàng được biểu diễn qua các thông tin sau: Tập các đơn vị hàng hóa đã bị từ chối, đơn vị hàng hóa vừa mới giới thiệu đi, các thuộc tính và giá trị các thuộc tính đã yêu cầu. Khi đó hoạt động thương lượng cuả agent bán được biểu diễn theo sơ đồ mô tả như sau: 7 • Khởi đầu: Sau khi đăng ký với hệ thống, agent bán sẽ chuyển ngay vào trạng thái chờ để chờ đến các kết nối từ agent mua. • Chờ: Agent bán sẽ chờ đợi các kết nối đến từ các agent mua. Tùy thuộc vào nội dung nhận được mà agent bán chuyển vào các trạng thái phù hợp. • Tìm kiếm: Là trạng thái mà agent bán chuyển vào khi nhận được thông điệp “ find”. Tại đây nó nhận được yêu cầu của khách hàng vừa nhận được và tiến hành tìm kiếm các đơn hàng thỏa mãn các yêu cầu mà nó đã nhận được. - Nếu không tìm được đơn vị hàng nào, nó sẽ gửi thông điệp “ relax” với mong muốn agent bán sẽ nhượng bộ trên thuộc tính nào đó. - Nếu tìm thấy nó được chọn đơn vị hàng hóa nào đem lại giá trị lợi ích g i cao nhất để giới thiệu với agent mua kèm theo thông điệp “ check”. Đồng thời cập nhật đơn vị hàng hóa mới nhất vừa được gửi đi cho khách hàng tương ứng. 8 Khuyến mại Tìm kiếmTìm lại Khởi đầu Kết thúc Chờ Có khuyến mại gửi “recheck” Không khuyến mại gửi “relax” Thành công gửi “ check” Nhận “ find” Thất bại Nhận “ find Thất bại gửi “ relax” • Tìm lại: Là trạng thái khi agent bán chuyển vào khi nhận được thông điệp “ refind”. Khi đó, nó sẽ tiến hành tìm kiếm theo yêu cầu cũ do không có yêu cầu mới bổ xung. - Nếu tìm thấy các đơn vị hàng hóa mới, agent bán sẽ chọn đơn vị hàng nào có giá trị lợi ích cao nhất để gửi đến agent mua với thông điệp “ check”. Đồng thời cập nhật đơn vị hàng hóa mới nhất vừa được giới thiệu. - Nếu không tìm thấy hàng hóa mới, agent bán chuyển vào trạng thái khuyến mại để xem có thể bổ sung các hình thức khuyến mại khác hay không. • Khuyến mại: Tại đây, agent bán lấy đơn vị hàng hóa mới nhất đã được giới thiệu cho agent mua để kiểm tra xem đơn vị hàng hóa đó có hình thức khuyến mại nào không. - Việc này luôn đảm bảo có đơn vị hàng đã giới thiệu, vì trạng thái này chỉ được chuyển đến trạng thái sau trạng thái tìm lại, trạng thái tìm lại chỉ xẩy ra khi agent bán nhận được thông điệp “ refind”, tức là trước đó agent mua đã nhận được một đơn vị hàng hóa do chính agent bán này giới thiệu. - Nếu đơn vị hàng hóa này có kèm theo khuyến mại, agent bán sẽ gửi các hình thức khuyến mại kèm theo thông điệp “recheck”. - Nếu đơn vị hàng này không có khuyến mại hoặc có khuyến mại nhưng đã được giới thiệu trước đó, agent bán sẽ gửi thông điệp “relax”, đồng thời cập nhật đơn vị hàng hóa này vào tập các hàng hóa đã bị từ chối. •Kết thúc: Là trạng thái kết thúc cho một phiên thương lượng với agent mua mà không phải kết thúc cho bản thân agent bán. Trạng thái này đạt được khi nó nhận được thông điệp “deal” báo chấp nhận hoặc “ fail” báo thất bại từ phía agent mua. Quá trình trên có thể diễn ra nhiều lần với một hoặc nhiều agent mua khác nhau. Khác với agent mua là sẽ kết thúc nhiệm vụ sau khi thương lượng, agent bán chỉ kết thúc nhiệm vụ khi đã bán hết các mặt hàng mà nó quản trị. 3. Chiến lược cho Agent mua Hoạt động thương lượng cuat agent mua được biểu diễn theo sơ đồ mô tả như sau: 9 •Khởi đầu: Trong trạng thái khởi đầu của phiên thương lượng này, agent mua tìm ra thuộc tính có độ ưu tiên u i cao nhất để gửi đi. Trong trường hợp có nhiều thuộc tính có độ ưu tiên u i cao nhất, nó sẽ gửi đi toàn bộ các thuộc tính này. •Yêu cầu: Khi muốn gửi đi yêu cầu về thuộc tính mới hoặc giá trị mới cho thuộc tính đã yêu cầu, agent mua sẽ chuyển vào trạng thái yêu cầu để thực hiện việc gửi các yêu cầu đó cho phía đối tác. Đồng thời với việc gửi yêu cầu đi, agent mua còn phải cập nhật lại nội dung các thuộc tính được gửi đi ( tập D) trong bộ nhớ hoạt động của mình. •Chờ: Là trạng thái để agent mua chờ đợi một thông điệp phúc đáp từ phía đối tác. Khi nhận được thông điệp phúc đáp, tùy thuộc vào nội dung của thông điệp mà agent mua chuyển vào các trạng thái tương ứng. 10 Chấp nhận Nhượng bộ Khởi đầu Chờ Không chấp nhận gửi “ Refind” Nhận “ Relax” Nhận “ Recheck Yêu cầu Kiểm tra Kết thúc Có thể nhượng bộ K h ô n g v i p h ạ m Gửi “ find” Nhận “ check” Không thể nhượng bộ gửi “ Fail” Chấp nhận gửi “ Deal” [...]... thương lượng Agent người sử dụng sẽ tìm kiếm người bán, đăng ký và đảm nhận role người mua Buyer Với việc đảm nhận vai trò Buyer, nó được phép giao dịch với agent bán của hệ thống Agent bán sẽ luôn đảm nhận vai trò Seller trong hệ thống - Vai trò Buyer có các hành động và sự kiện sau: Hành động: send_request (gửi yêu cầu đến agent bán), make_order (đặt hàng), refuse (từ chối sản phẩm agent bán đưa ra),... hai agent này sẽ tiến hành theo cách thức sau: Agent mua, qua vai trò Buyer sẽ gửi cho vai trò Seller của agent bán các thông tin về yêu cầu của người dùng Agent bán sẽ phân tích yêu cầu và kiểm tra xem nó có hàng hóa thỏa mãn yêu cầu không Quá trình tìm kiếm sản phẩm đáp ứng sẽ không được trình bày ở đây Nếu agent bán tìm ra một danh sách các sản phẩm thỏa mãn hoàn toàn yêu cầu và gửi cho agent. .. dạng lưu trữ thông tin tốt và một phương thức để trả dữ liệu về cho agent Định dạng tốt nhất thường được dùng để biểu diễn dữ liệu hiện nay là XML do tính khả chuyển và gọn nhẹ của nó Để giải quyết vấn đề thứ hai là trả dữ liệu về cho agent, agent sẽ phải gọi một phương thức, chẳng hạn, store_data để lấy dữ liệu và lưu vào một biến trong Sau khi lưu lại dữ liệu trong agent, agent người dùng sẽ giải... cho agent mua thì dựa trên quyết định của mình Agent mua sẽ tiến hành đặt.Quá trình thương lượng kết thúc tại đây Nếu agent bán không tìm ra sản phẩm đáp ứng mọi yêu cầu của agent mua Nó đưa ra danh sách đáp ứng nhiều yêu cầu nhất và đề nghị agent mua giảm bớt yêu cầu chưa thỏa mãn Nếu agent mua chấp nhận, quá trình thương lượng tiếp tục, ngược lại agent mua sẽ kết thúc thương lượng và chuyển qua... trả cao nhất sẽ thắng nhưng thanh toán theo giá của người trả cao thứ 2 Chiến thuật tối ưu: Đưa ra giá trị thật 15 KẾT LUẬN Trên đây là những tìm hiểu về tương tác theo kiểu thương lượng và đấu giá trong hệ đa Agent Trong bài viết, chúng em có đưa ra một cái nhìn tổng quan về Agent nói chung và hệ thống đa Agent cũng như sự cần thiết của việc tương tác giữa các Agent trong hệ thống Qua tìm hiểu, nhóm... Check” từ phía agent bán thì agent mua chuyển vào trạng thái kiểm tra Tạ đây, nó tiến hành kiểm tra xem có thuộc tính nào bị vi phạm hay không Một thuộc tính bị coi là vi phạm nếu giá trị của nó kém hơn giá trị yêu cầu của thuộc tính đó đang được lưu giữ trong bộ nhớ hoạt động của agent mua ( khái niệm kém hơn là tùy thuộc vào thuộc tính của đối tượng - Nếu có ít nhất một thuộc tính bị vi phạm, agent mua... theo hướng Agent, ta có thể hiểu: “Role là tập các khả năng, hành vi mong đợi và tri thức mà agent có thể sử dùng đến khi cần”.Tập các khả năng của một role là tập các hành động mà một agent đảm nhận role đó có thể thực hiện để hoàn thành nhiệm vụ của mình Hành vi được mong đợi là tập các sự kiện mà agent phải quản lý nhằm thực hiện được nhiệm vụ của role đó Do đó, một tương tác giữa các agent có thể... vậy, các agent đại diện người mua sẽ phải tương tác với các agent của nhiều hệ thống khác trong các môi trường khác nhau Các chức năng của hệ thống bao gồm các role sau: Request_Getter (Lấy thông tin), Buyer (Bên mua) và Seller (Bên bán) Vai trò Request_Getter Role này chịu trách nhiệm lấy các yêu cầu từ người dùng Mỗi người dùng khi có nhu cầu mua một mặt hàng nào đó sẽ phải khởi động một agent người... tính nào bị vi phạm sau trạng thái Kiểm tra hoặc nhận được thông điệp “ Recheck”, agent mua sẽ chuyển vào trạng thái chấp nhận Các bước tiến hành để tính độ thỏa mãn tổng thể của đối tượng đối với người dùng, dựa trên các kỹ thuật ước lượng dùng như sau: •Nhượng bộ: Khi nhận được thông điệp “ Relax” từ agent bán thì agent mua chuyển vào trạng thái này - Tại đây nó kiểm tra xem trong các thuộc tính... Role Role A Khả năng Hệ B B thốn Hành động Sự kiện g Khả năng tươn Hành vi Hành vi g tác Tương tác giữa hai agent trong thương lượng b.3 Đặc tả thương lượng song phương dựa trên Role Chúng ta xét một trường hợp cụ thể là một hệ thống mua bán máy tính nhằm minh họa cách thức hoạt động của các hệ đa agent dựa trên role Hệ thống này sẽ phải thực hiện các công việc như sau: Lấy thông tin yêu cầu từ người . thống đa Agent. Trong bài này, chúng em đi sâu vào sự tương tác giữa các Agent, cụ thể là tương tác theo kiểu thương lượng và đấu giá. 2 PHẦN I: T?NG QUAN VỀ AGENT VÀ HỆ ĐA AGENT I. KHÁI NIỆM AGENT Agent. hướng Agent 4. Các mô hình tương tác trong hệ đa Agent Trong các hệ thống đa agent, nhiệm vụ chính của hệ thống được phân thành các nhiệm vụ nhỏ hơn và giao cho các agent thực thi. Mỗi agent. chung hoặc quan hệ giữa hai agent mua và agent bán. Như vậy, khi phát triển một hệ đa agent, bên cạnh những vấn đề liên quan đến tính toán số học trong bản thân của mỗi agent, chúng ta cần phải