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

Tác tử công nghệ phần mềm hướng tác tử lê tấn hùng, từ minh phương, huỳnh quyết thắng

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 (35.45 MB, 342 trang )

TRƯỜNG Đ Ạ I H Ọ C BÁCH KHOA HÀ N Ộ I

KHOA CÔNG NGHỆ THÔNG TIN
LÊ TẤN HÙNG
MINH PHƯƠNG
iỲNH QUYẾT THẮNG
>707010)

Ítíl

■ '1
0 , U701010101
0

P

^
'07070701010101010^0A0A

^

o A ì i ) 01010107

A O ^ y m O IO IG V

1>0707070707 OTOIOIOAOAO^

m ^ 0 A 0 1 0 1 0 l0 7 0

' 0 70 70 7 0 7 0 70 7 0 1 0 1 oa oa oa


p A Jo-\OA0101010IO
«

''0 70 70 7 0 7 0 7 0 1 0 1 0A 0A 0A 0A

5

^

1707 070707 010AOAOAỌA

0 ì0

01010
m n io

o AOA 01010 ì

OAOA01-:

i0 7 0707070701010lOAOAOA

ì

Aơ \0T0101(



^


họ^

^

>
^

0

, 0

huật

, 0

1

0 I0


TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

50

NĂM XÂY DỰNG VÀ PHÁT TRIEN

KHOA CỔNG NGHỆ THỐNG TIN
1956 -2006

LÊ TẤN HÙNG

TỪ MINH PHƯƠNG
HUỲNH QUYẾT THANG

TÁC TỬ
CỎMỈ m ; h ệ p h m m ề m
HƯỚNG TÁC TỬ

NHÀ XUẤT BẢN KHOA HỌC VÀ K Ỹ THUẬT
HÀ NÔI


Lòi nói đâu

N gay lừ đâu những năm HO, tác tử và hệ đu tác tư (Agent Ví)
M ui t [Agent System) đã được biết đen với hctng loạt các công trình nghiên
cứu như ¡¿I một hướng nghiên cứu mới. Tuy nhiên chì bắt đau từ khoang
giữa thập niên 90. tác tư Ví) hệ đa tác tư mới được thừa nhận rộng rã i Ví)
ngay lậ p tức đã thu hút sự quan tâm ngày càng lớn cua g iớ i nghiên cứu
cũng như cua giói công nghiệp trong lĩnh vực Công nghệ Thông tin. Từ đó
rát nhiều san phàm thương mại đã lay tác lư làm cóng nghệ nến tang cho sự
phát trie n cua mình, rá t nhiêu trường đại học trên thê giớ i đã đưa lác tư vào
chương trình đào tạo Công nghệ Thông tin cua bậc đại hục và sau đại học.
Có nhiêu nguyên nhân dân tủi sự quan tâm đặc biệt này. Trong số đõ,
nguyên nhăn quan trọng nhát leí do công nghệ tác tư cung cap một phương
pháp luận xây dựng ứng dụng mới, phù hợp với các hệ thong thông tin có
tính mo Ví) phân tán mà diên hình Ici Internet. Ngoìii ra, công nghệ túc tư
cũng có ưu diêm trong việc xây dựng nhiều dang ứng dụng khác.
Tai Việt Nam, túc tư và hệ tác tử băt đâu được nghiên cứu trong
khoang vài năm gần đây. Mặc dù xuất hiện tại Việt Nam chưa lâu. công
nghị túc tư dã nhanh chóng trơ thành một chù dề gây dược sự chú ý. Cùng

với nhiều nghiên cứu công bô tại hội nghị khoa học và tạp chí chuyên
ngcirh, tác tư và hệ tác tư đã dược dưa veto giang dạy tại một số trường,
viện dưới các hình thức khác nhau dê từ dó nhiêu ứng dụng sư dụng hệ tác
tư a n g hàt dâu dược xây dựng va thư nghiệm. Tuy nhiên, một khó khàn cho
những người den khi tìm hiên và ứng dụng công nghệ tác tư tại Việt Nam là
sự tliê u vắng những tìii liệu tiếng Việt có tính hệ thong.
M ục tiêu của cuốn sách là cung cấp cho bạn đọc một số kiến thức ve
tác rr Ví) hệ da tác tư. Những nội dung trình bày trong sách có thê chia làm
hai phần, phục vụ cho hai mục đích chinh.
Thứ nhát, băng cách trình bày những nguyên lý và van dề mang tính lý
thuỹìt, cuôn sách cung cap cho người đọc hình dung chung ve lý thuyết tác
tư VVhệ đa tác tư.
Thứ hai, đê người dọc có thê tiếp cận với công nghệ và kỹ thuật xây
dự nị hệ tác tư, cuốn sách mô tà một số công cụ, công nghệ và ví dụ ứng
d ụ nị tác tư cụ thê. Một sô công cụ và ứng dụng trong sô này do chinh các


4

Tác từ - Công nghệ phần mềm hướng tác tư

tác giá cùng với cộng sự cùa mình phát triên, một sổ đã dược công hổ hoặc
ừng dụng thực té. Ngoài ra, dớ phục vụ việc xây dựng một số ứng dụng
thông dụng, nhiều nội dung không mang tính nến tang đổi với hệ tác tư như
tác tư di dộng, tác tư giao diện cũng dược dưa vào và trình hày thành
những chương riêng.

I
'ới nội dung như vậy. cuốn sách có thê sư dụng lùm tc)i liệu học tậ
và tham khao cho sinh viên theo học chuyên ngành công nghệ thông tin

cũng như những người làm công tác nghiên cứu có quan tâm tới cóng nghệ
tác tư.
Dê thuận lợ i cho việc xuất ban và phát hành, cuồn sách dược chia
thành hai tập. Việc phán chia này hoàn toàn do yêu cầu xuất ban và không
liên quan tới cấu trúc các phần trình bày trong sách.
Tác tư và hệ đa tác tư là lĩnh vực nghiên cứu và ứng dụng tương doi
mới và đang phát triển nhanh. Do vậy, việc thu thập tài liệu cũng như lựa
chọn nội dung đế trình bciy trong sách là tương đối khó khăn. Mặc dù các
tác gia dã cố gang song cuốn sách không thê tránh khỏi những nhược diêm.
Chúng tôi chân thành mong bạn dọc lượng thứ và cho ý kiến dóng góp.
M ọi ý kiến dóng góp xin gửi về:

Từ Minh Phương
Lẻ Tấn Hùng
Huỳnh Quvết Thắng





C á c tá c g ia


CHƯƠNG 1

Tổng quan về tác tử

1

MỞĐẢU

Sự phát triển cùa kỹ thuật tính toán trong vài thập kỷ cuối đà dẫn tới những thay đổi

tích cực trong các lĩnh vực sử dụng thông tin đồng thời dẫn đến sự ra đời cùa nhiều công
nghệ và lĩnh vực nghiên cứu mới. Một mặt, các hệ thống máy tính ngày càng tiên tiến cho
phép xử lý thông tin nhanh hơn, đa dạng hơn đã tác động tích cực đến đời sống, vãn hoá,
kinh tế. Mặt khác, bàn thân sự phát triển và phổ cập máy tính đặt ra những yêu cầu mới về
mặt công nghệ, về cách thức xây dựng, ứng dụng và nghiên cứu các hệ thống thông tin. Các
hệ thống máy tính hiện đại có một số đặc điềm sau:
Việc sử dụng máy tính và thiết bị tinh toán ngày càng phô dụng. Do giá thành liên
tục hạ, các hệ thống xử lý thông tin ngày càng được sử dụng nhiều trong các ứng dụng.


Tác tứ - Công nghệ phần mềm hướng tác từ

6

trong các thiết bị trước đây khônc thể sử dụng thiết bị tính toán vì lý do kinh tế. Châng hạn
có thể gặp các thiết bị gia dụng phổ biến được trang bị máy tính như nồi cơm điện thông
minh, máy giạt tự xác định chế độ giặt, mức nước v.v.
Máy tinh ngày nay không còn là các hệ thong hoạt động riêng lé. Ngày càng nhiều
máy tính được nối mạng cho phép liên kết, trao đổi, chia sé thông tin và công việc tính toán
với nhau. Hệ thống thông tin dần dần có dạng các hệ thống làm việc phân tán và song song.
Việc tính toán và xử lý thông tin khi đó có thể xem xét như quá trình tương tác (giữa các hệ
thống tính toán). Xu hướng kết nối và xử lý phân tán được coi là đặc điểm quan trọng nhất
cùa máy tính hiện đại.
So lượng ứng dụng đa dạng với độ phức tạp không ngừng tàng. Máy tính ngày càng
đàm nhiệm những công việc phức tạp hơn, không gần với khái niệm tính toán truyền thống.
Đây là những công việc trước đây vốn chi con người có khả năng thực hiện. Nói cách khác,
máy tính ngày càng trờ nên “ thông minh” hơn, “ trí tuệ” hơn.
Máy tinh ngày càng có thêm tinh tự chú. Để tăng năng suất, hiệu quà, giải phóng con

người khỏi nhiều công việc truyền thống, chúng ta có xu hướng trao cho máy tính nhiều
quyền hơn trong hành động và ra quyết định, đồng thời giảm bớt sự can thiệp trực tiếp cùa
con người vào hoạt động của máy. Nhiều hệ thống tính toán và điều khiển có khà năng tự
động hoá cao, ra quyết định độc lập như các hệ thống điều khiển trong hàng không đã
chứng minh tính hiệu quả, ổn định và an toàn.
Các hệ thống tinh toán hiện dại ngày càng có tinh chất hướng người dùng, ơ các thế
hệ máy tính đầu tiên, số người có thề sử dụng máy tính rất hạn che. Họ đêu là chuyên gia về
máy tính hoặc lập trình viên chuyên nghiệp, được trang bị kiến thức đặc biệt để làm việc
với máy tính, c ỏ thể nói khi đó máy tính quan trọng hơn người sừ dụng, người sử dụng
phải thích nghi và học cách làm việc với máy. Ngược lại, yêu cầu với máy tính ngày nay là
phục vụ người dùng ngày càng tốt, thề hiện ở một loạt yêu cầu như giao diện thân thiện và
trực giác, khả năng thích nghi với yêu cầu người dùng, cho phép cung cấp thông tin có tính
cá nhân hoá với từng đối tượng sử dụng.
Để xây dựng các hệ thống tính toán thoà mãn các đặc điểm và yêu cầu nói trên một
số hướng nghiên cứu và ứng dụng mới cùa khoa học máy tính đã ra đời, trong đó có tác từ
và hệ đa tác từ - nội dung chính được đề cập trong cuốn sách này.


Tổng quan về tác tử

2
2.1

7

KHÁI NIỆM TÁC TỬ
Tác tử là gì?
Có rất nhiều định nghĩa khác nhau, thậm chí mâu thuẫn nhau, về tác tử. Đây từng là

đề tài tranh cãi giữa các tác giả, các nhóm nghiên cứu, thậm chí có nhiều bài báo mà nội

dung chính là so sánh và phân tích các định nghĩa tác tử. Nguyên nhân chính dẫn đến nhiều
định nghĩa tác tử là các tác già khác nhau thường có yêu cầu khác nhau về các đặc điềm của
tác từ tuỳ theo ứng dụng cụ thể cùa mình. Ví dụ, nhiều định nghĩa nhấn mạnh khà năng tự
học và thích nghi trong khi đối với nhiều ứng dụng, khả năng này là không quan trọng hoặc
thậm chí không mong muốn. Việc không thống nhất như vậy trong định nghĩa các khái
niệm không phải là hiếm xảy ra trong lịch sứ khoa học máy tính. Chảng hạn, khái niệm nền
tảng cùa trí tuệ nhân tạo là “ trí tuệ” , “ thông minh” cho đến nay vẫn không có định nghĩa
thống nhất.
Theo một định nghĩa thường được sứ dụng, lác tứ (agent) là hệ thống tính toán hoạt
dộng tự chù trong một môi trường nào dó, có khá năng cám nhận mồi trường và tác động
vào mói trường.
Định nghĩa trên có một số điềm cần làm rồ.
Trước hết, tác tử là hệ thống tinh toán, có thể là phần cứng, phần mềm, hoặc cà cứng
lẫn mềm. Nếu là phần mềm, tác từ có thể là chương trình máy tính, môđun chương trình
hoặc thậm chí các dòng thực hiện'. Tuy nhiên, trong phần lớn nội dung sẽ trình bày, với
mục đích minh hoạ, nhiều ví dụ sử dụng khái niệm tác tử tương đương với một chương
trình, một hệ thống bao gồm cả cứng lẫn mềm hoặc cà những chù thể như người, một số
sinh vật khác.
Khi nói tác tử tồn tại và hoạt động trong một môi trường, định nghĩa trên nhấn mạnh
khà năng của tác tử cảm nhận thông tin trực tiếp từ môi trường và có thể tác động trực tiếp
làm thay đổi môi trường theo một cách nào đó (hình 1.1). Tác tử nhận thông tin từ môi
trường qua các cơ quan cám nhận và tác động vào môi trường bằng các cơ quan tác động.

1Thread, một số tài liệu dịch là tiểu trình hoặc luồng thực hiện


8

Tác từ - Công nghệ phần mềm hướng tác tử


Đối với tác tử phần cứng, cơ quan cảm nhận có thể là các cảm biến, camera, cơ quan tác
động có thể là các bộ phận cơ học, quang học hoặc âm thanh. Đối với các tác từ là chương
trình phần mềm, môi trường hoạt động thông thường là các máy tính hoặc mạng máy tính.
Việc cảm nhận môi trường và tác động được thực hiện thông qua các lời gọi hệ thống. Nói
chung, tác tử có thể được thiết kế để hoạt động trong nhiều dạng môi trường khác nhau.
Một điểm cần chú ý là cảm nhận về môi trường cùa tác tử có thể không đầy đù do môi
trường quá phức tạp hoặc có chứa các yếu tố không xác định. Tính chất cùa các loại môi
trường khác nhau sẽ được trình bày trong một phần sau.

Một yêu cầu quan trọng đối với tác tử là tính tự chú. Cũng như bản thân định nghĩa
tác tử, có nhiều cách hiểu khác nhau về tính tự chú. Ờ đây, tính tự chù được hiểu như khả
năng của tác từ hành động không cần đến sự can thiệp trực tiếp của người hay các tác tử
khác: tác tử hoàn toàn có khả năng kiểm soát trạng thái cũng như hành vi của mình trong
một thời gian tương đối dài. Một số tác già định nghĩa tính tự chủ rộng hơn, chảng hạn yẽu
cầu tác từ phải có khá năng tự học.
Với các đặc điểm tồn tại và hành động tự chủ trong môi trường, tác từ có thể thực
hiện các mục tiêu cho trước và do vậy có thay thế chù cùa mình (người dùng hoặc tác từ
khác) thực hiện một số nhiệm vụ nào đó.
Một số ví dụ tác tử. Các đặc điểm nói trên tồn tại trong môi trường và tự chù có thể
tìm thấy trong rất nhiều hệ thống và do vậy những hệ thống này được coi là tác tử theo định


Tổng quan về tác tử

9

nghĩa trên. Dưới đây là hai ví dụ tác từ phần cứng và phần mềm.


Các hệ thống điều khiển tự động. Các hệ thống này được đặt trong môi trường làm

việc, có khà năng thu nhận trực tiếp thông tin môi trường qua các cảm biến, đồng
thời có khả năng tác động lại môi trường khi các điều kiện bên ngoài thay đổi. Ví dụ
đơn giàn cho hệ thống điều khiển tự động là bộ điều nhiệt (của lò sưởi, điều hoà
nhiệt độ). Hệ thống này có càm biển để đo nhiệt độ trực tiếp cùa môi trường. Nếu
nhiệt độ đo được cao hơn hoặc thấp hơn một số ngưỡng nào đó, hệ điều nhiệt sẽ tác
động vào môi trường bằng cách bật (tắt) hệ thống làm nóng hoặc làm lạnh. Các ví dụ
khác phức tạp hơn cùa hệ thống điều khiển tự động có thể là hệ thống điều khiển tầu
vũ trụ hoặc nhà máy điện hạt nhân.



Các service của Windows hoặc các daemon (tiến trình nền trong Unix, Linux).
Đây là các tiến trinh chạy trong chế độ nền, làm nhiệm vụ theo dõi một số thông số
của hệ thống và thực hiện các tác động vào hệ thống. Ví dụ, tiến trình quàn lý email
có thể theo dõi và nhận email, đồng thời hiển thị icon thông báo trong trường hợp có
các email chưa đọc. Môi trường làm việc trong trường hợp này là môi trường phần
mềm. Thông tin được thu thập nhờ gọi một số hàm nào đó cùa hệ điều hành để đọc
thông tin từ các cổng. Tác động vào môi trường bao gồm việc thay đổi giao diện đồ
họa (làm hiện ra icon) hoặc tạo ra âm thanh gây chú ý.

2.2

Tác tử thông minh

Một số lượng lớn hệ thống tỉnh toán phù hợp với định nghĩa tác từ như ở phần trên
và do vậy có thể coi là tác từ. Tuy nhiên, các nghiên cứu về tác tử thường quan tâm đặc biệt
tới tác từ thòng minh (intelligent agent), được định nghĩa như sau
Tác từ thòng minh là tác tử có khá năng hoạt động linh hoạt và mềm dẻo đế thực
hiện mục tiêu dược giao.
So với tác tử nói chung, đặc điểm quan trọng của tác từ thông minh là tính linh hoạt.

Vậy tác tứ như thế nào thì được gọi là linh hoạt ? Tính linh hoạt cùa tác tử được xác định
bởi ba đặc điềm sau:


Tính phàn xạ: tác từ có khà năng phàn xạ kịp thời với các thay đổi trong môi trường
mà tác từ cảm nhận được.


10



Tác tử - Công nghệ phẩn mềm hướng tác từ

Tinh tự chú động (hành động có mục đích): không chi phản xạ, tác tử còn phải biết
chủ động tìm kiếm khá năng hành động hướng tới thực hiện mục tiêu được giao.



Tinh cộng đồng-, tác tử có khà năng tương tác với người dùng hoặc các tác tử khác
để thực hiện nhiệm vụ của riêng mình hoặc để giúp đờ các đối tác.
Ba đặc điểm này không phải mới đối với hệ phần mềm nếu xét riêng rẽ. Trước hết,

nói đến tính chú động hoặc hành động có mục đích. Bất cứ một hàm hoặc một chương trình
con (chảng hạn trên một ngôn ngữ bậc cao như

c, Java)

đều có thề coi như có tính chù


động. Cụ thể, mỗi hàm hoặc chương trình con nhận một số dữ liệu và một số điều kiện đầu
vào nhất định. Sau khi được gọi, chương trình con sẽ chù động thực hiện nhiệm vụ cùa
mình: thực hiện tính toán để đưa ra kết quà cho dữ liệu đầu vào. Đó chính là hành động có
mục đích. Nói rộng ra, tính chất này tiêu biếu cho các hệ thống chức năng. Những hệ thống
như vậy nhận nhiệm vụ đầu vào, thực hiện và cho kết quả đầu ra tương ứng với đầu vào đó.
Một đặc điểm cùa các hệ thống này là yêu cầu các điều kiện đầu vào cũng như nhiệm vụ
đặt ra không thay đổi trong suốt thời gian hệ thống thực hiện.
Trên thực tế, có nhiều môi trường không thoả mãn các yêu cầu bất biến về điều kiện
và mục tiêu nói trên. Đó có thề là các môi trường có độ phức tạp cao, tác tử không có đầy
đù thông tin hoặc thông tin không chính xác về môi trường, có thể có sự hiện diện cùa
nhiều tác tử khác, hoặc môi trường mang tính động, thay đổi theo thời gian dẫn đến thay
đổi mục tiêu cùa tác tử. Trong trường hợp đó, việc thực hiện một cách máy móc, không
quan tâm đến thay đổi từ môi trường là không hợp lý. Khà nâng phàn xạ cùa tác tử trong
trường hợp này là cần thiết. Nó thể hiện ờ việc đáp ứng các sự kiện dẫn đến thay đổi điều
kiện hoặc mục tiêu hành động của tác tử.
Tuy nhiên, việc xây dựng các chương trình chi thuần tuý phàn xạ cũng không khó và
không phải là mới. Các chương trình xây dựng theo kiều hướng sự kiện đều có tính chất
này.

Xét ví dụ lập trình cho Windows. Chương trình chù yếu bao gồm các hàm hay phương

thức (method) xử lý sự kiện. Mỗi khi xẩy ra sự kiện trong hệ thống như người dùng bấm
chuột, có email mới.v.v. hàm xử lý sự kiện tương ứng sẽ được gọi cho phép hệ thống có
phản xạ thích họp với thay đổi đó. vấn đề

đạt ra là tác từ phải kết họp và cân bàng cả hai

đặc điểm phản xạ và chù động ờ một mức độ thích hợp. Nếu tác từ dành quá nhiều thời
gian thực hiện hành động có mục đích cùa mình, tác tử sẽ không thể phàn xạ kịp khi môi



Tổng quan về tác từ

11

trường thay đổi. Ngược lại, nếu tác từ dành hết thời gian phàn xạ với môi trường, tác tử sẽ
không bao giờ hoàn thành công việc được giao.
Cuối cùng, nói về tính cộng đồng cùa tác từ. Trên thực tế, các hệ thống tính toán đều
biểu hiện tính cộng đồng ờ một mức nào đó. Đa số máy tính ngày nay đều được nối mạng,
có khá năng trao đổi, chia sè thông tin với nhau cũng như tương tác với người dùng. Tuy
nhiên, tính cộng đồng cùa tác từ được hiểu như khả năng tương tác ờ mức cao hơn việc trao
đổi thông tin ở dạng thô (chuồi các bít, byte, hay gói tin) thông thường. Có thể so sánh tính
cộng đồng cùa tác từ với tính cộng đồng cùa con ngươi. Để đạt được các mục đích của
mình, trong đa số trường hợp, con người phái họp tác, thương lượng, thậm chí cạnh tranh
với nhừng người khác trong cộng đồng. Mỗi người là một cá thể có tính tự chù cao, có mục
đích cùa riêng mình, các mục tiêu cùa nhiều người có thể không giống nhau, thậm chí mâu
thuẫn. Tính cộng đồng khi đó thể hiện ở khả năng họp tác, thương lượng, khả năng nhận
thức và suy diễn về mục đích cũng như khả năng của những người khác. Tính cộng đồng
theo nghĩa này thường phức tạp hơn nhiều so với việc trao đối thông tin thông thường giữa
các hệ thống tính toán.
Có thể so sánh một tác tử có đầy đú ba đặc điểm nói trên với một cầu thù đá bóng.
Mục đích cùa cầu thù là cùng toàn đội đưa bóng vào lưới đối phương đồng thời ngăn không
cho dối phương đưa bóng vào lưới mình. Để đạt được mục tiêu này, cầu thù phải tìm mọi
cơ hội để đưa được bóng về gần lưới đối phương và sút. Đây chính là thể hiện cùa tính chủ
động hoặc hành động có đích,

về mặt toán học, cầu thủ phái

luôn đưa bóng hướng về phía


cầu môn đổi phương. Tuy nhiên, tuỳ tình huống trẽn sân, có khi, cầu thủ phải thay đồi mục
tiêu tạm thời, cụ thể là chuyền ngang hoặc thậm chí chuyền về. Khi đối phương vào bóng
thô bạo thì mục tiêu trước mất có thể chưa phài là sút bóng mà trước hêt là giữ an toàn cho
mình. Đây là thể hiện rồ ràng cùa tính phàn xạ. Cuối cùng, cầu thủ trên sân phải có tính
cộng đồng, thể hiện ở việc phối hợp với đồng đội, tuân theo các chi dẫn cùa huấn luyện
viên và trọng tài. Có lỗ do có nhiều điểm tương tự giữa cầu thù bóng đá và tác từ mà trò
chơi bóng đá đã được chọn làm tiêu chuẩn thi đấu giữa các đội bóng gồm toàn robot (tác tử
cứng)2. Nhiều nghiên cứu về tác tử phần mềm cũng dựa trên việc mô phỏng trò chơi này.

2 Các thông tin về cuộc thi này có thể xem tại URL: .


12

2.3

Tác từ - Công nghệ phần mềm hướng tác tứ

Các đặc điểm khác của tác tử
Ngoài các đặc điểm đã được nhắc tới ờ những định nghĩa trên và được coi là quan

trọng nhất, tác tử có thể có thêm một hoặc một vài đặc điểm sau
Khả năng tự học: tự học hoặc học tự động là khả năng của tác tử thu thập các kiến
thức mới từ kinh nghiệm thu lượm được, chẳng hạn qua các lần thành công và thất bại. Kết
quả tự học phải làm cho tác tử hành động tốt hon, hiệu quả hơn.
Tính thích nghi: thích nghi là khả năng của tác tử tồn tại và hoạt động hiệu quả khi
môi trường thay đổi. Mặc dù có nhiều nét liên quan với tính phản xạ, khả năng thích nghi
cùa tác tử khó thực hiện và đòi hỏi nhiều thay đổi trong quá trình suy diễn cùa tác tử hơn.
Tính thích nghi có thể thực nhờ khà năng tự học từ kinh nghiệm của tác tử.
Khả năng di chuyến: là khả năng cùa tác từ (phần mềm) di chuyển giữa các máy

tính hoặc các nút khác nhau trong mạng đồng thời giừ nguyên trạng thái và khà năng hoạt
động cùa mình. Các tác tử có đặc điểm này được gọi là tác tử di động. Việc thiết kế và cài
đặt tác

tử di động đạt ra các yêu cầu đặc biệt về vấn đề an ninh hệ thống. Do có nhiều ứng

dụng và các vấn đề đặc thù trong thiết kế và cài

đạt, tác tứ di động sẽ được đề cập đến trong

một chương riêng. Trên thực tế, tác từ di động và tác từ thông minh thường được coi như
hai hướng nghiên cứu riêng.

2.4

So sánh tác tử và một sổ khái niệm khác
Để làm rõ khái niệm tác từ, cách tốt nhất là so sánh tác tử với một số khái niệm có

nhiều điểm tương tự. Trong phần này, tác tử sẽ được so sánh với đối lượng trong công nghệ
phần mềm và hệ chuyên gia trong trí tuệ nhân tạo.
2.4.!. Tác tử và đối tuọng
Theo phương pháp lập trình hướng đối tượng, đối tượng (object) là các thực thé
phần mềm có trạng thái riêng cùa mình, có khà năng hành động thông qua các hàm (C++)
hoặc các phương thức (Java), có khả năng liên lạc với các đối tượng khác nhờ trao đối
thông điệp hoặc gọi hàm trực tiếp. Các đặc điểm này đều gặp ờ tác tử. Do có sự tương tự
như vậy, nhiều người, khi mới xem qua định nghĩa tác tử, đã cho ràng đây chính là đối
tượng, hoặc ngược lại, đối tượng cũng có thể coi là tác tử.


Tổng quan về tác tử


13

Mặc dù có các nhiều đặc điềm chung, tác từ và đối tượng (theo cách hiểu cùa lập
trình hướng đối tượng) có một số điểm khác nhau căn bàn. Điểm khác nhau quan trọng nhất
là mức độ tự chù của đối tượng và tác tử. Một đối tượng thông thường bao gồm: (1) các
biến chứa trạng thái cùa đối tượng (2) các hàm quyết định hành động cùa đối tượng. Bằng
việc khai báo các biến dùng riêng (kiểu private trong C++ hoặc Java), đối tượng ngăn
không cho các đối tượng khác truy cập trực tiếp vào trạng thái bẽn trong của mình và do
vậy có khả năng tự chù (tự quản) về trạng thái. Tuy nhiên, khi một số hàm cùa đối tượng
được khai báo public (một đối tượng hoàn toàn là vô ích nếu không có các hàm kiểu này),
thì các đối tượng khác có toàn quyền gọi các hàm này. Việc gọi hàm tương đương với việc
yêu cầu đối tượng thực hiện hành động tương ứng. Như vậy, đối tượng không có khả năng
tự chú về hành vi. Đối tượng phải thực hiện hành động khi các đối tượng khác yêu cầu.
Khác với đối tượng, tính tự chủ của tác từ không chi là khả năng kiềm soát trạng thái
bên trong mà còn là khà năng tự chủ trong hành vi cùa mình. Tác tử chi thực hiện các hành
động mà nó cho là cần thiết, chứ không hành động theo yêu cầu hoặc chi thị cùa tác tử
khác. Không thể bát buộc tác từ thực hiện một hành động như khi ta gọi hàm public cùa đối
tượng mà chi có thể đề nghị tác từ thực hiện. Tác tử có thể thực hiện đề nghị hoặc không
tuỳ theo xét thấy cần thiết hay không cần thiết. Như vậy, trong trường hợp đối tượng, quyền
quyết định thuộc về đối tượng gọi hàm. Ngược lại, trong trường hợp tác tử, quyền quyết
định thuộc về tác từ được yêu cầu.
Vậy có thể thêm cơ chế ra quyết định vào đối tượng để đối tượng tự chù về hành vi
cùa mình hay không? Câu trả lời là có. Tuy nhiên, theo định nghĩa của lập trình hướng đối
tượng, các đối tượng thông thường không có cơ chế ra quyết định như vậy.
Cũng theo định nghĩa về đối tượng, đối tượng không có khà năng hành dộng mềm
dẻo (phản xạ, chù động, cộng đồng) như tác tử. Đây chính là điểm khác nhau thứ hai giữa
hai khái niệm này.
Một đặc điểm quan trọng khác cho phép phân biệt tác tử với đối tượng là tác tử ở
trong trạng thái tích cực và được dành dòng (thread) thực hiện riêng cùa mình. Nói cách

khác, tác tử được phân chia CPU để thực hiện công việc của mình như một tiến trình trong
các hệ điều hành đa nhiệm. Mặc dù một số ngôn ngữ (như Java) hoặc hệ điều hành cho


14

Tác tử - Công nghệ phần mềm hướng tác từ

phép nhiều đối tượng cùng nhận được dòng thực hiện trong chế độ song song (còn gọi là
tương tranh), nhưng đối tượng nói chung không bát buộc phải có đặc điểm này.
Tóm lại, mặc dù có nhiều điểm giống nhau, tác tử khác đối tượng ở ba đặc điểm
quan trọng sau:


Tác từ hoàn toàn tự chù về trạng thái và hành vi cùa mình, thể hiện ờ việc tác tử tự
quyết định có thực hiện hay không các yêu cầu từ bên ngoài.



Khác với đối tượng, tác tử có các tính chất phàn xạ, tự chù và cộng đồne.



Trong hệ thống đa tác tử, mỗi tác từ đều có dòng (thread) thực hiện riêng cùa mình,
và do vậy luôn tích cực.

2.4.2. Tác tử và hệ chuyên gia
Hệ chuyên gia từng là hướng nghiên cứu quan trọng của trí tuệ nhân tạo với một số
ứng dụng thương mại thành công. Hệ chuyên gia là hệ thống sử dụng kinh nghiệm và tri
thức cùa chuyên gia trong một lĩnh vực hẹp đề cho ra kết quả dưới dạng chẩn đoán, quyết

định, khuyến cáo có chất lượng tương đương với chất lượng chuyên gia tronc lĩnh vực đỏ.
Đặc điểm căn bàn cùa hệ chuyên gia là khá năng suy luận “ thông minh” nhờ sử dụng tri
thức và các phương pháp suy diễn dựa trên tri thức. Hệ chuyên gia đầu tiên và được biết
đến nhiều nhất là M YCIN sừ dụng trong chẩn đoán một số bệnh.
Như vậy, giống với tác tử, hệ chuyên gia có khả năng suy diễn linh hoạt và cho ra
những lời giải thông minh. Tuy nhiên, khác với tác từ, hệ chuyên gia không ton tại trong
môi trường và do vậy không có khả năng cảm nhận cũng như hành động để thay đói mòi
trường đó. Cụ thể, hệ chuyên gia nhặn thông tin đầu vào không trực tiếp từ môi trường mà
thông qua quá trình nhập liệu thực hiện bời con người. Tương tự như vậy, hệ chuyên gia
không có cơ quan tác động. Lời giải được hiển thị cho người dùng và việc thực hiện hành
động do con người đàm nhận. Như vậy, tác tử có khả năng hành động thông minh trong khi
hệ chuyên gia chi có khả năng suy luận thông minh.

3

TÁC Tử VÀ MÔI TRƯỜNG
Tác tử được xây dựng sao cho có khả năng tồn tại và hoạt động trong môi trương cụ

thể. Tính chất, đặc điểm cùa môi trường, cũng như quan hệ giữa tác từ và môi trường, do


Tổng quan về tác tử

15

vậy, ảnh hưởng nhiều đến việc thiết kế và nghiên cứu tác tử. Trong tất cả các trường hợp,
tương tác giữa tác từ và môi trường đều có chung một bàn chất: tác từ cảm nhận hay tri giác
môi trường, sau đó thực hiện hành động trong mỏi trường.
Môi trường có thề phân chia thành nhiều loại theo đặc điềm cùa mình. Những đặc
điểm này của môi trường ảnh hưởng trực tiếp đến việc xây dựng cơ chế ra quyết định bên

trong cùa tác tử. Russell và Norvig [Russell 1999] phân biệt môi trường theo những đặc
điểm sau
»

Có thể tiếp cận (đầy đù) và không the tiếp cận (đầy đủ). Môi trường được gọi là có
thế tiếp cận (đầy đù) nếu tác từ có thế thu thập được đầy đù và chính xác thông tin
về trạng thái môi trường thông qua cơ quan cảm nhận của mình và không thể tiếp
cận (đầy đù) trong trường họp ngược lại. Môi trường được gọi là tiếp cận hiệu quà
nếu tác tử có thể cảm nhận đầy đù và chính xác thông tin liên quan đến hành động
của mình. M ôi trường có thể tiếp cận thuận lợi hơn cho việc ra quyết định cùa tác tử
do tác từ không cần lưu giừ thông tin về mỏi trường trong trạng thái bên trong cùa
mình (xem phần kiến trúc tác tử). Môi trường có thể tiếp cận đều là những môi
trường khá đơn giàn. Những không trường có độ phức tạp trung bình trớ lẻn (như
Internet, thế giởi vật lý thực) đều là môi trường không thể tiếp cận đầy đù.



Xác định và không xác định. Nếu trạng thái tiếp theo cùa môi trường hoàn toàn xác
định bời trạng thái hiện tại và hành động cùa tác từ thì môi trường được gọi là xác
định. Nói cách khác, tác từ có thể biết chắc chân kết quà hành động cùa minh. Trong
trường hợp môi trường là không xác định, cùng một hành động cùa tác tử có thể cho
những kết quả khác nhau, thậm chí là kết quả mà tác tử không mong muốn. Tính
không xác định cùa môi trường, do vậy có thể gây ra nhiều khó khăn cho việc thiết
kế tác tử.



Có phán đoạn và không phán đoạn. Trong môi trường có phân đoạn, hoạt động cùa
tác tử được chia theo thời gian thành từng đoạn riêng biệt, không phụ thuộc vào
nhau. Hiệu quà hành động trong từng đoạn chi phụ thuộc vào đoạn đó mà không phụ

thuộc vào đoạn khác. Môi trường có phân đoạn đơn giàn hơn không phân đoạn vì
tác từ không cần quan tâm đến tác động đối với các đoạn sau. Một ví dụ của môi


Tác tử - Công nghệ phần mềm hướng tác tử

16

trường có phân đoạn là môi trường cho tác tử phân loại email. Mồi đoạn tương ứng
với việc nhận và phân loại một email.


Tĩnh và động. Nếu môi trường có thề thay đổi trong khi tác tử đang suy tính (lựa
chọn kế hoạch và hành động) thì ta nói đó là môi trường động đối với tác tử. Mỏi
trường là tĩnh trong trường hợp ngược lại. Đối với môi trường tĩnh, tác tử có thế tập
trung cho quá trình suy tính và ra quyết định mà không cần quan đến môi trường,
cũng như không cần quan tâm đến thời gian. Môi trường tĩnh, do vậy, đơn giàn hơn
môi trường động từ khía cạnh xây dựng tác tử.



Rời rạc và liên tục. Nếu số lượng cảm nhận và hành động cùa tác từ trong mòi
trường là hữu hạn và được xác định thì môi trường là rời rạc. Ví dụ môi trường rời
rạc là môi trường cho trò chơi cờ vua - mỗi người chi có một số lượng nước đi hữu
hạn. Môi trường trong trường hợp người lái xe là liên tục - vị trí, tốc độ xe và vị trí
các xe khác được đo bàng nhừng đại lượng liên tục.
Môi trường với đặc điểm khác nhau đòi hỏi tác tử dược thiết kế thích ứng. Trường

hợp khó nhất là trường hợp môi trường với các đăc điểm không thể tiếp cận, không phân
đoạn, động và liên tục. Đối với môi trường phức tạp, tính xác định không cỏ giá trị đáng kể.

Trong thực tế, môi trường phức tạp luôn được coi là không xác định do không thể tận dụng
được tính xác định cùa nó.

4

HỆ ĐA TÁC Tử
Do ứng dụng ngày càng phức tạp, khả năng giãi quyết vấn đề của những tác tử riêng

lè không đáp ứng được yêu cầu đặt ra hoặc tác tử trở nên quá phức tạp. Trong trường hợp
đó, hệ đa tác từ là giải pháp thích hợp. Hệ đa tác tử là hệ thống bao gồm nhiều tác tứ có khà
năng tương tác với nhau. Việc kết hợp nhiều tác tử cho phép tạo ra các hệ thống có những
đặc điểm mà các tác tử xét riêng lè không có.
Hệ đa tác tử như đối t trọng nghiên cứu của trí tuệ nhân tạo phân tán
Nghiên cứu về hệ đa tác tử có nguồn gốc từ một hướng nghiên cứu cùa trí tuệ nhản
tạo - trí tuệ nhân tạo phán tán. Các hệ trí tuệ nhân tạo phân tán trước đây được chia làm hai
loại : hệ g iá i quyết vắn đẻ phán tán và hệ đa tác tử. Hệ giải quyết vấn đề phân tán bao gồm


Tổng quan về tác từ

17

một số môđun (hay nút) cùng hợp tác với nhau chia sẻ tri thức và nhiệm vụ để tạo ra lời
giải. Nhiệm vụ ban đầu được chia thành các phần việc con, phần việc con sau đó được giao
cho môđun thành phần cùa hệ thống thực hiện. Mỗi môđun thực hiện phần việc của minh
đồng thời chia .«•* với môđun khác tri thức cần thiết cho việc thực hiện công việc. Kết quả
thực hiên

từng môđun sau đó được tổng hợp lại tạo ra lời giải chung. Như vậy, giải


quyết vấn đề phân tán quan tâm chù yếu tới việc phân rã bài toán, chia sẻ tri thức và tổng
hợp kết quả. Hệ thống loại này được thiết kế tập trung bởi một người hoặc một tổ chức với
cơ chế tương tác giữa các môđun được xác định từ trước như một phần cùa hệ thống. Đặc
điếm quan trọng của giải quyết vấn đề phân tán là các môđun hợp tác với nhau một cách tự
nguyện, mục tiêu của toàn hệ thống là ưu tiên cao nhất.

Hình 1.2 Hai thành phản của tri tuệ nhân tạo phản tán trvyèn thống.
Trong khi đó, hệ đa tác tử nghiên cứu hành vi của tâp hợp các tác tử làm việc cùng
nhau để giải quyết một nhiệm vụ nào đó. Tương tác giữa những tác tử này không biết trước
và chi xác định trong quá trình hệ thống hoạt động. Tác tử trong các hệ thống có thể thuộc
về những cá nhân và tổ chức khác nhau với những mục tiêu mâu thuẫn. Do vậy việc thiết
kế hệ thống không thể dựa trên đặc điểm hợp tác tự nguyện cùa tác tử như trong trường hợp
trên. Quan hệ giữa tác tử chi là phổi hợp chứ không nhất thiết là hợp tác. Ngoài ra, nếu như
giải quyết vấn đề phân tán được thiết kế theo kiểu trên - xuống, tức là quá trinh phân tích đi
từ tổng thể xuống những thành phần con, thì hệ tác tử trong nhiều trường hợp được xây
dừng theo mô-hlnh dưới - lên. Các tác từ tự chù riêng lẻ được trang bị thêm cơ chế liên lạc,
thay đổi cơ chế suy diễn cho phép thực hiện phối hợp để tạo thành hệ đa tác tử.


18

Tác từ - Công nghệ phần mềm hướng tác từ

Hiện nay, cả hai hướng nghiên cứu trên được gọi chung là hệ đa tác tử - các hệ
thống được hình thành từ những thành phần tự chú hoặc bán tự chù với khả năng tương tác.
Hệ đa tác từ có các đặc điểm chính sau:
-

Thông tin hoặc khả năng giải quyết vấn đề của từng tác tử là hạn chế, không đầy đủ.


-

Không có sự điều khiển tập trung cho toàn hệ thống.

-

Dữ liệu được phân tán trên những thành phần khác nhau cùa hệ thống

-

Ọuá trình tính toán được thực hiện không đồng bộ.

Những ưu điểm chính của hệ đa tác tử bao gồm:


Cho phép giải quyết các vấn đề quá phức tạp đối với từng tác tử riêng lẻ, ví dụ
những bài toán đòi hỏi tài nguyên tính toán quá lớn, hoặc những vấn đề đòi hỏi phân
tán để tránh tác nghẽn và tăng tính ổn định.



Cho phép tích hợp các hệ thống, chương trình có sẵn. Để có thể th ích ứng với sự
phát triển công nghệ và yêu cầu thực tế, các hệ thống có sẵn cần được nâng cấp, thay
đổi, cần có khả năng tích hợp với các hệ thống mới (có thể không tưcrng thích). Việc
sửa đổi hoàn toàn các hệ thống cũ rất tốn kém hoặc thậm chí không thề thực hiện
được. Hệ đa tác từ cho phép tích hợp các hệ thống cũ bằng cách tạo ra các tác từ bao
(wrapper). Các tác từ bàng cơ chế liên lạc cùa minh có thể đóng va.i trò giao diện,
cầu nối, cho phép các hệ thống không tương thích tích hợp với nhau.




Cho phép mô hình hoá một cách tự nhiên và trực giác nhiều vấn đề có cấu trúc giống
với hệ đa tác tử. V í dụ, hệ thống đẩu giá trực tuyến có thể hlnh dung một cách tự
nhiên như hệ thống đa tác từ, mỗi tác tử dại diện cho một người mua hoặc bán. Một
ví dụ khác là hệ thống điều khiển không lưu với tác tứ là các máy bay và người diều
khiển.



Cho phép giải quyết các vấn đề trong đó thông tin hoặc/và tri thức

CÓI

tính phân tán.

Chảng hạn, hệ thống quàn lý sàn xuất bao gồm nhiều công đoạn. V iệc quản lý từng
công đoạn đòi hỏi kiến thức riêng vệ công đoạn đó. Thay vì tập hợp t r i thức vào một
cơ sở tri thức lớn, từng tác từ có thể sở hữu tri thức chi liên quan đến công đoạn cùa
mình.


Tồng quan về tác tử

19

Các vấn đề liên quan đán hệ đa tác từ
Mặc dù có nhiều ưu điểm, việc thiết kế và cài đặt hệ đa tác tử đặt ra nhiều vấn đề
cần giải quyết. Các vấn đề thường được nhẳc đến, và cũng là mục đích các nghiên cứu liên
quan đến hệ đa tác từ bao gồm:
( I)


Cách biểu diễn, phân rã bài toán, phân chia bài toán con tới các tác từ trong hệ thống
cũng như tồng hợp kết quả thành phần.

(2)

Tổ chức tương tác, liên lạc giữa các tác từ. Sử dụng giao thức liên lạc và ngôn ngữ
giao tiếp nào, nội dung trao đổi là gì và thời gian liên lạc ra sao.

(3)

Trong khi từng tác từ ra quyết dịnh và hành động cục bộ vẫn phải đàm bào tính
thống nhất, hiệu quà của cả hệ thống.

(4)

Để có thể hợp tác với nhau, mỗi tác từ phải có thông tin và hình dung nhất định về
những tác từ khác.

(5)

Giải quyết các mâu thuẫn có thể có trong quá trình hoạt động cùa hệ thống.

(6)

Cân bằng giữa khối lượng tính toán cục bộ và phí tổn cho việc liên lạc giữa các tác
từ trong hệ thống.

(7)


Xây dựng công cụ, phương pháp thiết kế và cài

đạt các hệ đa tác tử cho các ứng

dụng thực tiễn.

Các vấn dè nói trên vä phương pháp giãi quyết sẽ được lần lưọrt dề cập cụ thể trong
các chương tiếp theo.

5

TÁC TỬ VÀ CÁC LĨNH v ự c NGHIÊN c ứ u LIÊN Q U A N
Cũng như nhiều hướng nghiên cứu và công nghệ khác, tác tử không phải là một

công nghệ hay một hướng nghiên cứu độc lập và hoàn toàn mới mà được hình thành từ
nhiều hướng nghiên cứu, nhiều công nghệ khác, đồng thời sử dụng nhiều kết quả cùa những
hướng nghiên cứu này. Tác tử cũng không phải là những ứng dụng mới, được sử dụng biệt
lập mà thường là dược sừ dụng kết hợp với những dạng ứng dụng khác, cho phép bổ trợ,
tăng khả năng, hiệu quà cùa những ứng dụng này. Các đặc điểm của tác từ như trình bầy
trong phần trước được hình thành nhờ sử dụng những kỹ thuật từ nhiều khoa học khác


20

Tác tử - Công nghệ phần mềm hướng tác từ

nhau. Trên hình 1.3 là một số khoa học hoặc lĩnh vực nghiên cứu liên quan và quan hệ với
những đạc điểm của tác tử.

5.1


T r í tuệ nhân tạo
Trí tuệ nhân tạo là lĩnh vực nghiên cứu có ảnh hường quan trọng nhất đến sự hình

thành và phát triển cùa công nghệ tác tử. Trên thực tế, tác tử thông minh được coi như một
nhánh nghiên cứu cùa các hệ thống trí tuệ nhân tạo còn hệ đa tác từ là đối tượng nghiên cứu
chủ yếu cùa trí tuệ nhân tạo phân tán.

Hình 1.3 Tốc từ và các lĩnh vực nghiên cứu Hèn quan.
Khoa học về trí tuệ nhân tạo ra đời khoảng bốn thập kỷ trước với mục tiêu xây dựng
những hệ thống tính toán với khả năng làm việc “ thông minh” . Trong suốt thời gian tồn tặi
và phát triển của mình, mục tiêu nghiên cứu cũng như quan niệm về khoa học này có nhiều
thay đổi, có những lúc không hoàn toàn phù hợp với khả năng khoa học công nghệ và thục


Tổng quan về tác từ

21

tế. Một số thành công ban đầu trong việc xây dựng các chương trình tự động chơi trò chơi,
tự động chứng minh định lý, tự động suy diễn gây cảm giác có thể đạt được trí tuệ máy một
cách dễ dàng. Tuy nhiên, sau những thành công ban đầu, cộng đồng nghiên cứu trí tuệ nhân
tạo dần dần nhận ra việc tạo cho máy tính khả năng thực hiện những việc vốn rất dễ với con
người là không đơn giàn, thậm chí là không thể thực hiện được trong tương lai gần. Nhiều
niục tiêu đật ra cho trí tuệ nhân tạo trong thời kỳ đầu không thực hiện được. Có thể nhớ lại
một ví dụ thất bại trong việc chế tạo máy tính thế hệ 5, máy tính thông minh, cùa Nhật Bản.
Mặc dù vậy, các nghiên cứu về trí tuệ nhân tạo có đóng góp rất lớn cho sự phát triển
cùa khoa học máy tính nói chung. Nhiều ý tường và kỹ thuật được sử dụng trong khoa học
máy tính hôm nay đã từng bị coi như như viền vông khi lần đầu được nhắc đến trong khuôn
khổ trí tuệ nhân tạo.

Lịch sừ hơn 40 năm cùa trí tuệ nhân tạo có thề chia ra làm ba giai đoạn chính. Trong
giai đoạn đầu tiên, các nghiên cứu chú yếu tập trung vào những bài toán có cấu trúc và
dược phát biểu một cách hình thức, rõ ràng. Các bài toán này liên quan nhiều đến tư duy và
kỹ năng toán học như chứng minh định lý tự động, chơi trò chơi (cờ vua). Mục tiêu nghiên
cứu là tạo ra máy tính với khả năng tư duy tổng quát, cho phép giải một lớp lớn các bài
toán. Các kỹ thuật được chú trọng đặc biệt là suy diễn và tìm kiếm.
Giai đoạn tiếp theo bát đẩu từ việc nhận thức: phần lớn các hệ thống trí tuệ nhân tạo
thành công đều là nhừng hệ thống tập trung giãi quyết những vấn đề riêng và tương đối
hẹp.

Các hộ thống này đều chứa đựng rất nhiều tri tức đặc thù. Việc sừ dụng các tri thức

dặc thù dẫn tới nhừng hệ thống trí tuệ nhân tạo thực tiễn, có giá trị thương mại: hệ chuyên
gia. Hệ chuyên gia được xây dựng và sứ dụng cho nhiều ứng dụng khác nhau: y tế, hoá
chất, thăm dò dịa chất.v.v. Các kỹ thuật chù yếu sử dụng trong hệ chuyên gia bao gồm biểu
diễn tri thức, suy diễn, kỹ nghệ tri thức (knowledge engineering). Ra đời những ngôn ngữ
riêng nhằm biểu diễn và xử lý tri thức cho hệ chuyên gia như Lisp, Prolog, những máy tính
riêng để chạy những ngôn ngữ này.
Giai đoạn cuối cùng là giai đoạn cùa chúng ta hiện nay. Từ cuối nhừng năm 80, mục
tiêu nghiên cứu cùa trí tuệ nhân tạo là giãi quyết những vấn đề khó đối với máy tính như
ngôn ngữ và thị giác máy, xử lý ngôn ngữ tự nhiên, kỹ thuật robot. Một hướng nghiên cứu
phát triển mạnh và có nhiều ứng dụng thương mại cùa trí tuệ nhân tạo là phát triển các kỹ


22

Tác tử - Công nghệ phẩn mềm hướng tác tử

thuật như mạng nơron nhân tạo, lôgic mờ, thuật toán di truyền cho khai phá tri thức, mô
hỉnh hoá, điều khiển thích nghi, biểu diễn và suy diễn với thông tin không chắc chán.v.v.

Cũng trong giai đoạn này, sự phát triển cùa Internet và xử lý phân tán dẫn đến ý tường xây
dựng tác tử.
Tác từ, với khả năng hành động tự chù và thông minh, có khả năng hỗ trợ người sử
dụng máy tính, chính là sự kết hợp cùa các kỹ thuật trí tuệ nhân tạo - suy diễn, tìm kiếm,
biểu diễn tri thức, học tự động. Mặt khác, nghiên cứu và xây dựng tác từ cũng chính là mục
tiêu cùa trí trí tuệ nhân tạo hiện đại - xây dựng các hệ thống không chí có khả năng suy dien
thông minh mà còn có khả năng hành động thông minh và tự chù.
Tác tù có p h ả i là t r i tuệ nliân tạo thuần tuý không?
Có một số quan điểm cho rằng tác tử và hệ đa tác từ không phái là hướng nghiên
cứu mới, có mục đích và phương pháp nghiên cứu riêng, chàng qua đó chính là trí tuệ nhân
tạo. Những ý kiến này rất dễ được nhiều người chấp nhận do tác tử vốn có nguồn gốc từ trí
tuệ nhân tạo và sử dụng rất nhiều kỹ thuật từ môn khoa học này. Tuy nhiên, tác tử và hệ đa
tác tử có một số đặc điểm riêng, cho phép phân biệt với trí tuệ nhân tạo nói chung.
Thứ nhất, để xây dựng được hệ tác tư có giá trị sừ dụng thực tế, ta không cần giài
quyết tất cả các vấn đề cùa trí tuệ nhân tạo. “ Trí tuệ” trong trí tuệ nhân tạo bao gồm nhiều
thành phần: suy diễn, nhận mẫu, hiểu và xử lý ngôn ngữ tự nhiên, tự học, tự thích nghi.v.v.
Mục đích nghiên cứu về tác tử là xây dựng những hệ thống có các tính chất đặc trưng cùa
tác từ (tự chú, linh hoạt, cộng đồng) mà không cần sử dụng tất cả thành phần đó cùa trí tuệ
nhân tạo. V í dụ, hệ trí tuệ nhân tạo thường được trang bị cơ sở tri thức đầy đù và chuyên
sau trong một số lĩnh vực, tác tử, ngược lại trong nhiều trường hợp được xây dựng không
cần đến bất cứ một cơ sờ tri thức nào. Một ví dụ tác từ như vậy là tác tử phàn xạ được trình
bày ở chương sau. Trên thực tế, kỹ thuật trí tuệ nhân tạo chiếm một tỷ lệ khá thấp trong số
các kỹ thuật được sừ dụng để xây dựng các hệ thống tác tử được biết đến. Như một tác giả
đã từng nhận xét “ tác từ bao gồm chín mươi chín phần trăm khoa học máy tính và một phần
trăm trí tuệ nhân tạo” .


Tổng quan về tác tử

23


Thứ hai, các hệ trí tuệ nhân tạo truyền thống thường có mục tiêu không thay đổi, cơ
chế suy diễn được xây dựng sẵn để thực hiện mục tiêu này. Ngược lại, để đạt được tính tự
chú, mục tiêu cùa tác tứ có thề thay đổi tuỳ theo tình hình cụ thể cùa môi trường.
Thứ ba, trí tuệ nhân tạo truyền thống không quan tâm đến khía cạnh xã hội hoặc
cộng đồng của tác từ. Trong thực tế, đây lại là yếu tố quan trọng, ảnh hưởng đến thay đổi về
chất cùa hệ thống bao gồm các thực thể tự chù và thông minh.

5.2

Mạng máy tính, Internet và intranet
Việc phát triển mạng máy tính nói chung và Internet nói riêng được coi là động lực

quan trọng dẫn đến sự hình thành và sử dụng công nghệ tác tử. Internet được hình thành
như một mạng máy tính cho phép các máy tính trao đổi thông tin với nhau qua những
khoảng cách xa. Thành công cùa phiên bàn Internet đầu tiên đồng nghĩa với việc giao thức
TCP/IP trở thành giao thức chuẩn cho các mạng diện rộng và quyết định sự phát triển
nhanh chóng của Internet sau này. Tiếp sau email và FTP, sự ra đời của giao thức HTTP,
giao thức nền cho Web, biến Internet thành một hệ thống thông tin khổng lồ với hàng tỳ
trang Web và nhiều dạng thông tin khác.
Cùng với khả năng truy cập và sừ dụng lượng thông tin khổng lồ đó là một vấn đề
không kém quan trọng: làm thế nào để khai thác và sứ dụng mạng thông tin hiệu quà. Cách
truy cập thông tin thông thường nhất là cách duyệt Web bàng trình duyệt rõ ràng không
hiệu quả trong biền thông tin khổng lồ và đa dạng trên Internet.
Thực tế đó đòi hòi phải có những công cụ giúp người dùng tim kiếm, định hướng,
chảt lọc thông tin trên Internet một cách hiệu quả. Các công cụ này cần có khả năng tự truy
cập thông tin trên mạng, khả năng tự định hướng, khả năng đáp ứng nhu cầu thông tin cá
nhân cùa người dùng. Để hoàn thành công việc cùa mình, những công cụ này có thể phải
hợp tác, liên lạc với những công cụ tương tự hoặc các thành phần khác cùa mạng. Với các
đặc điểm của mình, tác từ chính là giải pháp phù hợp để xây dựng những công cụ đó.

Sự phát triển Internet cũng dẫn đến những thay đồi lớn trong hoạt động kinh doanh
và quản lý doanh nghiệp. Internet trở thành nơi trao đổi thông tin, quảng cáo hàng hoá, tim
đối tác khách hàng. Các giao dịch cũng được thực hiện qua mạng, là cơ sỡ cho các mô hình
kinh doanh B2B, B2C. Do yêu cầu xử lý thông tin lớn, không phụ thuộc vào không gian


Tác tử - Công nghệ phần mềm hướng tác từ

24

thời gian cùa thương mại điện tử, tác tử có thể đóng vai trò hỗ trợ đẩc lực cho cá nhân và
doanh nghiệp trong việc chắt lọc thông tin, đại diện cho các bên mua bán, giám sát giao
dịch và các quá trình liên quan, quàn lý luồng thông tin nội bộ. Cũng như những người
trung gian, môi giới, đại diện (agent thực) cằn thiết cho hoạt động kinh doanh truyền thống,
tác từ (agent nhân tạo) là công cụ hữu hiệu cho phép nâng cao hiệu quà kinh doanh điện tử.
Tác tử có p liả i là các hệ thống phân tán và song song đơn thuần không?
Do khả năng hoạt động trong môi trường phân tán như những thực thể có trạng thái
riêng, có dòng hoạt động riêng cùa tác từ, nhiều ý kiến cho rằng, tác từ không phái là khái
niệm mới, hệ tác tữ cũng chi là hệ thống phân tán với các thành phần hoạt động song song
hay đồng thời. Quả thực, hệ tác tứ là hệ thống xừ lý phân tán với rất nhiều tính chất cùa hệ
thống kiểu này. Cùng như bất kỳ hệ thống phân tán nào, hệ tác tử sử dụng những kỹ thuật
cho phép đồng bộ, tránh bế tắc (deadlock), trao đổi tin mức thấp v.v.
Tuy nhiên, hệ tác tứ có nhiều đăc điểm và khá năng riêng mà hệ phân tán thông
thường không có, do vậy đòi hòi phương pháp nghiên cứu và cách tiếp cận riêng. Thứ nhất,
khác với hệ phân tán thông thường, cơ chế phối hợp và đồng bộ cùa hệ tác tử không được
xác định từ trước, quan hệ giữa các thành phần trong hệ thống chi được xác định trong thời
gian chạy. Hệ phân tán truyền thống không có đăc điếm này.
Thứ hai, mỗi tác tử có thế có mục đích riêng, hoạt động vi lời ích riêng cùa mình.
Trong khi đó các thành phần cùa hệ phân tán thông thường dược thiết kế để cộng tác với
nhau và có chung một mục tiểu. Hệ tắc từ, do vậy cần cố phương pháp phối hợp, dòng bộ,

giải quyết mâu thuẫn riêng, dựa trẽn thương lượng và một số cơ chế điều hoà khác.

5.3

Công nghệ phần mềm
Mục đích chính của công nghệ phần mềm là nghiên cứu kỹ thuật và quy trình phân

tích thiết kế cũng như sản xuất phần mềm sao cho giảm thời gian và giá thành dồng thời
tăng chất lượng sản phẩm. Một trong nhừng nhiệm vụ quan trọng cùa công nghệ phần mềm
là dơn giản hoá việc phân tích thiết kế và xáy dựng những phần mềm phức tạp. Phương
pháp chủ yếu để giàm tính phức tạp cùa phần mềm là trừu tượng hoá và môđun hoá. Kết
quà cùa việc sử dụng hai phương pháp này dẫn đến phương pháp phát triển phần mềm
hướng đối tượng.


Tổng quan về tác từ

25

Sự phát triển của công nghệ phần mềm cho phép hiếu sâu săc hơn về các hệ thống
phần mềm phức tạp. Kết quả nghiên cứu trong lĩnh vực này cho thấy yếu tố có ành hưởng
lớn nhất đến sự phức tạp của phần mềm chính là quan hệ lương tác giữa các phần khác
nhau trong hệ thống. Những phần mềm có kiến trúc bao gồm nhiều thành phần động, mỗi
thành phần có dòng (thread) thực hiện riêng, tương tác với nhau theo những quy trình phức
tạp bao giờ cũng có độ phức tạp lớn hơn nhiều so với những phần mềm chức năng bao gồm
đầu vào, đầu ra và một dòng thực hiện duy nhất.
Trên thực tế, đa số ứng dụng phần mềm đều là những hệ thống có sự tương tác giữa
các thành phần. Công nghệ phần mềm trong gần hai thập kỳ qua, do vậy, đã tập trung rất
nhiều vào việc nghiên cứu phát triển kỹ thuật và công cụ cho phép mô hình hoá và cài đặt
những hệ thống với đặc điếm này.

Trong hoàn cảnh như vậy, khái niệm tác tử - nhừng thực thể phần mềm với khả năng
hành động tự chù và khả năng tương tác - có thể rất có ích cho công nghệ phần mềm. Thay
vì coi phần mềm như hệ thống bao gồm các phần tứ thụ động, mỗi phần tử có trạng thái
riêng cùa mình, và thực hiện các thao tác với các phần từ đó, ta có thể coi phần mềm như hệ
thống được tạo thành từ những phần từ (bán) tự chù có khả năng tương tác với nhau. Nói
cách khác, thay vì sừ dụng đối tượng làm khái niệm chính để thực hiện trừu tượng và mô
đun hoá các hệ thống phần mềm, hệ thống phần mềm sỗ được trừu tượng hoá như hệ đa tác
tử.
Ilệ thống

trong đó tác từ được sir dụng như khái niệm trừu tượng chính được gọi là

hệ dựa tác từ (aeent-based system), cần lưu ý ràng khái niệm tác tử ờ đày có thề chi sử
dụng khi phân tích và thiết kế hệ thống, hệ dựa tác tử không nhất thiết phái được cài đặt
dưới dạng các tác tử thực sự. Trong các chương sau của sách, thuật ngữ “ hệ tác tử” được
dùng cho nhừng hệ thống được cài đặt dưới dạng những tác từ thực sự.
Phương pháp phản tích thiết kế phần mềm trong đó tác tử được sừ dụng như khái
niệm trừu tượng chính được gọi là phương pháp phán tích thiết kể hướng tác tứ (agentoriented analysis and design). Như đã biết, trừu tượng hoá là bò qua các chi tiết phụ và chi
quan tâm đến nhừng chi tiết cốt lồi, quan trọng nhất. Ví dụ, khi phân tích thiết kế hướng đổi
tượng, ta chi quan tâm xem hệ thống bao gồm các đối tượng nào, các đối tượng tương tác
với nhau ra sao. Trong trường hợp đơn giản nhất, hệ dựa tác tử có thể chi gồm một tác từ


×