- Beranda
- Komunitas
- News
- Sains & Teknologi
Duelist Algorithm : Sebuah Algoritma yang Terinspirasi dari GAME DUEL !


TS
bigboss121
Duelist Algorithm : Sebuah Algoritma yang Terinspirasi dari GAME DUEL !
Assalamualaikum Warrahmatullahi Wabarakatuh, Gan/Sis yang ane banggakan. Salam sejahtera untuk kita semua.
Setelah sekian lama nimbrung menjadi SR dalam forum kaskus ini, akhirnya TS ingin juga membuat thread yang (mudah-mudahan) bermanfaat bagi para readers. Mohon maaf kalau thread ini berantakan, karena eh karena TS baru pertama kali nulis di forum ini. TS juga mengharapkan bimbingan, kritik dan saran dari para kaskuser sekalian, agar kedepannya TS lebih giat dan lebih rapi lagi untuk menulis thread yang bermanfaat untuk kita semua. Aamiin. Okee langsung saja kita cuss
ke pembahasan kali ini.
Bukti kalo masih belum ada yang post tentang duelist algorithm ini


Tanpa Berpanjang x lebar mari kita ulas algoritma duelist ini gan
Highlight
Sekilas tentang optimisasi

Optimisasi merupakan proses untuk mendapatkan hasil yang lebih baik/optimum dengan batasan-batasan masalah yang ada. Optimisasi ini memiliki beberapa bagian yaitu objective function(fungsi objektif) ini merupakan hasil yang kita inginkan, selanjutnya adalah constraints/batasan masalah, ini merupakan batasan-batasan yang ada dan harus diinputkan ke dalam proses optimisasi dan yang terakhir adalah model matematis dari sebuah sistem, Misalnya adalah menentukan hasil paling optimum dari sebuah proses dalam industri oil and gas, yakni menentukan profit/keuntungan dari sebuah proses eksplorasi minyak di dalam tanah, penentuan profit/keuntungan inilah yang disebut dengan OBJECTIVE FUNCTION. Keadaan yang terjadi di lapangan, salah satunya adalah keterbatasan sumber daya, keterbatasan biaya produksi, kurangnya instrumen-instrumen yang ada inilah yang disebut dengan CONSTRAINTS. Proses berjalannya suatu sistem memiliki keadan tunak/steady-statedan juga keadaan dinamis, inilah yang digunakan untuk menentukan sebuah model matematis dari sebuah sistem. Oke gan, jangan pusing dulu ini baru permulaan hehehe...
1. Pendahuluan

Optimisasi merupakan sebuah proses untuk mendapatkan hasil yang lebih baik. Berbagai macam metode dapat digunakan untuk menentukan/mendapatkan hasil yang optimum. Salah satu contohnya adalah dengan menggunakan GA (genetic algorithm)yang terinspirasi pada seleksi alam dengan mengembangkan populasi kandidat solusi untuk fungsi objektif yang ditetapkan. Pada kasus yang lain, terdapat metode optimisasi yang disebut dengan Ant Colony Optimizationyang terinspirasi dari perilaku semut dalam mencari makanan. Tipe/metode optimisasi lainnya terinspirasi dari perilaku sosial binatang yang biasa disebut dengan Particle Swarm Optimization (PSO). Ketiga metode optimisasi tersebut di atas adalah algoritma berbasis populasi yang berarti bahwa ada suatu populasi entah itu, sel, hewan dsb. dan populasi tersebut terus meningkatkan dirinya dalam setiap iterasi.Begitu pula dengan duelist algorithm ini, didalamnya semua individu dalam sebuah populasi dinamai dengan sebutan "duelist", semua duelist ini akan bertarung satu sama lain 1v1 atau yang biasa disebut dengan by1 kalo kata gamers mah hehe...
Lanjut, buat nentuin siapa yang bakalan jadi juara, pemenang dan yang paling noob. Pertarungan 1v1 ini juga seperti pertarungan dalam kehidupan asli, yang terkuat memiliki kesempatan yang lebih besar untuk memenangkan duel, tapi juga gak menutup kemungkinan bahwa yang noob bisa menang dengan sedikit keberuntungan. Nah untuk melatih para duelist ini ada 2 cara yang dilakukan. Cara pertama adalah sebuah "inovasi" yang sedikit mirip dalam istilah pada GA adalah "mutasi". Tapi bedanya adalah hanya yang menang yang akan melakukan sebuah "inovasi", agar jurusnya gak gitu-gitu aja maksutnya gan. Nah cara kedua adalah "belajar", istilah belajar ini ditujukan kepada duelist yang kalah agar belajar dari lawan yang menang.Salah satu keunggulan dari duelist algorithm ini adalah meminimalisir terjadinya hasil yang paling buruk gan. Masih tertarik untuk membaca ? Yuk lanjut ke tahap berikutnya
2. Review kata "Duel"

Duel dapat diartikan sebagai pertarungan antara satu atau banyak orang dengan satu atau banyak orang yang lain. Pertarungan ini membutuhkan kekuatan fisik, skill dan kecerdasan. Makin bingung atau makin paham nih ? Hehe..
Oke let's make an example. Sepakbola dapat dikategorikan dalam sebuah duel dimana dua tim harus mencetak goal lebih banyak dalam suatu pertandingan untuk menentukan siapa pemenangnya. Saya pilih sepakbola sebagai contoh karena sepakbola merupakan adu kekuatan fisik, skill, mental, taktik dan kecerdasan untuk memenangkannya, jadi lebih kompleks. Oke lanjut, dalam setiap duel, pasti ada yang menang dan kalah meskipun juga ada seri, tapi dalam kasus DA ini seri ngga ikutan ya, jadi cuma ada yang menang dan kalah. Oke balik lagi ke masalah sepakbola, pemenang dalam sepakbola didefinisikan sebagai sebuah tim yang mampu mencetak lebih banyak goal daripada team lainnya dalam satu pertandingan. Pada sebuah pertandingan probabilitas/kesempatan untuk menang tergantung dari kekuatan, skill kecerdasan dan satu faktor lagi yakni sebuah keberentungan. Setelah pertandingan usai, mengetahui kemampuan dari lawan itu hal yang sangat penting. Yang kalah bisa belajar dari yang menang, dan yang menang bisa meningkatkan kemampuan dan skill dengan cara berlatih atau mencoba sesuatu yang baru dari yang kalah. Pada algoritma ini juga demikian, setiap duelist memiliki kesempatan tak terkalahkan yang sama, dengan mengupgrade diri masing-masing baik itu dengan cara "inovasi" maupun dengan "belajar".
3. Cara Kerja Algoritma Duelist

Flowchart/diagram alir dari algoritma duelist ini akan ditampilkan di bawah penjelasan ini. Pertama-tama, populasi dari duelist didaftarkan, kaya ikut turnamen gitu gan ada pendafarannya. Setiap duelist memiliki ciri khas masing-masing yang dikodekan ke dalam bahasa biner. Setiap duelist dievaluasi untuk menentukan kemampuan bertarungnya. Kemudian jadwal dari pertarungan ditentukan untuk setiap duelist yang berada dalam populasi. Dalam duel, setiap duelist akan melawan duelist yang lain dalam 1v1. Setiap duel, akan menghasilkan pemenang dan pecundang, berdasarkan kemampuan masing-masing dan keberuntungan. Setelah seluruh turnamen selesai, seorang duelist akan dinobatkan jadi juara. Dan juara ini merupakan duelist yang memiliki kelebihan bertarung yang paling baik.
Next step, setiap pemenang dan yang kalah memiliki kesempatan untuk meng-upgradekemampuan bertarungnya. Tahapan-tahapan pada cara kerja algoritma duelist adalah sebagai berikut.
1. Registrasi Kandidat Duelist
Tiap duelist akan "didaftarkan" dengan menggunakan array bilangan biner. Array bilangan biner ini dinamakan "skillset".
2. Pra-Kualifikasi
Pra-kualifikasi adalah sebuah test yang diberikan kepada kandidat duelist untuk mengukur atau mengevaluasi kemampuan bertarung berdasarkan pada "skillset".
3. Penentuan Papan Juara
Papan juara ditentukan untuk menjaga duelist terbaik dalam permainan. Setiap juara harus melatih duelist baru hingga kemampuan bertarungnya sama dengannya. Duelist baru ini akan menggantikan posisi juara dalam permainan dan ikut dalam duel selanjutnya.
4. Menentukan Jadwal Duel
Penentuan jadwal duel dilakukan secara acak/random. Setiap duelist akan bertarung menggunakan kemampuan dan keberuntungannya untuk menentukan pemenang dan yang kalah. Duel ini menggunakan logika sederhana, jika kemampuan dan keberuntungan duelist A lebih besar daripada duelist B maka duelist A yang jadi pemenangnya begitu juga sebaliknya. Keberuntungan yang diperoleh oleh duelist, merupakan sebuah fungsi yang benar-benar random untuk menghindari local optimum. Berikut ini adalah algoritma penentuan pemenang dan yang kalah.
yang dibutuhkan adalah : Duelist A dan B; Luck_Coefficient
A(Luck) = A(fighting_capabilities)*(Luck_Coefficient + (rand(0-1)*Luck_Coefficient));
B(Luck) = B(fighting_capabilities)*(Luck_Coefficient + (rand(0-1)*Luck_Coefficient));
If ((A(fighting_capabilities)+A(Luck)) <= (B(fighting_capabilities)+B(Luck))
A(winner) = 1;
B(winner) = 0;
Else
A(winner) = 0;
B(winner) = 1
End
5. Pengembangan Duelist
Setelah pertarungan, tiap duelist akan dikategorikan sebagai juara, pemenang dan yang kalah. Seperti yang dijelaskan pada pendahuluan akan ada treatment yang berbeda untuk ketiga kategori. Untuk kategori juara akan melatih duelist baru yang akan bertanding pada game selanjutnya.
6. Eliminasi
Karena terdapat beberapa duelist baru yang masuk dalam turnamen, harus ada eliminasi untuk menjaga kuantitas/jumlah yang sama seperti yang didefinisikan di awal. Dan lagi-lagi eliminasi ini berdasarkan kemampuan bertarung, dimana duelist dengan kemampuan bertarung yang buruk akan tereliminasi.
Gambar di atas adalah flowchart/diagram alir bagaimana duelist algorithm ini bekerja.

Dan gambar di atas adalah kategori dari duelist
4. Penutup

Jadi kesimpulannya adalah algoritma optimisasi ini berdasarkan pada cara duelist untuk meng-updatekemampuan bertarungnya. Sama kaya kita gan, yang harus selalu meng-update diri untuk jadi yang lebih baik dari sebelumnya. Terimakasih ane ucapkan kepada moderator, kaskuser dan ane tunggu komentar dan
nya. Akhir kata, wassalamualaikum warrahmatullahi wabarakatuh.
Referensi
Setelah sekian lama nimbrung menjadi SR dalam forum kaskus ini, akhirnya TS ingin juga membuat thread yang (mudah-mudahan) bermanfaat bagi para readers. Mohon maaf kalau thread ini berantakan, karena eh karena TS baru pertama kali nulis di forum ini. TS juga mengharapkan bimbingan, kritik dan saran dari para kaskuser sekalian, agar kedepannya TS lebih giat dan lebih rapi lagi untuk menulis thread yang bermanfaat untuk kita semua. Aamiin. Okee langsung saja kita cuss

Bukti kalo masih belum ada yang post tentang duelist algorithm ini
Quote:
Quote:
Tanpa Berpanjang x lebar mari kita ulas algoritma duelist ini gan
Highlight
Quote:
1. Duelist Algorithm merupakan algoritma baru yang ditemukan pada tahun 2013 yang terinspirasi dari cara seorang duelist dalam meningkatkan kemampuan/skill dalam berduel
2. Dalam Duelist Algorithm diberikan perbedaan treatmentpada setiap "duelist" yang didasarkan pada hasil duel.
3. Duelist algorithm mampu mendapatkan hasil yang lebih baik jika dibandingkan dengan algoritma optimisasi lainnya seperti genetic algorithm (GA), Particle Swarm Optimization (PSO) dan Imperialist Competitive Algorithm (ICA)
2. Dalam Duelist Algorithm diberikan perbedaan treatmentpada setiap "duelist" yang didasarkan pada hasil duel.
3. Duelist algorithm mampu mendapatkan hasil yang lebih baik jika dibandingkan dengan algoritma optimisasi lainnya seperti genetic algorithm (GA), Particle Swarm Optimization (PSO) dan Imperialist Competitive Algorithm (ICA)
Sekilas tentang optimisasi
Quote:

Optimisasi merupakan proses untuk mendapatkan hasil yang lebih baik/optimum dengan batasan-batasan masalah yang ada. Optimisasi ini memiliki beberapa bagian yaitu objective function(fungsi objektif) ini merupakan hasil yang kita inginkan, selanjutnya adalah constraints/batasan masalah, ini merupakan batasan-batasan yang ada dan harus diinputkan ke dalam proses optimisasi dan yang terakhir adalah model matematis dari sebuah sistem, Misalnya adalah menentukan hasil paling optimum dari sebuah proses dalam industri oil and gas, yakni menentukan profit/keuntungan dari sebuah proses eksplorasi minyak di dalam tanah, penentuan profit/keuntungan inilah yang disebut dengan OBJECTIVE FUNCTION. Keadaan yang terjadi di lapangan, salah satunya adalah keterbatasan sumber daya, keterbatasan biaya produksi, kurangnya instrumen-instrumen yang ada inilah yang disebut dengan CONSTRAINTS. Proses berjalannya suatu sistem memiliki keadan tunak/steady-statedan juga keadaan dinamis, inilah yang digunakan untuk menentukan sebuah model matematis dari sebuah sistem. Oke gan, jangan pusing dulu ini baru permulaan hehehe...
1. Pendahuluan
Quote:

Optimisasi merupakan sebuah proses untuk mendapatkan hasil yang lebih baik. Berbagai macam metode dapat digunakan untuk menentukan/mendapatkan hasil yang optimum. Salah satu contohnya adalah dengan menggunakan GA (genetic algorithm)yang terinspirasi pada seleksi alam dengan mengembangkan populasi kandidat solusi untuk fungsi objektif yang ditetapkan. Pada kasus yang lain, terdapat metode optimisasi yang disebut dengan Ant Colony Optimizationyang terinspirasi dari perilaku semut dalam mencari makanan. Tipe/metode optimisasi lainnya terinspirasi dari perilaku sosial binatang yang biasa disebut dengan Particle Swarm Optimization (PSO). Ketiga metode optimisasi tersebut di atas adalah algoritma berbasis populasi yang berarti bahwa ada suatu populasi entah itu, sel, hewan dsb. dan populasi tersebut terus meningkatkan dirinya dalam setiap iterasi.Begitu pula dengan duelist algorithm ini, didalamnya semua individu dalam sebuah populasi dinamai dengan sebutan "duelist", semua duelist ini akan bertarung satu sama lain 1v1 atau yang biasa disebut dengan by1 kalo kata gamers mah hehe...

2. Review kata "Duel"
Quote:
Duel dapat diartikan sebagai pertarungan antara satu atau banyak orang dengan satu atau banyak orang yang lain. Pertarungan ini membutuhkan kekuatan fisik, skill dan kecerdasan. Makin bingung atau makin paham nih ? Hehe..

3. Cara Kerja Algoritma Duelist
Quote:

Flowchart/diagram alir dari algoritma duelist ini akan ditampilkan di bawah penjelasan ini. Pertama-tama, populasi dari duelist didaftarkan, kaya ikut turnamen gitu gan ada pendafarannya. Setiap duelist memiliki ciri khas masing-masing yang dikodekan ke dalam bahasa biner. Setiap duelist dievaluasi untuk menentukan kemampuan bertarungnya. Kemudian jadwal dari pertarungan ditentukan untuk setiap duelist yang berada dalam populasi. Dalam duel, setiap duelist akan melawan duelist yang lain dalam 1v1. Setiap duel, akan menghasilkan pemenang dan pecundang, berdasarkan kemampuan masing-masing dan keberuntungan. Setelah seluruh turnamen selesai, seorang duelist akan dinobatkan jadi juara. Dan juara ini merupakan duelist yang memiliki kelebihan bertarung yang paling baik.
Next step, setiap pemenang dan yang kalah memiliki kesempatan untuk meng-upgradekemampuan bertarungnya. Tahapan-tahapan pada cara kerja algoritma duelist adalah sebagai berikut.
1. Registrasi Kandidat Duelist
Tiap duelist akan "didaftarkan" dengan menggunakan array bilangan biner. Array bilangan biner ini dinamakan "skillset".
2. Pra-Kualifikasi
Pra-kualifikasi adalah sebuah test yang diberikan kepada kandidat duelist untuk mengukur atau mengevaluasi kemampuan bertarung berdasarkan pada "skillset".
3. Penentuan Papan Juara
Papan juara ditentukan untuk menjaga duelist terbaik dalam permainan. Setiap juara harus melatih duelist baru hingga kemampuan bertarungnya sama dengannya. Duelist baru ini akan menggantikan posisi juara dalam permainan dan ikut dalam duel selanjutnya.
4. Menentukan Jadwal Duel
Penentuan jadwal duel dilakukan secara acak/random. Setiap duelist akan bertarung menggunakan kemampuan dan keberuntungannya untuk menentukan pemenang dan yang kalah. Duel ini menggunakan logika sederhana, jika kemampuan dan keberuntungan duelist A lebih besar daripada duelist B maka duelist A yang jadi pemenangnya begitu juga sebaliknya. Keberuntungan yang diperoleh oleh duelist, merupakan sebuah fungsi yang benar-benar random untuk menghindari local optimum. Berikut ini adalah algoritma penentuan pemenang dan yang kalah.
yang dibutuhkan adalah : Duelist A dan B; Luck_Coefficient
A(Luck) = A(fighting_capabilities)*(Luck_Coefficient + (rand(0-1)*Luck_Coefficient));
B(Luck) = B(fighting_capabilities)*(Luck_Coefficient + (rand(0-1)*Luck_Coefficient));
If ((A(fighting_capabilities)+A(Luck)) <= (B(fighting_capabilities)+B(Luck))
A(winner) = 1;
B(winner) = 0;
Else
A(winner) = 0;
B(winner) = 1
End
5. Pengembangan Duelist
Setelah pertarungan, tiap duelist akan dikategorikan sebagai juara, pemenang dan yang kalah. Seperti yang dijelaskan pada pendahuluan akan ada treatment yang berbeda untuk ketiga kategori. Untuk kategori juara akan melatih duelist baru yang akan bertanding pada game selanjutnya.
6. Eliminasi
Karena terdapat beberapa duelist baru yang masuk dalam turnamen, harus ada eliminasi untuk menjaga kuantitas/jumlah yang sama seperti yang didefinisikan di awal. Dan lagi-lagi eliminasi ini berdasarkan kemampuan bertarung, dimana duelist dengan kemampuan bertarung yang buruk akan tereliminasi.
Gambar di atas adalah flowchart/diagram alir bagaimana duelist algorithm ini bekerja.
Dan gambar di atas adalah kategori dari duelist
4. Penutup
Quote:

Jadi kesimpulannya adalah algoritma optimisasi ini berdasarkan pada cara duelist untuk meng-updatekemampuan bertarungnya. Sama kaya kita gan, yang harus selalu meng-update diri untuk jadi yang lebih baik dari sebelumnya. Terimakasih ane ucapkan kepada moderator, kaskuser dan ane tunggu komentar dan

Referensi
Quote:
google.com
Duelist Algorithm : An Algorithm Inspired by How Duelist Improve Their Capabilities in A Duel
An Introduction to Optimization, 2nd Edition, Wiley
Nb : Agan2 dapat mencari literatur tersebut pada google cheers
Duelist Algorithm : An Algorithm Inspired by How Duelist Improve Their Capabilities in A Duel
An Introduction to Optimization, 2nd Edition, Wiley
Nb : Agan2 dapat mencari literatur tersebut pada google cheers

0
22.8K
Kutip
202
Balasan


Komentar yang asik ya
Urutan
Terbaru
Terlama


Komentar yang asik ya
Komunitas Pilihan