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