intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Tác tử - Công nghệ phần mềm dựa tác tử: Kiến trúc Agent và hệ Agent

Chia sẻ: Sao Cũng được | Ngày: | Loại File: PDF | Số trang:9

73
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Tác tử - Công nghệ phần mềm dựa tác tử: Kiến trúc Agent và hệ Agent cung cấp một số nội dung kiến thức như: Agent architecture (internal) là gì? Abstract Agent - architecture, Deliberative architectures (Kiến trúc suy diễn), Reactive architectures (Kiến trúc phản xạ), Hybrid architectures (Kiến trúc lai), Kiến trúc BDI (Belief- Desire- Intention),... Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Tác tử - Công nghệ phần mềm dựa tác tử: Kiến trúc Agent và hệ Agent

Agent Architectures<br /> Kiến trúc Agent và Hệ Agent<br /> <br /> Nội dung<br /> Agent architecture (internal) là gì?<br /> Abstract Agent-Architecture<br /> Deliberative Architectures (Kiến<br /> trúc suy diễn)<br /> Reactive Architectures (Kiến trúc<br /> phản xạ)<br /> Hybrid Architectures (Kiến trúc lai)<br /> <br /> 1.<br /> 2.<br /> 3.<br /> <br /> Lê Tấn Hùng<br /> <br /> 4.<br /> <br /> CNTT – ĐHBK Hà nội<br /> <br /> 5.<br /> <br /> (C)Copyright<br /> Software<br /> Engineering<br /> Department<br /> <br /> •<br /> <br /> 6.<br /> 7.<br /> <br /> Kiến trúc Phân lớp (Layer)<br /> <br /> Kiến trúc BDI (Belief- Desire- Intention)<br /> Kiến trúc mở (OAA)<br /> 2<br /> <br /> 2. Định nghĩa kiến trúc<br /> Agent - I<br /> <br /> I. Kiến trúc Agent<br /> <br /> 1.Lý do Kiến trúc Agent?<br /> Thay thế cho việc chuyển từ ý tưởng, chỉ<br /> dẫn thành thực thi chúng<br /> E.g. after or in the late steps of Gaia<br /> <br /> Làm thế nào để xây dựng những hệ thống<br /> máy tính thoả mãn những yêu cầu đặc biệt<br /> bằng agent theoritists<br /> Những kiến trúc phần mềm như thế nào là<br /> phù hợp?<br /> <br /> Pattie Maes<br /> Một phương pháp học đặc biệt để xây dựng agents.<br /> Nó chỉ rõ làm thế nào agent có thể được tách ra<br /> thành cấu trúc của 1 tập các modules thành phần<br /> và làm thế nào những modules đó có thể tương tác<br /> với nhau.<br /> Toàn bộ tập modules và sư tương tác giữa chúng<br /> cho ta câu trả lời làm thế nào mà những dữ liệu<br /> cảm biến and trạng thái hiện tại của agent xác<br /> định actions và những trạng thái trong tiếp theo<br /> của agent.<br /> Một kiến trúc bao gồm các kỹ thuật và thuật toán<br /> hỗ trợ cho phương pháp này.<br /> <br /> 3<br /> <br /> Definitions of Agent<br /> Architecture - II<br /> <br /> 4<br /> <br /> Kiến trúc Agent?<br /> <br /> Kaelbling<br /> Một tập hợp đặc biệt các software (or hardware)<br /> modules, được thiết kế đặc trưng bởi những<br /> <br /> hộp với những mũi tên để chỉ ra dữ liệu và<br /> dòng điều khiển giữa các modules<br /> Một cách nhìn trừu tượng hơn với kiến<br /> trúc agent là một phương pháp chung để<br /> thiết kế được những modules riêng biệt<br /> cho những nhiệm vụ cụ thể<br /> <br /> Mô tả các trạng thái<br /> trong của agent<br /> Cấu trúc dữ liệu của nó<br /> Thao tác có thể thực<br /> hiện trên các cấu trúc<br /> Luồng điều khiển giữa<br /> các cấu trúc dữ liệu.<br /> Kiến trúc agent khác nhau trên nhiều khía<br /> cạnh khác nhau về cấu trúc dữ liệu và thuật toán<br /> được biểu diễn bên trong agent<br /> <br /> 5<br /> <br /> 6<br /> <br /> 1<br /> <br /> 3. Abstract Agent<br /> Arch.<br /> a.Standard Agent<br /> S = { s1, s2, ... }<br /> <br /> AGENT<br /> <br /> (Non-)Deterministic Behavior<br /> <br /> Action<br /> Input<br /> <br /> Sensor<br /> Output<br /> <br /> Hành vi của Môi trường mô hình hóa :<br /> <br /> ENVIRONMENT<br /> <br /> env: S x A<br /> ρ(S)<br /> P means the powerset or set of all subsets<br /> <br /> Tập trạng thái môi trường có thể có<br /> <br /> non-determistic<br /> <br /> A = { a1, a2, ... }<br /> <br /> if ρ(S) = {sx, sy}<br /> <br /> Tập hành vi của Agent<br /> <br /> Không xác định trạng thái kế tiếp của Agent<br /> deterministic<br /> if ρ(S) = {sx}<br /> Trạng thái kế tiếp xác định và là duy nhất<br /> <br /> Agent:<br /> Function Action: S*<br /> A<br /> Agent tập ánh xạ các trạng thái của môi trường vào các hành<br /> động của agent<br /> Kiểu agent này gọi là standard agent.(agent chuẩn)<br /> • Một agent chuẩn quyết định hành động để thực thi phụ thuộc<br /> vào history của nó, i.e., its experiences to date.<br /> <br /> Interested in agents whose interactions with<br /> environment doesn’t end (e.g. infinite)<br /> 7<br /> <br /> Mô hình trong<br /> abstract agent – Sub system<br /> <br /> 8<br /> <br /> Kiến trúc trong (Sub-system)<br /> <br /> Lý thuyết tổng quan về Agent là rất hữu ích, nhưng<br /> nó không giúp ta xây dựng agent một cách hiệu<br /> quả,vì không chỉ ra việc làm thế nào để thiết kế ra<br /> những action của agent<br /> Chúng ta cải tiến lại abstract model, bằng cách chia<br /> nhỏ nó thành những hệ thống nhỏ hơn (sub-systems)<br /> (like top-down refinement in software engineering).<br /> Việc cải tiến thành những sub-systems liên quan tới<br /> việc lựa chọn dữ liệu và các cấu trúc điều khiển,<br /> những thứ hợp thành agent.<br /> <br /> The sub-system view of an agent: một kiến trúc agent<br /> là mô tả thành phần bên trong của Agent:<br /> cấu trúc dữ liệu của nó,<br /> những hành động sẽ thao tác trên cấu trúc dữ liệu đó<br /> dòng điểu khiểu dữ liệu giữa các dữ liệu đó.<br /> <br /> Thường chia chức năng quyết định (desicion) thành<br /> hai sub-systems:<br /> nhận thức (perception)<br /> hành động (action)<br /> <br /> 9<br /> <br /> 10<br /> <br /> Perception và Action<br /> Nhận thức và hành động<br /> <br /> See() và Action()<br /> Với P là tập nhận thức đầu vào<br /> <br /> Hàm see sẽ quan sát môi trường trong khi đó<br /> hàm action biểu diễn hệ thống ra quyết định<br /> của agent.<br /> <br /> •Hàm see()<br /> Có thể được cài đặt dưới<br /> dạng phần cứng/mềm<br /> Đầu ra của hàm see() là<br /> một tập các tri thức<br /> (percept) thu nhận<br /> <br /> see<br /> see<br /> <br /> See: S -> P<br /> Action: P* -> A<br /> Giả sử môi trường có hai trạng thái:s1 và s2; s2≠ s1<br /> nhưng see(s1) = see(s1)<br /> có nghĩa là hai trạng thái môi trường khác nhau<br /> nhưng đều được cảm nhận giống nhau (nhìn thấy<br /> giống nhau)<br /> => thông tin thu nhận được là giống nhau<br /> <br /> action<br /> action<br /> <br /> AGENT<br /> <br /> ENVIRONMENT<br /> 11<br /> <br /> 12<br /> <br /> 2<br /> <br /> Vi dụ<br /> Cho 2 trạng thái của môi trường, s1 and s2, có thể<br /> phân biệt được các agent nếu chúng map to the same<br /> percept.<br /> Ví dụ 1 bộ ổn nhiệt có thể phân biệt được các trạng<br /> thái của môi trường:<br /> x = tooCold<br /> y = WomanIsDanger<br /> •:Có nghĩa là trạng thái môi trường cho bởi tập:<br /> S = {{x,y},{x,!y},{!x,y},{!x,!y}}<br /> <br /> Bây giờ, để hoạt động một cách hiệu quả, bộ<br /> cảm nhiệt không quan tâm liệu y = true<br /> không? – điều này không ảnh hưởng tới<br /> action của nó.<br /> Vì vậy hàm nhận thức see sẽ là:<br /> <br /> 13<br /> <br /> c.History<br /> <br /> 14<br /> <br /> History of Agent<br /> <br /> Chúng ta có thể thay thế sự tương tác của<br /> agent với môi trường là history,<br /> Ví dụ:.một chuỗi các cặp: state-action<br /> với s0 là trạng thái đầu tiên của môi trường<br /> ai hành động của agent khi nó ở trạng thái si.<br /> <br /> với mọi chuỗi h có thể là history của một agent đều<br /> bắt đầu từ trạng thái đầu tiên s0:<br /> Với i ∈ N, ai = action((s0,s1,s2,…, si))<br /> (tất cả mọi hành động đều phải qua một chuỗi trạng<br /> thái)<br /> i ∈ N such that i> 0, si ∈ env(si-1,ai-1)<br /> (mỗi trạng thái mới của agent phải thuộc một tập các<br /> trạng thái có thể có của môi trường từ trạng thái<br /> trước đó và một action cụ thể)<br /> N là tập số tự nhiên (0,1,2,…)<br /> <br /> 15<br /> <br /> 16<br /> <br /> b.State based Agent<br /> <br /> Characteristic behaviour<br /> action:S* ->A , trong một môi trường,<br /> env:S x A ->P(S), là tập tất cả histories có thể có của<br /> agent. Chúng ta sẽ biểu thị tập histories của agent<br /> bằng hist(agent,env).<br /> • Hai agents, agent1 and agent2, được gọi là tương<br /> tác tương đương nhau đối với một môi trường, env,<br /> iff hist(agent1 ,env) ≡ hist(agent2,env)<br /> • nếu chúng tương tác tương đương nhau đối với mọi<br /> môi trường chúng được gọi đơn giản là<br /> behaviourally equivalent.<br /> 17<br /> <br /> Các agent thường<br /> có dữ liệu bên<br /> trong<br /> Dữ liệu: thông tin<br /> về trạng thái của<br /> môi trường<br /> Thông tin về quá<br /> khứ của Agent<br /> <br /> AGENT<br /> <br /> see<br /> see<br /> <br /> next<br /> next<br /> <br /> action<br /> action<br /> <br /> state<br /> <br /> ENVIRONMENT<br /> <br /> thường sử dụng một chuỗi nhận thức, một agent có trạng<br /> thái trong nơi nơi ghi những thông tin về trạng thái môi<br /> trường và quá khứ của chính nó<br /> 18<br /> <br /> 3<br /> <br /> Trạng thái trong<br /> <br /> Next() : I x P -> I<br /> <br /> Internal State<br /> <br /> Gọi I là tập tất cả các trạng thái trong có thể<br /> có của agent.<br /> see : S -> P<br /> action : I -> A<br /> Hàm thực hiện quá trình lựa chọn hành động<br /> bây giờ được định nghĩa như một ánh xạ từ<br /> các trạng thái trong của agent đến tập các<br /> hành động có thể được thực hiện:<br /> <br /> Hàm next(): hàm ánh xạ từ một trạng thái trong I và<br /> tri thức thu nhận được P vào một trạng thái trong<br /> khác I’ (tức là khi nhận được tri thức mới, trạng thái<br /> trong của agent đã thay đổi)<br /> Vòng lặp:<br /> while(true) {<br /> p = see(s);<br /> i = next(i,p);<br /> perform(action(i));<br /> }<br /> <br /> 19<br /> <br /> State-based vs standard agents<br /> <br /> Behavior – Abstract Agent<br /> Arch.<br /> 1.<br /> 2.<br /> 3.<br /> 4.<br /> <br /> 5.<br /> <br /> 20<br /> <br /> Khởi tạo với trạng thái s0<br /> Quan sát môi trường với trang thái s, tạo lập<br /> và thu nhận tri thức bằng see(s)<br /> Trạng thái trong của agent được thay dổi và<br /> cập nhật thông qua hàm next(i0,see(s))<br /> Các hành động tiếp theo mà agent thực hiện<br /> sẽ được lựa chọn nhờ hàm,<br /> action(next(i0,see(s)))<br /> Hành động thực hiện sẽ đưa đến 1 chu trình<br /> mới (thu nhận tri thức), goto 2<br /> 21<br /> <br /> II.Phân loại kiến trúc Agent<br /> <br /> State-based agents không hiệu quả hơn agent<br /> chuẩn (standard agents), đã định nghĩa phần<br /> trước<br /> • Thực tế chúng đồng nhất in their expressive<br /> power<br /> • Tất cả state-based agent có thể được biến<br /> đổi thành 1 agent chuẩn có behaviourally<br /> equivalent.<br /> 22<br /> <br /> 1. Kiến trúc suy diễn<br /> Dựa trên symbolic AI<br /> <br /> Deliberative (Kiến trúc suy diễn)<br /> Logic-Based Architectures<br /> Belief-desire-intension BDI(Suy luận thông minh)<br /> <br /> Kiến trúc mà quá trình ra quyết định<br /> được thực hiện nhờ suy diễn logic.<br /> Các phương pháp ra quyết định<br /> •Logical Reasoning<br /> •Pattern matching<br /> •Symbolic manipulation<br /> <br /> Reactive (Kiến trúc phản xạ)<br /> Hybrid (Kiến trúc lai)<br /> Layered architectures (Kiến trúc lớp)<br /> 23<br /> <br /> 24<br /> <br /> 4<br /> <br /> Kiến trúc suy diễn<br /> <br /> Kiến trúc suy diễn<br /> <br /> Symbolic description of World<br /> Mục đích cần đạt tới<br /> Tập miêu tả hành động<br /> Tìm một chuỗi actions để đạt<br /> tới mục đích.<br /> Sử dụng thuật toán đơn giản<br /> Tạo kế hoạch không hiểu quả<br /> 25<br /> <br /> 26<br /> <br /> BDI Architecture<br /> <br /> Kiến trúc (BDI)<br /> Belief-Desire-Intention<br /> <br /> [Brenner et al, simplified; origin Rao and Georgeff]<br /> • Extended<br /> <br /> • BDI<br /> <br /> Kiến trúc dựa trên quá trình suy luận thông minh<br /> (practical reasoning) trong đó quá trình ra quyết định<br /> được tiến hành từng bước, các hành động được thực<br /> hiện xuất phát từ yêu cầu của hàm mục tiêu đề ra.<br /> Beliefs:biểu diễn tập các thông tin mà agent biết về<br /> môi trường hiện tại của nó.(và có thể một vài trạng<br /> thái trong),<br /> Desires: cái xác định động cơ của nó - ví dụ cái nó<br /> đang khám phá, ..<br /> Intentions: biểu diễn những quyết định phải hành<br /> động như thế nào để hoàn toàn đạt tới desires của<br /> nó (committed desires)<br /> 27<br /> <br /> - beliefs = “hiểu biêt của agent”<br /> - desires = “những mục đích của agent”<br /> - intentions = “những mục đích cần hoàn<br /> thành” (tập con của desires)<br /> <br /> + goals<br /> + plans<br /> <br /> plan, schedule, execute<br /> actions<br /> <br /> interaction<br /> <br /> BDI reasoner<br /> <br /> perception<br /> <br /> AGENT<br /> <br /> knowledge base<br /> 28<br /> <br /> 5<br /> <br /> Các thành phần của agent BDI<br /> Tập các niềm tin hiện tại (belief): biểu diễn tập các<br /> thông tin mà agent biết được về môi trường hiện tại<br /> của nó.<br /> Hàm thu nhận tri thức từ môi trường (belief revision<br /> function) thu nhận thông tin mới, cùng với niềm tin<br /> đã có tạo ra những hiểu biết mới về môi trường<br /> Hàm sinh các lựa chọn (option generation function):<br /> đưa ra các lựa chọn có thể có đối với agent (desire)<br /> dựa trên hiểu biết đang có về môi trường và mong<br /> muốn của nó.<br /> 29<br /> <br /> Các tuỳ chọn hiện tại (set of current options) biểu<br /> diễn tập các hành động mà agent có thể thực<br /> hiện.<br /> Hàm lọc (filter function): biểu diễn cho quá trình<br /> cân nhắc của agent để chọn ra mong muốn dựa<br /> trên những điều kiện đang có, đang biết.<br /> Tập các mong muốn (intention): biểu diễn mong<br /> muốn hiện tại của agent.<br /> Hàm chọn hành động để thực hiện (action<br /> selection function): xác định hành động sẽ được<br /> thực hiện.<br /> 30<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0