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

Agent và ứng dụng trong vấn đề trích chọn thông tin

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (64.65 MB, 115 trang )

ĐẠ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
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 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. 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 .1 22 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

Cm PTER 3: KỸ NGHỆ PHAN MỀM HƯỚNG AG EN 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
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 KHẢO

55
6^ò7777lst^òòòòòdoò86òòò8òo88860õo99999d^òNỜNÒNÒ^ữ
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
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


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,]
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
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ỉ
Chương 1. GIỚI THIỆU
Trần Thị M ai 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ị M ai 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ị 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.

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” (M acromedia, 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 (W ooldridge 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ị M ai 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ị 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

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ị M ai 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
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

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ị M ai Thươngy K l l 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:
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

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 Hlnh 11 Mô hình về agent
phải tương tác với môi trường của nó
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í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

ứ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ó
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
^ th* world evotves
^ m
( W hâi my actions <
của môi trường mà còn tự kích
hoạt trong những trường hợp cụ
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
muc
t
liên quan là rất quan trọng ở

đâ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
đê ó 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):
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

thay đổi của môi trường. Một agent được gọi là hành động hợp lý khi nó tới gần sự
thoả mãn mục tiêu toàn cục hoặc một trong những mục tiêu con. Các công nghệ AI
cổ điển như hệ thống dựa trên luật, hệ dựa trên tri thức hoặc mạng tự nhiên được
thiết kế tốt cho lập luận, ngay cả những agent đang tồn tại.
Khả năng lập luận đặt agent vào vị trí có khả năng quan sát môi trường và đưa ra
những quyết
định cụ thể khi
cỏ thay đổi xảy
ra trong môi
trường. Tuy
nhiên, khả năng
học từ các kinh
nghiệm trước đó
và điều chỉnh
thành công hành
vi của nó phù
hợp với môi trường chỉ quan trọng đối với các hành vi thông minh của agent. Điều
này được áp dụng cho sự truyền thông với người dùng hoặc các agent khác, hoặc
cho các nguồn tài nguyên khác. Ví dụ, nếu một agent thu thập thông tin cho người
dùng và người dùng lại thông báo cho agent rằng anh ta khôngquan tâm đến những
thông tin được tìm thấy. Khi đó, agent phải học và ghi nhớ điều này, và phải thay
đổi cơ sờ tri thức của mình để lần sau nó không trá lại thông tin từ lĩnh vực mà
người dùng không quan tâm. Cùng với quá trình lập luận, agent cũng cần có những
hoạt động liên quan giúp agent đạt được mục tiêu.
T ư tri (Autonom y): Một trong những yếu tố để phân biệt giữa một ãgent thông
minh và một chương trình phần mềm truyền thống là khả năng một agent theo đuổi
mục tiêu một cách tự trị không có sự tương tác hoặc ra lệnh từ bên ngoài. Agent
thực hiện nhiệm vụ không cần sự hướng dẫn từng bước của người dùng hoặc các
Performance Standard
Tổng quan về agent

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ố

lượng các agent.
Tính thông minh (Intelligence)
Tính thông minh của agent ảnh hường lên người dùng ở chỗ anh ta có thể ra lệnh
cho nó, đưa cho nỏ các ý tường và các lĩnh vực quan tâm, phục vụ cho việc giải
» \ ^
quyêt các yêu câu độc lập của agent vê sau.
Tính thông minh phần nào liên quan đến việc giải quyết các công việc một cách tự
trị. Nghĩa là nó có khả năng điều khiển các hoạt động và trạng thái bên trong của nó.
Để có hành vi tự trị,agent phải có mục tiêu để hướng tới và khả năng học. Nếu
không nó sẽ phụ thuộc vào những hành động của người dùng
Tỏng quan về agent
Trần Thị M ai Thương

K1ỈT1
22 Luận văn thạc sỹ
Các tình huống được đặt
ra ở đó agent có khả năng
thực hiện hành vi tự trị
hoàn chỉnh mặc dầu
người dùng không yêu
cầu. Cụ thể, rất nhiều
người dùng không được
chuẩn bị để giao phó việc
ra quyết định cho agent.
Ví dụ, một agent mua
bán hoàn toàn có khả
A 1




• 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

Ỹf ạgđmir
UT5r>K 1 tĩâii /'V-ií r\Vion lr>oì orr/^nt% 丁írìh ể\ĩ
Tổng quan về agent
Trần Thị M ai Thương

K11T1
23
Luận văn thạc sỹ
này làm giảm chi phí kết nối. Ngoài ra, các agent di động còn có thể đi tới các điểm
gặp cụ thể, nơi mà chúng có thể làm quen với các agent khác với cùng mối quan
tâm và sau đó kiểm soát giao dịch hoặc thương lượng với chúng. Một agent cũng có
thể cung cấp các dịch vụ và dữ liệu cho các agent liên quan khác. Do đó, nó hoạt
động như thương trường hoặc các forum truyền thông và thảo luận về một lĩnh vực
quan tâm cụ thể. Các agent cố định cũng có thể nhận ra cấu trúc chỉ với phạm vi xác
định.
Truyền thông/công tác (communication/cooperation):
Một agent thường tương tác với môi trường của nỏ để thực hiện công việc. Hai
thuộc tính bổ sung được coi như một phần của quá trình tương tác là: truyền thông
và cộng tác, agent sử dụng khả năng truyền thông để liên lạc trao đổi với môi
trường của nó. Một ngôn ngữ truyền thông agent cung cấp các giao thức đã được
chuẩn hoá cho việc trao đổi thông tin cho phép agent truyền thông với nhau. Agent
cung cấp một phạm vi truy vấn được định nghĩa rõ ràng để trao đổi với các agent
khác và từ đó chúng cũng được nhận một khoảng truy vấn phản hồi được định nghĩa
rõ ràng. Tóm lại phạm vi các truy vấn và các phản hồi đều đã được định nghĩa trước
một cách rõ ràng cho các agent.
về tính đơn giản và rõ ràng, có hai thể hiện là simple agent và complex agent. Các
agent đơn giản chỉ cỏ mức độ thông minh nhất định còn các agent phức tạp lại mô tả
những hành vi mức cao hơn. Có hai loại agent di động là: mobile scripts và mobile
objects. Mobile scripts được gửi tới máy tính khác trước khi thực thi. Trái lại,
mobile object có thể thay đổi vị trí bất cứ lúc nào, cụ thể vào bất kỳ thời điểm nào

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

thường chỉ có
một lượng
thông minh
tương đối hạn
chế và vì vậy
nó phụ thuộc
vào phạm vi
của các agent
đơn giản. Công
việc chính của
agent thông tin
liên quan đến việc hỗ trợ người dùng trong việc tìm kiếm thông tin trên các hệ
thống hoặc mạng phân tán. Agent thông tin phải có khả năng thực hiện các nhiện vụ
sau: định vị các nguồn thông tin; trích chọn thông tin từ các nguồn; lọc thông tin
liên quan cho người dùng từ toàn bộ thông tin tỉm thấy, sử dụng tiểu sử các mối
quan tâm của người dùng; xừ lí và hiển thị kết quả ờ dạng thích hợp. Một agent hồ
trợ có ích cho người dùng chỉ khi nó thực hiện tất cả các bước riêng lẻ này. Một
agent thông tin phải được cung cấp kiến thức về tất cả các nguồn thông tin khả
đụng, các phạm vi vấn đề được xem xét và ngữ nghĩa của thông tin. Chỉ trong
trường hợp đó, nó mới có thể thực hiện các nhiệm vụ yêu cầu một cách tin cậy, độc
lập và nhanh hơn người dùng. Chúng hầu như luôn luôn hoạt động riêng lẻ, bởi vì
chúng không cần bất cứ sự cộng tác nào từ các agent khác để thực hiện việc tìm
kiếm thông tin của chúng. Phần lớn các agent thông tin hiện thời đều có bản tính cố
định tự nhiên của nó. Tuy nhiên, người ta cũng mong muốn chúng có khả năng di
động. Điều này làm tăng tính tự trị và dẫn tới giảm tải mạng. Kết quả là thị phần của
agent di động tăng nhanh chóng khi cơ sở hạ tầng phục vụ cho chúng sẵn sàng.
Hình 1.7 Ba tiêu chí phân chia trong agent thông tin
Tổng quan về agent

×