Anda di halaman 1dari 2

1 Inisialisasi node_start di OPEN list dengan f (node_start) = h (node_start)

2 while OPEN != NULL


3 {
4 Ambil dari open list pada node node_current dengan harga terendah
5 f (node_current) = g(node_current) + h (node_current)
6 if node_current == node_goal
7 break
8 Buat tiap hasil node_successor yang datang setelah node_current

9 for tiap node_successor dari node_current


10 {
11 Tetapkan successor_current_cost = g(node_current) = w
(node_current, node_successor)

12 if node_successor di OPEN list


13 {
14 if g(node_successor) ≤ successor_current_cost
15 continue ke line 31
16 }
17 else if node_successor di CLOSED list

18 {
19 if g(node_successor) ≤ successor_current_cost
20 continue ke line 31
21 Pindahkan node_successor dari CLOSED list ke OPEN list

22 }
23 else
24 {
25 Tambahkan node_successor ke OPEN list
26 Buat h (node_successor) menjadi jarak heuristic ke node_goal
27 }
28 Tetapkan g(node_successor) = successor_current_cost

29 Tetapkan parent dari node_successor ke node_current


30 }
31 Tambahkan node_current ke CLOSED list

32 }
33 if(node_current != node_goal) error OPEN list kosong

Anda mungkin juga menyukai