Planning adalah metode dalam menyelesaikan masalah dengan cara memecahkan masalah dalam sub masalah yang lebih kecil, lalu sub masalah diselesaikan satu demi satu, dan kemudian menggabungkan kembali solusi dari sub masalah menjadi solusi lengkap. Planning mengatasi kesulitan dalam search based problem solving.The Block World:
- Operator
- UNSTACK(A,B)-Ambil block A dari posisi saat ini di atas block B. Arm (tangan) harus kosong dan block A harus kosong di atasnya.
- STACK(A,B)-Tempatkan block A di atas block B. Arm harus memegang A dan permukaan B harus kosong.
- PICKUP(A)-Ambil block A dari meja dan pegang. Arm harus empty dan harus tidak ada apa-apa di atas block A.
- PUTDOWN(A)- Letakkan block A ke atas meja. Arm harus sudah memegang block A.
- Predicate
- ON(A,B)-Block A di atas block B.
- ONTABLE(A)-Block A ada di meja.
- CLEAR(A)-Tidak terdapat block lain di atas block A.
- HOLDING(A)-Arm memegag block A.
- ARMEMPTY-Arm tidak memegang block apapun (kosong).
Terdapat dua cara untuk menyelesaikan yaitu
- Goal Stack Planning (GSP)
Goal stack planning adalah salah satu teknik untuk menyelesaikan kumpulan goal yang berinteraksi dengan menggunakan goal stack (stack dari goal). Goal Stack Planning disebut juga sebagai Linear Planning. Linear Planning lebih terstruktur. - Constraint Posting (CP)
Constraint Posting disebut juga sebagai Non Linear Planning. Heuristik untuk Planning dengan menggunakan Constraint Posting :- Step addition – membuat langkah plan baru.
- Promotion – membatasi satu langkah sebelum yang lain dalam plan akhir.
- Declobbering – menempatkan satu (mungkin baru) diantara 2 langkah yang ada
- Simple establishment – memberikan nilai ke variabel, utk meyakinkan prekondisi dari beberapa langkah.
- Separation – menjaga pemberian harga tertentu ke variabel.
Cara GSP dan CP akan menghasikan hasil yang sesuai yang membedakan hanyalah cara yang digunakan dalam menyelesaikan masalah yang ada.