Bài giảng Chương I: Agent và công nghệ agent
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 đến
toàn bộ hệ thống.
46 trang |
Chia sẻ: chaien | Lượt xem: 2172 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Chương I: Agent và công nghệ agent, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
AGENT 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
MỤ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.
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++, Visual Basic
Đồ án môn học
NỘ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.
I. Đặ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.
II.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 ?
=> 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
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ủ )
Reactivity (Tính phản ứng)
Pro-activeness (Tính chủ động)
Social Ability (Tính cộng đồng)
II.Khái niệm agent và các đặc trưng của agent
Các đặc trưng của agent
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
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
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 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
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 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.
Tính chủ động (pro-activeness)
II.Khái niệm agent và các đặc trưng của agent
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)
Tính cộng đồng (Social Ability )
II.Khái niệm agent và các đặc trưng của agent
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ác đặc điểm khác
II.Khái niệm agent và các đặc trưng của agent
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.
Tính di động
II.Khái niệm agent và các đặc trưng của agent
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
III. So sá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:
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?
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 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ư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ó.
III. So sánh agent và object?
IV. 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
IV. 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
IV. 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 trong
agent.
Kiến trúc Agent?
IV. 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?
IV. 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.
Các phương pháp ra quyết định
Logical Reasoning
Pattern matching
Symbolic manipulation
1. Kiến trúc suy diễn
IV. Kiến trúc của agent
a. Symbolic description of World
Mục đích cần đạt tới
Tập miêu tả hành động
Tìm một chuỗi actions để
đạt tới mục đích.
Sử dụng thuật toán đơn giản
Tạo kế hoạch
1. Kiến trúc suy diễn
IV. 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ục
tiê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ó (committed
desires)
1. Kiến trúc suy diễn
IV. 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
IV. 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ên
hiể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
IV. 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ập
cá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ắc
củ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ện
tại của agent.
Hàm chọn hành động để thực hiện (action selection
function): xác định hành động sẽ được thực hiện.
1. Kiến trúc suy diễn
IV. 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ần
thiết thành symbolic representation, đặc biệt nếu môi trường
thay đổi rất nhanh.
Vấn đề representation
Làm thế nào để world-model được biểu diễn một cách tượng
trư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
IV. 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ột
cách trực tiếp, tức là sẽ có một ánh xạ trực tiếp từ tình
huố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ạ
IV. 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ần
symbolic (AI) representation.
Behavior thông minh có thể được tạo ra không cần explicit
abstract symbolic reasoning (AI) mechanisms.
Tính thông minh là thuộc tính nổi bật trong hệ thống phức
tạp.
Behavior thông minh là kết quả của việc tương tác với môi
trường.
2. Kiến trúc phản xạ
IV. Kiến trúc của agent
2. Kiến trúc phản xạ
IV. 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ạ
IV. Kiến trúc của agent
Ví dụ
Bộ tản nhiệt đơn giản là agent phản xạ:
S = {tooCold, okay}
A = {heatingOn, heatingOff }
action(okay) = heatingOff
action(tooCold) = heatingOn
2. Kiến trúc phản xạ
IV. 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ạ
IV. Kiến trúc của agent
Các vấn đề của agent phản xạ
Một lượng lớn thông tin cố định cần cho agent.
Việc học?
Có đặc thù là thủ công (handcraffed).
Sự phát triển mất rất nhiều thời gian.
Không thể xây dựng một hệ thống lớn?
Chỉ được sử dụng cho những mục đích ban đầu?
2. Kiến trúc phản xạ
IV. 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ủa
mô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ác
action thích hợp.
Hầu hết các agent đều ra quyết định dựa trên các thông tin
mang 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 kinh
nghiệ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ạ
IV. Kiến trúc của agent
Kết hợp tính phản xạ và tính suy diễn
Deliberative component: Subsystems tạo ra những kế hoạch và
quyết định sử dụng symbolic reasoning.
Reactive component: Subsystems phản ứng lại sự kiện nhanh
chóng mà không cần những reasoning phức tạp.
Thành phần phản xạ có quyền ưu tiên hơn thành phần
không phản xạ.
3. Kiến trúc lai - Hybrid
IV. Kiến trúc của agent
3. Kiến trúc lai - Hybrid
IV. 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
IV. 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
IV. 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
IV. 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.
Phân làm 2 loại:
Một chiều:
Luồng điều khiển lần lượt đi qua từng lớp cho tới khi tới lớp cuối
cùng sẽ tạo ra hành động cần thực hiện.
Hai chiều:
Thông tin được đi theo một chiều (lên) và điều khiển được đi theo
chiều khác (xuống).
4. Kiến trúc lớp
IV. 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
IV. 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 đến
toàn bộ hệ thống.
4. Kiến trúc lớp
IV. 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át
môi trường. Nó nhận ra
những thay đổi của môi
trường, cái mà sẽ bắt đầu
các hành vi của nó.”
Agent suy diễnAgent phản xạ
Hướ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.
Các file đính kèm theo tài liệu này:
- 82688045_chuong_i_mo_dau_3953.pdf