CHƯƠNG 1: CÔNG NGHỆ MOBILE AGENT 1.1 Công nghệ Agent [1],[3],[5],[12],[15] 1.1 Khái niệm Sẽ thật không dễ dàng khi đi tìm một khái niệm chính xác cho agent. Nó là một khái niệm cực kỳ rộng lớn, bao hàm nhiều vấn đề mà theo nhà nghiên cứu Krogh “Agent là gì? Nó là rất nhiều thứ. Nếu cố gắng tìm ra một mẫu thức chung về hoạt động hay lý thuyết về agent thì bạn có thể gặp sai lầm”, và ông đã chỉ ra các điểm mâu thuẫn giữa các khái niệm agent như tính tiên đoán, tính phản ứng, tính suy diễn. Có rất nhiều định nghĩa khác nhau viết về agent.
Từ điển Wikipedia định nghĩa agent là “a piece of autonomous, or semi-autonomous proactive and reactive, computer software. Many individual comunicative software. Agent may form a multi agent system” Cũng có thể định nghĩa về agent theo các quan điểm ứng dụng: - Agent là một đại diện cho người sử dụng thực hiện các hành động theo nhiệm vụ trong hệ thống hiện tại hay trên một hệ thống khác. - Agent là một phương tiện hoặc một công cụ có thể hành động thông minh để hoàn thành nhiệm vụ hoặc tối đa mục tiêu.
Agent đôi khi là một Robot Agent là sự kết hợp của nhiều kỹ thuật hiện đại Trên Internet một agent (thay một intelligent agent) là chương trình thu thập thông tin hay thực thi một số dịch vụ khác mà không cần người điều khiển hoạt động theo thời gian được lên lịch sẵn - 11 - Tuy nhiên, theo một định nghĩa thường được sử dụng, agent là hệ thống tính toán hoạt động tự chủ trong một môi trường nào đó, có khả năng cảm nhận môi trường và tác động vào môi trường. Ngoài ra, các agent có thể được định nghĩa để thao tác trong các lĩnh vực: - Tìm kiếm thông tin - Lọc dữ liệu - Giám sát các trạng thái và thông báo cho người dùng khi có báo động hoặc tập hợp các trạng thái được phát hiện - Thực hiện các hành động thay mặt cho người dùng - Cung cấp an toàn trong truy cập và giao dịch - Trợ giúp trực tuyến - Cải thiện hệ thống mạng và hệ thống phức tạp, quản trị mạng - Tối ưu hoá hệ thống bằng các kỹ thuật hướng mục tiêu Các hệ thống Phục hồi thông tin phân tán AI & khoa học nhận dạng Agent Máy học Mobile Code Kỹ thuật cơ sở dữ liệu và cơ sở tri thức Hình 1. Agent là sự kết hợp của nhiều công nghệ - 12 - Ví dụ về agent là chương trình Inforgate, chương trình này có chức năng thu thập thông tin người dùng quan tâm và tự động gửi thông báo đến cho người dùng khi có tin mới 1.1 Các đặc tính chính của agent - Tính tự trị: là khả năng tự kiểm soát bản thân của agent sau khi được giao việc mà không cần sự can thiệp nào của người dùng hoặc agent khác. Khả năng này của agent chủ yếu được quyết định bởi tri thức trang bị cho agent.
Để đánh giá tính tự trị của agent người ta thường dựa vào hai đặc tính là hướng đích và tính chủ động. - Tính di động: là khả năng chuyển từ môi trường thi hành này sang môi trường thi hành khác. Có thể phân tính di động thành hai loại: di động mạnh và di động yếu. Di động mạnh là khả năng mà hệ thống có thể di chuyển cả mã chương trình và trạng thái thi hành của agent tới một môi trường khác còn di động yếu là khả năng mà hệ thống chỉ có thể di chuyển mã chương trình giữa các môi trường thi hành với nhau, mã nguồn có thể mang kèm một số dữ liệu khởi tạo nhưng trạng thái thi hành thì không thể di chuyển.
- Khả năng cộng tác: là khả năng liên lạc, phối hợp hoạt động của các agent với các agent khác cùng môi trường hay với các loại đối tượng khác trong những môi trường khác. - Tính thích nghi: là khả năng agent có thể hoạt động trên những môi trường lạ và cảm nhận được những thay đổi. Agent thông minh (Intelligent Agent) Agent thông minh là một agent có thêm những khả sau [02]: - Phản ứng lại (Reactive): Agent thường được đặt trong môi trường động, luôn thay đổi. Vì vậy nó luôn luôn quan sát môi trường và phản ứng lại kịp thời - 13 - những thay đổi của môi trường.
- Hành động chuyên nghiệp hay tính hướng đích (Proactive): Là một thuộc tính quan trọng của agent, giúp phân biệt agent với object. Agent luôn kiên trì theo đuổi mục tiêu, mặc dù các nỗ lực có thể thất bại. Agent có khả năng tạo ra mục tiêu tại những thời điểm khác nhau, có khả năng nắm bắt các cơ hội,. Vấn đề quan trọng trong các kiến trúc agent đó là cân bằng giữa phản ứng và hoạt động.
Nếu agent thiên về phản ứng lại thì nó sẽ điều chỉnh kế hoạch của nó và dẫn đến không đạt được mục tiêu, nếu agent không phản ứng lại thích đáng thì nó sẽ phí thời gian cố gắng theo đuổi các kế hoạch không còn thích đáng hoặc thích hợp nữa. - Chắc chắn (robust): Do hành động có khả năng thất bại trong môi trường luôn thay đổi, agent phải có thể khôi phục lại từ những thất bại này, nghĩa là nó phải chắc chắn. - Mềm dẻo (flexible): Là một tiếp cận tự nhiên để đạt đến sự chắc chắn. Bằng cách có một loạt cách thức để đạt được mục tiêu đề ra, agent luôn có sự thay thế khi kế hoạch thất bại.
- Xã hội (social): Agent hầu như luôn cần phải tương tác với các agent khác (hay con người) để đạt được mục đích. Sự tương tác này thường ở mức độ cao hơn việc trao đổi thông điệp như “thông báo”, “yêu cầu”, “đồng ý”… Tương tác agent được coi giống như là các loại tương tác của con người: thương lượng, phối hợp, hợp tác và làm việc theo nhóm. - Cơ động Mobility): Agent có khả năng di chuyển trên mạng. - Trung thực (Veracity): Agent không có ý truyền đạt thông tin sai, không - 14 - làm gì ngược lại với mục tiêu đề ra.
- Rộng lượng (Benevolence): Các agent không có những mục tiêu xung đột, vì vậy mỗi agent sẽ cố gắng thực hiện công việc của nó. - Hợp lý (Rationality): Agent sẽ hành động để đạt mục tiêu của nó, và sẽ không hành động để ngăn cản mục tiêu đạt được. - Học hỏi/thích nghi (Learning/Adaption): Agent luôn cải thiện sự thực thi. Là khả năng rút ra được một kết luận gì đó sau một thời gian dài quan sát từ những hành động lặp đi lặp lại nhiều lần của người sử dụng.
- Cách thức hoạt động của Intelligent Agent như sau: từ tập giả thiết thu nhận từ môi trường và tập các quy tắc của Agent, Agent sẽ chọn lựa hành động phù hợp, sau khi thực hiện hành động đã chọn, môi trường sẽ thay đổi và quá trình được lặp lại.3 Phân loại agent - Collaborative agents: Nhấn mạnh khả năng tự trị và hợp tác với các agent khác. - Interface agents: Nhấn mạnh khả năng tự trị và khả năng học của Agent. - Mobile agents: Nhấn mạnh khả năng di chuyển trong mạng WAN, tương tác với các host và thi hành nhiệm vụ được giao. - Information/Internet agents: Nhấn mạnh khả năng quản lý, vận dụng, sắp xếp các thông tin từ nhiều nguồn phân tán.
- Reactive agents: Agent không chứa mô hình symbolic về môi trường, chỉ hoạt động dựa trên các luật “điều kiện - hành động”. Các agent này trả lời ngay lập tức những biến đổi của môi trường. - Hybrid agents: Agent mà kết cấu là kết hợp của hai hay nhiều khái-niệm- triết-học trong một agent đơn lẻ. - 15 - - Smart agents: Nhấn mạnh tính tự trị, khả năng học và hợp tác.4 Môi trường (Enviroment) Có thể phân chia thuộc tính của môi trường như sau : .
Có thể truy cập và không thể truy cập (Accessible and Inaccessible): Một môi trường có thể truy cập là một môi trường mà agent có thể thu được những thông tin chính xác, đầy đủ, mới nhất về môi trường đó. Môi trường thế giới thực (Internet hay môi trường vật lý) là những môi trường không thể truy cập. Xác định và không xác định (Deterministic and Non-deterministic): Một môi trường xác định là một môi trường mà mỗi hành động của agent đều cho một kết quả duy nhất đối với môi trường. Trên thực tế, hầu hết các môi trường là không xác định.
Tĩnh và động (Dynamic and Static): Môi trường tĩnh là môi trường mà không đổi ngoại trừ được agent tác động vào. Ngược lại, môi trường động là môi trường mà thay đổi vượt qua tầm kiểm soát của agent (môi trường vật lý, Internet). Rời rạc và liên tục (Discrete and Continuous): Môi trường rời rạc là môi trường có hữu hạn các trạng thái. Ví dụ trò chơi cờ tướng là một môi trường rời rạc (mặc dù số trạng thái rất lớn).
Môi trường phân đoạn và không phân đoạn (Episodic and Nonnepisodic): Với một môi trường phân đoạn thì kinh nghiệm của Agent được chia thành các đoạn. Mỗi đoạn bao gồm nhận thức và hành động của Agent. Chất lượng của các hành động của Agent phụ thuộc vào chính các đoạn của nó. Bởi vì dãy các đoạn không phụ thuộc vào hành động xảy ra ở đoạn trước.
Môi trường phânđoạn thì đơn giản đối với Agent vì nó không cần “suy nghĩ” trước.2 Một số ứng dụng của công nghệ agent 1.1 Ứng dụng trong quản lý sản xuất Một ứng dụng tiêu biểu sử dụng tác tử trong quản lý sản xuất là hệ thống YAMS. Bài toán quản lý sản xuất có thể mô tả như sau: Xưởng sản xuất hình thành từ các phân xưởng. Mỗi phân xưởng bao gồm nhiều vị trí làm việc (máy móc thiết bị, từng công nhân riêng lẻ). Các vị trí làm việc trong phân xưởng tạo thành hệ thống sản xuất mềm cho phép thực hiện trọn vẹn từng công đoạn.
Nhiệm vụ của YAMS là quản lý hiệu quả quá trình sản xuất tại những xí nghiệp như vậy. Quá trình sản xuất được đặc trưng bởi nhiều tham số thay đổi như dạng và số lượng sản phẩm, giới hạn thời gian, khả năng của máy móc thiết bị. Để đồng bộ và quản lý quá trình phức tạp như vậy, YAMS được xây dựng dưới dạng các tác tử cộng tác. Mỗi xưởng và thành phần của xưởng được biểu diễn bởi một tác tử.
Từng tác tử có kế hoạch và khả năng của mình. Từ tác tử mức trên, công việc được phân chia xuống tác tử phân xưởng và xuống từng vị trí công việc tuỳ thuộc vào khả năng. Kết quả thực hiện được báo cáo cho tác tử mức trên để giám sát và có điều chỉnh cần thiết. Hệ tác tử còn được sử dụng rộng rãi trong lập kế hoạch sản xuất, hỗ trợ thiết kế sản phẩm, quản lý robot công nghiệp.