Đồ án INTELLIGENT AGENT

13 1.7K 10
Đồ án INTELLIGENT AGENT

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trong những năm gần đây, sự phát triển mạnh mẽ của các công nghệ truyền thông và internet đã ảnh hưởng sâu rộng đến mọi mặt của cuộc sống từ kinh tế, khoa học đến văn hoá và xã hội. Rõ ràng sự phát triển của phần cứng đóng vai trò rất quan trọng trong quá trình tiến hoá này nhưng yếu tố then chốt đã ảnh hưởng mạnh mẽ đến xã hội tri thức ngày nay chính là bản thân phần mềm. Khi mà mạng máy tính và Internet trở thành phổ biến thì việc xử lý thông tin phân tán, chia xẻ và tích hợp thông tin thông qua đường truyền giữa các máy với những cơ sở dữ liệu có những khuôn dạng khác nhau càng ngày càng trở nên phổ biến.

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  INTELLIGENT AGENT Giáo viên hướng dẫn : Ts.Phạm Lê Thị Anh Thư Sinh viên thực hiện : Đặng Vũ Hải Long - 10520386 Bùi Hoàng Khánh Duy – 10520379 Nguyễn Thanh Hiền – 10520064 Trần Anh Nguyên - 10520032 TP.HỒ CHÍ MINH 6/2013 1 BÁO CÁO ĐỒ ÁN Trí Tuệ Nhân Tạo - Agent Mục Lục Trí Tuệ Nhân Tạo - Agent MỞ ĐẦU Trong những năm gần đây, sự phát triển mạnh mẽ của các công nghệ truyền thông và internet đã ảnh hưởng sâu rộng đến mọi mặt của cuộc sống từ kinh tế, khoa học đến văn hoá và xã hội. Rõ ràng sự phát triển của phần cứng đóng vai trò rất quan trọng trong quá trình tiến hoá này nhưng yếu tố then chốt đã ảnh hưởng mạnh mẽ đến xã hội tri thức ngày nay chính là bản thân phần mềm. Khi mà mạng máy tính và Internet trở thành phổ biến thì việc xử lý thông tin phân tán, chia xẻ và tích hợp thông tin thông qua đường truyền giữa các máy với những cơ sở dữ liệu có những khuôn dạng khác nhau càng ngày càng trở nên phổ biến. Điều này dẫn đến một thách thức mới đối với giới phát triển phần mềm khi phải đối đầu với những yêu cầu thực tế của các hệ phần mềm phức tạp, mở và phân tán. Những nghiên cứu và công nghiệp phát triển phần mềm trong những cuối năm 80 và đầu thập niên 90 xoay quanh cách tiếp cận hướng đối tượng tiến hoá từ phương pháp luận phần mềm cấu trúc truyền thống. Phương pháp hướng đối tượng có ưu điểm so với phương pháp cấu trúc là khả năng sử dụng lại mã nguồn, dễ đọc mã nguồn và xử lý lỗi. Ý tưởng cơ bản của nó là xem hệ phần mềm như tập hợp các thực thể tương tác gọi là “đối tượng” trong đó mỗi đối tượng được xác định bởi ba yếu tố: Định danh, trạng thái và hành vi. Như vậy, phát triển phần mềm dựa trên cách tiếp cận này có nghĩa là tiến hành xây dựng mô hình của hệ thống cần được phát triển (cả trong các pha phân tích và thiết kế) dựa trên khái niệm đối tượng và những khái niệm liên quan như thành viên, phương thức, quan hệ Ngôn ngữ UML đã được sử dụng rộng rãi để mô hình các hệ phần mềm này dưới dạng use case, biểu đồ lớp, biểu đồ tương tác Tuy nhiên, cách tiếp cận hướng đối tượng tỏ ra không đáp ứng được nhu cầu phát triển các hệ phần mềm mở, phân tán, phức tạp như quản lý mạng viễn thông, thương mại điện tử, trợ giúp văn phòng, tìm kiếm/lọc thông tin Là một phát triển tiếp theo của hướng đối tượng, cách tiếp cận hướng agent được xem là công nghệ hứa hẹn cho phát triển các hệ phần mềm phức tạp này. Ý tưởng cơ bản Trí Tuệ Nhân Tạo - Agent của hệ đa agent là xem hệ phần mềm như một cấu trúc xã hội bao gồm các agent có khả năng tự chủ cùng với các tương tác “có tính chất tri thức” hay “mang ngữ nghĩa” giữa chúng. Giống như đối tượng, các agent cũng có định danh, trạng thái và hành vi nhưng những khái niệm này được mô tả một cách tinh tế hơn: • Trạng thái có thể bao gồm tri thức, lòng tin, đích cần phải thoả mãn, các trách nhiệm được gán cho từng agent. • Hành vi là những vai trò mà agent có thể đảm nhiệm, những công việc cần phải tiến hành, các sự kiện cần phải được quan sát Công nghệ phần mềm hướng agent đã thu hút nhiều quan tâm nghiên cứu vì nó được xem là cách tiếp cận tiến hoá từ công nghệ phần mềm hướng đối tượng và công nghệ tri thức. Nó đã tỏ ra có nhiều hứa hẹn cho phát triển các hệ phần mềm trong môi trường phân tán và mở. Thập niên 90 đã chứng kiến sự nở rộ của nhiều ứng dụng và thử nghiệm thành công trong các lĩnh vực khác nhau như viễn thông, quản lý không lưu, các dịch vụ trên Internet Những năm 2000, các nghiên cứu về agent tập trung vào xây dựng các phương pháp luận phát triển phần mềm bao gồm xây dựng quy trình, công cụ cùng các kỹ thuật phân tích và thiết kế hệ đa agent. Do giới hạn về thời gian, báo cáo này chỉ đưa ra một cái nhìn tổng quan về agent và các khái niệm cơ bản của nó thôi chứ không tìm hiểu sâu về công nghệ agent và đa agent. Bên cạnh việc tìm hiểu lý thuyết, nhóm chúng em cũng xây dựng một game đơn giản gồm một agent để demo. Môi trường Tác tử Cảm nhận Tác động Trí Tuệ Nhân Tạo - Agent CHƯƠNG 1: INTELLIGENT AGENT 1.1. Khái niệm về agent Có rất nhiều định nghĩa khác nhau, thậm chí khác nhau về agent, nhưng có một định nghĩa thường được sử dụng như sau: “Agent là một hệ tính toán hoàn chỉnh được đặt trong một môi trường nhất định, có khả năng hoạt động một cách tự chủ và mềm dẻo trong môi trường đó nhằm đạt được mục đích đã thiết kế” Có thể hiểu định nghĩa trên như sau: Hệ thống tính toán có thể là phần cứng, phần mềm, hoặc cả phần cứng lẫn phần mềm. Bất cứ agent nào cũng tồn tại và hoạt động trong một môi trường nhất định. Agent nhận thông tin từ môi trường qua các cơ quan cảm nhận và tác động vào môi trường bằng các cơ quan tác động. Hình: Agent tương tác với môi trường Đối với các agent phần cứng, cơ quan cảm nhận có thể là các cảm biến, camera, cơ quan tác động có thể là các bộ phận cơ học, quang học hoặc âm thanh. Đối với các agent là chương trình phần mềm, môi trường hoạt động thông thường là các máy tính hoặc mạng máy tính. Việc cảm nhận môi trường và tác động được thực hiện thông qua các lời gọi hệ thống. Nói chung, agent có thể được thiết kế để hoạt động để hoạt động trong nhiều dạng môi trường khác nhau. Một điểm cần chú ý là cảm nhận về môi trường của agent có thể không đầy đủ do môi trường quá phức tạp hoặc có chứa các yếu tố không xác định. Một yêu cầu quan trọng đối với agent là tính tự chủ. Cũng như bản thân định nghĩa về agent, cũng có nhiều cách hiểu khác nhau về tính tự chủ. Ở đây, tự chủ được hiểu như là khả năng các agent hành động không cần đến sự can thiệp trực tiếp của người hay các agent khác: agent hoàn toàn có khả năng kiểm soát Trí Tuệ Nhân Tạo - Agent trạng thái cũng như hành vi của mình trong một thời gian tương đối dài. Một số các tác giả định nghĩa tính tự chủ rộng hơn, chẳng hạn yêu cầu agent phải có khả năng tự học. Với đặc điểm tồn tại và hành động tự chủ trong môi trường, agent có thể thực hiện các mục tiêu cho trước và do vậy có thay thế chủ của mình (người dùng hoặc các agent khác) thực hiện một số các nhiệm vụ nào đó. 1.2. Các đặc điểm của agent Một agent thông thường có những đặc điểm sau: • Tính tự chủ (autonomy): Mỗi agent có một trạng thái riêng, độc lập với các agent khác (tự chủ ở trạng thái bên trong) đồng thời nó có thể tự quyết định các hành động của mình (tự chủ về hành động). Tự chủ ở trang thái bên trong thể hiện ở chổ: 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 truy nhập được vào các trạng thái này. Còn tính tự chủ về hành động thể hiện ở chỗ agent có thể tự quyết định các hành động của mình (có thể là một hành động đơn hoặc là một chuỗi các hành động) dựa trên trạng thái hiện thời mà không có sự can thiệp của con người hay các agent khác. Tính tự chủ chính là đặc trưng quan trọng nhất của agent. • Khả năng phản ứng (reactivity): Tính phản ứng là khả năng agent có thể nhận biết được môi trường (qua bộ phận cảm nhận nào đó) và dựa qua nhận biết đó, agent đáp ứng kịp thời những thay đổi xảy ra trong môi trường. Tính phản ứng thể hiện rõ nhất ở các agent hoạt động trên các môi trường có tính mở và hay thay đổi như Internet, môi trường mạng phân tán, môi trường vật lý, … Phản ứng của mỗi một agent đối 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 (đích) của agent đó. • Tính chủ động (pro-activeness): 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à còn xác định một chuỗi hành động cần thực hiện, bản thân mỗi agent sẽ chủ động trong việc khởi động và thực hiện chuỗi hành động này. • Khả năng xã hội (social ability): Các agent không chỉ hướng tới đích riêng của mình 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 đích chung của hệ thống. Các hoạt động tương tác này rất đa dạng bao gồm phối hợp, thương lượng, cạnh tranh… 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. Trí Tuệ Nhân Tạo - Agent 1.3. Agent và đối tượng Để hiểu rõ hơn khái niệm agent, chúng ta hãy so sánh agent và đối tượng. Trong phương pháp hướng đối tượng, các đối tượng được định nghĩa là các thực thể tính toán đóng gói bao gồm các trạng thái, các hành động hay phương thức trong trạng thái đó và các đối tượng liên lạc với nhau thông qua việc gửi các thông điệp (message). Xét theo quan điểm hệ thống, có thể xem mỗi agent cũng là một đối tượng nhưng ở mức trừu tượng cao hơn. Vì vậy, khái niệm đối tượng được sử dụng trong phần này là để chỉ các đối tượng chuẩn (standard object) trong phương pháp hướng đối tượng. Với định nghĩa agent đã được đề cập ở Mục 1.1.1 thì các đối tượng và các agent có các điểm khác biệt sau: • Agent có tính tự chủ cao hơn đối tượng. Điều này thể hiện ở chỗ các agent có thể tự quyết định hành động của mình mà không phải là thực hiện hành động theo yêu cầu của agent khác. Ngược lại, các đối tượng chỉ thực sự hoạt động khi nhận được lời gọi hàm từ các đối tượng khác. • Agent có tính hướng đích, mỗi agent có một đích riêng và đích của các agent trong một hệ thống có thể thống nhất hay không tương thích với nhau. Trong khi đó các đối tượng không có mục đích riêng, chúng cùng chia sẻ mục đích chung của cả hệ thống. Do đó, các agent thường phải thương lượng với nhau trong quá trình tương tác. • Agent có các hành vi linh hoạt dựa trên các đặc trưng như tính chủ động, khả năng phản ứng và khả năng xã hội đã trình bày ở trên. Còn các đối tượng thì không có các kiểu hành vi này. • Mỗi agent có một hoặc nhiều luồng điều khiển (thread) riêng. Trong hệ hướng đối tượng cũng có điều khiển theo kiểu luồng (thread) nhưng không yêu cầu mỗi đối tượng là có thread riêng mà ngược lại có thể có nhiều đối tượng chung một thread. Bản chất của sự khác nhau này cũng là đặc trưng quan trọng về mức độ tự chủ của agent so với đối tượng. 1.4. Agents và Expert Systems Sự khác biệt chính giữa Agent và Expert System (hệ chuyên gia) như sau: • Agent thì được đặt trong một môi trường còn hệ chuyên gia thì tách biệt chúng không gắn liền với bất kỳ môi trường mà nó hoạt động thông qua người sử dụng như một người trung gian. • Những hệ chuyên gia không có khả năng: tác động lại, hướng đích. • Hệ chuyên gia không được trang bị khả năng giao tiếp, sự hợp tác, phối hợp và sự dàn xếp. Trí Tuệ Nhân Tạo - Agent 1.5. Các khái niệm dùng để xây dựng agent Để xây dựng agent, người ta dựa trên các tính chất của agent đã như tính tự hoạt động trong môi trường thay đổi liên tục, chắc chắn, mềm dẻo, tính xã hội… - Percepts và Actions Hai khái niệm cơ bản mô tả giao tiếp giữa agent và môi trường đó là cảm nhận (percepts) từ môi trường qua bộ cảm ứng (sensors) và hành động (actions) để gây ảnh hưởng lên môi trườngqua bộ tác động (actuators). - Goals và Events Mục tiêu (goal) được định nghĩa là các trạng thái mà agent cần phải hướng đến. Mục tiêu giúp cho agent tự hoạt động và hoạt động chuyên nghiệp. Khía cạnh quan trọng của hoạt động chuyên nghiệp đóagent đeo đuổi mục tiêu bền bỉ: nếu kế hoạch đạt mục tiêu bị thất bại thì nó xem xét các kế hoạch thay thế cho đến khi nó tin rằng không thể đạt được mục tiêu hoặc mục tiêu không còn thích hợp nữa. Biến cố(event) là sự kiện xảy ramà agent phải phản ứng lại. Biến cố có thể dẫn đến mục tiêu mới, gây ra những thay đổi thông tin về môi trường và dẫn đến hành động thực hiện ngay lập tức. - Plans và Beliefs Lòng tin (beliefs) của agent là tri thức và thông tin của agent về môi trường. Do môi trường luôn thay đổi liên tục nên agent cần lưu giữ thông tin mà nó nhận được. Ví dụ agent tin là có đám cháy ở vị trí X vì nó vừa thấy ở đó, mặc dù hiện giờ agent không thấy. Kế hoạch (plans) là một “thư viện các phương pháp”. Ví dụ kế hoạch để đạt mục tiêu chữa cháy gồm 3 bước: xác định đường dẫn đến đám cháy, đi theo đường dẫn đến đám cháy và phun nước cho đến khi dập tắt đám cháy. 1.6. Môi trường của agent Môi trường của agent bao gồm các loại sau: • Accessible và Inaccessible: môi trương accessible (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 inaccessible (không thể truy cập). Môi trường càng accessible thì xây dựng agent càng đơn giản. • Deterministic và non-deterministic (xác định và không xác định): Một môi trường xác định là một môi trường mà mỗi hành động của Trí Tuệ Nhân Tạo - Agent 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. • Dynamic và Static (tĩnh và động): 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). • Episodic và non-episodic (phân đoạn và không phân đoạn): 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. • Discrete và continuous (rời rạc và liên tục): 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). 1.7. Ứng dụng của agent Các ứng dụng của agent có thể được chia thành 2 nhóm chính: • Các hệ thống phân tán (distributed systems): Trong đó các agent trở thành các nút xử lý. • Phần mềm giúp đỡ cá nhân (personal software assistants): Trong đó agent đóng vai trò giúp đỡ người dùng làm việc trong một ứng dụng nào đó. Nhấn mạnh về tính riêng lẻ của agent. Các lĩnh vực áp dụng của agent: • Agents với các giác quan phân tán (Agents for Distributed Sensing) • Quản lý tiến trình thương mại và công việc (Agents for Workflow and • Business Process Management) • Agent thu thập và quản lý thông tin (Agents for Information Retrieval and • Management) • Agent trong lĩnh vực thương mại điện tử (Agents for Electronic Commerce) • Agent giao diện giữa người và máy (Agents for Human- Computer • Interfaces) • Agent trong môi trường ảo (Agent for Virtual Environment) • Agent để mô phỏng xã hội (Agent for SocialSimulation) Trí Tuệ Nhân Tạo - Agent Trang [...]... Nhân Tạo - Agent CHƯƠNG 2: ỨNG DỤNG MÔ PHỎNG MỘT AGENT ĐƠN GIẢN Mô Tả Ứng Dụng 2.1 Để demo về Intelligent Agent, chúng em đã xây dựng một ứng dụng đơn agent đơn giản Ứng dụng là một game dựa trên ý tưởng của game Pacman nhưn đơn giản hơn rất nhiều Game chỉ có hai nhân vật là một agent và một nhân vật do người chơi điều khiển Agent có nhiệm vụ là đi thu nhặt các cục vàng trong bản đồ và tránh né để không...  Agent: được xây dựng để tự động đi thu nhặt các cục vàng Hoạt động của agent:  Agent sử dụng thuật toán A* để tính toán đường đi ngắn nhất giữa hai điểm trên bản đồAgent có ba trạng thái chính: - EIDStatus.FIND_FOOD_TO_GO: Khi ở trạng thái này, agent chưa có - mục tiêu là cục vàng để đi tới ăn Vì thế trong trạng thái này Agent sẽ tìm kiếm trong thế giới xem cục vàng nào là đang ở vị trí an toàn... phải) để điều khiển robot đi bắt agent Mỗi lần nhấn phím robot đi được một ô  Để đặt thêm nấm cho Agent chỉ cần click vào vị trí trống trên bản đồ  Nếu robot bắt được agent (agent và robot va chạm) thì game kết thúc TÀI LIỆU THAM KHẢO  Slide Intelligent Agent – Phạm Lê Thị Anh Thư  2008, Jones_Artificial Intelligence-A Systems Approach  Phát triển phần mềm hướng Agent – Trần Đình quế, 2010 - HẾT... đuổi bắt và ngăn cản agent thu nhặt vàng Phương Pháp Trong Ứng Dụng 2.2 Game được xây dựng trên nền FrameWork XNA 4.0, mô phỏng một intelligent agent đơn giản nhất Agent này có mục đích là thu nhặt các cục vàng trên bản đồ Nó có khả năng thu nhận thông tin từ môi trương (bản đồ) để biết vị trí nào có vàng, trí nào có kẻ thù (người chơi điều khiển) và đưa ra quyết định hành động, tránh né kẻ thù hay nhặt... - Agent bằng số bước di chuyển ngắn nhất từ AGENT đến GOLD cộng số bước di chuyển ngắn nhất từ HUMAN đến GOLD) Khi đã tim thấy mục tiêu - thì Agent sẽ chuyển sang trạng thái EIDStatus.GOING_TO_FOOD EIDStatus.GOING_TO_FOOD: Khi ở trạng thái này , Agent sẽ di chuyển tới cục vàng an toàn nhất đã tìm ra, tuy nhiên trong lúc di chuyển Agent sẽ kiểm tra trong bán kính 4 ô xung quanh vị trí hiện tại của Agent. .. này thì agent sẽ ưu tiên tránh né kẻ thù trước Môi trường được cài đặt bằng một mảng 2 chiều gồm 14 dòng và 20 cột (tương ứng với 14 dòng và 20 cột trên bản đồ) Các yếu tố trong môi trường gồm:  Các khối gạch (BRICK): agent và con người không thể đi qua được  Các cục vàng (GOLD): đây là mục tiêu chính mà agent hướng tới  Con người (HUMAN): sẽ được điều khiển bởi người chơi để đuổi bắt agent  Agent: ... trình di chuyển nếu mà Agent nhận thấy rằng khoảng cách đến HUMAN > 7 thì sẽ biết là mình đã an toàn và lại tiếp tục chuyển sang trạng thái EIDStatus.FIND_FOOD_TO_GO để tìm cục vàng an toàn nhất để di chuyển tới Trang Trí Tuệ Nhân Tạo - Agent Giao Diện Và Hướng Dẫn Sử Dụng 2.3 Để tăng độ vui nhộn cho game thì agent đã được biểu diễn bởi hình Mario, các cục vàng muc tiêu của agent là các cục nấm Người... có thì Agent sẽ biết có nguy - hiểm và sẽ chuyển sang trạng thái IDStatus.ESCAPE_FROM_HUMAN EIDStatus.ESCAPE_FROM_HUMAN: Khi ở trạng thái này agent sẽ biết là mình đang bị nguy hiểm và sẽ tìm ra vị trí có chỉ số an toàn cao nhất trong 4 vị trí (TOP_LEFT; TOP_RIGHT; BOTTOM_LEFT; BOTTOM_RIGHT) và di chuyển tới (Công thức tính chỉ số an toàn của vị trí an toàn bằng số bước di chuyển ngắn nhất từ AGENT . động của agent:  Agent sử dụng thuật toán A* để tính toán đường đi ngắn nhất giữa hai điểm trên bản đồ.  Agent có ba trạng thái chính: - EIDStatus.FIND_FOOD_TO_GO: Khi ở trạng thái này, agent. Trong đó agent đóng vai trò giúp đỡ người dùng làm việc trong một ứng dụng nào đó. Nhấn mạnh về tính riêng lẻ của agent. Các lĩnh vực áp dụng của agent: • Agents với các giác quan phân tán (Agents. Electronic Commerce) • Agent giao diện giữa người và máy (Agents for Human- Computer • Interfaces) • Agent trong môi trường ảo (Agent for Virtual Environment) • Agent để mô phỏng xã hội (Agent for SocialSimulation) Trí

Ngày đăng: 19/06/2014, 10:57

Từ khóa liên quan

Mục lục

  • MỞ ĐẦU

  • CHƯƠNG 1: INTELLIGENT AGENT

    • 1.1. Khái niệm về agent

    • 1.2. Các đặc điểm của agent

    • 1.3. Agent và đối tượng

    • 1.4. Agents và Expert Systems

    • 1.5. Các khái niệm dùng để xây dựng agent

    • 1.6. Môi trường của agent

    • 1.7. Ứng dụng của agent

    • CHƯƠNG 2: ỨNG DỤNG MÔ PHỎNG MỘT AGENT ĐƠN GIẢN

      • 2.1. Mô Tả Ứng Dụng

      • 2.2. Phương Pháp Trong Ứng Dụng

      • 2.3. Giao Diện Và Hướng Dẫn Sử Dụng

      • TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

Tài liệu liên quan