Prasyarat Kompilasi
- Microsoft Visual Studio
- Compiler Clang (dapat diinstal menggunakan VS Installer)
- Windows SDK Versi 10 (versi lainnya belum ditestkan)
- RAM lebih dari 128 GB (tergantung pada jumlah pemain dan ukuran informasi/aksi)
Kompilasi
Kompile proyek dengan opsi -march=native
dan tingkat optimasi tertinggi untuk mencapai kinerja maksimal pada sistem Anda
Jalankan eksekutabl yang dihasilkan
Konfigurasi
Banyak parameter dapat ditemukan dalam file params.h
atau params.cpp
Hardware
nofThreads
: Jumlah thread terlama yang digunakan
Parameter Permainan
raises
: Fraksi pot yang valid sebagai ukuran taruhanbuyIn
: Umumnya 100 * Big BlindnofPlayers
: Jumlah pemainBB
: Big blindSB
: Small blind
Abstrak Informasi
nofOpponentClusters
: Jumlah klaster lawan yang digunakan untuk clustering OCHS pada sungainofRiverBuckets
: Jumlah klaster untuk sungainofTurnBuckets
: Jumlah klaster untuk turnnofFlopBucks
: Jumlah klaster untuk flop
Perlu diingat bahwa imperfect recall digunakan setelah flop.
Contoh Jalankan
Verifikasi hand indexer dan benchmark kinerja
Kartu seperti AdKd dan AcKc yang memiliki suit isomorphik dan dapat ditangani sebagai identik selama pelatihan. Untuk mapping kartu poker ke equivalent kanoninya, algoritma dikembangkan oleh Kevin Waugh digunakan. Informasi lebih lanjut dapat ditemukan dalam paper penelitian masing-masing.
Klastering Hand Preflop
Hand awal diproses menjadi 16 (atau sebagai yang spesifik) klaster lawan dengan menghasilkan sampel Monte Carlo hingga sungai dan bermain melawan semua kemungkinan hand lawan. Histogram keberadaan yang dihasilkan kemudian diklaster menggunakan jarak penggerak bumi (EMD). Klaster 16 ini membantu menurunkan waktu yang dibutuhkan untuk klastering sungai. Perlu diingat bahwa 169 kemungkinan hand preflop sendiri tidak diklaster selama pelatihan.
Menghitung Histogram Sungai, Turn, dan Flop
Untuk masing-masing kombinasi hand sungai (2 + 5 kartu) isomorphik suit, histogram keberadaan dihitung dengan menghitung kemenangan dan seri melawan semua kemungkinan klaster lawan. Dalam cara yang sama, histogram turn (2 + 4 kartu) dan flop (2 + 3 kartu) dihitung. Namun, dalam dua kasus terakhir, dapat bermain melawan semua kombinasi hand lawan dan tidak hanya 16 klaster lawan.
Klastering Histogram Sungai, Turn, dan Flop
Histogram sungai diklaster menggunakan k-means++ dengan metrik Euclidean (L2) dan histogram turn serta flop dengan jarak penggerak bumi. Contoh beberapa klaster dapat dilihat di atas. Kartu pertama dua adalah hand awal pemain.
Pelatihan
Contoh jalankan pelatihan dengan dua pemain, buy-in 200 masing-masing, big blind 2 dan small blind 1 ditampilkan di atas. Raises disetel menjadi 1, 2 dan 3 kali pot untuk semua babak taruhan. Informasi abstrak yang kuat 1000 klaster untuk flop, turn dan sungai digunakan (169-1000-1000-1000).
Setelah 2'900'000 iterasi pelatihan awal, sekitar 6 juta informasi disinggung dan preflop probabilities tindakkan sebagai berikut dihitung untuk pemain small blind.
Demikian juga, chart yang menunjukkan tindakan preflop pemain big blind setelah tindakan oleh pemain small blind.
Hasil
Pada sekitar 82'000'000 iterasi pelatihan, tabel preflop sebagai berikut dihitung. Perlu diingat bahwa lebih sedikit hand dibuang dan hands yang kuat serta lemah diserang sementara rata-rata hand dipanggil.
Demikian juga, chart yang menunjukkan tindakan preflop pemain big blind setelah tindakan oleh pemain small blind.
Tulisan
Pengembangan Hand Indexer dengan Markdown dan C++17 atau Versi yang Lebih Baru.