boids

Algoritma Boids: Pemodelan Tingkah Laku Kolektif dalam Sistem Multi-Agen

Oleh Shahabuddin Amerudin

1. Pengenalan

Algoritma Boids, yang diperkenalkan oleh Craig Reynolds pada tahun 1986, adalah model simulasi yang direka untuk meniru tingkah laku kawanan burung, ikan, atau entiti lain yang bergerak secara koheren dalam kumpulan besar. Algoritma ini menjadi salah satu contoh utama bagaimana tingkah laku kompleks dapat muncul dari peraturan yang mudah, dengan setiap individu dalam kumpulan mengikuti peraturan tempatan tertentu tanpa keperluan untuk koordinasi pusat.

2. Prinsip Asas Algoritma Boids

Pada asasnya, algoritma Boids beroperasi berdasarkan tiga peraturan utama yang mengawal tingkah laku setiap individu (atau “boid”) dalam kumpulan. Peraturan-peraturan ini bertujuan untuk memastikan bahawa setiap boid menghindari perlanggaran, menyesuaikan arah pergerakan mereka untuk sejajar dengan boid lain, dan mengekalkan keutuhan kumpulan. Ketiga-tiga peraturan ini adalah:

  • Pemisahan (Separation): Setiap boid mengelakkan terlalu dekat dengan boid lain dalam kejiranan sekelilingnya. Ini dilakukan dengan mengira vektor yang menjauh dari boid lain yang berdekatan, yang kemudiannya mempengaruhi arah pergerakan boid tersebut.
  • Kesejajaran (Alignment): Setiap boid menyesuaikan arah pergerakan mereka untuk sejajar dengan arah purata boid lain dalam kejiranannya. Ini memastikan bahawa semua boid dalam kumpulan bergerak dalam arah yang sama, menghasilkan tingkah laku yang koheren.
  • Pengumpulan (Cohesion): Setiap boid bergerak ke arah pusat purata kedudukan boid lain dalam kawasan sekitarnya. Ini membantu mengekalkan integrasi kumpulan, mengelakkan boid daripada tersasar terlalu jauh dari kumpulan.

3. Proses Operasi Algoritma Boids

Langkah-langkah berikut menerangkan bagaimana algoritma Boids beroperasi dalam setiap kitaran simulasi:

  • Inisialisasi: Pada permulaan simulasi, setiap boid diberikan posisi dan kelajuan awal dalam ruang simulasi. Parameter penting seperti jarak penglihatan (range) dan kekuatan vektor (weight) untuk setiap peraturan juga ditetapkan.
  • Pemisahan: Untuk setiap boid, algoritma mengira jarak kepada boid lain yang berada dalam lingkungan penglihatan mereka. Jika jarak ini lebih kecil daripada jarak minimum yang telah ditetapkan, vektor yang menjauh dari boid lain dikira dan ditambah kepada kelajuan boid tersebut. Vektor ini memastikan bahawa boid menghindari perlanggaran dengan boid lain.
  • Kesejajaran: Algoritma kemudian mengira arah purata pergerakan semua boid dalam lingkungan penglihatan. Vektor arah purata ini ditambah kepada kelajuan boid, yang menyebabkan boid menyesuaikan arah pergerakannya agar sejajar dengan boid lain di sekitarnya.
  • Pengumpulan: Pusat purata lokasi bagi semua boid dalam lingkungan penglihatan dikira. Vektor yang menuju ke pusat ini ditambah kepada kelajuan boid, menarik boid ke arah kumpulan dan mengekalkan keutuhan kumpulan.
  • Kemaskini Posisi: Setelah semua vektor hasil daripada peraturan pemisahan, kesejajaran, dan pengumpulan digabungkan, posisi setiap boid dikemaskini berdasarkan kelajuan akhir yang telah dikira.
  • Ulangi Proses: Proses ini diulang pada setiap langkah masa dalam simulasi, menghasilkan pergerakan kolektif yang kompleks di antara boid.

4. Pengaruh Parameter dalam Algoritma Boids

Algoritma Boids sangat sensitif kepada parameter-parameter yang ditetapkan, yang boleh mempengaruhi tingkah laku keseluruhan kumpulan:

  • Jarak Penglihatan (Range): Mengawal sejauh mana setiap boid boleh melihat boid lain di sekelilingnya. Jarak penglihatan ini penting dalam menentukan sejauh mana boid boleh berinteraksi antara satu sama lain. Jarak yang lebih jauh membolehkan boid bertindak balas kepada lebih banyak boid lain, sementara jarak yang lebih pendek menghadkan interaksi mereka.
  • Kekuatan Vektor (Weight): Setiap peraturan dalam algoritma Boids boleh diberikan berat (weight) yang berbeza, yang mempengaruhi seberapa kuat peraturan tersebut mempengaruhi kelajuan boid. Contohnya, jika kekuatan untuk peraturan pemisahan lebih tinggi, boid akan lebih cepat menghindari perlanggaran, tetapi mungkin kurang sejajar dengan arah pergerakan kumpulan.

5. Kes Kesan Emergent dalam Algoritma Boids

Tingkah laku emergent merujuk kepada corak kompleks dan koheren yang timbul daripada interaksi antara elemen-elemen sederhana dalam sistem. Dalam algoritma Boids, tingkah laku emergent berlaku apabila peraturan-peraturan mudah yang diikuti oleh setiap boid menghasilkan tingkah laku kolektif yang kompleks. Contoh kesan emergent termasuk:

  • Kawanan Burung: Boid cenderung membentuk formasi yang dikenali seperti “V” atau bergerak bersama-sama secara harmoni tanpa ada individu tertentu yang berfungsi sebagai pemimpin.
  • Sekolah Ikan: Ikan-ikan yang diwakili oleh boid kelihatan bergerak dalam kumpulan besar, membuat pergerakan serentak yang pantas dan tajam, serta mengubah arah dengan cepat tanpa berlanggar antara satu sama lain.

6. Aplikasi Algoritma Boids

Algoritma Boids mempunyai pelbagai aplikasi yang melangkaui simulasi tingkah laku haiwan:

  • Animasi dan Filem: Algoritma Boids digunakan dalam industri animasi untuk mencipta pergerakan kawanan burung, sekolah ikan, atau kumpulan makhluk yang bergerak secara koheren dalam filem dan permainan video.
  • Robotik: Algoritma ini diaplikasikan dalam kawalan sekumpulan robot autonomi, di mana mereka perlu bergerak secara kooperatif dalam ruang tertentu, seperti dalam misi pencarian dan penyelamatan.
  • Simulasi Ekologi: Dalam kajian ekologi, algoritma Boids digunakan untuk mensimulasikan tingkah laku sosial haiwan dan pergerakan mereka dalam habitat semula jadi.
  • Sistem Maklumat Geografi (GIS): Dalam GIS, algoritma ini dapat digunakan untuk model pergerakan entiti yang berkelompok atau interaksi dinamik antara entiti bergerak dalam ruang geografi.

7. Aplikasi Algoritma Boids dalam GIS

  • Pemodelan Pergerakan Hidupan Liar: Algoritma Boids boleh digunakan untuk memodelkan dan mensimulasikan pergerakan kumpulan haiwan, seperti kawanan burung atau sekumpulan ikan dalam habitat mereka. Dengan menggunakan data GIS, model ini boleh mencerminkan interaksi antara haiwan dan persekitaran mereka, seperti reaksi terhadap halangan semula jadi (contohnya, gunung atau sungai) atau kawasan yang mempunyai kepadatan populasi yang berbeza.
  • Simulasi Evakuasi dan Pergerakan Orang Ramai: Dalam kajian perancangan bandar atau pengurusan bencana, algoritma Boids boleh membantu dalam simulasi pergerakan orang ramai semasa situasi kecemasan, seperti kebakaran atau banjir. Model ini boleh menunjukkan bagaimana orang ramai akan bergerak melalui ruang yang terhad atau bagaimana mereka akan bertindak balas terhadap halangan atau laluan tertentu dalam kawasan bandar.
  • Pemodelan Penyebaran Penyakit: Algoritma Boids boleh digunakan untuk memodelkan penyebaran penyakit melalui populasi manusia atau haiwan dalam ruang geografi. Setiap “boid” dalam model ini boleh mewakili individu atau kumpulan yang berpotensi menyebarkan penyakit, dan interaksi antara mereka boleh membantu memahami dinamika penyebaran di kawasan tertentu.
  • Pengoptimuman Laluan dan Logistik: Dalam GIS, algoritma Boids boleh diterapkan dalam pengoptimuman laluan dan logistik, seperti pemodelan laluan kenderaan autonomi atau dron yang bergerak dalam persekitaran yang dinamik. Boids boleh membantu mengelakkan perlanggaran, mengoptimumkan penggunaan ruang, dan menyesuaikan pergerakan berdasarkan perubahan dalam persekitaran secara real-time.
  • Pemodelan Mobiliti dalam Bandar: Algoritma Boids juga boleh digunakan untuk memodelkan aliran trafik atau pergerakan penduduk dalam bandar. Ini termasuk simulasi kenderaan di jalan raya atau pergerakan pejalan kaki di kawasan sibuk. Dengan menggunakan data GIS, model ini boleh membantu dalam merancang infrastruktur yang lebih baik dan mengurangkan kesesakan.

8. Kesimpulan

Algoritma Boids adalah satu contoh yang menunjukkan bagaimana tingkah laku kompleks dapat muncul dari peraturan yang mudah dan tempatan. Keupayaan algoritma ini untuk menghasilkan tingkah laku emergent yang mirip dengan tingkah laku sosial yang dilihat dalam alam semula jadi menjadikannya alat yang berkuasa dalam pelbagai bidang, dari animasi hingga robotik dan simulasi ekologi. Dengan menyesuaikan parameter dan peraturan asas, algoritma ini dapat disesuaikan untuk meniru pelbagai jenis tingkah laku kolektif dalam sistem multi-agen.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top