Bài giảng Kiến trúc Agent và Hệ Agent

pdf 9 trang phuongnguyen 11590
Bạn đang xem tài liệu "Bài giảng Kiến trúc Agent và Hệ Agent", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_kien_truc_agent_va_he_agent.pdf

Nội dung text: Bài giảng Kiến trúc Agent và Hệ Agent

  1. Agent Architectures Nộidung Kiến trúc Agent và Hệ Agent 1. Agent architecture (internal) là gì? 2. Abstract Agent-Architecture 3. Deliberative Architectures (Kiến trúc suy diễn) 4. Reactive Architectures (Kiến trúc Lê Tấn Hùng phản xạ) CNTT – ĐHBK Hà nội 5. Hybrid Architectures (Kiến trúc lai) (C)Copyright • Kiến trúc Phân lớp (Layer) Software Engineering 6. Kiến trúc BDI (Belief- Desire- Intention) Department 7. Kiến trúc mở (OAA) 2 I. Kiến trúc Agent 2. Định nghĩa kiến trúc 1.Lý do Kiến trúc Agent? Agent - I Pattie Maes Một phương pháp học đặc biệt để xây dựng agents. „ Thay thế cho việc chuyển từ ý tưởng, chỉ Nó chỉ rõ làm thế nào agent có thể được tách ra dẫn thành thực thi chúng thành cấu trúc của 1 tập các modules thành phần „ E.g. after or in the late steps of Gaia và làm thế nào những modules đó có thể tương tác với nhau. „ Làm thế nào để xây dựng những hệ thống Toàn bộ tập modules và sư tương tác giữa chúng máy tính thoả mãn những yêu cầu đặc biệt cho ta câu trả lời làm thế nào mà những dữ liệu bằng agent theoritists cảm biến and 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 „ Những kiến trúc phần mềm như thế nào là của agent. phù hợp? 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. 3 4 Definitions of Agent Architecture - II Kiếntrúc Agent? Kaelbling „ Mô tả các trạng thái Một tập hợp đặc biệt các software (or hardware) trong của agent modules, được thiết kế đặc trưng bởi những „ Cấu trúc dữ liệu của nó 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 „ Thao tác có thể thực hiện trên các cấu trúc Một cách nhìn trừu tượng hơn với kiến „ Luồng điều khiển giữa trúc agent là một phương pháp chung để các cấu trúc dữ liệu. thiết kế được những modules riêng biệt „Kiến trúc agent khác nhau trên nhiều khía cho những nhiệm vụ cụ thể 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 5 6 1
  2. 3. Abstract Agent Arch. AGENT a.Standard Agent Sensor Action (Non-)Deterministic Behavior Output Input Hành vi của Môi trường mô hình hóa : ENVIRONMENT env: S x A Æ ρ(S) S = { s1, s2, } Tập trạng thái môi trường có thể có P means the powerset or set of all subsets „ non-determistic A = { a1, a2, } Tập hành vi của Agent if ρ(S) = {sx, sy} Không xác định trạng thái kế tiếp của Agent Agent: ÅÆ Function Action: S* Æ A „ deterministic Agent tập ánh xạ các trạng thái của môi trường vào các hành if ρ(S) = {sx} động của agent Î Trạng thái kế tiếp xác định và là duy nhất Kiểu agent này gọi là standard agent.(agent chuẩn) • Một agent chuẩn quyết định hành động để thực thi phụ thuộc Interested in agents whose interactions with vào history của nó, i.e., its experiences to date. environment doesn’t end (e.g. infinite) 7 8 Mô hình trong abstract agent – Sub system Kiến trúc trong (Sub-system) „ Lý thuyếttổng quan về Agent là rấthữuích, nhưng „ The sub-system view of an agent: một kiến trúc agent nó không giúp ta xây dựng agent mộtcáchhiệu là mô tả thành phần bên trong của Agent: quả,vì không chỉ ra việc làm thế nào để thiết kế ra „ cấu trúc dữ liệu của nó, những action của agent „ những hành động sẽ thao tác trên cấu trúc dữ liệu đó „ Chúng ta cải tiến lại abstract model, bằng cách chia „ dòng điểu khiểu dữ liệu giữa các dữ liệu đó. nhỏ nó thành những hệ thống nhỏ hơn (sub-systems) (like top-down refinement in software engineering). „ Thường chia chức năng quyết định (desicion) thành hai sub-systems: „ Việc cải tiến thành những sub-systems liên quan tới việc lựa chọndữ liệu và các cấu trúc điều khiển, „ nhận thức (perception) những thứ hợp thành agent. „ hành động (action) 9 10 Perception và Action Nhận thức và hành động See() và Action() „ VớiP là tập nhận thức đầu vào „ Hàm see sẽ quan sát môi trường trong khi đó hàm action biểu diễn hệ thống ra quyết định „ See: S -> P của agent. „ Action: P* -> A „ Giả sử môi trường có hai trạng thái:s và s ; s ≠ s •Hàm see() 1 2 2 1 seesee actionaction „ nhưng see(s1) = see(s1) Có thể được cài đặt dưới AGENT „ có nghĩa là hai trạng thái môi trường khác nhau dạng phần cứng/mềm nhưng đều được cảm nhận giống nhau (nhìn thấy giống nhau) Đầu ra của hàm see() là „ => thông tin thu nhận được là giống nhau một tập các tri thức ENVIRONMENT (percept) thu nhận 11 12 2
  3. Vi dụ „ Cho 2 trạng thái của môi trường, s1 and s2,có thể „ Bây giờ, để hoạt động một cách hiệu quả, bộ phân biệt được các agent nếu chúng map to the same cảm nhiệt không quan tâm liệu y = true percept. không? – điều này không ảnh hưởng tới „ Ví dụ 1bộ ổn nhiệtcó thể phân biệt được các trạng thái của môi trường: action của nó. „ x = tooCold „ Vì vậy hàm nhận thức see sẽ là: „ y = WomanIsDanger „ •:Có nghĩa là trạng thái môi trường cho bởi tập: „ S = {{x,y},{x,!y},{!x,y},{!x,!y}} 13 14 c.History History of Agent „ với mọi chuỗi h có thể là history của một agent đều bắt đầu từ trạng thái đầu tiên s0: „ Chúng ta có thể thay thế sự tương tác của „ Với i ∈ N, ai = action((s0,s1,s2, , si)) agent với môi trường là history, „ (tất cả mọi hành động đều phải qua một chuỗi trạng thái) „ Ví dụ:.một chuỗi các cặp: state-action „ i ∈ N such that i> 0, si ∈ env(si-1,ai-1) „ với s0 là trạng thái đầu tiên của môi trường „ (mỗi trạng thái mới của agent phải thuộc một tập các trạng thái có thể có của môi trường từ trạng thái „ ai hành động của agent khi nó ở trạng thái si. trước đó và một action cụ thể) „ N là tập số tự nhiên (0,1,2, ) 15 16 Characteristic behaviour b.State based Agent „ action:S* ->A , trong một môi trường, „ Các agent thường „ env:S x A ->P(S), là tập tất cả histories có thể có của AGENT có dữ liệu bên seesee actionaction agent. Chúng ta sẽ biểu thị tập histories của agent trong bằng hist(agent,env). „ Dữ liệu: thông tin nextnext „ • Hai agents, agent1 and agent2, được gọi là tương về trạng thái của state tác tương đương nhau đối với một môi trường, env, môi trường iff hist(agent1 ,env) ≡ hist(agent2,env) „ Thông tin về quá „ • nếu chúng tương tác tương đương nhau đối với mọi khứ của Agent ENVIRONMENT môi trường chúng được gọi đơn giản là behaviourally equivalent. thường sử dụng một chuỗi nhận thức, một agent có trạng thái trong nơi nơi ghi những thông tin về trạng thái môi trường và quá khứ của chính nó 17 18 3
  4. Trạng thái trong Next() : I x P -> I Internal State „ GọiI làtập tất cả các trạng thái trong có thể „ Hàm next(): hàm ánh xạ từ một trạng thái trong I và có của agent. tri thức thu nhận được P vào một trạng thái trong „ see : S -> P khác I’ (tức là khi nhận đượctri thức mới, trạng thái trong của agent đã thay đổi) „ action : I -> A „ Vòng lặp: „ Hàm thực hiện quá trình lựa chọn hành động while(true) { bây giờ được định nghĩa như một ánh xạ từ p = see(s); các trạng thái trong của agent đến tập các i = next(i,p); hành động có thể được thực hiện: perform(action(i)); } 19 20 Behavior – Abstract Agent State-based vs standard agents Arch. 1. Khởi tạo với trạng thái s 0 „ State-based agents không hiệu quả hơn agent 2. Quan sát môi trường với trang thái s, tạo lập chuẩn (standard agents), đã định nghĩa phần và thu nhận tri thức bằng see(s) trước 3. Trạng thái trong của agent được thay dổi và cập nhật thông qua hàm next(i ,see(s)) „ • Thực tế chúng đồng nhất in their expressive 0 power 4. Các hành động tiếp theo mà agent thực hiện sẽ được lựa chọn nhờ hàm, „ • Tất cả state-based agent có thể được biến action(next(i0,see(s))) đổi thành 1 agent chuẩn có behaviourally 5. Hành động thực hiện sẽ đưa đến 1 chu trình equivalent. mới (thu nhận tri thức), goto 2 21 22 II.Phân loại kiến trúc Agent 1. Kiến trúc suy diễn „ Deliberative (Kiến trúc suy diễn) „ Dựa trên symbolic AI Logic-Based Architectures „ Kiến trúc mà quá trình ra quyết định Belief-desire-intension BDI(Suy luận thông minh) được thực hiện nhờ suy diễn logic. „ Các phương pháp ra quyết định „ Reactive (Kiến trúc phản xạ) •Logical Reasoning „ Hybrid (Kiến trúc lai) •Pattern matching „ Layered architectures (Kiến trúc lớp) •Symbolic manipulation 23 24 4
  5. Kiến trúc suy diễn Kiến trúc suy diễn 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 không hiểu quả 25 26 BDI Architecture Kiếntrúc(BDI) [Brenner et al, simplified; origin Rao and Georgeff] Belief-Desire-Intention •BDI • Extended - beliefs = “hiểu biêt của agent” + goals „ Kiến trúc dựa trên quá trình suy luận thông minh -desires = “những mục đích của agent” + plans (practical reasoning) trong đó quá trình ra quyết định - intentions = “những mục đích cần hoàn được tiến hành từng bước, các hành động được thực thành” (tập con của desires) 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ề plan, schedule, execute môi trường hiện tại của nó.(và có thể một vài trạng thái trong), actions „ Desires: cái xác định động cơ của nó - ví dụ cái nó đang khám phá, interaction BDI reasoner „ Intentions: biểu diễn những quyết định phải hành perception động như thế nào để hoàn toàn đạt tới desires của nó (committed desires) AGENT knowledge base 27 28 5 Các thành phần của agent BDI w Tập các niềm tin hiện tại (belief): biểu diễn tập các w Các tuỳ chọn hiện tại (set of current options) biểu thông tin mà agent biết được về môi trường hiện tại diễn tập các hành động mà agent có thể thực của nó. hiện. w Hàm thu nhậntri thức từ môi trường (belief revision w Hàm lọc (filter function): biểu diễn cho quá trình function) thu nhận thông tin mới, cùng với niềmtin cân nhắc củaagent để chọn ra mong muốn dựa đã có tạo ra những hiểu biết mới về môi trường trên những điều kiện đang có, đang biết. w Hàm sinh các lựa chọn (option generation function): w Tập các mong muốn (intention): biểu diễn mong đưa ra các lựa chọn có thể có đối với agent (desire) muốn hiện tại củaagent. dựa trên hiểu biết đang có về môi trường và mong w Hàm chọn hành động để thực hiện (action muốn của nó. selection function): xác định hành động sẽ được thực hiện. 29 30 5
  6. Những hạn chế của kiến trúc suy diễn 2. Kiến trúc phản xạ „ Performance problems „ Là kiến trúc mà quá trình ra quyết định „ Vấn đề Transduction được cài đặt một cách trực tiếp, tức là sẽ có 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ột ánh xạ trực tiếp từ tình huống tới hành môi trường thay đổi rất nhanh. động „ Vấn đề representation „ No central symbolic representation of world Làm thế nào để world-model được biểu diễn một „ Không suy luận phức tạp cách tượng trương và làm thế nào để agent có thể suy „ Sự suy diễn phức tạp có thể dẫn đến không diễn kịp thời với sự thay đổi thông tin lời giảihay đáp ứng về mặt thời gian „ Cho những kết quả hữu ích. „ Những kết quả sau cùng có thể là vô dụng „ Does not scale to real-world scenarios 31 32 Kiến trúc phản xạ Sơ đồ kiến trúc Brooks: „ 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 Î Effect of combined components > effect of each component times number of components „ ”Real” intelligence is situated in the real world, not in disembodied systems such as theorem provers or expert systems „ Behavior thông minh là kết quả của việc tương tác với môi trường 33 34 Đặc thù của agent phản xạ Ví dụ „ Tính phản xạ là một behavior based model „ Bộ tản nhiệt đơn giản là agent phản xạ: of activity ÍÎ symbol manipulation model used in planning „ S = {tooCold, okay} Các thành phần của Perception: „ A = {heatingOn, heatingOff } 1. Ngữ nghĩa học của đầu vào agent „ action(okay) = heatingOff 2. Tập kiến thức cơ sở. „ 3. A specification of state transitions action(tooCold) = heatingOn „ Actions được tạo ra bởi ngữ nghĩa của đầu ra agent (reaction) „ Tất cả symbolic manipulation được thực hiện trong thời gian dịch 35 36 6
  7. Ví dụ agent phản xạ Ưu điểm Robot’s objective: „ đơn giản khám phá các hành tinh (ví dụ. Mars), and more concretely, sưu tầm những mẫu vật của 1 loại đá đặc biệt „ kinh tế 1. Nếu nhận ra vật cản thì đổi hướng „ kiểm soát được khả năng tính toán 2. Nếu đang cầm mẫu vật và ở tại căn cứ thì sẽ nhả vật mẫu „ khả năng chịu lỗi cao 3. Nếu đang cầm mẫu vật và chưa ở tại căn cứ thì đi về phía căn cứ 4. Nếu phát hiện ra mẫu vật thì cầm nó lên 5. If true then move randomly 37 38 Các vấn đề của agent phản xạ Nhược điểm w Nếu agent không sử dụng mô hình giống như mô –một lượng lớn thông tin cố định cần cho agent hình của môi trường trong đónóhoạt động thì chúng –việc học? 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. –có đặc thù là thủ công (handcraffed) w Hầu hết các agent đều ra quyết định dựa trên các –Sự phát triển mất rất nhiều thời gian thông tin mang tính cục bộ của riêng mình. – không thể xây dựng một hệ thống lớn? „ 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 –chỉ được sử dụng cho những mục đích ban hệ thống kể cả đã hoạt động trong một thời gian dài. đầu? 39 40 3.Kiến trúc lai - Hybrid Mô hình Hybrid • 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ạnh 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ạ 41 42 7
  8. 3.1Phân lớp theo chiều ngang Kiến trúc lớp (horizontal layering) ‰Phân lớp theo chiều ngang „ trong kiến trúc này tất cả các thành phần trên ‰Phân lớp theo chiều dọc các lớp đều tiếp xúc trực tiếp tới đầu vào và ‰1 chiều đầu ra ‰2 chiều „ mỗi thành phần trên một lớp có thể coi là một agent. 43 44 Ưu nhược điểm 3.2 Phân lớp theo chiều dọc „ Đơn giản. Nếu ta cần một agent có n cách cư xử (vertical layering) khác nhau thì sẽ cài đặt mô hình này. „ Kiến trúc chỉ có hai thành phần tiếp xúc với đầu vào „ Tuy nhiên luôn có sự trành giành trong việc ra quyết và đầu ra, ta có thể coi như là mộtagent định, để đảm bảo sự tương thính ta thường đưa vào „ Đơn giản hơn rất nhiềuso với phân lớp theo chiều một hàm điều khiển trung tâm (mediator) để quyết ngang. định xem lớp nào đang điều khiển hoạt động của „ Phân làm 2 loại: agent. „ Một chiều: „ 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ó Luồng điều khiển lần lượt điqua từng lớp cho tới khi thể có đến mn khả năng tương tác lẫn nhau, tới lớp cuối cùng sẽ tạo ra hành động cần thực hiện. „ theo quan điểm thiết kế thì đây là một vấn đề khó và „ Hai chiều: khi hoạt động có thể gây ra hiện tượng thắt cổ chai Thông tin được đi theo một chiều (lên) và điều khiển (bottleneck) trong quá trình ra quyết định được đi theo chiều khác (xuống). 45 46 Ưu/nhược Phân lớp điểm „ Lớp phản xạ thực thi như là một tập quy tắc hành động tuỳ thuộc vào trạng thái, a la subsumption architecture. „ Sự phức tạp trong tương tác giữa các lớp đ㠄 Lớp planning tạo ra những kế được giảm hoạch và lựa chọn actions để thực thi nhằm đặt tới mục đích „ Luồng điều khiển phải điqua toàn bộ các lớp vì của agent thế nếu một lớp nào đóhoạt động không ổn „ Lớp modelling chứa những mẫu nhận biết về các agent định sẽảnh hưởng đến toàn bộ hệ thống khác trong môi trường. „ Giữa ba lớp này có sự liên lạc với nhau và được gói trọn vào một framework điều khiển, cái sử dụng những quy luật điều khiển. 47 48 8
  9. Kiến trúc lớp III. Chọn một kiến trúc Agent Control unit & knowledge base “Agent của tôi lưu trữ thông tin “Agent của tôi quan sát môi •Các lớp: về môi trường. Dựa trên những trường. Nó nhận ra những thay -Thấp: phản xạ, cao: suy luận, cao nhất: đa agent hiểu biết đó nó tạo ra reasoning đổi của môi trường, cái mà sẽ knowledge base control unit và planning.” bắt đầu các hành vi của nó.” social model cooperative planning layer mental model local planning layer world model behaviour-based layer both Agent suy diễn Agent lai agent phản xạ AGENT sensors communication actuators 49 50 Exercise! Exercise! Thảo luận trong vài phút Thảo luận trong vài phút: Kiến trúc bên trong nào là tôt nhất cho Peer-to-peer project? Kiến trúc bên trong nào là tôt nhất cho Weather project? Deliberative Or Reactive? Deliberative Or Reactive? 51 52 9