Kĩ thuật lập trình - Agent – agent - Based software engineering
Trong công nghiệp
z Sản xuất ( Hệ YAMS, cộng tác thiết
kế, điều khiển robot sản xuất, etc.)
z Điều khiển quy trình(ARCHON: quản
lý truyền tải điện năng và phần tử gia
tốc)
z Viễn thông, Monique
z Điều khiển giao thông đường không,
Omar
z Hệ thống vận tải (giao thông vận tải
và quản lý )
9 trang |
Chia sẻ: huyhoang44 | Lượt xem: 625 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Kĩ thuật lập trình - Agent – agent - Based software engineering, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1(c) SE/FIT/HUT
Agent – Agent-Based
Software Engineering
Tác tử - Công nghệ phần mềm dựa tác tử
Software
Engineering
Department
New way to think about programing
Agent Based / Agent Oriented
(c) SE/FIT/HUT 2
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
Đị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
(c) SE/FIT/HUT 3
Yêu cầu
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 4
Nội dung
Khái niệm
Đặc điểm
Phân loại
Hệ dựa Agent
Ứng dụng
(c) SE/FIT/HUT 5
Agent ?
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 6
Agent là gì?
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
.
2(c) SE/FIT/HUT 7
Agent và Object ?
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 8
Agent/Object
Những điểm khác nhau chính
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:
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;
(c) SE/FIT/HUT 9
Agent/Object
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 10
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ó.
mô hình lập trình hướng đối
tượng chuẩn không phải là
agent thông minh
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 .
Tổng kết
“Objects do it for free; agents do it for money.”
(c) SE/FIT/HUT 11
Agents và Hệ chuyên gia
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 12
Những điểm khác nhau chính:
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
3(c) SE/FIT/HUT 13
II. Các đặc điểm cơ bản
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 14
Tính tự chủ - Autonomy
w Agent có thể hành động trong những
khoảng thời gian tương đối dài
w Không cần sự can thiệp của con người
w 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
w 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”.
(c) SE/FIT/HUT 15
Tính phản xạ
w 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)
w phản ứng kịp thời trong một thời gian nhất
định nào đó.
wAgent phản xạ:
w 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 đó.
w 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 16
Tính chủ động
w 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 đó.
w Agent hướng mục tiêu
w 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.
w 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.
w 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.
(c) SE/FIT/HUT 17
Tính cộng đồng
(Social Ability )
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)
(c) SE/FIT/HUT 18
Sự phối hợp
1. 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.
2. 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)
3. Đàm phán và phối hợp với các agent khác
4. 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.
5. Nhất quán với qui ước con người và trực giác
6. Cơ cấu hướng đội và đồng diễn agent.
7. Agents có tính xã hội.
4(c) SE/FIT/HUT 19
Các đặc điểm khác
• 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.
(c) SE/FIT/HUT 20
Tính di động
• 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.
• 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.
(c) SE/FIT/HUT 21
III. Phân loại
Các loại Agent
Các ứng dụng sử dụng Agent
• Agent cá nhân
• Agent tự chủ
• Agent giao diện
• Agent di động
• Agent thông tin
• Internet Agent
• ......
Lạm phát Agent
•Smart Agent
•Hybrid Agent
•Softbot
•Knowbot
•Taskbot
•Robot .
(c) SE/FIT/HUT 22
Mobility
simple complex
Mobile
Stationary
Single agent
Multi_agent_systemNumber of agent
Degree of
intelligence
Phân loại
Mức độ thông minh
(Degree of intelligence)
Tính di động(Mobility)
Số lượng Agent
(number of Agent)
(c) SE/FIT/HUT 23
Phân loại chung
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 24
Agent cộng tác
(Collaborative)
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)
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
5(c) SE/FIT/HUT 25
Vấn đề đặt ra
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 26
Agents giao diện
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.
(c) SE/FIT/HUT 27
Vấn đề đặt ra
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 28
Agents di động
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 29
Ví dụ: Giảm tải trong
SNMP
(c) SE/FIT/HUT 30
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
6(c) SE/FIT/HUT 31
Agents thông tin
Chúng ta dư thừa dữ liệu nhưng lại
thiếu hụt thông tin
Agent thông tin biết nơi nào để tìm
kiếm thông tin và tìm như thế nào.
• Tìm thông tin
• Tập hợp/Rút ra thông tin
• Lựa chọn và tổng hợp kiến thức dựa trên
thông tin
(c) SE/FIT/HUT 32
Vấn đề ???
• Những phương pháp nào để quản lý
thông tin?
• Học Máy, thống kê. . .
• Tương tác với người dùng như thế
nào (tương tự như tương tác với các
agent )
(c) SE/FIT/HUT 33
Agents phản xạ
Kích thích – Đáp ứng
Sự biểu diễn dữ liệu
Không có mô hình tượng trưng bên trong
Biểu diễn dữ liệu gần với dữ liệu nguuyên
thuỷ
Yêu cầu: Hệ thông minh cần biểu diễn dựa
trên thế giới vật chất
Ý tưởng: Kiểu dáng? hành vi phức
tạp ?
(c) SE/FIT/HUT 34
Những thách thức
Sự mở rộng phạm vi và số lượng
các ứng dụng
Phát triển các phương pháp luận
thiết kế
Mở rộng địa chỉ và độ hiệu quả
(c) SE/FIT/HUT 35
Hybrid Agents
Sự kết hợp giữa agent phản xạ và agent
thảo luận:
Sử dụng ý nghĩa của kiến trúc phân lớp,
Lớp thấp giải quyết hành vi phản xạ và
lớp cao phục vụ cho việc thảo luận và
chứa các mô hình tượng trưng
(c) SE/FIT/HUT 36
iv. Hệ dựa Agent
Agents và hệ dựa agent là một nguyên lý mới của công
nghệ phần mềm :
Kỹ sư phần mềm ngày càng phải nắm bắt và
hiểu biết hơn về đặc điểm và của độ phức tạp
trong phần mềm
Tương tác giờ đây hoàn toàn được công nhận là
một đặc tính quan trọng nhất của những phần
mềm phức tạp
7(c) SE/FIT/HUT 37
Xu hướng phát triển phương
pháp lập trình
sub-routines;
thủ tục & hàm;
kiểu dữ liệu trừu tượng;
objects;
tới agents.
objects
1982
agents
1999
structuredprogramming
1975 = =
(c) SE/FIT/HUT 38
Lĩnh vực tạo nên Agent
Hệ phân tán
Cơ sở dữ liệu & nhận thức
dựa trên kỹ thuật
phục hồi thông tin
Máy biết nhận thức
agents
dựa trên
khoa họcAI &Mã hoá di động
(c) SE/FIT/HUT 39
Intelligent Agent?
IBM
IA: là các thực thể phần
mềm thực hiện một tập
hợp các thao tác nhân
danh NSD hoặc một CT
khác với mức độ độc lập
hoặc tự chủ nhất định, sử
dụng một số tri thức và
hình dung về mục đích và
yêu cầu của người sử
dụng
IBM:
”Intelligent agents are
software entities that
carry out some set of
operations on behalf of a
user or another program
with some degree of
independence or
autonomy, and in doing
so, employ some
knowledge or
representations of the
user’s goals or desires”
(c) SE/FIT/HUT 40
Từ Agent tới Agent thông minh
nhận thức, suy
nghhĩ
Agent tương tác
với môi trường bên
trong của nó:
theo dõi hiệu quả
của các hành động
khám phá
tương tác với một
người sử dụng
cooperate learn
autonomous
interface agentcollaborative agent
collaborative
learning agent
intelligent agent
(c) SE/FIT/HUT 41
Hệ đa Agent – Multi Agent
Môi trường đa Agent
w Cung một cơ sở hạ tầng cho việc truyền thông cùng với
các giao thức tương tác.
w Mở và không bị tập trung hoá.
Có các agent có thể hoạt động một cách tự chủ, phân
tán và tương tác được với các agent khác.
Các cơ chế
Thương lượng (Negotiation)
Hợp tác (Cooperation)
Điều phối (Coordination)
(c) SE/FIT/HUT 42
Các ưu điểm của hệ Agent
Bài toán phân tán/ Đa mục tiêu
Lời giải các công nghệ khác không
cho phép giải quyết
Lời giải đơn giản hơn
Phân tích và thiết kế dễ dàng hơn
Chi phí thấp hơn
8(c) SE/FIT/HUT 43
Các hạn chế của Agent
Vấn đề thời gian thực.
Agent không quan tâm đến thời gian,
thời điểm thực hiện.
Chỉ đặt vấn đề mục đích công việc
Vấn đề các hệ có ràng buộc chặt
chẽ. Yêu cầu tính kỷ luật cao.
(c) SE/FIT/HUT 44
V. Ứng dụng của Agent
Trong công nghiệp
z Sản xuất ( Hệ YAMS, cộng tác thiết
kế, điều khiển robot sản xuất, etc.)
zĐiều khiển quy trình(ARCHON: quản
lý truyền tải điện năng và phần tử gia
tốc)
zViễn thông, Monique
zĐiều khiển giao thông đường không,
Omar
zHệ thống vận tải (giao thông vận tải
và quản lý )
Mobile
Customer
Agent
(Peer)
Agent
(Peer)
Agent
(Peer)
Agent
(Peer)
Mobile
Customer
Mobile
Customer
Mobile
Customer
(c) SE/FIT/HUT 45
Trong kinh tế
z Các dịch vụ thông tin,, Steve
z E-commerce (Kasbah, BargainFinder, Jango, MAGMA)
z Quản lý phương thức kinh doanh (Dự án ADEPT)
Y tế
(Monitoring - theo dõi trình trạng sức khỏe bệnh nhân)
Chăm sóc sức khoẻ ( Hệ thống chăm sóc phân tán tích hợp quy trình
quản lý bệnh nhân )
Giải trí
Games ( Game về sinh vật)
Ảnh hưởng trong nhà hát và rạp chiếu phim ( Believable agents đóng
thay con người)
(c) SE/FIT/HUT 46
Ứng dụng Agent trong Game
Mô hình hoá hành vi hoạt động
Breakaway Solutions Inc. agent-based intelligent mission controller node (IMCN)
- link - Theater Battle Management Core System (TBMCS)
(c) SE/FIT/HUT 47
Các hướng trong tương lai
Sự phát triển ứng dụng thế giới thực;
Phương pháp thiết kế và phát triển hệ thống
dựa vào agent
bộ dụng cụ sức bền công nghiệp cho việc xây
dựng các hệ thống dựa vào agent
Trang web cá nhân linh động hơn hỗ trợ:
Du lịch
Mua hàng
Tìm kiếm và tập hợp thông tin ( có giới hạn
trang hỗ trợ ?)
eCommerce;
Đàm phán
(c) SE/FIT/HUT 48
Ưu điểm và ứng dụng
Có khả năng giải quyết các vấn đề lớn,
ngoài khả năng của agent đơn lẻ (ví dụ do hạn chế tài nguyên).
Cho phép tương tác giữa các hệ có sẵn
, ví dụ hệ chuyên gia, hệ trợ giúp quyết định, các giao thức truyền
thông sẵn có.v.v.
Tăng tính mở rộng (scalability)
mô hình tổ chức của các agent có thể thay đổi mềm dẻo theo sự biến
động của môi trường.
Cho phép giải quyết các bài toán có tính phân tán
như quản lý mạng viễn thông, kiểm soát lưu lượng.v.v.
Cho phép giải quyết các bài toán trong đó thông tin và tri
thức có nguồn gốc phân tán
9(c) SE/FIT/HUT 49
Định hướng Agent
“Độ chín “ của kỹ thuật agent:
zCác tiêu chuẩn
zNền móng
zCác phương pháp luận
Ở đâu áp dụng kỹ thuật agent
zTự động dò tìm sự cố , lỗi, hư hỏng và các ngoại lệ, etc.
zTự động tìm kiếm thông tin và các tài nguyên khác.
zTự động đàm phán về tài nguyên
zHỗ trợ các hoạt động tay chân phức tạp
zCá nhân hoá các dịch vụ
Tôi là một agent.
Do you like me ?
(c) SE/FIT/HUT 50
Thông tin thêm về Agents
The Laboratory for Advanced Information
Technology (LAIT) at UMBC (Tim Finin)
Bots:
Research:
• Software Agents Group at the MIT Media Lab
(Patti Maes):
nts
• Queen Mary and Westfield College, University
of London (Jennings & Wooldridge):
• Carnegie Mellon University (Katia Sycara):
(c) SE/FIT/HUT 51
Các ngôn ngữ truyền thông
Agent (ACLs):
• FIPA ACL:
• KQML:
pec.html
(c) SE/FIT/HUT 52
Discusion ?
Nghĩ 1 bài toán đã làm
Chuyển đổi thành hệ Agent ?
Khả thi
Ích lợi
Hiệu quả
Các file đính kèm theo tài liệu này:
- l01_intro_7661_5773.pdf