MỞ ĐẦUSự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tintrong 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ĩavới lượng dữ liệu đã
Trang 1ĐẠ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
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
-o0o -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
Ngành: Công nghệ Thông tin
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cánhân tôi, không sao chép lại của người khác Trong toàn bộ nội dung của luận văn,những điều đã trình bày là của cá nhân tôi hoặc là được tôi tổng hợp từ nhiều nguồn tàiliệu Tất cả các nguồn tài liệu tham khảo có xuất xứ rõ ràng và được trích dẫn hợppháp
Tôi xin chịu toàn bộ trách nhiệm và chịu mọi hình thức kỷ luật theo quy địnhcho lời cam đoan của tôi
Hà Nội, tháng 12 năm 2009
Nguyễn Thị Thúy Hằngi
Trang 4LỜI CẢM ƠN
Lời đầu tiên tôi xin gửi lời cảm ơn chân thành nhất tới TS Nguyễn Việt Hà,Trưởng bộ môn Công nghệ phần mềm – khoa Công nghệ thông tin – Trường Đại họcCông nghệ - đã dành rất nhiều thời gian quí báu để tận tình hướng dẫn, chỉ bảo và địnhhướng cho tôi trong suốt thời gian hoàn thành luận văn
Tôi xin bày tỏ lòng biết ơn tới các thầy cô giáo Khoa Công nghệ thông tin Trường Đại học Công nghệ - ĐHQGHN đã truyền đạt cho em những kiến thức, kinhnghiệm quý báu trong suốt thời gian học tập tại trường Tôi xin gửi lời cảm ơn sâu sắctới các đồng nghiệp tại Trung tâm Công nghệ thông tin – Bộ Giao thông vận tải vàCục Hàng Hải đã hết sức tạo điều kiện thuận lợi cho tôi trong suốt quá trình học tập vàthực hiện luận văn
-Tôi xin chân thành cảm ơn bạn bè và gia đình tôi, những người thân yêu luônluôn ở bên khuyến khích, động viên và ủng hộ tôi trong học tập cũng như trong cuộcsống
Do thời gian và trình độ có hạn nên luận văn này không thể tránh khỏi nhữngthiếu sót Rất mong nhận được sự đóng góp ý kiến của các thầy cô giáo, bạn bè, cácquý vị quan tâm tới vấn đề này để luận văn được hoàn thiện hơn
Trân trọng cảm ơn!
Hà Nội, tháng 12 năm 2009
Nguyễn Thị Thúy Hằngii
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC CHỮ VIẾT TẮT v
DANH MỤC BẢNG BIỂU vi
DANH MỤC HÌNH VẼ vii
MỞ ĐẦU 1
Chương 1 Tổng quan về agent 3
1.1 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 11
1.3 CÁC VẤN ĐỀ CHÍNH CỦA CÔNG NGHỆ AGENT 12
1.3.1 Truyền thông giữa các agent 12
1.3.2 Quản lý vòng đời agent 14
1.3.3 Tính di động 15
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 16
1.4.3 Khảo sát các tài liệu nghiên cứu về agent platform 17
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 27
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
iii
Trang 62.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 35
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 39
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 61
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
iv
Trang 7DANH 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 AgentJADE Java Agent Development Framework
JDK Java Development Kit
J2EE Java 2 Enterprise Edition
KQML Knowledge Query and Manipulation LanguageODBC Open Database Connection
OMG Object Management Group
SQL Structure Query Language
VPN Virtual Private Network
XML eXtensible Markup Language
WAN Wide Area Network
v
Trang 8DANH MỤC BẢNG BIỂU
Bảng 1.1 So sánh mức độ bảo trì của các agent platform 2
Bảng 1.2 So sánh mức độ tích cực của các platform 2
Bảng 1.3 So sánh mức độ cập nhật của các platform 2
Bảng 1.4 So sánh mức độ phổ biến của các platform 2
Bảng 1.5 So sánh mức độ truy cập thông tin của các platform 2
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 2
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 2
Bảng 1.8 So sánh khả năng dùng sẵn của các platform 2
vi
Trang 9DANH MỤC HÌNH VẼ
Hình 2.1 Sơ đồ hệ đa agent tích hợp thông tin tổng quát 2
Hình 2.2 So sánh các công cụ xây dựng Ontology 2
Hình 2.3 Cách tiếp cận đơn ontology 2
Hình 2.4 Cách tiếp cận đa ontology 2
Hình 2.5 Cách tiếp cận lai 2
Hình 2.6 Các bước xây dựng cấu trúc ontology 2
Hình 2.7 Các bước xây dựng dùng chung 2
Hình 3.1 Sơ đồ tổ chức Bộ giao thông vận tải 2
Hình 3.2 Mô hình tích hợp phương tiện giao thông trong hệ đa agent 2
Hình 3.3 Định nghĩa thuộc tính trong ontology 2
Hình 3.4 Kiểu dữ liệu thuộc tính của các loại phương tiện 2
Hình 3.5 Biểu diễn ontology trong Protégé 2
Hình 3.6 Cấu trúc MaritimeOntology 2
Hình 3.7 Cấu trúc AviationOntology 2
Hình 3.8 Cấu trúc RoadOntology 2
Hình 3.9 Cấu trúc RailwayOntology 2
Hình 3.10 Cấu trúc tổng thể các khái niệm trong ontology giao thông 2
Hình 3.11 Sơ đồ kiến trúc tổng thể của JADE 2
Hình 3.12 Cấu trúc thư mục của JADE 2
Hình 3.13 Giao diện JADE 2
Hình 3.14 CSDL tích hợp thông tin giao thông vận tải 2
Hình 3.15 Màn hình thực thi các agent 2
Hình 3.16 Tìm kiếm thông tin theo tên phương tiện 2
Hình 3.17 Tổng hợp thông tin phương tiện giao thông 2
vii
Trang 10MỞ ĐẦ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 tintrong 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ĩavớ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ánkhắ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ầuriê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 đếnthô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ôngtin 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ốngkhá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íchhợ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ácnhau 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ựctí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ácnguồn thông tin [3], [5], [20], [29], [48], [49] Các ontology là mô hình biểu diễn cáckhá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ềunhà khoa học đã đi sâu nghiên cứu sử dụng ontology để giải quyết vấn đề không đồngnhấ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ềucù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 trongtí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ựatrên ontology bằng cách sử dụng hệ đơn ontology, đa ontology hoặc hệ ghép bao gồmcá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]
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ênontology 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
Trang 11hợ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 taxâ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âmtí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 Jadephụ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ựatrê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ụngphươ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ấuhì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ệngiao 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 tincủ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
Trang 12Chương 1 Tổng quan về 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ộtagent 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ủamộ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 agentkhác sử dụng ngôn ngữ tượng trưng
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ụctiêu hơn
Trang 13 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ệnban đầ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ácagent 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ươngtá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ó
Trang 14Cá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ựcthể 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ả conngườ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ầnmề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ếucá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ủaagent hiện không được hỗ trợ trong công nghệ hướng đối tượng Trong khi đó cácthuộ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ácmẫ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àntoà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ệphoặ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 trongmộ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ácphứ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êntrong 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 đã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ácphứ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ợpthô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:
Trang 15Một agent được xem là thích nghi nếu nó có khả năng đáp ứng lại các agentkhá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 ứnglạ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ìmkiế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ácagent 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ácagent 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ácagent 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ầnmề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ânlớ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à theodõ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 ditruyề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ảnphẩ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ácnhau, nó có thể gửi thông tin yêu cầu đến mỗi platform sử dụng kỹ thuật tương đươngvới một RPC (remote procedure call - gọi thủ tục từ xa) Tuy nhiên, nếu khối lượngthô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 ở
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ị kinhdoanh 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
Trang 16số ứ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ảiquyế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ốihợ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ươnglượ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ậngiố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 trongkhi 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úptă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ạnchế 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ôngminh là tương đương nhau Có lẽ đây chỉ là sự cố gắng để truyền tải thông tin rằngagent 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ácbả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 khinó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
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ốicù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ácagent
Các agent wrapper:
Trang 17Agent 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ềmkhông phải agent Các agent client gửi các lệnh tới agent wrapper và được gọi đếntrong 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ượngnhư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…
Được chuẩn bị cho những mục tiêu lớn lao nhưng hiện nay, công nghệ agentvẫ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ỳ đầuphát triển Dù đã được quảng cáo rộng rãi nhưng công nghệ agent chưa được sử dụngphổ 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ự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ôngnghệ 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ẫntồ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ânbằ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ớimộ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
Trang 18Agent 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 đượcdùng bởi các Websites thương mại để chào hàng, ví dụ như nếu bạn thích “FrankSinatra’s Greatest Hits” thì có thể bạn sẽ thích “Tony Bennett’s Songs for a SummerDay” Dựa trên Patti Maes hoạt động ở MIT Media Labs và sau đó là Firefly, cácagent 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 agentnà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ềunhấ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ẩmMicrosoft Office Các agent này sử dụng các mạng bayesean để phân tích và dự đoáncá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ácagent nguồn, các agent tài liệu, các agent xử lý v.v…
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 Tuynhiê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 đượcthừ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ụcthay đổi Từ thực tế đó nảy sinh nhu cầu thay đổi hành vi của các thực thể để đạt đượcmộ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ầncủ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 quantâ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
Trang 19tì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ếnthứ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ôngtin 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êngbiệ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ạiagent 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ănngườ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àmviệ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ậthọ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
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ìmhiể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ântá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êntụ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ácnơ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ậptớ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 giaothức truyền thông, và các ontology riêng để mô tả dữ liệu chứa trong các nguồn thôngtin 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ứcngữ nghĩa cao hơn
Trang 20Cá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ùngthao 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ườidùng, kiểm tra nó, và đưa ra hành động phù hợp Tuy các agent giao diện không trựctiế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ớnlao 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àngquan 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 nhauthà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ốnghướng dẫn thông minh và trợ giúp duyệt web Ngoài ra, Microsoft hiện đã gắn thêmcác agent giao diện vào trong các sản phẩm desktop để quan sát hành động của ngườidùng và đưa ra những gợi ý phù hợp tới người dùng
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ậptrì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ụngngôn ngữ KQML (Knowledge Query and Manipulation Language) [33] hoặc FIPAACL (Foundation Intelligent Physical Agen) [14], KIF (“Knowledge InterchangeFormat”) [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ênthị 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ễnphí 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ôngtuâ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àmviệ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ềnthô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ệnnay:
Trang 211.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ôngchỉ 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ềnthô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 (agentcommunication 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ằngcá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ảngiữ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ácagent là: KQML[33] (đây có lẽ là ngôn ngữ truyền thông agent được sử dụng rộng rãinhất), ARCOL (“ARTIMIS Communication Language”) [35] (ngôn ngữ truyền thôngdù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]
Hình 1.1 Một số công cụ phát triển hệ đa agent.
Trang 22(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êutri thức nào) Sự kết hợp của FIPA-ACL, ARCOL, và KQML hầu như đã tạo nên mộtchuẩ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ềnthô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
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ệtnhau 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ếnthứ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ỗiagent đề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ữngmố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 chungcủ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àyxả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…
Trang 231.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 đượcquả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ácquyề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ểmkhá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 takiể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ạyagent 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ảnăng chạy số lượng agent khổng lồ Yêu cầu đối với các môi trường hơi khác nhau vàcần phải xem xét cho phù hợp đối với từng hệ thống cụ thể
a, Thời gian tồn tại của agent
Các agent có thể tồn tại logic trong khoảng thời gian nó hiển thị hành vi im lìmkhông hoạt động Các giao diện hỗ trợ vòng đời của agent cần cân nhắc các yêu cầu về
sự tồn tại “logic” của rất nhiều agent trái với sự tồn tại vật lý trong bộ nhớ
Trong các hệ thống hiện đang hỗ trợ các agent “sống lâu” (long-lived), các
agent có thể “ngủ” và thường được lưu trữ trong ổ đĩa vật lý Khi agent tồn tại lâu dài,
dữ liệu và trạng thái hiện tại vẫn được duy trì và sẽ phục hồi lại khi agent “thức” Cómột trạng thái khác khi chuyển giữa trạng thái để agent ngủ và khi đánh thức nó dậy,
có thể truy vấn xem nó đang ở trong tình trạng nào, và khi agent đang thức dậy sẽ cóthông báo khoảng thời gian trôi qua và nó có thể đánh giá lại môi trường
Các hệ agent có thể có nhiều mô hình thông điệp trong khi agent “ngủ” Một sốcần mô hình kiểu sự kiện thô với các thông điệp được truyền đi một cách chắc chắn.Một số khác cần kiểu ngẫu nhiên khi một agent nhìn thấy một thông điệp quan trọng
có thể tác động đến thông tin Có nhiều kiểu thông điệp truyền trực tiếp giữa hai agent,với phương pháp store-and-forward và mô hình publish-and-subscribe Các sự kiện hệthống có thể được truyền qua các thông điệp hoặc một số cơ chế khác Phải thiết kếcác mô hình sao cho việc truyền thông điệp là tối ưu Tuy có nhiều mô hình khác nhaunhưng qua thời gian sẽ xuất hiện một số mẫu thiết kế nào đó
b, Quá trình hoạt động của agent
Cần thiết phải có các kỹ thuật ghi lại lịch sử các hành động của agent để trìnhđiều khiển hành vi của agent có thể kiểm tra lại và agent đó có thể đánh giá các hành
Trang 24động trong thời gian trước Lịch sử bao gồm một dãy các tình huống, từ trạng thái củamột agent để cung cấp các bản ghi ghi lại các sự kiện và hành động của agent.
c, Phân lớp động và đa phân lớp
Trong suốt vòng đời của mình, agent có thể hiển thị các giao diện động phảnánh các thay đổi trạng thái của nó hoặc môi trường Tùy theo từng hoàn cảnh mà cácvai trò hoặc hành vi của các agent cụ thể sẽ thay đổi Tức là mỗi agent có thể thay đổi
cả vai trò của nó (phân lớp động) và nó có thể đảm đương nhiều vai trò trong cùng mộtkhoảng thời gian nào đó (đa phân lớp) Đây là một vấn đề quan trọng vì hầu hết cácngôn ngữ và các phương pháp đều chưa trực tiếp hỗ trợ phân lớp động và đa phân lớp
1.3.3 Tính di động
Các agent cố định tồn tại như một quy trình đơn trên một máy tính chủ; cácagent di động có thể lấy lại và di chuyển mã của nó tới một máy chủ mới và tiếp tụcthực thi Lý do di chuyển là để cải thiện độ thực thi bằng cách chuyển agent tới gầncác dịch vụ sẵn có trên máy chủ mới Các agent di động cũng là một bộ phận của một
hệ agent có các agent cố định
Để thực thi các agent di động đòi hỏi một máy chủ agent để chạy các agent diđộng, cần phải có chính sách về bảo mật và thẩm định tính xác thực của mã di động vàcác vấn đề liên quan như: các agent đang ở đâu, làm thế nào để giao tiếp với agenttrong khi chúng đang di chuyển, làm sao để mang chúng về nếu mạng bị lỗi, liệu cóđảm bảo được rằng chúng biết cách tính “thời gian chờ” và tạm dừng tiến trình mộtcách hợp lý trong khi thực hiện các nhiệm vụ nhạy cảm về mặt thời gian không, nếuvẫn phải tiếp tục hoạt động trong mọi nghịch cảnh thì làm thế nào để biết được chúngvẫn đang tồn tại hay đã “chết”
1.4.1 Giới thiệu
Agent platform (nền tảng agent) là một kiến trúc kỹ thuật cung cấp môi trườngcho các agent tồn tại và hoạt động tích cực để đạt được mục tiêu của chúng Các agentplatform có thể hỗ trợ thêm sự phát triển của các agent và các ứng dụng dựa trên agent.Trong phần này của luận văn sẽ đưa ra xem xét và đánh giá 9 platform của agent theochuẩn FIPA
Trang 25Trong những năm gần đây, công nghệ agent, đặc biệt là các agent di động, trởthành một lĩnh vực gây chú ý trong khoa học máy tính Phát triển agent đang ngàycàng trở nên hứng thú, thậm chí trong cả lĩnh vực thương mại, do vậy việc tìm hiểu vềsức mạnh của agent và các tình huống sử dụng agent hiệu quả là việc làm cần thiết.Hiện có rất nhiều phương pháp, bộ công cụ và các platform khác nhau (trên 100 sảnphẩm phần mềm) Trong phần này của luận văn sẽ đưa ra xem xét và đánh giá 9platform agent chính dựa theo khuyến nghị của FIPA [15]
1.4.2 Các chuẩn agent
Ở đây chúng ta không tập trung vào giải thích và đánh giá cao tầm quan trọngcủa các chuẩn, mà tiêu chuẩn đầu tiên để chọn lựa ra agent platform phù hợp nhấtchính là sự tuân thủ theo các chuẩn agent của nền tảng đó
Chỉ có hai tổ chức quy định các chuẩn cho công nghệ agent, đó là: Foundationfor Intelligent Physical Agents (FIPA) và Object Management Group (OMG).FIPA đã công bố hai mươi ba đặc tả về tiêu chuẩn trong các lĩnh vực khác nhau củacông nghệ agent: truyền thông agent, quản lý agent, truyền thông điệp agent, kiến trúctrừu tượng agent, và các ứng dụng agent OMG cũng đã đặc tả trong tài liệu “Đặc tính
đa agent” (“Multi Agent Facility” (MAF) [30]) của họ về quản lý agent và các lĩnh vựckhác mà trong cách tiếp cận của FIPA chính là những thành phần cấu thành nên kiếntrúc trừu tượng như: tên agent và hệ thống agent, kiểu hệ thống agent, cú pháp định vị.Trong những phạm vi này thì cách tiếp cận của OMG không trừu tượng như của FIPA
và họ đề nghị sử dụng Common Object Request Broker Architecture (CORBA) [44].OMG thiên về các hoạt động từ dưới lên (bottom-up) trong khi FIPA thiên về các hoạtđộng từ trên xuống (top-down) Trước khi phát hành bản đặc tả FIPA 2000 thì sự khácbiệt lớn nhất so với đặc tả của OMG đó là, MAF nói về lĩnh vực di động của agenttrong khi đó FIPA không đề cập đến Tình thế thay đổi khi bản đặc tả FIPA 2000 bàn
về tính di động của agent và cố gắng tích hợp FIPA với MAF Tuy rằng sau đó người
ta không tán thành bản đặc tả đó, nhưng trên thực tế cả hai bản đặc tả của OMG vàFIPA đều đề cập đến tính di động của agent như nhau kể từ khi MAF kết thúc với bảnphát hành cuối cùng vào năm 2000 và dừng lại từ đó Mặt khác, FIPA vẫn đang hoạtđộng và hỗ trợ các chuẩn của nó và công nghệ agent bằng nhiều hành động khác nhau.Với các lý do trên, khi xem xét chọn lựa các agent platform chúng ta nên chọn các nềntảng tuân theo đặc tả FIPA
Trên trang chủ FIPA công bố danh sách các nền tảng tuân thủ theo đặc tả của
họ [15] bao gồm: Agent Development Kit [51], April Agent Platform [40], Comtec
Trang 26Agent Platform, FIPA-OS [12], Grasshopper [22], JACK Intelligent Agents [4], JADE[24], Java Agent Services API [26], LEAP (hiện nay là bộ phận con của JADE) vàZEUS [23] Mỗi nền tảng đều có phần mô tả ngắn gọn và có liên kết tới trang chủ của
nó trên mạng Tiếp theo là phần đưa ra các tiêu chí để chọn ra nền tảng thích hợp nhấttrong 10 agent platform theo chuẩn FIPA này Sau đây là phần trình bày một số tài liệunghiên cứu đánh giá các agent platform
1.4.3 Khảo sát các tài liệu nghiên cứu về agent platform
Hiện có một số tài liệu đánh giá các agent platform được viết bằng tiếng anh vàphổ biến rộng rãi [8], [10], [11], [41], [47] Các tài liệu này thể hiện các cách nhìnkhác nhau, độ phức tạp và mức độ toàn diện cũng khác nhau Ví dụ [8] đưa ra bộ tiêuchuẩn toàn diện bao hàm rất nhiều các yêu cầu riêng rẽ và các yêu cầu đặc biệt Tuynhiên, tài liệu nghiên cứu này đã có từ lâu (năm 1998) và các tác giả chỉ chú trọngtrình bày về platform Grasshopper mà không nói tới các platform theo chuẩn FIPAkhác Tài liệu [47] lại giới thiệu một cách tiếp cận khác, liên quan đến bốn giai đoạn
kỹ nghệ phần mềm: phân tích, thiết kế, phát triển và triển khai và đánh giá mức độ hỗtrợ của một agent platform đối với các giai đoạn này Cuối cùng, các tác giả luận bàn
về điểm mạnh và điểm yếu của 4 platform: AgentBuilder, JACK, MadKit và ZEUS.Tài liệu xuất bản [10] và [11] trình bày về các tiêu chí phổ biến như: tính tương thíchcủa các chuẩn, sự bảo mật, truyền thông và tính di động của agent (di động mạnh – hệthống có khả năng di chuyển mã nguồn và trạng thái thực hiện của từng đơn vị thực thi– hoặc di động yếu – chỉ có khả năng di chuyển mã nguồn) Ngoài ra, tài liệu [27]quan tâm đến vòng đời của agent và tiêu chuẩn về sản phẩm, trong khi [28] đánh giácác vấn đề liên quan đến tính sẵn sàng, khả dụng, tài liệu và phát triển (các đề án pháttriển/ các ứng dụng thực tế) của các agent platform Tài liệu [11] chủ yếu tập trungđánh giá các platform theo chuẩn FIPA, sau khi khảo sát, các tác giả khuyến nghị nên
sử dụng Grasshopper, JADE và Aglets (Aglets không theo chuẩn của FIPA) Trongtài liệu nghiên cứu [41], các tác giả đánh giá 3 platform là JADE, Tryllian và SAP (2platform đầu tiên nằm trong danh sách của FIPA) với các tiêu chí khác nhau về mức
độ thực thi
Lĩnh vực công nghệ agent thay đổi rất nhanh chóng, có thể xảy ra trường hợpcác platform từ năm trước sang năm sau đã không còn được duy trì nữa, thậm chí làkhông thể sử dụng được nữa Bởi vì công nghệ tương đối mới lạ và chủ yếu dùng ởgiai đoạn nghiên cứu Số lượng các platform được phát hành bởi các phòng thí nghiệmcủa các công ty hoặc các trường đại học hay viện nghiên cứu là khá lớn Ý thức đượcđiều này nên không ai chỉ dựa vào các công trình trước đó mà chọn được agent
Trang 27platform thích hợp nhất Kiến thức phải được cập nhật thường xuyên và thông tin vềcác platform vẫn có trên thị trường Dưới đây là phần đánh giá các agent platform dựatrên bảng các câu hỏi sau:
Platform hiện còn được duy trì không?
Nhóm nghiên cứu phát triển ra platform này có còn hoạt động không?
Platform có đang được tiếp tục phát triển không?
Platform này có phổ biến không? Có được sử dụng rộng rãi không?
Platform có dễ dàng truy cập được không?
Ngày phát hành phiên bản mới nhất của platform này là khi nào?
Platform này có phiên bản gọn nhẹ không?
Khả năng dùng sẵn của platform đến đâu?
Trong phần tiếp theo của luận văn sẽ trình bày các bảng biểu minh họa cho kếtquả đánh giá các platform dựa theo các tiêu chí ở trên
1.4.4 Kết quả đánh giá các agent platform
Như đã trình bày trong phần trước của luận văn, có một số tiêu chí để đánh giácác agent platform, sau khi đã tìm hiểu thực tế tôi xin trình bày kết quả đánh giá 9platform theo khuyến nghị của FIPA dựa theo các tiêu chí trên
Tiêu chí 1: xác định xem các platform này hiện còn được duy trì hay không.Bảng 1.1 sẽ so sánh mức độ duy trì hiện nay của 9 platform trên
Bảng 1.1 So sánh mức độ bảo trì của các agent platformAgent Development Kit Có
April Agent Platform Không Phiên bản cuối cùng phát hành tháng 10/2002
Comtec Agent Platform Không truy cập được vào địa chỉ URL như đã công bố
trên trang chủ của FIPA
Grasshopper Không có hoạt động nào kể từ tháng 11/2003
Trang 28JACK Intelligent Agents Có, vẫn duy trì, nhưng là sản phẩm thương mại
Như vậy, các kết quả trong bảng 1.1 cho thấy hiện nay chỉ có ADK, JACK vàJADE hiện đang tiếp tục được bảo trì, các platform còn lại hoặc là không truy cậpđược vào website hoặc là trên thực tế không có hoạt động nào chứng tỏ vẫn đang tiếptục được bảo trì
Tiêu chí 2: Nhóm nghiên cứu phát triển ra platform này có còn hoạt độngkhông Kết quả so sánh mức độ tích cực của các platform được thể hiện trong bảng1.2
Bảng 1.2 So sánh mức độ tích cực của các platform
Agent Development Kit Có Tryllian là công ty thương mại tạo ra các adaptive
enterprises thông qua Bộ tích hợp quy trình kinh doanhphân tán (Distributed Business Process Integration Suite).Bằng cách sử dụng các dịch vụ và công nghệ Java, Trylliantạo điều kiện cho các cộng đồng kinh doanh và các tổ chứcliên hợp hoạt động nhanh nhạy và thuận tiện hơn
April Agent Platform Không hoạt động từ khi phát hành phiên bản cuối cùng
tháng 10/2002Comtec Agent Platform Không Cả nên tảng này và các thông tin liên quan đến nó
đều không truy cập được
FIPA-OS Không Từ năm 2003 Emorphia tập trung vào việc hỗ trợ
các công việc quản trị liên quan đến sự cộng tác giữa ngườivới người, đặc biệt là đàm phán và điều phối cuộc họpGrasshopper Không Hoạt động gần đây nhất là từ tháng 10/2003 IKV+
+ là một công ty cung cấp cho các khách hàng thương mạidịch vụ tư vấn, công nghệ thông tin và các giải pháp chuyênbiệt để dự phòng cho các dịch vụ truyền thông và thông tinJACK Intelligent
Agents
Có AOS là nhà phát triển và cung cấp sản phẩm phần mềm
để xây dựng và triển khai các ứng dụng hướng agent
Trang 29JADE Có JADE-Board là một tổ chức phi lợi nhuận với sứ mệnh
thúc đẩy JADE tiến triển và được công nhận bởi ngànhcông nghiệp truyền thông di động như là một phần mềmsụn chuẩn dựa trên java (java-based de-facto standardmiddleware) cho các ứng dụng dựa trên agent trong lĩnhvực truyền thông cá nhân di động JADE Board hiện có bathành viên là: TILAB (Telecom Italia Lab), Motorola, vàWhitestein Technologies AG
JAS (Java Agent
Services API)
Có thể Trên trang chủ của Java Community Process thôngbáo là họ đang tiếp tục làm việc với JAS, tuy nhiên tài liệumới nhất của là từ ngày 20/3/2002
ZEUS Không, phiên bản mới nhất phát hành từ tháng 1/2006
Kết quả so sánh trong bảng 1.2 cho thấy hiện nay chỉ có ADK, JACK và JADE
là vẫn đang hoạt động tích cực, ngoài ra cũng có thể các nhà nghiên cứu đang tiếp tụcphát triển JAS như thông báo trên trang chủ của họ, tuy nhiên khả năng lớn là họkhông tiếp tục nghiên cứu nữa nữa vì tài liệu “mới nhất” của họ đã phát hành cách đâygần 8 năm
Tiêu chí 3: Xác định xem platform có đang được tiếp tục phát triển không.Bảng 1.3 xin là kết quả so sánh 9 platform theo tiêu chí này
Bảng 1.3 So sánh mức độ cập nhật của các platformAgent Development Kit Có
April Agent Platform Không có thông tin mới nào chứng tỏ nó vẫn đang được
phát triển, kể từ phiên bản mới nhất ra tháng 10/2002Comtec Agent Platform Không Không truy cập được bất kỳ thông tin nào
FIPA-OS Không có thông tin mới nào chứng tỏ nó vẫn đang được
phát triển kể từ khi phát hành phiên bản gần đây nhất
Grasshopper Không có thông tin mới nào chứng tỏ nó vẫn đang được
phát triển kể từ khi phát hành phiên bản gần đây nhất
JACK Intelligent Agents Có
Trang 30JAS (Java Agent Services
API)
Không có bản thực thi JAS nào
ZEUS Không có thông tin mới nào chứng tỏ nó vẫn đang được
phát triển kể từ khi phát hành phiên bản gần đây nhất
Kết quả trong bảng 1.3 cũng tương tự như bảng 1.1 và bảng 1.2, chỉ có ADK,JACK và JADE là vẫn đang tiếp tục được phát triển Các platform còn lại đều không
có thông tin nào cho thấy hiện vẫn đang tiếp tục nâng cấp và ra phiên bản mới
Tiêu chí 4: Nền tảng có phổ biến không? Có được sử dụng rộng rãi không?.Bảng 1.4 là kết quả so sánh các platform theo tiêu chí 4:
Bảng 1.4 So sánh mức độ phổ biến của các platform
Agent Development Kit Tryllian thông báo tới các công ty đối tác của họ nhiều hơn
tới người dùng
April Agent Platform Khoảng 10.000 lần tải về
Comtec Agent Platform Không Không truy cập được bất kỳ thông tin nào
FIPA-OS Khoảng 66.000 lần tải về
Grasshopper Không cung cấp thông tin nào
JACK Intelligent
Agents
Nhóm AOS thông báo tới các công ty đối tác của họ hơn làtới người sử dụng JACK đã thiết lập cơ sở khách hàngkhắp toàn cầu với doanh thu từ Mỹ, Anh và Australia.JACK hỗ trợ sản phẩm của họ trên toàn thế giới
JADE Hiện đang là platform được sử dụng rộng rãi nhất cho mục
đích nghiên cứu
JAS (Java Agent
Services API)
Không có bản thực thi JAS nào
Theo kết quả so sánh của bảng 1.4, một số platform thương mại không quá chútrọng vào người dùng thông thường mà chỉ chú ý tới các đối tác của họ, do vậy màkhông phải ai cũng biết đến các platform này, ngược lại, một số platform mã nguồn
mở cho người dùng tải về miễn phí như AAP, FIPA-OS, JADE, ZEUS… và có lẽJADE được coi là platform phổ biến nhất hiện nay
Trang 31Tiêu chí 5: platform có dễ dàng truy cập không? Bảng 1.5 đánh giá mức độ
truy cập thông tin của các platform:
Bảng 1.5 So sánh mức độ truy cập thông tin của các platform
Agent Development Kit Có, vào trang chủ ADK để biết thêm thông tin về ADK
phiên bản 3.2: http://www.tryllian.org/
April Agent Platform Có Ở trang web SourceForge:
http://sourceforge.net/projects/networkagent/
Comtec Agent Platform Không, không thể truy cập được
FIPA-OS Có Ở trang web SourceForge:
http://sourceforge.net/projects/fipa-os/
Grasshopper Không có bất kỳ thông tin nào
JACK Intelligent Agents Có, ở trang chủ của JACK, bắt buộc phải là điền vào mẫu
đăng ký trở thành thành viên
http://www.aosgrp.com/products/jack/registration/
regform.htmlJADE Có, ở trang chủ của JADE, bắt buộc phải là điền vào mẫu
đăng ký trở thành thành viên mới tải về được
Tiêu chí 6: ngày phát hành phiên bản mới nhất của nền tảng này là khi nào?
Bảng 1.6 là kết quả so sánh thời gian phát hành phiên bản mới nhất của các platform ởtrên:
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
Trang 32Agent Development Kit Phiên bản 3.2.
April Agent Platform Ngày 17/10/2002, phiên bản 4.4.4
Comtec Agent Platform Không truy cập được
FIPA-OS Ngày 18/03/2003 Phiên bản: 2.2.0
Grasshopper Phiên bản 2.2.4 Không truy cập được
JACK Intelligent Agents Phiên bản: 4.1
JADE Phiên bản 3.7 ngày 02/07/2009
JAS (Java Agent Services
API)
Hoạt động cuối cùng của JAS kết thúc ngày 19/5/2002
Kết quả so sánh trong bảng 1.6 cho thấy thời gian phát hành phiên bản mới nhấtcủa JADE và ZEUS là gần đây nhất, đặc biệt là các nhà phát triển JADE liên tục cậpnhật sản phẩm của họ lên các phiên bản cao hơn
Tiêu chí 7: Platform này có phiên bản gọn nhẹ không Với việc cung cấp các
phiên bản gọn nhẹ sẽ giúp cho người dùng có nhiều tùy chọn sử dụng hơn, họ có thểchọn phiên bản này dùng cho thiết bị di động hoặc các máy tính cấu hình thấp… Bảng1.7 thể hiện kết quả so sánh các platform theo tiêu chí này:
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
Agent Development Kit Không
April Agent Platform Không
Comtec Agent Platform Không
Trang 33Kết quả của bảng 1.7 cho thấy chỉ có FIPA-OS, JACK và JADE hiện có phiênbản gọn nhẹ mà thôi.
Tiêu chí 8 Khả năng dùng sẵn của platform đến đâu? Kết quả so sánh khả
năng dùng sẵn của các platform thể hiện trong bảng 1.8
Bảng 1.8 So sánh khả năng dùng sẵn của các platformAgent Development Kit Có thể phải trả tiền bản quyền thương mại
April Agent Platform Mã nguồn mở Lesser General Public License (LGPL).Comtec Agent Platform Không có
FIPA-OS Mã nguồn mở Công khai
Grasshopper Không có
JACK Intelligent Agents Phải đăng ký Miễn phí phiên bản dùng thử Phiên bản
thương mại phải trả tiền Phiên bản nâng cao được chiếtkhấu
JADE Mã nguồn mở GNU General Public License Bắt buộc
phải đăng ký trở thành thành viên để tải về
JAS (Java Agent Services
dự báo trước sự phát triển của các thiết bị di động thì sự xuất hiện của phiên bản gọnnhẹ là khá quan trọng Và với JADE cũng đã có phiên bản gọn nhẹ là LightweightExtensible Agent Platform (LEAP) JADE hiện vẫn đang được duy trì và phát triểnliên tục, không chỉ bởi các nhà phát triển của Telecom Italia Lab (Tilab), là nơi khởi
Trang 34đầu hình thành nên JADE, mà còn có sự đóng góp của nhiều thành viên cộng đồngJADE Việc truy cập JADE cũng rất dễ dàng và thuận lợi Những người phát triển vàngười dùng có thể tải về không chỉ phiên bản hiện tại mà còn cả những bức ảnh chụpgần đây về những cải tiến mới của môi trường Ngoài ra, JADE hỗ trợ phát triển cácontology thường dùng để biểu diễn tri thức của agent Có thể thiết kế các ontologybằng Protégé [46] và sau đó sử dụng các plugin cho Protégé như BeanGenerator hayJadeJessProtege để chuyển đổi sang các lớp Java tương thích với JADE.
Trang 35Chương 2 Tích hợp thông tin
2.1 TỔNG QUAN VỀ TÍCH HỢP THÔNG TIN
2.1.1 Khái niệm tích hợp thông tin
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íchhợ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ácnhau 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] Các đặc điểm của hệ thống tích hợp thông tin bao gồm:
Các nguồn thông tin là phân tán Các nguồn thông tin này có thể các cơ sở dữ
liệu trong các hệ thống khác nhau, cũng có thể là các trang Web ở các địa chỉ khácnhau, hoặc cũng có thể là những con người với các quan điểm khác nhau về một vấn
đề nào đó
Các nguồn thông tin là không đồng nhất Sự không đồng nhất này thể hiện ở cả
ngôn ngữ biểu diễn và từ vựng biểu diễn thông tin Các nguồn thông tin có thể có ngônngữ biểu diễn khác nhau, ví dụ CSDL của một nguồn được biểu diễn theo dạng XMLnhưng một nguồn thông tin khác lại được biểu diễn theo CSDL quan hệ Các nguồnthông tin cũng có thể sử dụng các từ vựng khác nhau để cùng biểu diễn một thông tin
Ví dụ, cùng là khái niệm giá tiền nhưng khi đó là thông tin về ô tô thì giá được biểu diễn là giá ô tô (car_cost), còn nếu đó là thông tin vé của tàu hoả lại được biểu diễn là
Với các đặc điểm như trên, việc xây dựng các hệ tích hợp thông tin yêu cầu
kiến thức về nhiều lĩnh vực khác nhau như lý thuyết về CSDL, các phương pháp ước
lượng, lý thuyết về ngôn ngữ và biểu diễn thông tin, …
2.1.2 Các mức độ tích hợp thông tin
Theo Khaled Bashir Shaban [31], tích hợp thông tin được chia thành ba mứcdựa trên đặc điểm đầu vào và đầu ra của quá trình tích hợp như sau:
Trang 36Mức 1: Tích hợp dữ liệu (Data Fusion) Đây là mức thấp nhất Trong mức này,
đầu vào là các bản ghi dữ liệu Đầu ra cũng có dạng các bản ghi hoặc một dạng caohơn nhưng vẫn đóng vai trò là dữ liệu cung cấp cho một ứng dụng nào đó
Mức 2: Tích hợp thông tin (Information Fusion) Trong mức này, cả đầu vào và
đầu ra của quá trình tích hợp đều là thông tin (information), tức là một cấu trúc đầy đủ,
tập hợp từ các bản ghi dữ liệu Mức này xảy ra với các hệ thống nhiều nguồn dữ liệu
mà cấu trúc của các nguồn dữ liệu này là khác nhau và mỗi nguồn thông tin không thểtách ra từ một nguồn khác
Mức 3: Tích hợp quyết định (Decision Fusion) Đây là mức tích hợp thông tin
cao nhất Đầu vào của hệ thống này có thể là thông tin, dữ liệu, hoặc các quyết định
(được biểu diễn theo một dạng cụ thể nào đó) từ các hệ thống khác nhau Nhiệm vụcủa hệ tích hợp thông tin ở mức này là phải đưa ra tập quyết định phục vụ yêu cầu đặt
ra của hệ thống Có thể nói tích hợp quyết định ở mức trừu tượng cao hơn hai mứctrước, do đó nó bao hàm cả hai mức trên Một điểm khác nhau nữa, nếu như ở mức 1
và mức 2 vẫn có những trường hợp quá trình tích hợp thông tin không thực hiện được(do không thoả mãn các điều kiện nào đó) thì mức 3 sẽ luôn được thực hiện vì nókhông phụ thuộc vào bản chất và đặc điểm của các nguồn thông tin
Tuy chia làm ba mức như trên nhưng trên thực tế một hệ tích hợp thông tinthường có đủ cả ba mức Các mức thấp, do đó, sẽ làm cơ sở cho các mức cao hơn
Luận văn dùng thuật ngữ tích hợp thông tin để thay cho cả ba mức tích hợp thông tin
trên
2.1.3 Các phương pháp tích hợp thông tin
Nhu cầu tích hợp thông tin trong các hệ thống thông tin, nhất là trên môi trườngInternet, rất lớn Nhiều nghiên cứu về tích hợp thông tin đã được tiến hành [3], [5], [4],[20], [48], [49] Các nghiên cứu này đưa ra một loạt các phương pháp tích hợp thôngtin, mỗi phương pháp lại phù hợp với một dạng hệ thống (và các nguồn thông tin) cụthể nào đó Trong phần này, luận văn sẽ trình bày một số phương pháp tích hợp thôngtin theo cách phân loại dựa trên kỹ thuật tích hợp
2.1.3.1 Tích hợp thông tin dựa trên ước lượng không chắc chắn
Hiểu một cách đơn giản, tích hợp thông tin dựa trên ước lượng không chắc chắn
là phương pháp tính toán độ phù hợp của các thông tin thu thập được với yêu cầu củangười dùng hoặc ứng dụng cụ thể, sau đó chọn ra thông tin có độ phù hợp cao nhất Để
Trang 37tính toán độ phù hợp, các phương pháp thuộc dạng này sử dụng các ước lượng khôngchắc chắn
Trong các ứng dụng tìm kiếm truy xuất thông tin trên Web quen thuộc như
Yahoo, Google, Alta Vista… độ phù hợp của một thông tin được tính qua hai tham số
là độ chính xác (precision) và khả năng thu hồi (recall) [38] Từ yêu cầu tìm kiếm thông tin của người dùng, hai tham số trên sẽ được tính toán Độ chính xác thay thế cho các văn bản phù hợp nhất với người dùng trong tập các văn bản ban đầu Khả
năng thu hồi thay thế cho phần phù hợp nhất bên trong các văn bản tìm được đó Kết
quả trả về sẽ dựa trên cả hai tham số này
Trong [31] lại trình bày một phương pháp tích hợp thông tin khác sử dụng hệ đaagent Với mục đích tích hợp và truy xuất các nguồn thông tin trên Internet nhằm tìm
ra thông tin phù hợp nhất với người dùng, hệ tích hợp thông tin sẽ được tổ chức thànhmột nhóm các agent khác nhau, mỗi agent có chức năng thu thập thông tin tại mộtnguồn nhất định Phương pháp tích hợp thông tin được đưa ra là tổ chức các agent
thành các nhóm đồng hướng (team consensus) bao gồm các agent cùng thu thập thông
tin cho một yêu cầu của người dùng Các agent trong mỗi nhóm này sẽ thu thập thôngtin từ nguồn của mình sau đó thông tin sẽ được ước lượng giá trị theo một phươngpháp ước lượng không chắc chắn (ước lượng mờ) dựa trên các điều kiện không chắcchắn của agent đó Cuối cùng, các giá trị thông tin sẽ được tính toán, so sánh và lựachọn theo một thuật toán tích hợp và hệ thống sẽ đưa ra quyết định lựa chọn thông tinphù hợp nhất với người dùng
Nói chung, các phương pháp tích hợp thông tin sử dụng ước lượng không chắcchắn đều cần thuật toán tích hợp thông tin phức tạp Mặt khác, việc tính toán độ phùhợp của thông tin chưa tính đến sự không đồng nhất về ngữ nghĩa thông tin Theo nhậnđịnh của Morgan Benton và Benjamin K.Ngugi [38] thì phương pháp tính toán độ phù
hợp dựa trên hai độ đo: độ phù hợp và khả năng thu hồi có bản chất là so sánh từng
bít, do đó không so sánh được ngữ nghĩa thông tin
2.1.3.2 Tích hợp thông tin dựa trên các ràng buộc dữ liệu
Một dạng phương pháp tích hợp thông tin khác là dựa trên các ràng buộc dữliệu Các phương pháp thuộc dạng này được áp dụng cho hệ thống bao gồm các nguồnthông tin biểu diễn dưới dạng các hệ CSDL và cấu trúc, ràng buộc trong các hệ CSDLnày là có thể biết được Mục đích của các hệ thống này là trả lời các truy vấn củangười dùng về thông tin trong nhiều nguồn khác nhau mà không cần truy nhập trựctiếp vào tất cả các nguồn thông tin này Tiêu biểu cho phương pháp tích hợp thông tin
Trang 38thuộc loại này là phương pháp dùng cho hệ thống IBIS (Internet_based Information
System) [5].
Phương pháp tích hợp thông tin được đưa ra dựa trên bộ ba lược đồ (G, S, M)được xây dựng từ các nguồn thông tin cần tích hợp:
Lược đồ toàn cục (global schema) G: giống như lược đồ quan hệ trong lý thuyết
về CSDL, mô tả các ràng buộc nhất quán, các ràng buộc khoá và các yêu cầu về tínhđộc lập giữa các nguồn thông tin
Lược đồ nguồn thông tin (source schema) S: Mô tả cấu trúc của tập các nguồn
thông tin cần tích hợp trong hệ thống
Các ánh xạ M : bao gồm các ánh xạ được thiết lập giữa lược đồ toàn cục và các
lược đồ nguồn thông tin
Trên cơ sở xem xét các ràng buộc được định nghĩa trong G và cấu trúc biểudiễn trong S, người thiết kế hệ thống sẽ xác định các ánh xạ tương ứng giữa các thựcthể thông tin trong các nguồn thông tin (ở đây là các CSDL)
Phương pháp này có ưu điểm là biểu diễn được ngữ nghĩa thông tin thông qua
bộ ba (G, S, M) nhưng nhược điểm là cần biết cấu trúc và ràng buộc của các CSDLtrong hệ thống Điều này không phải lúc nào cũng thực hiện được
2.1.3.3 Tích hợp thông tin tự động dựa trên ontology
Nhiều nghiên cứu khác nhau đã khẳng định phương pháp tích hợp thông tin dựatrên ontology có một số ưu điểm so với hai dạng phương pháp đã trình bày ở trên [3],[20], [49] Thay vì sử dụng các ước lượng không chắc chắn hoặc các lược đồ CSDL,
các phương pháp dựa trên ontology sử dụng một cấu trúc phân lớp các khái niệm,
thuật ngữ và các quan hệ giữa các khái niệm đó gọi là ontology để biểu diễn các
nguồn thông tin cần tích hợp (cả nội dung và ngữ nghĩa thông tin) Thông qua tươngtác giữa các thành phần dựa trên ontology, thông tin từ các nguồn được tích hợp
Vì ontology biểu diễn ngữ nghĩa thông tin thông qua các khái niệm và các mốiquan hệ giữa các khái niệm nên phương pháp tích hợp thông tin dựa trên ontology giảiquyết được vấn đề không đồng nhất về ngữ nghĩa thông tin Quá trình tích hợp thông
tin sẽ diễn ra một cách tự động thông qua việc xác định các ánh xạ tương đương hoặc
không tương đương giữa các khái niệm trong các ontology khác nhau.
Trang 39Có nhiều nghiên cứu khác nhau về tích hợp thông tin dựa trên ontology trong
hệ đa agent [3], [29], [20], [49] Trong các nghiên cứu này, Agustina Buccella [3] và
H Stuckenschmidt [20] xây dựng phương pháp tích hợp thông tin sử dụng bộ từ vựng
chung (shared vocabulary) còn Soe-Tsyr Yuan [49] xây dựng phương pháp tích hợp
thông tin sử dụng agent trung gian Luận văn sẽ tập trung tìm hiểu ontology và môhình tích hợp thông tin dựa trên ontology sử dụng bộ từ vựng chung của H.Stuckenschmidt [20]
2.2.1 Hệ đa agent
Nhiều agent thương mại trước đây được phát triển để tìm kiếm thông tin Mỗiagent riêng biệt chạy trong một phạm vi để thu thập một số kiểu thông tin nhất địnhnào đó và trả về thông tin tới người yêu cầu Nói cách khác, các agent này hoạt độngđơn lẻ một mình và rất ít khi tương tác với các agent khác (nếu có) Cách tiếp cận nhưvậy chắc chắn sẽ có những lợi ích của nó Tuy nhiên, nếu nhìn vào thế giới con ngườithực, cách tiếp cận đơn độc như thế sẽ không thể xây dựng được mạng xã hội hoặc cókhả năng hỗ trợ mọi người đến và tham gia các tổ chức Thay vào đó, chúng ta thiếtlập các mạng có thể tương tác lẫn nhau phục vụ cho nhiều mục đích Tương tác giữacác agent chưa đủ để xây dựng xã hội agent, chúng ta cần các agent có thể phối hợpvới nhau – dù là cộng tác, cạnh tranh hay tổ hợp của cả hai Các “xã hội” agent nàyđược gọi là hệ đa agent (multiagent systems – MAS) Vậy các hệ đa agent là các hệthống bao gồm các agent kết hợp trong mối quan hệ với các agent khác và tương tácvới nhau theo một cách nào đó
Các đặc điểm của các hệ đa agent:
Một agent có thể làm mọi thứ, nhưng các agent chậm chạp (fat agents) sẽ giảm
về tốc độ, độ tin cậy, khả năng bảo trì, v.v…(tức là không có các agent tuyệt đối).Phân chia chức năng giữa các agent sẽ tăng tính mô đun, tính linh động, dễ sửa đổi và
Trang 40Để hỗ trợ các hệ đa agent cần phải thiết lập một môi trường thích hợp Các môitrường MAS phải cung cấp một cơ sở hạ tầng có các giao thức tương tác và truyềnthông, thường xuyên mở hoặc thiết kế tập trung và có các agent tự chủ, thích nghi,phối hợp.
2.2.2 Mối quan hệ giữa hệ đa agent và tích hợp thông tin
Như đã trình bày trong chương 1, các hệ đa agent là các hệ thống bao gồm cácagent kết hợp trong mối quan hệ với các agent khác hoạt động tự chủ, thích nghi vàphối hợp với nhau, các hệ đa agent hỗ trợ tốt các ứng dụng đòi hỏi tính toán phân tán
và cũng rất phù hợp với các ứng dụng tích hợp thông tin bởi các nguyên nhân sau:
Mỗi agent trong hệ đa agent thường đại diện cho một thành phần hay mộtnguồn thông tin nào đó trong hệ thống Do đó, các mô hình tương tác giữa các agent sẽ
là cơ sở để tích hợp thông tin trong hệ thống
Đặc điểm của mỗi agent trong hệ đa agent là chủ động và hướng đích Các
agent trong hệ thống do vậy sẽ luôn hành động hướng tới đích riêng của mình và chủđộng trong việc tìm các thông tin cần thiết để quyết định hành động tiếp theo cần thựchiện Đó cũng là một trong những đặc trưng của hệ tích hợp thông tin
Tương tác trong hệ đa agent sử dụng ontology Ontology có vai trò quan trọng
trong việc biểu diễn thông tin và tri thức của miền tri thức mà agent quan tâm Do đó,thông qua tương tác, các agent sẽ trao đổi thông tin và tri thức giữa các nguồn thôngtin Đây chính là cơ sở để giải quyết vấn đề không đồng nhất giữa các nguồn thông tintrong tích hợp thông tin
Hệ đa agent có tính động Điều này phù hợp với sự thay đổi, thêm bớt các
nguồn thông tin trong hệ thống tích hợp thông tin Hơn nữa, các agent luôn sống (chạy
không ngừng) Do vậy hệ đa agent sẽ luôn cập nhật được những thay đổi của các
nguồn thông tin cần cho việc tích hợp
Xét theo chiều ngược lại, tích hợp thông tin cũng là một yêu cầu tất yếu đặt racho các hệ phần mềm đa agent Điều này được thể hiện qua các điểm sau:
Các agent trong hệ đa agent là độc lập và nắm giữ một nguồn thông tin hạn chế (hoặc một tài nguyên hạn chế) Chúng bắt buộc phải tương tác với các agent khác
để hướng tới đích riêng của mình Bản chất của các tương tác này chính là quá trìnhgửi và nhận thông tin giúp các agent ra quyết định về hành động tiếp theo nhằm hướngtới đích