Tampilkan postingan dengan label applet. Tampilkan semua postingan
Tampilkan postingan dengan label applet. Tampilkan semua postingan

Jumat, 10 Juni 2011

Apa itu Othello?

Dear rekan-rekan,

Othello atau disebut juga reversi adalah permainan yang menggunakan papan berisi kotak sebanyak 8x8, antara dua orang pemain dengan keping hitam dan putih seperti di bawah.


Tujuan dari permainan ini adalah kedua pemain saling berusaha memiliki jumlah keping terbanyak di akhir permainan untuk jadi pemenang.

Aturan permainannya adalah sebagai berikut:

  1. Permainan dimulai dari posisi papan dengan susunan keping hitam dan putih seperti pada gambar di atas, yaitu dua keping hitam dan dua keping putih tepat di tengah-tengah papan dengan posisi saling memotong secara diagonal, dengan keping hitam miring ke kanan-atas dan putih miring ke kiri-atas.
  2. Pemain hitam melangkah pertama kali dengan meletakkan keping hitam di kotak kosong di mana dia bisa mengapit keping putih di antara dua keping hitam, yaitu di antara keping hitam yang sudah ada di papan dan keping hitam yang baru diletakkan, boleh mengapit secara horizontal, vertikal maupun diagonal, misalnya di kotak "d3".
  3. Keping putih yang terjepit pada no. 2 di atas, dibalik semua menjadi keping hitam.
  4. Berikutnya giliran pemain putih melangkah dengan meletakkan keping putih di kotak kosong di mana dia bisa mengapit keping hitam di antara dua keping putih, yaitu di antara keping putih yang sudah ada di papan dan keping putih yang baru diletakkan, boleh mengapit secara horizontal, vertikal maupun diagonal, misalnya di kotak "c3".
  5. Keping hitam yang terjepit pada no. 4 di atas, dibalik semua menjadi keping putih.
  6. Demikian kedua pemain bergantian saling meletakkan kepingnya di kotak kosong di mana dia bisa mengapit keping lawannya, dan membalik keping lawannya menjadi kepingnya.
  7. Kedua pemain tidak boleh meletakkan kepingnya di kotak yang sudah terisi, atau di kotak kosong di mana dia tidak mengapit keping lawannya.
    Gambar kiri menunjukkan kotak yang sudah terisi sehingga tidak bisa diletakkan keping baru. Gambar kanan, tanda lingkaran biru menunjukkan kotak kosong yang mengapit keping putih oleh hitam, sehingga hitam boleh melangkah ke sana. Tanda silang merah dan semua kotak kosong diluarnya, menunjukkan kotak kosong yang tidak mengapit keping putih oleh hitam, sehingga hitam tidak boleh melangkah ke sana. 
  8. Apabila pemain tidak mempunyai kotak di mana dia bisa melangkah, maka dia harus 'pass' yaitu memberikan gilirannya melangkah kepada lawannya.
  9. Apabila kedua pemain sama-sama tidak mempunyai kotak di mana dia bisa melangkah, biasanya ketika papan sudah penuh, maka permainan selesai.
  10. Pemain dengan jumlah keping terbanyak adalah pemenang.
Demikianlah sekilas tentang permainan othello. Anda ingin mencobanya? Silakan coba lawan genethello di..



Kamis, 17 Maret 2011

GeneThello went SourceForge

Rekan-rekan semua..

Kini GeneThello telah diupload di situs open source SourceForge.net. Silakan teman-teman yang tertarik bergabung dengan GeneThello untuk posisi-posisi berikut.. :)

1. Developer

Untuk berperan serta dalam pengembangan GeneThello, silakan download source code-nya dari repositori subversion di SourceForge berikut:

https://genethello.svn.sourceforge.net/svnroot/genethello

Silakan gunakan IDE Netbeans untuk pengembangan, karena saya menggunakan itu. Untuk petunjuk download kode GeneThello dengan subversion, silakan lihat situs di bawah..

http://sourceforge.net/projects/genethello/develop

2. Evolver

Evolver adalah program untuk melakukan evolusi terhadap populasi othello di server. Anda dapat berkontribusi untuk membantu mempercepat proses evolusi dengan menjalankan program evolver di komputer anda. Program ini akan otomatis menyimpan hasil evolusi di server dan digabung dengan hasil evolusi dari evolver lain. Dengan cara distributed genetic algorithm seperti ini, di mana evolver dapat dilakukan secara terpisah-pisah di banyak komputer klien kemudian digabungkan di server, maka proses evolusi diharapkan dapat berjalan lebih cepat.

Silakan download binary code-nya dari situs sourceforge berikut:

https://sourceforge.net/projects/genethello/

Selanjutnya anda tinggal menginstallnya, kemudian jalankan perintah berikut dari installation directory..

java -cp Genethello.jar net.sf.genethello.ga.Main (ver 0.2 below)
java -cp Genethello.jar net.sf.genethello.ga.Evolver (ver 0.3 above)

Program evolver ini memerlukan waktu cukup lama untuk menyelesaikan satu kali turnamen, sekitar 6 jam di laptop intel core 2 duo saya. Tetapi program ini saya desain untuk tidak banyak memakan resource CPU, sehingga anda dapat menjalankan program ini di background dengan nyaman tanpa mengganggu pekerjaan lain.. :)

Kalau anda ingin menggunakan full CPU power untuk evolver, gunakan perintah berikut..

java -cp Genethello.jar net.sf.genethello.ga.Main --nosleep (ver 0.2 below)
java -cp Genethello.jar net.sf.genethello.ga.Evolver --nosleep (ver 0.3 above)

3. Tester

Untuk menguji seberapa kuat GeneThello dapat bermain, silakan download binary code yang sama seperti di Evolver, kemudian jalankan perintah berikut dari installation directory..

java. -jar Genethello.jar

Ini adalah program GUI yang dapat digunakan untuk bermain othello melawan pemain-pemain terkuat hasil evolusi sejauh ini. Program ini memerlukan koneksi network untuk mendownload informasi pemain dari server.

4. Just for fun

Untuk rekan-rekan yang ingin mencoba-coba dulu kekuatan GeneThello, dapat coba melawan applet berikut.. :)

http://genethello.blogspot.com/2010/02/genethello-applet.html

Kamis, 25 Februari 2010

GeneThello Applet

Anda dapat mencoba GeneThello, dan juga kromosom-kromosom yang telah dicapai oleh algoritma genetika, dengan applet ini.

Untuk menjalankan applet ini anda perlu mengaktifkan Java applet di browser anda, dan menginstall Java plugin terbaru yang dapat didownload melalui:

http://www.java.com/en/download/manual.jsp

File size dari applet ini adalah sekitar 142.7 kB, dan memerlukan waktu sekitar 20 detik untuk loadingnya, menggunakan modem berkecepatan 56 kbps.


Cara penggunaan

Memilih pemain:

Edit -> Black/White -> Man/Machine

Pilih Man untuk pemain manusia atau Machine untuk pemain komputer.

Memilih (kromosom) pemain untuk Machine:

Edit -> Black/White -> Player -> ...

(Kromosom) pemain dituliskan dalam format TYPE_BIRTH_CHROMOSOME, yang menunjukkan tipe kromosom, pada generasi ke berapa kromosom itu lahir, dan nilai kromosom itu sendiri. Misalnya kromosom oe_fmc_1_14:49:3:2:2:3:3:9:1:10:3 berarti, pertama-tama tipenya adalah oe_fmc, yaitu mempunyai dua batas langkah, o yang membatasi opening-game dan mid-game, dan e yang membatasi mid-game dan end-game, serta mempertimbangkan tiga fitur yaitu: flips (jumlah keping yang dibalik), mobility (jumlah langkah lawan), dan corners (selisih jumlah sudut); kedua dia dilahirkan pada generasi pertama; terakhir nilai kromosomnya adalah 14:49:3:2:2:3:3:9:1:10:3.

Memilih kedalaman berpikir untuk Machine:

Edit -> Black/White -> Depth -> 1 ~ 15

Semakin dalam GeneThello diijinkan untuk berpikir, langkahnya akan semakin bagus tetapi waktunya juga semakin lama. Kedalaman 1 adalah yang paling cepat tetapi langkahnya tidak dipikirkan dengan baik. Kedalaman 15 menjadikan GeneThello berpikir sangat lama dalam melangkah dan tidak menyenangkan untuk lawan bermain. Kedalaman 9 adalah yang paling pas, langkahnya dipikirkan dengan cukup baik dan waktunya pun tidak terlalu lama.

Memulai permainan:

File -> New

Melihat transkrip permainan:

File -> Transcript


Applet