Không gian ngữ cảnh và không gian kế hoạch

Một phần của tài liệu Nghiên cứu planning để giải bài toán xác định lộ trình (Trang 81)

4 NGÔN NGỮ STRIPS: NGÔN NGỮ TRÌNH BÀY CƠ BẢN TRONG

4.3.Không gian ngữ cảnh và không gian kế hoạch

Hình 4.1, thể hiện không gian tìm kiếm ngữ cảnh trong môi trường (trong bài toán đi siêu thị). Đường đi trong không gian này từ trạng thái đầu đến trạng thái đích tạo thành một kế hoạch cho bài toán đi siêu thị. Trong ngôn ngữ STRIPS, một bài toán được giải quyết bằng cách bắt đầu ở

trạng thái ban đầu, áp dụng từng toán tử một cho đến khi đạt được trạng thái mục tiêu. Thuật toán giải quyết bài toán như vậy có thể xem như một hệ giải toán nhưng cũng có thể xem là bộ lập kế hoạch. Ngoài ra, nó còn

được gọi là bộ lập kế hoạch không gian ngữ cảnh vì nó tìm kiếm qua không gian ngữ cảnh, và bộ lập kế hoạch tiến vì nó tìm kiếm theo hướng tiến từ ngữ cảnh ban đầu đến ngữ cảnh mục tiêu. Cách tiếp cận qua không gian ngữ cảnh gặp một khó khăn là hệ số rẽ nhánh cao và vì vậy kích thước của không gian tìm kiếm quá lớn.

Một cách để làm giảm hệ số rẽ nhánh là tìm kiếm lùi, từ trạng thái mục tiêu đến trạng thái ban đầu, tìm kiếm như vậy được gọi là lập kế

hoạch truy hồi. Cách tiếp cận này có thể thực hiện được vì các toán tử

chứa đủ thông tin để đi lùi từ sự mô tả cụ thể trạng thái kết quảđến sự mô tả cụ thể trạng thái trước khi toán tửđược áp dụng. Tiếp cận này rất được quan tâm bởi vì trong những bài toán điển hình trạng thái mục chỉ có vài liên kết, mỗi liên kết chỉ có vài toán tử thích hợp, trong khi trạng thái ban

đầu có thể có nhiều toán tử có thể áp dụng. (Một toán tử thích hợp với một mục tiêu, nếu mục tiêu đó là kết quả của toán tử). Tuy nhiên, tìm kiếm ngược rất phức tạp vì sự kiện thu được là những mục tiêu liên kết, không chỉ một.

Tóm lại, các nút trong cây tìm kiếm của bộ lập kế hoạch không gian ngữ cảnh tươngứng với các ngữ cảnh, và đường đi qua cây tìm kiếm là kế hoạch. Kế hoạch này sẽ được trả về bởi bộ lập kế hoạch. Mỗi điểm rẽ nhánh là thêm một bước khác, hoặc là điểm bắt đầu (đối với lập kế

hoạch hồi quy) hoặc là điểm kết thúc (đối với lập kế hoạch tiến) của kế

hoạch.

Một cách tìm kiếm khác là tìm trên không gian kế hoạch, bắt đầu với một kế hoạch đơn giản, chưa hoàn chỉnh, gọi là kế hoạch cục bộ. Sau

đó, ta tìm cách để mở rộng kế hoạch cục bộ cho đến đạt được kế hoạch hoàn chỉnh để giải quyết bài toán. Các toán tử tìm kiếm này là những toán tử trên kế hoạch: thêm một bước, đăt lại thứ tự bước này trước bước khác, cụ thể hoá biến chưa được xác định trước đó, v.v…

Các toán tử trong các kế hoạch xếp vào hai loại. Toán tử lọc lấy kế

hoạch cục bộ và thêm ràng buộc vào nó. Ở đây, kế hoạch cục bộ được xem như sự trình bày một tập các kế hoạch được ràng buộc đầy đủ và hoàn chỉnh. Toán tử lọc loại ra vài kế hoạch trong tập này, nhưng chúng không bao giờ thêm kế hoạch mới vào nó. Những toán tử không phải là toán tử lọc là toán tử chỉnh sửa. Một số bộ lập kế hoạch làm việc bằng cách xây dựng những kế hoạch không chính xác, sau đó “sửa lỗi” chúng bằng các toán tử chỉnh sửa. Ởđây, chỉ sử dụng toán tử lọc.

4.4. Trình bày kế hoạch

Khi tìm kiếm qua không gian kế hoạch, ta cần có cách để biểu diễn các kế

hoạch đó. Xét một bài toán cụ thể: mang một đôi giày. Mục tiêu là các liên kết: RightShoeOnLeftShoeOn, trạng thái ban đầu không có gì hết, và bốn toán tử là:

Op(ACTION:RightShoe,PRECOND:RightSockOn,EFFECT:RightS

hoeOn)

Op(ACTION:RightSock,EFFECT:RightSockOn)

Op(ACTION:LeftShoe,PRECOND:LeftSockOn,EFFECT:LeftShoe On)

Kế hoạch cục bộ của bài toán này bao gồm hai bước RightShoe

LeftShoe. Nhưng bước nào sẽ làm trước? Nhiều bộ lập kế hoạch sử dụng nguyên tắc chuyển giao ít nhất, nguyên tắc này nói rằng chỉ nên chọn những gìđang được quan tâm trong hiện tại, để các lựa chọn khác lại, giải quyết sau, vì nếu ta lựa chọn những gì mà hiện tại không quan tâm, thì rất dễ lựa chọn sai và sau đó phải quay lui trở lại. Bộ lập kế hoạch chuyển giao ít nhất có thể bỏ qua thứ tự của hai bước. Đến bước thứ ba, Right Sock, được thêm vào kế hoạch, phải chắc rằng việc mang vớ phải (Right Sock) phải đi trước việc mang giày phải (Right Shoe), nhưng không quan tâm thứ tự của nó đối với việc mang giày trái (Left Shoe). Bộ lập kế

hoạch có thể trình bày kế hoạch với vài bước được sắp thứ tự (trước sau) so với các bước khác và những bước còn lại không được sắp thứ tự gọi là bộ lập kế hoạch thứ tự cục bộ.

Một bộ lập kế hoạch khác là bộ lập kế hoạch thứ tự tổng thể, trong

đó các kế hoạch bao gồm danh sách các bước đơn giản. Một kế hoạch có thứ tự toàn cục kế thừa từ kế hoạch P bằng cách thêm các ràng buộc về

thứ tựđược gọi là một tuyến tính hoá kế hoạchP.

Ví dụ socks-and-shoes thể hiện được nguyên tắc chuyển giao ít

nhất, nhưng bộ lập kế hoạch cũng phải chuyển đổi để kết các biến trong toán tử. Ví dụ, một trong những mục tiêu cần đạt là Have(Milk), và có hành động là Buy(item, store). Sự chuyển giao dễ nhận thấy là chọn hành

động này với biến itemđược kết vớiMilk. Tuy nhiên, không có lí do nào

để ràng buộc biến store, vì vậy, theo nguyên tắt chuyển giao ít nhất thì biến này chưa cần ràng buộc, việc lựa chọn sẽ thực hiện ở lần sau. Có thể (adsbygoogle = window.adsbygoogle || []).push({});

có một mục tiêu khác sẽ mua một món hàng (item) mà chỉ có trong một cửa hàng (store) cụ thể. Nếu cửa hàng đó cũng có sữa ta sẽ ràng buộc biếnstorevới một cửa hàng cụ thể tại thời điểm đó. Bằng cách trì hoãn sự

hơn ở những lần sau. Phương pháp này cũng giúp loại bớt những kế

hoạch xấu. Giả sử có lí do nào đó nhánh của không gian tìm kiếm chứa hành động Buy(Milk,store) đi đến thất bại do những nguyên nhân không liên quan đến lựa chọn cửa hàng (như agent không có tiền). Nếu biến

store bị ràng buộc với một cửa hàng cụ thể thì thuật toán tìm kiếm bắt buộc phải quay lui và xem xét một cửa hàng khác. Nhưng nếu biến không bị ràng buộc thì không có lựa chọn nào để quay lại và thuật toán có thể bỏ

toàn bộ nhánh này của cây tìm kiếm mà không phải liệt kê bất kì cửa hàng nào. Những kế hoạch mà mỗi biến đều ràng buộc với một hằng

được gọi là kế hoạch được thể hiện đầy đủ.

Sự trình bày kế hoạch cho phép trì hoãn các sự chuyển giao về xếp thứ tự và ràng buộc các biến. Một kế hoạch được định nghĩa là một cấu trúc dữ liệu bao gồm bốn thành phần sau:

• Một tập của các bước kế hoạch. Mỗi bước là một trong những toán tử của bài toán.

• Một tập các ràng buộc thứ tự các bước. Mỗi ràng buộc thứ tự có dạng Si p Sj, đọc là “Si trước Sj”, nghĩa là bước Si phải xuất hiện trước bước Sj(không cần phải xuất hiện liền ngay trước).

• Một tập ràng buộc các biến. Mỗi ràng buộc của biến có dạng v = x, vớivlà một biến trong các bước vàxlà một hằng hay biến khác.

• Một tập các liên kết nhân quả:, được viết dưới dạng Si c Sj đọc là bước Si thu được điều kiện tiên quyết c cho bước Sj. Liên kết nhân quảdùng để ghi mục tiêu của các bước trong kế hoạch:ở đây, mục tiêu củaSi là thu được điều kiện tiên quyếtccủaSj.

Kế hoạch ban đầu, trước khi sử dụng bất kỳ toán tử lọc nào, nó mô tả bài toán chưa được giải quyết. Gồm hai bước, StartFinish, với ràng buộc

liên kết với chúng, vì vậy vào thời điểm thực thi kế hoạch các hành động này bị bỏ qua. BướcStartkhông có điều kiện tiên quyết và kết quả của nó là thêm tất cả các mệnh đề đúng ở trạng thái ban đầu. Bước Finish

điều kiện tiên quyết chính là trạng thái mục tiêu và không có kết quả.

Định nghĩa bài toán theo kiểu này, bộ lập kế hoạch có thể bắt đầu với kế

hoạch ban đầu và thao tác nó cho đến khi có được kế hoạch cuối cùng gọi là giải pháp. Kế hoạch banđầu của bài toánshoes-and-socksnhư sau:

Plan(STEPS:{S1:Op(ACTION:Start),

S2:Op(ACTION:Finish,

PRECOND:RightShoeOnLeftShoeOn)}, ORDERINGS:{S1 p S2},

BINDINGS:{}, LINKS:{})

Hình 4.3a thể hiện hai toán tử Start và Finish của kế hoạch. Hình (*) (b) thể hiện kế hoạch ban đầu của bài toán shoes-and-socks.

Start

Finish Finish

Start

Initial State

Goal State LeftShoeOn, RightShoeOn

(a) (b)

Hình 4.3(a) Bài toán được định nghĩa bởi các kế hoạch cục bộ chỉ chứa các bướcStart

Finish. Trạng thái ban đầu được đưa vào như là kết quảcủa bướcStart, và trạng thái đích là

điều kiện tiên quyết của bướcFinish. Các ràng buộc thứ tựđược thể hiện bằng hình mũi tên giữa các hộp. (b) Kế hoạch ban đầu cho bài toán shoes-and-socks. (adsbygoogle = window.adsbygoogle || []).push({});

Hình 4.4 thể hiện kế hoạch thứ tự cục bộ là giải pháp cho bài toánshoes-

and-socks và sáu kế hoạch tuyến tính khác. Qua ví dụ này, cho thấy sự

trình bày kế hoạch thứ tự cục bộ là một sức mạnh vì nó cho phép bộ lập kế hoạch bỏ qua những lựa chọn thứ tự không ảnh hưởng đến sự chính xác của kế hoạch. Khi số bước tăng lên, số lần lựa chọn thứ tự cũng tăng lên theo số mũ.

4.5. Giải pháp

Một giải pháp là một kế hoạch có thể thực thi và đảm bảo đạt được mục tiêu. Chỉ những kế hoạch được thứ tự hoàn toàn và được thể hiện đầy đủ

mới là giải pháp. Nhưng điều này không phù hợp, vì 3 nguyên nhân sau: 1. Với các bài toán như ở hình 4.4, sẽ tự nhiên hơn khi bộ lập kế

hoạch trả về một kế hoạch có trật tự cục bộ hơn là chọn một trong số các kế hoạch tuyến tính.

2. Một số agent có khả năng thực thi các hành động song song, vì vậy cho phép các giải pháp có các hành động song song.

Kếhoạch thứtựcục bộ: Các kếhoạch thứtựtổng thể: Left Sock Finish Start Left Shoe Right Shoe Right Sock LeftSockOn RightSockOn LeftShoeOn, RightShoeOn Right Sock Left Sock Right Shoe Left Shoe Start Finis h Right Sock Left Sock Left Shoe Right Shoe Start Finis h Left Sock Right Sock Right Shoe Left Shoe Start Finis h Left Sock Right Sock Left Shoe Right Shoe Start Finis h Right Sock Right Shoe Left Sock Left Shoe Start Finis h Left Sock Left Shoe Right Sock Right Shoe Start Finis h

Hình 4.4 Một kế hoạch thứ tự cục bộ với việc mang giày và vớ (bao gồm các điều kiện tiên

3. Khi tạo những kế hoạch để liên kết với những kế hoạch khác để

giải quyết những bài toán lớn hơn, bộ lập kế hoạch gặp rất nhiều khó khăn bởi thứ tự cục bộ của các hành động.

Vì những nguyên nhân này, ta xem kế hoạch thứ tự cục bộ là giải pháp theo định nghĩa sau: lời giải là một kế hoạch hoàn chỉnh và nhất quán ( complete, consistent plan). Các thuật ngữ này được định nghĩa như sau:

Kế hoạch hoàn chỉnhlà kế hoạch mà mỗi điều kiện tiên quyết của mỗi bước thu được bởi những bước khác. Một bước thu được điều kiện nếu điều kiện là một trong những kết quả của bước đó, và không có bước nào khác có thể huỷ bỏ điều kiện đó. Nói cách khác, bước Si thu được

điều kiện tiên quyếtccủa bước Sjnếu:

1) Si p Sjc ∈ EFECTS(Si);

2) Không có bướcSknào mà (¬c)∈ EFFECTS(Sk), vớiSi p Sk p Sjtrong kế hoạch tuyến tính.

Kế hoạch nhất quán thì không có sự tương phản trong thứ tự hoặc ràng buộc các biến. Sự tương phản xuất hiện khi cả hai Si p SjSj p Si xảy ra hay cả haiv= Av= B xảy ra (với hai hằng A, B khác nhau). Dấu p và = là những ràng buộc, ví dụ, một kế hoạch vớiS1 p S2,S2 p S3S3 p S1

là không nhất quán.

Kế hoạch cục bộ trong hình 4.4 là một giải pháp vì tất cả các điều kiện tiên quyết đều thu được. Từ những định nghĩa trước, ta thấy rằng bất kỳ giải pháp tuyến tính nào cũng là giải pháp. Vì vậy, agent có thể thực thi bất kì kế hoạch thứ tự nhất quán nào với những ràng buộc cho đến khi chắc chắn thu được mục tiêu.

CHƯƠNG 5:

THUẬT TOÁN PARTIAL-ORDER- PLANNING (POP)

1 Mô t

1.1 Ý tưởng thut toán1.2 Chi tiết thut toán 1.2 Chi tiết thut toán 2 Ví d

2.1 Mô t bài toán

CHƯƠNG 5:

THUẬT TOÁN PARTIAL-ORDER- PLANNING (POP)

1 MÔ TẢ

1.1. Ý tưởng thuật toán

Thuật toán bắt đầu xử lí trên kế hoạch cục bộ nhỏ nhất đi dần đến kế (adsbygoogle = window.adsbygoogle || []).push({});

hoạch toàn cục bằng cách từng bước mở rộng kế hoạch. Ở mỗi bước mở

rộng, thuật toán tìm kiếm hành động kế tiếp và điều kiện tiên quyết để

thực hiện hành động đó. Nó ghi nhận liên kết nhân quả cho điều kiện tiên quyết mới thu được và giải quyết bất kì mâu thuẩn nào với các liên kết

đó. Bước mới có thể huỷ một liên kết đã tồn tại hoặc một bước đã tồn tại có thể huỷ một liên kết mới. Nếu tại vị trí nào đó, thuật toán không tìm thấy toán tử phù hợp hoặc không giải quyết được mâu thuẫn, bộ lập kế

hoạch phải quay về điểm lựa chọn trước đó. POP là thuật toán truy hồi, tìm kiếm qua không gian kế hoạch, thuật toán bắt đầu từ những mục tiêu cần thu được và đi lùi để tìm những toán tử mà từ đó thu được mục tiêu. Một khi nó đã tìm ra tất cả các điều kiện tiên quyết của tất cả các bước, thuật toán hoàn tất và tìm ra giải pháp. Đây là thuật toán đầy đủ và hoàn chỉnh, nếu bài toán có giải pháp thì thuật toán luôn tìm thấy các giải pháp này.

1.2. Chi tiết thuật toán

Sự lựa chọn một bước và một điều kiện tiên quyết trong SELECT- SUBGOAL không đápứng việc quay lui. Nguyên nhân các điều kiện tiên quyết không cần quản lí một cách thứ tự: quản lí c1, sau đó là c2 cũng như quản lí c2 và sau đó là c1. Vì vậy, có thể lấy một điều kiện tiên quyết và chuyển lên đầu mà không lo gì về việc quay lui. Việc làm này chỉ ảnh hưởng đến tốc độ chớ không ảnh hưởng gì đến khả năng tìm kiếm giải pháp. Phương phápPromotionDemotion được mô tả sau.

functionPOP(initial,goal,operators)returnsplan plan– MAKE-MINIMAL-PLAN(initial,goal)

loop do

ifSOLUTION?(plan)then returnplan

Sneed,c– SELECT-SUBGOAL(plan)

CHOOSE-OPERATOR(plan, operators,Sneed,c) RESOLVE-THREATS(plan)

end

functionSELECT-SUBGOAL(plan)returnsSneed,c

lấy một bước kế hoạchSneedtừ STEPS(plan) với điều kiện tiên quyếtcchưa thu được

returnSneed,c

procedureCHOOSE-OPERATOR(plan, operators,Sneed,c)

chọn một bướcSaddtừ những toán tử hay STEPS(plan) mà cóclà kết quả

ifkhông có bước như vậythen fail

thêm liên kết nhân quảSadd→c Sneedvào LINKS(plan) thêm ràng buộc thứ tựSaddp Sneedvào ORDERINGS(plan)

ifSaddlà một bước được thêm mới từ các toán tửthen

thêmSaddvào STEPS(plan)

thêmStart p Saddp Finishvào ORDERINGS(plan)

procedureRESOLVE-THREATS(plan)

for eachSthreathuỷ liên kếtSi→c Sjtrong LINKS(plan)do choosehoặc

Promotion: ThêmSthreat p Sivào ORDERINGS(plan)

Demotion: ThêmSj p Sthreatvào ORDERINGS(plan)

if not CONSISTENT(plan)then fail end

2 VÍ DỤ

Bộ lập kế hoạch bắt đầu với kế hoạch ban đầu trình bày các bước Start và Finish, và trong mỗi lần lập lại sẽ thêm vào một một bước nữa. Nếu điều này sẽ dẫn đến một kế hoạch không nhất quán, nó sẽ quay lui và cố gắng tìm một nhánh khác trong không gian tìm kiếm. Để giữ cho việc tìm kiếm (adsbygoogle = window.adsbygoogle || []).push({});

đúng trọng tâm, bộ lập kế hoạch chỉ quan tâm đến việc thêm những bước

Một phần của tài liệu Nghiên cứu planning để giải bài toán xác định lộ trình (Trang 81)