0
Tải bản đầy đủ (.pdf) (83 trang)

Khái niệm hệ đa tác tử

Một phần của tài liệu PHÂN TÍCH THIẾT KẾ HỆ ĐA TÁC TỬ HƯỚNG TRÊN NỀN TẢNG PHÁT TRIỂN JADE.PDF (Trang 25 -25 )

Hệ đa tác tử là một hệ thống phần mềm với các thuộc tính sau đây:

 Tự trị : tác tử có thể hoạt động mà không cần sự hƣớng dẫn điều khiển trực

tiếp nào từ con ngƣời hay bất cứ cái gì khác và nó có một số kiểu điều khiển từ các hành động và trạng thái bên trong của nó.

 Khả năng giao tiếp xã hội: tác tử giao tiếp với các tác tử các thông qua một

số dạng ngôn ngữ giao tiếp của tác tử.

 Tính thích ứng: tác tử có thể nhận biết môi trƣờng và trả lời những thay đổi

xung quanh nó.

Với mô ̣t hoài bão về mô ̣t hê ̣ thống đa tác tƣ̉ hoàn hảo nhƣ một xã hội gắn

với xã hô ̣i con ngƣời , ngƣời ta đã mở rô ̣ng khái niệm ở trên bằng cách thêm vào các tính chất nhân văn, các thuộc tính cơ bản nhƣ tín ngƣỡng, sự thèm muốn hay các dƣ̣ định[8].

2.1.2. Phân loại tác tử trong hệ đa tác tƣ̉

Xét về khía cạnh nghiệp vụ thì trong một hệ đa tác tử có ba loại tác tử:

Tác tử môi giới: kiến trúc của loại tác tử khá đơn giản bao gồm một cơ sở dữ liệu dịch vụ.

Tác tử cung cấp dịch vụ: kiến trúc của tác tử cung cấp dịch vụ bao gồm một tập các chỉ thị và hành động và các dữ liệu tri thức đƣợc nhóm thành các thành phần cùng các thông tin giữa các thành phần.

Tác tử sử dụng dịch vụ: kiến trúc của loại tác tử này tƣơng tự của tác tử cung cấp dịch vụ.

Phân lớp theo chức năng:

Tác tử giao diện: là các tác tử mà tƣơng tác với ngƣời dùng, nhận các đặc tả của ngƣời dùng và trả về kết quả. Chúng nhận đƣợc các yêu cầu của ngƣời sử dụng để hƣớng dẫn hệ thống phối hợp cùng với sự hỗ trợ của ngƣời sử dụng.

Tác tử nhiệm vụ: là các tác tử hỗ trợ việc ra quyết định bằng cách mô hình hoá các vấn đề, xây dựng kế hoạch và thực hiện các kế hoạch đó thông qua việc truy vấn và trao đổi thông tin với các tác tử khác.

Tác tử thông tin : là tác tử trả lời các truy vấn về một nguồn thông tin có liên quan. Tác tử này có chức năng hoạt động nhƣ quản lý danh bạ, …

2.1.3. Ngôn ngữ giao tiếp tác tử và ontology

Để phục vụ cho nhu cầu giao tiếp giữa các tác tử, các ngôn ngữ KQML[29] và FIPA ACL[33] đƣợc xây dựng. Hầu hết các ngôn ngữ truyền thông của tác tử không quy định rõ cú pháp hay ngữ nghĩa về nội dung của thông điệp bởi lý do là với những miền ứng dụng khác nhau đòi hỏi những ngôn ngữ khác nhau. Tuy nhiên một số ngôn ngữ thông dụng có khả năng áp dụng cao cho nhiều miền ứng dụng nhƣ: FIPA SL, KQML và KIF,...

Tất cả các ngôn ngữ giao tiếp tác tử đều dựa trên cơ sở lý thuyết là lý thuyết hành vi ngôn ngữ. Trong đó, tác tử cũng nhƣ con ngƣời có thể bày tỏ quan điểm, nhận thức của mình giống nhƣ một hành động với một ý nghĩa nào đó giống nhƣ

một hành vi vật lý bình thƣờng trong cuộc sống hàng ngày. Các tác tử sử dụng các kiểu thông điệp tham chiếu ACL (Agent Communication Language – Ngôn ngữ truyền thông tác tử) để diễn tả các hành động giống nhƣ hỏi, nói, yêu cầu hoặc thực hiện bằng các hiệu ứng của việc gửi thông điệp qua lại giữa các tác tử . Các đối tƣợng thông điệp kiểu này đƣợc gọi là Perfomative .Chúng ta cũng có thể thấy một cách rất rõ ràng rằng tính tƣơng thích giữa các hệ thống đa tác tử và chính trong bản thân nội tại một hệ thống sẽ không khả thi nếu các nhóm khác nhau không chấp nhận sử dụng chung một ngôn ngữ truyền thông tác tử giống nhau. Do đó chuẩn ACL đã đƣợc xây dựng.

Các ngôn ngữ giao tiếp tác tử cũng có cú pháp. Cú pháp của ngôn ngữ là những quy tắc, quy luật đƣợc bộ phân tích ngôn ngữ trong tác tử sử dụng để trình bày và giải mã các thông điệp. Cú pháp này đƣợc sử dụng để xây dựng các lớp Performative có các thuộc tính sau đây:

1. Type: kiểu thông điệp.

2. Sender: tác tử gửi thông điệp 3. Receiver: tác tử sẽ nhận thông điệp.

4. Reply_with: khoá chứng nhận giao tiếp của tác tử gửi. 5. In_reply_to:khoá giao tiếp của tác tử nhận.

6. Content: nội dung thông điệp.

7. Language:ngôn ngữ để giải thích nội dung thông điệp. 8. Address:địa chỉ tác tử gửi.

9. Send_time:thời điểm gửi thông điệp.

Thông điệp trong ngôn ngữ giao tiếp tác tử có các kiểu thông điệp sau đây: 1. Accept_proposal: đƣợc sử dụng trong trƣờng hợp thông báo chấp nhận đề

xuất.

2. Agree: khẳng định sự chấp nhận đề xuất. 3. Cancel: chấm dứt liên lạc.

4. Confirm: xác nhận.

5. Disconfirm: rút lại xác nhận trƣớc đó. 6. Failure: chấm dứt đối thoại.

7. Inform:thông báo bổ sung thông tin.

8. Inform_if: thông báo bổ sung thông tin có điều kiện 9. Inform_ref:bổ sung thông tin tham chiếu.

10. Not_understood: trƣờng hợp đặc biệt của Failure. 11. Propose: đƣa đề xuất.

12. Query_if: truy vấn thông tin kèm điều kiện. 13. Querry_ref:truy vấn thông tin tham chiếu. 14. Refuse:từ chối giao tiếp.

15. Reject_proposal:từ chối đề xuất trƣớc đó. 16. Request_when: yêu cầu có điều kiện

17. Request_whenever:một kiểu yêu cầu có điều kiện đến. 18. Subscribe: đăng ký.

Các tác tƣ̉ giao ti ếp bằng ngôn ngữ chung sẽ vẫn không thể hiểu lẫn nhau nếu chúng sử dụng vốn từ vựng khác nhau để diễn tả khái niệm chung. Do đó, chúng cũng cần sử dụng các ontology giống nhau hoặc vốn từ chung. Điều này cũng có thể đạt đƣợc hoàn toàn thông qua các ontology chức năng chung hoặc tạo ra các ontology đặc trƣng theo miền và sử dụng các inter-ontology làm phiên dịch. Lý do là hầu hết các ontology đa năng không thể thích hợp với mọi miền ứng dụng. Hơn nữa, chúng quá lớn và phức tạp, không cần thiết với các ứng dụng chuyên biệt.

Ontology: Quy định ngữ nghĩa của nội dung trong phần nô ̣i dung thông điê ̣p.

Đây là một tri thức chung đƣợc thống nhất giữa bên gửi và bên nhận thông điệp. Dựa vào đó, bên nhận thông điệp sẽ hiểu đƣợc bên gửi thông điệp muốn yêu cầu cái gì để thực hiện các hành động cho phù hợp.[10]

Ontology đƣơ ̣c coi là mô ̣t khái niê ̣m cơ bản trong giao tiếp giƣ̃a các tác tƣ̉ . Nó đi ̣nh nghĩa nhƣ̃ng khái niê ̣m cần thiết, phục vụ cho việc trao đổi thông điệp giữa các

tác tử . Ontology cũng đi ̣nh nghĩa các mối quan hê ̣ giƣ̃a các khái niê ̣m (các đối

tƣơ ̣ng, các hành động , các tiền định , các mối quan hệ , ...) trong miền thông tin mà biểu diễn.

Hơn nƣ̃a, do mô ̣t ontology có nhiều mƣ́c trƣ̀u tƣợng khác nhau nên nô ̣i dung thông điê ̣p có thể có tùy biến kích thƣớc.

Mô ̣t ví dụ nhỏ về ontology

Khái niê ̣m Ý nghĩa

Presentation - Là lớ p đối tƣơ ̣ng biểu thi ̣ viê ̣c trình diễn, là lớp con của lớp hành đô ̣ng.

- Có thể chứa các mối liên hệ tới các khái niệm: địa điểm, thời gian, ngày tháng, và chủ đề.

Is_a Biểu thị mối quan hệ giữa một đối tƣợng và lớp của nó. Is_in_progress Trạng thái của một hành động của đối tƣợng, diễn tả rằng hành

đô ̣ng đó đang diễn ra.

Khi xây dƣ̣ng ontology nên chú ý các điểm sau :

 Sƣ̉ du ̣ng các đặc tả ontology chính thức.

 Sƣ̉ du ̣ng ngôn ngƣ̃ ontology chính thƣ́c

 Cho phép khả năng trao đổi giƣ̃a các ontology

 Các khái niệm phải có khả năng suy luận và truy hồi nguyên nhân .

 Quản lý dễ dàng và cho phép con ngƣời có thể đọc đƣợ c.

Giải pháp phổ biến cho việc xây dƣ̣ng ontology là sử dụng UML kế hợp với

ngôn ngƣ̃ ràng buô ̣c đối tƣợng OCL[12] (Object Contrain Language)

2.2. Khái niệm đàm phán tự động và ưu điểm của đàm phán tự

động

2.2.1. Khái niệm đàm phán tự động

Đàm phán tự động là quá trình tương tác giữa các tác tử có những mối quan tâm xung đột lẫn nhau và mong muốn hợp tác nhằm đi đến một thỏa thuận chung để chia sẻ nguồn tài nguyên nào đó[18].

Đàm phán tự động đƣợc tiến hành giữa các tác tử , hoạt động trên nhiều máy hoă ̣c giƣ̃a các hê ̣ thống khác nhau . Các tác tử sẽ thay mặt ngƣời sử dụng , tham gia

đàm phán nhằm mu ̣c đích thỏa mãn nhƣ̃ng mu ̣c tiêu , tiêu chí đã đƣợc xác đi ̣nh trƣớc khi các nguồn tài nguyên bi ̣ ha ̣n chế , không thể cùng lúc thỏa mãn cho tất cả các

bên tham gia . Nguồn tài nguyên ở đây đƣơ ̣c hiểu theo nghĩa chung bao gồm : các

nguồn tài nguyên hê ̣ thống (phần cƣ́ng, phần mềm, ...), các dịch vụ, hàng hóa, ... cần thiết cho viê ̣c hoàn thành nhiê ̣m vu ̣ của tác tƣ̉.

Sự quan tâm về đàm phán nảy sinh do hai tác nhân chính:

 Sự phát triển của công nghệ.

 Tính ứng dụng ngày càng đƣợc nâng cao của các hệ thống phần mềm.

Do khoa học kĩ thuật tiến bộ không ngừng, cơ sở hạ tầng của truyền thông ngày càng phát triển, khả năng truyền tải dữ liệu ngày càng cao kèm theo đó là các phát minh mới của các lĩnh vực nhƣ trí tuệ nhân tạo, học máy, cơ sở tri thức, ... đã cho phép con ngƣời xây dựng các hệ thống có khả năng tính toán phức tạp, xử lí phân tán và có khả năng tƣ duy và tƣơng tác với nhau.

Các tác tử thƣờng đƣợc sử dụng làm đại diện cho các bên tham gia giao dịch có mục tiêu, mục đích khác nhau. Do đó các tác tử phải có khả năng tƣ duy, quyết định một cách chủ động để có thể đƣa ra những hành động cần thiết trong một khoảng thời gian nhất định và điều kiện thích hợp mà không cần chỉ thị từ con ngƣời nhƣng vẫn đạt đƣợc những mục tiêu, mục đích đã đƣợc đề ra. Tuy nhiên với sự giới hạn của các nguồn tài nguyên, sự khác nhau giữa mục tiêu và mục đích của các tác tử nên xung đột lợi ích là vấn đề thƣờng xảy ra giữa các tác tử. Để đạt đƣợc mục đích cuối cùng, các tác tử phải đàm phán, thay đổi cách thức hành động cũng nhƣ đƣa ra các đề nghị, trao đổi các lợi ích để tìm ra đƣợc một cách giải quyết chấp nhận đƣợc cho tất cả các bên xung đột[23].

2.2.2. Ƣu điểm của đàm phán tự động

Đàm phán thủ công (ngƣời với ngƣời) tiêu tốn nhiều thời gian và đòi hỏi những điều kiê ̣n cu ̣ thể phù hợp cho cả hai bên nên không thể tiến hành thƣờng xuyên. Do đó, những khách hàng khó có thể tìm đƣợc đối tác đem lại lợi ích nhất cho mình. Trong khi đó, đàm phán tự động có thể tiến hành thƣờng xuyên giữa các bên tham gia vì vậy dễ tìm ra đƣợc đối tác có mặt hàng/dịch vụ với chất lƣợng mong muốn.

Đàm phán thủ công dễ làm nản lòng khách hàng. Ngƣợc lại, đàm phán tự động có thể dẫn đến kết quả dễ làm thỏa mãn khách hàng. Khách hàng không phải bận tâm về vấn đề ngôn ngữ, khả năng giao tiếp và thuyết phục của mình. Hơn nữa, nhiều vấn đề cần đàm phán phức tạp (nhƣ nhiều mặt hàng phụ thuộc với nhau từ nhiều khách hàng) khó có thể tiến hành đàm phán thủ công. Trong khi đó, các hệ đàm phán tự động có khả năng hỗ trợ các dịch vụ nhƣ vậy.

Các hệ đàm phán tự động không đòi hỏi bên tham gia cố định về thời gian, không gian. Số các thực thể tham gia trong tiến trình có thể tăng lên và điều này đem lại nhiều khả năng lợi ích cho cả ngƣời cung cấp và tiêu thụ.

2.3. Các thành phần liên quan đến đàm phán

Lĩnh vực đàm phán: các đối tƣợng, các thuộc tính,…

Giao thức đàm phán: các luật/quy định mà các tác tƣ̉ tham gia đàm phán phải tuân theo.

Chiến lược đàm phán: các hành động nào mà các tác tử cần thực hiện trong quá trình đàm phán.

2.3.1. Kiến trúc tác tử và cơ chế tự đàm phán

Trong quá trình nghiên cứu và xây dựng các hệ đa tác tử, trong thực tế đã cho thấy rằng mô hình hệ đa tác tử có các tác tử môi giới là phù hợp nhất với các hệ

thống thực tế. Tác tử môi giới đứng giữa các tác tử có nhu cầu đàm phán để điều phối các hoạt động đàm phán. Tác tử môi giới sẽ làm vai trò cầu nối giữa tác tử mua và bán dịch vụ. Tác tử có nhu cầu bán hoặc trao đổi các tài nguyên trƣớc hết phải đăng ký với tác tử môi giới, tự giới thiệu về mình, khả năng dịch vụ và địa chỉ. Tƣơng tự nhƣ vậy thì tác tử có nhu cầu sử dụng nguồn tài nguyên cũng phải tự giới thiệu với tác tử môi giới. Tác tử môi giới làm nhiệm vụ đối chiếu giữa bên cung và bên cầu, tìm đối tác phù hợp và giới thiệu các tác tử này với nhau. Sau đó các tác tử này sẽ tự đàm phán và tƣơng tác trực tiếp với nhau. Nhiệm vụ của tác tử môi giới là tạo ra một cơ chế liên lạc giữa tác tử cung và tác tử cầu. Kiến trúc mà có mặt của tác tử môi giới cũng sẽ làm giảm thiểu tính phức tạp trong việc xử lý các nghiệp vụ của các tác tử cung và cầu. Tác tử môi giới cũng làm giảm những sự tƣơng tác không cần thiết giữa các tác tử.

Các tác tử khi muốn tham gia vào các hoạt động đàm phán, trao đổi tài nguyên dịch vụ phải đăng ký khả năng phục vụ của mình với tác tử môi giới và trở thành bên cung cấp dịch vụ. Tác tử môi giới sẽ quản lý các dịch vụ sẽ đƣợc cung cấp này trong một cơ sở dữ liệu. Cơ sở dữ liệu này có thể đƣợc tổ chức dƣới nhiều dạng khác nhau nhƣng để đạt hiệu quả một cách cao nhất, cơ sở dữ liệu này cần đƣợc tổ chức dƣới dạng cơ sở tri thức của tác tử môi giới. Khi nhận đƣợc một yêu cầu cung cấp dịch vụ từ tác tử có nhu cầu sử dụng dịch vụ, tác tử môi giới sẽ tìm kiếm trong cơ sở dữ liệu dịch vụ của mình tìm ra nhà cung cấp phù hợp nhất có thể cung cấp dịch vụ đó và sẽ trả lời cho tác tử yêu cầu qua thông điệp. Nội dung thông điệp đó thông thƣờng bao gồm: tên, địa chỉ của nhà cung cấp. Quá trình đàm phán sau đó sẽ do hai tác tử cung cấp và khai thác thực hiện trực tiếp. Vai trò của tác tử môi giới tƣơng tự nhƣ dịch vụ quản lý trang vàng (yellow pages).

2.4. Một số môi trường phát triển các hệ đa tác tử

2.4.1. AgentMom

AgentMom[22] là một bộ khung dựng sẵn dùng để phát triển các hệ thống tính toán phân tán đa tác tử. AgentMom đƣợc viết bằng ngôn ngữ lập trình Java là một ngôn ngữ hỗ trợ tính toán phân tán mạnh. Hệ thống AgentMom cung cấp các khối cơ sở dùng để xây dựng các tác tử, các cơ chế hội thoại giữa các tác tử, và thông điệp đƣợc truyền trong quá trình hội thoại giữa các tác tử.

2.4.2. Bộ công cụ Zeuz

Bộ công cụ Zeus[35] đƣợc xây dựng với mục đích hỗ trợ việc phát triển các hệ đa tác tử một cách dễ dàng và nhanh chóng. Tƣ tƣởng của Zeus là đƣa những yếu tố cơ bản của hệ đa tác tử vào trong bộ công cụ cùng với khả năng tùy biến để tạo ra các hệ đa tác tử.

Kiến trúc của bộ công cụ Zeus bao gồm nhiều thành phần đƣợc xây dựng trên ngôn ngữ lập trình Java. Các thành phần này đƣợc phân thành ba nhóm thƣ viện bao gồm:

1. Các thƣ viện thành phần tác tử là tập hợp các lớp mô tả những thành phần

đặc trƣng, các chức năng cơ bản của tác tử . Những lớp này giải quyết

Một phần của tài liệu PHÂN TÍCH THIẾT KẾ HỆ ĐA TÁC TỬ HƯỚNG TRÊN NỀN TẢNG PHÁT TRIỂN JADE.PDF (Trang 25 -25 )

×