TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ TRI THỨC
LUẬN VĂN CỬ NHÂN TIN HỌC
NGHIÊN CỨU PLANNING
ĐỂ GIẢI BÀI TOÁN XÁC ĐỊNH LỘ TRÌNH
GVHD: Th.S. Nguyễn Phương Thảo
SVTH: Trần Thuỷ Tiên 9912704
Trần Hồng Thái 9912071
TP. HỒ CHÍ MINH, 2003
Nghiên cứu planning để giải bài toán xác định lộ trình
1
Lời mở đầu
Từ trước đến nay có rất nhiều bài toán được đặt ra, cần nghiên cứu cách
giả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ủa
cuộc sống. Với sự phát triển mạnh mẽ của công nghệ thông tin như hiện
nay, các bài toán thường được đưa vào máy tính để xử lí. Đa số các bài
toá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 AI
khi bài toán là bài toán thế giới thực được gọi là AI planning. Con người
thường có thói quen dự định một việc gì đó trước khi làm và hầu như con
ngườ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 động
nào có thể đi đến mục tiêu, ta cần cung cấp tri thức cho nó. Tri thức ở đây
rấ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 đại
nhất vẫn không thể cảm nhận hết những thay đổi của môi trường. Tuy
nhiên, đối với một bài toán cụ thể nào đó, máy tính chỉ cần ghi nhận
những tri thức liên quan. Với những tri thức đó bộ lập kế hoạch sẽ giúp
máy tính biết cần hành động thế nào để đạt được mục tiêu bằng cách đưa
ra 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ôn
ngữ, xử lí âm thanh,…đã được nghiên cứu rất nhiều. Nhưng lập kế hoạch
có 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ọn
nhà cửa,…; robot tự động làm việc ở những vị trí khá nguy hiểm cho con
người như nhà cao tầng hay ngoài không gian,…Một sức mạnh khác của
lập kế hoạch tạo ra những robot có thể phản ứng với những biến đổi bất
thườ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ình
2
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 định lộ trình trong thành phố Hồ Chí Minh. Với
cá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ắt
nghẽ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ời
gian, tốc độ, nhiên liệu,…để đến mục tiêu với tri thức được cập nhật
thường xuyên.
Nghiên cứu planning để giải bài toán xác định lộ trình
3
Lời cảm ơn
Chú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ườn
g
Đ
ạ
i H
ọ
c
Khoa Học Tự Nhiên đã tận tình chỉ bảo, tru
y
ền đ
ạ
t nhữn
g
kiế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àn
thà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ấn
g
d
ạy
dỗ để chún
g
con 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òn
nhiều thiếu sót, chúng em kính mong quý thầy cô cùng b
ạ
n
bè đóng góp ý kiến để chúng em có thể khắc phục, hoàn
thiện hơn.
Thành phố Hồ Chí Minh
Tháng 7 – 2003
Nghiên cứu planning để giải bài toán xác định lộ trình
4
NHẬ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ình
5
NHẬ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ình
6
MỤC LỤC
PHẦN I: CƠ SỞ LÝ THUYẾT TRONG LẬP KẾ HOẠCH 11
Lịch sử lập kế hoạch 12
CHƯƠNG 1:CÁC KHÁI NIỆM CƠ BẢN 16
1CÁC THUẬT NGỮ CHUNG TRONG LẬP KẾ HOẠCH 16
2BẢN CHẤT CỦA VẦN ĐỀ LẬP KẾ HOẠCH 18
3MỘT SỐ ỨNG DỤNG CỦA LẬP KẾ HOẠCH TRONG THỰC TẾ 19
3.1. Robot sắp xếp các khối 19
3.2. Robot mua hàng hoá 20
CHƯƠNG 2:CÁC ĐỐI TƯỢNG TRONG LẬP KẾ HOẠCH 22
1 AGENT 22
1.1. Khái niệm 22
1.2. Hành động của agent 23
1.3. Agent program 26
1.4. Các yếu tố để xây dựng agent program 28
1.5. Cấu trúc agent 29
1.6. Các loại agent 30
1.6.1. Agent phản xạ đơn giản 30
1.6.2. Agent lưu vết môi trường 32
1.6.3. Agent dựa trên mục tiêu 34
1.6.4. Agent dựa trên tính hiệu quả 35
2MÔI TRƯỜNG 37
2.1. Khái niệm 37
2.2. Các loại môi trường và thuộc tính của nó 38
2.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ình
7
2.2.2. Môi trường xác định và không xác định 38
2.2.3. Môi trường episodic và nonepisodic 38
2.2.4. Môi trường tĩnh và động 39
2.2.5. Môi trường rời rạc và liên tục 39
CHƯƠNG 3:CÁC LÝ THUYẾT LIÊN QUAN ĐẾN LẬP KẾ HOẠCH 42
1GIẢI TOÁN BẰNG PHƯƠNG PHÁP TÌM KIẾM 42
1.1. Agent giải quyết bài toán 42
1.1.1. Mô tả 42
1.1.2. Ví dụ 43
1.1.3. Chương trình agent giải quyết bài toán đơn giản 43
1.2. Thiết lập bài toán 44
1.2.1. Các kiểu bài toán 45
1.2.1.1. Bài toán trạng thái đơn 45
1.2.1.2. Bài toán đa trạng thái 46
1.2.1.3. Bài toán ngẫu nhiên 46
1.2.1.4. Bài toán khảo sát 47
1.2.2. Định nghĩa bài toán và giải pháp 47
1.2.3. Đo mức độ thực thi của việc giải toán 48
1.2.3.1. Các phương pháp đo độ thực thi 48
1.2.3.2. Ví dụ 49
1.2.4. Chọn trạng thái và hành động 49
1.3. Tìm kiếm giải pháp 51
1.3.1. Tạo các chuỗi hành động 51
1.3.2. Cấu trúc dữ liệu của cây tìm kiếm 54
2GIỚI THIỆU NGÔN NGỮ MÔ TẢ BÀI TOÁN 56
2.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ình
8
2.1.1. Sự trình bày ngôn ngữ 57
2.1.2. Suy luận 59
2.2. Logic mệnh đề 60
2.2.1. Cú pháp 60
2.2.2. Ngữ nghĩa 61
2.3. Logic trật tự đầu tiên 61
2.3.1. Cú pháp và ngữ nghĩa 62
2.3.2. Các ví dụ 63
2.3.3. Lượng từ 64
2.3.4. Những ký hiệu đặt biệt trong tập hợp, danh sách và số học 65
2.3.5. Phép tính tình huống 66
CHƯƠNG 4:CÁC VẤN ĐỀ TRONG LẬP KẾ HOẠCH 69
1GIỚI THIỆU AGENT LẬP KẾ HOẠCH ĐƠN GIẢN 69
2TỪ GIẢI QUYẾT BÀI TOÁN ĐẾN LẬP KẾ HOẠCH 70
3LẬP KẾ HOẠCH SỬ DỤNG PHÉP TÍNH TÌNH HUỐNG 75
4 NGÔN NGỮ STRIPS: NGÔN NGỮ TRÌNH BÀY CƠ BẢN TRONG
LẬP KẾ HOẠCH 77
4.1. Mô tả trạng thái và mục tiêu 77
4.2. Mô tả hành động 78
4.3. Không gian ngữ cảnh và không gian kế hoạch 80
4.4. Trình bày kế hoạch 81
4.5. Giải pháp 85
CHƯƠNG 5:THUẬT TOÁN PARTIAL-ORDER-PLANNING (POP) 88
1MÔ TẢ 88
1.1. Ý tưởng thuật toán 88
1.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ình
9
2VÍ DỤ 90
2.1. Mô tả bài toán 90
2.2. Áp dụng thuật toán POP cho bài toán 91
CHƯƠNG 6:MÔ HÌNH LẬP KẾ HOẠCH PHÂN RÃ PHÂN CẤP 100
1 PHÂN RÃ PHÂN CẤP TOÁN TỬ 100
1.1. Đặt vấn đề 100
1.2. Phân rã phân cấp là gì? 100
1.3. Ví dụ 101
1.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 102
1.4.1. Mở rộng ngôn ngữ STRIPS 102
1.4.2. Thuật toán HD-POP 103
2 PHÂN TÍCH MÔ HÌNH PHÂN RÃ PHÂN CẤP 106
2.1. Giải pháp thuận và giải pháp nghịch 107
2.2. Ví dụ 110
2.3. Sự phân rã và dùng chung 112
PHẦN 2:ỨNG DỤNG LẬP KẾ HOẠCH TRONG BÀI TOÁN TÌM ĐƯỜNG
ĐI 115
1GIỚI THIỆU BÀI TOÁN 115
2ÝTƯỞNG 115
3CÀI ĐẶT AGENT 116
4CÁC CHIẾN LƯỢC 116
5KẾT QUẢ THỰC NGHIỆM 119
5.1. Chiến lược 2 và bộ lập kế hoạch truy hồi 125
5.2. Chiến lược 3 và bộ lập kế hoạch truy hồi 131
6 SO SÁNH LẬP TRÌNH KẾ HOẠCH VÀ LẬP TRÌNH THEO LÝ
THUYẾT ĐỒ THỊ 136
6.1. Thuật toán DijkstraMoore 136
Nghiên cứu planning để giải bài toán xác định lộ trình
10
6.2. Đối với lập trình kế hoạch 136
PHẦN 3: TỔNG KẾT 139
1NHỮNG GÌ ĐÃ LÀM ĐƯỢC 139
2NHỮNG GÌ CHƯA LÀM ĐƯỢC 139
3HƯỚNG PHÁT TRIỂN 140
TÀI LIỆU THAM KHẢO 141
Nghiên cứu planning để giải bài toán xác định lộ trình
11
PHẦN I: CƠ SỞ LÝ THUYẾT
TRONG LẬP KẾ HOẠCH
CHƯƠNG 1:
CÁC KHÁI NIỆM CƠ BẢN
CHƯƠNG 2:
CÁC ĐỐI TƯỢNG TRONG LẬP KẾ HOẠCH
CHƯƠNG 3:
CÁC LÝ THUYẾT LIÊN QUAN ĐẾN LẬP KẾ HOẠCH
CHƯƠNG 4:
CÁC VẤN ĐỀ TRONG LẬP KẾ HOẠCH
CHƯƠNG 5:
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
Nghiên cứu planning để giải bài toán xác định lộ trình
12
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à sự phân tích
“means-ends”, đặt biệt được nhấn mạnh trong GPS (General Problem
Solver) của Newell và Simon (1961). Một phần xuất phát từ việc chứng
minh định lý và tính toán ngữ cảnh, AI planning được nhấn mạnh trong
hệ chứng minh định lý QA3 (Green, 1969). Sự ra đời của planning được
thúc đẩy bởi nhu cầu về robot.
Năm 1971, Fikes và Nilsson xây dựng hệ lập kế hoạch quan trọng
đầu tiên STRIPS mô tả sự tương tác của ba ảnh hưởng này. STRIPS được
thiết kế như thành phần lập kế hoạch của phần mềm cho dự án robot
Shakey ở Học viện nghiên cứu quốc tế Stanford (SRI). Cấu trúc điều
khiển toàn thể của nó được mô hình theo GPS và sử dụng QA3 như là thủ
tục con để thiếtlập điều kiện tiên quyết của hành động.
Năm 1986, Lifschitz đưa ra những phê bình chi tiết và sự phân tích
chính thức đối với hệ thống STRIPS.
Năm 1992, Bylander thể hiện việc lập kế hoạch đơn giản theo dạng
STRIPS, đó là PSPACE hoàn chỉnh.
Nghiên cứu planning để giải bài toán xác định lộ trình
13
Năm 1993, Fikes và Nilsson tiến hành triển lãm lịch sử trên dự án
STRIPS, và chỉ ra cái nhìn tổng quan về mối quan hệ của nó với những
kết quả lập kế hoạch gần đây.
Trong nhiều năm, sự lộn xộn của những thuật ngữ bao trùm lĩnh
vực lập kế hoạch:
• Năm 1987, Genesereth và Nilsson sử dụng thuật ngữ linear để chỉ
trật tự tổng thể và nonlinear chỉ trật tự cục bộ.
• Năm 1975, Sacerdoti sử dụng linear để chỉ thuộc tính mà ta gọi là
không thể xen kẻ. Với tập các mục tiêu con cho trước, bộ lập kế
hoạch không xen kẻ này có thể tìm thấynhững kế hoạch để giải
quyết mỗi mục tiêu con, nhưng sau đó bộ lập kế hoạch chỉ có thể
liên kết chúng bằng cách đặt các bước của kế hoạch con trước hay
sau các bước của những kế hoạch khác. Ở thập niên 70, nhiều bộ
lập kế hoạch là không xen kẻ được, nên chúng không hoàn chỉnh –
chúng không luôn luôn tìm ra giải pháp mặc dù giải pháp đó tồn
tại.
Năm 1975, Waldinger giới thiệu cách lập kế hoạch hồi quy mục tiêu,
cách này tiến đến kế hoạch trật tự tổng thể được sắp xếp lại để tránh sự
mâu thuẩn giữa các mục tiêu con. Năm 1974, cách này cũng được sử
dụng bởi bộ lập kế hoạch WARPLAN của Warren. WARPLAN là bộ lập
kế hoạch đầu tiên sử dụng ngôn ngữ lập trình logic (Prolog). Năm 1975,
Tate với bộ lập kế hoạch INTERPLAN cho phép xen kẽ tuỳ ý các bước
kế 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ế
Nghiên cứu planning để giải bài toán xác định lộ trình
14
hoạch đầu tiên sử dụng thuật toán rõ ràng để xác định những điều kiện
đúng sai ở những điểm khác nhau trong kế hoạch cục bộ.
Năm 1987, Chapman đưa ra TWEAK chính thức là hệ lập kế hoạch
thứ tự cục bộ. Chapman cung cấp sự phân tích chi tiết, bao gồm việc
chứng minh tính hoàn chỉnh và khó khăn của việc thiết lập những bài
toán lập kế hoạch khác nhau và các thành phần con của nó. Thuật toán
POP sử dụng trong luận văn này dựa trên thuật toán SNLP do Soderland
và Weld đưa ra năm 1991, thuật toán này là một cài đặt của bộ lập kế
hoạch mô tả bởi McAllester và Rosenblitt năm 1991.
Năm 1986, tại hội thảo Timberline đã trình bày những bài báo quan trọng
về lập kế hoạch. Reading in Planning (Allen và những người khác, 1990)
là tập hợp nhiều bài báo tốt nhất trong lĩnh vực này. Planning and
Control (Dean và Wellman, 1991) là sách giáo khoa hay giới thiệu tổng
quát về lập kế hoạch, và điều đặt biệt chú ý ở đây là vì nó tạo ra một kết
quả đặt biệt để kết hợp những kỹ thuật AI planning cổ điển với lý thuyết
điều khiển cổ điển và hiện đại, sự suy luận, lập kế hoạch tương tác và
giám sát thực thi.
Năm 1994, Weld cung cấp cái nhìn đặt sắc về các thuật toán lập kế
hoạch hiện đại.
Nghiên cứu planning tập trung vào AI vì đây là điểm xuất phát của
nó, những bài báo về planning đóng vai trò chủ đạo trong những tạp san
và hội nghị AI, nhưng cũng có những hội nghị đặt biệt dành riêng cho
planning, như hội nghị Timberline, hội nghị DARPA, 1990 với những
tiếp cận mới như lập kế hoạch, lập lịch và điều khiểnhay những hội nghị
quốc tế về các hệ AI Planning.
Nghiên cứu planning để giải bài toán xác định lộ trình
15
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ế
Nghiên cứu planning để giải bài toán xác định lộ trình
16
CHƯƠNG 1:
CÁC KHÁI NIỆM CƠ BẢN
1CÁC THUẬT NGỮ CHUNG TRONG LẬP KẾ HOẠCH
Agent-Tác nhân
Là những gì nhận thức từ môi trường xung quanh qua cơ quan cảm giác
và phản ứng trở lại môi trường qua cơ quan phản ứng. Ví dụ: con người,
robot,
Percept - Tri thức
Là kết quả nhận thức của agent đối với môi trường xung quanh.
State - Trạng thái
Là những ảnh chụp nhanh trong mỗi thời điểm cụ thể.
Action - Hành động
Là những phản ứng của agent đối với môi trường, hành động là nguyên
nhân của sự thay đổi trạng thái.
Goal state - Trạng thái mục tiêu
Trạng thái cuối cùng agent cần đạt được sau khi thực hiện kế hoạch.
Initial state - Trạng thái ban đầu
Nghiên cứu planning để giải bài toán xác định lộ trình
17
Trạng thái ban đầu agent có trước khi thực hiện bất kỳ hành động nào.
Agent program - Chương trình tác nhân
Đoạn chương trình cụ thể cài đặt cho một agent cụ thể
Environment - Môi trường
Là tất cả những gì xung quanh agent, cung cấp tri thức cho agent và nhận
những phản ứng của agent.
World state - Trạng thái môi trường
Trạng thái môi trường xung quanh agent được xác định trong những thời
điểm cụ thể.
Plan - Kế hoạch
Là chuỗi hành động do agent tạo ra và được thực thi bởi agent.
Operator - Toán tử
Tập các ký hiệu mô tả hành động của agent, đồng thời mô tả các điều
kiện và kết quả của hành động.
Plan library - Thư viện kế hoạch
Tập luật về các hành động của agent, đây là tập các kế hoạch, thư viện
tuy không đầy đủ tất cả các kế hoạch nhưng thư viện này có thể cập nhật
thường xuyên. Các kế hoạch trong thư viện thường có dạng If … then …
Nghiên cứu planning để giải bài toán xác định lộ trình
18
State space - Không gian trạng thái
Bao gồm những trạng thái có thể có của agent khi thực hiện hành động.
Đối với bài toán cụ thể, không gian trạng thái là hữu hạn.
Plan space - Không gian kế hoạch
Chứa những kế hoạch của agent. Không giống như thư viện kế hoạch,
không gian kế hoạch có thể trùng lắp. Vì thế không gian kế hoạch thường
vô hạn.
Solution - Giải pháp
Là những kế hoạch thu được mục tiêu.
Causal link - Liên kết nhân quả
Là những liên kết tất yếu, khi thực hiện hành động này chắc chắn thu
được trạng thái kia.
2BẢN CHẤT CỦA VẦN ĐỀ LẬP KẾ HOẠCH
Lập kế hoạch cũng là một cách tiếp cận để giải quyết bài toán như bao
cách tiếp cận khác. Tuy nhiên, điều khác biệt của lập kế hoạch so với
những cách tiếp 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
Nghiên cứu planning để giải bài toán xác định lộ trình
19
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 ra những kế hoạch phù hợp.
Trong luận văn này, do sự giới hạn về nhiều mặt, chúng tôi không
thể xây dựng các cơ quan cảm giác và cơ quan phản ứng, chỉ xây dựng bộ
lập kế hoạch tổng quát của agent.
3MỘT SỐ ỨNG DỤNG CỦA LẬP KẾ HOẠCH TRONG
THỰC TẾ
3.1. Robot sắp xếp các khối
Bài toán như sau: có tập hợp các khối lập phương trên bàn. Các khối có
thể sắp xếp thành đống, nhưng chỉ có một khối có thể nằm trên một khối
khác. Một cánh tay robot có thể nhấc một khối lên và di chuyển đến vị trí
khác: lên trên bàn hay lên trên một khối khác. Trong một thời điểm cánh
tay chỉ có thể nhấc một khối, vì vậy nó không thể nhấc một khối đang ở
dưới một khối khác. Mục tiêu sẽ luôn luôn là xây dựng một hay nhiều
đống các khối, cụ thể là giới hạn khối nào trên khối nào. Ví dụ, trạng thái
ban đầu của các khối như sau:
Hình 1.1. Trạng thái ban đầu của các khối trong bài toán sắp xếp các khối
Nghiên cứu planning để giải bài toán xác định lộ trình
20
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:
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 cửa hàng điện
máy mua bếp ga, đến 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à.
Nhấc B
ê
Đặt xuống NhấcC
ê
Đặt lên khối A
Nghiên cứu planning để giải bài toán xác định lộ trình
21
CHƯƠNG 2:
CÁC ĐỐI TƯỢNG TRONG LẬP KẾ
HOẠCH
1. Agent
2. Môi trường
Nghiên cứu planning để giải bài toán xác định lộ trình
22
CHƯƠNG 2:
CÁC ĐỐI TƯỢNG TRONG LẬP KẾ
HOẠCH
1AGENT
1.1. Khái niệm
Agent là các vật có khả năng nhận thức được môi trường xung quanh nó
qua các cơ quan cảm giác và tác động lại môi trường qua các cơ quan
phản ứng.
Hình 2.1 thể hiện sự tương tác giữa agent và môi trường xung
quanh nó qua các cơ quan cảm giác và cơ quan phản ứng.
Ví dụ:
− Agent con người có mắt, tai và các cơ quan khác là cơ quan cảm
giác, còn tay, chân, miệng và các phần cơ thể khác là các cơ quan
phản ứng.
cơ quan vận động
môi
trường
→
?
cơ quan cảm
iá
tri thức
hành động
Hình 2.1 agent tương tác với môi trường qua cơ quan cảm giác và cơ quan phản ứng
Nghiên cứu planning để giải bài toán xác định lộ trình
23
− Agent robot với camera và các bộ dò tìm là cơ quan cảm giác, các
động cơ khác là cơ quan phản ứng.
− Agent phần mềm mã hoá những dòng bit thành tri thức và hành
động của nó.
Không có những đặt trưng rõ ràng để chia môi trường thành agent và
non-agent. Ví dụ, cái đồng hồ có thể là agent, cũng có thể là non-agent.
Bình thường nó là một agent có ý thức luôn hành động đúng nghĩa là luôn
chạy đúng giờ. Nhưng khi ta đi từ Việt Nam sang Nhật, nếu đồng hồ là
một agent có ý thức nó phải tự động tăng hai giờ nữa, nhưng thực tế
không phải vậy. Lúc này đồng hồ chỉ là vật vô tri, ta gọi nó là non-agent.
1.2. Hành động của agent
Agent có ý thức luôn hành động đúng, hành động đúng làm cho agent
thành công. Vấn đề đặt ra là sự thành công của agent được đánh giá như
thế nào và khi nào?
Để đánh giá như thế nào là một agent thành công các chuyên gia
đưa ra nguyên tắt độ đo thực thi. Độ đo này đánh giá mức độ hành động
của agent. Ví dụ, một robot dỡ hàng, độ đo hợp lí sẽ đo số hàng hoá dỡ
được trong một ca 8 giờ. Độ đo tinh vi hơn còn xét đến năng lượng tiêu
thụ (xăng, dầu,…) và tiếng ồn phát ra. Tuy nhiên, không có độ đo cố định
nào phù hợp với tất cả các agent.
Đánh giá khi nào là rất quan trọng. Qua đó có thể biết agent nào
làm việc nhanh, agent nào lười biếng.
Các chuyên gia luôn muốn tạo ra một agent sáng suốt. Agent này
biết trước kết quả của những hành động mà nó thực hiện, nhưng điều này
không khả thi trong thực tế. Vì các agent thường thực hiện hành động mà
không biết kết quả thế nào. Trừ khi nó thực hiện một “quẻ bói”. Tuy
nhiên, sẽ khả thi hơn để tạo ra một agent có ý thức, loại agent này thực
Nghiên cứu planning để giải bài toán xác định lộ trình
24
hiện hành động mà nó cho là đúng, dựa vào tác động của ngữ cảnh,
những kết quả có thể không như mong muốn.
Tóm lại, để biết một agent hoạt động tốt hay không ở một thời
điểm nào đó, ta dựa vào 4 yếu tố sau:
• Độ đo thực thi định nghĩa mức độ thành công.
• Tất cả mọi điều mà agent nhận thức được từ trước đến nay. Lịch
sử tri thức hoàn chỉnh này được gọi là chuỗi nhận thức.
• Những gì mà agent biết về môi trường.
• Những hành động mà agent có thể thực thi.
Một agent là một ánh xạ từ những chuỗi nhận thức sang các hành
động.
Giả sử rằng hành vi của agent chỉ phụ thuộc vào chuỗi nhận thức
của nó, thì bất kỳ một agent cụ thể nào cũng có thể được mô tả bằng một
bảng gồm các hành động tương ứng với mỗi chuỗi nhận thức. (Đối với
hầuhết các agent, bảng này gồm một danh sách rất dài – vô hạn, trừ khi
nó được giới hạn chiều dài của chuỗi nhận thức được xem xét.) Danh
sách này được gọi là một ánh xạ từ các chuỗi nhận thức sang các hành
động. Nói chung, chúng ta có thể tìm thấy ánh xạ mô tả chính xác agent
bằng cách thử tất cả các chuỗi nhậnthức và ghi lại các hành động tương
ứng mà agent thực hiện. (Nếu agent sử dụng các giá trị ngẫu nhiên, thì
phải thử những chuỗi nhận thức vài lần để lấy giá trị trung bình về hành
vi của agent.). Một ánh xạ thể hiệnmột agent và ánh xạ lí tưởng sẽ thể
hiện agent lí tưởng. Để thiết kế agent lí tưởng cần xác định những hành
động mà agent phải thực hiện dựa trên chuỗi tri thức đã có.
Tuy nhiên, không nhất thiết phải tạo một bảng chi tiết cho mọi
chuỗi nhận thức. Ta có thể định nghĩa một ánh xạ cụ thể mà không cần
phải liệt kê tường tận nó. Xét ví dụ sau: một agent đơn giản là hàm tính