Nama : Resdian Galih P
NIM : 1630511003
1. Pengertian Goal Stuck Planning
adalah Dalam menyelesaikan sebuah masalah, GSP menggunakan sebuah stack untuk menampung kondisi-kondisi (kondisi goal dan kondisi-kondisi
yang mungkin terjadi ketika pencarian solusi) dan operator-operator yang telah
diajukan untuk memenuhi kondisi-kondisi tersebut.
2. Fungsi
3. Langkah - Langkah Kerja
a. Langkah pertama GSP
dalam menyelesaikan sebuah masalah adalah menempatkan kondisi-kondisi
goal-state pada stack. Kondisi-kondisi tersebut akan disimpan di dalam
sebuah slot stack.
b. Langkah kedua, mengacu
pada current -state, kondisi-kondisi goal-state yang belum tercapai
dimasukkan ke dalam stack, masing-masing menempati sebuah slot. GSP
tidak memiliki aturan khusus yang mengatur urutan pemasukan ke
dalam stack dari kondisi-kondisi yang belum tercapai tersebut.
c. Langkah ketiga, slot
terisi yang berada paling atas pada stack akan diperiksa. Hal-hal
yang akan dilakukan bergantung pada kondisi slot tersebut. Kondisi yang mungkin
terjadi pada slot tersebut adalah sebagai berikut:
Kondisi 1
Jika slot berisi kondisi yang sudah memenuhi
current -state, tetapi slot tidak terletak di dasar stack dan juga tidak
terletak di atas slot yang berisi operator, maka isi slotakan di-pop dari stack
dan pemeriksaan dilanjutkan pada slot berikutnya.
Kondisi 2
Jika slot berisi kondisi yang belum memenuhi
current –state maka isi slot akan di-pop dari stack. Kemudian, sebuah
operator yang sesuai untuk mencapai kondisi tersebut akan dimasukkan ke dalam
stack. Setelah itu, serangkaian kondisi yang dibutuhkanagar operator itu bisa
diaplikasikan akan dimasukkan ke dalam sebuah slot stack. Selanjutnya, setiap
kondisi dari rangkaian kondisi yang dibutuhkan operator agar dapat
diaplikasikan tersebut akan dimasukkan ke dalam sebuah slot secara terurut,
dimana kondisi yang harus dicapai paling akhir dimasukkan pertama kali.
Kondisi 3
Jika slot berisi kondisi atau rangkaian
kondisi dan slot tersebut berada di atas slot yang berisi operator, maka isi
slot teratas dari stack tersebut akan di-pop. Kemudian, operator pada slot
berikutnya akan di-pop dan dimasukkan ke dalam antrian operator dalam
rencana penyelesaian dan current –state di-update dengan mengaplikasikan
operator tersebut pada current –state berdasarkan daftar-PAD.
Kondisi 4
Jika slot yang diperiksa adalah slot terdasar
maka akan diuji kesamaan antara current – state dan goal-state. Jika
sama (berarti goal-state telah tercapai) maka isi slot akan di- pop
dan pencarian rencana penyelesaian dihentikan. Jika berbeda (goal-state belum
tercapai) maka langkah ke dua diulangi. Jika kondisi yang terjadi bukan kondisi
4,setelah rangkaian tindakan yang bersesuaian dilakukan, langkah ketiga
diulangi
GSP mungkin menemui jalan buntu yang disadari
(meningkatkan biaya komputasi) atau pun yang tidak disadari (membuat rencana
penyelesaian tidak efisien). Jalan buntu yang tidak disadari disebabkan karena
GSP tidak memiliki aturan untuk mengurutkan pemasukan kondisi goal-state
yang belum tercapai ke alam stack (langkah ke-2).
4. Contoh Kasus
Contoh aplikasi goal stack planning adalah the block
world, lengan robot yang bekerja memindahkan block

Dalam the block world terdiri dari operator dan
predicate:
#Predicate:
ON(A,B) – Block A berada di atas block B
ONTABLE(A) – Block A berada di table/meja
CLEAR(A) – Di atas block A tidak terdapat block lain
HOLDING(A) – lengan holding/memegang block A
ARMEMPTY – lengan kosong(tidak memegang block apapun)
#Operator:
STACK(A,B) – Menumpuk block A di atas block B. Dengan
kondisi awal HOLDING(A) dan CLEAR(B)
UNSTACK(A,B) – Mengambil block A dari atas block B.
Dengan kondisi awal ARMEMPTY dan CLEAR(A)
PICKUP(A) – Mengambil block A dari atas meja dan
memegangnya. Dengan kondisi awal ARMEMPTY dan CLEAR(A)
PUTDOWN(A) – Menaruh block A di atas meja. Dengan
kondisi awal HOLDING(A)
Contoh Soal:

state diurutkan dari kiri bawah:
start state: ONTABLE(A) ∧
ON(C,A) ∧ CLEAR(C) ∧ ONTABLE(B) ∧ CLEAR(B) ∧ ARMEMPTY
goal state: ONTABLE(C) ∧
ON(B,C) ∧ ON(A,B) ∧ CLEAR(A) ∧ ARMEMPTY
1.
Step pertama adalah menentukan operator apa yang dipakai untuk mendapatkan
state kiri bawah goal(ONTABLE(C)). Di atas setiap operator merupakan pre
condition sebelum operator dijalankan, sedangkan di bawahnya post condition
setelah operator dijalankan. Setelah itu cocokkan pre condition teratas dengan
start state.
2. 
Clear(C) dan Empty merupakan pre dan post condition yg
saling berhubungan, maka dapat dihubungan dengan garis panah
putus-putus. Sedangkan Clear(B) dan Clear(A) tidak memiliki pasangan post
conditionnya, maka kita tandai dengan oval
3. 
Ketika sudah selesai, maka kita hubungkan semua
operator mulai dari kiri atas. Itulah langkah-langkah untuk mengubah urutan
start state menjadi goal state
5 Referensi