18
METODE A* (BINTANG) Susana O. Kase Jayner E. Wennyi Happy Maydiani Hadi Kurniasih Anggriyani S. Artificial Intelligence – Searching Kelompok 5 : FST – UNDANA

Artificial Intelligence - A Star

Embed Size (px)

DESCRIPTION

Menjelaskan metode pencarian dalam kecerdasan buatan yaitu Metode A Star (A Bintang) disertai dengan contoh kasus.

Citation preview

Page 1: Artificial Intelligence - A Star

METODE A* (BINTANG)

Susana O. KaseJayner E. WennyiHappy Maydiani

Hadi KurniasihAnggriyani S.

Manafe

Artificial Intelligence – Searching

Kelompok 5 :

FST – UNDANAIlmu Komputer

Page 2: Artificial Intelligence - A Star

Apakah itu Algoritma A Bintang ?

Merupakan salah satu dari algoritma yang menerapkan teknik heuristik (teknik pencarian terbimbing).

Algoritma ini dipelajari untuk menyelesaikan permasalahan yang menggunakan graf untuk perluasan ruang statusnya.

Dengan kata lain digunakan untuk menyelesaikan permasalahan yang bisa direpresentasikan dengan graf.

?

Page 3: Artificial Intelligence - A Star

Algoritma ini merupakan algoritma Best First Searchyang menggabungkan antara :

Uniform Cost Search (UCS)Mengurutkan urutan biaya sebenarnya dari yang paling kecil sampai yang terbesar. UCS berusaha menemukan solusi dengan total biaya terendah yang dihitung berdasarkan biaya dari simpul asal menuju simpul tujuan. Biaya dilambangkan dengan g(n).

Greedy Best-First SearchHanya memperhitungkan biaya perkiraan

(estimated cost) saja, yaitu f(n) = h(n). Biaya sebenarnya tidak diperhitungkan.

&

Jadi,Biaya yang di perhitungkan dalam metode A

Bintang didapat dari biaya sebenarnya ditambah dengan biaya perkiraan.

f(n) = g(n) + h(n)

Dengan perhitungan biaya seperti ini, algoritma A* adalah complete dan optimal.

Page 4: Artificial Intelligence - A Star

Terdapat tiga kondisi bagi setiap suksesor yang dibangkitkan :

Algoritma A* menggunakan 2 senarai, yaitu OPEN dan CLOSED.

sudah berad

a di OPEN

sudah berada di CLOSED

Tidak di OPEN / CLOSED

Pada ketiga kondisi tersebut diberikan penanganan yang

berbeda-beda

Page 5: Artificial Intelligence - A Star

Lakukan pengecekan apakah perlu pengubahan parent

atau tidak tergantung pada nilai g-nya melalui parent lama atau parent baru. Jika

melalui parent baru memberikan nilai g yang lebih kecil, maka dilakukan pula perbaruan

(update) nilai g dan f pada suksesor tersebut. Dengan perbaruan ini, suksesor tersebut

memiliki kesempatan yang lebih besar untuk terpilih sebagai simpul terbaik (best node).

Jika suksesor sudah pernah berada di OPEN

Page 6: Artificial Intelligence - A Star

Lakukan pengecekan apakah perlu pengubahan parent atau tidak. Jika ya, maka dilakukan perbaruan nilai g dan f pada suksesor tersebut serta pada semua “anak cucunya” yang sudah pernah berada di OPEN. Dengan perbaruan ini, maka semua anak cucunya tersebut memiliki kesempatan lebih besar untuk terpilih sebagai simpul terbaik (best node).

Jika suksesor sudah pernah berada di

CLOSED

Page 7: Artificial Intelligence - A Star

Jika suksesor tidak berada di OPEN maupun CLOSED, maka suksesor tersebut dimasukkan

ke dalam OPEN. Tambahkan suksesor tersebut sebagai suksesornya best node.

Hitung biaya suksesor tersebut dengan rumus f = g + h.

Jika suksesor tidak berada di OPEN maupun CLOSED

Page 8: Artificial Intelligence - A Star

Pseudocode AlgoritmaA* (A Bintang)

elseIf suksesor ada di

CLOSED then {sudah pernah dibangkitkan dan sudah diproses}

OLD = simpul di CLOSED yang sama dengan suksesor tersebut

Tambahkan OLD sebagai suksesor BestNode

Bandingkan nilai g(OLD) dengan g(suksesor)

If g(OLD) lebih baik then

Ubah parent OLD ke BestNode

Ubah nilai g dan f yang ada pada OLDPropagasi untuk semua suksesor OLD dengan penelusuran DFS dengan aturan.

loop sampai simpul suksesor tidak ada di OPEN atau simpul tidak punya suksesor

If suksesor ada di OPEN then

Propagasi diteruskan

else

If nilai g via suksesor lebih baik then

Propagasi diteruskan

else

Propagasi dihentikan

end

endend

else {suksesor tidak ada di OPEN maupun CLOSED}

Masukan suksesor ke OPEN

Tambahkan suksesor tersebut sebagai suksesornya BestNode

Hitung f = g(suksesor) + h(suksesor)

endend

endend

function A* (masalah) returns solusiOPEN ← SCLOSED ← array kosong loop sampai gol ditemukan atau sampai tidak ada simpul di dalam OPEN

If OPEN = kosong then Gagal

else BestNode = simpul yang ada di OPEN dengan f minimalPindahkan simpul terbaik tersebut dari OPEN ke CLOSEDIf BestNode = goal then

Sukseselse

Bangkitkan semua suksesor BestNode tapi jangan buat pointer

Untuk setiap suksesor kerjakan :Hitung g(suksesor) = g(BestNode) + actual

cost(dari BestNode ke suksesor){Periksa suksesor}

If suksesor ada di OPEN then {sudah pernah dibangkitkan tapi belum diproses}

OLD = simpul di OPEN yang sama dengan suksesor tersebut

Tambahkan OLD sebagai suksesor BestNode

Buat pointer dari OLD ke BestNode

Bandingkan nilai g(OLD) dengan g(suksesor)

If g(OLD) lebih baik then Ubah parent

OLD ke BestNodeUbah nilai g

dan f yang ada pada OLDend

Page 9: Artificial Intelligence - A Star

CONTOH KASUS

n S A B C D E F G H J K L M

h(n) 80 80 60 70 85 74 70 0 40 100 30 20 70

Suatu Kota

Biaya sebenarnya

KOTABiaya Perkiraan

RUTE DI SUATU DAERAH

Carilah rute terpendek dari S menuju ke G, dengan biaya paling minimal!

Page 10: Artificial Intelligence - A Star

OPEN :

LANGKAH 1

S CLOSED : SA, B, C, D, E

n S A B C D E F G H J K L M

h(n) 80 80 60 70 85 74 70 0 40 100 30 20 70

Page 11: Artificial Intelligence - A Star

OPEN :

LANGKAH 2

CLOSED : SA, B, C, D, E , E, J

n S A B C D E F G H J K L M

h(n) 80 80 60 70 85 74 70 0 40 100 30 20 70

Page 12: Artificial Intelligence - A Star

OPEN :

LANGKAH 3

CLOSED : S, EA , B, B, C, D, J, C, D, J, F, K

n S A B C D E F G H J K L M

h(n) 80 80 60 70 85 74 70 0 40 100 30 20 70

Page 13: Artificial Intelligence - A Star

OPEN :

LANGKAH 4

CLOSED : S, E, BA, C, D, F, J, KC, D, F, J, K , A, G

n S A B C D E F G H J K L M

h(n) 80 80 60 70 85 74 70 0 40 100 30 20 70

Page 14: Artificial Intelligence - A Star

OPEN :

LANGKAH 5

CLOSED : S, E, B, AC, D, F, G, J, KC, D, G, J, K , F

n S A B C D E F G H J K L M

h(n) 80 80 60 70 85 74 70 0 40 100 30 20 70

Page 15: Artificial Intelligence - A Star

OPEN :

LANGKAH 6

CLOSED : S, E, B, A, FC, D, G, J, K , K

n S A B C D E F G H J K L M

h(n) 80 80 60 70 85 74 70 0 40 100 30 20 70

Page 16: Artificial Intelligence - A Star

BestNode = Goal

SOLUSI TELAH DITEMUKAN !

Page 17: Artificial Intelligence - A Star

KESIMPULAN

Rute ini yang telah ditemukan adalah rute terpendek yang ada di graph tersebut. Jadi, algoritma A* dan optimal.

Algoritma A* juga tanpa ada batasan waktu dan memory, jadi Algoritma A* adalah complete (selalu menemukan solusi jika solusinya ada).

Untuk masalah yang lebih kompleks, misalkan pencarian rute terpendek pada graph yang tediri dari 100 juta simpul, A* akan menghadapi masalah waktu, proses dan memory yang dibutuhkan. Jadi, masih terdapat banyak variasi algoritma A* dengan karakteristik yang sesuai dengan permasalahan tersebut.

Page 18: Artificial Intelligence - A Star