Tác Tử Cộng Nghệ Phần Mềm Hướng Tác Tử

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 344

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

GT. 0000019914
IOA CÔNG NGHỆ THÔNG TIN

LỀ TẤN HÙNG
PHƯƠNG
QUYẾT THẮNG

ÌỂ Ặ C o A Õ ^ in ir;

K > o 0 A 0 ]0 1 0 1 0 1 0 ! 0 , 0 Ì 0
ỜỈ0 Ỉ Ỡ 1 0 1 0 1 0 1 Ỏ Ì Ó 5 ®
ữ , ° > Q ? C H m m n « > « nì omi cmnOo ' S o> S S ^ 0ì01010,ữ,0'0/0i
V * í ^ ° 1 0 1 0 , 0 ’ O í o ?0
m i n i i l ''-
|J |jp b ì0 i0 i0 i0 J 0 ) 0 ,0 .

■ m '
I I

|W I 1
FU'U /0 1 0 1 0 1 0 1 0 1 0 H J '®

FC\A°
a ^„ ,°l ?0
n VQ)0U

' 7° ĩ 0 7 0 1 0 7 0 1 0 1 0 l Ol OAOAOA

' ’OIOỈOIOIOIOIOIOIOAOAO^
,)0 )0 ] o io io io io io io a o a o a í o \ o ' o ì0 1 0 U
J í O70J0707010101010AOAO^
nm
° ỉ O )o j ũ i o i o i o i ũ i o i o i o '\° a _____________ _ & 0 1 0 °

’ ÌOlOlOlOlOlOlOlOAO^ | ^ 0 > 01010


Jí 0 7u 10 i 0 ì ũ i 010 i 0 \1 Ọ C % ^H U Ậ T
, 0 >01ũ1010101ũ1010A 0^°A
- ---- _ , ,-M rY\(W
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 - 2 0 0 6 LÊ TẤN HÙNG


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

TẮ C TỬ
( « ỵ ( i N G H Ệ r ilẨ s r M Ể M
HƯ Ớ NG TÁ C TỬ

DAI HỌC THÁI NGUYÊN


TRƯNG TÂM HỌC LIỆU
^ « » iK im m UI II III »É««— » M I ......................— "

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


HÀ NỘI
Lòi nói đâu

Ngay lừ đầu những năm 80, tác tử vù hệ đa tác tư (Agent và


MultiAgenl System) đã được biết đến với hàng loạt các công trình nghiên
cứu như Ici mội hướng nghiên cửu mới. Tuy nhiên chì băt đáu từ khoang
giữa thập niên 90, lác lử và hệ đa tác lử mới được thừa nhận rộng rãi VLI
ngay lập lức đã thu hút sự quan tâm nẹày càng lớn cùa giới nghiên cứu
cũng như của giới công nghiệp trong lĩnh vực Công nghệ Thông tin. Từ đó
rat nhiều san phủm thương mại đã lấy tác từ làm công nghệ nền tang chu sự
phái Iriân cua mình, rắt nhiều trường đại học trên thế giới đã đưa lúc lư VLIU
chương trình đào tạo Công nghệ Thông tin của bậc đại học vù sau đại học.
Củ nhiều nguyên nhân dan tới sự quan tâm đặc biệt này. Trong sổ đỏ,
nguyên nhãn quan trọnỉỊ nhút lù do công nghệ tác tử cung cấp 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ệ thống thông Un có
lính mơ rà phân tán mà điên hình là Internet. Ngocú ra, công nghệ tác tư
cũng có ưu điêm trong việc xây dụng nhiều dạng ừng dụng khác.
Tại Việt Num, tác lư và hệ tác tứ bắt đầu được nghiên cứti IronÍỊ
khoáng vài năm gan đây. Mặc dù xuất hiện tại Việt Nam chưa lâu, công
nghệ tác tư đã nhanh chóng trở thành một chủ để gây đượ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
ngành, tác tử VCI hệ tác lử đ ã đư ợc đưa VCIO giả n g d ạ y tại m ột SO trường,
viện dưới các hình thức khác nhciu đê từ đó nhiều ứng dụng sứ dụng hệ lức
tư cũng băt đâu được xây dựng vct thử nghiệm. Tuy nhiên, một khó khăn cho
những người đến khi lìm hiếu và ứng dụng cóng nghệ tác tư tại việt Num /ủ
sự ihiéu vắng những tài liệu tiếng Việt có tính hệ thống.
Mục tiêu cua cuốn sách là cung cấp cho bạn đọc một số kiến thức về
tác lư và hệ đu tác tư. Nhữnẹ nội dung trình bày trong sách củ ihé 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à vấn để maní; lính lý
thuyết, cuốn sách Cling cáp cho người đọc hình dung chuníỊ vế lỷ thuyết tác
từ vờ hệ đa tác tứ.
Thứ hai, đê người đọc có thế tiếp cận với công nghệ và kỹ thuật xây
dựng hệ tác tử, cuốn sách mô tả một số công cụ, công nghệ Vil ví dụ ứng
dụng tác tử cụ thê. Một số công cụ và ứng dụng trong số này do chính các
4 Tác tử - Công nghệ phần mềm hiróng tác tử

lóc gia cùng với cộng sự cùa mình phát Iriên. một số đã được công hố hoặc
ứng dụng thực tế. Ngoài ra, đê phục vụ việc xây dựng một sô ứng dụng
ihôníỉ dụng, nhiều nội dung không mang tính nền tảng đổi với hệ tác tử như
túc tư di động, tác tử giao diện cũng được đưa vào và trình bày thành
những chương riêng.
Với nội dung như vậy, cuốn sách có thê sử dụng làm tcii liệtu học tập
và tham khao cho sinh viên theo học chuyên ngành công nghệ ,thông Un
cũng như những người làm công lác nghiên cứu có quan tâm tới Ciông nghệ
tóc lư.
Đê thuận lợi cho việc xuất bàn và phát hành, cuôrt sách đượ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 bàn 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 rương đối
niớ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 bày trong sách là tương đối khó khăn. Mặc dù các
tóc giá đã cố gắng song cuốn sách không thể tránh khỏi những nhược điêm.
Chúng tôi chân thành mong bạn đọc lượng thứ và cho ỷ kiến đóng góp.
Mọi ỷ kiến đóng góp xin gùi về:
Từ Minh Phương phuongtm@fpt.com.vn
Lê Tấn Hùng hunglt@it-hut.edu.vn
Huỳnh Quyết Thắng thanghq@-hut.edu.vn

Các tác giả


CHƯƠNG 1

Tổng quan về tác tử

1 MỞ đ a 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ôig
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 C\0
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 hiá
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 /ề
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. Q 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 p h ổ 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ụig
6 Tác tử - Công nghệ phần mềm hướng tác từ

trong các thiết bị trước đây không thể sừ dụng thiết bị tính toán vi lý do kinh tế. C hẳng hạn
có thể gặp các thiết bị gia đụ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è. N gà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 đầ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 lán được coi là đặc điểm quan trọng nhất
của máy tính hiện đại.

S ố 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 m inh” hcm, “trí tuệ” hơn.

M áy tinh ngày càng có thêm tinh tự chú. Đe 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 hon 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 tính toán hiện đại ngày càng có lính 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 chế. 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ử 7

2 KHÁI NIỆM TÁC TỪ

2.1 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 chinh 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, tác tứ (agent) là hệ thống tính toán hoạt
động lự chủ trong một m ôi trường nào đó, 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 tính 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 trinh
lio ậ c lliậ m clií c á t d ù n g th ự c h i ệ n 1. T u y n h iê n , tr o n g p h ầ n IỚ11 n ộ i d u n g sẽ tr in h 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 lác động.

1 Thread, 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. Tinh 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ù đirợc hiểu nhtr 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 kliiển lự độ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 Irìnli nền trong Unix, L inux).
Đâ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 lừ 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 đượ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:

■ Tinh 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.
1(0 Tác tử - Công nghệ phần mềm hướng tác từ

■ Tính 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.

■ Tính 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 minh 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ẽ. T rướ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 m ang tính động, thay đồi tlieo thời gian dẫn đến thay
đồi mục tiêu cùa tác tử. T rong 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 phan 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 W indows. Chương trình chủ yếu bao gồm các hàm hay phương
thức (m ethod) 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ề tinh 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 nning,
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 bit, 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 minh, 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 đố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 thi 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: http://w w w .robocup.org.
12 Tác từ - Công nghệ phần mềm hướng tác tử

2.3 Các đặc điểm khác của tác tử


N goà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

K hả n ă n g 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 hơn, hiệu quả hơn.

T ính th íc h 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ử.

K hả n ăn g 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 tirơng tự. T rong 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.1, 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 cija 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: (I) 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. N hư 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 cija đố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 thông
tuỳ theo xét thấy cần thiết hay không cần thiết. N hư 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 minh hay không? Càu trà lời là có. Tuy nhiên, thoo định nghĩa của lạp trình hướrg đổ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 lượ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ứ ha 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ái 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àm cho
14 Tác từ - Công nghệ phần mềm hướng tác tip

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 đồng.

■ 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ưcmg đương với chất lượng chuyên gia trong 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 m inh” 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à MYCIN 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 tồn lạ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 thể 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ế nế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. Tinh
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 hom 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
16 Tác tử - Công nghệ phần mềm hướng tác tử

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ưcmg ứ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 tinh (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 hcm
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ử đượ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 tiromg 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ử nhir đối tirọng nghiên cứu của tr í tuệ nhân tạo p h â 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ệ giả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

*■ \ j \ :l
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 mình
đồng thời chia sẻ 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 cùạ từng môđun sau đó được tổng hợp lại tạo ra lời giải chung. N hư 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.

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à p hố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á trình 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ừ.

DAI HỌC THÁI NGUTÊy


TSUSG TẢMHỌCu |u
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.

- Quá 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, chuơng trinh 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ương 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 mình có thể đóng vai 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ể hình dung m ột cách tự
nhiên như hệ thống đa tác tử, mỗi tác từ đạ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 điề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ó 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. Việ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 tri 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. , . . ___ _ ,
‘w a p y ^ .»1

ỊUỆIKiỌHMAIMl ,
Tống quan về tác từ 19

C ác vấn đề Hê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 !iên
quan đến hệ đa tác từ bao gồm:

(1) 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á trinh 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 đề nói trên và phuơng pháp giải quyết sẽ được lần lượt đề cập cụ thể trong
các cliươug tỉép theo.

5 TÁC Tử VÀ CÁC LĨNH vự c NGHIÊN c ứ u LIÊN QUAN


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à đượ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 Trí 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ự hlnh
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.

Hinh 1.3 Tâc tử và các lĩnh vực nghiên cứu liê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 m inh” . 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
mụ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 vi dụ thất bại trong việc chế tạo máy tinh thế hệ 5, máy tính thông m inh, 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. N hiề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 tri 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à
đuợ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 tu duy và
kỹ năng toán học như chứng m inh đị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
đặ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ò đị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ừ ]ý tri thức cho hệ chuyên gia như Lisp, Prolog, những máy tinh
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 tri 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 diễn
thông minh mà còn có khả năng hành động thông minh và tự chù.

Tác lữ có p liả i là trí tuệ nhă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. Vi 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 tri 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 tinh 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ử. T rong 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ữne
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 W eb, 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ụ gỉíip ngiròrỉ dùng tỉm kiếm, định hirómg,
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 minh, 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 nai 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
24 Tác tử - Công nghệ phàn mềm hướng tác tử

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 ệ tliổng pliâ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 ià 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 vì lời ích riêng cùa minh.
Trong khi đó các thành phần của hệ phần tán thông thường đượ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, đồ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 đồ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à đơ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ệ tương lá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
vi 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 minh, 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 lương lá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á nhir hệ đa tác

Hệ thống trong đó tác từ được sử dụng như khái niệm trừu tượng chính được gọi là
hệ dựa tác từ (agent-based system), c à n lưu ỹ ràng khai nlộni lâc từ ử day cú Iliể chl 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ư (agent-
oriented 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ử
26 Tác tù’ - Công nghệ phần mềm hướng tác từ

duy nhất, nhưng nói chung, các hệ thực tế thường là ứng dụng cùa hệ đa tác tử. Khái niệm
tác từ cho phép thực hiện trừu tượng hoá ờ mức cao hơn SO với đối tượng. N ếu hệ tác tử
được cài đặt bằng một ngôn ngữ lập trình hướng đối tượng thì mỗi tác tử thông thường
được tạo thành từ nhiều nhiều đối tượng.

6 ƯU NHƯỢC ĐIỀM CỦA TÁC TỪ VÀ CÔNG NGHỆ TÁC TỬ


Cũng như khi nói tới bất kỳ một công nghệ nào khác, những cầu hòi được đặt ra là
vậy công nghệ đó có ưu điểm gì SO với những công nghệ khác, tại sao phải sử dụng công
nghệ, khi nào nên và khi nào không nên dùng ? Thông thường, một công nghệ mới được
coi là hữu dụng nếu công nghệ đó đáp ứng được ít nhất một trong hai tiêu chí sau: (1) cho
phép giải quyết những vấn đề mà những công nghệ đang tồn tại không giải quyết được hoặc
cho những giài pháp quá tốn kém; (2) cung cấp giải pháp hiệu quà hơn đối với những vấn
đề đã được giải quyết bời các công nghệ khác.

Hệ thống thông tin có thề có mức độ phức tạp khác nhau. Từ quan điểm thiết kế và
cài đặt, các hệ thống kiểu chức năng là trường họp đon giản nhất. Tuy nhiên, rất nhiều hệ
thống thông tin hiện đại không thuộc loại này và có độ phức tạp cao hơn nhiều. Sự phức tạp
ờ đây là kết quà cùa một số yếu tố: (1) tính mờ cùa hệ thống; (2) cấu trúc phức tạp; (3) yêu
cầu hướng người dùng. Trong các hệ thống có tính mờ, thành phần và cấu trúc hệ thống
không được biết trước và có thể thay đồi trong quá trình hoạt động. Vi dụ của hệ thống loại
này là Internet. Hệ thống có cấu trúc phức tạp là hệ thống bao gồm nhiều thành phần với
nhiều kiều quan hệ khác nhau giữa các thành phần, đòi hỏi phái có cách thiết kế và cài đặt
cho phép giâm độ phức tạp đó. Hướng người dùng là yêu cầu hệ thống thích nghi với người
sứ dụng, phàn xạ kịp thời cũng như chù động thoà mãn yêu cầu cá nhân cùa từng đối tượng
sứ dụng.

Tác từ và hệ đa tác tử là giải pháp phụ hợp cho hệ thống với những đặc điểm nói
trên. Cụ thể, tác tử và hệ tác tử có thể cho giải pháp đơn giản, hiệu quà trong những trường
hợp sau:

■ Hệ thống có cấu trúc phức tạp, có thể phân tích thành những thành phần tự chù hoặc

bán tự chù tương tác với nhau.

■ Dữ liệu, thông tin, tri thức có tính phân tán và phí tổn để chuyển đổi thành dạng tập
Tổng quan về tác từ 27

trung là tương đối lớn hoặc việc chuyển đổi rất khó khăn.

* Việc thiết kế hoặc xử ]ý tập trung làm giảm độ tin cậy hoặc tính ổn định cùa hệ
thống.

* Yêu cầu sứ dụng lại và tích họp vào hệ thống những phần mềm đã có sẵn, có thể
không tương thích với nhau.

Tuy nhiên, cần xem xét kỹ việc lựa chọn tác từ kể cả cho trường hợp thoà mãn
những điều kiện này. Đa số các ứng dụng có sừ dụng tác tử hiện nay đều có thể được xây
dụng với các công nghệ khác. Việc một ứng dụng có bốn đặc điểm như vừa nêu trên không
có nghĩa tác từ là giải pháp đầu tiên và duy nhất cho ứng dụng đó. Giải pháp tác từ chi nên
xem xét như một trong những giài pháp có thề sừ dụng trong những trường hợp như vặy.
Bên cạnh đó, khi lựa chọn giải pháp sử dụng tác tử cần chú ý tới những nhưạc điểm cùa
giải pháp này. Cụ thể, tác từ và hệ đa tác từ không thích hợp khi ứng dụng trong các trường
hợp sau.

* Thứ nhất, trong hệ thống thời gian thực hoặc hệ thống trong đó thời gian đáp ứng có
ý nghĩa quan trọng. Nói chung, thời gian đáp ứng cùa hệ tác từ là rất khó xác định
trước.

■ Thứ hai, trong những trường hợp cần có sự điều khiển tập trung và thống nhất, cững
như yêu cầu thoả mãn những ràng buộc chung và tìm giài pháp tối ưu tổng thể. Do
từng tác từ chi có cái nhìn không toàn diện về vấn đề cần giải quyết hoặc một phần
tri thức, giài pháp cùa hệ tác từ thường chi là giải pháp tối ưu cục bộ.

■ Thứ ba, trong những trường hợp yêu câu mức độ trâch nhiệm cao dối với quyéi định
và hành động. Sừ dụng tác tử trong trường hợp này đòi hòi người (hoặc tổ chức) có
độ tin tường cao đối với tác từ và dám uỷ thác cho tác tử hành động tự chủ. Để có
mức độ tin tường cần thiết, người sừ dụng cần có thời gian theo dõi và làm việc với
tác tứ để đảm bảo tác tử không vượt quá giới hạn quyền hạn cùa mình.

7 MỘT SỐ ỨNG DỤNG CỦA TÁC TỬ


Có rất nhiều ứng dụng thành công cùa tác tử và hệ tác tử ìrong thực tế. Các ứng
dụng này phong phú về số lượng đồng thời đa dạng về chùng loại. Dưới đây, chúng ta sẽ
xem xét một số ứng dụng. Những ứng dụng được xem xét là những ứng dụng tiêu biểu thể
28 Tác từ - Công nghệ phàn mềm hiPỚng tác từ

hiện được ưu điểm cùa giải pháp sừ dụng tác tử được lựa chọn từ những miền ứng dụng
khác nhau.

7.1 ứ n g dụng trong quản lý sản xuất


Một ứng dụng tiêu biểu sứ dụng tác từ trong quàn lý sàn xuất là hệ thống YAMS
[Parunak]. Bài toán quản lý sàn xuất có thể mô tà như sau. Xướng sản xuất hình thành từ
các phân xưởng. Mỗi phân xướng bao gồm nhiều vị trí làm việc (cỗ máy, từng công nhân
riêng lé). Các vị trí làm việc tm g phân xưởng tạo thành hệ thống sàn xuất mềm cho phép
thực hiện trọn vẹn từng công đoạn như sơn, dập, lấp ráp .v.v. Nhiệm vụ cùa YAMS là quàn
lý hiệu quả quá trình sản xuất tại những xí nghiệp như vậy. Quá trinh sàn xuất được đặc
trưng bới nhiều tham số thay đổi như dạng và số lượng sán phẩm, giới hạn thời gian, khả
nãng cùa máy móc. Để đồng bộ và quản lý quá trình phức tạp như vậy, YAMS được xây
dụng dưới dạng các tác tử cộng tác. Mỗi xướng và thành phần cùa xướng được biểu diễn
bời một tác từ. Từng tác tử có kế hoạch và khà năng của mình. Từ tác tứ mức trên, công
việc được phân chia xuống tác tử phân xường và xuống tới từng vị trí công việc tuỳ thuộc
vào khá năng. Kết quả thực hiện được báo cáo cho tác tử mức trên đề giám sát và có điều
chinh nếu cần.

Hệ tác từ còn được sừ dụng trong lập kế hoạch sàn xuất, hỗ trợ thiết kế sàn phẩm,
quàn lý robot công nghiệp.

7.2 Tác tử quản lý quá trình và luồng công việc (workflow)


Nhiệm vụ cùa hệ thống quán lý quá trình và luồng công việc là đàm báo cắc phần
việc khác nhau cùa một quá trinh được thực hiện bời những nhân viên hoặc bộ phận thích
hợp vào thời gian cần thiết. Quá trình ờ đây có thể là quá trình xừ lý hồ sơ, quá trình cung
tiêu nguyên liệu và sản phẩm. Trong giải pháp sừ dụng tác tử, mỗi nhân viên hay bộ phận
tương ứng với một tác tử. Để thực hiện công việc cùa mình, tác tử thương lượng với nhau
về công việc, yêu cầu và điều kiện thực hiện. Ví dụ tiêu biểu cùa hệ thống thuộc loại này là
ADEPT [Jennings 1999]. ADEPT là hệ đa tác từ được xây dựng cho British Telecom (BT).
Nhiệm vụ cùa hệ thống như sau. Mỗi khi khách hàng yêu cầu cung cấp dịch vụ viễn thông,
một loạt bộ phận cùa hãng phải tham gia đánh giá để đira ra mức giá cho dịch vụ yêu cầu.
ADEPT mô hình hoá các bộ phận và nhân viên như những tác từ cung cấp dịch vụ đánh
Tổng quan về tác tử 29

giá. Đe giải quyết công việc cùa mình, tác từ thương lượng với tác từ khác để nhận được
dịch vụ (đánh giá) do các tác tử này cung cấp. Kết quả thương lượng bao gồm thời gian
thực hiện, chất lượng dịch vụ và giá thành cùa dịch vụ.

7.3 Tác tử thu thập và quản lý thông tin


Tác từ thuộc loại này được sử dụng chủ yếu để giãi quyết vấn đề dư thừa thông tin,
đặc biệt là thông tin trên Internet. Do lượng thông tin trên Internet quá lớn và ngày càng
tăng lên, người sử dụng thông tin gặp khó khăn trong hai vấn đề sau
Lọc thông tin : Hàng ngày mỗi người phải nhận và xứ lý lượng lớn thông tin dưới dạng
thư điện tử, tin nhấn, các báo điện tử, trong đó chỉ một phần có nội dung đáng quan tâm.
Việc lọc ra thông tin cần thiết đòi hòi thời gian và công sức.
Thu thập thông tin: Khi có nhu cầu thông tin cụ thể, người sử dụng khó tim được thông
tin mình cần do lượng thông tin trên mạng quá lớn.

Tác từ thông tin là những tác tử được xây dựng để giải quyết hai vấn đề này. Dưới
đây là một số hệ thống tác từ thông tin tiêu biểu.

Tác tử thông tin cá nhân MAXIMS [Maes 1994] là tác từ có nhiệm vụ lọc và phân
loại thư điện tử. Tác tứ này có khâ nâng thực hiện các thao tác gán giá trị ưu tiên, xoá,
chuyển tiếp thư, sấp xếp và lưu trữ thư điện từ. Điềm đặc biệt là MAXIMS có khà năng tự
học cách xử lý thư bằng cách quan sát hành vi cùa người sử dụng. Trong giai đoạn đầu, tác
từ ghi lại hành động cùa người sừ dụng và thông tin về thư như người gửi, người nhận, tiêu
đề thư và từ khoá. Những thông tin này sau đó được sử dụng để dự đoán hành động khi có
thư mới tới. Nếu hành động được dự đoán với độ chính xác cao thì tác tử sẽ gợi ý cho
người sừ dụng hoặc tự động thi hành luôn.

Hệ quản lý vốn đầu tư WARREN [Xem jennings 142] là hệ đa tác tử cho phép kết
hợp lọc và thu thập thông tin. Các tác từ của hệ thống tự động theo dõi thông tin trên
Internet từ thị trường chứng khoán, thông tin tài chính, báo cáo tinh hình công ty để phục
vụ cho việc tăng lợi nhuận đầu tư của người sừ dụng. Tác tử của hệ thống có khả năng phát
hiện và cảnh báo người dùng về những sự kiện đáng chủ ý trên thị trường tài chính chứng
khoán.
30 Tác tử - Công nghệ phần mềm hướng tác từ

7.4 Tác tử phục vụ thưong mại điện tử


Quá trình giao dịch thương mại thường bao gồm m ột số khâu nhất định. Để giảm
thời gian, tăng hiệu quà thương mại, một số khâu có thể tự động hoá bàng cách giao quyền
ra quyết định cho tác từ. Tác tử thương mại điện tử hiện nay có thể chia thành một số dạng

như sau.

Tác tứ m ua hàng bằng cách SO sánh (comparison shopping agents). Đây là dạng tác
từ thương mại điện từ đơn giản nhất. Tác từ loại này nhận yêu cầu mua một hàng hoá cụ thể
nào đó từ người sứ dụng, sau đó tự động thu thập thông tin từ các địa chi bán hàng trực
tuyến. Trên cơ sờ SO sánh thông tin thu được, tác tử sẽ trả về cho người sử dụng địa chi mua
hàng có lợi nhất. Tác tử loại này hoạt động hiệu quả đối với những m ặt hàng tiêu chuẩn như
đồ điện tử, đĩa CD, sách, trong đó tiêu chuẩn cần quan tâm duy nhất là giá cả.

C hợ điện tử và tác tử đau giá. Trong hệ thống loại này, tác tử đại diện cho người
bán và người mua. Tác từ tự động tìm ra đối tác thích hợp, sau đó thoà thuận điều kiện mua
bán hàng hoá thay cho chủ của mình. Ví dụ chợ điện tử tiêu biểu là hệ thống Kasbah
[Chavez and M aes 1996], Một dạng đặc biệt cùa tác tử loại này là tác từ có khả năng tham
gia đấu giá trực tuyến thay m ặt người sử dụng.

7.5 Tác tử giao diện


Thông thường trong tương tác giữa người sử dụng và máy tính, giao diện máy tính
đóng vai trò thụ động và chi phàn xạ khi có yêu cầu từ người dùng. Ví dụ, MS-Word chì
thực hiện m ột thao tác nào đó khi người sử đụng chọn m ột m ục m enu hay nháy chuột và
hiểu tượng tưong ứng. Tác từ giao diện cho phép thay đổi phưorng pháp giao tiếp này bàng
cách làm cho máy tính trờ nên chủ động. Căn cứ vào hành động của người sử dụng, tác từ
giao diện có thể chủ động thực hiện một số thao tác hay đưa ra những gợi ý. ủ n g dụng phồ
biến nhất của tác tử giao diện là tác tử Office Assistant được cung cấp cùng bộ Microsoft

Office.

7.6 Trò chơi sử dụng tác tử


T ác từ đóng vai trò các nhân vật khác nhau cùa trò chơi có khả năng tự chơi với
nhau hoặc chơi với người sừ dụng.
CHƯƠNG 2

Tác tử thông minh

Có thể xem xét tác từ từ hai góc độ: (1) như một thực thể tự chù với cơ chế suy
diễn quyết định riêng; (2) như m ột thành viên trong cộng đồng tác tử với các mối quan hệ,
tương tác với thânh viên khâc. T rong chương năy, chúng ta se xem xêt tâc tử nhu m ột thực
thề riêng. Các vấn đề liên quan đến kiến trúc và tương tác trong hệ đa tác từ sẽ được trình
bày trong những chương sau. Trước hết, kiến trúc tác từ được xem xét ờ mức độ trừu tượng
cao. Sau đó, một số kiến trúc cụ thể của tác từ có tính ứng dụng sẽ được trình bày và phân
tích.

1 KIÉN TRÚC CHUNG CÙA TÁC TỬ

Ở mức độ tổng quát, tác từ có kiến trúc như minh họa trên hình 2.1. Tác tử nhận
thông tin từ môi trường (bao gồm cả thông tin từ tác tử khác) thông qua cơ quan cảm nhận.
>ĨW* có cơ chế ra quyết định, tác tử lựa chọn hành động cần thực hiện. Quá trình ra quyết
32 Tác tử - Công nghệ phần mềm hướng tác từ

định có thể sử dụng thông tin về trạng thái bên trong của tác tử. Trong trường hợp đó, tác tử
lưu trữ trạng thái dưới dạng những cấu trúc dữ liệu riêng. Hành động do cơ chế ra quyết
định lựa chọn sau đó được tác từ thực hiện thông qua cơ qua tác động.

Hình 2.1 Kiến trúc tác tử.

C ơ chế suy diễn có thể thay đối cho từng kiểu kiến trúc cụ thể và ảnh hường tới
những thành phần khác. Chẳng hạn có thể có kiến trúc trong đó quá trình suy diễn không sử
dụng tới trạng thái bên trong và do vậy tác từ không cần lưu giữ các thông tin này. Đối với

những tác từ có thêm khả năng khác như học tự động, kiến trúc tác tử có thể có thêm thành
phần riêng để thực hiện các chức năng này.

2 CẢM NHẬN VÀ TÁC ĐỘNG

2.1 C ảm n h ậ n

Cơ chế cảm nhận cho phép tác tử biết được những gì đang diễn ra xung quanh, từ

đó ra quyết định và hành động phù hợp. Đối với người và động vật, quá trình cảm nhận

được thực hiện nhờ những giác quan. Đối với tác tử phần cúng (ví dụ robot) cơ quan cảm
nhận là các cảm biến, cam era hoặc các thiết bị đo khác. Trong trường hợp tác tử phần mềm,
quá trinh cảm nhận có thể diễn ra một cách chù động bằng cách trao đồi thông điệp với các
tác tử khác hoặc thụ động thông qua nhận và xử lý các sự kiện hoặc thông điệp do hệ điều
hành gửi tới.

M ột yêu cầu quan trọng đối với cơ chế cảm nhận cùa tác từ là khả năng lọc những
Tác tử thông minh 33

thông tin có ích và liên quan trực tiếp tới tác từ. Chẳng hạn, đối với tác từ giao diện quen
thuộc trong các chương trình cùa Microsoft office - Office assistant - các sự kiện về di
chuyển chuột của người dùng thường không quan trọng và có giá trị như việc nháy chuột
đúp. Đối với tác từ trong các ứng dụng lọc thư điện tử hoặc tin tức, các sự kiện cần cảm
nhận bao gồm sự xuất hiện cùa thư mới, mức độ sẵn sàng đọc thư của người dùng (người
dùng đang bận hay không).

Quá trình cảm nhận có thể mô tà một cách hình thức như sau. Gọi p là tập các
hình dung cùa tác từ về trạng thái môi trường. Chức năng cảm nhận cùa tác tử có thể coi
như một hàm:

cảm_nhận: s —> p
cho phép ánh xạ từ trạng thái môi trường vào hình dung cùa tác từ về môi trường.

Một đặc điểm cùa hàm cám nhận là hình dung về môi trường mà tác từ nhận được
cỏ thể không đầy đủ. Bên cạnh đó, nhiều trạng thái khác nhau cùa môi trường có thể được

cảm nhận giống nhau. Giả sử e s và s2s s là hai trạng thái môi trường khác nhau (í, * s2)
sao cho càm nhận(si) = càm_nhận(s 2). Khi đó hai trạng thái môi trường khác nhau được
ánh xạ thành cùng một hình dung cùa tác tử. Nói cách khác, tác tử có cùng cảm nhận về
những trạng thái môi trường khác nhau. Có thể minh họa đặc điểm này cùa quá trinh cám
nhận thông qua ví dụ sau. Xét một tác từ làm nhiệm vụ quản lý thư điện từ. Giả sứ ta có hai
quan sát như sau:

Q u an s á t x:
"có t h ư m ó i"
Q u an s á t y :
''m á y t í n h c ó t r a n g b ị w eb c a m e r a "
nếu đây là hai quan sát duy nhất mà ta quan tâm thì môi trường có thể có một trong bốn
trạng thái sau

s = {<x , y>,<-i X , y>,<x y>,<-i X,-I y>} = {S|,S2,S3,S4}

Trong đó X có nghĩa là sự kiện X xảy ra (có thư mới) và -iX có nghĩa là sự kiện X
không xẩy ra (không có thư mới). Ký hiệu tương tự cho y. Như vậy, trạng thái J| là trạng
thái có thư mới và máy tính có trang bị camera, s2 là trạng thái không có thư mới và máy
34 Tác tử - Công nghệ phần mềm hướng tác từ

tính có camera.

Giả sừ tác từ lọc mail chi quan tâm tới sự kiện liên quan đến email và do vậy chi
thực hiện được quan sát X. Các trạng thái trong đó chì có giá trị của y khác nhau được coi là
như nhau đối với tác từ. Gọi p I và P 2 là hai cảm nhận của tác tử cho hai trường hợp có thư
mới và không có thư mới. Hàm cảm nhận khi đó sẽ có dạng sau:

càm nhận
Pi nếu s = s2 hoặc s = Í4

Trong trường họp đó ta ký hiệu J| = SỊ và Í 2 = i 4. Đối với tác tử , s I và i 3 là tương


đương, Í 2 và -Î4 là tương đương. Toàn thể các trạng thái của môi trường khi đó được chia
thành các nhóm trạng thái, trạng thái trong mỗi nhóm được coi là tương đối với tác từ. Ký

hiệu số nhóm tương đương như vậy là 1=1, số trạng thái cùa môi trường là |S|. Ta có 1=1 = |S|

khi tác từ có thể cảm nhận được tất cà các trạng thái cùa môi trường. Ngược lại, nếu 1=1 = I ,
tất cả các trạng thái cùa môi trường đối với tác từ là như nhau.

2.2 T ác động

Tác động là quá trình ngược với cảm nhận. Tác từ tiến hành tác động vào môi
trường khi cơ chế suy diễn và ra quyết định chọn được hành động cần thiết. Nói chung tác
tử tác động vào môi trường thông qua cơ quan lác động (hoặc cơ quan chắp hành). Đối với
tác tử phần mềm, tác động có thể được thực hiện bằng cách gửi thông điệp cho tác từ khác,
thay đổi giao diện cùa hệ thống (tạo ra tiếng động hoặc các dấu hiệu cành báo), gửi thư điện
tử hoặc thực hiện một số lời gọi hệ thống (gọi một số hàm cùa hệ điều hành).

3 C ơ CHÉ RA QUYẾT ĐỊNH

3.1 Mô hlnh chung

Một cách tổng quát, quá trình ra quyết định cùa tác tử có thể mô tã như sau. Già sừ

thời gian được phân chia thành những thời điểm rời rạc / j.... Tại mỗi thời điểm, tác tứ

phải lựa chọn một hành động từ tập hợp hữu hạn các hành động. N hờ cơ quan cám nhận,

tác tử thu được những cảm nhận về môi trường. Giả sử tại thời điểm t0,i n i2... cảm nhận cùa
Tác tử thông minh 35

tác tử về môi trường lần lượt là p ữ, p [, p 1..., với p, e p , p là tập các càm nhận có thể có

cùa tác tử. Tại mỗi thời điểm tl , tất cả những gì tác tử cảm nhận về môi trường cho tới thời

điềm đó là chuỗi các càm nhận s, =< P0,P,--;P , > ■

Giả sừ tác từ có thể thực hiện một số hành động nhất định. Gọi tập hợp các hành

động mà tác từ có thể thực hiện là A = {a,a',...}

Tại mỗi thời điểm t , tác tử có thể lựa chọn hành động a, e A để thực hiện. Tác tứ

lựa chọn hành động cụ thể tuỳ thuộc vào chuỗi cảm nhận s, tại thời điểm đó. N hư vậy, mỗi

tác tử được đặc trưng bởi một ánh xạ từ chuỗi cãm nhận sang hành động

Tác_tứ: s —> A

Nói cách khác, bằng cách chi rõ hành động mà tác từ thực hiện với mỗi chuỗi cảm
nhận, ta có thể xác định cơ chế ra quyết định cho một tác tử cụ thể. Ánh xạ s -> A có thề

cho bàng nhiều cách. Cách đơn giàn nhất là xây dựng một bàng liệt kê tất cả những chuỗi
càm nhặn có thể và hành động tương ứng. Tuy nhiên, trong đa số trường hợp, kích thước
cùa bàng rất lớn (lớn vô hạn) do số lượng chuỗi cảm nhận là vô hạn trừ khi ta hạn chế độ
dài cùa chuỗi đó, chẳng hạn bàng cách giới hạn độ dài vòng đời của tác tử. Do vậy phương
pháp liệt kê bàng hành động là không thực tế do đòi hỏi quá nhiều bộ nhớ và thời gian tìm
kiếm trong bảng.

Hạn chế nói trên đòi hòi phái có những phương pháp xây dựng hàm ra quyết định
khàc. Có thê sứ dụng quan hệ hàm toân học đé biéu diên ánh xạ trên. Trong trường họp

này, biểu diễn ánh xạ 5 -> A sẽ gọn hơn rất nhiều. Trong những phần sau, ta sẽ làm quen

với một số cơ chế ra quyết định đơn giản hơn dựa trên chuỗi cám nhận của tác từ.

3.2 T ác tử p h ả n xạ

Trong nhiều trường hợp, tác tử có thề lựa chọn hành động dựa trên cám nhận hiện
thời mà không cần quan tâm đến chuỗi cám nhận trước đó. Bộ điều nhiệt đơn giàn là một
tác từ như vậy. Dựa trên nhiệt độ đo được tại mỗi thời điểm, trạng thái môi trường được
chia thành “nóng” hoặc “ bình thường” . Bộ điều nhiệt quyết định bật lò sưởi nếu nhiệt độ là
“nóng” và tắt lò sưởi neu ngược lại. Quyết định này căn cứ trên nhiệt độ hiện thời và không
36 Tác từ - Công nghệ phần mềm hướng tác tử

phụ thuộc vào những thời điểm trước. Hành động của tác từ ]à phản ứng đối với trạng thái
hiện tại cùa môi trường.

Tác từ có hành động chi phụ thuộc vào cảm nhận hiện tại và không phụ thuộc vào
cảm nhận trong quá khứ gọi là lác tứ phản xạ (reactive agent hay re/ìex agent).

Đối với tác tử phản xạ, ánh xạ s -> A trờ thành ánh xạ từ tập cảm nhận vào tập

hành động:

T á c_ tứ : p -> A

Ánh xạ này có thể xác định bời các quy tắc có dạng “cảm nhận/hành động” , hay
thường được viết dưới dạng "nếu cảm nhận p thì hành động á". Hình 2.2. là kiến trúc cùa
tác tử phản xạ.

Hình 2.2 Sơ đồ tâc tử phàn xạ.

Mặc dù tác tử hoạt động hoàn toàn theo cách phản xạ được coi là tương đối đơn
giản, ngay cả các tác tử phức tạp cũng có thể có một phần hành vi xác định bời cơ chế phản

xạ cảm nhận/hành động như vậy. Ví dụ, người và động vật đều có những phàn xạ được
hình thành do luyện tập hoặc là phản xạ bẩm sinh. Các phàn xạ này cho phép hành động
nhanh chóng trong một số trường hợp mà không cần mất thời gian để cân nhắc kỹ càng.

Khi m ột người bình thường chạm tay vào vật nóng, phàn xạ tự vệ thông thường là rụt ngay
tay lại thay vì suy nghĩ kỹ càng xem phải làm gì. Phản xạ chính là cách ra quyết định nhanh

chóng trong những tình huống như vậy.


Tác tử thông minh 37

Tác tử phàn xạ đặc biệt phù hợp với những môi trường trong đó trạng thái tại thời
điểm I, cung cấp đầy đù thông tin cho tác từ về toàn bộ trạng thái quá khứ trước thời điểm
Môi trường như vậy được gọi là môi trường Markov. Môi trường Markov cho phép đơn
giàn hoá rất nhiều việc ra quyết định cúa tác tử.

3.3 T ác tử có trạ n g thái

Trong rất nhiều trường hợp, cảm nhận hiện thời là chưa đù để tác từ ra quyết định
phái hành động thế nào. Lấy ví dụ một tác tử lái xe. Trước khi rẽ, tác từ phải chắc chắn hai
điều: thứ nhất, không rẽ vào đường cấm, và thứ hai, đường rẽ không bị xe hoặc người đi bộ
cản trờ. Như vậy, khi quan sát thấy không có người đi bộ cản trở (cảm nhận hiện thời) và
quyết định rê, lái xe đã dựa vào thông tin có được từ trước đó (thông qua biển báo hoặc
kinh nghiệm từ những lần rẽ trước) là đường rẽ không phải đường cấm. Một trong những lý
do khiến càm nhận hiện thời không đù đề quyết định hành động là do tại mỗi thời điểm cơ
quan càm nhận không thề cung cấp đù toàn bộ thông tin về môi trường xung quanh. Để có
hình dung toàn thể về môi trường, tác tử phái sừ dụng thông tin từ những càm nhận trước
đó. Thông tin này cho phép phân biệt những trạng thái môi trường khác nhau nhưng lại sinh
ra cùng một cám nhận ờ thời điểm hiện tại.

Tác từ có thể ghi lại thông tin về môi trường bằng cách lưu lại chuỗi các càm nhận
cho tới thời điểm hiện tại. Tuy nhiên, nếu chuỗi cảm nhận dài thì việc lưu lại là không hiệu
quả. Thay vào đó, tác từ duy trì một cấu trúc thông tin gọi là trạng ihái bên trong. Trạng
thái bên trong lưu trữ thông tin về môi trường mà tác từ nhận được và được cập nhật mỗi
khí lúc lù có cảm nhận mới. Việc lựa chọn hành động sổ dựa trên những thông tin chứa
trong trạng thái bên trong cùa tác từ.

Quá trình cảm nhận và ra quyết định sử dụng trạng thái bên trong diễn ra như sau.
Gọi / là tập các trạng thái bên trong cùa tác từ, p là tập các cảm nhận như đã nói ờ trên. Mỗi

khi tấc tử có cảm nhận p, e p , cảm nhận đó sẽ làm thay đồi trạng thái bên trong cùa tác tử.

Có thể biểu diễn sự thay đổi trạng thái theo cảm nhận qua hàm Cập nhật như sau:

c ậ p _ n h ậ t: IxP-> l

Việc ra quyết định về hành động khi đó được xác định như ánh xạ từ trạng thái

sang hành động:


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

Hành_động: / -» A
Sơ đồ cùa tác tử với trạng thái bên trong được minh hoạ trên hình 2.3.

Hoạt động của tác tứ diễn ra như sau. Khới đầu, trạng thái bên trong cùa tác tử là
i0. Sau khi quan sát được trạng thái s cùa môi trường, tác tứ có được càm nhận p về trạng
thái đó. Trên cơ sờ cảm nhận, trạng thái bên trong được thay đồi và có giá trị mới
Cập_nhật(i0,p). Trạng thái mới cũa tác tử được ánh xạ thành hành động tiếp theo
Hành_động(Cập_nhợt(io,p))- Chuỗi “càm nhận”, “cập nhật”, “hành động” tạo thành một
chu kỳ hoạt động cùa tác từ. Chu kỳ này được lặp đi lặp lại cho đến khi tác từ chấm dứt
hoạt động cùa minh.

Hình 2.3 Tác từ có trạng thái bên trong.

3.4 Túc tủ liửiih đụng cú mục đích

Thông thường, tác từ được tạo ra để thực hiện một nhiệm vụ nào đó. Để tác từ
thực hiện đúng nhiệm vụ cùa mình, thông tin về trạng thái môi trường là chưa đù. Tác tử
cần có thòng tin về nhiệm vụ, cần biết mục đích hoạt động cùa mình là gì. Cách đơn giàn
nhất để tác tử hoạt động có mục đích !à xây dựng sẵn chương trình hành động và yêu cầu
tác tử hành động theo các bước ghi trong chương trinh đó. Tuy nhiên, cách này có một
nhược điểm lớn là không mềm déo. Neu môi trường thay đổi, không phù hợp với điều kiện
được xác định khi xây dựng chương trình, tác từ sẽ không thể thích nghi với thay đổi đó.
Để đảm bảo tính mềm dẻo, ta chi thông báo cho tác từ mục đích cần đạt được, thay vì cho
tác tử biết phải làm thế nào để đạt được mục đích đó.
Tác tử thông minh 39

Mục đích thường có một trong hai dạng: 1) đạt được trạng thái nào đó; 2) đàm bảo
duy trì irạng thai nào đó.

Ở dạng thứ nhất, mục đích được cho dưới dạng một số trạng thái mà tác tử cần đạt
được, tác từ cần hành động sao cho cho môi trường chuyển sang một trong những trạng thái
đó. Cách thức mô tà trạng thái đích tuỳ thuộc vào môi trường và trường hợp cụ thể. Ví dụ,
đối với tác tử làm nhiệm vụ chơi cờ vua, mục đích cần đạt là bất cứ thế cờ nào chiếu hết đối
phương.

Khác với dạng thứ nhất, ờ dạng mục đích thứ hai, tác từ được yêu cầu tránh một số
trạng thái cho trước. Lấy ví dụ hệ thống lái tự động cho máy bay. Ta có thế hình dung hệ
thống này là một tác từ có nhiệm vụ giữ cho máy bay trong thời gian hành trình không lên
quá cao hoặc xuống quá thấp và không đi chệch khỏi đường bay quy định.

Cùng với thông tin mục đích, tác từ cần biết mỗi hành động cùa mình sẽ cho kết
quà ra sao. Thông tin mục đích được kết hợp với thông tin về kết quà hành động để lựa
chọn hành động cho phép đạt được mục đích (xem hình 2.4). Việc ra quyết định trong
trường hợp này khác với ra quyết định theo kiểu phản xạ ở chỗ nó đòi hỏi thông tin về
tương lai: hành động nào sẽ dẫn đến kết quả nào. Trong trường hợp phản xạ, tác tử không
cần thông tin loại này vì hành động cho từng tình huống cụ thể đã được tính toán từ trước.
Quá trinh ra quyết định dựa trên thông tin về mục đích đòi hỏi khối lượng tính toán lớn hơn
so với phàn xạ nhưng lại mềm déo hơn rất nhiều. Tác tử có mục đích có thể hoạt động binh
thường cả trong những tình huống chưa được tính đến khi thiết kế.

Trong những trường họp đơn giản, mục đích có thể đạt được sau một hành động
duy nhất. Trong đa số trường hợp khác, như trong ví dụ đánh cờ, việc đạt mục đích thường
phức tạp hơn và đòi hỏi một chuỗi hành động. Quá trình ra quyết định khi đó phải sử dụng
các kỹ thuật cùa trí tuệ nhân tạo như tìm kiếm, lập kể hoạch. Trong một phần sau, chúng tôi
sẽ trình bày sơ lược về việc sử dụng những kỹ thuật này cho tác tử. Chi tiết về tìm kiếm và
lập kế hoạch có thể tìm thấy trong các sách về trí tuệ nhân tạo.

Mặc dù có tốc độ ra quyết định chậm hơn SO với phản xạ thuần tuý do quá trình
lập kế hoạch đòi hòi thời gian, hành động có đích cho phép ra quyết định mềm dẻo hơn
40 Tác từ - Công nghệ phần mềm hướng tác từ

nhiều. Lấy ví dụ tác tử lái xe tự động. Quan sát thấy xe đắng trước phanh (đèn phanh sáng),

tác từ phản xạ đơn giàn tìm luật “xe trước phanh —» phanh xe mình” và thực hiện phanh xe.
Trong khi đó, đối với tác từ hành động theo đích, mục đích được quy định là không đâm
vào xe đằng trước. Từ suy luận rằng xe trước sẽ giảm tốc độ khi phanh, và m ô hình về môi
trường, hành động cho phép tránh đâm vào xe trước là phanh xe minh. Rõ ràng suy luận có
đích phức tạp hơn phàn xạ thuần tuý. Giả sừ xuất hiện tình huống mới: trời mưa, đường
trơn. Từ mục đích không đâm vào xe trước, tác từ có thể lựa chọn chế độ phanh xe thích
hợp cho phép chống trơn, trong khi đó, đề tác từ phàn xạ có thề hành động thích hợp, cần
thay đồi số lượng lớn các luật hành động. Tác từ có đích cũng mềm dẻo hơn nhiều trong
trường hợp thay đồi đích hành động, c ỏ thể ra lệnh cho tác tử lái đến các địa điểm khác
nhau mà không cần thay đổi cơ chế suy diễn bên trong. Đối với tác từ phàn xạ, việc sử dụng
các luật lập sẵn chi cho phép lái tới một địa điểm duy nhất.

Hình 2.4 Tâc từ có mục đích.

3.5 T ác tử hành động theo hàm tiện ích

Một phương pháp khác cho phép định huớng hành động cùa tác từ là sử dụng độ
đo mức độ m ong muốn hay hiệu quà các trạng thái. Cách thông dụng nhất để đo hiệu quả là
sừ dụng hàm tiện ích (utility). Hàm tiện ích gán cho mỗi trạng thái một giá trị số (tiện ích)
thể hiện mức độ m ong muốn, hay mức độ có ích của trạng thái đối với tác từ; trạng thái có

tiện ích lớn hơn là trạng thái tốt hơn. Tác từ có nhiệm vụ lựa chọn hành động đề đạt được
trạng thái với giá trị tiện ích lớn nhất.
Tác tù’ thông minh 41

Ngay cà trong trường hợp tác từ có mục đích được xác định trước như ở phần trên
vẫn có thể sử dụng hàm tiện ích với giá trị tiện ích cùa trạng thái đích lớn hơn nhiều SO với
trạng thái không phải đích. Thông thường, có nhiều phương án hành động đề đạt được mục
đích của tác từ, do vậy cần lựa chọn phương án nào hiệu quà hơn, chẳng hạn phương án cho
phép đạt mục đích với giá thành rẻ hơn, thời gian ngẳn hơn hoặc có độ an toàn cao hơn.
Trong trường hợp này, giá trị tiện ích được xác định cho cà chuỗi trạng thái trước khi đạt
tới trạng thái đích. Lấy ví dụ tác tử là một robot có nhiệm vụ di chuyển từ địa điểm này
sang địa điểm khác. N ếu có nhiều đường đi giữa hai địa điểm, việc tim ra một đường đi bất
kỳ là chưa đù, robot cần có khả năng đánh giá và lựa chọn đường đi ngán hơn.

Có nhiều cách xác định tiện ích toàn thề (cho cà vòng đời) cùa tác từ. Chẳng hạn,
có thể coi tiện ích toàn thể là tiện ích cùa trạng thái xấu nhất mà tác từ gặp phái, hay tiện
ích toàn thể là trung bình cộng tiện ích những trạng thái tác từ đã trải qua. Cách xác định
tiện ích này m ang tính ngắn hạn và thường không cho phép đánh giá hiệu quả hoạt động
chung cùa cà vòng đời tác từ. Một cách đánh giá xác là sử dụng hàm tiện ich cho toàn bộ
vòng đời chứ không phải cho từng trạng thái riêng lẻ.

Khó khăn lớn nhất khi xây dựng tác từ với hàm tiện ích là việc lựa chọn hàm tiện
ích phù hợp. Mặc dù trong một số trường hợp, lựa chọn hàm tiện ích tương đối đơn gián,
trong nhiều trường hợp khác, rất khó đánh giá đúng giá trị tiện ích cho các trạng thái, nhất
là khi cần đánh giá độ hiệu quà hoặc độ mong muốn theo nhiều tiêu chí. Trong một số
trường họp đặc biệt, tiện ích có thể biến đồi về dạng tập hợp các trạng thái đích, sao cho tác
[ừ llànli dộng vỉ nhũng mục đích này cho kết quà tương đương với tác tử hành động theo

hàm tiện ích.

3.6 T á c t ử vói CO'chế suy d iễn lôgic

N hiều nghiên cứu về trí tuệ nhân tạo cho rằng hành vi thông minh có thể được tạo
ra bằng cách biến đổi thông tin môi trường và mục đích cùa tác tử về dạng biểu lượng
(symbolic), sau đó thực hiện các biến đổi cần thiết trên những biểu tượng đó. Cách tiếp cận
này được gọi là tri tuệ nhãn tạo biếu tượng (symbolic artificial intelligence) và được sứ
dụng trong một số nghiên cửu để xây đựng tác từ thông minh. Hệ thống biểu tượng thông
dụng nhất để mô tà môi trường và tác từ là các biếu thức lôgic. Phần này sẽ trình bày về tác
42 Tác tử - Công nghệ phần mềm hướng tác từ

tử với mô hình môi trường được cho dưới dạng biểu thức logic và cơ chế ra quyết định sử
dụng phép biến đổi trên mô hình đó dưới dạng suy diễn logic.

N hư với mọi hệ thống trí tuệ nhân tạo sử dụng biểu tượng khác, để xây dựng tác tử
suy diễn logic cần giải quyết hai vấn đề:

B iến đối thông tin về dạng biếu lượng. Thông tin về môi trường phái được biến
đổi thành mô hình biểu tượng, ờ đây là biểu thức logic, cần thiết cho quá trinh ra quyết định
trong khoáng thời gian đù ngắn đề mô hình đó không bị cũ. T hông thường, một phần mô
hình môi trường như các quy luật biến đổi và mục đích cũa tác từ được xây dựng từ trước,
một phần khác được cập nhật trong quá trình tác tử hoạt động và càm nhận. Lấy ví dụ một
robot được trang bị camera quang học, hình ảnh mà camera thu được cần được biến đổi về

dạng biểu thức logic Phia_trước(yật cản) cho biết phía trước đang có vật càn hay không.

Biểu diễn và suy diễn. Thông tin cần được biểu diễn phù hợp bởi biểu thức lôgic
và có cơ chế biến đổi tự động những biểu thức này (suy diễn tự động) để sinh ra hành động.
Kết quà suy diễn phài được tạo ra trong thời gian đù ngắn để không bị lạc hậu SO với sự

thay đồi cùa môi trường.

Vấn đề thứ nhất liên quan đến thị giác máy, kỹ thuật nhận dạng mẫu, xừ lý ngôn
ngữ tự nhiên, vấn đề thứ hai được nghiên cứu trong khuôn khổ biểu diễn tri thức và suy
diễn tự động. Đây là những vấn đề khó và trí tuệ nhân tạo hiện nay cũng như trong tương
lai gần chưa cho phép giải quyết trọn vẹn. Chính vì lý do này nhiều nhà nghiên cứu cho
ràng việc xây dựng tác từ sử dụng pliưang pháp biểu lưựng là không hựp lý và không hiệu
quả. Tuy nhiên, lôgic là lĩnh vực được nghiên cứu từ lâu, có cơ sở lý thuyết rõ ràng và vững
chắc, sử dụng lôgic khi xây dựng hoặc mô hình hoá tác từ cho phép kế thừa toàn bộ ưu
điểm này. Tác tử với cơ chế suy diễn logic, do vậy, vẫn là chù đề hấp dẫn và được đề cập

trong nhiều nghiên cứu.

Trên cơ sờ sử dụng logic để biểu diễn và suy diễn ta có thể xây dựng tác tử với các
kiểu kiến trúc và mức độ phức tạp khác nhau, cụ thể, có thể xây dựng tác từ phản xạ, tác từ
có trạng thái và tác tử hành động có mục đích. Cơ chế suy diễn logic không hỗ trợ trực tiếp
cho việc xây dựng tác từ hành động theo hàm tiện ích.
Tác từ thông minh i3

Để minh hoạ cho việc sử dụng lôgic, ta xét một mô hình tác từ suy diễn lôgic (ton
giản sứ dụng lôgic vị từ bậc một (first-order predicate logic). Lôgic vị từ bậc một là một
trong những hệ thống lôgic truyền thống được nghiên cứu và sừ dụng nhiều trong triết hpc,
toán học và trí tuệ nhân tạo. Hệ thống lôgic này cho phép biểu diễn thông tin về môi trưòng
dưới dạng các đối tượng, mỗi đối tượng có thuộc tính cùa mình. Giữa các đối tượng tồn tại
quan hệ được biểu diễn bởi các vị từ và các hàm. Việc kết họp đối tượng và quan hệ giữa
đối tượng tạo nên sự kiện và được biểu diễn bời cáu lôgic.

Trạng ihái bên trong cùa tác từ được lưu giữ dưới dạng cơ sở dữ liệu bao gồm các
biểu thức logic vị từ bậc một và theo truyền thống thường được gọi là cơ sớ tri thức của tác
từ. Trạng thái tác từ bao gồm hai phần. Phần thứ nhất biểu diễn về nhũng sự kiện mà tác tử
nhận được nhờ quan sát và càm nhận môi trường. Ví dụ, phần này có thể chứa những biểu
thức sau

M ờ (c ử a )
V ị _ t r í (50, 100)

Do cảm nhận cùa tác từ về môi trường có thể không đầy đù và không chính xác
nên những biểu thức này có thể không phàn ánh chính xác những gl đang diễn ra trong môi
trường và vì vậy thường được gọi là niềm tin - tác tử “tin” rằng cửa đang m ờ và vị trí cùa
mình là (50,100) trong khi thực tế có thể không phái như vậy.

Phần thứ hai cùa trạng thái chứa các quy tắc hay các luật suy diễn cho phép tác tử
ticii liànli suy dỉcn và đưa ra quyct định. Ví dụ, các luật có thể cỏ dạng

Mở(cùa) -> Hảnh_động (tiến_lên)


Vị_trí(l,l) —> Gần(cùa)

Một số luật cho phép suy diễn trực tiếp về hành động, một số luật khác cho phép
cập nhật thông tin hoặc suy diễn về những sự kiện trong môi trường mà tác từ không cám
nhận trực tiếp được.

Gọi / là tập các trạng thái có thể có của tác tử, với mỗi trạng thái là tập các biểu
thức lôgic như trên. Ký hiệu phần tử cùa / là K B ị,KB2,... Quá trình ra quyết định được quy
44 Tác từ - Công nghệ phần mềm hướng tác tử

định bời tập các luật suy diễn chứa trong cơ sờ tri thức của tác tử. Ta sừ dụng ký hiệu

KB Ị= ộ nếu biểu thức <pcó thề suy ra từ KB sử dụng sự kiện và luật chứa trong KB .

Hoạt động cùa tác tử bao gồm cập nhật trạng thái theo cám nhận và ra quyết định
về hành động dựa theo trạng thái mới cập nhật. Hai quá trình này được thực hiện bới hai
hàm Cập nhậl và Hành động như trình bày ờ trên.

Cập_nhật: IxP->I
Hành_động: I—>A

Hàm Hành động được định nghĩa dưới dạng thủ tục suy diễn logic tự động. Ở
đây, thủ tục suy diễn có dạng đơn giản cùa kỹ thuật chứng minh định lý tự động (theorem
proving), một kỹ thuật được nghiên cửu nhiều trong trí tuệ nhân tạo. Thù tục suy diễn được
cho dưới dạng già mã như trong hình 2.5 [W ooldridge 2002].

1 function Hành_động(KB:l):A
2 begin
3 for a e A do
4 if KB Ỷ Thực hiện(a) then
5 return a
6 end-if
7 end-for
8 for a 6 A do
9 if - 1 (KB ^ -iThực hiên(a)) then
10 return a
11 end-if
12 end-for
13 return null
14 end function Hành động

Hình 2.5 Hàm hành động của tác tử suy diễn lôgic.

Hàm Hành động nhận tham số là trạng thái hiện thời KB và trà về hành động

a e A hoặc null nếu không tìm được hành động thích họp. Trước tiên, hàm Hành động tìm

hành động a sao cho biểu thức Thực_hiện(a) có thề suy ra từ sự kiện và luật suy diễn chứa
trong KB. Đoạn (3)-(7) lần lượt chọn từng hành động a trong tập hành động có thề cùa
mình và cố gắng chứng m inh KB 1= Thực_hiện{a). Nếu chứng minh được, a sẽ được coi là
Tác tử thông minh 45

hành động thích hợp nhất cho tình huống hiện tại, hàm ngừng thực hiện và trả về a. Rõ
ràng, nếu có nhiều hành động như vậy thì hàm trà về hành động bất kỳ trong số đó.

Trong trường hợp không chứng minh được Thực_hiện(a), hàm sẽ tìm một hành
động nào đó không bị cấm trong tình huống hiện tại. Cách xử ]ý này có ý nghĩa như sau:
nếu tác tử chưa tìm được hành động đã được xác định sẵn cho một tình huống, tác từ sẽ
thực hiện một hành động nào đó không mâu thuẫn với tinh huống này với hy vọng hành
động được chọn sẽ dẫn tới tình huống mới, sau đó có thể tìm hành động định sẵn cho tình
huống mới. Đoạn (8)-(12) duyệt tập hành động để tìm hành động a sao cho biểu thức

-,Thực_hiện(ì) không thể chứng minh được từ KB hiện thời. Nếu tìm được, a được trả về
và hàm kết thúc. Nếu không tìm được, hàm trá về giá trị null có nghĩa không hành động nào
được chọn.

Ví dụ m in h liọa. Để minh họa cho mô hình tác từ trên, ta xét m ột ví dụ đơn giản
như sau [W ooldridge 2002]. Trong ví dụ này, một tác từ robot có nhiệm vụ hút bụi trong
một căn phòng. Tác từ được trang bị một máy hút bụi và một cám biến cho phép phát hiện
tại vị trí tác tử đang đứng có bụi hay không; máy hút bụi chi có khả năng hút bụi tại ví trí
hiện thời cùa tác tử. Tác tử có khà năng di chuyển về phía trước và có khả năng quay sang

phải 90° (để đơn gián, ta không xét khả năng quay trái cùa tác tử). Bằng cách quay phải, tác
tử có thể thay đổi hướng chính diện cùa mình, các hướng chính điện bao gồm đông, tây,
nam, bắc. Để đơn giản hoá việc định vị, căn phòng cần hút bụi được chia thành các ô
vuông, chuyển động cùa tác từ được chia thành từng đơn vị, mỗi đơn vị chuyển động cho
phÊp tâc tứ dl chuyẻn sang một ỏ bên cạnh, néu 0 đo kliOng pliải là tuừng. K itli thước

phòng được giới hạn là 3 ô X 3 ô như trên hình 2.6. Ta cũng già thiết vị trí xuất phát cùa tác

từ là ô (0,0) và hướng về phía bắc.

Như vậy, cảm nhận cùa tác tử bao gồm: vị trí hiện tại có bụi hay không bụi; hành
động của tác từ bao gồm: tiến lên (theo hướng chính diện), quay (phải), và hút (bụi). Nhiệm
vụ tác tử là di chuyển trong phòng và hút bụi từ những ô có bụi.

Để lưu giữ thông tin môi trường và suy diễn, tác từ duy trì trạng thái bèn trong
dưới dạng biểu thức logic. Thông tin về môi trường được biểu diễn bởi những vị từ sau:
46 Tác tử - Công nghệ phần m ềm hướng tác tử

1,2 2,2
bụi
0,2

0,1
bụi
1.1 2.1

1,0 2,0
a 0,0

Hình 2.6 Tác tử robot hút bụi trong ô 3x3.

V ị_ trí (X , y) tác từ đang ờ ô (x, y)


Có_bụi (x, y ) tại ô (x, y) có bụi
H ư ớ n g (d) hướng chính diện của tác tử là đ.
Hành vi cùa tác tử được quy định bời luật suy diễn. Luật thứ nhất xác định khi nào
tác tử cần thực hiện hành động hút bụi và có dạng

vị_trí (x, y) A Có_bụi (x, y) —> Thực_hiện (hút) (2.1)


Trong ví dụ đang xét, hành động này có mức ưu tiên cao nhất, tức là khi tác từ có
thể hoặc hút hoặc di chuyển, tác từ phải ưu tiên hút trước và di chuyển sau. Đây là đàm bào
tác tử sẽ hút bụi chứ không chi di chuyển đơn thuần. Đề đơn giàn ta quy định sẵn quỹ đạo
chuyển động cùa tác từ là (0,0) (0,1) (0,2) (1,2) (1,1) (1,0) (2,0) (2,1) (2,2). Chuyền động
cùa tác tử được xác định bời một số luật đơn giàn

'Vi_trí (0,0) A Hưứng(bác) A -iCó_bụi (0,0) —» Thực_hiộn (tién_lên) (2.2)

V ị_ trí(0 ,l) A Hướng(bắc) A -iC ó_bụi(0,l) —> Thực hiện (tiến lên) (2.3)

Vị trí (0,2) A Hướng(bác) A —>Có_bụi(0,2) -» Thực hiện (quay) (2.4)

Vị_trí (0,2) A Hướng(đông) -> Thực_hiện (tiến lên) (2.5)

Các luật cho phép tác tử di chuyển tiếp đến ô (2,2) được xây dụng tương tự. Biểu

thức -IC ó_bụi(xỳ) được thêm vào các luật trên đảm bảo tác tử chi chuyển động khỏi một ô

khi đã chắc chắn ô đó không có bụi, nhờ vậy, thao tác hút bụi luôn có m ức ưu tiên cao hơn
Tác tử thông mình 47

thao tác di chuyển.

Để trạng thái phản ánh đúng thõng tin về môi trường, ta cần xác định hàm
Cập_nhật. Hàm cập nhật nhận thông tin do cảm biến đưa vào (một trong hai giá trị có bụi
hoặc không_bụi) để thay đổi giá trị vị từ C ó_bụi(xy). Ngoài ra, dựa trên hành động vừa
thực hiện, hàm cập nhật thay đổi sự kiện về vị tri và hướng chính diện chứa trong trạng thái
tác từ. Hàm cập nhật có thể cho như sau

Có bụi (x, y ) nếu giá trị càm biến tại ( x y ) là có_bụi.

-1 Có_bụi ( x, y ) nếu ngược lại

Ket quà (Vị_trí(0,0), Thực hiện (tiến lên)) = Vị_trí(0,0)

K ế tq u à (Vị trí (0,2), Thực hiện (quay)) = Vị trí (1,2)

Như vậy ta đã hoàn thành mô hình tác từ hút bụi bao gồm cơ sờ tri thức, hàm
C ậ p jĩh ậ t và hàm H ành_động được xác định qua mô tà ở trên.

Nhận xét

Trong phần này ta đă làm quen với mô hình cùa tác tử suy diễn logic đơn giản.
Q uyết định hành động được thực hiện bởi suy diễn. Tác từ lựa chọn hành động theo những
luật suy diễn chứa trong cơ sở tri thức và sù dụng mô hlnh về môi trường lưu giữ dưới dạng
trạng thái bên trong. Chương trình hành động cùa tác từ hay chiến lược ra quyết định được
ma hoá dưới dụng định lý lồgic, quá ti lull la quyét định thục cliál là quá II lull chứng mlnli

định lý.

Tác từ không có mục đích được xác định rõ ràng mà chì hoạt động theo chương
trình đã được xác định trước bời các luật (di chuyền theo quỹ đạo cho trước), mục đích của
tác tử đã được ngầm định trong khi thiết kế luật. Với môi trường đơn giản như trong ví dụ,
mô hinh này là phù họp. Tuy nhiên, với những môi trường phức tạp hơn, cách xây dựng tác
từ như trèn là hoàn toàn không thực tế. Có thể chi ra một số nhược điểm cùa mô hình này.

Thứ nhất, do mục đích cùa tác từ được ngầm định trong luật suy diễn, khi môi
tT Ờ ng thay đổi, tất cả luật suy diễn phải được xây dựng lại. Trong ví dụ hút bụi, nếu căn
48 Tác tử - Công nghệ phần mềm hướng tác tử

phòng không có dạng hình chữ nhật mà có hình dạng khác, các luật (2.2),(2.3)... sẽ không
còn như trên. N hược điểm này có thể khắc phục bằng cách sử dụng kiến trúc trong đó m ục
đích được xác định rõ ràng, tác từ được trang bị cơ chế cho phép lập ra kế hoạch để đạt
được mục đích đó tuỳ theo hoàn cảnh cụ thề.

T hứ hai, m ô hinh tác tử trên hoàn toàn không thích hợp với môi trường có tính
động cao. Để làm rõ nhược điểm này ta già sử tác tứ được trang bị cơ sờ tri thức và hàm
H ành động như m ô tả ờ trên. Ở mỗi trạng thái, nếu chứng minh được Thực_hiện(a) từ KB
tương ứng thì a được coi là hành động thích hợp nhất với trạng thái đó. Già sừ tại thời điểm
¡1 trạng thái môi trường được m ô tà bời KB\ và tác tử bát đầu tìm kiếm hành động để thực
hiện. Sau m ột khoảng thời gian nhất định tác từ tìm được hành động a sao cho K B I 1= a, gọi
thời điểm tìm được hành động a là t2. Do KB I 1= a nên a là hành động tối ưu đối với thời
điểm t\. Nếu trong khoáng thời gian từ /| đến l2 môi trường đă thay đổi thì nhiều khả năng a
không còn là hành động tối ưu tại thời điểm t2 nữa. Để hành động a còn có ích tốc độ suy
diễn cùa tác từ phải đù nhanh sao cho môi trường chưa kịp thay đổi trong khoáng thời gian
/2- /|. N hư ta đã biết, thủ tục chứng minh tự động dựa trên logic bậc một như trong tác từ
nói trên không đáp ứng yêu cầu này. Nếu không tìm được phương pháp chứng minh, thú
tục chứng m inh có thể không bao giờ kết thúc. N gay trong trường hợp tìm được cách chứng
minh, không gian tìm kiếm cũng rất lớn và đòi hói nhiều thời gian cùng thời gian tính toán.
N hư vậy, thú tục suy diễn logic mà chúng ta vừa xem xét chì cho phép đưa ra hành động tối
ưu đối với thời điểm bát đầu suy diễn và do vậy không thể sừ dụng cho những môi trường
thay đổi nhanh.

Cuối cùng, như với mọi hệ thống sử dụng biểu tượng khác, việc ánh xạ cảm nhận
thành biểu thức logic là vấn đề phức tạp. Đối với nhiều môi trường, quan hệ giữa thông tin

cảm nhận và biểu diễn logic cùa thông tin đó rất khó xác định. Cho đến nay, đây vẫn là
những vấn đề m ờ cùa trí tuệ nhân tạo.

4 KIÉN TRÚC CỤ THẾ

Ở các phần trước kiến trúc cùa tác tử mới được trình bày một cách trừu tượng
nhất. N hững chi tiết liên quan đến biểu diễn kiến trạng thái bên trong cùa tác từ ra sao, hàm
ra quyết định hành động thế nào đều chưa được đề cập tới. Trong phần này, các chi tiết đó
Tác tử thông minh 49

sẽ được lần lượt xem xét cùng với ví dụ minh họa.

4.1 Kiến trú c phàn xạ

N hư chúng ta đã biết, mục đích cúa trí tuệ nhân tạo là tạo ra các hệ thống có khả
năng suy diễn thông minh. Các hệ thống suy diễn trước đây chủ yếu dựa trên việc biểu diễn
tri thức và thông tin dưới dạng biểu tượng chẳng hạn dưới dạng biểu thức lôgic. Quá trinh
suy diễn sau đó được gọi là chứng minh định lý tự động và bao gồm việc thực hiện các
phép biến đối trên hệ thống biểu tượng sừ dụng (chẳng hạn các phép biến đồi lôgic).

Phương pháp suy diễn dựa trên biểu tượng có một số nhược điểm như phức tạp,
tốc độ suy diễn chậm , yêu cầu biến đổi thông tin đầu vào thành dạng biểu tượng trước khi
suy diễn. Do các nhược điểm này, nhiều nghiên cứu về tác tử đã chú ý vào những phương
pháp ra quyết định khác không sừ dụng biểu tượng.

Kiến trúc phản xạ là kiến trúc tác tử trong đó việc ra quyết định hành động không
sử dụng các cơ chế suy diễn phức tạp dựa trên biểu diễn trạng thái bên trong dưới dạng biểu
tượng. Tác tử có kiến trúc kiểu này không suy diễn mà hành động đơn thuần bằng cách
phản xạ lại môi trường. Tác từ phản xạ còn được gọi là tác từ dựa hành vi hoặc đơn giản là
tác tử hành vi. Tên gọi này xuất phát từ nguyên tắc: các hành vi (có thể tucmg đối linh hoạt
hay thông m inh) đều được tổng hợp từ các hành vi đơn giản hcm.

Kiến trúc gộp

Kiến trúc phản xạ được biết đến nhiều nhất là kiến trúc gộp (subsumption
architecture) do Rodney Brooks đề xuất lần đầu tiên vào năm 1986. Kiến trúc gộp được
định nghĩa thông qua hai đặc điểm quan trọng sau.

Thứ nhất, quá trình ra quyết định của tác tử được thực hiện dựa trên tập các hàm

hành động gọi là hành v i thực hiện nhiệm vụ (task accom plishm ent behaviours). Mỗi hành
vi thực chất là m ột hàm hành động như đã định nghĩa trong phần kiến trúc trừu tượng. Mỗi
hành vi được tổ chức như một môđun và có mục đích thực hiện m ột nhiệm vụ nhất định.
Trong kiến trúc nguyên bản cùa Brooks, mỗi mòđun hành vi được cài đặt như một máy
trạng thái hữu hạn. Các môđun hành vi hoàn toàn không sử dụng biểu tượng cũng như
không có cơ chế suy diễn với biểu tượng. Hành vi được biểu diễn bằng các luật hoặc quy
50 Tác tử - Công nghệ phần m ềm hướng tác từ

tắc đon giản dưới dạng

tình huống —► hành động


mỗi luật này ánh xạ từ m ột trạng thái cảm nhận được thành m ột hành động. Do cơ
chế ra quyết định cùa tác từ do nhiều môđun hành vi gộp lại nên kiến trúc này có tên là

“kiến trúc gộp” .

Thứ hai, nhiều môđun hành vi có thể được kích hoạt đồng thời. Chẳng hạn, cùng
một trạng thái môi trường có thể ứng với vế bên trái cùa nhiều luật. T rong trường họp nhiều
môđun cùng được kích hoạt, mỗi môđun sẽ sinh ra một hành động. T rong số này m ột hành
động duy nhất sẽ được chọn đề thực hiện. Kiến trúc gộp tiến hành lựa chọn như sau. Các
môđun hành vi được sấp xếp theo thứ tự ưu tiên (gọi là thứ lự gộp). Môđun nằm dưới có
mức ưu tiên cao hơn môđun nằm trên. Khi nhiều môđun cùng kích hoạt, hành vi cùa
môđun có thứ tự cao hơn sẽ được thực hiện. Ta nói rằng môđun nằm dưới ngăn chặn
môđun ờ trên. Các môđun được sắp xếp sao cho môđun càng ớ trên cao càng có hành vi
trừu tượng hơn. Ví dụ, đối với tác từ là robot, một hành vi có thể là “tránh vật cản” . Hành vi
này cần có độ ưu tiên cao và do vậy môđun ương ứng sẽ được xếp ở bên dưới (hình 2.7).

Hình 2.7 Một vl dụ kiến trúc gộp cho robot.

Sử dụng các ký hiệu đã quy định ở phần trước, ta có thể mô tả kiến trúc gộp như

sau.

Hàm cảm_nhận được giữ nguyên như trong phần kiên trúc trừu tựợng. Một đặc
điểm cùa cơ chế cảm nhận đối với kiến trúc gộp (và kiến trúc phản xạ nói chung) là không
Tâc tip thông minh 51

cần có cơ chế biến đổi từ thông tin và dữ liệu thô sang dạng biểu tượng (ký hiệu logic)
trước khi chuyển sang bộ phận ra quyết định. Đây là một trong các ưu điểm của kiến trúc
kiểu này.

Hàm hành động bao gồm một tập hợp hành vi và quan hệ ưu tiên giữa các hành vi

này. Mỗi hành vi là m ột cặp (c, a), trong đó c e p là kết quà càm nhận môi trường và được

gọi là điều kiện, a e A là hành động. Hành vi (c, a) được kích hoạt trong trường hợp môi

trường ờ trạng thái s e s và c à m jih â n (s)€ c. Gọi H V = f(c,a)I ceP , a e A } là tập họp tất cả
hành vi.

Mỗi tập hành vi R e H V cùa tác từ có một quan hệ ưu tiên đi kèm. Quan hệ ưu tiên

là m ột quan hệ thứ tự được định nghĩa trên tập hợp các hành vi -<: R x R với các tính chất:

bắc cầu, không phản xạ và không đối xứng. Ta có 6| -í b2 nếu (b ị,b 2)e-< , khi đó bi nàm

dưới bỉ trong thứ tự gộp và do vậy có mức ưu tiên cao hơn.

Hàm hành động khi đó được định nghĩa dưới dạng giả mã như sau

1. function hành dçng(p:P): A


2. var fired: p (R)
3. begin
4. fired :=<)>
5. for each < c , a ) e R
6. if c e p then
7. Ilred:=rired (c,a)
8. end-if
9. end-for
10. for each ( c , a ) e f i r e d do
11. if -i (3 ( c' , a ' ) efired and (c' , a ' ) -< ( c, a) then
12. return a
13. end-if
14. end-for
15. return n u l l
16. end

Hình 2.8 Hàm hành động cho tác tử với kiến trúc gộp.
52 Tác tử - Công nghệ phần mềm hướng tác tử

Hàm hành động thực hiện như sau.Trước tiên, vòng for ờ dòng 5 xác định tất cả
các hành vi được kích hoạt và chứa vào biến fir e d (biến này có thể có dạng tập hợp). V òng
for ờ dòng 10 tim hành vi có mức ưu tiên cao nhất trong số hành vi đang chứa trong fire d .
Hành vi này được trà lại như giá trị cùa hàm và được chọn làm hành vi thực hiện của tác từ
(dòng 12). Nếu không hành vi nào được kích hoạt (biến fir e d rỗng) thì hàm trà lại null
(dòng 15).

Độ phức tạp tính toán cùa hàm hành động nói trên là o ( n 2) , trong đó

n=max(\R\,\P\), tức là số lớn hon trong hai số: số lượng hành vi và số lượng cảm nhận. Với
độ phức tạp tính toán đa thức như vậy, kiến trúc gộp cho tốc độ phán xạ nhanh. Với việc
tích hợp thành phần cứng (ví dụ vào bộ điều khiển robot) thời gian phàn xạ là hằng số và
chi chiếm đơn vị hàng triệu cùa giây. Đầy chinh là một trong những ưu điểm lớn nhất cùa

kiểu kiến trúc này.

Ví dụ: Để minh hoạ cho kiến trúc gộp, ta xét tinh huống giả tường sau [Steels

1990]:

Mục tiêu đặt ra là thám hiểm một hành tinh lạ, thu thập các mẫu đá ờ đây. Vị trí
mẫu đá cần thu thập không được biết trước, tuy nhiên các mẫu này thường tập trung trong
một số khu vực nhất định. Một số xe tự hành có khả năng chuyền động trên hành tinh, thu
thập mẫu đá, sau đó quay về tầu vũ trụ để trờ về Trái Đất. Bàn đồ chi tiết cùa hành tinh
không được biết trước, chi biết rằng trên bề mặt hành tinh có nhiều chướng ngại - đồi,
thung lũng - ngăn cản việc liên lạc giữa các xe tự hành.

Mỗi xe thám hiểm trong trường hợp này là một tác tử tự chủ. v ấ n đề cần giải

quyết là thiết kế và xây dựng kiến trúc điều khiển cho tác từ - xe tự hành sao cho xe có khả
năng thu thập mẫu đá một cách hiệu quà nhất có thể. Theo phân tích của tác giả tình huống

trên, việc sử dụng phương pháp suy diễn lôgic trong trường hợp này là không hiện thực,

giài pháp khả thi là sú dụng kiến trúc gộp.

Giải pháp đề xuất dựa trên hai kỹ thuật sau. Thứ nhất, để tác tử có thể xác định vị
tri cùa tầu vũ trụ, tầu vũ trụ sẽ liên tục phát ra các sóng vô tuyến. Càng xa tầu, sóng vô
tuyến càng yếu đi. N hư vậy, để tìm về tầu, tác tử cần di chuyển về phía tín hiệu mạnh lên.
Tác từ thông minh 53

Kỹ thuật thứ hai cho phép các tác tử liên lạc với nhau. Do điều kiện địa hinh
không cho phép liên lạc trực tiếp (chẳng hạn gừi thông điệp cho nhau), tác tử sứ dụng
phương pháp liên lạc gián tiếp. Mỗi tác từ có thể để lại trên đường di chuyển cùa mình các
mẩu chất phóng xạ, đồng thời có thể nhận biết các mẩu phóng xạ đã được rải hoặc thu nhạt
các mẩu này. Kỹ thuật này rất giống kỹ thuật liên lạc mà một số côn trùng như kiến sừ
dụng. Trên đường đi tìm mồi kiến tiết ra một chất đặc biệt gọi là pheromon cho phép đánh
dấu vị trí đã đi qua.

Dựa trên hai kỹ thuật trên, tác từ thực hiện thu thập mẫu đá bàng cách sừ dụng một
số hành vi như mô tà dưới đây. Trước hết ta xét trường họp tác từ làm việc (thu thập mẫu
đá riêng lẻ), sau đó đến trường hợp tác từ cộng tấc với nhau1.

L àm việc riêng lè. Hành vi ờ mức thấp nhất, và do vậy có mức ưu tiên cao nhất
trong kiến trúc gộp cùa tác tử là hành vi “tránh chướng ngại vật” .Hành vinày được biểu
diễn bàng luật sau:

Nếu phát hiện được chướng ngại vật thì đổi hướng chuyền động (I)

Hành vi tiếp theo cho phép tác từ đề mẫu đá lại tầu vũ trụ

N ếu có mẫu đá và đang ở tầu vũ trụ thì đề đá lại tầu (2)

Để mang được đá về-tầu, tác tứ thực hiện hành vi

Neu có mẫu đá và ¡¡hông ớ tầu vũ trụ thì di chuyển về phía có sóng mạnh hơn (3)

Trong trường hạp phát hiện mẫu đá:

N ếu phát hiện mẫu đá thì nhặt mẫu đá đó (4)

Cuối cùng, trong trường hợp không có điều kiện nào trong số trên thoà mãn, tác từ
sẽ chuyền động ngẫu nhiên để tìm mẫu đá mới. Hành vi chuyển động ngẫu nhiên được thề

hiện qua luật sau:

1 Cơ chế hợp tác cùa hệ đa tác tử sẽ được đề cập chi tiết trong m ột chương sau
54 Tác tử - Công nghệ phàn mềm hướng tác từ

Nếu true thì di chuyển ngẫu nhiên (5)

Hành vi này luôn luôn được kích hoạt và chì được thực hiện khi không có hành vi
nào khác được kích hoạt đồng thời, SO vậy hành vi di chuyển ngẫu nhiên có độ ưu tiên thấp
nhất và nằm ờ mức trên cùng trong kiến trúc gộp.

Các hành vi nói trên được sáp với mức ưu tiên như sau
( 1 H ( 2 H ( 3 H ( 4 ) -< (5)

Việc sấp xếp hành vi như vậy đàm bảo: tác từ luôn đồi hướng chuyền động khi
gặp chướng ngại vật, nếu về đến tầu và có mẫu đá, tác từ sẽ để đá lại tầu.v.v. Cuối cùng, tác
từ sẽ chuyền động ngẫu nhiên nếu không có hành vi nào quan trọng hơn. Dễ dàng nhận
thấy, kiến trúc gộp với các hành vi được xác định như trên cho phép giài quyết nhiệm vụ
đặt ra. Tác tử sẽ tìm kiếm ngẫu nhiên, đem mẫu đá tìm được về tầu và để lại tầu.

L àm việc lập thể. Trong trường hợp mẫu đá cần thu thập phân tán đều trên bề mặt,
mô hình di chuyển ngẫu nhiên và làm việc độc lập của tác từ như vừa mô tả là hoàn toàn
thích hợp. Tuy nhiên, theo mô tả trong kịch bàn, mẫu đá có xu hướng tập trung trong một

số khu vực. Việc thu thập sẽ hiệu quả hơn nếu tác tứ có khả năng hợp tác với nhau. C hẳng
hạn, khi phát hiện ra mẫu đá lớn, tác từ có thề đề nghị các tác tử khác giúp đỡ. Cũng theo
điều kiện bài toán, việc liên lạc trực tiếp không thể thực hiện được, do đó cần có cơ chế liên
lạc gián tiếp cho tác tử. Cơ chế liên lạc được sừ dụng ớ đây giống như cách liên lạc trong
đàn kiến. Sau khi tìm được mẫu đá, tác tử đánh dấu đường đi cúa mình bằng cách để lại
những mẩu phóng xạ trên đường trở về tầu vũ trụ. Khi tác từ khác đi ngang qua vệt đường
được đánh dấu này và phát hiện ra các mẩu phóng xạ. tác từ sẽ đi theo vết đánh dấu theo
hướng ngược với sóng vô tuyến. Việc di chuyền như vậy cho phép tim được vùng có mẫu
đá hiệu quả hơn di chuyển ngẫu nhiên. Để tránh tình huống vùng đánh dấu đã được các tác

tử đến trưởc thu thập hết đá, thù tục liên lạc được cải tiến như sau: Khi tác từ di chuyển
theo vệt đường đánh dấu về hướng mẫu đá, tác tứ nhặt bớt một số mẩu phóng xạ dẫn đường
và do vậy làm cho đường m ờ dần đi. Ngoài ra tác từ chi đánh dấu đường khi đã có mẫu đá
và đang trên đường trờ về tầu. Việc tuân theo các quy tắc này cho phép xoá vệt đường đã

được đánh dấu nếu một vài tác từ đi theo đường đó mà không tìm được mẫu đá nào.

Dưới đây là các hành vi điều khiển tác tử theo quy tắc trên. Hành vi tránh vật cản

(1) và để mẫu đá lại tầu (2) vẫn được giữ nguyên. Tuy nhiên hành vi chuyển động về phía
Tác tử thông minh 55

tầu được thay đồi bằng cách thêm vào động tác đánh dấu đường như sau:

Nếu có mẫu đá vò không ớ tầu

thì di chuyển về hướng sóng mạnh và đánh dấu đường (6)

Hành vi nhặt mẫu đá (4) giữ nguyên không thay đổi. Một hành vi cho phép tác tử
nhặt các mẩu phóng xạ dẫn đường được thèm vào như sau

Nếu phát hiện phóng xạ thì nhặt 1 mầu và di chuyền ngược hướng sóng (7)

Trong trường hợp không hành vi nào trong số trên bị kích hoạt, tác tử vẫn di
chuyển ngẫu nhiên theo hành vi (5).

Các hành vi được sắp xếp như sau

(1) X ( 2 H (6) X ( 4 H ( 7 H (5)

Giái pháp điều khiển tác tử với kiến trúc gộp như trên cho kết quả gần như tối ưu
trong đa số trường hợp. Một ưu điểm khác là cơ chế điều khiển này rất đơn giàn (yêu cầu
tính toán thấp) và rất ồn định (hệ thống hoạt động bình thường ngay cả khi một vài tác từ

gặp trục trặc).

Ưu nhược điểm cùa kiến trúc gộp.

Kiến trúc gộp có m ột số ưu điểm rất rồ ràng: đơn giản, tiết kiệm, độ phức tạp tính
toán thấp, tinh ồn dịnh cao. I uy nhiên cung như cac kién trúc phan xạ khac, kién trúc gộp

có m ột số nhược điểm rất cơ bàn như sau

Do không lưu giữ mô hình môi trường, tác tứ cần có đầy đú thông tin về trạng thái

hiện thời để ra quyết định.

Do tác từ phàn xạ chi ra quyết định dựa trên thông tin về trạng thái hiện thời nên

hành động không có tính chiến lược và lâu dài.

Kiến trúc phản xạ không cho phép hoặc không thuận lợi cho việc học tự động và

tối ưu hoá tác tử dựa trên kinh nghiệm.


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

Hành vi cùa tác được tống hợp từ những hành vi đơn giàn và phụ thuộc vào môi
trường cụ thể. Do vậy, để thiết kế tác từ có hành vi mong muốn cần hình dung được các
hành vi đơn giản kết hợp với nhau thế nào và tạo ra hành vi tổng hợp ra sao trong m ôi
trường cụ thể. Việc dự đoán tương tác giữa các hành vi đơn giản trong môi trường thường
phức tạp và không thể giải quyết theo một quy trình cho trước. Do vậy việc thiết kế thường
tốn thời gian cho việc lựa chọn và hiệu chinh.

Mặc dù có thể tạo ra tác tứ tương đối dễ dàng trong trường hợp số môđun (số hành
vi) tương đối nhỏ, việc tạo ra tác tử có số lượng môđun hành vi lớn rất phức tạp.

4.2 T ác tử hành động có chủ định

Suy diễn thực tế

Ớ phần trước ta đẫ xem xét mô hình tác tử có cơ chế ra quyết định được thực hiện

nhờ suy diễn lôgic. Một trong những đặc điềm cùa mô hình này là tác từ có mục đích không
thay đổi trong suốt vòng đời và được ngầm định trong luật suy diễn. Trên thực tế, khi gặp
những môi trường và nhiệm vụ phức tạp hơn, quá trình suy diễn và ra quyết định sẽ hoàn

toàn khác. Thứ nhất, do môi trường thường xuyên thay đồi hoặc do khả năng tác tử bị hạn
chế, tác tử có thể thay đồi mục tiêu hay nhiệm vụ trong vòng đời cùa mình. T hứ haì, sau khi
lựa chọn được mục tiêu, tác tử phài có kế hoạch hành động cụ thể để đạt được mục tiêu đó.

Quá trình ra quyết định, như vậy, sẽ bao gồm hai phần: phần thứ nhất trà lời câu
hỏi làm g ì , nhiệm vụ cùa phần này là quyết định trạng thái cần đạt được; phần thứ hai trà
lời câu hỏi lùm n h u thé nùu đẻ đạt đu ực trạng lliái đa chọn. Quá trình trù lìri câu hỏi lùm gỉ
được gọi là cân nhắc (deliberation) hay còn gọi là suy diễn về mục tiêu, quá trình trà lời

câu hỏi làm thế nào thường được gọi là lập kế hoạch (planning) hay còn có tên gọi khác là

suy diễn phư ơng tiện-m ục đích (means-ends reasoning). Tên gọi thứ hai phán ánh bàn chất
quá trinh suy diễn: suy diễn về phương tiện để đạt được mục đích. Toàn bộ quá trình suy
diễn bao với hai phần như trên được gọi chung là suy diễn thực tế (pratical reasoning).

Mục tiêu còn có các tên gọi khác n h ư /' định hoặc chù định (intention).

Suy diễn thực tế là hình thức suy diễn thường gặp trong đời sống hàng ngày cùa
con người. Vào buồi sáng chủ nhật, nếu trời đẹp, một người có thể chọn mục tiêu (có chù
Tác tử thông minh 57

định) cho ngày hôm đó là đi càu cá. Để thực hiện chù định này, anh ta phải sáp xếp kế
hoạch hành động như chuẩn bị đồ câu, phương tiện đi lại, lựa chọn thời gian và địa điểm
câu. Ngược lại, nếu trời mưa, người này sẽ có chủ định khác như ở nhà dọn dẹp nhà cửa và
anh ta sẽ lên kế hoạch cho mục tiêu dọn nhà cửa cùa mình.

Trong phần này ta sẽ xem xét việc hình thành chù định, đặc điểm và ảnh hường
cúa chù định tới hành động cũng như những thành phần khác của suy diễn thực tế. Chi tiết
về lập kế hoạch để thực hiện chù định hay mục tiêu sẽ được trình bày trong một tiểu mục
nhò tiếp theo.

Để tim hiểu ánh hường cùa chù định tới quá trình suy diễn thực tế, ta xem xét
phiên bản được đơn giản hoá cùa một trò chơi có tên là Tilevvorld. Tilevvorld bao gồm một
bảng được chia thành các ô vuông như bàn cờ carô, tại mỗi ô có thể xuất hiện ngẫu nhiên
phần thướng. Sau khi xuất hiện, phần thường sẽ tồn tại trong một khoáng thời gian không
biết trước gọi là vòng đời rồi biến mất, cùng một lúc trên bàn cờ có thể có nhiều phần
thưởng với giá trị khác nhau. Một tác tử có thể di chuyển trong các ô theo chiều ngang hoặc
chiều dọc nhưng không thể di chuyển theo đường chéo và không đi ra ngoài giới hạn bàng.
Nếu tác tử di chuyển được tới ô có phần thướng trước khi phần thướng biến mất tác từ được
cộng thêm m ột số điểm bằng giá trị phần thường đó. Mục đích tổng thể cùa tác tử là cực đại
hoá số điểm cùa mình bằng cách lấy được tối đa số lượng phần thưởng. Suy diễn thực tế khi
đó là quá trình quyết định xem tác từ sẽ lấy phần thưởng ớ ô nào (chù định hay mục tiêu) và

di chuyển thế nào để tới được ô đó (lập kế hoạch).

Quá trình quyết đjnh thường bầt đầu từ việc xây dựng hình dung về môi trường và
xác định những lựa chọn có thể. Hình dung cùa tác từ về môi trường được gọi là niềm tin.

N iềm tin (belief). Niềm tin là hình dung cùa tác từ về môi trường xung quanh.
Hình dung này có thể không đầy đũ hoặc không trùng với những gì có thật trong thực tế
(chinh vì vậy nó được gọi là niềm tin - tác tử “tin” ràng môi trường đúng như trong hình
đung của mình). Niềm tin có thể thay đổi khi tác tử có những càm nhận mới về môi trường.
Niềm tin được biểu diễn bởi một cấu trúc thông tin và tạo thành trạng thái bên trong của tác
tử. Việc biểu diễn thông tin về môi trường thông qua niềm tin là rất quan trọng do hai
nguyên nhân sau. Thứ nhất, môi trường luôn thay đồi, cần lưu lại trạng thái hoặc sự kiện
58 Tác tử - Công nghệ phần mềm hướng tác từ

trong quá khứ, trong khi đó càm nhận cùa tác từ về môi trường tại mỗi thời điểm m ang tính
cục bộ, tác từ cần xây dựng hình dung về môi trường dằn dần từ thông tin cục bộ đó. Thứ
hai, việc lưu lại các thông tin hiệu quả hơn là tính toán cảc thông tin đó từ các thông tin
đang có.

Trong ví dụ Tileworld, niềm tin là hình dung cùa tác tử về trạng thái bàn cờ bao
gồm: vị trí tác tử, vị trí phần thướng trên bàn cờ, thời gian xuất hiện phần thưởng (thời gian
xuất hiện phần thưởng sẽ ảnh hường đến lựa chọn cùa tác tử vì theo nguyên tắc chung, phần

thưởng xuất hiện trước sẽ biến mất trước).

Với niềm tin có được về môi trường, tác từ xác định một số lựa chọn hay m ột số
trạng thái m à tác tử m ong m uốn đạt được. Lựa chọn trong ví dụ Tilevvorld là những phần
thưởng đang có trên bàn cờ. Trong một số mô hình suy diễn thực tế, lựa chọn được gọi là

m ong muốn.

M ong m u ố n (desire). M ong muốn có nghĩa gần giống như mục tiêu (goat). Mong
muốn là những lựa chọn có thể có cho tác từ và được sinh ra từ niềm tin của tác từ. Mong
muốn có thể mâu thuẫn với nhau. Chẳng hạn, tác từ có thể có mong m uốn lấy được hai
phần thưởng từ hai ô nằm gần hai góc đối diện nhau trên bàn cờ. Rõ ràng, để lấy phần
thường này, tác từ phải di chuyền về hướng ngược với phần thường kia, do vậy m ong muốn

lấy hai phần thường là mâu thuẫn.

Sau khi xác định các m ong muốn, tác tử cần lựa chọn trong số đó và chuyên tâm
vào một số mong muốn. Những mong muốn đirợc lựa chọn trả thành chú định cùa tác từ

C hú địnlt (intention). Chủ định đóng vai trò trung tâm trong suy diễn thực tế. Chù

định quyết định hành động và kế hoạch tiếp theo, chù định giới hạn phạm vi suy diễn của
tác từ, chù định ảnh hưởng tới niềm tin cùa tác từ. Ta hãy xem xét kỹ đặc điểm và vai trò

của chủ định.

Chù định dan dắt hành động. Đặc điểm quan trọng nhất cùa chù định là khà năng
dẫn tới hành động. Nếu tác từ chọn được phần thướng đề lấy, bước tiếp theo sẽ là tìm cách
hành động để thực hiện chủ định. Cụ thể, tác từ tìm cách di chuyển về phía ô chứa phần
thưởng đó. Không chi hành động, tác tử còn có những n ỗ lực nhất định để đạt được chù
Tác tử thõng minh 59

định. Lấy một ví dụ khác. Một người có chù định đi đến chỗ làm việc. Giả sừ anh ta không
thực hiện được chù định bằng cách đi xe buýt (chẳng hạn do lỡ chuyến), anh ta sẽ không từ
bò chù định cùa mình mà sẽ cố gắng thực hiện bàng cách khác, chẳng hạn sử dụng xe máy
hoặc cố chờ chuyến xe buýt sau. Do ví dụ Tileworld tương đối đơn giàn, ta không thấy rõ
khía cạnh này cùa chù định.

Chù định giới hạn phạm vi suy lính. Sau khi đã có chù định, các suy tính, cân nhắc
và mong muốn tiếp theo (để hình thành chủ định khác) sẽ bị hạn chế. Trong ví dụ
TileWorld nếu tác tử đã có chù định lấy một phần thường nào đó, tác từ sẽ không để ý đến
những lựa chọn mầu thuẫn với chú định này. Chẳng hạn, tác từ không quan tâm tới những
phần thưởng nằm ờ hướng ngược với hướng cùa phần thướng đã chọn. Hai phương án đó
loại trừ lẫn nhau. Trong khi đó, tác tử vẫn có thể xem xét các phương án không bị loại trừ
bới chù định như quyết định lấy thêm phần thướng khác nằm cùng hướng với phần thưởng

đã chọn.

Chù định ánh hướng tới niềm Un. Nếu có chú định lấy một phần thường nào đó,
tác từ cần tin ràng minh sẽ lấy được phần thưởng đó. Nếu tác từ hoàn toàn không tin rằng
mình sẽ lấy được phần thường thì việc di chuyển về phía phần thường là không hợp lý. N hư
vậy, sau khi đã chọn được chú định, ít nhất tác từ phái tin ràng mình có cơ hội thực hiện
được chú định. Niềm tin này là hình dung về tương lai và là cơ sở cho quá trình suy diễn

thực tế tiếp theo.

Chú định phái lương đối bền vững. Để có thể thực hiện chú định, tác từ cần trung
thành với chù định đó trong một thời gian đù dài. Điều này có nghĩa là tác từ phài có nố lực
thích đáng đề thực hiện mục đích trong một khoảng thời gian nào đó. Nếu tác tử chọn một

phần thưởng, sau đó lại bò ngay chù định này thì tác tử sẽ không bao giờ lấy được phần
thướng nào cà. Ngược lại, tác từ cũng không thể trung thành với chù định của minh quá lâu.
Chẳng hạn, tác từ đã có chù định lấy một phần thường và hành động để lấy phần thưởng
này. Tuy nhiên, phần thưởng đã chọn nằm ở xa và đã xuất hiện lâu, xác suất phần thường
biến mất trước khi tác tử tới nơi là tương đối lớn, trong khi đó có những phần thường khác
mới xuất hiện, và như vậy có thể trờ thành mục tiêu mới hấp dẫn hơn. Khi đó tác từ có thể

xem xét lại chủ định, từ bỏ kế hoạch lấy phần thưởng đã chọn và theo đuổi một phần
60 Tác tử - Công nghệ phần mềm hướng tác tử

thưởng khác trong số phần thướng mới xuất hiện, v ấ n đề này sẽ được đề cập chi tiết hon
trong một tiểu mục sau.

Để minh hoạ cho việc sinh ra mong muốn và lựa chọn chù định, một mô hình suy
diễn thực tế là m ô hình BDI sẽ được trinh bày dưới đây.

Kiến trúc BDI

Kiến trúc BDI (viết tắt cùa ba từ b e lie f - desire - intention, tạm dịch là niềm tin,
m ong muốn và chú định) do Michael G eorgeff và Amy Lansky đề xuất khi hai nhà nghiên
cứu này làm việc tại Stanford Research Institute. Đây là mô hình suy diễn thực tế được biết
đến, được sử dụng và được nghiên cứu nhiều nhất. Có nhiều nguyên nhân dẫn đến sự thành
công cùa kiến trúc BDI, trong đó phải kể đến những nguyên nhân sau. Thứ nhất, kiến trúc
BDI là kiến trúc tác từ đầu tiên dựa trên mô hình suy diễn thực tế của con người với các
khái niệm niềm tin, m ong muốn, chủ định như trinh bày ớ phần trước. Thứ hai, kiến trúc
BDI đã được cụ thể hoá với nhiều phiên bàn triển khai và nhiều hệ thống suy dien thú tục
(procedural reasoning system ) trên các ngôn ngữ khác nhau như c + + , Java. Thứ ba, nhiều
ứng dụng sử dụng kiến trúc BDI đă được cài đặt và sứ dụng thành công, trong đó có hệ
thống chẩn đoán lỗi cho tầu con thoi (cùa Mỹ), hệ thống quàn lý quá trình công nghiệp, hệ
thống quản lý công việc. Kiến trúc BD1 cũng được sử dụng trong một ứng dụng nổi tiếng là
Fiệ thống OASIS có chức năng điều khiển không lưu tự động. Hệ thống nồi tiếng do độ

phức tạp và thời gian thừ nghiệm rất dài tại sân bay Sydney mặc dù cho đến nay vẫn không

được đưa vào sừ dụng.

Suy diễn trong tác từ BDI

Trong kiến trúc BDI, niềm tin, mong muốn và chủ định được biểu diễn một cách
tường minh bời các cấu trúc dữ liệu tương ứng. Quá trình suy tính về mục tiêu được thực
hiện nhờ các hàm cập nhật niềm tin, sinh ra mong muốn và lựa chọn chù định. Trong hệ
thống sử dụng kiến trúc BDI không có thù tục lập kế hoạch, thay vào đó, kế hoạch được
xây dựng sẵn từ giai đoạn thiết kế và chứa trong thư viện. Với mỗi chủ đjnh được lựa chọn,
kế hoạch tương ứng được tải từ thư viện để thực hiện.

Quá trình suy diễn thực tế cùa tác tử BDI được biều diễn như trên hình 2.9. Các
Tác tử thông minh 61

thành phần chính trong sơ đồ suy diễn bao gồm:

Hình 2.9 Sơ đồ suy diễn của tác tử BDI [Gerhard 1999],

Tập hợp niềm tin cùa tác tử về môi trường. Niềm tin được biểu diễn bởi hình elip
trên hình vẽ.

Hàm cập nhật niềm tin. Trên cơ sờ thông tin cảm nhận được từ môi trường và
niềm tin hiện tại, hàm cập nhật niềm tin tạo ra tập hợp niềm tin mới.

Hàm sinh lựa chọn. Hàm sinh lựa chọn xác định các lựa chọn (các m ong muốn) có
thể có. Lựa chọn được xác định dựa trên niềm tin hiện thời về môi trường và chủ định hiện

¡hời của tác tử.


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

Tập hợp m ong muốn hiện thời. Tập hợp này xác định các hướng hành động có thể
cho tác từ.

Hàm lọc. Nhiệm vụ cùa hàm là tạo ra chù định cho tác từ dựa trên niềm tin, m ong
muốn và chú định hiện thời.

Tập hợp các chú định hiện thời. Đây là kết quà của hàm lọc. Tập ý định xác định
những trạng thái hoặc mục tiêu mà tác tử cố gẳng đạt.

Hàm thực hiện xác định hành động hoặc kế hoạch (chuỗi hành động) cho phép
thực hiện ý định hiện thời.

Có nhiều cách biểu diễn niềm tin, mong m uốn và chù định. Yêu cầu quan trọng
nhất khi lựa chọn cách biểu diễn là phải cho phép xác định quan hệ nhất quán hoặc mâu
thuẫn trong những cấu trúc đó và giữa những thành phần cùa nhưng. C hẳng hạn, phương
pháp đó phải cho phép xác định một ý định có mâu thuẫn với m ột niềm tin nào đó không.
Lô gic vị từ bậc nhất đã được nhẳc tới trong phần trước thỏa mãn điều kiện này nên có thể
sừ dụng để biểu diễn niềm tin, mong muốn và chù định.

Ta hãy xem xét kỹ hơn một số yêu cầu đối với hàm sinh lựa chọn và hàm lọc.

Hàm sinh lựa chọn phái thoà mãn hai ràng buộc sau. T hứ nhất, lựa chọn sinh ra
(tức là m ong muốn) phải nhất quán (không mâu thuẫn) với niềm tin và ý định cùa tác từ.
Lấy ví dụ sinh viên đi đến trường ở trên. Lựa chọn sừ dụng phương tiện là tầu điện ngầm
k h ô n g n h ấ t q u á n v ớ i n i ề m tin - n iề m tin c ủ a s in h v i ê n b a o g ồ m t h ô n g tin v ỉ ộ t n a m h iệ n
chưa có tầu điện ngầm. Sừ dụng máy bay không nhất quán với ý định đến trường - m áy bay
có thể phù hợp cho ý định đi du lịch chứ không phải ý định đến trường. T hử hai, hàm này
phải đánh giá được thay đổi của môi trường để sinh ra những lựa chọn mới cho phép đạt
được mục đích. Ví dụ, nếu sinh viên phát hiện ra có bạn ờ gần nhà đang chuẩn bị đến
trường bằng xe máy, sinh viên có thể bồ sung lựa chọn sừ dụng chung xe máy với bạn.

Hàm lọc thực hiện quá trình suy tinh cùa tác từ - quyết định làm gì. Hàm lọc cập
nhật tập ý định cùa tác tử dựa trên ý định cũ và niềm tin cùng m ong muốn hiện tại. Hàm lọc

thực hiện hai nhiệm vụ sau. Thứ nhất, hàm này loại bò những ý định không thề đạt được
Tác tử thông minh 63

(do niềm tin thay đổi) hoặc không còn phù hợp. Ví dụ, nếu ý định là sử dụng xe buýt đề đến
trường trong khi chuyến xe buýt cuối cùng cho phép đến trường đúng giờ đã chạy mất hoặc
bỏ bến thi việc thực hiện ý định di xe buýt là không phù hợp nữa. Thứ hai, hàm lọc lựa
chọn những ý định mới từ tập ý định. Ý định được lựa chọn có thể để cụ thể hoá ý định đã
có hoặc để tận dụng những cơ hội mới.

Trong trường hợp đơn giản nhất, các ý định hiện thời có thể được lưu trữ dưới
dạng tập hợp (không có cấu trúc). Tuy nhiên, một số ý định có thể quan trọng hơn những ý
định khác hoặc được tạo ra trước. Khi đó, ý định được gán mức ưu tiên hoặc được lưu trữ
trong ngăn xếp. Ý định có mức ưu tiên cao hơn hoặc nằm gần đinh ngăn xếp hơn được thực

hiện trước.

Ưu điểm chính cùa kiến trúc BDI là trực giác do mô hình và các khái niệm sử
dụng (niềm tin, mong muốn, ý định) gần gũi với hoạt động thực tế của con người. Kiến trúc
BDI cũng cho phép phân chia chức năng một cách rõ ràng giữa các thành phần của tác tử:
tác tử được phân tích thành các môđun với chức năng rõ ràng.

Khó khăn lớn nhất khi sử dụng kiến trúc BDI là việc xây dựng các thành phần
chức năng cụ thể (như hàm lựa chọn, hàm lọc, các cấu trúc niềm tin, mong muốn, chủ

định).

Tính bền vững và khá năng thay đổi chù định

Như đã nói ớ trên, m ột trong những đặc điểm cùa chù định là tính bền vững tương
đối. Khi tác từ đã lựa chọn mộtchù định, tác từ phải cố gắng hành động để thực hiện chù
định này. Ta nói ràng, khi lựa chọn một chù định, tác từ đẫ có cam kết (commitment) đối

với chù định đó.

Vấn đề quan trọng khi xây dựng tác từ suy diễn thực tế là xem xét tính bền vững
cùa cam kết. Trước hết, tác từ phải theo đuổi chủ định khi chủ định đang còn tiềm năng và
kịp thời từ bò cbủ định khi chủ định không còn thích hợp nữa (khi tác từ tin rằng chủ định
không còn thích họp nữa). Chù định trở thành khcng thích họp trong trường hợp tác tử tin
ràng không thể thực hiện được, khi có những chù định khác hợp lý hom, hoặc khi nguyên
nhân dẫn đến chù định không tồn tại nữa. Như vậy, tác tử phải định kỳ đánh giá lại chù
64 Tác tử - Công nghệ phần m ềm hướng tác tử

định cùa m ình. Do việc đánh giá đòi hòi thời gian và tài nguyên tính toán, ta sẽ thấy tình
trạng mâu thuẫn sau:

N ếu tác từ không bao giờ đánh giá lại chù định của m ình, tác tử có thể thực hiện
những chù định không thể thực hiện được hoặc những chù định không còn cần thiết nữa.

N ếu tác từ đánh giá chù định quá thường xuyên, tác tử sẽ mất quá nhiều thời gian
và tài nguyên cần thiết cho việc thực hiện chù định, và do vậy có thể không bao giờ thực

hiện được chù định.

Tác tử với xu hướng thứ nhất gọi là tác tử trơ còn tác từ có xu hướng xem xét lại
chủ định thường xuyên gọi là tác từ thận trọng. Mức độ trơ hay thận trọng được xác định
bởi số hành động mà tác từ thực hiện trước khi xem xét lại chù định.

Rõ ràng cần có sự cân bàng hợp lý giữa hai xu hướng nói trên. Các thực nghiệm

với suy diễn thực tế trong nhiều môi trường khác nhau cho thấy thông số quan trọng nhất

quyết định m ức độ trơ (không đánh giá lại ý định) hoặc thận trọng (luôn đánh giá lại chù

định) là tóc độ thay đổi cùa m ôi trư ờng, ký hiệu y. T rong ví dụ Tilevvorld, Y là tốc độ xuất

hiện và biến m ất cùa các phần thưởng, y càng lớn, phần thường xuất hiện càng thường
xuyên và tồn tại trong thời gian càng ngắn.

N ếu Ỵ nhỏ, hay môi trường thay đổi không thường xuyên, tác tử trơ hiệu quả hơn
tác từ thận trọng. Tác tử thận trọng tốn khá nhiều thời gian vô ích cho việc đánh giá lại chù
định, trong khi tác tử trơ có thể tập trung thời gian thực hiện chù định cùa mình.

N ếu y lớn, tác tử thận trọng có xu hướng hành động hiệu quả hon tác tử trơ. Tác từ

thận trọng có thể phát hiện kịp thời chù định không hiện thực hoặc phát hiện các cơ hội

mới.

Kết quả trên cho thấy, việc lựa chọn chiến lược ra quyết định phụ thuộc nhiều vào
tính chất m ôi trường. Đối với môi trường tĩnh, ít thay đổi, hành động có đích thuần tuý
(chẳng hạn như các phần m ềm chức năng) là hoàn toàn hợp lý. Đối với môi trường động,

hay thay đồi, việc phàn xạ kịp thời bàng cách phá bò cam kết và thay đồi chù định là cần

thiết.
Tác tử thông minh 65

4.3 L ập kế hoạch

Sau khi có chù định hay mục tiêu, bước tiếp theo là lập kế hoạch hành động để đạt
được mục tiêu đó. Phần này sẽ trinh bày một số vấn đề và kỹ thuật liên quan đến việc lập kế
hoạch cho tác tử.

Lập kế hoạch là một kỹ thuật được nghiên cứu nhiều trong khuôn khồ trí tuệ nhân
tạo. Trong m ô hình suy diễn thực tế cùa con người, lập kế hoạch còn được gọi là suy diễn
phương tiện-hành động (m eans-ends reasoning). Đầu vào cùa khối lập kế hoạch là ba thành

phần sau:

Trạng thái xuất phát. Đây là niềm tin cùa tác tử về trạng thái m ôi trường tại thời

điểm bắt đầu lập kế hoạch.

Trạng thái đích, hay m ục tiêu/chù định. Là trạng thái cần đạt được sau khi thực
hiện kế hoạch lập ra. Trạng thái đích chính là mục tiêu hay chù định m à tác từ lựa chọn.

Tập hành động cùa tác từ. Tập hợp này bao gồm tất cả những hành động có thể có

của tác tử.

Để phục vụ cho việc trình bày về lập kế hoạch, trong phần này sẽ sử dụng một ví
dụ kinh điển cùa trí tuệ nhân tạo - bài toán thế giới hình khối (blocks world). Thế giới hlnh
khối bao gồm một số khối hlnh hộp đặt trên mặt bàn2. Khối hình hộp có thể đặt chồng lên
nhau tạo thành các cột. M ột cánh tay robot có khả năng di chuyển hình hộp tới đinh một cột
khác hoặc đặt khối hộp lên mặt bàn. Trong mỗi lần di chuyển, tay robot chi có thể di
chuyển m ột khối hộp duy nhất với điều kiện không có khối nào nằm trên khối được di
chuyển. Yêu cầu cùa bài toán là từ trạng thái xuất phát, lập kế hoạch hành động cho tay

robot để đạt tới trạng thái đích. Trạng thái được cho bởi vị trí của các khối hình hộp. Hình

2.10 minh họa m ột ví dụ thế giới hlnh khối.

Biểu diễn cho bài toán lập kế hoạch

Để phục vụ cho việc lập kế hoạch cần có cách biểu diễn trạng thái, mục đích và

2 Phiên bản phức tạp hơn của thế giới hình khối bao gồm các khối hình hộp và hình chóp.
66 Tác tử - Công nghệ phần mềm hướng tá c t tử

hành động phù hợp. Hệ thống biểu diễn thông dụng nhất cho mục đích này là ngôn n ngữ
STRIPS. STRIPS là một trong những chương trình lập kế hoạch đầu tiên được sừ ‘dựiụng
trong điều khiển robot tại viện nghiên cứu Stanford vào những năm bẩy m ươi. Mặc dù tththuật
toán được sử dụng trong STRIPS không được ưu việt như trong những hệ thống sam n này
nhưng phương pháp biểu diễn sử dụng trong STRIPS rất phù hợp với bài toán lập kế hioạoạch
và được sử dụng rộng rãi cho đến tận ngày nay. N hững nét chính cùa hệ thống S T R IP S 'S có
thể tóm tắt như sau.

Xuất phát Đích

Hình 2.10 Thế giới hình khối.

B iểu diễn trạng th á i và m ụ c đícli. Trạng thái được biểu diễn bởi biểu thức lôgicgic vị
từ bậc nhất tạo thành từ các vị từ, có thể có dấu phù định hoặc không, các hằng số, và cđi được

liên kết bởi dấu và. Sừ dụng những vị từ sau cho vị trí cùa khối:

Trên(bjc) : khối b nằm trên X, trong đó X là khối khác hoặc là mặt bàn

Trên_cùng(b) : khối b nàm trên cùng, ta có thể m ô tả trạng thái xuất phát trên hn hình

2.10 bàng biểu thức

Trẽn_cùng(A)/\Trên(A,B)fi.Trên(B,tìàn)/\Trên_cùng(C )AĨ'rẽn(C ,D )ATrên(D ,[Bi,Bàn)

Để cho gọn, ở đây không sử dụng toán tử phù định mà giả thiết rằng nếu sự kự kiện

nào không có mặt trong biểu thức thì điều ngược lại sẽ đúng, ví dụ do khônjg ng có

Trên_cùng(P) trong biểu thức trên nên ta ngầm hiểu -iTrên_cùng(D ) là đúng.

M ục đích cũng được mô tả tương tự như trạng thái dưới dạng biểu thức logic.

Trên_cùng(A) A7Vért(A,Bàn) A Trên_cùng{D) A7>éfl(D,Bàn) A Trẽn_cùmgùrtg(C)

A7>ê/i(C,B) A7>én(B,Bàn)
Tác từ thông minh 67

Trong ngôn ngữ STRIPS, biểu diễn mục đích có thề chứa các biển, đây là điểm
khác nhau giữa mục đích và trạng thái thông thường.

Biểu diễn clio liànli động. Hành động được biểu diễn bời bốn thành phần sau

Mô tà hành động (Action): trong thuật toán lập kế hoạch, mô tả hành động chi đơn
giản là tên của hành động.

Điều kiện tiên quyết (Pre): danh sách các sự kiện cần thoả mãn trước khi thực hiện
hành động.

Danh sách xoá (Del): danh sách các sự kiện không còn đúng sau khi thực hiện
hành động và do vậy bị xoá khòi trạng thái.

Danh sách thêm vào (Add): danh sách các sự kiện mới xuất hiện sau khi thực hiện
hành động và do vậy cần thêm vào mô tà trạng thái.

Với quy ước này, hành động di chuyển một khối b từ X san g y C huyển(bjcy), trong
đó c ả x và>> đều là một khối hộp được biểu diễn như sau:

(Action: Chuyen(bjc,y),

Pre: Trên(b,x) A Trên_cùng(b) A Trên_cùng(y)

Del: Trên(b,x), Trên_cùng(y)

A d d . T i ê n ( b , y ) , T iỂ n _ e ù iig ( x ) )

4.4 Kiến trú c lai

Trong hai phần trên ta đa xem xét tác tử phàn xạ và tác từ ra quyết định nhờ suy
diễn. Các nghiên cứu về kiến trúc phản xạ cho thấy, kiến trúc này phụ hợp với một số bài
toán nhất định nhưng lại kém hiệu quả trong nhiều trường hợp khác. Trên thực tế, nhiều bài
toán không thể giải quyết hiệu quả nếu chi sử dụng hoặc phản xạ, hoặc suy diễn. Đối với
các những bài toán này, giải pháp thích hợp là kết hợp cả hai phương pháp trên. Kiến trúc

sừ dụng cả phản xạ và suy diễn gọi là kiến trúc lai.

Kiến trúc lai kết hợp cả cơ chế phản xạ lẫn suy diễn để tận dụng các ưu điểm của
68 Tác tử - Công nghệ phần mềm hướng tác từ

hai phương pháp này. Phản xạ cho phép tác từ có thể nhanh chóng lựa chọn hành vi cần
thiết trong các tình huống cần khẩn cấp, trong khi đó suy diễn cho phép tác từ thể hiện tính
chất động và hành động có mục đích. Thông thường, hệ thống với kiến trúc lai được tố
chức thành m ột số m ôđun phần mềm gọi là lớp (kiến trúc lai do vậy còn được gọi là kiến
trúc phán lớp). Để đảm bảo cả khả năng phàn xạ và suy diễn, số lớp ít nhất phải là hai - m ột
lớp cho phép tác từ phàn xạ và m ột lóp cho phép suy diễn. Có hai cách sắp xếp lớp: theo
chiểu dọc và theo chiều ngang. Theo cách sắp xếp thứ nhất, chi có một lớp được nối trực
tiếp với cơ quan cảm nhận và tác động, thông tin được chuyền từ lớp nọ sang lóp kia. T heo
cách sẩp xếp thứ hai, tất cả các lớp đều được nối trực tiếp với cơ quan cảm nhận và tác
động. Sơ đồ kiến trúc phân lớp theo chiều ngang và theo chiều dọc được minh họa tương
ứng trên hình 2 .1 1(a) và 2 .1 1(b) cùng với sơ đồ lưu chuyển thông tin điều khiển giữa các

lớp [Jennings 1998].

Lóp n

Lớp 2

Lớp 1 \í

càm nhận tác động

(a) phân lớp ngang (b) phân lớp dọc

Hinh 2.11 Kiến trúc lai (phàn lớp).

Tương tự như với kiến trúc gộp, các lớp được phân cấp, mỗi lớp xử lý thông tin ờ
một mức độ trừu tượng khác nhau. Mô hình tiêu biểu thường bao gồm ba lớp có chức năng

như sau.

Lớp thấp nhất trong phân cấp là lớp phản xạ. Lóp này ra quyết định về hành động
dựa trên dữ liệu thô từ c ơ quan cảm nhận đưa vào. Lớp phản xạ có thể được xây dựng như

một kiến trúc gộp trình bày ớ trên.

Lớp giữa là lớp suy diễn và đòi hỏi thông tin ớ mức trừu tuợng hơn, tức là thồng
Tác từ thông minh 69

tin đã được biến đổi về dạng biểu tượng. Lớp này thường sử đụng kỹ thuật suy diễn và lập
kế hoạch.

Lớp trên cùng cho phép tấc từ lựa chọn hành động có liên quan tới tính chất cộng
đồng của môi trường trong trường hợp nhiều tác từ cùng tồn tại. Lớp này lưu thông tin về
những tác tử khác và sừ dụng những kỹ thuật sẽ trình bày ờ các chương sau.

Kết hợp kết quà ra quyết định cùa từng lớp cho phép tạo ra hành động tổng thể cũa
tác tử. Việc phân chia chức năng lớp và cách thức tương tác giữa các lớp phụ thuộc vào
kiến trúc cụ thể. Trong phần này, hai kiến trúc lai tiêu biểu INTERRAP và
TOURINGM ACHINES sẽ được mô tả và phân tích. INTERRAP đại diện cho họ kiến trúc
lai trong đó dòng thông tin đi lần lượt qua các lớp. Trong khi đó TOURINGM ACHINES
cho phép thông tin đi song song qua các lớp, mỗi lớp đều được nối với bộ phận cảm nhận

và tác động.

TOURINGM ACHINE

Kiến trúc TOURINGMACH1NE bao gồm ba lớp có tên gọi lớp sinh hành động
như minh họa trên hình 2.12. Cà ba Iófp đều được nối trực tiếp với cơ quan cảm nhận và cơ
quan tác động cùa tác từ. Mỗi lớp có nhiệm vụ sinh ra đề xuất về hành động mà tác từ cần

thực hiện.

Hình 2.12 Kiến trúc TOURING MACHINE.


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

Mặc dù vè bề ngoài tương đối giống với kiến trúc gộp, TOURIN GM A CHINE
khác kiến trúc gộp ở chỗ các lớp ờ đây có khả năng ra quyết định khác nhau, trong đó chỉ
có lớp dưới cùng làm nhiệm vụ phàn xạ (trong kiến trúc gộp, tất cả các lớp đều là các lớp
phản xạ). Chức năng cụ thể cùa từng lớp như sau.

Lớp phàn xạ có nhiệm vụ đáp ứng nhanh chóng với những thay đổi của môi
trường. Để có thể phản xạ nhanh chóng, lớp này được cài đặt dưới dạng các “luật tình
huống — hành động” như trong kiến trúc gộp. Các luật này ánh xạ trục tiếp thông tin từ bộ
phận cảm nhận thành hành động đầu ra. TOURINGMACHINE được mô phỏng như hệ
thống điều khiển các tác tử - xe tự hành chạy trên đường phố với nhiều tác từ tương tự.
Nhiệm vụ cùa lớp phản xạ là điểu khiển tác từ tránh vật cản kịp Ihời. Ví dụ luật tránh Via hè
được xây dựng như sau:

rule-1: tránh-via_hè
if
nằm tnjớc(Vìa_hè, Xe) and
tôc độ (Xe) > 0 and
khoàng_cách(Vìa_hè, Xe) < KhoàngCáchAnToàn
then
______________________________đổi-hưởnn(M ộtGócChoTrước)_____________

Luật trên được kích hoạt khi vỉa hè nằm trước xe, cách xe một khoảng đù gần xe

đang chuyển động, đ ổ i - h ư ó n g (...) là hành động được đề xuất trong trường hợp này.

Luật cùa lớp phàn xạ không cho phép suy diễn trực tiếp cũng như không cho phép cập nhật
mô hình về môi trường.

Lớp lập kế hoạch đảm bảo tác từ hành động chù động và có mục đích. Lớp này
quyết định hoạt động thường xuyên cùa tác từ - tác từ phái làm gì khi không có tình huống
gì đặc biệt. Khác với các kỹ thuật lập kế hoạch thông thường, bộ phận lập kế hoạch cùa
TOURINGM ACHINE lưu trữ một thư viện những kế hoạch mẫu gọi là sơ đồ hành động
(schemas). Sơ đồ là kế hoạch hành động không chi tiết và có cấu trúc phân cấp. Chẳng hạn,
sơ đồ mức trên bao gồm các mục tiêu nhò hơn. Mục tiêu nhò này có thể đạt được bằng cách
sừ dụng sơ đồ mức dưới. Để xây dựng kế hoạch hành động chi tiết cho một mục tiêu nào
đó, bộ phận lập kế hoạch tìm sơ đồ phù hợp với mục tiêu này. Nếu sơ đồ bao gồm những
mục tiêu nhó hon, lớp lập kế hoạch sẽ tiếp tục tìm kiếm sơ đồ mức dưới cho phép đạt được

các mục tiêu đó.


Tác tử thõng minh 71

Nhiệm vụ của lớp mô hình hoá là biểu diễn các thực thể trong môi trường. Thực
thể do lớp mô hinh hoá lưu giữ bao gồm bàn thân tác tử và các tác từ khác. Việc mô hình
hoá như vậy cho phép phát hiện mâu thuẫn giữa các thực thể và sinh ra các mục tiêu cần đạt
được để giài quyết các mâu thuẫn đó. Mục tiêu do lớp mô hình hoá sinh ra sẽ được chuyển
xuống lớp lập kế hoạch để thực hiện.

Ngoài ba iớp chức năng như trên, TOURINGM ACHINE còn có môđun điều
khiển. Môđun điều khiển quyết định lớp nào sẽ ảnh hường tới hành động cùa tác từ. Việc
lựa chọn được thực hiện nhờ cấc luật điếu khiển. Luật điều khiền có thể ngăn chặn thông
tin từ bộ phận cám nhận đến các lớp chức năng hoặc kiểm duyệt và ngăn chặn hành động
do các lớp đưa ra. Luật kiểm duyệt và ngăn chặn có thể có dạng dau:

rule-kiểm _duyệt-l:

if
vật_thề(vật_càn-6) trong bộ_càm_nhận
then

xoá-thôngtin-đầuvào(lớp_phảnxạ,vật_thể(vật_càn-6))

Luật này kiểm tra thông tin về vật cản cảm nhận được, nếu đó được nhận biết là
vật càn thuộc loại 6 thì không cho thông tin này tới được lớp phản xạ. Như vậy, luật này
ngăn cản lớp phản xạ nhận thông tin về vật càn số 6 và ra hành động tránh vật càn đó. Ý
nghĩa luật này như sau: mặc dù lớp phản xạ cho phép hành động phù hợp khi gặp vật cản,
có một số vật càn cần được xử lý bời những lớp khác phù họp han.

INTERRAP

Khác với TOURINGM ACHINE, trong kiến trúc ÌNTERRAP thông tin di chuyển
giữa các lớp, chi có lớp dưới cùng được nối trực tiếp với cơ quan cám nhận và tác động
thông qua một giao diện - xem hình 2.13.

Kiến trúc INTERRAP bao gồm ba lớp điều khiển có chức năng tương đối giống
với ba lớp của TOURINGMACHINE. Lớp dưới cùng - lớp hành vi- cho phép tác từ phản
xạ. Lóp giữa - lớp lập kế hoạch - chịu trách nhiệm lập kế hoạch để đạt được mục tiêu của
tác từ. Lớp trên cùng - lớp hợp tác - đàm bảo cho tác tử khả năng hành động cộng đồng

(tương tác với tác từ khác).


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

Khác với TOURINGM ACHINE, mỗi lớp cùa INTERRAP được trang bị một cơ
sở tri thức. C ơ sở tri thức chứa mô hình về môi trường xung quanh cần thiết cho hoạt động
của lớp điều khiển tương ứng. Cụ thể, cơ sơ tri thức cho lớp trên cùng bao gồm hình dung
về các tác tử khác; cơ sờ tri thức mức giữa biểu diễn kế hoạch và hành động cùa bản thân
tác tử (còn gọi là kiến thức cục bộ); cơ sờ tri thức mức dưới cùng chứa thông tin “thô” về
môi trường.

Khác nhau căn bàn nhất giữa INTERRAP và TO U RIN GM A CHINE thể hiện ở
cách các lớp tưcmg tác với nhau và với môi trường. Do ba lớp của TO U RIN G M A CH IN E
đều được nối trực tiếp với bộ phận cảm nhận và tác động, hệ thống phài sừ dụng thêm
môđun điều khiển để giải quyết mâu thuẫn giữa các lớp này. T rong trường hợp
INTERRAP, các lóp tự tương tác với nhau để quyết định đầu ra. Có hai kiểu tương tác là
kích hoạt dưới lèn (bottom -up activation) và thực hiện trên xuổng (top-down executiorì)
được thể hiện bằng các mũi tên đi lên và đi xuống giữa các lớp như trên hình vẽ. Kích hoạt
dưới lên là quá trình lớp dưới chuyển thông tin điều khiển lên lớp trên do lớp dưới không
có khả năng xử lý tình huống hiện thời. Thực hiện trên xuống được sử dụng khi lớp trên sử

dụng khả năng của lớp dưới để đạt đuợc mục tiêu của mình.

Hình 2.13 Kiến trúc lai INTERRAP.


Tác tử thông minh 73

Thông tin điều khiển di chuyển giữa các lớp như sau. Trước tiên, thông tin từ cơ
quan cảm nhận được chuyển cho lớp phàn xạ. Nếu lớp phản xạ có thể xừ lý tình huống
nhận được, lớp này sẽ chọn hành động thích hợp và chuyển cho cơ quan tác động thực hiện.
Trong trường hợp ngược lại, thông tin được chuyển lẽn lớp lập kế hoạch cục bộ nhờ quá
trinh kích hoạt dưới lên. Nếu tình huống nhận được nằm trong khả năng xử lý cùa lớp lập
kế hoạch, lớp này sẽ tiến hành xử lý. Thông thường, đề xử lý, lớp lập kế hoạch sử dụng khà
năng thực hiện trên xuống. Cuối cùng, kích hoạt dưới lẽn được sử dụng đề chuyển thông tin
cho lớp hợp tác khi tinh huống năm ngoài khả năng lớp lập kế hoạch.

Nhìn từ bên trong, mỗi lớp cần thực hiện hai chức năng chinh. Chức năng thứ nhất
là nhận dạng tinh huống và xác định mục tiêu. Chức năng này cho sử dụng cơ sờ tri thức
tương ứng để ánh xạ mục tiêu hiện thời thành các mục tiêu mới. Chức năng thứ hai là lên
kế hoạch và lập lịch. Dựa trên mục tiêu, kế hoạch hiện thời và cơ sớ tri thức, chức năng này
cho phép lựa chọn kế hoạch phù hợp.

Với các lớp được thiết kế với khả năng ra quyết định phản xạ, chù động và cộng
đồng, kiến trúc lai cho phép xây dựng tác tử có đầy đù ba đặc trưng quan trọng này. Kiến
trúc lai cho phép phân chia chức năng tương đối đơn giản và tự nhiên giữa các thành phần
cùa hệ thống. Chính nhờ ưu điểm đó, kiến trúc lai là kiến trúc tồng quát được sừ dụng phổ

biến nhất hiện nay.

Một vấn đề cần quan tâm khi sứ dụng kiến trúc lai là tương tác giữa các lớp. Trong
trường hợp TOURINGM ACHINE, mỗi lớp có thể sinh ra hành động một cách độc lập. Do
vậy cần xác định các tồ hợp hành động có thể có khi thiết kế môđun điều khiến, s ố lượng tố
họp này có thể lớn và phức tạp. INTERRAP cho phép tránh được nhược điềm này.
CHƯƠNG 3

Tưcmg tác trong hệ đa tác tử

Trong chương 2, chúng ta đã xem xét vấn đề ra quyết định và kiến trúc chù yếu cho
tác từ riêng lé, tức là tác từ được thiết kế để hoạt động một mình, không có tương tác với
tác từ khác. Trong chương này, ta sẽ xem xét việc ra quyết định cho hệ đa tác từ, trong đó
nhiều tác tử tồn tại đồng thời và tương tác với nhau.

Các kỳ thuật ra quyết định cho hệ đa tác từ trình bày trong chuơng này được xây
dựng trên cơ sờ Lý thuyết trò chơi. Khới đầu từ nghiên cứu về những quan hệ kinh tế, lý
thuyết trò chơi sau đó đã được phát triển thành một môn khoa học với cơ sỡ toán học chật
76 Tác từ - Công nghệ phần mềm hướng tác tử

chẽ và có nhiều ứng dụng khác nhau. Đối với hệ đa tác tử, lý thuyết trò chơi cung cấp nhiều
công cụ lý thuyết cho phép phân tích hành vi tác tử trong quá trình cùng tồn tại và tương
tác.

Hệ tác tử được đề cập tới trong chương này được hình thành từ các tác lứ lư lợi
(,self-interested), tức là tác tử hành động vì mục tiêu và lợi ích riêng cùa m inh, có thể mẫu
thuẫn với tác từ khác trong hệ thống. Mặc dù nhiều kết quà cùa lý thuyết trò chơi được sừ
dụng cà cho tác tứ cộng tác, tức là tác lừ hành độrm vì mục tiêu chung, việc phân tích hành
vi cùa hệ tác từ không đòi hỏi tác tử phải cộng tấc. Sự tương tác trong hệ tác từ chì được
xây dựng dựa trên hai điều kiện: thứ nhất, tác từ hành động có lý trí, tức là quyết định cùa
từng tác từ phài tối ưu hoá hàm mục tiêu cúa tác tử đó; thứ hai, tác tử hành động có chiến
lược, tức là khi ra quyết định, tác từ có tính tới hành động cùa tác từ khác trong hệ thống.

Nội dung chương có thể chia thành hai phần chinh, phần thứ nhất trinh bày về tương
tác giữa các tác tử lừ góc độ lý thuyết trò chơi; phần thứ hai trinh bày về xây dụng cơ chế
tương tác và một số hình thức ra quyết định cụ thể như đấu giá, thương lượng, biểu quyết.

1 HỆ TÁC T ử VÀ TRÒ CHƠI CHIÉN LƯỢC


Để phân tích quá trình ra quyết định cho hệ tác từ, các tác tử trong hệ thống đuợc
xem xét như những thành viên tham gia vào một trò chơi. Tuỳ theo cách tác từ ra quyết
định khi chơi, ta có thề phân biệt hai kiểu trò chơi khác nhau. Trò chơi chiến lược là trò
chơi trong đó tác từ ra quyết định (lựa chọn chiến lược hành động) một lần duy nhất khi bắt
đầu chơi, sau đó các tác từ hành động đồng thời nhưng không thay đồi chiến lược của mình
nữa. Trò chơi m ở rộng là trò chơi trong đó tác tử có thế thay đối chiến luợc trong thời gian
chơi. Để đơn giản, ờ đây ta chi sứ dụng trò chơi chiến lược như mô hình tương tác giữa các

tác từ trong m ột hệ thống.

1.1 Trò choi chiến luọc


Giả sừ có n tác từ (n > I) cùng tồn tại và hành động. Trò chơi chiến lược giữa n tác

từ được mô tả như sau.

• Mỗi tác tử / có thể lựa chọn một hành động a, trong tập họp các hành động họp
lệ A, của mình. Hành động cùa cà hệ thống được xác định bời vectơ (a u a2,
Tương tác trong hệ đa tác tử 77

a„) tạo thành từ hành động riêng rẽ cùa từng tác từ và được gọi là hành động
chung. Ký hiệu hành động chung cùa tác từ là u.

• Hành động chung « cùa tác tử dẫn đến kết quả n ( ũ có thể là trạng thái mới
mà môi trường chuyển sang sau khi các tác tử thực hiện hành động chung à).
M ỗi kết quả hay trạng thái có một giá trị nào đó đối với tác từ, có thể tốt hay
không tốt, tốt nhiều hay tốt ít. Ta nói rằng mỗi kết quả có một lợi ích cho tác

tử và sử dụng m ột hàm đánh giá Q ,(íĩ) để đánh giá lợi ích cùa kết quả n đối

với tác tử /. Hàm đánh giá cùa từng tác từ có thể không giống nhau. Do n là

kết quả cùa việc thực hiện hành động a, thay vì sử dụng Q„ ta có thể sừ dụng

u,(a) 3 Hàm II,(a) cho phép đánh giá trực tiếp lợi ích mà hành động a

đem lại cho tác từ í và được gọi là hàm thướng. Đề đon giản, hàm thưởng được
xác định từ trước cho mỗi hành động chung và không thay đổi trong suốt quá
trình chơi.

• Mỗi tác tử chi được lựa chọn một hành động duy nhất khi bắt đầu trò chơi. Tác
tử phái lựa chọn hành động đồng thời và độc lập SO với tác từ khác sao cho
không tác tử nào được biết tác từ khác sẽ hành động như thế nào. Tuy nhiên,
tác từ có đầy đủ thông tin về những tác từ sẽ tham gia vào trò chơi, cùng như
tập các hành động hợp lệ và giá trị hàm thường của tác từ khác.

N hư vậy, trong trò chơi chiến lược, mỗi tác từ thực hiện một hành động duy nhất và
nhận được một phần thưởng. Phần thướng không chi phụ thuộc vào hành động của riêng tác
tử mà phụ thuộc vào hành động chung cùa tất cà tác tử tham gia. Một điêm quan trọng là
tác tử không biết trước hành động của tác tử khác mà chi có thể dự đoán tác từ khác sẽ hành
động thế nào.

Một điều kiện quan trọng khi phần tích trò chơi chiến lược là hành động của tác tử
thoả mân hai yêu cầu sau. T hứ nhất, tác tử tham gia trò chơi hành động có lý trí, tức là cố
găng đạt phần thưởng lớn nhất. Thứ hai, tác từ hành động có chiến lược, tức là có tính đến
ảnh hưởng cùa tác từ khác. Khi đó lời giài của trò chơi là dự đoán về hành động chung và
kết quả m à hành động đó đem lại. Việc tìm ra lời giải cùa trò chơi có giá trị quan trọng vl

nó cho phép dự đoán tác tử sẽ hành động thế nào khi tham gia vào trò chơi.
78 Tác tử - Công nghệ phần mềm hướng tác tử

1.2 Trò chơi với hai tác tử


T rong phần này, các khái niệm về trò chơi chiến lược trình bày ở trên sẽ được minh
họa qua m ột số số ví dụ đơn giản trong đó chi có hai tác tử tham gia trò chơi, mỗi tác tử có
thể lựa chọn một trong hai hành động.

Ví dụ 1: T rò choi hai nguòi tù. (Prisoners’ dilem m a). Trò chơi hai người tù là một
ví dụ thường được sừ dụng trong lý thuyết trò chơi và được phát biểu như sau.

Có hai đối tượng nghi vấn phạm tội bị giam giữ riêng và hỏi cung riêng sao cho
hai đối tượng này không thể liên lạc và thông tin cho nhau. Mỗi đối tượng có thể thú nhận
hoặc không thú nhận hành vi phạm tội. Các khá năng sau có thể xảy ra. 1) Nếu cả hai cùng
thú nhận, mỗi người sẽ bị tù ba năm. 2) Nếu một người thú nhận còn người khi chối tội,
người thú nhận sẽ đuợc thả ngay trong khi người chối tội bị tù bốn năm. 3) Nếu cả hai cùng

không thú nhận, mỗi người sẽ bj tù một năm.

T rong ví dụ này, mỗi tác tử có thể lựa chọn m ột trong hai hành động : thú nhận hoặc
không thú nhận. Tồ hợp hành động riêng cúa hai tác từ, ta được tất cả bốn hành động
chung. G iá trị hàm thường cho bốn hành động chung có thể cho dưới dạng m a trận thướng
như trên hình 3.1. Các dòng cùa ma trận thường tuơng ứng với hành động cùa tác từ thứ
nhất, cột cùa m a trận thường tương ứng với hành động cùa tác từ thứ hai. Mỗi ô của ma trận
chứa giá trị hàm thưởng cho hành động chung tương ứng với ô đó, giá trị thường cùa tác tử
thứ nhất đứng trước dấu phẩy, giá trị thường cho tác từ thứ hai đứng sau dấu phẩy, c ầ n chú
ý, giá trị thưởng cho trong ma trận không phải số lượng năm bị tù m à là số năm giảm được
h ạ n tù , c à n g g i à m đ ư ợ c n h iề u n ă m thì g iá trị h à m t h ư ờ n g c à n g lớ n . V í d ụ , ỏ m a tr ậ n v ớ i giắ
trị 4 , 0 cho thấy nếu tác từ thứ nhất thú nhận trong khi tác từ thứ hai không thú nhận thì tác
tử thứ nhất sẽ nhận giá trị thưởng là 4 (được tha ngay) và tác từ thứ hai nhận giá trị thường

là 0 (bị tù bốn năm).

Không thú nhận Thú nhận

K hông thú nhận 3 ,3 0 ,4

Thú nhận 4 ,0 1, 1

Hình 3.1 Ma trận thường cho trò chơi hai người tù, giả trị thưởng cùa người
thứ nhất đứng trước dấu phẩy trong mỗi <3.
Tương tác trong hệ đa tác tử 79

Câu hỏi đặt ra là mỗi tác từ nên hành động thế nào khi không biết trước hành động
cùa tác từ còn lại. M ột trong những cách trả lời câu hói này là thực hiện suy luận sau. Xét
một tác từ (ví dụ tác tử thứ nhất). Các khà năng hành động và kết quả cho tác từ đó như sau.

Già sừ tác tử không thú nhận. Nếu tác từ còn lại không thú nhận, cả hai sẽ được
thường 3. Neu tác tử còn lại thú nhận, tác tử đang xét sẽ được thưởng 0. Nhir vậy,
kết quà xấu nhất nếu không thú nhận là 0 ( bốn năm tù).

Giả sử thú nhận. Nếu tác tử còn lại thú nhận, cà hai sẽ được thường 1, nếu ngược
lại, tác tử đang xét sẽ được thường 4. Như vậy kết quả xấu nhất nếu thú nhận là 1
(ba năm tù).

Như vậy, nếu tính đến tình huống xấu nhất, chiến lược cho kết quả chấc chán là thú
nhận. Ờ một phần sau, ta sẽ xem xét những phương pháp khác cho phép lựa chọn chiến
lược hành động.

Ví dụ 2: T rò choi cạn h tra n h và trò choi vói tổng bằng không. Trò chơi cạnh
tranh và trò chơi với tổng bằng không là tên chung của một lớp các bài toán trong đó kết
quả có lợi cho một tác tử sẽ là kết quà có hại cho tác từ còn lại và như vậy quyền lợi cùa tác
từ khi tham gia trò chơi là m âu thuẫn với nhau. Lấy ví dụ trò chơi đoán mặt đồng tiền. Hai
tác từ sẽ chọn một trong hai giá trị “ngừa” hoặc “sấp” mà không biết trước người kia chọn
thế nào. Nếu hai giá trị trùng nhau, tác từ thứ nhất phải trả cho tác từ thứ hai một nghìn
đồng. Ngược lại, nếu hai lựa chọn khác nhau, tác tử thứ hai phài trả tác tử thứ nhất một
nghìn đồng. M a trận thưởng cho trò chơi được cho trên hình 3.2.

Sấp Ngừa

Sắp - 1,1 1 ,-1

Ngứa 1 ,-1 -1 , 1

Hlnh 3.2 Ma trận thưởng cho trò chơi với tổng bằng khõng.

Điểm đặc biệt của trò chơi này là tổng giá trị hàm thường của hai tác tử luôn bàng

không «/(a) + u2(a) = 0, Va. N hư vậy việc cố gắng làm lợi cho minh cũng có nghĩa làm hại

cho người cùng chơi. T rò chơi này, do vậy được gọi là trò chơi cạnh tranh toàn phần. Mặc
uù được nghiên cứu nhiều trên lý thuyết, trên thực tế, các tinh huống hoàn toàn cạnh tranh
80 Tác từ - Công nghệ phần mềm hướng tác từ

rất hiếm khi xảy ra do các bên mặc dù đối địch nhau nhưng vẫn có một số lợi ích chung
nhất định.

2 HÀNH ĐỘNG ƯU THÉ VÀ CÂN BÀ N G N ASH


Trong phần trước ta đa xem xét khái niệm trò chơi chiến lược và m ột số ví dụ cụ thể.
Vấn đề đặt ra là dự đoán hành động m à các tác từ có lý trí lựa chọn khi tham gia vào những
trò chơi như vậy, tức là tìm lời giãi cho trò chơi. Phần này sẽ đề cập tới hai giài pháp được
sừ dụng nhiều trong lý thuyết trò chơi.

2.1 Hành động ưu thế


Xét một tác từ tham gia trò chơi đang lựa chọn chiền lược hành động. Rõ ràng, tác
tử sẽ không lựa chọn một hành động a, nếu hành động đó luôn cho kết quà tồi hơn một số
hành động khác bất kể những tác tử còn lại xử sự thế nào. Ví dụ, trong trò chơi hai người
tù, lựa chọn không thú nhận luôn cho kết quả tồi hơn thú nhận bất kể tác từ còn lại hành
động thế nào (tác từ sẽ nhận kết quà 3 và 4 cho không thú nhận và thú nhận nếu tác tứ còn
lại không thú nhận và nhận kết quả 0 và 1 cho không ihú nhận và thú nhận nếu tác từ còn
lại thú nhận)

Nhận xét này cho phép rút gọn tập các hành động tác từ nên lựa chọn và trong một
số trường hợp cho phép tìm ra hành động tốt nhất. Việc loại bó các hành động không nên
lựa chọn dựa trên khái niệm hành động ưu thể (dom inant actions) được định nghĩa dưới

đây.

G ọi a .i lủ h à n h đ ộ n g c h u n g c ú o tất c à tủc t ử t r ừ tá c t ừ t h ứ v à («., , a ,) là h à n h đ ộ n g


chung được tạo thành từ đ./ và hành động a, cùa tác tử i. Hành động có ưu thế được định

nghĩa như sau.

Đ ịnh nghĩa. H ành động a, cùa tác từ i được gọi là ưu th ế hoàn toàn (gọi tất là ưu

thế) so với hành động a 'i cùa cùng tác từ đó nếu u({a.,, ữ,)) > u ((a .,, a V a.,.

Hành động a ’i khi đó được gọi là kém ưu th ế SO với a ,.

Theo định nghĩa này, thú nhận lầ hành động có ưu thế hoàn toàn SO với không thú

nhận trong vi dụ trò chơi hai người tù.


Tương tác trong hệ đa tác tử 81

Như đã già thiết ờ đầu chương, tác từ tham gia trò chơi là tác tử có lý trí, và do vậy
sẽ không lựa chọn hành động kém ưu thế SO với hành động khác. Kết họp với định nghĩa
hành động có ưu thế và kém ưu thế ở trên ta có thể xây dựng thủ tục rút gọn bài toán như

sau.

T hủ tục loại bỏ h à n h động kém U'U thế. Loại bò hành động kém ưu thế được thực
hiện bằng cách lần lượt xem xét lừng hành động cùa từng tác từ. Nếu một hành động là
kém ưu thể SO với hành động khác thì loại bó hành động kém ưu thế. Thù lục này có thể
thực hiện theo bắt c ứ thứ tự nào và không phụ thuộc vào SO lượng hành động bị loại bỏ ở
m ỗi bước. Neu chi có m ột hành động duy nhất còn lại sau khi thực hiện thù tục thì đó là
hành động trội và là lựa chọn duy nhất hợp lý cùa tác từ.

Trong trò chơi hai người tù cho trên hình 3.1, giả sử ta bắt đầu thủ tục loại bò hành
động kém ưu thế từ tác tử thứ nhất. Hành động không thú nhận là hành động kém ưu thế SO
với thú nhận (xem giải thích ờ trên) và do vậy bị loại bó, ma trận chi còn lại dòng thứ hai.
Tiếp tục với tác từ thứ hai, SO sánh hai khà năng thú nhận và không thú nhận, ta có thể bỏ
nốt cột thứ nhất tương ứng với hành động kém ưu thế không thú nhận (nhận giá trị thường
0 so với 1 nếu thú nhận). N hư vậy ma trận chi còn lại một ô tương ứng với hành động
chung (thú nhận, thú nhận), đây chính là lời giải mà thù tục loại bó hành động kém ưu thế

tìm ra.

Trong nhiều trò chơi không tồn tại một hành động ưu thế hoàn toàn SO với hành
động khác. Với những trò chơi như vậy, sau khi loại bỏ hành động kém ưu thế ta vẫn còn
lại n h iề u h à n h đ ộ n g v à k h ô n g rS p h à i c h ọ n h à n h đ ộ n g n à o . X é t tr ò c h ơ i c ó m a trậ n t h ư ờ n g
cho trên hình 3.3. Ta không thể loại bỏ bất cứ hành động nào vì không có hành động nào là

kém ưu thế. Thù tục loại bỏ sẽ cho lời giải là bất cứ hành động nào trong tập hành động ban
đầu. Rõ ràng, lời giải trong trường họp này có độ chính xác không cao.

X Y z

A 1 ,0 1 ,2 0 ,1

D 0 ,3 0 ,1 2 ,2

Hinh 3.3 VI dụ trò chơi không có hành động có ưu thế nhưng có cân bằng
Nash ( A , Y).
82 Tác tử - Công nghệ phần mềm hướng tác tử

Như vậy, ưu điểm của phương pháp loại bỏ hành động kém ưu thế là không đòi hỏi
tác từ quan tâm đến chiến lược cùa tác từ khác. N hược điểm của phương pháp này là không
tìm được lời giải chính xác trong m ột số trường hợp.

2.2 Cân bằng N ash


Trong m ột số trường hợp, việc loại bỏ hành động kém ưu thế không cho phép tìm ra
lời giải chính xác. T rong phần này, ta sẽ xem xét m ột phưong pháp có thể cho lời giải chính
xác hơn, đỏ là phương pháp dựa trên cân bằng N ash (N ash equilibrium). Cân bằng Nash là
một trong những khái niệm quan trọng nhất cùa lý thuyết trò chơi và đóng vai trò quan
trọng khi phân tích tương tác giữa các đa tác từ trong hệ thống.

Ý tưởng cùa cân bằng N ash xuất phát từ nhận xét: khi lựa chọn chiến lược, tác từ
cần quan tâm tới chiến lược cùa các tác tử còn lại và lựa chọn hành động phù hợp nhất với
hành động cùa các tác tử này. Xét ví dụ sau. Khi lái xe trên đường hai chiều, ta cần chọn lái
bên phải hoặc bên trái đường để tránh đâm vào xe đi ngược chiều. Nếu lái xe ờ Việt nam,

lựa chọn hợp lý duy nhất là lái xe ờ phần đường bên phải. Rõ ràng, nếu những người khác
cùng lái về bên phải thì hành động cho kết quả tốt nhất mà ta có thể lựa chọn là cũng lái
sang phải. Đ ây chính là phản ứng hợp lý đối với chiến lược cùa tác tử khác và tạo thành cân

bằng Nash.

Cân bằng N ash được định nghĩa theo hai cách như sau.

Đ ịnh n g h ĩa I. C án bảng N ash là hành động chung a° = (a°., , a°i) sao cho với mọi

lác tứ i ta có Ui (a0. , , a°i) > II, (a°.i, ai), V a, 6 A /.

Theo định nghĩa này, cân bằng Nash là hành động chung m à bất cứ tác từ nào nếu
đơn phương thay đổi cũng sẽ phải nhận kết quà không tốt hơn. Do vậy, tác từ không được

lợi gì nếu đơn phương từ bò cân bằng Nash.

Đ ịnh ngliĩa 2. G ọi B{a.,) là lập hành động cùa lác tử i cho kết quà tốt nhất khi các

tác lừ còn lại lựa chọn hành động a.ị, lức là B,(a.¡) = { a, e A¡ : Ul (a./, a,) > «( (a.„

a '/), V a ’,} . Cán bằng N ash là hành động chung a° sao cho với m ọi tác từ i ta có

a°, 6 B, ( a ° .j)

Trong ví dụ hai người tù, giá trị tập B ị cho tác từ thứ nhất là
Tương tác trong hệ đa tác tử 83

B ị ( K h ô r ìg th ú n h ậ n ) = { T h ú n h ộ n } . Thật vậy, nếu tác từ 2 không thú nhận thì giá trị
hàm thướng của tác tứ 1 là 4 cho thú nhận lớn hơn 3 cho không thú nhận. Tương tự, ta có

B\ ( Thú nhận) = {Thú nhận).

Với tác tử thứ hai ta cũng có

B2 {Không thú nhận} = B2 {Thú nhận} = {Thú nhận}

Như vậy càn bằng N ash là { Thú nhận, Thú nhận}.

Hai định nghĩa trên cùa cân bằng N ash là tương đương nhau. Tuy nhiên định nghĩa 2
nhấn mạnh ý nghĩa của cân bằng N ash như tập hợp các phản ứng tốt nhất cùa mỗi tác tử với
chiến lược cùa những tác từ còn lại.

Khái niệm cân bằng Nash cho phép xác định hành động chung hợp lý của tấc từ.
Khác với thù tục loại bó hành động kém ưu thế trình bày ờ trên, việc sử dụng cân bằng
Nash chi đưa ra điều kiện hành động chung cần thoả mãn mà không chi rõ các bước để tìm
ra hành động đó. Thông thường, cân bàng Nash được xây dựng bằng cách tlm kiếm vét cạn
tức là xem xét toàn bộ hành động chung cho đến khi tim được cân bằng. Phương pháp này
đòi hỏi khối lượng tính toán là hàm mũ cùa số tác tử và do vậy không thể thực hiện đuợc
trong những trường hợp có số lượng tác tử lớn.

So sánh cân băng Nash và hành động có ưu thế. Cân bàng N ash là khái niệm
mạnh hơn hành động có ưu thế. Điểm m ạnh cùa cân bàng N ash thể hiện ờ chỗ trong nhiều
trường họp không tồn tại hành động có ưu thế hoàn toàn, ta vẫn tìm được cân bằng Nash.
Lấy ví dụ trên hình 3.3. N hư đã nói ở trên, ví dụ này không có hành động hoàn toàn ưu thế
trong khi có m ột cân bằng Nash duy nhất là hành động ịA , Y). N goài ra, ưu điểm của cân
bằng Nash SO với hành động có ưu thế còn thể hiện qua hai tính chất sau:

Thù tục loại bỏ hành động kém ưu thế không bao giờ loại bỏ cân bằng Nash nếu

có.

Nếu thù tục loại bò hành động kém ưu thế tìm được m ột hành động chung hoàn
toàn ưu thế duy nhất thì hành động chung này cũng chính là cân bằng Nash của trò

chơi.
84 Tác từ - Công nghệ phàn mềm hướng tác tử

N êu trò chơi có m ột cân bằng N ash duy nhất, đó chính là hành động chung m à các
tác từ lựa chọn và đây cũng là lời giải cho trò chơi. Tuy nhiên, một số trò chơi chiến lược
không có cân bằng N ash trong khi một số trò chơi khác lại có nhiều hơn một cân bàng
Nash. Ví dụ, trò chơi cạnh tranh với ma trận thường ờ hình 3.2 không có cân bằng Nash,
trong khi đó trò chơi lái xe trên đường có hai cân bàng Nash: cán bàng thứ nhất là tất cả
cùng lái xe về bên trái, cân bằng thứ hai là tất cả lái xe về bên phải. Cả hai trường hợp này
đều gầy khó khăn trong việc dự đoán hành động của tác tử.

N ếu cân bằng N ash không tồn tại, ta không thể dự đoán được tác tử hành động thế
nào.

N gược lại, nếu có nhiều cân bàng N ash, rất khó xác định cần đạt được cân bằng
nào. Ví dụ, nếu lái xe ở m ột nước không có luật giao thông, hai lái xe đi ngược

chiều có thể đâm nhau do không biết nên cùng lái về bên phải hay cùng lái về bên

trái.

N goài vấn đề không tồn tại cân bằng duy nhất, m ột khó khăn khác khi sừ dụng cân
bằng Nash là m ột số tác tử có thể tránh hành động theo cân bằng N ash m à phối hợp với
nhau theo m ột cách nào đó. Ví dụ, trong trường hợp hai người tù, nếu hai người có cách
phối hợp với nhau, chảng hạn khi hai người là anh em sinh đôi và có cách tư duy tương tự
nhau thl cả hai có thể chọn hành động chung {K hông thú nhận, Không thú nhận). Hành
động chung này có giá trị thưởng là 3, 3 tức là có tổng thưởng lớn nhất mặc dù không phải
lì cân bằng N ash. Để phân tích các tinh huống như vậy, ta sẽ sử dụng thêm khái niệm hiệu
ạuà P a rd o được trình bày trong một phần sau.

3 TÁC TỬ TƯ LỢI
T rong các ứng dụng thực tế, nhiều hệ thống hình thành từ những tác từ có mục đích

riêng, được thiết kế để đem lại lợi ích lớn nhất cho chù của m inh. Tác từ như vậy gọi là tác

ử tư lợi (self-interested agent). Ví dụ điển hlnh cùa tác tử tư lợi là những tác tử thay mặt
chù tham gia vào chợ ảo hay các phiên đấu giá trực tuyến trên Internet. M ỗi tác tử cần cố
gẳng thực hiện các trao đổi có lợi nhất theo yêu cầu cùa người mà tác tử đại diện.

M ột đặc điểm của các hệ thống như vậy là không tồn tại khái niệm lợi (ch chung,
mỗi thành viên chì quan tâm tới lợi ích cùa riêng mình. Hệ thống thường rất mềm dẻo, có
Tương tác trong hệ đa tác từ 85

tính động cao và được xây dựng bời nhiều người khác nhau. C hẳng hạn, trong chợ ảo, số
lượng tác từ là không cố định, có tác tử mới đến, có tác từ cũ đi, có thể xuất hiện các dạng
tác tử mới.

Trong m ột số trường hợp, lợi ích cùa tác từ hoàn toàn mâu thuẫn nhau như tác từ
tham gia trò chơi với tống bàng không được mô tả ờ phần trước. Tuy nhiên, trong đa số
trường hợp có tồn tại một số lợi ích chung, tác tử có thể thoà thuận để tlm ra hành động
chung có lợi cho tất cà. Trong những trường hợp như vậy, tác tử cần có khả năng thoả
thuận và thống nhất hành động.

Tính chất tư lợi cùa tác từ khiến cho việc xây dựng giao thức tương tác giữa các tác
tứ trớ nên phức tạp. Thứ nhất, các tác tử sẽ chì chấp nhận tương tác theo giao thức nếu điều
đó có lợi cho tác tử. Vì vậy, giao thức cần được thiết kế để khuyến khlch tác tử chấp nhận
tương tác theo thể lệ cùa giao thức. Thứ hai, ngay khi đã chấp nhận tương tác theo giao
thức, tác từ vẫn tìm cách hành động có lợi cho mình, và sẽ tìm cách để thao túng hay lợi
dụng các kẽ hờ cùa giao thức. Ví dụ, nếu quy tắc tương tác yêu cầu tác từ phài cung cấp
thông tin cho đối tác, tác tử có thể từ chối hoặc nói dối nếu điều đó có lợi cho bàn thân.

Do những lý do vừa phân tích, vấn đề quan trọng khi xây dựng hệ tác tử tư lợi là
thiết kế được các giao thức tương tác có khả năng hướng tác tử hành động như m ong muốn.
Giao thức tương tác phải ồn định, tức là không có kẽ hờ để tác tử có thể lợi dụng, đồng thời
phài hợp lý, tức là việc tham gia giao thức sẽ sinh lợi cho tác tử hơn khi không tham gia.
Giao thức tương tác còn được gọi là cơ ché (m echanism ) tương tác và bài toán thiết kế giao
thúc đuục gọi là bài loản thiết ké cư ché (rnec/iunlsrti design). Trong các phàn tìép Iheo cùa
chương, chúng ta sẽ cùng xem xét vấn đề thiết kế cơ chế tương tác dựa trên cứ sở của lý

thuyết trò chơi.

4 CÁC TIÊU CHÍ KHI THIÉT KÉ C ơ CHẾ


Khi thiết kế giao thức tương tác (hai thuật ngữ giao thức và cơ chế sẽ được dùng
tương đương nhau) ta cần đánh giá giao thức tốt hay không tốt, có thoà mãn yêu cầu thiết
kế hay không thoả ir.ãn. Có nhiều tiêu chí đề đánh giá một giac thức tương tác. Tuỳ vào
tình huống cụ thể, giao thức sẽ được lựa chọn trên để tối ưu hoá hay thoà mãn một số tiêu
chí nào đó. Dưới đây là các tiêu chí thường được sử dụng [W eiss 1999].
86 Tác tử - Công nghệ phần mềm hướng tác tử

Đảm báo Ihànli công. Một giao thức được coi là đáp ứng tiêu chí này nếu giao thức
đảm bảo sẽ đạt được kết quả sau m ột thời gian hữu hạn.

L ợ i ích cộng đồng (social welfare). Lợi ích cộng đồng là tồng lợi nhuận hay tiện ích
(utility) mà các tác tử tham gia giao thức nhận được. Tiêu chí này cho phép đánh giá lợi ích
tồng thể cùa nhóm tác từ. Theo tiêu chí này, trong trường hợp có nhiều giao thức, giao thức
dẫn tới kết quả với lợi ích cộng đồng lớn hơn là giao thức tốt hơn. Một khó khăn khi tính
lợi ích cộng đồng là việc chuyển đồi tương đương giữa số đo lợi ích của các tác từ khác
nhau. Cách chuyền đổi được sừ dụng rộng rãi nhất là quy tất cà lợi ích thành tiền. Khi đó,
ích lợi cộng đồng là tổng tiền mà toàn bộ tác từ nhận được.

H iệu quá theo Pareto. Ket quà ũ được gọi là hiệu quà theo Pareto (Pareto

efficient) nếu với mọi kết quả khác, khi ít nhất một tác từ được lợi hơn SO với ũ dẫn đến ít

nhất một tác tử khác bị thiệt hơn SO với o . Nói cách khác, nếu kết quả là không hiệu quả

theo Pareto thì có thể tìm một kết quà thương lượng khác sao cho có ít nhất một tác từ được
lợi hơn trong khi các tác tử khác không bị ảnh hưởng gì. Tương tự như lợi ích cộng đồng,
hiệu quả theo Pareto cho phép tinh giá trị tồng thể cùa kết quà, tuy nhiên, tiêu chí này
không đòi hòi chuyển đổi lợi ích tác tử thành các đại lượng tương đương như đối với lợi ích
cộng đồng. Ngoài ra, các lời giải có lợi ích cộng đồng tối đa là trường hợp riêng cùa lời giài
hiệu quá theo Pareto. Thật vậy, nếu tổng lợi ích cùa toàn bộ tác từ là cực đại thì m ột tác tử
chi có thể tăng lợi ích cùa mình nếu lợi ích cùa tác từ khác giảm đi.

H ợp lý cá nhân (individual rationality). Tham gia vào tương tác là họp lý (có lợi)
đối với cá nhân tác từ nếu lợi ích tác từ nhận được từ kết quá tương tàc lớn hơn hoặc It nhất
là bằng khi không tham gia. Tiêu chí này cỏ ý nghĩa rất quan trọng khi thiết kế giao thức.
Nếu tham gia tương tác không mang lại lợi ích, tác tử tư lợi sẽ không bao giờ tham gia.

Tính ổn địnli. Giao thức được gọi là ổn định hay không bị thao túng nếu giao thức
có khả năng hướng tác từ hành động theo một cách nhất định. Tác từ sẽ hành động theo
cách mà người thiết kế giao thức mong muốn nếu hành động như vậy có lợi cho tác tử hơn

là hành động khác đi.

Hai dạng ổn định được biết tới nhiều nhất dựa trên các khái niệm hành động có ưu
thế và cân bàng Nash đã được đề cập ở trên. Trong nhiều trường họp, ta có thể xây dựng
Tương tác trong hệ đa tác tử 87

giao thức sao cho tồn tại hành động có ưu thế. Khi đó, vì lợi ích của mình, tác từ sẽ lựa
chọn hành động ưu thế và không cần quan tâm tới những tác từ còn lại. Nếu không tồn tại
giao thức với hành động có ưu thế thi khả năng tiếp theo là thiết kế giao thức với cân bằng
Nash. Với giao thức được thiết kế như vậy, tác từ tham gia sẽ lựa chọn chiến lược cho phép
đạt tới cân bằng Nash và không thu được lợi gì nếu phá vỡ cân bằng.

Ở trên, ta đã đề cập tới cân bằng N ash cho trò chơi chiến lược tức là trò chơi với một
phiên hành động duy nhất. Nếu trò chơi có nhiều vòng, cân bằng Nash chi có thể đạt được
ờ vòng đầu tiên. Để giải quyết vấn đề này, khái niệm cân bằng Nash cần được mờ rộng để
đảm bảo tính ổn định cho nhũng vòng chơi tiếp theo.

Đtrit gián. Giao thức thương lượng cần đơn giàn và không đòi hỏi độ phức tạp tinh
toán cao. Có như vậy, tác từ mới dễ dàng chpn được chiến lược phù hợp trong thời gian đù
ngắn. Thông thường, giao thức được thiết kế sao cho thỏa mãn các tiêu chuẩn ở trên. Trong
số các giao thức như vậy, giao thức đơn gián và đòi hòi độ phức tạp tính toán ít hơn sẽ được

chọn.

Phân tán. Giao thức cần được thiết kế sao cho mọi thành viên tham gia có vai trò
như nhau, quá trình tính toán được phân tán trên toàn bộ các nút. Giao thức phân tán cho
phép hệ thống hoạt động ngay cả khi xuất hiện lỗi tại một nút và tránh tắc nghẽn trong
trường hợp sử dụng m ột nút trung tâm. Bên cạnh đó, giao thức cần được thiết kế để giảm
bớt yêu cầu liên lạc giữa những tác tử tham gia.

Như nhiều nghiên cứu đã cho thấy, ngay cả một số giao thức đơn giản cũng đáp ứng
đầy đù các tiêu chí nói trên. T rong các phần tiếp theo, ta sẽ xem xét một số dạng cơ chế tiêu
biểu, được nghiên cứu nhiều và đã có ứng dụng.

5 ĐÂU GIÁ
Đấu giá là một kiều cơ chế tương đối đơn giản và dễ phân tích trong đó một tác tử

đóng vai trò người bán đấu giá và nhiều tác tứ đóng vai trò người trà giá. Đấu giá được tổ
chức sao cho người bán đấu giá bán được mặt hàng cùa minh cho một trong số người trà
giá. Trong tình huống đấu giá thông thường, người bán cố gắng bán mặt hàng đem đấu giá

với giá cao nhất trong khi những người trà giá cố gắng mua mặt hàng với giá thấp nhất.
88 Tác từ - Công nghệ phần mềm hướng tác tử

Trên thực tế, việc đấu giá diễn ra không thường xuyên. Tuy nhiên, từ khi có Internet
và việc nhiều cuộc đấu giá được tiến hành qua m ạng với những site nổi tiếng như eBay
(http:// w w w.ebay.com ) số lượng hàng hoá được bán qua đấu giá đã tăng lên đáng kể. Do
có kịch bàn tương tác rất đơn giàn giữa các bên tham gia, đấu giá có thể dễ dàng được tự
động hoá. Trong khuôn khổ hệ đa tác từ, ngoài việc xây dựng tác tử thay m ặt cho chù khi
đấu giá, cơ chế đấu giá còn được sử dụng như m ột phương pháp phân phối tài nguyên hay
chia sẻ công việc giữa các tác tử.

H àng hoá được đem đấu giá có thể là hàng hoá thực sự như trong trường họp đấu giá
trên eBay, nhưng cũng có thể là một dạng tài nguyên nào đó ví dụ thời gian CPU trong các
hệ thống cân bằng tài (load balancing), băng thông mạng .V .V .. Tài nguyên cũng có thể là
công việc mà hệ thống cần phân phối cho các tác tử như trong cơ chế đấu thầu được trình

bày ở chương sau.

Lý thuyết đấu giá nghiên cứu cơ chế (giao thức) đấu giá và chiến lược mà các bên
tham gia đấu giá sừ dụng. Cụ thể là, bên bán cố gắng xây dựng cơ chế đấu giá cho phép đạt
được giá bán cao nhất trong khi bên mua cần tìm ra chiến lược trà giá phù họp với thể lệ
đấu giá đồng thời cho phép mua được hàng với giá thấp nhất.

5.1 Một số yếu tố liên quan đến đấu giá


Có thể phân loại các kịch bản đấu giá thông qua một số yếu tố sau.

Theo cácli x á c địnli giá trị hùng lioá. Hàng hoá đấu giá có thể có giá trị chung, giá
tri riêng hay giá tri tương Hên. Trong trường họp thứ nhất, giá trị hàng hoá được đánh giá
như nhau đối với tất cả tác tử. Trong trường hợp giá trị riêng, giá trị hàng hoá chi phụ thuộc
vào đánh giá cùa từng tác tử và do vậy cùng một hàng hoá với những tác từ khác nhau sẽ có

giá trị khác nhau. Chẳng hạn khi đấu giá nhẫn vàng nặng một gam. Một gam vàng sẽ có
cùng giá trị bằng giá thị trường (ví dụ 100 ngàn đồng) với bất kỳ một người mua nào. Nếu
ai m ua với giấ hơn 150 ngàn, người đỏ sẽ bị thiệt 50 ngàn. Khi đó, ta nói rằng vàng có giá
trị chung. Giả sử tiếp theo, nhẫn vàng được bán đã từng là sờ hữu cùa một ca sĩ nổi tiếng.
Khi đó, đối với người yêu thích ca sĩ này, chiếc nhẫn đó có thể có giá trị lớn hơn và người
đó sẵn sàng bỏ ra một triệu để mua chiếc nhẫn. Đối với người khác chưa từng nghe đến tên
ca sĩ đó, chiếc nhẫn có thể không có giá trị đến như vậy. Trong trường hợp này, giá trị cùa
Tương tác trong hệ đa tác tử 89

nhẫn là giá trị riêng. Giá trị tương liên được xác định một phần dựa trên đánh giá riêng cùa
tác từ và một phần dựa trẽn đánh giả cùa tác từ khác. Ví dụ, khi một người Việt Nam đi mua
nhà đề ớ, ngoài việc đánh giá ngôi nhà dựa trên ý thích cúa mình, người mua còn cân nhấc
đến giá trị thị trường cùa ngôi nhà (theo đánh giá chung) để có thể bán lại khi cần thiết.

Theo cách x á c đ ịnh giá bán. Giá bán khi kết thúc phiên đấu giá có thể xác định theo
hai cách. Đối với đấu giá sừ dụng giá cao nha/ ựìrsl price auíion), hàng hoá sẽ được bán
cho người trà giá cao nhất theo đúng giá cao nhất mà người đó trả. Đây là loại đấu giá
thường gặp. Theo cách thứ hai, hàng hoá cũng được bán cho người trà giá cao nhất nhưng
người này chi phải trà số tiền bằng giá cao nhi và do vậy có tên đấu giá sử dụng giá cao
nhì. Mặc đù lý do sử dụng giá cao nhì không được hiển nhiên, cơ chế đấu giá này thoả mãn
một số tiêu chí được đề cập trong phần trước.

Theo m ức độ công k h a i thông fill. Việc trà giá cùa những người mua có thể được
công khai hoặc không. N ếu mỗi tác tứ đều biết giá mà tác từ khác trả thi đấu giá được gọi là
công klmi (open cry). T rong trường hợp ngược lại, đấu giá được gọi là trú giá kin (sealed-

bid).

Theo số vòng đấu giá. Đấu giá có thể diễn ra qua một vòng hay nhiều vòng. Trong
trường hợp đơn giàn nhất, mỗi người mua trả giá một lần trong một vòng duy nhất, sau đó
người bán xác định người thắng. Khá năng thứ hai là giá bán được bắt đầu từ mức thấp, sau
đó tăng dần lên qua các vòng trà giá. Kiểu đấu giá này có tên đấu giá lăng dần. Một lựa
chọn khác - đấu giá giám dần - là giá được công bố ờ mức cao nhất, sau đó giảm dần ở các
v ò n g 3QU c h o đ ế n klii c ó n g ư ờ i m u a c h ấ p n h ậ n giá đó.

5.2 Các giao thức đấu giá

5.2.1 Đ ấ u g iá k iể u A n h
Đấu giá kiểu A nh (English auction) là kiểu đấu giá được biết đến nhiều nhất và sử
dụng cơ chế giá cao nhất, công khai, tăng dần. Đấu giá được thực hiện như sau:

• Người bán đấu giá công bố giá khới điểm cho hàng hoá. Đây là giá thấp nhất
và có thề bàng không. Nếu không người mua nào muốn trà giá cao hon (hi
hàng hoá sẽ được trao cho người bán đấu giá với giá bàng giá khởi điểm (trên
thực tế, người này không phải chú hàng hoá).
90 Tác tử - Công nghệ phần m ềm hướng tác từ

• N gười m ua được mời trả giá. G iá phải trả sao cho cao hơn giá giá cao nhất
được trà trước đó. T ất cà người m ua được chứng kiến quá trình trả giá này và
có thể tham gia trả giá nếu muốn.

• N ếu không người m ua nào muốn trà giá cao hơn nữa thì hàng hoá được trao
cho người trà giá cao nhất hiện tại. N gười này phải trả giá bằng giá cao nhất
đó.

Tác tử nên sử dụng chiến lược gì khi tham gia đấu giá kiểu Anh ? Chiến lược có ưu
thế trong trường hợp này là tác tử trà giá cao hơn một chút SO với giá được trà hiện tại. Khi
giá vượt quá giá trị hàng hoá (theo đánh giá riêng cùa tác tử), thì tác tử ngừng trả giá và rút
lui khỏi đấu giá. N hư vậy, giá được trả là hàm cùa ba thông số: dánh giá riêng cùa tác tử về
giá trị hàng hoá, thông tin về đánh giá cùa tác từ khác, và lịch sử những lần trà giá trước.

Do giá chi được tăng từng lượng nhỏ nên đấu giá kiểu Anh thường diễn ra lâu hơn

các kiểu đấu giá khác.

5.2.2 Đâu giá kiều Hà Lan

Đấu g iá kiểu H à Lan (D utch auction) là m ột dạng đấu giá với tinh chất công khai,
giảm dần. Đ ấu giá Hà Lan diễn ra như sau.

• N gười bán đấu giá công bố giá khới điểm cho hàng hoá. Giá khởi điểm được

chọn đặc biệt cao sao cho cao hơn đánh giá cùa tất cả người mua.

• Người bán sau đó giảm dần giá theo từng lượng nhò cho đến khi một nguủi
m ua chấp nhận trả giá bằng giá hiện tại.

• H àng hoá được bán cho người trả giá theo giá hiện tại.

Khác với đấu giá kiểu Anh, đặc điểm của đấu giá kiểu Hà Lan là không tồn tại chiến
lược trội cho người mua. Mỗi người m ua sẽ chấp nhận giá hiện tại nếu giá đó nhỏ hơn hoặc

bằng đánh giá cùa người m ua về giá trị hàng được đấu giá.

5.2.3 Đ ấu giá với giá cao nhất và trả giá kín

Đấu giá với giá cao nhất và trả giá kín là loại đấu giá m ột vòng. Đây là kiểu đấu giá

đơn giản nhất. T rong vòng trả giá duy nhất, mỗi người m ua thông báo với người bán giá mà
Tương tác trong hệ đa tác tử 91

mình trả. Hàng được bán cho người trả giá cao nhất với giá bàng giá người đó trả. N hư vậy,
người mua không có cơ hội trà giá lần thứ hai.

Tác từ cần hành động thế nào khi tham gia đấu thầu kiểu này ? Giả sử mỗi tác tử trà
giá theo đánh giá thực cùa mình, và hàng được bán cho người trà cao nhất. Tuy nhiên, tác
tử tháng cuộc có thể m ua được hàng hoá mà chi cần trà cao hơn giá thứ hai một chút chứ
không cần trả theo đúng đánh giá thực cùa mình. Do vậy, chiến lược tốt nhất cho kiểu đấu
giá này là trà giá thấp hơn giá trị cùa hàng với hy vọng giá đó vẫn cao hơn giá của tác tử
khác. Vấn đề là thấp hơn bao nhiêu. Không có giài pháp chung cho câu hòi này nếu tác tử
không có thông tin về tác tử khác.

5.2.4 Đấu giá Vickrey


Đấu giá Vickrey là đấu giá một vòng với giá cao nhi và trả giá kín. G iống như kiểu
đấu giá trước, đấu giá Vickrey chi có một vòng trà giá, mỗi người m ua trà giá một lần và
không biết người khác trả giá thế nào. Khác với kiều đấu giá trước, hàng được bán cho
người trà giá cao nhất nhưng với giá bàng giá cao nhì. Ví dụ, nếu tác từ a trả giá cao nhất là
9000 đồng, tác tử b trả giá cao nhì là 8000 đồng thì a sẽ được quyền mua hàng đó nhưng
thay vì trả 9000, a chì phải trả 8000 đồng.

Tại sao người m ua lại chi phải trà theo giá cao nhì mà không theo giá cao nhất ? Câu
Irá lời là cơ chế đấu giá này khuyến khích người mua trả giá theo đánh giá thực cùa mình
về hàng hoá. Nói cách khác, chiến lược có ưu thế cùa người m ua trong đấu giá Vickrey với
giá trị riêng là trà giá theo đúng đánh giá hàng hoá cùa mình.

Có thể giải thích đặc điểm này như sau. Giả sử người m ua trả giá cao hơn giá trị
đánh giá và nhờ vậy giành được quyền mua. Khi đó người mua sẽ phải trả giá cao hơn giá
trị thực mà người mua đánh giá hàng. Ví dụ, người mua A đánh giá hàng theo giá trị riêng
của mình là 9000 đồng nhưng trà giá cao hơn thành IÌOOO đồng. G iá cao nhì mà người mua
khác trả là 10000 đồng. A thắng và được quyền mua hàng với giá 10000 đồng. N hư vậy A
thiệt vì phái m ua hàng với giá cao hơn giá mà A đánh giá (9000 đồng).

Ngược lại, già sử người mua trả giá thấp hơn giá trị đánh giá. Khi đó cơ hội tháng là
ít hơn, trong khi nếu tháng, giá mua vẫn không thay đổi. Vi dụ, A đánh giá hàng là 9000
92 Tác từ - Công nghệ phần mềm hướng tác tử

đồng nhưng trả giá thấp hơn thành 8500 đồng. Nếu A có thắng thì A vẫn không được mua
với giá 8500 mà phải mua theo gìá cao nhi do người khác trà.

Như vậy đấu giá Vickrey là cơ chế đàm bào điều kiện không bị thao túng. Cơ chế
đấu giá này có một chiến iirợc ưu thế duy nhất là mỗi tác từ trả giá đúng với giá trị mà tác
tử đánh giá. Do vậy, cơ chế đấu giá này được quan tâm và sứ dụng nhiều trong hệ đa tác tử.
Trong khi đó, kiểu đấu giá này rất hiếm gặp trong đấu giá giữa người với người. Nguyên
nhân chính là do cơ chế đấu giá này rất khó hiếu và khó nhận thức một cách trực giác.

5.3 Lọi nhuận trong đấu giá


Vấn đề cần quan tâm đầu tiên khi phân tích các giao cơ chế đấu giá kể trên là lợi
nhuận mà người bán đấu giá và người mua thu được với mỗi cơ chế. Già sử, m ột người
đóng vai trò người bán đấu giá, khi đó vấn đề mà anh ta quan tâm là cực đại hoá lợi nhuận
cùa mình: lựa chọn cơ chế đấu giá cho phép bán được hàng với giá cao nhất, không cần
quan tâm tới việc người mua trà giá đúng với đánh giá thực hay không. Một số người có thể
càm giác ràng đấu giá với giá cao nhất có lợi cho người bán hơn đấu giá với giá cao nhì.
Vậy thực tế thì sao, nên chọn giao thức nào ?

Trong trường hợp đấu giá theo giá trị riêng, việc lựa chọn cơ chế đấu giá hoàn toàn
phụ thuộc vào đặc điềm cùa người mua và người bán đấu giá, cụ thề là phụ thuộc vào mức
độ chấp nhận và ưa mạo hiểm cùa các bên.

Đối với người mua chấp nhận mạo hiểm trung bình, lợi nhuận đối với người bán là
như nhau cho cà bốn cơ chế đấu giá trình bày ờ trên. Người bán có thể chọn bất kỳ một
trong bốn cơ chế đó.

Đối với người mua không ưa mạo hiểm, tức là người chấp nhận trà giá cao hơn giá
trị đánh giá cùa hàng (trong một chừng mực nào đó) để tăng thêm khả năng giành được
quyền mua hàng, đấu giá kiểu Hà Lan và đấu giá với giá cao nhất trả kín cho phép người
bán thu được lợi nhuận lớn hơn. Nguyên nhân khi sử dụng các cơ chế đó, người m ua không
ưa mạo hiểm có xu hướng bào hiểm cho minh bằng cách trà giá cao hơn SO với giá người

mạo hiềm trung bình trà.

Người bán không ưa mạo hiểm sẽ chọn đấu giá kiểu Anh và Vickrey.
Tương tác trong hệ đa tác tử 93

Đề có thể sử dụng các kết luận trê, cần hiểu cặn kẽ các đặc điểm cùa đấu giá trong
trường hợp cụ thể. Chẳng hạn, kết luận đầu tiên phụ thuộc rất nhiều vào việc giá trị hàng
được đánh giá là giá trị riêng.

5.4 Sai lệch thông tin và thông đồng giũa nguòi mua
Một vấn đề nữa cần quan tâm khi phân tích các cơ chế đấu giá là liệu cơ chế đấu giá
có bị ảnh hường khi người mua thông đồng với nhau hay khi người mua hoặc người bán
nói dối hay không. C ơ chế đấu giá tốt là cơ chế cho phép chống lại hay không khuyến khích
người mua thông đồng, cũng như không khuyến khích các bên tham gia nói dối.

Các phân tích cho thấy cà bốn cơ chế trên đều không chống lại được việc người mua
thông đồng với nhau. Trong cà bốn trường hợp, người mua có thể thông đồng với nhau từ
trước và thoả thuận trả giá thấp hơn thực tế với hàng hoá được đem đấu giá. Sau khi hàng
đã được bán xong, nhóm người mua thông đồng có thể nhận được giá trị thực của hàng
(chẳng hạn bán lại) cao hơn giá mua lúc đấu giá và chia nhau phần lợi nhuận này. Cách đơn
giản nhất để tránh thông đồng là thay đổi cơ chế đấu giá sao cho người mua không nhận ra
nhau. Tuy nhiên cách này không thể áp dụng đối với đấu giá công khai vì trong trường hợp
này người mua cần yêu cầu kiểm chứng thông tin về giá trả cùa người khác là chính xác.

5.5 Người bán đấu giá gian lận


Trong các cơ chế trên, đấu giá Vickrey cho phép người bán đấu giá nói dối. Người
bán có thể nói dối bằng cách thông báo giá cao nhì cao hom sự thật và như vậy người mua
phải trả giá cao hơn. Để chống lại nói dối trong trường hợp này có thể sử dụng các phương
pháp kiềm chứng như chữ ký điện tử. Phương pháp này cho phép người thắng tự kiểm tra
tính chính xác cùa giá cao nhì. Một lựa chọn khác là sử dụng một bên thứ ba làm trung gian
xử lý kết quả trả giá. Đấu giá công khai không bj ảnh hường bời nói dối vì mỗi ngirời đều
biết người khác trả giá thế nào. Đấu giá với giá cao nhất và trà giá kín cũng không cho phép
người bán nói dối vì mỗi người mua đều tự biết giá mà mình trả.

Người bán đấu giá có thể gian lận bằng cách sử dụng các cò mồi (shill). Cò mồi là
những người đóng vai mua hàng với mục đích đưa giá cao đề bắ! buộc những ngiíời mua
khác nâng giá. Đấu giá kiểu Anh không cho phép ngăn chặn hình thức gian dối này. Ngược
94- Tác tử - Công nghệ phần mềm hướng tác từ

lại, cò mồi không có tác dụng đối với đấu giá kiểu Hà Lan vì người trả giá đầu tiên sẽ là
người được quyền mua hàng.

5.6 V í dụ ứng dụng đấu giá trong cần bằng tải


Đấu giá là cơ chế thường được sử dụng cho các bài toán phân phối tài nguyên.
Trong phần này ta sẽ xem xét một ứng dụng cụ thể sử dụng đấu giá như cơ chế cân bằng tải
giữa các máy tính nối m ạng [VVarldspurger 1992],

Trong ứng dụng này, các máy tính nối mạng được giao thực hiện m ột số công việc
tính toán. Công việc có thể phân bố không đều giữa các m áy và không đều theo thời gian,
do vậy có những thời điểm m ột số máy không phải làm gì. Để tận dụng khả năng của tất cà
các máy, hệ thống cần cho phép chuyển một phần công việc cùa máy nhiều việc sang thực
hiện ở máy đang rỗi. v ấ n đề đặt ra là làm thế nào để việc cân bàng tài như vậy được thực
hiện công bằng. Trong hệ thống đang xét, cân băng tải được thực hiện nhờ đấu thầu như

Mỗi máy tính tham gia hệ thống được cấp một lượng tiền. Luợng tiền được cấp ban
đầu dựa trên thoả thuận giữa các quàn trị (quàn trị là người thực, không phải là tác tử). Tiền
được sừ dụng để mua bán các khoàng thời gian CPU rỗi. Việc mua bán thời gian CPU để
thực hiện việc tính toán được thực hiện bời các chương trình tự động (các tác từ).

Mỗi khi m ột máy X nào đó rỗi, không phải tính toán trong một khoảng thời gian,
khoảng thời gian sẽ được đem bán. Máy nào mua được khoảng thời gian như vậy có thề
chuyển m ột phần việc sang thực hiện trên X. Thời gian được đem bán bằng cách tổ chức
đấu giá. Cụ thể là, khi X có thời gian cần bán, X sẽ gửi thông báo tới các máy khác với các
thông tin như thời gian bát đầu, thời gian kết thúc khoảng thời gian rỗi, hạn cuối cùng để trà
giá. N hững máy có nhu cầu tỉnh toán sẽ trả giá và thông báo yêu cầu thời gian cùa minh.
Đấu giá được thực hiện theo thể thức Vickrey. Máy nào tháng sẽ được quyền sử dụng thời
gian mua được để thực hiện công việc tính toán của mình.

Mỗi máy tính phải thực hiện nhiều công việc tính toán sẽ chia công việc thành nhiều
phần nhỏ và phân phối lượng tiền mình có cho các phần việc. Cách phân chia đon giản nhất
là chia đều tiền. Nếu lượng tiền hiện có lớn hoặc giá trên thị trường không cao, công việc
có thể được chia nhỏ hơn để thực hiện trên nhiều máy khác và do vậy giảm được thời gian.
Tương tác trong hệ đa tác tử 95

Ngược lại, nếu có ít tiền hoặc giá các phiên đấu giá cao thì tác từ điều khiển sẽ phải nhập
các phần việc nhò để có được lượng tiền iớn cho phép giành thắng lợi khi đấu giá.

Kết quả thực nghiệm cho thấy hệ thống có thể hoạt động ồn định mặc dù không có
cơ chế điều khiển tập trung. Việc cân bằng tài được theo mô hình điều tiết của thị trường và
chì đòi hỏi một số lượng nhò tác từ tham gia.

Ngoài ứng dụng vừa trình bày, nhiều ứng dụng khác đã sử dụng đấu giá cho điều
hoà nhiệt độ nhà văn phòng, trong phân phối băng thông trên mạng, phân phối điện năng
giữa nhà cung cấp và người tiêu thụ.

6 THƯƠNG LƯỢNG
Thương lượng là quá trình qua đó các bên tham gia đạt được thoả thuận về một số
vấn đề có liên quan đến lợi ích cùa mình. Thương lượng phức tạp hơn đấu giá đồng thời
cũng có nhiều ứng dụng hơn. T rong phần này, ta sẽ xem xét giao thức và kỹ thuật thương

lượng được xây dựng trên cơ sở lý thuyết trò chơi.

Thương lượng không phải là đặc trưng riêng cùa tác tứ tư lợi. Tác từ hợp tác cũng

có thề thương lượng trong một số trường họp, ví dụ như khi cần thống nhất kế hoạch hành
động chung. Tuy nhiên trong trường hợp tác từ tư lợi, khá năng thương lượng cần được xây
dựng trên cơ sỡ tính tư lợi của tác từ cũng như cùa đối tác thương lượng, đó là mỗi tác từ sẽ
cố gắng đạt được lợi ích lớn nhất có thể cho mình.

Để tác từ có thé đạt được thoà thuận cần xác định hai yếu tố sau. Thứ nhất, cần quy
đ ị n h c u c h ế h a y g i a o th ứ c t liư ư n g l u y n g c h o tá c lừ. G i a u th ử c lủ t á c I)uy đ ị n h m ả tá c từ
phải tuân theo để quá trình thoả thuận có thể diễn ra. Thứ hai, với cơ chế hay giao thức cho
trước, mỗi tác tử cần có chiến lược mà tác tử sử dụng trong quá trình tìm kiếm thoả thuận

với tác tử khác. Mục đích cùa tác tử tư lợi là sừ dụng chiến lược cho phép cực đại hoá ích
lợi của mình. Y êu cầu chính đối với giao thức thương lượng là giao thức đó phải cho phép
tác từ đạt được ích lợi m ong m uốn khi sử dụng chiến lược riêng thích hợp của mình. Có
như vậy, tác từ mới chấp nhận sử dụng giao thức và tham gia thương lượng. Điều này đảm
bảo tính ổn định và công bằng trong tá c hệ đa tác từ được xây dựng và sớ hữu bời những

chủ thể khác nhau.


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

6.1 Các yếu tố liên quan đến thuong luọug


Quá trình thương lượng bao gồm nhiều vòng thương lượng. T rong mỗi vòng, lất cả
tác tử đưa ra đề nghị cùa mình. Tác tử đưa ra đề nghị trên cơ sở chiến lược riêng cùa minh
và đề nghị phải cho phép quá trình thương lượng tiến gần tới thoả thuận. Q uá trình thương
lượng dừng lại khi tìm được thoả thuận chung. Quá trình thương lượng, do vậy, được xác
định bởi bốn thành phần sau

• K hông gian thương lượng. Không gian thương lượng xác đjnh không gian các
đề nghị mà tác tử có thể đưa ra.

• Giao thức thương lượng. Giao thức thương lượng quy định các đề nghị hợp lệ
mà tác từ có thề đưa ra trong mỗi vòng thương lượng. Đề nghị hợp lệ phụ
thuộc vào lịch sử các vòng thương lượng trước đó.

• Chiến lược thương lượng riêng cùa từng lác tử. Chiến lược quyết định đề nghị
mà tác từ đưa ra khi thương lượng. Chiến lược cùa từng tác tử được giữ kín và
chi có tác từ đó được biết trong khi đề nghị mà tác từ đưa ra là công khai.

• Quy tắc xác định khi nào đạt được thoả thuận và nội dung thoả thuận đó là gì.

Độ phức tạp cùa không gian thương lượng phụ thuộc vào số lượng vấn đề được đưa
ra thương lượng cùng một lúc. Từ đây ta có thương lượng nhiều vấn đ ề hay thương lượng
một vấn đề. Ví dụ của thương lượng một vấn đề là trường hợp tác tử m ặc cả với nhau về giá
một mặt hàng đơn giản, v ấ n đề duy nhất cần thương lượng là giá. Q uyền lợi của hai bên
thương lượng khi đó là đối xứng. Thoà thuận có lợi hơn cho m ột bên sẽ ít có lợi hơn cho
bèn kia. Tính đối xứng trong trường hợp này cho phép đơn giãn hoá rất nhiều việc phân tích
quá trình thương lượng. Đề đạt được thoả thuận, hai bên cần nhân nhượng lẫn nhau. Người
bán thương lượng bằng cách giảm giá, người mua nhân nhượng bàng cách tăng giá lên.

Khi thương lượng theo nhiều vấn đề, tác tử cần đạt được thoả thuận về nhiều vấn đề
khác nhau cùng một lúc. Ví dụ cùa thương lượng với nhiều vấn đề là trường hợp tác tò mua

bán những hàng hoá giá trị cao, bao gồm nhiều thuộc tính và các Hịch vụ đi kềm. Chẳng

hạn khi m ua nhà đất, giá tiền chi là một trong các vấn đề cần thương lượng. Các vấn đề
khác cần được đề cập đến có thể bao gồm thời hạn giao nhà, tiền đặt cọc, ai sẽ trả thuế và lệ
Tương tác trong hệ đa tác tử 97

phí chuyển nhượng. Đối với thương lượng nhiều vấn đề, thông thường khó xác định thuộc
tinh nào cần tăng, thuộc tính nào cần giảm để đạt thoà thuận.

Mỗi đề nghị hay phương án thương lượng có thề coi như một điềm trong không gian
nhiều chiều, mỗi chiều là một thuộc tính hay một vấn đề cần thương lượng. Khi số thuộc
tinh tăng lên, số lượng phương án cũng tăng theo hàm mũ. Già sử tác từ thương lượng theo
n thuộc tính V |,V 2, . . . , V „ , mỗi thuộc tính cỏ m giá trị (nói chung, số lượng giá trị cùa thuộc
tính không bằng nhau, tuy nhiên ờ đây già thiết bằng nhau cho đơn giàn). Thoà thuận khi
đó sẽ đạt được bằng cách gán m ột trong m giá trị cho mỗi thuộc tính. Không gian thương
lượng khi đó bao gồm m" phương án. Do số lượng phương án tăng theo hàm mũ như vậy,
độ phức tạp tính toán trờ lên quá lớn đối với nhửng bài toán có kích thước trung bình trớ
lên và do vậy tác từ không thể xem xét tất cà những phương án có thế.

Trong các thương lượng trên thực tế, không chi số lượng phương án lớn mà bản chất
các vấn đề cần thương lượng có thể rất phức tạp. Ví dụ, khi tiến hành thương lượng về
chính trị giữa các quốc gia (như Irường hợp Bắc Triều Tiên, vấn đề cần thương lượng liên
quan đến chù quyền, an ninh, luật pháp, kinh tế). Các bên thương lượng có thể khó đạt
được thoả thuận ngay trong việc vấn đề nào là vấn đề cần thương lượng.

Độ phức tạp của thương lượng còn phụ thuộc vào số lượng tác từ tham gia. Tuỳ
thuộc vào số lượng tác từ, ta có các trường hợp sau:

Thương lượng một-một. Chi có một tác từ tìm cách đạt thoả thuận với một tác tử

khác.

Thương lượng một-nhiểu. Đầu giá là ví dụ cùa thương lượng kiêu này. Thương
lượng một-nhiều có thể phân tích nhiều thương lượng một-một được thực hiện đồng thời.

Thương lượng nhiều-nhiều. Thương lượng nhiều-nhiều cũng có thể phân tích thành
nhiều quá trình thương lượng m ột-m ột diễn ra đồng thời. Tuy nhiên, số lượng các quá trình
một-một tương ứng khi đó có thể rất lớn (nếu n tác tứ cùng thương lượng đồng thời với tất
cà tác từ còn lại ta sẽ có /7(«-l)/2 cuộc thương lượng một-một) dẫn tới khó khăn về mặt tính

toán và phân tích.


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

6.2 Phân loại thương Iirọng theo miền


Các đặc điểm cùa miền công việc (domain), tức là môi trường trong đó tác tử hoạt
độn.g, có ảnh hưởng lớn tới giao thức và chiến lược thương lượng. Để xây dựng được kỹ
thuật thương lượng hợp lý, cần phân biệt các nhóm miền khác nhau. Ta sẽ xem xét ba loại
miền hoạt động của tác từ được đề xuất trong [Rosenschein và Zlotkin, 1994], đó là m iền
hướng công việc, miền hướng trạng thái và miền hướng giá trị.

a) M iền hiróng công việc (task-oriented dom ain)

Đây là trường hợp đơn giản nhất. Mỗi tác từ có m ột số công việc cần thực hiện,
những việc này không mâu thuẫn với nhau và có thể phân chia lại giữa các tác tử. Mục
đích thương lượng là phân chia lại công việc giữa các tác từ sao cho các bên đều có lợi.
Dưới đây là một số ví dụ về miền hoạt động loại này.

Vi dụ 1. Giả sử một người có ba con, học ờ ba trường khác nhau và người đó phải
đưa con đến trường vào các buổi sáng. Tưcmg tự như vậy, hàng xóm cùa anh ta có bốn con
và cũng phài đưa các con đến trường. Việc đưa mỗi đứa trẻ đến trường có thể coi như một
công việc. Người đó và hàng xóm cùa anh ta có thể xem xét các công việc này và thoà
thuận về phân công công việc sao cho có lợi cho cả hai bên. Chằng hạn, một ngirời chớ
giúp con người kia đến trường nếu cùng trường với con mình. N gay trong trường hợp xấu
nhất, khi hai bên không đạt được thoà thuận và phải tự chở con mình thì cũng không bên
nào bị thiệt. N hư vậy, mỗi người chi có thề được lợi hoặc cùng lắm là không thiệt gì từ
công việc của người hàng xóm và do vậy có thể xem xét để hợp tác với nhau.

Vậy hai người hàng xóm có lliể dại dược Ilioâ lliuận loại nầo trong trường hợp nây?
Có nhiều phương án. Trong phương án thứ nhất, một người có thể chớ toàn bộ trè con đến
trường vào ngày chẵn và người kia chịu trách nhiệm trong ngày lè. Trong phương án thứ

hai, một người có thể chở những trề học cùng tại một trường nào đó còn người kia phụ

trách những trường còn lại.

V i dụ 2. Có một cơ sỡ dữ liệu trực tuyến. Mỗi lần truy vấn cơ sờ dữ liệu, người sừ
dụng phải trả một số tiền nhất định không phụ thuộc vào kích thước dữ liệu trả về. Giả sử
có hai tác từ được trao nhiệm vụ truy vấn cơ sở dữ liệu và nhận thông tin về. Tác tử thứ
nhất cần tlm tất cả nhân viên nữ có mức lương trên 2 triệu một tháng. Tác từ thứ hai cần tìm
Tương tác trong hệ đa tác từ 99

danh sách tất cà nhân viên nữ có hai con trờ lên. Khi đó hai tác từ có thể thoả thuận để tiết
kiệm tiền bằng cách gừi một truy vấn duy nhất yêu cầu cung cấp danh sách toàn bộ nhân
viên nữ, sau đó xử lý tiếp danh sách nhận được. Cũng như trong ví dụ trước, công việc của
hai tác từ ờ đây không mâu thuẫn nhau. Tác từ chi có lợi hoặc không thiệt gì nếu hợp tác
với nhau.

b) Miền h u ó n g trạ n g th ái (sta te -o rie n ted dom ain)

Trong trường hợp này, thay vì phái thực hiện một số công việc xác định, tác từ phài
hành động để đạt được một trạng thái nào đó của môi trường. Ờ đây, trạng thái đích mà tác
tử cần đạt có thể mâu thuẫn với trạng thái đích của tác từ khác. Ngoài ra, trong quá trình
hành động để đạt trạng thái đích của m inh, tác tử có thể vô tinh càn trở hoặc giúp đõ tác tử
khác. Như vậy, đặc điểm quan trọng nhất cùa trường hợp hướng trạng thái là hành động của
tác từ có thể có hiệu ứng phụ. Tác tử có thể thương lượng để hiệu ứng phụ có lợi cho nhau.

Ví dụ. Bài toán thế giới hình khối trên hình 3.4 là ví dụ miền hoạt động hướng trạng
thái. Giả sừ có hai tác tử. Mỗi tác tử phải di chuyển các khối để đạt tới trạng thái đích của
minh. Có ba khả năng xảy ra. Khả năng thứ nhất: trạng thái đích mâu thuẫn nhau, ví dụ tác

từ thứ nhất phải đặt khối gạch chéo lên khối dấu chấm trong khi tác tử thứ hai phải đật khối
dấu chấm lên khối gạch chéo. Khả năng thứ hai: trạng thái đích không mâu thuẫn nhưng
hành động của tác từ có thể càn trờ tác từ còn lại, ví dụ tác từ thứ nhất phải giải phóng khối
màu tráng trong khi tác tử thứ hai phải đặt khối dấu chấm lên trên khối gạch chéo, nếu tác
tử thứ nhất giải phóng khối trắng bàng cách đặt khối gạch chéo lên trên khối dấu chấm thi
s? càn trờ tác từ thứ hai Khả năng thứ ha: trong khi đạt t(Vi trạng thái đích tác ti'r vô tình
giúp nhau, ví dụ để đạt trạng thái khối gạch chéo ở trên khối dấu chấm, một tác tử sẽ giúp

tác từ còn lại giải phóng khối màu trắng.

Hình 3.4 Bài toán “thế giới hình khối" là ví dụ miền hướng trạng thái.
100 Tác tử - Công nghệ phần mềm hướng tác tử

c) M iền h iróng giá tr ị (w o rth -o rie n ted dom ain)

G iống như trong trường hợp miền hoạt động hướng trạng thái, trong miền hướng giá
trị, tác tử cũng có m ục tiêu và hành động để đạt mục tiêu đó. Tuy nhiên, khác với miền
hướng trạng thái, trong m iền hướng giá trị, mục tiêu cùa tác tử không được cho dưới dạng
trạng thái cụ thể mà thay vào đó được cho dưới dạng một hàm đánh giá giá trị trạng thái.
Tác từ sẽ hành động để đạt được trạng thái với giá trị cao. N hư vậy, trong quá trình thương
lượng, tác tử có thể thoả thuận kế hoạch hành động để đạt tới trạng thái mặc dù chưa tối ưu
nhưng có giá trị chấp nhận được nếu hành động chung như vậy cho phép hợp tác để giảm
bớt chi phí.

VI dụ. M ột ví dụ cùa m iền hướng giá trị là trò chơi Tilevvorld trên hình 3.5 (một
phiên bản khác với phiên bàn được mô tả trong chương 2). Hai tác từ di chuyển các viên
gạch về các lỗ và được thường khi cho gạch vào lỗ. Các lỗ có thể có giá trị riêng, tức là chi
m ột tác tử được thưởng nếu gạch được cho vào lỗ (ai cho gạch vào lỗ không quan trọng),
hoặc của chung, tức là cả hai được thưởng. Nếu gạch gần lỗ chung hơn lỗ riêng thì tác từ
vẫn có thể xem xét để nhét gạch vào lỗ chung mặc dù giá trị khi nhét gạch vào lỗ riêng cao
hơn. Hoặc khi không đù gạch để nhét vào tất cả các lỗ tác từ có thể thoả thuận sẽ bỏ gạch
vào những lỗ chung.

a!

2 2
0
í
m m
4

0

Hình 3.5 VI dụ miền hướng giá trị: trò chơi Tileworld với hai tác tử; hình chữ
nhật đen là hòn gạch; ỗ có số là lỗ cần bỏ gạch vào; số ghi trong ô là
giá trị tác tử được thường, nếu chỉ có một số thì cả hai được thưởng
như nhau, nếu có hai số thi mỗi số là giá trị thưởng cho tấc tử tương
ứng; hai tác tử cùng xuất phát từ ô trên cùng bên trái.
Tương tác trong hệ đa tác tử 101

Thương lượng trong miền hướng công việc tương đối đơn giản hơn SO với hai
trường hợp còn lại. Do vậy, trong phần tiếp theo, ta sẽ chi tập trung xem xét giao thức và
chiến lược thương lượng hướng công việc.

6.3 T huong luọìig huóng công việc


Trong phần này ta sẽ xem xét kỹ thuật thương lượng cho miền hướng công việc.
Thương lượng hướng công việc là dạng thương lượng trong đó tác từ có thể thu lợi bằng
cách thoà thuận phán chia lại công việc, v ấ n đề chinh cần thương lượng, do vậy, là phân
chia công việc như thế nào. Ta có một số khái niệm sau.

Định nghĩa 1 M iền hướng công việc được cho bởi bộ ba

< T ,A , c>,

trong đó

1. T là lập hợp hĩni hạn công việc.

2. A = {A I, A2, ... , A„) là lập hữu hạn các lác từ tham g ia thương lượng.

3. c: Iị )(T ) —> 'Jỉ+ là một hàm cho phép xác định giá thành thực hiện m ội tập
con công việc. Hàm giá c cần thoà mãn hai y êu câu sau.

• Hàm giá là hàm đơn điệu, nghĩa là càng nhiều việc thì giá thành
thực hiện phái càng lớn. Yêu cầu này được viết như sau

v ,v c Y q T \ c( X ) < c(Y)

• Nếu không làm gì thì giá thành bằng không c (0 )= o .

Trong ví dụ đưa con đi học ở trên, tập công việc là danh sách cảc trường học (ký

hiệu S) mà những người tham gia có thể cho con đi học. Giá thành c của tập con X 6 s là
tồng thời gian hay tổng chi phí xăng dầu để đi từ nhà qua tất cả các trường nằm trong X và

quay về nhà.

Định ngh ĩa 2. Chạm trán (encounter) trong miền <T, A, c> là danh sách có thứ tự

<TU T2........T„>

sao cho với m ọi k e {\ ...n ), Th là tập hợp hĩni hạn các công việc từ T m à tác tứ Ak

phái thực hiện.


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

Chạm trán trong miền hướng công việc <T, A, c> xảy ra khi các tác từ được giao
công việc từ tập T. Mặc dù từ chạm trán thường có nghĩa đối kháng, trong trường hợp đang
xét, chạm trán được sứ dụng đề mô tà tình huống tác từ có khá năng (và có động lực) đạt
được thoả thuận có lợi về phân chia lại công việc. T rong ví dụ đưa con đi học, chạm trán là
danh sách các trường học cúa hai người tham gia.

Giả sử thương lượng hướng công việc diễn ra giữa hai tác từ A\ và A i với chạm trán
{7'l, r 2}. Ta có thêm một số khái niệm sau.

Địnli nghĩa 3. Thoà thuận thuần nhất (pure deal) g iữ a hai lác tứ là sự phân chia lại

công việc giữa hai tác tứ và được biêu diên bởi bộ đôi < D I, D-t> sao cho D ị, D i e T và

O ịU D2 = T ị 'U Tị . N hư vậy, tác tứ A I cam kết thực hiện các công việc trong Dị và tác từ Ã 2
cam kết thực hiện cóng việc trong Di. Giá thành thực hiện thoá thuận như vậy đoi với lác
t ứ A k được định nghĩa là costi ( D ị, D2) - c (Di).

Với mỗi thoà thuận 8 = < ơ |, Dr> ta sẽ định nghĩa giá trị hay tiện ¡ch (utility) mà

thoả thuận đem lại như độ chênh lệch giũa giá thành thực hiện công việc ban đầu và giá
thành sau khi thoà thuận.

Đ ịnh nghía 4. I) Tiện ích cùa thoà thuận ổ = <D I, D 2> được xúc định như sau

utilityk (S) = c(Tt) - costk ( S)

2) Thóa thuận thuần nhất 0 5 < ĩ | , Tị > gọi là thoà thuận mâu thuẫn.

N hư vậy, tiện ích cùa thoà thuận là mức đo lợi nhuận tác tử nhận được từ thoà thuận.
Lợi nhuận âm cho thấy thoả thuận đó là không có lợi cho tác tử SO với trường hợp tác từ
thực hiện đúng công việc được giao ban đầu.

Nếu tác từ không đạt được thoả thuận, tác tử sẽ thực hiện đúng công việc được giao

khi xảy ra chạm trán, tức là <T\,Ti>. Theo định nghĩa trên, ta nói rằng tác tử phải thực hiện

công việc theo thoà thuận mâu thuẫn, ký hiệu là 0 . Dễ dàng nhận thấy, với mọi k ,

utilityiti®) = 0. Do tác tử luôn hành động để vì lợi ích cùa m ình, tác tử sẽ không chấp nhận

bất cứ thoả thuận nào có tiện ích âm.


Tương tác trong hệ đa tác tử 103

Với các khái niệm vừa trình bày, ta có thể xác định không gian thương lượng, c ơ chế
và chiến lược thương lượng trong môi trường hướng công việc như sau.

Định Iigltĩa 5. Thoà thuận được gọi là có im thế SO với thoà thuận ỏ2 (ký hiệu

ổ2 ) khi và chi khi hai điều kiện sau được thoà mãn

I ) ổi không lồi han ¿h đói với m ọi lác tứ

VẲe {1,2}, utility/, (ố |) > utilityk (Ặ )

2) ổi loi hơn Sị đói với h nhai một tác lừ

3k e {1,2}, utilitỴk (<?|) > ittiHtyÁ&ì)

Nếu chi cỏ điều kiện đầu được Ihoà mãn thì thoà ihuận S\ được gọi là có iru thế yếu

so với thoà thuận ỏ 2 và kỷ hiệu là ỗ , y ỗ 2 .

Nếu thoà thuận ổỊ là có ưu thế SO vớiẶ thi ta cũng nói rằng ôi kém ưu thế SO với S\.

Định nghĩa 6. Thoá thuận ổ được gọi là hợp lý cá nhân (individual rational) nếu

S yß.

Từ định nghĩa 6 và định nghĩa 4 dễ dàng nhận thấy thoà thuận s là hợp lý cá nhân

khi và chi khi V Ä e{l,2}: u lility iíô ) > 0. Ngoài ra, nếu thoà thuận không phài là hợp ]ý cá
nhân thì ít nhất một tác tử sẽ được lợi hơn nếu thực hiện công việc được giao ban đầu và do
vậy sẽ lựa chọn thoá thuận mâu thuẫn.

Đ ịnh nghĩa 7. Thoà thuận ổ được gọi là tối ưu theo Pareto nếu không tồn tại thoà

thuận S’sao cho ổ 'y ỗ .

Nếu thoà thuận là tối ưu theo Pareto thì bất cứ một thoả thuận nào khác có lợi cho
một tác từ cũng sẽ làm cho ít nhất một tác tử khác bị thiệt. Ngược lại, nếu thoả thuận không
tối ưu theo Pareto thi có thể tìm được thoà thuận khác có lợi hơn cho ít nhất một tác từ m à
không làm thiệt hại đến tác tử khác.

Không gian llnrơng lượng trong miền hướng cõng việc bao gom các ihoá thuận có
hai tính chất (i) hợp lý cá nhãn và (ii) tối ICU theo Pareto. Sự cần thiết của hai điều kiện này
104 Tác tử - Công nghệ phần mềm hướng tác từ

có thể giãi thích như sau. Neu điều kiện đầu không thoà mãn tác từ sẽ lựa chọn thoà thuận
mâu thuẫn (giữ nguyên công việc ban đầu). Còn điều kiện sau đàm bảo tác tử không đư a ra
phương án nếu tồn tại phương án khác tốt hơn với ít nhất một tác tử nào đó.

Không gian thương lượng được thể hiện trên hình 3.6

Hình 3.6 Không gian thương lượng.

Mỗi (hoã thuận được biếu diễn bời một điểm trên không gian hai chiều. Trục tung
biểu diễn tiện ích cùa tác từ Aị, trục hoành biểu diễn tiện ích tác tử A2. Phần tô đen là không
gian toàn bộ các thoả thuận có thể. Điểm E là thoà thuận mâu thuẫn. Như vậy, các phương
án nàm bên trái BD là không có lợi cho tác tử A 2 hay không hợp lý cá nhân đối với A 2.
Ttrtvng tự , c á c p h ư c m g ổn n ằ m d ư ớ i A C k h ô n g h ợ p lý c á n h â n đ ố i v ớ i À |. C á c p h t r ơ n g á n tối
ưu theo Pareto là các phương án nằm trên đường biên nối B và c . Như vậy, đường biên này
xác định không gian thương lượng cho tác tử. Tác từ Ai có thể xuất phát bằng cách đưa ra
đề nghị ứng với điểm B trong khi A ị bát đầu từ điểm c .

Với thương lượng cho miền hướng công việc định nghĩa như trên, tiếp theo đây ta sẽ

xem xét giao thức thương lượng và chiến lược của tác từ.

G iao thứ c như ợ ng bộ đon điệu (m onotonic concession protocol)

Giao thức nhượng bộ đơn điệu là cơ chế thương lượng được đề xuất cho thương

lượng hướng công việc và được mô tà nhu' sau:


Tương tác trong hệ đa tác tử 105

• Thương lượng được thực hiện qua nhiều vòng

• Trong vòng đầu tiên, cà hai tác từ đồng thời đưa ra đề nghị lấy từ không gian
tlurơng lượng.

• Tác từ đạt đưọc thống nhất nếu đề nghị s 1 và ỏ2 do hai tác tử đưa ra thoà mẫn
một trong hai điều kiện sau

(i) utilityt(S>) > iiliHlỴi(Si) hoặc

( ii) utilìtyi{õ\) > Ulility2(ỗ2),

nghĩa là khi một trong hai tác từ nhận thấy đề nghịcùa tác tứ kia tốt hơn hoặc
tốt bằng đề nghị cùa minh đưa ra. Khi đó thoà thuận được xác định như sau.
Nếu cà hai tác từ cùng đua ra đề nghị tốt hơn hoặc tốt bàng đề nghị của bên kia
thì m ột trong hai đề nghị được lựa chọn ngầu nhiên. Nếu một tác tử đưa ra đề
nghị tốt hơn hoặc tốt bàng đề nghị cùa tác từ kia thì đề nghị này sẽ được chọn

lam thoà thuận.

• Nếu tác từ không thống nhất được thì quá trinh thương lượng chuyển sang
vòng đề nghị tiếp theo. Tại mỗi vòng, tác tử không được phép đưa ra đề nghị
kém hấp dần đối với tác tử kia hơn đề nghị ớ vòng trước đó. (Chinh do đặc
điểm này mà giao thức có tên là "nhượng bộ đơn điệu” - đề nghị ở vòng sau
bao giờ cũng là nhượng bộ SO với đề nghị ớ vòng trước).

• N c u k h ô n g tá c t ử n à o n h ir ự n g bộ thì tln ro n g h r ạ n g c h ấ m d ứ t vAi th n à th u ậ n


mâu thuẫn.

Sự biến thiên cùa hàm tiện ích qua các vòng thương lượng theo giao thức nhượng
bộ đon điệu được minh hoạ trên hình 3.7. Đề cho đơn giản, hàm tiện ích ở đầy là hàm tuyến
tính trong khi trên thực tế, hàm tiện ích thường phức tạp hơn nhiều.

Giao thức này cho phép các bên dễ dàng kiềm tra xem bên kia có tôn trọng quy tác
thương lượng hay không. Giao thức nhượng bộ đơn điệu còn đàm bào quá trình thương
lượng sẽ chấm dứt sau một số hữu hạn vòng đưa đề nghị. Do không gian thương lượng là
hữu hạn, tác tử không thể thương lượng vô hạn: hoặc tác tử đạt được thoả thuận, hoặc sẽ tới
một vòng trong đó không tác từ nào nhân nhượng. Tuy nhiên, quá trình đạt tói thoà thuận
106 Tác tử - Công nghệ phần mềm hướng tá c tử

có thể diễn ra rất lâu. Do không gian thương lượng tỳ lệ theo hàm mũ với số lượng công
việc cần phân phối nên số đề nghị được đưa ra cũng tăng theo đại lượng này.

Hình 3.7 Giao thức nhượng bộ đơn điệu.

Để có thể sứ dụng giao thức nhượng bộ đơn điệu, mỗi tác tử phái biết giá trị tiện ích
cùa mình và cùa đối tác thương lượng. Mặc dù điều kiện này được coi là mặc định trong lý
thuyết trò chơi, trong hệ đa tác từ, tác tử có thể không biết giá trị tiện ích cùa đối tác. Đây là
nhược điểm lớn cùa giao thức nhượng bộ đơn điệu.

C hiến lirọc th u o n g luọng Z euthen

Trong phần này ta sẽ xem xét chiến lược mà hai tác từ có thể sử dụng khi tiến hành
thương lượng theo giao thức nhượng bộ đon điệu ở trên. Chiến lược này dựa trên khái niệm
tiêu chuẩn mạo hiểm do Zeuthen đề xuất năm I930 và bao gồm ba thành phần như sau.

1) Thứ nhất, trong vòng đầu tiên, tác tử đưa ra đề nghị có lợi nhất cho mình, tức là

đề nghị thoả thuận có giá trị tiện ích lớn nhất.

2) Thứ hai, trong mỗi vòng sau, người phái nhượng bộ được xác định dựa trên mức

độ chắp nhận mạo hiểm cùa m ỗi lác lừ. Mức độ chấp nhận m ạo hiểm cùa tác từ được xác
định dựa trên nhận xét sau. Nếu thoã thuận hiện thời m à tác từ đề nghị tốt hơn nhiều SO với
thoả thuận mâu thuẫn thì tác tử sẽ ít muốn mạo hiểm để thương lượng chấm dứt với thoả
thuận mâu thuẫn. Ngược lại, nếu thoà thuận hiện thời không tốt hơn nhiều SO với thoà thuận
mâu thuẫn thì tác từ có thể chấp nhận để thương lượng chấm dứt mà không đạt được thoà
Tương tác trong hệ đa tác tử 107

thuận, tức là mức độ chấp nhận mạo hiểm sẽ cao hơn trong trường hợp đầu.

Giả sử hai tác từ là / và j . Mức độ chấp nhận mạo hiềm cùa tác từ i à vòng thương
lượng t, ký hiệu là risk,' được tinh bằng giá trị tiện ích mà i mất nếu nhượng bộ và chấp
nhận đề nghị cùa j chia cho giá trị tiện ích mà / mất nếu không nhượng bộ và dẫn đến mâu
thuẫn.

nếu utility,(Si') = 0
riskấ' = ■ utility, ( ỏ / ) - utility, (<5/ )
utility, ( S ' ) nếu utility,(&!) * 0

Mức độ chấp nhận mạo hiểm risk! cùa j được tinh tương tự.

Giá trị cùa risk! có thề dao động từ 0 đến ]. Giá trị càng cao (càng gần) chứng tó tác
tử thiệt hại càng ít nếu không nhượng bộ và do vậy tác tử càng sẵn sàng chấp nhận thoả
thuận mầu thuẫn. Ngược lại, giá trị thấp cho thấy tác tử thiệt hại nhiều nếu không đạt được

thoà thuẫn và do vậy sẽ dể nhượng bộ hơn.

Giá trị risk,' = 0 có nghĩa là thoả thuận hiện thời của đối tác không có lợi hơn chút

nào so với thoá thuận mâu thuẫn, do vậy tác tử sẽ chấp nhận mâu thuẫn thay vì nhượng bộ.

Với mức độ mạo hiểm được tính như trên, lúc lừ cù mức độ mạo hiếm nhò hơn là

tác tứ p hái nhượng bộ trong vòng thương lượng I.

3) Cuối cùng, tại mỗi vòng, tác tử có mức độ chấp nhận mạo hiểm ít hơn phải
nhượng bô vừa đù. Tại sao phải nhượng bộ vừa đú và bao nhiêu là vừa đù ? Nếu tác từ
nhượng bộ quá ít thì trong vòng tiếp theo, tương quan về mức độ chấp nhận mạo hiềm
không thay đổi và tác tử vừa nhượng bộ trong vòng trước lại phải nhượng bộ tiếp. Cách
thương lượng như vậy không hiệu quà và kéo dài thời gian. Ngược lại, nếu tác từ nhượng
bộ quá nhiều thì tác từ có thề bị thiệt. N hư vậy, “vừa đú" ờ đây là mức nhượng bộ nhỏ nhất
cho phép thay đồi tương quan mức độ mạo hiểm.

Nếu trong vòng đàm phán cuối cùng ta có thi cà hai tác từ đều phải nhượng bộ. Tuy
nhiên, tác tử có Ihể lợi dụrig bàng cách giữ nguyên đề nghị và chờ tác từ cồn lại đon
phương nhượng bộ. Để ngăn ngừa tình huống này, neu risk, = riskp chi một trong hai tác từ
108 Tác từ - Công nghệ phần mềm hu>ớng tác tử

phải nhưọng bộ và tác tử nhượng bộ sẽ được xác định ngẫu nhiên, chẳng hạn theo xác suất
50/50. Chiến lược Zeuthen như vậy được gọi là chiến lược mờ rộng.

Đ ặc điểm của giao thứ c n h u ọ n g bộ đon điệu và chiến luọc Z euthe/I

Đốì chiếu với các tiêu chí đánh giá cơ chế trình bày trong phần 4, cơ chế thương
lượng trên cơ sờ kết hợp giao thức nhượng bộ đơn điệu với chiến lược Zeuthen có các đặc
điểm sau.

• Không đàm bào thành công cũng như không đàm bào cực đại hoá lợi ích cộng
đồng.

• Măc dù không đàm bào thành cóng, giao thức nhượng bộ đơn điệu đảm bào kết

thúc thương lượng sau một số vòng hữu hạn.

• Trong trường hợp cà hai tác tử sử dụng chiến lược Zeuthen, nếu hai tác tử đạt
được thoà thuận, thoà thuận đó sẽ hiệu quà theo Pareto.

• Nếu đạt được thoà thuận, thoà thuận đó sẽ là cân bằng Nash. Thật vậy, nếu một
tác tử chấp nhận hành động thoả thuận, tác tứ còn lại không còn cách nào tốt
hơn là cũng chấp nhận hành động nlur vậy.

• Giao thức nhượng bộ đon điệu có độ phức tạp tính toán lớn. Như đã nói ờ trên,
không gian thương lượng tăng theo hàm mũ SO với số lượng công việc phải

phân chia.

V ấ n đ c g ia in ụ o ( h ô n g tin

Trong nhiều trường hợp thương lưọng, tác tử không biết chinh xác số lượng công

việc của đối tác. Chẳng hạn, thay vì đưa COI1 đến trường như trong ví dụ trên, ta có thể gặp
tình huống tương tự trong đó hai người đưa thư phải chuyển thư đến một số địa chì và
thương lượng để phân chia lại số thư cần chuyển. Mỗi tác tử khi đó rất khó kiềm tra số
lượng thư thực có cùa đối tác và địa chi cần chuyền mà chì có thể yêu cầu đối tác tự thông
báo. Trong những tình huống như vậy, tác tử có thể lợi dụng đối tác bằng cách nói dối về

phần việc của mình. Có thế có những khả năng nói dối sau.

Giấu bớt công việc. Tác từ có thể được lợi khi thượng lượng bằng cách giấu bớt
Tương tác trong hệ đa tác tử 109

công việc cùa mình. Xét tình huống trên hình 3.8a. Xuất phát từ bưu điện nằm ở a, mỗi tác
tử phái chuyển một số thư tới các địa chi sau đó quay về bưu điện, độ dài một cung bất kỳ
nối hai điểm liền nhau bằng l đơn vị. Giẳ sứ tác tử l phải chuyển thư tới b và f , tác tử 2
phài chuyển tới e. Do cấu trúc đặc biệt cùa đường đi, để thực hiện phần việc cùa mình, mỗi
tác từ phải đi đoạn đường bằng nhau và bằng 8 đơn vị khoảng cách. Như vậy, khi thương
lượng, tác tứ phài nhượng bộ sẽ được chọn ngẫu nhiên với xác suất 50/50 và tác tử này sẽ
chuyển toàn bộ thư, tác tứ còn lại không phải làm gì. Tlioà thuận này không gây thiệt hại
cho tác từ chuyển thư trong khi có lợi cho tác từ còn lại. Bây giờ già sử tác tử l giấu bớt thư
cần chuyển tới b. Khi đó đoạn đường phài đi chi là tới f và quay lại, tức là bằng 6 đơn vị, ít
hơn tác từ 2. Theo chiến lược Zeuthen, tác từ 2 sẽ phải nhượng bộ và chuyển thư tới e, f.
Kết quả là tác từ l được lợi vi chi chuyển thư tới b (2 đơn vị đường đi).

a) Tác từ có thể giấu bớt công việc b) Tác từ có thề sử dụng công việc ảo

Hình 3.8 Vi dụ câc tình huống giấu bớt công việc (a)
hoặc sử dụng công việc ảo (b).

Cóng việc ào (phantom tasks). Ngược lại với trường hợp trên, tác từ có thể lợi dụng
đối tác bằng cách bịa ra các công việc không có thực. Trên hình 3.8b, mỗi tác tử phải
chuyển thư tới b và c, tức là phải làm khối lượng việc như nhau. Hai tác tử có thể thoả
thuận để một đi tới b và một đi tới c. Do c gần hơn b nên tác tử nào đi tới c sẽ được lợi. Giả

sừ tác từ l quyết định lợi dụng. Tác từ l có thể thông báo với tác tử 2 là ngoài b và c còn
phải chuyên thư tới d. Khi đó, công việc cùa l nhiều hơn hay mức độ mạo hiểm cùa l nhỏ
110 Tác tử - Công nghệ phần mềm hướng tác tử

hơn 2 do đó tác từ sẽ phài nhượng bộ và chuyển thư tới c, d. Thực chất, tác từ l chi đi tới c
rồi quay lại và hưởng lợi vì được đi theo hướng này. Để ngăn ngừa tác tử khai báo công
việc ảo, giao thức thương lượng có thể quy định thêm cơ chế kiểm tra cho phép các bên
tham gia kiểm chứng công việc cùa đối tác.

Cóng việc m oi (decoy lasks). Công việc mồi tương tự như công việc ào, tức là những

việc tác từ khai báo thêm để thu lợi khi thương lượng. Tuy nhiên, khác với công việc ảo, tác
tử có thể tạo ra công việc công việc mồi trong trường hợp đối tác yêu cầu kiềm tra. Ví dụ,
người đưa thư có thể viết địa chi lên phong bì trống trong ví dụ trên khi có yêu cầu kiểm

6.4 Một số phư ou g pháp thưong lượng khác


Ở trên, ta đã xem xét phương pháp thương lượng được xây dựng trên cơ sờ lý thuyết

trò chơi. Mặc dù có nhiều ưu điểm như cơ sờ lý thuyết rõ ràng, có thể xây dựng cơ chế
thương lượng đem lại kết quả tối ưu, phương pháp thương lượng sừ dụng lý thuyết trò chơi
cũng có m ột số nhược điểm. T hứ nhất, để có được chiến lược tối ưu, tác tử phải tìm kiếm
vét cạn trong toàn bộ không gian chiến lược bằng cách xem xét tất cả các tương tác có thể.
Do số lượng tương tác tăng theo hàm mũ, tìm kiếm chiến lược tối ưu đòi hòi khối lượng
tính toán cực lớn. T hứ hai, lý thuyết trò chơi đòi hỏi các bên tham gia đánh giá chính xác độ
tiện ích hay m ức ưu tiên cùa từng kết quả tương tác. Điều này thường rất khó khăn đối với
con người, nhất là trong trường hợp kết quà phụ thuộc vào nhiều tiêu chí. Thứ ba, lý thuyết
trò chơi đòi hỏi tác tử có đầy đù thông tin về các phương án thoả thuận và về tiện ích cùa
đối tác. Trên ihực tế, yêu cầu này rất khó thoả mãn.

Để khắc phục những nhược điểm này, một số phương pháp thương lượng khác đã

được nghiên cứu và áp dụng cho hệ đa tác từ. Phần còn lại cùa chương sẽ giới thiệu ngắn
gọn về hai phương pháp thương lượng là thương lượng heuristics và thương lượng bằng lập

luận.

a) Thirong lirọng heuristics

Thương lượng heuristics cho phép giảm đáng kể khối lượng tính toán SO với lý
thuyết trò chơi. T hay vì tìm lời giải tối ưu (chiến lược tối ưu) bàng cách vét cạn không gian
tương tác, thương lượng heuristics cho phép tìm ra lời giả i chắp nhận được trong phạm vi
Tương tác trong hệ đa tác từ 111

khối lượng tính toán cho phép. Thương lượng heuristics thường có hai dạng. Dạng thứ nhất
sử dụng các thông tin bổ sung về bài toán gọi là các heuristics để xấp xi hoá hoặc hướng
dẫn quá trình tìm kiếm trong các kỹ thuật lý thuyết trò chơi. D ạng thứ hai, sừ dụng các mô
hình rút gọn SO với mô hình lý thuyết trò chơi và thực hiện tìm kiếm cho các mô hình này.

Trong thương lượng heuristics, chiến lược cùa tác tử phụ thuộc nhiều vào mô hình ra
quyết định cùa tác tứ thay vì được định hướng bằng giao thức thương lượng. N hư vậy vấn
đề quan trọng nhất khi đối với thương lượng heuristics không phải là giao thức mà là mô
hình suy diễn cùa tác từ. Tiếp theo đây, ta sẽ xem xét một kỹ thuật thương lượng heuristics
cụ thể [Faratin 2002],

Đối tượng thương lượng được đặc trưng bởi nhiều tiêu chí. Không gian thương
lượng là các thoà thuận được hình thành băng cách tồ hợp giá trị các tiêu chí. Có thể hình
dung mỗi thoả thuận như một điểm trong không gian nhiều chiều (m ỗi chiều tương ứng với
m ột tiêu chí). Giá trị mỗi thoả thuận đối với tác tử được đánh giá bởi hàm tiện ích. Tác từ
tham gia thương lượng có thể đưa ra đề nghị (proposal) hoặc phàn đ ể nghị (counter­
proposal) đối với đề nghị trước đó cùa đối tác. Mỗi đề nghị hoặc phản đề nghị tương ứng
một điém trong không gian thương lượng. Thương lượng kết thúc trong m ột trong hai tình
huống sau: tác tử đạt được thoà thuận chấp nhận được cho cà hai bên hoặc thời gian thương
lượng kết thúc.

Trong mỗi vòng đàm phán, tác tử có thể thực hiện thoà hiệp (trade-off) hoặc thay
đổi tiêu chí (issue manipulation). Thoà hiệp được sử dụng như sau. Già sử tác từ A đưa ra
đề nghi X. Tác tử B không chấp nhận và đưa ra phản đề nghi Y. Do đề nghi X không được
chấp nhận, tác tử A sẽ phải đưa ra đề nghị mới X '. Đề nghị mới hợp lý cần có hai đặc điềm
sau. Thứ nhất, để bàn thân A không bị thiệt, đề nghị mới phải không tồi hem SO với X, tức là
giá trị tiện ích của đề nghị mới X ' đối với A phải bằng giá trị tiện ích của X đối với A,
utilityA(X’) = utilìtyA(X) (do tác từ bắt đầu thương lượng từ đề nghị có lợi nhất nên
utilityíị(X ') không bao giờ lớn hơn utilityAụ 0). Thứ hai, để quá trình thương lượng có thể
tiến triển, đề nghị mới X ' phải hấp dẫn đối với B hơn đề nghị X. Do A không biết chính xác
hàm tiện ích hay các ưu tiên cùa B nên A chi' có thể dự đoán đề nghị nào là hấp dẫn đối với

B. Đề nghị hấp dẫn B sẽ là đề nghị gần với phàn đề nghị Y mà B vừa đưa ra nhất. Như vậy,
trnnẹ số các đề nghị thoà mãn điều kiện thứ nhất, đề nghị được chọn cho phiên đàm phán
112 Tác từ - Công nghệ phần mềm hướng tác từ

tiếp theo là đề nghị gần với Y nhất (và không trùng với X). Có nhiều cách đánh giá m ức độ
gần nhau giữa hai đề nghị. Ví dụ, có thể sử dụng độ tương tự dựa trên lôgic mờ hoặc tồ
họp có trọng số độ tương tự cùa từng tiêu chi.

Thoả hiệp được tạo ra như sau. Trước tiên tác tử xác định một số tiêu chí thương
lượng cố định. Các tiêu chí này tạo thành tập tiêu chí thương lượng. Thoà hiệp được tạo ra
bằng cách thay đổi giá trị tiêu chí trong tập tiêu chí thương lượng. Neu tìm ra được thoà
hiệp thoả mãn hai điều kiện trên, thoá hiệp đó sẽ được sử dụng như đề nghị mới cho vòng
đàm phán tiếp theo. Ngược lại, nếu không tìm được thoả hiệp như vậy, tác tử sẽ thay đồi
tập tiêu chí thương lượng bằng cách bớt tiêu chí ra khòi tập tiêu chí thuơng lượng hoặc
thêm tiêu chí khác vào. Sau khi thay đối tập tiêu chí, quá trình sinh thoà hiệp và lựa chọn đề

nghị được lặp lại như trên.

b) T h u o n g luọng dự a trê n lập luận

N hững phương pháp thương lượng vừa trình bày ớ trên chi cho phép tác từ trao đổi
đề nghị. Ngoài thông tin chứa trong đề nghị, tác từ không thể cung cấp cho đối tác những
thông tin khác cũng như không thề nhận từ đối tác những thông tin có ảnh hưởng tới quá
trình thương lượng. Đặc điểm này khiến cho quá trình thương lượng gặp một số khó khăn

Thứ nhất, việc trao đổi đề nghị thuần túy không cho phép tác từ giải thích lý do tác
tử không chấp nhận đề nghị cùa đối tác hay lý đo tác tử đưa ra một đề nghị nào đó. Bằng
cách giải thích lý do không chấp nhận đề nghị, tác tử có thề chì rồ những phương án không
t h ẻ c h ấ p Iihận v à q u a đ ỏ th u h ọp k h ô n g g ia n t h ư ơ n g lư ợ n g . T r o n g k h i đ ó , b à n g c á c h g iải
thích lý do đưa ra đề nghị của mình, tác tử có thể thuyết phục đối tác chấp nhận đề nghị đó.
Ví dụ, khi người bán đưa ra giá bán máy tính cao, người bán có thể thuyết phục người mua
bằng cách chứng minh chất lượng lắp ráp tốt hoặc thời gian bảo hành lâu.

T hứ hai, các phương pháp thương lượng ờ trên đòi hòi tác từ xác định hàm tiện ích
hoặc mức ưu tiên cùa mình với các phương án từ trước và hàm này không thay đổi trong
quá trình thương lượng. Trên thực tế, đánh giá của con người đối với các phương án có thể
thay đổi đáng kể khi có thêm thông tin. Ví dụ, khi mua nhà đất ờ Việt Nam, người mua
định giá ngôi nhà dựa trên thực trạng của đường đi. Tuy nhiên, nếu trong lúc thương lượng,
Tương tác trong hệ đa tác từ 113

người mua được biết đường đi đang trong quy hoạch mở rộng thì đánh giá ban đầu sẽ thay
đồi hoàn toàn.

Thương lượng dựa trên lập luận cho phép khắc phục những nhược điểm này. Ý
tường cơ bản cùa thương lượng dựa trên lặp luận là cho phép các bên tham gia trao đổi
thông tin bồ sung ngoài đề nghị và phản đề nghị. Thông tin trao đổi có thể biểu diễn dưới
nhiều dạng khác nhau nhưng đều là những lý lẽ cho phép thể hiện một cách tường minh ý
kiến cùa người đưa ra lý lẽ. Chẳng hạn, cùng với việc từ chối một đề nghị, tác từ có thể
thông báo cho đối tác thương lượng phần nào hay toàn bộ đề nghị không được chấp nhận,
nhờ vậy giúp đối tác khoanh vùng và loại bò những đề nghị không có triển vòng. Dưới đây
là một ví dụ sứ dụng phê bình.

Tác tủ A: Tôi sẽ cung cấp mặt hàng X nếu anh cung cấp
cho tôi dịch vụ Y.

Tác tử B: Tôi có thể cung cấp Y nhung tôi không cần X.

Phản hồi này cho phép A loại bó mặt hàng X khỏi đối tượng thương lượng trong
những vòng tiếp theo.

Tác từ cũng có thề bổ sung cho đề nghị cùa mình những lý lẽ giải thích tại sao đối
tác nên chấp nhận đề nghị. Những lý lẽ như vậy có thể ánh hường tới hàm tiện ích và mức
ưu tiên cùa đối tác và qua đó thay đổi không gian thương lượng. Trong ví dụ mua bán nhà ở
trên, nếu người bán giài thích giá bán nhà cao do quy hoạch mới người bán có thể khiến
người mua mờ rộng không gian thương lượng qua việc chấp nhận giá mua nhà cao hon
c h u ẩ n b j b a n đầu.

Việc lập luận và trao đổi lý lẽ có thể kết hợp với quá trình đề nghị và phàn đề nghị
cùa tác tử. Mỗi vòng trao đổi đề nghị sẽ được xen kẽ với một số vòng trao đổi lý lẽ. Khi
vòng trao đổi lý lẽ kết thúc, tác tử bước sang vòng trao đổi đề nghị tiếp theo. Cơ chế lập
luận cụ thể thường được xây dựng dựa trên một hệ thống lôgic.

Mặc dù có một số ưu điểm, phương pháp thương lượng dựa trên lập luận phức tạp
hơn nhiều SO vái thương lượng dựa trên lý thuyết trò chơivà hiện đang được tiếp tục
nghiên cứu để có thể sử dụng cho những tình huống thương lượng về các chủ đề phức tạp.
CHƯƠNG 4

Phối hợp trong hệ đa tác tử

Trong chương 3 ta đã đề cập tới vấn đề tương tác giữa các tác từ tư lợi và phân tích
các đặc điểm của tương tác loại này từ quan điểm lý thuyết trò chơi. Trong chương này, ta
sẽ xem xét vấn đề tương tác cho hệ tác từ được hình thành từ những tác tử cộng tác. Khác
với tác tử tư lợi, tác tử cộng tác làm việc trên cơ sở hợp tác tự nguyện, mỗi tác tử đều hành
động vl mục tiêu chung cùa toàn hệ thống. Đặc điềm của tác tử cộng tác cho phép đơn giản

hoá rất nhiều việc tổ chức tương tác, ví dụ tác tử cộng tác sẽ không cố che giấu thông tin
hoặc thao túng giao thức tương tác. Do vậy, yêu cầu đặt ra khi xây dựng hệ tác từ cộng tác
116 Tác tử - Công nghệ phần mềm hướng tác từ

có nhiều điểm khác biệt SO với yêu cầu đối với tác tử tư lợi. v ấ n đề chù yếu khi xây dựng
hệ tác từ cộng tác là phài có cơ chế cho phép phối hợp tác tử trong hệ thống một cách hiệu
quà. Đây cũng là nội dung chủ yếu cùa chương này.

Hệ tác từ cộng tác còn được gọi là hệ giải quyết vấn đề phân tán. Ý tường về các hệ
thống tính toán cộng tác với nhau để cùng thực hiện m ột số công việc nào đó không phải là
mới, chẳng hạn, các hệ thống tính toán song song hay các hệ phân tán đều thuộc loại này.
Tuy nhiên, vấn đề cộng tác trong hệ tác từ khác với hệ thống phân tán truyền thống ờ một
đặc điểm quan trọng sau. Trong hệ phân tán truyền thống, cơ chế hợp tác giữa các thành
phần được xác định từ đầu, trong giai đoạn thiết kế, và không thay đổi trong quá trình hoạt
động cùa hệ thống. Ngược lại, nhờ khả năng ra quyết định tự chủ, tác tử có thể thay đồi

hình thức và cơ chế cộng tác một cách mềm dẻo trong quá trình làm việc.

1 PHỐI HỢP VÀ TÀM QUAN TRỌNG ĐỐI VỚI HỆ ĐA TÁC


1.1 Phối họp là gì


Mục đích chính của việc xây dựng và ứng dụng hệ đa tác tử là kết họp khà năng cùa
nhiều tác tự chú từ để giải quyết một số nhiệm vụ. Trong m ột hệ thống có nhiều thành viên
với đặc điểm tự chù như vậy, nếu mỗi thành viên hành động theo cách cùa mình, không
tương tác hợp lý với những thành viên khác thì toàn hệ thống sẽ hoạt động rời rạc, không ăn
ý, thành viên cùa hệ thống, thay vì đóng góp vào vào giải quyết công việc chung, có thể cản
trờ lẫn nhau, làm ánh hường tới hoạt động cùa thành viên khác. Hệ thống khi đó sẽ hoạt
động kém hiệu quà, cho kết quà ngược với mong đợi. Đế giải quyết vấn đề này, khi thiết
kế và xây dựng hệ đa tác từ cần đặc biệt quan tâm đến vấn đề ph ố i hợp (coordination).

Phối hợp là tổ chức và quản lý quan hệ phụ thuộc trong hành động của các tác từ
sao cho loàn hệ thống hoạt động m ột cách thong nhất.

Cụ thể hơn, quá trình phối hợp phải cho phép đáp ứng những yêu cầu sau: thứ nhất,
đảm bảo các phần việc cùa nhiệm vụ chung được sắp xếp trong kế hoạch của ít nhất m ột tác
tử (đàm bảo công việc sẽ được ai đó thực hiện); thứ hai, tác tử tương tác với nhau sao cho
hoạt động cùa tác tử được kết hợp với nhau để tạo thành kết quả chung; thứ ba, các yêu cầu
Phối hợp trong hệ đa tác từ 117

đó phải được thực hiện trong m ột thời gian hữu hạn với số lượng tài nguyên tính toán hợp

lý.

Phối hợp đóng vai trò quan trọng trong các nghiên cứu về hệ đa tác tử nói riêng và
trí tuệ phân tán nói chung. Đây cũng là đối tượng nghiên cứu cùa nhiều ngành khoa học xã
hội khác như xã hội học, kinh tế, tâm lý xã hội, chính trị học, luật, nhân loại học. Chẳng
hạn, xã hội học nghiên cứu sự phối hợp giữa những người trong một nhóm với kích thước
nhóm khác nhau; kinh tế học nghiên cứu quá trình phối hợp trên thị trường giữa những

công ty hạch toán độc lập. Các hệ thống sinh học cũng biểu hiện khá năng phối hợp, chẳng
hạn hoạt động cùa não được tạo thành từ sự phối hợp cùa các nơron đơn giàn.

1 .2 S ự c ầ n th iế t p h ả i p h ố i h ọ p

Sau đây là một số lý do vì sao phối họp lại cần thiết đổi với hệ đa tác từ.

■ Hành động cùa từng tác tứ phụ thuộc vào hành động cùa tác từ khác. Hành động
cùa tác từ phụ thuộc vào nhau trong hai trường hợp: 1) quyết định cũa tác từ này ảnh
hưởng đến quyết định của tác tử khác, chẳng hạn, khi đá bóng việc tiền đạo chạy lên
phía trước sẽ ảnh hường tới quyốt định cùa tiền vệ chuyền bóng lên thay vì chuyền
ngang ; 2) hành động cùa các tác tứ có thế mâu thuẫn với nhau, ví dụ nếu nhiều tác
từ - robot có nhu cầu di chuyến qua một cửa trong khi cứa chi cho phép từng tác tử
đi qua thì có thể dẫn tới va chạm.

* Phổi hợp cho phép tránh tình H ạng hun loạn. Trong hệ thống bao gồm nhiều tác từ,
mỗi tác từ chi có hình dung cục bộ về môi trường và hành động cùa mình, hành
động cùa nhiều tác từ có thế máu thuẫn với nhau, tình trạng hỗn loạn là rất tự nhiên
và không thề tránh khỏi nếu không có cơ chế phối hợp. Ví dụ về trạng thái hỗn loạn
tinh trạng giao thông trên đườm> khi không có luật giao thông, mỗi người tự đi theo
ý muốn của mình.

■ Phoi họp cho phép đạt được những ràng buộc long the. Ràng buộc tổng thể là ràng
buộc mà nhóm tác từ cần thoà mãn trong quá trình hoạt động. Chẳng hạn, nhóm tác
tử làm nhiệm vụ xây dựng mộl ngôi nhà chi được được phép sử dụng một số tiền
nhất định đề hoàn thành ngôi nhà đó. Hoặc hệ tác tử làm nhiệm vụ điều khiển quá
trình công nghiệp phải kịp đưa ra hành động trong một khoảng thời gian nào đó.
118 Tác tử - Công nghệ phàn mềm hướng tác 1C tử

Nếu m ỗi tác tử làm việc riêng rẽ và đều cố gắng tối ưu hàm m ục tiêu riêng cùa m ìm ình
thì các ràng buộc này sẽ bị phá vỡ. T rong vi dụ trên, mỗi tác tứ có thể cố gắng Ìg sử
dụng số tiền tối đa có thể hoặc sừ dụng nhiều thời gian hơn để ra quyết định.

• Không cá thế nào có khá năng thực hiện công việc một mình do hạn chế v ề lề tài
nguyên, khà năng hoặc thông tin. Nhiều công việc không thể hoàn thành bởi nhữhững
tác tử hoạt động riêng rẽ do không đù khá năng, tài nguyên hoặc thông tin. V í ở dụ,
không cá nhân riêng lẻ nào có thể xây dựng những phần mềm phức tạp như hệ đi điều
hành W indow s trong m ột thời gian tương đối ngắn. Việc tạo ra một tác từ vạn nănăng
bao gồm những thành phần có khà năng thực hiện mọi nhiệm vụ có thể không th thực
tế hoặc kém hiệu quả, và do vậy, phối hợp nhiều tác tử có khả năng giải quyết vt vấn
đề độc lập là giải pháp duy nhất. Táe tử vói khả năng và kinh nghiệm khác nhau IU có
thề phối hợp như các chuyên eia y tế phối hợp kinh nghiệm cúa minh trong chuhuần
đoán và điều trị bệnh nhân. Tác tử có thể có tài nguyên khác nhau (bộ nhớ, thời gi gian
CPU, đường truyền) cần thiết cho các bài toán phức tạp. Tác tử có thể chia sẻ c; các
thông tin của m ình để tạo ra nguồn thông tin chung cần thiết (ví dụ tác tử làm nhiệiiệm
vụ điều khiển giao thông có thể kết liợp thông tin từ những cam era riêng rẽ để có có cái
nhìn toàn cành).

Thậm chí trong các trường hợp tùrvg tác từ riêng lè có thế làm việc độc lập, thông Ig tin
của tác tử này vẫn có thể có ích cho tác,tử khác. Lấy ví dụ tình huống sau: “Tôi tìm đưđược
một bài báo trên mạng. Tôi biết rằng bài báo đó cũng cần thiết cho bạn tôi. Tôi in thêm m một
bản và đưa cho bạn tô i” . Rõ ràng, phối hợp trona trường hợp này là không nhất thiết. B Bạn
tôi cũng có thể tự tìm và in bài báo đó. N lning việc chù động phối hợp cho phép bạn tôi tii tiết

kiệm thời gian tìm kiếm và tải bài báo về.

1.3 Một số đặc điểm của phối họp trong hệ tác tử


Phối họp trong hệ đa tác tử xuất hiện trong thời gian hệ thống hoạt động. Do vậy ty tác
tử phải có khả năng phát hiện yêu cầu phối họp và thực hiện phối hợp như một phần troirong

hoạt động cùa m ình. Đặc điểm này khác với các hệ thống phân tán truyền thống trong (g đó
quá trình phối hợp giữa các thành phần đưọc dự đoán trước trong quá trình thiết kế.
Phói hợp trong hệ đa tác tử 119

Một điều cần ghi nhớ là p h ổ i hạp và hợp tác không nhất thiết phải đi cùng với nhau.
Nhiều tác từ hợp tác với nhau trong công việc chung không được phối hợp tố t có thể dẫn tới
hỗn loạn, thiếu thống nhất. Để có thể hợp tác hiệu quả, tác từ cần lưu trữ mô hình về tác từ
khác cũng nhưng hình dung về các tương tác trong tương lai. T rong khi đó, phối hợp có thể
thực hiện cho các tác từ không hợp tác với nhau. Ví dụ, mặc dù những người tham gia giao
thông không quen biết và không có công việc chung cần hợp tác, giao thông vẫn được điều
phối bằng cách ban hành hệ thống luật, quy tắc và sử dụng các phương tiện điều khiển giao
thông. Thậm chí, điều phối có thể thực hiện đối với hệ thống bao gồm những tác từ cạnh
tranh với nhau. Quy luật cạnh tranh là m ột cơ chế phối họp được nghiên cứu kỹ trong kinh

tế học.

Để thực hiện phối hợp, tác từ có thể liên lạc với nhau. Tuy nhiên liên lạc không phài
là điều kiện bắt buộc cho phối hợp. Phối họp không thông qua liên lạc có thể thực hiện nếu
mỗi tác tử có được m ô hình hành động cùa tác từ khác.

1.4 Quan hệ giữa các hành động


Như đã nói ở phần 1.2, hành động của tác tử trong hệ thống có thể cỏ có những mối

quan hệ phục thuộc với nhau. Khi xây dựng cơ chế phối hợp cần chú ý đến những quan hệ
này. Quan hệ giữa hành động thực hi ện bòi các tác tứ khác nhau được chia thành hai loại
chính: tiêu cực và tích cực (xem hình 4.1).

Hình 4.1 Các dạng quan hệ giữa các hành động.


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

Hai hoặc nhiều hành động có quan hệ tiêu cực hay quan hệ mâu thuẫn với nhau nếu
việc thực hiện hành động này gây trở ngại cho việc thực hiện đồng thời hành động khác.
Nguyên nhân của quan hệ tiêu cực có thể do mâu thuẫn về mục tiêu hành động hay do hạn
chế về tài nguyên. Ngược lại, quan hệ lích cực là quan hệ cho phép hành động này được lợi
từ việc thực hiện hành động khác. Việc kết hợp hành động có quan hệ tích cực cho kết quả
tốt hơn SO với thực hiện những hành động này m ột cách độc lập. Quan hệ tích cực được
phân chia tiếp thành một số dạng sau. Quan hệ bình đằng là quan hệ khi m ột hành động

không gẳn với một tác từ cụ thể và do đó có thể được thực hiện bời bất cứ tác từ nào. Q uan
hệ gộp là quan hệ khi hành động A cùa một tác từ X là một phần trong hành động B cùa tác
tử Y, do vậy khi Y thực hiện hành độnsỉ B cùa m ình, hành động A cũng được thực hiện
theo. Quan hệ giúp đỡ là quan hệ trong đó việc thực hiện hành động này có lợi cho việc
thực hiện hành động khác.

Việc xác định quan hệ giữa hai hành động rất quan trọng cho việc phối hợp hành
động. Trong trường hợp phối họp được thực hiện tập trung, việc xác định quan hệ hành
động tương đối đơn giản. Ngược lại, nếu phối hợp được thực hiện phân tán,việc xác định
trước quan hệ giữa các hành động thirừng rất khó khăn. Đặc điểm này là nguyên nhân chính
dẫn tới sự phức tạp trong lập kế hoạch phân tán.

2 CHIA SẺ CÔNG VIỆC

Một trong các chiến luọc thường được sừ dụng đề phối hợp tác từ trong giải quyết
vấn đề phân tán là chia sẻ công việc (Icisk xharing). Ỷ tường chia sè công việc rất đơn giàn:
khi tác từ có nhiều việc phải thực hiện hoặc có những phần việc không có khả năng thực
hiện, tác từ có thể yêu cầu các tác tử khác với ít việc hơn hay có khà năng hơn thực hiện
một phần việc giúp minh. Chia sè công việc bao gồm các bước sau (xem hình 4.2):

• P hân ră công việc: công việc (hoặc bà' toán) được chia thành các phần việc nhỏ
hơn (bài toán con) mà các tác tử khác có thể thực hiện. Nếu cần thiết, phần việc con

sinh ra lại được phân rã tiếp để tạo thành những phần việc nhỏ hơn. Q uá trinh này có

thể tiếp tục cho tới khi từng phần việc đù nhò để từng tác từ riêng lể có thề thực hiện

được.

■ P h â n phối công việc: các phần việc được phán phối đến những tác từ thích hợp để
Phối hợp trong hệ đa tác từ 121

thực hiện.

■ Thực hiện công việc: tác tứ tương ứng thực hiện phân việc được giao. Mỗi tác tử
sau khi nhận phần việc cùa mình lại có thể tiếp tục phân chia thành những phẩn việc
nhỏ hơn và giao cho tác từ khác thực hiện. Quá trình phân rã, phân phối và thực hiện
lặp lại cho đến khi mỗi tác từ có thể tự thực hiện phần việc cùa minh mà không cằn
chia sẻ tiếp.

■ Tống h ọ p kết quã: sau khi thục hiện xong phần việc cùa minh, tác tư gửi kết qua
cho tác tứ gốc (tác tử giao nhiệm vụ). Tác từ gốc kết hợp kết quả thành phấn đé nhặn
được kết quà chung.

Phân ra công việt Phân phối và thực hiện Tông hợp kết quà
còng việc

Hinh 4.2 Mô hình chia sẻ cõng việc.

Tuỳ từng trường hợp cụ thể, các bước nêu trên có thể phức tạp hoặc đơn giản. Chẳng
hạn, nếu bản thân nhiệm vụ ban đầu đã có dạng tập hợp nhiều công việc con, khi đó, bước
phân rẫ công việc ià không cần thiết. Neu tác tử có thể giao công việc cho một số lượng
không hạn chế tác tử với khà năng giống nhau thì bước hai có thể thực hiện dễ dàng không
cần lựa chọn gi đặc biệt. Tương tự như vậy, trong nhiều trường họp, kết quà thực hiện phần
122 Tác tử - Công nghệ phần mềm hướng tác từ

việc con không đòi hòi quá trình tồng hợp kết quả phức tạp, và do vậy có thể bó qua bước
thứ tư.

♦ Chia sẻ công việc nhò'đấu thầu


Quá trình chia sẻ công việc trở nên phức tạp hơn nhiều trong trường họp: tác tứ có
khả năng khác nhau; các phần việc con không giống nhau cà về kích thước lẫn yêu cầu;
phần việc con vẫn còn tương đối lớn đòi hòi phân chia tiếp. Các hệ thống như vậy rất phổ
biến trên thực tế do một số nguyên nhân sau. Thông thường, hệ tác tử không bao gồm các
tấc tử vạn năng mà bao gồm tác tử với chuyên môn hẹp, mỗi tác từ chi có thể thực hiện
loại công việc nhất định. Đặc điềm này tương tự hệ thống làm việc của con người, việc kết
họp nhiều chuyên gia với chuyên môn hẹp khác nhau cho hiệu quà tốt hơn hoặc kinh tế hơn
sứ dụng những người toàn năng. Công việc cần thực hiện cùng thường có cấu trúc phức tạp,
có thề phân chia theo nhiều cách khác.

Vấn đề đặt ra là làm thế nào thực hiện chia sẻ công việc trong hệ thống như vậy?
Theo một giải pháp đơn giản nhất, mỗi tác từ có một báng riêng lưu thông tin về khà năng
cùa tác tử khác. Khi cần chia việc, tác tử căn cứ vào bàng này đế tìm ra tác tử phù hợp. Mặc
dù đơn giản, phương phấp này không thích nghi với thay đổi trạng thái trong hệ thống. Ví
dụ, sau khi tìm trong bảng nói trên, tác tử phát hiện ra một số tác từ có thể thực hiện phần
việc vừa sinh ra. Tuy nhiên, một vài tác tử trong số đó đẫ được giao việc khác và đang bận
thực hiện việc này. Vậy làm thế nào để biết được tác từ nào đang rỗi và giao việc phù hợp?

Một trong những cơ chế chia sẻ công việc được biết đến nhiều nhất cho phép giái
quyết vấn đề nói trên là m ạng đấu thầu (Contract NeI) hay đơn giàn là đau ihầu. Đấu thầu
là giao thức bậc cao cho phép tác tử hợp tác một cách hiệu quà nhờ chia sẽ công việc. Mạng
đấu thầu bao gồm tập hợp các tác tứ thực hiện cơ chế đấu thầu qua các bước sau (hình 4.3).

■ Bu'ô'c 1: Tác tử đánh giá công việc và nhận thấy cần sự giúp đỡ cùa tác từ khác để
thực hiện công việc của mình. Tác từ cần sự giúp đỡ trong ít nhất một trong các
trường họp trường hợp sau: I) Tác từ không thể thực hiện được được công việc hiện
có do không có khả năng hoặc tài nguyên cần thiết; 2) Sự giúp đờ cùa tác từ khác
cho phép thực hiện công việc tốt hơn hoặc nhanh hơn.
Phối hợp trong hệ đa tác từ 123

■ Buóc 2: Tác từ chia công việc thành các phần việc nhò hơn và gửi thông báo về
phần việc tới các tác từ khác (xem hình 4.3a). Thông thường, tác tử gửi thông báo
tới tất cả các tác từ còn lại, cách này gọi là thông báo quàng bá. Neu có thông tin về
một số tác tử có khả năng thực hiện công việc, thông báo sẽ được hạn chế chi gửi
đến các tác tử đó, cách này gọi là thòng báo hạn chế. Trong trường hợp tác tứ biết
đích xác tác từ nào có khá năng nhận công việc hiện tại, thông báo sẽ được gửi đích
danh đến tác từ đó. cách thông báo này gọi là ihônẹ báo trực tiếp. Tác tử thực hiện
phân chia công việc và gửi thông báo được gọi là lác lư quán lý (manager). Cũng
chinh tác từ quàn lý sau đó chịu trách nhiệm theo dõi việc thực hiện và tống hợp kết

quà thành phần.

■ B uóc 3: Các tác tử khác sau khi nhận được thông báo sẽ ra quyết định có bó thầu
(nhận việc) hay không. Để quyết định về việc bó thầu, tác từ cần đánh giá các yếu tố
sau: (1) Khả năng cùa tác tử thực hiện công việc. Khá năng này bao gồm khá năng
vốn có của tác tư và tình trạng hiện tại (tác tứ có bận thực hiện công việc khác hay
không, tài nguyên còn lại có đú không); (2) Các ràng buộc và giá tliànli thực hiện
(nếu có). Giá thành thực hiện được tính dưới dạng ích lợi mà tác từ thu được hoặc
lượng tài nguyên mà tác từ cần sử dụng đề thực hiện công việc đó. Neu quyết ^ịnh
bỏ thầu, tác từ gùi đề nghị nhận thầu cho tác tử quàn lý (xem hình 4.3b). Thông báo
này có thể chứa thông tin về giá thành và thời hạn thực hiện.

* B uóc 4: Tác tử quàn lý có thể nhận được nhiều đề nghị từ những tác từ khác nhau.
Khi đó, tác tử quản lý lựa chọn trong số này một tác tử trúng thầu. Quy trình lựa
chọn phụ thuộc vào trường hợp cụ thể nhưng thường dựa trên giá thành và thời gian
kèm theo đề nghị. Tác tử gửi thông báo cho tác từ trúng thầu và tác tử này trở thành

nhà ihầu đối với công việc nhận được (hình 4.3c).

Sau khi trở thành nhà thầu, tác từ có trách nhiệm hoàn thành công việc đó. Mỗi nhà
thầu có thề tự thực hiện công việc nhận được hoặc chia công việc thành các phần nhò hơn
và mời các tác tử khác thầu lại. Khi đó tác từ nhà thầu đóng vai trò tác tứ quàn lý đối với

các gói thầu mới.

Sau đây là một số chi tiết cụ thế liên quan đến giao thức đấu thầu cho hệ tác từ.
124 Tác tử - Công nghệ phần mềm hướng tác tử

Đ ịnh d ạ n g th ô n g báo m òi th ầu . Thông báo bao gồm bốn loại thông tin chính sau:

Yêu cầu vé' khả năng nhà thầu: là danh sách các tiêu chí mà tác tử phải có để có thể
trờ thành nhà thầu. Khi nhận được thông báo mời thầu, tác tử xem xét thông tin này đế đánh
giá khả năng tham gia cùa minh.

M ô tà công việc: m ô tá vắn tắt công việc được thông báo, mô tả này cho phép tác từ
nhận thông báo SO sánh thông báo với các lời mời thầu khác.

Yêu cầu đối với để nghị bó thầu: mô tả khuôn dạng và thông tin cần có trong đề nghị
bỏ thầu. Tác tử quàn lý có thể yêu cầu các tác từ khác chi cung cấp các thông tin cần thiết
cho việc đánh giá trong đề nghị bó thầu.

Hình 4.3 Giao thức đấu thầu cho hệ đa tác tử.


Phối hợp trong hệ đa tác tử 125

Hạn bỏ thầu: là thời hạn cuối cho việc nhận thông báo bỏ thầu. Sau khi hết thời hạn
này, tác tử quản lý xem xét các đề nghị nhận được để chọn ra một tác từ làm nhà thầu.

K hông tác tử nào có thế th ự c hiện công việc đ u ọ c thông báo. Trong trườn!; hợp
tất cà tác tử đều bận và không thể nhận thầu, tác từ quản lý có thể chọn một trong các cách
giải quyết sau:

Nếu đang sừ dụng chế độ thông báo hạn chế hoặc thông báo trực tiếp, tác tử quàn lý
mở rộng khoáng mời thầu bằng cách thõng báo quáng bá tới tất cà tác tử trong mạng đấu
thầu. Việc quáng bá thông báo cho phép tìm được những tác từ mặc dù không nằm trong
danh sách ứng cử viên ban đầu nhưng có khà năng thực hiện công việc được thông báo.

Lặp lại việc gừi thông báo mời thầu. Việc gừi thông báo mời thầu sẽ được định kỳ
lặp lại cho đến khi một tác tử nào đó kết thúc công việc cùa mình và có thể tham gia vào
phiên đấu thầu. Thông số quan trọng khi đó là khoảng thời gian giữa các lần lặp lại thông
báo. Nếu thông báo được lặp lại quá thưa, tác tử sẽ không tận dụng được ngay các tác từ
vừa được giài phóng. Ngược lại, thông báo lặp lại quá thường xuyên sẽ làm tâng chi phí
truyền thông cho chuyển thông báo. Một giãi pháp hợp lý hơn là cho phép các nhà thầu
thông báo về tình trạng sẵn sàng cùa minh. Khi nhận được thông báo này, tác tử quàn lý sẽ
lặp lại thông báo mời thầu đang bị treo.

Thay đổi thông báo mời thầu bằng cách giám bớt y êu cầu đổi với nhà thầu. Trong
trường hợp yêu cầu về khả năng nhà thầu trong thông báo ban đầu quá chặt chẽ, tác từ quản
lý có thể giảm bớt các yêu cầu này để tim ra các nhà thầu mới. Bằng cách thay đổi các yêu
cầu này, tác tứ có thế xác định sự ưu tiên cùa mình đối với chất lượng dịch vụ.

Cuối cùng, tác tử cỏ thể thay đổi lại cách phán rã công việc. Việc phân chia công
việc theo cách khác có thể cho phép tìm ra nhà thầu thích hợp với các phần việc mới. Do
công việc có thể phân rã theo nhiều cách khác nhau, quan hệ giữa phân rã công việc và khả
năng tìm nhà thầu (phân chia công việc) là rất phức tạp và hiện tại chưa có phương pháp
hiệu quà cho phép giải quyết vấn đề này.

Đấu thầu là phương pháp hợp tác được sừ dụng và nghiên cứu nhiều nhất Irong
khuôn khổ giài quyết vấn đề phân tán. Ưu điểm chính cùa đấu thầu là đom giản, trực quan,
cho phép thích nghi với thay đổi trạng thái cùa từng tác tử trong hệ thống. Mỗi tác từ đều có
126 Tác tử - Công nghệ phần mềm hướng tác từ

thể đóng vai trò tác tử quản lý hay tác tử nhà thầu tuỳ thuộc vào khá năng và trạng thái hiện
thời cùa tác tử.

Ví dụ: Đấu thầu được sử dụng trong xây dựng nhiều ứng dụng khác nhau. Một trong
các úng dụng đó là Thiết lập m ạng cảm biến phân tán (Distributed Sensor Net
Establishment - DSNE). Mạng cảm biến phân tán bao gồm m ột số nút được bố trí phân tán
trong một khu vực rộng với nhiệm vụ theo dõi sự di chuyển cùa xe cộ trong khu vực đó.
Mỗi nút được đặt tại một vị trí cố định và không biết trước vị trí cùa nút khác. Các nút được
chia làm hai loại: loại thứ nhất (ký hiệu S) đirợc trang bị cám biến ầm thanh và có khả năng
phát hiện xe trong phạm vi hoạt động cùa mình; loại thứ hai (ký hiệu P) chi có khá năng xử
lý thông tin. Ngoài ra còn một nút M có nhiệm vụ tổng họp kết quả cảm biến và gừi cho
người ra quyết định. Tổ chức hệ thống càm biến phân tán được minh hoạ trên hình 4.4.
Vòng tròn quanh các nút là phạm vi hoạt động cùa cảm biến. Đường thẳng chạy ngang qua
là quỹ đạo chuyển động cùa một xe. Do khu vực cần theo dõi rộng hơn phạm vi hoạt động
cùa từng nút, không nút nào có khả năng theo dõi toàn khu vực một cách độc lập. Nếu coi
mỗi nút là một tác từ thì đây là một ví dụ hệ đa tác từ trong đó từng tác từ không đù khả
năng để giải quyết công việc một mình.

Hình 4.4 Hệ cảm biến phân tán: M: nút giâm sát, S: nút cảm biến, P:
nút xử lý.

Nhiệm vụ cùa hệ thống là tổng họp m ột số lượng lớn dữ liệu càm biến được, lọc bớt
dữ liệu trùng lặp và biến đổi thành dạng thích hợp cho người sừ dụng. Dữ liệu và công việc
Phối hợp trong hệ đa tác tử 127

được phân cấp như trên hình 4.5a và 4.5b. Ở mức thấp nhất, dữ liệu có dạng tín hiệu thô.
Các tín hiệu liên quan đến nhau tạo thành các nhóm (mức thứ hai từ dưới lên). Tín hiệu ờ
mức cao hơn tương ứng với xe. Mỗi xe được mô tà bởi một số nhóm tín hiệu liên quan và
bao gồm các đặc điểm như: vị trí, tốc độ, hướng chuyển động, loại xe (do động cơ từng loại
xe có tần số âm thanh phát ra khác nhau nên việc phân tích tín hiệu âm cho phép xác định
âm thanh đó là cúa loại xe nào). Vị trí xe được xác định bàng cách cách phân tích tín hiệu
thu được từ một số cảm biến lân cận, tốc độ và hướng chuyển động có thể xác định bằng
cách theo dõi vị trí xe theo thời gian. Sơ đồ khu vực là mức tiếp theo trong phân cấp dữ liệu.
Mức này bao gồm thông tin về chuyển động cùa xe trong một khu vực nhò. Thông tin từ tất
cà các khu vực nhỏ tạo thành sơ đò toàn khu vực và được xử lý bởi nút M.

Phân cấp công việc được tạo thành từ phân cấp dữ liệu. Tác từ tại nút M quàn lý một
số nhà thầu khu vực. Mỗi nhà thầu loại này chịu trách nhiệm lập sơ đồ xe trong khu vực cùa
mình. Mỗi nhà thầu khu vực lại quản lý một số nhà thầu tín hiều và nhà thầu xe. Nhà thầu
tín hiện tổng hợp tín hiệu từ các nút cám biến và cung cấp cho nhà thầu khu vực trong khi
nhà thầu xe chịu trách nhiệm theo dõi và cung cấp thông tin về xe cùa mình. Mỗi nhà thầu
xe, để thực hiện nhiệm vụ của mình, lại quàn lý ba nhà thầu làm các công việc phân loại,
định vị và theo dõi.

Hình 4.5 Phân cấp dữ liệu (a) và phân cấp công việc.
I
Hoạt động cùa hệ thống được chia thành hai giai đoạn: khới tạo và thực hiện. Mặc
128 Tác tử - Công nghệ phần mềm hướng tác tử

dù giai đoạn hoạt động rất quan trọng, ờ đây ta chì xem xét giai đoạn khởi tạo do giai đoạn
này liên quan trực tiếp đến giao thức đấu thầu.

Tác từ M chịu trách nhiệm khới tạo hệ thống và tồng hợp sơ đồ toàn khu vực. Khởi
đầu, M chọn trong số nút p một số nhà thầu khu vực và phân chia khu vực cho các nhà thầu
này. Do đặc điểm hệ thống, lúc đầu, M chi biết tên các nút p mà không biết vị trí. M gửi
thông báo mời thầu cho các nút p. Thông báo chứa yêu cầu về khả năng nhà thầu - có vị trí
phù hợp - và yêu cầu đối với đề nghị bó thầu - ở đây là mô tả về khu vực sẽ giám sát. c ầ n
nhắc lại yêu cầu với đề nghị bó thầu mô tả thông tin cần có trong đề nghị đề tác tử quàn lý
có thể lựa chọn trong số đề nghị nhận được.

Sau khi nhận thông báo, tác tử p gửi lại đề nghị bó thầu có chứa thông tin về vị trí và
khu vực giám sát dự kiến cùa mình. Trên cơ sờ thông tin này, M phân chia toàn khu vực
thành khu vực con lựa chọn một số nhà thầu khu vực. Thông báo được gửi cho những nút p
thắng thầu.

Sau khi được giao nhiệm vụ, nhà thầu khu vực tổng hợp dữ liệu về xe để hinh thành
sơ đồ khu vực cùa minh. Để có được dữ liệu, nhà thầu khu vực cần thu thập từ những nút
khác. Do không biết nút nào có khá năng cung cấp các dữ liệu này, nhà thầu khu vực thông
báo về nhiệm vụ đến các nút khác. Thông báo bao gồm thông tin về khu vực cần giám sát.
Đề nghị bỏ thầu bao gồm vị trí các nút trong khu vực. Các nút tháng thầu trờ thành nhà thầu
nhóm tín hiệu và nhà thầu xe.

Quá trình chia sẻ công việc được tiếp diễn tương tự cho đến khi tlm được nhà thầu ờ
mức thấp nhất: mức tín hiệu, định vị, phần loại và theo dõi. Trên hình 4.6 và 4.7 là vl dụ
thông báo mời thầu và đề nghị bó thầu cho quá trình đấu thầu ớ mức tín hiệu.

Sừ dụng giao thức đấu thầu như trong ví dụ trên cho phép chia sè công việc một
cách mềm déo cho các ứng dụng trong đó cấu trúc nhiệm vụ không được biết từ trước và có
thể thay đổi trong quá trình hoạt động. Các phần việc còn quá lớn có thề phân ră thành các
phần nhò hơn và phân chia tiếp tới những tác từ thích hợp. Mỗi tác tử đều có thể đóng vai
trò người giao việc hoặc người thực hiện.
Phối hợp trong hệ đa tác tử 129

To: *
From: 25
Kiểu: Thông báo công việc
Gói thầu: 22-3-1
Yêu cầu về khà năng:
Có cảm biến
Nằm trong khu vực A
Mô tả công việc:
Loại việc: tín hiệu
Vị trí: Vĩ_độ 47N Kinh_độ 17E
Khu vực A Đặc điếm (...)
Yêu cầu đối với đề nghị bò thầu:
Khu vục, Vĩ_độ, Kinh_độ
Tên, kiểu
Hạn chót:
15:40:20 02/07/2003
Hình 4.6 VI dụ một thông báo công việc ở mức tín hiệu.

To: 25
From: 42
Kiểu: Đề nghị
Gói thầu: 22-3-1
Mô tà nút:
Vĩ_độ 47N Kinh_độ 17E
Tên SI kiểu s
Tên S2 kiểu s
Tên TI kiều T
Hình 4.7 Ví dụ đề nghị bỏ thầu.

3 CHIA SẺ KÉT QUẢ

Một chiến lược khác cho phép phối hợp các tác tử hợp tác là chia sè kết quà. Chia sè
kết quả là phương pháp giãi quyết vấn đề phân tán trong đó các tác tử trao đổi thông tin về
kết quả thục hiện công việc cúa mình. Quá trình trao đổi thòng tin bắt đầu từ thông tin về
những kết quả đơn giản và tiếp tục bằng việc trao đổi những kết quả lớn hơn với độ phức
tạp cao hcm. Một trong các lý do phải trao đồi kết quả là kết quá thực hiện công việc cùa
130 Tác từ - Công nghệ phần mềm hướng tác từ

từng tác tử phụ thuộc vào trạng thái và khả năng tác tử đó, do vậy kết quà thực hiện cùng
một công việc trên những tác từ khác nhau có thể khác nhau. Ví dụ, với cùng một bài tập,
những sinh viên khác nhau có thể cho lời giãi khác nhau. Chia sè kết quá. do vậy, cho phép
cải thiện kết quả chung cùa cà nhóm tác tử trên những phương diện sau:

• T ăng độ t in cậy: Ket quả sinh ra độc lập bởi các tác từ khác nhau cho cùng một
công việc có thể dùng để kiểm tra lẫn nhau, cùng cố ủng hộ nhau và sinh ra giải
pháp tập thể có độ tin cậy cao hơn.

• T ăng độ trọ n vẹn của lòi giải: Thông thường mỗi tác từ chi thực hiện một phần
công việc. Chia sẻ kết quả cho phép tổng hợp kếtquà các phần việc để có lời giài
tồng thể và trọn vẹn cho toàn bộ công việc.

■ T ăng độ chính xác: Đế hiệu chình kết quả của mình, tác từ cần biết kết qua các
phần việc do tác từ khác thực hiện. Vi dụ, trong trường hợp nhiều tác già cùng tham
giả viết một cuốn sách, mỗi tác giả cần biết đồng nghiệp cùa mình viết gì để điều
chinh nội dung viết của mình cho phù hợp.

■ G iảm t h ò i gian th ụ c hiện: Ngay cả khi tác tử có thể thực hiện công việc một mình,
thực hiện các phần việc song song và chia sẻ kết quà thường cho kết quà với thời
gian ngán hơn. Có thể lấy lại ví dụ ớ đầu chương: khi tôi tìm được một bài báo hay,

tôi cho bạn tôi xem, nhờ vậy bạn tôi đỡ mất thời gian để tìm bài báo này.

Mặc dù lợi ích cùa chia sể kết quả là rất rõ ràng, để có thể chia sẻ kết 'quà và sừ dụng
kết quà được chia sẻ, cần giải quyết hai vấn đề sau. T hứ nhất, xừ lý kết quả được chia sè thế
nào cho có ích cho công việc cùa riêng mình. T hứ hai, do thông tin về kết quả có thể rất
nhiều, cần trao đổi thông tin có lựa chọn để tránh chi phí truyền thông cao và quá tải mạng.

3.1 H ọp tác chính xác về chức năng


Giả sử công việc chung bao gồm những phần việc liên quan đến nhau và những

phần việc này được giao cho những tác từ khác nhau thực hiện. Để thực hiện phần việc cùa
mình, mỗi tác tử cần biết kết quả thực hiện những phần việc khác. Tuy nhiên, do tác từ

không biết trước các kết quà này, hoạt động cùa tác tử có thề không nhất quán với nhau. Đề

khắc phục tình trạng này, tác từ có thể dự kiến trước kết quả các phần việc khác và thực
hiện phần việc cùa mình trên cơ sờ các kết quả dự kiến này, đồng thời trao đồi thông tin với
Phổi hợp trong hệ đa tác tử 131

tác từ khác đế điều chinh dần kết quà dự kiến, qua đó điều chinh hoạt động cùa mình. Tất
nhiên, kết quả mả tác từ dự kiến ban đầu có thể sai, nhưng qua trao đổi kết quá thực tế và
điều chình cuối cùng tác tử sẽ có được kết quả đúng. Đặc điềm cùa quá trình điều chình
trong đó kết quà là kết quà đúng được gọi là chinh xác về chức nàng ựunctionally accurate
- FA). Quá trình điều chình được thực hiện nhờ trao đổi thông tin lặp đi lặp lại, hay nhờ hợp
lác (cooperative - C) với tác từ khác. Hệ thống cho phép hợp tác nhất quán với nhau như
vậv, do đó, được gọi [à hợp lác chính xác về chức năng (FA/C).

Bàn chất cùa hợp tác đúng đán về chức năng là tác từ Xem xét kết quà thành phần
cùa mình và kết quà nhận được từ tác tứ khác như các kết quả có tính dự kiến. Dựa trên
những kết quả dự kiến này, tác tử có thể theo đuổi hoặc SO sánh đồng thời vài phương án.
Trao đồi kết quà dự kiến cho phép nâng cao độ toàn vẹn, độ chính xác cũng như độ tin cậy
cùa kết quá. Việc sử dụng các kết quà thành phần cho phép tạo ra kết quá lớn hơn. Sừ dụng
kết quà cùa tác từ khác cho phép điều chinh kế hoạch và kết quả của mình. Cuối cùng, SO
sánh nhiều giải pháp (hỗ trợ nhau hoặc mâu thuẫn nhau) cho phép tăng độ tin cậy cùa giãi
pháp lựa chọn.

Nhờ trao đồi kết quà thành phần theo FA/C, đến một thời điểm nhất định, ít nhất
một tác tử trong hệ thống sẽ có đầy đù thông tin cần thiết để tạo ra giải pháp tổng thề. Tuy
nhiên, việc trao đổi thông tin không lựa chọn có thể dẫn tới tình trạng trao đổi quá nhiều kết
quà, làm phí phạm chi phí truyền thông và tài nguyên tính toán. Bên cạnh đó, hạn chế trao
đổi thông tin còn cho phép tăng tính hoài nghi cùa tác từ khi nhận và xử lý kết quà từ tác tử
khác. Sau đây là một số giải pháp cho phép hạn chế trao đổi thông tin.

3.2 Bảng đen và trao đổi thông tin nhờ kho chứa thông tin chung
Một phương pháp cho phép tránh việc gửi thông tin lặp lại tới nhiều tác từ là cho
phép tác từ chia sé m ột kho chứa thông tin chung. Mỗi tác từ có thể gửi thông báo vào kho
chứa này cũng như có thể đọc thông báo nằm trong kho chứa. Kiến trúc được sử dụng
nhiều nhất cho chia sè thông tin kiểu này là kiến trúc báng đen (blackboard).

Bảng đen là một kỹ thuật chia sẻ thông tin có lịch sừ lâu đời. Kỹ thuật này lần đầu
tiên được sử dụng trong hệ thống hiểu ngôn ngữ tự nhiên từ cách đây khoảng 30 năm.
Nguyên tắc hoạt động cùa hệ thống bàng đen đơn giàn nhất được thể hiện trên hình 4.8.
132 Tác từ - Công nghệ phần mềm hướng tác từ

Hình 4.8 Chia sẻ thông tin nhờ bảng đen.

Mỗi hệ thống bàng đen bao gồm ba thành phần sau:

■ Nguồn tri thức (Knowledge Source - KS): là các môđun cung cấp tri thức cần thiết
cho giải quyết vấn đề. Trong trường hợp hệ tác tử, nguồn tri thức chính là các tác tử.

• Bảng đen'. Là một cơ sờ dữ liệu chứa các thông tin như: dữ liệu đầu vào, kết quà
thành phần, dữ liệu sinh ra trong quá trình giải quyết nhiệm vụ. Tác tử có thể ghi
thông tin vào bảng đen cũng như đọc từ đây ra.

■ Mỏđun quản lý: cho phép quàn lý một số vấn đề liên quan đến hoạt động cùa hệ

thống như phân loại thông tin, quy định tác từ nào được ghi thông tin loại nào.

Trong các hệ thống bảng đen đơn giản nhất, tác từ có thể ghi bất cứ thông tin nào lên

bàng đen cũng như đọc bất kỳ thông tin nào tác từ muốn. Tuy nhiên, do lượng thông tin
trong bàng đen tăng lên nhanh chóng, tác từ có thể mất rất nhiều thời gian để đọc hết thông
tin và chọn ra thông tin cần thiết. Để giãi quyết vấn đề này, một số kiến trúc bàng đen về
sau được xây dựng sao cho mỗi tác từ chì được ghi vào bảng những thông tin liên quan đến
hoạt động của mình. Một cơ chế lọc cũng cho phép lựa chọn các thông tin liên quan đến tác
tử khi tác tử có nhu cầu đọc, nhờ vậy hạn chế phạm vi tìm kiếm thông tin trong bảng.
Phôi hợp trong hệ đa tác tử 133

Trao đổi thông tin nhờ chia sẻ được sử dụng trong nhiều ứng dụng, đặc biệt là ứng
dụng trong đó tác tử cùng tham gia thiết kế một sàn phẩm nào đó. Với thông tin về kết qua
được lưu trong kho chứa chung, tác từ có thể tim 'kiếm kết quà thiết kế trone kho chứa,
đánh giá, thay đổi hoặc chấp nhận các kết quả này dựa trên tiêu chí cùa riêng mình. Ọuá
trình tim kiếm kết quà trong kho chứa được phát biều tương tự như bài toán thoá mãn ràna
buộc phân tán.

Ví dụ, trong một ứng dụng thiết kế sàn phẩm, tác tứ có thể sử dụng một trong ba
thao tác sau với các kết quà trong kho chứa: đề xuat giái pháp (gửi một giài pháp xuất phát
vào kho chứa); phê bình giài pháp (gửi nhận xét phản hồi về khả năng thực hiện của một
giài pháp thành phần); giám bớt yêu cáu đoi với giài pháp (giảm bót yêu cầu cục bộ đề
chấp nhận một giải pháp nào đó). Nhiệm vụ của tác tử quyết định áp dụng thao tác nào, khi
nào, và vào đâu. Thông thường, một so heuristic được sừ dụng đề quyết định lựa chọn này.
Chẳng hạn, thao tác giàm bớt yêu cầu thường bẳt đầu đối với thành phần đang bị các ràng
buộc chặt chẽ nhất.

4 PHỐI HỢP NHỜ CÁU TRÚC TỒ CHỨC

Một phương pháp khác cho phép hạn chế trao đổi thông tin là sứ dụng thông tin về
cấu trúc của công việc để tồ chức hệ đa tác tử. Ví dụ, trong toàn bộ công việc thiết kế, một
số chi tiết liên quan đến nhau nhiều hơn và đo vậy tác tử chịu trách nhiệm thiết kế các phần
việc này cũng trao đồi thông tin với nhau nhiều hơn với những tác từ khác.

Trên cơ sờ những nhận xét như vậy, một cấu trúc tổ chức được xác định trong cộng
đồng tác tử. Cẩu Irúc tố chức hay đơn giàn tố chức trong hệ đa tác tử bao gồm các quy định
về chức năng, trách nhiệm, phạm vi quan tâm và thẩm quyền của từng tác từ trong hệ

thống. Cấu trúc tố chức gán cho mỗi tác tử một số loại công việc mà tác tử có thể thực hiện,
cũng như thứ tự ưu tiên khi tác từ đồng thời nhận được nhiều công việc thuộc về những loại
khác nhau. Ví dụ, trong một đội bóng, nhiệm vụ cùa thú môn là bào vệ khung thành cùa đội
mình, do vậy trong đa số trường họp thú môn không cần chạy lên phía trước để ghi bàn.

Do mỗi tác từ có một trách nhiệm nhất định, tác tử đó cần nhận được thòng tin về
cấc kết quả thành phần có ành hường đến việc hoàn thành trách nhiệm cúa mình, trong khi
không cần quan tâm đến những kết quà không liên quan đến việc thực hiện trách nhiệm đó.
134 Tác từ - Công nghệ phân mẽm hướng tác từ

N hư vậy, cấu trúc tổ chức cho phép xác định ai là người quan tâm đến một kết quá thành
phần nào đó. c ấ u trúc tổ chức cũng quy định mức độ hành động cùa tác tử khi nhận được
kết quà thành phần (chẳng hạn tác tử có độ ưu tiên cao hơn có thể thay đồi kết quà cùa tác
tử mức dưới, trong khi tác tử mức dưới không có quyền này).

Cấu trúc tổ chức có nhiều điểm tương tự tồ chức trong các cơ quan cùa con người:
mỗi người có trách nhiệm thực hiện một số loại công việc, mỗi người đều biết cần gửi kết
quà cho ai, nhận kết quà từ ai và có quyền phàn ứng lại với kết quả nhận được như thế nào.

Có nhiều kiểu tổ chức khác nhau trong cộng đồng tác từ. Sau đây là một số kiểu cấu
trúc tổ chức được nghiên cứu và sử dụng nhiều:

Phân cấp. Thầm quyền ra quyết định và điều khiển được tập trung trên một tác từ
hoặc một nhóm tác tứ ở m ỗi m ức của phân cấp. Liên lạc được thực hiện theo chiều Irên
xuống và dưới lên giữa tác từ cấp trên và cấp dưới, tác từ cùng cấp không liên lạc trực tiếp
với nhau. Tác từ mức trên thực hiện quán lý tài nguyên và ra quyết định. Hình thức tố chức
này tương tự như tổ chức trong các cơ quan chinh phù và nhiều tổ chức khác trong xã hội

loài người.

C ộng đồng chuyên gia. Đày là cấu trúc tổ chức không phàn cấp. Các tác từ đều
ngang hàng nhau, mỗi tác tử có m ột chuyên môn riêng trong lĩnh vực nhất định. Tác từ
trong cộng đồng điều phối bàng cách điều chính lẫn nhau sao cho đạt được kết quà chung

thống nhất.

C ộng đồng khoa học. Lấy mẫu từ mô hình hợp tác giữa các nhà khoa học Mỗi tác
từ hình thành kết quà riêng cùa mình. Ket quà này sau đỏ được công bố cho những tác tử
khác để kiểm tra, tinh chinh hoặc bác bỏ.

Thị tru ò n g . Tổ chức kiểu này bao gồm nhiều tác tử cạnh tranh về công việc hoặc tài
nguyên thông qua cơ chế ra giá và đấu thầu. Tác từ tương tác với nhau thông qua một thông
số duy nhất - giá tiền - được dùng để đánh giá dịch vụ hoặc độ tiện ích. Điều phối được
thực hiện thông qua điều chinh giá tiền tuân theo các quy luật thị trường.
Phối hợp trong hệ đa tác từ 135

5 PHỐI H Ợ P NHỜ QUY TÁC VÀ LUẬT


Quy lắc và luật là phương pháp thông dụng đé phối hợp hoạt động trona đời sốna và
sinh hoạt xã hội cùa con người. Vi dụ, quy tác eiao thông trong đó phương tiện đi ngược
chiều luôn phài tránh về bên phải (hoặc trái) cho phép phương tiện giao thông phối hợp một
cách đơn giàn để tránh tai nạn. Ngoài các quy tắc rõ ràng như vậy, hầu như tất cà các khía
cạnh hoạt động xà hội đều liên quan đến quy tấc. Chẳng hạn, ngay ngôn ngữ cũng là hệ
thống quy tắc được mọi người chấp nhặn và sử dụng.

Quy tác được định nghĩa là những mầu hành vi, ứng xừ đã được xây dựng và được
mọi người chấp nhận thực hiện, mặc dù có thể không bắt buộc. Luật cũng tương tự như vậy
nhưng có tính bát buộc cao hơn. Ví dụ, quy tắc bẳt tay cùa người v iệ t Nam là người ít tuổi
hơn hoặc cấp dưới phải sử dụng cá hai tay. Quy tắc này rõ ràng khônc bất buộc. Trong khi
đó, dừng xe khi gặp đèn đỏ ờ ngã tư là luật, vi phạm luật này sẽ bị xir lý hành chinh.

Quy tác và luật đóng vai trò quan trọng trong hoạt động của cộng đồng tác tứ. Nó
cho phép hạn chế hành vi cúa tác tử, điều hoà sự cân bầng giữa một bên là lợi ich và tự do

cá nhân với một bên là mục tiêu và lợi ích cùa cà cộng đồng tác tử. Việc sir dụng quy tác và
luật cũng cho phép đơn giàn hoá quá trình ra quyết định cùa tác tứ bằng cách hạn chế
hướng hành động cùa tác tử trong những tình huống cụ thể.

Có hai cách tiếp cận chính trong sử dụng quy tắc và luật khi xây dựng cơ chế điều

pliối cho hệ đa (ác tử [W ooldridge 2002],

Quy tắc và lu ật d ụ n e săn. Theo cách tiếp cân này. quv tắc và luât được thiết kế sẵn
và được lập trinh cố định trong tác từ.

Hình th à n h tro n g q u á trìn h hoạt động hệ thống. Quy tắc chì được hình thành khi

tác tử tham gia vào cộng đong tác tử cụ thể.

Cách thứ nhất thường dễ cài đạt hơn và cho phép người thiết kế kiểm nhiều khá
năng kiểm soát chức năng hệ thống. Tuy nhiên, cách này cũng nhiều nhược điểm. Thứ nhất,
đối với các hệ thống có tính m ớ (như Internet), đa số đặc tính cùa hệ thống không được biết
từ trước trong giai đoạn thiết kế. Đối với hệ thống như vậy, tác tử cần có khả năng tự tồ
chức, tự điều chình trong quá trình hoạt động. Thứ hai, đối với hệ thống phức tạp, mục tiêu
136 Tác tử - Công nghệ phần mềm hướng tác tử

của từng tác từ cũng như cả hệ thống có thể thay đồi theo thời gian. Việc lập trình lại rất
khó khăn và không hiệu quả. Thứ ba, hệ thống càng phức tạp thi người thiết kế càng khó
khăn trong việc xây dựng quy tắc và luật hợp lý. Có quá nhiều phương án tương tác trong
hệ thống cần tính đến khi thiết kế quy tắc. Sự mềm déo của hệ thống cỏ thể dẫn đến hiệu
quá cao hơn trong trường hợp này.

5.1 Hình thành quy tắc và luật lệ


Vậy quy tắc và luật lệ có thể hình thành thế nào trong cộng đồng tác tử ? Làm thế
nào tác từ có thề đi đến thoả thuận m ang tính tổng thể về quy tắc chung trong khi chi sừ
dụng thông tin cục bộ mà tác từ có ? Tính tổng thể biểu hiện ờ chỗ tất cả tác tử đều chấp
nhận và tuần theo. Đồng thời mỗi tác từ phải quyết định chấp nhận quy tắc nào dựa trên

kinh nghiệm cá nhân cùa tác từ đó được lưu trong trạng thái tác tử. Không có sự phân cấp
hay quy định sẵn về quan hệ giữa tác từ. Để minh họa cho yêu cầu này, ta hãy xét ví dụ sau:

“Cho một nhóm tác tử, mỗi tác tử có hai chiếc áo: m ột màu đỏ và một màu xanh.
Các tác từ chưa từng gặp nhau trước đó và không có thông tin gì về nhau. Các tác
tử tharrl gia vào một trò chơi, trò chơi kết thúc thành công nếu tất cả tác tử mặc áo
cùng một màu. Khới đầu, mỗi tác tử mặc ngẫu nhiên một áo đò hoặc xanh. Trò
chơi được chia làm nhiều vòng. Ở mỗi vòng, mỗi tác từ được cặp đôi với một tác
từ khác, các đôi được lựa chọn ngẫu nhiên. Tác tử có thề nhìn thấy tác tứ cúng đôi
mặc áo màu gì, ngoài ra không được trao đối gì thêm. Sau khi kết thúc mỗi vòng,
tác từ có thể lựa chọn giữ nguyên màu áo hay đổi sang màu khác” .

Với quy tấc chơi như trên, không tác tử nào có cái nhìn tồng thề về toàn bộ nhóm.
Tác từ phải tự quyết định thay đỗi hay giữ nguyên màu áo dựa vào ký ức về màu áo cùa các
tác từ đã gặp trong những vòng trước.

Mục tiêu đặt ra đối với ví dụ này là xây dựng một hàm gọi là hàm cập nhật chiến
lược (hàm cập nhật màu áo). Đây là hàm ánh xạ từ lịch sử quan sát của tác tử thành màu áo
mà tác tử lựa chọn (đỏ hoặc xanh). Hàm cập nhật màu áo phải được xây dựng sao cho khi
tất cả tác từ trong nhóm sữ dụng hàm này sẽ dẫn đến sự thống nhất (màu áo) chung nhanh

nhất.

Bài toán này có thể giải quyết bằng cách sừ dụng các hàm cập nhật như sau:
Phối hạp trong hệ đa tác tử 137

■ H àm số đông. Đầy là hàm cập nhật đơn giàn nhất. Tác từ thay đổi thay đổi màu áo
đang mặc sang màu còn lại nếu cho đến thời điềm đó tác tử quan sát thấy nhiều tác
từ mặc áo màu này hơn màu áo hiện tại cùa mình. Trong trường hợp tồng quát
(nhiều hơn hai màu áo), tác từ lựa chọn chiến lược (màu áo) được quan sát thấy
nhiều nhất.

■ H âm sẩ đông với kiểu tác tủ. Giống n h ư hàm số đông ở trên, ngoài ra tác tử được
chia làm hai kiểu. Khi trông thấy tác tử cùng cặp, tác từ có thể liên lạc với tác tử
cùng cặp hoặc tác từ cùng kiểu. Khi liên lạc, tác tử trao đồi thông tin về ký ức cùa
mình (đã nhìn thấy gì). Tác từ có thể sừ dụng kinh nghiệm và ký ức tác tử khác như
kinh nghiệm riêng cùa mình.

■ H ùm số đông có tliông báo về thành công. Tác tử liên lạc với nhau dựa trên mức độ
thành công. Khi tác từ đạt tới một độ thành công nào đó với một màu áo cùa mình,
tác tử thông báo về màu áo cho các tác tử cùng cặp. Thành công ờ đây có nghĩa là
tác tử trông thấy đối tác khác mặc áo giống mình. Như vậy, tác từ chi phổ biến ký ức
liên quan đến thành công thay vì phổ biến toàn bộ ký ức cùa mình. Nói cách khác,
tác từ chì liên lạc với tác từ khác khi có thông tin đáng để thông báo. Cách liên lạc
này tránh cho tác tử trao đối với nhau những thông tin “nhiễu” .

■ H àm thướ ng tích luỹ cao nhát. Tác tử có thể đánh giá mỗi màu áo lựa chọn tương
ứng với một khoàn tiền thướng (nếu trùng với màu áo đối tác). Hàm thường tích luỹ
cao nhất sừ dụng màu áo cho giá trị tiền thưởng tích luỹ lớn nhất.

Một kỹ thuật khâc cũng được nghiên cửu lâ ky Ihuật làm sạch bộ nhủ. Tâc tứ lâm
sạch bộ nhớ bằng cách quên hết những gì đã thấy và xây dựng lại bộ nhớ từ đầu. Kỹ thuật
này tránh cho tác tử không bị quá ràng buộc với một chiến lược (màu áo) cụ thể mà tác tử
nhìn thấy trong quá khứ, và như vậy dễ dàng chấp nhận những “ý tưởng mới” hơn.

Tiêu chuẩn quan trọng nhất khi lựa chọn hàm cập nhật chiến lược là thời gian hội tụ:
tác tử cần bao nhiêu vòng chơi để đi đến chiến lược thống nhất. Trong trường họp việc thay
đồi chiến lược là khó khăn hoặc tốn kém, chẳng hạn chiến lược là lựa chọn hệ điều hành cụ
thể cho máy tính, tiêu chí khác có thể sừ dụng như không thay đồi chiến lược quá thường

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

Kết quà nghiên cứu thực nghiệm các hàm cập nhật trình bày ở trên với tiêu chí chính
là thời gian hội tụ cho thấy tất cà các hàm đều cho phép hội tụ tới kết quả. Trong số đó,
hàm thường tích luỹ cao nhất cho thời gian hội tụ nhanh nhất.

5.2 Quy tắc dựng sẵn


Như đã nói ờ trên, quy tắc dựng sằn được xây dựng trong giai đoạn thiết kế tác tứ
trước khi hệ tác tữ đi vào hoạt động. Quy tắc dựng sẵn được xây dựng dưới dạng các ràng
buộc có dạng sau

<E',a>
trong đó:

E' C E là tập trạng thái môi trường,


a Œ A là hành động.
Ý nghĩa ràng buộc này là khi môi trường ờ trong trạng thái e q E ' thì hành động a bị

cấm thực hiện. Quy tấc và luật được quy định như tập họp Q cùa các ràng buộc dạng trên.
Tác từ (chính xác hơn, kế hoạch cùa tác tử) được coi là hợp lệ đối với quy tắc Q nếu tác tứ
không có ý định thực hiện hành động bị cấm bời một ràng buộc nào đó cùa Q.

Ví dụ: Để minh hoạ cho việc sử dụng quy tắc dựng sẵn cho điều phối hệ đa tác từ,
xét ví dụ sau. Cho một không gian được chia thành các ô như bàn cờ, trên đó cỏ các tác tử
(các robot) chuyển động. Tại mỗi ô ờ cùng một thời điểm chi được phép có mặt một tác từ.
Trong trường hợp ngược lại sẽ xảy ra tai nạn. Tác từ cần thu thập và di chuyển đồ vật từ ô
này sang ô khác. Yêu cầu đặt ra là xây dựng quy tảc (hay luật) sao cho tác từ có thể di
chuyển mà không xảy ra tai nạn. Mặt khác luật không được quá nghiêm đến nỗi cản trờ tác

tử di chuyển tới điểm cần tới.

Trước tiên, ta xem xét quy tắc chi cho phép tác tử đi chuyền theo một lộ trình duy

nhất, xác định trước, hoàn toàn không thể xảy ra tai nạn. Một ví dụ cùa quy tắc loại đó như

sau:

“Tác từ phải di chuyển với tốc độ bằng nhau và không thay đổi. Hưóng chuyển động
được quy định như sau. Trên dòng chẵn, tác tử phải chuyển động về bên trái, trên dòng

lé, tác từ phái chuyển động về bên phái. Tác từ phái chuyến động lên trên khi nằm ờ
cột ngoài cúng bên phái. Tác tử phái chuyển động xuống dưới khi tác tử ớ cột ngoài
Phối hợp trong hệ đa tác từ 139

cùng bèn trái cùa dòng chẵn hoặc cột thứ hai từ phài sang cùa dòng lẻ. Chuyển động
cùa tác từ theo quy tắc này sẽ có hình dána giống chuyển độns cùa con rán.”

Ọuy tác trên có một số đặc điểm sau. Thứ nhất, chuyển động tiếp theo cùa tác tử là
hoàn toàn xác định đối với vị tri hiện tại. Thứ hai, tác tử có thể di chuyển tới bất kỳ vị trí
mong muốn nào. Thứ ba, để di chuyền từ vị trí hiện tại tới vị trí mong muốn, tác tứ cần thực
hiện tối đa O (rỉ) dịch chuyển, trong đó n là kích thước cùa bàn cờ.

Mặc dù quy tấc trên cho phép đạt được kết quà mong muốn - tác tứ có thế dịch
chuyển tới vị trí mong muốn mà không đâm vào tác tứ khác - nhưng quy tắc này rõ ràng
không hiệu quà. Có nhiều cách khác cho phép tác tứ di chuyển an toàn mà không phái đi

qua đoạn đường quá dài như vậy.

6 PHỐI HỢP THÔNG QUA Ý ĐỊNH CHUNG


Trong mô hình BDI trình bày ờ chương 2, ta đă thấy trạng thái cùa tác từ đưọc biểu
diễn bởi niềm tin, mong muốn và ý định, trong đ ó /' định đóng vai trò trung tâm trong quá
trình suy diễn thực tế cùa tác từ. Nhờ có ý định, kế hoạch hành động cùa tác tứ có tính ồn
định và dễ dự đoán hơn, đồng thời vẫn đảm bào độ mềm dẻo cần thiết khi làm việc trong
môi trường có tính động. Ý định cũng có vai trò rất quan trọng cho việc phối hợp hoạt
động. Chẳng hạn, nếu m ột sinh viên biết bạn minh đang dự định tham dự một kỳ thi tuyển
thì thông tin về ý định này sẽ giúp cho sinh viên đó phối hợp hành động với bạn. Thay vì rú
bạn đi chơi thường xuyên, sinh viên này sẽ không làm như vậy vì biết bạn cần tập trung
thời gian thực hiện ý định. Sinh viên này cũng có thể phối hợp với bạn tích cực hơn bằng
cách cung cấp tài liệu mà anh ta biết là cần thiết cho việc ôn thi cùa bạn.

Trong phần này, ngoài ý định riêng, ta cần quan tâm tới ỷ định chung của cộng đồng
tác tử và ánh hưởng của ý định chung tới quá trình điều phối. Khi nhiều tác tử có ý định đạt
được hành động chung nếu mồi tác từ có ý định đạt được mục tiêu chung và tin rằng tác tử
khác cũng có ý định như vậy. Câu hói đặt ra là: ý định chung trong trường hợp hành động
tập thể khác với ý định riêng khi hành động riêng lé thế nào ? Sự khác nhau trước tiên thề
hiện ở chỗ, khi tham gia vào hoạt động tập thề, tác tử cần có trách nhiệm đối với tác từ khác
trong tập thể đó. Lấy ví dụ sau. Tôi và bạn tôi cùng viết chung một chương trình. Từ quan
điềm cá nhân, điều này có nghĩa từng người có ý định viết chương trình đó. Giả sừ tiếp
140 Tác từ - Công nghệ phần mềm hướng tác từ

theo, do bận ôn thi, tôi không muốn tiếp tục viết chương trình này nữa. Nếu tôi thực hiện
công việc một cách độc lập, tôi có thế bỏ ý định viết chương trình ngay lập tức. Tuy nhiên,
khi làm việc nhóm, điều đó có nghĩa là tôi không có tinh thần tập thể và ý thức cộng tác với
bạn tôi. Làm việc tập thể yêu cầu mỗi người có trách nhiệm với người khác. ít nhất, nếu tôi
muốn bò ý định viết chương trinh, tôi phải cho bạn tôi biết về việc đó. Khi đó ta nói ràng ý
định viết chương trình là ý định chung cùa cà tòi và bạn.

Ý định chung, hay cam kết chung như một số tài liệu sử dụng, được định nghĩa như
mục tiêu chung có tính bền vững (tương đối). Đề có được ý định chung, các thành viên cùa
tập thể phài trao đổi các niềm tin và cam kết cần thiết với nhau. Giao thức trao đồi cam kết

cho phép đồng bộ các tác tử sao cho các thành viên có được ý định chung cần thiết về mục
tiêu cùa cả tập thể.

Hai khái niệm liên quan đến ý định là cam kết (comm itm ent) và quy ước
(convention). Cam kết là lời hứa về việc thực hiện ý định. Tính chất quan trọng nhất cùa
cam kết là tính bền vững. Khi một tác từ đã cam kết, tác tử đó sẽ không bó cam kết này cho
đến khi, vì một nguyên nhân nào đó, cam kết này trờ nên không cần thiết nữa. Vậy làm thế
nào xác định khi nào có thể vứt bỏ một cam kết ? Điều kiện có thể vứt bò cam kết được xác
định bởi quy ước tương ứng. Quy ước bao gồm các luật hay quy tắc. Quy tắc này quy định
rõ khi nào có thể chấm dứt cam kết. Thông thường, cam kết được chấm dứt khi: mục tiêu

chung không còn tồn tại, mục tiêu chung đã đạt được hoặc mục tiêu chung không thể đạt

được.

Q u y ư ớ c đ ư ợ c c h ia th à n h C ịu y ư ớ c ( r i ê n g ) và c /tty Itx jv x ã h ộ i . Q u y ư ớ c c h o p h c p tá c
từ từ bỏ cam kết cá nhân cùa riêng mình. Ví dụ sau là một quy ước dựa trên mô hình hành

vi cùa tác tử riêng lé cùa Cohen và Levesque. Quy ước này cho phép tác từ từ bò cam kết

nếu tác tử tin rằng cam kết đẫ được thoà mãn hoặc không thể thực hiện hoặc động cơ thực
hiện cam kết không còn nữa.

Q uy ước xã hội quy định tác tử phải hành động thế nào đối với các tác tử khác trong
tập thề khi thay đồi cam kết chung. Một mặt, khi tác tử thay đổi cam kết về ý định chung
tác tứ cần cho các tác từ khác trong cộng đồng biết về thay đổi đó. Mặt khác, do hành động

chung cần có sự cam kết cùa tất cả các thành viên, sự từ bò cam kết cùa bất cứ thành viên
nào cũng ảnh hưởng tới cố gắng cùa tập thể và do vậy cần đánh giá lại ý định chung. Vi dụ
Phối hợp trong hệ đa tác tip 141

trên hình 4.10 là một quy ước xã hội đơn giàn thể hiện hai yêu cầu này.

Quy ư ớ c : mô hinh Cohen và Levesque

Lý do đánh giá lại cam kết

o Cam kết được thoả mản

o Cam kết không thể đạt được

o Động co thực hiện cam kết không còn

Hành động

Rl: Nếu Cam kết được thoả mãn

Cam kết không thể đạt được

Động co thực hiện cam kết không còn

Thì Vứt bỏ cam kết

Hình 4.9 Ví dụ mô hình quy ước.

Cam k ế t, q u y UÓ'C và p h ố i h ọ p

Ý nghĩa cùa cam kết đối với phối họp trong hệ đa tác tử thể hiện ờ chỗ nó cho phép
tác tử dự đoán được kết quà hành động cùa tác tử khác. Chẳng hạn, nếu hai tác từ A và B
theo đuổi một mục tiêu chung G 12 bao gồm hai mục tiêu con G 1 và G 2. Tác từ A chi có thể
yên tâm theo đuồi mục tiêu o ' néu biết ràng tâc từ B se thực hiện G3 hoạc II nhát se thồng
báo cho A biết trong trường họp định từ bò mục tiêu này. Trong trường hợp A không nhận
được cam kết tương tự từ B, A sẽ không thực hiện G 1 vì việc thực hiện không có ý nghĩa
đối với G 12 nếu thiếu G 2. Việc dự đoán kết quà thực hiện công việc cùa tác tử khác trên cơ
sờ cam kết còn cho phép tác từ điều chinh kế hoạch cùa mình để tận dụng kết quả đó. Ví
dụ, nếu tác tử B cam kết thực hiện công việc G BI và kết quả thực hiện cho phép tác từ A
thực hiện công việc GAI tốt hon, tác từ A có thể lùi việc thực hiện GAI để chờ kết quả G BI

từ tấc từ B.
142 Tác từ - Công nghệ phẩn mềm hướng tác từ

Quy ưác xà hội co bàn

Sử dụng khi :

Cam két đối với mục tiêu chung thay đối

Cam kết đối với hành động chung thay đổi

Cam kết chung cùa một thành viên thay đồi

Hành động :

RI : Nếu cam kết đối với mục tiêu chung thay đổi hoặc

cam kết đối với hành động chung thay đổi

Thì thông báo cho tất cá thành viên về thay đồi

R2 : Nếu cam kết chung cùa một thành viên thay đồi

Thì xác định xem cam kết chung còn có giá trị không

H ình 4 .1 0 M ột v í d ụ q u y ư ớ c x ã hội.

Trong trường hợp hai hoặc nhiều tác tử cùng theo đuổi những mục tiêu phụ thuộc
vào nhau và m ột hoặc một số tác từ từ bồ mục tiêu cùa mình vì một lý do nào đó, cần có
quy ước cho phép những tác tử còn lại từ bò cam kết cùa mình. Vai trò cùa quy ước ở đây
là đảm bảo cho việc phối hợp trên cơ sờ cam kết có được sự mềm dẻo cần thiết.

7 PHỐI H Ợ P N H Ờ LẬP KÉ HOẠCH


T á c t ừ c ó ih ể th ố n g n h ấ t h à n h đ ộ n g b ằ n g c á c h lập k ế h o ạ c h s a o c h o từ n g tá c tử
thông nhất với kế hoạch cùa tác tử khác. Lập kế hoạch là xác định các hành động cần thực
hiện cũng như thứ tự thực hiện hành động. Đối với tác tử hoạt động một m ình, kế hoạch

được lập dựa trên trạng thái môi trường cộng với mục tiêu, khả năng cùa riêng tác tử đó.
Tuy nhiên trong trường hợp đa tác tử, kế hoạch phải tính đến ảnh hường của tác tử khác

cũng như những ràng buộc và nghĩa vụ mà tác từ phải thực hiện khi cam kết làm việc tập
thể. Lập kế hoạch có thể coi như một trường họp đặc biệt cùa giải quyết vấn đề phân tán -
vấn đề cần giải quyết là xây dựng một kế hoạch. Tuy nhiên lập kế hoạch có nhiều đặc thù
riêng và do vậy thường được nghiên cứu như một bài toán độc lập.
Phối hợp trong hệ đa tác từ 143

Lập kế hoạch trong trường hợp đa tác từ còn được gọi là lập kế hoạch phân tán và
được phân thành ba trường hợp sau.

7.1 Tạo ra kế hoạch phân tán một cách tập trung


Theo cách này, một tác tử duy nhất tiến hành lập kế hoạch cho các tác tử khác. Ket
quà là nhiều kế hoạch được tạo ra bởi một tác tử nhưng được thực hiện bởi những tác tử
khác nhau. Tác tử lập kế hoạch cần có đầy đù thông tin và tri thức cần thiết cho công việc
này. Nguyên tác chung cho lập kế hoạch kiểu này là tạo ra một kế hoạch lớn trong đó một
số hành động có thể thực hiện không tuân theo một thứ tự nào. Các hành động như vậy có
thể phân ra và được thực hiện đồng thời bởi những tác từ khác nhau. Cụ thể, lập kế hoạch
bao gồm các bước sau:

(1) Vớì mục tiêu cho trước và trạng thái ban đầu tạo ra kế hoạch cho phép đạt mục tiêu
đó. Kế hoạch được lập sao cho ràng buộc về thứ tự thực hiện các bước càng ít càng
tốt.

(2) Phân rã kế hoạch được lập ở bước 1 thành các kế hoạch con sao cho các hành động
phài thực hiện theo thứ tự được tập trung trong cùng một kế hoạch con. Hạn chế

phân tán những hành động phải tuân theo thứ tự trên các kế hoạch khác nhau.

(3) Thêm các bước đồng bộ bằng cách liên lạc vào các kế hoạch con.

(4) Phân chia kế hoạch con cho các tác tử sử dụng cơ chế phân chia công việc (xem
phần trên). Nếu không thành công, quay lại bước 1 hoặc bước 2, thực hiện phân rã
lại kế hoạch chung hoặc tạo lại kế hoạch chung.

(5) Bắt đầu thực hiện kế hoạch, theo dõi quá trình thực hiện.

Khá năng liên lạc có thể ánh hưởng quan trọng tới chiến lược lập kế hoạch này. Neu
kế hoạch con yêu cầu đồng bộ m ột số bước trong khi tốc độ liên lạc chậm hoặc khó dự
đoán trước thì cần giảm tính phân tán cùa kế hoạch. Tuỳ vào khả năng và chi phí liên lạc,
việc phân chia kế hoạch cần có giới hạn. Chia nhỏ kế hoạch hơn giới hạn này là không có ý
nghĩa và làm giàm hiệu quả. Nói cách khác, khi các thành viên trong hệ thống quan hệ với
nhau một cách lòng lẻo thì hệ thống bao gồm ít tác tử, mỗi tác tử thực hiện m ột công việc
144 Tác từ - Công nghệ phần mềm hướng tác từ

lớn là giải pháp cần lựa chọn. Ngược lại, nếu liên lạc trong hệ thống chặt chẽ thì hệ thống
có thể thiết kế gồm nhiều tác tử, mỗi tác từ thực hiện một phần việc nhỏ.

Ví dụ. Xét bài toán “thế giới hình khối” như mô tả trong chương 2. Cho một m ột số
hình hộp chữ nhật có thể xếp chồng lên nhau như trên hình 4.11. Hai robot có nhiệm vụ di
chuyển các hình hộp từ trạng thái sắp xếp ban đầu (hinh bên trái) sang trái như mô tà trên
hình bên phải. Mỗi lần, robot chì có thể di chuyển một hình hộp. Robot có thể thực hiện hai
loại thao tác sau:

putDovvnTable(X) : đặt hình hộp X xuống mặt bàn

putOn(X,Y): đặt hình hộp X lên hình hộp Y.

D A

Xuất phát Đich

Hình 4.11 Di chuyển hình hộp với hai robot.

Quá trình lập kế hoạch được thực hiện như sau. Trước tiên, một kế hoạch chung
được lập ra và biểu diễn dưới dạng đồ thị như trên hình 4.12. Sau khi thực hiện putOn(C),
kế hoạch được chia thành hai nhánh có thể thực hiện không phụ thuộc vào nhau. Toàn bộ
kế hoạch chung được phân cho hai robot như sau: robot thứ nhất thực hiện
putDownTable(C) và putOn(B,C), robot thứ hai thực hiện putDownTable(D) và
putOn(A,D). Một bước đồng bộ được thêm vào kế hoạch của robot thứ hai để đảm bảo
robot này chi bắt đầu kế hoạch cùa minh sau khi robot thứ nhất kết thúc thao tác

putDownTable(C).
Phối hợp trong hệ đa tác từ 145

putDownTable(D) putOn(A,D)

Hinh 4.12 Kế hoạch di chuyển hình hộp.

7.2 Tạo ra kế hoạch tập trung một cách phân tán


Trong một số trường hợp, nhiều tác từ cùng tham gia iập một kế hoạch duy nhất.
Tình huống như vậy có thề xày ra với các kế hoạch phức tạp đòi hói hiểu biết đa dạng từ
nhiều nguồn khác nhau, ví dụ khi thiết kế nhà cần sự họp tác của kiến ừúc sư, kỹ sư kết
cấu, kỹ sư điện, nước v.v. Mỗi tác tử khi đó đóng góp một phần vào kế hoạch, cho đến khi
kế hoạch tổng thể được hoàn thành. Tấc từ tạo ra kế hoạch không có nghĩa vụ thực hiện kế
hoạch đó.

Việc lập kế hoạch kiểu này được thực hiện bằng các kỹ thuật chia sẻ công việc và
chia sè kết quà. Kế hoạch cần lập được chia thành phần nhỏ và giao cho các tác từ. Mỗi
thành viên tiến hành tạo ra phần kế hoạch được giao cho minh. Đối với các phần kế hoạch
có liên quan đến nhau, tác tử tương ứng cần liên lạc để trao đồi các kết quả trung gian (chia
sẻ kết quả). Ví dụ, khi thiết kế nhà, phần kết cấu được thực hiện khi kiến trúc sư trao cho kỹ
sư kết cấu kết quả thiết kế kiến trúc sơ bộ. Nếu tính toán kết cấu cho thấy nhiêu bất họp lý,
kết quà tính toán có thể được phản hồi để điều chinh thiết kế kiến trúc.

7.3 Tạo ra kế hoạch phân tán một cách phân tán


Trong trường hợp này, các kế hoạch phân tán (cho nh'iều tác tử) được tạo ra một
cách phân tán. Cũng như trường hợp đầu tiên, yêu cầu đặt ra là các kế hoạch không được
mâu thuẫn với nhau, hay nói cách khác, các tác tử thực hiện những kế hoạch này cần phối
hợp được với nhau. M ột số kỹ thuật sau thường được sử dụng trong trường họp này.
146 Tác tử - Công nghệ phần mềm hướng tác từ

7.3.1 Kết hợp kế hoạch

Già sứ ta có một nhóm tác tử hợp tác với nhau và tác từ đa biết nhiệm vụ cùa mình.
Mỗi tác tử cần lập kế hoạch hành động cho mình sao cho cả nhóm có thể phối hợp hoạt
động. Khó khăn trước tiên là cần phát hiện và giải quyết mâu thuẫn giữa kế hoạch được lập
bởi các tác từ.

Trước tiên ta xem xét giải pháp trong đó một tác từ thu thập toàn bộ kế hoạch cá
nhân cùa các tác tử. Tác tử này sau đó phân tích các kế hoạch cá nhân để phát hiện mâu
thuẫn và điều chỉnh kế hoạch để loại bò mâu thuẫn phát hiện được.

G iả sừ kế hoạch cá nhân bao gồm chuỗi hành động có thứ tự từ a I đến a„. T rạng thái
môi trường sau khi thực hiện a„ là mục đích mà tác từ cần đạt. Mỗi hành động được biếu
diễn bời một tác tử STRIPS (xem chương 2).

Việc két hợp kế hoạch được thực hiện qua ba bước sau.

Trước hết, từng đôi hành động thuộc về các tác tử khác nhau được phân tich để xác
định các tương tác có thể. Giả sử, hành động a¡ và bj tương ứng là hành động tiếp theo của
hai tác từ A và B. Hành động a, và bj có thể thực hiện đồng thời nếu tiền đề, điều kiện hiện
tại và hiệu quà cùa mỗi hành động được thoả mãn đồng thời với bất cứ điều kiện nào cùa
hành động kia. Khi đó hai hành động là không phụ thuộc và có thề giao hoán cho nhau.
Trong trường hợp ngược lại, hai hành động vẫn có thể thực hiện nhưng phải theo một thứ tự
nhất định. Ví dụ, nếu hiệu quà cùa ứ/ thoả mãn tiền đề của bị thì a, cần được thực hiện
trước. Khi đó hai hành động được gọi là có thứ tự. Nếu không hành động nào có thể thực
h iệ n trư ớ c th l h ai h à n h đ ộ n g là m â u th u ẫ n vóri n h a u

Sau khi đã phân tích tương tác giữa hành động, bước tiếp theo là xác định các tình
huống không an toàn. Tình huống không an toàn là các tình huống:

Bắt đầu đồng thời hai hành động không giao hoán với nhau

Thực hiện hai hành động không đúng thứ tự

Bắt đầu a, và bj trong khi ít nhất m ột trong hai tình huống trước khi thực hiện ai hoặc

bj là không an toàn

Băt đầu o, và kết thúc bj khi tình huống kết thúc a, và kết thúc bj là không an toàn

Kết thúc a, và bj khi cà hai trạng thái trước đó là không an toàn


Phối hợp trong hệ đa tác tử 147

Những hành động có tính chất giao hoán với tất cã các hành động còn lại được coi là
vô hại và có thể bó ra khòi kế hoạch khi thực hiện bước này và bước sau. Việc bó các hành
động này cho phép rút gọn đáng kể việc phân tích kế hoạch.

Bước cuối cùng là giải quyết mâu thuẫn. Các tình huống không an toàn phát hiện từ
bước trên được xừ lý bằng cách thêm cách hành động đồng bộ. Cơ chế đồng bộ được sừ
dụng ờ đây tương tự cơ chế đồng bộ đối với các tài nguyên nguy hiểm (hay tài nguyên tới
hạn, tài nguyên găng) trong các hệ điều hành đa tiến trình. Ví dụ, việc đồng bộ có thể thực
hiện nhờ sừ dụng đèn hiệu (semaphore).

Trong một số trường họp, việc sửa đổi kế hoạch và đồng bộ phài thoà mãn thêm một
số ràng buộc về thời gian. Ví dụ, kế hoạch sàn xuất có thể có thời hạn cho thành phẩm hoặc
các chi tiết, kế hoạch vận chuyền yêu cầu thời hạn trả hàng. Trong trường hợp ràng buộc
thời gian có vai trò quan trọng như vậy, kế hoạch được lập dựa trên việc sắp xếp hành động
cho những khoảng thời gian cố định. Từng tác tử lập kế hoạch một cách độc lập. Quá trinh
phối hợp kế hoạch sau đó có thể yêu cầu tác từ điều chinh kế hoạch của mình sao cho
không vi phạm ràng buộc về thời gian.

7.3.2 Lập kế hoạch phân tán phân cấp


Do bàn thần kế hoạch có cấu trúc phân cấp với nhiều mức độ trừu tượng khác nhau,
việc tìm kiếm kế hoạch có thể thực hiện trong không gian phân cấp này. Phương pháp lập
kế hoạch như vậy được gọi là lập kế hoạch phân tán và phần cấp (distributed hierarchical
planning). Một hình thức lập kế hoạch phần tán phân cấp thường dùng là cho phép tác từ
hiểu diễn kế hoạch của mình với những mức trừu tương khác nhau, mỗi mức đều có thể
thay đổi để giải quyết mâu thuẫn (nếu có). Thuật toán lập kế hoạch kiểu này bao gồm hai
vòng lặp chính. Vòng ngoài xem xét cấc mức trừu tượng khác nhau của kế hoạch, phát
hiện mâu thuẫn và quyết định giải quyết mâu thuẫn ở mức hiện tại hay chuyển xuống mức
chi tiết hom. Vòng lặp trong giải quyết mâu thuẫn theo cách tương tự như giải bài toán thoả
măn ràng buộc phân tán. Chi tiết cùa thuật toán được thể hiện trên hlnh 4.13.

Một vấn đề cần giải quyết trong thuật toán trên là làm sao quyết định giải quyết định
giài quyết mâu thuẫn ờ mức hiện tại hay chuyền xuống mức chi tiết hơn (bước 2). Ưu điểm
cùa giải quyết mâu thuẫn ở mức cao là có thể giám bớt không gian tlm kiếm, do đó tiết
148 Tác từ - Công nghệ phần mềm hướng tác tử

kiệm thời gian lập kế hoạch và thông tin trao đổi. Tuy nhiên nhược diểm là giải quyết mâu
thuẫn ờ m ức cao có thể hạn chế quá nhiều hành động ờ mức thấp và do vậy tạo ra những kế
hoạch kém hiệu quà. Nói cách khác, giải quyết mầu thuẫn ở mức cao cho phép lập kế hoạch
đơn giản nhưng kém hiệu quả, trong khi giải quyết mâu thuẫn mức thấp cho lời giài hiệu
quà nhưng phức tạp, đòi hỏi nhiều thời gian và chi phí truyền thông hơn. Việc lựa chọn giãi
pháp trung hoà cho hai quyết định này phụ thuộc vào từng trường hợp cụ thể.

(1) Khởi tạo mức trừu tượng hiện tại là mức trừu tượng cao
nhất

(2) Tác tù trao đổ kế hoạch và mục tiêu ở mức trao trừu tuọng
hiện tại

(3) Loại bò nhữnợ kế hoạch khỗng có mâu thuẫn. Nếu không còn
lại kế hoạch nào thì kết thúc. Ngược lại, quyết định giải
quyết mâu thuẫn ở mức hiện tại hay chuyển xuống mức chi
tiết hon.

(4) Nếu quyết định giải quyết mâu thuẫn ở mức chi tiết hon
thi đặt múc trừu tượng hiện tại thành mức trừu tuọng chi
tiết tiếp theo . Quay lại bước 2.

(5) Nếu mâu thuẫn cần giài quyết ở mức trừu tưọng hiện tại
thì:

a) Sắp xếp tác tử theo mức độ ưu tiên. Tác tử trên cùng


được gọi là tác từ cấp trên.
b) Tâc từ cấp trên gừi kê hoạch của minh cho cẳc tấc từ
khác.

c) Tác từ khác thay đổi kế hoạch cùa mình sao cho không
mâu thuẫn với kế hoạch cùa tác tử cấp trên hiện tại, đồng
thời không mâu thuẫn với tác từ cấp trên trưôc đó

d) Sau khi tất cầ tác tử đã thay đổi kế hoạch cùa mình,


tá c tử tiếp theo trong thứ tv được chọn làm tác từ cấp
trê n . Quay lại bướ c b ) .

Hình 4.13 Lặp ké hoạch phân tán phân cấp.


Phối hợp trong hệ đa tác từ 149

Để minh hoạ cho lập kế hoạch phân tán phân cấp, ta xét ví dụ sau [Gerhard ]999],

Cho hai robot với nhiệm vụ di chuyển đồ vật giữa hai phòng như trên hình 4.14 bên trái. Để
di chuyển đồ vật, robot phải chuyển động liên tục từ phòng này sang phòng khác. Đường đi
ngán nhất đối với cà hai robot đểu đi qua cùng một cứa (cửa trên) do đó có thể xung đột với
nhau. Sau khi trao đổi kế hoạch, hai robot phát hiện ra mâu thuẫn này. Robot có thế giải
quyết mâu thuẫn ớ mức trừu tượng cao bằng cách phần chia cố đjnh cho mỗi robot một
không gian riêng (cứa riêng). Cách này dẫn tới việc phân chia không gian như trên hình
4.14 bên phải. Mặc dù đơn giàn, cách giải quyết mâu thuẫn như vậy là không hiệu quả do
R2 luôn phải sử dụng đoạn đường dài hơn.

Hình 4.14 Giải pháp mâu thuẫn nhờ phân chia không gian.

Phân chia theo


thời gian
= >
R2

Hinh 4.15 Giải quyết mâu thuẫn ở mức chi tiết.


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

Nếu xem xét chuyển động cùa mình chi tiết hơn, robot có thể tìm ra giải pháp khác.
Giải pháp ờ đây là xem xét kết hợp nhu cầu sử dụng không gian với thời gian. R2 có thể đợi
cho đến khi RI sử dụng xong cửa trên trước khi sừ dụng cừa này. Ờ đây, robot có thể thay
đổi kế hoạch ờ những mức chi tiết khác nhau. Ở mức cao nhất, R2 đợi cho Rl hoàn thành
công việc trước khi bát đầu sứ dụng cửa trên. Ở mức trung gian, R2 bắt đầu chuyển động
khi Rl rời khỏi cừa. Ở mức chi tiết nhất. R2 có thề chuyển động cùng Rl và chi dừng lại ớ
gần cửa để nhường Rl đi qua trước. Lập kế hoạch ờ mức chi tiết nhất được minh họa trên
hình 4.15.

8 LẬP KÉ HOẠCH TỒNG THẺ TỪNG PHÀN


Lập kế hoạch tống thể từng phần {partial global planning - PGP) là phương pháp
phối hợp kết hợp kế hoạch phân tán, chia sẻ công việc và chia sè kết quà. PGP cho phép tác
từ xen kẽ việc lập kế hoạch, thực hiện kế hoạch, trao đồi thông tin về kế hoạch và kết quả.
Thông qua việc trao đối kế hoạch và sửa đổi kế hoạch sừ dụng thông tin lừng phần mà
mình có, tác tử trong hệ thống dần dần xây dựng được kế hoạch long thể cho phép đạt được
mục tiêu cùa hệ thống. Lập kế hoạch tồng thể từng phần được thực hiện như sau:

8.1 Lập kế hoạch


Trước hết, mỗi tác từ lập kế hoạch hành động cho mình sử dụng tri thức và thông
tin cục bộ mà tác từ đó có. Cũng giống như trong trí tuệ nhân tạo truyền thống, lập kế hoạch
ở đây là xác định chuỗi hành động cần thực hiện để đạt mục tiêu m ong muốn. Khác với lập
kế hoạch cho từng tác từ riêng lé, kế hoạch trong trường hợp này có hai mức trừu tượng.
Mức chi tiết bao gồm hành động cụ thể mà tác từ phải thực hiện. Mức cao hơn chi gồm các
phần việc mà tác tử hy vọng có thể trao đổi với tác từ khác. Ke hoạch được lập chi sừ dụng
hiểu biết và thông tin cục bộ cùa từng tác tử ờ thời điểm hiện tại và sẽ được điều chinh
trong quá trình trao đối với tác tử khác.

8.2 Trao đổi thông tin về kế hoạch


Sau khi lập kế hoạch, tác tử trao đổi thông tin về kế hoạch cùa mình với tác tử khác.
Kế hoạch được trao đồi chi gồm những thông tin quan trọng cho hoạt động tập thể (thông
tin ở mức trừu tượng cao) và không bao gồm thông tin mức thấp liên quan đến chi tiết hoạt
động của tác từ. Thông qua trao đổi kế hoạch, tác từ có thể: thông tin về công việc cùa
Phối hợp trong hệ đa tác tử 151

mình, thực hiện chia sé công việc, thực hiện chia sẻ kết quà. Để hiểu rõ về ba cơ chế này, ta
xét một số tình huống sau:

■ Tình huống thứ nhất: Tác tử không có nhiệm vụ nào cần thực hiện. Khi đó tác từ sẽ
gứi đi một kế hoạch rỗng (không có hành động nào). Bằng cách đó tác từ thông báo
về tinh trạng không tài cùa mình.

• Tình huống thứ hai: Tác tử A muốn yêu cầu tác từ khác thực hiện giúp một nứa công
việc được giao. A sê lập kế hoạch trong đó chi rõ một nứa công việc do mình thực
hiện còn nửa kia do một tác tử chưa xác định thực hiện (để trống phần tên của tác tử
sẽ thực hiện nứa công việc đó). Tác tử A sau đó gửi kế hoạch này đến các tác tứ còn
lại hoặc tới một số tác tử mà A tin ràng đang làm việc không hết công suất (vi dụ tác
từ vừa thông báo có kế hoạch rỗng). Tác từ nhận được kế hoạch từ A có thế tán
thành bàng cách điền tên mình vào phần tên tác tử để trống hoặc không tán thânh
bằng cách thay đồi tên hoặc thay đồi cá các phần kế hoạch.

Bằng cách thông tin kế hoạch cùa mình, tác từ có thề biết được tác từ khác có thực
hiện phần việc liên quan đến phần việc cùa minh không, thông qua đó thực hiện chia sè kết

quả cho những phần việc liên quan.

Kế hoạch hành động và tương tác cùa nhóm tác tử được kết hợp và lưu trữ trong một
cấu trúc dữ liệu gọi là k ế hoạch tong thể lừng phần (PGP). Mỗi PGP chứa ba thuộc tinh

- M ục tiêu. Là mục tiêu cùa PGP đó, thường là mục tiêu chung mà hệ thống cần đạt.

- S ơ đò hừnh dộng. C h ú a k é h o ạ c h h à n h đ ộ it£ c ù a c á c tác tử , c h ỉ p h í lia y th à i g ia n c h o


hành động và kết quá dự kiến cùa các hành động đó.

- Sơ đồ x â y dựng két quà. Sơ đồ xây dựng kết quả quy định cách thức tác từ tương tác
với nhau, nội dung thông tin cần trao đỗi và thời gian trao đồi để cỏ thể sinh ra kết
quà chung.

8.3 Điều chỉnh kế hoạch


Dựa trên thông tin nhận được qua trao đổi kế hoạch, Cff chế PGP tìm cách điều chỉnh

PGP để nhận được kế hoạch tốt hơn. Lý do điều chinh kế hoạch dựa trên nhận xét sau. Khởi
đầu, PGP bao gồm kế hoạch xuất phát cùa từng tác tử không tính đến kế hoạch cùa tác tử
152 Tác tử - Công nghệ phần mềm hướng tác tù’

khác. Nếu mỗi tác từ điều chinh kế hoạch cùa minh cho phù hợp với kế hoạch các thành
viên còn lại, hoạt động cùa toàn hệ thống sẽ được cải thiện. Quá trình điều chình được thực
hiện bằng cách tìm kiếm trong không gian các kể hoạch một phương án tốt hơn. Việc điều
chình thực chất là thực hiện các thay đổi sau.

Thay đổi thứ tự hành động. Như ta đã biết, kế hoạch là chuỗi có thứ tự các hành
động. Tác từ có thể thay đối thứ tự này sao cho tối ưu việc thực hiện mục tiêu chung,
chẳng hạn giảm thời gian đạt được mục tiêu đó. Xét ví dụ trên hình 3.2 với hai tác từ
1 và 2. Mục tiêu cùa Tác tử ] là hoàn thành công việc AI thông qua kế hoạch bao
gồm các phần việc con BI và C l, mục tiêu của Tác tử 2 là hoàn thành công việc A2
với kế hoạch bao gồm phần việc con B2 và C2. Sau khi trao đồi kế hoạch, Tác từ 1
nhận thấy kết quả thực hiện C1 có ích cho việc thực hiện công việc A2 cùa Tác tử 2.
Do đó, Tấc từ 1 thay đổi thứ tự và chuyển C1 lên thực hiện trước A l. Kết quả thực
hiện C1 được Tác từ 1 thông báo cho Tác tử 2. Thay vì xem xét toàn bộ các phương
án thay đổi thứ tự, cơ chế tìm kiếm thứ tự hành động tốt hơn bằng cách sử dụng
thuật toán leo đồi. Mặc dù không cho phép tìm kiếm phương án tối ưu, thuật toán leo
đồi cho phép tìm kiếm giải pháp chấp nhận với độ phức tạp tính toán thấp hơn nhiều
so với tìm kiếm vét cạn. Gọi thứ tự hành động trong kế hoạch là thứ tự, ta có thuật
toán như sau

(1) Đối với thứ tự hiện tại, đánh giá hành động cá nhân và
thứ tự chung

(2) Với mỗi hành động, SO sánh với các hành động muộn hơn
trong kế hoạch cùa cùng tác từ và tìm hành động có độ
ưu tiên cao nhất. Nếu độ ưu tiên cùa tác tù này cao
hon độ ưu tiên của hành động đang xét thì đồi chỗ hai
hành động cho nhau

(3) Nếu thứ tự mới được đánh giá cao hơn thứ tự hiện tại
thì thay thú tự hiện tại bằng thứ tự mới và quay lại
buớc 2

(4) Trả về thứ tự hiện tại.


Phối hợp trong hệ đa tác từ 153

Thuật toán trên đòi hói đánh giá độ ưu tiên cùa hành động của toàn bộ thứ
tự. Việc đánh giá dựa vào bài toán cụ thể nhưng thường dựa trên các quy tác sau I)
ưu tiên hành động cho phép đạt nhiều mục tiêu đồng thời; 2) ưu tiên hành động yêu
cầu ít tài nguyên hơn; 3) ưu tiên hành động cho phép khảng định hoặc bác bó tinh
hợp lý của mục tiêu.

Hinh 4.16 Quan hệ phối hợp và thay đổi kế hoạch theo PGP.

Thay đồi phân phối công việc. Cơ che PGP cho phép phát hiện những tác tử sử dụng
không hết tài nguyên. Trong trường hợp đó, các tác tử tìm kiếm phương án chia sè
công việc cho phép tận dụng những tác tứ chưa sừ dụng hết tài nguyên và gừi PGP
đã được sửa đồi tới những tác tử này. Khi một tác tử rỗi (chưa dùng hết tài nguyên)
nhận được đề nghị dưới dạng PGP, tác tử sẽ căn cứ vào khà năng cùa mình để trà lời
đề nghị bằng cách điền vào PGP. Việc tìm kiếm phương án phân phối công việc mới
được thực hiện nhờ thuật toán sau:

n ế u một tác từ cần nhiều quá nhiều thời gian SO với tác
tú khác (gấp 2 lần trờ lên) để thực hiện phần việc
của mình, đồng thòi có ít nhất một tác từ đang rỗi

Chì lập kế hoạch mới sao cho tác tử đang rỗi thực hiện
một phần việc cùa tác từ quá tầi và gửi kế hoạch này
(PGP) cho tác từ rỗi

lặp các buóc sau cho đến khi công việc được phân phối
154 Tác tử - Công nghệ phần mềm hướng tác tử

lại hoặc không tác tủ nào còn rỗi

k h i một tác tứ r ồ i gùi lại PGP

n ế u tác tứ rồi chấp nhận kế hoạch mới trong khi các tác
tủ rỗi khác từ chối hoặc không trả lòi, thì chấp nhận
sú dụng kế hoạch mới.

n ế u tác tử gừi trá kế hoạch khác với kế hoạch đề nghị,


thì đánh giá kế hoạch này sau đó chấp nhận kế hoạch
(nếu tốt), loại tác tử khòi danh sách xem xét (nếu kế
hoạch không tốt) hoặc tạo ta kế hoạch sửa đối

8.4 Tổ chức trong hệ thống


Một vấn đề quan trọng đặt ra cho phương pháp PGP là hạn chế việc trao đổi thông
tin không cần thiết về kế hoạch. Neu công việc cùa hai tác từ không liên quan trực tiếp đến
nhau thì việc trao đổi kế hoạch với nhau là không cần thiết, gây lãng phí chì phí truyền
thông và ảnh hưởng tới tốc độ thực hiện. Đề tránh tình trạng này, tác tử trong hệ thống
được cung cấp trước thông tin tồ chức của hệ thống. Thông tin tổ chức bao gồm hai thành
phần. Thành phần thứ nhất bao gồm thông tin về vai trò, trách nhiệm, phạm vi quan tâm

của tác tử khác. Thành phần thứ hai gọi là thông tin siêu to chức (metalevel organization).
Thông tin siêu tổ chức của mỗi tác từ cho phép tác tử đó xác định:

Tác tử mức dưới: tác tử nhận kế hoạch từ tác tử mức dưới, điều chình kế hoạch nếu
cần thiết và gửi trà ke hoach đa điều chinh

Tác tử mức trên: tác tử gừi kế hoạch cho tác từ mức trên, nhận kế hoạch đã được
điều chình và có thể chấp nhận kế hoạch này

Tác từ ngang hàng: tác tử có thể gừi cũng như nhận kế hoạch từ tác từ ngang hàng,
sửa đổi hoặc sừ dụng kế hoạch này.

8.5 Lập kế hoạch tổng thể từng phần tổng quát


Phương pháp PGP được đề xuất và nghiên cứu trong khuôn khố một ứng dụng cụ
thể: giám sát phương tiện giao thông chuyển động qua một khu vực rộng bàng một số
lượng cảm biến âm thanh (xem phần đấu thầu ờ trên). Mỗi cảm biến có thể coi như một tác
Phối hợp trong hệ đa tác tử 155

từ, không có tác tử nào có khá năng bao quát trọng khu vực, do vậy phài cộng tác với nhau
để có bức tranh toàn cảnh. Do xây dựng cho một ứng dụng cụ thể, các phương pháp điều
chình kế hoạch trong PGP chi được xây dựng theo đặc điểm cùa ứng dụng đó. v ề sau PGP
được mở rộng cho các ứng dụng tổng quát hơn và được gọi là lập kế hoạch tổng thế lừng
phần tổng quát (G eneralized Partial Global Planning - GPGP). GPGP bao gồm năm cơ
chế sau:

Cơ cliế I: Cộp n h ậ t thông tin không cục bộ

Tác từ chi có thông tin cục bộ về trạng thái và hoạt động cùa hệ thống. Trao đổi
thông tin, do vậy, cho phép tác từ có cái nhìn tổng thể hơn. Trong GPGP, tác tử có ba chính
sách trao đổi thông tin: không trao đổi thông tin cục bộ, trao đổi toàn bộ thông tin, trao đồi
một phần thõng tin.

Cơ ch ế 2: Trao đổi kết quá

Tác tử có thể trao đồi kết quà theo ba cách: chi trao đổi kết quả cần thiết cho việc
hoàn thành nghĩa vụ với tác tử khác; gừi kết quà đến tác tử nào quan tâm như tác từ trong
cùng một nhóm công việc; trao đổi toàn bộ kết quà.

Cơ ch ế 3: X ử lý dư thừa

Dư thừa là tình trạng nhiều tác từ cùng thực hiện lặp lại một công việc. Trong một số
trường hợp, tác tử có thể tạo dư thừa có chù ý, nhưng nói chung, dư thừa là hiện tượng cần
tránh đo gây lãng phí tài nguyên. Trong GPGP, tình trạng dư thừa được xử lý như sau. Khi
phát hiện dư thừa dưóri dạng nhiều tAc từ cùng thực hiện công việc giống nhau, một tác từ
được chọn ngẫu nhiên để thực hiện công việc này. Kết quả sau đó được gửi cho những tác
từ còn lại.

Cơ ch ế 4: X ử lý quan hệ p hối hợp cứng

Quan hệ phối hợp “cứng” là bao gồm quan hệ dạng “M l phải được thực hiện trước
M2”, hoặc quan hệ dạng “M l và M2 không thề thực hiện cùng một lúc”. Việc không tuần
thù quan hệ dạng này có thể gây tác động có hại giữa tác từ hoặc khiến cho công việc
không được thực hiện trọn vẹn. Quan hệ phối hợp cứng được xử lý bằng cách sắp xếp lại

thứ tự hành động sao cho thoà mẫn quan hệ đó.


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

C ff cliế 5: X ử lý quan h ệ p h ố i hợp m ềm

Quan hệ phối hợp “ mềm” là những quan hệ không bát buộc nhưng có thể tăng hiệu
quả của hệ thống nếu được tuân Ihủ. Quan hệ mềm được xứ lý tương tự quan hệ cứng, tức
là bằng cách sắp xếp lại thứ tự công việc. Khác với trường hợp quan hệ cứng, sáp xếp công
việc theo quan hệ mềm không cỏ tính bắt buộc: tác tử cố gắng sắp xếp lại công việc nhưng
nếu không được thì cùng không sao.

Năm cơ chế trên có thề kết hợp với nhau theo tổ họp tuỳ thuộc vào ứng đụng cụ thể.
CHƯƠNG 5

CÔNG NGHỆ■ PHẢN MÈM


HƯỚNG TÁC T ử

1 Tiếp cận hướng tác tử cho công nghệ phần mềm


1.1 Các hệ théng phần mềm phức tạp

Phần mềm công nghiệp về bản chất là phức tạp: nó được mô tả bới một số lượng
lớn các thành phần trong đó có nhiều tương tác. Hơn nữa, sự phực tạp này lại không ngẫu
nhiên: nó là m ột thuộc tính bẩm sinh của các kiểu công việc mà phần mềm được sừ dụng.
Bời thế vai trò cùa công nghệ phần mềm là cung cấp các cấu trúc và kỹ thuật để quản lý sự
phức tạp này dễ dàng hom. Sự phức tạp này có các đặc điểm quan trọng: Sự phức tạp
thường cố một hình dáng phân cấp. Hệ thống dưực tạo thánh bời c á t hệ thống con có quan
hệ tương tác với nhau, mỗi hệ thống con lại có thể là một cây phân cấp. Tính chất của các
mối quan hệ thuộc tổ chức thay đổi giữa các hệ thống con, mặc dù một số kiểu (chẳng hạn
158 Tác từ - Công nghệ phần mềm hướng tác tử

như client-server, peer, team) có thể được xác định. Các mối quan hệ thuộc tổ chức là
không tĩnh: chúng có thề thay đổi thường xuyên theo thời gian. Sự lựa chọn các thành phần
nguyên thuỷ trong hệ thống là tuỳ ý quan hệ và được xác định bời các mục đích và mục tiêu
cùa người quan sát là chủ yếu. Các hệ thống phân cấp tiến hoá nhanh hơn SO với các hệ
thống không phân cấp có cùng kích thước. Nói cách khác, các hệ thống phức tạp sẽ tiến hoá
từ các hệ thống đơn giản nhanh hơn khi có các mẫu trung gian ổn định. Có thể phân biệt
các tương tác giữa các hệ thống con và các tương tác trong các hệ thống con. Điều này cho
thấy các hệ thống phức tạp là có thể phân rã. Bởi vậy, các hệ thống con có thể được xứ lý
như ià chúng độc lập với nhau, nhưng cũng không hoàn toàn như vậy nếu như có các tương
tác ờ giữa chúng. Hơn nữa, mặc dù nhiều trong số các tương tác đó có thể dự đoán được ở

giai đoạn thiết kế nhưng một số khác thì không.

Có thể định nghĩa một cách nhìn đúng đắn về một hệ thống phức tạp bằng cách
đưa ra các nhìn xuyên suốt bên trong như ờ hlnh dưới. Tính chất phân cấp của hệ thống
được thể hiện qua các kết nối kiểu “composed o f ’, các thành phần ớ trong một hệ thống con
được kết nối với nhau qua các kết nối “frequent interaction” và các tương tác giữa các
thành phần được thể hiện qua các liên kết “infrequent interaction” . Khái niệm các thành
phần nguyên thuỳ thay đổi có thề được coi như cách các thành phần nguyên tố ờ mức l
được mờ rộng ra các hệ thống con còn lại ờ các mức sau.

Hình 5.1 Hộ thống phàn mèm phức tạp.


Công nghệ phàn mềm hướng tác tử 159

Từ các quan sát này, các kỹ sư phần mềm đã đưa ra một số công cụ mạnh để quản
lý sự phức tạp này. Các kỹ thuật chù yếu bao gồm:

- Decomposition. Kỹ thuật cơ bản nhất cho việc xừ lý một bài toán lớn đề
phân chia nó thành nhò hơn, các phân đoạn dễ quàn lý hơn và sau đó có thể được
xử lý trong m ột tồ chức quan hệ (cho thấy ờ các hệ thống con có thể phân rã được
trong hình 5.1). Sự phần rã trợ giúp giài quyết sự phức tạp bời vì nó giới hạn phạm
vi cùa người thiết kế: ờ một thời điểm nào đó, chì một phần cùa bài toán cần được
xem xét.

- Abstraction: Cách định nghĩa một mô hình cùa hệ thống được đơn giàn
hoá bằng cách chi nhấn mạnh một số chi tiết và thuộc tính. Một lần nữa, kỹ thuật
này hoạt động vì nó hạn chế phạm vi quan tâm cùa nhà thiết kế ờ một thời điểm
nào đó. Sự chú ý có thể được tập trung trên các hướng nồi bật nhất cùa vấn đề, ờ
mức các chi tiết ít liên quan nhất.

Organisation: Cách nhận dạng và kiểm soát các moi quan hệ bên trong
giữa các thành phần khác nhau cùa vấn đề đang được giải quyết (cho thấy ở hệ
thống con và các liên kết tương tác ở hlnh 5.1). Khá năng để chi rõ và đưa ra các
mối quan hệ thuộc tồ chức trợ giúp người thiết kế kiểm soát được sự phức tạp theo
hai cách. T hứ nhất, cho phép một số lượng các thành phần cơ bản được nhóm lại
với nhau và được xử lý như ờ một đon vị phân tích mức cao hơn. Vi dụ, các thành
phần đom lè của một hệ thống con có thể được xứ lý như là một đơn vị đom lẻ bởi
h ệ th ố n g c h a T h ử h a i, h à n g c á c h c u n g c á p m ộ t p h irrm g tiệ n m ô tả c á c m ố i q u a n Hệ
mức cao giữa các đơn vị khác nhau. Chẳng hạn như một số các thành phần có thể
cần để hoạt động cùng nhau để cung cấp một chức năng cụ thể nào đó.

Tinh chất đúng đắn và cách mà các công cụ này được sử dụng thay đổi nhiều giữa
các mô hình phần mềm. Vì thế, khi mô tà đặc điểm cùa một mô hình mới, chẳng hạn như
phần mềm hướng tác tử, ở mỗi một vấn đề đưa ra thì các quan điểm cần được xác định rõ
ràng. Hom nữa, khi đánh giá khà năng cùa một mô hình, các tham số cần được đề xuất tại
sao cách lựa chọn dề xử lý các vấn đề trợ giúp các kỹ sư phàn mềm xây dựng các hệ thống
hiệu quả hơn.
150 Tác tử - Công nghệ phần mềm hướng tác từ

1.2 Phần mềm hướng tác tử là gì?

Hiện nay, có rất nhiều cuộc tranh luận đang xày ra xung quanh định nghĩa chính
xác về cái gì tạo thành m ột tác tử, nhưng vẫn chưa có m ột sự nhất trí hoàn toàn nào. Tuy
nhiên, các nhà nghiên cửu tìm ra sự mô tà đặc điềm hữu ích sau: « Một tác lử là m ột hệ
thong máy tính được đóng g ó i và đặt trong m ột vài m ôi trường và có khá năng hành động
nem dèo, tự trị trong m ôi trường đó đê đạt được các m ục liêu thiết kế cùa nó».

Có một số vấn đề về định nghĩa này cần phái giải thích rõ hơn. Các tác tử là: các
thực thể có thể nhận dạng rõ ràng cùa bài toán đang được giải quyết với các giao diện và
ranh giới rõ ràng; được đặt trong m ột môi trường cụ thể - chúng nhận các đầu vào từ trạng
thái của môi trường thông qua các bộ càm nhận cùa chúng và tác động lên môi trường
Thông qua cơ quan phàn ứng của chúng; được thiết kế để thực hiện một vai trò cụ thề -
chúng có các mục tiêu cụ thể cần đạt đến, có thể là rõ ràng hay không rõ ràng trong các tác
từ; tự trị - chúng kiểm soát qua trạng thái trong và các hành vi của chính chúng; Có khả
năng thể hiện hành vi giải quyết vấn đề mềm dẻo (phụ thuộc ngữ cảnh) - chúng cần
reactive (có thể phán ứng ngay lập tức với những thay đổi cùa môi trường để thoà mãn các
mục tiêu thiết kế cùa chúng) và proactive (có khả năng cập nhật các mục đích mới và nẩm
thế chủ động để thoả m ãn mục tiêu thiết kế cùa chúng).

Khi nhìn nhận m ột thế giới theo kiểu hướng tác từ, sẽ sớm rõ ràng ràng một tác tử
đơn lẻ là không đù. Hầu hết các bài toán đòi hỏi hoặc là liên quan đến đa tác tử: để thể hiện
tính chất phân quyền cùa bài toán, đa quỹ tích của điều khiển, đa viễn cảnh hay các quan
tâ m c ạ n h tra n h . H ơ n n ữ a , c á c lá c từ se c à n d ẻ lư in ig tá c v ứ i c á c tá c từ k h á c , đ ể d ạ t d ư ợ c c á c
mục tiêu riêng cùa chúng hoặc để điều khiển các phụ thuộc sinh ra từ các trạng thái trong
môi trường chung. Các tương tác này xuyên suốt từ các thao tác ngữ nghĩa đcm giản (khả
năng thay đổi các giao tiếp toàn diện) qua các tương tác kiểu client-server truyền thống
(khả năng yêu cầu m ột hành động cụ thể được thực hiện), tới các tương tác xã hội (khả
năng phối hợp, điều phối và thương thuyết về cách thức cùa hành động). Tuy nhiên, bất cứ
tính chất nào của quá trình xã hội cũng có hai điểm tương tác tác tử khác biệt định tính mà
từ đó xuất hiện ỡ các m ô hình công nghệ phần mềm khác. T hứ nhất, các tương tác hướng
tác tử thường xảy ra ở ngôn ngữ giao tiếp tác tử bậc cao (điển hlnh dựa vào lý thuyết hành
vi ngôn ngữ). Do đó, các tương tác thường là được điều khiển ờ mức tri thức: trong các giới
Công nghệ phần mềm hướng tác tử 161

hạn mà các mục đích nên theo. Thứ hai, vì tác tử là giải pháp mềm dẻo cho bài toán, việc
thao tác trên một môi trường mà qua đó chúng chi có quan sát và điều khiển cục bộ, các
tưcmg tác cần được xứ lý trong một kiểu mềm dẻo tương tự. Bời vậy, các tác từ cần dụng cụ
tính toán để đưa ra các quyết định phụ thuộc vào ngữ cảnh về tính chất và phạm vi cùa các
tương tác cùa chúng và để bát đầu (hoặc đáp ứng) các tương tác mà không cần thiết được
dự đoán trước ở giai đoạn thiết kế.

Trong hầu hết các trường hợp, các tác từ hành động để đạt đến các mục tiêu đại
diện cho các thành phần riêng lé hay các hệ thống. Vi vậy, khi các tác từ tương tác, thường
có một số ngữ cành cơ bàn thuộc tồ chức. Ngữ cành này trợ giúp việc định nghĩa tính chất
cùa mối quan hệ giữa các tác tử. Ví dụ, chúng có thể hoạt động ngang hàng trong một
nhóm, một tác từ có thế là ông chù cùa các tác từ khác, hoặc chúng có thể được bao hàm
trong một loạt các mối quan hệ chù - tớ. Để giành được các liên kết đó, các hệ thống tác từ
thường có các cấu trúc rõ ràng cho việc mô hình các mối quan hệ tồ chức (chẳng hạn như
peer, boss,...) và các cấu trúc tồ chức (chảng hạn như teams, groups, coalitions,...). Nên
lưu ý ràng trong nhiều trường hợp, các mối quan hệ này có thể thay đồi trong khi hệ thống
hoạt động. Tương tác xã hội có nghĩa là sự tồn tại các mối quan hệ tiến hoá (chẳng hạn một
tác tử quyết định một giao dịch mới) và các mối liên hệ mới được tạo ra (chẳng hạn như
một số các tác từ có thể hình thành một nhóm đề đưa ra một dịch vụ cụ thể mà không cỏ
một cá nhân nào có thể đề nghị). Phạm vi thời gian cùa các mối quan hệ đó có thể được
thay đổi nhiều: từ chỗ chì đù dài để đưa ra một dịch vụ cụ thể m ột lần tới một liên kết lâu
dài. Để đương đầu với sự thay đổi và biến động này, các nhà nghiên cứu tác tử đẫ có
n h ư n g Ilổ lụ c đ á n g kẻ. p lỉá t m i n h r a c á c g i a o t h ú c m à c h o p h ổ p c á c n h ó m t ả c h ứ c đir ạ c

hình thành và giài tán, chi rõ các cơ chế để đàm báo các nhóm hoạt động cùng nhau trong
mô hình kết dính, và phát triển các cấu trúc để mô tả đặc điểm các hành vi v ĩ mô cùa các
tập hợp.

Bằng cách vẽ các vấn đề trên cùng nhau, ta có thể thấy việc chấp nhận một hướng
tiếp cận hướng tác từ với công nghệ phần mềm có nghĩa là việc phân rã bài toán thành
nhiều thành phần tương tác và tự trị (tác từ) mà có các mục tiêu cụ thể để đạt tới. Các mô
hình trừu tượng chủ yếu định nghĩa “agent - oriented m indset” là các tác tử, các tương tác
và các tồ chức. Cuối cùng, các cấu trúc và cơ chế rõ ràng thường là có sẵn cho việc mô tà
162 Tác tử - Công nghệ phần mềm hướng tác từ

và điều khiển sự phức tạp và thay đổi một mạng các mối quan hệ tổ chức mà tồn tại giữa
các tác tử.

1.3 Tiếp cận hướng tác tử cho các hệ thống phần mềm phức tạp

Từ các mô tả về các hệ thống phức tạp và phần mềm hướng tác tử ờ trên, chúng ta
xem xét tại sao các kỹ thuật hướng tác từ lại phù hợp với việc phát triển các hệ thống phần
mềm này. v ấ n đề này có ba phần: Chi ra rằng các phân rã hướng tác tử là một cách hiệu
quả để phân chia không gian bài toán của một hệ thống phírc tạp.

• Chi ra rằng các sự trừu tượng chù yếu của mindset hướng tác tử là một cách tự
nhiên để mô hlnh hoá các hệ thống phức tạp.

• Chi ra rằng triết lý hướng tác tử cho việc nhận dạng và điều khiển các mối quan hệ
là thích hợp cho việc xừ lý với các phụ thuộc và tương tác tồn tại trong một hệ

thống phức tạp.

Để làm cho công nghệ phần mềm hướng tác từ thuyết phục hơn, bước cuối cùng là
chứng tỏ rằng các kỹ thuật hướng tác tử thể hiện một sự tiến bộ thật sự qua tinh trạng hiện
thời của kỹ thuật. Với mục đích này, tiếp cận hướng tác từ sẽ được SO sánh với các kỹ thuật
Công nghệ phần mềm hướng tác tử 163

hướng lề (leading - edge) từ công nghệ phần mềm xu hướng chính. Đặc biệt, nó bao hàm
các sự so sánh với phân tích và thiết kế hướng đối tượng (hệ thống được xây dựng bằng các
đối tượng tương tác mà đóng gói cà dữ liệu và thù tục thao tác trên dữ liệu) và với
component - ware (hệ thống được xây dựng bời việc tập hợp các thành phần tồn tại sẵn vào
một số cấu trúc tồng thề).

1.3.1 Các phân rã hướng tác từ

Các hệ thống phức tạp bao gồm các hệ thống con có Hên quan được tổ chức lại với
nhau trong một mô hình phân cấp (hình 5.1). Ờ một mức nào đó, các hệ thống con hoạt
động cùng nhau để đạt đến chức năng cùa hệ thống cha của chúng. Hơn nữa, trong một hệ
thống con, các thành phần hợp thành hoạt động cùng nhau để đưa ra chức năng tồng thể.
Bởi vậy, mô hình cơ bàn tương tự cùa các thành phần tương tác hoạt động cùng nhau để đạt
tới các mục tiêu cụ thể xuất hiện trong hệ thống.

Từ trạng thái được đưa ra trên đây, việc môđun hoá các thành phần là hoàn toàn tự
nhiên trong giới hạn các mục tiêu mà chúng cần đạt đến. Nói cách khác, mỗi thành phẩn có
thể được nghĩ về như là việc đạt tới một hay nhiều mục tiêu. Một quan sát quan trọng thứ
hai là các hướng công nghệ phần mềm hiện tại đang tăng mức độ cùa cục bộ hoá và gói gọn
trong các phân rã bài toán. Việc ứng dụng triết lý này vào các phân rã các mục tiêu đạt tới
có nghĩa là các thành phần đcm lẻ nên có một luồng điều khiển riêng của chúng (tức là các
thành phần nên chủ động) và chúng nên gói gọn thông tin và cần khả năng giải quyết vấn
đề để đạt được các mục tiêu này. Vì các thành phần thường là phải thao tác trong một môi
trường mâ trong dó chúng chl co niộl phàn thông tin, chủng phải có klià Iiang quyếl định ở
thời gian chạy hành động nào nên thực hiện để đuổi theo các mục tiêu cùa chúng. Tóm lại,
các thành phần cần tự trị qua các lựa chọn hành động của chúng.

Với các thành phần chù động và tự trị để thực hiện các mục tiêu các nhân và tập
thể, chúng cần phài tương tác với nhau (lưu ý rằng các hệ thống phức tạp là có thề được
phân rã). Tuy nhiên sự phức tạp của hệ thống là vốn có, nghĩa là nó không thể biết về tất cả
các liên hệ trong tương lai: tương tác sẽ xảy ra ờ m ột thời điểm không thể đoán, với các lý
do không thể đoán được, giữa các thành phần không thể dự đoán. VI lý do này, việc cố
gắng để dự đoán hoặc phân tích tất cả khả năng trong giai đoạn thiết kế là vô ích. Thực tế
hơn là cung cấp cho các thành phần một khả năng đưa ra các quyết định về tính chất và
164 Tác từ - Công nghệ phần mềm hướng tác tử

phạm vi cùa các tương tác ớ thời gian chạy. Từ đó dẫn đến các thành phần cần m ột khả
năng để khởi xướng (và đáp ứng) các tương tác một cách mềm dèo.

Cách giải quyết làm theo các quyết định thi hành về các tương tác thành phần làm
cho việc thực hiện các hệ thống phức tạp một cách dễ dàng trong hai cách. Thứ nhất, các
vấn đề liên quan tới sự kết nối của các thành phần giàm một cách đáng kể (bằng việc xừ lý
chúng theo cách mềm dèo và khai báo). Các thành phần được thiết kế đặc biệt để giải quyết
với các yêu cầu không thể đoán trước và có thể đưa ra các yêu cẩu hỗ trợ nếu chúng gặp
khó khăn. Hơn nữa, vì các tương tác này được đưa ra qua một mức ngôn ngữ giao tiếp bậc
cao, sự kết nối trờ thành m ột vấn đề mức tri thức. Điều này lần lượt loại bò những quan tâm
ở mức cú pháp từ các kiểu cùa lỗi được gây ra bởi các tương tác không m ong đợi. T hứ hai,

vấn đề kiểm soát điều khiển các mối quan hệ giữa các thành phần phần mềm bị giảm một
cách đáng kề. Tất cà tác tử liên tục hoạt động và một số điều phối hoặc sự đồng bộ hoá
được yêu cầu được điều khiển qua tương tác trong tác tử. Vi vậy, trật tự cúa các mục đích
mức đinh cùa hệ thống không phải được quy định một cách cứng nhắc ờ giai đoạn thiết kế.
Đ úng hơn, nó có thề xử lý theo các tác động cùa ngữ cảnh ờ thời gian chạy.

T ừ lý do này, một cách tự nhiên để môđun hoá một hệ thống phức tạp trong một
giới hạn cùa nhiều thành phần tương tác, tự trị có các mục tiêu cụ thể để đạt tới là đã rỗ
ràng. Tóm lại, các phân rã hướng tác từ làm cho việc phát triền các hệ thống phức tạp dễ

dàng hơn.

1.3.2 Các trừu tượng hoá hướng tác từ cho các hệ thống phần mềm phức
tạp

Tất _cả các nỗ lực thiết kế chù yếu là để tìm ra các mô hình mô tả bài toán. Nhìn

chung, sẽ có nhiều ứng cừ viên và nhiệm vụ khó khăn là chọn ra ứng cừ viên thích hợp

nhất. Trở lại với trường hợp cụ thể của việc thiết kế phần mềm, các trừu tượng hoá mạnh
nhất giảm thiều được các thiếu sót về ngữ nghĩa giữa các đom vị của phân tích m à được sừ
dụng bời trực giác để khái niệm hoá một vấn đề và các cấu trúc thề hiện trong mô hình giải
quyết. T rong trường hợp này, vấn đề được mô tà bao gồm các hệ thống con, các tương tác
và các mối quan hệ thuộc tổ chức. Lần lượt như sau:

• Trường hợp quan sát các thành phần hệ thống con như là các tác tử được tạo ra ờ
Công nghệ phân mêm hướng tác từ 165

trên.

• Sự á n h hường lẫn nhau giữa các hệ thống con và giữa các thành phần tạo thành
các hệ thống con được coi là cơ bàn nhất trorig giới hạn cùa các tương tác xã hội
mức cao: “Ớ một mức độ trừu tượng cho trước, ta tìm thấy các tập hợp các đối
tượng mà cộng tác với nhau để đạt được các quan điểm mức cao hơn". Quan
điểm này phù hợp với cách xử lý mức tri thức (hoặc thậm chí mức xã hội) cùa
tương tác được đưa ra bởi tiếp cận hướng tác từ. Các hệ thống tác từ được mô tà
cố định trong giới hạn cùa “sự phối hợp để đạt được các mục đích chung” , “sự
điều phối các hành động cùa chúng” hoặc “sự thương lượng để giải quyết xung
đột". Vì vậy, mindset hướng tác từ là hoàn toàn phù hợp cho việc kiểm soát các
kiểu tương tác xáy ra trong các hệ thống phức tạp.

• Các hệ thống phức tạp bao gồm sự thay đối các mạng quan hệ giữa các thành phần
khác nhau. Chúng cũng yêu cầu các tập hợp các thành phần được xử lý như là
một đon vị khái niệm đơn lè khi được quan sát từ một mức độ trừu tượng khác.

Một lần nữa, quan điểm này phù hợp với sự trừu tượng hoá được cung cấp bởi
m indset hướng tác tử. Vi vậy,'các phương tiện thường là được cung cấp cho việc
biểu diễn rõ ràng các mối quan hệ thuộc tổ chức. Các giao thức tương tác được
phát triển để hình thành các nhóm mới và huỷ những nhóm không cần thiết. Cuối
cùng, các cấu trúc là sẵn có cho việc mô hình hoá các tập hợp. Điểm sau đó là đặc
biệt có ích trong mối quan hệ với việc biểu diễn các hệ thống con vl chúng chi là
một nhóm các thành phần hoạt động cùng nhau để đạt đến một mục đích chung.

1.3.3 S ự th a y đ ổ i c á c c ấ u tr ú c tr o n g tổ c h ứ c tạ o q u ả n lý m ề m d è o

Các hệ thống phức tạp có các mối quan hệ tổ chức đa dạng phong phú, xuyên suốt
từ các thành phần ngang hàng tới việc điều khiển các cây phân cấp, từ ngắn hạn đến liên
tục. Các mối quan hệ này là quan trọng vi hai lý do. Thứ nhất, chúng cho phép một số các
thành phần riêng lè được gom nhóm lại với nhau và xử lý như là một thực thể khái niệm
đơn lẻ. Thứ hai, chúng cho phép mô tả đặc điểm các mối liên kết mức cao giữa các thực thể
khác nhau. Sự ảnh hưởng và tác động đẫ biết về các môi quan hệ và các cấu trúc tổ chức
trên hành vi cùa hệ thống, sự quan trọng cùa việc cung cấp hỗ trợ rõ ràng cho việc chi rõ và
điều khiển mềm dèo là bán thân một bằng chứng. Hơn nữa, các mối quan hệ thì liên tục
166 Tác tử - Công nghệ phần mèm hướng tác từ

thay đổi, khả năng để thích nghi một cách linh động để nắm ưu thế các hoàn cành cũng là
cần thiết.

N hư đã đưa ra ờ trên, các tổ chức là các thực thể ờ lớp đầu tiên trong các hệ thống
tác từ. Vì vậy các cấu trúc rõ ràng và các cơ chế mềm dẻo là trung tâm cho mô hình tác tử.
Khả năng biểu diễn này khi được liên kết với các cơ chế tính toán hỗ trợ, cho phép các hệ
thống hướng tác từ phân rã thành hai khía cạnh cùa tinh chất các hệ thống phức tạp. Thứ
nhất, khái niệm cùa thành phần nguyên thuỳ có thể thay đổi theo nhu cầu cùa người quan
sát. Do đó ờ mức I, các hệ thống còn lại có thể được coi như là một singleton (một thực thể
duy nhất), các nhóm hay tập họp thay thế cùa các tác tử có thể được coi như là các thành
phần nguyên thuỷ và cứ như vậy cho đến khi hệ thống cuối cùng được phân rã hết. T hứ hai,
các cấu trúc này cung cấp một sự đa dạng các forms trung gian ổn định cần thiết cho sự
phát triển nhanh các hệ thống phức tạp. Tính sẵn có cùa chúng có nghĩa là các tác tử đơn lé
hoặc các nhóm tồ chức có thể được phát triển trong sự cô lập về quan hệ và sau đó được
thêm vào hệ thống theo cách thức tăng trường. Điều này lần lưựt đàm bào rằng có một sự

làm mjn chức năng.

1.4 Các tác tử so vói các đối tưọng và component-vvare

Các quan điểm hướng đối tượng và hướng tác từ là tương đối giống nhau trong
việc phát triển hệ thống. Ví dụ, việc nhấn mạnh sự quan trọng của tương tác giữa các thực
thể. Tuy nhiên, cũng có các khác biệt quan trọng.

Thứ nhất, các đối tượng thường có tính bị động: chúng cần được một gửi thõng
điệp trước khi chúng đi vào hoạt động.

Thứ hai, mặc dù các đối tuợng bao gồm cà trạng thái và hành vi nhưng chúng
không có sự kích hoạt hành vi (lựa chọn hành động). Vì vậy, một đối tượng nào đó có thể
gọi đến m ột phương thức truy cập công cộng nào đó ờ một đối tượng khác. Một khi phương
thức được gọi đến, các hành động đáp ứng được thực hiện. Ở ý nghĩa này, các đối tượng là
biết nghe lời một đối tượng khác. Trong khi hướng tiếp cận này có thể đù cho các ứng dụng
mạnh hon trong việc cộng tác và các môi trường được kiểm soát tốt, nó lại không phù họp
cho các ứng dụng lớn hơn hoặc các môi trường cạnh tranh bởi vì modus operandi này đưa
vào tất cà nhiệm vụ cho việc gọi đến hành vi trên khách hàng. Người phục vụ không có
Công nghệ phần mềm hướng tác từ 167

quyền quyết định trong mọi trường hợp. Nhìn từ phía trong của tổ chức và khoa học chinh
trị chi ra rằng các hướng tiếp cận một chiều là không cân bằng. Sẽ tốt hơn nếu cho phép
người thực hiện hành động có quyền quyết định trong một trường hợp (tức là việc gọi đến
hành động trở thành một quá trình thoả thuận qua lại). Vì v'ậy, chăng hạn người thực hiện
bằng định nghĩa đã làm rõ ràng hơn các chi tiết cùa các hành động được thực hiện, có thể
hiểu rõ về m ột lý do phù hợp là tại sao hành vi cụ thể thì không nên được gọi đến trong
trạng thái hiện thời. Các quan sát này trờ thành thậm chí thích hợp hơn khi phần mềm
chuyển từ các lĩnh vực cùa dưới sự kiểm soát cùa một tổ chức đơn lé (hoặc một nhóm phối
hợp kiểu thừa kế cùa các tổ chức) đến các môi trường mờ trong đó hệ thống bao gồm các tổ
chức cạnh tranh lẫn nhau.

Thứ ba, hướng đối tượng không đù để cung cấp một tập đầy đù các khái niệm và
cơ cấu cho việc mô hình hoá các kiều hệ thống đã được mô tà trong hình 5 .1: “với các hệ
thống phức tạp ta tìm ra các lớp, các đối tượng và các môđun cung cấp một phương tiện cần
thiết không đầy đũ của sự trừu tượng hoá Các hệ thống phức tạp đòi hỏi các sự trừu
tượng vấn đề đang được giái quyết phong phú hơn. Các đối tượng riêng biệt thể hiện tốt
một tính chất có hột (granularity) của hành vi và lời gọi phương thức là một cơ chế quá
nguyên thuỷ cho việc mô tả các kiểu cùa các tương tác xảy ra. Sự phát hiện các sự thật này
đưa sự phát triển cùa các cơ chế trừu tượng mạnh hơn như là các mẫu thiết kế và các khung

ứng dụng. Trong khi đó là một bước tiến không nghi ngờ, chúng không đạt được điều mong
muốn cúa sự phát triển các hệ thống phức tạp. Chúng tập trung trên các chức nẫng hệ thống
điển hình và các mẫu uỷ nhiệm cúa tương tác cứng nhác và được quyết định trước.

Cuối cùng, các tiếp cận hướng đối tượng cung cấp sự hỗ trợ tối thiểu hoá cho việc
cấu trúc các tập hợp (các quan hệ cơ bàn được định nghĩa bằng cây phân cấp lớp kế thừa).
Như đã minh hoạ ớ hình 5.1, các hệ thống phức tạp bao gồm một số lượng phong phú các
mối quan hệ tổ chức.

Một kỹ thuật mà liên quan gần gũi tới các hệ thống hướng đối tượng là phần mềm
dựa thành phần (component-based). Có một số động cơ cùa phần mềm hướng thành phần,
nhưng người ta có thổ cho rằng bộ phận điều khiển đơn quan trọng nhất ờ sau các hệ ìhống
thành phần là một hy vọng ấp ù lâu dài cùa việc tái sừ dụng phần mềm.

Tóm lại, phần mềm công nghiệp đã bị làm hóng bời vấn đề cùa việc phát triền
168 Tác từ - Công nghệ phần mềm hướng tác tử

phần mềm “các nguyên tắc thử nhất” . Nhìn chung, hầu hết các dự án phát triển phần mềm
hàng ngày phát triển tất cà các thành phần phần mềm hỗn tạp. Điều này rõ ràng là không
hiệu quả, như là hầu hết các yếu 10 cùa một dự án phần mềm điển hình sẽ được thực hiện
thành công nhiều lần trước đó. Từ đó, các nhà nghiên cứu đã nhiều thế kỷ háo hức phát
triển các phương pháp mà sẽ thừa nhận chúng để xây dựng phần mềm từ các thành phần
xây dựng sẵn trong cách tương tự mà các kỹ sư điện từ xây dụng các hệ thống từ các mạch
tích hợp. Các kiến trúc thành phần phần mềm mà Java Bean là được coi như là một ví dụ
biết đến nhiều nhất (tham khảo ờ http://java.sun.com/beans/), là một cách tiếp cận cho vấn
đề này. Mô hình thành phần cần thiết cho phép các nhà phát triển xây dựng và kết họp phần
mềm như là “các đơn vị cùa sự triển khai”. Các ví dụ đơn giàn nhất cùa phần mềm thành
phần là từ việc thiết kế giao diện người dùng. Vi vậy khi m ột cấu trúc cùa giao diện người
dùng sứ dụng một ngôn ngữ chẳng hạn như Java thì sừ dụng các lớp định nghĩa sẵn để thực
hiện các thành phần giao diện. Việc sừ đụng một kiến trúc thành phần, các thành phần là
sẵn có trực tiếp với người phát triển nưh là cấc đơn vị đơn lè cùa sự triền khai, cho việc sử
dụng trực tiếp trong một ứng dụng. Một người phát triển có thề đòi hòi một thành phần giao
diện người dùng về các phương thức mà nó hỗ trợ, có thể tuỳ biến các thuộc tính cùa nó, và
thực hiện một cách toàn vẹn qua một môi trường phát triển đồ hoạ.

Bởi vi các thành phần trong ý thức được mô tà ớ đây được bát nguồn từ kỹ Ihuật
hướng đối tượng, chúng kế thừa tất cá các thuộc tính ci'a đối tượng và đặc biệt mối quan hệ
gần gũi giữa các đối tượng và các tác từ là đúng cho các đối tượng và các thành phần. Tuy
nhiên, thêm vào đó, các tác từ cũng chia sẻ với các thành phần khái niệm cùa một đơn vị
đơn lé cùa sụ triển khai. Vì vậy, các tác tử thường xuyên được trang bị với với khá năng
“suy diễn siêu mức” (metalevel reasoning) trong ý thức để chúng có thể đáp ứng tới các yêu
cầu thông tin về các dịch vụ và chúng cung cấp. Tuy nhiên, các thành phần là không tự trị
trong khi tấc tử lại tự trị; thêm vào đó, giống như các đối tượng, không có khái niệm tương
xứng với reactive, proactive hoặc hành vi xă hội trong phần mềm thành phần.

Trong việc tạo ra các tham số này với ý cùa một cách tiếp cận hướng tác từ, có thề
những người đề xướng các hệ thống hướng đối tượng, component-ware hoặc bất cứ một mô
hình lập trình khác có thể tuyên bố ràng các cơ chế này có thể được thực hiện bằng việc sự
dụng các kỹ thuật cùa họ. Điều này là không còn nghi ngờ. Các hệ thống hướng tấc tử cũng
Công nghệ phần mềm hướng tác từ 169

chi là các chương trình máy tinh. Tuy nhiên, điều này còn thiếu một số điểm. Giá trị cùa
các mô hình phần mềm khác nhau là mindset và các kỹ thuật mà chúng cung cấp cho các kỹ
sư phần mềm. v ề khía cạnh này, các khái niệm hướng tác tử là một sự mờ rộng cùa các mô
hình có sẵn khác.

2 Vòng đời phần mềm hướng tác từ


Chúng ta đã hiểu tại sao các kỹ thuật hướng tác tử thề hiện một cách tiếp cận đầy
hứa hẹn cho việc xây dựng các hệ thống phức tạp, chúng ta có thề đi vào chi tiết của công
nghệ phẩn mềm hướng tác từ. Đặc biệt, ta nghiên cứu các đặc tả cúa các hệ thống tác tử,
thảo luận về cách thực hiện các đặc tả này và khảo sát ti mi cách xác nhận các hệ thống đã
được thực hiện trong thực tế là thoà màn các đặc tả cùa chúng.

2.1 Đặc til (Specification)

Trong phần này chúng ta xem xét bài toán đặc tà một hệ thống tác từ. Các yêu cầu
cho một khung đặc tà tác từ. Các kiểu thuộc tính có thề được thể hiện. Theo cách nhìn các
tác tử được thào luận ờ trên, cách tiếp cận nồi bật để đặc tả các tác từ bao gồm cà việc xử lý
chúng như là các hệ thống có mục đích có thể được hiểu bằng cách quy cho chúng các trạng
thái tri thức chẳng hạn như lòng tin, mong muốn và mục đích. Dựa vào ý tường này, một số
cách tiếp cận cho việc đặc tả một cách hình thức các tác từ đẫ được phát triền, có khả năng
thể hiện các hưóng sau đây của một hệ thống hướng tác tử:

• beliefs: thông tin m à các tác từ có về môi trường xung quanh nó, có thể không đầy
đù hoặc không chính xác:

• goals: là các mục đích mà các tác từ sẽ cố gắng đề đạt đến;

• actions: các hành động mà cấc tác tử thực hiện và các ánh hưởng của các hành

động đó;

• ongoing interaction: cách mà tác tứ tương tác với các tác tử khác trong môi trường

cùa chúng qua thời gian.

Ta gọi lý thuyết giải thích các hướng tương tác kiểu tác tứ để đạt đến ánh xạ từ đầu
vào và đầu ra là một lý thuyết tác từ. Lý thuyết về tác từ thành công nhất lặ ứng dụng cùa
một tem poral m odal logic (các giới hạn không gian ngăn chặn sự thào luận kỹ thuật chi tiết
170 Tác từ - Công nghệ phần m ềm hướng tác tử

trên các logics-see, chẳng hạn nhu cho các tham kháo rộng rãi). Hai trong số các khung
logic nồi tiếng nhất là lý thuyết Cohen-Levesque về mục đích và mô hình R ao-G eorgeff
belief-desire-intention. Mô hình Cohen-Levesque về lúc đẩu chỉ có hai quan điểm: beliefs
và goals. Các quan điểm khác (cụ thề là khái niệm intention) được xây dựng từ đó. Ngược
lại, Rao-Georgeff lại coi intention là cơ bản ban đầu, thêm vào đó là beliefs và goals. v ấ n
đề kỹ thuật chinh cùa các nhà lý thuyết tác từ là việc phát triển một mô hinh chính thức có
thể đưa ra một lời giãi thích phù hợp cho các mối quan hệ bên trong giữa các quan điểm
khác nhau tạo nên một tác từ. Các nỗ lực tương đối ít quan trọng hơn được đưa ra nhằm chi
rồ các hệ thống tác tứ thực sừ dụng logics-see.

Một khung đặc tả tấc từ modal temporal điển hình bao gồm:

• Các kết nối logic hình ihức chuẩn cho việc thể hiện các beliefs cùa tác từ;

• Các kết nối logic thời gian cho việc thể hiện về xử lý động cùa hệ thống - các
hành vi được phát triền liên tục cùa nó;

• Các kết nối logic hình thức chuẩn cho việc thể hiện các mục đích (chẳng hạn như
desires, intentions, obligations);

• M ột số các bộ phận quan trọng cho việc thể hiện các hành động mà các tác tử thực
hiện.

T ừ các yêu cầu đã cho này, có nhiều chiều hướng mà một khung đặc tả tác tử có
thề thay đổi, một số hướng được tồng hợp ở trong bảng sau:

Các khía cạnh thông tin:


Tri thức
Lòng tin
Tập họp các quan điềm thông tin
Các khía cạnh thời gian:
Tuyến tinh đối với phân nhánh
Dày đặc đối với rời rạc
Tham khảo trực tiếp đối với cáo thao tác căng thẳng
Dựa điểm đối vói dựa vào khoảng
Công nghệ phàn mềm hướng tác từ 171

Các khía cạnh mục đích:


Mong muốn
Mục đích
Nghĩa vụ
Lựa chọn
Tập các quan điểm thay thế
Các hành động:
Biểu diễn trục tiếp
Biểu diễn ẩn

2.2 Thực hiện (Implementation)

Một khi đã có một đặc tá, ta phải thực hiện một hệ thống đúng đắn với đặc tá này.
Vấn đề tiếp theo là sự chuyển đổi từ một đặc tà trừu tượng sang một hệ thống tính toán cụ
thề. Ở đây ta xem xét hai khả năng để thực hiện sự chuyền đổi này:

• Làm mịn thù công đặc tà thành một form có thể thực hiện được theo các nguyên lý
nào đó, nhưng không phải ià một quá trinh làm mịn chinh thức (như trong hầu hết
sự phát triền phần mein hiện nay).

• Bằng cách nào đó thực hiện trực tiếp hoặc hoạt hoá đặc tà trừu tượng; hoặc

• Bằng cách nào đó chuyền đổi hoặc biên dịch đặc tà thành mẫu tính toán cụ thể sừ
dụng một kỹ thuật chuyền đồi tự động.

2.2.1 Làm mịn (Refinem ent)

Hầu hết các nhà phát triển phần mềm sử dụng các kỹ thuật cấu trúc không chính

thức để chuyển các đặc tà thành các thực hiện cụ thể. Hầu hết các kỹ thuật được ứng dụng
rộng rãi dựa vào ý tường làm mịn top-down. Trong cách tiếp cận này, một đặc tà hệ thống
trừu tượng được làm mịn thành các đặc tà hệ thống con nhỏ hơn và ít trừu tượng hơn mà
cùng nhau thoà mãn đặc tà ban đầu. Nếu các hệ thống con này vẫn còn quá trừu tượng cho
việc thực hiện trực tiếp thì chúng vẫn tiếp tục được làm mịn. T ừ đầu đến cuối, ta bị bát
buộc phái chứng minh ràng mỗi bước thể hiện một sự làm mịn đúng đắn cùa đặc tả trừu
tượng hơn được đặt trước nó. Sự chứng minh này có thể đưa ra form chứng minh hình thức
172 Tác từ - Công nghệ phần mềm hướng tác từ

nếu như đặc tà cùa ta được thể hiện trong đó gọi là z hoặc là VDM. Sự chứng minh bàng
tham số không chính thức là thường dùng hơn.

Với các hệ thống chức năng, quá trình làm mịn được hiểu rõ và tương đối dễ hiểu.
Tồn tại các công thức làm mịn cho phép người phát triển hệ thống đưa ra các đặc tà trước
và sau điều kiện mà mô tá đặc điểm các cấu trúc thao tác và chương trinh được yêu cầu để
thực hiện.

Với các hệ thống phàn xạ, việc làm mịn là không quá dễ dàng, vi các hệ thống
phản xạ phải được chi rõ trong giới hạn của hành vi đang phát triển cùa chúng. Ngược lại,
với các cơ chế hình thức trước và sau điều kiện thì không dễ đế quyết định các cấu trúc
chương trinh nào được yêu cầu thực hiện các đặc tà này. Bài toán làm mịn cho các hệ thống
hướng tác tử có các đặc tà có thể được đánh giá là thậm chí trừu tượng hơn với các hệ
thống phàn xạ là khó hơn. Từ đó các nhà nghiên cứu chi mới bẳt đầu khảo sát cách làm mịn
các hệ thống dựa tác từ.

M ột phư ơ n g p h á p luận cho các tác tử BD1


Mô hình BDI (beliefs-desires-intentions) như đã nói ở trên là một trong những
khung thành công nhất cho tác từ. Kinny và các đồng nghiệp đã giả sừ một phương pháp
thiết kế bốn giai đoạn cho các hệ thống các tác từ BDI. Phương pháp này liên kết gần gũi
với một sự thực hiện cụ thể cùa mô hình BDI: kiến trúc PRS. Có thể tổng hợp phương pháp
này theo các bước sau:

• Nhận ra các vai trò liên quan trong lĩnh vực ứng dụng và từ đó phát triển một cây
phân cấp lóp tác tử. Một vai trò vi dụ có thé là theo dõi thời tiết, trong đó tác tử i
được yêu cầu để làm cho tác tử j biết được điều kiện thời tiêt trong từng giờ.

• Xác định các trách nhiệm liên quan với mỗi vai trò, các dịch vụ được yêu cầu và

được cung cấp bời vai trò đó và sau đó quyết định mục đích liên quan với mỗi
dịch vụ. T ừ đó các mục đích có thể để tìm ra tình trạng thời tiết hiện tại và làm
cho tác tử j biết được các thông tin này.

• Với mỗi mục đích, quyết định các kế hoạch có thể được sừ dụng để đạt được nó và
dưới các điều kiện ngữ cành mà mỗi kế hoạch thoả mãn. T ừ đó, một kế hoạch cho
mục đích làm cho tác tử j hiểu được các điều kiện thời tiết có thể bao gồm việc
Công nghệ phần mềm hướng tác từ 173

gửi một thông điệp tới j.

• Xác định cấu trúc niềm tin cúa hệ thống - các yêu cầu thông tin cho mỗi kế hoạch
và mục đích. Từ đó ta có thể đưa ra một hàm dự đoán vvindspeed(x) để biểu diễn
tốc độ gió hiện tại là X. Một kế hoạch cho việc xác định các điều kiện thời tiết
hiện tại có thể cần thiết để biểu diễn thông tin này.

Lưu ý ràng quá trình phân tích sê được lặp đi lặp lại như trong các phương pháp
truyền thống hơn. Đầu ra sẽ là một mô hinh gần tương đương với kiến trúc tác tử PRS. Từ
đó, việc chuyển từ bản thiết kế cuối cùng tới việc thực hiện sứ dụng PRS là tương đối đơn

giản.

Kinny và các cộng sự minh hoạ phương pháp cùa họ bằng việc ứng dụng nó vào
việc thực hiện hệ thống quàn lý giao thông trên không gọi là OASIS. Hệ thống này hiện tại
đã được triển khai cho hàng không Sydney ờ Australia với một ứng dụng lớn và phức tạp.
Người ta cho rằng ứng dụng tác tử quan trọng nhất còn chưa được phát triển.

2.2.2 Việc thực hiện trực tiếp các đặc tả tác từ

Già sừ ràng chúng ta có một đặc tả hệ thống Iị) được biểu diễn trong m ột số ngôn

ngữ logic L. Một cách để đạt được một hệ thống cụ thể từ ộ là coi nỏ như là một đặc tả có

thề thực hiện được, và thông dịch đặc tà một cách trực tiếp để tạo ra hành vi cùa tác từ.
Việc thông dịch một đặc tà tác từ có thể được xem như là một kiều chứng minh suy diễn

cùa sự thòa mãn, nhờ đó ta thấy rằng đặc tả <t> là thỏa mãn việc xây dựng một mô hình (về ý
n g h ĩa lo g ic ) c h o n ó . N ế u c á c m ô liìn lt v ớ i n g ô n n g ũ d ặ c tả L c ỏ th ổ đ ư ự c đ u a ra m ộ t
thông dịch tính toán, sau đó việc xây dựng mô hình có thể được coi như là việc thực hiện
đặc tả. Để làm rõ hơn vấn đề này, ta xem xét ngôn ngữ lập trinh Conçurent Metate M.
Trong ngôn ngữ này, các tác từ được lập trình bằng cách trao cho chúng một đặc tả logic
thời gian cùa hành vi, chúng được lưu ý là nên thề hiện; đặc tà này được thực hiện trực tiếp
để tạo ra mỗi hành vi của tác từ. Vì vậy, các mô hình cho logic thời gian trong đó đặc tả tác
tử MetateM hiện tại là quá trình của việc xây dựng một chuỗi các trạng thái. Do đó chuỗi

các trạng thái có thể được coi như là cấc lịch sừ được xác định bằng các chương trình khi

chúng thực hiện, logic thời gian dựa vào Concurrent MetateM có một sự thông dịch tính

toán.
174 Tác từ - Công nghệ phàn mềm hướng tác tử

Lưu ý rằng việc thực hiện các đặc tá tác từ Concurrent MetateM có thể là cơ bàn
bời vì các mô hình theo logic thời gian Concurrent MetateM có nền tàng tương đối đơn
giản, với một sự thông dịch tính toán rõ ràng và thuộc về trực giác. Tuy nhiên, các ngôn
ngữ đặc tà tác tử nhìn chung là được dựa trên các logic phức tạp hơn (chẳng hạn như cơ chế

hình thức BDI của Rao và Georgeff). Đặc biệt, chúng thường dựa trên m ột khung ngữ
nghĩa được coi như là possible worlds. Nhìn chung các chi tiết kỹ thuật bao gồm: điểm
chính là các ngữ nghĩa possible worlds không có một sự thông dịch tính toán giống như
cách mà các ngữ nghĩa Concurrent MetateM thực hiện. Do đó không rõ ràng rằng cái gì
đang thực hiện một logic dựa trên các ngữ nghĩa trên. Để đáp ứng điều này, m ột số các nhà
nghiên cứu đẫ nỗ lực phát triển các ngôn ngữ đặc tả tác tử có thể thực hiện được với cơ sờ
ngữ nghĩa được đơn giàn hóa, có một sự thông dịch tính toán. Một ví dụ là ngôn ngữ
A gentSpeak của Rao, mặc dù cần thiết một hệ thống BDI nhưng lại có các ngữ nghĩa tính

toán đơn giàn.

2.2.3 Việc biên djch các đặc tả tác tử

Một sự thay đồi cho việc thực hiện trực tiếp là sự biên dịch (com pilation). Theo ý
đồ này, ta biết được đặc tà trừu tượng và chuyển đổi chúng thành m ột mô hình tính toán cụ
thể qua một số quá trình tồng hợp tự động. Có thể nhận thấy các ưu điểm cùa sự biên dịch
qua việc thực hiện trực tiếp trong hiệu suất thi hành. Việc thực hiện trực tiếp cùa một đặc tả

tác từ, chẳng hạn như trong Concurrent MetateM ờ trên điển hình bao gồm sự thực hiện
một biểu diễn tượng trưng cùa đặc tả ờ thời gian chạy. Sự thực hiện này tương đương với
việc suy diễn cùa một số mẫu đáng giá tính toán. Các hirởng tiếp cận biên dịch giúp giàm
bót các đặc tả tượng trưng trừu tượng thành một mô hình tính toán đơn giản hơn mà không
yêu cầu sự biểu diễn tượng trung. Việc suy diễn bởi vậy được thực hiện off-line ở thời điểm
biên dịch; việc thực hiện cùa hệ thống được biên dịch sau đó có thể được thực hiện với rất (t
hoặc không có suy diễn tượng trưng ở thời điểm thi hành.

stituated Automata: Các máy tụ' động trạng thái


Các hirớng tiếp cận biên dịch thường dựa vào mối quan hệ thân thiết giữa các mô

hlnh cho logic thời gian/hlnh thức, và các máy trạng thái giới hạn giống các máy tự động.
Ví dụ, Pnueli và Rosner tổng hợp các hệ thống phản xạ từ việc phân chia các đặc tả logic
thời gian. Các kỹ thuật tương tự cũng đã được sử dụng để phát triển các nhân hệ thống
Công nghệ phàn mềm hướng tác từ 175

trùng hợp từ các đặc tà logic thời gian. Có thể ví dụ điển hình nhất cho hướng tiếp cận này
cùa việc phát triển tác từ là mô hình các máy tự động trạng thái (situated autom ata) cùa
Rosenschein và Kaelbling. Họ sử dụng một logic thuộc tri thức (tức là một logic cùa nhận
thức) để chi rồ thành phần nhận thức cùa các hệ thống tác tử thông minh. Sau đó họ sử
dụng một kĩ thuật dựa vào chứng minh suy diễn để tồng hợp trực tiếp các máy tự động từ
các đặc tà này.

Trong hướng tiếp cận các máy tự động trạng thái, một tác tứ có hai thành phần
chính:

• Một bộ phận tri giác (perception): có trách nhiệm quan sát môi trường và cập nhật
trạng thái trong của tác từ;

• Một bộ phận hành động (action): có trách nhiệm quyết định các hành động để thực
hiện, dựa trên trạng thái bên trong cùa tác tứ.

Rosenschein và Kaelbling đã phát triển hai chương trình tương ứng để hỗ trợ sự
phát triển cùa các thành phần tri giác và hành động cùa tác tử.

Hướng tiếp cận chung cùa sự tồng họp tự động, mặc dù hấp dẫn về mặt lý thuyết,
nhưng lại bị giới hạn trong một số lượng cùa các mối quan hệ quan trọng. Thứ nhất, khi
ngôn ngữ đặc tả tác tử trờ nên ý nghĩa hơn, sau đó thậm chí suy diễn off-line được thực
hiện. Thứ hai, các hệ thống được tạo ra theo cách này là không có khá năng hpc (learning),
(chẳng hạn, chúng không có khả năng thích nghi chương trình cùa chúng ở thời gian thi
hành). Cuối cùng, như với các hướng tiếp cận thực hiện trực tiếp, các khung đặc tả tác tử có
khuynh hướng không có thông dịch tính toán cụ thể, dẫn đến không thể tống hợp.

2.2.4 Sự xác minh

Khi phát triển một hệ thống cụ thề, ta cần phải chi ra rằng hệ thống này là đúng
đán với những gì đã có trong đặc tả ban đầu. Quá trình này được gọi là sự xác minh, và nó
đặc biệt quan trọng nếu ta đa giới thiệu một cách không chính thức vào quá trình phát triển.
Chúng ta có thể chia các hướng tiếp cận theo sự xác minh cùa các hệ thống thành hai lớp
lớn: (1) axiomatic; và (2) sematic (kiểm tra mô hlnh). Trong các phần con ờ sau ta sẽ xem
xét cách mà hai hướng tiếp cận này đã tự chứng minh trong các hệ thống dựa tác tử.
176 Tác từ - Công nghệ phần mềm hướng tác tử

2.3 Các hưóng tiếp cận tiên đề (axiom atic)

Các hướng tiếp cận tiên đề cho việc xác minh chương trinh đã đưa vào xu hướng
chính cùa khoa học máy tính, với nghiên cứu cùa Hoare ờ những năm cuối cùa những năm
I960. Việc xác minh tiên đề yêu cầu ta có thể nắm được chương trình cụ thể cùa minh và từ
chương trình đó tìm ra được một cách ngữ nghĩa một lý thuyết logic mà thể hiện hành vi
cùa chương trình. Ta gọi nó là lý thuyết chương trình. Neu như lý thuyết chương trình được
biểu diễn trong một ngôn ngữ logic giống như cùa đặc tà ban đầu thì việc xác minh giảm tới
một bài toán chứng minh: chì ra rằng đặc tà là một định lý cùa lý thuyết chương trình (một
cách tương đương thi nó là một hệ quà logic cùa lý thuyết chương trình).

Sự phát triền cùa một lý thuyết chương trình được tạo ra khâ thi bằng cách tiên đề
hóa ngôn ngữ lập trinh trong đó hệ thống được thực hiện. Ví dụ, logic Hoare cho chúng ta ít
hoặc nhiều hơn một tiên đề cho mỗi loại câu lệnh trong một ngôn ngữ giống Pascal đơn
giản. Từ sự tiên đề hóa đã cho, lý thuyết chương trình có thể được đưa ra từ nguyên bàn
chương trình theo cách ngữ nghĩa.

Có thể nghiên cứu liên quan nhất từ xu hướng chung cùa khoa học máy tính là đặc
tả và xác minh các hệ thống phản xạ sử dụng logic thời gian, được mờ đường bời Pnueli,
Manna và các đồng nghiệp. Ý tường là các việc tính toán cùa các hệ thống phàn xạ là các
chuỗi không giới hạn mà tương đương với các mô hình cho logic thời gian tuyến tính.
Logic thời gian có thể được sử dụng để phát triển một đặc tà hệ thống và để tiên đề hóa một
ngôn ngữ lập trình. Sự tiên đề hóa này sau đó có thể được sừ dụng để đưa ra một cách ngữ
nghĩa lý thuyết cùa một chương trình từ nguyên bẳn chương trinh. Cà đạc tâ vầ lý tliuyếi
chương trình sau đó sẽ được mã hóa trong logic thời gian, vả việc xác minh sau đó trờ
thành một bài toán chứng minh trong logic thời gian.

2.3.1 Sự tiên đề hóa hai ngôn ngữ đa tác tử

Một nghiên cứu tương đối nhỏ đã được thực hiện trong nhóm các hệ thống dựa tác
từ trên sự tiên đề hóa các môi trường đa tác tử. Ta sẽ xem lại chi một hướng tiếp cận. Một
tiếp cận tiên đề về việc xác minh cùa hệ thống đa tác từ được đề xuất, v ề bản chất, ý tướng
là để sừ dụng một logic belief thời gian đề tiên đề hóa các thuộc tính cùa hai ngôn ngữ lập
trình đa tác tử. Từ một sự tiên đề hóa đã biết, một lý thuyết chương trình thể hiện các thuộc
Công nghệ phân mêm hướng tác từ 177

tính của hệ thống có thể được đưa ra một cách hệ thống theo cách đã chi ra ớ trên. Một
logic belief thời gian đã được sứ dụng vì hai lý do.

Trước hết, một thành phần thời gian được yêu cầu vì như đã quan sát ờ trên, chúng
ta cần nẩm bắt hành vi đang xảy ra của hệ thống đa tác tử. Một thành phần belief đã được
sứ dụng bởi vì các tác từ chúng ta muốn xác minh là mỗi hệ thống trí tuệ nhân tạo (AI)
tượng trưng trong quyền của chính nó. Điều đó có nghĩa là mỗi tác từ là một hệ thống suy
diễn tượng trưng bao gồm m ột sự biểu diễn môi trường của nó và hành vi mong ước. Một
thành phần belief về mặt logic cho phép nám bát các biểu diễn tượng trưng thể hiện trong
mỗi tác tử. Hai ngôn ngữ lập trinh đa tác tử đã được tiên đề hóa trong logic belief thời gian
là Agento cùa Shoham và Concurrent MetateM cùa Fisher (đă biết ỡ trên). Luu ý rằng
hướng tiếp cận này dựa vào thao tác cùa các tác từ [à đơn giàn một cách thòa đáng rằng các
(huộc tính cùa chúng có thể được tiên đề hóa về mặt logic. Nó ảnh hường rộng răi cho
Agento cùa Shoham và C oncurrent M etateM cùa Fisher vì các ngôn ngữ này có ngữ
nghĩa đơn gián, liên quan chặt chẽ tới các hệ thống dựa vào quy luật, cái mà có m ột ngữ
nghĩa logic đơn giàn. Với các tác từ phức tạp hơn, một sự tiên đề hóa là không quá phức
tạp. Hơn nữa, việc nẳm bắt ngữ nghĩa cùa việc thực hiện đồng thời cùa các tác từ là không
dễ dàng (tất nhiên nó là một lĩnh vực nghiên cứu đang được phát triển trong khoa học máy

tính).

2.3.2 Các hướng tiếp cận ngữ nghĩa: kiểm tra mô hình

Sau cùng, sự xác mình tiên đề giám chi còn là m ột bài toán chứng minh. Các tiếp
c ậ n tiê n đ ể đ ể x á c m in h v o n đa hị gióri h ạ n h à i s ự p h ứ c tạ p c ù a h à i to á n c h ứ n g m in h nAy
Các sự chứng minh là đù phúc tạp, thậm chí trong logic cổ điển; các kết nối hlnh thức hoặc
thời gian đến một logic làm cho bài toán phức tạp hơn đáng kể. Vì lí do này, các hướng tiếp
cận hiệu quả hơn cho việc xác minh đã được yêu cầu. M ột hướng tiếp cận thành công đặc
biệt là kiểm tra mô hình (m odel checking). N hư tên gọi đã gợi ý, trong khi các tiếp cận tiên

đề thường là dựa vào sự chứng m inh cú pháp, cách tiếp cận kiểm tra mô hình được dựa trên
ngữ nghĩa cùa ngôn ngữ đặc tả.

về mặt lý thuyết, bài toán kiểm tra mô hình hoàn toàn đơn giản: một công thức ộ
của ngôn ngữ L được biết trước, m ột mô hình M cùa L, xác định cho dù (ị) có hợp lệ trong
178 Tác tử - Công nghệ phần mềm hướng tác từ

M hay không, tức là cho cù M |=LỘ. Sự xác minh dựa trên việc kiểm tra m ô hình đã được
nghiên cứu có liên quan tới logic thời gian. Kĩ thuật này lần nữa được dựa vào mối quan hệ

gần gũi giữa các mô hình logic thời gian và các máy trạng thái giới hạn. G ià sừ rằng 4> là

đặc tà cho một hệ thống nào đó và n là một chương trinh thực hiện ộ. Sau đó, đề xác định

xem n có phài là thực hiện đúng đắn ộ hay không, ta lựa chọn n rồi từ đó sinh ra m ột mô

hình Mn tương ứng với n , với ý nghĩa rằng Mn mã hóa tất cà các tính toán có thể cùa n .

Để xác định xem M n |=<|> hay không, tức là đặc tả công thức (Ị) là hợp lệ trong M n ; chương

trinh n thỏa mãn đặc tà ộ chi trong truờng hợp câu trả lời là “yes” . Thuận lợi chính cúa
kiểm tra mô hình qua sự xác minh tiên đề là sự phức tạp: kiểm tra mô hình sử dụng việc
phân nhánh thời gian logic thời gian CTL có thể được thực hiện trong thời gian đa thức,

ngược lại bài toán chứng minh cho hầu hết các logic hình thức là hoàn toàn phức tạp.

Kiểm tra mô hình các hệ thống BDI

Rao và G eorgeff đưa ra một thuật toán cho việc kiểm tra mô hình các hệ thống tác
từ. Chính xác hơn, họ đưa ra một thuật toán cho việc lựa chọn một mô hình logic cho ngôn
ngữ đặc tả tác tử BDI cùa họ, m ột thể th ứ c của ngôn ngữ và việc quyết định thể thức đó có
hiệu lực lên mô hình hay không. Kỹ thuật này là gần như dựa trên các giải thuật kiểm tra
mô hình cho các logic hình thức chuẩn. Họ chi ra rằng mặc dù kết luận của ba thể thức đặc
biệt (beliefs, desires, và intentions) vào việc phân nhánh khung thời gian, thuật toán vẫn
hoàn toàn hiệu quả khi chạy trong thời gian đa thức. Bởi vậy bước thử hai cùa quá trình
kiểm tra mô hình hai giai đoạn được mô tả ở trên có thể vẫn được thực hiện một cách hiệu
quả. Tuy nhiên, cách mà bước đầu tiên được thực hiện cho logics BDI là vẫn không rõ
ràng. Ở đâu thì mô hình logic mô tả đặc điểm một tác tử thực tế có thể được xuất phát từ

một chương trình n bất kỳ, như ờ trong xu hướng chù đạo của khoa học máy tính? Để thực
hiện điều này, ta cần lựa chọn m ột chương trình được thực hiện bời Pascal và từ đó sinh ra

các mối quan hệ có thể truy cập belief, desire và intention mà được sừ dụng để đưa ra một
ngữ nghĩa cho thành phần BDI cùa logic. Như ta đa lưu ý ở trước, bởi vì không có một mối
quan hệ rõ ràng giữa logic BDI và các mô hình tính toán cụ thể được sử dụng để thực hiện
các tác tử, cách mà một mô hình có thể được đề xuất cũng là không rõ ràng.
Công nghệ phần mềm hướng tác từ 179

3 Phương pháp luận hướng tác tử


Công nghệ phần mềm hướng tác tử đã trờ thánh một lĩnh vực nóng hồi cùa nghiên
cứu trong những năm gần đây. Đã rất nhiều phương pháp luận được đưa ra. Trong phần này
chúng ta sẽ xem một số phương pháp phân tích thiết kế hướng agent [18], và xem xem
chúng thoà mẫn những yêu cầu cùa phân tích thiết kế hướng tác từ như thế nào.

3.1 Phương pháp Prometheus

Pha phân tích cùa Phương pháp Prometheus (tên một vị thần Hy lạp) bao gồm:

• Xác định môi trường cùa hệ thống trong những điều kiện cùa: nhận thức (những
thông tin đi từ môi trường), những hành động (những hành động mà m ột tác từ
dùng để tác động lên môi trường của nó), và dữ liệu bên ngoài.

• Xác định những mục đích, những chức năng và kịch bàn use-case cùa hệ thống.

• Những mục đích xác định những gì mà hệ thống sẽ làm

• Những chức năng tương tự như vai trò trong những phương pháp khác (Gaia).
Việc định nghĩa chức năng để hoàn thành những mục đích đã được xác định.

• Kịch bản use-case miêu tả hệ thống đang được sừ dụng. Bao gồm cả tri thức gì
được thừa nhận, những thông điệp nào được gừi đi,và những hành động nào được
thực hiện bởi tác tử.

Những chức năng Prometheus được miêu tà dưới đây:

- T ân

- Những miêu tả ngôn ngữ tự nhiên ngắn gọn

- Danh sách những hành động

- Danh sách những tri thức thích họp

- Dữ liệu được sừ dụng

- Dữ liệu được tạo ra

- Nhừng tương tác với nhũng chức năng khác

Miêu tả của “những tương tác với những chức nẫng khác” xác định thông điệp nào
180 Tác tử - Công nghệ phần mềm hướng tác từ

mà vai trò gửi và nhận từ những vai trò khác. Điều này ràng buộc cách mà vai trò tương tác
với những tác từ khác, và ràng buộc về việc m ột vai trò tương tác với những vai trò khác.
Tuy nhiên, những chức năng của Prom etheus lại không xác định chi tiết cách mà những
chức năng được hoàn thành như thế nào. Bởi vậy, trong khi pha phân tích của Prometheus
bắt đầu xác định cách mà những chức năng liên hệ tới những chức năng khác, thì những
chức năng Prometheus lại có xu hướng ít thực hiện được hơn là vai trò trong Gaia. Nó nẩm
bắt những mục tiêu của hệ thống, tri thức về phạm vi ứng dụng, những yêu cầu trên môi
trường, và những yêu cầu trên hệ thống máy tính. N hững mô hình được tạo ra miêu tà
những yêu cầu cùa hệ thống và tránh gồm quá nhiều những chi tiết về cách mà hệ thống
được thực hiện ra sao.

3.2 Phương pháp Tropos

Phương pháp Tropos được thiết kế bao gồm tất cả các pha trong phát triển phần
mềm. Nó bao gồm nhũng pha cho yêu cầu sớm, yêu cầu muộn, thiết kế kiến trúc, thiết kế
chi tiết, và thực hiện. Những pha phân tích phần mềm là những pha yêu cầu sớm và yêu cầu
muộn. Những khái niệm và ký hiệu tương tự được sử dụng trong cà hai pha. Những khái
niệm trong phương pháp.

- M ục đích: Biểu diễn những quan tâm chiến lược cùa người thực hiện. Tropos
miêu tả những mục đích cứng và mềm. Những mục đích cứng miêu tả chức năng mà hệ
thống sẽ hoàn thành. Những m ục đích mềm miêu tả những yêu cầu phi chức năng như là
bào mật, sự thực hiện và khà năng bảo trì.

- R àng buộc: mối quan hệ ràng buộc giữa những người thực hiện miêu tá những

trường hợp ở đó một người thực hiện phụ thuộc vào người khác để đạt được một mục đích,
thực hiện một kế hoạch, hoặc chuyển giao m ột tài nguyên.

- Kế hoạch: là một cách đặc biệt để đạt được m ột mục đích.

- Tài nguyên; N hững tài nguyên vật lí hay dữ liệu mà một người thực hiện có thể
cần hoặc người khác cung cấp.

- N ăng lực: Khả năng của m ột người thực hiện để định nghĩa, chọn lựa và thực
hiện một kế hoạch để hoàn thành m ột mục đích.

- T ri thứ c: Biểu diễn những tri thức cùa người thực hiện.
Công nghệ phần mềm hướng tác tử 181

Trong pha yêu cầu sớm, chúng ta mô hình hoá và phân tích những mục đích và
nhũng ý định cùa nhà đầu tư. Thông qua phân tích, phương pháp Tropos xây đụng những
mô hình yêu cầu chức năng và phi chức năng. Những mô hình này bao gồm người thực
hiện, mục đích của chúng, và những ràng buộc cùa chúng.

Pha y ê u cầu muộn sữ dụng những mó hình được sử dụng trong pha yêu cầu sớm.
Trong pha y ê u cầu muộn, chúng ta xác định hệ thống phần mềm như là những yêu cầu mà
không có thông tin gì về thiết kế. Những khái niệm này trong Tropos là trình độ cao, xác
định n h ữ n g mục đích hơn là những bước đề đạt được chúng.

3.3 Phương pháp Gaia

Gaia mục đích là cho phép một nhà phân tích đi theo một cách hệ thống từ những
yêu cầu đến m ột thiết kế m à đã được mô tà đầy đù đến mức nó có thể được thực hiện một
cách trực tiếp. Ghi nhớ rằng chúng ta xem xét những yêu cầu nắm bắt các pha như thể độc
lập với các mô hình được sừ dụng cho phân tích và thiết kế. Trong khi áp dụng Gaia, người
phân tích đi từ trừu tượng đến dần khái niệm cụ thể. Mỗi bước tiến kế tiếp sẽ đưa ra xu
hướng thực hiện lớn hơn, và giảm không gian những hệ thống có thể mà có thể được thực
hiện để thoá mãn những yêu cầu ban đầu. Phân tích và thiết kế có thể được xem như một
tiến trình cùa việc phát triển những mô hình được chi tiết hoá hơn cùa hệ thống được xây
dựng. Những mô hình chính được sử dụng trong phương pháp Gaia được tổng kết lại trong
hình 5.3, Gaia đã mượn một số những thuật ngữ và ký hiệu của phân tích và thiết kế hướng
đối tượng.

Tuy nhiên, đây không phải là một cố gẳng vô ích để áp dụng những phương pháp
như vậy cho phát triển hướng tác từ. Hơn thế, nó cung cấp một tập hợp những tác tử riêng
biệt cùa những khái niệm mà thông qua đó một kỹ sư phần mềm có thể hiểu và mô hình lên
được một hệ thống phức tạp. Trong trường hợp cụ thể, Gaia khuyến khích những nhà phát
triển nghĩ đến việc xảy dựng những hệ thống dựa trên tác từ như là một công việc thiết kế
tổ chức. Những khái niệm chinh cùa Gaia có thể được chia thành hai loại: trừu tượng và cụ
thể; những khái niệm trừu tượng và cụ thể được đúc kết trong bàng 2. Những thực thể trừu
tượng được sừ dụng trong quá trình phân tích để mô hình hoá hệ thống, nhưng lại không
cần thiết phải được sự thực hiện trực tiếp trong hệ thống. Những thực thể cụ thể, thi ngược
182 Tác từ - Công nghệ phần mềm hướng tác từ

lại, được sừ dụng trong quá trình thiết kế, và sẽ có những bàn sao trong khi thực thi hệ
thống.

Hình 5.3 Mối quan hệ giữa những mô hình của Gaia.

N hũng khái niệm trừ u tuọng N hũng khái niệm cụ thế

Vai trò Các kiều Agent

Quyền Các dịch vụ

Trách nhiệm Sự hiểu biết

Giao thức

Hoạt động

Những tính chất về vòng đời

Những tính chất về sự an toàn

Bảng 5.1 Những khái niệm trừu tượng và cụ thể trong Gaia.
Công nghệ phần mềm hướng tác tử 183

Hình 5.4 Những khái niệm trừu tượng.

4 Mờ rộng UML cho đặc tả tác tử


Sự phát triển thành công cùa công nghệ tác tử yêu cầu các kỹ thuật làm giảm các
rủi ro vốn có trong bất cứ công nghệ mới nào. Có hai cách làm giảm rủi ro:

• Đưa ra công nghệ mới như sụ m ở rộng cùa các phương thức đã tồn tại và đáng tin
tường.

• Cung cấp các công cụ kỹ nghệ chinh xác hỗ trợ các phương thức theo chuẩn công

nghiệp cùa phát triển công nghệ.

Để thúc đẩy sự chấp nhận của các công nghệ đã tồn tại, đưa ra tác tử như là mờ
rộng cùa active object biểu thị cả tính tự chú động (khả năng khởi tạo các hành động không
cần tác động từ bên ngoài) và tính tự chủ quyết định (khà nàng từ chối hay thay đổi các yéu
cầu bên ngoài). Do đó định nghĩa cơ bản của tác tử là “một đối tượng có thể nói “go”(tính
tự chù động) và nói “no” (tính tự chủ quyết định)” . Tính tự chù hiển nhiên là sự khác biệt
184 Tác từ - Công nghệ phần mềm hướng tác tử

quan trọng nhất giữa tác tử và đối tượng. Một đối tượng không liên kết rõ ràng với mục
đích và vai trò cùa nó trong hệ thống hoàn toàn được xác định khi nào và bằn? cách nào các
đối tượng khác gửi thông điệp đến nó. Một tác tử có liên kết rõ ràng với mục đích và nó
tương tác với môi trường và với các tác tử khác đế đạt được mục đích.

Một đặc tính cân phải xem xét nữa là tính cộng đông cúa tác tử tức là khả năng
liên lạc với các tác tử khác. Có rất nhiều kiểu liên lạc sẵn có nhưng những kiểu giao tiếp
này đều được thừa kế từ KQML (Knowledge Query M anipulation Language) - m ột ngôn
ngữ liên lạc giữa các tác từ phổ biến nhất. KQML là giao thức cho phép trao đổi thông tin
và tri thức mà đặc tính chù yếu cùa nó là tất cà các thông tin cho sự hiểu nội dung thòng
điệp được bao gồm trong bản thân liên lạc.

Trong những năm qua, số lượng và hướng phát triển phần mềm dựa tác từ tăng
nhanh. Những vấn đề khó giải quyết khi dùng các phương pháp hướng đối tượng truyền

thống đã được giải quyết thành công với tác tử. Tuy nhiên bên cạnh những kết quà đáng

khuyến khích trong ứng dụng,các kỹ thuật thiết kế và phát triển phát triển rất chậm. Trong
phần này, ta xem xét phương pháp thiết kế dựa trên U M L(U nified M odeling Language).
Chúng ta chọn ngôn ngữ này vì nó được cả giới học già và thế giới công nghiệp chấp nhận.
Hơn nữa một số m ớ rộng cùa UML (các ràng buộc, các ký pháp) cho phép nó thích hợp
hơn trong thiết kế hướng tác từ. Sự m ở rộng này hữu ích khi chúng ta phải đổi mặt với các
khía cạnh chuyên biệt cùa tác tử trong thiết kế và giúp chúng ta giài quyết một số vấn đề.

4.1 Tổng quan về UML

Trong suốt thập kỳ 70, lập trình cấu trúc là hướng tiếp cận chiếm ưu thế trong phất
triển phần mềm. Cùng với chúng, các kỹ thuật công nghệ phần mềm đã phát triển để nới

rộng và hình thức hoá vòng đời phát triển phần mềm: từ lập kế hoạch, phân tích và thiết kể
cuối cùng là xây dựng hệ thống, chuyển giao và bào trì. Trong những năm 80, các ngôn ngữ

lập trình hướng đối tượng phát triển mạnh mẽ, đưa ra các khái niệm mới như đóng gói dữ
liệu, thừa kế, thông điệp. Cuối những năm 80 đầu những năm 90, rất nhiều cách tiếp cận

mô hinh hoá được phát triển. Để thống nhất nhũng cách tiếp cận này, ngày 29 tháng 5 năm
1995 Analysis and Design Task Force được thiết lập trong OM G. Tháng 11 năm 1997, các

thành viên OMG đã thông qua một chuẩn gọi là Unified M odeling Language (UM L).
Công nghệ phần mềm hướng tác từ 185

UML thống nhất và chuẩn hoá các phương thức cùa nhiều cách tiếp cận vòng đời
phần mềm hướng đối tượng và hỗ trợ các mô hình sau:

Các mô hình tĩn h (S tatic M odel): các biểu đồ lớp và gói mô tả các ngữ nghĩa tĩnh
cùa dữ liệu và thông điệp. Trong phát triển hệ thống, biểu đồ lớp được sứ dụng theo hai
cách khác nhau cho hai mục đích khác nhau. Thứ nhất, chúne cỏ thể mó hình miền vấn đề
một cách khái niệm. Do đó chúng là khái niệm tự nhiên và có the chuyền cho người dùng.
Thứ hai, biểu đồ lớp có thể mô hình hoá sự thực hiện cùa lớp - hướng dẫn nhà phát triển.
Tại mức độ chung, thuật ngữ lớp có nghĩa là một đơn vị được đóng gói. Mức khái niệm mô
hình các kiểu và các liên kết, mức thực hiện mô hình các lớp thực hiện. Trong khi cả hai có
thề nghĩ chung như lớp, cách dùng chúng như khái niệm và ký pháp thực hiện quan trọng
với cà mục đích và ngữ nghĩa. Biểu đồ gói nhóm các lớp trong các gói khái niệm cho sự

trình diễn và xem xét

• C ác mô hình động (D ynam ic Model): bao gồm các biểu đồ tương tác (ví dụ
như biểu đồ diễn tiến và biểu đồ cộng tác), lược đồ trạng thái, biểu đồ hoạt

động.

■ T ru ò n g h ọ p sử d ụ n g (Use cases): đặc tả các hành động mà hệ thống hay lớp

có thể thực hiện bằng cách tương tác với các tác nhân ngoài.

■ Mô hình th ự c hiện (Im plem entation Models): như các mô hình thành phần

và biểu đồ triển khai mô tả sự phân bố các thành phần trong các nền khác nhau.

■ Ngôn ngũ- rà n g buộc đối tượng (OCL): một ngôn ngữ hình thức đơn giàn
d iễ n tà n h iề u n g ữ n g h ĩa h a n tro n g đ ặ c tà U M L . N ó c ỏ th ể đ irạ c s ừ d ụ n g tro n g
mô hình, các điều kiện trước và sau cùa hành động và đường dẫn trong mạng

đối tượng.

Chúng ta đề xuất các m ờ rộng dựa tác từ cho các đại diện UML: gói, mẫu, biểu đồ
diễn tiến, biểu đồ cộng tác, biểu đồ hoạt động, biểu đồ lớp, biểu đồ triền khai và các lược
đồ trạng thái. Ngữ nghĩa mô hình UM L được đại diện bằng các siêu mô hình có cấu trúc

được định nghĩa chuẩn hoá bàng cú pháp OCL.

4.2 Sử dụng UML phát triển hệ thống tác tử

Các nghiên cứu về công nghệ phần mềm hướng tác từ đã chi ra các vấn đề cần
186 Tác tử - Công nghệ phần mềm hướng tác tử

khám phá là khả năng m ờ rộng UM L để hỗ trợ các khái niệm hướng tác tử cơ bàn như tác
tử, ontology và các giao thức tương tác. N hững nghiên cứu này sẽ dẫn đến nhiều m ờ rộng
UML khác nhau nhưng những ký pháp này không hoàn toàn được chấp nhận vì nó không
được các công cụ CASE chấp nhận, c ầ n chú ý rằng m ục đích chính cùa AUM L là khuyến
khích các nhà cung cấp các công cụ CASE hỗ trợ các ký pháp hướng tác từ trong sàn phẩm
của học. Trong phần tiếp theo chúng ta sẽ giới thiệu các khái niệm cơ bản của công nghệ
phần mềm dựa tác tử và các ký pháp dựa UML. Các ký pháp dựa UML không yêu cầu
những mở rộng cho các biểu đồ UM L thông thường và bất kỳ công cụ CASE cũng hỗ trợ
nó. Cách tiếp cận này cỏ lợi thế là cho phép các kiến trúc sư sử dụng các ký pháp cùa họ mà

không cấn các công cụ CASE hỗ trợ tác từ

Hình 5.5 Biểu đồ User-Case.

4.3 Phân tích hướng tác tử

Pha phân tích có xu hướng kháo sát miền vấn đề để mô tà phần mềm dự định làm
gì. Nói chung pha này độc lập với các công nghệ sử dụng để phát triển hệ thống và bàn thân
hệ thống được coi như hộp đen tướng tác với môi trường. Tuy nhiên có m ột số tác tử thông
tin hay tác từ trợ giúp cá nhân tiếp xúc trực tiếp với người dùng và chúng cung cấp một số
chức năng nên được xem xét trong pha phân tích. Do vậy các biểu đồ trường hợp sử dụng
hướng tác tử (agent-oriented use cases) cho phép kiến trúc sư mô tả một số kiểu tương tác
với người dùng, với môi trường và với phần còn lại của hệ thống cùa tác tử. Thậm chí nếu
mô hình hoá theo kiểu hộp đen, những tác tử này là m ột phần cùa hệ thống đang xây dựng
và chúng được phân tích riêng biệt để tìm được vai trò đặc biệt cùa chúng trong việc cung
cấp các chức năng. Để mô tả biểu đồ agent-oriented use case, ta sừ dụng stereotype agent,
Công nghệ phần mềm hướng tác từ 187

coi các tác từ như các tác nhân thông thường.

Một lý do khác để giới thiệu phân tích dựa tác tử là sự quan trọng cùa mô hình hoá
dữ liệu trong khi thực hiện hệ thống đa tác từ. Tác tử sử dụng ontology để liên kết nghĩa với
các thòng điệp và những ngôn ngữ mô tà ontology quan trọng nhất như Ontolingua cho
phép mô tã miền cùa vấn đề về m ặt thực thề và quan hệ giữa các thực thể. Các loại artifact
tạo ra trong khi mô hình hoá ontology tương tự như các loại được tạo ra trong các pha mô
hình hoá dữ liệu thông thường, c ầ n phải giải quyết vấn đề ontology không được kỹ nghệ để
trấnh ràng buộc cách thức thực hiện tác từ, do đó chúng đơn giàn là mô tà miền dữ liệu. Sự
tương tự giữa mô hình hoá dữ liệu và mô hình hoá ontology đã gợi ý rằng nên sừ dụng
chung một ký pháp. Chúng ta đưa ra một số lược đồ khái niệm, gọi là ontology diagrams,
đề mô hình hoá ontology. Một biểu đồ ontology diagram là một biểu đồ lớp trong đó các
lớp mô hình các lóp thực thể định nghĩa trong ontology. Chúng ta thêm các lóp trong các
biểu đồ ontology tức là các entity classes với stereotype entity. Các thực thế được cấu trúc
sứ dụng các thuộc tính công cộng. Biểu đồ ontology cho phép định nghĩa mối quan hệ giữa
các lớp và chúng ta sừ dụng các mối quan hệ này để mô hình các thuộc tính do ontology

cung cấp.

Hình 5.6 Biểu đồ UML cho mô tả Ontology.


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

4.4 Thiết kế hướng tác tử

Thiết kế hệ thống đa tác từ ớ mức tác từ yêu cầu mô hình hoá kiến trúc của hệ đa
tác từ và tương tác giữa các tác từ. Những thành phần này có thể mô hình hoá sử dụng một
số biểu đồ lớp UML, gọi là các sơ đồ kiến trúc (architecture diagrams) chi ra vai trò cùa tác
tử trong hệ thống. Mỗi vai trò liên kết với một class và được gọi là agent class, chúng ta
giới thiệu stereotype agent để thêm vào các class này bời vì chúng tương đương với nhũng
thứ trong agent-oriented use case diagrams. Liên kết giữa các tác tử có thề là liên kết giữa
các tác tử có vai trò khác nhau. Những liên kết này thường được sử dụng để mô tà sự hiểu
biết vì thông thường nó thức đẩy tính mềm dẻo trong các hệ đa tác từ tránh sử dụng chúng
để trải rộng trách nhiệm giữa các tác tử. Một agent class có thể được sir dụng để liên kết
một tập hợp các hành động với một vai trò. Các hành động có thể được mô tả bằng các
phương thức công cộng trong lớp.

Các phương thức này phải được khai báo void bời vì không có khái niệm giá trị trà
về được định nghĩa cho các hành động do tác từ thực hiện. Thêm vào đó các tham số của
các hành động phái thuộc về các thực thể lớp định nghĩa trong biểu đồ ontology. Danh sách
các hành động liên kết với agent class không bao gồm các biểu hiện cùa ngôn ngữ liên lạc
giữa các tác từ bời vì chúng ta già định sử dụng FIPA ACL.

Hình 5.7 Biểu đồ UML cho mô tả tác tử.

Các giao thức đối tượng và các đối tác hướng đối tượng không được bao gồm
trong UM L vì tiếp cận cùa chúng ta cho phép mô hình các giáo thức đã biết và các nhà phát
triển chì sừ dụng tập họp các giao thức tương tác đa mục đích, vì thế các cách tác từ có thể
Công nghệ phần mềm hướng tác từ 189

tương tác được xác định từ trước. Đó là ]ý do tại sao chúng ta không có ý định chú thích
agent class với danh sách các giao thức tương tác được hỗ trợ ngoại trừ cho sừ dụng các
chú thích. Trên thực tế giới thiệu các giao thức mô tả ứng dụng có thể dẫn đến các vấn để
sau. Thậm chí nếu chúng ta đưa ra các tác từ với các mô tà thời gian thực của giao thức,
cũng thấy khó khăn để thực hiện một tác từ đáp ứng đúng định nghĩa này.và cũng khó khăn
để học cách sử dụng giao thức mà không có sự hỗ trợ của các nhà phát triển.

5 Mờ rộng UML cho việc đặc tả Agent - AUML


Bây giờ chúng ta đưa ra một tập con các mở rộng dựa tác tứ cùa UML chuẩn
(AUML) cho đặc tà giao thức tương tác tác tử (AIP) và các kỷ pháp dựa tác tử thường được
sử dụng khác.

Các giao thức phát triển được chọn vi chúng đù phức tạp để minh hoạ sự sừ dụng
AUML và đú phồ biến để các tập con cùa AUML hữu ích cho các nhà nghiên cứu. Giao
thức tương tác tác từ là một ví dụ tốt về mẫu phần mềm mà các ý tường được tìm ra hữu ích
trong ngữ cành thực hiện và có thể hữu ích trong các trường họp khác. Một đặc tả cùa AIP
cung cấp một vi dụ hoặc một sự tương tự có thể dùng để giải quyết vấn đề trong phân tích
và thiết kế hệ thống. Một kỹ thuật đặc tả cho AIP với cả ngữ nghĩa hình thức và thuộc về
trực giác và các ký pháp đồ hoạ thân thiện với người dùng. N gữ nghĩa cho phép một định
nghĩa chính xác và cũng được dùng trong quá trình công nghệ phần mềm. Các ký pháp đồ
hoạ cung cấp một ngôn ngữ chung cho truyền thông AIP- đặc biệt với những người không
quen với cách tiếp cận dựa tác từ.

Dầu liêu càn lliiếl lập m ột định nghĩa A1P?: "M ột giao thừc tư ơ ng tâc tâc tứ (A IP )

mô tả các mẫu truyền thông như một dẫy các thông điệp cho phép giữa các tác tử và ràng
buộc trong nội dung cùa các thông điệp này”

Hình dưới mô tả một giao thức được diễn tả như biểu đồ diễn tiến cho giao thức
mạng hợp đồng. Khi được gọi, một Initiator agent (tác từ khởi tạo) gửi đề nghị tới một tác
từ sẵn sàng tham dự trong cung cấp một đề nghị (mũi tên biểu thị liên lạc không đồng bộ).
Participant agent (tác tử tham dự) có thề chọn đáp ứng Initiator agent trước khi đưa ra thời
hạn cuối: từ chối cung cấp đề nghị, đưa ra đề nghị hoặc chi ra rằng nó không hiểu (ký hiệu
hình thoi chi ra quyết định có thể có kết quà trong không hoặc nhiều Hên lạc được gửi - phụ
thuộc vào tình trạng nó chứa; “x” trong hình thoi quyết định diễn tả quyết định exclusive
190 Tác tử - Công nghệ phàn mềm hướng tác tử

or. Nếu đề nghị được đua ra, tác từ khới tạo có thể lựa chọn hoặc là đề nghị hoặc là từ chối
đề nghị. Khi Participant agent nhận được chấp nhận đề nghị, nó sẽ thông báo cho Initiator
agent khởi tạo về thực hiện đề nghị. Thêm vào đó, Initiator agent có thể huỷ bó sự thực hiện
bất cứ lúc nào (chú ý mũi tên mô tà thông điệp không lồng, không đồng bộ). Sự giải thích
cùa thuật ngữ “ không lồng” trong UML như truyền thông bằng email từ Ounnar Overgaard
không được định nghĩa đầy đú trong tài liệu UML. Các ký pháp này có thể thay đồi.

Hình này cũng diễn tả hai khái niệm mô tà tại đinh cùa lược đồ trạng thái. Thứ
nhất, toàn bộ giao thức được xem như một thực thể trong quyền lợi của nó. Ký phấp tabbec
folder tại góc trái trên mô tà giao thức như một gói, sự kết tập khái niệm cùa trình tự tương

tác. Thứ hai giao thức gói có thể được xem như là một mẫu có thể tuỳ biến cho các miền
Công nghệ phần mềm hướng tác tử 191

vấn đề tương tự. Khung nét đứt ờ góc trái trên mô tà các mẫu như đặc tà template chi ra các
thực thể không ràng buộc trong các gói cần thiết để giới hạn khi các mẫu gói được thuyết
minh.

Biểu đồ diễn tiến trong hình 5.8(1) cung cấp một đặc tà cơ sở cho giao thức mạng
họp đồng. Nhiều chi tiết quá trình thường được yêu cầu. Ví dụ, tác từ khới tạo yêu cầu một
lời gọi đề nghị (CFP) từ một Participant agent. Tuy nhiên, lược đồ không quy định cá các
thù tục được Initiator agent sừ dụng để tạo ra yêu cầu CFP cũng không quy định thù tục
được Participant agent sừ dụng đề đáp ứng CFP. Nhưng.những chi tiết như vậy quan trọng
cho phát triển chi tiết đặc tá hệ thống dựa tác từ.

Hình 5.9(2) mô tả cách phân mức (leveling) có thể diễn tà chi tiết hơn bất cứ quá trình
tương tác nào. Ví dụ, một quá trình tạo ra hoạt động truyền thông CA-1 có thể đủ phức tạp
để chi ra chi tiết quá trình cùa nó sừ dụng biểu đồ hoạt động. Tác từ nhận được CA-1 có

Rata-2 1 [ Rde-3
1
A CA-3
CAM

Hình 5.9 Giao thức tương tác cụ thể được sử dụng trong kết hợp giữa 2 sơ đồ.
192 Tác tử - Công nghệ phàn mềm hư ớ ngi tn pg tác

tiến trình chuẩn bị đáp ứng. Trong ví dụ này, tiến trình được mô tà sử dụng biểu đêiiu đô d
tiến, mặc dù bất cứ ngôn ngữ mô hình hoá nào cũng có thể được chọn để mô tả quái tiu^ á trình
bàn cùa tác từ. Trong UML, có thể lựa chọn biểu đồ tương tác, biểu đồ hoạt động, vngg và lu

đồ trạng thái.

Cuối cùng, phân mức có thể tiếp tục “down” đến khi các vấn đề được mô tà clhi cChính X

để phát triển hay sinh mã. Vì vậy, trong hình 5.9, giao thức tương tác tại đỉnh biểểu>iáêu đô (
mức chi tiết phía dưới, lần lượt có các mức chi tiết khác. Mỗi mức có thể diễn tà iCíá ( các ho

động intra-agent hay inter-agent.

Tóm lại, có hai ví dụ mô tả các đặc tính cùa cách tiếp cận cùa chúng ta:
• Giao thức về tồng thể như một thực thể. Mức độ cao nhất được thào luiậruậận tron,

phần trên

• Bản thân biểu đồ diễn tiến mô tả các giao dịch giữa các tác tử cần thiết đt iđê thự(

hiện giao thức.

Thêm vào với các giao dịch giữa các tác từ , đặc tả hoàn chình cùa giao th tHiức đòi

hói sự thảo luận về hoạt động intra-agent và được hỗ trợ bới các biểu đồ hoạt đ ộ n g V, wà lược

đồ trạng thái UML.

6 Mô tả toàn bộ giao thức - Mức 1


Mau là khái niệm hữu ích trong ngữ cảnh thực hành và có thể hữu ích tro'oing các
trường hợp khác. Chúng đưa ra ví dụ hay sự tương tự chúng ta có thể sử dụng để giảiải quyết
v ấ n đ ề tr o n g p h â n tíc h v à th iế t k ế h ệ th ố n g . G ia o th ứ c tirơ n g tá c g iữ a c á c tá c tir cuO T ig c a p
các giải pháp tái sử dụng được có thể úng dụng trong các loại day thông điệp chúngẵ ta gặp
giữa các tác tử. Có hai kỹ thuật UML là các giải pháp giao thức thể hiện tốt nhất choo tái sử

dụng là gói (packages) và m ẫu (templates).

6.1 Gói (Packages)

VI giao thức tương tác là các mẫu, chúng có thể được xem như tập hợp có thể sừ

dụng lại cùa việc xử lý. UML mô tả hai cách để mô tả tập hợp cho kiến trúc vặ hành 'Vi 0 0 :
thành phần (component), gói (package). Thành phần là các tập họp vật ]ý tạo ra các l<ớp cho
các mục đích thực hiện. Gói kết tập việc mô hình hoá các thành phần thành toàn bộ khái
Công nghệ phần mềm hướng tác tử 193

niệm. Lớp có thể được nhóm khái niệm cho bất cứ mục đích tuỳ ý nào như hệ thống con
nhóm các lớp. Vì AIP có thê được xem xét trong thuật ngữ khái niệm, ký pháp gói cùa
tabbed folder được sử dụng trong hình 5.8.

Bởi vì giao thức có thể được hệ thống hoá như những mẫu có thể nhận ra cùa
tương tác tác từ, chúng trở thành các module tái sứ dụng cùa quá trình có thể được xem xét
như ký pháp lớp đầu tiên. Ví dụ, hình 5.10 mô tả hai gói. Gói Purchasing mô tá một giao
thức đơn giàn giữa Broker và Retailer. Tại đây, Broker gửi lời gọi đề nghị tới Retailer và
Retailer đáp ứng lại với một đề nghị. Cho các sàn phẩm chác chấn, Retailer có thể đặt một
yêu cầu với W holesaler liên quan đến tinh sẵn có và giá cã. Dựa trên các thông tin phàn
hồi, Retailer có thể đưa ra các đề nghị chính xác hơn. Tất cả có thể đặt trong gói Purchasing
Protocol đơn. Tuy nhiên, nhiều công việc hay bộ phận có thể không cần giao thức thèm vào
liên quan đến W holesaler. Vì vậy, có thể định nghĩa hai gói: một cho Purchasing và một
cho Supplying. Khi một kịch bàn cụ thể yêu cầu giao thức Wholesaler, nó có thể lồne như
các gói riêng lẻ và phân biệt. Tuy nhiên, khi kịch bàn mua không yêu cầu nó, gói trớ nên
quá chi tiết.

Purchasing

Supplying

Broker Retailor W holesaler

call-for-proç osai PI
request

inform
propose

Hình 5.10 Sử dụng gói trong mô tả giao thức lồng nhau (3).
194 Tác tử - Công nghệ phần mềm hư áng tác tử

Burmeister et al đề nghị một xây dựng tương tự khi mô tà giao thức hợp tác phức

tạp (complex cooperation protocols). Ba giao thức cơ bản: chào hàng, yêu cầu, đề nghị là
đù chung để sừ dụng một số lượng lớn các trạng thái tương tác. Cách tiếp cận cho phép xây
dựng các ứng dụng phức tạp hơn cùa giao thức công việc. Thêm vào 3 giao thức trên chúng ta
ùng hộ cách tiếp cận thực tế tại nơi phân tích phân tích có thế mở rộng tập trung Burmeister
để thêm vào các giao thức có thề sử dụng lại được cho mô tà lồng sử dụng AUML.

6.2 Mầu (Template)

Hình 5.8(1) mô tà loại ứng xử thông thường có thể phục vụ như một giải pháf> cho
miền vấn đề tương tự. Trong hình 5.11, các ứng xử cung cấp được tái sừ dụng chính xác
như định nghĩa bởi gói Supplying. Tuy nhiên, để trung thực mẫu, thay vì chi sừ dụng một
thành phần tái sử dụng, gói tuỳ biến hoá có thề được hỗ trợ. Ví dụ như hinh 5.8, ứng

dụng FIPA

Seller FIPA Contract Net Protocol


Buyer

Mller-rfp
Buyer, Seller

8/8/99 at 12:00
refuse-1
seDer-rfp, refuse-1, refuse-2, no<-understood, propose,
reject-proposal, accept-proposal, cancel, inform
refusa-2 (toadne: L
ame* I
12.130hours I

b)

accept-proposal .

a)
reject-proposal

cancel

Hình 5.11 Biểu đồ UML cho mô tả mẫu quá trình mua bán (4).
Công nghệ phần mềm hướng tác từ 195

Contract Net Protocol cho các kịch bàn cụ thề liên quan đến người miịa và người bán. Chú
ý rằng, Initiator agent và Participant agent trờ thành tác từ mua và tácltử bán, và lời gọi đề
nghị trờ thành seller-rtp. Cũng trong kịch bàn nàv có hai kiểu từ cỊhối cùa người bán:
Refuse-1 và Refuse-2. Cuối cùng một thời hạn thực sự cũng được cung cấp cho đáp ứng bởi
người bán

Trong UML, gói AIP phục vụ như một template. Một template là một thành phần
mô hình được tham số hoá có các tham số bị ràng buộc tại thời gian mô hình (ví dụ, khi
một mô hình tuỳ biến mới được tạo ra). Trong hình 5.11, mẫu được mô tà bằng các hộp vẽ
bàng nét đứt ờ góc phải trên cùa gói. Các tham số trong hình được các đường kẻ ngang chia
thành 3 loại: tham số vai trò, ràng buộc và liên lạc. Hình 5.12 (b) mô tà cách một gói mới
trong hình 5 .12(a) được tạo ra sừ dụng template xác định trong hình 5.8.

7 Mô tả tương tác giữa các tác từ - Mức 2


Các mô hình UML động rất hữu ích cho diễn tả tương tác giữa các tác từ. Các biểu
đồ tương tác là các mẫu mô hình hoá giữa các đối tượng. Biểu đồ tương tác bao gồm biểu
đồ diễn tiến và biểu đồ cộng tác. Hai biểu đồ này biểu thị cùng một thông tin. Biểu đồ diễn
tiến nhấn mạnh đến thứ tự diễn tiến theo thời gian cùa liên lạc trong khi biểu đồ tương tác
nhấn mạnh đến sự kết hợp giữa các tác tử. Biểu đồ hoạt động và biểu đồ trạng thái cho mô

tà dòng tiến trình trong cộng đồng tác tử.

7.1 Biểu đồ diễn tiến (Sequence Diagram)

Phần này sẽ mô tả m ột số m ớ rộng UML có thể mô hình giao thức tuơng tác giữa các tác
từ. Hình 5.12 mô tà một số thành phần cơ bản cho liên lạc giữa các tác tử. Hình chữ nhật
mô tả các tác tử riêng lẻ hay tập hợp tác tử. Ví dụ một tác tử riêng lé có thể là
B ob/C ustom er. Bob là m ột instance của tác từ đóng vai trò khách hàng (Custom er).
Bob cũng có thể đóng vai trò nhà cung cấp, người lao độrtg hoặc Pet Owner. Để mô tà Bob
là một Person - độc lập với bất kỳ vai trò nào khác- dùng ký pháp Bob: Person. Định dạng
cơ bản cùa nhãn hình chữ nhật là tên tác tử: lớp vai trò. Vì vậy có thể diễn tả nhiều trạng

thái cùa Bob như Bob/Customer: Person và Bob/Employee: Person.

Hình chữ nhật mô tà một tập họp tác tử chung đóng vai ưò riêng biệt. Tại đây, chi
có các từ Custom er và Supplier xuất hiện. Để mô tà lớp thực hiện vai trò này thêm vào tên
196 Tác từ - Công nghệ phần mềm hướng tác tử

lớp (Ví dụ EmpIoyee:Person, SupplierParty). Nói m ột cách khác, cú pháp tên tác tử /vai trò
:lớp không mô tả tên một tác từ riêng biệt nào.

Hình 5.12 Mô tả truyền thông giữa câc tác tử (6).


Cú pháp tên tác từ /vai trò :lớp là một phần cùa UM L (cú pháp UM L mô tả tên đối
tượng thay vì tên tác từ). Hình trên mờ rộng UML bằng cách gán nhãn cho các mũi tên
bằng cách agent communication act (CA) thay vì 0 0 - style message

CA-1 CA-1 CA-1

CA-2 CA-2 CA-2


...
CA-n ÇA-n CA-n
------- >

(a) (b) (c)


Hình 5.13 Ký pháp mở rộng biểu diễn các luồng tương tác đồng thời (7).

M ộ t m ớ rộ n g U M L h ỗ trợ lu ồ n g ( th r e a d ) c á c tư ơ n g tá c đ ồ n g th ờ i. M ặ c d ù tro n g
0 0 không cấm các luồng xảy ra đồng thời nhưng chúng thường không được sử dụng. Hình
5.13 mô tà 3 cách diễn tả đa tuyến. Hinh 5.13(a) mô tà mọi luồng từ CA-1 đến CA-n được
g ử i đồng thời. Hình 5.13(b) có một hình quyết định cho biết không hay nhiều CA sẽ được
gửi. Hình 5.13(c) mô tả exclusive or, chi có duy nhất một CA được gửi.

Hình 5.14 mô tả một cách sử dụng các luồng tương tác đồng thời mô tả trong hình
5.13. Hình 5.14(a) và 5.14(b) diễn tả hai cách mô tả các luồng xảy ra đồng thời được gửi từ
agent-1 tới agent -2. Các đường nằm ngang, các hình chữ nhật mô tả tác tử nhận xử lý nhiều
luồng liên lạc đồng thời. Hình 5.14(a) mô tà các activation bar song song, hình 5.14(b) mô
tả activa-tion bar xuất hiện phía trên các activation bar khác. Một số chú ý về hai sự thay
Công nghệ phần mềm hướng tác từ 197

đồi này:

Hình 5.14 Kỹ thuật sử dụng các luồng tương tâc đồng thời với tác tử
đóng nhiều vai trò (8).

• Ngữ nghĩa tương đương, chọn cách biểu diễn phù họp để biểu diễn dễ dàng, sáng

sủa.

• Mỗi activation bar hoặc mô tả tác từ được dùng theo các vai trò khác nhau hoặc
được sử dụng trong các tiến trình khác nhau hỗ trợ các hoạt động Hên lạc. Nếu tác
tử được sừ dụng trong các vai trò khác nhau, tác tử sẽ được chú thích phù hợp. Ví
198 Tác từ - Công nghệ phần mềm hướng tác tử

dụ trong hình 5.14(a) và hình 5.14(b) CA-n được tác tử thực hiện theo vai trò 1.

• Hình vẽ cũng chi ra ràng một tác tử đơn xử lý đồng thời nhiều CA. Tuy nhiên, các
CA xảy ra đồng thời có thể được gừi đến các tác từ khác nhau ví dụ CA-1 tới tác
từ 2, CA-2 tới tác từ 3 vân vân.

7.2 Biểu đồ cộng tác (Collaboration Diagrams)

Hình dưới là một ví dụ về biểu đồ cộng tác và mô tá một mẫu tương tác giữa các
tác từ. Một điều khác biệt chú yếu giữa biểu đồ cộng tác và biểu đồ diễn tiến là trong biếu
đồ cộng tác tác tử (hình chữ nhật) được đặt tại vị trí bất kỳ trên hình chữ nhật cong trong
biểu đồ diễn tiến, tác từ được đặt theo hàng ngang ờ phía trên cùng cùa biểu đồ. Trong biểu
đồ cộng tác, thứ tự tương tác được đánh số, còn trong biểu đồ diễn tiến thứ tự tương tác về
cơ bán được đọc từ trên xuống dưới. Nếu hai biểu đồ là tương đương nhau, một câu hỏi đật
ra là tại sao phải sừ dụng cả hai?. Câu trà lời nàm trong sự sáng sủa và dễ hiểu cùa trình
bày. Tuỳ theo con người và giao thức tương tác được mô tà, một biểu đồ có thể sáng sùa, dễ
hiểu hơn biểu đồ kia. về ngữ nghĩa chúng tương đương nhau; về đồ hoạ, chúng tương tự
nhau. Ví dụ, hình 5.16 sừ dụng biểu đồ diễn tiến để mô tả cùng m ột tương tác như hình
5.15. Kinh nghiệm cho thấy cả hai loại biểu đồ này đều hữu ích.

2: question
« r o i« ch a n g o »
ỀI
31 Ç1
Com patito«
Contractor C om petitor
A nalyzer
« ro t# c h a n g e »

1.1: request
u 5: propose
1.2: request 9: assert
A — > ZI ------- »
M — >
£1
C ustom er Contractor’ NeootJator Contractor?

10: refuse

Hình 5.15 Biểu đồ cộng tâc mô tả tương tác giữa các tác tử
đóng nhiều vai trò khác nhau.
Công nghệ phần mềm hướng tác từ 199

Hình 5.16 Biểu đồ diễn tiến cho hình trên (10).


Dòoley Graph tương đương với biểu đồ cộng tác. Tiêu chuẩn khác biệt là một tác
từ đơn có thể xuất hiện như nhiều node trong Dooley Graph. ICMAS gọi những node này là
character. Một character là một tác từ chuyên biệt có vai trò chuyên biệt. Vai trò trừu tượng
qua một số character với các mẫu tương tác tương đương. Ngược lại, mỗi mẫu là một tác từ
có vai trò riêng biệt (vai trò ở đầy được hiểu theo nghĩa hẹp, không phái là người mua dưới
hợp đồng thương lượng lại đối lập với người mua trong hợp đồng ban đầu).

7.3 Biểu đồ hoạt động( Activity Diagrams)

Dôi khi giau Ihửc lu ư n g lác lâc lứ dòi liới dạc ta ngư nghía luòng tién t r i n h rổ râng.

Biểu đồ hoạt động (activity diagram ) mô tà các hành động và các sự kiện kích hoạt chúng.
Ví dụ trong hình 5.18 mô tả một giao thức xử ]ý yêu cầu giữa nhiều tác tử. Tạo đây, khách
hàng (Custom er) đưa ra yêu cầu (Order). Kết quà trong Order đã kích hoạt người môi giới

đặt ra yêu cầu và được Electronic Com merce Network(ECN) tác tử chấp nhận. ECN chì có
thể kết hợp một yêu cầu với định giá khi định giá cùa yêu cầu và Market Maker đều được
chấp nhận. Trong tình huống này, cả Market Maker và Broker đều đồng thời được thông
báo là cuộc mua bán đă hoàn tất. Biều đồ hoạt động khác với biểu đồ tương tác do nó cung

cấp luồng điều khiển chính xác. Nó đặc biệt hữu ích cho các giao thức tương tác phức tạp
bao gồm nhiều tiến trình xảy ra đồng thời.
200 Tác tử - Công nghệ phần mềm hướng tác tử

Hinh 5.17 Biểu đồ hoạt động mô tả giao thức buôn bán giữa các tác từ (11).

Biều đồ hoạt động tương đương với lưới Petri màu theo một số điểm. Đầu tiên,
biểu đồ hoạt động cung cấp biểu diễn đồ hoạ làm trực quan hoá tiến trình, do đó làm cho
quá trình thiết kế và liên lạc cùa các mô hình ứng xử được dễ dàng hơn. Thứ hai, biểu đồ
hoạt động có thể mô tả các tiến trình xảy ra đồng thời, không đồng bộ. Cuối cùng, nó diễn
tả các liên lạc cùng một lúc. Sự khác biệt căn bàn giữa hai cách tiếp cận là biểu đồ hoạt
động state machine model được UML định nghĩa. Hình thức Ferber’s BRIC đa m ờ rộng
lưới Petri có các hệ thống dựa tác từ, nó đáp ứng mờ rộng UM L, biểu đồ hoạt động cho

cùng một mục đích.

7.4 Biểu đồ trạng thái (State chart)

Một tiến trình khác liên quan đến biểu đồ UML là lược đố trạng thái (state chart).
Một lược đồ trạng thái là một sơ đồ mô tả một máy trạng thái. Trạng thái được mô tả bằng
các hình chữ nhật có góc tròn, các giao dịch được trà lại bàng các mũi tên trực tiếp nối liền

các trạng thấi.

Hình 5.18 mô tả một ví dụ về lược đồ trạng thái cho m ột giao thức yêu cầu. Tại
đây, nếu một yêu cầu được đưa ra trong Requested State, một tác từ cung cấp (supplier
agent) có thể uỷ quyền đàm phán yêu cầu requested negotiation - kết quả là m ột giao dịch
tới Committed n eg o tiatio n State. Thêm vào đó, biểu đ ồ này c ũ n g m inh hoạ m ộ t hành động

uỷ quyền của tác tử có thể xảy ra nếu chì một yêu cầu trong Requested S ta t e . Requested
Công nghệ phần mềm hướng tác từ 201

State có hai hành đ ộ n g có th ể x ày ra ngoài uỳ quyền là nhà cung cấp có thể từ chối và khách

hàng có thế rú t lui. Chú ý rằn g nhà cung cấp có thể từ chối yêu cẩu trong Proposed State

hoặc Requested states.

Hình 5.18 Biểu đồ trạng thái xâc định trạng thái chỉnh
và dịnh chuyển theo giao thức đặt hàng.

Biểu đồ trạng thái thường không được sử dụng để diễn tà giao thức tương tác vì nó
là state-centric view hơn là khung nhìn tác tứ hay tiến trình (agent or process view). Khung
n h ìn Q g c n t-c c n tric đ ư ợ c m ô tà b ả n g b iể u đ ồ tư ơ n g tả c n h ấ n m ạ n h trư ớ c tiê n là tá c tử sau
mới chú ý đến tiến trình. Khung nhìn process-centric nhấn mạnh đến dòng tiến trinh (bới
agent) trước hết sau mới chú ý đến kết quả thay đồi trạng thái (ví dụ sự kiện). Khung nhìn
state-centric nhấn mạnh đến các trạng thái chấp nhận được nổi bật hơn quá trình tác từ giao
dịch. Sức mạnh căn bàn của lược đồ trạng thái trong các giao thức tưcmg tác tác tử là cấc kỹ
thuật ràng buộc cho giao thức. Lược đồ trạng thái và các trạng thái của nó thường không
được tác từ thực hiện trực tiếp. Tuy nhiên, Order agent có thể bao gồm cả ràng buộc chuyển
trạn g thái, do đó bảo đảm to àn bộ ràng buộc gÌ30 thức tư ơng tác đều được bảo đảm . Các tác

từ đóng vai trò nhà cung cấp và khách hàng có thể có các ràng buộc.
202 ỉ ác tử - Công nghệ phần mềm hướng tác từ

8 MÔ tả quá trình bên trong tác tư

Ờ các mức thấp, mô tà m ột giao thức tác từ đòi hỏi giải thích rõ tiến trình chi tiết xày

ra trong tác tử nhằm thực hiện giao thức. Trong mô hình holarchic, các tác tử m ức cao chứa

các liên kết với các tác từ m ức dưới. Do đó có thể miêu tà các ứng xử bên trong bằng các sử

dụng bất cứ biểu diễn nào ờ mức 2 một cách đệ quy. Thêm vào đó, lược đồ trạng thái và

biểu đồ hoạt động cũng mô tà các tiến trình bên trong tác từ không kết hợp.

8.1 Biểu đồ hoạt động (Activity Diagram)

IlmolCTt (Payment)

Hình 5.19 Biểu đồ hoạt động xác định hành vi tiến trình
đặt hàng của Order Agent.

Hình trên mô tà một tiến trình chi tiết xảy ra trong một Order Processor agent.
Biểu đồ diễn tiến chi ra rằng m ột tiến trình của tác tử được Place Order CA kích hoạt và kết
thúc khi yêu cầu được hoàn thành. Tiến trình bên trong Order Diagram được mô tà bằng
biểu đồ hoạt động. Khung nét đút mô tả giao diện tới xử lý được thực hiện bời tác tử bên
Công nghệ phần mềm hướng tác tử 203

ngoài - như cũng được minh hoạ trong biểu đồ diễn tiến. Ví dụ biểu đồ cho thấy khi một
yêu cầu được láp ráp (assem bler) cà Assemble Order và Prepare/send Invoice đều được
kích hoạt đồng thời. Thêm vào đó khi cả hai payment được chấp nhận, yêu cầu đã được
shipped, tiến trình Close Order được gọi đến.

8.2 Biểu đồ trạng thái (Statechart)

Xừ lý bên trong cùa m ột tác tử đơn có thề mô tả bằng lược đồ trạng thái. Hình 5.20
mô tá một trạng thái trong và giao dịch cho các agent O rder Processor, Invoice Sender, và
Payment Receiver agents. N hư trong biểu đồ hoạt động phía trên sử dụng các nét đứt để
miêu tả tương tác giữa các tác từ.

Null

Ordsi piacad
Orttor cancfilied
Accap« Ofdw
Ctos« Odeí
Closed

Oder Accepißd
Order Ass*mb»a Order
Ul
ồrứữf cancsted
Processor tnvoicề
I Assembled ] Issuw
1 V kUiicchurl

Oder asse.TfcWd
ỊOcteí sNpped & Oderj Ship Order
Cose Order S-
{ Shipped ) from
’s L Payment
Receiver
Niaiccluirt
(a )

Null Invoice issuer f Null


Receiver from
Unacceptable Order . . . O der assembled
Payment made Processor
Payment received Prepâfft'sônd invoice
Receive Paymen!
Rdfôci Pavfïïôrt statữduưt 30 days after due Cate

f Rejected y------ f Received )


Mark hvtxce overdue

Overdue ~y--------- ( Transmitted )


Acceptable
to
Payment received Customer pays
Processor , Accept Paymer! Customer pays Mark invoice paid
staici'hart r Mar* invoice paid
Accepted ) Paid

(b) (c)

Hinh 5.20 Biểu đổ trạng thái đặc tả thứ tự hành vi cùa các tác tử
204 Tác tử - Công nghệ phần mềm hướng tác từ

9 Xem xét các AUML khác


Các phần trước tập trung nghiên cứu các m ớ rộng AUML cho các giao thức tương
tác tác tử. Phần này sẽ đưa ra một số tác từ khác và các khái niệm dựa tác từ.

9.1 UML trong hỗ trợ đặc tả chi tiết vai trò của tác tử

Mô tà vai trò (ClassifierRoles) cùa tác từ trong tương tác với các tác từ khác là một
kỹ thuật quan trọng cho mô hình hệ thống dựa tác tử. UML 1.3 cung cấp một số cách thức
đễ dàng để mô tà vai trò. Ví dụ trong hình 5.21, tác tử (đối tượng) A đóng 2 vai trò trong
giao thức tương tác: khách hàng và nhà đàm phán (Customer and N egotiator). Ký hiệu gạch
chéo biểu thị rằng xâu phía sau là tên cùa vai trò.

-
Ai AJ. SlL C1 £! JU 1u
C oniraclût Compatit Oi CQnừactQĩ Dflfatar
Analyzer

- request ■
_____ L
question Ị
« ro i* inform !
refuse
« crol« chanta '» propose I
request
commit

i «mmil j
' assert '
I ffiiuse I
j ship j

allia

Hình 5.21 Mô hình hoá vai trò sử dụng UML.

Hình 5 .2 1 chì chứa 4 tác từ mỗi tác từ đóng một ít vai trò. Một cách trực quan, tuy
nhiên nó tại ngư&ng cùa khả năng đọc của con người. Cách tiếp cận này có thể nhanh
chóng trờ nên khó hiểu khi thém vào một vài tác từ và thêm vào một số vai trò. Hình 5.22
và 5.23 minh hoạ hai kỹ thuật giảm sự phức tạp trực quan nhưng vẫn giữ được ngữ nghĩa

như cũ. Hình 5.22 mô tả mỗi vai trò với life-line cùa riêng nó. Hình 5.23 mô tả mỗi tác tử
với life-line đơn, nơi mà mọi activation ( hình chữ nhật cao và dài) được gán nhãn vai trò

thich hợp. Theo UML l .3 hình 5.22 và 5.23 là không chính thống.
Công nghệ phân mẽm hướng tác tử 205

r >
( ì ( ì
ẨLi
*- ---,----- ^
I
question !
Inform

request
commiĩ

refuse

■SỈliQ
assert ± t r u e s t
ship
_L _sm _ -4-
«roie: «role: «role: «role: «role: «rolk: « r o L : «roto: «rdle:
custom««» negotiator» contractor» competitor contractor» contractor» competitor» contractor» debtor»
analyzer»
Hình 5.22 Biểu diễn đường đời mỗi vai trò với UML.

A: B:

■request •

« ro le : c u sto m e r»
in form ___

p m p n g ft

« ro l» : n e g o tia to r> ■refluas!


commit

« ro i» : cu sto m « !» commit
assert
« r o l r n eg o tiato r»
t refuse

ship
\__ assert + reaijest
« r o l r cu*tom #r»
4 __ stlifl.
__oaï_

Hình 5.23 Mô hình hoạ vai trò với vai trò là nhăn trong biểu đồ diễn tiến.
206 Tác từ - Công nghệ phần mềm hướng tác từ

Phần lớn các nhà mô hình sừ dụng hai các tiếp cận để mô hình vai trò của tác tử.
Có thể bát đầu với quan niệm về vai trò yêu cầu (hình 5.17) và sự xác định các tác từ (từ
hình 5.21 đến hình 5.23) hoặc có thể sử dụng các biểu đồ như trong hình 5.24 để tóm tát vai
trò được diễn tả trong các hình từ 5.21 đến 5.23. Bất cứ kỹ thuật nào (trên xuống hay dưới
lên) được sử dụng trong hình 5.24 đều hữu ích và hiện nay được UML hỗ trợ. Nó được
thêm ở đây để đảm bảo hiểu biết mọi vai trò do các nhà mô hình dựa tác tử yêu cầu.

Các biểu đồ cộng tác hiện nay không có khả năng mô tả vai trò cùa tác từ trong
dòng tương tác với UML1.3. Tuy nhiên, mỗi hành động liên lạc (hay thông điệp) có thể
được gán nhãn vai trò đáp ứng yêu cầu. Kỹ thuật này được minh hoạ trong hình 5.18. Ví dụ
tác tử A đóng vai trò khách hàng gửi yêu cầu hành động liên lạc 1.1.

C o m p e tlto
Custom er N e g o tia to r C o n tra c to r C o ntractor
A n a ly z e r

■request '
« role chanod»
....................F question
« r o le chang< >> Inform
refuse
role change
propose i___________
reouest
commit ị
commit
I asso rt
refuse

ship
assert t rfeguest
-H -
-Sbia____ I_____
_caỵ____I____
44 -

Hình 5.24 Sừ dụng mõ tả đối tượng đề biểu diễn các Class hay vai trò.
Cong ngh? p h in mdm hu’O’ng tac tip 207

2: question
----- >
ÜLi
< ----
3: inform

1.1: request 4: refuse


« r o le : c u s to m e r» 1.2: request
« ro le : c u s to m e r»
1i
5: propose
7: commit 6: request
10: refuse « r o le : n e g o tia to r»
9: assert
« r o le : n e g o tia to r»
1.3: request
« r o le : c u s to m e r»
12: assert + request 8: commit
11: ship
« r o le : c u s to m e r»
14: pay I 13: ship
« r o le : c u s to m e r»
-D-i

Hinh 5.25 Mô hinh hoá vai trô vói truyèn thông mô tà qua yêu càu cùa vai trô.

Biêu dô hoat dông cùng cô thê thay dôi dê mô tà vai trô cùa tâc tùr bàng cách lien két
moi hoat dpng vài tên ClassiffierRole thich hpp.

Accept Assemble Ship


O -* Order Order Order
— ► u ick,se
|- i r ^
Order
' V___ ____/
(Order) (Order) (Order) (Order)

Send Serul PruccM ]


Invoice Payment Payment
^ ->

Hinh 5.26 Biéu dó hoß dông vói câc hoßt dông cùa tùng vai trô.

9.2 Däc tâ tâc tir và tâc tü- di dçng

9.2.1 Si> dyng biéu dè UML - gôi «3è bièu diên tâc tù1

UML sir dyng “"lollypops" dé mô tà tirong tâc. Trong khi nó dáp úng mpt so thyc
hiçn tàc tù, nó sê không dirçrc sir dyng trong câc tlnh huông khi tàc tir - bàn thân nó - là
tuerng tàc. VÍ dy, m çt màng té bào nh§n dirçrc nhiêu “liên l?c” và xù lÿ chùng bäng càch
208 Tác từ - Công nghệ phần mềm hướng tác từ

chấp nhận hay từ chối. IChông có tương tác nào được thiết lập cho cell publishes với thế
giới bên ngoài. Sự tương tự được áp dụng trong các thực hiện dựa tảc tử. Vi dụ trong hình
dưới, một tác từ đàm phán (Negotiator agent acts) hoạt động như một tương tác giữa thế
giới bên ngoài và te bào sản xuất. Điều này yêu cầu mở rộng nhò cho UML.

Hình 5.27 Sử dụng gói đặc tả tác tử với mỗi Agnet như một hành động.

9.2.2 Mờ rộng Mobility là một thuộc tính quan trọng của tác tử bằng biểu
đồ triển khai

Hình 5.28 Mờ rộng mồ tả tính di động trên biểu đồ triển khai.


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

9.3 Một số ký pháp dựa tác tử hữu ích khác

Tác từ dựa rất nhiều vào những điều tương tự trong thực tế. Các nhà nghiên cứu
dựa tác từ đã nói rằng phải mất 3 triệu năm để phát triền thế giới hiện đại như ngày nay, do
đó chúng ta phài nghiên cứu thêm một số bài học về hệ thống cùa chính chúng ta.

Dolly:
Dr_Frankenstein D olly: Sheep
Scientist Sheep
« p ro to ty p e »
a s ts p e c s J
« c lo n e »
« c lo n e » Dolly2:
Dolly2:
Sheep
Sheep

S e q u e n c e D ia g r a m C l a s s D ia g r a m

Hinh 5.29 Sử dụng biểu đồ diễn tiến và lớp biểu diễn nhân bản (24).

Ví dụ, nhân bản tác tử là kỹ thuật dựa tác từ phổ biến. Hình 5.29 minh hoạ khung
nhìn ứng xừ và khung nhìn cấu trúc (behavioral and a structural view) cùa nhân bẳn. Sự
phân bào và sự sinh sàn (m itosis and reproduction)cũng là 2 kỹ thuật phổ biến cho cộng
đồng dựa tác tử. Hình 5.24 minh hoạ một số cách để mô tả chúng. Người ta khuyến khích
m ờ rộng UM L để thêm vào các khái niệm thay vì các mẫu vì đây là kỹ thuật phổ biến. Nếu
cách tiếp cận 0 0 quyết định những khái niệm này là không hữu ích, có thể chúng thuộc về
một Agent Profile.

Bisexual

S e q u e n c e D ia g r a m
Collaboration Diagrarr

Hinh 5.30 Sơ đổ diễn tiến và hoạt động cho phân bào và sinh sàn (25).

Một khái niệm thường được sử dụng cho tác tử là mối quan hệ ký sinh và cộng

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

Hinh 5.31 Quan hệ ký sinh và cộng sinh của tác tử với UML

Sự tương tác cùa nhiều tác từ riêng lẻ có thể gây ra ảnh hưởng thứ cấp khi tác tử
ứng xử như một thực thể đơn lẻ hoặc tác tử kết hợp. Hiện tượng này gọi là emergence.
Trong khi những sự cố này không được lập kế hoạch và không được m ong đợi, chúng có
thể đoán trước được. Trong hệ đa tác tử, emergence là khái niệm cốt lõi. Do đó, cách biểu

diễn nó rất quan trọng.

Có thể nói UM L là công cụ mạnh và đầy đù cho việc cung cấp công cụ để để mô

hình hoá các bài toán dựa tác từ. Các mô tả bao gồm :

Biểu diễn vai trò

Mô tả toàn bộ giao thức tương tác

Mô tà các mẫu tương tác giữa các tác từ trong giao thức

Mô tả các xừ lý bên trong tác tử

Một số biểu đồ có thể áp dụng trực tiếp cho các hệ dựa tác từ bằng cách chấp nhận
các lliuật ngữ và các quy ước. T iong các trường hợp khác, chúng ta đưa ra m ột só II1Ở rộng
UML dễ hiểu hỗ trợ các chức năng thêm vào dựa trên phiên bản UM L hiện tại. N hiều đề
nghị m ở rộng được cộng đồng 00 xem xét và hữu ích cho phát triển oo dựa trên phiên

bản tiếp theo cùa UML.


CHƯƠNG 6

Bản thể học - Ontology

Công nghệ ontology là m ột công nghệ được phát triển mạnh mẽ trong thời gian
gàn đ â y O n to lo g y g iú p chírng ta x â y dựng lên m ạ n g lư ớ i n g ữ nghĩa, hộ từ đ iể n về một lĩn h
vực chuyên môn hỗ trợ trong các ứng dụng. Cơ sở chung về các lĩnh vực trong đời sống vô
cùng rộng và hữu ích, song rất khó khai thác vl chưa có sự mã hoá tri thức đó thành một hệ
tri thức dùng chung và để máy tính “hiểu” được. Sử dụng công nghệ ontology sẽ giúp ta mẫ
hoá tri thức lĩnh vực này, bằng cách phân tách khối tri thức thành các khối nhò (coi như các
đối tượng tri thức) và tim ra mối liên quan giữa chúng. Từ đó tạo ra sơ đồ quan hệ giữa các
đối tượng, tạo ra khả năng kế thừa giữa các đối tượng.

Hơn nữa với hệ thống được xây dựng trên nguyên lý hệ đa tác tứ, công nghệ
ontology sẽ giúp tạo ra nền tảng giao tiếp giữa các tác tử và chia sẻ tri thức cũng nhừ tài
nguyên giữa chúng.
212 Tác từ - Công nghệ phàn mềm hướng tác tử

1 Tổng quan về Ontology

1.1 G iói thiệu chung


Năm 1991 tổ chức ARPA đã đề xuất một cài tiến mới trong việc xây dựng một hệ
thống thông minh. Họ đã đề xuất rằng xây dựng một hệ cơ sở tri thức ngày nay thường kết
thúc bằng việc xây dựng lên cơ sờ tri thức mới từ những thông tin rải rác thu thập được,
điều này có thề được thực hiện bằng cách tập hợp những thành phần có thể tái sừ dụng.
Người phát triển hệ thống chi cần quan tâm tới việc phát triển tri thức đặc biệt trong lĩnh
vục cùa họ với các nhiệm vụ cụ thể và các bộ suy diễn mới để thực hiện nhiệm vụ đó. Như
vậy việc xây dựng một hệ thống lớn sẽ trờ lên dễ dàng hơn, ít tốn kém hơn và tốt hơn.

Từ đó đã có nhũng nỗ lực và sự đầu tư lớn vào việc phát triền m ột cơ sờ khái niệm
cho việc xây dựng kỹ thuật cho phép các thành phần có thể tái sứ dụng và chia sé chung.
Để có thể tái sử dụng và chia sẻ tri thức và các hoạt động suy diễn trên các tri thức này
Ontology và các phương pháp giải quyết vấn đề (Problem Solving M ethods-PSM ) đã được
phát triển. Với ý nghĩa Ontoloy-một tri thức lĩnh vực m ang tính chất tĩnh và PSM với ý
nghĩa là suy diễn tri thức động. Sự tích hợp cùa Ontology và PSM là một giải pháp khả thi
cho “Vấn đề tương tác”(Interaction Problems) [Bylander-1988], điều này được phát biểu
như sau: “ Biểu diễn tri thức cho một mục đích giải quyết một số vấn đề chịu ảnh hưởng
một cách đáng kể bởi đặc tính tự nhiên cùa vấn đề và chiến lược suy diễn áp dụng cho vấn

đề đó” .

Sự phát triển cùa Ontology - một phương pháp đặc tà hình thức các khái niệm
trong câc lĩnh vực vâ mối quan hệ giữa chúng [G ruber-1993] đa có sự phát triển hét sức
mạnh mẽ, nó không chi còn bó hẹp trong phạm vi các phòng lab nghiên cứu trí tuệ nhân tạo
mà nó đã được coi là một công cụ hết sức đắc lực cho các chuyên gia trong hầu hết mọi lĩnh
vực (dom ain expert). Ontology đã trở nên phồ biến trong thế giới W orld Wide W eb. Các
Ontology xuất hiện trên Web từ những Web site phân loại cỡ lớn (như Yahoo) cho tới các

website phân loại sản phẩm với các đặc tính cùa chúng như Amazon.com. Tồ chức

W orld W ide Web Consortium (W 3C) một trong những tổ chức đề xuất và phát triển XML

đã và đang phát triển RDF(Brick!ey and Guha 1999) m ột ngôn ngữ cho phép mô tả tri thức

trên Web giúp cho các trang Web có thể hiểu được bởi các Agen tìm kiếm thông tin. Sau đó
Defense Advanced Research Projects Agency (D A RPA ) cùng hợp tác với W 3C để phát
Bàn thể học 213

triền DARPA Agent M arkup Language (DAML) đó là một sự m ờ rộng cua RDF với nhiều
cấu trúc biểu diễn giúp cho các tác tử có thề thuận tiện khi tương tác với trên W eb(Hendler
and McGuinness 2000). Hiện nay, rất nhiều các quy định nhằm chuẩn hoá các Ontology
đề các chuyên gia trong các lĩnh vực có thể dùng để chia sé và phố biến, giải thích tri thức
trong lĩnh vực cùa họ. Y học là một ví dụ, đã có các kho từ vựng rất lớn được chuẩn hoá và
cấu trúc hoá như SN O M ED (Price and Spackman 2000) và mạng ngữ nghĩa cua Unified
Medical Language System (U M LS- Humphreys and Lindberg 1993) đặc biệt là sự phát triển
cùa các Ontology về gen. Các Ontology với mục đích dùng cho nhiều lĩnh vực có vai trò
ngày càng nổi bật. Ví dụ United Nations Development Program đã kết hợp với nỗ lực của
Dun & Bradstreet phát triển UN SPSC ontology cung cấp hệ thống thuật ngữ về các sán

phấm và dịch vụ (http://www.unspsc.org/).

1.2 Sụ- cần thiết của O ntology


Con người, các tổ chức và các hệ thống phần mềm phài giao tiếp với nhau và giữa
bản thân chúng. Tuy nhiên điều này không phái lúc nào cũng thực hiện được một cách dễ
dàng bời mỗi một hệ thống, một tồ chức lại có một hệ thống khái niệm, thuật ngữ, cấu trúc
và phương pháp khác nhau nhiều khi trái ngược nhau hoặc có thể cùng một khái niệm, cùng
một quan hệ nhưng lại được hiểu theo các ngữ cảnh khác nhau, được biểu diễn theo các
cách khác nhau[Uschold và Gruninger, 1996]. Hệ quà cùa sự thiếu hiểu biết chung là: giao
tiếp nghèo nàn, khó xác định yêu cầu dẫn tới khó đặc tả hệ thống, khả năng liên kết giữa
các hệ thống bị giới hạn, tinh tái sử dụng và chia sẻ thấp do đó cần phái mất nhiều nỗ lực và
chỉ p li£ đ ể xây d ự n g , liê n kểt c á c h ệ th o n g .

Tất cả những hạn chế trên dẫn tới cần thiết phải giảm hay loại bò sự nhầm lẫn,

xung đột giữa các khái niệm tiến tới chia sẻ hiểu biết chung. Sự phát triển và cài đặt của
những hiểu biết chung (nghĩa là một Ontology) có thể cài thiện sự giao tiếp, tăng tính tái sử
dụng và chia sè, tăng khà năng liên kết giữa các hệ thống và tăng độ tin cậy cho phần mềm.
Ontology là một fram ework cho mọi góc nhìn khác nhau và phục vụ như một cơ sở cho
phép giao tiếp giữa con người với nhau, giữa con người với hệ thống và giữa các hệ thống
với nhau. Ontology được coi là một công cụ đẩy sức mạnh giảm thiếu sự tối nghĩa, một
trong những vai trò chính cùa Ontology là giảm sự tối nghĩa, cung cấp cơ sỡ ngữ nghĩa, một
từ điển khái niệm liên ứng. Trên cơ sờ đó người ta có thể xây dựng các đặc tà và các hoạt
214 Tác tử - Công nghệ phần mềm hướng tác tử

động giao tiếp truyền thông. Mặt khác Ontology cung cấp các tài nguyên m ang tính khái
niệm và phòng đoán giúp công thức hoá và làm rõ tri thức. Nó cấu thành một cơ cấu chung
giúp cho các tác nhân khác nhau có thể huy động, sứ dụng và tẩt cà họ đều có thể tuỳ biến
chúng, qua đó thấy được vai trò cùa nó. Và cuối cùng chúng có thể biểu diễn ý nghĩa cùa
các nội dung khác nhau được trao đổi giữa các hệ thống thông tin [Bachimont, 2 0 0 1].

[Mizoguchi, 1997] giải thích rằng: Hầu hết các phần mềm đều được xây dựng với
một sự khái niệm hoá ngầm hiểu, và không rõ ràng. Thế hệ mới cùa các hệ thống trí tuệ
nhân tạo sẽ được xây dựng dựa trên biểu diễn rõ ràng tường minh quá trình khái niệm hoá.

Sowa [Sowa,2000] trích dẫn trong một tài liệu: công việc phân cấp, phân loại mọi
thứ trong một các giống loài, chúng loại thì sự quan trọng cùa óc phán đoán và trí nhớ là
không thua kém nhau. Có nghĩa là ta không những phải chỉ quan tâm tới lưu trữ những gì
thu nhận được mà còn phải làm sao đề tim thấy chúng.

Chúng ta phát triển các hệ thống thông tin thông minh càng nhiều thì các tri thức

chung về các sự vật và phân loại chúng càng đóng vai trò then chốt trong hoạt động suy
diễn. Do đó các tri thức này cần phải được cho vào một cơ chế thông minh và dễ hiểu và
Ontology chính là một cơ chế như vậy.

Tóm lại ta xây dựng Ontology bời những lý do sau:

• Tạo khá năng tái sứ dụng các tri thức.

• Làm cho các giá định lĩnh vực trớ nên rõ rcmg.

• Phân lách c á c tr ì thức c ù a ỉĩrth v ớ i t r i th ú c m a n g tính í/ia o lá c .

• Phân tích tri thức cùa lĩnh vực

• Chia sẻ hiểu biết chung vẽ cấu trúc thông tin giữa mọi người hoặc giữa các

Software Agent.

Cho phép tái sử dụng các tri thức là một trong các xu hướng tất yếu sau trào l
các nghiên cứu về Ontology. Ví dụ: mô hình cho nhiều lĩnh vực khác nhau cần biểu d
các ký hiệu về thời gian. Biểu diễn này bao gồm các ký hiệu về khoàng thời gian, thời
điểm, mối quan hệ giữa các đại lượng đo thời gian..vv. Nếu một nhóm nào đó phát triển
Ontology này một cách chi tiết thì những nhóm khác có thể dề dàng sử dụng nó cho lĩnh
Bàn thể học 215

vực cùa họ. Thêm vào đó, nếu chúng ta cần phái xây dựng một Ontology lớn ta có thể tích
hợp một vài phần mô tà Ontology đã tồn tại cùa lĩnh vực lớn đó. Chúng ta cũng có thể sừ
dụng lại một Ontology chung như UNSPSC Ontology và mở rộng chúng để mô tà trong
lĩnh vực cùa minh.

Làm cho các giả định trong lĩnh vực trờ nên rõ ràng ám chi sự cài đặt có thể thay
đổi các già định này dễ dàng nếu như tri thức về lĩnh vực thay đổi. Sự mã hoá cứng các giả
định về thế giới vào trong ngôn ngữ lập trình làm cho các thông tin không chi khó tìm
kiếm, khó hiểu mà còn khó thay đồi, đặc biệt với những người lập trình không chuyên.
Thêm vào đó các đặc tà cụ thể cùa tri thức rất có ích cho những người mới học về các khái

niệm trong các trong lĩnh vực đó.

Phân tách các tri thức lĩnh vực với tri thức mang tính thao tác là một mục đích sử
dụng nữa cùa Ontology. Chúng ta có thể mô tà nhiệm vụ cấu hình sàn phấm từ các thành
phần cùa nó theo các đặc tả yêu cầu và cài đặt một chương trình thực hiện việc cấu hình
này độc lập với sản phẩm cà các thành phần của bản thân chúng [McGuinness và Wright
1998], Sau đó chúng ta cỏ thể phát triển một Ontology cùa các thành phần máy tính và các
đặc tính, và áp dụng giải thuật để cấu hình cho các máy tính. Ta cũng có thể sứ dụng cùng
một giải thuật để cấu hình thang máy nếu như chúng ta cung cấp một Ontology về các

thành phần cùa thang máy cho nó.

Phân tích tri thức của lĩnh vực có thể được thực hiện khi các đặc tả về các khái
niệm đã có sẵn. Phân tích hình thức các thuật ngữ, khái niệm là rất có giá trị khi cố gáng sừ
d ụ n g lụi c á c O n to lo g y v à m à rộ n g c h ú n g .

Chia sè hiểu biết chung về cấu trúc của thông tin giữa con người hoặc giữa các
Software Agent là m ột trong nhiều mục đích chung cùa việc phát triển Ontology [Musen-
l992,G ruber-1993]. Ta đưa một v í dụ: Giả sử có một số W ebsite có chứa các thông tin y
học hoặc cung cấp các dịch vụ thương mại điện từ về y học. Neu các Website có thề chia sẻ

hoặc đưa ra cùng một Ontology của các khái niệm mà họ sử dụng thì khi đó các Software
Agent có thể phân tách các thông tin và thu thập chúng từ các Web site khác nhau. Tác tử
có thể sừ dụng các thông tin kết hợp đó để trà lời câu hòi cùa người dùng hoặc dùng các
thông tin đó như dữ liệu đầu vào cho các ứng dụng khác.
216 Tác tử - Công nghệ phần mềm hướng tác tử

Một Ontology về một lĩnh vực thường không phải là mục tiêu cho bàn thân nó.
Việc phát triển một Ontology gần giống với việc định nghĩa tập dữ liệu và và cấu trúc dữ
liệu cho các chương trình khác sử dụng chúng. Các phương pháp giải quyết vấn đề, các ứng
dụng độc lập với lĩnh vực và phần mềm tác từ sừ dụng Ontology và cơ sở tri thức được xây
dựng từ Ontology như là dữ liệu. Ví dụ ta phất triển một Ontology về Thức ăn và Rượu và
sự kết hợp cùa chúng thành Bữa ăn. Một ứng dụng có thể đưa ra một yêu cầu về rượu cho
thực đơn hằng ngày hoặc trá lời câu hòi cùa người bồi hoặc khách hàng.Trong khi đó một
ứng dụng khác có thể phân tích một danh sách các kho rượu và đề nghị m ột danh sách các
loại rượu để bày và với các loại rượu có thề đề bán.

1.3 V í dụ minh hoạ về Ontology

Đe minh hoạ cho những phát biểu ờ trên chúng ta đưa ra một vài ví dụ trong
khuôn khổ cùa công việc trích chọn thông tin. v ấ n đề chung gặp phải ở đây là công thức
hoá câu truy vấn trên m ột đống thông tin và đưa ra một câu trả lời chính xác nhất có thể. Ví
dụ với câu hòi của Assunción Gómez-Pérez:

"What is a pipe ?"

Trong tiếng Anh với câu hòi như vậy có ba câu trà lời: đó là cái ống tẩu thuốc, ống
dẫn dầu hay một thành phần trong hệ thống máy tinh. Có nghĩa là có ba khái niệm cho một
từ “pipe” . Đó chính là sự mập mờ, tối nghĩa ngược lại có thể có nhiều từ thực chất lại chi
tới cùng một khái niệm ví dụ như cái ôtô có rất nhiều từ để chi khái niệm này: car, auto,
autom obile, motorcar. Những trường hợp tầm thường như vậy gây ra những vấn đề rất
nghiêm trọng với hệ thống tính toán, nó khiến cho máy tính không thể phân biệt sự khác
nhau hoặc sự tương đương trừ khi những được làm rõ.

M ột cái ống hẹp với Một ống dài bằng kim Một bộ phận trong bộ nhớ
m ột chỗ đựng ờ một loại hay chất dẻo đề máy tính có thề liên kết
đầu dùng để hút dẫn dầu hay nước. tiến trình trong máy tính.
Hình 6.1 Sự tối nghĩa với khái niệm pipe.
Bản thể học 217

Một ví dụ nữa là khi ta vào trang tim kiếm Altavista.com để tìm thông tin về
những cuốn sách cùa Ernest Hemingway ta thường chọn từ khoá “+book+H em ingw ay’\
Search Engine thường gặp phải một vài vấn đề:

• N hiễu: s ự chính xác trong tìm kiểm sẽ khiến chúng tập hạp những Irang có
lựa để như "The O ld Book Pub, 3 Avenue Hemingway ” rõ ràng đây không phới là
thứ la m uon tìm.

• C âu trả lờ i bị thiếu: search engine sẽ bo qua những trang có tựa đề kiéu như
"The novel 'The O ld Man and The Sea ’ by Ernest Hemingway ” sẽ bị bó qua mặc
dù đây chinh tà thứ la muốn tìm. vần đề là ớ chõ máy tính không hiêu có những
loại văn bàn chinh nào và không hiếu novel (tiếu thuyết) cũng là một cuốn sách.

Nếu chúng ta xem cách mà một người trả lời câu hói chúng ta có thề tìm ra những
điều thú vị để giái quyết vấn đề trên. Xem đối thoại giữa hai người

Nguòi A: ''Em làm gì thư giãn tối hôm qua"


Người B: ''Xem bộ phim Kiếm hiệp cùa Kim Dung"

Câu trà lời cùa B dựa trên sự tổ chức các khái niệm cho ít nhất là hai mục đích:

Để xác định: khá năng nhận dạng một sự vật, một hành động..tuỳ thuộc vào một
sự phân loại. Ví dụ khả năng nhận dạng một sự vật là một bộ phim hay một hành động là
xem phim.

Để cụ thể hoá hay tổng quát hoá: Khả năng để ghi nhớ sự trừu tượng hoá các phạm
tru theo mộl sự phân cáp. VI dụ: “Xem phim, Karaoke, đục săcli... đều là thu gian". Sụ
phân cấp này là cơ sờ cho cơ chế suy diễn ở trung tâm của hệ thống chuyển đổi, thu thập tin
tức. Theo phép tam đoạn luận thì “ Phim kiếm hiệp là một bộ phim”, “một bộ phim là sự thu

giãn” thì “phim kiếm hiệp là thư giãn”.

Cấu trúc nhir trẽn cùa sự phân loại được học thông qua giáo dục và giao lưu văn
hoá xã hội. Ví dụ ta xem xét tình huống:

Một gia đình trên đường đi. Đứa trè nhìn thấy một con gà ờ trên đường, đây là lần

đầu tiên nó nhìn thấy gà:

"Nhìn kìa ... đó là một con chim to!".


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

Nguời mẹ nhìn và nhận ra đó là con gà:


"Không con, đó là con gà... nó lớn hon con chim nhiều!"

Đứa trẻ ghi nhớ khái niệm mới, và chú ý sự khác biệt, nó quan sát hoặc được nói
về sự khác biệt trong phạm trù mới. Một lúc sau, nó nhìn thấy m ột con vịt, đây cũng là lần
đầy tiên:

"Mẹ..'.một con gà khác!"


Người mẹ nhận ra con vịt:
"Không đâu con, nó là con vịt ... nó có mỏ bẹt và bơi
được.

Trong các giao tiếp trên, các phạm trù được học, trao đổi và sắp xếp. Điều này dẫn
tới trong tương lai chúng có thể hiểu được khi dùng trong khi giao tiếp.

Do vậy cấu trúc phân cấp các phạm trù bao gồm sự thống nhất, sự phụ thuộc về
mặt văn hoá, xã hội. Nếu có gì thiếu hoặc không đúng một tương tác sẽ xày ra để sắp xếp

lại hai ý niệm hoặc lấp đầy khoảng cách như trong ví dụ với đứa tré. Sự nhất trí là hoàn

toàn rõ ràng: trong trường hợp trao đổi với nhau về tài liệu, cả hai người đều ngầm hiểu
ràng họ chia sẻ một sự nhất trí về khái niệm hoá tài liệu. Với câu trà lời “bài báo” người nói
thứ hai nghĩ rằng người nói thứ nhất biết “một bài báo là m ột tài liệu” .

N hư vậy sự thiếu nền tàng tri thức trong các hệ thống thông tin là do các hệ thống
chi dựa vào các thuật ngữ và plain-text search. Một cách để làm cho những tri thức này trờ
nên rõ ràng và đặt chúng trong các cấu trúc logic để dùng trong các hệ thống tự động đó là
dùng Ontology. Và đây cũng chính là mục đích cùa Ontology : nám bát ngữ nghĩa và quan
hệ của các khái niệm mà chúng ta sử dụng, làm cho chúng trờ nên rõ ràng và thậm chí mã

hoá chúng trong một hệ thống ký hiệu để chúng có thề được sửa đổi và trao đối giữa các hệ

thống.

2 Định nghĩa Ontology và các khái niệm liên quan

2.1 Những định nghĩa cơ bản


2.1.1 Trong triết học
Trước hết từ Ontology là từ bắt nguồn từ Hy Lạp cổ bao gồm hai từ ontos và

logos. N ó gần như là một khái niệm mới trong chiều dài cùa lịch sử triết học khi được giới
Bản thề học 219

thiệu vào thế kỳ 19 bởi một nhà triết học người Đức, nghĩa cùa nó là “bản thể học” - chù
thể cùa nhận thức. T rong triết học nó còn bị nhầm lẫn với từ Epistemology-nhận thức luận.
Nhưng nói tóm lại theo cách nhìn cùa triết học “Đó là một môn khoa học ve nhận thức, cụ
thè hơn là một nhánh cùa siêu hình học về tự nhiên và bàn chât cùa thế giới, nhằm xem xét
các van để về s ự tòn lại hay không lon tại cùa các sự vật".

Ontology - bán thể học với ý nghĩa triết học chuyên nghiên cứu về tự nhiên và sự
tồ chức, cấu tạo của thế giới thực. Trong bàn thể học người ta đưa ra khái niệm bộ ba ngữ
nghĩa để mô tã thế giới. Đó là bộ ba Biểu tượng - Khái niệm - Sự vật:

Hinh 6.2 Bộ ba Biểu tượng - Khái niệm - Sự vật.

Theo cách biếu diễn này, Biều tượng sẽ gợi lên khái niệm và biểu diễn Sự vật còn
Khái niệm sẽ đề cập tới sự vật. Đây là mô hình mà con người đang dùng đề biếu diễn thế

giới thực.

2.1.2 Trong lĩnh vực trí tuệ nhân tạo


L ĩnh vục tr í tuệ n h ân tạo có rất nhiều cách định nghĩa về Ontology nhiều định
nghĩa thậm chí còn ngược lại với định nghTa khác. Sau đây là một số định nghĩa được coi là
kinh điền và được thừa nhận rộng rãi:

Theo Neches và các đồng nghiệp [Neches 91]: “Một Ontology định nghĩa các
thuật ngữ cơ bàn và quan hệ bao gồm từ điển cùa một lĩnh vực nào đó cùng với các luật kết
hợp các thuật ngữ với các quan hệ nhằm xác định sự mờ rộng cho từ điển”. Định nghĩa này
không những cho ta một khái niệm về Ontology mà còn đưa ra định hướng giúp ta xây
dựng Ontology.

Theo Gruber: “Ontology là m ột đặc là rõ ràng cho việc khái niệm hoá trong một
lĩnh Mực" [Gruber - 1993], Đây là một định nghĩa nổi tiếng và được coi là kinh điền. Năm
1997 Borst sửa đổi một chút định nghĩa cùa Gruber: “O ntology được định nghĩa là sự đặc
220 Tác tử - Công nghệ phần mềm hướng tác từ

tá hình thức cùa sự khái niệm hoá được chia sẻ". Hai định nghĩa trên sau đó được Studer
[Studerl998] và các đồng nghiệp giải thích như sau: "Sự khái niệm hoá có nghĩa là m õ hình
trừu lượng cúa các sự vật, hiện tượng trên thế giới được xác định qua các khái niệm Hên
quan cùa sự vật, hiện tượng đó. Rõ ràng có nghĩa là các kiêu khái niệm và các ràng buộc
giữa chúng là được xác định rõ ràng. Còn hình thức có nghĩa là Ontology p hài đư ợc hiêu
bởi máy tính

Theo Motta: “Ontology là đặc tả một phần cùa tập hợp các khái niệm được sử
dụng hình thức hoá các tri thức cùa một lĩnh vực cần quan tâm. Vai trò cơ bàn cùa một
ontology là nhằm chia sẻ và sừ dụng lại tri thức” . [Motta -1999],

Nói chung sau định nghĩa cùa Gruber có rất nhiều định nghĩa được đề cập Irong
lĩnh vực trí tuệ nhân tạo. Năm 1995 Guarino và Giaretta đã kết hợp bảy định nghĩa để đưa
ra một định nghĩa m ang tính chặt chẽ cú pháp và ngữ nghĩa. Tuy nhiên nói chung các tác
già đều đưa ra định nghĩa Ontology theo cách thức mà họ xây dựng Ontology cùa họ. Ví
như Swartout[Swartout, 1997] và các đong nghiệp: uMộl O ntology là m ột tập có cấu trúc
phán cap các khái niệm m ô tà một lĩnh vực, nó có thê được s ứ dụng như !à nên táng, xương

sống cho cơ sớ tri thức". Họ đưa ra định nghĩa trên từ việc họ xây dựng một Ontology trong
một lĩnh vực đặc biệt bàng cách xác định các khái niệm liên quan tới lĩnh vực đó trong
Ontology SENSUS (bao gồm hơn 50000 khái niệm), sau đó họ cắt xén Ontology trên bằng
một số giãi thuật dùng heuristic(mẹo). Trong khi đó Bernaras [Bernaras,1996] họ xây dựng
Ontology chính từ cơ sờ tri thức sau đó được làm mịn và và bổ sung thêm các định nghĩa
mới nếu một ứng dụng mới được xây dựng. Do đó theo họ “M ột Ontology cung cáp cách
thức để đe mô tá việc khái niệm hoá m ột cách rõ ràng đẳng sau tri thức biêu diễn trong cơ

s ớ tri thức”.

2.1.3 Trong Công nghệ thông tin


Ngành Công nghệ thông tin đã mượn khái niệm ontology từ triết học, kết hợp với

ý nghĩa trong trí tuệ nhân tạo để cho ra một loại dữ liệu cho phép xử lý và ứng đụng. Trong
ngành Công nghệ thông tin, tồn tại một số định nghĩa khác nhau về Ontology. Những định

nghĩa phổ biến nhất của ontology là:

/. O ntology là một đặc tà rõ ràng cùa nhận thức.


Bàn thể học 221

2. Ontology là lý thuyết quan lâm tới những khái niệm sử dụng đê xây dựng những
hệ thong nhân tạo.

3. Ontology là biểu diễn cúa tri thức trong một lĩnh vực nào đó

Định nghĩa đầu tiên thường được coi là định nghĩa ontology chung cùa cả IT và
cộng đồng AI. Tuy nhiên việc hiểu chinh xác ý nghĩa cùa định nghĩa náy lại phụ thuộc vào
sự hiểu biết về những thuật ngữ “Đặc tà” và “Nhận thức” . Định nghĩa thứ hai là định nghĩa
phổ biến trong cộng đồng kỹ nghệ tri thức. Định nghĩa cuối cùng khác với hai định nghĩa
trước, nó coi ontology như m ột vật thể bên trong của tri thức mà không coi ontology là một
phương thức để mô tả tri thức.

Những định nghĩa trên đều khá ngắn gọn tuy nhiên chủng chưa cho phép chúng ta
hiểu sâu về khái niệm cùa ontology. Chúng ta sẽ đi sâu hơn vào từng định nghĩa và cố gáng
đưa ra những định nghĩa toàn diện và sâu sắc hơn. Như vậy ta có thể thấy có rất nhiều định
nghĩa về Ontology, mỗi định nghĩa thể hiện một cách nhìn khác nhau.

Tuy nhiên để kết luận ta có thể đưa ra một định nghĩa mang tính tổng hợp và đúng
theo định hướng mà ta xây dựng Ontology: Một Ontology xác định một bảng từ vựng
chung cho các nhà nghiên cứu - những người cần chia sè thông tin trong một lĩnh vực.
Ontology bao gồm định nghĩa cùa các khái niệm cơ bản máy tính có thể hiểu được trong
một lĩnh vực nào đó và sự Mên quan giữa chúng.

2.2 Phương pháp hình thức trong mô tả Ontoỉogy


C h ú n g ta cú thẻ m o h ln h h o â m ột O niology theo như cáu trủc trên như sau:

Một Ontology là một bộ 5 tham số: 0:=(C,R, h f ,rel,A") trong đó

• H ai tập c , R không giao nhau trong đó moi phần từ là một khái


niệm(Concept) hoặc m ột m ối quan hệ (Relation)

• c là tập các khái niệm đây, trong một Ontology cụ thể thì nó được thể hiện
bằng các lớp

• R là lập các quan hệ chính là các thuộc tính trong Ontology, có ba loại quan
hệ chinh trong một Ontology: { 'isa ' p a rt-o f, ' s y n -o f} có nghĩa là ba quan hệ:

là một, một phần cùa, và tương đương với.


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

• Một cây phân cấp các khái niệm : t f . t f Q CxC biêu diễn một mói quan hệ
trực tiếp và bác cầu trong đó /SỴCi.Cị) biếu diễn Cl là khái niệm con cùa C 2

• Hàm rel: R ->CxC biêu diễn các mối quan hệ không hình thành cây phân cấp

• Một tập các đm h nghĩa A" được biếu diễn bằng một ngôn ngữ thích hợp

2.3 Phân loại khái niệm trong định nghĩa


2.3.1 Từ v ự n g “ C o n tro lle d V o c a b u a la ry ” (C V s),
Trước tiên là khái niệm “Controlled Vocabualary” (CVs), khái niệm này thường
được dùng trong ngôn ngữ học, nó bao gồm các thuật ngữ được chuẩn hoá với m ột ngữ
nghĩa đa được thừa nhận cho một lĩnh vực cụ thể nào đó trong giao tiếp. Một loai đặc biệt
của CVs là từ điển chuyên đề, một điểm chung giữa Ontology và từ điển chuyên đề là
chúng đều bao gồm một số lượng lớn các khái niệm, thuật ngữ trong lĩnh vực nào đó và
giúp ta hiểu rõ ý nghĩa cùa các khái niệm đó. Thậm chí cả Ontology và từ điển chuyên đề
đều mô tà quan hệ giữa các khái niệm tuy nhiên các quan hệ trong từ điển chuyên đề hầu
hết đều khác với các quan hệ trong Ontology, hơn nữa chúng thường tối nghĩa và không rõ
ràng. Nói chung từ điển chuyên ngành thường chú trọng tới thuật ngữ còn Ontology chú
trọng tới các khái niệm, chi có điều chúng dùng các thuật ngữ để biểu diễn các khái niệm.

Định nghĩa đầu tiên về ontology được đề cập ờ trên: đặc tả rõ ràng cùa nhận thức.
Định nghĩa này đến từ việc ontology được sử dụng để chia sẻ tri thức. Theo Thomas
Gruber, đặc tả rõ ràng cùa nhận thức có nghĩa rằng m ột ontology là sự mô tà (như một đặc
tả hình thức cùa một chương trình) những khái niệm và những mối quan hệ có thể tồn tại
cùa một tác tử hoặc một cộng đồng những tác tử. Định nghĩa này gắn với việc dùng
ontology như tập hợp những định nghĩa cùa các khái niệm.

Theo nghĩa này, ontology phục vụ cho mục đích chia sè và tái sừ dụng tri thức.
M ột ontology trong trường họp này được sừ dụng để tạo nên- những bản thoả thuận
(commitment) ontology. Thực tế, một bản thoà thuận ontology là một thỏa thuận để sử
dụng từ vựng (ví dụ khi hòi những câu hỏi và đưa ra những khẳng định) theo một cách chắc
chắn phù hợp với lý thuyết được chi ra bời một ontology. N hững tác từ được xây dựng sẽ
chấp nhận các ontology và các ontology được thiết kế sao cho tri thức có thể chia xè giữa
những tác từ này. Mỗi tác từ chi cần biết một phần nội dung ontology, các ontology sẽ trao
Bán thể học 223

đổi thông tin với nhau dựa trên các phần giao nhau trong tri thức cùa chúng.

* A gent -—

Hình 6.3 Ontology giúp các tác tử chia sẻ tri thức.

Tri thức được xây dựng trên các nhận thức: Những đối tượng, những khái niệm, và
những thực thể khác được coi như tồn tại trong một lĩnh vực nào đó và mối quan hệ giữa
chúng. Nhận thức là một cái nhìn trừu tượng, đơn giàn hóa thế giới mà chúng ta muốn biểu
diễn đề phục vụ cho một mục đích nào đó. Mỗi cơ sờ tri thức, hệ cơ sờ tri thức, hoặc tác tử
có tri thức đều có ít nhiều m ột số nhận thức nào đó. Đối với những hệ thống này, những thứ
tồn tại là những thứ có thể được biểu diễn. Tập họp những đối tượng và những mối quan hệ
có thể m ô tả giữa chúng, được phàn ánh trong bộ từ vựng dùng để biểu diễn đi kèm với
chương trình biểu diễn tri thức. N hư vậy, theo quan điểm AI, chúng ta có thể mô tà
ontology của m ột chương trình bằng việc định nghĩa một tập họp những thuật ngữ dùng để
biểu diễn. Trong những ontology như thế này, những định nghĩa gắn với tên cùa thực thể
được mô tả bằng chữ viết thông thường, và những định nghĩa hình thức đàm bào sự giài
thích và sử dụng đúng đắn những thuật ngữ này. Có thể nói rằng ontology chinh là các phát
biểu logic.

Ontology thường được coi là sự phân cấp theo thứ bậc của những lớp mà các lớp

đó không có định nghĩa lớp và giữa chúng không có quan hệ hợp. Ontology không cần phải
224 Tác từ - Công nghệ phần mềm hướng tác tử

giới hạn với những hạn chế đó. Ontology cũng không cần phải giới hạn bởi những định
nghĩa bào thủ mà trong đó những định nghĩa trong lôgic truyền thống cho rằng chi cần giới
thiệu những thuật ngữ mà không cần thêm vào bất kỳ tri thức nào về thế giới.

Trên thực tế, một ontology dùng chung sẽ định nghĩa những từ vựng cho phép
nhũng câu hỏi nào và những xác nhận được trao đổi giữa những tác tử. Những tác tử chia sẻ
từ vựng không nhất thiết phải chia sè một cơ sờ tri thức. Một tác tử công nhận một ontology
không nhất thiết phải trả lời tất cả những câu hòi mà có thể được tạo nên từ những từ vựng
dùng chung. Tóm lại, việc chấp nhận một ontology chung nghĩa là chấp nhận vững chấc

nhưng không phái toàn bộ với những câu hòi và những sự khẳng định sừ dụng từ vựng
được định nghĩa trong ontology.

2.3.2 Ontology là sự biểu diễn một lĩnh vực - miền (domain)


Định nghĩa thứ hai của ontology nêu ờ trên thực chất đã làm rõ quan điểm coi
ontology như biểu diễn của từ vựng trong một lĩnh vực - miền (dom ain). T ừ vựng có thế
chuyên dụng cho lĩnh vực hoặc vấn đề nào đó. Chính xác hơn, không phải là từ vựng đươc
phân loại thành ontology, mà là những thuật ngữ được từ vựng mô tả sẽ được phân loại
thành ontology. N hư vậy, dịch những thuật ngữ bên trong một ontology từ ngôn ngữ này
sang ngôn ngữ khác sẽ không thay đổi các khái niệm cùa ontology.

Trong kỹ nghệ thiết kế, ta có thề bàn luận về ontology cùa lĩnh vực thiết bị điện từ,

m à có thể bao gồm những từ mô tả những phần tử: tranzito, khuếch đại thuật toán, và điện
áp - những quan hệ giữa những phần tử này: khuếch đại thuật toán là m ột kiểu thiết bị điện
từ, và n h ữ n g tra n z ito là th à n h p h ầ n c ù a n h ữ n g máy k h u ế c h đại th u ậ t to á n này. V iệ c x á c
định m ột từ vựng như vậy và khái niệm bên dưới nói chung yêu cầu sự phân tích cẩn thận

các loại đối tượng và những quan hệ mà có thể tồn tại trong lĩnh vực.

2.3.3 Phản cấp - Taxonomy


Khái niệm tiếp theo là khái niệm Taxonomy có nghĩa là phân cấp, khái niệm này
liên quan tới việc phân loại, phân cấp các thực thể. Hành động phần loại phân cấp các thực
thể vào cấu trúc phân cấp. Quan hệ giữa các thực thể là quan hệ “ I-SA” , đây chi là m ột loại
quan hệ trong số rất nhiều quan hệ Ưong Ontology (nó thường được thể hiện bằng quan hệ
sub/super Class). Do đó có thể nói Taxonomy chi là một trường hợp rất riêng cùa Ontology.
Bản thể học 225

Khái niệm cơ sờ tri thức cũng là một khái niệm cần làm rõ. Trước hết ta phải hiểu
các khái niệm dữ liệu, thông tin và tri thức. Dữ liệu là những con số, những chữ cái hay các
bit...ví dụ ‘35 ’ là dữ liệu. Khi dữ liệu có ý nghĩa thì nó trở thành thông tin vi dụ nhiệt độ
hôm nay là 35° c, đó là thông tin. Tri thức là những thông tin được tích hợp nó bao gồm
các sự việc và mối quan hệ giữa các sự việc, ví dụ nếu hôm nay nhiệt độ là 35° c mọi người
sẽ nóng. Khái niệm cơ sờ tri thức xét trong lĩnh vực trí tuệ nhân tạo là các tri thức được
biểu diễn duới dạng máy tinh có thể hiểu được. Cơ sờ tri thức gồm hai bộ phận bộ phận
thuật ngữ (term inology box) hay “T-box” và bộ phận khẳng định (assertion box) hay “A-
box” . T-box bao gồm các khái niệm và định nghĩa của chúng, nó cũng bao gồm các quan hệ
phân cấp “ISA ”, còn bộ phận A-box bao gồm các thề hiện của các khái niệm này và một số
các khẳng định trên những thề hiện này. Như vậy cả Ontology và Cơ sờ tri thức đều biểu
diễn tri thức tuy nhiên cơ sỡ tri thức cung cấp thêm các thể hiện mà qua đó tri thức được áp
dụng và suy diễn. N hư vậy Ontology có thể coi là cơ sở tri thức khi ta bò đi phần A-box mà
chi để lại phần T-box hay nói cách khác Ontology là một bộ phận cùa cơ sờ tri thức.

2.3.4 Cấu trúc sơ đồ dối tượng ( Object Scheama)


N hư ta đã biết trong nghiên cứu trí tuệ nhân tạo có rất nhiều định nghĩa về
Ontology, với mỗi định nghĩa đi kèm với nó là một phương pháp luận và kỹ thuật xây dựng
Ontology, có nghĩa là nó bao hàm trong đó cấu trúc của Ontology được xây dựng. Trong
khuôn khổ này tác giả không thể trình bày được hết các quan điểm đó mà chi đưa ra một
cấu trúc được nhiều người công nhận và đã được cài đặt trong thực tế. Nhưng truớc hết ta
phài định nghTa một số thuật ngữ:

Ý niệm Là cái gì đó hình thành trong ý nghĩ, chúng


(Notion): hợp thành suy nghĩ, tư duy. Nó dùng để cấu
trúc tri thức và nhận thúc về thế giới.
Khái niệm Ý niệm thuờng được biểu diễn bằng một thuật
(concept) : ngũ (hay nói chung là một ký hiệu). Khái
niệm biểu diễn một nhóm các sự vật, hiện
tượng có chung các đặc tính cho phép ta nhận
ra là nó nằm trong nhóm đó.
226 Tác từ - Công nghệ phần mềm hư ớ ng tác tử

Quan hệ Ý niệm chi một liên kết hoặc liên quan giũa
(relation): các khái niệm, thuờng đuọc biểu diễn bằng
một thuật ngũ hay một biểu diễn đồ thị (hay
nói chung là ký hiệu).
Mờ rộng Sự khác biệt giữa cách mà một ý niệm đuọc
(Extension) và xem xét: sự mở rộng của nó là một tập nhũng
tăng cường thứ áp dụng ý niệm đó. Còn sự tăng cưòng ám
(Intension): chi một tập các thuộc tinh, đặc tinh của
khái niệm được bao hàm. Sự tăng cường là một
tập các thuộc tinh mô tà khái niệm còn tập
những thứ đuợc được biểu diễn bởi khái niệm
là sự mở rộng.
Khái niệm trong Tập các thuộc tính, đặc điểm, đặc tinh được
sụ tăng cường chia sè bởi đối tuợng hay đuọc bao hàm trong
cùa một khái hoặc tới cái mà một khái nịệm áp dụng.
niệm(Concept in Ví dụ: Khái niệm "xe hơi" sự tăng cường bao
intension of a gồm các đặc điểm của một phuơng tiện đường
concept): bộ với một động cơ, thường có bốn bành và có
chỗ ngồi cho từ một tới bốn nguòi
Khái niệm trong Tập các sự vật hiện tượng đưọc bao hàm trong
sự mở rộng của hay tới khái niệm mà nó áp dụng
khái niệm Vi dụ với khái niệm ”xe hơi" sự mờ rộng bao
khác(Concept in gồm "xe Mazda MX5 vói sổ đãng ký 2561 SH
extension of a 4 5", một "xe màu xanh đậu ở góc đường truớc
concept) : cơ quan tôi" ...
Quan hệ trong Tập các thuộc tính, đặc điểm, đặc tinh mô tà
sự tăng cường tất cà những gì thấy được cùa một quan hệ.
củ một quan hệ Ví dụ: với quan hệ "cha mẹ" bao gồm các đặc
(Relation in điểm của một "nuôi dưõng những đứa trẻ và
intension/ tất cả các trách nhiệm và hành động liên
Intension of a quan đến việc nuôi dưõng đó."
relation):
Bản thể học 227

Dấu hiệu Tập các khái niệm có thể được liên kết bởi
của quan hệ một quan hệ, ràng buộc này là đặc điểm của
(Signature of a quan hệ tham gia việc định nghĩa sụ tăng
relation) cuờng của nó..
Vi dụ với quan hệ "cha mẹ" dấu hiệu cùa nó
bào rằng nó là quan hệ giữa hai thành viên
cùa một loài.
Quan hệ trong Tập các nhận biết có hiệu quà cùa một quan
sự mở rộng cù hệ giữa các sự vật hiện tuợng.
một quan hệ Vi dụ với quan hệ "cha mẹ" sự mở rộng bao
(Relation in gồm ”Jina và Tom là cha mẹ của Jim", hay
extension / ''ông Michel Gandon là cha tôi" . . .
Extension of a
relation):
Ontology: Một nhánh của triết học liên quan tói đặc
tinh tự nhiên và tồ chúc cùa các sụ vật hiện
tượng
Ontology hình Phát triển mang tính chất tiên đề, hình
thức(Formal thức và hệ thống về logic của tất cà các
Ontology): dang loại của tồn tại [Guarino and Giaretta,
1995] .
Khái niệm hoá Một cấu trúc ngũ nghĩa tăng cường mã hoá các
(Conceptualizat luật ràng buộc lên cấu trúc các thực tại
ion) : [Guarino and Giaretta, 1995] 11 nó cũng bao
hàm hoạt động xây dựng lên cấu trúc như vậy.
Phân loại Sự phân lớp dựa trên tính tuơng tự, tương
(taxonomy): đồng
Mereology: Nghiên cứu quan hệ một phần-toàn bộ
Partonomy: Sự phân loại dựa trên quan hệ "một phần của"
(part-of).

Hình 6.4 Bảng 1: Các khái niệm cơ bản.


T rong m ột Ontology với ý nghĩa là đặc tả hlnh thức rõ ràng cùa các khái niệm thì
nó thường bao gồm các khái niệm: classes (tương ứng với các concepts - khái niệm),
228 Tác tử - Công nghệ phần mềm hướng tác tử

thuộc tính cùa mỗi khái niệm mô tả các đặc tính, đặc trưng khác nhau cùa khái niệm (slot
hay thuờng được gọi là roles hoặc properties), giới hạn cùa các thuộc tinh (facets- hay còn
gọi là role restrictions). Một Ontology còn bao gồm một tập các cá thể (indivisual) là thể
hiện (instance hay elem ent) cùa các lớp tạo nên cơ sờ tri thức.

L óp (C lass ) là trung tâm cùa hầu hết các Ontology. Lớp mô tà các khái niệm cùa
lĩnh vực. Ví dụ lớp “rượu” biểu diễn cho tất cà các loại rượu. Mỗi thể hiện cùa lớp biểu
diễn một sự cụ thể hoá cùa khái niệm đó, một loại rượu cụ thề là thể hiện cùa lớp rượu ví
dụ rượu Bordeaux là một thể hiện của lớp rượu. Một lớp có thể có các lóp con (sub-class)
biểu diễn khái niệm nhằm biểu diễn các khái niệm cụ thề hơn SO với lớp cha. Ví dụ như
chúng ta có thể phân lớp các loại rượu thành lớp rượu đò, rượu trắng, rượu hồng, đây chính
là các lớp con của lớp rượu, hoặc chúng ta cũng có thể phân loại thành rượu sùi tăm và
rượu không sùi tăm, và cả hai đều là lớp con cùa lớp rượu.

Thuộc tính (Property) biếu diễn thuộc tính, đặc tính, đặc trưng cùa lớp và các thề

hiện của nó và mỗi thuộc tính đều có giá trị. Khái niệm thuộc tính cũng coi là tương đương
với khái niệm quan hệ khi ta định nghĩa Ontology ờ trên.Ví dụ “ rượu” có thuộc tính “ m àu”,
và thuộc tính “làm từ nguyên liệu”. Một thể hiện của lớp rượu là rượu làng Vân có thuộc
tính màu là trong suốt, thuộc tính làm từ nguyên liệu có giá trị là gạo nếp. N hư vậy ta thấy
thuộc tính “ làm từ nguyên liệu” đã liên kết hai khái niệm (lớp) là rượu và nguyên liệu, nó
tương đương với một quan hệ. Một thuộc tinh bản thân nó cũng có các thuộc tính con
(sub-property) và ngoài ra cũng có các ràng buộc trên nó (restriction hay constrain).

Ngoài ra một Onlology CÒI1 cú các F u n c tio n là một loại thuộc tinh hay quan hệ
đặc biệt mô tả một thành phần (thường là thể hiện) thứ n là duy nhất với n-1 thành phần
(thể hiện) khác. Một Ontology còn bao gồm các tiên đề (axiom ) có nghĩa là những thứ

được coi là đúng mà không cần phải chứng minh hay giải thích. Cả hai thành phần trên đều
góp phần tạo nên khả năng suy diễn trên Ontology.

Nhu- vây cấu trúc cùa Ontology theo quan điểm trên đi kèm với định nghĩa về

Ontology của Gruber, nó cũng định hướng trong thực tế khi ta xây dựng m ột O ntology cần

phái thực hiện các công việc sau:

• X ác định các lớp trong Ontology


Bản thể học 229

• Sắp xếp các lớp trong m ột cấu trúc phân cấp (lớp con - lớp cha)

• X ác định các thuộc tinh và mô là các giá trị mà thuộc tinh đó có thê có.

• Điền giá trị cho các thuộc tinh khi tạo các thế hiện

2.4 Kỹ nghệ Ontology và Mô hình hóa dử liệu - Data Model


Khái niệm tiếp theo cần phân biệt với công nghệ Ontology (Ontology
Engineering) là mô hình hoá dữ liệu (Data Modelling). Cùng với đó ta sê phân biệt
Ontology với mô hình dữ liệu (Data Model).

Ontology lá sự biểu diễn một cách thống nhất quá trình định nghĩa tri thức có tính
chất chia sẻ, hình thức và rõ ràng. Ontology bao gồm một kho từ vựng các thuật ngữ và
định nghĩa cùa các khái niệm cũng như mối quan hệ giữ chúng trong từng lĩnh vực. Trong
nhiều trường hợp các ứng dụng sử dụng ontology như các luật trong lĩnh vực đó. Các luật
này giới hạn ngữ nghĩa cùa các khái niệm và mối quan hệ ờ mức khái niệm trong quá trình
khái niệm hoá cụ thể cùa các lĩnh vực ứng dụng cụ thề. Các ứng dụng muốn sử dụng
Ontology phái hoàn toàn thoá mãn các quy tẳc này.

Trái lại, một mô hình dữ liệu biểu diễn cấu trúc và tổ họp của các phần từ dữ liệu
được sử dụng trong từng ứng dụng cụ thể. Vì thế các khái niệm và thuật ngữ trong mô hình
dữ liệu không được thiết kế nhằm mục đích chia sè giữa các ứng dụng. Chẳng hạn như: một
Ontology về cửa hàng bán sách có các luật dùng để xác định cuốn sách thông qua ISBN cùa
nó và số này là duy nhất. Tất cà các ứng dụng muốn sử dụng Ontology phái thoà mãn quy
tác xác định đó Nhfing ứng rking thự viện không thoà mãn luật này sẽ không thể sir dụng
Ontology đó. Nếu như không có Ontology, hai ứng dụng sê không thể trao đổi thông tin
với nhau (do không có sự chia sẻ giữa các từ ngữ và các luật cùa lĩnh vực đó giữa hai ứna
dụng). Quá trình mỏ hình hoá Ontology nhằm mục tiêu sừ dụng rộng rãi trong các môi
trường ứng dụng mở như Sem antic W eb, là một công việc chứa đầy thách thức. Nhưng
chính việc cung cấp nhiều hơn nữa các luật Ontology, một vấn đề hêt sức quan trọng trong
việc giúp các ứng dụng sừ dụng, giao tiếp một cách hiệu quả, có thể sẽ làm giới hạn tính
chất tổng quát của Ontology. Tuy nhiên nếu trong các Ontology chi có chứa một số lượng ít
các luật thì lại sẽ không tạo được hiệu quà trong giao tiếp giữa các tác tử phần mềm.

Chính vì thế để có thể SO sánh sự khác biệt giữa Ontology và Mô hình hoá dữ liệu
230 Tác từ - Công nghệ phần mèm hướng tác từ

chúng ta cần xác định một quy tắc cơ sờ - được gọi là "chập đôi - double articulation" cùa
một Ontology cho quá trình mô hình hoá và công nghệ chia sè và sử dụng lại Ontology.
Một chập đôi gồm có hai thành phần: phần ontology cơ sờ (ontology base) chứa các khái
niệm cơ bàn cùa Ontology và một phần hỗ trợ cùa Ontology (Ontology com m itm ent) chứa
các luật cùa Ontology.

C h ú n g la cần có SỤ' phân biệt rõ ràng giữa mô hình hoá dữ liệu và quá trinh tạo
lập ontology. Mô hình hoá dữ liệu như kiểu cơ sở dữ liệu hoặc giàn đồ XML đơn thuần xác
định cấu trúc và tổ hợp cùa các tập dữ liệu. Như vậy, việc xây dựng mô hình dữ liệu cho
một ứng dụng lớn luôn phụ thuộc vào nhu cầu và các nhiệm vụ cần phái thực hiện cùa lĩnh
vực đó. Ý nghĩa cùa mô hình dữ liệu thường tạo nên m ột sự đồng thuận ngầm giữa nhà phát
triển ứng dụng và người sử dụng cùa mô hình dữ liệu và chi có thể tim ra trong chương
trình ứng dụng sừ dụng mô hình dữ liệu đó. Nhưng trong nhiều trường hợp m ô hình dữ liệu
phải được cập nhật liên tục do có sự thay đồi trong yêu cầu chức năng. T rong một môi
trường ứng dụng m ờ như Semantic Web, các Ontology biểu diễn tri thức - cái đã được xác
định một cách hình thức bời các thuyết logic -cùa ứng dụng thuộc lĩnh vực đó.

Các thuyết về Ontology chẳng hạn như tập các tiên đề về các khái niệm m ang tinh
hiển nhiên có chứa trong luật, chi ra chính xác hơn và xấp xi với ý nghĩa của một khái

niệm. Ontology và mô hình hoá dữ liệu đều là một thành phần cùa quá trình khái niệm hoá,
phải chú ý đến cấu trúc và các luật cùa lĩnh vực cần phải mô hình hoá. Nhưng không giống
như các nhiệm vụ cụ thể và các mô hình dữ liệu hướng cài đặt, các Ontology về cơ bản nên
có tính tổng quát và độc lập với công việc ờ mức cao nhất có thể được. Các Ontology càng
tổng quan, giống với tài nguyên dùng chung bao nhiêu thì nó càng dễ được sử dụng lại và
chia sẻ bời các ứng dụng khác bấy nhiêu. Và thuận lới lớn nhất của một hệ thống sử dụng

Ontology là có thể sử dụng lại và chia sẻ tri thức bởi các ứng dụng.

Vậy các luật này ảnh hường như thế nào đến tính chất tổng quát cùa các tri thức đã
được mô hình hoá. Các mục dưới đây sẽ đưa ra căn cứ để tham khảo khi chúng ta cần phân

biệt giữa mồ hlnh dữ liệu và ontology.

Mức thao tác: các luật có thề sừ dụng để biểu diễn ờ một cấp độ thấp, mức cài đặt

như kiểu dữ liệu giá trị rỗng, khoá chính (ví dụ: bắt buộc phải là duy nhất). Các luật trừu
tượng hơn như tổng số, định danh, ... thao tác ờ mức độ cao hcm không cần xem xét đến
Bàn thể học 231

cách thức thực thi cụ thể. Các luật càng trừu tượng thì tinh tổng quát cùa nó càng cao.

Khà năng diễn tả: các ngôn ngữ thao tác dữ liệu như kiểu SQL giúp cho nhà phát
triển chinh sừa tổ hợp các tập d ữ liệu và sừ dụng các cấu trúc ngôn ngữ truyền thống. Nói
chung các luật cần phài được diễn tà không chi tổ hợp dữ liệu mà còn phải thể hiện được
quá trinh khái niệm cùa lĩnh vực. Bời thế ngôn ngữ dùng cho các luật cần phải chứa các
cấu trúc có thề diễn tá các kiểu ràng buộc về ý nghĩa khác nhau, chẳng hạn như cách thức
phân loại hoặc hỗ trợ suy dẫn như kiểu DAM L-OIL hoặc OWL. Việc cung cấp một ngôn
ngữ có thể dẫn đến quá trinh khái niệm trờ nên chinh xác và đúng đấn hơn. Tuy nhiên việc
thêm vào quá nhiều các luật ( chi tiết hơn và có độ phức tạp cao hơn) có thể dẫn tới làm
giám đi tính chât tổng quát cùa quá trình khái niệm hoá.

Người sử dụng, mục đích và các mục tiêu liên quan: người sử dụng mục tiêu và
mục đích là các nhân tố có tác động lớn đến việc lựa chọn cách thức mô hình hoá trong suôt
quá trinh khái niệm cho m ột lĩnh vực ứng dụng cụ thể. Chẳng hạn: bàn chất cùa quá trình
mô hình hoá, việc lựa chọn m ô hình ho á một sự vật thành các lớp hay các đặc tính cùa một
lớp nào đó, kiểu dữ liệu là đơn giàn hay phức hợp như kiều đối tượng... tất cả những điều
này trực tiếp phụ thuộc vào mục đích sử dụng cùa khái niệm. Các luật thực hiện trên mô
hình của lĩnh vực đã được tạo lập. Nói chung, một mô hình dữ liệu rất phù hợp với mục
đích cụ thể và người sừ dụng cùa ứng dụng. Rõ ràng là tính chất tổng quát cùa quá trình
khái niệm có đ ư ợ c tứ sự kết hợp một cách hợp lý giữ a các mục tiêu cụ thể, mục đích và
nhóm người sử dụng. Rất nhiều Ontology bị giới hạn cho một mục đích cụ thể nào đó do
hạn ch ế về khả n ăng biểu diễn n g ữ nghĩa của ngôn ngữ mô tà luât.

Khà năng mờ rộng: không giống như mô hình dữ liệu - nơi mà việc mô hình hoá
chi nhằm để phục vụ cho m ột mục đích xác định, quá trình tạo lập ontology cho một lĩnh
vực nào đó lại tuân theo quy tắc "chú ý rằng các chủ thể không liên quan đến các vấn đề
hoặc công việc này có thể gây ra hoặc liên hệ với các chù thể đang xem xét". Chẳng hạn

như: cần phải chú ý rất nhiều đến câu hòi về sự chính xác cùa định nghĩa khái niệm. Chẳng

hạn khi mô hình lioá khái niệm về con người.

Các tiêu chuẩn trên đây hỗ trợ giúp hiểu rõ sự khác nhau giữa mô hình hoá dữ liệu

và ontology và cũng có thể dùng để đánh giá mức độ tổng quan cùa quá trình khái niệm
(bao gồm cả ontology ). v ấ n đề là không tồn tại một giới hạn phân cách cụ thể giữa tri thức
232 Tác tử - Công nghệ phần mềm hướng tác tử

tổng quan và tri thức cụ thể. Và do đó sẽ có mâu thuẫn giữa m ột bên là tính tồng quát cùa
ontology - phần tử cơ bản cùa m ột ontology- với một bên là một số lượng lớn các luật cần
thiết cho quá trình trao đồi hợp tác thông tin giữa các tác từ.

Hình 6.5 Ontology ở giữa mức Dữ liệu và Ngôn ngữ tự nhiên.

3 Minh hoạ và làm rõ thêm các định nghĩa


Để minh hoạ những định nghĩa trên, chúng ta có thể dùng một thí dụ nổi tiếng đó

là những hình lập phương trên một cái bàn. Hình duới cho thấy có ba khối lập phương được
sắp xếp trên một cái bàn. Một từ vựng m ang tính khái niệm (Ontology đồ chơi) được đề
xuất để nói về các khía cạnh mà ta thấy (m ột số chúng bị bò qua, vi dụ không có từ vựng để
biểu thị các chiều của các khối lập phương). Cuối cùng toàn cành trên được quan sát và mô
tà dùng các mẫu nguyên thuỷ cùa Ontology :

71 L ậ p p h u -o 'n g (X ): T h ự c th e X v ớ i m ộ t L ậ p p h ư ơ n g (A )
Z /
góc vuông, là hình hộp với tất cả các Lập phương (B)
c cạnh có độ dài bằng nhau Lập phương (C)
B àn: Là một đối tượng bằng gỗ bao Trên (A,Table)
gồm m ột mặt phẳng ở trên đinh và Trên (C,A)
được đặt trên một hoặc nhiều chân Trên (B,Table)
T rê n (L ậ p p h ư o n g :X ,L ậ p phư ơ n g
:Y /B àn): Một quan hệ biêu thị răng
lập phương X ở trên đình của lập

a - Thực tế b - Mô tà thực tế c - Ontology

Hình 6.6 Minh hoạ định nghĩa Ontology.


Điều quan trọng cần nhấn m ạnh ờ đây rằng, trong các định nghĩa ban đầu về
Bản thể học 233

Ontology như của G ruber hay các định nghĩa khác đều không bắt buộc người làm Ontology
phải dùng một ngôn ngữ hình thức nào để xây dựng Ontology. Tuy nhiên sự sử đụng
Ontology một cách tự động bởi một hệ thống thông minh có ngầm ám chì ràng trong m ột số
hoàn cảnh, lĩnh vực việc dùng các ngôn ngữ hình thức nào đó là cần thiết.

Khi mà Ontology nắm giữ các khái niệm thì nó là một tập hợp vô cùng lớn của ba
loại ký hiệu: biểu tượng (chi ra khuôn dạng, hình dạng), chi mục (index - chì tới một cái gì
đó) và biểu tượng (sym bol-biểu diễn một cái gi đó theo thói quen, truyền thống). Ví dụ khái
niệm “ lửa” có thể biểu diễn bằng ba kýhiệu dưới:

Icon ( biểu tượng ) Chi mục index Symbol - ký hiệu

Hình 6.7 VI dụ khái niệm ‘lừa

Dữ liệu không có ý nghĩa không thể đòi hỏi ý nghĩa bằng cách được gán nhãn với
những siêu dữ liệu (m eta-data) vô nghĩa. Nguồn gốc cuối cùng cùa ý nghĩa là thế giới vật lí,
các tác tử sừ dụng các kí hiệu để biểu diễn các thực thể trong thế giới và các mục đích liên
quan của chúng. Nếu không có con người, các tài liệu và nột dung cùa nó đều là vô nghĩa.
Các đề xuất hiện tại cho Ontology và siêu dữ liệu đa coi nhẹ một vài điểm quam trọng nhất
cùa ký hiệu. Một ký hiệu có ba khía cạnh: nó là một thực thề (1) mô tà một thực thể khác

(2) cho một tác tử (3).


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

K h á i niệm Khái niệm về sự biểu diễn

Mopr
1 Cat: Vojo 1
__ ___3} y

Khái niệm Tượng trưng của khái niệm

Đ ố i tưọng

Yojo
Đổi tượng Biểu tưọng

(a) Đặt tên (b) Trừu tượng hóa

Đối tưựng
T ên đối tư ợ n g T ưựng trư n g cho tên

(c ) M ã h ó a

Hình 6.8 Tam giấc ý nghĩa.

Trong [Sovva - 2000], tác giả đã sử dụng tam giác ý nghĩa cùa Ogden và Richards,
giải thích khi chúng ta sử dụng các ký hiệu để đặt tên các đối tượng theo một sự khái niệm
hoá . Một tam giác kiểu như vậy được thể hiện trong hình sau để mô tả một tiến trinh trừu
tượng hay một tiến trình mô tà và mã hoá.

Một ví dụ thường được Fredge dùng là thuật ngữ "Sao hôm" và "Sao mai", chúng
là các ký hiệu khác nhau tạo nên các khái niệm khác nhau trong suy nghĩ cùa người nghe.
Cả hai ký hiệu đều chi một đối tượng, nhưng trong các hoàn cảnh khác nhau, tuỳ thuộc vào
Bản thể học 235

thời gian quan sát nên tạo thành hai khái niệm khác nhau.

Logic thuần tuý xét về mặt Ontology là không rõ rệt. Nếu ta chì dùng logic một
cách thuần tuý hay các ngôn ngữ logic thì sẽ là không đù để mô tà tri thức trong bất kỳ một
lĩnh vực nào, nó không có khả năng già định trước về cái gì đó tồn tại hoặc có thể tồn tại
trong một lĩnh vực nào đó. Để biểu diễn tri thức về một lĩnh vực đặc biệt, bát buộc phải
thêm vào một Ontology, để định nghĩa các phạm trù trong lĩnh vực đó, và các thuật ngữ con
người sứ dụng khi nói về chúng. Ontology định nghĩa những từ của m ột ngôn ngữ tự nhiên,
các khẳng định, khái niệm và các loại quan hệ cùa đồ thị khái niệm, các lóp cùa một ngôn
ngữ hướng đối tượng, các bàng và các trường cùa một cơ sờ dữ liệu quan hệ.

Cũng trong [Sow a,2000], tác già đưa ra m ột ví dụ dưới dạng logic và dưới dạng
đồ thị như sau. Tình huống là "Tom, một con mèo đang đuổi theo m ột con chuột".

( 3 x: Cat ) ( B y : Chase ) ( 3 z: Mouse )


(Identifier(x , "Tom") A Agent(y , x) A Theme(y , z) )

Công thức và đồ thị khái niệm trên giới thiệu các giả định Ontology: tồn tại các
thực thể Cat, Chase, và M ouse; một vài thực thể có các xâu đặc tinh như tên; và Chase có
thề được liên kết với các khái niệm cùa các thực thể khác thông qua các quan hệ kiểu

Agent và Theme.

Để chì ra ràng logic không nắm bắt được ý nghĩa cùa các từ gốc (primitive) và
rằng chúng ta phải thông dịch ý nghĩa cùa các từ gốc này vì chúng các từ là ngôn ngữ tự
nhiên cùa chúng ta. Hãy xem xét công thức và đồ thị sau:

( 3 x: Abc) ( 3 y: Jkl) ( 3 z: Pqr ) í stu(x , "def")

A Ghi (y , x) A Mno(y , z) )

Chúng tương đương về mặt logic với tinh huống "Tom, con mèo đang đuối theo
một con chuột", nhưng không thể giải thích ý nghĩa bời vì chúng ta sử dụng ngôn ngữ tự
nhiên. Một ví dụ khác có thể là "The man Joe is writing a document":
236 Tác tử - Công nghệ phần mềm hướng tác từ

( 3 x: Man) ( 3 y: Write ) ( 3 z: Document)


(Identifier(x , "Joe") a Agent(y , x) a Theme(y , z) )

Man: Joe ■*— Write —► * Document

M ột logic không sáng tỏ sẽ không có các rằng buộc giữa các chủ đề hoặc cách các
chù đề được đặc tả. Do vật, logic không nói gì về bất kỳ vấn đề nào, nhưng sự kết họp cúa
logic với một ontology cung cấp một ngôn ngữ có thể trình bày các quan hệ cùa các thực
thể trong lĩnh vực quan tâm.

Bằng cách duy trì biểu diễn mà con người có thể hiểu được cùa các ý niệm.
Ontology nắm bắt các tương đồng giữa hệ thống mang tính tượng trưng sử dụng trong các
hệ trí tuệ nhân tạo và sự quan sát thế giới được nhìn nhận theo việc khái niệm hoá được
chấp nhận. Bằng cách này, chúng ta sẽ đưa đến cho hệ thống khả năng giải đáp với người
dùng. Lợi thế lớn nhất của hệ thống tượng trưng là hệ thống logic và các ngôn ngữ mô tả tri
thức nhận được từ rất nhiều nguồn.

Phân loại là một trong những cấu trúc khả thi cho ontology, nó là một dạng
nguyên lý logic. Sự quan trọng cùa nó xuất phát từ thực tế là nó có hỗ trợ các suy luận cơ
bản xuất hiện thường xuyên trong tìm kiếm thông tin và các tiến trình xử lý giao tiếp hay
không. Biểu đồ cây lâu đời nhất được biết đến vào thế kỳ thứ 3 trước Công nguyên. Trong
hình sau cho ta thấy một ví dụ về phân loại cùa Aristotle. Nó mô tả các phạm trù con dưới
phạm trù Vật chất (substance), phạm trù tối cao nhất cùa các phạm trù.

Aristotle giới thiệu dấu hiệu cho các thuộc tính đề phân biệt các kiểu khác nhau
cùa cùng một loại.

Con người = vật chất hữu hình có sự sống, cảm giác và


lý tri.

Phương pháp định nghĩa cùa Aristotle về phạm trù mới bởi các loại (genus) và sự
khác nhau là cơ sỡ cho trí tuệ nhân tạo, hệ thống hướng đối tượng, semantic web và tất cá
từ điển từ thời xa xưa nhất cho tới ngày nay. Sự liên kết từ một loại đến một phạm trù mới
được gọi là liên kết xếp gộp, liên kết đặc tả/tạo, liên kết subtype-supertype. Nó tạo nên một
phần cùa phạm trù, khái niệm, iớp.
Bàn thể học 237

C'ắp cao Ìầliâr V ậ t c liấ t

Đ ặc tnnig: Hiiìi 111 vô Iùiầli

■Cẩp íhàp lioii: Tãin liồn

Đ ộc tnnig SỉiiIi vật vật vò til

Cấp thấp hơn: K hoang cliât

Đ ặc C’ó Ciìin giiic vô ciun

C ấp sail Ìiliất: C â y cõi

E)ặc trung: C ó lý Íií Kliòus có ly trí

Loài: Súc vật

c i thề’: S o c ra te s Plato A ristotle etc.

Hình 6.9 Cây phản loại

Người ta cũng phân biệt Ontology mang tính thuật ngữ (terminological Ontology )
và Ontology hình thức (form al Ontology). Thực ra nó là hai giai đoạn của một quá trình
liên tục. Khi ta càng thêm nhiều các tiên đề vào Ontology thuật ngữ thì nó càng trờ nên gần
với Ontology hình thức. N hư vậy vị trí cùa Ontology trong tri thức là ở đâu?. Nếu ta coi cái
thang biểu diễn mức độ cùa sự hiểu biết thì có thề mô tà như hình dưới:

H iể u b iề t

T ri (h ứ c

T h ô n g tin

L>ừ liệ u

Hình 6.10 Thang trí thức.


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

C húng ta có thể đưa ra các định nghĩa về dữ liệu, thông tin và tri thức bàng cách
xây dựng từ dưới lên (bottom -up) hoặc trên xuống (top-down). C húng ta bắt đầu từ bottom-
up, ta lại dùng vi dụ về nhiệt độ ờ phần trước, chúng ta có thể định nghĩa dữ liệu như một
sự nhận thức, m ột ký hiệu, hoặc m ột phần cùa các tương tác (ví dụ ‘3 5 ’ và ‘T ’ là dữ liệu).
Thông tin là dữ liệu được cấu trúc theo một quy ước (ví dụ ‘T = 35°’). Tri thức là thông tin
với khung cành và giá trị sẽ làm cho nó khả dụng (ví dụ “ hôm nay thời tiết buổi chiều có
nhiệt độ là T =35°”). C òn sự hiểu biết có thể coi như là những tri thức vô tận, có giá trị
không giới hạn về thời gian. T heo quan điểm top-down, thông tin có thể được định nghĩa
như tri thức được trình bày theo m ột quy ước. Dữ liệu có thể được định nghĩa như các
thành phần cơ bàn cùa mã hoá thông tin.

Con uguòt
L oại : ...... ■ / > - ..........
„ » * ! 9 :®

L o à i Ìig iiò l N ẹ iiờ i liìuili tiid i k h ó c


Đ ộ m o i .... - ..... ..................... ......................

w if ♦ &
N p iM 1Ó1I Ti f cou
G iớ i ....... - - M ..................

t Af
f ' t
/Ể
J
ÌN . ẻ.
Iị f
Ị* t

T y
y xlàinột
•»>?< «'*"

Đ àn óng Đ ản bíì

Hình 6.11 Phân loại con người.

Ta hãy xem câu: “trẻ con là m ột những người trẻ tuổi” . Khung cảnh ở đầy là chưa
rõ ràng, nhung nó hoàn toàn dễ hiều, dễ dùng, nó là tri thức. Thực tế khung cảnh ở đây là
chung chung: nó là tri thức về m ột phạm trù của sự vật hiện tượng chứ không phải nói về sự
xuất hiện đặc biệt nào của m ột khái niệm. Do vậy tri thức rất đa dạng và phong phú trong
thế nền văn m inh con người, đặc biệt trong lĩnh vực Ontology.
Bàn thể học 239

Tri thức này cần được mã hoá theo một sự phân loại để được khai phá bởi một hệ
thống.

Nhưng một Ontology không đơn thuần chi là sự phân loại. Các thuyết logic khác
cũng rất hữu dụng để năm bát các đặc trưng cùa các khái niệm mà chúng ta sử dụng. Một ví
dụ, khái niệm cùa các phân tử hoá học trong đó sử dụng các quan hệ thành phần :

X is a p a rt of y

carbon dioxide dioxygen ozone w ater dihydrogen

N / !
®
carbon oxygen hydrogen

Hình 6.12 Phản loại hợp chất hoá học.

Quan hệ thành phần không phải là hoàn toàn khác và thay thế quan hệ phân cấp.
Ngoài ra trong Ontology, một số chuẩn logic khác có thể cho phép khả năng phân loại một
cách tự động m ột phạm trù mới hoặc việc nhận ra một đối tượng ví dụ:

giám_đốc(x):= người(x) A (3y tồ_chức(y) A quàn_lý


( X , y) )

Hay mô hình nắm bắt nhân quà vi dụ:


(nhũng thứ mặn => khát) A (khát => uống) do đó (những
thứ mặn => uống)

Một số thể hiện (instance) có thể được cho vào trong Ontology, chúng có thể coi là
nhũng thể hiện phố biến. Ví dụ như một số hằng số (c- tốc độ ánh sáng) hay các đối tượng
phổ biến, toàn cục (ví dụ hoạt động nghiên cứu) để cho phép một tham chiếu duy nhất đến
sự vặt. Nhưng điều này không phải là mục đích thực tế cùa Ontology: chúng có thể tập
trung vào các khái niệm phổ biến và cụ thể hoá chúng nếu cần sử dụng chúng như là các
đối tượng.
240 Tác tử - Công nghệ phần mềm hướng tác tử

4 Phân loại Ontology


Trong khuôn khồ phần này tác già không có ý định đưa ra tất cả các loại Ontology
mà chì đưa ra một số loại Ontology thường thấy qua đó độc già có thề thấy được ý tường
của các tri thức trong mỗi loại Ontology, v ề cơ bán có các loại Ontology sau :

Ontology biểu diễn tri thức (Knowledge representation Ontology),

m eta-Ontology,

Ontology lĩnh vực (Domain Ontology),

Ontology tác vụ (tast Ontology),

Ontology lĩnh vực-nhiệm vụ (domain-tast Ontology),

Ontology ứng dụng (application Ontology),

Ontology chi mục (index Ontology),

Ontology hỏi và trà lời (tell and ask Ontology)..vv.

Ontology biểu diễn tri thức[vanHeijst, 97] nắm giữ các biểu diễn nguyên thuỳ
được dùng để chuẩn hoá tri thức trong một mô hình biều diễn tri thức. Một ví dụ tiêu biểu
của cùa loại Ontology này là Frame-Ontology[Gruber,93], nó nắm giữ những biểu diễn
nguyên thuỷ (lớp, thề hiện, thuộc tín h ...) được dùng trong ngôn ngữ frame-based.

Các Ontology tồng quát[Mizoguchi,95] bao gồm từ vựng liên quan tới sự vật, hiện
tiivng, thời gian, không gian, quan hệ nhân quả..nó có ý nghĩa chung chung không chi dùng
cho riêng một lĩnh vực nào.

Các M eta-Ontology hay còn gọi là “Ontology lồi”(Core-Ontology ) [vanHeijst,


97], đó là những loại Ontology có thề tái sử dụng trong nhiều lĩnh vực khác nhau. Một điển
hình cùa Ontology này là mereology-Ontology[Borst,97].

Các Ontology lĩnh vực [Mizoguchi,95] là những Ontology có thể tái sứ dụng
trong một lĩnh vực nào đó. Nó cung cấp từ vụng về các khái niệm trong một lĩnh vực nào
đó và các mối quan hệ, các hoạt động diễn ra trong lĩnh vực đó. Ngoài ra nó còn bao gồm
các lý thuyết và các nguyên tẳc trong lĩnh vực đó.
Bàn thể học 241

Ontology tác vụ [Mizoguchi,95] cung cấp các từ vựng được hệ thống hoá các
thuật ngữ dùng để giải quyết một vấn đề liên quan đến tác vụ có hoặc không có trong cùng
một lĩnh vực nào đó. Ontology loại này cung cấp một tập các thuật ngữ bằng cách đó nó có
thề mô tà làm thế nào đề giải quyết một loại vấn đề. Nó bao gồm các tên chung (kế hoạch,
mục tiêu, ràng buộc..), các động từ (ấn định, lựa chọn, phân loại,..), các tính từ (ví như được
ấn định..), và tất cà các thứ khác để tạo nên một tác vụ.

O ntology tác vụ-lĩnh vực (Domain-Tast Ontology ) là các Ontology về tác vụ có


thể tái sừ dụng trong một lĩnh vực nào đó. Nhưng không phài cho mpi lĩnh vực. Vi dụ
Ontology tác vụ - lĩnh vực trong lĩnh vực y tế có thề bao gồm các thuật ngữ liên quan đến
đến việc lấp lịch cho một cuộc phẫu thuật.

O ntology ứng dụng (Application Ontology ) [vanHeijst, 97] bao gồm các tri thức
cần thiết để mô hình hoá một lĩnh vực cụ thề đặc biệt.

Ta thấy các loại meta-Ontology, Ontology lĩnh vực, Ontology ứng dụng nắm giữ
tri thức một cách tĩnh, có nghĩa là độc lập với cách giải quyết vấn đề.

Hình 6.13 Các loại Ontology.


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

Trong khi đó Ontology tác vụ, Ontology lĩnh vực-tác vụ liên quan tới tri thức giải
quyết vấn đề. Tất cà các Ontology này có thể kết hợp với nhau để xây dựna lên một
Ontology mới. Sự đối nghịch giữa tính tái sử dụng và tính hữu dụng (Klinker, 91] cũng là
một vấn đề đáng lưu tâm khi xây dựng Ontology, tinh tái sừ dụng càng cao thì tính sừ dụng
càng thấp và ngược lại.

5 Ưu điểm và khả năng ứng dụng của O ntology


Trong một vài năm gần đây, phát triền và ứng dụng cùa ontology ngày càng được
mở rộng. Ontology trở nên thông dụng trên các trang W eb. Ontology được phát triển trên
rất nhiều ứng dụng từ phân loại các Web site cho đến phân loại các sản phẩm theo giá bán
hay đặc điểm cùa chúng. Tổ chức mạng toàn cầu đang phát triển Khung mô tà tài nguyên
(RDF), một ngôn ngữ để mã hoá tri thức trên các trang W eb, giúp cho các tác tử có thể tìm
kiếm thông tin. Rất nhiều phát triển xây dựng hướng theo sự thuận tiện cho tương tác giữa
các tác từ trên Web. Các tổ chức xây dựng các chuẩn ontology để các chuyên gia trong các
lĩnh vực đó có thể sứ dụng để chia sè và giài thích thông tin cùa họ.

Một ontology định nghĩa một từ vựng chung cho các người tìm kiếm chia sẽ thông

tin về lĩnh vực quan tâm. Nó bao gồm cà định nghĩa cho các máy móc các khái niệm cơ bán
trong lĩnh vực và các quan hệ giữa chúng. Tại sao chúng ta phải phát triển ontology? Một

vài lí do là:

• Đ ế chia s ẽ hiếu biết ve cấu trúc cúa thông tin giữa con người và các lác tứ.

• Đe có th ể lái sử dụng tri thức trong lĩnh vực đó.

• Làm cho lĩnh vực trớ nên rõ ràng.

• Tách rời tri thức lĩnh vực và tri thức x ử lí.

• Đê phân tích tri thức.

C hia sẽ hiểu biết về cấu trú c của thông tin là mục đích quan trọng hơn cả. Vi
dụ, giả sử rằng một vài Web site có các thông tin y học hoặc cung cấp các dịch vụ y học.
Nếu các trang này chia sẻ và sử dụng cùng một ontology cho các từ mà nó sừ dụng thì các
tác tử có thể trích và tích hợp thông tin từ các trang này. Tác từ có thể sử dụng thông tin

lích hợp để trả lời các câu hỏi cùa người đùng hay là dữ liệu đầu vào cho các ứng dụng

khác.
Bản thể học 243

Cho phép tái sử d ụ n g tri th ứ c đã và đang là một hướng đi trọns tâm sau khi có
sự bùng nổ cùa ontology. Vi dụ, một lĩnh vực cần mô tả ý niệm thời gian. Mô tả này cần
các ý niệm về khoáng thời gian, điếm thời gian, thước đo thời gian, và một vài thứ khác.
Nếu một nhóm nào đó một ontology chi tiết, chúng ta có thể dễ dàng sử dụng chúng cho
lĩnh vực này. Thậm chí chúng ta có thê tái sử dụna cá các ontology mang tính chất tông
quát.

Làm rõ lĩnh vục q u an tâm tạo điều kiện thay đồi khi tri thức về lĩnh vực thay
đồi. Hơn nữa, các đặc tã rõ ràng là rất hữu dụng cho những người dùng mới, bởi vì họ phái
học ý nghĩa cùa các từ trong lĩnh vực cùa mình.

Phân chia tri thứ c lĩnh vực và tri thức xử lí là một hữu ích khác cùa ontology.
Chúng la có thể mô tá một công việc cấu hình cùa một sàn phẩm từ các linh kiện cùa nó tuỳ
theo đặc điểm yêu cầu và thực hiện một chương trình làm cấu hình đó độc lập với sàn phẩm
và các linh kiện. Chúng ta có thể phát triển một ontology về các linh kiện máy tính cho các
đặc tinh và áp dụng một giải thuật để cấu hình một máy PC. Chúng ta cũng có thể sử dụng
giãi thuật này đề cấu hình một cần cầu nếu chúng ta đưa một ontology về cần cẩu cho nó.

Phân tích từ là rất có giá trị khi chúng ta có gấng tái sử dụng các ontology đã có
và mớ rộng chúng. Nó gần như là pliần quan trọng nhất trong xừ lí thông minh trên
ontology. Muốn kế thừa hay sứ dụng một ontology chúng ta bẳt buộc phải phân tích và tìm
hiểu các khái niệm và quan hệ giữa chúng trong ontology đó.

Phát triển ontology gần giống với định nghĩa một tập dữ liệu và cấu trúc cùa nó để
các chương trình khác sừ dụng. Các phương pháp giải quyết vấn đề, các ứng dụng độc lập
với lĩnh vực và các tác tử sử dụng ontology và cơ sờ tri thức được xây dựng trong ontology

như là các dữ liệu.

Một vài ý kiến cho rảng thiết kế ontology được bắt nguồn từ thiết kế hướng đối
tượng. Tuy vậy, phát triền ontology là rất khác biệt SO với thiết kế lớp và các quan hệ trong
lập trình hướng đối tượng. Lập trình hướng đối tượng tập trung vào các phương thửc cùa
một lớp, một người lập trinh có thể lựa chọn thiết kế dựa trên thuộc tính hoạt động cùa một
lớp, trong khi đó người thiết kế ontology dựa trên thuộc tính cấu trúc cùa một lớp. Kết quà
là, cấu trúc và quan hệ cùa các lớp trong ontology khác biệt với cấu trúc cùa lĩnh vực tương
ứng trong lập trình hướng đối tượng
244 Tác tử - Công nghệ phần mềm hirớng tác tử

6 Các ứng dụng dựa trên Ontology


Mặc dù của Ontology có thể được ứng dụng rộng rãi trong giao tiếp giữa các hệ
thống, con người và các tồ chức, phối hợp giữa các hệ thống và hỗ trợ thiết kế, phát triển cơ
sờ tri thức và các hệ thống phần mềm nhưng số ứng dụng của Ontology để mô hình tri thức
ứng dụng (application knowledge) chưa nhiều. Đó là do nếu trong quá trình phát triền
Ontology như vậy mà không chú ý tới tính tái sử dụng và chia sè thi sẽ dẫn tới khó có thể
sử dụng lại Ontology đã có trong một ứng dụng mới, do đó tốn rất nhiều công sức để xây
dựng Ontology tri thức của mỗi ứng dụng. Các Ontology được đặt rải rác tại các Server, sự
chuẩn hoá là khác nhau với mỗi Server chứa nó. Các Ontology trên một Server thuờng là
mô tả các mức độ chi tiết khác nhau và không có một khuôn dạng chung để biểu diễn thông
tin liên quan giữa các Ontology và do đó người sử dụng không thể biết được Ontology nào
là thích hợp nhất cho mục đích cùa họ. Chính những vấn đề trên là trờ ngại cho việc ứng
dụng Ontology trong các lĩnh vực như quản lý tri thức, Ontology-broker, xừ lý ngôn ngữ tự
nhiên, mô hình hoá xí nghiệp, nghiệp vụ, hệ thống cơ sờ tri thức và phối hợp giữa các hệ
thống.

6.1 Web ngữ nghĩa (Semantic Web)


Một ứng dụng rất thường thấy cùa Ontology là Semantic Web

h ttp : / /w w w .s e m a n t ic w e b . o r g / . Semantic Web có thề được hiểu là trang Web bao

gồm những dữ liệu có thể hiểu được bởi máy tính dựa trên m ột ngôn ngữ mô tả ví dụ nhu
R df và các ngôn ngữ phát triển từ nó. Đây là kiến trúc cho phép tich hợp những tác tử
thông minh. Chính tố chức W3C đã phát triến kiến trúc này và cững chinh lầ một trong
những tồ chức đi tiên phong trong việc phát triển các ngôn ngữ mô tà Ontology.

ị ;

Hình 6.14 Kiến trúc Web ngữ nghĩa - Semantic Web theo W3C.
Bản thề học 245

Ta có thể dẫn chứng m ột ứng dụng cụ thể cùa Semantic Web là OntologyBroker.
Việc phát triển O ntology-Broker dựa trên mục đích muốn cải thiện việc tìm kiếm trên
WWW vốn chì dựa trên việc duyệt và tim kiếm theo từ khoá do đó không chính xác và
không rõ ràng, thông tin nằm rài rác và phân tán. Ý tường cùa Ontology-broker là: giới hạn
sự chú ý vào các phạm vi cụ thể (giới hạn chù đề, tạo các nhóm tin - intranet). Ontology
được sử dụng như là ngôn ngữ chung cho cà người tìm kiếm và người cung cấp thông tin.
Nó định nghĩa các khái niệm, các quan hệ và các luật. Thông tin sẽ được thu thập
(crawled) vào trong một cơ sỡ tri thức tập trung. Việc tìm kiếm sẽ dựa trên truy vấn trên cơ
sờ tri thức này.

Hình 6.15 Kiến trúc Ontology-Broker.

Trong hệ thống Sem antic W eb bao gồm các tác tử thông tin (InfoAgent). Nhiệm
vụ của nó là tập hợp thông tin vào trong cơ sờ tri thức. Các thông tin này được lấy từ các
nguồn khác nhau nằm phân tán. Các thông tin này bản thân được cấu trúc hoá nhờ việc đặt

trong các trang html một phần Ontology metadata ngoài nội dung thông thường. Như vậy
một vai trò nữa cùa Ontology là cho phép tích họp tri thức.

Cơ chế suy diễn trong Semantic Web cho phép tạo ra các tri thức mới từ các thông
tin trên các trang W eb dùng các luật sán xuất chứa trong Ontology. Việc suy diễn này biến
những thông tin không rõ ràng trờ lên rõ ràng. Ngôn ngữ Ontology dùng trong Semantic
Web phải cho phép biểu diễn thông tin trong các trang web, trong cơ sở tri thức, cho phép
246 Tác tử - Công nghệ phần mềm hướng tác tử

biểu diễn các câu truy vấn và các luật suy diễn. Ngôn ngữ DAM L chính là một trong số
các ngôn ngữ như vậy nó được phát triển bới tồ chức DARPA và được ứng dụng rất rộng

POBÄll, X.Y.Z
connection(X,Z)<- connection»I
<frora>Waehington D . c . </frcm>
connect ion(X,Y) and
<Co>Frankfurt</to>
connection(Y, z> OnTo- Agents /connect lon>
Inference Engine

«connection»I ’«connect ion> I


<from>WaBhington D.C.</£rccn> <frccn>H6w York</£rom>
<to>Nev York</to> <to >FranXf u rt </ 1 o>
«/connection» < /conn« ct ion >

Hinh 6 16 Dùng DAML chú giải trong trang Web.

N hư trong hình trên ta thấy trong các trang Weh chứa thông tin về các chuyến bay

từ W ashington tới New York và từ New York tới Frankfurt. Khi được chú giài bằníi
DAML, kết hợp với các luật trong Ontology thì khi người dùng muốn hòi về hành trinh từ
W ashington tới Frankfurt hệ thống có thể suy diễn ra được đường đi như trên và thêm các
thông tin liên quan có trong các chuyến từ W ashington tới New York và từ New York tới
Frankfurt.

6.2 Khai phá dữ liệu


Trong tiến trình khai phá dữ liệu (KD D) nói chung và Data Mining nói riêng việc
ứng dụng Ontology m ang lại nhiều lợi thế. Trước hết ta hãy xem tiến trinh KDD:
Bán thé học 247

H inh 6 .1 7 Tiến trình KDD

Tiến trình K.DD như trên là tiến trình rút gọn và chuẩn hoá. Trong thực tế người ta
có thế phân chia thành sáu giai đoạn. Trong mỗi giai đoạn đều có thể thấy được sự hỗ trợ
cùa Ontology. Giai đoạn đầu là hiểu nghiệp vụ (Business Understanding) một Ontology
hình thức sẽ giúp hiểu rõ nghiệp vụ trước khi thực hiện những tác vụ cụ thể, điều này không
chi trong KDD mà còn trong nhiều ứng dụng khác. Tiếp theo là Data Underatanding các
thành phần cùa Ontology sẽ được ánh xạ sang các thành phần cùa lược đồ dữ liệu và ngược
lại, điều này sẽ giúp ta bồ suna những thuộc tính còn thiếu cùa dữ liệu và xác định những
thuộc tinh thừa có thể loại bò trong dữ liệu. Trong pha chuẩn bị dữ liệu (Data Preparation)
Ontoloey giúp gom nhóm các cặp giá trị, thuộc tinh theo các tiêu chuẩn ngữ nghĩa. Pha mô
hình hoá Ontology sẽ giúp thiết kế các phiên mining (khai phá) và có thể định hướng khai
phá theo các xu huớníi trong Ontology. Trong pha Evaluation (kiểm chứng) các mô hình
được khám phá dưới dạng các tri thức cấu trúc được xác định quanh các khái niệm có thề
đuợc dịch sang các thuật ngữ trong Ontology. Pha triển khai (Deploym ent), tri thức được
trích ra được phán hồi lại môi trường nghiệp vụ, sự tích hợp tri thức mới và tri thức cũ được
dàn xếp bói Ontology nghiệp vụ (Business Ontology), kết quà khai phá được phân tán cho
nhiều tổ chức và ánh xạ vào Ontology chung được chia sẻ. Ta có thể tham khào ứng dụng
Ontology váo KƯL) qua hệ thống Mining Mart được xây dựng dựa trẽn tién trình CRISP-

DM (h t tp : / /m m a r t .c s .u n i - d o r m u n d .d e / ).

6.3 Tích họp dữ liệu


Một ứng dụng khác cùa Ontology là tích hợp dữ liệu. T rong hệ thống như vậy bao
gồm nhiều nguồn cơ sỡ dữ liệu khác nhau (khác nhau về cách thức lưu trữ và nội dung
thông tin), mỗi nguồn dữ liệu đó sê có một Ontology Ontology mô tả về nó. Các Ontology
mô là các nguồn dữ liệu sau đó được hợp nhất vao một Ontology chung, khi người dùng
cấn thông tin nào đó thì đưa ra yêu cầu hệ thống sẽ dựa vào mô tà Ontology cùa các nguồn
dữ liệu sẽ chuyển truy vấn tới nguồn dữ liệu tương ứng.
248 Tác từ - Công nghệ phần mềm hướng tác tử

6.4 Xử lý ngôn ngữ tự nhiên (NLP)


Một loại ứng dụng thường thấy nữa cùa Ontology là xử lý ngôn ngữ tự nhiên
(NLP). ứ n g dụng NLP không phải là mới nhưng vấn đề là các nhiệm vụ cùa nó rắt khó
thực hiện: làm mất đi sự tối nghĩa, giài quyết sự tham chiếu lẫn nhau, lối ẩn dụ, và hiểu
được mức độ biểu thị. Một dự án tiêu biểu cùa loại ứng dụng trên là GETESS (German
Text Exploitation and Search System).

6.5 Thưong mại điện tử


Ontology cũng có ý nghĩa rất lớn trong các ứng dụng thuộc lĩnh vực thương mại
điện từ với cà hai mô hình Web Commerce (B2C) và Electronic Business (B2B). Nhiệm vụ
cùa Ontology là biểu diễn các yêu cầu của các bên tham gia.

Ngoài các ứng dụng mô tả sơ lược ờ trên Ontology còn còn đóng góp vai trò hết
sức quan trọng trong nhiếu kiểu ứng dụng khác như tích hợp thông tin thông minh, quàn lý
tri thức, trích rút thông tin, trong công nghệ phần mềm, trong kiến trúc đa tác từ, quản lý
thông tin đa ngốn' lígữ, khai phá tri thức, học máy v.v.
CHƯƠNG 7

XÂY DỰNG
■ PHƯƠNG PHÁP LUẬN

PHÁT TRIỂN ONTOLOGY

Ngày nay, chúng ta đã thừa nhận rằng việc xây dụng một mô hình miền hay

ontology là một bước quan trọng trong phát triển những hệ cơ sở tri thức. Tuy nhiên, vấn

đề còn thiếu là cần làm sáng tò làm sao để xây dựng ontology. Chúng ta sê khảo sát tình

hình các nghiên cứu đã được làm cho đến lúc này trong việc đưa ra một phương pháp luận

xây dựng ontology. Những công việc này vẫn còn đang được phát triển và còn phụ thuộc

rất nhiều vào các áp dụng trong thực tế. Chủng ta cũng sẽ thảo luận về các nghiên cứu này,

xác định những vấn đề quan trọng phải quan tâm nếu chúng ta muốn việc xây dựng

ontology không còn giống một nghệ thuật nữa mà trờ thành một quy trình công nghệ rõ

ràng ontology là một bước rất quan trọng trong việc xây dựng cơ sờ tri thức. Những lợi thế
250 Tác từ - Công nghệ phần mềm hướng tác từ

của mô hình m iền đã được thừa nhận rộng rãi bao gồm: cho phép chia sé tri thức, tái sử

dụng tri thức, và đưa ra các kỹ nghệ tốt hơn cho việc xây dựng cơ sớ tri thức đối với các

tiến trình thu nhận, xác minh và bào trì. Tuy nhiên nếu chúng ta khảo sát kỹ ontology,

chúng ta sẽ thây cho sự khác nhau rõ rệt giữa chúng, ngay cà khi chúng đã được xây dựng

cho những mục đích rất tương tự. Hiện nay việc xây dựng ontology giống một nghệ thuật

nhiều hon là m ột khoa học. Tình trạng này cần thay đổi, và sẽ được thay đổi chi khi chúng

ta có thể hiếu rõ làm sao thực hiện việc xây đựng ontology. N gắn gọn hơn, cái chúng ta cần

là một phương pháp luận tốt đề phát triển ontology. Trong phần này chúng ta sẽ khảo sát

các nghiên cứu trên thế giới về xây dựng ontology và SO sánh các phương pháp khác nhau

này.

1 Những phương pháp luận của công nghệ ontology


Hiện nay trên thế giới có m ột số phương pháp luận đặc biệt quan tâm tới vấn đề
phát triển và báo trì ontology. T rong mục này, chúng ta sẽ khào sát các hướng nghiên cứu
dó:

1.1 Phưong pháp M ô hình doanh nghiệp (Enterprise Model Approach)


M ột phương pháp luận xây dựng ontology được mô tà, đạt cơ sở từ những kinh
nghiệm cùa việc phát triển ontology cùa các doanh nghiệp. Các kinh nghiệm này đã được

Júc kết lại như sau:

(1) Xác định mục đích: Xác định mức hình thức cùa ontology sẽ phải mô tả.

(2) X á c định phạm vi: m ột m ô tà chi tiết được đưa ra trong đó phác thảo hoàn toàn
phạm vi thông tin m à ontology phài m ô tà. Mô tả này có thề sinh ra bằng cách sử dụng
ohương pháp xây dựng những kịch bản (scenario) và đưa ra các câu hỏi phi hình thức như
:rong TOVE (T oronto Virtual Enterprise —mô hình doanh rmhiệp ào) hoặc sứ dụng phương
oháp "Liệt kê và tinh chinh (refinem ent)" bằng cách sinh một danh sách tiềm tàng những
<hái niệm cần thiết và xoá những mục không thích hợp cùng những từ đồng nghĩa không

:ần thiết.

(3) H ình thức hoá: tạo ra m ã tức là đưa ra những định nghĩa hình thức và những

tiên đề cùa những khái niệm trong bàn m ô tà.


Xây dựng phương pháp luận phát triển ontology 251

(4) Đánh giá theo phương pháp hình thức: các tiêu chuân sử dụng có thể là cá
tiêu chuẩn chung hoặc có thể là riêng cho một ontology cụ thể nào đó. Giai đoạn này có
thể dẫn đến sự duyệt lại đầu ra cùa giai đoạn hai và ba.

Giống với đa số các phương pháp luận xây dựng các cơ sở tri thức gần đây,
phương pháp Mô hình doanh nghiệp phân biệt giữa những pha hình thức và không hình
thức trong việc xây dựng ontology. Pha không hình thức bao gồm việc xác định những khái
niệm chính rồi đưa ra những định nghĩa văn bàn cho những khái niệm và những mối quan
hệ giữa chúng. Trong khi việc sử dụng những kỹ thuật thu nhận tri thức hiện có được
khuyến cáo cho pha không hình thức, không có lời khuyên nào được đưa ra về việc làm sao
để xác định nliững khái niệm ontology.

1.2 Phuoìig pháp M ETH O NTO LO G Y


M ETHONTOLOGY bắt đầu bời việc xác định những hoạt động liên quan tới
việc phát triển một ontology.

(1) Mỏ tà chi tiết: xác định mục đích cùa ontology, bao gồm những người dùng dự
định, những kịch bản sừ dụng, mức độ hinh thức hoá được yêu cầu và phạm vi ontology
bao gồm tập hợp những khái niệm sẽ được biểu diễn, những đặc trưng của chúng và yêu
cầu cần đáp ứng. Đầu ra cùa pha này là một tài liệu thuyết minh ontology viết bàng ngôn
ngữ tự nhiên.

(2) Thu nhận tri thức: Giai đoạn này chù yếu diễn ra song song với giai đoạn một.
Người ta không đề ra bất cứ quy tắc nào vì bất kỳ nguồn tri thức nào và bất kỳ phương pháp
thu thập thông tin nào đều có thể được sừ dụng. Tuy nhiên vai trò của việc phòng vấn các
chuyên gia và phân tích những văn bản được đặc biệt quan tâm

(3) K hái niệm hoá: những thuật naữ trong lĩnh vực được xác định như những khái
niệm , những cá thể, những quan hệ và tất cả được biểu điền bàng cách sử dụng một sự mô
tà không hình thức thích hợp.

(4) Hợp nhất: để thu được sự thống nhất xuyên suốt các ontoloay, những định
nghĩa từ ontology khác ví dụ như từ các unit chuần của ontology O ntolingua cần được

thống nhất.
252 Tác từ - Công nghệ phàn mềm hướng tác tử

(5) Triển khai: ontology được đại diện biểu diễn m ột cách hình thức bằng một
ngôn ngữ như Ontolingua.

(6) Đánh giá: đây là giai đoạn được nhấn mạnh trong M ETHON TO LO GY. Các
kỹ thuật được sừ dụng phần lớn dựa vào những kỹ thuật được sừ dụng trong kiểm tra và
đánh giá các hệ cơ sờ tri thức. Người ta cũng đưa ra một tập hợp những hướng dẫn về việc
làm sao để tìm kiếm những thiếu hụt, mâu thuẫn và dư thừa trong ontology.

(7) Lặp tài liệu: Tập hợp những tài liệu sinh ra do những hoạt động khác nhau.

Chu trình sống cùa một ontology, trong đó những bước trên được lặp lại, dựa vào
việc tinh chình một nguyên mẫu. Một ontology đi xuyên qua những trạng thái sau (mỗi
trạng thái tương ứng tới vài hoạt động xác định ờ trên): mô tả, khái niệm hoá, hình thức
hoá, tích hợp, triền khai. Cuối cùng, ontology chuyển vào trạng thái bảo trì. Các công việc

thu nhận tri thức, đánh giá và lập tài liệu được thực hiện trong toàn bộ thời gian cùa chu
trình sống. Đặc điểm nổi bật nhất của M ETHONTOLOGY là tập trung vào vấn đề bảo trì.
M ETHONTOLOGY quan tâm tới toàn bộ giai đoạn bào trì trong chu trinh sống cùa
ontology trong khi các phương pháp khác thường dùng một số kỹ thuật hình thức hoá cao
hom để giài quyết một số ít hcm các vấn đề trong pha bảo trì.

1.3 Ngôn ngữ của Ontology - Ontolingua


Ontolingua (kết hợp cùa ontology và ngôn ngữ - hỗ trợ việc xây dựng các thư viện
ontology). Hướng dẫn sử dụng cùa máy chù Ontolingua bao gồm lời khuyên về việc duyệt,
phát triển, bảo trì và chia sé ontology cất giữ tại máy chủ. Ngôn ngữ O ntolingua dựa trên cú
pháp và ngữ nghĩa của KIF (Knowledge Interchange Format - một ngôn ngữ hỗ trợ việc
chia sè tri thức). Một trong số lợi ích chính trong sử dụng máy chủ Ontolingua là máy chủ
cung cấp khả năng truy nhập tới một thư viện các ontology đã được định nghĩa trước. Thư
viện này thường xuyên được mờ rộng vì những người phát triển ontology mới thêm vào
kho chứa. Như vậy, xây dựng ontology trong Ontolingua dựa vào nguyên lý cùa sự phát
triển môđun. Ontology từ thư viện có thể là tái sử dụng theo bốn cách khác nhau:

(a) S ự bao gom(inclusion): ontology A được bao gồm m ột cách rõ ràng tr


ontology B. T ừ vựng ontology A được dịch vào trong từ vựng cùa ontology B. Bản dịch
này rồi được áp dụng cho những tiên đề cùa A và dịch thành những tiên đề bổ sung cho B.
Xây dựng phương pháp luận phát triển ontology 253

(b) S ự tinh chinh đa hình (polymorph refinement): trong đó một định nghĩa từ một
ontology được thu nạp và đã tinh chinh. Ví dụ, thao tác cộng, được định nghĩa trong một số
ontology, có thề được bao gồm trong ontology A cho các chuỗi và bao gồm trong B cho
những vectơ.

(c) S ự hạn chế: m ột phiên bàn bị hạn chế cùa một ontology nằm trong một
ontology khác. Ví dụ như một ontology số được bao gồm trong một ontology số nguyên với
hạn chế là mọi số đều là số nguyên.

(d) S ự bao gồm quay vòng (circle inclusion): vì sự bao gồm ontology (như trong
(a)) là bắc cầu, tình trạng như sau được cho phép: ontology A được bao gồm trong ontology
B, ontology B được bao gồm trong ontology c và ontology c được bao gồm trong ontology

N hững cách sừ dụng thư viện khác nhau này rất hữu ích trong tái sừ dụng
ontology. Tuy nhiên chúng ta vẫn chưa thấy rõ khả năng chi rõ những mối quan hệ giữa
ontology. Ví dụ như trong hàm ánh xạ từ ontology này sang ontology chưa được quan tâm
đến. Trên thực tế, O ntolingua là phương thức tiêu chuẩn cùa việc triển khai ontology mặc
dầu người ta nên đưa ra m ột phương pháp luận toàn diện hơn.

1.4 Guarino
Guariano đã định nghĩa những vị từ phân loại là những vị từ mà cho phép chúng ta
xác định một vật nằm trong một loại cụ thể, cung cấp một nguyên lý đề phân biệt và đếm
các cá thể. Những vị từ này trái ngược với những vị từ không phân loại, những vị từ chi mô
tà cho những cá thể đã được xác định. Một vị từ được coi là vị từ phân loại nếu nỏ tính

chất:

(i) Đếm được: vị từ cho phép một đối tượng đã cho sẽ được xác định giữa một số

những đối tượng khác.

(ii) Ón định theo thời gian: nếu vị từ mô tả một đối tượng ở tại một thời điểm đã
cho, thì nó cũng sẽ đi cùng đối tượng đó ờ tại thời điểm khác.

Ngoài ra, một phân loại quan trọng sẽ mang tính ontology rất cao, nếu mất đi một
thuộc tinh sẽ dẫn đến m ất tính đặc tnmg. Những phân loại quan trọng sẽ ià những vị từ xác
254 Tác từ - Công nghệ phàn mềm hướng tác tử

định kiểu thực thể và cần phải được định nghĩa như là các lớp. Các phần loại ít quan trọng
hơn sẽ được định nghĩa như những vai trò đối với những lớp đó. Sự phân tích này cần được
tích hợp vào trong phương pháp luận xây dựng ontology để cho phép xác định những vị từ
nào cần được coi như tạo ra những lớp và vị từ nào chi tạo ra những vai trò. Hơn nữa, kiểu
phân tích này sẽ là m ột trong những nguyên lý chinh phân biệt một phương pháp luận phát
triển ontology với các mô hình lĩnh vực trong phương pháp luận phát triển hệ cơ sớ tri thức.

2 Đặc điểm cùa các phương pháp xây dựng ontology


Mặc dù có những sự khác nhau đáng kể giữa các phương pháp luận mô tá ờ trên,

ta có thể đưa ra m ột số điểm như sau:

(1) Các phương pháp luận đều lấy một công việc cụ thể làm điểm khởi đầu. Đặc
điểm này khá hữu ích, nó cho phép tập trung vào việc thu nhận tri thức, cho phép đánh giá
ontology và cung cấp m ột mô tà hữu ích những khả năng của ontology, đưa ra khả năng trả
lời những câu hỏi tiềm ẩn của ứng dụng. Tuy nhiên, có vẻ như đặc điểm này giới hạn việc
tái sử dụng ontology, gắn chặt ontology với một nhiệm vụ cụ thề sẽ dẫn đến thất bại khi đối
mặt với vấn đề tương tác, trao đổi giữa các ontology. Điều này sẽ dẫn đến câu hỏi liệu nên
sử dụng các ontology thuần nhất, tái sứ dụng và chia sè ontology hay là nên xây dựng các

ontology khác nhau theo những cách khác nhau.

(2) N hững phương pháp luận phát triển toàn diện được mô tã ỡ trên được chia ra
thành mô hình dựa theo các pha hay m ô hình thác nước( TOVE và Xí nghiệp) và mô hình
phát triển nguyên mẫu prototype( M ETH O N TO LO G Y và IDEF5). Cả hai cách tiếp cận
trên đều có những lợi ích và những hạn chế. Nếu ờ thời điểm bắt đầu ta đã có mục đích và
yêu cầu rõ ràng thì cách tiếp cận theo các pha thích hợp hơn trong khi mà nếu chưa xác

định được mục đích cụ thể, xây dựng theo mô hình nguyên mẫu sẽ thích hợp hơn. Khi đưa
ra một phương pháp luận xây dựng ontology mới, ta nên đưa ra m ột tập những hướng dẫn

cho việc lựa chọn hướng tiếp cận cụ thề.

(3) Có những kiểu giai đoạn khác nhau: đầu tiên là sinh ra một mô tả không hình
thức của ontology, và sau đó là hình thức hoá mô tà đó bằng m ột ngôn ngữ ontology thành

một mô tà hình thức hơn. Sự tồn tại của hai cách m ô tả này là một đặc trưng quan trọng cùa
ontology, mô tả không hình thức thường sẽ giúp vượt qua những khó khăn cùa mô tà hình
Xây dựng phương pháp luận phát triển ontology 255

thức (ví dụ vai trò quan trọng cùa những binh luận trong Ontolingua). Ontology được phát
triển nhằm giúp đờ việc vượt qua sự khác biệt giữa khả năng cùa hệ thống và thế giới thực
tế được nó mô hình hoá. Đểu thực hiện yêu cầu này việc xác định liên kết giữa những mô tà
hình thức và không hình thức là rất quan trọna.

(4) Người ta mong đợi rằng một thư viện ontology sẽ được tích luỹ, và hình thàn
cơ sớ cho sự phát triển ontology sau này. Điều này cũng giống với những ý tường cùa quan
điểm tái sứ dụng và chia sè tri thức. Tuy nhiên, nó sẽ dần đến những vấn đề mô tà ontology
như thế nào, làm sao để lựa chọn một ontology thích hợp, và làm thế nào đế m ở rộng một
ontology. Trả lời câu hòi làm thế nào để lựa chọn một ontology cần một trà lời rõ ràng bằng
một phương pháp luận thoà đáng, nếu không việc ontology có nguy cơ sẽ m ang một cấu
trúc khônc thích hợp. Việc mở rộng ontology được thực liiện trong một số phương pháp
luận, nhưng đó vẫn không phải là một vấn đề đơn giản. Việc thu gom và điều chinh thư
viện ontology có thể dựa vào những đặc điểm phân biệt được mô tả trong Ontolingua. Khi
xây dựng một phương pháp luận cho việc phát triển ontology, rõ ràng ta nên quan tâm tới

các vấn để đó.

(5) MỘI phương pháp luận đầy đù phải cung cấp những nguyên tác chì đạo để
giúp đờ kỹ sư ontology lựa chọn có hay không mô tà một đặc điềm riêng biệt nào đó ở
những mức khác nhau, từ mức cao là cấu trúc ontology, tới những mức chi tiết nhỏ cùa
ontology. Hiện nay tuy ta có thể thấy một số heuristic bắt nguồn từ kinh nghiệm xây dựng
ontology và những hướng dẫn khác dựa phân tích ontology nhưng vẫn cần phải cỏ nhiều
điều chinh để đưa đến các phương pháp thống nhất.

3 Phương pháp luận hình thức


3.1 Các mô tả khai báo
Ngôn ngữ hình thức có vai trò quan trọng trong hai qi'á trình phát triển ontology:
mô tà và triển khai. Chúng ta sẽ xem xét ứng đụng cùa ngôn ngữ hình thức trong việc mô tả
và triển khai ontology và đưa ra một số kết luận về mức độ hình thức hoá cần thiết cho các

or.'clogy.

Một bản mô tà ontology sẽ cung cấp các đặc điểm cùa ontology. Bàn m ô tà này
cần nêu bật các đặc điểm của ontology không phụ thuộc vào phương thức cài đặt ontology.
256 Tác tử - Công nghệ phàn mèm hướng tác tử

Bàn mô tà sẽ cho nguời đọc biết ontology.

Một bàn m ô tà ontology cung cấp cho ta những lợi ích sau:

- Không cần phân biệt bằng các tư liệu bên ngoài ontology: Mọi phân biệt chinh
đều nằm trong ontology cho nên mọi kết luận đều có thể rút ra m à chì cần ontology. Nếu
không có tính năng này, chúng ta sẽ phải đưa ra rất nhiều các già thiết mà không dùng ngôn
ngữ ontology. Tuy nhiên, bời vì mục đích của ontology là hỗ trạ việc chia sè tri thức, nếu
các giả thiết này không được đưa vào trong ontology sẽ dẫn đến việc hiểu nhầm.

- K hông có những giả thiết ẩn: Tất cà các già thiết đều cần được làm rõ. Đây cũng
chính là m ột thách thức cùa việc chia sẻ tri thức. Tại sao một già thiết rõ ràng đối với người
này lại là già thiết ẩn đối với người khác. Băng việc loại bỏ các già thiết ẩn, khà năng chia

sẻ thông tin sẽ được nâng cao hcm rất nhiều.

Việc không tồn tại các già thiết ẩn cũng tạo nhiều thuận lợi cho việc áp đụng một
ontology cũ cho m ột lĩnh vực mới. Một số công cụ được xây dựng được xây dựng trên ngữ
cành cùa m ột số ứng dụng cụ thể nên không thể đem áp dụng cho các lĩnh vực mới bởi vì
các công cụ này được xây dựng dựa trên một số già thiết chi đúng cho lĩnh vực cũ mà

không đúng cho lĩnh vực mới.

- Các lựa chọn khi thiết kế: Khi thiết kế, chúng ta thường có nhiều lựa chọn cho
việc biểu diễn m ột vấn đề bằng các cách khác nhau. Nhu cầu đặt ra là cần phái chọn ra
đúng các giải pháp hợp lý. Để đáp ứng được nhu cầu này, chúng ta cần định nghĩa rõ ràng
được các giải pháp khả thi. Một bản mô tả ontology cho chúng ta m ột cái nhìn chính xác và
toàn thể về không gian các giải pháp thiết kế. N hờ vậy việc lựa chọn các giải pháp sẽ trờ

nên dễ đánh giá hơn.

- Các cam kết ontology: Ontology thực chất là một bản mô tả được sử dụng để tạo
các cam kết ontology. Trên thực tế, cam kết ontology là một thoả thuận sử dụng một tập
hợp từ vựng theo đúng những nguyên tác đã quy định trong ontology. C húng ta xây dựng
những ứng dụng chấp nhận các ontology và chúng ta xây dụng các ontology để chia sè nội
dung giữa các ứng dụng. Với m ột bản mô tả ontology, chúng ta có thể quan sát rõ ràng sự
khác nhau giữa các bản cam kết ontology. Ví dụ chúng ta có thể SO sánh sự khác nhau giữa
hai cách định nghĩa ontology: một định nghĩa quan tâm đến lớp các đối tượng cùa ontology
Xây dựng phương pháp luận phát trién ontology 257

và một định nghĩa quan tâm đến các đặc điểm và quan hệ mà các đối tượng thuộc ontology
phàí đáp ứng.

- Khà năng chinh sửa: Nếu chúng ta thay đồi một phần cùa ontology, chúng ta
cũng phái xác định xem phần còn lại cùa ontology có cần phài sữa đổi gì không. Neu có
một bản mô tả, chúng ta sẽ có đặc điểm chính xác cùa các ràng buộc giữa các phần khác
nhau của ontology. Không có bản mô tà này, các mối quan hệ có thể bị ẩn đi trong các phần
ontology khác nhau, dẫn đến những hạn chế của việc chia sè tri thức.

- Khá năng tái sữ dụng: Bằng cách mô tà các lớp và các nhiệm vụ, ontology sẽ
cung cấp cơ chế cho việc quyết định xem phần nào cùa ontology sẽ được tái sử dụng giữa
ị các lĩnh vực và nhiệm vụ khác nhau.
I
- Tiêu chí phân loại độ thích hợp: Một bản mô tả ontology sẽ cung cấp cho ta các
tiêu chí rõ ràng cho việc đánh giá độ phù hạp cùa ontology với nhu cầu đặt ra ban đầu.

3.2 Các bưóc xây dựng


Đối với bất kỳ ontology nào, mục đích cùa chúng ta là xây dựng một tập các thuật
ngữ để chia sè và một tập các ràng buộc trên các thuật ngữ này. Chúng ta phải thống nhất
về mục đích và nền tảng cùa ontology mà chúng ta xây dựng. Do đó, ta cần cung cấp một
cơ chế định hướng cho việc thiết kế ontology và đánh giá khả năng đáp ứng cùa ontology.
Cơ chế này cho phép ta đánh giá các giải pháp xây dựng ontology khác nhau bàng cách SO
sánh khả năng tương thích với việc trả lời các câu hỏi cần phải phải giải quyết trong ứng
dụng. Điều sẽ điều chinh sự tồn tại và các đặc điểm cùa các đối tượng trong ontology.

Chúng ta sẽ đưa ra m ột phương pháp xây dựng ontology dựa trên cơ chế thiết kế
và đánh giá như trên:

• X â y dựng n gữ cành cùa ứng dụng.

• Đưa ra các câu hỏi cần trà lởi cùa ứng dụng.

• X ác định tập các thuật ngữ bên trong cùa ontology bằng ngôn ngữ lôgic hình
thức

• Phát biếu lạ i các câu hỏi à bước ha: dựa theo các thuật ngữ bằng ngôr. ngữ
logic hình thức

• Đưa ra các khái niệm và định nghĩa các khái niệm trong ontology bằng ngôn
ngữ lôgic hình thức
258 Tác tứ - Công nghệ phần mềm hướng tác tử

3.2.1 Xây dựng ngữ cành ứng dụng


Việc phát triển ontology được bắt đầu bằng việc xây dựng ngữ cánh cùa ứng dụng
sẽ được thực hiện. Cụ thề hơn, ngữ cành sẽ được biểu diễn dưới dạng các vấn đề cần giãi
quyết của ứng dụng. N gữ cảnh này cũng có thể bao gồm các kịch bãn và các ví dụ về
những vấn đề mà ontology hiện thời chưa eiái quyết được. N gữ cành này cũng phài cung
cấp một số các giải pháp nhàm khác phục các vấn đề trên. Chính các giải pháp này sẽ bao
gồm các đối tượng và các mối quan hệ sẽ có ớ trong ứng dụng sau này.

Bất cứ m ột kế hoạch xây dựng ontology nào cũng nên mô tà một hoặc vài ngữ
cành ứng dụng và đưa ra m ột tập các giài pháp dự định để giài quyết vấn đề của ngữ cành
đó. Điểu này sẽ tạo cơ sờ hợp lý cho việc tồn tại cùa các đối tượng, đặc biệt trong trường
họp có các đối tượng khác nhau trong các kế hoạch xây dựng ontology khác nhau. Bằng
việc cung cấp các ngữ cảnh, chúng ta có thể hiểu được nguồn gốc mức độ ưu tiên cùa mỗi

ontology trong ứng dụng.

3.2.2 Các câu hỏi phi hình thức


Khi một ngữ cảnh được đưa ra, một loạt các truy vấn đối với ontology cũng này

sinh nhằm đáp ứng được các giải pháp. Chúng ta sẽ coi các truy vấn này như những phát
biểu yêu cầu cùa ontology dưới dạng các câu hói. Các câu hỏi này là các câu hỏi phi hình
thức v ì chưa được phát biểu bàng tập các thuật ngữ cùa ontology. Tuy nhiên, ontology phái
có khả năng biểu diễn các câu hỏi này bằng các thuật ngữ cùa mình và có khá năng m ô tà
câu trà lời bằng các định nghĩa và các tiên đề.

B ă n g c á c h c h ỉ ra m ố i q u a n h ệ g iữ a c á c c â u h ỏ i p h ỉ h ìn h th ứ c v à n g ữ c à n h b a n đ ầ u ,
chúng ta đă chì ra sự cần thiết và mục tiêu cùa ontology bằng các cầu hỏi cần trả lời. Việc

này cũng đưa ra sự đánh giá ban đầu cho các ontology: Liệu ontology có trả lời được các

câu hòi cần thiết hay không.

Trong m ột số trường hợp, người ta có sẵn một số ontology phi hình thức. Khi đó,
đối với mỗi đối tượng, thuộc tính, mối quan hệ và các tiên đề trong ontology có sẵn này sẽ
cần m ột câu hỏi để yêu cầu sự có mặt cùa đối tượng và các rằng buộc đi kèm.

Trên lý thuyết, các câu hỏi nên được định nghĩa theo kiểu xếp tầng, các câu hỏi ờ

mức cao sẽ cần tới câu trá của những câu hỏi ờ mức thấp. O ntology sẽ không được thiết kế
Xây dựng phương pháp luận phát triển ontology 259

một cách tốt nhất nếu như tất cả các câu hôi đều là những câu truy vấn đơn giãn. Trong các
câu hòi, cần phãi có những cãu có sừ dụng câu trá lời cùa những câu truy vấn đơn gián nói
trên. Chúng ta có thể xem xét cấu trúc cùa các câu hòi: một tập các giả thiết, các ràng buộc
và một số câu được sử dụng trong việc phát biểu câu hòi. Trong các câu này có một số câu
chính là các truy vấn ở các mức thấp hơn. Đối với mỗi cầu hỏi, chúng ta có thế chi ra mục
đích cùa câu hòi (tức là câu trả lời cùa câu hòi này sẽ được sử đụng cho câu hòi nào) và sự
phân tích câu hòi (tức là chi ra những câu hói đơn giàn hơn cần phải quyết trước khi trá lời
được câu hói này).

Các câu hòi sê chi ra nhu cầu của ontology và chính là cơ chế để mô tà không gian
trạng thái các giải pháp thiết kế. Các câu hỏi đóng vai trò như những ràng buộc mà các
ontology phải tuân theo nhiều hơn là việc quyết định một thiết k ế cụ thể có phù hợp cho
bàn yêu cầu ontology hay không. Không có một ontology đơn lé nào gấn với một tập các
câu hòi. Thay vào đó, tập các càu hói được sử dụng để kiểm tra xem ontology có phù hợp
với yêu cầu hay không.

3.3 Các thuật ngũ’


3.3.1 Thuật ngữ phi hình thức
Từ những câu hỏi đã cho, chúng ta có thể rút ra m ột tập các thuật ngữ đã được sử
dụng để biểu diễn các câu hòi. Các thuật ngữ này sẽ tạo ra nền tảng cơ bản cho việc mô tả
các thuật ngữ theo theo một ngôn ngữ phi hình thức. Để xác định tập hợp các khái niệm,
chúng ta cũng phải cung cấp các định nghĩa phi hình thức cùa các thuật ngữ và giải quyết
v ấ n để m ậ p m ờ v ể m ặ t n g ừ n g h ĩa c ủ a cức th u ậ t n g ừ , C á c từ đ ỉe n th ô n g th ư ờ n g sẽ c u n g c ấ p
các ngữ nghĩa cho các thuật ngữ và đóng vai trò nền tảng cho các tiên đề trong biểu diễn
hình thức.

3.3.2 Thuật ngữ hình thức


Khi các cầu hòi đã được đưa ra để xây dựng ontology mới, các thuật ngữ trong
ontology sẽ được mô tả bằng ngôn ngữ hình thức.

Một ontology hình thức là một mô tà hình thức của các đối tượng, đặc điểm và
mối quan hệ cùa các đối tượng này. Đây chinh là ngôn ngữ sẽ được sử dụng để biểu diễn

các định nghĩa và các ràng buộc dưới dạng các tiên đề. N gôn ngữ này cũng phải cung cấp
260 Tác tứ - Công nghệ phần mềm hướng tác tử

đầy đủ các thuật ngữ để viết lại các câu hỏi đã được đặt ra ờ bước 2. Đối với mỗi câu hỏi,
phải có các đối tượng, thuộc tính, mối quan hệ để eó thể đáp ứng yêu cầu trả lời.

Bước đầu tiên để xác định các thuật ngữ của ontology là xác định các đối tượng
trong lĩnh vực cần mô tà. Các thuật ngữ này sẽ được biểu diễn dưới dạng các hằng và biến.
Đặc điểm và mối quan hệ giữa các đối tượng được định nghĩa bằng các phát biểu dưới
dạng logic vị từ.

3.3.3 Câu hỏi hình thức


Khi các câu hòi đã được đưa ra dưới dạng phi hình thức và các thuật ngữ cùa
ontology đã được định nghĩa, các câu hỏi sẽ được định nghĩa hình thức hoá bằng việc sừ
đụng các mệnh đề logic và các tiên đề cùa ontology. Do đó, các câu hỏi sẽ chi gồm hai

dạng:

Cho một tập các tiên đề trong ontology, một tập các cá thể và các mối quan hệ,

chúng ta có thể suy ra m ột phát biểu Q hay không.

Chúng ta có thể xác định được một phát biểu Q là không mâu thuẫn với tập các

tiên đề và các tập các cá thể cùng mối quan hệ trong ontology hay không.

Dưới đây là phát biểu hình thức hoá cùa hai dạng câu hỏi nêu trên:

Xác đinh Tontology^Tncn ^ Q

Xác định có phải T„nt0|0gyu T nỉ„ ^ -,Q

Trong đó Tontoiogy là tập các tién đề cùa ontology, T„èn là tập các khái niệm trong
o n to lo g y . Q là m ộ t p h á t b iể u c h i s ử d ụ n g c á c k h á i n iệ m đa đ irợ e đ ịn h n g h ĩa tr o n g o n to lo g y

Tiên đề trong ontology cung cấp các tiên đề gốc áp dụng cho tất cà các đối tượng

và mối quan hệ bên trong ontology cũng như định nghĩa các lớp. Trong khi đó, tập các cá
thể và các mối quan hệ được rút ra từ các câu hỏi hình thức sẽ m ô tả các rằng buộc cùa các
vấn đề cụ thể. Ví dụ như trong m ột ontology về các tiến trình, các tiên đề của ontology sẽ
định nghĩa các hành động phức tạp và các rằng buộc để xảy ra các hành động còn tập cấc cá

thể sẽ chứa các kế hoạch cụ thể, lịch trình hoặc môi trường bên ngoài v.v.

Mọi đề án để xây dựng ontology luôn cần m ột tập các câu hỏi hình thức. Tất cả
các khái niệm được dùng để phát biểu các câu hói đều phải có trong ontology. Để có một
Xây dựng phương pháp luận phát triển ontology 261

khai báo mô tá hình thức của ontology, mọi phát biểu sử dụng ontology đều có thể được
phát biểu bằng cách chi sử dụng các tiên đề. Chi bằng cách này chúng ta mới đánh giá được
ontology có đáp ứng được nhu cầu hay không vì mọi mô tả đều rất rõ ràng.

Một vấn đề nữa trong phát triển ontology là khi ta có một thư viện các ontoloay để
giài quyết một lớp bài toán cụ thể. Làm thế nào để đánh giá và lựa chọn ontology thích hợp.
Sử dụng phương pháp cùa chúng ta, các ontology có thề SO sánh với nhau bằng tập các câu
hói mà các ontology có thể trà lời. Nếu có ontology A có thể trà lời được tất cà những cầu
hòi cùa ontology B trong khi ontology B không trả lời được m ột số câu hởi cùa ontology A
thì ta có thể kết luận là ontology A tốt hơn ontology B. Còn nếu như hai ontology trà lời
được các câu hòi giống nhau thì la cần tìm những câu hỏi mới để SO sánh khả năng cùa hai

' ontology.

3.3.4 C á c đ ịn h n g h ĩa h ìn h t h ứ c
Các đ ị n h nghĩa trong ontology chi ra đ ị n h nghĩa cho các thuật ngữ b ê n trong
ontology và các ràng buộc đi kèm. Các định nghĩa này được xác định bằng các phát biếu
logic mệnh đề. Các định nghĩa này là vô cùng quan trọng vì m ột tập hợp các khái niệm
thuật ngữ chưa xây dựng nên ontology, phài cần các đ ị n h nghĩa đề biểu diễn ngữ nghĩa cùa
các thuật ngữ đó. Các định nghĩa này chính là sự mô tà chi tiết cùa ontology.

Tiến trình định nghĩa các ontology chính là tiến trình phức tạp nhất trong việc xây
dựng ontology. Tuy nhiên, tiến trình này được định hướng bàng các câu hỏi hình thức. Các
định nghĩa trong ontology cần được xác định sao cho ít nhất phài m ô tà được các câu hòi
và t á c t â u trà lời. N c u c h ỉ tliỉc u m ộ t đ ịn h n g h ĩa th ì sẽ k h ô n g đ á p ứ n g đ u ự c IIỈIU c à u 11lô lù
các câu hòi và câu trà lời của ontology. Hơn nữa, tất cả các câu hói hình thức không được
mâu thuẫn với các định nghĩa đã có từ trước. Neu các định nghĩa đẫ đưa ra chưa đù để biểu
diễn các câu hỏi và các câu trả lời, thì chúng ta sẽ phải đưa thêm các đổi tượng và các định
nghĩa vào trong ontology cho đến khi nào ontology đù khà năng biểu diễn câu hòi và trả
lời hình thức. Tiến trình xây dựng các định nghĩa phục vụ cho các ontology do đó làm một

tiến trình lặp.

Các câu hói hình thức đã mô tà rất rõ ràng yêu cầu cho các định nghĩa trong
ontology cho nên đó cũng là cơ chế mô tả một cách hình thức không gian thiết kế ontology.
Có rất nhiều cách khác nhau để định nghĩa một ontology cho nên c ó thể nói các câu hỏi
262 Tác từ - Công nghệ phần mềm hướng tác từ

hình thức không xác định các định nghĩa là các câu hòi được dùng để đánh giá tính toàn vẹn
cùa tập các định nghĩa trong một phương pháp định nghĩa cụ thể.

Điều này cho phép chúng la SO sánh khá năng biểu diễn thông tin giữa hai tập các
định nghĩa. Nếu có một câu hói mà tập định nghĩa thứ nhất biểu diễn được trong khi tập
địnli nghĩa thứ hai không biểu diễn được thì ta có thế kết luận là đối với câu hói đó, tập
định nghĩa thứ hai ít khà năng biểu diễn hơn tập định nghĩa thứ nhất. Nếu hai tập định
nghĩa cùng biếu diễn được một câu hói thì ta có thề kết luận là đối với câu hỏi đó, hai tập
định nghĩa là tương đương và cần đưa ra các tiêu chí SO sánh khác.

3.4 Vai trò trong phương pháp Guarino


Guarino [Guarino và Welty, 2000] cũng đóng góp một phần đáng kề vào cơ sờ lý
thuyết cùa lĩnh vực này. Ông làm rõ, và phân biệt các thuật ngữ như khái niệm, vai trò
(role), thuộc tính (attribute), khía cạnh (slot), qualities... Ông ta đề xuất dùng thuật ngữ
‘role’ dựa trên lý thuyết cùa Huserl, phân biệt vai trò (role) và khái niệm tự nhiên. Tác giả
còn định nghĩa vai trò là một khái niệm có dạng như m ột quan hệ và không phải là một
phần mang tính khái niệm cùa một cái gì đó. ô n g cũng định nghĩa thuộc tính (attribute)
đồng thời phân biệt nó với ‘Slot’...

Để đi đến khái niệm vai trò. Ông đưa ra các định nghĩa sau (Trong đó nec là “toán

tứ cấn thiết” (modal necessity operator), < là quan hệ một phần (part o f relation) và /< có ý
nghĩa ngược lại):

Định nghĩa: Khái niệm a dựa trên p (viết là a u p) nếu: nec V x ( X 6 a 3 3y

(y e p A X /< y Ay / < x )) .

Đ ịnh nghĩa: a gọi là “dựa trên” (ký hiệu a U) nếu tồn tại p sao cho a lỉ p. a

được gọi là độc lập cơ bàn (ký hiệu l(a )) nếu ( a U), và gọi là tự lập nếu a ( J a .

Đ ịnh nghĩa: Một khái niệm a được gọi là cứng về ngữ nghĩa (ký hiệu R (a))nếu

Vx ( X e ơ D n e c (x 6 a)).

Định nghĩa: Khái niệm a được gọi là m ột vai trò nếu nó dựa trên nhưng không

cứng về ngữ nghĩa, có nghĩa là a u A -1 R (a).


Xây dựng phương pháp luận phát triển ontology 263

Định nghĩa: Khái niệm a được gọi là một khái niệm tự nhiên nếu nó là độc lập

cơ bán và cứng về ngữ nghĩa, nghĩa là I(a) A R(a).

Trong bài viết cùa tác già Guarino còn giới thiệu thêm và minh hoạ một cách dễ
hiểu nhằm cung cấp cho người xây dựng Ontology các thành phần mang tính phương pháp
luận. Ông cũng mô tà khái niệm định danh (identity): Nó là thứ giúp phân biệt thể hiện cùa
một lớp nào đó với các thể hiện khác dưới dạng một thuộc tính duy nhất cho nó (thế hiện).

Để giái thích về định danh, tác già đưa ra ý tưởng về thuộc tính cứng (rigid
property). Một thuộc tính cứng là m ột thuộc tính cần thiết cho tất cà các thể hiện cùa nó.
Thêm vào đó là các ký hiệu:

Rigid <|>+R (ị) là thuộc tính cần cho tất cà các thể hiện của nó

Non-Rigid Ộ-R ộ không phải là thuộc tính cần cho tất cả các thể hiện cùa nó

Anti-Rigid <t>~R (ị) là một thuộc tính tuỳ chọn cho tất cả các thể hiện cùa nó

Ta có thể làm rõ hon khái niệm Anti-Rigid. Ví dụ: Con người là rigid vì một thế
hiện X cùa con người không thể dừng là người, trong khi Sinh viên là anti-rigid vi tất cà các
thề hiện cùa Sinh viên phải có khà năng không tiếp tục là Sinh viên.

Một điều kiện đồng nhất (Identity condition -IC ) cho một thuộc tính tuỳ chọn

(Ị) được xác định khi một quan hệ thích họp p thoà mãn công thức: ộ(x) a ộ(y) -> ( p(x,y) <->

X = y ).

Vấn đề đầu tiên là phân biệt giữa cung cấp một IC và đơn gián các thuộc tính
mang theo một IC. l a tháy ràng câc thuộc tinh non-rigid chi cớ thê mang theo các IC cúa
chúng. Và các thuộc tính kế thừa cũng xếp vào thuộc tính rigid.

Định nghĩa: Già sừ ộ là thuộc tính rigid, và r(x,y,t,t') là một biểu thức chứa X, y,

t, t' như các biến tự do, thoà mãn -iV xytt'(r(x,y,t,t') o X = y). Ta nói rằng ệ mang ICr
nếu một trong hai định nghĩa sau được kiểm chứng:

Định nghĩa: r là một IC ‘cần’ được mang b ờ i cị) khi

E(x,t) A ộ(x,t) A E(y,t') A <Ky,t') A x=y -> r(x,y,t,t')

-iV xy(E(x,t) A ệ(x,t) A E(y,t') A ộ(y,t') -» r(x,y,t,t'))

Định nghĩa: r là một IC ‘đ ủ ’ mang bởi (ị>khi


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

E(x,t) A ộ(x,t) A E(y,t’) A (Ị)(y,t’) A r(x,y,t,t') —>x=y

Bxytt' r(x,y,t,t')

C hú ý: ICs được kế thừa theo thuộc tính.

Đ ịnh nghĩa: Một thuộc tính non-rigid mang một IC r nếu nó được xếp vào bởi

một thuộc tính rigid mang r.


Đ ịnh nghĩa: Bất kỳ thuộc tính nào mang IC được đánh dấu m etaproperty +1 (-1
ngược lại).

Đ ịnh nghĩa: Một thuộc tính ộ cung cấp một IC r nếu i) nó là rigid; ii) nó mang

ĩ ; và iii) r không được m ang bởi tất cà các thuộc tính xếp vào nhóm (ị). Điều này có nghĩa

ràng nếu 4> kế thừa các 1C khác (nhưng tương thích) từ nhiều thuộc tính nó vẫn được coi

như là cung cấp một IC.

Định nghĩa: Một thuộc tính cung cấp một IC được đánh dấu m etaproperty +0 (-
o ngược lại). Chữ “O ” là ký tự gợi nhớ cùa cụm từ “own identity” .

C hú ý: Từ các định nghĩa trên rõ ràng + 0 ám chi +1 và +R. (...)

Đ ịnh nghĩa: Bất ký một thuộc tính nào mang một 1C (+1) được gọi là “sortal” .

Ta có thể tổng kết các định nghĩa trên như sau:

Mang một 1C (ị) mang điều kiện đồng nhất

Không mang một IC ộ không m ang điều kiện đồng nhất

Cung cấp một IC <r (ị) cung cấp điều kiện đồng nhất
Không cung cấp một IC <t>'° ộ không cung cấp điều kiện đồng nhất

Vấn đề quan trọng thứ hai là tinh duy nhất (Unity), nó liên quan đến vấn đề phân
biệt các phần cùa một thể hiện với phần còn lại bàng cách hợp nhất quan hệ liên kết chúng

lại với nhau.

Đ ịnh nghĩa: Nếu (0 là quan hệ tương đương(bằng nhau). Tại một thời điềm cho

trước t, một đối tượng X là ngẫu nhiên nằm toàn bộ dưới (contingent whole under) (0 V nếu

Vy(P(y,x,t) -> Vz(P(z,x,t) <-» w(z, y,t)))

Đ ịnh nghĩa: Nếu 0) là quan hệ tương đương(bằng nhau). Một đối tượng X là toàn
Xảy dựng phương pháp luận phát triển ontology 265

bộ trong, dưới (intrinsic whole under) Cú nếu f, tại bất cứ thời điểm nào X tồn tại, nó là ngẫu

nhiên toàn bộ dưới ũ).

C hú ý: Nếu một đối tượng là một nguyên tử (nghĩa là nó không có các phần
riêng biệt khác), khi đó nó toàn bộ bên trong, dưới một quan hệ định danh.

Đ ịnh nghĩa: Một thuộc tinh ộ mang điều kiện duy nhắt (+U) nếu tồn tại mọt quan

hệ tương đương (0 sao cho tất cà các thể hiện cùa nó là toàn bộ trong, dưới lú.

Để ví dụ tác giả phân biệt ba loại thuộc tinh đơn nhất cho các thực thể ở dạng vật
chất (có nghĩa là những cái có vị trí không gian, thời gian):

Đơn nhất Topo (Topological unity): Dựa trên một số loại liên kết topo (một miếng
than, một cục đá)

Đơn nhất hình thái (M orphological unity): dựa trẽn hình dạng (quả bóng, chòm

sao)

Đơn nhất chức năng (Functional unity) (một cái búa, một bộ bikini)

Định nghĩa: Một thuộc tính có tính chất anti-unity (~U) nếu mọi thề hiện cùa
thuộc tinh khôns intrinsic whole.

Ta có thể tống kết những định nghĩa trên như sau:

Mang một u c ộ+u (Ị> mang điều kiện đồng nhất

IChông m ang một u c <t>-u (ị) không mang điều kiện đồng nhất
M ang một anti-UC ộ~u ệ mang một điều kiện phản đồng nhất

Ta có thể tổng kết những định nghĩa trên như sau:

Cuối cùng [Guarino và W elty, 2000] đ ịn h nghĩa khái niệm p h ụ thuộc ngoài

(External dependence): a Một thuộc tính (ị) là phụ thuộc ngoài vào một thuộc tính V|/ nếu,

với tất cả các thể hiện cùa n ó X, tồn tại một s ố thề h iệ n y cùa y , m à không phái là một
p h ầ n hay cấu thành cùa X. (. ..) X là tồn tại p h ụ thuộc y, nếu, X không thể c ó nếu y không tồn

tại. (...) Một thuộc tính là phụ thuộc ngoài trên thuộc tính khác sẽ được đ á n h dấu meta-
property +D.

Tác già đưa ra ví dụ Cha mẹ là phụ thuộc ngoài vào Con cái (không thề là cha mẹ
mà không có con cái) nhưng Con người không phụ Ihuộc ngoài vào Trái tim hay Cơ thể (vì
266 Tác từ - Công nghệ phần mềm hướng tác tử

bất kỳ con người nào cũng có Trái tim và cấu thành bởi Cơ thể)

Các hoạt động m ờ rộng cùa Guarino đã góp phần làm rõ cơ sờ lý thuyết công nghệ
Ontology. Nó thực sự trờ lên hữu dụng khi dựa trên những định nghĩa mà ông đưa ra. xác
định những ràng buộc cẩn được kiểm chứng khi phân loại:

Ràng buộc cứng (Rigidity constraints): Ộ~R không thẻ kế thừa, gộp vào \ự K

R àng buộc đồng n h ấ t (Id en tity constraints): ộ+l không thể kế thừa /'1 và
Vị các
thuộc tính ICs không thương thích được tách rời.

Ràng buộc duy nhất (Unity constraints): ộ+u không thể kế thừa Vị/'u và ộ '1 không

thể kế thừa Vị/+U

Ràng buộc phụ thuộc (Dependence constraints): ệ D không thể k ế thừa ụ/D

4 Các tiêu chuẩn thiết kế ontology


Các ontology hình thức cần được thiết kế. Khi chúng ta chọn cách biểu diễn một
sự vật trong ontology, chúng ta phải đưa ra một quyết định thiết kế. Để có thể định hướng
và đánh giá các quyết định này ta cần có những tiêu chuẩn nhằm đàm bào ontology sẽ có
những đặc điểm thoà mãn mục đích đề ra ban đầu.

- Tính rõ ràng: Ontology cần phái truyền tải rõ ràng ý nghĩa cùa các khái niệm
được định nghĩa. Các định nghĩa cần phải khách quan. Trong khi nhu cầu cần định nghĩa
một khái niệm mới được nảy sinh trong đời sống thực tế hoặc trong các yêu cầu tính toán
thì các định nghĩa cần phải độc lập với các ngữ cảnh đời sống hoặc tính toán này. Hình thức

hoá là m ột phương thức để đàm bảo yêu cầu này. Chúng ta nên cố gắng đưa ra các định
nghĩa dưới dạng các phát biểu lôgic. Nếu có thể, ta nên chọn các định nghĩa đầy đù (nghĩa
là bao gồm cà điều kiện cần và đủ) hơn là các định nghĩa không đầy đù (định nghĩa chì bởi
điều kiện cần hoặc đù). Tất cà các định nghĩa sau đó nên được ghi lại trong các tài liệu lưu

trừ dưới dạng ngôn ngữ tự nhiên.

- Tính chặl chẽ: Các khái niệm trong Ontology cần được thiết kế một cách chặt
chẽ. N ghĩa là Ontology sẽ phái thừa nhận những suy diễn đúng đắn xuất phát từ các định
nghĩa trong ontology. ít nhất là các phát biếu để định nghĩa phải đàm bào đúng lôgic. Các
Xây dựng phương pháp luận phát triển ontology 267

khái niệm được định nghĩa phi hình thức như bằng cách mô lá trong ngôn ngữ tự nhiên và
đưa ra các ví dụ cùng cần phải đàm báo tính chặt chẽ. Neu một kết luận rút ra từ các định
nghĩa mà mâu thuần với các định nghĩa phi hình thức thì Ontology cũng không có tính chặt

chẽ.

- Khá năng m ờ rộng: Ontology cần được thiết kế sao cho đáp ứng được nhu cầu
chia sè từ vựng. Ta cần xây dựng một số các khái niệm nền tảng cho cả một lớp các nhiệm
vụ đà được dự đoán trước và biểu diễn ontology một cách khéo léo sao cho người sứ dụng
sau này có thể dể dàng m ờ rộng và thay đổi ontology. Nói cách khác một người có thể định
nghĩa một thuật ngữ mới dựa trên các khái niệm đă biết mà không yêu cầu phải sữa lại các
định nghía đă có từ trước.

- Tinh độc lập với ngôn ngữ biếu diễn: Các khái niệm cần được mô tà mức tri
thức, tránh phụ thuộc vào mức mã hoá bầng các biểu tượng. Việc phụ thuộc vào ngôn ngữ
biểu diễn sẽ dẫn đến việc định nghĩa các khái niệm sao cho tiện cho việc biều diễn bàng
ngôn ngữ đã định. Ta cần tránh sự phụ thuộc này vì các tác từ chia sè cơ sờ tri thức có thể

được xây dựng trong các hệ thống khác nhau và theo cách biểu diễn khác nhau.

5 Kỹ nghệ Ontology (Ontology Engineering)


5.1 Tiến trình công nghệ Ontology
Công nghệ Ontology cũng như công nghệ phẩn mềm là một quá trình phát triển
lặp và tiến hoá dần, trài qua các trạng thái trung gian để đạt được trạng thái hoàn thiện đầy
đủ như mong muốn. Khi mà vai trò cùa Ontology ngày càng trớ lên quan trọng và tiến trình
công nghệ Ontology cũng phài được xem xét như là tiến trình công nghệ phần mềm với
công tác quản lý dự án cùng các phương pháp quàn lý dự án được áp dụng. Các hoạt động
trong quá trình phát triển Ontology bao gồm: lập kế hoạch, đặc tả, thu thập tri thức, khái
niệm hoá, hình thức hoá, tích hợp, thực thi, đánh giá, lập tài liệu, bảo trì [Fernandez, 1997],
Tác giả phê phán mô hình thác nuớc và mô hình gia tăng dần từng bước đồng thời đưa ra
một vòng đời phát triển có sử dụng prototype giúp ta có thể thêm sửa đổi các định nghĩa
trong Ontology bất kỳ lúc nào. Tác già giãi thích, vòng đời cùa Ontology trải qua các trạng
thái sau: đặc tà, khái niệm hoá, hình thức hoá, tích họp, thực thi và bào trì. Việc sử dụng
prototype cho phép người thiết kế lùi lại từ bất kì trạng thái nào nếu một vài định nghĩa bị
268 Tác tử - Công nghệ phần mềm hướng tác tử

mất hoặc sai. Vi thế, vòng đời này cho phép thêm, xoá, sứa các định nghĩa tại mọi thời
điểm. Thu thập, lập tài liệu, đánh giá tri thức là các hoạt động hỗ trợ được thực hiện trong
hầu hết các trạng thái này.

Các hoạt động

Thu nhận trí thức

Lập tải liệu

Đánh giá

Hình 7.1 Tiến trinh công nghệ ontology.

Tất nhiên cũng giống như trong công nghệ phần mềm cũng có nhiều mô hình vòng
đời được đề xuất trong việc xây dựng ontology như mò hình thác nước, mô hình gia tăng,
mô hình prototype. Trong đồ án tác già chi trinh bày mô hình tham chiếu như trên vì nó
được nhiều người công nhận và sừ dụng rộng rãi.

5.2 Xác định phạm vi và trọng tâm, sử dụng kịch bản cho đặc tả
[Fernandez, 1997] phát biểu rằng: Bạn không thể phát triển ontology mà không
biết mục đích và phạm vi cùa nó, để biết được điểu đó, bạn phải trà lời các câu hỏi: tại sao
ontology được xây dựng, nó dược mong dợi những gl. Nủ cũng được dùng đẻ nhận biết và
mô tả đặc điểm phạm vi các đối tượng sử dụng ontology. Sau đó bạn phải đặc tả hoặc viết

các câu trà lời trong một tài liệu đặc tà yêu cầu của ontology.

Một kỹ thuật thường được dùng trong công nghệ phần mềm là phân tích kịch bản
cũng được đề xuất trong quá trinh phát triển ontology. Các kịch bàn được sứ dụng như đầu
vào cùa các dự án, chúng thường chứa đựng nhiều thông tin về các vấn đề và các mong
muốn. Sự phát triển cùa ontology được thúc đẩy bời các kịch bản này sinh trong trong ứng
dụng. Các kịch bản tăng cường nói về các vấn đề hoặc các ví dụ không được đầy đủ trong
các ontology đã có. Nó đồng thời cũng cung cấp một tập các cách giải quyết có thể cho các
vấn đề. Các giài pháp cung cấp các ngữ nghĩa liên quan đến các đối tượng và các quan hệ
Xây dựng phương pháp luận phát triển ontology 269

sẽ được thêm vào Ontology. Bất kỳ một đề xuất nào cho một Ontology mới hoặc mở rộng
Ontology nên mô tà bằng m ột hay nhiều kịch bàn tăng cường, và tập hợp các giài quyết cho
vấn đề được mô tả trong kịch bàn.

Trong [Caroll, 1997] tác già đề xuất việc xây dựng hệ thống dựa trên đặc tà kịch
bản vì theo ông phần lớn công sức phát triển phần mềm là hướng tới tính sử dụng và phần
quan trọng là kịch bàn tương tác người sử dụng. Các kịch bàn tương tác người dùng là đù
cho mô tà, phân tích, lập kế hoạch cho một hệ thống máy tính có thể tương tác với các
nhiệm vụ cùa người đùng. Hơn thế nữa một kịch bàn có thể mô tà cụ thể hành động cùa
người dùng đế thực hiện một nhiệm vụ và đù chi tiết đề phục vụ cho công tác thiết kế. Kịch
bàn còn giúp ta m ường tượng được hệ thống sẽ được thiết kế và cài đặt ra sao. Kịch bản
cung cấp cái nhìn dưới con mắt cùa người sử dụng và tăng hiệu quả giao tiếp giữa nguời
thiết kế và người sử dụng. Kịch bản có một lợi thế là có thể giao tiếp bằng ngôn ngữ tự
nhiên khi nắm bắt các tình huống, nhà tài trợ, phạm vi, vấn đề và cách giải quyết với các từ
vựng liên quan cùa chúng. Đưa ra các kịch bản tăng cường, một tập các truy vấn sẽ xuất
hiện và đặt ra một số yêu cầu cho Ontology. Chúng ta có thể coi các truy vấn trên là các
yêu cầu, dưới dạng câu hòi. Một Ontology phái có khả năng trình bày các câu hỏi sử dụng
thuật ngữ của nó, và có thể m ô tả đặc điềm cùa các câu trả lời cho các câu hỏi trên sừ dụng
các tiên đề và các định nghĩa. Các câu hỏi khả năng nên được định nghĩa theo dạng phần
tầng, các cầu hỏi ờ mức trên yêu cầu giài quyết các câu hỏi ờ mức dưới. Câu hỏi khà năng
đặc tà yêu cầu cho một Ontology và nó là một cơ chế cho việc mô tà đặc điểm thiết kế
Ontology. Các câu hỏi có thể coi như như các rằng buộc về Ontology chứ không phải là xác
định một thiết kế riêng biệt nào đó.

Phân tích kịch bản cũng như các hoạt động khác trong công nghệ Ontology không
chi diễn ra một lần mà là m ột quá trình lặp trong suốt quá trình thiết kế và vòng đời cùa
Ontology.Các kịch bản mới nảy sinh, các kịch bản cũ được làm mịn. Việc kiềm ư a các
thuật ngữ mà không quan tâm tới định nghĩa chi tiết sẽ giúp chúng ta trong việc xác định
phạm vi của Ontology.

5.3 Tập họp dữ liệu và thu nhận tri thức


Thu thập dữ liệu là m ột hoạt động đặc trưng tiến tới thu nhận tri thức. Đó là quá
trình lặp các vòng thu thập và phân tích, dữ liệu được thu thập được phân tích và sự phần
270 Tác từ - Công nghệ phần mềm hướng tác tử

tích lại kích hoạt các hoạt động thu thập mới.

5.3.1 Quá trình thu thập


Các kỹ thuật phát hiện tri thức hướng theo chiều từ dưới lên, nó có ảnh hường tới
tất cà quá trình khác và hoạt động bào trì. Các kỹ thuật phát hiện khác nhau được áp dụng
trong từng giai đoạn khác nhau. Các kỹ thuật phát hiện tri thức: chuyên gia, sách, số tay, sơ
đồ, bàng biểu và thậm chí các ontology khác là các nguồn cùa tri thức, tại đó tri thức có thể
được phát hiện bằng cách sừ dụng các kỹ thuật kết hợp như: phương pháp dùng tri tuệ tập
thể để giải quyết, phỏng vấn, phân tích hình thức hay không hình thức của văn bàn, và các
công cụ thu nhập tri thức khác.

Khi thu thập dữ liệu cho Ontology, không bao giờ được ngăn cán người dùng nói
những điều họ muốn, nhưng khuyến khích họ nói theo cách dễ làm việc nhất. Trong việc
dùng trí tuệ tập thể ià một ví dụ, phải đưa ra tất cả các câu, thuật ngữ tiềm nấng mỗi thuật
ngữ đứng riêng rẽ là một khái niệm, điều này sẽ giảm thiều sự tối nghĩa và bất đồng ý kiến.

Ta có thể minh hoạ một số kỹ thuật để thu nhận tri thức cho một ontology hoá
học[Fem andez 1997] bao gồm:

• Các cuộc p hỏng vắn không theo cẩu trúc với các chuyên gia để x â y dựng một
phần thô cùa tài liệu đặc tả yêu cầu.

• Phân tích văn bàn không hình thức, đ ể học lay các khái niệm chinh trong các
sách và sổ tay, đưa ra mội tập hợp các mô tà trung gian quá trình khái niệm
hoá.

• Phân tích văn bàn hình thức nhằm nhận biết các cấu trúc (định nghĩa, xác
nhận...) và các kiểu tri thức (khái niệm, thuộc tính, quan hệ).

• Các cuộc p hỏng van có cấu trúc với các chuyên gia đ ể xác định và chi tiết tri
thức vé các khái niệm, các quan hệ và giá trị cùa chúng đ ể đánh giá mô hình
khái niệm và khà năng thực thi.

Trong quá trình thu thập dữ liệu, có thể tồn tại những thuật ngữ và thậm chí cà

ontology được thu thập từ lĩnh vực, ta phải tich hợp các ontology khác vào ontology đang
xây dựng.
Xây dựng phương pháp luận phát triển ontology 271

Mô hình và thu thập tri thức là một cuộc đối thoại, những người liên quan nên
tham gia nhiều hơn nữa trong tiến trình còng nghệ ontology, và thay vì thu thập tri thức
chúng ta sẽ cố gáng để hướng dẫn họ cách sừ dụng nó.

Tóm lại quá trình thu thập và phân tích dữ liệu bao gồm:

• Chuán bị

• Thu thập

• Tiền phân lích và mô hình phi hình thức

• Kiếm tra (Các bước đầu tiên đầu Hên cần được lặp lại cho đến khi hoàn thiện,
bằng cách sứ dụng kịch bán và câu hói lăng cường...)

• Chuấn hoá và đánh giá (Toàn bộ tiến trình phái lặp lại nếu việc đánh giá cho
kết qùa không lot)

Một số chú ý khi thu thập dữ liệu:

• Khi thu thập dữ liệu dựa trẽn, cần nhớ trọng tăm cùa tháo luận là nhiệm vụ, vai
trò. hoại động cùa người đoi th o ạ i. Vì thế đâu là các chủ để lot nhai đế bắt đầu
tháo luận.

• Cần thiét hơn tắt cá là phái ghi và viết tại các lời họ nói lừng lừ một

• Trong một kịch bán thu thập dữ liệu la phái xem xét tắt cá các đối lượng liên
quan đánh giá đúng vai trò và mối quan hệ cùa họ tới công việc thu thập dữ
liệu, khóng được bó sót, đánh giá sai vai trò cùa môi người.

• Chúng ta không chi xem van đề là gì và co gắng thu thập yêu cầu, mà còn phải
xem xét các thành phần cố định: kháo sát các cơ cáu, con n g ư ờ i, nguồn lực,
phương pháp luận, tám lý. Người ta có thế đã cỏ trước hướng giải quyết cho
một vắn đề và chúng ta không thê bó qua.

• Cuối cùng, tiểu sừ vắn tắt và vai trò cùa người được phóng van được thu (hập
khi chuấn bị, quán lý, phân tích dữ liệu thu thập. Một vài phương pháp và
hướng đi có thế được sứ dung luỳ thuộc vào nguồn dữ liệu (từ con người hoặc
không). Trong m ột số trường hợp tinh cách cùa con người cũng được quan tâm,
một số nói quá nhiều trong khi một rất ngại ngùng.
272 Tác tử - Công nghệ phàn mềm hướng tác tử

5.3.2 Một số kỹ thuật thu thập dữ liệu


Sau đây là m ột số kỹ thuật thu thập dữ liệu có thể áp dụng cho công nghệ
Ontology.

a. Phỏng vấn
Các cuộc phỏng vấn có thể là phỏng vấn riêng hoặc cả nhóm, một người hoặc
nhiều người tham gia, phòng vấn m ột lượt hay nhiều lượt. Có nhiều cách phỏng vấn khác
nhau với các mức độ cấu trúc khác nhau (từ tự do cho tới các câu hòi m ang tính chất vấn.
Một cuộc phòng vấn m ang tính chất trung lập có quá trinh như sau:

• M ở đầu đối thoại: phần đầu Hên này thưởng không được cầu trúc. Đê bắt đầu
các câu hói đầu tiên thường rất rộng và rất chung chung.

• Đ oạn dan và chắt lọc thông tin: Khi gặp những khoáng lặng, trước hết phái ghi
lợi trong thông tin trong bước trên, sau đó tạo mộ! vài biếu diễn cá nhân để có
thê nhận biết các van để và chú đe sẽ được làm rõ thông qua các câu hói dan.
Ta cũng có thể s ứ dụng các câu hỏi chuấn bị sẵn, luỳ theo loại thòng tin muốn
tìm kiếm.

• Tự tong hợp: cuối cùng là y êu cầu người phóng vắn tóm tắt, phán tích những
van để m à họ đ ã nói.

b. Q uan sát
Cũng như phỏng vấn, quan sát cũng rất nhiều lựa chọn. Nó có thể tiến hành ờ bất
kì đâu, liên tục theo dõi hoạt động hàng ngày mà người bị quan sát không biết, nhờ người
ta thực hiện công việc ngay tại chỗ. c ỏ thể quan sát con người hay cách họ làm, những
công việc thực sự hay những kịch bản mô phòng. Nói chung tuỳ thuộc theo người theo dõi
mà tình huống có thể rất khác

c. Phân tích tài liệu


Các tài liệu hay mọi thú hỗ trợ ngôn ngữ tự nhiên đều là các nguồn phát hiện tri
thức, đặc biệt là các tài liệu điện từ. Sau đây là m ột số phát biểu:

• C ác văn bán không đơn thuần chứa đựng các bí quyết thực thực tể và rõ ràng
thu được thông qua kinh nghiệm m à chúng là một khung nhìn liên ứng với lĩnh
vực quan tâm.
Xây dựng phương pháp luận phát triển ontology 273

• Các nhãn (labe!) có vai trò quan trọng khi kết nổi văn bán với m ô hình khái
niệm. Nó giúp người đọc hiêu nghĩa các khái niệm trong lĩnh vực và mô ta của
họ trong mô hình

• Các công cụ và kỹ thuậl x ứ lý ngôn ngữ tự nhiên dựa trên các kết quà trong
ngôn ngữ học giúp phân tích văn bán có hệ thống và làm cho tiến trình mô hình
hoá de dàng hơn.

Sau đây là một ví dụ một ví dụ, nó bao gồm các bước:

T ạo m ột tậ p văn băn: từ các yêu cầu, giải thích các mục tiêu cơ bản của phát
triển mô hình, người thiết kế lựa chọn lựa chọn các văn bàn giữa các tài liệu kỹ thuật có sẵn.

Nghiên cứu ngôn ngừ: lựa chọn các công cụ và kỹ thuật ngôn ngữ và áp dụng
chúng vào văn bản. Mục đích là lựa chọn các thuật ngữ và các quan hệ từ vựng sẽ được mô
hình hoá.

C h u ẩn hoá: bước này gồm hai phần. Phần thứ nhất là tinh chế phần trước. Phần
thứ hai tập trung vào giài thích ngữ nghĩa để cấu trúc các khái niệm và quan hệ ngữ nghĩa.

H ình th ứ c hoá: nó bao gồm xây dụng và đánh giá ontology. Một vài ontology có
sẵn có thề giúp xây dựng tầng cao nhất và để cấu trúc nó trong lĩnh vực con lớn. Sau đó
khái niệm và quan hệ ngữ nghĩa được chuyển thành các vai trò và khái niệm hình thức và
được lồng vào ontology.

d. C âu hỏi và bàng tr ả lòi câu hỏi


Bảng câu hỏi là một cách đơn giản để mọi người cung cấp thông tin. Tuy vậy thào
ra một bảng câu hòi là một công việc phức tạp và một bảng câu hỏi tốt phải được kiểm tra
và xem xét lại vài lần để khẳng định khả năng hữu dụng của nó. Các câu hói phải được
công thức hoá để câu trả lời cùa nó là rõ ràng về chù đề, nội dung và khung cảnh. Vai trò
của người được hói cũng phài được xem xét kỹ trước khi đưa ra câu hòi. Cách thức và thứ
tự cùa câu hỏi có thể ảnh hường đến câu trà, do vậy câu hòi phải rất cẩn thận không đi lệch
hướng hoặc thiếu một vài thứ.

Marianne La France [La France, 1992] xác định 6 tiên đề, chúng phù hợp với tất
cả các kỹ thuật thu thập dữ liệu:
274 Tác tử - Công nghệ phần mềm hướng tác từ

• ' Thông tin không được rút ra lừ cáu hói": thông tin thích hợp thường không
được thành lập và sẵn sàng đ ế được chuyến, nó có thế ớ dạng thô và làm thành
công thức trà lời một câu hói.

• "Các câu hòi y ê u cầu một nền chung": cái gì được thu thập phụ thuộc không
chì p h ụ thuộc vào người được hói mà còn phụ người hỏi, nó là một dạng ihoà
hiệp.

• "Tất cả các câu hỏi là câu thông m inh": không thể hói m ột người nào đó mà
không sứ a đổi hoặc tác động đến mọi người và câu trá lời cùa họ; thậm chí thứ
lự cùa câu hói cũng có thể ánh hướng đến kết quà.

• "Các cáu hỏi xuất p h á t từ sự hiểu biết chứ không p h á i từ s ụ không hiểu biết":
Các câu hỏi tốt thường đến từ những người có kiến thức ít nhắt là tối thiếu. Tuy
vậy nó không gây ánh hưởng đến càu hài, việc thu thập không trớ thành cuộc
tranh cãi g iữa hai khái niệm.

• “C ác câu hỏi khiển người trà lời thuật một câu truyện hơn là cung cấp câu trà
lời": Vi dụ, m ột kịch bàn thường có vé thích hợp trở thành câu trà lời hơn là
các luật và lý thuyết trừu tượng. Tuy vậy nó phụ thuộc năng lực và hoạt động

cùa con người.

• “Câu trả lời tốt nghe có vé đúng thì tốt hơn là đúng Vào cuối ngày người phụ
trách thu thập dữ liệu là người duy nhất đánh giá s ụ trung thực và hữu dụng
cùa thông tin thu thập được

e. T hảo luận và v ậ n d ụ n g tr í tuệ tậ p thể


Đó là cách giải quyết vấn đề dựa vào nhóm. N ó là m ột cuộc họp dựa trên đóng

góp tự phát và không bị kìm chế cùa tất cả các thành viên trong nhóm. Cuộc thảo luận trọng
tâm vào m ột vấn đề đặc biệt, m ột tập hợp các ý kiến và các vấn đề với mục đich tạo ra ý

kiến mới hoặc giải quyết vấn đề. Một số chú ý:

• N ếu có thể thì p hóng vấn có thế được thực hiện trước khi dùng phư ơ ng pháp
thào luận nhóm khi cà hai phư ơ ng pháp được áp dụng.

• Trong thào luận có thể dẫn tới sự chệch hướng cần có m ột số biện pháp để
tránh v í dụ viết ỷ kiến ra giấy.
Xây dựng phương pháp luận phát triền ontology 275

• Các kỹ thuật mới cỏ thể có các kiểu thào luận khác (tin tức, thư điện lừ), nhưng
trong trường hợp này tiếp xúc trực tiếp van là tựa chọn tốt nhai

5.3.3 Vòng phân tích và phê chuẩn


Trong suốt quá trình thu thập, một vài phiên bàn thô và trung gian cùa các báo cáo,
cấu trúc, dấu vết cùa thu thập dữ liệu sẽ được tạo ra (ví dụ: báo cáo kịch bàn, bảng từ vựng,
văn bàn phỏng vấn, hình vẽ quan sát...). Phân tích những thứ đó sẽ cung cấp các chi dẫn và
trọng tâm cho các thu thập sau này. Có thể có nhiều phân tích khác nhau cùa một phiên bàn,
ví dụ một người phài phân tích một sản phầm, sau đó người đó phát hiện ra một lĩnh vực
mới, mà nó chưa được đề cập trong các phiên bàn phân tích trước đó do vậy người đó phải
phân tích lại sản phẩm. Một sản phẩm có thể được phân tích bởi nhiều người. Chính vì các
lí do đó, một sản phẩm được giữ nguyên nghĩa, chính xác từ, ngữ pháp các mô tả về mặt
tinh thần nắm giữ được trong quá trình thu thập dữ liệu.

Sự phân tích một báo cáo kết quà cùa giai đoạn thu thập dữ liệu có thể được chia
thành các giai đoạn:

• Đầu liên báo cáo p h á i được xem xét lại toàn bộ mà không có gắng đế cấu trúc
hoặc Hên kết những thông tin mà nó chứa đựng lại với nhau. Chúng la tập trung
nhận dạng các khối (ví dụ định nghĩa, sơ đồ), các thành phần (ví dụ m ột lừ chi
một khái niệm) và các kết nối (ví dụ liên két lôgic, thời gian).

• Sau đó báo cáo được đọc lại một vài lần không chi chắc chắn các phần đã được
nhận biết đầy đù mà còn để cấu trúc và làm nổi bật các liên kểt, quan hệ, độc
lậ p , n h ỏ m , c á c th a m c h ié u . Cú m ộ t v á n đ ề là x e r n XỔI k h ủ n g c ủ n g h ỉu lử c h ì dơn
thuần đọc lại.

• Khi mọi thứ được trích rút ra, sự phân tích đưa một báo cáo không chính thức
nhưng được cấu trúc, chú thích và có trật tự về những thứ vừa được thu thập

Dựa trên sự phân tích, các bước tiếp theo cùa thu thập dữ liệu có thể được trọng
tâm hom vào việc xác nhận hay bác bó các kết quả trung gian và để tập hợp thêm các chi
áết. Chúng ta có thể tiến nhiều hơn các cuộc phỏng vấn có cấu trúc, chú trọng quan sát,
hảo luận với mọi người về kết quả trung gian, hoặc giao tiếp m ột lần để làm sáng tỏ một
/ấn đề đặc biệt. Một lợi thế của e-mail là có thể dễ dàng copy câu trả lời m ột cách chính
xác.
276 Tác tử - Công nghệ phàn mềm hướng tác tử

Tiến trình phê chuẩn không chi bao gồm tiến trình mô hình hoá. Để xác minh chất
lượng và đề phát hiện các vấn đề sớm nhất có thể, phê chuẩn có thể được thực hiện như

• Doi chiếu các m ô hình và quan sát

• Đoi chiểu mô hình và kịch bàn

• Đoi chiếu phàn ứng cùa con người trên kịch bán và mô hình

• Đoi chiếu con người với mô hình

6 Xây dựng Ontology từ các nguyên liệu thô


Trong phần này chúng ta sẽ chúng ta sẽ tập trung vào một số pha chính trong quá
trinh xây dựng một ontology từ những thứ tạp nham hỗn độn. Các hoạt động và hướng dẫn
ờ đây có thể được sừ dụng trong việc dùng lại hoặc tích hợp ontology. Trong [Bachimont,

2000] tác già chia quá trình m ô hình hoá ontology thành ba giai đoạn. Thứ nhất là xác nhận
ngữ nghĩa (xác định ý nghĩa ngón ngữ học cùa các khái niệm ), thứ hai là xem xét về mặt
ontology nhằm xác định ý nghĩa hình thức cùa chúng và cuối cùng là xem xét về mặt tính
toán nhằm xác định hiệu quà cùa chúng trên máy tính.

Nghiên cứu ngôn ngữ và xem xét ngữ nghĩa

Ontology có nhiều dạng nhung chúng luôn có một từ vựng các thuật ngữ và đặc tá
ý nghĩa cùa chúng. Trong giai đoạn xác định phạm vi và thu thập dữ liệu một số thuật ngữ
nói chung và một số thuật ngữ trung tâm đã được xác định. [Uschold and Gruninger, 1996]
phát biểu:Với câu hỏi tiềm năng phi hình thức chúng ta có thể trlch rút ra một số thuật ngữ
được dùng để biểu diễn câu hói, chúng ta sẽ dùng chúng như là nền tảng cơ bản cho việc
đặc tà các thuật ngữ. Hơn thế nữa ta sẽ xác định một tập các thuật ngữ,tạo ra định nghTa
phi hình thức cho các thuật ngữ và xác định vấn đề cần giải quyết để xử lý các thuật ngữ tối
nghĩa. Từ điển phi hình thức và bảng chú giải các thuật ngữ chuyên ngành được xác định
dùng phương pháp luận trên đề cung cấp ngữ nghĩa được m ong đợi cùa thuật ngữ và đặt cơ
sở cho đặc tả các tiên đề trong ngôn ngữ phi hình thức.

Việc nghiên cứu về m ặt thuật ngữ là trọng tâm cùa công nghệ ontology, nó tạo ra
các thuật ngữ mà qua đó các định nghĩa liên đới có thể được tạo ra. Bước bắt buộc này có
Xây dựng phương pháp luận phát triển ontology 277

thề được thực hiện thông qua nghiên cứu ngôn ngữ. Quan điểm cùa việc xem xét về mặt
ngữ nghĩa là để xác định các từ gốc (primitive) cần được chứa trong ontology. Các ý niệm
(notion) là những tri thức cho phép định nghĩa tri thức khác. Xác định một ontology không
chì là mô tà và xác định các từ gốc sẵn có trong lĩnh vực mà còn phài mô hình hoá và xây
dụng các từ gốc nhằm giài quyết vấn đề. Nhưng vấn đề là làm như thế nào? Ý tường ờ đây
là bắt đầu lại từ vấn đề biểu diễn ngôn ngữ của tri thức lĩnh vực.

Việc xem xét ngữ cảnh cùa tri thức là rất quan trọng. Vì tri thức chì có ý nghĩa khi
phù hợp với ngữ cảnh mà nó áp dụng. Việc đầu tiên chúng ta cần làm là hình thức hoá ngữ
cành và sau đó thiết lập những thuật ngũ chung, được chia sè.

[Bachimont, 2000] gọi pha này là chuẩn hoá ngữ nghĩa: công việc mô hình hoá
được thực hiện bắt đầu từ những văn bản đã được kiểm nghiệm trong thực tế và được tập
hợp. Sự lựa chọn văn bản ờ đây dựa trên những tiêu chuẩn liên quan đến phương pháp phân
tích được sử dụng và vấn đề được giải quyết. Việc lập ra một tập văn là rất nhạy càm vi nếu
quá thiên lệch chù quan thi sẽ rất khó có thể đánh giá, kiểm định về sau.

Nguồn để lấy ra tri thức thường là các nguồn mang tính chất ngôn ngữ học, mà
(nột phần lớn Irong số đó là văn bản text. Do vậy rất cần phát triền những công cụ phân tích
rân bản trong đó việc áp dụng các kỹ thuật trí tuệ nhân tạo là cần thiết. Chúng sử đụng các
uặt thống kê, ngôn ngữ học, các heuristic., và góp phần bán tự động quá trình phân tích văn
làn.

Các tập văn chứa các biểu diễn cùa ý niệm cần mô hình hoá. Chúng ta thường nghĩ
ăng các đơn vị ngôn ngữ được sử dụng như là các khái niệm. Nói cách khác chúng ta định
ghĩa khái niệm bàng từ hoá (wording) ngôn ngữ cùa chúng. Lợi thế ở đây là các khái niệm
hận được trực tiếp khà năng thông dịch bời các chuyên gia sử dụng nó. Bất tiện là nếu việc
ỉr hoá có thể hiểu được theo một cách nào đó không có gì bát buộc chúng phải được thông
ịch theo cùng một cách đó chứ không phài là cách nào khác. Do đó điều cần thiết là phải
Sồng buộc sự thông dịch một cách tự phát việc từ hoá được tạo bời các chuyên gia. Sự từ
oá không thể được dùng như các từ gốc bởi theo định nghĩa từ gốc phái được xác định
thông theo ngữ cành, v ấ n đề quay trớ lại là từ ngữ nghĩa cùa ngôn ngữ tự nhiên phải đạt
ược định nghĩa không phụ thuộc ngữ cành cùa từ hoá [Bachimont, 2000].
278 Tác tử - Công nghệ phần mềm hướng tác tử

Luận chứng cùa Bachimont dựa trên mô hình vi sai cho việc đặc tính hoá ngữ
nghĩa cùa ngôn ngữ. Mô hình này nằm trong ngôn ngữ học: nó định nghĩa một đơn vị ngôn
ngữ từ các đơn vị ngôn ngữ khác. Sự khác và giống nhau giữa các đơn vị được xác định
trong ngôn ngữ, có thể được mô tà trong tập văn và những thứ bên cạnh trong một ngữ
cảnh. Sự khác nhau ngữ nghĩa xác định dấu hiệu (‘signified’) rằng các đơn vị ngôn ngữ có
các điểm đặc trưng khác nhau. Dưới quan điểm lý thuyết ngôn ngữ học các đặc điểm khác
nhau như như trên được thể hiện qua một quan hệ gọi là nghĩa vị. Tuy nhiên chúng ta
không đi sâu vào phân tích khái niệm này. Tóm lại ta thấy các đơn vị ngôn ngữ có thể có
khác nhau tuỳ thuộc vào ngữ cánh và nghĩa vị cùa nó. Đe chuẩn hoá ngữ nghĩa chúng ta cố
định một ý nghĩa có thể cùa đon vị ngôn ngữ trong ngữ cành mà nó thường xuyên được
tham chiếu. Hay có thề nói việc chuẩn hoá về mặt ngữ nghĩa là sự lựa chọn m ột ngữ cảnh
tham chiếu tương ứng với nhiệm vụ hay vấn đề thúc đẩy ta dựng lên một biểu diễn tri thức
mang tính hình thức. Điều này có nghĩa là nhiệm vụ cùa người mô hình hoá sẽ cố định ý
nghĩa cùa đơn vị ngữ ngôn ngữ được xem xét.

Tới thời điềm này chúng ta có thể nhấn mạnh rảng chuẩn hoá là một công việc tập
thể cố sự tham gia cùa cà kỹ sư tri thức và những bên liên quan. Để hoàn thiện các nhận
định và xem xét trên ta có thể đưa ra một số hướng dẫn trong [Uschold và Gruninger,1996]
áp dụng vào việc đưa ra định nghĩa:

• Tạo ra một định nghĩa băng chữ (văn bàn text) cùa ngôn ngữ lự nhiên, càng
chính xác càng tốt

• Đâm bào sụ cố kết giữa với các thuật ngữ đ ã được s ứ dụng, đặc biệt là tham
chiếu tới các tài nguyên phong phú nhu từ điển, từ điền lừ đòng nghĩa, các thuạt
ngữ kỹ Ihuậl khác và càng tránh được việc đưa ra các thuật ngữ mới càng lot.

• Chi ra moi quan hệ với các thuật ngữ thường dùng tương tự với những cái đã
được định nghĩa (vi dụ từ đồng nghĩa hay các biến thể tham chiếu tới cùng một
ỳ niệm được ám chi nhưng lừ các bổi cành khác nhau).

• Tránh hiện tượng lặp khi định nghĩa các thuật ngữ, điều này s ẽ làm giám tính rõ
ràng và ánh hướng tới việc chuàn hoá sau này.

• Việc định nghĩa mỗi thuật ngữ được mong đợi là cần thiél và đầy đũ tới mức có
thế trong ngôn ngữ lự nhiên. Cung cấp sự rõ ràng và các thông tin cẩn thiết để
hiếu định nghĩa như là các chú ý tách biệt theo các định nghĩa.
Xây dựng phương pháp luận phát triển ontology 279

Người ta cũng được khuyến khích đưa ra các ví dụ thích hợp để làm rõ sự giống và
khác nhau cùa các định nghĩa. Các ví dụ càng giới hạn nhưng càng bao phủ nhiều trường
hợp càng tốt.

Từ định nghĩa chúng xây đựng các khái niệm, nhưng từ nghiên cứu thuật ngữ ta
nhận thấy ràng các thuật ngữ có các vai trò khác nhau. Nói rõ ràng hơn một số thuật ngữ
biểu thị các khái niệm tự nhiên một số lại biểu thị mối quan hệ giữa các khái niệm này. Các
quan hệ có các định nghĩa cùa chúng nhưng quan trọng không kém là xác định loại cùa các
khái niệm mà nó liên kết.

Như ta đã nói trong suốt quá trình thiết kế Ontology điều quan trọng là đạt được và
duy trì sự thống nhất với các kịch bàn cùa các bên liên quan. Với một số thuật ngữ, sự nhất
tri trên định nghĩa cùa một khái niệm là dễ dàng. Trong một số trường họp khác nhiều thuật
ngữ tương ứng với một định nghĩa khái niệm. Đặc biệt có một vài trường hợp các thuật ngữ
được sử dụng có sự khác nhau đáng kể nhưng không một định nghĩa hữu dụng nào có thể
được thống nhất.

Như vậy có ba trường hợp khi nghiên cứu các thuật ngữ:

• MỘI thuật ngữ lương ứng với một và chi một định nghĩa: Đáy là /rường hợp lý
tướng và không có vần đề gì.

• Nhiều thuật ngữ lương ứng với một định nghĩa: Các thuật ngữ là đong nghĩa,
người la giữ một danh sách các lừ đồng nghĩa và có thê chọn một thuật ngữ
thlch nhai đế tham chiếu lới định nghía đó.

• M ộ t t h u ậ t r ig ir t i r ơ n g ứ n g v ớ i n h ì ẻ u k h á i n i ệ m , ò1i c u n à y đ ỏ n g n g / t ĩ u v ó i s ụ ló i

nghĩa,

• Các thuật ngữ tối nghĩa có thế được x ứ lý theo cách sau:

• Chắm dứt sừ dụng thuật ngữ nếu nó quá lồi nghĩa.

• Làm sáng tó các ý lường bằng cách định nghĩa mộI cách can thận moi khái
niệm dùng càng ¡1 thuật ngữ kỹ thuật càng tốt, hoặc chi dùng những thứ mà ỳ
nghĩa cùa nó đã được nhắt tri (dùng từ điến, từ điển chuyên đề, bàng chú giới kỹ
thuật...).

• Có thế hữu dụng khi đưa cho các định nghĩa này những nhãn không cỏ ỷ nghĩa
như x ì, x2 ,x3... đế chúng có thế tham chiếu một cách thuận tiện.
180 Tác từ - Công nghệ phần mềm hướng tác tử

mà vai trò gửi và nhận từ những vai trò khác. Điều này ràng buộc cách mà vai trò tương tác
với những tác tử khác, và ràng buộc về việc m ột vai trò tương tác với những vai trò khác.
Tuy nhiên, những chức năng của Prom etheus lại không xác định chi tiết cách mà những
chức năng được hoàn thành như thế nào. Bời vậy, trong khi pha phân tích của Prometheus
bắt đầu xác định cách mà những chức năng liên hệ tới những chức năng khác, thì những
chức năng Prometheus lại có xu hướng ít thực hiện được hơn là vai trò trong Gaia. Nó nám
bắt những mục tiêu của hệ thống, tri thức về phạm vi ứng dụng, những yêu cầu trên môi
trường, và những yêu cầu trên hệ thống máy tính. Những mô hình được tạo ra miêu tả
những yêu cầu cùa hệ thống và tránh gồm quá nhiều những chi tiết về cách mà hệ thống
được thực hiện ra sao.

3.2 Phưong pháp Tropos

Phương pháp Tropos được thiết kế bao gồm tất cả các pha trong phát triển phần

mềm. Nó bao gồm những pha cho yêu cầu sớm, yêu cầu muộn, thiết kế kiến trúc, thiết kế
chi tiết, và thực hiện. N hững pha phân tích phần mềm là những pha yêu cầu sớm và yêu cầu
muộn. Những khái niệm và ký hiệu tương tự được sứ dụng trong cả hai pha. Những khái
niệm trong phương pháp.

- M ục đích: Biểu diễn những quan tâm chiến lược cùa người thực hiện. Tropos
miêu tả những mục đích cứng và mềm. Những mục đích cứng miêu tà chức năng mà hệ
thống sẽ hoàn thành. N hững m ục đích mềm miêu tả những yêu cầu phi chức năng như là
bảo mật, sự thực hiện và khả năng bảo trì.

- R àng buộc: mối quan liộ ràng buộc giữa nhang người thực hiện miêu lầ những
trường hợp ở đó m ột người thực hiện phụ thuộc vào người khác để đạt được một mục đích,
thực hiện một kế hoạch, hoặc chuyển giao một tài nguyên.

- Kế hoạch: là m ột cách đặc biệt để đạt được một mục đích.

- T ài nguyên; N hững tài nguyên vật lí hay dữ liệu mà một người thực hiện có thể
cần hoặc người khác cung cấp.

- N ăng lực: K hả năng của m ột người thực hiện để định nghĩa, chọn lựa và thực

hiện một kế hoạch để hoàn thành m ột mục đích.

- T ri th ứ c : Biểu diễn những tri thức của người thực hiện.


Công nghệ phần mềm hướng tác tù’ 181

Trong pha yêu cầu sớm, chúng ta mô hình hoá và phân tích những mục đích và
những ý định cùa nhà đầu tư. Thông qua phân tích, phương pháp Tropos xây dựng những
mô hình yêu cầu chức năng và phi chức năng. Những mô hình này bao gồm người thực
hiện, mục đích cúa chúng, và những ràng buộc cúa chúng.

Pha yêu cầu muộn sử dụng những mô hình được sử dụng trong pha yêu cầu sớm.
Trong pha y êu cầu muộn, chúng ta xác định hệ thống phần mềm như là những yêu cầu mà
không có thông tin gi về thiết kế. Những khái niệm này trong Tropos là trình độ cao, xác
định những mục đích hơn là những bước để đạt được chúng.

3.3 Phương pháp Gaia

Gaia mục đích là cho phép một nhà phân tích đi theo một cách hệ thống từ những
yêu cầu đến một thiết kế mà đã được mô tả đầy đù đến mức nó có thể được thực hiện một
cách trực tiếp. Ghi nhớ rằng chứng ta xem xét những yêu cầu nắm bắt các pha như thề độc
lập với các mô hình được sử dụng cho phân tích và thiết kế. Trong khi áp dụng Gaia, người
phân tích đi từ trừu tượng đến dần khái niệm cụ thể. Mỗi bước tiến kế tiếp sẽ đưa ra xu
hướng tliực hiện lớn hơn, và giảm không gian những hệ thống có thể mà có thể được thực
hiện để thoà mãn những yêu cầu ban đầu. Phân tích và thiết kế có thề được xem như một
tiến trình của việc phát triển những mô hình được chi tiết hoá hơn cùa hệ thống được xây
dựng. Những mô hình chinh được sử dụng trong phương pháp Gaia được tổng kết lại trong
hình 5.3, Gaia đã mượn một số những thuật ngữ và ký hiệu cùa phân tích và thiết kế hưóng
đối tượng.

Tuy nhiên, đây không phài là một cố gắng vô ích để áp dụng những phuơng pháp
như vậy cho phát triển hướng tác tử. Hơn thế, nó cung cấp một tập hợp những tác tử riêng
biệt cùa những khái niệm mà thông qua đó một kỹ sư phần mềm có thể hiểu và mô hình lên
được một hệ thống phức tạp. Trong trường hợp cụ thể, Gaia khuyến khích những nhà phát
triển nghĩ đến việc xây dựng những hệ thống dựa trên tác từ như là một công việc thiết kế
tổ chức. Những khái niệm chính cùa Gaia có thể được chia thành hai loại: trừu tượng và cụ
thể; những khái niệm trừu tượng và cụ thể được đúc kết trong báng 2. Những thực thể trừu
tượng được sử dụng trong quá trình phân tích để mô hình hoá hệ thống, nhưng lại không
cần thiết phải được sự thực hiện trực tiếp trong hệ thống. Những thực thể cụ thể, thi ngược
282 Tác từ - Công nghệ phẩn mềm hướng tác từ

khải niệm mức phân cap thắp và tống quái hoá chúng.

• Phương pháp trên xuống: Bắt đau lừ khái niệm long quát chung nhất và xây
dựng cấu trúc bang cách cụ thế hoá, ontology được xây dựng bang cách xác
định các khái niệm mức đinh và cụ thê hoá chúng. Phương pháp này là cái
khung đ ể tái sứ dụng ontology.

• Phương pháp xây dựng lừ giữa: X ác định các khái niệm trung tâm trong mỗi
lĩnh vực xác địnli, các khái niệm COI lõi được x á c định và sau đó được tông quát
hoá và cụ thê hoá đẽ hoàn thiện ontology.

Sự lựa chọn mỗi phương pháp và động lực cùa nó là tuỳ thuộc lĩnh vực và loại dữ

liệu được thao tác.

8 Bộ khung phân loại của ontology


Như ta đã thấy với một số biểu diễn trung gian được đề xuất ờ trên, ontology

thường bao gồm một phân loại các khái niệm. Một trong những vai trò cơ bàn cùa phân loại
là áp dụng cẩu trúc lên một ontology, để con người dễ hiểu và để cho phép tích hợp

ontology.

Như phát biểu trong định nghĩa, một phân loại là m ột phân lớp dựa trên sự tương
đồng. Không khó để nhận ra cấu trúc này là trung tâm cùa mô hình hoá tri thức khi mà nó
là bàn sao cùa hai trong số những suy diễn cơ bản nhất mà chúng ta sừ dụng hằng ngày:

• Phân lớp (classification) hay nhận dạng (identification): Là suy diễn ở đó chúng
ta xác định một thứ có thuộc một lớp hay một loại không. Ví dụ khi bạn nhận ra
một con ngựa có nghĩa là bạn có thế phân lớp/nhận biết đoi tượng ta vừa nhìn

là thuộc m ột lớp/loợi khái niệm được gán nhãn là "ngựa

• Phán loại (categorization): Là suy diễn ớ đó ta nhận ra và to chức các loại/lớp


của s ự vật trên thể giới. Nếu bạn có hạt đậu Hà Lan màu xanh, hạt đậu xanh, cà
chua và dâu tây trên một cái bàn và bạn được hòi p h á i phàn chia chúng thành

hai loại dựa trên một tiêu chuan bạn sẽ có thê d ễ dàng tạo ra loại "những thứ

xanh " và loại "những thứ đ ó ”.

Quan hệ nàm ờ trung tâm cùa phần loại là sự xếp vào lớp (gộp): m ột khái niệm C1
Xây dựng phương pháp luận phát trién ontology 283

xếp lớp khái niệm khác C2 khi và chi khi tất cà thể hiện cúa khái niệm C2 là thể hiện cùa
C l. x ế p lớp là việc kết họp một khái niệm dưới một khái niệm khác tồng quát hon. Dựa
trèn Mên kết xếp lớp cơ chế kế thừa được xác định, ờ đó một khái niệm kế thừa các đặc
điểm cùa một khái niệm xếp loại nó. Bản chất tự nhiên cùa cấu trúc vẫn là một vấn đề bàn
cài đạc biệt giữa những người tin vào cây cấu trúc thuần tuý và những người úng hộ đồ thị
đa kế thừa tồng quát hay những người ùng hộ cấu trúc lưới (lattice structure). Dưới đây ta
sê xem xét một số vấn đề về cấu trúc tổng quát của sự phân loại.

Tiếp theo phần nghiên cứu về ngôn ngử ở phần trên [Bachimont, 2000] tranh cãi
rằng cấu trúc tổng quát cùa ontology là cấu trúc hình cây.

Thực chất cấu trúc hình cây hay m ạng chỉ là tương đối. Trong ngôn ngữ bàn thân
các đơn vị ngữ nghĩa có thể tự mô tà chúng thông qua sự giống và khác nhau. Mọi đơn vị
đều có khá năng SO sánh, chúng được xác định thông qua một đom vị nền tàng cơ bàn và
tổng quát (ví dụ trong ontology thường có một khái niệm là “thing”). Già sừ ràng cấu trúc
cùa sự kế thừa là cấu trúc mạng. Già sứ đơn vị u có hơn hai lớp là mức cha, hai mức này
phải phân biệt nhau. Nếu chì nói sự giống nhau giữa hai lớp cha thì có nghĩa là có một lớp
tổng quát hơn lớp kia, và do đó chi có một lớp là lớp cha trực tiếp. Do vậy nó phài được mô
tà qua sự khác nhau để phân biệt chúng. Điều này ám chi răng chúng có những đặc điểm
trái ngược nhau. Do vậy mà một đơn vị chi có một và duy nhất một đơn vị cha. Do vậy
mạng thực chất là cây [Bachim ont, 2000],

Ontology sử dụng khái niệm lăng cường (intension) và mờ rộng (extension) cùa
một khâi niệm trong triét học. Sự tang cường tương ứng với ý nghla cũa khai niệm lúc câc
thuộc tính của khái niệm, còn sự m ở rộng nói tới các đối tượng được gắn với khái niệm.

[Bachimont,2000] đề xuất phương pháp xác định ý nghĩa cùa một đơn vị trong
cây, ứng với một nút. N ó bao gồm bốn nguyên tắc:

• Nguyên lác cha (parent com m unity principle): mọi đơn vị đều xác định sự giong
nhau nào đó với cha cùa nó. C húng ta phái làm rõ s ự giong nhau đoi với đơn vị

cha. Nguyên tắc này là cót lõi cùa quá trình tổng quát hoá.

• Nguyên tắc khác với cha (parent difference principle): Mọi đơn vị đểu khác với

cha cùa nó, nếu không s ẽ không có cách nào định nghĩa nó. Chúng la phái chi
284 Tác tử - Công nghệ phần mềm hiPỚng tác từ

rõ s ự khác nhau đẽ phân biệt đơn vị với đơn vị cha cùa nó. N guyên lắc này là
cót lõi cùa quá trình cụ thê hoá.

• Nguyên lắc khác anh em (brother difference principle): M ọi đơn vị đều khác với
anh em cùa nó, nếu không thì cũng không thê xác định nó. Và chúng la p hai chi
rõ s ụ khác nhau đé phân biệt một đơn vị với anh em cùa nó.

• Nguyên tắc cộng đong anh em (brother community principle): Theo định nghĩa
tát cá đơn vị con cùa một đơn vị cha có chung một số đặc điếm chung với cha
cùa nó. Nhưng chúng la phải thiél lập một cộng đông khác g iữa các đơn vị con,
đó là thứ cho phép la xác định sự khác nhau, loại trù lân Iihaii giữ a các đơn vị

con.

Ta có thể vi dụ: chức năng cùa một người trong một bộ phim: ba khái niệm có thể
được tổ chirc theo các định nehTa ở trên là: Chức năng, Diễn viên. Đạo diễn.

Trong ví dụ ta có thể thể hiện các nguyên tấc trên: Theo nguyên tẳc cha thì diễn

viên và đạo diễn đều là các chức năng, nguyên tắc khác cha: diễn viên và đạo diễn có vai

trò cụ thể \à hạn chế SO với chức nănsi. Nguyên tác khác anh em: diễn viên đóng phim, còn
đạo diễn chi đạo làm phim. Nguyên tắc cộng đồng anh em: cả diễn viên và đạo diễn đều có
chức năng trong làm phim.

Hình 7.2 VI dụ nguyên tắc của Bachimont.

Nói rõ hơn nguyên tác cộng đồng anh em, [Kassel, 2000] phát biểu rằng bàng cách

xem xét céc định nghĩa chúng ta có thể đưa ra sự tương tự giữa những dấu hiệu phân biệt
đặc trưng, việc gom nhóm tương ứng với khái niệm trục ngữ nghĩa. Trục ngữ nghĩa nhóm
các con cùa một khái niệm theo đặc điểm liên quan đến định nghĩa dấu hiệu đặc trưng của
nó. N ó hiện thực hoá nguyên tác cộng đồng anh em và nguyên tẳc khác biệt. Ví dụ: các tài
Xày dựng phương pháp luận phát triển ontology 285

liệu phân biệt nhau bởi phương tiện (giấy, điện tử...), vai trò (thông báo, tham khảo...) trạng
thái (chính thức, không chính thức...) và tương tự như vậy.


Báo cáo Tin tửc Bài báo

Hình 7.3 Ví dụ của Kassel.

Trục ngữ nghĩa đưa ra một quan điểm dưới cái nhln phân cấp kế thừa. Nó không
bắt buộc người thiết kế phải chọn một dấu hiệu đặc trưng dưới một mức tổng quát ờ trên.
Điều này cũng tương tự như khái niệm thuộc tính trong ngôn ngữ mô hình hướng đối tượng
ớ đó nhiều sự phân loại khác nhau được xây dựng.

Bachimont kết luận quan điểm của minh về xem xét ngữ nghĩa như sau: Nguyên
tác khác nhau tương ứng với một nút cùa cây ontology tạo lên sự rõ ràng trong các thuật
ngữ lĩnh vực ngôn ngừ học, đó là thứ phải được hiểu rõ từ sự từ hoá cùa nút. Do vậy nếu
theo nguyên tắc này ta có thể đám báo việc từ hoá không chi là một đơn vị ngôn ngữ với ý
nghĩa biến đồi theo ngữ cành sử dụng cùa nó mà còn là một từ gốc với ý nghĩa không đổi.
Nguyên tấc khác biệt tinh chinh và điều chinh ý nghĩa mà người dùng áp dụng các thuộc
tính một cách tự phát vào các nốt cùa cây ontology. Chúng ta nhận được một mạng trong đó
mỗi vị trí cùa một nút xác định ý nghĩa của nó. Ý nghĩa được xác định bời vị trí trong cây là
độc lập với ngữ cành. Việc từ hoá sau đó có thể được đùng như là một từ gốc. Bằng cách
tuân thủ nguyên tác khác biệt và ý nghĩa của chúng, các nút cùa cây ontology ứng với các
khái niệm có thể được sử dụng khi mô hình hoá và chuẩn hoá các từ gốc.

Để giúp cho người làm ontology trong việc cấu trúc hoá, một phương pháp bán tự
động là khả thi. T rong [Sowa, 2000] bảng thuộc tính Boolean được dùng như là các dấu
hiệu đặc trưng, trong ví dụ là các loại đồ uống.
286 Tác tử - Công nghệ phần mềm hướng tác từ

T huộc tính
Kiểu khái niệm nonalcoholic hot alcoholic caffeinic sp a rk lin g
HerbTea X X

Coffee X X X

M ineralVater X X

Wire X

Beer X X

Coll X X X

Champigne X X

Hình 7.4 Bảng thuộc tính Boolean cùa Sowa.

Tir bảng này ta xây dựng lên lưới sau:

B n ir ig i

Hình 7.5 Lưới cắc khái niệm đồ uống ban đầu.

Giải thuật là sự gia tăng và lặp cùa việc thêm vào hai thuộc tính mới nhằm phân
biệt Charroangne (rượu sâm panh) và Beer (bia) có thể được thể hiện qua: “Làm từ nho” và
“làm từ Hit” . N hư thế ta đã sinh ra một nút lưới mới.

Tiếp tục thấy rằng (với con người nói chung và người uống nói riêng). Cà phê
cũng làm ừ hạt. Cùng với việc thêm các thuật ngữ tương ứng với các khái niệm người làm
Ontology cũng đồng thời thêm các thuật ngữ tương úng với các quan hệ. Tuy nhiên các
quan hệ kiông thể được thêm vào như những khái niệm, do các quan hệ liên kết các khái
Xây dựng phương pháp luận phát triển ontology 287

niệm nên nó phài được định nghĩa dựa trên các khái niệm. Neu ta chì xem xét các quan hệ
nhị phân thì các quan hệ được xác định theo cách sau:

B tv tra g e

Một quan hệ được định nghĩa bởi các khái niệm mà nó liên kết, các khái niệm này
tạo thành dấu hiệu ngữ nghĩa cùa quan hệ.

Bên cạnh việc nó được định nghĩa bằng nội dung ngữ nghĩa bên trong, trên đó hai
khái niệm là trung tâm. Các ngữ nghĩa bên trong cùa quan hệ được xác định bằng cách SO
sánh với các quan hệ khác có cùng dấu hiệu ngữ nghĩa tương ứng với mô hlnh dấu hiệu đặc
trưng. Sự tương tự không hề bj giảm với việc có cùng dấu hiệu đặc trung. VI dụ các quan
hệ “Tác từ không tự chù” và quan hệ “Tác từ không tự chù” có cùng một quan hệ cha là
“Tác tử”.

Nói cách khác mỗi dấu hiệu ngữ nghĩa thường là gốc của cây dấu hiệu đặc trung
cùa các quan hệ có cùng dấu hiệu đặc trưng và được chi rõ tương ứng với nguyên tác khác
biệt. Các dấu hiệu ngữ nghĩa cũng tạo thành một cây, do đó chúng ta có một cây quan hệ
bên cạnh câv khái niệm.

Ta có thề đưa ra vl dụ sau:


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

Hình 7.7 Vi dụ về dấu hiệu ngữ nghĩa.

T rong trường hợp đầu dấu hiệu được chi rõ, trong truờng hợp thứ hai dấu hiệu
không được để cập đến nhưng sự tăng cường được chi rõ.

[Staab và M aedche, 2000] nói rằng ngữ nghĩa cùa các định nghĩa trong Ontology
không có các đặc tà cho các tiên đề (axiom ), các tiên đề này cũng là các đối tượng. Việc
cho các đặc tà tiên dề vào O ntology mới chi giới hạn ờ việc dùng m ột số fram ework logic,
hay các ngôn ngữ logic thứ tự đầu (fist-order logic language), điều này là không có lợi cho
các Ontology cỡ lớn, khi m à việc bảo trì số lượng lớn các tiên đề là rất khó khăn.

Ý tường là dùng một sự phân loại và biểu diễn đối tượng cho các tiên đề để tổ
chức các tiên đề v à cung cấp m ột biểu diễn ngắn gọn, dễ hiểu,thuận tiện khi truy nhập. Có
thể đạt được điều này bàng phương pháp phân loại các tiên đề thành các kiểu tiên đề tuỳ
theo ý nghĩa ngữ nghĩa của nó. Mỗi kiểu nhận được một biểu diễn đối tượng trừu tượng với
cú pháp cụ thể và chi giữ các tham chiếu tới các khái niệm và quan hệ cần thiết nhằm phân
biệt một tiên đề cụ thể cùa m ột kiểu với tiên đề khác cùng loại.

T ác giả cũng đề xuất sự phân loại các tiên đề như sau:

/. T iê n d è c h o d ụ i s ô q u a n h ệ

(a) Tính p h à n x ạ của quan hệ


(b) Tính không phản xạ cùa quan hệ

(c) Tinh đói xứ n g của quan hệ

(d) Tinh bất đối xứng cùa quan hệ


(e) Tính p h à n đối xứ ng cùa quan hệ

(f) Tinh bắc cầu cùa quan hệ

(g) Tinh đào cùa quan hệ


2. Tinh p h ổ i hợp cùa quan hệ

3. Tính phán chia


Xây dựng phương pháp luận phát triền ontology 289

4. Tiên đề cho các m ói quan hệ sub-relalion (quan hệ con)


5. Tiên đề cho các suy diễn một phản-toàn bộ (part-whole)
6. Tiên đề cho các ngữ cành thòi gian, cách thức

9 Các công cụ hỗ trợ xảy dựng ontology


Trong những năm gần đây, các nhà khoa học trên thế giới đã xây dựng một số môi
tnrờng để phát triển và sử dụng các ontology. Các công cụ hỗ trợ ontology này là hết sức
quan trọng cho cã việc xây dựng và ứng dụng ontology trong các lĩnh vực cụ thề.

9.1 Yêu cầu về công cụ thiết kế


Khi ta dự định xây dựng một ontology, ta có thể đặt ra rất nhiều câu hói liên quan
đến việc sử dụng các công cụ phát triển ontology:

• Loại công cụ nào là thích hợp nhát cho nhiệm vụ xây dựng ontology của chúng
ta?

• Loại công cụ nào hô trạ tốt hơn cho tiến trình pháI triẽn ontology ?

• Ontology được lưu trữ n hư the nào (cơ s ở dữ liệu, dạng file X M L hay dạng m ã
ASCII)?

• C ông cụ có ho trợ m áy suy diễn hay không?

• Công cụ có khá năng chuyến đối hoặc thu nhận ontology từ các ngôn ngữ khác
nhau hay không?

• Các ứng dụng có thể kết hợp với công cụ bằng cách nào?

• Các ontology sẽ được s ử dụng như Ihé nào trong các ứng dụng trẽn thực tế?

• Có thể tái sứ dụng các ontology trong cùng m ột lĩnh vực hay không?

• Làm thế nào đế hợp nhất hai ontology tương tự nhau trong cùng m ột lĩnh vực?

• Làm thế nào đê đánh giá chất lượng của ontology đang được x â y dựng và các

ontology khác mà ta cỏ ỷ định sẽ tái sừ dụng?

• Độ on định và chinh xác cùa công cụ mà ta s ù dụng?

• Liệu chúng ta có thể xâ y dựng một ontology từ văn bàn dưới dạng ngôn ngữ tự
nhiên m ột cách tự động hoặc bán tự động hay không?
290 Tác từ - Công nghệ phần mềm hướng tác tử

• Cóng cụ nào cho phép ta tìm kiếm thông tin về ontology bang các câu truy van.

• Những cân hói trên cho la cái nhìn sơ lược về khá năng cùa các công cụ ho trợ
ontology đã có. Ta có thể chia các công cụ này thành 4 nhóm:

• Nhóm các công cụ p hát triển ontology: Nhóm này bao gồm các m ôi trường và
các công cụ ho trạ cho việc xây dựng từ đau m ột ontology m ới hoặc tá i sừ dụng
các ontology đã có san. Ngoài các tính năng cơ bán là soạn tháo và xem xét các
ontology, các công cụ này còn có thê bao gôm việc xây dựng các văn bàn
ontology, xuất và nhập ontology dưới dạng các ngôn ngữ khác nhau, đưa ra
hình ánh đò hoạ cùa ontology, x â y dựng các thư viện ontology và các máy suy
diễn ...

• Nhóm công cụ hoà trộn và tích hợp các ontology: C ác công cụ này ho trợ cho
việc tích hợp các ontology khác nhau trong cùng m ột m iền ứng dụng. Yéu càu
này náy sinh khi hai tô chức có nhu cầu hợp nhất hoặc cân p h á i xảy dựng một
ontology tổng hợp từ các ontology đ ã có trong lĩnh vực.

• Nhóm công cụ đánh giá ontology: C ác công cụ này nhằm đàm bào cà các
ontology và các công nghệ Hên quan sẽ có m ột m ức chất lượng nhất định. Đám
bảo chất lượng là yếu 10 vó cùng quan trọng đ ể tránh những van để náy sinh khi
la tích hợp các ontology khi ứng dụng trong các ngành sán xuất. Trong tương
lai, từ các công cụ này, người ta sẽ đưa ra các tiêu chuan đ ế đánh giá và chứng
nhận chất lượng.

• Nhóm lưu trữ và truy vắn ontology: Các công cụ này được xây dựng đế giúp
cho việc sử dụng và truy van các ontology m ột cách tối ưu. Đe thích hợp với m ôi

trường Web, nhiều ngôn ngữ truy van mới đ ã được x â y dựng đ ể p h ụ c vụ cho

việc tìm kiếm thông tin về ontology.

Sau đầy ta sẽ đi sâu nghiên cứu vào từng nhóm công cụ trên, chi ra một số công cụ
trong các nhóm đó, chọn ra một công cụ tiêu biểu để mô tả kỹ càng.

9.2 Nhóm các công cụ phát triển ontology


Khi nghiên cứu các công cụ phát triển ontology, ta cần quan tâm đến một số tiêu

chí như sau:


Xảy dựng phương pháp luận phát triển ontology 291

- Kiến trúc phần mềm: Bao gồm các thông tin về kiến trúc chung cùa công cụ, khá
năng mở rộng của công cụ và phương thức lưu giữ các ontoiogy và hệ thống back-up dữ
liệu.

- Khả năng phối hợp với các công cụ và ngôn ngữ ontology khác: khà năng cùa
công cụ có thể tương thích với các công cụ khác trong các công việc như kết hợp, lưu trữ,
suy diễn v.v... và khả năng dịch từ các ngôn ngữ ontology khác.

- Biểu diễn tri thức: ta cần quan tâm đến mô hình biểu diễn tri thức cùa công cụ.
Việc tri thức gi và biểu diễn tri thức như thế nào là hết sức quan trọng.

- Các hỗ trợ suy diễn đi kèm theo công cụ: Công cụ'có máy suy diễn đi kèm hay
sừ dụng các máy suy diễn ớ bên ngoài. Ngoài ra, ta còn cần quan tâm đến khà năng kiểm
tra mâu thuẫn, khả năng tự phân loại các lớp trong cây phân cấp và khà năng kiềm soát
ngoại lệ trong cây phân cấp.

- Khà năng sừ dụng: các công cụ đồ hoạ hỗ trợ cho việc tạo các khái niệm và mối
quan hệ, khà năng giảm bớt các đồ thị và khà năng phóng to một phần cùa đồ thị. Ngoài ra,
ta cũng cần quan tâm đến việc công cụ có cho phép xây dựng một thư viện các ontology.

Hiện nay trên thế giới có rất nhiều loại công cụ khác nhau, ta có thể kể ra đây một
loạt các dự án: Apollo, OILEd, OntoEdit, Ontolingua Server, Protégé, WebOnto V.V.... Ta
sẽ tập trung nghiên cứu kỹ về Protégé. Đây là một công cụ được phát triển tại Đại học
Stanford (Hoa Kỳ). Protégé -2 0 0 0 có tới hàng nghìn người sừ dụng trên khắp thế giới với
rấ t n h iề u c á c dvr á n : từ n h ữ n g h ư ớ n g d ẫ n c h ữ a b ệ n h đ ế n c á c n h à m á y đ iệ n n g u y ê n từ.

Protégé -2000 có thể tài xuống và sừ đụng miễn phí theo bản quyền mã m ở Mozilla.

9.3 Công cụ Protégé-2000


Mô hình tri thức cùa Protégé-2000 hoàn toàn tương thích với OKBC (Open
Knowledge Based Connectivity - Liên kết m ờ cho các hệ tri thức). Mô hình này hỗ trợ các
các lớp và hệ thống đa thừa kế; các siêu lớp và hệ các siêu lớp; các slot cho phép mô tà đặc
điểm của lớp; các ràng buộc đối với các slot: kiểu dữ liệu, giới hạn về tập hợp, giá trị mặc
định.
292 Tác từ - Công nghệ phàn mềm hướng tác tử

BnBcsB!EEaEaŒ EBgBiagBgîgB8mgsBsaEpaipsaM BM i«fe JÜ.ÏJ


Project Etflt Window H e»__________ ________ _ _________________ ; ____________ ________________________ _
Ũ £¿ a <• f t » ; ỉ * ỉ r ...A R " . ~ ... '..........................
f^c~) Classes
Relations!ip! Superclass ▼( V C ừ X 3 Food <type-STANDARD-CLASS) c X
rc> THING A tom. Documenta»ion Const! ant8 !
©■<£) SYSTEM-CLASS A
( c) Winery
i ■ Food
9 ©Wine regionA
$ ©United States regionA 1 Roto 1
(c) Arroyo Grande region
(c> Central coast region Ie" « * ® ~w \
©Edna Valley region II
© Mendocino region Templóte Slats y 1
© Napa Valley region  ■■ ọth|
© Santa Barbara region 5Jname String single
© Santa Cruz Mountains region
(?) Sonoma region ñ ị;.
©Italian region*
► ©French region A
©■ ©Australian regionA
©German region A i ■
© New Zealand region A M
©Portuguese regionA i§ í
^ ©Consumablething
1ị
*■(£> Drink J
.M í
Superclasses ♦ - Ị
pOKWuraabtolbino s jl ■ ""1. 1

Hinh 7.8 Công cụ Protégé hỗ trợ xây dựng ontology.

Protégé-2000 cung cấp m ột môi trường tương tác đồ hoạ hỗ trợ việc xây dựng các
ontology và các hệ cơ sờ tri thức. Người sử dụng có thể dễ dàng truy cập tất cả các thông
tin cần thiết của ontology, quản lý và sửa đổi nội dung của ontology. Cửa sồ cây phân cấp
cho phép người sử dụng nhanh chóng duyệt qua các hệ thống các lớp và sừ dụng các form
đề nhập dữ liệu cho các slot.

Ngoài khả năng tiện dụng, ưu điểm nổi bật cùa Protégé-2000 là khả năng tương
thích với nhiều mức độ sừ dụng và khả năng m ở rộng.

9.3.1 Khả năng tư an g thích


Người ta đã từng sừ dụng Protégé-2000 để xây dụng và sử dụng những ontology
có kích thước lên đến 150.000 cá thể. Để hỗ trợ cho việc sừ dụng tới hàng trăm nghìn cá thể

như vậy, Protégé-2000 đã sử dụng hai thành phần:

- Một hệ cơ sờ dữ liệu hỗ trợ để lưu trữ và truy vấn thông tin.

- Cơ chế lưu trữ tạm thời khi cần một tài nội dung thông tin m ới khi lượng thông

tin đã vượt quá giới hạn cùa bộ nhớ.


Xây dựng phương pháp luận phát triển ontology 293

9.3.2 Khà năng m ờ rộng


ư u điềm lớn cùa Protégé-2U00 là hệ thống được xây dựng dựa trên một kiến trúc
mờ và môđun hoá. Kiến trúc hướng thành phần cho phép các nhà phát triển hệ thống đưa
thêm các chức năng vào Protégé-2000 bằng các plug-in thích hợp. Thư viện Plugin cùa
Protégé bao gồm rất nhiều plug-in được xây dựng bởi các nhà phát triển hệ thống trén toàn
thế giới.

Các plug-in cùa Protégé-2000 có thể chia thành ba loại như sau:

- Các chương trình hỗ trợ lưu trữ cho phép lưu trữ và nhập các ontology từ các hệ
tri thức khác nhau, dưới các định dạng ngôn ngữ khác nhau .

- Các hỗ trợ slot cho phép hiển thị và sửa chữa giá trị của các slot theo các cách
khác nhau tuỳ thuộc vào lĩnh vực và nhiệm vụ cụ thể

- Các tab plug-in: là những ứng dụng về hệ cơ sờ tri thức có mối liên quan chặt chẽ
với hệ cơ sở tri thức cùa Protégé-2000

Hiện nay các chương trình hỗ trợ lưu trừ đã cho phép cho người sử dụng lưu trữ và
nhập các ontology trong các ngôn ngữ: RDF Schema, các file XML với một DTD và các
file XML Schema.

Đối với các plug-in hỗ trợ cho các slot, người ta đã xây dựng các gói phần mềm
giao diện người sir dụng có thể hiển thị các file đồ hoạ cùng như âm thanh và hình ảnh. Một
plug-in còn cho phép người sừ dụng xây dựng các cơ sớ tri thức bằng cách vẽ một lưu đồ
trong đó các nút là các cá thể hoặc các lóp và các cạnh là các mối liên liệ cụ thể.

Tuy n h iê n kiểu plug-in phổ biến nhất là các tab plug-in. Hiện nay các p lu g -in này
đã h ỗ trợ rất nhiều tính năng: khả năng đồ hoạ cao, hoà nhập các ontology, quàn lý các
phiên bản khác nhau, khả năng suy diễn v.v. về khả năng đồ hoạ, có những plug-in cho
phép vẽ các đồ thị biểu diễn mối quan hệ giữa dữ liệu, phóng to, thu nhỏ và đi vào từng nút
trong đồ thị. Một số plug-in thì cho p h é p SO sánh giữa các ontology, tìm ra những điểm
khác biệt, phục vụ cho việc hoà trộn các ontology với nhau.

9.4 Nhóm các công cụ hỗ trợ việc ghép (merge) các ontology
Vì ontology ngày càng phất triển, ngoài các công cụ xây dựng ontology, thực tế
294 Tác từ - Công nghệ phần mềm hướng tác từ

yêu cầu còn cần tới các ontology hỗ trợ cho việc hoà trộn hai hay nhiều ontology khác nhau
thành một ontology mới. Do đó, người ta đã xây dựng khá nhiều các công cụ ontology để
phục vụ cho mục đích trên. Nhờ có thêm các công cụ mới, việc tái sử dụng ontology được
đẩy mạnh, giúp cho công nghệ ontology ngày càng phát triển.

Công cụ hoà nhập ontology phổ biến hỗ trợ cho việc nhập hai ontology trong giai
đoạn thiết kế. Khi hai công ty hoặc hai tổ chức khác nhau sát nhập lại với nhau, nhu cầu tất
yếu là hai ontology cùa hai công ty hay tổ chức đó cũng cần nhập lại thành một ontology
duy nhất. Ngoài ra, đôi khi người ta còn muốn trộn hai hay nhiều ontology trong cùng một
lĩnh vực lại để tạo ra một ontology mới tốt hơn, đáp ứng được nhiều nhu cầu sử dụng cùng
một lúc. Khi đó các công cụ sát nhập ontology sẽ được sử dụng để xây dụng một ontology

mới.

Ngoài việc sừ dụng đề hoà nhập các ontology trong giai đoạn thiết kế, một số công
cụ còn cho phép hoà trộn các ontology trong thời gian hoạt động cùa hệ thống. Sờ dĩ có nhu
cầu hoà trộn trong thời gian hoạt động là để tận dụng các tài nguyên ontology trên mạng
máy tinh toàn cầu. Trên mạng máy tính hiện nay, rất nhiều ontology đã được xây dựng và
đang ngày càng phát triển. Đế tận dụng nguồn tài nguyên này, một so tool hỗ trợ việc ánh
xạ giữa các ontology và thực hiện hoà nhập trong thời gian làm việc cùa hệ thống.

Dưới đây ta sẽ quan sát một mô hình hệ thống hoà trộn ontology tiêu biểu. Trong
mô hình này, có hai ontology I và 2. Hai ontology này được coi là đầu vào cùa hệ thống.
Ngoài hai ontology này, đầu vào của hệ thống còn có từ điển đồng nghĩa giải thích những
mối q u a n hệ và các khái n iệ m tirơng đưong cùa 7 ontology. Hệ thống sẽ dựa trên hai
ontology đầu vào và từ điển đồng nghĩa để xây dựng ra một ontology mới.

9.5 Nhóm công cụ đánh giá ontology


Trong thời điểm hiện nay, ontology là một công nghệ đang phát triển rất nhanh.
Một số lượng rất lớn các công cụ, các phương pháp, các ứng dụng ontology đang được
nhiều tổ chức khác nhau trên thế giới phát triển. Điều này dẫn đến việc tồn tại rất nhiều các
ontology khác nhau về kích thước, về độ phức tạp, về cơ sở hình thức hoá, và về mức độ
yêu cầu chia sè. Yêu cầu đặt ra là phải xây dựng được cơ sờ để chuẩn hoá các mức chất
lượng cùa các ontology này nhằm cho phép người sừ dụng có thể đánh giá được chất lượng
cùa ontology trước khi sử dụng.
Xảy dựng phương pháp luận phát triển ontology 295

T ừ đ iể n đ ổ n g n g h e

Hình 7.9 Mô hình nhập hai ontology

Ngoài ra, khi ontology được ứng dụng trong các ngành công nghiệp, một yêu cầu
tất yếu là phài có các tiêu chuẩn đánh giá áp dụng cho các ontology. Các tiêu chuẩn này sẽ
ngặt nghèo hơn rất nhiều SO với việc ứng dụng ontology trong các cơ sở nghiên cứu như
hiện nay. Các công cụ đánh giá ontology đang hướng tới mục đích tạo ra những thang điểm
chuẩn và các hệ thống chứng nhận chất lượng cùa các ontology khi công nghệ này được
ứng dụng rộng rãi trong các ngành công nghiệp.

9.6 Nhóm các công cụ hỗ trợ lưu trũ' và truy vấn


Khi phát triển ontology, vấn đề đầu tiên là xây dựng, chình sửa và hiển thị
ontology . Tuy nhiên, khi đã có những ontology vô cùng lớn, chúng ta lại phái quan tâm
dẻn ván dè lưu trừ va truy cập ontology. t)ẻ lưu trử ontology, người ta có thê sứ dụng một
trong số các loại cơ sớ dữ liệu như: ORDBM S (PostgreSQL), BerkerleyDB, RDBMS,
COBRA v.v. Các ngôn ngữ truy vấn có thể là các ngôn ngữ tựa SQL hoặc ngôn ngữ
F-logic. Kết quà truy vấn có thể đưa ra dưới dạng văn bản thông thường hoặc theo định
dạng RDF, XML, Lisp v.v. Tuy nhiên một vấn đề đặt ra là thường các công cụ này chi hỗ
trợ cho một ngôn ngữ ontology duy nhất. Trong tương lai, nhu cầu tất yếu đặt ra là xây
dựng một ngôn ngữ truy vấn thống nhất cho các ontology. Đây là hướng phát triển hiện nay
trong việc xây dựng các công cụ truy vấn và lưu trữ ontology.
296 Tác tử - Công nghệ phần mềm hướng tác tử

10 Xây dựng ontology cho các bài toán tác tử


10.1 Khái niệm
Một số ý tường khi xây dựng ontology cho t ác tử xuất phát từ việc thiết kế hướng
đối tượng. Tuy nhiên việc phát triển ontology không giống với việc xây dựng các lớp vã
mối quan hệ như trong lập trình hướng đối tượng. Lập trình hướng đối tượng tập trung vào
các lớp và các phương thức của chúng, một lập trình viên tạo ra thiết kế dựa trên cơ sờ các
thuộc tính chức năng cùa một lớp trong khi đó nhà thiết kế ontology lại dựa trên các thuộc
tính cấu trúc của một lớp. Kết quà là, cấu trúc lớp và mối quan hệ giữa các lớp trong một
Ontology khác với cấu trúc cùa một lĩnh vực tương tự trong lập trình hướng đối tượng.

Nói chung không có phương pháp luận nào đù đúng đán và đáng tin cậy cho việc
thiết kế ontology cho các bài toán tác tứ. Chúng ta chi có thể có được thông qua kinh
nghiệm phát triển Ontology mà thôi.

10.2 Ontology và hệ thống đa tác tử (M ulti-Agent)


Đé hiểu được vai trò cùa ontology trong hệ thống đa tác tử chúng ta cần tìm hiếu
cách thưc truyền thông giữa các tác tử. Trong một hệ thống đa tác tử các tác từ cần phải có
sự tương tác trao đổi thông tin có thể là với người sử dụng, các service cùa hệ thống cũng
như VỚI các tác từ khác. Do đó giữa các tác từ cần phải có một ngôn ngữ chung cho quá
trinh giao tiếp. Các nhà nghiên cứu đã đưa ra một số đặc tính quan trọng mà các ngôn ngữ
này cần phải có. Chúng bao gồm các loại cơ bản như sau.

• Định dạng (Form): một loại ngôn ngữ có cú pháp đơn giãn và con người có thể
dục híètt đưực.

• Nội dung (Content): một loại ngôn ngữ rất thích hợp với các hệ thong khúc

nhau. N ói chung la cũng cần phái phàn biệt giữa ngôn ngữ giao tiêp - dùng đẽ
diễn tá các hoại động giao nếp và ngôn ngữ nội dung - dùng đê diễn tá các mặt

cùa một lĩnh vực.

• N gữ nghĩa (Semantics): ngữ nghĩa là một vẩn đ è khá lằng nhằng và rắc rỗi
trong quá trình thiết kế ngôn ngữ giao tiếp. Ngữ nghĩa cùa ngôn ngữ giao tiêp

phái thế hiện được các đặc tính mong muốn về ngữ nghĩa cùa các ngôn ngữ
khác. Nó phái có cơ sớ lý thuyết rõ ràng và vững chắc.
Xảy dựng phương pháp luận phát triển ontology 297

• Thực thi (Implementation): việc thực thi phái tối ưu cà vé tốc độ và thông
lượng.

• Môi trường (Environment): môi trường mà trong đó các lác từ thông minh làm
việc, một môi trường phán lán không đồng nhảt và luôn luôn thay đôi.

• S ự tin cậy (Reliability): một ngón ngữ giao tiếp cần phái có tinh bào mật và
đáng tin cậy khi dùng trong giao tiếp giữa các tác tứ.

"Ngữ cảnh" ■) ! "Ngừ cảnh"

Ngồn ngừ ,
màhoá Chuyến giao
M — — *• g
^ .\ Diên dịch
Thông điệp \
muon gửi

Thông điệp
nhận được

Hinh 7.10 Mô hình giao tiếp giữa tác tử A và tác tử B.

Ta thấy ràng việc trao đồi thông tin giữa tác từ có vẻ như là đơn giãn. Tuy nhiên
một ứng dụng tác từ thường là phức tạp hơn nhiều, luôn nảy sinh nhu cầu cần diễn đạt và
hiệu chinh giao tiếp một cách đáng tin cậy và phức tạp hơn. Chẳng hạn như một Tác tử
dược thiéi ké dẻ cò thẻ tự dọng phân xạ lại moi ưường khi cỏ tâc động cân phái thay đối
một số mô hình trong môi trường cùa nó như đâ được xác định trong các quy tắc tạo lập
hành vi cùa nó. Tồn tại m ột cách thức đề đạt được điều này đó là sừ dụng ngôn ngữ chia sè
tri thức. Một mặt quan trọng nữa cùa việc sứ dụng ngôn ngữ chia sè tri thức đó chính là
dùng đề trao đổi thông tin giữa các tác tử.

Để có thể thiết lập giao tiếp giữa các tác tử có một chướng ngại quan trọng cần
phài vượt qua đó là cần phải xây dựng nên một cơ sở tham chiếu chung (common frame of
reference), được biểu diễn thông qua ‘ context” như trên hình 7.10. Đó là ngữ cành nhàm
xác định cách thức các thông điệp sè được diễn dịch. Để giải quyết vấn đề này chúng ta cần
phải sứ dụng đến ontology.
Phụ lục A

Phương pháp luận tác tử

1 Phương pháp IDEF5


IDEF (Itergration Definition) là một dự án nhằm thống nhất tất cả các phương pháp
lấy thông tin từ một doanh nghiệp. Có tất cả 14 IDEF từ 1 đến 14. Riêng IDEF5 là phương
pháp sử đụng ontology. Phương pháp IDEF5 được thiết kế để giúp đỡ việc tạo ra, chình sửa
và bảo trì ontology. Bời việc phân tích các ontology còn có tính chất m ờ cho nên rõ ràng
ta chưa nên chấp nhận một phương pháp kinh điến cho việc phát triên mọi ontology. Do đó
phương pháp luận IDEF5 đưa ra một thủ tục chung với một tập hợp những nguyên tắc
hướng dẫn:
300 Tác từ - Cõng nghệ phần mềm hướng tác từ

( I ) To chức và giới hạn phạm vi: thiết lập mục đích, quan điểm , và ngữ cành cho dự
án phát triển ontology. Làm rõ mục đích sẽ cung cấp một tập họp tiêu chuẩn hoàn thành
cho ontology bao gồm những mục tiêu và yêu cẩu. Phạm vi định nghĩa những ranh giới cùa
ontology và chì rõ những bộ phận cùa hệ thống mà ontology phải bao gồm hoặc phải loại
trừ.

( 2) Tập hợp dữ liệu: dữ liệu thô cần cho sự phát triển cùa ontology được thu nhận
bằng cách sứ dụng kỹ thuật thu nhập tri thức tiêu biểu như phân tích và phòng vấn chuyên
gia. '

( 3) Phân tích dữ liệu: ontology được rút ra từ những kếl quà cùa việc tập hợp dữ
liệu. Trước hết, những đối tượng được quan tàm trong lĩnh vực được liệt kê, tiếp theo là xác
định những đối tượng nằm trên ranh giới cùa ontology. Tiếp theo, phần hệ thống bên trong
ranh giới sẽ được xác định.

(4) Phái triến ontology ban đầu: một ontology sơ bộ được xây dựng chứa đựng
những khái niệm cơ bản ví dụ những sự mô tả ban đầu về các loại, các quan hệ và các thuộc

tinh.

(5) Tinh chinh và kiếm tra onlology : Những khái niệm sơ bộ ban đầu được được
lặp đi lặp lại hai quá trinh tinh chình và kiểm tra. Đây thực chất là một thù tục kiểm tra suy
diễn vì cấu trúc cùa ontology được cá thề hoá với dữ liệu thực tế, và kết quả được SO sánh
với cấu trúc cùa ontology. Bới vì phương pháp IDEF5 dựa trên sự tinh chinh của những sản
phẩm đầu ra, nên chúng ta sẽ có một mô hình phát triển theo kiểu prototype. Quả trình tinh
chinh dần dần này được thực hiện bàng việc su dụng hai ngôn ngữ dể biẻu diễn. Omolơgy
ban đầu được định nghĩa với ngôn ngữ sơ đồ, một ký pliáp đồ thị được sử dụng để biểu thị
những mẫu chung nhất cùa thông tin về ontology trong thời gian dự án. Ngôn ngữ sơ đồ
được sừ dụng chù yếu cho truyền thông giữa chuyên gia lĩnh vực và người phát triển
ontology. Sự trình bày ban đầu được phân tích và viết lại bàng m ột ngôn ngữ chi tiết có
cấu trúc cao hơn dựa vào KIF. Một đặc điềm hữu ích trong phương pháp luận IDEF5 là thư
viện những quan hệ thường sừ dụng. Thư viện này gồm có những định nghĩa và đặc điểm
những loại quan hệ (bao gồm những lớp quan hệ): những quan hệ thời gian, những quan hệ
không gian, những quan hệ ảnh hường, nhũng quan hệ phụ thuộc và quan hệ hoàn cảnh.
Phụ lục A 301

2 Comm onKADS và KACTUS


Com monKADs (Com mon Knowledge Analys Development System: hệ phân tích
và phát triền tri thức) là một phương pháp luận được sử dụng rộng rãi cho phát triển hệ cơ
sờ tri thức, trong đó ontology đóng một vai trò quan trọng. Dự án KACTUS (modeling
Knowledge About Complex Technical system for multiple Use - mô hình hoá tri thức cùa
các hệ thống kỹ thuật phức tạp phục vụ đa mục đích) là dự án nối tiếp CommonKADs cùa
và lập trung vào vấn đề phát triển ontology. Một phương pháp mới được xây dụng, nhấn
mạnh vào thiết kế môđun, tái thiết kế và tái sừ dụng. Một ontology được xây dụng từ một
thư viện các ontology quy mô nhỏ. Công việc sê là ánh xạ từ nhiều ontology khác nhau
thành ontology trong sự phát triển ontology mới. Hai loại hàm ánh xạ được định nghĩa
trong từ vựng cùa ontology:

(i) Loại không có sự thay đối nào trong ngữ nghĩa được biểu diễn bời ontology
được ánh xạ.

(ii) Loại có sự thay đổi trong ngữ nghĩa được biếu diễn bới ontology được ánh xạ
bời vi xảy ra một cách hiểu khác.

Việc lựa chọn ontology thích hợp từ một thư viện được hỗ trợ bời một mô hình chi
số hoá cho ontology. Các đặc điểm ngữ cảnh sừ dụng của ontology phụ thuộc theo ba
chiều: kiểu nhiệm vụ; phương pháp giải quyết vấn đề; và kiểu lĩnh vực. Nguyên lý phát
triển môđun rất phồ biến trong kỹ nghệ ontology và xuất phát từ quan điểm tái sử dụng.
Mặc dầu kết quà của những hàm ánh xạ hiện nay còn khá hạn chế, cách tiếp cận này có vè
có tiềm năng trong việc thích ứng ontology cho những ứng dụng cụ thề.

3 PLINIUS
Dự án Plinius cố gắng trích ra một cách bán tự động tri thức từ những văn bàn trong
ngôn ngữ tự nhiên: Tiêu đề và tóm tắt cùa những tài liệu trong phiên bản trực tuyến cùa thư
viện các tóm tắt cùa các bài báo về công nghệ vật liệu. Ontology cùa Plinius được phát triển
để hỗ trợ việc dịch ngôn ngữ tự nhiên thành những biểu thức trong một ngôn ngữ biểu diễn
tri thức. Những quyết định thiết kế trong thời gian sự phát triển ontology mà có vẻ như độc
lập với lĩnh vực đã được đề xướng như những nguyên ỉý phát triển ontology chung. Những
nguyên lý đó là:
302 Tác tử - Công nghệ phần mềm hướng tác từ

(1) Những phát biểu mâu thuẫn về cùng một thực thể có thể được khám phá dễ dàng
hơn nếu những khái niệm được định nghĩa càng đầy đù càng tốt.

(2) Một ontology cần phải độc lập với bất kỳ ngôn ngữ biểu diễn tri thức cụ thể nào.

(3) Nguyên lý cùa việc xây dựng ontology chi ra rằng m ột ontology gồm có những
khái niệm nguyên thuý và quy tác xây dựng cho phép định nghĩa tất cà các khái niệm khác
bằng những khái niệm nguyên thuỷ này.

(4) Thực hiện theo cách tiếp cận duới-lên nhăm đàm bảo ontology sẽ biểu diễn đầy
đù nhiệm vụ được đặt ra. Như vậy công việc xây dụng nhận thức gồm có những khái niệm
mức đáy cùng với những quy tắc cho việc xây dựng những khái niệm ờ mức cao hơn từ
những khái niệm ban đầu đó.

( 5) Sự phát triển cùa một ontology cần phải dựa vào những quyết định mang tính
công nghệ. Ví dụ như những quyết định về việc có đưa một khái niệm cụ thể vào ontology
hay không cần phài dựa vào một phân tích lợi ích - giá thành.

(6) Ontology cần phái được đánh giá xem đã hoàn toàn đầy đù SO với nhiệm vụ d
định hay chưa. Tiêu chuẩn tính chất bổ sung này có thể được chia thành hai tiêu chuẩn nhò
hơn: theo chiều rộng (khả năng bao gồm mọi khái niệm cần thiết) hoặc theo chiều sâu (khả
năng phát hiện mọi sự khác nhau nhò nhất). Mặc dầu những tác già thông báo rằng những
nguyên lý có thể áp dụng chung trong phát triển ontology, người ta cũng nói rằng những
nguyên lý đó không phái luôn luôn hợp lý hoặc thậm chí đôi khi là không khả thi. Những
nguyên tác trên do không phái luõn luỏn dược áp dụng nên la chl có tliẻ coi chúng là những
bổ sung hữu ích.

4 ONIONS
Phương pháp luận ONIONS (ONtologic Integration O f Nalive Sources - S ự tích
hợp các nguồn thõng Un tự nhiên bằng phương pháp onlology ) được thúc đẩy bởi vấn đề
tích hợp tri thức: làm thế nào để tích họp những nguồn hỗn tạp của thông tin trong quá trình
thu nhận kiến thức, v ấ n đề này được thực hiện thông qua sự tạo thành một ontology miền
hình thức bởi sự hợp nhất của những kho chứa tri thức hiện có. Một trong những khía cạnh
đặc trưng nhất cùa cách tiếp cận ONIONS là phương pháp thu nhận ontology. Phương pháp
này đưa ra một ontology không hình thức, một sơ đồ mô tả các khái niệm trong lĩnh vực.
Phụ lục A 303

ONIONS không tập trung nhiều về vấn đề biểu diễn cuối cùng cùa ontology mà tập trung
vào những vấn đề trong sự thu nhận ontology như mô hình điểm dừng (Làm sao đế dừng
quá trình tinh chinh một ontology?) và tri thức thích hợp (Làm sao để chi ra một khái niệm
là thích hợp ?). Cà hai giải pháp được sử dụng trong ONIONS trên đều phụ thuộc vào
nhiệm vụ cùa ontology.

5 Mikrokosmos
M ikrokosmos là một dự án xây dựng ontology trong lĩnh vực chế tạo. Đã có tổng
cộng ba mươi nguyên tắc hướng dẫn được đưa ra để hỗ trợ trong việc phát triển ontology
Mikrokosmos. Trong khi hầu hết các nguyên tắc đều khá hữu dụng, thì cũng có một số
nguyên tắc chi dành riêng cho việc sử dụng ontology hoặc thậm chí cho dự án
Mikrokosmos do đó không thể sử dụng để xây dựng một phương pháp phát triển ontology
mới. Tuy nhiên, vài nguyên tắc hướng dẫn có thể ứng dụng rộng rãi hơn. Ví dụ như hai
nguyên tắc sau:

Nếu khái niệm có một vị trí cố định trong thời gian và (hoặc) không gian, thì nó là
một cá thể; nếu không nó là một khái niệm

Không tạo ra những sự kiện đặc biệt với những tham số mới như những khái niệm
trừ phi chúng khác một cách đáng kể với những khái niệm đã có.

Như vậy chúng ta có một tập hợp các heuristic có thề sứ dụng trong việc chọn những
thiết kế chi tiết thích hợp khi xây đựng một ontology. Những heuristic như vậy có thể hữu
ích trong bất kỳ phương pháp luận nào.

6 MENELAS
MENELAS ontology được thiết kế như một bộ phận của một hệ thống hiểu ngôn
ngữ tự nhiên. Ontology này hỗ trợ cho việc lưu trữ các từ vựng và dịch nghĩa. Bốn nguyên
lý hữu ích trong phát triển tri thức có tính phần loại trong ontology được mô tà là:

(1) Sự giống nhau : một lớp con phải cùng kiểu như cha mẹ của nó.

(2) Sự đặc trưng : một lớp con phài có sự khác nhau nào đó mà phân biệt nó với lớp
cha mẹ . Sự khác nhau với định nghĩa cùa lớp cha mẹ tạo nên những điều kiện cần và đù
cho định nghĩa các lớp con.

(3) Sự đối lập : những lớp con của một khái niệm không trùng nhau.
304 Tác từ - Công nghệ phàn mềm hướng tác tử

Các nguyên lý trên thích họp cho việc xây dựng ontology ờ các mức chi tiết bên
dưới. Tuy nhiên, các nguyên tắc trên chi áp dụng cho những lĩnh vực có thể áp dụng các
cây phân loại tri thức trong khi nguyên tác phân loại đó có thể không thích hợp trong nhiều
lĩnh vực khác .

7 PHYSSYS
Đây là một cách tiếp cận hướng tới những vấn đề trong việc sử dụng những thư viện
ontology như cấu trúc hoá thư viện, việc rút ra những thành phần thích hợp và bào trì thư
viện. Phương pháp hướng nhiều tới việc tăng cường khả năng lựa chọn các ontology đã có
trước dựa vào xây dựng các tri thức động hơn là chi chọn lọc đơn giản các thành phần tri
thức. Hai kiểu ontology được phân b iệ t:

(i) Sơ cấp : Biểu diễn một lĩnh vực theo quan điểm nào đó: chức năng hoặc đặc điểm
v.v.

(ii) Thứ cấp : đưa ra những đặc trưng bố sung mà có thề áp dụng với những đối
tượng trong ontology sơ cấp.

Thuật ngữ “ánh xạ ontology” được sử dụng đế mô tà quá trình một thực thể cùa
ontology sơ cấp được làm khác biệt khi chuyển qua ứng dụng cùa ontology thứ cấp. ánh xạ
tồn tại giữa ontology thứ cấp và ontology sơ cấp. Những ràng buộc của ontology thứ cấp
giới hạn ứng dụng cùa những phần tử trong nó. Mỗi khi ta xây dựng được một ánh xạ
ontology như thế, ta sẽ tạo ra một ontology mới. K.ỹ thuật này bắt nguồn từ kỹ nghệ lĩnh
vực, vả có thẻ khOng lliícli hựp vói những miền không được phân biệt rõ ràng.

8 SENSUS
SENSUS là một ontology được xây dụng nhằm cung cấp tập họp các thuật ngữ
chung của nhiều lĩnh vực khác nhau nhằm tạo nên một ontology cơ sờ. Cách tiếp cận này
dựa vào sự giả thiết rằng nếu hai cơ sờ tri thức được xây dựng trên một ontology chung, tri
thức sẽ có thể dễ dàng dùng chung giữa chúng hơn một khi chúng cùng chia sẻ một cấu trúc
bên dưới. Trước hết, hai loại ontology được phần b iệ t:

(i) ontology lĩnh vực: cung cấp một tập hợp những khái niệm để mô tà một lĩnh vực

nào đó.
Phụ lục A 305

(ii) o n t o l o g y n g u y ê n lý: c u n g c ấ p m ộ t t ậ p h ọ p n h ữ n g k h á i n i ệ m đ ể đ ạ i d i ệ n c h o một


k h í a c ạ n h n à o đ ó c ù a t h ể g i ớ i ( t h ờ i g i a n , k h ô n g g i a n , t i n h n h â n q u ả V.V.).

SENSUS là một ontology có phạm vi rộng bao gồm những khái niệm từ mức cao
đến mức trung trung binh (không cỏ các thuật ngữ riêng về lĩnh vực). Nó được phát triển
bằng việc kết hợp Penman U pper Model, Ontos, W ordNet (các tập hợp từ vựng được lưu
trữ trong các máy c h ú ) ... và những phân loại ngữ nghĩa học từ những từ điền điện từ (tiếng
Anh, tiếng Tây Ban Nha và tiếng Nhật). Những khái niệm được tổ chức vào trong một lưới
các khái niệm nhưng không bao gồm những khe (slot) bởi vì các ứng dụng sẽ lựa chọn
những quan hệ nào là thích hợp. Khi phát triển một ontology riêng cho lĩnh vực, các khái
niệm thích hợp cùa lĩnh vực sẽ được chọn ra từ SENSUS. Những khái niệm này được liên
kết với SENSUS. Tất cả các khái niệm từ những khái niệm được lựa chọn đến tận gốc cùa
SENSUS được bao gồm trong ontology cuối cùng. Ngoài những khái niệm đó, một số khái
niệm khác cũng được tích hợp trong ontology:

(i) Những phân loại ngữ nghĩa thích hợp

(ii) Toàn bộ những cây con (ở mức không cao) có một số lớn đường dẫn chạy qua
chúng là nằm trên đường đi từ những khái niệm cụ thể cùa lĩnh vực đến gốc của SENSUS.

Những khái niệm SENSUS chưa được tính đến sẽ được coi là không thích hợp và
được xén bót khỏi ontology để giám bót bộ nhớ, tăng hiệu quả sử dụng.

9 Phương pháp luận Gaia

9.1 Phân tích


Mục đích cùa giai đoạn phân tích là phát triển sự hiểu biết về hệ thống và cấu trúc
cùa nó (nhưng chưa tham chiếu đến bất cứ sự chi tiết về thực thi nào). Trong trường hợp
cùa chúng ta, những hiểu biết này được lấy trong tổ chức cùa hệ thống. Chúng ta xem một
tổ chức như là một tập các vai trò, những mẫu hình được thể chế hoá cùa những sự tương
tác với những vai trò khác-xem hình 1.

Thực thể trừu tượng nhất chính là hậ thống. Mặc dù thuật ngữ hệ thống được sử
dụng theo nghĩa chuẩn cùa nó, nhưng nó cũng có liên quan khi nói về một hệ thống dựa
306 Tác từ - Công nghệ phần mềm hướng tác từ

trên tác từ như là m ột xã hội hoặc một tổ chức. Bời vậy chúng ta nghĩ đến hệ thống dựa trên
tác từ như là một một xã hội hoặc tổ chức nhân tạo.

Ý tường về m ột hệ thống như là một xã hội là hữu ích khi chúng ta xem xét đến một
mức tiếp theo trong phân cấp khái niệm: đó là Vai trò. Điều này có thể là lạ khi nghĩ một hệ
thống máv tính như thể được định nghĩa bời một tập các vai trò, nhưng ý tưởng đó là hoàn
toàn tự nhiên khi chấp nhận m ột quan điềm m ang tinh tồ chức về thế giới. Coi tổ chức loài
người như là m ột công ty điển hình. C ông ty cũng có các vai trò như là: chú tịch, phó chù
tịch, và ván vân. Chú ý rằng trong việc thực hiện cụ thể của m ột công ty, những vai trò này
được khởi tạo với những cá thể thực sự: Ở đó có một cá thể đảm nhiệm vai trò chủ tịch, một
người đàm nhiệm vai trò phó chù tịch, và vân vân. Tuy nhiên, việc khởi tạo này không nhất
thiết là tĩnh. T rong suốt quá trinh tồn tại cùa công ty, có thề có nhiều người đảm nhận vị tri
chù tịch. Vi vậy, không cần phải có sự ánh xạ m ột-m ột giữa vai trò và cá thể. Tuy nhiên lại
không bình thường (trong tồ chức nhò hoặc đã được định nghĩa một cách hình thức) khi mà
một cá thể lại đàm nhận nhiều vai trò. Ví dụ, m ột cá thể đơn lẻ có thể đảm nhận nhiều vai
trò như là: pha trà, dọn dẹp ....N g ư ợ c lại, có thể có nhiều cá thể cùng đàm nhiệm m ột vai trò

như là: bán hàn g ,.........

Một vai trò được định nghĩa bởi bốn thuộc tính: Trách nhiệm (Responsibility),
quyền (Permission), hành vi (A ctivities), và giao thức (Protocol). Trách nhiệm xác định
tính chức năng và có lẽ là thuộc tính chù yếu liên quan đến vai trò. M ột ví dụ về trách
nhiệm với vai trò cùa chù tịch công ty là kêu gọi các cố đông cho cuộc họp thường niên
hàng năm Trách nhiệm được chia thành 2 kiểu: N hững thuộc tính về vòng đời (liveness
properties) và những thuộc tinh an toàn (safety properties). Thuộc tính vòng đời về trực
giác là: điều gì đó tốt xảy ra. C húng m iêu tả những trạng thái cùa vấn đề mà m ột tác tử gây
ra, là những điều kiện môi trường nào đó được cho trước. Ngược lại, những thuộc tính an
toàn lại là bất biến, về trực giác, m ột thuộc tính an toàn tuyên bố rằng: không có gì xấu xảy
ra. Ví dụ: ‘đảm bảo nhiệt độ lò phản ứng giữ trong khoảng 0 -100 °C”

Để nhận ra những trách nhiệm , một vai trò phải có m ột tập các quyền. Quyền là
những quyền lợi đối với m ột vai trò. Những quyền của một vai trò xác định những tài
nguyên mà tác tử đó có thể dùng được để xác định các trách nhiệm . Trong nhiều hệ thống,
quyền ờ đây thường là các tài nguyên thông tin. Ví dụ, một vai trò có khả năng đọc một
Phụ lục A 307

mục thông tin nào đó, hoặc là thay đổi một mục thôns tin khác. Một vai trò cũng có thể có
khả năng tạo ra thông tin.

Những hành vi cùa một vai trò là việc tính toán gắn với vai trò mà có thế được thực
hiện bới tác tử mà không tương tác với các tác tử khác. Những hành vi vì vậy là những
hành động riêng tư. Và cuối cùng một vai trò cũng được xác định bời nhiều giao thức,
những giao thức này xác định cách mà vai trò tương tác với các vai trò khác. Ví dụ, một
người bán hàng có thể có nhiều giao thức: bán hàng đấu giá kiểu Đức và Anh. Vì vậy, mô
hình tố chức trong Gaia bao gồm thêm hai mô hình nữa: Mô hình vai trò và mô hình sự
tương tác.

9.1.1 Mô hình vai trò


Mô hình vai trò xác định những vai trò chù yếu trong hệ thống. Ở đây một vai trồ
được xem là một miêu tà trừu tượng về những hàm cần thiết cùa một thực thể. Trong một ví
dụ khác, vai trò tương tự như một ký hiệu của một chức vụ, như là “bộ trướng”, ’’thẩm
phán” đều lầ các chức vụ. Những vai trò như vậy được đặc trưng bởi hai kiểu thuộc tính:

- N hũng quyền gấn vói vai trò : Một vai trò có thể gắn với m ột số quyền nào đó,
liên quan đến kiểu và số lượng tài nguyên mà có thể được tận dụng khi thực thi vai trò.
Trong trường hợp cùa chúng ta, những mặt này được đặt trong một thuộc tính được biết
như là những quyền cùa vai trò.

- Nhũng trách nhiệm của vai trò: Một vai trò được tạo ra để làm việc gì đó. Vì
vậy, một vai trò 3Ổ có tính nâng nào đó. Tính nũng này đuyc bỉéu dỉỗli btlMU IHỘL Ihuộc tinh
được biết như là những trách nhiệm cùa vai trò.

Những quyền', những quyền gắn với một vai trò có hai nét sau:

- Chúng xác định những tài nguyên được sử dụng m ột cách hợp pháp để thực hiện
vai trò. về trực giấc, chúng tuyên bố những gì có thể được dùng trong khi thực hiện vai trò.
- Chúng tuyên bố những giới hạn về tài nguyên mà đối tượng thi hành vai trò phải
thực hiện, về trực giác, chúng tuyên bố những gi không thể được sử dụng trong khi thực

hiện vai trò.

Nói chung, những quyền có thể liên quan đến nhiều kiểu tài nguyên. Trong tổ chức
cùa loài người, một vai trò có thể là một quỹ tiền tệ cho trước. Tuy nhiên, với Gaia, chúng
308 Tác tử - Công nghệ phần mềm hướng tác tử

ta cho rằng tài nguyên là chì liên quan đến thông tin hoặc tri thức mà tác tử có. Bởi vậy, để
thực hiện m ột vai trò, một tác từ sẽ đặc biệt có thể truy cập vào một ít thông tin nào đó
nhưng lại không được thay đổi chúng, trong khi một số khác lại cần thay đổi thông tin đó.
Chúng ta nhận ra ràng phài có nhiều mô hình tài nguyên khác cho tương lai, mặc dù là hiện
tại chúng ta đã hạn chế chi quan tâm đến tài nguyên thông tin.

Gaia sử dụng ký hiệu hình thức để biểu diễn những quyền dựa trên những ký hiệu
hợp nhất cho giản đồ sự hoạt động. Để giới thiệu những khái niệm trên chúng ta sẽ sử dụng
ví dụ về một vai trò C offeeFiller (mục đích cùa vai trò này là đảm bào rằng một binh cafe
luôn đầy café cho một nhóm người làm việc). Dưới đây là m ột miêu tà đơn giản về những
quyền gắn với vai trò CoffeeFiller:

CoffeeFiller:

Đọc coffeeStatus // đầy hoặc hết

Thay đồi coffeeStock // mức café trong bình

Những đặc trưng này định nghĩa hai quyền cho CoffeeFiller: nó nói rằng tác từ đang
thực hiện vai trò này có quyền truy nhập vào giá trị coffeStatus, và chúng có cà hai quyền
là đọc và thay đồi giá trị coffeStock. Ớ đây chi có hai kiều quyền, nó chi ra rằng vai trò
chính là người tạo ra tài nguyên. Chủ ý ràng những quyền này liên quan đến tri thức mà tác
từ có. Bởi vậy, coffeStatus là m ột sự miêu tả trên một phần nào đó cùa tác tử cùa một số giá
trị trong thế giới thực.

MỘI bổ v ai tr ò đ ư ợ c t h u m 30 h o á b ờ i n h ũ n g g iá trị n à o đ ỏ . V í d ụ , c h ú n g ta c ỏ th ể tạo


ra vai trò CoffeeFiller bằng cách tham số hoá nó với một máy café mà được giữ luôn đầy.
Điều này được xác định trong m ột định nghĩa về quyền bằng những từ khoá “được cung
cấp” (supplied):

Đọc supplied coffeeMaker // tên cùa người pha cafe

Đọc coffeeStatus // đầy hoặc hết

Thay đồi coffeeStock // mức café trong bình

Trách nhiệm: Tính năng cùa m ột vai trò được định nghĩa bằng những trách nhiệm
của nó. Những trách nhiệm này có thể được chia thành hai kiểu: Trách nhiệm vòng đời và
trách nhiệm sự an toàn. N hững tính chất vòng đời, về trực giác mà nói, là điều gì đó tốt xảy
Phụ lục A 309

ra. Những tinh chất vòng đời được gọi như vậy là do chúng hướng tới nói rằng điều gi đó sẽ
được thực hiện, và do đó tác tứ đang thực hiện vai trò đó vẫn còn sống. Những tinh chất
vòng đời thường là tuân theo một số mẫu hình nào đó. Ví dụ, Một kiểu phản ứng được dám
chác cùa mục đích đạt được có dạng như sau “Một yêu cầu thường được gán với một phán
ứng”. Mục đích đạt được với vòng lặp vô hạn có dạng như sau “ x sẽ xảy ra vô hạn lần” .
Chú ý ràng những kiểu yêu cầu như thế này đã được nghiên cứu rộng rãi trong tài liệu công
nghệ phần mềm, ở đó chúng được chứng minh là cần thiết cho việc tìm ra những tinh chất
của những hệ thống phản ứng.

Để miêu tã nhiều kiểu khái niệm gán với những vai trò, chúng ta tiếp tục với vi dụ
về vai trò CoffeeFiller:

- Bất cứ khi nào bình café mà cạn, thì đồ đầy nó

- Bắt bứ khi nào café mới được pha, thì hãy chắc rằng những người công nhân biết

điều đó.

Trong Gaia, những tính chất vòng đời được xác định thông qua một biểu thức về
vòng đời, nó xác định vòng đời cùa vai trò. Những biểu thức vòng đời định nghĩa những
đường đi thực hiện chương trinh thông qua những hành vi và sự tương tác (trên những giao
thức) gán với vai trò, biểu thức của chúng ta có thêm toán tử “ @” thể hiện vòng lặp vô hạn
(xem thêm định nghĩa về các toán tử khác ờ bàng 2). Dạng thông dụng nhất cùa một biếu
thức vòng đời là:

T ên v a i trò = b iể u th ú c

Toán tứ Ý n g h ĩa

X . y y th e o s a u X

x |y X h o ặ c y x ả y ra

X* X xảy ra 0 h o ặ c n h iề u lần

X+ X x ả y ra l h o ặ c n h iề u lần

X® X x ả y ra lặp v ô h ạ n lần

M X c ó th ể tu ỳ ý

X II y X v à y x á y ra đ a n x e n n h a u

Hình 1. N h ữ n g toán tử c h o biểu th ứ c v ò n g đời.


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

Ở đây tên cùa vai trò mà có những tính chất vòng đời được định nghĩa, và biểu thức
la biểu thức vòng đời định nghĩa những tinh chất vòng đời cùa vai trò đó. Những thành
phần nguyên tử trong biểu thức vòng đời là hành vi và giao thức. Một hành vi giống như
một phương thức trong ngôn ngữ hướng đối tượng, hoặc một thù tục trong ngôn ngữ
Pascal. N ó tương ứng với hành động mà tác từ có thể thực hiện; nhưng lại không liên quan
đến Iươne tác với bất cứ tác từ nào khác. Những giao thức, mặt khác, là những hành vi mà
thực hiện tương tác với các tác từ khác. Để đưa ra cho người đọc những bằng chứng rõ
ràng, chúng ta viết một giao thức ký hiệu (xxx) và hành vi ívvvì. Để biểu diễn những biểu
thức vòng đời, chúng ta lấy công thức ờ trên:

CoffeeFiller=(Fill.InforraWorkers ■Checkstock■AwaitEmpty)8
Biểu thức này cho rằng CoffeeFiller bao gồm giao thức Fill, theo sau bới giao thức
InformWorkers, theo sau bời hành vi CheckStock và giao thức AwaitEm pty. Sự thực hiện
liên tiếp các giao thức và hành vi này đ ư ợ c thực hiện thường xuyên và vô hạn. Hiện thời
chúng ta chi xem các giao thức như là các nhẫn biểu tượng cho các tương tác và chưa cần
quan tâm xem chúng được định nghĩa ra sao.

N hững yêu cầu an toàn trong Gaia được xác định bằng một danh sách những thuộc
tính. Những thuộc tính này được biểu diễn trên nhiều biến được liệt kê trong thuộc tính
quyền cúa vai trò. Trờ lại với ví dụ vai trò CoffeeFiller, một lác từ thực hiện vai trò này sẽ
được yêu cầu đàm bào ràng bình café không bao giờ là hết. Chúng ta làm điều này bàng
biểu thức sau:

coffeeStock > 0

Giản đồ vai trò: Tên cùa vai trò


Miêu tả Miêu tà ngăn gọn vê vai trò
Giao thức và hành vi Những giao thức và hành vi mà vai trò
tham gia
Quyên Những quyên găn với vai trò
Trách nhiêm
Vòng đời Trách nhiệm vòng đời

Hình 2. Giằn đ ồ vai trò.


Phụ lục A 311

Bằng quy ước, chúng ta đơn giản liệt kê những biểu thức an toàn như là một danh
sách, mỗi mục trong danh sách biếu diễn một trách nhiệm an toàn. Điều này chi ngầm định
già sử rằng những trách nhiệm này áp dụng toàn bộ những trạng thái cùa việc thực thi hệ
thống. Neu như vai trò là một vòng lặp dài vô hạn, thì những bất biến phái luôn đúng.

Bây giờ thi có thể định nghĩa một cách chính xác mô hình vai trò Gaia. Một mô hình
vai trò Gaia bao gồm một tập hợp những giản đồ vai trò, mỗi giàn đồ tương ứng với một vai
trò trong hệ thống. Một giàn đồ vai trò sẽ có những thuộc tính mà chúng ta đã đề cập đến ở
trên. Xem hình 2 và 3.

9.1.2 Mô hình sự tương tác


Trong tổ chức đa tác tử việc có các phụ thuộc và các mối quan hệ giữa các vai trò là
điều tất yếu. Thật vậy, tác động qua lại giữa các tác từ là nhân tố chính quyết định cách mà
hệ thống thực hiện chức năng cùa nó. Sự tương tác phải đưọc miêu tá rò ràng Irong pha
phân tích. Trong Gaia, những liên kết giữa những vai trò được biếu diễn trong mô hình s ự
lương tác. Mô hình này bao gồm một tập các định nghĩa giao thức, mỗi một định nghĩa
tương ứng với một tương tác giữa các vai trò. Ờ đây giao thức có thể được xem như là một
mẫu hình được phong cách hoá cùa sự tương tác. Bởi vậy, một mẫu hình cúa sự tương tác
được định nghĩa một cách chính thức và được trừu tượng hoá khói bất cứ bước thực thi nào.

G ià n đ ồ v a i trò : C o ffe e F ille r


M iê u tả :
V ai trò này đảm bảo rà n g c afé trong ấm đượ c g iữ đầy, và th ô n g báo
cho các c ô n g nhân khi n à o café m ới đượ c pha
G ia o Chúc v à liànli vi:
Fill, In fo rm W o rk ers, C h e ck S to c k , A w aitE inpty
Quyền:
reads su p p lied c o ffe e M a k e r / / na m e o f coffee m a ker
c o ffe eS la tu s / / f u l l o r e m p ty
c h an g e s c o ffe e S to c k / / s to c k le v e l o f coffee
T r á c h n h iệ m
V ò n g đ ò i:
C o ffe eF iller = (F ill. In form W orkers. C h e ck S to c k . A w aitE m p ty )"
An toàn:
co ffe e S to c k > 0

Hinh 3. Giản đồ cho vai trò CoffeeFiller.


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

Việc xem những tương tác theo cách như vậy có ý nghĩa là sự tập trung được dồn vào bàn
chất và mục đích cùa tương tác, chứ không phài vào những sự thứ tự chính xác trong việc
trao đổi thông điệp.

Cách tiếp cận này có nghĩa là m ột định nghĩa giao thức sẽ làm tăng sự trao đổi thông
điệp trong khi hệ thống chạy. Ví dụ, hãy xem xét giao thức bán đấu giá kiểu Anh. Nó liên
quan đến nhiều vai trò (người bán và người đấu giá) và nhiều mẫu hình trao đồi khác nhau
(sự thông báo giá và việc ra giá cùa người đấu giá). Tuy nhiên tại giai đoạn phân tích, việc
khởi tạo chính xác chi tiết như vậy thật không cần thiết và quá hấp tấp.

Một định nghĩa giao thức bao gồm những thuộc tính sau:

- Mục đích: là miêu tà nguyên văn ngắn gọn cùa bàn chất sự tương tác (ví dụ "yêu
cầu thông tin”, “ liệt kê hành vi” , “gán tác vụ”);

- Người khởi xướng: (Những) vai trò có trách nhiệm bát đầu tương tác;

- Người phàn ứng: (Những) vai trò mà người khới xướng tương tác với;

- Đầu vào: Những thông tin được sừ dụng bởi vai trò người khới xướng trong khi
ban hành giao thức;

- Đầu ra: Những thông tin được cung cấp bởi hoặc cho giao thức phàn ứng trong
suốt quá trình diễn ra tương tác.

- Xứ lý: Miêu tà nguyên văn ngán gọn về những xử lý mà giao thức người khởi
xướng thực hiện trong quá trình tương tác

Fill

C offeeFiller C o ffeeM ach in e


S upplied coffeeM aker

Fillcoffee m ac h in e
C o ffeeS to ck

Hình 4. Định nghĩa giao thức Fill.


Phụ lục A 313

Hãy xem giao thức Fill, nó hình thành nên một phần cùa vai trò CoffeeFiller. Xem
miêu tà hình 16 cũa giao thức này ở trên ta sê thấy giao thức Fill được khởi tạo bởi vai trò
CoffeeFiller và liên quan đến vai trò CoffeeM achine. Giao thức liên quan đến CoffeeFiller
đưa café vào máy được đặt tên là coffeeM aker, và kết quà là vai trò CoffeeM achine được
thông báo về giá trị cùa coffeStock.

9.1.3 Quá trình phân tích

Giai đoạn phân tích cùa Gaia có thể được đúc kết như sau:

(1) Xác định những vai trò trong hệ thống. N hững vai trò trong hệ thống sẽ tương
ứng với:

- Những cá thề trong một tồ chức hoặc hoạt động độc lập.

- Những bộ phận trong tổ chức; hoặc

- Chính là tổ chức.

Đầu ra: Một mô hình vai trò nguyên m ẫu-m ột danh sách những vai trò chú yếu hoạt
động trong hệ thống, mỗi vai trò với một miêu tả thoãi mái không cần ti mi.

(2) Với mỗi vai trò, xác định và ghi chép những giao thức liên quan. Những giao
thức là những mẫu hình sự tương tác hoạt động trong hệ thống giữa những vai trò khác
nhau. Ví dụ, một giao thức có thể tương ứng với một tác từ trong vai trò người mua cung
cấp giá cho một tác từ với vai trò là người bán.

Đầu ra: Một mô hình sự tương tác, mà ghi lại những kiểu tương tác tuần hoàn giữa
các tác tử (mẫu hình).

( 3) S ũ d ụ n g I1IÔ lilnli g i a o t h ú c n h u lả n ẻ n lù n g đ ẻ d ụ n g lên c h l tỉél m ô liỉnll c á c vai

Đầu ra: Một mô hình những vai trò được miêu tả ti mi, trong mô hình này có những
vai trò chù yếu hoạt động trong hệ thống, những quyền cùa chúng, trách nhiệm, cùng với
những giao thức và hành vi mà chúng tham gia.

(4) Lặp lại các giai đoạn (l)-(3 )

9.2 Thiết kế

Mục đích cùa quá trinh thiết kế cổ điền là chuyển những mô hình trừu tượng được
rút ra trong giai đoạn thiết kế thành những sự trừu tượng ờ cấp độ thấp hơn mà chúng có thề
314 Tác từ - Công nghệ phần mềm hướng tác từ

được thực thi một cách dễ dàng. Điều này không phái là ngoại lệ đối với thiết kế hướng tác
tử. Hơn thế, mục đích của Gaia là chuyển những mô hình phân tích thành sự trừu tượng ờ
mức thấp hơn để những kỹ thuật thiết kế truyền thống có thể được áp dụng đề thực hiện tác
từ. Gaia quan tâm đến cách mà một xã hội tác tử hợp tác đề nhận ra mục đích ờ mức hệ
thống, và những gì được yêu cầu của mỗi tác từ để làm điều đó. Thực ra cách mà m ột tác từ
nhận ra những dịch vụ cùa nó nằm ngoài phạm vi cùa Gaia, và sẽ phụ thuộc vào phạm vi
từng úng dụng cụ thể.

Ọuá trình thiết kế Gaia liên quan đến việc tạo ra ba mỏ hình. Mô hình lác từ xác
định các kiểu tác tứ tạo nên hệ thống, và các thế hiện tác lừ được khới tạo từ những kiểu đó.
Mô hình những dịch vụ xác định những dịch vụ chính được yêu cầu đế thực hiện vai trò của
tác tử. Cuối cùng, m ô hình sự hiếu biết phác tháo lên những đường giao tiếp giữa các tác tử
khác nhau.

9.3 Mô hình tác tử

Mục đích cùa mô hình tác tử là để viết lên những kiểu tác từ khác nhau được sừ
dụng trong hệ thống trong khi triển khai, và những thế hiện tác từ sẽ thực hiện những kiểu
tác từ này trong quá trình chạy.

Một kiểu tác tử được coi là một tập các vai trò tác tử. Có thề chi là m ột sự tương úng
một - lĩiột giữa những vai trò và những kiểu tác tử (như chúng ta đã định nghĩa trong mô
hình vai trò ở phần trên). Tuy nhiên, điều này không nhất thiết pliài như thế. Một người
thiết kế có thể chọn cách đóng gói nhiều vai trò liên quan đến nhau vào cùng một kiều tác
tù đẻ c h o tiệ n lợi hơn. Tính hiệu quà đ ư ợ c xem đến như là m ộ t moi quan tâ m chinh trong
giai đoạn này: một người thiết kế sẽ gần như chắc chắn muốn tối ưu hoá thiết kế, và có một
cách để làm việc này là tập hợp nhiều vai trò tác tử vào một kiểu duy nhất (và như vậy sẽ
tiết kiệm được vi xừ lý hoặc không gian nhớ trong quá trình chạy), và tất nhiên sẽ hiệu quà
hơn khi mà nhiều vai trò trong một tác tử hơn là đưa ra nhiều tác từ thực hiện một vai trò.

Chúng ta chứng minh những thể hiện tác tử sẽ xuất hiện trong hệ thống bằng cách
chú thích những kiểu tác tử trong mô hình tác tử. Một chú thích n có nghĩa rằng chì có
chinh xác đúng n tác từ cùa kiểu này trong hệ thống đang chạy. Một chú thích m ...n có
nghĩa rằng không ít hơn m và không nhiều hơn n thể hiện cùa kiểu này trong hệ thống đang
chạy (m<n). Còn ký hiệu * có nghĩa ràng có thể không có hoặc nhiều hcm 0 thể hiện tại lúc
Phụ lục A 315

chạy, và + có nghĩa rằng có thể có l hoặc nhiều hơn thể hiện tại lúc chạy.

Chú ý rằng kế thừa không đóng vai trò gi trong mô hình tác từ của Gaia. Quan điểm
cùa chúng ta là các tác tử là những hệ thống tính toán rất nhó, và m ộ t tác tứ sẽ bao gồm chì
một lượng rất nhó vai trò và kiểu, thường là có ánh xạ m ộ t-m ộ t. Với lý do này, chúng ta tin
rằng kế thừa sẽ không có tác dụng trong thiết kế các kiểu tác tử.

9.4 Mô hình các dịch vụ

Mục đích cùa mô hỉnh dịch vụ Gaia là xác định những dịch vụ gắn với mỗi vai trò
tác tử, và để xác định thuộc tính chính cùa những dịch vụ. Thông qua dịch vụ, cỏ nghĩa là
một hàm trong tác từ. Trong thuật ngữ 0 0 , một dịch vụ tương ứng với một phương thức.
Tuy nhiên, chúng ta không cỏ ý cho ràng những dịch vụ này cũng sẵn dùng với những tác
tử khác. Ờ đây, một dịch vụ chỉ đơn giãn là một khối cụ thể đơn lé cùa hành vi mà tác từ
gán với. Và tất nhiên mỗi hành vi được xác định trong giai đoạn phân tích là tương ứng với
một dịch vụ, tuy nhiên mỗi dịch vụ sẽ không tuơng ứng với một hành vi.

Với mỗi dịch vụ nó có thể được thực hiện bởi một tác tử, và cần thiết phải ghi chép
những thuộc tính cùa nó. Đặc biệt, chúng ta phái xác định những dữ kiện đầu vào, đầu ra,
điều kiện ban đầu, điều kiện lúc sau cùa mỗi dịch vụ. Đầu vào và đầu ra cho những dịch vụ
sẽ được xác định thông qua mô hình giao thức. Điều kiện ban đầu và lúc sau biểu diễn
những ràng buộc trên những dịch vụ. Những điều kiện này được xác định từ những thuộc
tính an toàn cùa vai trò. Chú ý rằng, thông qua những định nghĩa, mỗi vai trò sẽ gán với ít
nhất một dịch vụ. Những dịch vụ mà một tác tử sẽ thực hiện được xác định thông qua danh
sách nhữna ịiiao thức, hành vi. trách nhiệm và những thuôc tinh vòne đfvi cùa một vai trò
Ví dụ, trờ lại ví dụ vai trò CoffeeFiller, có 4 giao thức và hành vi gắn với vai trò này: Fill,
InformWorkers, CheckStock, và AvvaitEmpty. Nói chung, sẽ có ít nhất một dịch vụ gán với
mỗi giao thức. Trong trường hợp cùa CheckStock, dịch vụ sê lấy đầu vào là mức café trong
bình và một giá trị ngưỡng nào đó, sau đó SO sánh hai giá trị. Nhũng điều kiện ban đầu và
sau sẽ thông báo là mức café trong binh sê lớn hơn 0. Đây là một trong những thuộc tính an
toàn cùa vai trò CoffeeFiller.

Mô hình dịch vụ Gaia không miêu tã việc thực hiện cho những dịch vụ mà nó miêu
tà. Người phát triển tự do thực hiện những dịch vụ trong bất cứ framework thực hiện nào
thấy ràng phù hợp. Ví dụ, có thể thực hiện những dịch vụ trực tiếp như là những phương
316 Tác tù’ - Công nghệ phần mềm hướng tác từ

thức trong ngôn ngữ hướng đối tượng. Hoặc, một dịch vụ có thể được phân nhỏ thành nhiều
phương thức.

9.5 Mô hình sự hiểu biết

Mô hình thiết kế Gaia cuối cùng có thề là đơn giàn nhất: mô hình sự hiểu biết.
Những mô hình sự hiểu biết đơn giản định nghĩa những đường giao tiếp tồn tại giữa những
kiểu tác tử khác nhau. Chúng không xác định thông điệp gì được gửi hoặc khi nào thông
điệp được gửi, chúng chì đơn giản chì ra rằng có tồn tại một đường giao tiếp. Nói riêng,
mục đích cùa một mô hình sự hiểu biết là để xác định những thắt nút cổ chai trong giao tiếp
có thể xày ra, mà điều này có thể gây ra lỗi trong khi thực thi chương trinh. Và thông qua
mô hình sự hiểu biết, chúng ta có thề tìm ra sự cần thiết phai quay lại giai đoạn phân tích và
làm lại việc thiết kế để loại bỏ những lỗi như vậy.

Một mô hình sự hiểu biết tác từ đơn giản chi là một đồ thị, vói mỗi nút trong đồ thị
tương ứng với mỗi kiểu tác tử và mỗi dây cung tương ứng với một đường giao tiếp. Những
mô hình sự hiểu biết tác tử là những đồ thị có hướng, và vi vậy một cung a->b chi ra ràng a
sẽ gừi thông điệp đến b, những không chi ra rằng b sẽ gửi thông điệp đến a. Một mó hình sự
hiểu biết có thể được xác định thông qua cách trực tiếp từ những vai trò, giao thức, và mô
hình tác tử.

10 Quá trình thiết kế


Giai đoạn thiết kế Gaìa có thể được tổng kết như sau:

• Tạo ra mô hình tác từ:

• Ket họp những vai trò vào trong những kiểu tác tử, và tinh chế để hình thành lên
một phân cấp kiều tác từ.

• Ghi lại những thể hiện cùa một kiểu tác tử sứ dụng những ký hiệu chú thích thể
hiện.

• Phát triển mô hình những dịch vụ, bằng cách kiềm tra những hành vi, giao thức, và
những thuộc tính vòng đời và an toàn cùa vai trò.

• Phát triển mô hình sự hiều biết từ mô hình tương tác và mô hình tác từ.
Phu• luc
• B

Phương pháp luận hình thức xây dựng


ontology

1 Cơ sở lý thuyết logic hình thức

1.1 Ví dụ về cây phả hệ

Chúng ta sẽ bắt đầu từ ví dụ về cây phả hệ cùa con người như hình vẽ dưới đây
318 Tác tử - công nghệ phần mềm hướng tác tử

Để biểu diễn mối quan hệ trong cây phả hệ ta có thể dùng các biểu thức logic như

man = person n Bsex : male


parent = person n 3child : T
father = parent n man
grandfather = father n Bchild : parent
woman = person n -1 man

Theo ví dụ trên, khái niệm man là một person có thuộc tính sex liên quan đến khái
niệm mate. Các khái niệm person, sex, male không được giài nghĩa trong ví dụ trên. Chúng
được coi là các khái niệm gốc không cẩn giài thích trước khi sừ dụng. Parent là m ột person
có liên quan đến thuộc tính child. Trong ví dụ này child có thể là bất cứ cái gi. Khái niệm
fa th e r được định nghĩa cùng là parent và man. Thực chất đó là việc đa thừa kế của fa th er từ
hai khái niệm cha là parent và man. T ừ ví dụ trên, ta nhận thấy có thể xây dựng một cây
phân cấp các khái niệm bằng các phát biểu logic.

1.2 Định nghĩa ngôn ngữ logic hình thức

Bằng các phát biểu lôgic như trên, chúng ta sẽ xây dựng ontology bao gồm các
khái niệm trong một lĩnh vực. Trước tiên, ta sẽ đưa ra một ngôn ngữ đề phát biểu các mệnh

đề lôgic đó:

C h o b ộ b ổn G — (N, T.P.S) tro n g tió

N = {<EQ>,<DL>}

T = { C N,RN.n,u,-,,V.3,:.=}

s = {<EQ>}

p = Ị <EQ> =>CN = <DL> ị <DL> n <DL> I <DL> V <DL> I

177?v ■' <DL> \ 3RS : <DL> Ị C-'\' }

Đồng thời ta sẽ định nghĩa m ột tập Tên chứa tất cả tên có thể có của C n,Rn. Điều

này có nghĩa là trong định nghĩa trên c,v, /?,v đều e Tên.
Phụ lục B 319

Như vậy ngôn ngữ logic hình thức sẽ được định nghĩa như sau:

L(G ) = {(0 I (06 T* A s =>* co}

Sau khi định nghĩa ngôn ngữ cẩn sừ dụng, ta sê định nghĩa một kiều dữ liệu trừu
tượng: kiểu danh sách nhằm biểu diễn tri thức được lưu giữ trong ontology cùa chúng ta.

1.3 Đ ịn h n g h ĩa k iê u đ a n h sá c h

• Một danh sách là một dãy các đối tượng thuộc cùng một loại cụ thế gọi là
DataType.

• Một phần từ x cùa danh sách là một đoi tượng thuộc loại DaíaType

• Một danh sách không rỗng được biếu diễn dưới dạng <xl,x2.......xn> trong đó

các xi e DataType

• MỘI danh sách rong được ký hiệu là <>

• Ký hiệu DataType* là lập tất cá các danh sách mà các phẩn từ cùa những danh
sách này có kiểu DalaType.

• MỘI danh sách có thế định nghĩa là một bộ ba <l,pl,p2> trong đó I = pl+p2.
Trong đó p l biếu diễn phần đầu cùa danh sách, p2 biếu diễn phần đuôi cúa
danh sách. Toán từ “+ ” ở đáy nhắm biêu diên việc nôi p l và p2.

» Ký hiệu r(l) biếu diễn tập hợp chứa tất cà các đối lượng cùa danh sách I.

• Phần tứ hiện thời cùa danh sách được định nghĩa là phần tứ đầu Hên cùa p2

Kiểu đối tượng DataType ở đây chi là một template và có thề thay thế bằng các
kiểu dữ liệu thật. Ví dụ như khi ta quan tâm đến một dẫy các xâu thì ta sẽ có dãy le

STRING*.

1.3.1 C á c th ù tụ c x â y d ự n g d a n h s á c h

Ngoài ra, đi kèm với một danh sách sẽ là một tập các thao tác hay các hàm đi kèm.
Đó là những thao tác có tác dụng duyệt, lấy ra các đối tượng thỂm vào, loại bò hay tìm
kiếm trên danh sách. Chúng ta sẽ định nghĩa các thao tác này nhằm phục vụ cho việc phát
320 Tác từ - công nghệ phần mèm hướng tác tử

triền các ontology. Trong số các thao tác này, thao tác fin d là quan trọng nhất, ontologjy sẽ
được quán lý chù yếu dựa vào thao tác find. Thao tác find() được mô tà như sau:

T hao tác find

Đầu vào: Danh sách I e DataType*, từ khoá key £ KeyType'

Đầu ra: Trá về một phần từ x € DataType

Mô tả: Tim trong danh sách / phẩn lừ đầu tiên có từ khoá


key. Neu không có thì trá về Nil.

Điều kiện tru ó c: 1 e DataType* A l = P 1 + P 2 A l=rewind(!)

Điều kiện sau: l = l~ P i+P 2 A (fìnd(l,x)= nil -*P ỉ= < >

A Vz e r(p2(ĩỵpre). z ) A

(fín d (l,x)? nil —>next(l,x) = h eadipj


A head(p 2).key = key) /\

3 11 ẼDataType*.li+Pỉ = Ọ2 @pre A

A V z e rfli). z * x

Đề phục vụ cho thao tác find và các tính năng cùa danh sách, ta cần đưa thêrm vào
ác thao tác khác:

T hao tác head

Đầu vào: Danh sách 1 e DalaType*

Đầu ra: Đoi tượng X e DataType

Mô tã: Trà về đổi tượng đầu tiên của danh sách l

Điều kiện tru ó e: I e DataType*

Điều kiện sau: head(l) = N il nếu 1 = 0

head(ì) = Xỉ nếu l khác <>


Phụ lục B 321

Thao tác head sẽ tìm đối tượng đầu tiên trong danh sách, nếu danh sách rỗng thi
head trà về một phần từ Nil, còn nếu danh sách khác rỗng thi head sẽ trà về phần từ đứng
đầu dãy

T h ao tác tail

Đ ầu vào: D anh sách l e DalaType*

Đ ầu ra : M ột danh sách e DataType*

M ô tá: Trà về phan còn lại cùa danh sách / sau khi bó
đi phan lừ đau tiên. Nếu chi có m ột phần từ
trong danh sách l thì hàm sẽ trá về < >

Điều kiện tru ó c : I e DataType*

Điều kiện sau: tail(l) = N il nếu l - < > vl= < X i>

tail(l) = < X 2 , X J , . .. , X „ > nếu I có nhiều hơn 1


phần tứ

Thao tác tail trả về phần còn lại cùa danh sách sau khi bỏ đi phần tử đầu tiên. Tail
sẽ trà về phần từ rỗng nếu danh sách rỗng hoặc chi có m ột phần từ. Thao tác này thực chất
là hỗ trợ việc duyệt từng phần tử m ột trên danh sách.

T h ao tác app en d

Đ ầu vào: D anh sách l e DataType*, m ột đổi lư ọ n g x e


DataType

Đ ầu ra: K hông có giá trị trà về

M ô tả: lưu phần từ X vào cuối cùa danh sách l

Điều kiện tru-óc: I e D ataType* A l - P1+P2

Điều kiện sau: / = P i+P i /V P 2 = (pỉ@ pre) + <x>

A P i = P i @ P re

Thao tác apppend gán m ột phần tử X vào cuối danh sách. Sau khi thực hiện thao
tác này, Pi vẫn giữ nguyên còn p2 sẽ có thêm một phần tử ờ cuối.
322 Tác tử - công nghệ phần mềm hướng tác từ

T hao tác rem ove

Đ ầu vào: Danh sách ì e DataType*

Đ ầu ra : K hông có g iá trị trả về

M ô tả: X oá phần tứ hiện thời khoi danh sách I

Điều kiện tru ó c : / e D ataType* A l = P i+ P i

Đ iều kiện sau: / = P t+Pi A P ĩ ~ tail(pĩ(ĩỳ,pre)

A p i= p i@ p r e

Thao tác xoá m ột p h ầ n từ, Pi sẽ vẫn giữ nguyên nhung p2 sẽ bằng với phần đuôi cùa p2 trước

khi thực liên thao tác.

T h ao tác next

Đ ầu vào: D anh sách I e D ataType*

Đ ầu ra: Phan tứX e DataType

M ô tả: Trà vé phần từ kế liếp trong danh sách I đồng thời


phan tứ đó trớ thành phần tứ hiện thời cùa danh
sách

Điều kiện tru ó c : / € DataType* A 1= P i +P2

Điều kiện sau: / = P i+Pĩ A Pĩ — t a i l ( p 2@ p r e )

A P i = ( P i @ p r e ) + < h e a d ( p 2@ p r e ) >

/\ n e x t = h e a d (p i@ p r e j

r h a o tác next dịch chuyển trên d an h sách, Pi sẽ đ ư ợ c c ộ n g thêm phần từ hiện hành

còn p2 sê bị trừ đi phần từ hiện hành (tức là đầu cù a p 2), chi cò n lại phần đuôi.
Phụ lục B 323

T h a o tác rewind

Đầu vào: Danh sách l E DalaType*

Đầu ra: Không có giá trị trá về

Mô tả: Khới tạo vị trí hiện thời trong danh sách ớ trước
phan tứ đầu tiên cùa danh sách. Nghĩa là sau khi gọi rewind.
thì hàm next s ẽ trà về phần tứ đầu tiên cùa danh sách l.

Điều kiện tru ó c : / e DalaType* /V / = P i+ Pĩ

Đ iều kiện s a u : / = / @ p r e /\ 1=PI+P2 A P2 = I

A Pi = <>

T hao tác rew in d th iết lập Pi là rỗng và P2 chinh là cà danh sách I. T hực chất là việc

đư a con trò về đầu cù a d an h sách.

1.3.2 Đ ịn h n g h ĩ a h ì n h t h ứ c O n t o l o g y d ự a t r ê n k iể u d a n h s á c h

Sau khi xây d ự n g đ ư ợ c danh sách và các thao tác như trên, ta sê định nghĩa và dư a

ra các thú tục báo trì, ph át triển O nto lo g y dự a trên cú pháp và kiều dữ liệu danh sách ờ

trên.

M ột o n to lo g y đ ư ợ c định n ghĩa là m ột hệ (L c ,L Eq ) trong đó

L ị - € ( c ,v , Ls. L l')*

Cfj là xâu biếu diễn lên cùa khái niệm: Cu e STRING

LSi,b e STRING* là dãy tất cá tên các khái niệm thừa k ế từ c,v

Lr € (Ru, C/Í.v, T)* là dãy các thuộc tinh liên quan đến Cu

Kiếu cùa thuộc tính được xác định băng T e Ị3 ,V Ị

• Khái niệm T e r(L f) được định nghĩa là ( T ,< > ,< > ) và là phần l ù khới tạo, không thê

xoá bó cùa Lự.


LKq là dãy các phát biếu logic đế xây dựng ontology.
324 Tác tử - công nghệ phàn mềm hướng tác tử

1.3.3 Các thao tác trên ontology

Đi kèm với định nghĩa trên, ta cũng đưa ra một tập các thao tác trên ontology. Các
thao tác này cho phép ta thêm , xóa, sửa các khái niệm và các thuộc tính trên ontology.

T h ao tác derivedC oncept


Đ ầu vào: Tên cùa khái niệm cha PN
Tên cùa khái niệm mới Cu
Ontology; k
Đ ầu ra: K hông có giá trị trà về
Mô tả: Đ ưa thêm vào Ontology k một khái niệm thừa kế từ Pn
Điều kiện tru ó c : fin d (C N,k.L i)= nil A fm d (P N,k.L() * nil
Điều kiện sau: fin d (C N,k.L¡) * n ¡l A fin d (''C N.slrVal()=Pỵ.strValO n T ” , i Lc¡l)¡¿
nil A (B xer(k.Lc).(x.C n =Pn A fm d(C n,x.Ls„iJ*nil))

Sau khi thực hiện thao tác derivedConcept, trong ontology phải có một khai báo

một khái niệm mở rộng từ khái niệm cha. Ví dụ như man = person n T. Ngoài ra, còn phài
tìm thấy mối quan hệ cha con giữa hai khái niệm trong tập các mối quan hệ cha con cùa
ontology.

T hao tác A ddA IIPro


Đ ầu vào: Thuộc linh PN
Đoi lượng Cu
Kiéu giú (rị L>n
Ontology: k
Đ ầu ra: K hông có giá trị trà về
Mô tà: Dưa thêm vào Ontology k một thuộc tính PN liên két từ Cu đen ũ,v
Điều kiện tru'ó'c: Vx er(k.L tj (x.C,\t = DN A -i3y e X.Lr.(y.RN=RN A y.C N = CĩJ A
fm d (C N, k.Lc)* n il A fin d (D N,k.Lc)*nH
Điều kiện sau: fm d (''C N.strVal()
= C n .strV a l()n VRN.strVal():DN.strV al())*nil A

3c e r(L( j. (x.Cfj=DN Afìnd(Cn,x. Li<) ni!)

Để thực hiện thao tác AddAllPro thì các kiều đối tưọng và giá trị đã phải tồn tại
trong ontology. Sau khi thực hiện xong, trong tập các thuộc tính sẽ phái có PN.
Phụ lục B 325

T hao tác derivedC oneept


Đầu vào: Tên cùa khái niệm m ới Cu
Ontology: k
Đầu r a : K hông có giá trị trá về
Mô tà: Đ ưa thêm vào ontology k một khái niệm
Điều kiện tru ó c : fìnd(C fj,k.L cJ-nil
Điều kiện sau: fm d (C n ,k.L f) * n il A fm d ("C fj.slrV a l()= T n
T ” ,£. L Cy ) * n i l

T h ao tác defineC onceptB yA IIN egation


Đầu vào: Tên cùa khái niệm phú định D,\I
Tên cùa khái niệm mới C;v
Ontology: k
Đầu ra : K hông có giá trị Irá về
Mô tã: Đ ưa thèm vào ontology k một khái niệm Cu là tập
hợp lât cá các đói tượng không thuộc D n
Điều kiện tru ó c : find(C N,k.L f)= nil A fm d (D N,k.L() nil
Điều kiện sau: fin d (C N,k.Lc) ¿ n il A fìn d (''C N.strV al()= -iD N.strVal()
n T \ k . L ell)*n¡l

T hao tác defineC onceptB yN egation


Đầu vào: Tên cùa khái niệm phú định D,v
Tên rim khái niêm mới Cu
Tên cùa khái niệm tàm ngoại diên PN
On to log)’: k
Đầu ra : K hông có giá trị trà về
Mô tà: Đ ưa thêm vào ontology k mộ! khái niệm CN là tập
hợp tắt cá các đổi lượng là PN nhưng không là Du
Điều kiện tru ’ó'c: fm d (C N,k.Lc)=nil A fm d (P N,k.Lc) * nil A (3 x e
r(k.L(j-(x.CN=PN A fm d (D N,x.Lr) # n il
Điều kiện sau: firtd(CN,k.L i) ¿ n il A
f in d ( ‘‘C n S trV a l()= T r\-ìP sS trV a l()" ,k. Lcil)# n il A
(3x e r(k.Lc). (x. C n ~P n a fìnd(C u,x.Lr) * nil
326 Tác từ - công nghệ phần m ềm hướng tác từ

T h ao tác m u ltip le ln h eritC o n ce p t


Đ ầu vào: Tên cùa khái niệm m ới c,v
Tên cùa 2 khái niệm cha P NI, P N 2

Ontology: k
Đ ầu ra : Không có giá trị trà về
Mô tả: Đưa thêm vào ontology k m ột khái niệm CN thùa kế
từ hai tập cha Pni,Pn 2
Điều kiện trư ó c : fm d (C Nỉk.LCJ =nil A fm d(P m ,k.L c) # nil A

fìn d (P N2 , k .L fj * nil
Điều kiện sau: fm d (C N,k.Lc) * n i l A

fin d (''C N.strV al()= P Ni.strValO(~ìPN2 StrVal(),\ k . L e(l)# n il A

(3 x e r(k.Lc).(x.CN=Pm A find(Cn,x.Li>) ¡¿nil) A

(3 c e r(k.L c).(x.C s=Pm A find(C s,x.Lp) * nil)

T h ao tác rem oveC oncept

Đ ầu vào: Tên cùa khái niệm CN


Ontology: k
Đ ầu ra : K hông có giá trị trả về
M ô tả: X oá khói O ntology k m ột khái niệm CN không có m ối
quan hệ nào với các khái niệm khác
Đ iều kiện trư ớ c : find(C n,k.Lc)* n il A (3 x e r(k.Lc).(x.CN~CN A
X-L,uh=<> AX.Lp=<>)
Điều kiện sau: fin d (C N,k.Lc) = nil A ( V x e r(k.Lc). (fìnd(Cn,x.LsuiJ =
nil /\fìn d (‘,*C ^.strV alộ* ”) —rũl))

T h ao tác A d d E x istP ro
Đ ầu vào: Thuộc tính RN
Đ ối tượng CN
Kiểu giá trị Dfj
Ontology: k
Đ ầu ra : K hông có giá trị trả về
M ô tả: Đưa thêm vào ontology k m ột thuộc tính RN liên kết
từ C h đến D s theo từ kiểu từ khoá 3
Phụ lục B 327

Điều kiện truóc: Vxer(k.L().(x.CN = D ,J A -,3yex.L/>.(y.Rn=RN A


y .C N = Cu) A find(C ỵ, k.Lc)*nil /\ fm d (D N,k.Lc)ĩ*nil
Điều kiện sau: fìn d ( " C N S trV a l()
=CN.strV al()n3R N.strVaI():DN.strVal())#nil /ì
3 x e r(Lc).(x.Cn~D ỵ Afìnd(Cfj,x.Li>) # n il)

Thao tác removeRole


Đ ầu vào: Thuộc tính PN
O n to lo g y : k

Đ ầu ra: K hông có giá trị trá về


Mô tả: X o á khói ontology k m ột thuộc tính P n
Điều kiện trưóc: Bx € r(Lc). (fm d(Pn.x.Lp) # nil)
Điều kiện sau: V x e r(Lc).(fin d (P N,x.Li-) = nil)

1.3.4 Ví dụ xây dựng ontology bằng các thủ tục hình thức.
Dưới đây là m ột ví dụ về việc xây dựng, cập nhật ontology bằng cách sử dụng các
phát biểu nói trên. Ta lại quan tâm đến ví dụ đã đưa ra ờ đầu chương về mối quan hệ trong
cây gia phả. Dưới đây là các thao tác để xây dựng cây phả hệ đó:

createConcept("person", k)

' createConcept("male", k)

deriveConcept("man", "person", k)

add A H P r o ("sex", "man", "male", k)

deriveConcept("parent", "person", k)

addExistPro("child", "parent", "T", k)

multiplelnheritConcept("father", "parent", "man", k)

deriveConcept("grandfather", "father", k)

addExistPro("child", "grandfather", "parent", k)

defineConceptBỵNegation("woman", "person", "man", k)


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

Sau khi thực hiện các thao tác nói trên , ta sẽ có m ột ontology được xây dựng dựa
trên các mệnh đề logic như sau:

person = T n T

male = T n T

man = person n T

man = person n 3sex : male

parent = person nT

parent = person n 3child : T

father = parent n man

grandfather = father n T

grandfather = father n Bchild : parent

woman = person n -I man

2 Kết luận
N hư vậy, ta đã xây dựng cơ sở lý thuyết cho việc xây dựng ontology bằng lý
thuyết hình thức. Một tập họp các thao tác được đưa ra cho phép chúng ta làm việc với
ontology. Các thao tác này đều được mô tà dưới dạng các điều kiện trước và sau nên rất
thích họp cho việc xây dựng một hệ thống cho phép quàn lý quá trình xây dựng và phát
triển ontology phù họp với yêu cầu riêng cùa người sứ dụng. Bằng các thao tác này. quá
trình phát triển theo thời gian cùa ontology được kiểm soát chặt chẽ, đàm bào tính thống

nhất trong cơ sờ tri thức.

Sau khi đẫ xây dựng cơ sờ lý thuyết, bước tiếp theo ta sẽ đưa ra phương pháp phát

triển ontology dựa trên các cơ sở lý thuyết này. Đó là phương pháp xây dựng ontology hình

thức.
Tài liệu th a m k h à o 329

T À I L IỆ U T H A M K H Ả O

[Bashir 2003], Bashir F.I., M ansoor H. Ontology Construction for Structured Textual Data.
Dept, of Electrical & Com puter Engineering, University o f Illinois at Chicago, 2003

[Bcs] http://w ww.bcs.org/BCS BCS homepage

[Bjoraa 2003] Bjoraa E. Ontology guided financial knowledge extraction from


semistructured information sources. M asters Thesis, Agder University College, 2003

[Chavez 1996] C havez A., Maes p., Kasbah: An Agent Marketplace for Buying and Selling
Goods, Proceedings o f PA AM 96.

[Ciocoiu 1999] Ciocoiu M., Nau D .s. Ontology-Based Semantics. NIST 70NANB6H0147.
1999

[Collis a] Collis J., Ndumu D. - Intelligent System Research Group, BTLs - ZEUS
Technical Manual

[Collis b] Collis J., Ndumu D. - Intelligent System Research Group, BTLs - The Role
Modelling Guide

[Collis c] Collis J., Ndum u D. - Intelligent System Research Group, BTLs - The ZEUS
Realisation Guide

[Corcho 2003] C orcho o ., Fernandez-Lopez M., Gomez-Perez A. Methodologies, tools and


languages for building ontologies. W here is their meeting point?. Data & Knowledge
F n g in e e rin g 46' 41—64.

[Costello 2002] Costello R.L., Jacobs D.B. OWL Web Ontology Language, The MITRE
Corporation, 2002.

[Cybulski 2002] Cybulski J.L., Nguyen L., Lamp J.W., Smith R. Developing an Ontology.
The Seventh Australian W orkshop on Requirements Engineering Proceedingspp. 169 - 182,
Deakin University M elbourne Australia 2002

[de Almeida 2000] de Almeida R. A systematic Approach for Building Ontologies. CEP
21945-970, RJ. 2000

[Ding 2003] Ding z. and Peng Y. A Probabilistic Extension to Ontology Language OWL.
Report. Technical Report. University o f Maryland Baltimore County, 2003
330 T£c t if - Cong nghe p h ln m§m h ird n g tac tip

[Falquet 2003] Falquet G., Jiang C. A Fram ew ork to Specify H ypertext Interfaces for
Ontology Engineering. KM OM -IJCAI 2003.

[Faratin 2002] Faratin P., Sierra C., and Jennings N.R. U sing sim ilarity criteria to make
trade-offs in automated negotiations, Artificial Intelligence 142 (2), Elsevier.

[Fredrik 1995] Fredrik K., A B rief Com parison o f N ew s Filtering Software, The IntFilter
Project, Dept, o f Com puter and Systems Science, Stockholm University, available from
http://w w w .dsv.su.se/~fk/if_D oc/IntFilter.htm l, 1995

[Gang 2001] Gang X. Ontologies and How to build them, 2001

[Grasso 2000] Grasso F. Using an Ontology Conceptualisation M ethod to Capture an


Advice Giving System ’s Knowledge. ECAI 2000. 14th European Conference on Artificial
Intelligence, 2000.

[Guarino 2000] Guarino N. Understanding, Building, And U sing O ntologies. Special CNR
Project on ontological and linguistic tools. 2000.

[H akim pour 2000] Hakimpour F., Geppert A. O ntologies: an A pproach to Resolve


Sem antic Heterogeneity in Databases. Swiss National Science Foundation (SN SF), Project
Number: 2100-053995, 2000.

[He 2001] He Q. Ontology Development. Technical Report, University o f Calgary. 2001

[Horrocks 2003] Horrocks I., McGuinness D.L. W eb Ontology Language (O W L) Abstract


Syntax and Semantics - W 3C, 2003. http://w w w .w 3.org/TR/ow l-syntax/

[Huhns 1998] Huhns M. and Singh M. (eds), Readings in agent, M organ Kaufm ann, San
Francisco, USA.

[Jade] JADE, Java Agent DEvelopm ent Fram ew ork API, available from
http ://sharon.cse It. it/proj ects/j ade/

[Jennings 1996] Jennings N. R., Faratin P., Johnson M. J., Norm an T. J., O'Brien P.,
W iegand M.: Agent-based business process m anagem ent, International Journal o f
Cooperative Information Systems, 5 (2&3).

[Jennings 1998] Jennings N.R., Sycara K., W ooldridge M., A Roadmap o f A gent Research
and Development, Journal o f Autonom ous Agents and M ulti-A gent System s, 1, Kiuwer
Academics.
Tài liệu tham khảo 331

[Jones 1998] Jones D., Bench-Capon T., Visser P. Methodologies for develop ontology.
ECAI-98 W orkshop on Ontological Engineering, 1998

[Kalfogloul 2002]. Kalfogloul Y. and Schorlem m er M. Information-Flowbased Ontology


Mapping, the First International Conference on Ontologies. Databases and Applications of
Semantics (OD BASE'02), Irvine CA, USA, 11- 2002

[Kazakov 2003] Kazakov M., Abdulrab H., Babkin E. Intelligent integration o f distributed
components: Ontology Fusion approach. IAWTIC 2003 Proceedings/ISBN 1740880692,
2003.

[Kazakov 2003] Kazakov M., Abdulrab H., Babkin E.. Intelligent integration o f distributed
components: Ontology Fusion approach. IAW TIC 2003 Proceedings/ISBN 1740880692,
2003.

[Klyne 2002] Klyne G., Carroll J. Resource Description Framework (RDF): Concepts and
Abstract Syntax. W3C, 2002, http://www.w3.org/TRyrdf-concepts/

[Konstan 1997] Konstan J., M iller B., M altz D., Herlocker J., Gordon L., and Riedl J.,
GroupLens: Applying collaborative filtering to Usenet news, Com munications o f the ACM,
vol. 40, No. 3, pp. 77-87, March 1997.

[Lee 2002] Lee C.H., Seu J.H., Evens M.W. Building an Ontology for CIRCSIM -Tutor.
Proc. 13th M idwest AI and Cognitive Science Society Conference, MAICS-2002, Chicago,
pp. 161-168, 2002.

[Lieberman 1995] Lieberman H., Letizia: An Agent That Assists Web Browsing,
Proceedings o f the Fourteenth International Joint Conference on Artificial Intelligence,
August 1995.

[López 2002] López F. M. Overview O f Methodologies For Building Ontologies.


Technical Report. Universidad Politécnica de Madrid, 2002

[Maes 1994] Pattie Maes: Agents that Reduce Work and Information Overload.
Com m unications o f the ACM 37(7).

[M cGuinness 2003] M cGuinness D.L., van Harmelen F. OWL Web Ontology Language
Overview. W 3C, 2003. h t tp ^ w w w .w3.org/TR/owl-guide/

[M cGuinness 2003b] M cGuinness D.L., van Harmelen F.. OWL Web Ontology Language
Guide. W 3C, 2003. http://w ww.w3.org/TR/owl-features/
332 Tác tử - Công nghệ phần mềm hướng tác từ

[Miller] M iller E. An Introduction to the Resource Description Framework. Research


Scientist, O nline C om puter Library Center, Inc. Office o f Research. Dublin, Ohio

[Nakabasam i 2002] Nakabasam i c . An Inductive Approach to Assertional M ining for Web


Ontology Revision. T oyo University, 2002

[Navigli 2003] N avigli R. and Velardi p. Ontology Learning and Its A pplication to
A utom ated T erm inology Translation. IEEE Com puter Society 1094-7167/03, 2003

[Noy 1999] N oy N .F. and M cGuinness D.L. Ontology Developm ent 101: A G uide to
Creating Y our First Ontology. Stanford University, 1999.

[Obitko 2001] O bitko M. O ntologies D escription and Applications. Research Report,


G erstner Laboratory, Departm ent o f Cybernetics, Czech Technical University, ISSN 1213-
3000,2001.

[Parunak 1986] Van Dyke Parunak H.. M anufacturing experience with the contract net. In
M. Huhns, editor, Distributed Artificial Intelligence. Pitman Publishing: London and
Morgan Kaufm ann: San M ateo, CA, USA

[Phuong 2001] T ừ Minh Phương, Phạm Hoàng Duy, Nguyễn N gọc Chương, Agent thông
minh và ứng dụng trong thương mại điện từ, Tạp chí Internet, số 14, 2001.

[Phuong 2005] T ừ M inh Phương, Trịnh Hữu Kiên, Công cụ hỗ trợ tạo Web có ngữ nghĩa sử
dụng kỹ thuật tách thông tin từ văn bàn, Chuyên san Các công trình nghiên cứu - triến khai
viễn thông và công nghệ thông tin, tạp chí Bưu chính viễn thông, số 14, 2005.

[Rosenschein 1994] Rosenschein J.S., Zlotkin G., Rules o f encounters: designing


conventions for autom ated negotiation am ong computers, M IT Press, Cambridge, MA,
USA.

[Seo 2001] Seo Y .w . and Zhang B.T., Personalized web-docuinent filtering using
reinforcem ent learning, Applied Artificial Intelligence, 2001.

[Sheth 1993] Sheth B. and Maes p., Evolving agents for personalized information filtering,
In Proceedings o f the ninth IEEE Conference on Artificial Intelligence for applications, pp.
345-352, 1993.

[Sindt 2003] Sindt T. Formal O perations for Ontology Evolution. CET 2003.
http://w w w .tzi.de/
Tài liệu tham khảo 333

[Steels 1990] Steels L., Cooperation between distributed agents through self-organization,
Proceedings o f M AAM AW -89, Elsevier, Amsterdam.

[Sutton 1998] Sutton R. and Barto A., Reinforcem ent Learning: An Introduction, MIT
Press, 1998.

[Sycara 1996] Sycara K., Decker K., Pannu A. , W illiamson M. and Z eng D., Distributed
Intelligent Agents. IEEE Expert, vol. 11(6).

[Uschold 1996] Uschold M., Gruninger M.. Ontologies: Principles, M ethod and
Applications. Knowledge Engineering Review, Volume 11, 1996.

[van Harmelen 2003] van Harmelen F., Hendler J., Horrocks I., M cGuinness D.L., Patel-
Schneider P.F., Stein L.A. OWL Web Ontology Language Reference. W3C, 2003.
http://www.w3.org/TR/2003/W D-owl-ref-20030221/

[Wache 2002] Wache H., Visser U., Scholz T. Ontology construction - An iterative and
dynamic task. FLARE2002, 2002.

[W aldspurger 1992], W aldspurger C.A., Hogg T„ Huberman B., Kephart J.O., Stornetta
W.S., Spawn: A distributed computational economy. IEEE Transactions on software
engineering, 18(2).

[Weiss 1999] Weiss G. (eds), Multiagent systems. A modern approach to distributed


artificial intelligence. MIT Press, Cambridge, Massachusetts, USA

[Wilson 2002] Wilson R. and Villa R., Survey on Methods, Standards and Tools for LO
Knowledge. Technical Report, University o f Strathclyde, Glasgow, 2002.

[W ooldridge 2002] W ooldridge M., An introduction to multiagent system s, John W illey &
Sons, West Succex, England.

[Zamir 1998] Zamir O. and Etzioni O., Web document clustering: a feasibility
demonstration. Proceedings o f the 21st annual international ACM SIGIR conference on
Research and developm ent in information retrieval, Melbourne, Australia, pp.46-54,
August 24-28, 1998.

[Zeus] http://m ore.btexact.com /projects/agents/zeus/ ZEUS homepage.


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

3 Cơ chế ra quyết đ ịn h ................................................................................................................. 34


3.1. Mó hình chung.................................................................................................................... 34
3.2. Tác từ phàn x ạ .................................................................................................................... 35
3.3 Tác từ có trạng thái............................................................................................................ 37
3.4 Tác tử hành động có mục đích........................................................................................ 38
3.5 Tác tử hành động theo hàm tiện ích............................................................................... 40
3.6 Tác từ với cơ chế suy diễn lôgic.................................................................................... 41
4 Kiến trúc cụ th ề........................................................................................................................... 48
4.1 Kiến trúc phàn x ạ .............................................................................................................. 49
4.2 Tác từ hành động có chù đ ịn h ........................................................................................ 56
4.3 Lập kế h o ạ c h ...................................................................................................................... 65
4.4 Kiến trúc la i........................................................................................................................ 67

C huong 3 TƯ ƠN G T Á C T R O N G HỆ ĐA TÁ C TỬ

1 Hệ tác tử và trò chơi chiến lư ợ c ............................................................................................... 76


1.1 Trò chơi chiến lư ợ c ........................................................................................................... 76
1.2 Trò chơi với hai tác t ừ ...................................................................................................... 78
2 Hành động ưu thế và cân bằng N ash....................................................................................... 80
2.1 Hành động ưu th ế .............................................................................................................. 80
2.2 Cân bằng N ash.................................................................................................................... 82
3 Tác tử tư lợ i............................................................................................................................... 84
4 Các tiêu chi khi thiết kế cơ c h ế .............................................................................................. 85
5 Đấu g iá......................................................................................................................................... 87
5.1 Một số yếu tố liên quan đén đấu g iâ .............................................................................. 88
5.2 Các giao thức đấu g iá ....................................................................................................... 89
5.2.1 Đấu giá kiều A n h ................................................................................................... 89
5.2.2 Đấu giá kiểu Hà Lan............................................................................................... 90
5.2.3 Đấu giá với giá cao nhất và trà giá k in ............................................................... 90
5.2.4 Đấu giá V ickrey...................................................................................................... 9]
5.3 Lợi nhuận trong đấu g iá.................................................................................................... 92
5.4 Sai lệch thông tin và thông đồng giữa người m u a..................................................... 93
5.5 Người bán đấu giá gian lận.............................................................................................. 93
5.6 Ví dụ ứng dụng đấu giá trong cân bằng tải.................................................................. 94
6. Thương lư ợ n g ............................................................................................................................. 95
Mục lục 337

6.1 Các yếu tố liên quan đến thương lượng....................................................................... 96


6.2 Phân loại thương lượng theo m iền................................................................................ 98
6.3 Thương lượng hướng công v iệ c .................................................................................... 101
6.4 Một số phương pháp thương lượng khác..................................................................... 110

C h uong 4 PH ÓI H Ợ P TRO N G HỆ ĐA TÁ C T Ử

1 Phối hợp và tầm quan trọng đối với hệ đa tác t ừ ............................................................... 116
1.1 Phối hợp là gì...................................................................................................................... 1 !6
1.2 Sự cần thiết phái phối h ợ p .............................................................................................. 117
1.3 Một số đặc điếm của phối họp trong hệ tác t ử ........................................................... 118
1.4 Quan hệ giữa các hành động........................................................................................... 119
2 Chia sè công v iệc....................................................................................................................... 120
3 Chia sè kết q u à........................................................................................................................... 129
3.1 Hợp tác chính xác về chức n ă n g ................................................................................... 130
3.2 Bàng đen và trao đồi thông tin nhờ kho chứa thông tin chung............................... 131
4 Phối hợp nhờ cấu trúc tổ c h ứ c ................................................................................................ 133
5 Phối hợp nhờ quy tắc và luật................................................................................................... 135
5.1 Hình thành quy tắc và luật lệ .......................................................................................... 136
5.2 Quy tấc dựng să n ............................................................................................................... 138
6 Phối họp thông qua ý định c h u n g .......................................................................................... 139
7 Phối hợp nhờ lập kế hoạch....................................................................................................... 142
7.1 Tạo ra kế hoạch phân tán một cách tập tru n g .......................................................... 143
7.2 Tạo ra kế hoạch tập trung một cách phân tá n ............................................................ 145
7.3 Tạo ra kế hoạch phân tán một cách phân tá n ............................................................. 145
7.3.1 Kết hợp kế hoạch....................................................................................................... 146
7.3.2 Lập kế hoạch phân tán phân c ấ p ........................................................................... 147
8 Lập kế hoạch tổng thể từng phần.......................................................................................... 150
8.1 Lập kế hoạch...................................................................................................................... 150
8.2 Trao đổi thông tin về kế hoạch ...................................................................................... 150
8.3 Điều chinh kế h o ạch ......................................................................................................... 151
8.4 Tồ chức trong hệ thống.................................................................................................... 154
8.5 Lập kế hoạch tổng thể tùng phần tồng quát................................................................ 154
338 Tác tử - Công nghệ phần mềm hướng tác tử

C hư ong 5 C Ô N G N G H Ệ PHÀN M ÈM HƯ Ớ N G T Á C TỦ

I Tiếp cận hướng tác tử cho công nghệ phần m ềm .............................................................. 157
1.1 Các hệ thống phần mềm phức tạp.................................................................................. 157
1.2 Phần mềm hướng tác tử là gi?'........................................................................................ 160
1.3 Tiếp cận hướng tác tử cho các hệ thống phần mềm phức tạ p .................................. 162
1.3.1 Các phân rã hướng tác tử .......................................................................................... 163
1.3.2 Các trừu tượng hoá hướng tác tử cho các hệ thống phần mềm phức tạ p ...... 164
1.3.3 Sự thay đổi các cấu trúc trong tổ chức tạo quản lý mềm d è o .......................... 165
1.4 Các tác tử so với các đối tượng và com ponent-w are................................................. 166
2. Vòng đời phần mềm hướng tác từ ........................................................................................ 169
2.1 Đặc tả (S pecification)...................................................................................................... 169
2.2 Thục hiện (Im plem entation)........................................................................................... 171
2.2.1 Làm mịn (Refinem ent).............................................................................................. 171
2.2.2 Việc thực hiện trực tiếp các đặc tả tác tử .............................................................. 173
2.2.3 Việc biên dịch các đặc tà tác t ử .............................................................................. 174
2.2.4 Sự xác m in h ................................................................................................................. 175
2.3 Các hướng tiếp cận tiên đề (axiom atic)......................................................................... 176
2.3.1 Sự tiên đề hóa hai ngôn ngữ đa tác từ .................................................................... 176
2.3.2 Các hướng tiếp cận ngữ nghĩa: kiểm tra mô h ìn h ............................................... 177
3 Phương pháp luận hướng tác tử ............................................................................................. 179
3.1 Phương pháp Prom etheus................................................................................................ 179
3.2 Phương pháp T ro p o s........................................................................................................ 180
3.3 Phương pháp G aia............................................................................................................. 181
4 M ở rộng UM L cho đặc tả tác t ừ ........................................................................................... 183
4.1 Tổng quan về U M L ........................................................................................................... 184
4.2 Sử dụng UM L phát triển hệ thống tác t ử ..................................................................... 185
4.3 Phân tích hướng tác t ừ ..................................................................................................... 186
4.4 Thiết kế hướng tác tử ...................................................................................................... 188
5 M ỡ rộng UM L cho việc đặc tả Agent -A U M L................................................................... 189
6 Mô tả toàn bộ giao thức - M ứ c .............................................................................................. 192
6.1 Gói (P ackages)................................................................................................................... 192
6.2 Mầu (T em p late)................................................................................................................ 194
7 Mô tả tương tác giữa các tác từ - Mức 2 .............................................................................. 195
7.1 Biểu đồ diễn tiến (Sequence D iagram )........................................................................ 195
Mục lục 339

7.2 Biểu đồ cộng tác (Collaboration Diagrams)................................................................ 198


7.3 Biểu đồ hoạt động (Activity Diagram s)....................................................................... 199
7.4 Biều đồ trạng thái (State c h art)..................................................................................... 200
8 Mô tả quá trình bên trong tác t ừ ............................................................................................. 202
8.1 Biểu đồ hoạt động (Activity Diagram ).........................................................................202
8.2 Biểu đồ trạng thái (Statechart)........................... *.1.........................................................203
9 Xem xét các AUML khác....................................................................................................... 204
9.1 UML trong hỗ trợ đặc tà chi tiết vai trò của tác t ừ .................................................... 204
9.2 Đặc tà tác từ và tác tử di đ ộ n g ....................................................................................... 207
9.2.1 Sừ dụng biểu đồ UML - gói để biểu diễn tác tử .................................................. 207
9.2.2 M ở rộng Mobility là một thuộc tính quan trọng cùa tác tử bằng biểu đồ
triển k h a i.................................................................................................................... 208
9.3 Một số ký pháp dựa tác tử hữu ích k h ác...................................................................... 209

C huong 6 BẢN T H É H Ọ C - ON TO LO GY

1 Tống quan về ontology..............................................................................................................212


1.1 Giới thiệu chung................................................................................................................ 212
1.2 Sự cần thiết cùa ontology................................................................................................ 213
1.3 Ví dụ minh hoạ về ontology.................... ................................................................... 216
2 Định nghĩa ontology và các khái niệm liên q u a n ............................................................ ,.2 1 8
2.1 Những định nghĩa cơ b àn ................................................................................................218
2.1.1 Trong triết h ọ c........................................................................................................... 218
2.1.2 Trong lĩnh vực trí tuệ nhân tạ o ............................................................................... 219
2.1.3 Trong Công nghệ thông tin..................................................................................... 220
2.2 Phương pháp hình thức trong mô tả ontology.............................................................221
2.3 Phân loại khái niệm trong định n g h ĩa.......................................................................... 222
2.3.1 Từ vựng “Controlled Vocabualary” (CVs).......................................................... 222
2.3.2 Ontology là sự biểu diễn một lĩnh vực - miền ( domain)...................................224
2.3.3 Phân cấp - Taxonom y.................. I)......................................................................... 224
2.3.4 Cấu trúc sơ đồ đối tượng ( Object Scheama).......................................................225
2.4 Kỹ nghệ ontology và Mô hình hóa dữ liệu - Data M odel........................................ 229
3 Minh hoạ và làm rõ thêm các định nghĩa.......................................................................... 232
4 Phân loại ontology ................................................................................................................... 240
5 Ưu điểm và khá năng ứng dụng của ontology...................................................................... 242
340 Tác tử - Công nghệ phần mềm hướng tác tứ

6 Các ứng dụng dựa trên ontology............................................................................................244


6.1 Web ngữ nghĩa (Semantic W eb)................................................................................... 244
6.2 Khai phá dữ liệ u .............................................................................................................. 246
6.3 Tích hợp dữ liệ u .............................................................................................................. 247
6.4 Xử lý ngôn ngữ tự nhiên (NLP).................................................................................... 248
6.5 Thương mại điện t ừ ........................................................................................................ 248

C hưong 7 XÂY DỤNG PH Ư ƠN G PH ÁP LUẬN PHÁT TR1ÉN O N TO LO G Y

1 Những phương pháp luận cùa công nghệ ontology........................................................... 250


1.1 Phương pháp Mô hình doanh nghiệp (Enterprise Model Approach)........................250
1.2 Phương pháp M ETH O N TO LO G Y ................................................................................. 251
1.3 Ngôn ngữ cùa Ontology - O ntolingua............................................................................252
1.4 G uarino...............................................................................................................................253
2 Đặc điểm cùa các phương pháp xây dựng ontology........................................................254
3 Phương pháp luận hình thứ c................................................................................................ 255
3.1 Các mô tả khai báo.......................................................................................................... 255
3.2 Các bước xây d ự n g ......................................................................................................... 257
3.2.1 Xây dựng ngữ cành ứng dụng............................................................................... 258
3.2.2 Các câu hỏi phi hình th ứ c......................................................................................258
3.3 Các thuật ngữ.................................................................................................................... 259
3.3.1 Thuật ngữ phi hình thức......................................................................................... 259
3.3.2 Thuật ngữ hình thức................................................................................................259
3.3.3 Câu hói hình th ứ c ................................................................................................... 260
3.3.4 Các định nghĩa hình th ứ c.......................................................................................2ốl
3.4 Vai trò trong phương pháp Guarino............................................................................. 262
4 Các tiêu chuẩn thiết kế ontology.........................................................................................266
5 Kỹ nghệ ontology (Ontology Engineering)...................................................................... 267
5.1 Tiến trình công nghệ ontology......................................................................................267
5.2 Xác định phạm vi và trọng tâm, sử dụng kịch bản cho đặc tả .................................268
5.3 Tập hợp dữ liệu và thu nhận tri th ứ c ........................................................................... 269
5.3.1 Quá trình thu th ậ p ...................................................................................................270
5.3.2 Một số kỹ thuật thu thập dữ liệu .......................................................................... 272
5.3.3 Vòng phân tích và phê c h u ẩn ................................................................................275
6 Xây dựng ontology từ các nguyên liệu th ô ....................................................................... 276
Mục lục 341

7 Khái niệm hoá và sự thống nhất vềontology......................................................................280


8 Bộ khung phàn loại của ontology ....................................................................................... 282
9 Các công cụ hỗ trợ xây dựng ontology............................................................................... 289
9.1 Yẽu cầu về công cụ thiết ke............................................................................................. 289
9.2 Nhóm các công cụ phát triển ontology..........................................................................290
9.3 Công cụ Protégé-2000...................................................................................................... 291
9.3.1 Khá năng tương thích.............................................................................................. 292
9.3.2 Khà năng mớ rộ n g ...................................................................................................293
9.4 Nhóm các công cụ hỗ trợ việc ghép (merge) các ontology..........................................293
9.5 Nhóm công cụ đánh giá ontology...................................................................................... 294
9.6 Nhóm các công cụ hỗ trợ lưu trữ và truy vấn..................................................................295
10 Xây dựng Ontology cho các bài toán tác từ ............................................................................296
ÌO.I Khái niệm .............................................................................................................................. 296
10.2 Ontology và hệ thống đa tác tử (M ulti-Agent)...............................................................296

Phụ lục A PH Ư ƠN G PH Á P LUẬN TÁC T Ử

1 Phương pháp 1DEF5................................................................................................................. 299


2 CommonKADS và KA CTU S................................................................................................. 301
3 PLINIUS...................................................................................................................................... 301
4 O N IO N S..................................................................................................................................... 302
5 M ikrokosm os............................................................................................................................... 303
6 M E N E L A S...................................................................................................................................303
7 P H Y SS Y S.................................................................................................................................. 304
8 SE N S U S....................................................................................................................................... 304
9 Phương pháp luận Gaia..............................................................................................................305
9.1 Phân tíc h ..................................................................................................................................305
9.1.1 Mô hình vai t r ò .......................................................................................................... 307
9.1.2 Mô hình sự tương tá c ..................................................................................................311
9.1.3 Quá trình phân tíc h .................................................................................................... 313
9.2 Thiết kế................................................................................................................................... 313
9.3 Mô hình tác t ử .................................................................................................................... 314
9.4 Mô hình các dịch v ụ ..........................................................................................................315
9.5 Mô hình sự hiểu biết.......................................................................................................316
10 Quá trinh thiết k ế ...................................................................................................................... 316
342 Tác từ - Công nghệ phần mềm hướng tác tử

Phụ lục B PH Ư Ơ N G PH Á P LUẬN HÌNH T H Ú C XÂY DỤNG O N T O L O G Y

1 Cơ sờ lý thuyết logic hình th ứ c .............................................................................................. 317


1.1 Vi dụ về cây phá h ệ ............................................................................................................317
1.2 Định nghĩa ngôn ngữ logic hình thứ c.............................................................................318
1.3 Định nghĩa kiểu danh sá c h ............................................................................................... 319
1.3.1 Các thủ tục xây dựng danh sách.............................................................................. 319
1.3.2 Định nghĩa hình thức ontology dựa trên kiểu danh sách................................... 323
1.3.3 Các thao tác trên ontology....................................................................................... 324
1.3.4 Ví dụ xây dựng ontology bằng các thù tục hình th ứ c ....................................... 327
2 Kết lu ậ n ........................................................................................................................................ 328

TÀI LIỆU T H A M K H Ả O .......................................................................................................... 329


TR Ư Ờ N G Đ Ạ I HỌC BÁC H K H O A H À NỘI

TÁC TỬ
CÔNG NGHỆ PHẦN MÊM
HƯỚNG TÁC TỬ

T ác giả: LÊ TẤ N H ÙNG
TỪ M IN H PHƯƠ NG
HUỲNH Q UYẾT THANG

C h ịu trá c h n h iệ m x u ấ t bản: PGS. TS. T Ô Đ Ả N G H Ả I

B iê n tậ p và sử a bài: ThS. N G U Y Ễ N H U Y T IÊ N
N G Ọ C L IN H , H O À N G G IA N G
T r ìn h b à y bìa: HƯƠNG LA N

N H À X U Ấ T BẢN K H O A HỌC VÀ KỸ TH UẬ T

7 0 T rần H ưng Đ ạ o - H à N ội
Mục lục 335

MỤC LỤC

Lời nói đ ầ u ....................................................................................................................................... 3

Chuong 1 T Ỏ N G QUAN VÈ TÁC T Ử

1 Mờ đ ầ u ........................................................................................................................................ 5
2 Khái niệm tác t ử ....................................................................................................................... 7
2.1. Tác từ là g ì? ....................................................................................................................... 7
2.2 Tác tử thông m in h ........................................................................................................... 9
2.3 Các đặc điềm khác cùa tác t ừ ........................................................................................ 12
2.4 So sánh tác tử và một số khái niệm khác..................................................................... 12
2.4.1. Tác từ và đối tư ợ n g .................................................................................................. 12
2.4.2. Tác từ và hệ chuyên g ia ........................................................................................... 14
3 Tác từ và môi trư ờ n g .............................................................................................................. 14
4 Hệ đa tác từ ................................................................................................................................ 16
5 Tác từ và các lĩnh vực nghiên cứu liên quan...................................................................... 19
5.1 Trí tuệ nhân tạo................................................................................................................. 20
5.2 Mạng máy tính, internet và intranet.............................................................................. 23
5.3 Công nghệ phần m ềm ...................................................................................................... 24
6 Ưu nhược điểm cùa tác từ và công nghệ tác từ ................................................................. 26
7 Một số úng dụng cùa tác tử .................................................................................................... 27
7.1 ứ n g dụng trong quàn lý sản xuất.................................................................................. 28
7.2 Tác tử quàn lý quá trình và luồng công việc (w orkflow )...................................... 28
7.3 Tác tử thu thập và quản lý thông tin ........................................................................... 29
7.4 Tác từ phục vụ thương mại điện tử ............................................................................. 30
7.5 Tác từ giao diện .............................................................................................................. 30
7.6 Trò chơi sử dụng tác từ ................................................................................................... 30

C hương 2 T Á C T Ử T H Ô N G M INH

1 Kiến trúc chung của tác từ .................................................................................................... 31


2 Cảm nhận và tác động............................................................................................................. 32
2.1. Cảm nhận........................................................................................................................... 32
2.2. Tác động............................................................................................................................. 34
338 Tác từ - Công nghệ phần mềm hướng tác tử

Ch iron g 5 CÔ NG NGHỆ PHÀN MÈM HƯỚNG TÁC TỦ

1 Tiếp cận hướng tác tử cho công nghệ phần m ềm .............................................................. 157
1.1 Các hệ thống phần mềm phức tạp.................................................................................. 157
1.2 Phán mềm hướng tác tử là gì?-........................................................................................ 160
1.3 Tiếp cận hướng tác từ cho các hệ thống phần mềm phức tạ p .................................. 162
1.3.1 Các phân rã hướng tác tử ......................................................................................... 163
1.3.2 Các trừu tượng hoá hướng tác từ cho các hệ thống phần mềm phức tạ p ..... 164
1.3.3 Sự thay đồi các cấu trúc trong tồ chức tạo quản lý mềm đ è o ......................... 165
1.4 Các tác từ so với các đối tượng và com ponent-w are................................................. 166
2. Vòng dời phần mềm hướng tác từ ........................................................................................ 169
2.1 Đặ: tả (S pecification)....................................................................................................... 169
2.2 Thực hiện (Im plem entation)........................................................................................... 171
2.2.1 Làm mịn (R efinem ent)............................................................................................. 171
2.2.2 Việc thực hiện trực tiếp các đặc tả tác tử .............................................................. 173
2.2.3 Việc biên dịch các đặc tà tác t ử ............................................................................. 174
2.2.4 Sự xác m in h ................................................................................................................ 175
2.3 Các hướng tiếp cận tiên đề (axiom atic)........................................................................ 176
2.3.1 Sự tiên đề hóa hai ngôn ngữ đa tác tử ................................................................... 176
2.3.2 Các hướng tiếp cận ngữ nghĩa: kiểm tra mô h ìn h ............................................... 177
3 Phương pháp luận hướng tác tử ............................................................................................. 179
3.1 Phương pháp Prom etheus................................................................................................. 179
3.2 Phương pháp T ro p o s......................................................................................................... 180
3.3 Phíơng pháp G a ia .............................................................................................................. 181
4 M ở rộng UM L cho đặc tà tác t ừ ........................................................................................... 183
4.1 Tổng quan về U M L ........................................................................................................... 184
4.2 Sừ dụng U M L phát triển hệ thống tác t ừ ..................................................................... 185
4.3 Phàn tích hướng tác t ừ ...................................................................................................... 186
4.4 Thiết kế hướng tác tử ....................................................................................................... 188
5 M ở rộng UM L cho việc đặc tả Agent - A U M L................................................................. 189
6 Mô tả toàn bộ giao thức - M ứ c .............................................................................................. 192
6.1 Géi (Packages).................................................................................................................... 192
6.2 Mau (T em p late)................................................................................................................. 194
7 Mô tả tương tác giữa các tác từ - Mức 2 .............................................................................. 195
7.1 Biểu đồ diễn tiến (Sequence D iagram )........................................................................ 195
Mục iục 339

7.2 Biểu đồ cộng tác (Collaboration Diagrams)................................................................ 198


7.3 Biểu đồ hoạt động (Activity Diagram s)....................................................................... 199
7.4 Biều đồ trạng thái (State ch art)..................................................................................... 200
i Mô tà quá trình bên trong tác t ừ ............................................................................................. 202
8.1 Biểu đồ hoạt động (Activity Diagram ).........................................................................202
8.2 Biểu đồ trạng thái (Statechart)...........................Í.I......................................................... 203
■> Xem xét các AUML khác.........................................................................................................204
9 .1 UML trong hỗ trợ đặc tà chi tiết vai trò cùa tác t ử .................................................... 204
9.2 Đặc tà tác từ và tác tứ di đ ộ n g ....................................................................................... 207
9.2.1 Sử dụng biểu đồ UML - gói để biểu diễn tác tử..................................................207
9.2.2 Mờ rộng Mobility là một thuộc tính quan trọng cùa tác từ bằng biểu đồ
triển k h a i................................................................................................................... 208
9.3 Một số ký pháp dựa tác từ hữu ích k h ác....................................................................... 209

Chương 6 BẢN T H Ế H Ọ C - ONTOLOGY

1 Tổng quan về ontology............................................................................................................. 212


1.1 Giới thiệu chung................................................................................................................. 212
1.2 Sự cẩn thiết cùa ontology................................................................................................. 213
1.3 Ví dụ minh hoạ về ontology..................... .................................................................... 216
2 Định nghĩa ontology và các khái niệm liên q u a n ............................................................. 218
2.1 Những định nghĩa cơ b à n ............................................................................................... 218
2.1.1 Trong triết h ọ c ........................................................................................................... 218
2.1.2 Trong lĩnh vực trí tuệ nhân tạ o ............................................................................... 219
2.1.3 Trong Công nghệ thông tin...................................................................................... 220
2.2 Phương pháp hình thức trong mô tả ontology............................................................. 221
2.3 Phân loại khái niệm trong định n ghĩa.......................................................................... 222
2.3.1 Từ vựng “Controlled Vocabualary” (CVs)........................................................... 222
2.3.2 Ontology là sự biểu diễn một lĩnh vực - miền ( dom ain)................................... 224
2.3.3 Phân cấp - T axonom y.................. 0 ......................................................................... 224
2.3.4 Cấu trúc sơ đồ đối tượng ( Object Scheama)....................................................... 225
2.4 Kỹ nghệ ontology và Mô hình hóa dữ liệu - Data M odel............................................229
3 M inh hoạ và làm rõ thêm các định nghĩa.......................................................................... 232
ị Phân loại ontology .................................................................................................................240
5 Ưu điểm và khà năng ứng dụng cùa ontọlogy....................................................................242

You might also like