Xem mẫu

Agent – Agent-Based
Software Engineering

Mục đích môn học
Cung cấp cho sinh viên
Khái niệm, đặc điểm, phân loại, Kiến trúc về
Agent
Các hệ Agent, đa Agent và Giao thức giao tiếp
Công cụ xây dựng các hệ Agent

Tác tử - Công nghệ phần mềm dựa tác tử
New way to think about programing
Agent Based / Agent Oriented

Định hướng cho sinh viên
Phát triển phần mềm dựa Agent
Tiếp cận phân tích và phát triển phần mềm hướng
Agent

Software
Engineering
Department

(c) SE/FIT/HUT

(c) SE/FIT/HUT

Yêu cầu

2

(c) SE/FIT/HUT

4

Nội dung

Học về CNPM
Lập trình hướng đối tượng
Trí tuệ nhân tạo ???
Ngôn ngữ lập trình C++, Java, C#
Đồ án môn học

(c) SE/FIT/HUT

Khái niệm
Đặc điểm
Phân loại
Hệ dựa Agent
Ứng dụng

3

Agent ?

Agent là gì?

Theo từ điển Heritage của Mỹ:
"... Agent là một đối tượng mà có ảnh hưởng hay có khả năng
và có quyền để tác động hay đại diện cho một đối tượng
khác."
Russel và Norvig:
"Một agent có thể được xét tới bởi khả năng nhận thức về môi
trường nó đang tồn tại qua bộ cảm biến (sensor) và khả
năng tác động lên môi trường đó qua cơ quan phản ứng
(effector )."
Theo Pattie Maes
“Agent tự chủ là các hệ tính toán tồn tại trong môi trường
động và phức tạp , tri giác và hành động tự chủ trong môi
trường này , qua đó hình dung được nhiệm vụ hoặc mục
đích cua mình."
(c) SE/FIT/HUT

5

Ví dụ ….
Phần cứng
Điều nhiệt
Tầu vũ trụ
Xe tự hành
PDA
……

Phần mềm
Kiểm tra thư
Antivius
Giao diện
Tìm việc làm
Kết bạn
….

(c) SE/FIT/HUT

6

1

Agent/Object
Những điểm khác nhau chính

Agent và Object ?

agent có tính tự chủ:
agent có khả năng tự chủ hơn object.
tự quyết định có thực hiện hay không một
hành động hay một yêu cầu từ một agent
khác.
agent là thông minh:

Object:

là các thực thể có thể tính toán được
được gói gọn trong một vài trạng thái
có thể thực hiện các hành động hay các
phương thức để thay đổi trạng thái.
liên lạc thông qua việc gửi các thông điệp.

(c) SE/FIT/HUT

khả năng linh động trong hành vi ( phản xạ + tự
chủ và cộng đồng),
Mô hình đối tượng chuẩn không có những kiểu
hành vi như vậy;
7

Tổng kết
“Objects do it for free; agents do it for money.”

Agent/Object

object điều khiển thông
qua các trạng thái bên trong
nhưng không qua hành vi
của nó
các object khác có thể gọi
các phương thức chung của
nó.

Tuyến điều khiển
chương trình hướng đối tượng có một tuyến điều khiển
riêng lẻ
mỗi agent có một tuyến điều khiển riêng của mình.

Agent có tính chủ động:
một hệ thống đa agent là đa tuyến,
mỗi agent được giả sử là có ít nhất một
tuyến điều khiển tự chủ.

(c) SE/FIT/HUT

Mô hình agent có sự linh
hoạt trong hành động: tính
phản xạ, tính chủ động và
tính cộng đồng
Agent có thể chỉ yêu cầu
các agent khác thực hiện
hành động .

mô hình lập trình hướng đối
tượng chuẩn không phải là
agent thông minh
9

Agents và Hệ chuyên gia

(c) SE/FIT/HUT

10

Những điểm khác nhau chính:

Hệ chuyên gia có đặc trưng riêng ‘chuyên gia’
khỏi một vài phạm vi (như các căn bệnh về
máu ).
Nó có sự hiểu biết phong phú về các bệnh về
máu,theo một dạng các quy tắc. Ví dụ: MYCIN
phân biệt được những căn bệnh về máu trong
con người.
Một bác sĩ sẽ thu được lời khuyên chuyên môn
về bệnh máu dựa trên việc đưa cho MYCIN các
thông tin, trả lời các câu hỏi và đặt các chất
vấn.
(c) SE/FIT/HUT

8

(c) SE/FIT/HUT

11

Môi trường
agents đặt trong một môi trường và nhận biết
MYCIN không nhận biết được tất cả — chỉ nhận biết
những thông tin thu được qua việc đặt cho người
dùng các câu hỏi.

Hoạt động :
Agent tác động lại môi trường
MYCIN không thao tác trên bệnh nhân.

Một số hệ chuyên gia (thường là điều khiển tiến
trình) HCG là các agent
(c) SE/FIT/HUT

12

2

II. Các đặc điểm cơ bản

Tính tự chủ - Autonomy
Agent có thể hành động trong những
khoảng thời gian tương đối dài
Không cần sự can thiệp của con người
Có khả năng kiểm soát nhất định đối với
hành động và trạng thái bên trong của
mình

Một Agent là một đơn vị phần cứng hay phổ
thông hơn là hệ thống máy tính dựa trên
phần mềm có các thuộc tính sau:

Autonomy (Tính tự chủ )
Pro-activeness (Tính chủ động)
Reactivity (Tính phản xạ)
Social Ability (Tính cộng đồng)
(c) SE/FIT/HUT

Agent được định nghĩa dựa trên tính tự chủ là “một
thực thể có khả năng kiểm soát hành động một cách
độc lập với các thực thể khác, trừ khi cần phải trao
đổi thông tin vì agent không có đủ tri thức để hoàn
thành công việc”.
13

(c) SE/FIT/HUT

Tính chủ động

Tính phản xạ

Agent không chỉ phản ứng lại môi trường, chúng
có thể hành động có mục đích và chủ động tranh
thủ thời cơ để đạt được mục đích đó.
Agent hướng mục tiêu
Agent có khả năng suy diễn và lập kế hoạch từ thông tin và tri
thức mà nó thu nhận được.
Từ mục tiêu, agent xác định các hành động cần thiết và nó
thực hiện một cách linh hoạt, có tính toán và chủ đích cho đến
lúc đạt được mục tiêu đề ra.
Ví dụ agent cần hoàn thành mục tiêu x, nó lập kế hoạch bao
gồm các trạng thái trung gian y,z... phải đi qua và xác định
các hành động để chuyển từ trạng thái này sang trạng thái
khác.

Khả năng tri giác được môi trường (thế giới
thực, người sử dụng, các agent khác,
Internet)
phản ứng kịp thời trong một thời gian nhất
định nào đó.

Agent phản xạ:
agent có khả năng phản ứng lại các tác động từ môi
trường theo một cơ chế nào đó.
Agent có khả năng suy diễn từ sự kiện và trạng thái
trong để ra quyết định.
(c) SE/FIT/HUT

15

Tính cộng đồng
(Social Ability )

(c) SE/FIT/HUT

16

Sự phối hợp

Agent có thể tương tác với những agent
khác hay con người để hoàn thành công
việc riêng của mình hay trợ giúp các
agent khác trong những hoạt động nào
đó.
Một vài mục tiêu có thể thu được với sự phối hợp
của các agent khác.
=>> MultiAgent (đa Agent)

1.

2.
3.
4.

5.
6.
7.

(c) SE/FIT/HUT

14

17

Agents sử dụng các ngôn ngữ và các giao
thức chuẩn để phối hợp và cộng tác để thu
được những mục tiêu chung.
Phối hợp với human agents và các agent phàn
mềm khác ( Mô hình khởi đầu hỗn hợp)
Đàm phán và phối hợp với các agent khác
Cácn ngôn ngữ truyền thông Agent và các
giao thức hỗ trợ tất cả các dạng thao tác
trong.
Nhất quán với qui ước con người và trực giác
Cơ cấu hướng đội và đồng diễn agent.
Agents có tính xã hội.
(c) SE/FIT/HUT

18

3

Các đặc điểm khác

Tính di động

• Tính linh hoạt: trong việc phản ứng lại các tác
động từ môi trường bên ngoài. Agent không thực
hiện các hành động một cách máy móc mà có sự
lựa chọn thích hợp.
• Tính thích nghi: là khả năng tự thay đổi để thích
ứng với môi trường và theo ý muốn của người sử
dụng.
• Tính liên tục theo thời gian : Agent về mặt hệ
thống là một tiến trình hoạt động liên tục.

• Khả năng agent xuyên qua các mạng truyền
thông điện tử.
• Cho phép gửi các chuỗi thông điệp thông qua
mạng.

(c) SE/FIT/HUT

• Ví dụ: Nếu agent di động hoạt động tự chủ, người sử dụng
không cần yêu cầu duy trì kết nối mạng liên tục. Thay vào
đó, có thể cung cấp cho agent nhiệm vụ, gửi nó thông qua
mạng và rời bỏ kết nối mạng.
• Khi agent thu được kết quả yêu cầu, tự động thông báo
ngược trở lại bằng việc thiết lập kết nối mạng cho người sử
dụng hoặc chờ sự lựa chọn mạng tiếp theo của người sử
dụng.

19

III. Phân loại
Các loại Agent

Phân loại

Các ứng dụng sử dụng Agent
• Agent cá nhân
•Smart Agent
• Agent tự chủ
•Hybrid Agent
• Agent giao diện
•Softbot
• Agent di động
•Knowbot
• Agent thông tin
•Taskbot
• Internet Agent
•Robot ….
• ......

20

(c) SE/FIT/HUT

Number of agent

Mức độ thông minh
(Degree of intelligence)
Tính di động(Mobility)
Số lượng Agent
(number of Agent)

Multi_agent_system

Single agent
Degree of
intelligence
Stationary
Mobile
simple

Lạm phát Agent

complex

Mobility

(c) SE/FIT/HUT

21

22

Agent cộng tác
(Collaborative)

Phân loại chung

Vấn đề mở rộng khi tồn tại nhiều agent đơn
Khả năng hoạt động trong của các Legacy
System
Giải quyết các vấn đề về phân tán(Phép chẩn
đoán phân tán)
Sử dụng nguồn tài nguyên phân tán(e.g. health
care)
Phân cấp Modularity (=> giảm độ phức tạp)

Agents cộng tác
Agents giao diện
Agents di động
Information/Internet Agents
Agents phản xạ
Hybrid Agents
Smart Agents

(c) SE/FIT/HUT

(c) SE/FIT/HUT

23

Tốc độ (nhờ có sự tương tranh)
Khả năng tái sử dụng
Độ linh hoạt
Mô phỏng và hiểu xã hội
(c) SE/FIT/HUT

24

4

Vấn đề đặt ra

Agents giao diện

Lý thuyết điều phối
Sự ổn định, Khả năng mở rộng, Độ
hiệu quả
Hệ thống di sản (legacy system)
Khó khăn trong vấn đề Học

(c) SE/FIT/HUT

Trợ lý cá nhân cộng tác với người sử dụng
Động cơ thúc đẩy: Tăng khả năng của con
người.

25

Vấn đề đặt ra




26

Agents di động

Chứng minh rằng Agents giao diện giảm
gánh nặng công việc và sự trợ giúp
Agent học cách nhận biết hiện trạng của
người dùng.
Nâng cao khả năng của agent theo thời
gian
Mở rộng agent giao diện đàm phán với
agent ngang hàng
Nâng cao sự tin cậy và khả năng của agent
giao diện
Mở rộng phạm vi ứng dụng agent giao diện
(c) SE/FIT/HUT

(c) SE/FIT/HUT

27

Ví dụ: Giảm tải trong
SNMP

Giảm khối lượng công việc của net (đáng
cố gắng nếu kích thước dữ liệu được
truyền >> kích thước của agent)
Nguồn tài nguyên cục bộ có hạn
Tính toán dị bộ
Tính toán phân tán linh hoạt
Hiệu quả rõ ràng
Cân nhắc lại việc thiết kế phần mềm nói
chung
Dễ dàng hợp tác
Kiến trúc tính toán phân tán linh hoạt
(c) SE/FIT/HUT

28

Vấn đề đặt ra
Authentication
Secrecy: Bảo mật (phía agent: ngăn
ngừa sự thay đổi agent trái phép)
Security Bảo mật(Phía host:ngăn ngừa
những mối hại agent cố tình)
Tính phí (Agent sẽ chi trả cho nguồn tài
nguyên như thế nào)
Độ hiệu quả của nguồn tài nguyên
Thao tác giữa các phần

(c) SE/FIT/HUT

29

(c) SE/FIT/HUT

30

5

nguon tai.lieu . vn