Langsung ke konten utama

Uninformed Search - Breadh First Search (BFS)

 Artificial Intellegent




Firdaus Hasan

1830511092

Teknik Informatika C

Universitas Muhammadiyah Sukabumi



Uninformed Search (Pencarian Tanpa Informasi)

Breadth First Search (BFS)



1. Pengertian

Breadth-first search adalah algoritma yang melakukan pencarian secara melebar yang mengunjungi simpul secara preorder yaitu mengunjungi suatu simpul kemudian mengunjungi semua simpul yang bertetangga dengan simpul tersebut terlebih dahulu. Selanjutnya, simpul yang belum dikunjungi dan bertetangga dengan simpulsimpul yang tadi dikunjungi , demikian seterusnya. Jika graf berbentuk pohon berakar, maka semua simpul pada aras dikunjungi lebih dahulu sebelum simpul-simpul pad aras d+1.

Algoritma ini memerlukan sebuah antrian untuk menyimpan simpul yang telah dikunjungi. Simpulsimpul ini diperlukan sebagai acuan untuk mengunjungi simpul-simpul yang bertetanggaan dengannya. Tiap simpul yang telah dikunjungu masuk ke dalam antrian hanya satu kali. Algoritma ini juga membutuhkan table Boolean untuk menyimpan simpul yang te lah dikunjungi sehingga tidak ada simpul yang dikunjungi lebih dari satu kali. Dalam algoritma BFS, simpul anak yang telah dikunjungi disimpan dalam suatu antrian. Antrian ini digunakan untuk mengacu simpul-simpul yang bertetangga dengannya yang akan dikunjungi kemudian sesuai urutan pengantrian.

2. Contoh Masalah

OPTIMASI ALGHORITMA BREADTH FIRST SEARCH PADA GAME ENGINE 3D THIRD
PERSON SHOOTER MAZE BERBASIS AGEN CERDAS ANDROID
    
    2.1. Pendahuluan
           Pada Penelitian ini peneliti akan berfokus mengenai Game Engine pada Player dan belum adanya        penelitian yang membahas tema ini, pada Game Engine Third Person Shooter labirin, Bagaimana           cara untuk menyelesaikan game ini yang menggunakan pola labirin, maka di butuhkan suatu agen           cerdas Alghoritma Artifical Intelligece pencarian melebar pertama (Breadth First Search), untuk            mempermudah pemain menyelesaikan misi, sehingga menantang pemain untuk menyelesaikan               misi.

     2.2. Landasan Teori
           Algoritma ini menggunakan metode pencarian yang di mulai dengan akar (Level 0) ke level               selanjutnya.Pencarian ini di lakukan dengan mencari pada semua node atau simpul                                   yang mempunyai level atau tingkatan sama sampai mennetukan hasil akhir (Goal) pada level                   tersebut, bila tidak aka akan pindah ke level selanjutnya.

               Langkah-Langkah Alghoritma Breadth First Search :

           1. Masukkan node akar ke dalam Queue.
           2. Ambil node awal Queue, lalu cek apakah node merupakan solusi.
           3. Jika node merupakan solusi, pencarian selesai dan hasil di kembalikan.
           4. Jika node untuk solusi , masukkan   seluruh node anak ke dalam Queue.
           5. Jika Queue kosong dan setiap node sudah di cek, pencarian selesai.
           6. Jika Queue tidak kosong, ulangi pencarian mulai dari poin 2.
Algoritma Breadth First Search (BFS) ini menjadi metode pendekatan unntuk masalah yang akan di hadapi.

3. Hasil Penelitian dan Pembahasan

a. Analisa Alghoritma Breadth First Search pada Game Third Person Shotter (BFS)

Pada penjelasan di atas di atas dapat di simpulkan bahwa Alghoritma Breadth First Search, pencarian buta pada semua node pada level n dan di kunjungi terlebih dahulu sebelum mengunjungi node node pada level n+1. Pencarian di mulai dari node masuk ke node exit, kemudian berpindah ke level berikutnya, demikian pula dari kanan ke kiri hingga menemukan goal.

b. Finite State Machine
Kriteria yang ada di dalam Game Labirin Third Person Shooter Dengan Alghoritma Breadth First Search dapat dijelaskan pada Finite State Machine sebagai berikut : 

c. Implementasi Pada Game Labirin Third Person Shooter dengan menggunakan Unity 3D 
 
Listing Coding Alghoritma Breadth First Search pada Game Third Person Shooter

1. private void ProgressStepCycle(float speed){
2. if (m_CharacterController.velocity.sqrMagnitude > 0 && (m_Input.x != 0 || m_Input.y != 0))
{m_StepCycle += (m_CharacterController.velocity.magnitude + (speed*(m_IsWalking ? 1f: m_RunstepLenghten)))*Time.fixedDeltaTime;}
3. if (!(m_StepCycle > m_NextStep)){ return;}m_NextStep = m_StepCycle + m_StepInterval};
4. Private void bfs(int x, int z, int depth, floatjump, float previousHeight)
5. {int resistance=1;
6. if (depth >=0) {CheckTile (x,z).GetComponentInChildren(CheckIfClicked)().Selected();
7. if (x+1 < 25){CheckTile(x+1, z, depth, jump,previous Height);}
8. if (x-1 >= 0){CheckTile(x-1, z, depth, jump, previousHeight);} 
9. if (z+1 <25) {CheckTile(x, z+1, depth, jump, previousHeight);} 
10. if (z-1 >=0){
11. CheckTile(x, z-1, depth, jump,previousHeight);}}} 
12. private void CheckTile(int x, int z, int depth,float jump, float previousHeight){
13. float tileHeight = tiles(x, z).GetComponent(TileDimensions)().height;float difference = tileHeight - previousHeight;
14. if (difference<0) difference *=-1;
15. if CheckTile(x, z). GetComponentInChildren.CheckIfClicked().occupied && difference(jump);{
16. int resistance = tiles(x, z).GetComponent(TileDimensions)().getResistance();
17. if (resistance<0) resistance =1;BFS(x, z,depth-resistance, jump, tileHeight);}}

4. Kesimpulan


Untuk keterangan gambar di atas yang pada bagian kiri adalah tanpa menggunakan alghoritma, sehingga dalam menyelesaikan permainan lebih lama, sedangkan dibandingkan dengan menggunakan Alghoritma Breadth First Search pada bagian kanan menunjukan bahwa Alghoritma Breadth First Search lebih cepat  menyelesaikan permainan dibandingkan dengan tanpa menggunakan alghoritma, sehingga mempermudah pemain dalam menyelesaikan permainan game labirin thrid person shooter.



Daftar Pustaka

Astrid Novita Putri, "Optimasi Alghoritma Breadth First Search Pada Game Engine 3D Third Person Shooter Maze Berbasis Agen Cerdas Android", Jurnal Transformatika, Volume 14, Nomor 1, Juli 2016.

Santi I Gede, ”Penggunaan Metode Kecerdasan Runut Maju Dalam Memecahkan Permasalahan Game Labirin,” Jurnal Ilmu Komputer Volume 5 No 1-April 2012.

Stuart, Russel and Peter Norvig.,“ Artifical Inteligence A Modern Approach.“, 2 Edition.United States Of America  Prentice Hall, 2005.

Sutojo,dkk, ”Kecerdasan Buatan”.Penerbit Andi, 2011.

Nasution Rahmad, “Penerapan Alghoritma Backtracking Pada Permainan Math Maze”, Jurnal Pelita Informatika Budi Darma, Volume VII, Nomor : 3, Agustus 2014.

Santi I Gede Astawa, ” Penggunaan Metode Kecerdasan Buatan Runut Maju Dalam Memecahkan Permasalahan Game Labirin”, Jurnal Ilmu Komputer-Volume 5- No.1-April 2012 Universitas Udaya.

Komentar

Postingan populer dari blog ini

Statistika -- Regresi dan Korelasi

Regresi dan Korelasi pada Perhitungan Suatu Data Regresi Analisis regresi adalah analisis lanjutan dari korelasi Menguji sejauh mana pengaruh variabel independen terhadap variabel dependen setelah diketahui ada hubungan antara variabel tersebut Data harus interval/rasio Data Berdistribusi normal.             Terdapat beberapa contoh Regresi diantaranya : Regresi Sederhana =  yaitu regresi untuk 1 variabel independen dengan 1 variabel dependen Regresi Ganda =  yaitu regresi untuk lebih dari satu variabel independen dengan 1 variabel dependen.            Soal : Diketahui : Pendapatan (juta rupiah/tahun) Pen geluaran kesehatan (juta rupiah/tahun) 42 8 30 6 30 7 18 4 24 6 36 7 12 5 24 5 Tabel tersebut menunjukkan  hasil observasi sampel acak yang terdiri dari 8...