Chương 1 CÔNG NGHỆ AGENT VÀ DỊCH VỤ WEB 1. Agent và hệ đa agent 1. Agent Các ứng dụng tự động thông minh ngày nay đang phát triển mạnh mẽ nhằm thay thế con người trong các công việc nguy hiểm, phức tạp hay cả những công việc thường ngày cũng như giải trí. Công nghệ agent phần mềm ra đời và ngày càng khẳng định được hiệu quả cũng như lợi ích mà nó mang lại.
Có rất nhiều khái niệm về agent phần mềm, nhưng tựu chung lại chúng đều mang ý nghĩa: Agent phần mềm là một chương trình có thể tự thực hiện công việc một cách độc lập khi được giao [5]. Các đặc trưng cơ bản của Agent bao gồm: Tính tự trị: agent có thể tự kiểm soát các hành động của nó sau khi được giao việc mà không cần sự can thiệp của người dùng hay các agent khác. Mỗi agent chứa một trạng thái nào đó của riêng nó, các agent khác không thể truy cập được vào trạng thái này. Agent tự quyết định các hành động của mình dựa trên trạng thái hiện thời mà không cần sự tác động của con người hay các agent khác.
Có thể nói, tính tự trị là đặc trưng quan trọng nhất của agent. Tính phản ứng: là khả năng agent có thể nhận biết được môi trường và dựa vào nhận biết đó, agent đáp ứng kịp thời những thay đổi xảy ra trong môi trường. Phản ứng của agent với môi trường bên ngoài đều hướng tới việc thực hiện mục tiêu của Agent đó. Tính chủ động: Khi có sự thay đổi của môi trường, agent không chỉ phản ứng một cách đơn giản mà nó còn xác định chuỗi các hành động cần thực hiện, bản thân agent sẽ chủ động trong việc khởi động và thực hiện chuỗi hành động này.
Tính xã hội: các agent không chỉ hướng tới mục đích riêng của nó mà còn có khả năng tương tác với các agent khác trong hệ thống để hướng tới mục đích chung của hệ thống. Các hoạt động tương tác này bao gồm phối hợp, cạnh tranh, thương lượng. Khả năng tự học: Các agent có thể tự học thông qua kinh nghiệm từ các lần thực thi. Khả năng này giúp agent thông minh hơn.
Khả năng di chuyển: agent có thể di chuyển từ vị trí này đến vị trí khác để thực thi nhiệm vụ. Đây cũng là một trong những khả năng quan trọng của agent. Với những đặc trưng trên, agent được ứng dụng vào trong rất nhiều lĩnh vực khác nhau. Từ các hoạt động quản lý sản xuất đến việc xử lý thông tin, sự xuất hiện của tác tử và các hệ tác z 11 tử đã làm cho việc quản lý, xử lý thông tin dễ dàng hơn, và đạt được nhiều kết quả khả quan hơn.
Agent di động Agent di động là agent mang đầy đủ đặc tính của agent thông thường và có thêm khả năng di chuyển trong một nền tảng hay giữa các nền tảng khác nhau. Các thành phần cơ bản của một agent di động bao gồm mã nguồn, trạng thái và dữ liệu.1 Cấu trúc cơ bản của một agent di động [6] Tùy theo yêu cầu của đích đến mà trạng thái và dữ liệu có thể được di chuyển hoặc không, trong các hệ thống agent di động có thể chia thành hai loại di chuyển cơ bản là di chuyển mạnh và di chuyển yếu. Di chuyển mạnh là sau khi đến vị trí mới agent tiếp tục công việc vừa tạm dừng ở vị trí cũ. Di chuyển yếu đơn giản hơn là agent luôn khởi động lại công việc từ đầu khi đến vị trí mới.
Agent có thể chỉ di chuyển tới vị trí xác định tại thời điểm khởi tạo hoặc đích đến được xác định trong quá trình hoạt động của agent. Tại vị trí mới, agent có thể chỉ cần gửi kết quả về cho agent quản lý mà không cần giữ liên lạc thường xuyên trong quá trình hoạt động. Agent di động được ứng dụng nhiều trong các lĩnh vực như: Thương mại điện tử: Agent di động rất thích hợp với thương mại điện tử. Nó đại điện cho chúng ta thực hiện các công việc được giao với các hệ thống thương mại điển tử như các loại dịch vụ mua sắm, đặt vé máy bay, đặt vé xem phim.
Đặc điểm nổi bật của agent di động trong các ứng dụng thương mại điện tử là đại diện cho người dùng, thực hiện các giao dịch thương mại và đưa ra kết quả. Thu thập thông tin phân tán: trong trường hợp các nguồn dữ liệu cần thiết là những nguồn dữ liệu phân tán, không đồng nhất Theo dõi và cập nhật thông tin: được phát triển dựa trên tính chất không đồng bộ của các agent di động. Agent có thể được gửi đến nơi có nguồn tin, hoạt động theo dõi nguồn tin và cập nhật sự thay đổi. Hỗ trợ các thiết bị di động: do đặc điểm tài nguyên hạn chế và không kết nối thường xuyên, việc xây dựng các ứng dụng dựa trên agent di động với khả năng di chuyển đến các máy tính có cấu hình mạnh hơn để hoạt động (truy vấn cơ sở z 12 dữ liệu, tìm kiếm .) rồi trả kết quả về sẽ là một giả pháp tốt cho người dùng các thiết bị di động.
Hệ đa agent Hệ đa agent là một tập hợp các agent cùng hoạt động trong một hệ thống, mỗi agent có thể có một mục tiêu khác nhau nhưng đều phục vụ cho mục tiêu chung của toàn hệ thống [1]. Quá trình tính toán xử lý thông tin trong hệ đa agent được cho là có khá nhiều ưu điểm. Nó cung cấp khả năng tính toàn hiệu quả hơn nhờ quá trình tính toán được phân chia cho các agent khác nhau. Có thể xử lý được những bài toán phức tạp trong điều khiển tự động, thương mại điện tử.
Hệ thống dễ bảo trì hơn do mỗi agent được thiết kế riêng rẽ và có tính tự chủ cao. Theo đó là khả năng tái sử dụng cao vì mỗi agent có khả năng riêng và có thể dùng cho nhiều ứng dụng khác nhau. Các hệ thống đa agent đang ngày càng được sử dụng rộng rãi trong rất nhiều ứng dụng, từ các hệ hống tương đối nhỏ để hỗ trợ cá nhân đến các hệ thống mở, phức tạp, và đặc biệt quan trọng dành cho các ứng dụng công nghiệp. Ứng dụng công nghiệp là những ứng dụng rất quan trọng cho các hệ thống đa agent bởi vì chúng là nơi mà công nghệ đa agent đầu tiên được thử nghiệm và chứng minh tiềm năng ban đầu của nó.
Các ví dụ về việc áp dụng các hệ thống đa agent trong lĩnh vực công nghiệp bao gồm kiểm soát tiến trình, chẩn đoán hệ thống, dịch vụ vận tải, và quản lý mạng. Một trong những lĩnh vực ứng dụng quan trọng nữa của hệ thống đa agent là quản lý thông tin [5]. Internet đã chứng tỏ là một miền lý tưởng cho các hệ thống đa agent nhờ bản chất phân tán tự nhiên của nó và khối lượng thông tin sẵn có đang ngày càng tăng lên mạnh mẽ. Ví dụ, các agent có thể được sử dụng để tìm kiếm và lọc thông tin, cung cấp những thông tin hữu ích nhất cho người sử dụng.
Internet đã thúc đẩy việc sử dụng công nghệ agent trong lĩnh vực quản lý tiến trình nghiệp vụ và thương mại điện tử. Giao thông và vận tải cũng là một lĩnh vực ứng dụng quan trọng của hệ đa agent, nơi mà bản chất phân tán của các tiến trình giao thông và vận tải và sự độc lập mạnh mẽ giữa các thực thể có liên quan trong các tiến trình làm cho các hệ thống đa agent trở thành công cụ có giá trị cho việc thực hiện các giải pháp có hiệu quả. Các hệ thống viễn thông là một lĩnh vực ứng dụng đã sử dụng thành công các hệ đa agent. Trong thực tế, các hệ thống viễn thông là các mạng lưới lớn và phân tán gồm các thành phần được kết nối với nhau.
Những thành phần đó cần phải được theo dõi và quản lý trong thời gian thực. Các hệ thống viễn thông cũng hình thành nên cơ sở của một thị trường cạnh tranh, nơi các công ty viễn thông và các nhà cung cấp dịch vụ nhắm đến để z 13 phân biệt chính họ với đối thủ cạnh tranh của họ bằng cách cung cấp các dịch vụ tốt hơn, nhanh hơn hoặc đáng tin cậy hơn. Vì vậy, các hệ đa agent được sử dụng cả trong việc quản lý các mạng lưới phân tán lẫn cho việc cài đặt các dịch vụ viễn thông tiên tiến. Phối hợp giữa các agent Phối hợp có thể được xem là một tiến trình mà theo đó các agent tham gia vào một cộng đồng vì một mục đích chung [16].
Có nhiều lý do để các agent phối hợp như để nhanh chóng đạt được mục tiêu, để tăng khả năng và tri thức, hoặc mục tiêu của agent có thể phụ thuộc lẫn nhau…. Phối hợp trong hệ đa agent chủ yếu dựa vào việc truyền thông giữa các agent. Cụ thể, các agent tương tác với agent khác bằng cách sử dụng một vài ngôn ngữ giao tiếp đặc biệt được gọi là ngôn ngữ giao tiếp agent dựa trên lý thuyết lời nói hành động. Hiện nay, ngôn ngữ giao tiếp agent được sử dụng nhiều nhất là FIPA ACL.
Sự phối hợp giữa các agent có thể được điều khiển bởi nhiều phương pháp tiếp cận khác nhau như cơ cấu tổ chức phân cấp, lập hợp đồng, lập kế hoạch đàm phán… Mỗi phương pháp có ưu và nhược điểm riêng, tùy theo đặc điểm ứng dụng mà người thiết kế có thể sử dụng phương pháp phù hợp với hệ thống. Sự phối hợp giữa các agent có thể mang lại nhiều lợi ích như độ tin cậy cao do có nhiều agent cùng tham gia vào giải quyết bài toán, kiểm tra kết quả; Khả năng mở rộng cao vì đây là một hệ mở có thể thêm hoặc bớt các agent khi hoàn thành nhiệm vụ. Khả năng phản ứng môi trường tốt vì khi một agent đơn nhận biết được sự thay đổi của môi trường sẽ thông tin cho cả hệ thống để kịp thời đưa ra hành động tương ứng với sự thay đổi đó. Nền tảng JADE 1.
JADE và Agent Với mục tiêu là cung cấp một nền tảng cho việc tạo lập, môi trường cho việc quản lý thực thi các agent, JADE (Java Agent DEvelopment framework) được thiết kế dựa trên những đặc điểm và nguyên lý của agent. Các chức năng được cung cấp ở tầng giữa, độc lập với các ứng dụng cụ thể và tạo sự đơn giản cho các ứng dụng sử dụng agent [6].