Goal Stack Planning
- Gunakanlah aturan yang terbaik berdasarkan informasi heuristik yang ada.
- Gunakanlah aturan yang dipilih untuk mengkomputasi kondisi awal masalah.
- Deteksi ketika solusi telah ditemukan.
- Deteksi ketika menemukan jalan buntu sehingga itu bisa dibiarkan agar sistem dapat beralih ke arah yang lain.
- Deteksi ketika ada solusi yang hampir benar, lalu gunakan teknik spesial sehingga solusi tersebut menjadi benar.
Operator pada Block World:
- UNSTACK(A,B): Mengangkat balok A yang berada diatas balok B. (Syarat: tidak ada balok lain diatas balok A)
- STACK(A,B): Menaruh balok A keatas balok B. (Syarat: tidak ada balok lain diatas balok B)
- PICKUP(A): Mengangkat balok A yang berada diatas meja. (Syarat: tidak ada balok lain diatas balok A)
- PUTDOWN(A): Menaruh balok A keatas meja.
Predikat pada Block World:
- ON(A,B): berarti balok A berada diatas balok B.
- ONTABLE(A): berarti balok A berada diatas meja.
- CLEAR(A): berarti tidak ada balok lain diatas balok A.
- HOLDING(A): berarti tangan sedang memegang balok A.
- ARMEMPTY: berarti tangan sedang tidak memegang balok.
Setidaknya ada 2 metode Goal Stack Planning yaitu:
- Linear
- Non-Linear
Langkah-langkah Linear:
- Mendefinisikan predikat-predikat pada kondisi akhir dan awal.
- Mulailah membuka predikat-predikat pada kondisi akhir sampai sesuai dengan kondisi awal.
- Hubungkanlah precondition dan postcondition sama.
Contoh Goal Stack Planning Linear:
Langkah-langkah Non-Linear:
- Step Addition: Menambah langkah baru.
- Promotion: Membandingkan langkah mana yang harus terlebih dulu dijalankan.
- Declobbering: Menyisipkan langkah baru diantara dua langkah.
- Simple Establishment: Memberikan nilai ke suatu variable untuk memastikan precondition dari beberapa langkah.
- Separation: Mencegah pemberian nilai ke suatu variabel.
Contoh Goal Stack Planning Non-Linear (berdasarkan kondisi diatas):
Sekian dulu untuk Goal Stack Planning kali ini.
Terima kasih sudah meyempatkan waktu untuk membaca ini :D.
www.binus.ac.id