Đăng ký Đăng nhập
Trang chủ Ứng dụng AGENT phần mềm trong tích hợp thông tin về phương tiện giao thông...

Tài liệu Ứng dụng AGENT phần mềm trong tích hợp thông tin về phương tiện giao thông

.PDF
82
183
112

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ -------------------------- NGUYỄN THỊ THÚY HẰNG ỨNG DỤNG AGENT PHẦN MỀM TRONG TÍCH HỢP THÔNG TIN VỀ PHƯƠNG TIỆN GIAO THÔNG LUẬN VĂN THẠC SĨ Hà Nội - 2009 i MỤC LỤC LỜI CAM ĐOAN ........................................................Error! Bookmark not defined. LỜI CẢM ƠN .............................................................Error! Bookmark not defined. MỤC LỤC .................................................................................................................... i DANH MỤC CÁC CHỮ VIẾT TẮT ......................................................................... iii DANH MỤC BẢNG BIỂU ........................................................................................ iv DANH MỤC HÌNH VẼ............................................................................................... v MỞ ĐẦU ..................................................................................................................... 1 Chương 1 1.1 Tổng quan về agent ................................................................................ 3 KHÁI NIỆM AGENT ..................................................................................... 3 1.1.1 Định nghĩa Agent ................................................................................... 3 1.1.2 Một số agent điển hình ........................................................................... 4 1.2 HIỆN TRẠNG CÔNG NGHỆ AGENT ........................................................... 8 1.2.1 Hiện trạng sử dụng agent ........................................................................ 8 1.2.2 Các kiểu ứng dụng agent hiện nay ........................................................ 10 1.2.3 Hiện trạng sử dụng công nghệ agent ..................................................... 12 1.3 CÁC VẤN ĐỀ CHÍNH CỦA CÔNG NGHỆ AGENT .................................... 13 1.3.1 Truyền thông giữa các agent ................................................................. 13 1.3.2 Quản lý vòng đời agent ........................................................................ 14 1.3.3 Tính di động ......................................................................................... 16 1.4 ĐÁNH GIÁ MỘT SỐ AGENT PLATFORM ................................................. 16 1.4.1 Giới thiệu ............................................................................................. 16 1.4.2 Các chuẩn agent ................................................................................... 17 1.4.3 Khảo sát các tài liệu nghiên cứu về agent platform ............................... 18 1.4.4 Kết quả đánh giá các agent platform ..................................................... 19 1.4.5 Kết luận................................................................................................ 26 Chương 2 Tích hợp thông tin ................................................................................ 27 2.1 TỔNG QUAN VỀ TÍCH HỢP THÔNG TIN ................................................. 27 2.1.1 Khái niệm tích hợp thông tin ................................................................ 27 2.1.2 Các mức độ tích hợp thông tin .............................................................. 28 2.1.3 Các phương pháp tích hợp thông tin ..................................................... 28 2.2 HỆ ĐA AGENT VÀ TÍCH HỢP THÔNG TIN .............................................. 31 ii 2.2.1 Hệ đa agent .......................................................................................... 31 2.2.2 Mối quan hệ giữa hệ đa agent và tích hợp thông tin .............................. 32 2.2.3 Cấu trúc chung của hệ đa agent tích hợp thông tin ................................ 33 2.3 ONTOLOGY VÀ CÁC VẤN ĐỀ LIÊN QUAN .............................................. 36 2.3.1 Khái niệm............................................................................................. 36 2.3.2 Các thành phần của ontology ................................................................ 37 2.3.3 Phân loại ontology ................................................................................ 38 2.3.4 Các công cụ phát triển Ontology .......................................................... 40 2.3.5 Các ngôn ngữ Ontology ........................................................................ 41 2.4 MÔ HÌNH TÍCH HỢP THÔNG TIN DỰA TRÊN ONTOLOGY ................... 42 2.4.1 Vai trò của Ontology trong tích hợp thông tin ...................................... 42 2.4.2 Kỹ thuật xây dựng ontology trong tích hợp thông tin ............................ 46 Chương 3 Hệ thống tích hợp thông tin giao thông ................................................. 50 3.1. BÀI TOÁN TÍCH HỢP THÔNG TIN GIAO THÔNG ....................................... 50 3.1.1 Mô tả bài toán ...................................................................................... 50 3.1.2 Xây dựng các ontology hệ thống .......................................................... 51 3.2 JADE PLATFORM ...................................................................................... 62 3.2.1 Giới thiệu ............................................................................................. 62 3.2.2 Kiến trúc JADE .................................................................................... 62 3.2.3 Ngôn ngữ truyền thông ACL ................................................................ 63 3.3 THỬ NGHIỆM HỆ THỐNG ........................................................................ 63 3.3.1 BIÊN DỊCH VÀ CHẠY JADE PLATFORM ....................................... 63 3.3.2 KẾT QUẢ THỬ NGHIỆM .................................................................. 66 KẾT LUẬN ............................................................................................................... 71 TÀI LIỆU THAM KHẢO.......................................................................................... 72 iii DANH MỤC CÁC CHỮ VIẾT TẮT ACL Agent Communication Language AIP Agent Interaction Protocol BDI Belief – Desire – Intention CSDL Cơ sở dữ liệu FIPA Foundation for Intelligent Physical Agent JADE Java Agent Development Framework JDK Java Development Kit J2EE Java 2 Enterprise Edition KQML Knowledge Query and Manipulation Language ODBC Open Database Connection OMG Object Management Group SQL Structure Query Language VPN Virtual Private Network XML eXtensible Markup Language WAN Wide Area Network iv DANH MỤC BẢNG BIỂU Bảng 1.1. So sánh mức độ bảo trì của các agent platform........................................... 19 Bảng 1.2. So sánh mức độ tích cực của các platform.................................................. 20 Bảng 1.3. So sánh mức độ cập nhật của các platform ................................................. 21 Bảng 1.4. So sánh mức độ phổ biến của các platform ................................................ 22 Bảng 1.5. So sánh mức độ truy cập thông tin của các platform .................................. 23 Bảng 1.6. So sánh thời gian phát hành phiên bản mới nhất của các platform .............. 24 Bảng 1.7. So sánh khả năng cung cấp phiên bản gọn nhẹ của các platform ................ 25 Bảng 1.8. So sánh khả năng dùng sẵn của các platform.............................................. 25 v DANH MỤC HÌNH VẼ Hình 2.1. Sơ đồ hệ đa agent tích hợp thông tin tổng quát. .......................................... 34 Hình 2.2. So sánh các công cụ xây dựng Ontology. ................................................... 41 Hình 2.3. Cách tiếp cận đơn ontology. ....................................................................... 43 Hình 2.4. Cách tiếp cận đa ontology. ......................................................................... 44 Hình 2.5. Cách tiếp cận lai. ........................................................................................ 45 Hình 2.6. Các bước xây dựng cấu trúc ontology......................................................... 47 Hình 2.7. Các bước xây dựng dùng chung................................................................. 48 Hình 3.1. Sơ đồ tổ chức Bộ giao thông vận tải. .......................................................... 51 Hình 3.2. Mô hình tích hợp phương tiện giao thông trong hệ đa agent. ...................... 52 Hình 3.3. Định nghĩa thuộc tính trong ontology. ........................................................ 55 Hình 3.4. Kiểu dữ liệu thuộc tính của các loại phương tiện. ....................................... 56 Hình 3.5. Biểu diễn ontology trong Protégé. .............................................................. 57 Hình 3.6. Cấu trúc MaritimeOntology. ....................................................................... 58 Hình 3.7. Cấu trúc AviationOntology. ....................................................................... 59 Hình 3.8. Cấu trúc RoadOntology. ............................................................................. 60 Hình 3.9. Cấu trúc RailwayOntology. ........................................................................ 60 Hình 3.10. Cấu trúc tổng thể các khái niệm trong ontology giao thông. ..................... 61 Hình 3.11. Sơ đồ kiến trúc tổng thể của JADE. .......................................................... 63 Hình 3.12. Cấu trúc thư mục của JADE. .................................................................... 65 Hình 3.13. Giao diện JADE. ...................................................................................... 66 Hình 3.14. CSDL tích hợp thông tin giao thông vận tải. ............................................. 67 Hình 3.15. Màn hình thực thi các agent. ..................................................................... 68 Hình 3.16. Tìm kiếm thông tin theo tên phương tiện. ................................................. 69 Hình 3.17. Tổng hợp thông tin phương tiện giao thông. ............................................. 70 1 MỞ ĐẦU Sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều năm qua cũng đồng nghĩa với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày một tích luỹ nhiều lên. Trong khi khối lượng dữ liệu ngày càng phát triển với tốc độ chóng mặt và phân tán khắp nơi thì mỗi hệ thống chỉ cần một số thông tin nhất định phù hợp với yêu cầu riêng của hệ thống đó và trong nhiều trường hợp để xây dựng một hệ thống cần đến thông tin từ nhiều nguồn khác nhau. Xuất phát từ thực tế đó dẫn đến yêu cầu phải có phương pháp tích hợp thông tin từ các nguồn khác nhau để có thể sử dụng tối ưu thông tin cần thiết và quan trọng là có thể sử dụng thông tin dùng chung giữa các hệ thống khác nhau. Tích hợp thông tin là một khái niệm khá trừu tượng thậm chí là hơi mơ hồ khiến nhiều người không thể định nghĩa được chính xác và cụ thể, thông thường tích hợp thông tin có thể được hiểu là quá trình kết hợp dữ liệu từ các nguồn thông tin khác nhau nhằm cung cấp cho người dùng một cái nhìn tổng quan và duy nhất về các dữ liệu này [36]. Đối với dữ liệu từ các nguồn thông tin khác nhau thường khá hỗn tạp và không đồng nhất về nhiều mặt như: sự không đồng nhất trong cách trình diễn dữ liệu, cấu trúc dữ liệu, sự không đồng nhất về hệ thống và đặc biệt là sự không đồng nhất về ngữ nghĩa. Cho đến nay đã có rất nhiều nghiên cứu đã được tiến hành trong lĩnh vực tích hợp thông tin chủ yếu tập trung vào vấn đề không đồng nhất về ngữ nghĩa của các nguồn thông tin [3], [5], [20], [29], [48], [49]. Các ontology là mô hình biểu diễn các khái niệm và mối quan hệ giữa các khái niệm đó, trong những năm gần đây có nhiều nhà khoa học đã đi sâu nghiên cứu sử dụng ontology để giải quyết vấn đề không đồng nhất về ngữ nghĩa này [3], [20], [49], sự phát triển của các ontology ngày một nhiều cùng với sự thừa nhận của cộng đồng đã thúc đẩy hơn nữa việc sử dụng ontology trong tích hợp thông tin. Có nhiều hướng tiếp cận khác nhau trong phương pháp tích hợp thông tin dựa trên ontology bằng cách sử dụng hệ đơn ontology, đa ontology hoặc hệ ghép bao gồm các ontology cục bộ cùng với một bộ từ vựng dùng chung [19]. Nhiều nghiên cứu đã khẳng định cách tiếp cận lai sử dụng bộ từ vựng chung là cách tiếp cận phù hợp nhất để xây dựng ontology cho mục đích tích hợp thông tin [3], [16], [20], [29]. 2 Mục tiêu của luận văn là tìm hiểu agent và mô hình tích hợp thông tin dựa trên ontology sử dụng bộ từ vựng chung sau đó áp dụng phương pháp này vào bài toán tích hợp thông tin về phương tiện giao thông vận tải. Trên cơ sở hạ tầng viễn thông đã có, các kết nối từ Trung tâm tích hợp dữ liệu của Bộ Giao thông Vận tải tới các Cục quản lý chuyên ngành bằng hệ thống mạng riêng ảo (VPN) đã tạo ra mạng diện rộng (WAN) của Bộ Giao thông Vận tải. Các kết nối liên thông cho phép chúng ta xây dựng ứng dụng tích hợp thông tin từ các cục quản lý chuyên ngành về Trung tâm tích hợp thông tin của Bộ để phục vụ công tác quản lý. Agent tại trung tâm tích hợp thông tin của Bộ sẽ gửi yêu cầu tới các agent ở các cục quản lý chuyên ngành và nhận kết quả trả về từ các agent này rồi tiến hành thu thập và tích hợp thông tin. Nội dung chính của luận văn được chia thành ba chương như sau: Chương 1 trình bày các kiến thức tổng quan về agent, các đặc trưng của agent, so sánh các công nghệ agent trên cơ sở đó đi sâu tìm hiểu và ứng dụng nền tảng Jade phục vụ cho việc cài đặt và thực thi hệ thống. Chương 2 trình bày khái niệm tích hợp thông tin, nhu cầu tích hợp thông tin và các phương pháp tích hợp thông tin và bài toán tích hợp thông tin trong hệ đa agent. Trong chương này đi sâu tìm hiểu ontology và phương pháp tích hợp thông tin dựa trên ontology để áp dụng vào bài toán giao thông. Chương 3 trình bày về bài toán tích hợp thông tin giao thông và áp dụng phương pháp tích hợp dựa trên ontology, phần cuối chương trình bày cách cài đặt, cấu hình và thực thi ứng dụng thử nghiệm cho bài toán tích hợp thông tin về phương tiện giao thông vận tải từ các cục quản lý chuyên ngành về Trung tâm tích hợp thông tin của Bộ giao thông vận tải. Cuối cùng, phần kết luận trình bày một số kết quả đạt được của luận văn và hướng nghiên cứu tiếp theo trong tương lai. 3 Chương 1 Tổng quan về agent 1.1 KHÁI NIỆM AGENT 1.1.1 Định nghĩa Agent Công nghệ agent là một hướng nghiên cứu thu hút rất nhiều sự quan tâm từ những năm 90 đến nay. Tuy nhiên ngay trong chính cộng đồng agent cũng có rất nhiều định nghĩa khác nhau về agent. Wooldridge [34] định nghĩa agent phần mềm “là một hệ thống tính toán bao gói, được đặt trong một môi trường cụ thể, có khả năng hoạt động linh hoạt và tự chủ để đạt được các mục tiêu thiết kế”. James Odell [25] lại định nghĩa agent là một “thực thể có hành vi” với các đặc điểm sau:  Tự trị – là khả năng hành động mà không cần đến sự can thiệp trực tiếp từ bên ngoài. Nó có một số mức điều khiển thông qua trạng thái nội tại của nó và có các hành động dựa trên kinh nghiệm của chính nó  Tương tác – giao tiếp với môi trường và các agent khác.  Thích nghi – khả năng phản ứng với các agent khác và/hoặc môi trường của nó ở một vài mức độ nào đó. Dạng thích nghi cao cấp hơn là cho phép một agent có thể sửa đổi hành vi của mình dựa trên kinh nghiệm của nó.  Xã hội – thể hiện trong mối quan hệ xã hội.  Di động – có thể tự di chuyển từ môi trường này sang môi trường khác.  Ủy quyền – có thể hành động với tư cách của một ai đó hoặc một cái gì đó, có nghĩa là hành động như một người đại diện hoặc hành động vì lợi ích của một vài thực thể nào đó.  Chủ động – Không đơn giản là chỉ tác động trở lại tới môi trường mà hành động có chủ đích để đạt được mục tiêu.  Thông minh – hình thức hóa các trạng thái của agent (ví dụ: niềm tin, mục tiêu, các dự kiến, các giả định..) bằng tri thức và các tương tác với các agent khác sử dụng ngôn ngữ tượng trưng 4  Suy luận – có thể lựa chọn một hành động dựa trên các mục tiêu chính và sự hiểu biết về một hành động cụ thể có khả năng giúp nó tiến đến gần mục tiêu hơn.  Không thể dự báo trước - có thể hành động theo cách nào đó không hoàn toàn có thể dự đoán trước được thậm chí dù đã biết trước tất cả các điều kiện ban đầu.  Thời gian liên tục – là một quá trình chạy liên tục.  Rõ ràng và giải nghĩa được – khi được yêu cầu thì phải rõ ràng và trong suốt, khi cần có thể cung cấp nhật ký ghi lại các hành động của nó.  Phối hợp – có thể thực hiện một số hành động trong một môi trường dùng chung với các agent khác.  Hợp tác – có thể phối hợp với các agent khác để đạt được mục đích chung. Các agent không đối kháng nhau sẽ thành công hoặc thất bại cùng nhau (sử dụng thuật ngữ “Cộng tác” đồng nghĩa với “Hợp tác”).  Cạnh tranh – có thể phối hợp với các agent khác trừ khi thành công của một agent dẫn đến thất bại của các agent khác (trái nghĩa của “Hợp tác”)  Mạnh – khả năng giải quyết các lỗi và các dữ liệu không đầy đủ.  Đáng tin cậy – trung thực. Cho đến nay chưa có một định nghĩa chuẩn nào về agent, hầu hết mọi người đều đồng ý rằng giới hạn về agent cho các hệ thống công nghệ thông tin sẽ không hữu ích nếu không có ít nhất 3 tính chất đầu tiên ở trên. Những người khác đòi hỏi các agent công nghệ thông tin phải có tất cả các tính chất trên với các mức độ khác nhau. Thường thì một agent công nghệ thông tin được coi là một thực thể tự trị có thể tương tác với môi trường của nó. Nói cách khác, nó phải có khả năng quan sát môi trường và hành động theo môi trường của nó. 1.1.2 Một số agent điển hình Các agent trong các hệ thống công nghệ thông tin có những yêu cầu riêng: chúng phải thực thi giống như phần mềm, phần cứng, người máy, hoặc kết hợp của cả 5 3. Theo James Odell [25], những người phát triển agent đã xác định một số dạng agent điển hình trong phát triển hệ thống công nghệ thông tin như sau:  Các Agent phần mềm: Các agent phần mềm là một kiểu agent riêng. Một agent phần mềm là một thực thể phần mềm tự trị có thể tương tác với môi trường của nó. Điều này có nghĩa chúng là các thực thể tự trị và có thể tác động trở lại các thực thể khác, bao gồm cả con người, máy móc và các agent phần mềm khác trong nhiều môi trường và nền tảng (platforms) khác nhau. Về cơ bản, các agent phần mềm được thiết kế mẫu cho phần mềm. Phát triển các công cụ, ngôn ngữ và môi trường để hỗ trợ mẫu dựa trên agent. Tuy nhiên, có thể thực thi các mẫu thiết kế agent sử dụng các công cụ, ngôn ngữ và môi trường hướng đối tượng hoặc bất kỳ công cụ, ngôn ngữ và môi trường nào khác mà có khả năng hỗ trợ các thực thể phần mềm tự trị, tương tác và thích nghi. Chủ yếu các công cụ dựa trên agent vẫn được ưa thích hơn bởi vì các mẫu thiết kế agent là có sẵn trong phần mềm hơn là được lập trình. Nói cách khác, có thể sử dụng công nghệ đối tượng cho công nghệ dựa trên agent, nhưng tính tự trị, tương tác và thích nghi của agent hiện không được hỗ trợ trong công nghệ hướng đối tượng. Trong khi đó các thuộc tính này có thể (và đang) được thêm vào cách tiếp cận hướng đối tượng thì các mẫu thiết kế cho các agent và phần mềm dựa trên agent vẫn chưa được hỗ trợ hoàn toàn và trực tiếp.  Các agent tự trị: Khi một agent có một sự độc lập nào đó với điều khiển bên ngoài, nó được coi là tự trị.Ở một mức độ nào đó, các agent có thể hoạt động mà không cần sự can thiệp hoặc gọi trực tiếp từ bên ngoài. Nếu không có quyền tự trị, một agent sẽ không còn là một thực thể động nữa mà giống như một đối tượng thụ động như một bản ghi trong một bảng quan hệ.  Các agent tương tác : Các agent tương tác có thể tương tác với cả môi trường và các thực thể khác và có thể được biểu diễn theo cấp bậc. Ở một mức độ nào đó, các thông điệp đối tượng (lời gọi hàm) có thể được coi là dạng cơ bản nhất của tương tác, mức độ tương tác phức tạp hơn sẽ gồm các agent có khả năng phản ứng lại các sự kiện đáng chú ý bên trong môi trường. Các tương tác phức tạp hơn ở các hệ thống trong đó các agent đã 6 bận tham gia trong các tương tác song song, phức tạp với các agent khác. Ở mức độ này các agent bắt đầu hành động giống như một xã hội. Cuối cùng, mức độ tương tác phức tạp nhất khi các hệ thống bao hàm nhiều agent hỗn tạp khác nhau có thể phối hợp thông qua sự cộng tác và/hoặc cạnh tranh (ví dụ như thỏa thuận và lập kế hoạch).  Các agent thích nghi: Một agent được xem là thích nghi nếu nó có khả năng đáp ứng lại các agent khác và/hoặc môi trường của nó ở một vài mức độ nào đó. Ít nhất thì nó phải phản ứng lại một kích thích đơn giản – để tạo một đáp ứng tiền định, trực tiếp tới một sự kiện cụ thể hoặc tín hiệu môi trường. Bộ điều nhiệt, các cảm biến tự động, và các máy tìm kiếm đơn giản thuộc loại agent thích nghi. Tiến xa hơn agent phản ứng đơn giản là các agent có khả năng suy luận. Các agent suy luận này phản ứng lại bằng cách đưa ra các suy luận và bao gồm cả các agent chẩn đoán bệnh và một số loại agent khai phá dữ liệu. Dạng nâng cao hơn của agent thích nghi là có khả năng học và tiến hóa. Các agent này có thể thay đổi hành vi của chúng dựa theo kinh nghiệm. Các kỹ thuật phần mềm phổ biến cho việc học là các mạng nơ ron, các luật Bayesian, các luật phân lớp…. Ví dụ các agent học là các agent có thể phân tích giọng nói, nhận dạng và theo dõi mục tiêu. Một kỹ thuật chính cho các agent tiến hóa thường gồm các giải thuật di truyền và lập trình di truyền. Có thể phát sinh ra các agent để phù hợp với mục tiêu đặt ra. Ví dụ, kế hoạch hành động, và các chương trình phần mềm tối ưu hơn bất kỳ sản phẩm nào do con người làm ra trong một khoảng thời gian vừa phải.  Agent di động : Trong khi các agent tĩnh tồn tại như một quy trình đơn lẻ trên một máy chủ thì các agent di động có thể lấy lại và di chuyển mã của chúng tới một máy chủ mới tại đó chúng có thể tiếp tục thực thi. Quan điểm ở mức khái niệm thì các agent di động như vậy có thể được xem là lưu động, động, không định cư, lang thang, hoặc di cư. Ví dụ, nếu một agent muốn lấy thông tin từ một vài nguồn khác nhau trên các platform khác nhau, nó có thể gửi thông tin yêu cầu đến mỗi platform sử dụng kỹ thuật tương đương với một RPC (remote procedure call - gọi thủ tục từ xa). Tuy nhiên, nếu khối lượng thông tin ứng với site ở xa là lớn thì cần phải xem xét vấn đề lưu lượng và băng thông. Hơn nữa, agent có thể xử lý dữ liệu từ xa hiệu quả hơn các dịch vụ như vậy tại site ở 7 xa. Việc di chuyển agent tới một trong nhiều platform khác nhau có thể sẽ hiệu quả hơn là cách xử lý dữ liệu từ xa.  Các agent phối hợp : Các tổ chức nhân sự tồn tại chủ yếu để phối hợp các hành động của nhiều cá nhân vì một số mục tiêu. Mục tiêu này có thể là tạo ra các kết cấu như các đơn vị kinh doanh sinh lãi, các tổ chức từ thiện, các công ty ba lê hoặc các liên hiệp nhỏ. Tương tự như vậy, các hệ thống bao gồm nhiều agent có thể sinh lợi theo cùng kiểu mẫu đó. Một số ứng dụng phổ biến nhất về agent phối hợp là dây chuyền cung cấp, lập lịch, giải quyết vấn đề, thương lượng hợp đồng, và thiết kế sản phẩm. Nếu không có sự phối hợp ở mức độ nào đó, các hệ thống như vậy không thể tồn tại, dù là người hay là các hệ thống dựa trên agent. Các tổ chức nhân sự không được xây dựng bởi các cá nhân giống hệt nhau và cùng làm những việc giống nhau mà có sự đa dạng hóa, có người đại diện, có thương lượng, quản lý, cộng tác, cạnh tranh, và v.v…Và chúng ta cần thực hiện cách tiếp cận giống như vậy trên các hệ thống đa agent. Tuy nhiên vẫn nên xem xét cẩn thận trong khi thiết kế và xây dựng cấu trúc của các hệ thống dựa trên agent. Điều này sẽ giúp tăng khả năng liên kết chặt chẽ giữa các agent với hành vi của chúng, mặc dù sẽ hạn chế và điều chỉnh tính tự động của agent nhưng vẫn đảm bảo được tính linh hoạt ở mức agent.  Các agent thông minh : Sau hàng thập kỷ thuật ngữ « thông minh » vẫn chưa được định nghĩa (hoặc được hiểu) cho hệ thống nhân tạo và ngày nay việc áp dụng thuật ngữ này cho agent có lẽ chưa thật thích đáng lắm. Hầu hết đều có xu hướng cho rằng agent và agent thông minh là tương đương nhau. Có lẽ đây chỉ là sự cố gắng để truyền tải thông tin rằng agent có nhiều sức mạnh hơn các cách tiếp cận thường. Ví dụ, khi so sánh với các bảng quan hệ hoặc so sánh với các đối tượng, agent có thể được coi như là cái gì đó “thông minh”. Hoặc, đây chỉ là sự cường điệu của tiếp thị. Tuy nhiên, không sai khi nói rằng khái niệm về sự thông minh của các agent là rất khác so với của con người. Chúng ta không tạo các agent để thay thế con người mà chúng ta tạo chúng để giúp đỡ hoặc bổ sung thêm cho con người. 8 Các agent thông minh yêu cầu một bộ cơ bản các thuộc tính và tính năng. Ví dụ, một trạng thái của agent thông minh phải được chuẩn hóa bởi tri thức (hiểu biết, mục tiêu, mơ ước, ý định, giả định, v.v…) và có thể hành động trên cơ sở tri thức này. Nó cần có khả năng kiểm tra sự hiểu biết và mơ ước của nó, hình thành ý định của nó, lập kế hoạch các hành động mà nó sẽ thực hiện dựa trên các giả định nào đó, và cuối cùng là hành động theo kế hoạch đó. Ngoài ra, các agent thông minh phải tương tác được với các agent khác sử dụng ngôn ngữ tượng trưng. Các nhà nghiên cứu agent sử dụng hiểu biết của chúng ta về suy nghĩ của con người để làm mẫu cho thiết kế các agent.  Các agent wrapper: Agent này cho phép agent khác kết nối tới một dịch vụ/hệ thống phần mềm không phải agent. Các agent client gửi các lệnh tới agent wrapper và được gọi đến trong các dịch vụ cơ bản. (Agent wrapper có thể là không cần thiết với các đối tượng nhưng vẫn nên có các đối tượng tồn tại trong cùng một môi trường). Các loại agent trên thường chiếm ưu thế trong các hệ thống dựa trên agent, ngoài ra một ứng dụng cũng có thể dùng các dạng agent khác như: agent môi giới, agent quản lý, agent hỗ trợ, v.v… 1.2 HIỆN TRẠNG CÔNG NGHỆ AGENT 1.2.1 Hiện trạng sử dụng agent Công nghệ agent có nhiều điểm tương tự như các công nghệ khác (ví dụ, hướng đối tượng, giao diện người dùng đồ họa – GUI), tuy nhiên công nghệ agent không phải là một công nghệ đơn lẻ mà là áp dụng kết hợp của nhiều công nghệ. Các agent cũng không nhất thiết phải là agent mới và biệt lập hoàn toàn với ứng dụng. Ban đầu, các chức năng agent sẽ hiển thị bên trong các ứng dụng, nhưng về sau – cùng với kinh nghiệm – sẽ trở thành một phần của môi trường ứng dụng hoặc hệ điều hành, khi đó các ứng dụng không khai thác sự hỗ trợ của agent trong hệ điều hành sẽ trở nên bất tiện. Được chuẩn bị cho những mục tiêu lớn lao nhưng hiện nay, công nghệ agent vẫn chỉ là một lĩnh vực đang tiếp tục được nghiên cứu và mới đang trong thời kỳ đầu phát triển. Dù đã được quảng cáo rộng rãi nhưng công nghệ agent chưa được sử dụng phổ biến, không được chấp nhận rộng rãi như là xu hướng tất yếu và cũng không có sự 9 thống nhất trong việc hỗ trợ agent ở mức hệ điều hành. Vì thế, việc triển khai công nghệ và các hệ thống dựa trên agent là biệt lập và không thường xuyên, nhưng nó vẫn tồn tại và trên thực tế là đang có xu hướng tăng dần. Hiện có một số lớp agent đang được triển khai như sau: Các agent quản lý hệ thống và mạng: Các công ty viễn thông hoạt động trong lĩnh vực này nhiều nhất, và là nhóm tận tụy với mô hình agent nhất. Mục tiêu của họ là sử dụng agent để thực hiện các nhiệm vụ quản lý mạng và hệ thống phức tạp như: cân bằng tải, phòng ngừa thất bại, phân tích vấn đề và tổng hợp thông tin. Các agent hỗ trợ quyết định: Chủ yếu được triển khai trong các môi trường đóng, các công ty tiện ích và các tổ chức quân đội thường dùng các agent để hỗ trợ quyết định và tổng hợp thông tin. Các hệ thống này có thể cảnh báo một thao tác với một vấn đề có thể xảy ra, cung cấp thông tin để hỗ trợ một quyết định phức tạp. Agent tìm sở thích: Đây có thể là các agent được sử dụng nhiều nhất và hầu hết người dùng thậm chí không biết họ đang sử dụng chúng. Các agent này thường được dùng bởi các Websites thương mại để chào hàng, ví dụ như nếu bạn thích “Frank Sinatra’s Greatest Hits” thì có thể bạn sẽ thích “Tony Bennett’s Songs for a Summer Day”. Dựa trên Patti Maes hoạt động ở MIT Media Labs và sau đó là Firefly, các agent theo dõi các kiểu mẫu sở thích và cách sử dụng để đưa ra các gợi ý. Các agent này được triển khai trên amazon.com và rất nhiều trang buôn bán CD và video. Các agent hỗ trợ người dùng: Các agent này hoạt động ở mức giao diện người dùng, đưa ra thông tin hoặc lời khuyên tới người dùng. Các công ty như Microsoft, Lotus và Apple hoạt động nhiều nhất trong lĩnh vực này. Ví dụ được sử dụng nhiều nhất của loại agent này là các ký hiệu trợ giúp dạng hoạt họa ở trong sản phẩm Microsoft Office. Các agent này sử dụng các mạng bayesean để phân tích và dự đoán các chủ đề có thể người dùng cần trợ giúp. Các agent kết cấu có tổ chức: Các agent này kết cấu để thao tác theo kiểu tương tự như các tổ chức của con người. Ví dụ, hệ thống dây chuyền cung cấp đa agent sẽ có các agent đóng các vai trò khác nhau như người mua, nhà cung cấp, người môi giới, kho hàng, đơn hàng, các mục hàng, và các phòng sản xuất. Các hệ điều hành sẽ có các agent nguồn, các agent tài liệu, các agent xử lý v.v… 10 Mỗi agent trong số các agent này thể hiện một vài khía cạnh của các agent. Tuy nhiên, không có agent nào thể hiện được toàn bộ tính năng có thể có của agent. 1.2.2 Các kiểu ứng dụng agent hiện nay Các kiểu ứng dụng agent hiện nay vẫn còn hạn chế. Khi các khái niệm được thừa nhận rộng rãi và có sẵn nhiều công cụ hơn thì hướng tiếp cận dựa trên agent sẽ được nhúng trong các ứng dụng công nghệ thông tin nhiều hơn. Thương mại điện tử: Các ứng dụng thương mại điện tử cho phép người dùng thực hiện các giao dịch trong kinh doanh trên mạng. Một giao dịch có thể bao gồm sự thương lượng với các thực thể ở xa và có thể đòi hỏi truy cập nguồn thông tin liên tục thay đổi. Từ thực tế đó nảy sinh nhu cầu thay đổi hành vi của các thực thể để đạt được một nghi thức chung trong việc thương lượng. Hơn nữa, việc di chuyển các thành phần của ứng dụng tiến gần đến nguồn thông tin thích hợp cho giao dịch cũng được quan tâm. Tìm kiếm thông tin: lượng thông tin sẵn qua mạng nội bộ công ty giúp người dùng mở rộng khả năng thu được các thông tin hữu ích một cách hiệu quả. Các agent tìm kiếm chứa các phạm vi kiến thức về rất nhiều nguồn thông tin khác nhau. Kiến thức này bao gồm các kiểu thông tin sẵn có trên mỗi nguồn, cách truy xuất thông tin đó và kiến thức có tiềm năng hữu ích như: độ tin cậy và độ chính xác của nguồn thông tin. Các agent tìm kiếm sử dụng kiến thức này để thực hiện các tác vụ tìm kiếm riêng biệt. Lọc thông tin: Các agent lọc thông tin cố gắng giải quyết vấn đề quá tải thông tin bằng cách hạn chế hoặc sắp xếp thông tin tới người dùng. Tư tưởng chính là để phát triển một đại diện trực tuyến cho người dùng, đại diện này có đầy đủ kiến thức về thông tin cơ bản của người dùng cần để nó có thể chọn các tài liệu ưa thích. Các loại agent này thường thực hiện chức năng như những người canh cổng bằng cách ngăn người dùng khỏi bị tràn ngập bởi luồng thông tin đến ồ ạt. Các agent lọc tin cùng làm việc (hoặc đôi khi hợp nhất) với các agent tìm kiếm để giữ lại các kết quả tìm kiếm ở mức độ vừa phải. Thông thường, các agent lọc tin sẽ kết hợp chặt chẽ với các kỹ thuật học máy. Điều này cho phép chúng thích nghi với yêu cầu của mỗi người dùng và cung cấp thông tin chính xác hơn nhiều so với phương pháp lọc tin bằng từ khóa. 11 Giám sát thông tin: nhiều tác vụ phụ thuộc vào thông báo xảy ra khi có thay đổi trong các nguồn dữ liệu khác nhau. Một người lập kế hoạch xây dựng một kế hoạch để chuyển các thiết bị từ vùng này sang vùng khác, nhưng việc thực hiện kế hoạch đó có thể bị phá hỏng bởi sự ảnh hưởng của thời tiết xấu. Người lập kế hoạch sẽ thích tìm hiểu các sự kiện có thể gây ảnh hưởng đến kế hoạch của anh ta khi chúng xảy ra. Khi đó các agent sẽ rất hữu ích cho việc giám sát dữ liệu riêng tại các nguồn dữ liệu phân tán. Là các phần mềm có cấu trúc nên chúng có đủ kiên nhẫn cần thiết để giám sát liên tục sự thay đổi của các nguồn dữ liệu. Các agent di động có thể gửi thông điệp tới các nơi ở xa hoặc các vị trí khác không thể truy cập được. Môi giới nguồn dữ liệu (Data source mediation): Vùng quản lý dữ liệu đặt ở nhiều hệ thống khác nhau, hầu hết chúng không bao giờ giao tiếp với nhau. Các agent có thể dùng như người môi giới giữa các nguồn dữ liệu khác nhau, cung cấp cơ chế để cho phép chúng kết hợp chặt chẽ với nhau. Dự án SIMS của ISI được phát triển như một môi giới thông tin có thể cấp phép truy cập tới cơ sở tri thức và dữ liệu hỗn tạp, có thể dùng nó để tạo mạng các agent thu nhặt thông tin, mỗi agent này có quyền truy cập tới một vài nguồn thông tin. Các agent này sử dụng một ngôn ngữ bậc cao, một giao thức truyền thông, và các ontology riêng để mô tả dữ liệu chứa trong các nguồn thông tin của chúng. Điều này cho phép mỗi agent có thể giao tiếp với các agent khác ở mức ngữ nghĩa cao hơn. Các agent giao diện/ hỗ trợ cá nhân: Một agent giao diện là một chương trình có thể thao tác bên trong một giao diện người dùng và trợ giúp đắc lực cho người dùng thao tác với giao diện. Một agent giao diện có thể ngăn chặn dữ liệu vào của người dùng, kiểm tra nó, và đưa ra hành động phù hợp. Tuy các agent giao diện không trực tiếp liên quan tới quản lý dữ liệu nhưng chúng phải có tiềm năng thực hiện vai trò lớn lao trong việc trợ giúp người dùng trong các hệ thống quản lý dữ liệu. Điều này càng quan trọng hơn khi các hệ quản trị dữ liệu phân tán nhiều nơi và nhóm cùng nhau thành dạng lớn hơn, hệ thống các hệ thống phức tạp. Các agent trong giao diện có thể thực hiện các chức năng như một cầu nối giữa phạm vi kiến thức về hệ quản trị dữ liệu và người dùng. Các agent này có thể giúp người dùng truy vấn, tìm khu vực định vị dữ liệu, giải thích ngữ nghĩa của dữ liệu giữa các tác vụ khác. Các ví dụ là các hệ thống hướng dẫn thông minh và trợ giúp duyệt web. Ngoài ra, Microsoft hiện đã gắn thêm các agent giao diện vào trong các sản phẩm desktop để quan sát hành động của người dùng và đưa ra những gợi ý phù hợp tới người dùng. 12 1.2.3 Hiện trạng sử dụng công nghệ agent Hầu hết tất cả các hệ thống đang xây dựng ngày nay đều sử dụng ngôn ngữ lập trình Java hoặc C++ [55]. Truyền thông và phối hợp giữa các agent chủ yếu sử dụng ngôn ngữ KQML (Knowledge Query and Manipulation Language) [33] hoặc FIPA ACL (Foundation Intelligent Physical Agen) [14], KIF (“Knowledge Interchange Format”) [32]. KIF là ngôn ngữ dùng cho việc truyền thông hướng nội còn KQML và FIPA ACL dùng cho việc truyền thông hướng mục đích [55]. Các tập hợp công cụ thương mại đầu tiên để xây dựng các agent bắt đầu có trên thị trường vào khoảng năm 1999. Một số phải mua hoặc một số có thể cho tải về miễn phí. Các hệ thống xây dựng agent biến đổi nhiều về mặt chức năng thì thường không tuân theo một chuẩn nào. Các agent được xây dựng trong một hệ thống sẽ không làm việc trong hệ thống khác. Và cũng không có sự hỗ trợ nào cho các giao thức truyền thông giữa các công cụ này. Hình 1.1 mô tả một số công cụ phát triển hệ đa agent hiện nay: Hình 1.1. Một số công cụ phát triển hệ đa agent. 13 1.3 CÁC VẤN ĐỀ CHÍNH CỦA CÔNG NGHỆ AGENT 1.3.1 Truyền thông giữa các agent Hiện đang là một trong những lĩnh vực quan trọng nhất cần chuẩn hoá. Không chỉ nội dung và ý nghĩa của truyền thông có thể rất khác nhau mà cách thức truyền thông cũng có rất nhiều cách khác nhau. 1.3.1.1 Các ngôn ngữ truyền thông agent Các thông điệp phải có ngữ nghĩa tốt để có thể nhìn thấy được và tính toán được. Vì thế chúng ta cần phải chuẩn hoá ngôn ngữ truyền thông agent (agent communication languages – ACL) để những người khác có thể phát triển các agent của họ để có thể thao tác lẫn nhau. Ngoài ra họ phải có một dạng ngữ nghĩa chính thức để các cách thực thi khác nhau vẫn duy trì được các tính năng cần thiết của ACL. Bằng cách xác định rõ một ACL chúng ta có thể hệ thống hoá các yếu tố tương tác cơ bản giữa các agent một cách hiệu quả. Theo Weiß [55] một số ngôn ngữ chính dùng cho việc truyền thông giữa các agent là: KQML[33] (đây có lẽ là ngôn ngữ truyền thông agent được sử dụng rộng rãi nhất), ARCOL (“ARTIMIS Communication Language”) [35] (ngôn ngữ truyền thông dùng trong hệ thống ARTIMIS, có ít từ ngữ truyền thông gốc hơn KQML), FIPA ACL [14] (là ngôn ngữ truyền thông agent chịu ảnh hưởng mạnh bởi ARCOL) và KIF [32] (ngôn ngữ dựa trên logic này được thiết kế để biểu diễn bất cứ loại tri thức hoặc siêu tri thức nào). Sự kết hợp của FIPA-ACL, ARCOL, và KQML hầu như đã tạo nên một chuẩn hoàn chỉnh cho các ngôn ngữ truyền thông agent. 1.3.1.2 Cơ chế truyền tải thông điệp Trong môi trường agent, có thể lập lịch các thông điệp như hướng sự kiện. Có thể gửi thông điệp dưới chế độ đồng bộ hoặc không đồng bộ. Hơn nữa, cơ chế truyền thông điệp nên hỗ trợ đánh địa chỉ duy nhất như đánh địa chỉ dựa trên vai trò (tức là đánh địa chỉ “trang trắng” so với “trang vàng”). Cuối cùng, cơ chế truyền tải phải hỗ trợ các chế độ truyền tải đơn, truyền tải đa và truyền tin quảng bá (unicast, multicast, broadcast) và các dịch vụ như hành vi quảng bá tin, không từ chối thông điệp, và logging. 14 1.3.1.3 Truyền thông Ontology Truyền thông agent là các khái niệm về truyền thông giữa các agent. Các agent có thể có các thuật ngữ khác nhau cho cùng một khái niệm, các thuật ngữ giống hệt nhau cho các khái niệm khác nhau và các hệ thống lớp khác nhau. Khi biểu diễn kiến thức từ nhiều miền khác nhau đòi hỏi phải có một ontology chung, cách xây dựng và liên kết chúng với nhau. 1.3.1.4 Các giao thức tương tác agent Hệ đa agent là hệ thống gồm nhiều agent tự chủ và linh hoạt khác nhau. Mỗi agent đều có mục tiêu riêng và một phần mục tiêu chung của cả hệ thống. Trong quá trình hoạt động các agent phải liên hệ với nhau để hoàn thành nhiệm vụ, tất cả những mối liên hệ đó được gọi chung là tương tác. Như vậy, tương tác chính là các mối liên hệ, trao đổi để kết hợp, phối hợp hoặc cạnh tranh, thương lượng giữa các agent trong hệ đa agent nhằm đạt được mục tiêu riêng của từng agent cũng như mục tiêu chung của hệ thống. Trong các hệ thống thông tin, tương tác có thể chia thành ba loại chính: + Tương tác bình đẳng (peer to peer): đơn giản chỉ là trao đổi các thông điệp có thể hiểu được giữa các thành phần với nhau. + Tương tác kiểu khách – chủ truyền thống (client - server): Tương tác này xảy ra khi một bên yêu cầu bên kia thực hiện một hành động cụ thể nào đó. + Tương tác xã hội: Các thành phần tỏng hệ thống có mối liên hệ phức tạp, mang tính xã hội như quan hệ tương hỗ, cạnh tranh, thương lượng… 1.3.2 Quản lý vòng đời agent Các agent sẽ là phần mềm chạy trong môi trường phần mềm. Vì thế, chúng phải có cơ chế ngầm hiểu các hành động như: đang bắt đầu, đang tạm dừng, đang được quản lý, đang được theo dõi. Một số agent được thực thi như mã di động (mobile code) có bổ sung thêm các vấn đề về vòng đời như: cho phép có các quyền để chạy, các quyền để thực hiện một số tác vụ nào đó, và để có truyền thông tại nhiều địa điểm khác nhau ngoài điểm bắt đầu xuất phát. Các agent có thể tiến hóa và khi chúng ta kiểm tra quản lý vòng đời, chúng ta phải kiểm tra cả các môi trường phần mềm sẽ chạy agent. Môi trường có thể rất nhỏ, không kết nối liên tục với các thiết bị như điện thoại di động hay trợ giúp kỹ thuật số cá nhân hoặc có thể bao gồm nhiều máy chủ có khả
- Xem thêm -

Tài liệu liên quan