ĐẠ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ị
.
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 minh
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
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.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
.
Đ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
75
,
77
,
78
,
79
,
80]
- Cài đặt agent [12,14,22,27,]
Mờ đầu
Trần Thị Mai Thương, K ỉ 177 3
Luận văn thạc sỹ
- 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
,
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
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
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
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ị M ai Thương, K11T1 \ 0
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ị M ai Thương, K I1 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.
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
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ị M ai Thương, K11T1
Luận văn thạc sỳ
1.3 . Độ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
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
Chươ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
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:
Tồng quan về agent
đ a i h ọ c q u õ c g i a h ^ ,ọ!
TR U Nt [A M THONS TIN THƯ
actuators
A genỉ là m ột hệ th ốn g tín h toán bao gói, được đặ t trong m ột m ôi trư ờn g cụ thể,và
có khả năng hoạì động lin h 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
đ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
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ín h bẽn trong của a gent 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ín h bên ng oài bao gồm tất cả các thuộc tín h ảnh hưởng lên tương tác g iữ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ỳ
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
đổ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):
age^ h o ặ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 n h iên cũng có m ột số thuộc tỉnh thuộc vào cả hai nhóm.
Environment
〈
—
'■
mnvironmst
—
Trần Thị M ai Thương, K11T1
20 Luận văn thạc sỹ
cụ thể đỏ và phản ứng lại với những thay đồi đó. Trong trường hợp này, những thay
đổi đó là các thông tin mới đến từ lĩnh vực quan tâm. Đối với hệ thống mục tiêu bao
hàm toàn bộ không chỉ bao gồm mục tiêu chung, mà còn chứa các mục tiêu con,
mỗi mục tiêu cho phép agent thực hiện công việc rõ ràng hơn nhiều. Một hành vi
hướng mục tiêu chân chính chỉ có thể có với các hệ thống mục tiêu phức tạp như
thế.
Lạp luận/học (Reasoning/learning):
Mỗi agent phải có một mức độ thông minh tối thiểu để được coi là một agent. Sự
thông minh của một agent được cấu thành từ ba thành phần chính: cơ sở tri thức bên
trong, khả năng lập luận dựa trên cơ sở tri thức, và khả năng học tương thích với các
Trần Thị M ai Thương, K11T1
21
Luận văn thạc sỹ
agent khác. Hơn thế nó còn có khả năng hoạt động một mình. Hoạt động tự trị
không chỉ làm giảm tải trọng dựa vào sự cộng tác, mà còn làm tăng khả năng truyền
thông. Sự cộng tác giữa các agent đưa ra các giải pháp nhanh hơn và tốt hơn cho các
nhiệm vụ phức tạp vượt quá khả năng của một agent. Mỗi agent đều được lợi từ
hoạt động cộng tác, bởi vỉ mục tiêu của nó được chạm tới trong thời gian ngắn hoặc
thậm chí được giải quyết hoàn toàn bởi các agent khác. Các agent đó cộng tác với
nhau phải sừ dụng ngôn ngữ truyền thông agent mở rộng, bởi vì chúng không chỉ
yêu cầu ngôn ngữ truyền thông cần thiết mà còn phải cỏ khả năng trao đổi mục tiêu,
sở thích và kiến thức.
Ví dụ, nếu một vài agent cùng đạt tới một mục tiêu nào đó, thì một agent phù hợp
nhất sẽ giải quyết mục tiêu này cho tất cả các agent. Ngay khi cồng việc này hoàn
thành, agent này sẽ gửi tri thức mởi thu được cho các agent khác. Khả năng cộng tác
do đó làm tăng sức mạnh của tất cả các agent liên kết, giải quyết xung đột tồn tại,
sửa lại các trạng thái thông tin không thống nhất và tạo ra hiệu quả của toàn bộ hệ
thống. Một vấn đề cần chú ý là các agent cộng tác phụ thuộc vào hành vi xã hội của
các agent kết họp. Một agent cần ý thức rằng nỏ là một thành viên của nhóm và sự
thành công của nhóm cũng phụ thuộc vào hành vi của nó.
C haracter (có tính cách): Một agent cần biểu hiện ra bên ngoài càng nhiều điểm
giống con người càng tốt. Hơn thế, agent thường được sử dụng trong các lĩnh vực
mà đòi hỏi độ trung thực cao và tuyệt đối tin cậy. Ví dụ trong hệ thống hàng không
học, vũ trụ học, hệ thống quân đội".N hững phân tích hiện tại về khả năng thực hiện
các hồnh động thông minh và sự phát triển các đặc tính như con người chỉ mới ở
giai đoạn phôi thai.
2.4. P h â n lo ạ i a g e n t
Sự phân loại agent chỉ có ý nghĩa tương đối, nó phụ thuộc vào các tiêu chí ta lựa
chọn để phân loại, cũng như mục tiêu của việc phân loại. Các hệ thống agent có thể
được phân loại dựa trên 3 tiêu chí: độ thông minh/khả năng học, tính di động và số
• X • lẦẵiiii I «V7 iiw u Viii p ỉia u ị v a i a^v/ẪẪt. 1 ẵiiẫẵ u
星
năng không chỉ tìm ra đối động, độ thông minh, và số agent
tượng yêu cầu với giá rẻ nhất
mà còn cỏ thể mua nó trực tiếp. Tuy nhiên, người dùng thường muốn tự đưa ra
quyết định và vì vậy chỉ thị cho agent của anh ta không tự ý mua sản phẩm mà
không hỏi ý kiến của anh ta.
Di động (Mobility)
Mô tả khả năng của agent thương lượng trong mạng truyền thông điện tử. Các agent
di động (mobile agent) có khả năng đi lang thang từ mạng này sang mạng khác.
Mặc dù có thể gửi thông điệp sử đụng một mạng đang tồn tại hoặc liên lạc với các
agent khác trong mạng, nhưng bản thân chúng không thể tự di chuyển vào trong
này. Mobile agent đặt ra các yêu cầu cao trên môi trường mạng và đưa ra rất nhiều
câu hỏi liên quan đến tính bảo mật, tính riêng tư dữ liệu và khả năng quản lý. Mỗi
máy tính liên kết phải có khả năng đóng gói M obile ag en t và gửi chúng tới các môi
trường khác và đồng thời, xác định tính hợp lệ và thực thi agent.
Mobile agent cũng đem lại một vài lợi ích rõ ràng của agent thông minh. Nó làm
giảm tải mạng bời vì nó không cần thu thập thông tin nó yêu cầu để thực hiện nhiệm
vụ bằng cách gửi một chuỗi các thông điệp qua mạng. Thay vào đó nó cỏ thể đi tới
máy tính khác với thông tin yêu cầu (chính việc gửi chuồi thông điệp là nguyên
nhân gây nên quá tải) và sau đó thực hiện tất cả các công việc một cách cục bộ trên
máy đích. Mặc dù rất có thể việc truyền thông không đồng bộ mà không cần có các
agent, nhưng việc sử đụng agent thông minh sẽ nâng nó lên mức cao hơn.
Kết hợp với các Mobile agent, các đặc điểm tự trị được mô tả trước đó sẽ cung cấp
những lợi ích lớn hơn. Nếu một agent hoạt động một cách tự trị, thì người dùng sẽ
không cần yêu cầu duy trì kết nối mạng liên tục. Thay vào đó, nó có thề cung cấp
cho agent một nhiệm vụ,gửi nó qua mạng và sau đó huỷ bỏ kết nối. Ngay sau khi
agent đạt được kết quả yêu cầu, các báo báo sẽ được gửi trở lại bằng cách thiết lập
kết nổi mạng tới người dùng hoặc đợi người dùng lựa chọn mạng tiếp theo. Điều
M ũit&ir
trong quá trình thực thi. Trong trường hợp này, không chỉ các đối tượng thực được
truyền đi, mà cả trạng thái hiện thời của nó cũng như môi trường hệ thống cũng
được gửi đi. Mobile agent đặt ra các đòi hỏi cao hơn nhiều vào các hệ thống máy
tính liên kết với chúng.
Sổ lirợng agent liên kết với một hệ thống tạo nên tiêu chí phân chia thứ ba: phân
biệt giữa hệ thống agent đơn và hệ thống đa agent. Các agent đom di chuyển trong
môi trường mà không chứa bất kỳ agent nào khác. Chính xác hơn, chúng không có
khả năng kết nối với các agent khác, ngay cả khi chủng nằm trong cùng một môi
trường. Các agent đơn kết nối với người dùng của chúng và các nguồn thông tin
khác như database. Trái lại, hệ thống đa agent gồm một số lượng các agent có khả
năng trao đổi hoặc thậm chí cộng tác với nhau.
Tổng quan về agent
Trần Thị M ai Thương, K llT l 24
Luận văn thạc sỹ
bhunbứr ơ f a gmnis
I
ì
Mu
sincU
ềiSữtú
Digram ợf intmữịg0HC0
Truyền thông là thuộc tính cần cỏ trong cả agent đơn giản và đa agent, nó đi liền với
số lượng agent. Khả năng cộng tác ảnh hưởng đến cả tiêu chí thông minh và thuộc
tính sổ lượng agent. Hành vi tự trị ảnh hường lên cả tính thông minh và di động của
agent. Hoạt động cua mobile agent chỉ có nghĩa khi nó có một mức tự trị nhất định.
Nó phải quay trở lại hỏi người dùng trước khi đưa ra quyết định và sau đó quay trở
lại máy tính của anh ta hoặc gửi thông điệp cho anh ta và di chuyển trở lại nơi đầu
tiên.
Các agent
í hóng tin