Kĩ thuật lập trình - Agent – agent - Based software engineering

Trong công nghiệp 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 năng và 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 và quản lý )

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

Các file đính kèm theo tài liệu này:

  • pdfl01_intro_7661_5773.pdf