Bài giảng Thư viện lập trình Agent

Distributed computing

„ Linking large numbers of different components to

perform joint tasks

„ Providing support services

„ To enable reuse of code

„ To abstract away from implementation level details

„ To provide uniform access to functions

„ Middleware defines (part of ) the environment.

„ Services available: communication, security, etc.

„ Agents live in a software environment – middleware

plays a large part

pdf15 trang | Chuyên mục: Trí Tuệ Nhân Tạo | Chia sẻ: dkS00TYs | Lượt xem: 2125 | Lượt tải: 4download
Tóm tắt nội dung Bài giảng Thư viện lập trình Agent, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ription(s)
Các thuộc tính khác
Message
Sender : agent name
Receiver(s) : agent 
name(s)
Nội dung message
(c) SE/FIT/HUT 2002
Câu hỏi 4
„ Một Agent Directory Service hỗ trợ các phương thức 
register, modify, deregister, search. Mỗi lời gọi đến 
phương thức này sẽ gửi các thông tin, yêu cầu đến 
Master System tức là phải thông qua Message 
Transport Service nào đó, tuy nhiên khi khởi tạo, 
agent có thể nhận về AgentName trước khi tham 
chiếu đến MTS
ServiceRoot acquired ...
[ri.service.DefaultServiceRoot@b819f]
AgentNamingService acquired ...
[ri.service.naming.rmi.RMIAgentNamingServiceProxy@6b017e]
AgentName acquired from AgentNamingService ...
[agentname: 11d1def534ea1be0:712c4e:f89fdf7166:-7fee]
MessageTransportService acquired ...
[ri.service.transport.rmi.RMIMessageTransportService@6b13c7]
„ Tại sao lại thế ?
11
(c) SE/FIT/HUT 2002
Cảm ơn !
(c) SE/FIT/HUT 2002
1.Tại sao cần quản lý tập 
trung, Service Root và định 
danh Agent
„ Đây là một hệ đa Agent động, số lượng, kiểu 
Agent có thể thay đổi. Quản lý tập trung, 
Service Root sẽ giúp việc quản lý Agent dễ dàng 
hơn, tăng khả năng đáp ứng của hệ thống
„ Hãy tưởng tượng 1 hệ thống không có Service 
Root sẽ như thế này : việc tìm kiếm 1 Agent 
chẳng hạn sẽ phải thực hiện trên toàn bộ hệ 
thống và điều đó là không thể chấp nhận được 
Æ
Agent 
A
Agent 
C
Agent 
B
Agent 
D
Agent 
E Agent 
Master 
System
Agent 
A
Agent 
Master 
System
Agent 
C
Agent 
B
Agent 
Master 
System
Agent 
Master 
System
(c) SE/FIT/HUT 2002
Câu 1 (tiếp)
„ Do đó định danh của 1 Agent cần được quản lý 
tập trung
„ Trong sơ đồ mở rộng : khi một Agent đăng kí, 
nó cần được đăng kí ở mức hệ thống từ cao 
xuống thấp còn khi gỡ bỏ đăng kí thì theo chiều 
ngược lại từ thấp lên cao
Agent Master 
System
Agent A
Agent Master 
System
Agent C
Agent B
Agent Super 
Master 
System
Sơ đồ mở rộng
(c) SE/FIT/HUT 2002
2.Service Root được lấy ở 
đâu
„ Trước hết cần phải xem lại sơ đồ hệ đa Agent 
mở rộng
„ Trong câu hỏi này, 1 thành phần đã bị ẩn đi đó 
là PC, mỗi PC, hệ điều hành là một Sub-Master 
System.
„ Chú ý là trong trường hợp này không được khởi 
tạo như 1 agent bình thường
Agent Master 
System
Agent A
Agent Master 
System
Agent C
Agent B
Agent Super 
Master 
System
Sơ đồ mở rộng
(c) SE/FIT/HUT 2002
Open Agent Architecture
(c) SE/FIT/HUT 2002
Kiến trúc agent mở (OAA)
„ Tổng quan
„ Các khái niệm cơ bản
„ Các thành phần chính trong OAA
„ Lợi ích sử dụng OAA
„ So sánh OAA với công nghệ phân tán
12
(c) SE/FIT/HUT 2002
Các khái niệm cơ bản trong 
OAA
„Định nghĩa OAA :
- OAA (Kiến trúc Agent mở) là một framework trong 
đó một cộng đồng các agent phần mềm chạy trên các 
máy phân tán có thể làm việc với nhau theo các nhiệm 
vụ được con người hoặc không phải con người tham 
gia trong cộng đồng uỷ quyền.
- Sự đồng điều hành phân tán và truyền thông mức cao 
là hai ý tưởng trung tâm đối với nển tảng của OAA.
(c) SE/FIT/HUT 2002
Tổng quan
„ OAA :
- Là một Framework tích hợp việc truyền thông 
giữa các Software Agent trong môi trường phân 
tán, thông qua uỷ quyền, điều phối…
- Mềm dẻo, thích nghi được với sự tương tác 
giữa các công cụ phân tán thông qua uỷ quyền 
các tác vụ, các yêu cầu dữ liệu và tự kích hoạt 
(trigger).
(c) SE/FIT/HUT 2002
Các đặc tính của OAA
Tính mở:
Các agent có thể được tạo ra từ nhiều ngôn ngữ và giao diện trong các hệ
thống đã có.
Tính mở rộng: 
Các agent có thể được thêm hoặc thay thế một cách linh hoạt
Tính phân tán: 
Agent được truyền qua rất nhiều máy tính
Tính song song:
Có thể thực hiện song song các tác vụ con
Kiến trúc mức cao ( high level):
Ẩn các phần mềm và phần cứng phụ thuộc
Tính đa hình:
Có thể kết hợp cùng nhau các cách thức: viết, nói, điệu bộ, vận động.
(c) SE/FIT/HUT 2002
Các khái niệm cơ bản
„Agent trong OAA:
- Trong OAA, một agent được định nghĩa như một 
phần mềm tuân theo các chuẩn chức năng và truyền 
thông đưa ra bởi OAA
- Các agent uỷ quyền và nhận nhiệm vụ thông qua một 
agent điều phối là Facilitator
- Các yêu cầu được diễn tả trong một ngôn ngữ chung 
cho mọi agent - ICL ( Interagent Communication 
Language )
(c) SE/FIT/HUT 2002
Tiến trình điều khiển trong 
OAA
„ requester có thể chọn để chỉ ra một cách từng phần làm thế 
nào để một mục đích được thực hiện bởi một cộng đồng 
trong một ngôn ngữ giàu tính trưc quan. 
„ Service providers, trong suốt quá trình đăng ký với một 
agent Facilitator, có thể chỉ ra mã điều kiện kiểm tra và ước 
lượng hiệu năng nó sẽ cho biết khi nào và dưới hoàn cảnh 
nào thì agent tiếp nhận công việc.
„ Facilitator agent sử dụng các chiến lược chọn đường độc lập 
miền đối với việc chia công việc cho cộng đồng các agent 
dựa trên một yêu cầu đến và các mô tả khả năng cung cấp 
dịch vụ.
„ Tập hợp các meta-agent (các chuyên gia miền) có thể cộng 
tác để cung cấp Facilitator với các tri thức xác định miền mà 
hướng dẫn làm thế nào các nhiệm vụ được thực hiện bời 
toàn cộng đồng. 
(c) SE/FIT/HUT 2002
Các thành phần trong OAA
13
(c) SE/FIT/HUT 2002
Các thành phần chính
„ Facilitator agent
„ Meta agent
„ Application agent
„ User Interface agent
„ NL to ICL agent
„ Trigger
„ Giao thức
„ Các agent hỗ trợ khác
(c) SE/FIT/HUT 2002
Facilitator agent
- Facilitator là một agent đặc biệt cung cấp khả 
năng phối hợp các agent 
- Một hệ thống có thể có một hay nhiều Facilitator 
agent
- Các Facilitator agent có thể phối hợp quản lí, 
trao đổI với nhau
(c) SE/FIT/HUT 2002
Facilitator agent
3 chức năng chính của Facilitator
1. Duy trì một đăng ký của dịch vụ agent và các khai 
báo dữ liệu lên blackboard.
2. Lập kế hoạch một chiến lược thực hiện cho một 
câu truy vấn.
3. Thực hiện một kế hoạch: phân chia các nhiệm vụ
thành các nhiệm vụ nhỏ hơn, liên kết các dịch vụ
nhỏ với các nhà cung cấp dịch vụ, chọn đường và
thu thập thông tin trong số các thành phần tham dự
phân tán
(c) SE/FIT/HUT 2002
Facilitator agent
Vấn đề :
Trong các mô hình đơn giản, tại đó chỉ có một 
Facilitator phục vụ một số các agent client, thì
Facilitator có thể bị tắc nghẽn trong truyền 
thông và một điểm đơn bị lỗi đối với toàn hệ
thống.
(c) SE/FIT/HUT 2002
Application agent
- Cung cấp một tập các dịch vụ của một nhu cầu cụ
thể. Các ứng dụng này có thể là các công nghệ độc lập 
miền
Ví dụ: nhận dạng tiếng nói, xử lý ngôn ngữ tự nhiên, 
email, data retrieval, data mining …vv
Hoặc user-specific hay domain-specific 
Ví dụ: agent lập kế hoạch du lịch. 
Các ứng dụng agent có thể dựa trên các thư viện trong 
đó agent có thể được tạo thông qua các lời gọi hàm 
API.
(c) SE/FIT/HUT 2002
Meta agent
- Giúp đỡ Facilitator trong việc phối hợp hoạt 
động của các agent khác. 
- Trong khi facilitator dùng phối hợp độc lập 
miền, meta-agent sử dụng miền và các tri thức 
xác định ứng dụng hoặc các rules, thuật toán 
học, lập kế hoạch.
14
(c) SE/FIT/HUT 2002
User Interface agent
- Có thể bao gồm một tập các agent 
- Mỗi agent giám sát một kiểu đầu vào khác 
nhau và cộng tác để đưa ra một cách diễn giải 
tốt nhất cho các đầu vào hiện tại.
(c) SE/FIT/HUT 2002
Client agent
- Các Agent trong hệ thống OAA là một Facilitator 
Agent hoặc là một Client Agent
- Khi được gọi đến, một Client Agent tạo một kết nối 
tới một Facilitator, được biết như là Parent 
Facilitator của nó, và báo cho Facilitator các dịch vụ
nó cung cấp
- Các loại dịch vụ: đáp ứng các mục đích theo thủ tục, 
duy trì và truy vấn các kho lưu trữ dữ liệu, thiết lập 
và trả lời tới bộ kích hoạt của các loại chung
(c) SE/FIT/HUT 2002
Ngôn ngữ truyền thông ICL
-Tất cả các truyền thông liên agent đều sử dụng 
một ngôn ngữ xác định trong OAA, đó là ICL 
(Interagent Communication Language)
-Đặc điểm: phân tách câu hỏi What từ câu hỏi 
How . Các tham số điều khiển chỉ ra làm thế nào 
các nhiệm vụ có thể thực hiện, ai nên thực hiện 
nhiệm vụ, và đều phân tách từ các mô tả bản 
thân nhiệm vụ.
(c) SE/FIT/HUT 2002
Các thành phần trong ICL
- Khai báo các khả năng ( solvable )
- Các sự kiện
- Các yêu cầu dịch vụ
-Các phần tử dữ liệu
-Trigger
-Khai báo tham số
-Tên và địa chỉ agent
(c) SE/FIT/HUT 2002
Trigger
-OAA cung cấp một cơ chế giúp Agent có thể 
định rõ một hành động khi tập hợp các điều kiện 
của chúng được thoả mãn. Mỗi Agent có thể cài 
đặt các triggers một cách cục bộ (trong chính 
Agent đó) hoặc từ xa (trong Facilitator của nó) 
hoặc tại một Agent ngang hàng.
-Có 4 loại trigger : task, com, data, và time
(c) SE/FIT/HUT 2002
Trigger
„Các loại trigger:
Task: theo dõi các điều kiện gắn với agent, ví dụ 
như “Khi email đến, thông báo cho tôi.”.
Com(munication): tìm kiếm các sự kiện truyền 
thông agent mức thấp, ví dụ như “Khi nào một sự kiện 
agent ngắt kết nối, hãy ghi lại thời gian.”.
Data: nắm bắt sự thay đổi của thông tin, ví dụ
“Khi tình trạng điện thoại rảnh, hãy báo cho tôi.”.
Time: các sự kiện hướng thời gian, ví dụ như 
“Ngày thứ 5, lúc 14h gửi cho tôi một phiếu mời họp 
mặt.”
15
(c) SE/FIT/HUT 2002
Các agent hỗ trợ trong OAA
-Agent phân tích ngôn ngữ tự nhiên.
-Agent nhận dạng tiếng nói.
-Agent text-to-speech.
-Agent cơ sở dữ liệu.
-Agent điện thoại (cho phép mobile truy nhập 
vào nhận dạng tiếng nói từ các vị trí từ xa).
- ….vv ( monitor, debug )
(c) SE/FIT/HUT 2002
Lợi ích sử dụng OAA
-Cung cấp các kỹ thuật đa năng trong liên kết 
(interoperation) và phối hợp hoạt động. 
-Giao diện sử dụng gần gũi với con người
-Các yêu cầu công nghệ phần mềm ( tái sử dụng, ứng 
dụng linh hoạt ..vvv)
-Kết hợp các hệ thống thương mại với các công nghệ trí
tuệ nhân tạo, ví dụ như lập kế hoạch, nhận dạng tiếng 
nói, ngôn ngữ tự nhiên,vv...
(c) SE/FIT/HUT 2002
Hướng phát triển
-Nhiều công nghệ được tích hợp vào OAA. Tăng số 
lượng các hệ thống được xây dựng để trình diễn khả 
năng của các công nghệ này. 
-Tuy nhiên, sự phát triển trong công nghệ sẽ tiếp tục 
trong nhiều năm nữa và hy vọng OAA sẽ tiếp tục là
một phần của sự phát triển.

File đính kèm:

  • pdfBài giảng Thư viện lập trình Agent.pdf
Tài liệu liên quan