Bài giảng Tác tử - Công nghệ phần mềm dựa tác tử (Agent – Agent-Based Software Engineering)

pdf 9 trang phuongnguyen 3940
Bạn đang xem tài liệu "Bài giảng Tác tử - Công nghệ phần mềm dựa tác tử (Agent – Agent-Based Software Engineering)", để 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_tac_tu_cong_nghe_phan_mem_dua_tac_tu_agent_agent_b.pdf

Nội dung text: Bài giảng Tác tử - Công nghệ phần mềm dựa tác tử (Agent – Agent-Based Software Engineering)

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