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
Trang 1AGENT VÀ CÔNG NGHỆ AGENT
Chương I:
Giáo viên: Hồ Kim Giàu
HỌC VIỆN BƯU CHÍNH VIỄN THÔNG
Khoa Công nghệ thông tin
Nha Trang, tháng 10/2011
Trang 2MỤC ĐÍCH MÔN HỌC
Cung cấp:
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:
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.
Trang 3YÊ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++, Visual Basic
Đồ án môn học
Trang 4NỘI DUNG
I Đặc trưng của các hệ phần mềm phức tạp.II.Khái niệm agent và các đặc trưng của agent.III So sánh agent và đối tượng
IV Kiến trúc của agent
Trang 5I Đặc trưng của các hệ phần mềm phức tạp.
Khối lượng công việc cần xử lý ngày càng lớn.
Yêu cầu về tính chính xác ngày càng cao.
Yêu cầu về tính mở và phân tán.
Yêu cầu tính độc lập cao giữa các thành phần trong hệ thống.
Trang 6II.Khái niệm agent và các đặc trưng của 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 của mình."
AGENT ?
Trang 7=> 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ế
AGENT ?
II.Khái niệm agent và các đặc trưng của agent
Trang 8Mộ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:
Trang 9Agent có thể hành động trong những khoảng thời giantươ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ạngthái bên trong của mình
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”.
Tính tự chủ - Autonomy
II.Khái niệm agent và các đặc trưng của agent
Trang 10Khả 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 trongmột thời gian nhất định nào đó.
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.
Tính phản ứng (reactivity)
II.Khái niệm agent và các đặc trưng của agent
Trang 11Agent 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 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ồmcác trạng thái trung gian y,z phải đi qua và xác định cáchành động để chuyển từ trạng thái này sang trạng tháikhác
Tính chủ động (pro-activeness)
II.Khái niệm agent và các đặc trưng của agent
Trang 12Agent 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ácagent 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ácagent khác => MultiAgent (đa Agent)
Tính cộng đồng (Social Ability )
II.Khái niệm agent và các đặc trưng của agent
Trang 13Tính linh hoạt: trong việc phản ứng lại các tác động từ môitrường bên ngoài Agent không thực hiện các hành độngmộ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ớimô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ộttiến trình hoạt động liên tục
Các đặc điểm khác
II.Khái niệm agent và các đặc trưng của agent
Trang 14Khả 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ầnyê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áongượ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
Tính di động
II.Khái niệm agent và các đặc trưng của agent
Trang 15 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
III So sánh agent và object?
Trang 16Agent 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;
III So sánh agent và object?
Trang 17Tuyế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 Object có một tuyến điều khiển riêng của mình.
Agent:
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ủ.
Object điều khiển thông qua các trạng thái bên trong nhưngkhô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ó
III So sánh agent và object?
Trang 18IV Kiến trúc của agent
Pattie Maes
Một phương pháp học đặc biệt để xây dựng agents.
Nó chỉ rõ làm thế nào agent có thể được tách ra thành cấu trúc của
1 tập các modules thành phần và làm thế nào những modules đó có thể tương tác với nhau.
Toàn bộ tập modules và sự tương tác giữa chúng cho ta câu trả lời làm thế nào mà những dữ liệu cảm biến và trạng thái hiện tại của agent xác định actions và những trạng thái trong tiếp theo của agent.
Một kiến trúc bao gồm các kỹ thuật và thuật toán hỗ trợ cho phương pháp này.
Định nghĩa 1
Trang 19IV Kiến trúc của agent
Kaelbling
Một tập hợp đặc biệt các software (or hardware) modules, được thiết kế đặc trưng bởi những hộp với những mũi tên để chỉ ra dữ liệu và dòng điều khiển giữa các modules.
Một cách nhìn trừu tượng hơn với kiến trúc agent là một phương pháp chung để thiết kế được những modules riêng biệt cho những nhiệm vụ cụ thể.
Định nghĩa 2
Trang 20IV Kiến trúc của agent
Mô tả các trạng thái trong của agent
Cấu trúc dữ liệu của nó
Thao tác có thể thực hiện trên các cấu trúc
Luồng điều khiển giữa các cấu trúc dữ liệu
Kiến trúc agent khác nhau trên nhiều khía cạnh khác nhau
về cấu trúc dữ liệu và thuật toán được biểu diễn bên trongagent
Kiến trúc Agent?
Trang 21IV Kiến trúc của agent
Deliberative (Kiến trúc suy diễn)
Logic-Based Architectures
Belief-desire-intension BDI (Suy luận thông minh)
Reactive (Kiến trúc phản xạ)
Hybrid (Kiến trúc lai)
Layered architectures (Kiến trúc lớp)
Phân loại kiến trúc Agent?
Trang 22IV Kiến trúc của agent
Dựa trên symbolic AI
Kiến trúc mà quá trình ra quyết định được thực hiện nhờsuy diễn logic
Trang 23IV Kiến trúc của agent
a Symbolic description of World
Trang 24IV Kiến trúc của agent
b Belief-desire-intension (BDI - Suy luận thông minh)
Kiến trúc dựa trên quá trình suy luận thông minh, trong đó
quá trình ra quyết định được tiến hành từng bước, các hànhđộng được thực hiện xuất phát từ yêu cầu của hàm mụctiêu đề ra
Beliefs: Biểu diễn tập các thông tin mà agent biết về môi
trường hiện tại của nó (và có thể một vài trạng thái trong),
Desires: Xác định động cơ của nó.
Intentions: Biểu diễn những quyết định phải hành động
như thế nào để hoàn toàn đạt tới desires của nó (committeddesires)
1 Kiến trúc suy diễn
Trang 25IV Kiến trúc của agent
b Belief-desire-intension (BDI - Suy luận thông minh)
Beliefs = “hiểu biêt của agent”
Desires = “những mục đích của agent”
Intentions = “những mục đích cần hoàn thành” (tập con
của desires)
1 Kiến trúc suy diễn
Trang 26IV Kiến trúc của agent
Các thành phần của agent BDI
Tập các niềm tin hiện tại (belief): biểu diễn tập các thông
tin mà agent biết được về môi trường hiện tại của nó
Hàm thu nhận tri thức từ môi trường (belief revision
function) thu nhận thông tin mới, cùng với niềm tin đã cótạo ra những hiểu biết mới về môi trường
Hàm sinh các lựa chọn (option generation function): đưa
ra các lựa chọn có thể có đối với agent (desire) dựa trênhiểu biết đang có về môi trường và mong muốn của nó
1 Kiến trúc suy diễn
Trang 27IV Kiến trúc của agent
Các tuỳ chọn hiện tại (set of current options) biểu diễn tậpcác hành động mà agent có thể thực hiện
Hàm lọc (filter function): biểu diễn cho quá trình cân nhắccủa agent để chọn ra mong muốn dựa trên những điều kiệnđang có, đang biết
Tập các mong muốn (intention): biểu diễn mong muốn hiệntại của agent
Hàm chọn hành động để thực hiện (action selectionfunction): xác định hành động sẽ được thực hiện
1 Kiến trúc suy diễn
Trang 28IV Kiến trúc của agent
Những hạn chế của kiến trúc suy diễn
Vấn đề Transduction
Tốn nhiều thời gian để chuyển đổi tất cả những thông tin cầnthiết thành symbolic representation, đặc biệt nếu môi trườngthay đổi rất nhanh
Vấn đề representation
Làm thế nào để world-model được biểu diễn một cách tượngtrưng và làm thế nào để agent có thể suy diễn kịp thời với sựthay đổi thông tin
1 Kiến trúc suy diễn
Trang 29IV Kiến trúc của agent
Là kiến trúc mà quá trình ra quyết định được cài đặt mộtcách trực tiếp, tức là sẽ có một ánh xạ trực tiếp từ tìnhhuống tới hành động
Không suy luận phức tạp
Sự suy diễn phức tạp có thể dẫn đến không lời giải hay đápứng về mặt thời gian
2 Kiến trúc phản xạ
Trang 30IV Kiến trúc của agent
Những kiến trúc thông minh có thể được tạo ra không cầnsymbolic (AI) representation
Behavior thông minh có thể được tạo ra không cần explicitabstract symbolic reasoning (AI) mechanisms
Tính thông minh là thuộc tính nổi bật trong hệ thống phứctạp
Behavior thông minh là kết quả của việc tương tác với môitrường
2 Kiến trúc phản xạ
Trang 31IV Kiến trúc của agent
2 Kiến trúc phản xạ
Trang 32IV Kiến trúc của agent
Các thành phần của Perception (tri giác):
Ngữ nghĩa học của đầu vào agent
Tập kiến thức cơ sở
A specification of state transitions
Actions được tạo ra bởi ngữ nghĩa của đầu ra agent (reaction).
Tất cả vận dụng symbolic được thực hiện trong thời gian dịch.
2 Kiến trúc phản xạ
Trang 33IV Kiến trúc của agent
Trang 34IV Kiến trúc của agent
Ưu điểm
Đơn giản
Kinh tế
Kiểm soát được khả năng tính toán
Khả năng chịu lỗi cao
2 Kiến trúc phản xạ
Trang 35IV Kiến trúc của agent
Trang 36IV Kiến trúc của agent
Nhược điểm
Nếu agent không sử dụng mô hình giống như mô hình củamôi trường trong đó nó hoạt động thì chúng phải có đầy đủnhững thông tin cần thiết bên trong để có thể thực hiện cácaction thích hợp
Hầu hết các agent đều ra quyết định dựa trên các thông tinmang tính cục bộ của riêng mình
Các agent đều không có khả năng học từ những kinhnghiệm đã gặp phải cũng như nâng cao khả năng của hệthống kể cả đã hoạt động trong một thời gian dài
2 Kiến trúc phản xạ
Trang 37IV Kiến trúc của agent
Trang 38IV Kiến trúc của agent
3 Kiến trúc lai - Hybrid
Trang 39IV Kiến trúc của agent
Phân lớp theo chiều ngang
Phân lớp theo chiều dọc
1 chiều
2 chiều
4 Kiến trúc lớp
Trang 40IV Kiến trúc của agent
1 Phân lớp theo chiều ngang (horizontal layering)
Trong kiến trúc này tất cả các thành phần trên các lớp đều
tiếp xúc trực tiếp tới đầu vào và đầu ra
Mỗi thành phần trên một lớp có thể coi là một agent
4 Kiến trúc lớp
Trang 41IV Kiến trúc của agent
1 Phân lớp theo chiều ngang (horizontal layering)
Ưu, nhược điểm
Đơn giản Nếu ta cần một agent có n cách cư xử khác nhau thì sẽ cài
đặt mô hình này.
Tuy nhiên luôn có sự tranh giành trong việc ra quyết định, để đảm
bảo sự tương thính ta thường đưa vào một hàm điều khiển trung tâm (mediator) để quyết định xem lớp nào đang điều khiển hoạt động của agent.
Giả sử trong mô hình của ta có n lớp và mỗi lớp có thể thực hiện m
action khác nhau vậy có nghĩa là có thể có đến mn khả năng tương
tác lẫn nhau.
Theo quan điểm thiết kế thì đây là một vấn đề khó và khi hoạt động
có thể gây ra hiện tượng thắt cổ chai (bottleneck) trong quá trình ra quyết định.
4 Kiến trúc lớp
Trang 42IV Kiến trúc của agent
2 Phân lớp theo chiều dọc (vertical layering)
Kiến trúc chỉ có hai thành phần tiếp xúc với đầu vào và
đầu ra, ta có thể coi như là một agent
Đơn giản hơn rất nhiều so với phân lớp theo chiều ngang
Trang 43IV Kiến trúc của agent
2 Phân lớp theo chiều dọc (vertical layering)
4 Kiến trúc lớp
Trang 44IV Kiến trúc của agent
2 Phân lớp theo chiều dọc (vertical layering)
Ưu nhược điểm
Sự phức tạp trong tương tác giữa các lớp đã được giảm
Luồng điều khiển phải đi qua toàn bộ các lớp vì thế nếu
một lớp nào đó hoạt động không ổn định sẽ ảnh hưởng đếntoàn bộ hệ thống
4 Kiến trúc lớp
Trang 45IV Kiến trúc của agent
Chọn một kiến trúc Agent
Thảo luận
“Agent của tôi lưu trữ thông
tin về môi trường Dựa trên
những hiểu biết đó nó tạo ra
reasoning và planning.”
“Agent của tôi quan sátmôi trường Nó nhận ranhững thay đổi của môitrường, cái mà sẽ bắt đầucác hành vi của nó.”
Agent suy diễn Agent phản xạ
Trang 46Hướng dẫn nghiên cứu
1 Agent là gì? Các đặc trưng về Agent
2 Agent và Object khác nhau như thế nào?
3 Trình bày kiến trúc suy diễn
4 Trình bày kiến trúc phản xạ
5 Trình bày kiến trúc lớp