Minesweeper: Game Rumit Yang Tidak Sesederhana Penampilannya

Minesweeper merupakan game yang berasal dari tahun 1960an, dan sejak itu Minesweeper sudah banyak ditulis untuk berbagai platform. Tujuan dari permainan ini adalah untuk menghilangkan kotak abu-abu atau yang disebut dengan sel dengan cara meng-klik nya. Agar permainan anda selesai, anda harus bisa meng-klik semua sel abu-abu tersebut tanpa meng-klik ranjau yang tersembunyi. Ketika anda meng-klik satu sel dan sel tersebut aman, maka sel tersebut berisi sebuah angka dan nantinya secara otomatis beberapa sel di sekitarnya juga akan terbuka. Setiap angka yang keluar akan mengungkapkan berapa banyak tambang yang menyentuh sel abu-abu tersebut. Anda bisa menandai sel yang anda inginkan dengan cara meletakkan bendera di atas sel tersebut. Apabila seluruh tambang menyentuh angka-angka yang sudah ditandai, maka anda bisa menekan kedua tombol yang ada di angka tersebut untuk menghilangkan sel abu-abu yang tersisa di dekatnya.

Minesweeper, walaupun terlihat sederhana namun sebenarnya game ini merupakan sebuah game yang cukup rumit dan termasuk dalam golongan NP-complete. Bahkan CMII atau Clay Mathematics Institute of Cambridge memasukkan Minesweeper sebagai salah satu dari 7 masalah milennium yang disebut juga sebagai Prize Problems. Tidak ada kata-kata sederhana yang dapat menjelaskan NP-complete itu seperti apa, namun untuk menjawab rasa penasaran anda maka dalam artikel ini akan dibahas sedikit tentang NP-complete.

Waktu yang dibutuhkan algoritma untuk mangkus bervariasi, mulai dari O (log n), O (log log n), O (1), O (n), O (n2 ), hingga O (n3). Semua algoritma tadi dikenal dengan nama solusi polinomial karena kebutuhan akan waktunya secara asimptotik terbatas akibat adanya fungsi polinomial. Misalnya saja log (n) kurang dari n, maka semua n lebih dari atau sama dengan 1. Akan berbeda ketika ada suatu persoalan yang mana tidak ada solusi waktu polinomial atau polinomial-time untuk menyelesaikan persoalan tersebut, misalnya saja TSP yang memiliki sebuah kompleksitas O (n!). Algoritma waktu polinomial adalah sebuah algoritma yang cukup kompleks dimana kompleksitas waktu dibatasi oleh sebuah fungsi polinom dari ukuran-ukuran masukannya. Namun di luar algoritma tadi, algoritma waktu polinomial disebut sebagai algoritma non-polinomial-time. Kemudian, P Problem merupakan sebuah himpunan dari seluruh persoalan akan keputusan yang dapat dipecahkan dengan menggunakan algoritma polinomial waktu. Sedangkan NP Problems merupakan himpunan dari persoalan keputusan yang bisa diselesaikan dengan algoritma non-deterministik dalam fungsi waktu polinom. Algoritma non-deterministik sendiri adalah sebuah algoritma yang berhadapan dengan beberapa pilihan atau opsi, dan algoritma tersebut memiliki kemampuan untuk menebak pilihan atau opsi yang tepat. Seluruh P Problem juga merupakan NP karena tahapan dalam menerka-nerka tersebut adalah P Problem. Karena itulah P merupakan himpunan yang termasuk dalam NP. Hanya saja belum ada yang dapat membuktikan apakah P Problem sama dengan NP atau P tidak sama dengan NP. Ini adalah pertanyaan yang sulit karena sebagian besar persoalan dari keputusan merupakan NP.

Dari penjelasan di atas, dapat ditarik kesimpulan bahwa dibalik game yang sederhana terdapat coding yang sangat rumit. Begitu juga dengan permainan-permainan online yang ada di agen casino. Walaupun anda hanya perlu meng-klik beberapa jenis tombol untuk bermain, namun dibaliknya terdapat coding yang rumit yang mana jika bukan programmer akan sulit memahami coding-coding tersebut. Malah mungkin seorang programmer bisa saja sulit mengerti coding dari game-game tersebut.