Đang tải... (xem toàn văn)
Nghiên cứu planning để giải bài toán xác định lộ trình
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊNKHOA CÔNG NGHỆ THÔNG TINBỘ MÔN CÔNG NGHỆ TRI THỨCLUẬN VĂN CỬ NHÂN TIN HỌCNGHIÊN CỨU PLANNINGĐỂ GIẢI BÀI TOÁN XÁC ĐỊNH LỘ TRÌNHGVHD: Th.S. Nguyễn Phương ThảoSVTH: Trần Thuỷ Tiên 9912704Trần Hồng Thái 9912071TP. HỒ CHÍ MINH, 2003 Nghiên cứu planning để giải bài toán xác định lộ trình1Lời mở đầuTừ trước đến nay có rất nhiều bài toán được đặt ra, cần nghiên cứu cáchgiải quyết. Những bài toán khó nhất vẫn là những bài toán thực tế củacuộc sống. Với sự phát triển mạnh mẽ của công nghệ thông tin như hiệnnay, các bài toán thường được đưa vào máy tính để xử lí. Đa số các bàitoán được giải quyết bằng cách áp dụng trí thông minh nhân tạo(Artificial Intelligent (AI)). Thuật ngữ “planning” được sử dụng trong AIkhi bài toán là bài toán thế giới thực được gọi là AI planning. Con ngườithường có thói quen dự định một việc gì đó trước khi làm và hầu như conngười biết có những hành động nào để đạt được những dự định đó. Đểgiúp máy tính làm việc như con người, nghĩa là biết những hành độngnào có thể đi đến mục tiêu, ta cần cung cấp tri thức cho nó. Tri thức ở đâyrất đa dạng, để máy tính “hiểu” được môi trường xung quanh nó như thếnào là việc rất khó khăn. Một máy tính có những trang thiết bị hiện đạinhất vẫn không thể cảm nhận hết những thay đổi của môi trường. Tuynhiên, đối với một bài toán cụ thể nào đó, máy tính chỉ cần ghi nhậnnhững tri thức liên quan. Với những tri thức đó bộ lập kế hoạch sẽ giúpmáy tính biết cần hành động thế nào để đạt được mục tiêu bằng cách đưara những kế hoạch tương ứng lấy từ tri thức sẵn có. Trong lĩnh vực AI,lập kế hoạch là vấn đề khá mới so với nhận dạng, xử lí ảnh, xử lí ngônngữ, xử lí âm thanh,…đã được nghiên cứu rất nhiều. Nhưng lập kế hoạchcó sức mạnh rất lớn trong việc tiếp cận và giải quyết những vấn đề thực tếtrong cuộc sống như: chế tạo robot làm việc nhà: biết đi chợ, quét dọnnhà cửa,…; robot tự động làm việc ở những vị trí khá nguy hiểm cho conngười như nhà cao tầng hay ngoài không gian,…Một sức mạnh khác củalập kế hoạch tạo ra những robot có thể phản ứng với những biến đổi bấtthường của môi trường. Vì trong tự nhiên, chỉ có những động thực vật Nghiên cứu planning để giải bài toán xác định lộ trình2mới có thể làm điều này. Trong luận văn này, lập kế hoạch được sử dụngđể giải quyết bài toán xác định lộ trình trong thành phố Hồ Chí Minh. Vớicác tri thức cần cập nhật như luật đi đường, xuất hiện các sự cố gây tắtnghẽn giao thông ở đoạn đường nào, các trường học, bệnh viện, nhà thờ,trụ sở nhà nước, cây xăng, sân vận động, rạp chiếu phim,… được đặt tạiđâu. Bộ lập kế hoạch có thể giúp tìm ra những con đường tốt nhất về thờigian, tốc độ, nhiên liệu,…để đến mục tiêu với tri thức được cập nhậtthường xuyên. Nghiên cứu planning để giải bài toán xác định lộ trình3Lời cảm ơnChúng em xin chân thành cảm ơn thầy Lê Hoài Bắc và côNguyễn Phương Thảo đã tận tình hướng dẫn và giúp đỡchúng em trong quá trình thực hiện đề tài, cùng toàn thểquý thầy cô khoa Công nghệ thông tin trường Đại HọcKhoa Học Tự Nhiên đã tận tình chỉ bảo, truyền đạt nhữngkiến thức quý báo để chúng em làm hành trang vào đời.Chúng em xin chân thành cảm ơn tất cả bạn bè đãđộng viên và giúp đỡ vượt qua những khó khăn để hoànthành luận văn này.Đặt biệt, chúng con xin cảm ơn các bậc cha mẹ vànhững người thân đã hết lòng nuôi nấng dạy dỗ để chúngcon có được ngày hôm nay.Do còn hạn chế về nhiều mặt nên luận văn cònnhiều thiếu sót, chúng em kính mong quý thầy cô cùng bạnbè đóng góp ý kiến để chúng em có thể khắc phục, hoànthiện hơn.Thành phố Hồ Chí MinhTháng 7 – 2003 Nghiên cứu planning để giải bài toán xác định lộ trình4NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Nghiên cứu planning để giải bài toán xác định lộ trình5NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Nghiên cứu planning để giải bài toán xác định lộ trình6MỤC LỤCPHẦN I: CƠ SỞ LÝ THUYẾT TRONG LẬP KẾ HOẠCH 11Lịch sử lập kế hoạch . 12CHƯƠNG 1:CÁC KHÁI NIỆM CƠ BẢN . 161CÁC THUẬT NGỮ CHUNG TRONG LẬP KẾ HOẠCH 162BẢN CHẤT CỦA VẦN ĐỀ LẬP KẾ HOẠCH . 183MỘT SỐ ỨNG DỤNG CỦA LẬP KẾ HOẠCH TRONG THỰC TẾ . 193.1. Robot sắp xếp các khối . 193.2. Robot mua hàng hoá . 20CHƯƠNG 2:CÁC ĐỐI TƯỢNG TRONG LẬP KẾ HOẠCH . 221 AGENT . 221.1. Khái niệm 221.2. Hành động của agent . 231.3. Agent program 261.4. Các yếu tố để xây dựng agent program . 281.5. Cấu trúc agent . 291.6. Các loại agent 301.6.1. Agent phản xạ đơn giản 301.6.2. Agent lưu vết môi trường 321.6.3. Agent dựa trên mục tiêu 341.6.4. Agent dựa trên tính hiệu quả . 352MÔI TRƯỜNG . 372.1. Khái niệm 372.2. Các loại môi trường và thuộc tính của nó . 382.2.1. Môi trường tiếp cận được và không tiếp cận được . 38 Nghiên cứu planning để giải bài toán xác định lộ trình72.2.2. Môi trường xác định và không xác định . 382.2.3. Môi trường episodic và nonepisodic . 382.2.4. Môi trường tĩnh và động . 392.2.5. Môi trường rời rạc và liên tục . 39CHƯƠNG 3:CÁC LÝ THUYẾT LIÊN QUAN ĐẾN LẬP KẾ HOẠCH 421GIẢI TOÁN BẰNG PHƯƠNG PHÁP TÌM KIẾM . 421.1. Agent giải quyết bài toán 421.1.1. Mô tả . 421.1.2. Ví dụ 431.1.3. Chương trình agent giải quyết bài toán đơn giản 431.2. Thiết lập bài toán . 441.2.1. Các kiểu bài toán . 451.2.1.1. Bài toán trạng thái đơn 451.2.1.2. Bài toán đa trạng thái 461.2.1.3. Bài toán ngẫu nhiên . 461.2.1.4. Bài toán khảo sát . 471.2.2. Định nghĩa bài toán và giải pháp 471.2.3. Đo mức độ thực thi của việc giải toán 481.2.3.1. Các phương pháp đo độ thực thi . 481.2.3.2. Ví dụ 491.2.4. Chọn trạng thái và hành động . 491.3. Tìm kiếm giải pháp . 511.3.1. Tạo các chuỗi hành động 511.3.2. Cấu trúc dữ liệu của cây tìm kiếm 542GIỚI THIỆU NGÔN NGỮ MÔ TẢ BÀI TOÁN . 562.1. Sự trình bày, suy luận và logic 57 Nghiên cứu planning để giải bài toán xác định lộ trình82.1.1. Sự trình bày ngôn ngữ . 572.1.2. Suy luận . 592.2. Logic mệnh đề . 602.2.1. Cú pháp . 602.2.2. Ngữ nghĩa 612.3. Logic trật tự đầu tiên . 612.3.1. Cú pháp và ngữ nghĩa . 622.3.2. Các ví dụ . 632.3.3. Lượng từ 642.3.4. Những ký hiệu đặt biệt trong tập hợp, danh sách và số học . 652.3.5. Phép tính tình huống . 66CHƯƠNG 4:CÁC VẤN ĐỀ TRONG LẬP KẾ HOẠCH 691GIỚI THIỆU AGENT LẬP KẾ HOẠCH ĐƠN GIẢN 692TỪ GIẢI QUYẾT BÀI TOÁN ĐẾN LẬP KẾ HOẠCH 703LẬP KẾ HOẠCH SỬ DỤNG PHÉP TÍNH TÌNH HUỐNG . 754 NGÔN NGỮ STRIPS: NGÔN NGỮ TRÌNH BÀY CƠ BẢN TRONGLẬP KẾ HOẠCH 774.1. Mô tả trạng thái và mục tiêu . 774.2. Mô tả hành động . 784.3. Không gian ngữ cảnh và không gian kế hoạch . 804.4. Trình bày kế hoạch 814.5. Giải pháp . 85CHƯƠNG 5:THUẬT TOÁN PARTIAL-ORDER-PLANNING (POP) 881MÔ TẢ 881.1. Ý tưởng thuật toán . 881.2. Chi tiết thuật toán 89 Nghiên cứu planning để giải bài toán xác định lộ trình92VÍ DỤ 902.1. Mô tả bài toán . 902.2. Áp dụng thuật toán POP cho bài toán . 91CHƯƠNG 6:MÔ HÌNH LẬP KẾ HOẠCH PHÂN RÃ PHÂN CẤP 1001 PHÂN RÃ PHÂN CẤP TOÁN TỬ 1001.1. Đặt vấn đề . 1001.2. Phân rã phân cấp là gì? . 1001.3. Ví dụ 1011.4. Các vấn đề cần quan tâm đối với lập kế hoạch phân rã phân cấp . 1021.4.1. Mở rộng ngôn ngữ STRIPS 1021.4.2. Thuật toán HD-POP 1032 PHÂN TÍCH MÔ HÌNH PHÂN RÃ PHÂN CẤP 1062.1. Giải pháp thuận và giải pháp nghịch . 1072.2. Ví dụ 1102.3. Sự phân rã và dùng chung . 112PHẦN 2:ỨNG DỤNG LẬP KẾ HOẠCH TRONG BÀI TOÁN TÌM ĐƯỜNGĐI . 1151GIỚI THIỆU BÀI TOÁN . 1152ÝTƯỞNG . 1153CÀI ĐẶT AGENT 1164CÁC CHIẾN LƯỢC . 1165KẾT QUẢ THỰC NGHIỆM 1195.1. Chiến lược 2 và bộ lập kế hoạch truy hồi . 1255.2. Chiến lược 3 và bộ lập kế hoạch truy hồi . 1316 SO SÁNH LẬP TRÌNH KẾ HOẠCH VÀ LẬP TRÌNH THEO LÝTHUYẾT ĐỒ THỊ 1366.1. Thuật toán DijkstraMoore . 136 [...].. .Nghiên cứu planning để giải bài toán xác định lộ trình 6.2 Đối với lập trình kế hoạch 136 PHẦN 3: TỔNG KẾT 139 1 NHỮNG GÌ ĐÃ LÀM ĐƯỢC 139 2 NHỮNG GÌ CHƯA LÀM ĐƯỢC 139 3 HƯỚNG PHÁT TRIỂN 140 TÀI LIỆU THAM KHẢO 141 10 Nghiên cứu planning để giải bài toán xác định lộ trình PHẦN I: CƠ SỞ LÝ THUYẾT TRONG LẬP KẾ... lịch và điều khiển hay những hội nghị quốc tế về các hệ AI Planning 14 Nghiên cứu planning để giải bài toán xác định lộ trình CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN 1 Các thuật ngữ chung trong lập kế hoạch 2 Bản chất của vấn đề lập kế hoạch 3 Một số ứng dụng của lập kế hoạch trong thực tế 15 Nghiên cứu planning để giải bài toán xác định lộ trình CHƯƠNG 1: CÁC KHÁI NIỆM CƠ BẢN 1 CÁC THUẬT NGỮ CHUNG TRONG LẬP... siêu thị mua nước tương và cà chua sao cho nhanh nhất về thời gian hay ít tốn kém nhất về tiền bạc và quay về nhà 20 Nghiên cứu planning để giải bài toán xác định lộ trình CHƯƠNG 2: CÁC ĐỐI TƯỢNG TRONG LẬP KẾ HOẠCH 1 Agent 2 Môi trường 21 Nghiên cứu planning để giải bài toán xác định lộ trình CHƯƠNG 2: CÁC ĐỐI TƯỢNG TRONG LẬP KẾ HOẠCH 1 AGENT 1.1 Khái niệm Agent là các vật có khả năng nhận thức được... THUẬT TOÁN PARTIAL-ORDER -PLANNING (POP) CHƯƠNG 6: MÔ HÌNH LẬP KẾ HOẠCH PHÂN RÃ PHÂN CẤP 11 Nghiên cứu planning để giải bài toán xác định lộ trình PHẦN I: CƠ SỞ LÝ THUYẾT TRONG LẬP KẾ HOẠCH Lịch sử lập kế hoạch Nguồn gốc của AI planning một phần xuất phát từ việc giải quyết bài toán (problem solving) qua sự tìm kiếm trong không gian trạng thái và những kỹ thuật phối hợp khác như suy diễn bài toán và... khối trong bài toán sắp xếp các khối 19 Nghiên cứu planning để giải bài toán xác định lộ trình Mục tiêu là: khối C trên khối A và khối B trên bàn Hình 1.2 Mục tiêu của bài toán sắp xếp các khối Kế hoạch như sau: Nhấc B ê Đặt xuống Nhấc C ê Đặt lên khối A 3.2 Robot mua hàng hoá Có một robot đang ở nhà, chủ nhà cần mua một bếp ga, cà chua và nước tương Bộ lập kế hoạch phải lập ra kế hoạch để robot đến... hoạch để vượt qua Sussman Năm 1975, 1977, Sacerdoti đưa ra bộ lập kế hoạch NOAH đi tiên phong trong việc xây dựng những kế hoạch trật tự cục bộ, và nó được khai thác kỹ lưỡng trong hệ NONLIN của Tate (1977), và giữ lại cấu trúc khái niệm của bộ lập kế hoạch INTERPLAN NONLIN cũng là bộ lập kế 13 Nghiên cứu planning để giải bài toán xác định lộ trình hoạch đầu tiên sử dụng thuật toán rõ ràng để xác định. .. cận đó là nó tạo ra một agent để xử lí và thực thi hành động trong môi trường cụ thể của bài toán Agent này có cơ quan cảm giác để cảm nhận và cập nhật tri thức từ môi trường và có cơ quan phản ứng để thực thi các hành động mà agent đưa ra Điều quan trọng nhất 18 Nghiên cứu planning để giải bài toán xác định lộ trình trong agent này là bộ lập kế hoạch, bộ lập kế hoạch tiếp nhận tri thức, xử lí và đưa... agent này có các khuyết điểm sau: a) Đối với một bài toán đơn giản agent cũng cần một bảng chỉ mục rất lớn b) Để xây dựng bảng tra, người thiết kế phải mất rất nhiều thời gian c) Agent không tự động, vì tất cả những hành động tốt nhất người thiết kế đã tính toán và xây dựng sẵn cho agent Vì vậy, nếu môi 27 Nghiên cứu planning để giải bài toán xác định lộ trình trường thay đổi trong những tình huống không... chương trình và cho phép các hành động của chương trình lựa chọn cơ quan phản ứng khi nó được tạo ra Mối quan hệ giữa agent, kiến trúc và chương trình được tóm tắt như sau: agent = kiến trúc + chương trình Khi có tri thức mới vào, agent program cập nhật chúng vào các cấu trúc dữ liệu Các cấu trúc dữ liệu này sẽ được thao tác bởi các hàm thực hiện 29 Nghiên cứu planning để giải bài toán xác định lộ trình. .. trong định nghĩa) sau đó thực hiện hành động tương ứng với luật đó Trong agent program trên, hàm CẬP NHẬT TRẠNG THÁI tạo ra sự mô tả trạng thái mới bên trong cùng với việc giải thích tri thức mới để làm rõ hơn những tri thức đang tồn tại về trạng thái, nó sử dụng thông tin về cách môi trường phát triển để lưu giữ những phần không nhìn thấy của 33 Nghiên cứu planning để giải bài toán xác định lộ trình . MINH, 2003 Nghiên cứu planning để giải bài toán xác định lộ trình1 Lời mở đầuTừ trước đến nay có rất nhiều bài toán được đặt ra, cần nghiên cứu cáchgiải quyết.. vật Nghiên cứu planning để giải bài toán xác định lộ trình2 mới có thể làm điều này. Trong luận văn này, lập kế hoạch được sử dụngđể giải quyết bài toán xác