Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Kỹ thuật - Công nghệ Agent và ứng dụng trong vấn đề trích chọc thông tin...

Tài liệu Agent và ứng dụng trong vấn đề trích chọc thông tin

.PDF
115
12
60

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN THỊ MAI THƯƠNG AGENT VÀ ỨNG DỤNG TRONG VẤN ĐỀ TRÍCH CHỌC THÔNG TIN Chuyên ngành: Công nghệ thông tin Mã số: 1.01.10 LUẬN VĂN THẠC SĨ Người hướng dẫn khoa học: PGS.TS: Nguyễn Văn Vị Hà nội- 2006 Hà Nội - 2010 M Ụ C LỤ C O 1 2 4 4 5 6 6 7 1 1 1 1 1 1 1 1 9 2 ^ ^ 2 5 6 6 8< p l l 3 7 8 9 2 2 2 3 1 7 0 9 0 9a ợ 2 2 2 2 2 2 3 3 ^0 > < ^ 3 4 4 4 4 今 LỜI CẢM Ơ N ...................................................................................... MỜ Đ Ầ U ......................................................................................... Chương 1. Giới thiệu....................................................................... 1.1 Tong quan................. ........................... ....... ......................... 1.2. Lý do lựa chọn cách tiếp cận kỹ nghệ phần mềm hướng agent 1.2.1. Kỹ nghệ phần mềm là g ì................ ................................ 12 2 . Các thử thách trong kỹ nghệ phần mềm ........................... 1.2.3. Quản lý sự phức tạp trong kỹ nghệ phần mềm................ 1.2.4. Tính toán dựa trên agent................................................. 1.3. Động lực................................................................................ 1.4. Mục tiêu................................................................................ 1.5. Tóm tắt khung luận văn......................................................... Chirơng 2. TỔNG QUAN VỀ AGENT............................................ 2.1. Giới thiệu.............................................................................. 2.2. Khái niệm agent.................................................................... 2.3 Các đặc điểm của agent phần mềm thông m inh...................... 2.4. Phân loại agent...................................................................... 2.5. Phân biệt agent thông minh và các hệ thống khác.................. 2.5.1. Agent và Agent thông minh............................................ 2.5.2. Agent thông minh và các đối tượng................................. 2.5.3. Agent thông minh và hệ chuyên gia................................. 2.6. Vai trò và phạm vi ảnh hưởng............................................... 2.6.1. Vai trò............................................................................. 2.6.2. Các lĩnh vực ảnh hường.................................................. 二 7. Khả năng ứng dụng................................................................ 2.7.1 Các đặc điểm của lĩnh vực ứng dụng Agent..................... a) Giải quyết các vấn đề mới m ẻ........................................ b) Cải thiện hiệu quả của phát triển phần mềm.................. c) Các lĩnh vực hạn chế của giải pháp agent...................... 2.7.2. Các miên ứng dụng agent................................................ 2.7.2.1 Các ứng dụng công nghiệp..................................... 2.122 Các ứng dụng thương m ại...................................... 2J.2.3 Các ứng dụng y học............................................... 2.7.2.4 Giải trí:“ “ :••二 …:............................. .................. .. 28. Triên vọng và tiêm năng phát triên agent trong tương la i....... C m PTER 3: K Ỹ NGHỆ PHAN MỀM HƯỚNG A G E N T ............. 3.1 TỔNG QUAN VỀ K Ĩ NGHỆ PHẦN MỀM HƯỚNG AGENT 2.1.1. Giới thiệu .............................................................. 3.1.2. Kỹ nghệ phần mềm hướng agent và hướng đối tượng : 7 55 6^ò7777lst^òòòòòdoò86òòò8òo88860 仏 õo9 9 999d^òN Ờ N Ò N Ò ^ữ 1 L 3.1.3. Phạm vi áp dụng................................................................................... 3.2. Mô hình hỏa agent ................................................................................... 3.3. Phân tích và thiết kế agent....................................................................... 3.4. Cài đặt agent........................................................................................... 3.4.1. Các nền agent (Agent platforms)....................................................... 3.4.2. Các kiến trúc agent............................................................................ a) Agent thảo luận và agent tương tác (Deliberative and proactivity).... b) Agent phản ứng (Reactivity agent).................................................. c) Các kiến trúc hiện hành.................................................................... 3.4.3. Từ đặc tả sang cài đặt........................................................................ a) Thực thi trực tiếp đặc tả agent.......................................................... b) Biên dịch các đặc tả agent................................................................ 3.5. Kiểm thử và bảo tr ì.................................................................................. 3.6. Tổng kế t.................................................................................................. CHƯƠNG 4 .................................................................................................. ..... CÀI ĐẶT THỬ NGHIỆM.................................................................................. AA. Lĩnh vực thử nghiệm................................................................................ 々 2. Mục tiê u................ ....... ........................................... ............................... A3, Thử nghiệm phát triển phần mềm hướng agent......................................... 4.3.1. Nội dung thử nghiệm........................................................................ 4.3.2. Phương pháp phát triển............................................. ........................ 4.3.3. Các bước thử nghiệm .......... ....................................... ;..................... 4.3.4. Lý do lựa chọn cách tiếp cận hướng agent cho phát triển hệ thống thử nghiệm..................................................................... 4.3.5. Mục tiêu thử nghiệm...................................... 4.3.6. Khảo sát....................... .................................. 4.3.7. Phân tích và đặc tả hệ thống............................ a) Các yêu cầu tính năng của hệ thống.............. b) Các yêu cầu chức năng của hệ thống............ c) Kịch bản use case và mô tả kịch bản............. d) Tổ chức dữ liệu............................................. 4.3.8. Thiết kế........................................................... a) Thiết kế kiến trúc.......................................... b) T hiết kế chi tiế t.................................................... 4.3.9. Cài đặt................. ....................... . . . . 4.3.10. Kết luận, đánh giá và định hướng nghiên cứu KẾT L U Ậ N ........••........................ :................................. MIÍC LỤ C ................ .............................................. TÀ[ LIỆU THAM K H Ả O ............................................... 5 : M Ở ĐÀU Trong những năm gần đây, các tổ chức làm phần mềm ở nước ta phát triển rất nhanh do nhu cầu phát triển phần mềm là rất lớn. Cũng như trên phạm vi toàn thế giới, yêu cầu phát triển nhanh các phần mềm có quy mô lớn,giá thành hạ,tiện dụng ngày càng trở nên cấp bách. Trong nhiều hướng để giải quyết vấn đề này,việc áp dụng công nghệ agent cho kĩ nghệ phần mềm là một hướng đi mới và góp phần quan trọng để phát triển hệ thống phần mềm với các đặc điềm như phân tán, phức tạp, luôn biến động...: Nó không những giúp rút ngấn được thời gian phát triển phần mềm, mà còn tạo ra các hệ thống phần mềm hoạt động tin cậy, thông minh, linh hoạt, di động, tự trị... để có thể phản ứng lại thích hợp với những biến động liên tục của môi trường và đem đến cho người dùng sự hài lòng cao nhất. Trong điều kiện của Việt Nam : trình độ công nghệ và kỹ năng phát triển phần mềm của các tổ chức phát triển phần mềm còn rất hạn chế, quá trinh tự động hoá đang được chú trọng. Với viễn cảnh như vậy, việc phát triển các ứng đụng thông minh, hỗ trợ đắc lực cho các cá nhân và tổ chức trong quá trình tự động hóa công việc và nghiệp vụ càng trở nên quan trọng và có ý nghĩa thiết thực. Nó không chỉ có ý nghĩa về mặt ứng dụng, mà còn đem lại một hướng đi mới cho các nhà nghiên cứu tập trung vào tìm hiểu và phát triển một công nghệ mới với những lợi ích to lớn do nó đem lại. Để từ đó tận dụng những ưu điểm của nó xây dựng các ứng dụng thông minh, cung cấp cho người dùng những công cụ xử lí thông tin tự trị, nhanh chóng và chính xác. Có thể thay thế họ trong hầu hết các công việc nhàm chán và đòi hỏi xử lí linh hoạt. Ở Việt Nam hiện nay chưa có một ứng dụng nào được triển khai trong thực tế sử dụng, bởi đây là một lĩnh vực vô cùng mới mẻ ở Việt Nam. Hiện tại mới chỉ có một số viện và trường đại học nghiên cứu nghiêm túc vấn đề này như Học viện bưu chính Viễn Thông, Đại học Bách khoa Hà Nội, Đại học Công nghệ ĐHQGHN. Tuy nhiên tất cả các trung tâm đều chỉ mới đang bước đầu nghiên cứu lý thuyết, riêng có đại học công nghệ cài đặt một hệ thống thử nghiệm tương đối nhỏ là ComAgent để thông báo các email mới đến. Nhưng đây chỉ là một cài đặt thử Trần Thị Mai Thương, KI1T1 2 Luận văn thạc sỹ nghiệm,mang tính nội bộ chưa được sử dụng rộng rãi. Những kết quả nghiên cứu hiện tại vẫn còn rất nhiều hạn chế. Trên thế giới, vai trò và lợi ích của cách tiếp cận hướng agent được nhận ra từ rất sớm. Từ những năm 90,các tổ chức và trường đại học nghiên cứu về agent phát triển rất mạnh mẽ. Một ví dụ điển hình, viện nghiên cứu MIT của đã phát triển một loạt các dự án liên quan đến công nghệ agent đã được triển khai rất thành công trên thực tế như: Smart Mobility, Car in the City, Goal-Oriented Web Search User Interfaces…và còn tiếp tục mờ rộng cũng như phát triển các ứng đụng khác. FIPA một tổ chức nghiên cứu về agent nổi tiếng với các nỗ lực chuẩn hóa agent cũng đưa ra một số kết quả nghiên cửu về ngôn ngữ truyền thông agent như ACL , KQML...MỘÍ ví dụ khác về sự áp dụng thành công công nghệ agent cho phát triển các ứng dụng thương mại là sản phẩm Corpemic của công ty Copernic Technologies, Inc. Ngoài ra còn có sản phẩm JACK • một môi trường phát triển agent của công ty Agent Oriented Software Limited được FIPA chấp nhận rộng rãi. Như vậy, từ khi xuất hiện các ngôn ngữ lập trình hướng agent và cồng nghệ phát triển phần mềm hướng hướng agent ra đời, hàng loạt các nghiên cứu và thử nghiệm về sử dụng công nghệ agent được công bố đã phản ảnh những mức độ nghiên cứu về phương pháp, phương pháp luận, công cụ và triển khai ứng dụng khác nhau của cách tiếp cận hướng agent này và có thể tóm tắt qua các nội dung sau: - Tổng quan về công nghệ agent và kĩ nghệ phần mềm hướng agent[l,15,18,28,30,44,45,53,61,62,73...] • - Các định nghĩa cơ bản về agent, lý thuyết và thực hành [10,13,19,29]. - Các lợi ích và thử thách của kĩ nghệ phần mềm hướng agent[4 ,8 ,32] - Các phương pháp đặc tả và mô hình hóa agent [21,25,26,44,58 - Các phương pháp phát triển phần mềm hướng agent [5 ,6 ,7 ,9 ,23 ,24,28,34,37,39,54,55,60 ,74 ,75,77 ,78 ,79,80] - Cài đặt agent [12,14,22,27,] Mờ đầu Trần Thị Mai Thương, Kỉ 177 3 - Vấn đề kiểm chứng agent[35 ,48 ,5 1,82,83] - Agent và các lĩnh vực liên quan[17,31,33 ,43,47 ,56,63 ,81] - Các nghiên cứu agent hiện tại và tương lai[3,20] - Các ứng dụng hướng agent[2,71,72,] Luận văn thạc sỹ Qua đây, ta có thể thấy sử dụng công nghệ agent cho kĩ nghệ các hệ thống lớn, phửc tạp và phân tán là một hướng đi mới, đỏng góp vai trò quan trọng trong tiến trìnih kĩ nghệ phần mềm và đang được triển khai nghiên cứu và ứng dụng rộng rãi trên thế giới. Trong điều kiện Việt Nam hiện nay, khi mà trình độ công nghệ và kỹ năng phát triển phần mềm của các tổ chức làm phần mềm còn rất hạn chế, việc áp đụng công nghệ agent cho phát triển phần mềm sẽ gặp rất nhiều khó khăn. Nhưng vớĩ sự phát triển mạnh mẽ của công nghệ thông tin qua vài năm gần đây, thì xu hướng về một công nghệ mới và một quy trình phát triển phần mềm lớn, phức tạp như công nghệ agent sẽ là một tất yếu. Tuy nhiên, đối với nước ta vấn đề này còn rất mới mẻ, đã có một số nghiên cứu bước đầu nhưng quá trình đưa công nghệ agent vào triển khai thực tế chỉ dừng lại ở các nghiên cứu lý thuyết và cài đặt thử nghiệm,chưa có những ứng dụng triền khai mang tính công nghệ và có phương pháp. Những tư liệu trên thế giới rất đa dạng và chúng ta chỉ có thể tiếp cận được một số vấn đề về phương pháp luận. •» t t Những triên khai nghiên cứu ứng dụng có nhiêu hướng và cách tiêp cận còn rât khác nhau. Hầu hết những kết quả này chỉ được biết đến qua các tài liệu công bố công khai nên thông tin rất hạn chế. Đề có thể có cái nhìn tổng quan về vấn đề này, nắm được tầm quan trọng của nó, lựa chọn được hướng tiếp cận phù hợp với quá trình phát triển phần mềm ở mỗi đơn vị, cỏ được những cơ sở về phương pháp luận cũng như kinh nghiệm phục vụ cho việc triển khai ứng đụng, chúng tôi đã chọn đề tài “Agent và ứng dụng trong vấn đề trích chọn thông tin”. Đề tài này đi sâu vào những vấn đề về phương pháp luận và phương pháp sử dụng công nghệ agent vào việc phát triển hệ thống phần mềm. Sau đó tiến hành cài đặt thử nghiệm thành công một hệ thống trích chọn thông tin trên Web theo hướng Mờ đầu Trần Thị Mai Thương, K1ỈTI 4 Luận văn thạc sỹ tiếp cận này. Mục tiêu của đề tài là tìm hiểu và nắm bất những nội dung cơ bản về phương pháp, công cụ và công nghệ sử dụng trong việc nghiên cứu và triển khai công nghệ agent trong lĩnh vực phát triển phần mềm, tiến hành các thử nghiệm để cỏ cơ sờ tổ chức nghiên cứu và triển khai những nội dung này, góp phần đẩy nhanh tiến bộ và trình độ cộng nghệ trong hoạt động phát triển phần mềm ở Việt Nam theo hướng agent. Đề tài được nghiên cứu với sự kết hợp của nhiều phương pháp, kĩ thuật và công nghệ: phương pháp thu thập, phân tích, phân loại và đặc tả các thông tin trên Web; các phương pháp trích chọn thông tin có cấu trúc, bán cấu trúc trên Internet; các kĩ thuật học máy và khai phá dữ liệu; phương pháp nghiên cửu, phân tích và tổng hợp tài liệu; các phương pháp đặc tả agent; phương pháp mô hình hóa agent; phương pháp phân tích và thiết kế hệ thống thông tin theo công nghệ agent; các phương pháp lập trình agent; các phương pháp kiểm thử hệ thống agent; và phương pháp thiết kế cơ sở dữ liệu đa phương tiện và phương pháp mô hình hỏa trực quan. Với nội đung nghiên cứu và mục tiêu hướng tới nói ở trên, đề tài giúp tăng cường hiểu biết về phương pháp luận, phương pháp, công nghệ và công cụ của cách tiếp cận hướng agent trong phát triển phần mềm. ứ n g dụng các kết quả lý thuyết, chúng tôi đã tiến hành khảo sát và mô hình hóa hệ thống trích chọn thông tin trên web sử đụng phương pháp Prometheus cho phát triển hệ thống đa agent,trong đó có sử dụng công cụ mô hình hóa trực quan là PDT (Prometheus Design Tool) của nhóm tác giả để đưa ra các chế tác cho quá tìn h phân tích và thiết kế dưới dạng các sơ đồ ký pháp đồ họa. Tiếp đỏ chúng tôi tin hành cài đặt thử nghiệm hệ thống với các đặc tả và tài liệu phân tích thiết kế đã có. Kết quà đem lại là hệ thống trích chọn thông tin trên Web hỗ trợ lưu trữ và tìm kiếm các thông tin về địa chỉ của các công ty hoạt động trong các lĩnh vực đời sống nột cách nhanh chóng và chỉnh xác. Ngoài ra, trong quá trình nghiên cứu, một số kết quả bước đầu đã được báo (áo tại hội thảo quốc gia lần thứ X tổ chức tại Đà Lạt, vào tháng 6 năm 2006. Mở đầu Trần Thị Mai Thương, K11TÌ • • Luận văn thạc sỹ \ Kêt câu luận văn gôm ba chương: Chương 1: Giới thiệu tổng quan về kĩ nghệ phần mềm hướng agent, nêu lên lý do lựa chọn công nghệ agent như một cách tiếp cận thích hợp cho phát triển các phần mềm phân tán và phức tạp. Đồng thời luận văn cũng đưa ra những lợi ích thu được từ cách tiếp cận này và những thử thách đang phải đối mặt của một công nghệ còn khá mới mẻ cả trên thế giới và Việt Nam. Qua đó, chúng tôi đưa ra một số đánh giá về các hướng tiếp cận này. Chương 2: Luận văn tập trung vào trình bày tổng quan về các định nghĩa và kí pháp của agent, phân biệt nó với các chương trình phần mềm khác. Để làm rõ hơn về hướng tiếp cận đó, chương 2 trình bày các khái niệm liên quan, các đặc điểm để phân biệt agent với các đối tượng khác. Vai trò và tầm quan trọng của nó đối với các lĩnh vực liên quan. Cuối cùng đưa ra các lợi ích tiềm năng và dự đoán về hướng phát triển của công nghệ agent trong tương lai. Chương 3: Chương này đã trình bày tổng quan về kĩ nghệ phần mềm hướng agent,chỉ ra một số lĩnh vực áp dụng mà ở đó giải pháp agent là thích hợp. Điều đó rất có ích cho những người tham gia vào quá trình phát triển ứng dụng sử dụng công nghệ agent, bởi nó sẽ tránh được các sai lầm thường mắc phải khi tiếp cận với một công nghệ mới như công nghệ agent. Ngoài ra,chương này cũng trình bày một số phương pháp phân tích và thiết kế hướng agent hiện hành cho phát triển một hệ thống trên thực tế. Như vậy, chương này một phần nào đã lý giải được tại sao công nghệ agent là một kĩ thuật quan trọng cho kĩ nghệ phần mềm,và cũng là một trong những kĩ thuật hỗ trợ cho đặc tả, phân tích, thiết kế, cài đặt và kiểm thử agent. Chương 4: Đưa ra mô tả chi tiết về phần thử nghiệm cách tiếp cận phát triển phần mềm hướng agent cho hệ thống trích chọn thông tin trên web. Chương này mô tả rõ các ngôn ngữ, công cụ cài đặt và phương pháp cho phân tích, đặc tả và thiết kế hệ thống. Một số kết quả thử nghiệm và phần đánh giá về kết quả cũng được đặt ra trong chương này. Cuối cùng thảo luận một số vấn đề về việc áp dụng công nghệ agent cho phát triền các hệ thống thực trong tương lai. Mở đầu Chương 1. GIỚI THIỆU 1.1 T ổ n g q u a n » \ \ Các hệ thông phân mêm hiện đại là các ứng đụng phức tạp và phân tán, những hệ thống này cần phải tích hợp vào các hệ thống đã có để thêm vào các chức năng mới. Người ta dự đoán rằng kỷ nguyên tiếp theo của các hệ thống phần mềm sẽ trở nên ngày càng phức tạp hom. Quản lý sự phức tạp này là một trong những thử thách lớn nhất của nền công nghiệp phần mềm. Với viễn cảnh như vậy, các cách tiếp cận hiện tại của kỹ nghệ phần mềm được cho là tốn thời gian và không thể đáp ứng với sự biến động cùa môi trường doanh nghiệp hiện đại. Sự biến đồi liên tục này yêu cầu các công cụ và kỹ thuật mới, được áp dụng song song với các cách tiếp cận tiên tiến, để sử dụng và kết nối các phương pháp kỹ nghệ phần mềm hiện tại. Luận văn này chủ trương sử dụng mô hình kỹ nghệ phần mềm, một mồ hình được đề xuất gần đây và ngày càng phát ừiển mạnh, mô hình này rất phù hợp để xây dựng các hệ thống phức tạp, phân tán. Đó là mô hình kỹ nghệ phần mềm hướng Agent (Agent 一 oriented software engineering ■ AOSE) (Wooldridge, 1997) (Iglesias et al., 1999) (Jennings, 2000)(Lind , 2000)(Tveit, 2001). 1.2. L ý d o lự a c h ọ n c á c h tiế p c ậ n k ỹ n g h ệ p h ầ n m ề m h ư ớ n g agent Phần này đưa ra các lí do lựa chọn kỹ nghệ phần mềm hướng agent (AOSE). Cụ thể luận văn đưa ra các vấn đề hiện tại mà kỹ nghệ phần mềm đang phải đối mặt, và đưa ra các điểm nổi bật để lý giải tại sao cách tiếp cận AOSE có thể giúp chúng ta giải quyết vấn đề. 1.2.1. Kỹ nghệ phần mềm là gì Nguồn gốc của kỹ nghệ phần mềm là một quy tắc có từ một hội nghị NATO về kỹ nghệ phần mềm năm 1969. Tại hội nghị này, Fitz Bauer đã định nghĩa kỹ nghệ phần mềm là “sự thiết lập và sử dụng các quy tắc kỹ nghệ có cơ sờ để thu được phần mềm kinh tế, đáng tin cậy và làm việc hiệu quả trên các máy thực” (Naur và Randall, 1969). Kể từ đó, các nghiên cứu chính về kỹ nghệ phần mềm tập trung vào “ Các quy tắc ky nghê cỏ cơ sở áươc áp dụng cho phát triển phần mềm máy tính là gì? Làm thế nào để chúng ta xây dựng một phần mềm tốn ít công sức nhưng lại đáng tin cậy? Để tạo ra các chương trinh máy tính làm việc hiêu quả không chỉ Trần Thị Mai Thương, K11T1 9 Luận văn thạc sỹ trên một mà nhiều máy thực khác nhau thì cần những gì?” (Pressman and Ince, 2000 ). Cốt lõi của những nghiên cứu này là khái niệm về tiến trình kỹ nghệ phần mềm, Alfonso Fuggetta định nghĩa một tiến trình kỹ nghệ phần mềm là “tập các chính sách gắn kết chặt chẽ với nhau, các cấu trúc có tổ chức, các công nghệ, các thủ tục và các chế tác cần để hình thành, phát triển, triển khai và bảo trì một sản phẩm phần mềm” (Fuggetta, 2000). Từ quan điểm này, một tiến trình kỹ nghệ phần mềm được công thức hóa như một tập hợp các lĩnh vực tiến trình quan trọng ( Paulk et al, 1994). Mỗi lĩnh vực tiến trình quan trọng định nghĩa: (1) ngữ cảnh sử dụng các phương pháp kĩ thuật, (2) các sản phẩm công việc nào (tài liệu, các mô hình, dữ liệu, báo cáo, form s,...) được yêu cầu, và (3) các mục tiêu nào cần đạt được. Các phương pháp kỹ thuật đưa ra khung về các cách tiếp cận cho việc xây dựng các sản phẩm đã được xác định cho mỗi mô hình cụ thể. Nghĩa là, chúng miêu tả “cách làm thế nào” để đạt được các sản phẩm công việc khác nhau được định nghĩa trong mỗi lĩnh vực tiến trình quan trọng. Để hỗ trợ cho việc thực thi các phương pháp này, người ta tạo ra các công cụ kỹ nghệ phần mềm có máy tính hỗ trợ (còn được gọi là CASE tools). Có rất nhiều mô hình về kĩ nghệ phần mềm đã được đề xuất, một trong số các mô hình thành công bao gồm Mô hình tuần tự tuyến tính 一 Linear Sequential Model (Royce, 1970),và Mô hình phát triển ứng dụng nhanh 一 Rapid Application Development Model (RAD) (Martin, 1991) (Kerr and Hunter, 1994) 1.2.2. Các thử thách trong kỹ nghệ phần mềm Cho đến nay thử thách lớn nhất mà kỹ nghệ phần mềm gặp phải là tính phức tạp (compỉexity)(]BM, 2001). Sự phức tạp của các hệ thống phần mềm hiện tại chịu ảnh hưởng của hai yếu tố chính: - Loại công việc yêu cầu tự động hỏa sử dụng phần mềm. Đó là, sự phức tạp của các cồng việc cần đưa vào máy tính để tự động hóa ngày càng tăng theo thời gian. Việc tự động hóa các nghiệp vụ này yêu cầu thực thi nhiều giải pháp lớn hơn. Những giải pháp này thường bao gồm một số lượng lớn các thành phần có nhiều tương tác (Simon, 1996). Thật không may, sự gia tăng về tính phức tạp cũng đồng nghĩa với việc làm tăng kích thước của các giải pháp đến mức khó có thể quản lí hiệu quả. Trên thực tế, với việc chấp nhận sự gia tăng các mô hình tính toán mới như tính toán mạng trung tâm(Network-Centric Computing) và tính toán Giới thiệu Trần Thị Mai Thương, K11T1 \0 Luận văn thạc sỹ trên diện rộng (Pervasive Computing),thì sự phức tạp của phần mềm trở nên khó xử lí là điều dễ hiểu. - Công việc yêu cầu sự tích hợp nhiều hệ thống khác nhau. Rất nhiều hệ thống phần mềm hiện tại là kết quả của sự kết hợp các thành phần xây dựng với mục đích đặc biệt và các phần được xây dựng trước đó. Thật không may, các thành phần này hiếm khi tương thích với nhau một cách trực tiếp, nó đòi hỏi phải có kỹ nghệ về mã wkết dính, ,để ghép chúng với nhau. Các thành phần không tương thích như vậy làm tăng thêm tính phức tạp của phần mềm, Ngoài những tác động của chúng lên tính phức tạp cùa các hệ thống phần mềm hiện đại, những yếu tố này cũng gây ra rất nhiều thử thách phụ. Các tính toán mạng trung tâm yêu cầu kĩ nghệ các hệ thống sao cho nó yêu cầu ít tài nguyên, linh hoạt và có tính mở; việc sử dụng các hệ thống phần mềm dựa trên thành phần yêu cầu đưa ra các chuẩn làm cho thao tác giữa các thành phần khác nhau dễ dàng hơn (Garlan, 2001). Không những thế các khó khăn gặp phải trong việc giải quyết các thử thách này còn chịu ảnh hưởng do sự chênh lệch của nhiều cách tiếp cận hiện tại cho việc kv nghệ các hệ thống phân tán, phức tạp. Cụ thể, (Jennings and Wooldridge, 2001) đã nói rằng các cách tiếp cận hiện tại càng trở nên tồi tệ hơn vì: - Sự ghẻp nối quá cứng nhắc của các thực thể phần mềm. Các tương tác giữa các thực thể tính toán khác nhau được định nghĩa quá cứng nhắc; điều này hạn chế năng lực của các giải pháp phân tán. - Thiếu sự hỗ trợ cỏ tính tổ chức. Các hệ thống phân tán thất bại trong việc cung cấp cơ chế đầy đủ cho việc biểu diễn các cấu trúc có tồ chức. - Sự bất lực của các hệ thống trong việc tirơng thích vói nhu cầu thay đổi. Sự ghép nối chặt chẽ của các thực thể phần mềm hạn chế khả năng của hệ thống phân tán trong việc điều chỉnh cho phù hợp với các nhu cầu thay đổi. Việc khắc phục rất nhiều thử thách trong kĩ nghệ phần mềm đòi hỏi phải phát triển các mô hình kĩ nghệ phần mềm mới đưa ra các mức hỗ trợ thích hợp. Nếu không sẽ chỉ làm tăng tính phức tạp của phần mềm và cuối cùng là hạn chế phạm vi và chất lượng của các ứng dụng được cung cấp. 1.2.3. Quản lý sự phức tạp trong kỹ nghệ phần mềm , • \ •K y Một quan điêm được châp nhận rộng rãi trong cộng đông kĩ nghệ phân mêm là: sự phức tạp ẩn chứa bên trong việc xây dựng hệ thống phần mềm có thể được Giới thiệu Trần Thị Mai Thương, KI1 Tỉ /M Luận văn thạc sỹ quản lí qua việc ứng dụng các kĩ thuật khác nhau. (Booch, 1994) đưa ra những kĩ thuật này, bao gồm: - Abstraction. Trừu tượng đơn giản hóa mô hình hệ thống phức tạp thông qua việc tập trung vào các thuộc tính tiêu biểu nào đó so với những thuộc tính còn lại. Điều này cho phép các nhà thiết kế hệ thống phức tạp tập trung thiết kế các vùng quan trọng hơn trong mô hình đó. - Decomposition. Phân tích cho phép phân chia một hệ thống phức tạp thành các phần nhô hơn. Kết quả của quá trình này dẫn đến việc xác định một tập các thành phần cơ bản cỏ thề xây dựng một cách dễ đàng. - Organisation. Tổ chức ià việc nhóm các thành phần vào các đơn vị logic để tiện cho quá trình quản lí. Điều này được thực hiện đệ quy cho đến khi nào toàn bộ hệ thống được định nghĩa. Cách sử dụng thứ hai của organization là xác định các mối quan hệ bên trong giữa các đơn vị khác nhau này. Phương pháp này mô tả cách các phần khác nhau của hệ thống tương tác với nhau. Sự tích hợp các kĩ thuật này đưa ra một cách tiếp cận chặt chẽ cho các hệ thống kĩ nghệ phần mềm thông qua việc định nghĩa một mô hình kĩ nghệ phần mềm. Một mô hình kĩ nghệ phần mềm là một framework dùng để miêu tả và xây dựng các hệ thống. Mỗi tiến trình định nghĩa một cách tiếp cận cấu trúc cho việc phát triển phần mềm sử dụng các khái niệm được liệt kê trong framework. Từ năm 1960,sự phát triển phần mềm đã tạo ra một loạt các mô hình kĩ nghệ phần mềm,bao gồm lập trình có cấu trúc, lập trình khai báo, và lập trình hướng đối tượng. Các mô hình này làm đơn giản quá trình xây dựng các hệ thống phần mềm thông qua việc sử dụng các khái niệm được trừu tượng hóa tăng dần từ kiến trúc mức dưới của một máy tính tới các mô hình uyển chuyển hơn. Các xu hướng gần đây trong kĩ nghệ phần mềm đã chứng kiến sự phát triển phần mềm đi từ việc xây dựng các hệ thống với các quy tắc đầu tiên tới việc tương thích và tích hợp các “thành phần” đã có (Pree, 1997). Một ví dụ điển hình cho phần này là sản phẩm Authorware của Macromedia, “cho phép các nhà phát triển phát triển các giải pháp e-leaming đa phương tiện một cách nhanh chóng” (Macromedia, 2001). Tuy nhiên, khi các thành phần đó hoàn thiện và phân phôi khả năng và tính linh hoạt lớn hơn cho người sừ dụng của chúng, thì tính phức tạp liên quan tới sự phát triền của các ứng dụng sử dụng thành phần cũng tăng. Kết quả làm nảy sinh nhu cầu tạo ra các tiến trình kĩ nghệ phần mềm hỗ trợ sự phát triển các công nghệ đặc thù. Giới thiệu Trần Thị M ai Thương, K11T1 u Luận văn thạc sỹ 1.2.4. Tính toán dựa trên agent Tính toán dựa trên agent (Agent-based computing) đề cập tới một loại phần % mêm có năng lực tính toán trung tâm được tạo ra dưới dạng một tập các agent tương tác (Wooldridge và Jennings, 1995). Từ quan điểm này, các agent được xem như các thực thể giải quyết vấn đề tự trị, phù hợp trong một số môi trường và có thể tương tác với các agent khác qua một ngôn ngữ truyền thông agent mức cao (Agent Communication Language - ACL). (Petrie, 2001) chấp nhận răng tính toán dựa trên agent được nhận biêt qua việc cài đặt agent thông qua m ột sự kết hợp lý thuyết agent, một ngôn ngữ truyền thông (ví dụ ACL),và m ột ngôn ngữ (nội dung) bên trong. Lý thuyết agent được sử dụng để nhận biết khả năng giải quyết vấn đề cơ bản của agent. Điều này có thể tạo ra một dạng hệ thống ra quyết định cỏ chủ ý như PRS (Georgeff và Lansky, 1987),hoặc m ột hệ thống dựa trên ràng buộc như được sử dụng trong WARREN (Decker et a l” 1997). ACL nói chung dựa trên lý thuyết Speech Act (Searle , 1969) và cung cấp một framework cho các tương tác agent. Cụ thể, ACL framework được sử dụng để định nghĩa kiểu tương tác giữa các agent. Các tương tác cụ thể được đưa ra một cách rõ ràng qua sự kết hợp một số kiểu thông điệp ACL và một số câu lệnh được viết trong ngôn ngữ nội dung cục bộ. Sự định hướng cùa việc mô tả tính toán dựa trên agent của Petrie hướng tới việc mô tả tương tác agent là sự phản ánh một trong hai sự khác nhau mang tính định tính giữa các cách tiếp cận dựa trên agent và các mô hĩnh tính toán khác (Jennings, 2000): - Các tương tác agent được quan niệm là diễn ra ở mức tri thức, và như vậy được hình thành dưới dạng các mục tiêu cần được thực hiện, ở một thời điểm nào đó, và bời một ai đó. - Các agent là những người giải quyết vấn đề linh hoạt, hoạt động trong môi trường mà qua đó chúng chỉ có quyền điều khiển và khả năng quan sát từng phần, và có các tương tác cần được xử lí theo cách linh hoạt tương tự như thế. Quan điểm tính toán này rất phù hợp với việc xây dựng các ứng dụng được mô hình hóa như là cộng đồng của các thực thể tự trị tương tác (Jennings và Wooldridge, 1998). Cụ thề,các tỉnh toán dựa trên agent dường như là cách tiếp cận thích hợp nhất cho các miền vấn đề, ở đó (Wooldridge và Canciami, 2001): - Dữ liệu, quyền điều khiển, tri thức chuyên gia hay các nguồn tài nguyên là phân tán. • Các agent cung cấp một cách thức tự nhiên cho việc phân phối chức năng hệ thống. Giới thiệu Trần Thị Mai Thương, K1ỈT1 ịỉh Luận văn thạc sỹ - Nhu cầu tạo ra một số lượng lớn các hệ thống kế thừa để làm việc qua lại với nhau. - Kiến trúc của hệ thống là m ả Các đặc tính của các kiểu miền vấn đề ở đó các tính toán dựa trên agent dường như là cách tiếp cận thích hợp nhất có nhiều điểm tương đồng với các thách thức hiện tại mà kỹ nghệ phần mềm đang phải đối mặt. Kết quả là, tính toán dựa trên agent là cách tiếp cận tốt nhất phù hợp với các nhiệm vụ khó khăn này. 1.2.5 Các ỉợỉ ích từ quan điểm hưởng agent Việc phát triển các ứng dụng từ quan điểm hưởng agent đã đem đến một phạm vi rộng lớn các lợi ích. Các tiện ích chính của cách tiếp cận này bao gồm: • Các cách tỉếp cận dựa trên agent đơn giản các hệ thống phân tán phức tạp qua việc trừ u tượng hỏa. Điều này tạo ra khả năng quản lí tính phức tạp, và kết quả là làm cho việc mở rộng hệ thống phần mềm dễ dàng hơn. - Phân phối cơ cấu phức tạp của một tổ chức ra quyết định có năng lực mạnh. Agent có thể chứa các hệ thống lập luận có sức mạnh làm cho quá trình ra quyết định cục bộ,tự trị dễ dàng hơn. Agent cỏ thể đảm nhiệm vai trò của một người hoạt động độc lậpcủa bất kỳ điều khiển toàn cục nào. - Hỗ trợ các mẫu tương tác linh hoạt. Cách tiếp cận dựa trên agent thực thi các dạng tương tác agent mức cao 一 Ngôn ngữ truyền thông agent (ACL) 一 dựa trên lý thuyết hiện đại về speech act tạo thuận lợi cho các chiến lược thương lượng phong phủ hiện tại đang được sử dụng trong cộng đồng doanh nghiệp. Ví dụ,Giao thức mạng hợp đồng 一 Contract Net Protocol (Davis và Smith, 1983). - Cách tiếp cận hướng agent hỗ trợ cho việc tạo ra các ứng dụng mở. các hệ thống đa agent là mở theo nghĩa mở rộng tập các vấn đề mà một agent có thể giải quyết là việc thêm vào các agent với các kĩ năng/khả năng thích hợp. - Cải tiến hiệu năng của ứng dụng. Các hệ thống đa agent cung cấp hiệu năng tăng dần qua tính dư thừa, tính tự trị,và khả năng linh hoạt. Ví dụ, trong một thị trường cổ phiếu, nếu agent mua nhận thấy rằng agent đặt giá cổ phần mà nó sử dụng để thu thập giá cả không khả dụng thì nó nên cỏ khả năng xác định một agent đặt giá cổ phần mới một cách độc lập. Giới thiệu Trần Thị Mai Thương, K11T1 1 .3 . Luận văn thạc sỳ Động lự c Lý do đằng sau của việc coi kĩ nghệ phần mềm agent là cách tiếp cận tốt nhất cho việc quản lí sự phức tạp của các hệ thống phần mềm hiện đại được đưa ra (Jennings và Wooldridge, 2001): - Các phân tích hướng agent là một cách phân chia không gian vấn đề của hệ thông phức tạp một cách hiệu quà. - Các trừu tượng hóa quan trọng của tập tri thức hướng agent là phương tiện tất yếu cho việc mô hình hóa các hệ thống phức tạp. - Triết lý hướng agent để xác định và quản lí các quan hệ cỏ tổ chức rất thích hợp cho việc xử lí các phụ thuộc và tương tác tồn tại trong một hệ thống phức tạp. Tuy nhiên, để nhận ra tiềm năng của cách tiếp cận hướng agent trong ngành công nghiệp chủ đạo, hai vấn đề chính cần được xác định: - Tồn tại nhu cầu xây dựng các ứng dụng mẫu đưa ra các lợi ích của công nghệ agent trong miền vấn đề thế giới thực. Bằng việc xây dựng các ứng dụng mẫu minh họa các tiện ích của công nghệ agent,những người đi đầu về công nghệ trong lĩnh vực kinh doanh có thể ước tính các tiện ích tiềm năng dễ dàng hơn, những lợi ích này có thể được thúc đẩy qua việc sử dụng các công nghệ agent trong miền ứng dụng doanh nghiệp tương ứng của họ. • Tồn tại nhu cầu tạo ra framework kểt dinh chặt chẽ tạo ra một cách tiếp cận cso cấu trúc cho việc sử dụng các công nghệ agent. Bằng cách cung cấp các framework có tính kết dính cao thúc đẩy các cách tiếp cận có cấu trúc trong việc tạo ra các ứng dụng hướng agent, thì những người đi đầu về công nghệ trong các tổ chức doanh nghiệp đượccung cấp các công cụ họ cần để thúc đẩy giá trị gia tăng mà việc sử dụng công nghệ agent mang lại cho công việc kinh doanh của họ. Trong khi cả hai vấn đề đều là nền tảng cho sự thành công của các công nghệ agent, thì luận văn này tập trung vào vấn đề thứ nhất, cụ thể là xây đựng một công cụ cho phép các người dùng nói chung và các tổ chức doanh nghiệp nói riêng tìm kiêm, thu thập các thông tin trên WWW một cách nhanh chóng và thuận tiện. 1.4. M ụ c tiê u - Áp dụng công nghệ agent vào việc xây dựng một công cụ thông minh hỗ trợ người dùng trong việc tìm kiếm thông tin nhanh và chính xác trên Internet Giới thiệu Trần Thị Mai Thương,K11T1 Luận văn thạc sỹ - Nghiên cứu vấn đề mô hình hóa agent, các phương pháp phân tích và thiết kế agent và các ngôn ngữ cài đặt agent - Đánh giá được tầm quan trọng của công nghệ agent cho kĩ nghệ các hệ thống phức tạp và phân tán trong tương lai. 1.5. T ó m tắ t k h u n g lu ậ n v ă n đạt được các mục tiêu đã liệt kê bên trên, phần còn lại của luận văn được tổ chức như sau: Để - Chương 1: Giới thiệu tổng quan. - Chương 2: Agent là gì? Chương này trình bày tổng quan về các định nghĩa và kí pháp của agent, phân biệt nó với các chương trình phân mêm khảc. - Chương 3: K ĩ nghệ phần mềm hướng agent. Chương này khảo sát và phân tích các phương pháp phát triển một hệ thống agent. Đồng thời cũng đưa ra các đánh giá về các phương pháp đó, từ đỏ đề xuất việc lựa chọn một phương pháp cho cài đặt hệ thống trích chọn và thu thập thông tin. - Chương 4: Cài đặt thực nghiệm hệ thống trích chọn thông tin trên W eb. Chương này trình bày phần cài đặt thực nghiệm hệ thống trích chọn thông tin trên web, ứng dụng công nghệ agent. Cụ thể, trong phần này luận văn sử dụng phưong pháp Prometheus cho quá trình đặc tà, phân tích và thiết kế hệ thống thực nghiệm này. Cuối cùng, đưa ra kết luận và đánh giá về cách tiếp cận phát triền phần mềm hướng agent cùng những định hướng phát triển mở rộng. - Cuối cừng, luận văn trình bày tổng quan về kĩ nghệ phần mềm hướng agent, những đóng góp của luận văn và định hướng nghiên cứu sắp tới. Giới thiệu C hư ơng II. TỒNG QUAN VÈ AGENT 2.1. G iớ i th iệ u Agent là thuật ngữ hiện đang được sử dụng rộng rãi trong lĩnh vực khoa học máy tính nói riêng và thông tin nói chung, Ví dụ, trong cộng đồng mobile agent, thuật ngữ agent ám chỉ một tiến trình phần mềm có khả năng di chuyển giữa các platform khác nhau trên mạng. Ngược lại, trên Internet,agent được coi là phần mềm có khả năng hoạt động tự trị, thực hiện một nhiệm vụ cụ thề và thường là để tìm kiếm thông tin cho người dùng. Cho đến nay, vẫn tồn tại rất nhiều tranh cãi xung quanh vấn đề ”Agent là gì?, , ,chưa có một cách tiếp cận toàn vẹn nào cho các vấn đề đưa ra. Vì vậy, mục đích cùa chương này là đi sâu vào tìm hiểu, giải thích rõ thuật ngữ agent là gì? Tại sao ta phải đi sâu vào nghiên cứu công nghệ agent. Những lợi ích do Ĩ1Ó mang lại là gì? Luận văn không có tham vọng đưa ra một định nghĩa agent chính xác, vì theo cách nhà nghiên cứu, thì cố gắng để đưa ra một định nghĩa chính xác về agent là một sự thất bại. Ở đây, luận văn chỉ đưa ra một định nghĩa tạm được chấp nhận rộng rãi trong cộng đồng nghiên cứu agent, đồng thời cũng đi vào giải thích các khái niệm liên quan đến agent để phần nào giúp cho những người quan tâm hiểu được các thuộc tính, thành phần cũng như cách thức hoạt động của agent Đồng thời cũng đưa ra một cách phân loại agent dựa trên một sổ tiêu chí nhằm mang lại cái nhìn tổng quan, giúp cho các nhà phát triển phần mềm quản lý tốt hơn các agent. Như vậy, để đạt được mục đích là đem đến một định nghĩa agent tương đối rõ ràng, thi phần còn lại của chương này sẽ được tồ chức như sau: phần 2.2 đưa ra một định nghĩa cụ thể về agent; phần 2.3 nêu lên các đặc trưng của một agent, các đặc điểm để phân biệt một agent với các đối tượng thông thường; phần 2.4 mô tả một cách phản loại agent dựa trên các tiêu chí về độ thông minh, tính di động và số lượng các agent; phần 2.5 so sánh agent thông minh với các thực thể như đối tượng, thành phản ... nhằm làm rõ hơn khái niệm về agent phần mềm; phần 2.6 trình bày vai trò và tầm quan trọng của agent trong các lĩnh vực của đời sống; phần 2.7 trình bày các đặc điểm của miền ứng dụng mà cỏ thể áp dụng công nghệ agent một cách thành công, sau đó đưa ra môt số ứng dụng cụ thể sử dụng công nghệ agent cho phát triển hệ thống và cuối cùng phần 2.8 nêu lên những triển vọng và lợi ích tiềm năng phát triẻn của công nghệ agent trong tương lai. 2.2. K h á i n iệ m a g e n t Thu ra tác tử là một thuật ngữ có rất nhiều cách định nghĩa khác nhau, với các quan điần khác nhau. Theo một số nhà nghiên cứu tác tử nói rằng: “tác tử là gì? Tác tử Trần Thị Mai Thươngy K ll TI 17 Luận văn thạc sỹ có thể là rất nhiều thứ. Nếu cố gắng tìm ra một mẫu thức chung về hoạt động hoặc quan niệm lý thuyết thỉ có thể gặp phải sai lầm , , . Một số định nghĩa về agent đã được đề xuất như: định nghĩa về agent của hai tác giả Russel and Norvig; định nghĩa của Maes và Parrie; định nghĩa của Smith, Cypher and Spohrer; và của Wooldridge and Jennings. Trong đó đáng chú ý nhất và cũng là định nghĩa được sử dụng trong luận văn để mô tả và giải thích về agent là định nghĩa của Wooldridge, nội dung như sau: Agenỉ là một hệ thống tính toán bao gói, được đặt trong một môi trường cụ thể,và có khả năng hoạì động linh hoạt, tự trị trong môi trường đó để thỏa mãn mục tiêu thỉết ^.[Wooldridge, 1997]. Theo định nghĩa này thỉ agent là: (1) các thực thể giải quyết vấn đề có định danh rõ ràng với phạm vi và giao diện hoàn toàn xác định; (2) được đặt trong một môi trường cụ thể - chúng nhận sensors đâu vào là các trạng thái của môi trường qua bộ cảm ứng và tác động lên môi trường đỏ qua các bộ tác động (effector); (3) được thiết kế để thực thi một vai trò cụ thể - chúng có các mục tiêu cụ thể để theo actuators đuổi; (4) tự trị - chúng có quyền điều khiển trạng thái và hành Hình 1.1 Agent và môi trường vi bên trong của chúng; (5) có khả năng đưa ra hành vi giải quyết vấn đề linh hoạt (tùy biến theo ngữ cảnh) 一 chúng cần phải phản ứng lại những thay đổi diễn ra trong môi trường với thời gian cho phép, để thỏa mãn mục tiêu thiết kế và cỏ tính tích cực (có khả năng chấp nhận các mục tiêu mới và đi tiên phong trong việc thực hiện nhiệm vụ để đạt được mục tiêu thiết kế của chúng) [M.Wooldridge and N.RJennings, 1995]. Mỗi agent khi được tạo ra đều cỏ nột định danh duy nhất để phân biệt nó với các agent khác. Định canh này cũng là một thành phần cuan trọng tham gia vào quá trình truyèn thông. Hom thế, một agent phải tương tác với môi trường của nó Hlnh 11 Mô hình về agent Tồng quan về agent đ ai họ c q u õ c g ia h T R U N t [A M T H O N S ^ TINTHƯ ,ọ! Trần Thị Mai Thương, K llT l 18 Luận văn thạc sỹ đạt được mục tiêu. Nó phải có khả năng thu thập thông tin về môi trường và đưa ra các quyết định dựa trên thông tin này, sau đó khởi tạo các hoạt động cụ thể dựa trên các quyết định. Việc truyền thông giữa các agent cũng có thể xảy ra, tức là agent phải có ngôn ngữ truyền thông và có khả năng cộng tác với các đối tượng khác, để giải quyết các vấn đề phức tạp. Một agent luôn yêu cầu một mức độ thông minh nhất định để thực hiện công việc của nó và như vậy tức là nói đến agent thông minh. Một agent thông minh có thề được hiểu là một chương trình phần mềm thông thường, bởi vì mồi chương trình phần mềm thông thường đều thực hiện một công việc xác định và đem lại cho người dùng sự tiết kiệm thời gian đáng kể. Nhưng chi sự thông minh mới cho phép agent thực hiện công việc của nó một cách tự trị và yêu cầu sự can thiệp của con người khi cần những quyết định quan trọng. Kết quả là việc xử lý tự trị là một tiêu chí quan trọng đối với các agent thông minh và là một trong những sự khác nhau chính giữa các agent thông minh và các chương trình phần mềm thông thường. Một ví dụ về sử dụng agent thông minh là, nếu bạn muốn đặt một chuyến du lịch, bạn yêu cầu travel agent làm điều này cho bạn. Bạn hi vọng nó sẽ thực hiện các công việc một cách độc lập, nhanh chóng và đáng tin cậy. Đầu tiên, nó sẽ thu thập thông tin từ phạm vi rộng lớn các nguồn tài nguyên thông tin, ví dụ cung cấp dịch vụ từ nhiều nhà cung cấp khác nhau, xác định các công ty du lịch tốt nhất. Tránh các xung đột hoặc không nhất quán trong việc lựa chọn các thành phần riêng lẻ và cuối cùng đưa ra thông tin về chuyến đi hoàn chỉnh. Điều này không chỉ tiết kiệm thời gian của khách hàng trong việc tỉm hiểu các kiến thức cụ thể về việc đặt chỗ mà còn tiết kiệm một lượng chi phí đáng kể. Tóm lại, các agent là một phạm trù mới trong xã hội thông tin. Ta có thể hiểu agent là một chương trình phần mềm, mà có thể thực hiện các công việc xác định cho người dùng với một mức độ thông minh nhất định. Hơn thế, nó còn có khả năng thực hiện các công việc một cách tự trị và để tương tác với môi trường của nó một cách có ích, ví dụ như các agent hỗ trợ cho người dùng trong việc tìm kiếm thông tin. Các agent thông minh cung cấp các công cụ cho xã hội thông tin mà không có một thành phần nào trong thế giới số có thể làm được. 2 .3 Các đ ặ c đ iể m c ủ a a g e n t p h ầ n m ề m th ô n g m in h Một agent cỏ thể chứa một số đặc tính nhất định tùy thuộc độ phức tạp của chúng. Các đặc điểm của agent thông minh có thể được phân thành hai nhóm: bên trong và bên ngoài. Các thuộc tính bẽn trong của agent là các thuộc tính xác định các hoạt động bẽn trong agent, Bao gồm khả năng học, phản ứng, tự trị và hướng mục tiêu. Các thuộc tính bên ngoài bao gồm tất cả các thuộc tính ảnh hưởng lên tương tác giữa các Tổng quan về agent TrầtThị M ai Thương,K IỈTỈ 19 Luận văn thạc sỳ age^ hoặc giữa agent với con người, ví dụ như khả năng truyền thông hoặc cộng tác. ruy nhiên cũng có một số thuộc tỉnh thuộc vào cả hai nhóm. Environment Phải ứng (Reactivity): Mot agent có khả năng phản ứng lại những ảnh hưởng hoặc thôn; tin từ môi trường. Môi trường này có thể bao gồm các agent khác, người dùng các nguồn thông tin từ bên ngoài hoặc các đối tượng vật lí. Khả năng phản ứng tạo nên một trong nhữig yêu cầu cơ bản cho một agent và nên được hỗ trợ bởi các agent khác. Ageit phải có các bộ sens>r (cảm ứng) thích hợp hoặc chứa các mô hình bên tronf về môi trường của nó đê ó thể phản ứng lại với các Hinh 1.3 Agent phản ứng thay đổi của môi trường. Trường hợp đầu tiên iược gọi là agent phản ứng chân thực, trái lại các agent có mô hình môi trường bên rong được gọi là agent thảo luận. Rất ihtều watcher agent (agent quan sát) khả dụng là những ví dụ về agent phản ứng đơn giản. Các agent đỏ có nhiệm vụ quản lí các nguồn thông tin cụ thể ví dụ Internet servers và thông báo cho người dùng khi nội dung thay đổi. Nó bao gồm một bộ cảm ứng đơn giản và những th ành ph ần mà chúng có thể thực hiện các chưc năng quan sát được yêu cầu, như màn hình trang web. Nếu xảy ra một thay đổi, agent có thể đọc lại thông tin tương ứng và tìm kiếm thông tin mới. T ínl tiên phong, Hướng muc tiêu (Proactỉvỉtv/goal-orỉentation): 〈 r Thuỏc tính proactivity là mức trên của thuộc tính reactivity. Nếu một agent không chỉ phản ứng lại với các thay đổi của môi trường mà còn tự kích '■ ^ th* w orld evotves ^ m hoạt trong những trường hợp cụ ( W h â i m y a ctio n s < thể, đây gọi là hành vi tích cực. Để agent có thể đạt được thuộc tính đó thì agent phải có các mục tiêu được định nghĩa tốt hoặc thậm chí là một hệ thống mục tiêu phức tạp. Tính bao hàm tệàr bộ và sự phức tạp của hệ thống Hình 1.4 Agent hướng mục tiêu I— mnvironmst h l lt j — ^ liên quan là rất quan trọng ở muc đây. ì :í cụ,,nếu một agent chi có một mục tiêu chung là thu thập thông tin trong một phạrữí vi :ụ thể, thì sau đó nó sẽ không làm gì hơn là kiểm soát các nguồn thông tin Tống quan về agent
- Xem thêm -

Tài liệu liên quan