Rabu, 05 Oktober 2016

Tugas 3 AI -> 8-puzzle dan greedy




HALLO …

Setelah minggu yang lalu saya membahas tentang Penyelesaian mencari solusi dengan menggunakan DFS, kali ini saya akan membahas mengenai mencari sebuah solusi pada sebuah permasalahan 8 puzzle menggunakan algoritma greedy dengan menggunakan kedua heuristic. Tulisan ini dibuat untuk memenuhi tugas  mata kuliah Pengantar Kecerdasan Tiruan (AI) yang diampu oleh Mia Kamayani ST, MT . Fakultas Teknik, Prodi Teknik Informatika, UHAMKA.->


Penyelesaian 8 puzzle menggunakan algoritma greedy dengan menggunakan kedua heuristic.



Sebelum kita menuju ke sebuah permasalahan pada 8 puzzle, , terlebih dahulu kita perlu tahu apa yang disebut sebagai algoritma greedy dan heuristic itu sendiri.

Apa itu Algoritma Greedy?

Algoritma Greedy merupakan algoritma yang sederhana dan lempeng (straightforward). Secara harafiah greedy artinya rakus atau tamak. Algoritma Greedy membentuk solusi langkah per langkah. Terdapat banyak pilihan yang perlu dieksplorasi pada setiap langkah solusi. Oleh karena itu, pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan. Keputusan yang telah diambil pada suatu langkah tidak dapat diubah lagi pada langkah selanjutnya. 

Apa itu Heuristic ?
Heuristic dalam konteks yang luas dapat didefinisikan sebagai suatu nilai informasi yang “dianggap” mendekati nilai solusi dari suatu permasalahan. Sebagai contoh, jika kita misalkan ada seseorang yang berada di Bandung hendak menuju Surabaya, lalu orang tersebut ingin mencari rute jalan darat terpendek yang dapat dilalui dari Bandung menuju Surabaya. Maka nilai heuristicnya bisa kita tentukan dari, misal jarak estimasi dari setiap titik keberangkatan menuju Surabaya berdasarkan jarak yang tertulis pada peta. Atau bisa saja nilai heuristicnya didasarkan pada jarak setiap titik keberangkatan terhadap stasiun kereta api terdekat. Yang jelas, nilai heuristic ini dapat sangat relatif berdasar penilaian masing-masing pembuat keputusan. Tapi perlu diingat, nilai heuristic ini digunakan dalam proses evaluasi setiap periode tertentu atau setiap titik evaluasi tertentu. Jadi sebisa mungkin nilai heuristic yang kita tentukan bersifat admissible atau dapat diterima secara semantik, baik karena kedekatannya dengan solusi maupun “masuk akal” dari sisi logika. Jika tidak demikian, maka bisa jadi bahwa proses pencarian yang kita lakukan malah akan menjauhkan kita dari solusi.
Ada 4 operator yang dapat digunakan untuk menggerakkan dari satu keadaan ke keadaan yang baru.:

1. Ubin kosong digeser ke kiri
2. Ubin kosong digeser ke kanan
3. Ubin kosong digeser ke bawah
4. Ubin kosong digeser ke atas

Untuk lebih jelasnya di sini kita akan membahas mengenai menyelesaikan studi kasus permasalahan pada 8 Puzzle dengan metode Informed Search Algoritma Greedy dan Heuristic. 

Berikut Eigth Puzzle yang akan kita cari solusinya dari Initial State hingga Goal State : ->


Pada studi kasus ini kita akan menggunakan dua Heuristic, perlu diingatkan kembali pada Algoritma Greedy fungsi evaluasinya adalah f(n) = h(n)
berikut kedua heuristic yang diketahui untuk menyelesaikan permasalahan ini:
h1(n) = jumlah tile yang salah tempat
h2(n) = total jarak manhattan (jumlah tile dari lokasi yang seharusnya untuk tiap tile)

1.) H1

Penjelasan gambar
h1 adalah berapa jumlah tile yang salah tempat jadi kita menghitung tile yang salah tempat sesuai dengan goal state

Sebelum menuju jawabannya kita pahami dahulu disana terdapat goal state dengan urutan goal statenya yaitu 1,2,3,4,5,6,7,8,x (kosong/tidak di hitung) setelah itu kita liat d initial state nya urutan initial statenya yaitu 1,2,3,4,8,x,7,6,5 (H1(A)) di situ baru kita ketahui berarti terdapat ada 3 tail yang salah tempat yaitu 8,6,5.
 
lalu setelah itu langsung kita jabarkan atau di pecah lagi sesuai dengan gambar dan di pecah dengan memindahkan/menggeserkan angka dari suatu keadaan ke keadaan yang baru dengan memindahkan ke atas,bawah,kanan,atau kiri, kita mulai dari urutan succesor function yaitu  dengan memulai dari angka 5 yang berada di bawah kita pindahkan ke atas (H1(B)) dan ada 1 opsi lagi yaitu memindahkan angka 3 ke bawah (H1C)) nah bila sudah di pindahkan kita baca lagi urutan tile tersebut yang di mana urutan nya adalah H1(B) :1,2,3,4,8,5,7,6,x dan H1(C): 1,2,x,3,4,8,3,7,6,5,

Nah baru kita bandingkan 
H1(B) : hanya 3 tile yang salah tempat sama seperti sebelumnya
H1(C) : menjadi 4 tile yang salah tempat 

Maka kita ambil yang lebih kecil dari sebelumnya terus sampe selesai begitu dan selalu mengikuti aturan succesor function.

2.) H2


Penjelasan Gambar
h2 adalah total jarak tile manhattam ( jumlah lokasi seharusnya untuk setiap tile) jadi di sini hanya menghitung jarak saja

Caranya hampir sama dengan h1, kita liat terlebih dahulu initial state dan goal state sama seperti h1 bedanya kalo h1 adalah jumlah tile salah tempat maka h2 itu adalah total jarak jadi initial state nya h2 adalah 1,2,3,4,8,x(tidak di hitung/kososng),7,6,5 nah sedangkan goal state nya adalah 1,2,3,4,5,6,7,8,x maka kita akan menemui jarak untuk posisi tile seharunya yaitu :

1 = 0 karena sudah sampai di posisi seharusnya
2 = 0 karena sudah sampai di posisi seharusnya
3 = 0 karena sudah sampai di posisi seharusnya
4 = 0 karena sudah sampai di posisi seharusnya
8 = 1 jarak dari posisi seharusnya
7 = 0 karena sudah sampai di posisi seharusnya
6 = 2 jarak dari posisi seharusnya
5 = 2 jarak dari posisi seharusnya

Jadi akan di dapatkan total nya yaitu 5 jarak

Selanjutnya sama seperti h1 kita gerakan puzzle sesuai succesor function nya dan hitung jarak statenya yang telah kita gerakan/pindahkan dan pilih jarak yang terkecil lagi, terus sampe selesai sampai menemui goal state. Perlu diingat bahwa proses evaluasi yang dilakukan akan selalu mengambil nilai heuristic yang paling kecil. Setelah selesai menemui goal state maka kita hitung jumlah jarak dari initial state sampai goal state, jadi pada gambar di atas dapat di ketahui jarak state yaitu :

SOLUSI : A>C>D>F>I>J
 f(B) = g(B) + h(B) = 4 + 3 + 2 + 2 + 0
                              = 11

Maka dapat di dapat jaraknya yaitu dengan jarak 11.
  
KESIMPULANMaka dapat di simpulkan pada solusi Permasalahan 8 Puzzle di atas dengan dilihat dan dibandingkan goal state dari kedua heuristic tersebut, maka H1(N) lebih memungkinkan mendapat jalan atau cost yang lebih sedikit dengan Fringe lebih sedikit / kecil pula dan lebih efisien dari pada H2(N).


Refrensi : 1. http://andiktaufiq.wordpress.com/2010/05/02/8-puzzle-problem-bagian-2/
     2. https://courses.cs.washington.edu/courses/cse573/12sp/lectures/03-hsearch.pdf Russell and P. Norvig, Artificial intelligence: a modern approach. 2009.

Tidak ada komentar:

Posting Komentar