BIRU: RESMI FIDE
HIJAU: TURNAMEN CATUR FIDE RATED CATUR KLASIK DAN RESMI PERCASI
MERAH: TURNAMEN CATUR NASIONAL BERHADIAH BESAR
UNGU: TURNAMEN CATUR OPEN BERHADIAH KECIL, NON MASTER, YUNIOR dan TURNAMEN LAINNYA!

SUARA HATI INSAN CATUR

KLIK "Baca selengkapnya >>" di sebelah kiri bawah setiap postingan, atau Klik pada Judul Postingan - untuk melihat isi postingan tersebut secara lengkap!

Selasa, 26 Mei 2026

Membedah Engine Catur Stockfish 18 dan NNUE

Membedah Engine Catur Stockfish 18 dan NNUE: Anatomi, Cara Kerja, Sejarah, dan Segala Seluk-Beluknya


DAFTAR ISI

  1. Pendahuluan: Raja di Antara Para Engine
  2. Sejarah Panjang Stockfish: Dari Versi 1 Hingga Stockfish 18
  3. Anatomi dan Jeroan Stockfish: Memahami Arsitektur Dalamnya
  4. Revolusi NNUE: Ketika Jaringan Saraf Memasuki Dunia Catur
  5. Cara Kerja Stockfish 18 NNUE Secara Mendalam
  6. Para Arsitek di Balik Stockfish: Programmer dan Kontributor
  7. Setting Stockfish 18 untuk Kekuatan Maksimal
  8. Mengubah Gaya Main Stockfish: Agresif, Posisional, dan Endgame
  9. Stockfish di Android vs Laptop Spek Gahar: Perbandingan Kekuatan
  10. Stockfish di Server Lichess: Raksasa yang Melayani Jutaan Pemain
  11. Stockfish di Layanan Cloud: Chessify, ChessBase Engine Cloud, dan Sejenisnya
  12. Dominasi Stockfish di TCEC dan Turnamen Engine Dunia
  13. Engine Clone dan Turunan Stockfish: ASMFish, CorrChess, dan Saudara-Saudaranya
  14. Masa Depan Stockfish: Ke Mana Arah Sang Raja?
  15. Penutup: Refleksi atas Kejeniusan Kolektif

BAB 1: PENDAHULUAN — RAJA DI ANTARA PARA ENGINE

Dalam dunia catur modern, ada satu nama yang selalu disebut dengan penuh hormat, bahkan dengan sedikit rasa gentar: Stockfish. Engine catur open-source ini bukan sekadar program komputer biasa. Ia adalah puncak pencapaian intelektual manusia dalam memprogram sebuah mesin untuk memahami, menganalisis, dan bermain catur pada level yang jauh melampaui kemampuan grandmaster terbaik di planet ini.


Bila Anda pernah bermain di Lichess, menggunakan Chess.com untuk analisis, atau membuka aplikasi catur di smartphone Anda, kemungkinan besar Anda sudah berinteraksi dengan Stockfish. Engine ini hadir di mana-mana — dari server-server bertenaga tinggi di pusat data hingga aplikasi sederhana di ponsel Android kelas menengah. Itulah keajaiban Stockfish: ia mampu menyesuaikan diri dengan sumber daya yang tersedia, namun tetap menjadi yang terkuat atau mendekati terkuat di setiap platform tempat ia berjalan.

Artikel ini ditulis untuk mengupas tuntas segala sesuatu tentang Stockfish — mulai dari sejarahnya yang panjang, arsitektur teknisnya yang kompleks, revolusi NNUE yang mengubah segalanya, cara pengaturan (setting) optimal untuk berbagai kebutuhan, perbedaan performa di berbagai platform, dominasinya di kompetisi antar-engine, hingga keluarga besar engine-engine turunannya yang kadang mengklaim melampaui sang induk.

Bersiaplah untuk sebuah perjalanan mendalam ke dalam "otak" engine catur terkuat yang pernah diciptakan manusia.


BAB 2: SEJARAH PANJANG STOCKFISH — DARI VERSI 1 HINGGA STOCKFISH 18

2.1 Akar Sejarah: Glaurung dan Kelahiran Stockfish

Untuk memahami Stockfish, kita harus mundur sedikit ke era sebelumnya. Stockfish tidak lahir dari kevakuman. Ia merupakan evolusi dari engine bernama Glaurung, yang dikembangkan oleh Tord Romstad, seorang programmer dan pemain catur berkebangsaan Norwegia. Glaurung sendiri pertama kali dirilis pada tahun 2004 dan merupakan engine yang cukup kuat untuk masanya.

Pada tahun 2008, Tord Romstad, bersama dengan Marco Costalba (programmer Italia) dan Joona Kiiski (programmer Finlandia), mulai mengembangkan proyek baru yang lebih ambisius berdasarkan arsitektur Glaurung. Proyek inilah yang kemudian diberi nama Stockfish — nama yang diambil dari kata Norwegia untuk "ikan cod kering" (stokkfisk), sebuah nama yang sederhana namun kemudian menjadi legenda.

Stockfish 1.0 dirilis secara resmi pada November 2008. Pada versi pertama ini, Stockfish sudah menunjukkan potensi yang luar biasa. Engine ini menggunakan teknik pencarian Alpha-Beta pruning dengan berbagai optimasi, dan evaluasi posisi berbasis hand-crafted evaluation (HCE) — yaitu fungsi evaluasi yang ditulis secara manual oleh programmer berdasarkan pengetahuan catur.

2.2 Era Pertumbuhan Awal (2008–2013)

Stockfish 1.x hingga 3.x

Pada masa-masa awal ini, pengembangan Stockfish berjalan dengan pesat. Setiap versi membawa peningkatan signifikan dalam hal kekuatan bermain. Komunitas kontributor mulai berkembang, dan model pengembangan open-source mulai menunjukkan kekuatannya.

Beberapa milestone penting pada era ini:

  • Stockfish 2.0 (2012): Peningkatan signifikan pada null-move pruning dan futility pruning
  • Stockfish 2.1 (2012): Pengenalan fitur SMP (Symmetric Multi-Processing) yang memungkinkan engine menggunakan banyak core processor secara bersamaan
  • Stockfish 2.2 (2012): Berbagai perbaikan pada fungsi evaluasi pion, raja, dan struktur bidak
  • Stockfish 2.3 (2013): Peningkatan late move reductions (LMR) yang lebih canggih

Fishtest: Revolusi Pengujian Kolaboratif

Salah satu inovasi terpenting dalam sejarah Stockfish adalah lahirnya Fishtest — sebuah platform pengujian terdistribusi yang memungkinkan ribuan sukarelawan di seluruh dunia untuk menyumbangkan daya komputasi mereka guna menguji patch-patch baru engine.

Dengan Fishtest, setiap perubahan kode yang diusulkan harus melewati pengujian statistik yang ketat — biasanya dengan memainkan puluhan ribu hingga ratusan ribu pertandingan otomatis — sebelum dapat diterima ke dalam kode utama. Sistem ini memastikan bahwa setiap versi baru Stockfish benar-benar lebih kuat dari pendahulunya, dan bukan hanya secara kebetulan atau pada opening tertentu saja.

2.3 Era Dominasi dan Inovasi (2014–2019)

Stockfish 4.0 hingga 10.0

Pada periode ini, Stockfish mulai mendominasi kompetisi catur komputer secara konsisten. Rating ELO-nya terus melonjak, meninggalkan engine-engine komersial yang dulu pernah bersaing.

Tonggak-tonggak penting:

  • Stockfish 4 (2013): Pengenalan Lazy SMP yang lebih efisien untuk multi-threading
  • Stockfish 5 (2014): Peningkatan evaluasi endgame, khususnya untuk posisi rook endgame
  • Stockfish 6 (2015): Implementasi Syzygy tablebases yang revolusioner untuk endgame dengan hingga 6 buah
  • Stockfish 7 (2016): Peningkatan drastis pada move ordering dan singular extensions
  • Stockfish 8 (2017): Optimasi SMP yang lebih baik dan peningkatan evaluasi posisi kompleks
  • Stockfish 9 (2018): Pengenalan fitur-fitur evaluasi yang lebih sophisticated untuk struktur pion
  • Stockfish 10 (2018): Peningkatan signifikan pada kemampuan taktis dan penanganan posisi dinamis

Dominasi di TCEC

Sepanjang periode ini, Stockfish mulai mendominasi Top Chess Engine Championship (TCEC), turnamen bergengsi untuk engine-engine catur. Ia memenangkan satu divisi demi divisi, mengalahkan semua penantangnya termasuk Houdini, Komodo, dan berbagai engine komersial lainnya.

2.4 Revolusi NNUE: Sebelum dan Sesudah (2020)

Tahun 2020 menjadi titik balik terbesar dalam sejarah Stockfish. Pada bulan Juli 2020, sebuah patch revolusioner diintegrasikan ke dalam Stockfish: NNUE (Efficiently Updatable Neural Network).

Teknik ini, yang awalnya dikembangkan untuk engine shogi (Yu Nasu, seorang programmer Jepang), diadaptasi untuk catur oleh Hisayori Noda (alias nodchip) dan kemudian diintegrasikan ke Stockfish oleh komunitas developer-nya. Penambahan NNUE ini seketika meningkatkan kekuatan Stockfish sebesar 80-100 ELO — sebuah lompatan yang luar biasa besar dalam dunia engine catur.

  • Stockfish 12 (September 2020): Versi pertama Stockfish yang sepenuhnya mengintegrasikan NNUE, meningkatkan kekuatan secara dramatis
  • Stockfish 13 (Februari 2021): Penyempurnaan lebih lanjut pada arsitektur NNUE
  • Stockfish 14 (Juli 2021): Pengenalan arsitektur NNUE yang lebih besar dan lebih akurat

2.5 Era Modern: Stockfish 15 hingga 18 (2022–2024)

Stockfish 15 (April 2022)

Stockfish 15 membawa peningkatan signifikan pada arsitektur NNUE-nya. Untuk pertama kalinya, Stockfish menggunakan dual NNUE networks — satu jaringan untuk posisi "klasik" dan satu lagi yang lebih optimal untuk posisi yang memiliki lebih sedikit buah. Pendekatan ini meningkatkan akurasi evaluasi secara keseluruhan.

Stockfish 16 (Juni 2023)

Stockfish 16 merupakan salah satu lompatan terbesar dalam hal peningkatan ELO. Versi ini memperkenalkan arsitektur NNUE yang jauh lebih besar dengan network yang lebih dalam dan optimasi pada berbagai aspek pencarian. Rating CCRL (Computer Chess Rating List) Stockfish 16 melampaui 3500 ELO — angka yang tak terbayangkan hanya beberapa tahun sebelumnya.

Beberapa fitur utama Stockfish 16:

  • Peningkatan evaluasi posisi dengan bidak passer (passed pawn) yang lebih akurat
  • Optimasi pada aspiration windows dalam pencarian
  • Perbaikan pada penanganan time management yang lebih cerdas
  • Arsitektur NNUE yang diperluas dengan lebih banyak neuron

Stockfish 17 (Mei 2024)

Stockfish 17 melanjutkan tradisi peningkatan konsisten. Versi ini membawa:

  • Penyempurnaan lebih lanjut pada arsitektur jaringan saraf
  • Optimasi pada search untuk posisi-posisi spesifik
  • Peningkatan pada time management terutama untuk permainan dengan increment
  • Berbagai perbaikan minor namun signifikan secara kumulatif

Stockfish 18 (2024)

Stockfish 18 merupakan versi terkini dan terkuat yang pernah ada. Pada versi ini, pengembang telah melakukan revolusi besar dalam arsitektur NNUE dengan memperkenalkan jaringan yang lebih kompleks dan akurat. Beberapa peningkatan utama:

  • Arsitektur NNUE yang diperluas: Network yang lebih besar dengan lebih banyak parameter yang ditraining
  • Improved search extensions: Algoritma pencarian yang lebih pintar dalam memutuskan kapan harus memperdalam analisis
  • Better time management: Manajemen waktu yang lebih optimal, terutama krusial dalam permainan cepat
  • Enhanced positional understanding: Pemahaman posisional yang lebih dalam, khususnya dalam posisi-posisi kompleks yang melibatkan imbalance material
  • Refined evaluation of passed pawns and king safety: Evaluasi yang lebih akurat untuk pion passer dan keamanan raja

Rating Stockfish 18 di CCRL pada kecepatan 40/15 (40 langkah dalam 15 menit) mencapai sekitar 3650+ ELO — sebuah angka yang menggambarkan betapa jauhnya engine ini meninggalkan seluruh kompetitornya, bahkan jauh melampaui pemain catur manusia terbaik di dunia yang hanya berkisar di 2800-2900 ELO FIDE.


BAB 3: ANATOMI DAN JEROAN STOCKFISH — MEMAHAMI ARSITEKTUR DALAMNYA

Untuk benar-benar memahami mengapa Stockfish begitu kuat, kita perlu membedah komponen-komponen utama yang membentuknya. Anggaplah ini seperti membongkar mesin mobil Formula 1 — setiap komponen memiliki fungsi spesifik, dan keunggulan Stockfish terletak pada bagaimana semua komponen ini bekerja secara harmonis.

3.1 Representasi Papan: Bitboard

Komponen pertama dan paling fundamental adalah bagaimana Stockfish merepresentasikan posisi catur di dalam memori komputer. Stockfish menggunakan teknik yang disebut Bitboard.

Apa itu Bitboard?

Dalam sistem Bitboard, papan catur yang berukuran 8x8 petak direpresentasikan sebagai angka integer 64-bit (satu bit untuk setiap petak papan). Karena prosesor modern adalah 64-bit, satu integer 64-bit dapat mewakili seluruh papan catur, dan operasi pada seluruh papan dapat dilakukan dalam satu instruksi CPU tunggal.

Sebagai contoh, untuk mewakili posisi semua pion putih, kita memiliki sebuah angka 64-bit di mana bit yang bernilai "1" menunjukkan petak yang ditempati pion putih, dan bit bernilai "0" menunjukkan petak kosong. Dengan cara ini, Stockfish dapat dengan sangat cepat menghitung hal-hal seperti:

  • Semua langkah yang mungkin untuk setiap buah: Dengan menggunakan operasi bitwise AND, OR, XOR, dan shift
  • Apakah raja dalam keadaan skak: Dalam hitungan nanosecond
  • Pola-pola struktur pion: Doubled pawns, isolated pawns, passed pawns, dll.
  • Area kontrol: Petak mana yang dikontrol oleh buah-buah yang mana

Keunggulan Bitboard dibandingkan representasi papan konvensional (misalnya array 8x8) adalah kecepatan yang jauh lebih tinggi, karena operasi bitwise pada prosesor modern sangat optimal dan dapat diparalelkan.

Teknik Magic Bitboard

Untuk buah-buah yang bergerak dalam garis lurus (rook, bishop, queen), Stockfish menggunakan teknik lanjutan yang disebut Magic Bitboard. Teknik ini menggunakan konstanta ajaib (magic numbers) yang dipra-komputasi untuk dengan sangat cepat menghitung petak-petak mana yang dapat diserang oleh rook atau bishop dari posisi tertentu, dengan mempertimbangkan penghalang (blocking pieces) di jalurnya.

Magic Bitboard memungkinkan pencarian langkah yang valid dilakukan dalam waktu yang hampir konstan, bukan secara linear — ini merupakan keunggulan besar dalam pencarian yang memerlukan jutaan evaluasi posisi per detik.

3.2 Algoritma Pencarian: Alpha-Beta dan Turunannya

Inti dari engine catur mana pun adalah algoritma pencarian — cara engine mengeksplorasi pohon kemungkinan langkah untuk menemukan langkah terbaik. Stockfish menggunakan varian canggih dari algoritma Minimax dengan Alpha-Beta Pruning.

Algoritma Minimax Dasar

Algoritma Minimax sederhana memodelkan catur sebagai pohon keputusan: pemain putih ingin memaksimalkan skor evaluasi, sementara pemain hitam ingin meminimalkannya. Engine mengeksplorasi semua kemungkinan langkah hingga kedalaman tertentu (ply), lalu mengevaluasi posisi terminal dan menarik kembali nilai tersebut ke atas pohon.

Masalah utama Minimax murni: pohon kemungkinan langkah tumbuh secara eksponensial. Jika rata-rata ada 35 langkah legal per posisi (branching factor catur), maka untuk mencari 10 langkah ke depan, ada 35^10 ≈ 2,76 × 10^15 node yang harus dievaluasi — sebuah jumlah yang mustahil dalam waktu nyata.

Alpha-Beta Pruning

Alpha-Beta Pruning memecahkan masalah ini dengan secara cerdas memotong (pruning) cabang-cabang pohon yang dijamin tidak akan menghasilkan hasil yang lebih baik dari yang sudah ditemukan. Dengan Alpha-Beta yang optimal, jumlah node yang perlu dievaluasi berkurang menjadi sekitar 35^(10/2) = 35^5 ≈ 52 juta — jauh lebih manageable.

Parameter Alpha mewakili nilai terbaik yang dapat dicapai pemain yang memaksimalkan (putih), sedangkan Beta mewakili nilai terbaik yang dapat dicapai pemain yang meminimalkan (hitam). Ketika suatu langkah terbukti lebih buruk dari opsi yang sudah ada, seluruh sub-pohon di bawahnya dapat dipotong tanpa dieksplorasi.

Iterative Deepening

Stockfish menggunakan Iterative Deepening — sebuah pendekatan di mana engine pertama-tama mencari hingga kedalaman 1, lalu 2, lalu 3, dan seterusnya, hingga waktu habis. Ini terdengar tidak efisien (mengapa mencari ulang kedalaman yang sudah diproses?), namun dalam praktiknya sangat efisien karena:

  1. Hash Table: Hasil dari pencarian sebelumnya tersimpan dalam hash table dan dapat digunakan kembali
  2. Move Ordering: Pencarian kedalaman sebelumnya memberikan informasi tentang langkah terbaik, yang kemudian dapat diperiksa pertama kali di kedalaman berikutnya — ini sangat meningkatkan efisiensi Alpha-Beta
  3. Anytime Algorithm: Engine selalu memiliki jawaban terbaik saat ini, bahkan jika waktu habis tiba-tiba

Aspiration Windows

Setelah beberapa iterasi, Stockfish menggunakan Aspiration Windows — pencarian dimulai dengan window yang sempit di sekitar nilai iterasi sebelumnya. Jika nilai sebenarnya berada dalam window ini, pencarian selesai lebih cepat. Jika tidak (terjadi fail-low atau fail-high), window diperlebar dan pencarian diulang.

3.3 Teknik Reduksi dan Pruning Lanjutan

Di luar Alpha-Beta dasar, Stockfish mengimplementasikan serangkaian teknik canggih untuk lebih mengefisienkan pencariannya:

Null Move Pruning

Konsep dasarnya: jika pemain mendapat giliran namun "melewatkan" gilirannya (null move), dan hasilnya tetap baik, maka kemungkinan besar posisi ini sudah sangat baik bahkan tanpa bergerak. Stockfish menggunakan teknik ini untuk secara agresif memotong cabang-cabang yang tidak menjanjikan.

Parameter: Jika setelah null move, pencarian dengan kedalaman berkurang (R = 3 atau lebih) masih menghasilkan nilai ≥ Beta, maka seluruh sub-pohon dipotong.

Late Move Reductions (LMR)

Berdasarkan asumsi bahwa langkah-langkah yang diperiksa belakangan (setelah langkah-langkah yang tampak lebih baik sudah diperiksa) kemungkinan besar lebih lemah. Langkah-langkah ini dicari dengan kedalaman yang dikurangi. Jika langkah tersebut ternyata mengejutkan — lebih baik dari perkiraan — maka pencarian penuh dilakukan (re-search).

LMR adalah salah satu teknik paling efektif dalam Stockfish, memberikan speedup yang signifikan tanpa kehilangan banyak kualitas.

Futility Pruning

Dekat dengan posisi daun pohon pencarian, Stockfish menggunakan Futility Pruning: jika evaluasi posisi saat ini ditambah dengan "margin" tertentu masih di bawah Alpha, maka langkah ini kemungkinan tidak akan mengubah hasil, sehingga bisa dipotong.

Singular Extensions

Jika satu langkah tertentu terbukti jauh lebih baik dari semua alternatif lainnya dalam pencarian yang dikurangi, langkah tersebut mendapat ekstensi — kedalaman pencariannya ditambah. Ini memastikan bahwa langkah kritis (seperti kombinasi mematikan atau pertahanan satu-satunya) diperiksa secara menyeluruh.

Pada akhir pencarian reguler, Stockfish melakukan Quiescence Search — pencarian tambahan yang hanya mempertimbangkan langkah-langkah "keras" (tangkapan, promosi) untuk memastikan tidak ada taktik mendadak yang terlewatkan. Ini mencegah horizon effect — kesalahan evaluasi yang terjadi ketika engine berhenti mencari tepat sebelum sebuah pertukaran material yang mengubah situasi.

3.4 Move Ordering: Memeriksa Langkah Terbaik Terlebih Dahulu

Efisiensi Alpha-Beta sangat bergantung pada urutan di mana langkah-langkah diperiksa. Jika langkah terbaik selalu diperiksa pertama, maka Alpha-Beta akan melakukan pruning maksimal. Stockfish menggunakan sistem move ordering yang sangat canggih:

  1. Hash Move: Langkah terbaik dari pencarian sebelumnya (tersimpan dalam Transposition Table)
  2. MVV-LVA (Most Valuable Victim - Least Valuable Attacker): Tangkapan diurutkan berdasarkan nilai material — tangkapan queen lebih diutamakan dari tangkapan pion
  3. SEE (Static Exchange Evaluation): Evaluasi pertukaran material secara statis sebelum dieksekusi
  4. Killer Moves: Langkah-langkah yang menyebabkan cutoff di posisi-posisi lain pada kedalaman yang sama
  5. History Heuristic: Langkah-langkah yang secara historis telah menyebabkan cutoff mendapat prioritas lebih tinggi
  6. Counter Move Heuristic: Langkah yang secara historis merupakan respons terbaik terhadap langkah lawan

3.5 Transposition Table (Hash Table)

Dalam pencarian pohon catur, posisi yang sama sering kali dapat dicapai melalui urutan langkah yang berbeda (transpositions). Tanpa Transposition Table, engine akan menganalisis posisi yang sama berkali-kali — pemborosan besar.

Transposition Table (TT) adalah struktur data besar (biasanya 16MB hingga beberapa GB, dapat dikonfigurasi) yang menyimpan posisi-posisi yang sudah dievaluasi beserta informasi penting: nilai evaluasi, kedalaman pencarian, jenis bound (exact, lower, upper), dan langkah terbaik.

Setiap posisi diidentifikasi menggunakan Zobrist Hashing — sebuah skema hashing yang sangat efisien di mana setiap kombinasi (buah, petak) memiliki angka acak 64-bit yang di-XOR bersama untuk menghasilkan kunci hash unik posisi tersebut. Operasi ini dapat diupdate secara inkremental saat buah bergerak, sehingga sangat cepat.

3.6 SMP: Memanfaatkan Multi-Core Processor

Prosesor modern memiliki banyak core — dari 4 hingga 64 atau lebih pada workstation kelas tinggi. Stockfish memanfaatkan ini melalui teknik Lazy SMP (Symmetric Multi-Processing).

Berbeda dari pendekatan SMP konvensional yang kompleks, Lazy SMP bekerja dengan cara sederhana namun efektif: semua thread pencarian menjalankan pencarian yang identik secara independen, berbagi hanya satu Transposition Table bersama. Thread yang berbeda akan secara alami mengeksplorasi bagian-bagian yang berbeda dari pohon pencarian karena perbedaan waktu akses memori, dan semuanya berkontribusi pada pengisian TT dengan informasi berharga.

Pendekatan ini tampak tidak optimal di atas kertas (ada duplikasi pekerjaan), namun dalam praktiknya sangat efisien dan scalable — menambah thread hampir selalu meningkatkan kekuatan engine.


BAB 4: REVOLUSI NNUE — KETIKA JARINGAN SARAF MEMASUKI DUNIA CATUR

4.1 Latar Belakang: Sebelum NNUE

Sebelum era NNUE, fungsi evaluasi Stockfish adalah Hand-Crafted Evaluation (HCE) — ratusan atau bahkan ribuan aturan yang ditulis secara manual oleh programmer dan pecinta catur. Aturan-aturan ini mencakup:

  • Nilai material setiap buah
  • Bonus dan penalti berdasarkan posisi buah (piece-square tables)
  • Evaluasi struktur pion (doubled, isolated, backward, passed pawns)
  • Keamanan raja
  • Mobilitas buah
  • Kontrol ruang terbuka
  • Koordinasi buah
  • Dan ratusan faktor lainnya...

Meski HCE sudah sangat kuat, ada batasannya: pengetahuan yang bisa dikodekan secara manual terbatas, dan interaksi kompleks antara berbagai faktor sulit untuk dimodelkan secara akurat.

Di sisi lain, engine berbasis deep learning murni seperti AlphaZero (DeepMind) dan Leela Chess Zero (LCZ) menggunakan jaringan saraf yang jauh lebih besar dan lebih ekspresif, namun memerlukan hardware GPU yang sangat kuat dan cenderung lambat untuk evaluasi posisi tunggal.

NNUE hadir sebagai jalan tengah yang brilian: jaringan saraf yang cukup ekspresif untuk menangkap kompleksitas catur, namun cukup efisien untuk dijalankan pada CPU biasa dengan kecepatan yang diperlukan oleh pencarian Alpha-Beta.

4.2 Asal Usul NNUE: Dari Shogi ke Catur

NNUE (Efficiently Updatable Neural Network) pertama kali dikembangkan oleh Yu Nasu untuk engine shogi YaneuraOu pada tahun 2018. Shogi adalah permainan catur Jepang yang lebih kompleks dari catur Barat, dan engine-engine shogi sudah lama menggunakan jaringan saraf.

Kunci inovasi Yu Nasu adalah nama itu sendiri: "Efficiently Updatable" — jaringan saraf yang dapat di-update secara inkremental saat langkah dimainkan, bukan dihitung ulang dari nol setiap kali.

Pada Juni 2019, Hisayori Noda (dikenal dengan nama pengguna nodchip) mengadaptasi konsep NNUE untuk catur, menciptakan implementasi HalfKP (Half-KP: King + Piece) yang menjadi dasar NNUE catur pertama.

Pada Juli 2020, setelah melalui serangkaian pengujian ekstensif di Fishtest, NNUE resmi diintegrasikan ke dalam Stockfish, menghasilkan Stockfish 12 — salah satu lompatan terbesar dalam sejarah engine catur.

4.3 Arsitektur NNUE: HalfKP dan Evolusinya

Representasi Input: HalfKP

Arsitektur NNUE original menggunakan representasi HalfKP (setengah untuk King, setengah untuk Piece). Berikut penjelasannya:

Untuk setiap sisi (putih dan hitam), input jaringan saraf dibangun berdasarkan:

  • Posisi raja sisi tersebut (64 kemungkinan petak)
  • Posisi setiap buah lain (kecuali raja) di papan, dengan jenis dan warnanya

Total, input vector memiliki dimensi:

  • 64 (posisi raja) × 64 (posisi buah) × 10 (jenis buah: 5 jenis × 2 warna) = 40.960 fitur

Untuk kedua sisi (perspektif putih dan perspektif hitam), total ada 81.920 input.

Kenapa Ini "Efficiently Updatable"?

Inilah kunci kecemerlangannya. Dalam pencarian catur, ketika sebuah buah bergerak dari satu petak ke petak lain, hanya sebagian kecil dari 81.920 input yang berubah. Alih-alih menghitung ulang seluruh aktivasi lapisan pertama jaringan dari nol, Stockfish hanya menambah dan mengurangi vektor yang bersesuaian dengan perubahan yang terjadi.

Operasi ini sangat cepat — hanya membutuhkan beberapa operasi penjumlahan vektor, bukan perkalian matriks penuh. Ini memungkinkan Stockfish untuk mengevaluasi jutaan posisi per detik bahkan pada CPU biasa.

Arsitektur Lapisan Jaringan

Jaringan NNUE dalam Stockfish memiliki arsitektur yang berkembang dari waktu ke waktu. Dalam Stockfish 18, arsitekturnya kurang lebih sebagai berikut:

[Input Layer: HalfKP/HalfKA features ~40,000+ neurons]
         ↓ (Update incrementally)
[Accumulator Layer: 1024 neurons per side]
         ↓ (Clipped ReLU activation)
[Hidden Layer 1: 1024 → 512 neurons]
         ↓ (Clipped ReLU activation)  
[Hidden Layer 2: 512 → 32 neurons]
         ↓ (Clipped ReLU activation)
[Hidden Layer 3: 32 → 32 neurons]
         ↓
[Output Layer: 1 neuron (score in centipawns)]

Clipped ReLU (Rectified Linear Unit) dipilih sebagai fungsi aktivasi karena dapat diimplementasikan dengan sangat efisien menggunakan instruksi SIMD (Single Instruction, Multiple Data) pada CPU modern, khususnya AVX2 dan AVX-512.

Evolusi Arsitektur: HalfKA, HalfKAv2, dan NNUE Besar

Setelah HalfKP, arsitektur NNUE terus berkembang:

  • HalfKA: Menambahkan informasi posisi raja lawan ke dalam representasi input, meningkatkan akurasi
  • HalfKAv2: Versi yang disempurnakan dari HalfKA dengan representasi yang lebih efisien
  • NNUE Besar (Large Net): Jaringan yang jauh lebih besar dengan lebih banyak neuron, digunakan untuk analisis mendalam
  • Dual Network: Stockfish 15 dan setelahnya menggunakan dua jaringan — satu untuk posisi dengan banyak buah, satu untuk posisi dengan sedikit buah

Training Data: Belajar dari Diri Sendiri

Jaringan NNUE dilatih menggunakan data yang dihasilkan oleh Stockfish itu sendiri — sebuah proses yang disebut self-play (bermain melawan diri sendiri). Proses training melibatkan:

  1. Stockfish memainkan jutaan partai melawan dirinya sendiri pada kecepatan tertentu
  2. Setiap posisi dianalisis dan nilai evaluasi dicatat
  3. Jaringan saraf dilatih untuk memprediksi nilai evaluasi tersebut
  4. Proses diulang dengan jaringan yang lebih baik sebagai dasar generasi berikutnya

Ini adalah proses bootstrapping yang menakjubkan: jaringan baru yang lebih baik dilatih dari data yang dihasilkan oleh jaringan sebelumnya, dan siklus ini terus berulang.


BAB 5: CARA KERJA STOCKFISH 18 NNUE SECARA MENDALAM

5.1 Alur Lengkap Satu Pencarian

Mari kita ikuti apa yang terjadi ketika Stockfish 18 menerima perintah untuk mencari langkah terbaik dalam sebuah posisi:

Langkah 1: Inisialisasi

Posisi diterima → Konversi ke Bitboard
                → Update Zobrist Hash
                → Inisialisasi Accumulator NNUE
                → Reset Pencarian

Langkah 2: Iterative Deepening Dimulai

Depth 1: Cari semua langkah legal → Evaluasi → Simpan langkah terbaik
Depth 2: Gunakan langkah terbaik dari Depth 1 sebagai petunjuk
Depth 3: ...
...hingga waktu habis...

Langkah 3: Untuk Setiap Node dalam Pencarian

1. Cek apakah posisi ada di Transposition Table
   → Ya: Gunakan informasi yang tersimpan (jika valid)
   → Tidak: Lanjut ke langkah berikutnya

2. Generate semua langkah legal (menggunakan Bitboard)

3. Urutkan langkah berdasarkan Move Ordering

4. Untuk setiap langkah:
   a. Mainkan langkah (update Bitboard + Accumulator NNUE)
   b. Terapkan berbagai pruning (Null Move, Futility, LMR, dll.)
   c. Rekursi ke kedalaman berikutnya
   d. Batalkan langkah (undo Bitboard + rollback Accumulator)
   e. Update Alpha/Beta
   f. Jika Beta cutoff → potong cabang

5. Simpan hasil ke Transposition Table
6. Kembalikan nilai ke node induk

Langkah 4: Evaluasi Posisi dengan NNUE

Ketika pencarian mencapai posisi daun (atau quiescence search), evaluasi dilakukan:

1. Baca status Accumulator NNUE (sudah di-update secara inkremental)
2. Terapkan fungsi aktivasi pada accumulator
3. Jalankan forward pass melalui hidden layers (operasi SIMD)
4. Output: nilai dalam centipawns (100 cp = 1 pion)
5. Tambahkan atau kurangi tempo bonus
6. Kembalikan nilai ke pencarian

5.2 Bagaimana SIMD Membuat NNUE Sangat Cepat

Modern CPU dilengkapi dengan instruksi SIMD (Single Instruction, Multiple Data) yang dapat memproses banyak data sekaligus dalam satu instruksi. Stockfish memanfaatkan instruksi AVX-512 (memproses 512 bit data sekaligus) atau AVX2 (256 bit) untuk:

  • Memproses 16 atau 32 integer 16-bit secara bersamaan dalam satu instruksi
  • Melakukan operasi dot-product pada vektor besar dalam hitungan siklus clock
  • Menerapkan fungsi Clipped ReLU pada seluruh vektor sekaligus

Hasilnya: Stockfish 18 dapat mengevaluasi ratusan juta posisi per detik pada prosesor modern yang kuat.

5.3 Sistem Dual Network

Stockfish 15 ke atas menggunakan dua jaringan NNUE terpisah:

  1. Big Net (Jaringan Besar): Digunakan untuk posisi dengan banyak buah di papan (middlegame). Memiliki lebih banyak parameter dan lebih akurat untuk posisi kompleks.

  2. Small Net (Jaringan Kecil): Digunakan untuk posisi endgame dengan sedikit buah. Lebih cepat namun sudah cukup akurat untuk posisi yang lebih sederhana.

Transisi antara dua jaringan dilakukan secara otomatis berdasarkan jumlah buah yang tersisa di papan. Ini memastikan bahwa sumber daya komputasi digunakan secara optimal di setiap fase permainan.


BAB 6: PARA ARSITEK DI BALIK STOCKFISH — PROGRAMMER DAN KONTRIBUTOR

6.1 Pendiri dan Developer Utama

Stockfish adalah proyek open-source yang dibangun oleh komunitas global. Berikut adalah tokoh-tokoh kunci dalam sejarahnya:

Tord Romstad (Norwegia)

Pendiri utama Stockfish. Romstad sebelumnya mengembangkan engine Glaurung dan kemudian menjadi salah satu arsitek utama Stockfish. Ia berkontribusi pada banyak aspek fundamental engine, termasuk arsitektur pencarian awal. Romstad juga dikenal sebagai pecinta catur yang kuat di luar programnya.

Marco Costalba (Italia)

Ko-pendiri dan salah satu kontributor paling produktif dalam sejarah Stockfish. Costalba bertanggung jawab atas banyak perbaikan pada infrastruktur kode, organisasi proyek, dan berbagai optimasi pencarian. Ia juga yang pertama kali mendirikan repositori Stockfish di GitHub, membuka jalan bagi kontribusi komunitas yang lebih luas.

Joona Kiiski (Finlandia)

Ko-pendiri ketiga dari trio awal Stockfish. Kiiski berkontribusi pada banyak aspek teknis engine, termasuk optimasi pada move generation dan berbagai teknik pruning.

Gary Linscott (Kanada/Amerika)

Salah satu kontributor paling penting dalam era modern Stockfish. Linscott mengembangkan Fishtest — platform pengujian terdistribusi yang menjadi tulang punggung pengembangan Stockfish. Ia juga berkontribusi pada integrasi NNUE dan berbagai peningkatan lainnya. Linscott bekerja di Rust Foundation namun tetap berkontribusi pada proyek open-source.

Hisayori Noda (Jepang)

Dikenal dengan nama pengguna nodchip, Noda adalah orang yang pertama kali mengadaptasi NNUE dari shogi ke catur dan mengembangkan implementasi pertama untuk Stockfish. Kontribusinya merupakan salah satu yang paling revolusioner dalam sejarah engine catur.

Yu Nasu (Jepang)

Penemu teknik NNUE itu sendiri. Nasu mengembangkan konsep ini untuk engine shogi dan mempublikasikan teorinya, yang kemudian diadaptasi oleh Noda untuk catur. Meski tidak secara langsung berkontribusi ke kode Stockfish, penemuan Nasu adalah fondasi dari keunggulan Stockfish modern.

6.2 Kontributor Komunitas yang Signifikan

Stockfish adalah proyek kolaborasi global dengan ratusan kontributor. Beberapa nama yang patut disebut:

Stéphane Nicolet (Prancis)

Kontributor veteran yang telah menyumbangkan ratusan patch untuk Stockfish, terutama dalam hal fungsi evaluasi dan berbagai teknik pencarian. Nicolet dikenal dengan kemampuannya menerjemahkan intuisi catur menjadi kode yang efektif.

Joost VandeVondele (Belanda/Swiss)

Salah satu kontributor yang paling produktif untuk aspek evaluasi, khususnya terkait keamanan raja dan mobilitas buah.

Michael Chaly (nama pengguna ViperZero)

Kontributor signifikan untuk training NNUE dan pengembangan infrastruktur pembelajaran mesin Stockfish.

Vondele, Romstad (generasi kedua)

Banyak programmer muda yang bergabung dan meneruskan tradisi, termasuk nama-nama seperti Sami Kiminki, Vizvezdenec, xoto10, dan banyak lagi yang aktif di forum talkchess.com dan repositori GitHub Stockfish.

6.3 Fishtest: Komunitas Pengujian Global

Tak kalah pentingnya dari programmer adalah komunitas Fishtest — ribuan sukarelawan di seluruh dunia yang menyumbangkan waktu CPU mereka untuk menguji patch-patch baru. Tanpa mereka, proses validasi yang ketat yang membuat Stockfish begitu andal tidak akan mungkin dilakukan dalam waktu yang wajar.

Fishtest saat ini memiliki ribuan kontributor aktif yang menjalankan program di komputer-komputer mereka secara terus-menerus, mengakumulasi jutaan partai pengujian setiap harinya. Ini adalah salah satu contoh terbesar dan paling sukses dari distributed computing untuk ilmu pengetahuan.

6.4 Struktur Governance

Stockfish dikelola di bawah lisensi GNU GPL v3 (General Public License version 3), yang berarti:

  • Kode sumber sepenuhnya terbuka dan bebas diakses oleh siapa pun
  • Siapa pun dapat memodifikasi dan mendistribusikan ulang, asalkan tetap menggunakan lisensi yang sama
  • Tidak ada entitas komersial yang memiliki Stockfish

Keputusan tentang apa yang masuk ke kode utama dibuat secara kolektif oleh tim inti developer, dengan standar pengujian yang ketat melalui Fishtest sebagai penjaga gerbang.


BAB 7: SETTING STOCKFISH 18 UNTUK KEKUATAN MAKSIMAL

7.1 Parameter UCI (Universal Chess Interface) Utama

Stockfish berkomunikasi dengan GUI (Graphical User Interface) catur melalui protokol UCI (Universal Chess Interface). Melalui UCI, pengguna dapat mengatur berbagai parameter yang mempengaruhi kekuatan dan perilaku engine. Berikut panduan lengkapnya:

7.2 Hash (Transposition Table Size)

UCI Parameter: Hash
Default: 16 MB
Range: 1 MB – 33,554,432 MB (theoretically)
Rekomendasi untuk kekuatan maksimal: 50-75% dari RAM yang tersedia

Penjelasan: Hash Table adalah salah satu faktor terpenting dalam kekuatan engine. Semakin besar Hash, semakin banyak posisi yang dapat diingat engine, mengurangi perhitungan ulang yang tidak perlu.

Panduan Praktis:

  • RAM 8 GB: Set Hash ke 4096 MB (4 GB)
  • RAM 16 GB: Set Hash ke 8192 MB (8 GB)
  • RAM 32 GB: Set Hash ke 16384 MB (16 GB)
  • RAM 64 GB+: Set Hash ke 32768 MB (32 GB)

Peringatan: Jangan set Hash melebihi 75% RAM total, karena sistem operasi dan program lain juga membutuhkan memori. Hash yang terlalu besar dapat menyebabkan swapping ke disk, yang justru akan memperlambat engine secara drastis.

7.3 Threads (Jumlah Core yang Digunakan)

UCI Parameter: Threads
Default: 1
Range: 1 – 512
Rekomendasi untuk kekuatan maksimal: Jumlah physical core - 1 atau = physical core

Penjelasan: Lebih banyak thread = lebih banyak posisi yang dianalisis per detik. Setiap thread tambahan memberikan peningkatan kekuatan yang semakin berkurang (diminishing returns), namun secara umum lebih banyak selalu lebih baik.

Panduan Praktis:

  • Dual-core CPU: Set Threads ke 2
  • Quad-core CPU: Set Threads ke 4
  • 8-core CPU (e.g., i7-10700K): Set Threads ke 7 atau 8
  • 16-core CPU (e.g., Ryzen 9 5950X): Set Threads ke 14-16
  • 32-core CPU: Set Threads ke 28-32

Tips: Sisakan 1-2 core untuk sistem operasi agar tidak terjadi freeze atau stuttering pada komputer Anda saat engine berjalan penuh.

7.4 SyzygyPath (Endgame Tablebases)

UCI Parameter: SyzygyPath
Format: Path ke folder yang berisi file .rtbw dan .rtbz
Contoh: C:\Syzygy atau /home/user/syzygy

Penjelasan: Syzygy Tablebases adalah database yang berisi solusi sempurna untuk semua posisi endgame dengan 3, 4, 5, 6, atau 7 buah (termasuk kedua raja). Dengan tablebases, Stockfish tidak perlu menebak — ia tahu secara pasti apakah posisi tersebut menang, kalah, atau seri, dan berapa banyak langkah yang dibutuhkan.

Ukuran File:

  • 3-4 buah: ~1 MB (sangat kecil, wajib dimiliki)
  • 5 buah: ~1 GB
  • 6 buah: ~150 GB
  • 7 buah (Syzygy7): ~18 TB (hanya untuk server khusus)

Untuk setup kekuatan maksimal dengan storage terbatas, 5-buah Tablebases sudah memberikan peningkatan kekuatan yang signifikan.

7.5 UCI_LimitStrength dan UCI_Elo

UCI Parameter: UCI_LimitStrength
Default: false

Untuk kekuatan MAKSIMAL, pastikan UCI_LimitStrength diset ke FALSE. Jika diset True, engine akan secara artifisial membatasi kemampuannya (berguna untuk bermain melawan manusia biasa, bukan untuk analisis).

7.6 Ponder

UCI Parameter: Ponder
Default: false

Jika Ponder diset True, Stockfish akan berpikir selama giliran lawan — berguna untuk analisis posisi atau dalam pertandingan antar-engine. Dalam mode analisis, ini membantu engine mendapatkan kedalaman yang lebih besar.

7.7 MultiPV (Multiple Principal Variations)

UCI Parameter: MultiPV
Default: 1
Range: 1 – 500

MultiPV = 1: Stockfish hanya mencari langkah terbaik tunggal — mode ini memberikan kekuatan analisis MAKSIMAL karena seluruh sumber daya difokuskan pada satu langkah terbaik.

MultiPV > 1: Stockfish mencari beberapa alternatif terbaik sekaligus — berguna untuk analisis yang lebih dalam dan pemahaman, namun mengurangi kedalaman pencarian untuk setiap variasi.

Rekomendasi: Untuk kekuatan MAKSIMAL dalam turnamen engine atau analisis posisi kritis, gunakan MultiPV = 1. Untuk keperluan belajar dan analisis mendalam, gunakan MultiPV = 3 atau 5.

7.8 Ringkasan Setting Kekuatan Maksimal

Berikut adalah konfigurasi UCI yang direkomendasikan untuk kekuatan maksimal pada komputer dengan 16 GB RAM dan 8-core CPU:

[Stockfish Settings - Maximum Strength]
Hash = 8192
Threads = 8
MultiPV = 1
Ponder = true
UCI_LimitStrength = false
SyzygyPath = [path ke folder tablebases]
SyzygyProbeLimit = 6
SyzygyProbeDepth = 1
MoveOverhead = 30
nodestime = 0

BAB 8: MENGUBAH GAYA MAIN STOCKFISH — AGRESIF, POSISIONAL, DAN ENDGAME

Ini adalah bagian yang paling menarik bagi banyak pengguna Stockfish: bagaimana membuat engine ini bermain dengan gaya tertentu, bukan sekadar selalu memilih langkah yang secara objektif paling kuat.

Perlu dipahami terlebih dahulu bahwa Stockfish pada dasarnya adalah engine objectivist — ia selalu memilih langkah yang menurutnya paling optimal secara objektif. Mengubah gaya mainnya berarti kita "memberi batasan" atau "memberi bias" pada pencariannya.

8.1 Menggunakan Parameter Resmi Stockfish

Parameter "Contempt" (Sudah Dihapus di Versi Modern)

Di versi-versi lama Stockfish, ada parameter Contempt yang mengontrol seberapa agresif engine bermain. Nilai positif mendorong Stockfish untuk bermain lebih agresif dan menghindari draw, sementara nilai negatif membuat engine lebih konservatif.

Namun, di Stockfish 14 dan seterusnya, parameter Contempt telah dihapus karena evaluasi NNUE yang lebih akurat membuat parameter ini tidak diperlukan lagi dan bahkan dapat menurunkan kualitas bermain.

Menggunakan UCI_ShowWDL

UCI_ShowWDL = true

Parameter ini tidak mengubah gaya bermain, tetapi membuat Stockfish menampilkan Win-Draw-Loss probability (dalam persentase) bersama evaluasi. Berguna untuk memahami nuansa posisi.

8.2 Teknik Praktis: Mengubah Gaya Melalui Opening Book

Cara paling efektif untuk mengubah gaya main Stockfish adalah dengan memaksakan opening tertentu melalui opening book:

Gaya Agresif: Menggunakan Opening Tajam

Untuk gaya agresif, arahkan Stockfish ke opening-opening tajam seperti:

  • King's Indian Defense (1.d4 Nf6 2.c4 g6)
  • Dragon Variation (dalam Sicilian Defense)
  • Sicilian Najdorf (1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 a6)
  • Latvian Gambit (1.e4 e5 2.Nf3 f5)
  • King's Gambit (1.e4 e5 2.f4)

Sebagian besar GUI catur seperti Fritz, ChessBase, Arena, atau Cutechess memungkinkan Anda memilih opening book spesifik yang hanya berisi opening-opening tertentu.

Gaya Posisional: Opening Solid dan Strategis

Untuk gaya posisional yang solid:

  • Catalan Opening (1.d4 Nf6 2.c4 e6 3.Nf3 d5 4.g3)
  • English Opening (1.c4)
  • Queen's Gambit Declined (1.d4 d5 2.c4 e6)
  • Berlin Defense (1.e4 e5 2.Nf3 Nc6 3.Bb5 Nf6)
  • Petrov Defense (1.e4 e5 2.Nf3 Nf6)

Gaya Exchange-Oriented (Menukar Buah Menuju Endgame):

Untuk gaya yang suka menukar buah dan masuk endgame:

  • Exchange Variation dari berbagai opening (Ruy Lopez Exchange, French Exchange, QGD Exchange)
  • Symmetrical English (1.c4 c5)
  • London System (1.d4 Nf6 2.Nf3 d5 3.Bf4) — tidak terlalu agresif, mengarah ke posisi solid

8.3 Menggunakan Engine Wrapper dan Modifikasi

Melalui Skill Level (Hanya untuk Melemahkan)

UCI_LimitStrength = true
UCI_Elo = [1000-3190]

Ini bukan untuk mengubah gaya, melainkan untuk melemahkan engine agar bisa dikalahkan manusia.

Menggunakan Custom NNUE Network

Salah satu cara paling powerful untuk mengubah "kepribadian" Stockfish adalah dengan menggunakan jaringan NNUE yang berbeda:

EvalFile = [nama file .nnue]

Beberapa proyek telah melatih jaringan NNUE khusus dengan karakteristik tertentu:

  • Network yang dilatih pada partai-partai taktis: Membuat Stockfish lebih taktis
  • Network yang dilatih pada partai-partai posisional: Membuat evaluasi lebih posisional
  • Network yang dilatih pada endgame positions: Meningkatkan pemahaman endgame

Menggunakan GUI dengan Fitur Personality

Beberapa GUI catur modern menawarkan fitur personality atau style yang mengimplementasikan bias internal:

ChessBase Fritz 19 dan setelahnya memiliki fitur "Brain" yang dapat diatur untuk mempengaruhi gaya bermain engine. Meski ini bekerja dengan memodifikasi bagaimana hasil engine diinterpretasikan, hasilnya bisa cukup dramatis.

Banksia GUI memiliki fitur untuk menambahkan noise pada evaluasi, yang dapat membuat permainan engine lebih "manusiawi" dan bervariasi.

8.4 Modifikasi Parameter untuk Gaya Bermain Berbeda (Metode Lanjutan)

Bagi yang berani masuk ke level yang lebih dalam, Stockfish dapat di-compile ulang dengan modifikasi parameter tertentu:

Membuat Stockfish Lebih Agresif

Dalam kode sumber Stockfish, ada beberapa parameter yang dapat dimodifikasi untuk mendorong permainan lebih agresif:

// Contoh modifikasi konseptual (bukan kode eksak):

// 1. Meningkatkan nilai serangan raja
KingDanger[piece] *= 1.2;  // Membuat engine lebih menghargai serangan ke raja

// 2. Meningkatkan mobilitas buah menyerang
MobilityBonus[BISHOP] *= 1.1;  // Bishop yang aktif lebih dihargai

// 3. Mengurangi penalti untuk posisi yang tidak seimbang (imbalanced)
// Membuat engine lebih bersedia masuk ke posisi tidak seimbang

// 4. Modifikasi evaluasi passed pawn
PassedPawnValue *= 1.15;  // Lebih berani mendorong pion

Membuat Stockfish Lebih Posisional

// Meningkatkan penghargaan pada struktur pion yang baik
PawnStructureBonus *= 1.2;

// Meningkatkan nilai mobilitas secara keseluruhan
MobilityMultiplier *= 1.1;

// Mengurangi agresivitas null-move pruning
// (membuat pencarian lebih hati-hati dan solid)
NullMoveReduction = 2;  // Dikurangi dari default 3

// Meningkatkan penghargaan pada kontrol ruang
SpaceBonus *= 1.2;

Membuat Stockfish Lebih Endgame-Oriented

// Meningkatkan nilai Rooks dan Queens di file terbuka
RookOnOpenFile *= 1.15;

// Meningkatkan penghargaan pada simplifikasi ke endgame yang menguntungkan
EndgameBonus *= 1.2;

// Meningkatkan evaluasi passed pawns (kritis di endgame)
PassedPawnEndgame *= 1.25;

// Meningkatkan aktivitas raja di endgame
KingActivityEndgame *= 1.2;

8.5 Menggunakan Software Khusus: BrainFish dan Chess Personality Projects

BrainFish adalah modifikasi Stockfish yang menambahkan kemampuan untuk menggunakan "Brain Book" — sebuah opening book yang tidak hanya menentukan langkah pembukaan, tetapi juga memberikan panduan strategis sepanjang permainan (termasuk middlegame dan bahkan endgame).

Beberapa proyek fork Stockfish yang dirancang untuk gaya bermain tertentu:

  • Knight Cap Stockfish: Fork dengan evaluasi yang dimodifikasi untuk gaya taktis
  • Aggressive SF: Modifikasi yang meningkatkan kecenderungan serangan

Catatan Penting: Memodifikasi kode sumber Stockfish memerlukan pengetahuan C++ yang baik dan proses kompilasi ulang. Ini bukan untuk pemula, namun dokumentasi dan panduan tersedia di repositori GitHub Stockfish dan forum talkchess.com.


BAB 9: STOCKFISH DI ANDROID VS LAPTOP SPEK GAHAR — PERBANDINGAN KEKUATAN

9.1 Faktor-Faktor yang Menentukan Kekuatan Engine

Kekuatan Stockfish (atau engine catur mana pun) di hardware tertentu ditentukan oleh beberapa faktor utama:

  1. Kecepatan CPU: Diukur dalam GHz dan IPC (Instructions Per Clock) — menentukan berapa banyak posisi yang bisa dievaluasi per detik (nodes per second/NPS)
  2. Jumlah Core: Lebih banyak core = lebih banyak posisi dievaluasi secara paralel
  3. Kapasitas RAM: Menentukan ukuran Hash Table yang bisa digunakan
  4. Dukungan Instruksi SIMD: AVX-512, AVX2, SSE4 — kritis untuk kecepatan evaluasi NNUE
  5. Cache CPU: Cache yang lebih besar dan cepat = akses Hash Table yang lebih efisien
  6. Thermal Throttling: Panas berlebih menyebabkan CPU menurunkan kecepatan — masalah utama di smartphone

9.2 Stockfish di Smartphone Android

Keterbatasan Hardware Smartphone

Smartphone Android, bahkan yang kelas flagship sekalipun, memiliki keterbatasan fundamental dibandingkan laptop atau desktop:

Prosesor Mobile:

  • Smartphone flagship (2024): Qualcomm Snapdragon 8 Gen 3, Apple A17 Pro, MediaTek Dimensity 9300
  • Frekuensi: 3.0-3.5 GHz (prime core), namun jarang bisa bertahan lama di clock tinggi
  • Core yang relevan: Biasanya 4-8 core, namun tidak semua bisa digunakan untuk Stockfish secara efektif
  • Dukungan SIMD: ARM NEON, SVE (tidak sekuat x86 AVX-512)

Thermal Throttling: Musuh Utama

Ini adalah masalah terbesar Stockfish di smartphone. Karena smartphone memiliki sistem pendingin yang minimal (tidak ada kipas, heatsink kecil), dalam 2-5 menit penggunaan penuh, processor akan mulai thermal throttling — menurunkan kecepatan secara otomatis untuk mencegah overheating.

Akibatnya, NPS (nodes per second) Stockfish di smartphone:

  • Awal (0-2 menit): 500,000 – 2,000,000 NPS (flagship 2024)
  • Setelah throttling (5+ menit): 200,000 – 800,000 NPS

RAM Terbatas:

  • Smartphone flagship: 12-16 GB RAM total
  • Yang tersedia untuk Stockfish: Maksimal 2-4 GB (harus berbagi dengan sistem dan aplikasi lain)
  • Hash Table yang bisa digunakan: 512 MB – 2 GB

NPS Stockfish di Berbagai Smartphone Android

PerangkatChipsetThreadNPS (Perkiraan)
Flagship 2024 (Snapdragon 8 Gen 3)Snapdragon 8 Gen 381.5-3M NPS
Mid-range 2024 (SD 7s Gen 2)Snapdragon 7s Gen 28500K-1.5M NPS
Budget (Helio G85)MediaTek G858200-600K NPS
Old flagship (SD 855, 2019)Snapdragon 8558800K-1.5M NPS

Rating ELO Efektif Stockfish di Smartphone

Berdasarkan NPS dan kedalaman analisis yang bisa dicapai:

  • Flagship Android 2024 (1 menit per langkah): ~3100-3200 ELO efektif
  • Mid-range Android (1 menit per langkah): ~2900-3000 ELO efektif
  • Budget Android (1 menit per langkah): ~2600-2800 ELO efektif

Angka-angka ini masih jauh melampaui grandmaster manusia terbaik (2800-2900 FIDE), namun jauh di bawah potensi penuh Stockfish di hardware PC.

Aplikasi Stockfish Android yang Populer

  1. Lichess (Android App): Menggunakan Stockfish yang dioptimalkan untuk mobile, terintegrasi langsung
  2. Chess.com App: Menggunakan engine proprietary namun berbasis Stockfish untuk analisis
  3. DroidFish: Aplikasi catur open-source yang menggunakan Stockfish, memungkinkan konfigurasi penuh parameter UCI
  4. Chess PGN Master: Mendukung Stockfish sebagai engine analisis
  5. ChessBase Online: Menggunakan kombinasi engine cloud dan lokal

Tips Android: Untuk performa terbaik Stockfish di Android, gunakan DroidFish yang memungkinkan pengaturan Hash dan Threads. Aktifkan mode "Do Not Disturb" dan gunakan charger selama analisis panjang untuk mencegah throttling dari penggunaan baterai.

9.3 Stockfish di Laptop Spek Gahar

Definisi "Spek Gahar" untuk Stockfish

Laptop yang optimal untuk Stockfish biasanya memiliki:

  • CPU: Intel Core i9 generasi terbaru, AMD Ryzen 9, atau Apple M-series
  • RAM: 32 GB atau lebih
  • Cooling: Sistem pendingin yang mampu mempertahankan performa penuh

Perbandingan Laptop vs Desktop

PlatformCPU ContohNPS (Stockfish 18, 8T)HashKedalaman (30 detik)
Desktop GaharRyzen 9 7950X80-120M NPS32 GBdepth 30+
Laptop GamingCore i9-14900HX40-70M NPS8 GBdepth 27-30
Laptop StandarCore i7-1355U15-30M NPS4 GBdepth 23-27
WorkstationThreadripper 3990X200-300M NPS128 GBdepth 35+

Keunggulan Laptop Gahar vs Smartphone

  1. NPS 10-100x lebih tinggi dibandingkan smartphone flagship
  2. Tidak ada thermal throttling (dengan sistem pendingin yang baik)
  3. Hash Table jauh lebih besar (8-64 GB vs 512 MB-2 GB)
  4. Dukungan AVX2/AVX-512 yang membuat NNUE jauh lebih cepat
  5. Lebih banyak core yang benar-benar bisa dimanfaatkan

Rating ELO Efektif di Laptop Gahar

  • Laptop i9 (8 thread, 1 menit/langkah): ~3400-3500 ELO efektif
  • Desktop Ryzen 9 (16 thread, 1 menit/langkah): ~3500-3600 ELO efektif
  • Workstation 32+ core (1 menit/langkah): ~3600+ ELO efektif

9.4 Kesimpulan Perbandingan

Perbedaan kekuatan antara Stockfish di smartphone Android vs laptop gahar bisa mencapai 200-400 ELO — sebuah gap yang sangat signifikan. Untuk keperluan analisis serius, turnamen engine, atau penelitian catur, laptop atau desktop dengan spesifikasi tinggi adalah pilihan yang jauh lebih baik.

Namun, bahkan Stockfish di smartphone kelas menengah pun masih jauh lebih kuat dari grandmaster manusia mana pun — sebuah fakta yang menunjukkan betapa luar biasanya engine ini.


BAB 10: STOCKFISH DI SERVER LICHESS — RAKSASA YANG MELAYANI JUTAAN PEMAIN

10.1 Lichess dan Filosofi Open-Source

Lichess.org adalah platform catur online terbesar yang sepenuhnya gratis dan open-source, didirikan oleh programmer Prancis Thibault Duplessis (dikenal sebagai ornicar) pada tahun 2010. Sesuai dengan filosofinya yang open-source, Lichess menggunakan Stockfish sebagai engine analisisnya — kecocokan yang sempurna antara dua proyek open-source terbesar di dunia catur.

10.2 Infrastruktur Server Lichess

Hardware yang Digunakan

Lichess menjalankan infrastruktur di server-server fisik yang kuat, bukan cloud publik. Berdasarkan informasi yang tersedia secara publik:

  • Server Utama: Beberapa server fisik dengan prosesor Intel Xeon atau AMD EPYC
  • CPU per server: 32-64+ core
  • RAM per server: 256 GB atau lebih
  • Penyimpanan: NVMe SSD berkecepatan tinggi
  • Lokasi: Data center di Eropa

Arsitektur Engine Lichess

Lichess menggunakan Stockfish dalam mode cloud yang teroptimasi:

  1. Stockfish.js: Versi Stockfish yang di-compile ke WebAssembly (WASM), berjalan langsung di browser pengguna. Ini memungkinkan analisis lokal tanpa membebani server.

  2. Fishnet: Jaringan analisis terdistribusi di mana sukarelawan menyumbangkan daya komputasi mereka. Ketika pengguna meminta analisis mendalam, permintaan dikirim ke jaringan Fishnet yang terdiri dari ribuan komputer sukarelawan.

  3. Server Engine: Lichess juga menjalankan instance Stockfish di server mereka sendiri untuk analisis cepat dan fitur-fitur tertentu.

10.3 Kekuatan Stockfish di Lichess

Mode Analisis Standar (Browser/App)

Stockfish yang berjalan di browser pengguna melalui WebAssembly memiliki keterbatasan:

  • Hash: Terbatas (~64-128 MB dalam mode browser)
  • Threads: Biasanya 2-4 thread (tergantung browser dan perangkat)
  • NPS: 1-10 juta NPS tergantung hardware pengguna
  • ELO Efektif: ~3000-3300 (dalam mode browser)

Mode Analisis Mendalam (Fishnet/Cloud)

Ketika pengguna meminta analisis mendalam dari antrian Fishnet:

  • Analisis dilakukan oleh kontributor Fishnet yang menjalankan Stockfish penuh
  • Hash: Hingga beberapa GB (tergantung kontributor)
  • Threads: Bisa mencapai 16-64+ thread
  • Waktu: Beberapa menit untuk analisis satu partai penuh
  • Kualitas: Setara dengan menjalankan Stockfish di hardware gaming kelas tinggi

Analisis Partai Lichess

Fitur analisis otomatis Lichess menggunakan Stockfish untuk:

  • Blunder check: Menandai kesalahan besar (blunder, mistake, inaccuracy)
  • Best move highlights: Menunjukkan langkah terbaik di setiap posisi
  • Accuracy percentage: Mengukur seberapa akurat permainan dibandingkan Stockfish ideal
  • Critical position analysis: Analisis mendalam pada posisi-posisi kunci

Lichess memproses jutaan partai setiap harinya dengan sistem analisis ini — sebuah operasi yang membutuhkan ribuan jam CPU setiap harinya.

10.4 Lichess Board API dan Engine Integration

Lichess menyediakan API yang memungkinkan:

  • Bot catur berbasis Stockfish bermain di platform
  • Pengembang mengakses analisis Stockfish secara programmatik
  • Integrasi dengan aplikasi pihak ketiga

BAB 11: STOCKFISH DI LAYANAN CLOUD — CHESSIFY, CHESSBASE ENGINE CLOUD, DAN SEJENISNYA

11.1 Mengapa Cloud Chess Engine?

Analisis mendalam dengan Stockfish membutuhkan hardware yang kuat. Tidak semua orang memiliki workstation 32-core dengan 64 GB RAM. Di sinilah layanan cloud chess engine hadir — menyediakan akses ke Stockfish yang berjalan di server-server powerful melalui internet.

11.2 Chessify: Pemimpin Pasar Cloud Engine

Chessify adalah layanan cloud engine terdepan yang secara khusus dirancang untuk analisis catur. Berikut profil lengkapnya:

Infrastruktur Chessify

Chessify menjalankan server-server dengan spesifikasi tinggi:

  • CPU: Intel Xeon Scalable atau AMD EPYC dengan banyak core
  • GPU: NVIDIA Tesla/A100 untuk analisis berbasis GPU
  • RAM: Ratusan GB per server
  • Lokasi: Beberapa data center global

Paket Layanan Chessify

Chessify menawarkan beberapa tingkatan layanan berdasarkan jumlah core yang digunakan:

PaketCoreKedalaman (60s)Harga (Perkiraan)
Free2~25Gratis (terbatas)
Starter4~27~$5/bulan
Standard8~29~$12/bulan
Advanced16~31~$25/bulan
Pro32~33~$50/bulan
Ultra64~35~$99/bulan

Kekuatan Stockfish di Chessify

  • Paket Ultra (64 core, 60 detik): Setara dengan ~3600-3650 ELO efektif — mendekati kekuatan Stockfish "ideal"
  • Analisis GPU: Untuk engine berbasis GPU seperti Leela, Chessify menawarkan akses GPU A100 yang luar biasa kuat

Fitur Unggulan Chessify

  1. Multi-line analysis: Menganalisis banyak variasi secara bersamaan
  2. Batch analysis: Menganalisis banyak partai sekaligus
  3. Cloud database: Integrasi dengan database partai
  4. Mobile app: Analisis cloud dari smartphone
  5. Opening tree: Membangun opening tree berbasis analisis engine

11.3 ChessBase Engine Cloud

ChessBase Engine Cloud adalah layanan dari perusahaan catur legendaris ChessBase, yang terintegrasi dengan software ChessBase dan Fritz:

Cara Kerja

Pengguna ChessBase (versi 17 ke atas) dapat menghubungkan engine lokal mereka ke cloud, atau menggunakan engine yang berjalan di server ChessBase. Sistem ini memanfaatkan:

  • Server ChessBase: Server berlapis yang tersebar di Eropa
  • Integrasi seamless: Langsung terintegrasi dengan GUI ChessBase
  • Engine cloud premium: Stockfish versi terkuat yang berjalan di hardware server

Kekuatan di ChessBase Engine Cloud

  • Standard: 4-8 core, setara dengan analisis pada laptop gaming kelas atas
  • Premium: 16-32 core, setara dengan workstation desktop
  • Engine Analysis Cloud: Menggunakan Stockfish versi optimal yang dikurasi ChessBase

11.4 Layanan Cloud Engine Lainnya

Chess.com Engine Analysis (Premium)

Chess.com menawarkan analisis mendalam untuk anggota premium, menggunakan engine kuat di server mereka:

  • Analisis berbasis cloud yang cepat
  • Tersedia untuk semua jenis partai
  • Terintegrasi dengan review partai otomatis

ChessTempo Cloud Analysis

ChessTempo (chesstempo.com) menawarkan analisis cloud dengan beberapa tingkatan kecepatan:

  • Standard: Analisis cepat untuk kebutuhan sehari-hari
  • Deep: Analisis lebih lama dengan kedalaman yang lebih besar
  • Ongoing: Analisis terus-menerus untuk posisi kritis

Komodo Dragon Cloud (Playchess)

Playchess.com (bagian dari ChessBase ecosystem) menawarkan akses ke Komodo Dragon — saingan utama Stockfish dari perusahaan komersial. Meski ini bukan Stockfish, patut disebut sebagai alternatif cloud engine yang kuat.

11.5 Perbandingan Kekuatan: Semua Platform

Berikut adalah ringkasan perbandingan komprehensif:

PlatformHardwareNPS (Perkiraan)ELO EfektifCatatan
Android BudgetHelio G85200-500K2600-2800Throttling tinggi
Android FlagshipSD 8 Gen 31-3M3000-3200Throttling setelah beberapa menit
Laptop Mid-rangei5-1335U5-15M2900-3100OK untuk penggunaan kasual
Laptop Gamingi9-14900HX30-60M3300-3500Solid untuk analisis serius
Desktop GaharRyzen 9 7950X80-150M3500-3600Sangat baik
WorkstationTR 3990X200-400M3600+Level profesional
Chessify Ultra (64c)Xeon cluster400-800M3650+Mendekati teoritis maximum
Lichess FishnetBervariasiBervariasi3200-3600Tergantung kontributor
Server LichessMulti-server100M+3500+Optimal untuk layanan

BAB 12: DOMINASI STOCKFISH DI TCEC DAN TURNAMEN ENGINE DUNIA

12.1 Apa itu TCEC?

TCEC (Top Chess Engine Championship) adalah kompetisi antar-engine catur paling bergengsi di dunia, dijalankan secara online dan dapat disaksikan oleh publik melalui situs tcec.chessdom.com. Kompetisi ini berjalan hampir sepanjang tahun dalam siklus "season" yang panjang, dengan berbagai divisi dan format.

TCEC didirikan pada tahun 2010 oleh Martin Thoresen dan diambil alih oleh Chessdom pada tahun 2013. Sejak saat itu, TCEC telah menjadi tolok ukur utama untuk mengukur kekuatan relatif berbagai engine catur.

12.2 Format TCEC

Kompetisi TCEC terdiri dari beberapa liga/divisi:

  • TCEC Swiss: Turnamen Swiss untuk berbagai engine
  • TCEC Division 4 (Div4): Divisi terendah, untuk engine-engine yang lebih lemah
  • TCEC Division 3 (Div3)
  • TCEC Division 2 (Div2)
  • TCEC Division 1 (Div1)
  • TCEC Premier Division (Top Division): Divisi tertinggi, hanya untuk engine-engine terkuat
  • TCEC Superfinal: Pertandingan 100 partai antara juara Premier Division vs juara bertahan

Sistem promosi dan degradasi memastikan bahwa hanya engine-engine terkuat yang bersaing di divisi puncak.

12.3 Dominasi Stockfish di TCEC

Stockfish mulai mendominasi TCEC secara konsisten sejak sekitar Season 6 (2014). Sejak saat itu, rekam jejaknya luar biasa:

TCEC Season 6 (2014)

Stockfish memenangkan Superfinal pertamanya, mengalahkan Komodo dalam pertandingan yang ketat. Ini adalah awal dari era dominasi Stockfish.

TCEC Season 7-11 (2014-2017)

Stockfish dan Komodo bergantian memenangkan season, dengan persaingan yang sangat ketat. Ini adalah era "dua raksasa" di mana kedua engine sering bertemu di Superfinal.

TCEC Season 12-14 (2018-2019)

Houdini sempat menantang, namun Stockfish tetap menjadi kekuatan dominan. Leela Chess Zero (LCZ) mulai muncul sebagai penantang serius berbasis GPU.

Era NNUE: Dominasi Total (2020-sekarang)

Setelah integrasi NNUE di Stockfish 12, dominasi Stockfish di TCEC menjadi hampir mutlak:

TCEC Season 20 (2021): Stockfish dengan NNUE mendominasi, menang Superfinal dengan skor telak

TCEC Season 21-25 (2022-2023): Stockfish terus mempertahankan gelar, dengan Leela Chess Zero sebagai saingan paling konsisten di Superfinal

Rekor Stockfish di TCEC Superfinal (hingga penulisan artikel ini):

  • Total Season yang dimenangkan: Lebih dari 15 kali dari total ~25 season
  • Persentase kemenangan: Mendekati 60-65% dari semua Superfinal yang dimainkan

12.4 Rival Utama Stockfish di TCEC

Komodo Dragon

Engine komersial yang dikembangkan oleh Don Dailey (almarhum) dan Larry Kaufman (Grandmaster) dengan Mark Lefler sebagai programmer utama. Komodo Dragon adalah saingan terkuat Stockfish sebelum era NNUE. Dikenal dengan gaya bermain posisional yang solid dan pemahaman endgame yang superior.

Komodo Dragon sendiri mengintegrasikan jaringan saraf (menggunakan pendekatan MCTS + Neural Network dalam versi Dragon) dan tetap menjadi salah satu engine terkuat setelah Stockfish.

Leela Chess Zero (LCZ / LC0)

Engine berbasis deep neural network yang terinspirasi dari AlphaZero DeepMind. LCZ menggunakan MCTS (Monte Carlo Tree Search) alih-alih Alpha-Beta, dan mengevaluasi posisi menggunakan jaringan saraf besar yang berjalan di GPU.

LCZ memerlukan GPU yang kuat (NVIDIA RTX 3090 atau lebih baik) untuk bersaing dengan Stockfish, namun dengan hardware yang tepat, ia bisa menyaingi bahkan melampaui Stockfish di beberapa jenis posisi, khususnya posisi taktis kompleks.

Di TCEC, LCZ secara konsisten berada di posisi kedua dan sering menjadi lawan Stockfish di Superfinal.

Houdini

Engine komersial karya Robert Houdart (Belgia). Houdini pernah menjadi engine terkuat di dunia sebelum Stockfish melampaui dan meninggalkannya. Sejak 2018-2019, Houdini tidak lagi dikembangkan dan sudah jauh tertinggal.

Ethereal, Fire, dan Engine Lainnya

Beberapa engine open-source kuat lainnya yang bersaing di TCEC:

  • Ethereal: Engine kuat berbasis Alpha-Beta dengan evaluasi canggih
  • Fire: Engine yang dioptimalkan untuk kecepatan
  • Xiphos, rofChade, Defenchess: Engine-engine kuat yang bersaing di divisi atas

12.5 CCC: Chess.com Computer Chess Championship

Selain TCEC, Chess.com menyelenggarakan CCC (Chess.com Computer Chess Championship) — kompetisi engine catur bergengsi lainnya. Di CCC, Stockfish juga mendominasi, meski kompetisi ini memiliki format yang berbeda (lebih cepat, sering menggunakan time control blitz).


BAB 13: ENGINE CLONE DAN TURUNAN STOCKFISH — ASMFISH, CORRCHESS, DAN SAUDARA-SAUDARANYA

13.1 Mengapa Ada Clone Stockfish?

Karena Stockfish adalah open-source dengan lisensi GPL, siapa pun bebas mengambil kodenya, memodifikasinya, dan mendistribusikan ulang versi yang dimodifikasi (asalkan tetap GPL). Ini melahirkan ekosistem engine-engine "fork" — turunan dari Stockfish yang mengklaim lebih kuat atau memiliki karakteristik yang berbeda.

Beberapa alasan mengapa fork dibuat:

  1. Optimasi untuk hardware spesifik: Beberapa fork dikompilasi dengan instruksi yang lebih spesifik untuk mendapatkan NPS yang lebih tinggi
  2. Eksperimen dengan parameter: Mengubah konstanta evaluasi atau parameter pencarian
  3. Integrasi fitur baru lebih cepat: Beberapa fitur eksperimental belum masuk ke kode Stockfish resmi
  4. Klaim superioritas: Beberapa fork diklaim lebih kuat dari Stockfish "vanilla"

13.2 ASMFish: Sang Speedster

ASMFish adalah salah satu fork Stockfish yang paling terkenal, dikembangkan terutama untuk memaksimalkan kecepatan (NPS) melalui penggunaan Assembly Language (ASM) secara ekstensif.

Tentang ASMFish

ASMFish dikembangkan oleh programmer yang dikenal sebagai syzygy1 dan beberapa kontributor lainnya. Nama "ASM" merujuk pada penggunaan kode assembly level-rendah untuk mengoptimalkan bagian-bagian kritis dari engine.

Keunggulan ASMFish

  • NPS lebih tinggi: ASMFish dapat mencapai NPS 20-30% lebih tinggi dibandingkan Stockfish biasa pada hardware yang sama
  • Optimasi CPU-spesifik: Memanfaatkan instruksi AVX-512 dan optimasi lainnya secara maksimal
  • Lebih cepat dalam beberapa operasi kritis: Terutama pada move generation dan hash table access

Kelemahan ASMFish

  • Platform-spesifik: Karena menggunakan kode assembly yang sangat spesifik, bisa jadi tidak bekerja dengan baik di semua CPU
  • Lebih sulit di-maintain: Kode assembly lebih sulit diperbarui saat kode Stockfish berubah
  • Manfaat yang berkurang setelah NNUE: Evaluasi NNUE yang lebih kompleks mengurangi sebagian keuntungan kecepatan ASMFish

Apakah ASMFish Lebih Kuat?

Dalam hal kualitas pilihan langkah per evaluasi, ASMFish tidak lebih kuat dari Stockfish — fungsi evaluasinya identik. Namun karena NPS-nya lebih tinggi, pada time control yang sama, ASMFish bisa mencapai kedalaman yang sedikit lebih dalam, yang dalam praktiknya berarti sedikit lebih kuat.

Estimasi keunggulan: 5-15 ELO pada time control standar. Cukup kecil, namun signifikan dalam kompetisi ketat.

13.3 CorrChess: Raja Korespondensi

CorrChess adalah fork Stockfish yang dirancang khusus untuk catur korespondensi (correspondence chess) — format catur di mana pemain memiliki waktu berpikir berhari-hari atau bahkan berminggu-minggu per langkah.

Tentang CorrChess

Catur korespondensi memiliki karakteristik yang sangat berbeda dari catur over-the-board:

  • Waktu berpikir sangat panjang: Bisa 3-30 hari per langkah
  • Penggunaan engine diizinkan (dalam banyak organisasi): Engine adalah alat legal
  • Analisis sangat mendalam: Bisa mencapai depth 50+ dengan waktu yang cukup
  • Tablebases tersedia penuh: Syzygy 6-7 buah bisa digunakan

Fitur Khusus CorrChess

  1. Optimasi untuk analisis sangat panjang: Parameter yang dioptimalkan untuk waktu berpikir berjam-jam
  2. Integrasi tablebases yang lebih baik: Memanfaatkan 6 dan 7-buah Syzygy secara optimal
  3. Opening book khusus korespondensi: Book yang mencakup teori terdalam
  4. Manajemen hash yang lebih baik: Untuk analisis yang berlangsung sangat lama

Mengapa CorrChess Bisa Lebih Kuat untuk Korespondensi?

Dalam analisis sangat panjang (berjam-jam), beberapa parameter standar Stockfish tidak optimal. CorrChess mengoptimalkan:

  • Depth management: Mengelola pencarian sangat dalam dengan lebih baik
  • Memory management: Mengelola Hash Table untuk analisis yang berlangsung lama
  • Endgame probe: Mengoptimalkan penggunaan tablebases saat sangat penting

CorrChess diklaim memberikan 10-30 ELO tambahan dalam kondisi analisis panjang dibandingkan Stockfish standar dengan pengaturan yang sama.

13.4 Cfish: C-Language Stockfish

Cfish adalah port dari Stockfish yang ditulis ulang dalam bahasa C (Stockfish asli ditulis dalam C++). Proyek ini dibuat untuk:

  • Mempelajari cara kerja Stockfish dengan bahasa yang lebih sederhana
  • Memungkinkan kompilasi ke platform yang tidak mendukung C++ dengan baik
  • Sebagai referensi implementasi yang lebih mudah dipahami

Cfish memiliki kekuatan yang sangat mirip dengan Stockfish C++ karena logika intinya identik, namun sering sedikit lebih lambat karena beberapa optimasi C++ tidak tersedia.

13.5 Koivisto dan Engine "Terinspirasi" Stockfish

Koivisto adalah engine yang dikembangkan oleh Kim Kahre dan Finn Eggers yang terinspirasi dari Stockfish namun dengan pendekatan independen. Koivisto:

  • Memiliki arsitektur NNUE-nya sendiri
  • Implementasi pencarian yang sedikit berbeda
  • Pernah bersaing di TCEC Division 1

13.6 Viridithas, Weiss, dan Berbagai Fork Kecil

Ada puluhan fork Stockfish yang kurang dikenal namun memiliki komunitas khusus:

  • Viridithas: Fork dengan modifikasi evaluasi
  • Weiss: Engine independen yang belajar dari Stockfish
  • Alexandria: Fork eksperimental dengan arsitektur NNUE yang dimodifikasi
  • Clover: Fork dengan beberapa modifikasi pencarian

13.7 Kontroversi: Apakah Fork Lebih Kuat?

Ini adalah pertanyaan yang sering diperdebatkan di komunitas engine catur. Beberapa fakta yang perlu dipahami:

Kebenaran yang Tidak Populer

Pada kenyataannya, hampir tidak ada fork yang secara konsisten lebih kuat dari Stockfish resmi dalam kondisi pengujian yang adil. Ada beberapa alasan:

  1. Tim Stockfish sangat kompeten: Tim pengembang Stockfish terdiri dari programmer-programmer terbaik yang bekerja dengan metodologi pengujian yang sangat ketat (Fishtest)

  2. "Keunggulan" fork sering ilusi: Banyak klaim keunggulan fork didasarkan pada pengujian yang tidak terkontrol dengan baik — menggunakan time control yang berbeda, opening book yang berbeda, atau hardware yang berbeda

  3. Keunggulan NPS ≠ Keunggulan kualitas: Meski ASMFish lebih cepat (NPS lebih tinggi), pada time control yang cukup panjang, perbedaan ini menjadi tidak signifikan

  4. Fork sering ketinggalan update: Stockfish terus berkembang sangat cepat. Fork yang mengklaim lebih kuat sering menggunakan Stockfish versi lama sebagai basis, sementara Stockfish resmi sudah beberapa versi lebih maju

Kapan Fork Bisa Lebih Baik?

Fork bisa memberikan keunggulan nyata dalam kondisi sangat spesifik:

  • Hardware khusus: ASMFish mungkin lebih baik pada CPU dengan AVX-512 tertentu dalam kondisi yang sangat terbatas
  • Use case khusus: CorrChess untuk korespondensi dengan waktu sangat panjang
  • Platform tidak standar: Fork yang dioptimalkan untuk ARM atau platform lain

Saran Praktis

Untuk penggunaan sehari-hari, analisis, atau kompetisi, gunakan Stockfish resmi — ia selalu mendapat update terbaru dan sudah diuji secara ekstensif. Fork bisa dicoba untuk keperluan eksperimental atau penggunaan sangat spesifik.

13.8 FatFritz dan Kontroversi ChessBase

Patut juga disebut kontroversi FatFritz dari ChessBase. FatFritz adalah engine komersial yang dijual oleh ChessBase, yang ternyata merupakan versi modifikasi dari Leela Chess Zero (dan kemudian FatFritz 2 berbasis Stockfish). Ini menimbulkan kontroversi besar di komunitas catur karena ChessBase mengambil keuntungan komersial dari engine open-source tanpa memberikan kontribusi yang setara.

Komunitas open-source merespons dengan mengklarifikasi bahwa FatFritz tidak secara signifikan lebih kuat dari Leela atau Stockfish yang dapat diunduh gratis, dan kontroversi ini memperkuat pentingnya menggunakan engine dari sumber resmi.


BAB 14: MASA DEPAN STOCKFISH — KE MANA ARAH SANG RAJA?

14.1 Tren Pengembangan ke Depan

Berdasarkan arah pengembangan Stockfish saat ini, beberapa tren yang dapat diantisipasi:

Jaringan NNUE yang Lebih Besar dan Lebih Dalam

Tim Stockfish terus bereksperimen dengan arsitektur jaringan yang lebih besar. Tren menunjukkan bahwa jaringan yang lebih besar secara konsisten meningkatkan kekuatan evaluasi, meskipun dengan biaya komputasi yang lebih tinggi. Ke depan, kita bisa mengharapkan:

  • Jaringan dengan lapisan lebih banyak dan neuron lebih banyak
  • Arsitektur baru yang lebih efisien (mungkin mengadopsi elemen dari transformer atau arsitektur attention)
  • Metode training yang lebih canggih dengan lebih banyak data

Integrasi Komponen GPU (Potensial)

Salah satu tren yang paling menarik untuk diperhatikan adalah kemungkinan integrasi komponen evaluasi berbasis GPU ke dalam Stockfish. Saat ini, Stockfish murni CPU, sementara LCZ membuktikan bahwa GPU bisa sangat efektif untuk evaluasi posisi kompleks.

Menggabungkan kecepatan pencarian CPU Stockfish dengan evaluasi berbasis GPU yang lebih akurat bisa menghasilkan engine yang bahkan lebih kuat secara signifikan.

Optimasi untuk Hardware Terbaru

Setiap generasi CPU baru membawa instruksi-instruksi baru yang bisa dimanfaatkan Stockfish:

  • AVX-512 VNNI: Instruksi khusus untuk inference neural network yang sangat efisien
  • AMX (Advanced Matrix Extensions): Instruksi matrix multiplication di Intel Sapphire Rapids
  • ARM SVE: Untuk optimasi di server ARM dan Apple Silicon

Peningkatan Training Data

Seiring meningkatnya kekuatan Stockfish, data training untuk NNUE juga menjadi lebih berkualitas (karena dihasilkan oleh engine yang lebih kuat). Ini menciptakan siklus virtuous yang terus meningkatkan kualitas evaluasi.

14.2 Stockfish dan AlphaZero: Pembelajaran dari Sang Rival

AlphaZero (DeepMind) yang mengalahkan Stockfish 8 dalam pertandingan terkenal tahun 2017 telah memberikan banyak pelajaran berharga bagi komunitas Stockfish. Meski AlphaZero bukanlah open-source dan tidak pernah dirilis untuk publik umum, pendekatan-pendekatannya (self-play, deep learning, evaluasi posisi holistik) telah mempengaruhi arah pengembangan Stockfish secara signifikan.

Integrasi NNUE adalah respons langsung dari komunitas open-source terhadap AlphaZero — mengambil konsep jaringan saraf yang kuat namun mengimplementasikannya dalam cara yang kompatibel dengan kecepatan Alpha-Beta yang telah terbukti.

14.3 Batas Fisik: Seberapa Kuat Bisa Stockfish Menjadi?

Ini adalah pertanyaan filosofis yang menarik. Apakah ada batas untuk kekuatan engine catur?

Dari perspektif teoritis: Catur adalah permainan dengan informasi sempurna dan state yang terbatas (meski sangat besar). Secara teoritis, catur bisa "di-solve" — ditemukan jawaban sempurna untuk setiap posisi. Namun, jumlah posisi yang mungkin dalam catur (estimasi 10^47) membuat "solving" catur secara sempurna tidak mungkin dilakukan dengan hardware yang ada.

Dari perspektif praktis: Stockfish sudah jauh melampaui kemampuan manusia dalam hampir setiap aspek permainan. Peningkatan lebih lanjut akan semakin sulit diukur karena tidak ada standar manusia yang bisa dijadikan referensi.

Kesimpulan: Stockfish akan terus meningkat, namun peningkatan yang signifikan akan semakin sulit dan mahal secara komputasi. Masa depan mungkin ada pada hybrid approaches — menggabungkan kecepatan Alpha-Beta dengan evaluasi jaringan saraf yang semakin dalam dan akurat.


BAB 15: PENUTUP — REFLEKSI ATAS KEJENIUSAN KOLEKTIF

Stockfish bukan sekadar program komputer. Ia adalah monumen kerjasama global dan semangat open-source — bukti bahwa ketika ribuan pikiran brilian dari seluruh dunia bekerja bersama tanpa motif komersial, hasilnya bisa melampaui apa pun yang bisa dicapai oleh korporasi besar mana pun.

Dari trio awal Romstad, Costalba, dan Kiiski di tahun 2008, hingga ratusan kontributor aktif dari puluhan negara hari ini; dari engine sederhana berbasis Alpha-Beta hingga monster NNUE yang mengevaluasi posisi dengan kedalaman yang melampaui pemahaman intuisi grandmaster mana pun — perjalanan Stockfish adalah kisah tentang kemajuan ilmu pengetahuan dan teknologi yang sesungguhnya.

Bagi kita sebagai pecinta catur, Stockfish adalah hadiah yang tak ternilai. Engine sehebat ini tersedia secara gratis untuk siapa pun yang ingin belajar, menganalisis, dan memperdalam pemahaman mereka tentang permainan yang indah ini. Tidak ada alasan untuk tidak memanfaatkannya.

Namun, ada satu pesan penting yang selalu perlu kita ingat: engine adalah alat, bukan pengganti. Secanggih apapun Stockfish, nilai sejati catur terletak pada pertarungan intelektual antara dua manusia — kreativitas, intuisi, keberanian, dan kecerdikan yang tidak bisa direplika oleh mesin mana pun. Stockfish membantu kita belajar lebih dalam dan lebih cepat, namun semangat catur tetap ada di antara manusia yang memainkannya.

Gunakan Stockfish dengan bijak, belajarlah dari analisisnya, dan terus tingkatkan permainan Anda — karena itulah tujuan sesungguhnya dari semua teknologi luar biasa ini.


Selamat Malam, Gens Una Sumus,

HeDar.


REFERENSI DAN SUMBER

  • Repositori GitHub Stockfish: github.com/official-stockfish/Stockfish
  • Forum TCEC: tcec.chessdom.com
  • Lichess Official Blog: lichess.org/blog
  • Talkchess Forum: talkchess.com (forum komunitas engine catur)
  • CCRL (Computer Chess Rating List): computerchess.org.uk/ccrl
  • CEGT (Chess Engines Grand Tournament): cegt.net
  • Paper NNUE (Yu Nasu): Efficiently Updatable Neural-Network-based Evaluation Functions for Computer Shogi
  • Fishtest: tests.stockfishchess.org
  • Chessify: chessify.me
  • Syzygy Tablebases: syzygy-tables.info

Tidak ada komentar:

Posting Komentar

KLIK Postingan Lama untuk melihat postingan artikel catur sebelumnya, dan KLIK Postingan Lebih Baru untuk melihat artikel catur yang lebih baru, KLIK Beranda untuk ke Halaman Depan!

POSTINGAN MENARIK DALAM POSTINGAN LAMA

Mencari arsip catur...