Tải bản đầy đủ (.docx) (66 trang)

QUẢN Lý d6cntt epu dai

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

MỤC LỤC

DANH MỤC HÌNH

KÝ HIỆU CÁC CỤM TỪ VIẾT TẮT
Từ viết tắt

Tên Anh

Tiếng Việt

ACL

Agent Communication Language

Ngôn ngữ truyền thông tác


tử
ALBER

Agent-oriented Language for Bulding Định hướng ngôn ngữ tác tử
and Eliciting Real-Time requirement
cho xây dựng và gợi ý yêu
cầu thời gian thực

AMS

Agent Management system

Quản lý hệ thống tác tử



AUML

Agent unified modeling language

Ngôn ngữ tác tử mô hình
hóa thống nhất

FIPA

Foudation for Intelligent Physical Nên tảng cho các tác tử vật
Agent
lý thông minh

GUI

Graphical user interface

Giao diện đồ họa người
dùng

JADE

Java Agent Development Framework

Khung phát triển Java tác tử

KAOS

Knowledge Acquistion in automated Kiến thức thu nhận trong kỹ

Specification
thuật tự động

KQML

Knowledge Query and Manipulation Kiến thức truy vấn và ngôn
Language
ngữ xử lý

NFR

Non-Functional Requirement

Yêu cầu phi chức năng

UML

Unified modeling language

Ngôn ngữ mô hình hóa
thống nhất

Ghi chú: Cụm từ viết tắt là các chữ cái và các ký hiệu thay chữ được viết liền
nhau, để thay cho một cụm từ có nghĩa thường được lặp nhiều lần trong văn bản hoặc
được mọi người mặc nhiên chấp nhận.

LỜI MỞ ĐẦU
Ngay từ đầu những năm 80, tác tử và hệ đa tác tử (Agent and MultiAgent
System) đã được biết đến với hàng loạt công trình nghiên cứu như là một hướng
nghiên cứu mới. Tuy nhiên, chỉ bắt đầu từ khoảng giữa thập niên 90, tác tử và hệ đa



tác tử mới được thừa nhận rộng rãi và ngay lập tức đã thu hút sự quan tâm ngày càng
lớn của giới nghiên cứu cũng như giới công nghiệp trong lĩnh vực Công Nghệ Thông
Tin.
Sự phát triển của kỹ thuật tính toán trong vài thập kỷ cuối đã dẫn tới những thay
đổi tích cực trong các lĩnh vực sử dụng thông tin đồng thời dẫn đến sự ra đời của nhiều
công nghệ và lĩnh vực nghiên cứu mới. Một mặt các hệ thống máy tính ngày càng tiên
tiến cho phép xử lý thông tin nhanh hơn, đa dạng hơn đã tác động tích cực đến đời
sống, văn hóa, kinh tế. Mặt khác bản thân sự phát triển và phổ cập máy tính đặt ra
những yêu cầu mới về mặt công nghệ, về cách thức xây dựng, ứng dụng và nghiên cứu
các hệ thống thông tin. Các hệ thống máy tính hiện đại có một số đặc điểm sau:
Việc sử dụng máy tính và thiết bị tính toán ngày càng phổ dụng. Do giá thành
liên tục hạ, các hệ thống xử lý thông tin ngày càng được sử dụng nhiều trong các ứng
dụng, trong các thiết bị trước đây không thể sử dụng thiết bị tính toán vì lý do kinh tế.
Máy tính ngày nay không còn là các hệ thống hoạt động riêng lẻ. Ngày càng
nhiều máy tính được nối mạng cho phép liên kết, trao đổi, chia sẻ thông tin và công
việc tính toán với nhau. Hệ thống thông tin dần dần có dạng các hệ thống làm việc
phân tán và song song. Việc tính toán và xử lý thông tin khi đó có thể xem xét như quá
trình tương tác (giữa các hệ thống tính toán). Xu hứng kết nối và xử lý phân tán được
coi là đặc điểm quan trọng nhất của máy tính hiện đại.
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 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 chỉ có con người có khả năng thực hiện.
Nói cách khác, máy tính ngày càng trở nên “thông minh” hơn, “trí tuệ” hơn.
Máy tính ngày càng có thêm tính tự chủ. Để tăng năng xuất, hiệu quả, giải phóng
con người khỏi nhiều công việc truyền thống, chúng ta có xu hướng trao cho máy tính
nhiều quyền hơn trong hành động và ra quyết định, đồng thời giảm bớt sự can thiệp
trực tiếp của con người vào hoạt động của máy tính. Nhiều hệ thống tính toán và điều
khiển có khả năng tự động hóa cao, ra quyết định độc lập làm tăng 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ó tí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 trúc đặc
biệt đểt làm việc với máy tính. 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 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 thich 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 hóa với từng đối tượng sử dụng.
Để xây dựng các hệ thống tính toán thỏa 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 máy tính đã ra đời, trong đó có tác tử
và hệ đa tác tử đang trở thành công nghệ của tương lai để giải quyết các vấn đề nêu
trên. Vì vậy em quyết định chọn đề tài: “Tìm hiểu công nghệ tác tử và ứng dụng mô
phỏng đấu giá đất” để có cái nhìn tổng quan về công nghệ tác tử, giúp người đọc hiểu
qua phần nào về công nghệ tác tử- công nghệ đang dần mang tính ứng dụng trong
tương lai.
Bố cục của đề tài gồm có 3 chương:
Chương 1: Tổng quan về công nghệ hướng tác tử
Chương 2: Giới thiệu về JADE
Chương 3: Xây dựng chương trình mô phỏng đấu giá đất


CHƯƠNG 1. TỔNG QUAN VỀ CÔNG NGHỆ HƯỚNG TÁC TỬ
Nội dung chương này trước hết trình bày một cách khái quát về tác tử, hệ đa tác
tử và các vấn đề cơ bản cần quan tâm khi nghiên cữu và phát triển hệ đa tác tử là sự
tường tác, các phương pháp phát triển hệ đa tác tử… Phần tiếp theo của chương tập
trung trình bày các lĩnh vực ứng dụng công nghệ tác tử và những ưu, nhược điểm của
công nghệ tác tử.
1.1 Khái niệm về tác tử (Agent)

1.1.1 Đặt vấn đề
Trong những năm gần đây, sự phát triển của các công nghệ Internet đã dẫn tới
việc áp dụng rộng rãi của công nghệ thông tin vào nhiều lĩnh vực khác nhau của cuộc
sống như tìm kiếm truy xuất thông tin, quản lý mạng viễn thông, thương mại điện tử,
hỗ trợ ra quyết định, giải trí,… Sự đa dạng của các lĩnh vực áp dụng khiến cho việc
phát triển phần mềm càng ngày càng trở nên phức tạp. Sự phức tạp này thể hiện ở một
số đặc điểm sau:
-

Khối lượng công việc cần xử lý ngày càng lớn: Các hệ phần mềm ngày nay phải xử lý
một khối lượng dữ liệu rất lớn hoặc thao tác trên một số lượng lớn các nguồn thông
tin. Bên cạnh đó, quá trình phát triển hệ thống thường xuyên phải đối mặt với các bài
toán có độ phức tạp lớn, đặc biệt là với các ứng dụng thương mại điện tử hay điều
khiển phức tạp.

-

Yêu cầu về tính chính xác ngày càng cao: Do sự ra đời của các hệ thống đòi hỏi độ
chính xác và thời gian thực như các hệ thống điều khiển không lưu, điều khiển thiết bị
viễn thông, các bài toán quản lý lưu lượng, quản lý tiến trình công việc… Việc xây
dựng và phát triển các ứng dụng thời gian thực đang ngày càng trở thành nhu cầu tất
yếu và là một trong những hướng phát triển của công nghệ thông tin và truyền thông
nói chung.

-

Yêu cầu về tính mở và phân tán: Yêu cầu này xuất hiện cùng với sự phát triển của các
hệ thống mạng, nhất là Internet. Internet đã trở thành một phần quan trọng trong cuộc
sống con người và do đó các phần mềm cũng cần phải đáp ứng ngày càng tốt hơn các
nhu cầu của con người như tìm kiếm thông tin, hỗ trợ người mua người bán đưa ra

quyết định,… và phải có tính mở, tức là có thể được cập nhật, thay đổi hay bổ sung
các dịch vụ vào hệ thống.

-

Yêu cầu về tính độc lập cao giữa các thành phần trong hệ thống: Các hệ thống yêu cầu
các thành phần phải hoạt động độc lập và chủ động tương tác với các thành phần nhằm
5


hướng tới đích riêng của mình. Nhất là trong các hệ thống mà mục đích riêng của các
thành phần
Những yêu cầu này đã dẫn đến sự nghiên cứu và phát triển mạnh mẽ của công
nghệ phần mềm trong những năm gần đây. Cách tiếp cận dựa trên cấu trúc chiếm ưu
thế vào những năm 70-80 đã dần dần bị thay thế bởi phương pháp luận hướng đối
tượng với tập ký hiệu chuẩn UML mà ngày nay đã trở thành phổ biến trong phân tích,
thiết kế và xây dựng các hệ phần mềm.
Tuy nhiên, khi hệ thống thông tin càng ngày càng phức tạp thì người ta cũng
nhận ra sự hạn chế của cách tiếp cận này. Nguyên nhân cơ bản là do tính thụ động của
các đối tượng nghĩa là các đối tượng chỉ thực sự hoạt động khi nhận được một thông
điệp từ đối tượng khác. Với các hệ thống có yêu cầu về tính phân tán như các hệ
thương lượng trong thương mại điện tử, các hệ quản lý mạng viễn thông… thì tương
tác thụ động như vậy tỏ ra không phù hợp. Các thành phần phần mềm trong hệ thống
như vậy phải phục vụ cho những dịch vụ khác nhau và do đó cần phải chủ động theo
mục đích của riêng mình đồng thời phải tương tác với các thành phần khác để chia sẻ
tài nguyên, yêu cầu hỗ trợ tính toán…
1.1.2 Khái niệm
Ta thử xét một ví dụ sau đây: Trong hệ dịch vụ du lịch, người sử dụng thường có
nhiều yêu cầu khác nhau cho các gói du lịch của mình như vé máy bay, vé tàu, chỗ ở...
Do đó, thành phần phần mềm thay mặt người dùng cần phải tương tác, thương

lượng với nhiều dịch vụ khác một cách tự động và sau đó tích hợp kết quả gửi lại cho
người sử dụng, mỗi thành phần như thế được gọi là một tác tử. Mặc dù cho đến nay
chưa có một định nghĩa thống nhất về khái niệm này, nhiều nghiên cứu cho rằng:
Tác tử (Agent) là một hệ tính toán hoàn chỉnh hay chương trình được đặt trong
một môi trường nhất định, có khả năng hoạt động một cách tự chủ và mềm dẻo trong
môi trường đó nhằm đạt được mục đích đã thiết kế.
Có thể hiểu định nghĩa trên như sau: Hệ thống tính toán có thể là phần cứng,
phần mềm, hoặc cả phần cứng lẫn phần mềm. Bất cứ tác tử nào cũng tồn tại và hoạt
động trong một môi trường nhất định. Tác tử nhận thông tin từ môi trường qua các cơ
quan cảm nhận và tác động vào môi trường bằng các cơ quan tác động.

6


Hình 1.1 Tác tử tương tác với môi trường
Đối với các 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 để 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.
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 về tác tử, cũng có nhiều cách hiểu khác nhau về tính tự chủ. Ở đây, tự chủ được
hiểu như là khả năng các 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ố các 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 đ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 các
tác tử khác) thực hiện một số các nhiệm vụ nào đó.
1.1.3 So sánh giữa tác tử và đối tượng
Để hiểu rõ hơn khái niệm tác tử (agent), chúng ta hãy so sánh tác tử và đối tượng.
Trong phương pháp hướng đối tượng, các đối tượng được định nghĩa là các thực thể
tính toán đóng gói bao gồm các trạng thái, các hành động hay phương thức trong trạng
thái đó và các đối tượng liên lạc với nhau thông qua việc gửi các thông điệp
(message).
Xét theo quan điểm hệ thống, có thể xem mỗi tác tử cũng là một đối tượng nhưng
ở mức trừu tượng cao hơn. Vì vậy, khái niệm đối tượng được sử dụng trong phần này
là để chỉ các đối tượng chuẩn (standard object) trong phương pháp hướng đối tượng.
7


Với định nghĩa tác tử đã được đề cập ở trên thì các đối tượng và các tác tử có các điểm
khác biệt sau:
-

Tác tử có tính tự chủ cao hơn đối tượng. Điều này thể hiện ở chỗ các tác tử có thể tự
quyết định hành động của mình mà không phải là thực hiện hành động theo yêu cầu
của tác tử khác. Ngược lại, các đối tượng chỉ thực sự hoạt động khi nhận được lời gọi
hàm từ các đối tượng khác. Trong các ngôn ngữ lập trình hướng đối tượng như Java
chẳng hạn, các đối tượng có các thành phần riêng kiểu private không thể truy nhập từ
các đối tượng khác. Tuy nhiên, các đối tượng lại không thể tự chủ về mặt hành vi của
mình, một đối tượng với thành phần public, có thể được truy nhập bởi các đối tượng
khác và chỉ khi một đối tượng khác sử dụng các lời gọi tới các thành phần public của
đối tượng này thì nó mới thực sự hoạt động.

-


Tác tử có tính hướng đích, mỗi tác tử có một đích riêng và đích của các tác tử trong
một hệ thống có thể thống nhất hay không tương thích với nhau. Trong khi đó các đối
tượng không có mục đích riêng, chúng cùng chia sẻ mục đích chung của cả hệ thống.
Do đó, các tác tử thường phải thương lượng với nhau trong quá trình tương tác.

-

Tác tử có các hành vi linh hoạt dựa trên các đặc trưng như tính chủ động, khả năng
phản ứng và khả năng xã hội đã trình bày ở trên. Còn các đối tượng thì không có các
kiểu hành vi này.

-

Mỗi tác tử có một hoặc nhiều luồng điều khiển (thread) riêng. Trong hệ hướng đối
tượng cũng có điều khiển theo kiểu luồng (thread) nhưng không yêu cầu mỗi
đối tượng là có thread riêng mà ngược lại có thể có nhiều đối tượng chung một thread.
Bản chất của sự khác nhau này cũng là đặc trưng quan trọng về mức độ tự chủ của tác
tử so với đối tượng.
1.2 Các đặc điểm của tác tử
Các đặc điểm cơ bản của tác tử sau đây đã được nhiều người thừa nhận
([1], [2]):
Tính tự chủ (autonomy): Mỗi tác tử có một trạng thái riêng, độc lập với các tác tử
khác (tự chủ ở trạng thái bên trong) đồng thời nó có thể tự quyết định các hành động
của mình (tự chủ về hành động). Tự chủ ở trang thái bên trong thể hiện ở chỗ: mỗi tác
tử chứa một trạng thái nào đó của riêng nó, các tác tử khác không truy nhập được vào
các trạng thái này. Còn tính tự chủ về hành động thể hiện ở chỗ tác tử có thể tự quyết
định các hành động của mình (có thể là một hành động đơn hoặc là một chuỗi các
hành động) dựa trên trạng thái hiện thời mà không có sự can thiệp của con người hay
các tác tử khác. Tính tự chủ chính là đặc trưng quan trọng nhất của tác tử.
8



Khả năng phản ứng (reactivity): Tính phản ứng là khả năng tác tử có thể nhận
biết được môi trường (qua bộ phận cảm nhận nào đó) và dựa qua nhận biết đó, tác tử
đáp ứng kịp thời những thay đổi xảy ra trong môi trường. Tính phản ứng thể hiện rõ
nhất ở các tác tử hoạt động trên các môi trường có tính mở và hay thay đổi như
Internet, môi trường mạng phân tán, môi trường vật lý, … Phản ứng của mỗi một tác
tử đối với môi trường bên ngoài đều hướng tới việc thực hiện mục tiêu (đích) của tác
tử đó.
Tính chủ động (pro-activeness): Khi có sự thay đổi của môi trường, tác tử không
chỉ phản ứng một cách đơn giản mà còn xác định một chuỗi hành động cần thực hiện,
bản thân mỗi tác tử sẽ chủ động trong việc khởi động và thực hiện chuỗi hành động
này.
Khả năng xã hội (social ability): Các tác tử không chỉ hướng tới đích riêng của
mình mà còn có khả năng tương tác với các tác tử khác trong hệ thống để hướng tới
đích chung của hệ thống. Các hoạt động tương tác này rất đa dạng bao gồm phối hợp,
thương lượng, cạnh tranh…
Có thể so sánh một tác tử 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 đích này, cầu thủ phải tìm mọi cơ hội để đưa
bóng về gần lưới đối phương và sút. Đây chính là thể hiện của tính tự chủ hành động
có mục đích. Tuy nhiên, 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í truyền về. Khi đối phương vào bóng thô
bạo thì mục tiêu trước mắt có thể chưa phải là sút bóng mà trước hết là giữ an toàn cho
mình. Đây là thể hiện rõ ràng của tính phản xạ. Cuối cùng, cầu thủ trên sân phải có
tính cộng đồng, thể hiện với việc phối hợp với đồng đội, tuân theo các chỉ dẫn của
huấn luyện viên và trọng tài.
1.3 Các thành phần cơ bản của tác tử
Có thể xem xét tác tử từ hai góc độ: như một thực thể trừu tượng với cơ chế suy
diễn quyết định riêng; 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ức là ta đi xem xét tác tử như một thực thể riêng và hệ
đa tác tử.
1.3.1 Kiến trúc của đơn tác tử
Ở mức độ tổng quát, tác tử có kiến trúc như hình vẽ sau:

9


Từ hình vẽ ta thấy, tác tử nhận thông tin từ môi trường (bao gồm thông tin từ các
tác tử khác) thông qua cơ quan cảm nhận. Nhờ 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 đị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ơ quan tác động.

Hình 1.2 Kiến trúc của 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 các 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.
1.3.2 Cảm nhận và tác động
1.3.2.1 Cảm nhậ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 qua những giác quan, còn với tác tử phần cứng như robot cơ quan
cảm nhận là cảm biến, camera. Tác tử phần mềm, quá trình 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.


10


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 thông tin có ích và liên quan trực tiếp tới tác tử. 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ào môi trường.
1.3.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 tá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 tới
các 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).
1.3.3 Cơ chế ra quyết định
1.3.3.1 Mô hình 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ả
t0 t1

sử thời gian được phân chia thành những thời điểm rời rạc , ,…. 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. Nhờ 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
… cảm nhận của tác tử về môi trường lần lượt là
nhận có thể có của tác tử. Tại mỗi thời điểm

ti

p0 p1


,

… với

pi ∈

t1 t 2

, ,

p, p là tập các cảm

, 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 si=<

p0 p1

,

,…

pi

>.

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


ti

, tác tử có thể lựa chọn hành động

ai ∈

A để thực hiện. Tác

si

tử lựa chọn hành động cụ thể tuỳ thuộc vào chuỗi cảm nhận tại thời điểm đó. Như
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.

11


Nói cách khác, bằng cách chỉ rõ hành động mà tác tử thực hiện vớ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ể cảm nhận 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 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 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.
1.3.3.2 Tác tử phản xạ
Trong một số trường hợp, tác tử có thể 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 nếu ngược lại. Quyết định này căn cứ trên nhiệt độ
hiện thời và không phụ thuộc vào những thời điểm trước đó. Hành động của tác tử là
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 chỉ phụ thuộc
vào cảm nhận hiện thời mà không phụ thuộc vào cảm nhận trong quá khứ gọi là tác tử
phản xạ (reactive agent hay reflex agnet).
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ế
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ạ tập trung. 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 một vật nóng, phản xạ tự vệ thông
thường là rụt ngay tay lại thì vì suy nghi kỹ càng xem phải làm gì. Phản xạ chính là
cách ra quyết định nhanh chóng như vậy.
1.3.3.3 Tác tử có trạng thái
Trong 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 như 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 không có người đi bộ (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 là đường cấm. Lý
do khiến cảm nhận hiện thời là chưa đủ quyết định hành động là do tại mỗi thời điểm

12


cơ quan cảm nhận không thể cung cấp đủ toàn bộ thông tin về trạng thái môi trường
xung quanh. Để có thể hình dung được 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
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ử 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 thá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 khi tác tử 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ử.
1.3.3.4 Tác tử hành độ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 đó, và để tác tử
thực hiện đúng nhiệm vụ của mình thì 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ụ, mục đích hoạt động của mình là gì. Và để tác tử
hoạt động có mục đích là 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 trình đó. Tuy nhiên, cách này có một nhược
điểm là cứng nhắc theo những gì đã được sắp đặt trước vì nếu môi trường thay đổi
không phù hợp với điều kiện được xây dựng trước thì tác tử sẽ không thể thích nghi
với thay đổi đó. Để đảm bảo tính mềm dẻo, ta chỉ 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 đó.
Mục đích thường có hai dạng:
• Đạt được trạng thái nào đó
• Đảm bảo duy trì trạng thái nào đó
Ở dạng thứ nhất, mục đích được cho dưới dạng một số trạng thái cần đạt, tác tử
cần hành động sao cho môi trường chuyển sang một trong những trạng thái đó. Ví dụ,
đối với tác tử làm nhiệm vụ chơi cờ vua, mục đích cần đạt được là bất cứ thế cờ nào
chiếu hết đối phương.
Ở dạng thứ hai, tác tử được yêu cầu tránh một số trạng thái cho trước.
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. 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

13



tin loại này vì hành động cho từng tình huống cụ thể đã được tính toán trước. Quá trình
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.
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. Nhưng thường thì việc đạt được mục đích là phức tạp và đòi hỏi một chuỗi
hành động.
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ó mục đích cho phép ra quyết định mềm
dẻo hơn nhiều.
1.3.3.5 Tác tử với cơ chế suy diễn logic
Nhiều nghiên cứu về trí tuệ nhân tạo cho rằng hành vi thông minh có thể có được
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 tượ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à trí 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 dựng các 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à các biểu thức lôgic. Phần này sẽ
trình bày về tác tử với mô hình môi trường được cho dưới dạng biểu thức logic và cơ
chế sử dụng phép biến đổi trên mô hình đó dưới dạng suy diễn logic.
Như với mọi hệ thống sử dụ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 cần giải quyết hai vấn đề:
Biến đổi thông tin về dạng biểu tượ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á trình ra quyết
định trong khoảng thời gian đủ ngắn để mô hình đó không bị cũ. Thô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 Phía_trước (vậ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 logic
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ị lac hậu so
với sự thay đổi của môi trường.

14


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à độ 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.
1.4 Hệ đa tác tử và các vấn đề liên quan
1.4.1 Khái niệm hệ đa tác tử
Khả năng của mỗi tác tử thể hiện ở năng lực giải quyết vấn đề của riêng tác tử
đó. Trong một hệ thống cụ thể, thông thường tài nguyên dành cho mỗi tác tử là hạn
chế do đó khả năng hành động của mỗi tác tử cũng là hạn chế. Mỗi tác tử chỉ tập trung
giải quyết một vấn đề tại một vị trí cụ thể nào đó chứ không thể giải quyết được hết
các vấn đề đặt ra cho hệ thống. Trong các hệ phân tán phức tạp, hệ đa tác tử được xem
là hệ xử lí thông tin có nhiều hứa hẹn.
Có thể hiểu hệ đa tác tử (MultiAgent System) là một tập các tác tử cùng hoạt
động trong một hệ thống, mỗi tác tử có thể có đích khác nhau nhưng toàn bộ hệ tác tử
cùng hướng tới mục đích chung thông qua tương tác.
1.4.2 Đặc trưng của hệ đa tác tử
-

Khả năng tính toán hiệu quả: Hệ đa tác tử cung cấp khả năng tính toán hiệu quả hơn
nhờ quá trình tính toán được phân chia cho các tác tử khác nhau và khả năng phối hợp
cùng xử lý của nhiều tác tử.


-

Độ tin cậy cao: Do có nhiều tác tử cùng tham gia giải bài toán và các tác tử có cơ chế
trao đổi, kiểm tra kết quả nên độ tin cậy tính toán trong hệ đa tác tử được cho là cao
hơn.

-

Khả năng mở rộng: Hệ đa tác tử là hệ mở vì có thể có thêm các tác tử mới hoặc bớt đi
các tác tử khi các tác tử hoàn thành nhiệm vụ. Khả năng này phù hợp với tính mở của
yêu cầu các hệ phần mềm hiện nay.

-

Tính mạnh mẽ: Hệ đa tác tử có thể xử lý được các bài toán ra quyết định phức tạp hoặc
các bài toán dựa trên thông tin không chắc chắn như các bài toán thương lượng trong
thương mại điện tử, các bài toán điều khiển tự động...

-

Khả năng bảo trì: Do hệ đa tác tử gồm nhiều tác tử, mỗi tác tử là một module có tính
tự chủ cao nên hệ đa tác tử là hệ dễ bảo trì.

15


-

Khả năng phản ứng: Hệ đa tác tử kế thừa khả năng phản ứng của các tác tử đơn nên
khi nhận biết được một thay đổi của môi trường thì các tác tử trong hệ thống sẽ phối

hợp với nhau để đưa ra hành động tương ứng với thay đổi đó.

-

Tính linh hoạt: Các tác tử trong hệ đa tác tử có khả năng khác nhau có thể tương tác
với nhau để cùng giải quyết một vấn đề chung. Một tác tử trong hệ thường không phải
chờ tác tử khác mà chủ động tương tác để tìm ra thông tin cần thiết để giải quyết vấn
đề đặt ra cho riêng mình.

-

Khả năng sử dụng lại: Hệ đa tác tử có khả năng sử dụng lại vì mỗi tác tử có khả năng
riêng và có thể dùng lại cho nhiều ứng dụng khác nhau.
1.4.3 Môi trường tính toán thích hợp cho hệ đa tác tử
Hệ đa tác tử tỏ ra có nhiều ưu điểm trong việc giải quyết các bài toán phức tạp
hiện nay dựa trên tính năng của từng tác tử và sự phối hợp giữa các tác tử. Các môi
trường và dạng bài toán thích hợp cho hệ đa tác tử bao gồm [4]:

-

Hệ đa tác tử có thể giải quyết một bài toán vượt quá khả năng của một tác tử đơn.
Trong hệ sử dụng một tác tử đơn, hệ thống thường tập trung tất cả các xử lý cho một
tác tử duy nhất. Nhưng do tài nguyên của một tác tử đơn là hạn chế (chẳng hạn như
đường truyền hay bộ nhớ…) nên các hệ thống như vậy thường có những “nút cổ chai”,
gây nghẽn mạng hoặc tình trạng bế tắc khi có quá nhiều yêu cầu tập trung về một tác
tử. Hệ đa tác tử giải quyết vấn đề này thông qua cơ chế phối hợp, cộng tác giữa các tác
tử.

-


Hệ đa tác tử cung cấp phương pháp giải quyết các bài toán phân tán trong đó có nhiều
thành phần tự chủ cùng hoạt động trong một xã hội tác tử (society of agent) và cùng
tuân theo các luật xã hội (social law) trong xã hội đó. Các thành phần trong các hệ đa
tác tử không phải luôn luôn có cùng chung một đích. Để thực hiện các đích riêng của
mình, các tác tử có thể tương tác với các tác tử khác theo các giao thức tương tác như:
phối hợp, cộng tác, hoặc trong trường hợp mục đích riêng mâu thuẫn nhau thì có thể là
cạnh tranh, thương lượng.

-

Hệ đa tác tử cung cấp phương pháp giải quyết các bài toán mà thông tin được thu thập
từ nhiều nguồn khác nhau. Các nguồn thông tin này có bản chất phân tán trong một hệ
thống rất lớn. Ví dụ cụ thể cho dạng bài toán này chính là bài toán truy xuất thông tin
trên internet, các bài toán tích hợp và xử lý thông tin…

-

Một dạng bài toán khác rất phù hợp với hệ đa tác tử là bài toán tích hợp hệ chuyên gia.
Mỗi hệ chuyên gia là một hệ thống tập trung giải quyết một vấn đề xác định dựa trên

16


tri thức của chuyên gia về vấn đề đó. Thực tế có thể có nhiều hệ chuyên gia tuy hướng
tới giải quyết cùng một vấn đề nhưng lại phân tán ở những “vị trí” rất xa nhau. Hệ đa
tác tử cung cấp khả năng phối hợp giữa các hệ chuyên gia này để nâng cao khả năng
xử lý của hệ thống.
-

Cách tiếp cận hướng tác tử phù hợp khi hệ thống yêu cầu các kiểu liên lạc phức tạp, đa

dạng. Ví dụ như các hệ thống sử dụng cơ chế liên lạc của con người hoặc tương tác
giữa các thực thể hỗn tạp.

-

Cách tiếp cận hướng tác tử phù hợp các hệ thống cần phải thực hiện tốt trong tình
huống không thể mô tả hành vi của các thành phần trong hệ thống một cách rõ ràng
theo dạng từng trường hợp (case-by-case).

-

Cách tiếp cận hướng tác tử cũng tỏ ra phù hợp trong tình huống có sự thương lượng,
cộng tác hay cạnh tranh giữa các thực thể khác nhau trong hệ thống. Ví dụ như các tác
vụ khác nhau với các đích xung đột nhau có thể cần phải thực hiện đồng thời, khi đó sẽ
có các quá trình cạnh tranh hay thương lượng giữa các thành phần.

-

Cách tiếp cận hướng tác tử cũng phù hợp khi hệ thống phải hành động một cách tự chủ
để thay mặt người dùng, ví dụ như trong các quá trình thương lượng giữa các thành
phần bên trong hệ thống để đạt tới những mục đích khác nhau.
1.4.4 Các cách tiếp cận phát triển hệ đa tác tử
Nhu cầu phát triển các ứng dụng phần mềm dựa trên công nghệ tác tử trong
những năm gần đây đã dẫn đến sự ra đời của nhiều phương pháp luận dựa vào ba cách
tiếp cận sau đây: cách tiếp cận dựa trên tác tử và công nghệ tác tử, cách tiếp cận phát
triển từ hướng đối tượng và cách tiếp cận dựa trên công nghệ tri thức. Nội dung phần
còn lại trước hết trình bày các cách tiếp cận xây dựng hệ đa tác tử và một số phương
pháp luận đã được phát triển dựa trên các cách tiếp cận đó. Quá trình phát triển một hệ
thống phần mềm thông thường bao gồm các pha chính sau đây:


- Xác định yêu cầu
- Phân tích
- Thiết kế
- Cài đặt và tích hợp
Trong các pha trên thì phân tích và thiết kế hệ thống được xem là các pha chính
thể hiện quan điểm của người phát triển về hệ thống của mình.
1.4.4.1 Các phương pháp mô hình hóa yêu cầu
17


Việc xác định yêu cầu hệ thống là công việc đầu tiên cần thực hiện khi xây dựng
một hệ đa tác tử. Phương pháp mô hình yêu cầu nhằm mô hình và phân tích các yêu
cầu chức năng cũng như các yêu cầu phi chức năng của hệ cần phát triển. Tập các yêu
cầu cần phải có khả năng biểu diễn đầy đủ và chính xác các ràng buộc của hệ thống
trên thực tế; nó đóng vai trò quan trọng trong việc giám sát các thay đổi có thể có
trong toàn bộ quá trình phân tích thiết kế sau này.
Theo Weiss [6], có hai hướng khác nhau trong việc mô hình hoá yêu cầu hệ
thống: mô hình yêu cầu hướng tác tử và mô hình yêu cầu hướng đích (goal).
a, Phương pháp mô hình hóa yêu cầu hướng tác tử.
Mô hình yêu cầu hướng tác tử dựa trên hai đặc điểm:
- Mỗi tác tử là một phần mềm cụ thể có khả năng hoạt động tự chủ và hướng tới đích
riêng của mình.
-

Tác tử được xây dựng dựa trên việc mô hình quá trình nhận thức và lập luận của
con người.
Như vậy, mỗi yêu cầu cần phải xác định được: hệ đa tác tử nhằm mục đích giải
quyết những vấn đề gì; cần phải mô hình hoá những tri thức nào và nhất là mô hình
hoá cơ chế lập luận của tác tử dựa trên những cơ sở nào. Các phương pháp đại diện
cho kiểu mô hình này gồm:


-

i*: đây là cơ sở để mô hình hoá tập yêu cầu thông qua các thuộc tính ý định
(intention) như mục đích (goal) hay thoả thuận (commitment). Các yêu cầu sẽ được
nhóm theo các thuộc tính ý định này và thông qua quá trình mô hình hoá để chuyển
sang giai đoạn phân tích (và đặc tả) yêu cầu.

-

ALBERT (Agent-oriented Language for Bulding and Eliciting Real-Time
requirement) và ALBERTII. Đây là các kỹ thuật xác định yêu cầu tập trung vào khái
niệm tác tử. ALBERT đồng thời cũng là một ngôn ngữ để đặc tả yêu cầu theo kiểu
hình thức.
Hai kiểu mô hình hoá i* và ALBERT có thể áp dụng riêng biệt hoặc kết hợp với
nhau. Mô hình yêu cầu trong phương pháp luận Tropos [7] chính là ví dụ của việc kết
hợp hai kiểu này.
b, Phương pháp mô hình hóa yêu cầu hướng đích.

18


Đích (goal) là khái niệm để trả lời câu hỏi hệ thống hướng tới cái gì. Phương
pháp mô hình hóa yêu cầu hướng đích sẽ xác định các yêu cầu chức năng và phi chức
năng theo phương pháp sau:
-

Yêu cầu chức năng sẽ được thu thập và nhóm theo trả lời của các câu hỏi cái gì.
Tức là cần phải trả lời các câu hỏi như hệ thống hướng tới thực hiện các công việc gì?
các thành phần nào cần có trong hệ thống? các ràng buộc của hệ thống là gì?.


-

Các yêu cầu phi chức năng nhằm mô hình hoá các câu hỏi tại sao, thế nào như
hệ thống thực hiện nhiệm vụ của mình như thế nào, tại sao cần hệ đa tác tử?
Các ví dụ của phương pháp mô hình hoá yêu cầu hướng đích:

-

KAOS (Knowledge Acquistion in automated Specification): là một khuôn mẫu
chung để mô hình hoá yêu cầu dựa trên tính hướng đích của tác tử.

-

NFR (Non-Functional Requirement): Tập trung vào việc đặc tả và lập luận liên quan
đến các yêu cầu phi chức năng. NFR cũng xây dựng phương pháp để biểu diễn các yêu
cầu softgoal, ví dụ như các goal không định nghĩa một cách rõ ràng được, các goal mô
tả yêu cầu thoả mãn ràng buộc...
1.4.4.2 Các cách tiếp cận trong phân tích thiết kế hệ thống đa tác tử
Theo [6] các phương pháp luận phân tích và thiết kế hệ đa tác tử đều được xây
dựng dựa trên một trong ba cách tiếp cận (Xem hình dưới):
-

Dựa trên tác tử và công nghệ tác tử

-

Phát triển từ phương pháp hướng đối tượng

-


Dựa trên công nghệ tri thức.

19


Phương pháp luận phát triển hệ đa tác tử

tiếp
theo Công nghệ tri thức
Cách tiếp cận dựa trên Tác tửCách
và Công
tiếp cận
nghệphát
Táctriển
tử: từCách
hướng
đốicận
tượng
Các khái niệm trừu tượng mức xã hội: Tác tử,
Tác
nhóm,
tử: object
tổ chức
có mứcDựa
trừutrên
tượng
hơn.
quácao
trình

nhận dạng, thu nhận và mô hình hoá tri thức
Mở rộng UML

Hình 1.3 Các cách tiếp cận xây dựng phương pháp luận tác tử
a, Cách tiếp cận theo tác tử và công nghệ tác tử
Các nghiên cứu xây dựng phương pháp luận phát triển hệ đa tác tử theo các đặc
trưng của tác tử và công nghệ tác tử xuất phát từ các nhận định sau:
-

Tác tử có những đặc trưng riêng như tính tự chủ, tính chủ động và khả năng
phản ứng. Các đặc trưng này là khác hoàn toàn khác với đối tượng và tạo cho tác tử
khả năng tương tác chủ động và khả năng suy luận mà các đối tượng không có. Vì vậy,
không thể mô hình hoá tác tử bằng cách sử dụng các phương pháp luận dành cho
hướng đối tượng.

-

Tác tử hoạt động như một xã hội với các luật chi phối riêng nên có thể xem xét tác tử
từ khía cạnh xã hội và sử dụng các khái niệm trừu tượng mức xã hội để mô hình hoá
các tác tử trong hệ thống.
Các khái niệm trừu tượng mức xã hội được sử dụng để mô hình hoá tác tử theo
cách tiếp cận này bao gồm tác tử, nhóm (group), tổ chức (organization) ... Mức trừu
tượng xã hội được xem như là một mức trừu tượng cao hơn so với mức đối tượng
thông thường và phù hợp với việc biểu diễn các tác tử vì xã hội các tác tử bao gồm các
thành phần có tính phản ứng, linh hoạt và tương tác chủ động.
Dựa trên các khái niệm trừu tượng mức xã hội mà phương pháp luận này định
nghĩa các bước, các pha của toàn bộ quá trình phát triển hệ thống. Thông thường, với
cách tiếp cận này, quá trình phát triển hệ thống được phân thành hai pha tách biệt: pha
phân tích và pha thiết kế. Pha phân tích tương ứng với mô hình tổ chức (organization
20



model) còn pha thiết kế ứng với mô hình tác tử (tác tử model). Tiêu biểu cho các
phương pháp luận thuộc loại này là các phương pháp luận Gaia, SODA,
AALAADIN…
b, Cách tiếp cận phát triển từ phương pháp hướng đối tượng.
Khác với cách tiếp cận trên, cách tiếp cận phát triển từ phương pháp hướng đối
tượng dựa trên quan điểm cho rằng các kỹ thuật đã được phát triển và được áp dụng
rộng rãi cho công nghệ phần mềm hướng đối tượng có thể được mở rộng cho các phần
mềm hướng tác tử.
Cách tiếp cận này xem mỗi tác tử cũng là một đối tượng nhưng ở mức trừu tượng
cao hơn. Các công cụ sử dụng để biểu diễn đối tượng và phân tích thiết kế hệ thống
hướng đối tượng như UML hoàn toàn có thể mở rộng để biểu diễn các đặc trưng riêng
của tác tử. Các nghiên cứu xây dựng phương pháp luận phát triển từ phương pháp luận
hướng đối tượng tập trung vào các công việc sau:
-

Phát triển các công cụ dựa trên nền tảng sẵn có của hướng đối tượng để áp dụng
cho hệ đa tác tử, ví dụ như mở rộng UML thành AUML (Agent UML).

-

Bổ sung các bước, pha mang tính đặc trưng của tác tử và công nghệ tác tử như đích
(goal), vai trò (role) và ontology.
Tiêu biểu cho các phương pháp luận này là các phương pháp luận MaSE,
MASSIVE, KGR...
c, Cách tiếp cận dựa trên công nghệ tri thức
Dựa trên quan điểm cho rằng quá trình mô hình tri thức riêng của mỗi tác tử và
sự trao đổi tri thức giữa các tác tử trong hệ thống chính là cơ sở của mọi hoạt động của
hệ thống, các nghiên cứu theo cách tiếp cận này sử dụng các khái niệm và quá trình

trong công nghệ tri thức để xây dựng nên phương pháp luận cho hệ đa tác tử.
Các phương pháp luận này tập trung vào các quá trình thu thập tri thức
(Knowledge acquisition), mô hình tri thức (Knowledge modelling) và lập luận được sử
dụng bởi các thành phần tác tử trong hệ thống phần mềm. Tiêu biểu cho cách tiếp cận
này là các phương pháp luận như CoMoMAS, MAS-ComonKADS.
1.4.5 Tương tác trong hệ đa tác tử
Hệ đa tác tử bao gồm nhiều tác tử tự chủ có thể hoạt động trên những máy tính
khác nhau. Tuy nhiên, các tác tử thường phải trao đổi, tương tác với nhau và chính các
tương tác trong hệ đa tác tử quyết định kiến trúc của hệ thống đó. Các dạng tương tác

21


này phức tạp hơn rất nhiều so với các tương tác trong hệ đối tượng. Các tác tử tương
tác với nhau bằng cách gửi thông điệp và bản chất của các thông điệp này cũng là
những lời gọi hàm như trong hệ các đối tượng nhưng các lời gọi trong tương tác giữa
các tác tử có nhiều khác biệt so với tương tác giữa các đối tượng:
-

Các tham số có thể có kiểu được định nghĩa trong một cấu trúc ngữ nghĩa gọi là
ontology.

-

Các tham số được viết theo một dạng thông điệp truyền thông được định nghĩa bởi
một ngôn ngữ truyền thông tác tử (như KQML hoặc FIPA-ACL).

-

Nội dung của thông điệp trong tương tác đa tác tử có thể rất phức tạp như một

chuỗi các hành động hoặc các yêu cầu…
Ngoài sự khác nhau về dạng của các đối số, tương tác trong hệ đa tác tử cũng
khác tương tác giữa các đối tượng do bản chất khác nhau giữa đối tượng và tác tử. Tác
tử là thành phần có tính tự chủ và hành động hướng đích chứ không thụ động như các
đối tượng.
Với mỗi hệ tác tử cụ thể được xây dựng thì mục đích chung của hệ thống và mục
đích riêng của từng tác tử có thể khác nhau, thậm chí không tương thích nhau. Ví dụ
trong hệ thương mại điện tử, nếu tác tử mua có nhiệm vụ mua được hàng với giá càng
rẻ càng tốt thì tác tử bán lại có mục đích là bán với giá càng cao càng tốt. Sự thống
nhất và mâu thuẫn về mục đích của các tác tử trong hệ thống dẫn đến sự đa dạng của
các mô hình tương tác trong hệ đa tác tử. Như vậy, tương tác trong hệ đa tác tử có
những đặc trưng riêng khác biệt so với tương tác đa đối tượng. Vai trò của tương tác
trong hệ đa tác tử có thể được tổng kết như sau:

-

Thông qua tương tác, mỗi tác tử sẽ thu thập thông tin và tri thức nhằm đạt được
đích (goal) riêng của mình và hướng tới đích chung của cả hệ thống.

-

Tương tác tạo nên tính động cho hệ đa tác tử. Qua tương tác, hệ thống có thể được
mở rộng hay thu hẹp một cách dễ dàng, nhất là với các hệ đa tác tử sử dụng tác tử
trung gian.

-

Quá trình tương tác không chỉ diễn ra giữa các tác tử mà còn có thể diễn ra giữa
các hệ tác tử khác nhau. Khi đó, khả năng phối hợp giữa các hệ thống để giải quyết các
vấn đề phức tạp tăng lên nhiều lần.


-

Tương tác giữa các tác tử quyết định kiến trúc và hoạt động của hệ đa tác tử đó.
Thông qua việc xem xét các tương tác cần có giữa các tác tử, người thiết kế hệ thống

22


có thể xây dựng kiến trúc hệ thống và phân tách nhiệm vụ một cách rõ ràng cho từng
tác tử.
-

Tương tác giữa các tác tử giúp tích hợp các nguồn thông tin trong hệ thống. Trong
hệ tích hợp thông tin, mỗi tác tử đại diện cho một nguồn thông tin nhất định. Các
nguồn thông tin này thường là không đồng nhất, được biểu diễn theo những cách khác
nhau. Thông qua tương tác, thông tin giữa các nguồn đó sẽ được tích hợp để thu được
những thông tin cần thiết.
Ba vấn đề sau đây cần quan tâm xem xét khi nghiên cứu về tương tác trong hệ đa
tác tử:

-

Mô hình tương tác: Tuỳ thuộc vào mục đích của hệ thống cụ thể mà người phát
triển hệ thống phải lựa chọn một mô hình tương tác phù hợp, mô hình tương tác này sẽ
quy định kiến trúc của hệ thống cũng như hành vi của các tác tử trong hệ thống.

-

Ngôn ngữ truyền thông sử dụng trong các thông điệp: Khi hoạt động trong cùng

một hệ thống với nhau các tác tử phải sử dụng chung một ngôn ngữ truyền thông.
Ngôn ngữ này không chỉ quy định cấu trúc thông điệp mà còn quy định các dạng
thông điệp hỏi và trả lời trong các phiên hội thoại.

-

Ontology và sử dụng ontology trong tương tác đa tác tử: Mỗi tác tử trong hệ thống
là một thành phần phần mềm riêng biệt, do đó, miền tri thức quan tâm của các tác tử
trong một hệ thống có thể khác nhau. Để các tác tử có thể hiểu nhau trong quá trình
trao đổi thì hệ thống phải sử dụng ontology nhằm biểu diễn các khái niệm mô tả miền
và mối quan hệ giữa các khái niệm đó.

1.4.5.1 Ngôn ngữ truyền thông giữa các tác tử
Các tác tử trao đổi với nhau thông qua các thông điệp. Khác với hệ hướng đối
tượng, thông điệp trong hệ đa tác tử không chỉ biểu diễn các lời gọi hàm mà còn phải
biểu diễn thông tin và tri thức cần trao đổi giữa các tác tử. Các thông điệp này được
biểu diễn theo các ngôn ngữ truyền thông tác tử (ACL: Agent Comminucation
Language) nhằm mục đích:
-

Định nghĩa khuôn dạng các thông điệp để trao đổi giữa các tác tử trong hệ thống.
Thiết lập một giao thức trao đổi giữa các tác tử, bao gồm: định nghĩa các kiểu
thông điệp gửi và nhận, các mô hình trao đổi thông điệp giữa các tác tử.

23


Các ngôn ngữ truyền thông đều dựa trên lý thuyết hành động - lời nói (speechact) ([10]). Mỗi thông điệp bao giờ cũng phải mô tả đầy đủ người gửi, người nhận,
mục đích của lời nói và ngữ nghĩa của lời nói. Một hành động - lời nói đầy đủ không
chỉ định nghĩa cấu trúc lời nói mà còn xác định hành động liên quan đến lời nói đó.

Có nhiều ngôn ngữ truyền thông đa tác tử đã được đưa ra trong đó hai ngôn ngữ truyền
thông được sử dụng rộng rãi nhất nhất là KQML ([10]) và FIPA-ACL.
KQML (Knowledge Query and Manipulation Language)
Đây là một ngôn ngữ được phát triển theo dự án DARPA trong khoảng thời gian
đầu những năm 1990 [10]. KQML định nghĩa ngôn ngữ và giao thức cho quá trình
chuyển đổi thông tin và tri thức trong hệ đa tác tử.
KQML định nghĩa ba mức là mức nội dung, mức thông điệp và mức truyền
thông. Mỗi thông điệp KQML định nghĩa một hành động thoại, ngữ nghĩa đi kèm hành
động thoại đó, giao thức và một tập các thuộc tính. Cấu trúc chung của một thông điệp
KQML như sau [2]:
(performative-name
: sender

A

: receiver

B

: content

X

: language

L

: ontology

N


: reply-with

W

: in-reply-to

P)

Mỗi một thông điệp KQML tương ứng với một dạng tương tác trong trường
performative-name. Có tới 25 dạng tương tác (performative) đã được định nghĩa bao
gồm ask-one, advertise, broadcast, insert... Đồng thời, KQML cho phép mở rộng và
định nghĩa thêm các dạng tương tác khác khi cần thiết.
Trường content mô tả nội dung của thông điệp. Nội dung này có thể rất phức tạp
tuỳ thuộc vào nhu cầu trao đổi thông tin của hai tác tử trong phiên liên lạc đó. Tác tử
nhận sẽ hiểu được nội dung trong trường content bằng cách tham chiếu vào trường
ontology của thông điệp mà nó nhận được. KQML cũng định nghĩa các giao thức
truyền thông bao gồm cả thứ tự các thông điệp, các perormative. Ví dụ một giao thức
truyền thông được định nghĩa trong KQML như sau:
24


advertise(ask(X))

broker(ask(X))
ask(X)

A
Hình 1.4 Một giao thức truyền thông trong KQML
FIPA-ACL (Foudation for Intelligent Physical Agent)

FIPA-ACL (Foundation Intelligent Physical Agent) là ngôn ngữ truyền thông tác
tử được phát triển năm 1997. FIPA-ACL cũng dựa trên lý thuyết hành động - lời nói
và có cấu trúc tương tự như KQML. FIPA-ACL sử dụng XML theo dạng như sau:
<fipa-message act = “ “>
<sender>

</sender>

<receiver>

</receiver>

<content>

</content>

<language>

</language>

<ontology>

</ontology>

<conversation-id> </conversation-id>
</fipa-message>
So với KQML, FIPA-ACL linh động hơn và có thể dễ dàng thêm vào các dạng
tương tác mới. Tuy nhiên, FIPA-ACL không định nghĩa các performative theo kiểu sử
dụng thành phần trung gian (facilitator) như trong KQML. Đó là các performative như
broker hay advertise.

1.4.5.2 Các loại mô hình tương tác
a, Phân loại mô hình tương tác
Dựa vào mục đích của các bên tham gia tương tác, có thể chia các hình thức
tương tác thành hai loại chính: Hợp tác và cạnh tranh ([4]).
25

tell(


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×