CHƯƠNG 1: TỔNG QUAN VỀ TÁC TỬ VÀ ĐA TÁC TỬ 1. Định nghĩa tác tử Cho đến nay, có rất nhiều cách định nghĩa về tác tử, các ý kiến trái chiều nhau nguyên nhân chủ yếu xuất phát từ những yêu cầu khác nhau trong một số ứng dụng cụ thể. Những mâu thuẫn này là điều xảy ra rất nhiều trong ngành khoa học máy tính. Chính những ý kiến đa chiều đó của các nhà chuyên môn đã cho thấy sự phong phú về khả năng ứng dụng cũng như lý thuyết của công nghệ phần mềm hướng tác tử.
Định nghĩa thường được sử dụng nhất phát biểu như sau: “Tác tử (Agent) là hệ thống tính toán hoạt động tử chủ trên một môi trường nào đó, có khả năng cảm nhận và tác động vào môi trường” [6]. Chúng ta quan tâm đến một số các điểm quan trọng sau của định nghĩa trên. • Vấn đề đầu tiên, tác tử là hệ thống tính toán, hệ thống này có thể là phần cứng, phần mềm hoặc kết hợp cả phần cứng và phần mềm. Đối với tác tử là phần mềm có thể là chương trình máy tính, các luồng thực hiệu (Thread), đối với tác tử phần cứng thông thường là các Robot, các thiết bị giám sát giao thông.
• Vấn đề thứ hai, khi nói đến tác tử tồn tại và hoạt động trong môi trường, định nghĩa trên nhấn mạnh khả năng cảm nhận và tác động lại môi trường một cách trực tiếp và có thể làm thay đổi môi trường. Tác tử nhận thông tin tử môi trường qua các cơ quan cảm nhận và tác động lại môi trường qua các cơ quan tác động. Các tác tử là phần cứng cơ quan cảm nhận thường là thiết bị cảm biến (cảm biến nhiệt, âm), thiết bị nhận dạng hay đơn thuần là các camera, cơ quan tác động thường là các bộ phận cơ học, quang học, âm thanh. Đối với tác tử là phần mềm môi trường hoạt động chính là máy tính hay mạng máy tính.
Việc cảm 4 nhận và tác động vào môi trường của tác tử được thực hiện thông qua lời gọi hệ thống. • Vấn đề thứ ba, đó là tính tự chủ (tự trị) của tác tử, đây là một thuộc tính quan trọng của tác tử, nó mang tính đặc trưng của tác tử. Sự tự chủ ở đây chính là khả năng hành động không cần đến sự can thiệp của người dùng hay bất kỳ một tác nhân nào khác. Tác tử có thể tự kiểm soát hành vi của mình trong suốt quá trình hoạt động, trước những vấn đề này sinh trong môi trường hoạt động chúng có thể tự đưa ra quyết định cho hành động của mình.
Mặt khác tính tự chủ còn được biểu hiện ở khả năng học của tác tử. Như vậy, với những đặc điểm tồn tại và hành động tự chủ trong môi trường tác tử có thể độc lập thực hiện một nhiệm vụ nào đó thay cho con người hoặc các tử khác [9].1: Kiến trúc chung của tác tử 1.2 Các đặc điểm khác của tác tử Ngoài các đặc điểm quan trọng nhất của tác tử được nhắc tới trong định nghĩa, tác tử còn có thêm những đặc điểm sau: Khả năng tự học: Là khả năng thu thập kiến thức mới từ kinh nghiệm thu lượm được, kết quả của việc tự học phải giúp cho tác tử hành động tốt hơn, hiệu quả hơn 5 Tính thích ghi: Là khả năng tồn tại và hoạt động hiệu quả khi môi trường thay đổi. Khả năng di chuyển: Là khả năng di chuyển mã nguồn của tác tử từ máy tính này sang máy tính khác hay nút mạng này sang nút mạng khác đồng thời vẫn giữ nguyên trạng thái. Môi trường hoạt động của tác tử Tác tử được xây dựng để hoạt động trong một môi trường nào đó, chính vì thế tính chất, đặc điểm của môi trường và mối quan hệ giữa tác tử với môi trường chính là yếu tố quyết định đến việc nghiên cứu cũng như triển khai ứng dụng.
Hầu hết các nghiên cứu đều khẳng định tác tử và môi trường có quan hệ như sau: tác tử cảm nhận môi trường, suy luận và sau đó thực hiện hành động tác động vào môi trường. Quá trình đó được lặp lại cho đến hết vòng đời của một tác tử. Chính vì sự gắn bó mật thiết giữa môi trường và tác tử cho nên vấn đề phân loại môi trường hoạt động của tác tử cũng được đặt ra. Môi trường có thể tiếp cận đầy đủ và không thể tiếp cận đầy đủ Môi trường được gọi là có thể tiếp cận đầy đủ nếu tác tử có thể thu thập đầy đủ và chính xác thông tin về trạng thái của môi trường thông qua cơ quan cảm nhận.
Môi trường có thể tiếp cận đầy đủ là những môi trường tương đối đơn giản và thuần nhất. Môi trường không thể tiếp cận đầy đủ là những môi trường có độ phức tạp từ trung bình đến phức tạp, ví dụ: Thế giới thực vật lý, Internet 1. Môi trường xác định và không xác định Nếu trạng thái tiếp theo của môi trường hoàn toàn xác định bởi trạng thái hiện tại và hành động của tác tử tại thời điểm t thì môi trường được gọi là xác định. Như vậy, trước mỗi hành động của mình tác tử đều biết trước kết quả.
Đối với trường hợp môi trường không xác định, cùng một hành động có thể cho ra những kết quả khác nhau, thậm trí cho những kết quả không mong muốn. Với loại môi trường không xác định thường gây khó khăn trọng việc thiết kế tác tử. Môi trường phân đoạn và không phân đoạn Trong môi trường có phân đoạn hoạt động của tác tử được chia theo thời gian thành từng đoạn riêng biệt, không phụ thuộc vào nhau. Hiệu quả hành động trong từng đoạn chỉ phụ thuộc vào đoạn tác tử đang xét chứ không phụ thuộc vào đoạn khác.
Môi trường không phân đoạn thường phức tạp hơn vì tác tử phải quan tâm đến các đoạn có liên quan tới đoạn đang xét. Môi trường tĩnh và động Môi trường động là môi trường có thể thay đổi trong khi tác tử đang suy diễn để lựa chọn chiến lược hành động. Môi trường tĩnh thì ngược lại, tác tử không cần quan tâm đến môi trường cũng như giới hạn về thời gian trước khi ra quyết định cho chiến lược hành động của mình. Qua đó ta thấy việc triển khai ứng dụng trên môi trường tĩnh là thuận lợi hơn trên môi trường động.
Môi trường rời rạc và liên tục Nếu số lượng cảm nhận và các hành động có thể của tác tử trong môi trường là hữu hạn và luôn xác định thì là môi trường rời rạc. Ngược lại trong trường hợp môi trường là liên tục. Qua những phân loại về môi trường chúng ta thấy với mỗi đặc điểm môi trường khác nhau sẽ kéo theo yêu cầu thiết kế tác tử khác nhau để đảm bảo sự hoạt động hiệu quả và chính xác của tác tử. Việc xác định môi trường hoạt động của tác tử là bước quan trọng và là một trong những bước đầu tiên phải làm trong quá trình thiết kế tác tử.
Tác tử thông minh 1. Tác tử thông minh là gì? Tác tử thông minh là tác tử có khả năng hoạt động linh hoạt và mềm dẻo để thực hiện nhiệm vụ được giao [6]. Tính linh hoạt của tác tử được thể hiện bởi ba đặc điểm chính sau: 7 - Tính phản xạ: Là khả năng phản ứng kịp thời với các thay đổi của môi trường. - Tính chủ động: Tác tử chủ động trong hành động của mình, tự tìm ra phương án hành động tối ưu nhằm đạt được kết quả tốt nhất.
- Tính cộng đồng: Là khả năng tương tác giữu người dùng hoặc tác tử khác để lấy thông tin hoặc cung cấp thông tin cho đối tác. Nếu xét từng đặc điểm riêng lẻ thì ba đặc điểm này không có gì mới trong các phương pháp lập trình cũ. Trong thực tế có rất nhiều hệ thống phần mềm không xây dựng theo hướng tác tử nhưng mang một trong những đặc điểm trên. Tuy nhiên, khi xây dựng phần mềm tác tử thông minh thì cần phải hội đủ các đặc điểm này.
Cảm nhận, suy diễn và tác động vào môi trường 1. Cảm nhận môi trường Việc cảm nhận môi trường giúp cho tác tử biết được tình trạng của môi trường đang diễn ra như thế nào, từ đó tác tử sẽ đưa được ra quyết định hành động của mình. Đối với các tác tử là phần cứng (Robot) việc cảm nhận môi trường thường bằng các camera, thiết bị cảm ứng; đối với các tác tử là phần mềm việc cảm nhận môi trường thường là những thông điệp từ hệ điều hành. Những thông tin mà tác tử cảm nhận được từ môi trường không phải tất cả đều là có ích, chính vì thế việc chọn lọc thông tin là một yêu cầu đặt ra cho cơ chế cảm nhận môi trường của tác tử.
Suy diễn (cơ chế ra quyết định) Quá trình ra quyết định của một tác tử có thể được mô tả như sau. Giả sử thời gian được chia thành những khoảng rời rạc t0, t1,. Tại mỗi thời điểm đó tác tử phải lựa chọn hành động từ tập hữu hạn các hành động của tác tử. Nhờ cơ quan cảm nhận tác tử thu được những cảm nhận về môi trường.
Giả sử tại các thời điểm t0, t1,. tn cảm nhận của tác tử về môi trường lần lượt là p0, p1,. ,pn với pi thuộc P, P là tập các cảm nhận có thể có của tác tử. Tại thời điểm ti, tất cả 8 những cảm nhận của tác tử là chuỗi cảm nhận si = < p0, p1,.
Giả sử tập hành động có thể của tác tử là A = {a1, a2,. Tại mỗi thời điểm ti tác tử có thể chọn một hành động ai A. Việc tác tử lựa chọn hành động nào phụ thuộc vào chuỗi cảm nhận Si tại thời điểm ti. Tác tử suy diễn trước khi quyết định hành động được chia ra làm nhiều dạng, việc phân chia này phụ thuộc vào cách thức cảm nhận và hành động của tác tử.
Ta có thể phân loại như sau: - Tác tử phản xạ: Là tác tử hành động dựa trên cảm nhận hiện tại mà không cần quan tâm đến chuỗi cảm nhận trước đó.Ví dụ bộ phận cảm ứng của hệ thống cửa tự động. Bộ phận này hoạt động dựa trên nguyên tắc trạng thái môi trường được chia làm hai dạng, có người và không có người, nếu có người cửa sẽ tự động mở. Nguyên lý hoạt động của loại tác tử này nằm trong kiến trúc phản xạ, đây là loại kiến trúc không sử dụng cơ chế suy diễn phức tạp. Kiến trúc phản xạ được biết đến nhiều nhất là kiến trúc gộp (subsumption architecture) do Rodney Brooks đề xuất lần đầu tiên năm 1986.