Analisis kartu poker dengan Python dan terapkan konsep statistik seperti kombinasi, permutasi, kejadian (tidak) bergantung, dan nilai harapan dengan mudah.
Dalam bagian pertama tutorial ini, Anda telah mempelajari beberapa konsep termasuk kejadian independen dan dependen, permutasi dan kombinasi, kejadian berganda, nilai harapan (Expected Value), serta cara menghitung masing-masing. Sekarang Anda akan menerapkan konsep-konsep tersebut pada kartu poker nyata yang saya mainkan selama karier saya. Sepanjang jalan, Anda akan mempelajari lebih jauh tentang konsep Nilai Harapan dan cara menggunakannya untuk membuat keputusan yang optimal.
Pertama, Anda akan melalui pengantar singkat No Limit Texas Hold’em agar Anda memiliki semua pengetahuan domain yang diperlukan untuk menyelesaikan tutorial;
Kemudian, Anda juga akan diperkenalkan pada beberapa alat yang akan digunakan dalam studi kasus kartu poker.
Setelah melalui dua bagian pengantar ini, Anda akan meninjau lebih dekat konsep yang telah Anda lihat di tutorial pertama: Nilai Harapan.
Terakhir, Anda akan membahas kartu poker: Pocket 10 melawan Pre Flop Raise, Pocket 8 melawan Pre Flop Raise, dan Flop Check Raise Semi Bluff.
Pengantar No Limit Texas Hold’em
Sebelum mulai, sedikit latar belakang diperlukan. Permainan yang akan dibahas dalam studi kasus artikel ini adalah No Limit Texas Hold’em. Dimainkan dengan satu set kartu standar 52, Texas Hold’em adalah varian poker yang paling populer. Setiap pemain berusaha membuat kombinasi lima kartu terbaik dengan menggabungkan dua kartu miliknya dengan lima kartu komunitas yang dibagikan sepanjang jalannya permainan.
Pemain di sebelah kiri tombol dealer memulai aksi dan permainan bergerak searah jarum jam mengelilingi meja. Taruhan biasanya dimulai ketika pemain di sebelah kiri tombol dealer memasang small blind, dan pemain berikutnya di sebelah kiri memasang big blind. Aksi taruhan berlangsung di beberapa “street”: preflop, flop, turn, dan river.
Berikut beberapa istilah yang perlu Anda pahami:
Button - Button adalah cakram bundar yang berpindah searah jarum jam setelah setiap tangan. Dalam permainan rumahan, orang yang memegang Button bertugas membagikan kartu, mulai dari pemain di sebelah kirinya. Di kasino, Button menandakan siapa yang seharusnya menjadi dealer, tetapi dealer sebenarnya disediakan oleh kasino.
The Blinds - Blinds adalah taruhan paksa oleh dua pemain di sebelah kiri Button. Disebut “Blinds” karena kedua pemain harus bertaruh secara buta, yaitu sebelum melihat kartu mereka.
Streets - Setiap putaran ketika kartu dibagikan disebut street.
Pre-Flop - Ini adalah putaran taruhan pertama. Setiap pemain mendapat dua kartu, dan blinds memulai aksi taruhan. Belum ada kartu komunitas yang dibagikan.
Flop - Ini adalah putaran taruhan kedua. Tiga kartu komunitas dibuka di tengah meja, diikuti oleh satu putaran taruhan.
Turn - Dalam putaran ini, hanya satu kartu komunitas yang dibagikan, diikuti oleh putaran taruhan ketiga.
The River - Kartu komunitas terakhir dibagikan, diikuti oleh putaran taruhan terakhir.
Showdown - Setelah River dibagikan dan semua aksi taruhan selesai, para pemain yang masih tersisa membuka kartu mereka untuk melihat siapa yang memiliki kombinasi terbaik.
Check - Jika giliran seorang pemain untuk bertindak dan belum ada taruhan sebelumnya di putaran tersebut, pemain dapat Check yang berarti memilih untuk tidak bertaruh dan mengoper giliran ke pemain berikutnya.
Bet atau Raise - Bet atau Raise berarti meningkatkan besaran taruhan dalam satu putaran. Pemain pertama yang memasukkan uang ke pot di setiap putaran melakukan Bet. Jika pemain lain meningkatkan ukuran taruhan pada putaran itu, mereka melakukan Raise.
Call - Jika giliran seorang pemain untuk bertindak dan sudah ada taruhan pada putaran itu, pemain dapat menyamakan taruhan sebelumnya, yang disebut Call.
Fold - Jika giliran seorang pemain untuk bertindak dan sudah ada taruhan pada putaran itu, pemain dapat menyerah dan Fold kartunya. Pemain ini tidak lagi terlibat dalam tangan tersebut dan kehilangan uang yang telah dimasukkan ke pot.
Jika Anda belum pernah bermain atau tidak familiar dengan istilah poker, Anda dapat klik di sini untuk penjelasan ringkas namun detail.
Alat Probabilitas untuk Poker
Kapan pun saya menemui situasi membingungkan saat bermain, saya menandai tangan tersebut untuk ditinjau nanti. Setelah sesi bermain selesai, saya meninjau kembali tangan-tangan yang telah saya tandai. Saya menguraikannya secara matematis agar saya punya gambaran lebih baik tentang apa yang harus dilakukan pada situasi serupa di masa mendatang.
Tangan-tangan yang digunakan dalam tutorial ini diunduh dan disimpan ke basis data PostgreSQL oleh Hold’em Manager, perangkat lunak yang disebutkan di Bagian I. Hold’em Manager menghitung statistik dari riwayat tangan ini untuk setiap lawan yang Anda hadapi. Data diperbarui dan ditampilkan secara real time saat Anda bermain.
Saya memilih tiga tangan dari karier poker saya. Anda akan menggunakan statistik tentang lawan-lawan saya yang tersedia saat itu, penalaran deduktif, dan alat bernama kalkulator ekuitas, untuk membuat asumsi tentang probabilitas memenangkan tangan untuk setiap opsi yang layak.
Catatan: kalkulator ekuitas digunakan untuk menentukan probabilitas memenangkan sebuah tangan berdasarkan situasi yang Anda tentukan. Anda memasukkan kartu Anda, kartu komunitas (jika ada), dan rentang tangan yang Anda asumsikan dipegang lawan. Kalkulator memberikan probabilitas memenangkan tangan jika sisa kartu dibagikan.
Nilai Harapan (Expected Value): Tinjauan Lebih Dekat
Sebelum masuk ke analisis tangan pertama, Anda memerlukan pemahaman yang lebih baik tentang Nilai Harapan. Di Bagian I, Anda mempelajari cara menghitung nilai harapan untuk memenangkan pot \$100 dengan peluang menang 75%. Hanya ada dua kemungkinan:
Menang \$100
Menang \$0
Dengan bantuan rumus ExpectedValue=TotalValue×Probability, Anda menghitung bahwa Nilai Harapan adalah \$100 * 0,75 atau \$75.
Namun, sering kali perhitungannya tidak sesederhana itu dan Anda akan memiliki lebih dari dua kemungkinan hasil. Untuk menentukan nilai harapan, Anda harus mencari rata-rata tertimbang dari setiap kemungkinan hasil, di mana setiap kemungkinan hasil diberi bobot oleh probabilitas terjadinya masing-masing.
Itu sebabnya persamaan di atas lebih baik direpresentasikan seperti ini:
$Expected Value = (100 * .75) + (0 * .25)$
$Expected Value = \$75$
Lalu bagaimana jika ada kemungkinan ketiga untuk situasi di atas?
Lihat situasi berikut, di mana Anda memiliki peluang 50 persen untuk menang \$100, peluang 25% untuk menang \$25 dan peluang 25% lainnya untuk tidak menang apa pun:
Menang \$100 (50%)
Menang \$25 (25%)
Menang \$0 (25%)
Maka, perhitungan Nilai Harapan Anda adalah sebagai berikut:
Sekarang saatnya menerapkan yang telah Anda pelajari pada beberapa skenario yang saya temui di meja poker.
Pocket 10 melawan Pre Flop Raise
Catatan: Saat meninjau tangan poker, umum untuk menyebut lawan Anda sebagai Villain dan pemain yang ditinjau disebut Hero. Pemain yang akan Anda tinjau adalah ‘GamingFoSho’ yang merupakan nama pengguna saya di situs poker tempat saya bermain.
Gambaran Tangan 1
Hero (GamingFoSho) memegang sepasang 10 dan bertaruh \$0,85. Ia memiliki sisa \$20,95. Lawan atau Villain menaikkan menjadi \$2,50 dan memiliki sisa \$30,35.
Dalam terminologi poker, ini disebut 3bet. Small blind dan big blind membuat taruhan pertama, dan Hero menaikkan yang merupakan taruhan kedua. Saat ini ada total \$3,70 di Pot. Melakukan call bukan pilihan yang baik karena alasan yang berada di luar cakupan posting blog ini untuk dijelaskan sepenuhnya.
Catatan: secara umum, bermain poker pasif tidak menguntungkan dan bermain agresif menguntungkan. Call adalah pasif dan bet atau raise adalah agresif. Ada faktor-faktor lain terkait strategi poker seperti posisi pemain yang menunjukkan call adalah opsi buruk, tetapi memerlukan penjelasan panjang.
Hero harus memutuskan antara melakukan raise dengan rencana All-In dan mempertaruhkan semua chip yang tersisa atau melakukan fold. Fold tidak berbiaya jadi Anda akan menganalisis nilai harapan dari melakukan all-in. Dalam situasi ini, saya akan melakukan raise kecil untuk memancing Villain melakukan bluff All-in, tetapi perhitungannya harus dilakukan seolah-olah saya akan All-in karena itulah rencananya.
Hero mempertaruhkan \$20,95 jika All-in dan kalah. All-in berarti memasukkan semua uang Anda ke pot. Hero memiliki sisa \$20,95, jadi melakukan All-in mempertaruhkan \$20,95. Hero menang \$23 jika All-in dan menang. Saat ini ada \$3,70 di pot. Hero bertaruh \$0,85 dan Villain menaikkan menjadi \$2,50. Hero harus menambah \$1,65 dari sisa \$20,95 untuk menyamai raise Villain, menyisakan \$19,30. Ini berarti Hero bisa memenangkan tambahan \$19,30 di atas \$3,70 yang sudah ada di pot sehingga total \$23,00. Karena saat ini ada total \$3,70 di pot, Hero menang \$3,70 jika Villain fold.
Hand1_AllIn_Loses =-20.95
Hand1_AllIn_Winnings =23
Hand1_Fold_Winnings =3.7Didukung oleh
Statistik Relevan Tangan 1
Poker adalah permainan penalaran deduktif berdasarkan informasi yang tidak lengkap. Di Hold’em Manager, saya dapat meninjau tangan yang pernah saya mainkan dan melihat statistik yang saya miliki saat tangan tersebut dimainkan. Di bawah ini adalah cuplikan beberapa statistik yang saya miliki tentang lawan ini saat tangan ini dimainkan.
Angka-angka mewakili situasi tertentu, seperti bertaruh preflop dari Button. Sebagian besar waktu ada dua angka yang tercantum. Angka di kiri menunjukkan persentase percobaan Villain melakukan gerakan tertentu dalam situasi tertentu. Angka dalam tanda kurung di kanan menunjukkan jumlah percobaan hingga 99 percobaan. Jika tidak ada angka dalam tanda kurung, jumlah percobaannya 100 atau lebih.
Saya telah memainkan 392 tangan melawan lawan ini dan saya menyoroti statistik yang relevan untuk tangan ini:
Villain berada di posisi Button yang merupakan posisi pertama di kanan small dan big blind. Secara keseluruhan, dari posisi ini, Villain melakukan 3bet 7,4% (27 percobaan);
Hero berada di posisi Cut-Off, yang merupakan posisi pertama di kanan Button. Secara keseluruhan, vs. Cut-Off, Villain 3bet 12,5% (16 percobaan);
Saat Villain berada di Button melawan pre-flop raise dari Cut-Off, Villain 3bet 25% (4 percobaan);
Saat Villain 3bet pre-flop dan menghadapi raise, ia melakukan fold 50% dari waktu (2 percobaan).
Catatan: Bagaimana saya memutuskan 4 poin ini penting? Hero berada di posisi Cut-Off dan Villain 3bet dari Button. Saya menginginkan statistik yang menunjukkan apa yang telah dilakukan Villain di tangan-tangan sebelumnya dalam situasi serupa. Seberapa sering Villain 3Bet dari posisi Button atau melawan pemain di posisi Cut-Off? Seberapa sering Villain melakukan fold terhadap 3Bet yang dinaikkan lagi? Statistik yang saya pilih di atas adalah yang paling menjawab pertanyaan-pertanyaan itu.
Asumsi Tangan 1
Berdasarkan statistik di atas, saya akan membuat asumsi berikut yang merupakan perkiraan terdidik;
Villain menaikkan menjadi 2,50 dengan sekitar (~) 13–15% dari rentang kemungkinan kartu awal;
Villain melakukan fold terhadap re-raise ~ 25% dari waktu dan melakukan ‘All-in’ ~75% dari waktu;
Villain melakukan re-raise ‘All-In’ dengan rentang ~10%, yang ditunjukkan pada gambar di bawah.
Kartu yang disorot kuning mewakili rentang asumsi Villain, yang terdiri dari 128 kombinasi (9,7% dari ukuran sampel).
Jika Anda bertanya-tanya mengapa A5s dan A2s ada dalam rentang, itu mewakili kartu bluff Villain.
Catatan: Gambar di bawah ini mewakili ukuran sampel dari semua kemungkinan kombinasi kartu awal di Texas Hold’em, yaitu 1326 kombinasi, seperti yang Anda lihat di bagian pertama seri tutorial ini.
AA = Ace Ace, KK = King King, dst.
AKo = Ace King offsuit, ATo = Ace Ten offsuit, dst.
AKs = Ace King suited, ATs = Ace Ten suited, J8s = Jack Eight suited, dst.
Analisis Tangan 1
Sekarang Anda memiliki rentang Villain, Anda perlu menentukan probabilitas tangan Hero menang melawan rentang asumsi Villain jika keduanya all-in. Anda dapat memasukkan tangan Hero (10h10s) dan rentang Villain ke dalam kalkulator ekuitas untuk menentukan probabilitas Hero akan menang. Kalkulator ekuitas mensimulasikan 10h10s versus rentang asumsi Villain ribuan kali dan menentukan bahwa Hero menang sekitar 53,77% dari waktu.
Sekarang Anda dapat membuat variabel untuk EstFoldPercent dan Equity, lalu membuat fungsi AllinExpectedValue() Anda.
Hand1_Fold_Percent =.25
Hand1_Equity =.538Didukung oleh
Sekarang perhitungannya sederhana. Anda perlu membangun fungsi yang merepresentasikan persamaan berikut:
Hero memenangkan tangan dengan set (tiga sekawan) sepuluh mengalahkan sepasang King.
Pocket 8 melawan Pre Flop Raise
Gambaran Tangan 2
Dalam situasi ini, Hero (GamingFoSho) bertaruh \$1,10 dan memiliki sisa \$28,58. Villain, di sisi lain, menaikkan menjadi \$3,80 dan memiliki sisa \$10,66. Saat ini ada \$5,40 di pot. Ini situasi yang mirip dengan tangan sebelumnya. Sekali lagi, call bukan pilihan yang baik. Fold tidak berbiaya, jadi Anda perlu menentukan apakah raise All-in memiliki nilai harapan positif.
Jika Hero melakukan All-in, ia mempertaruhkan \$13,36 karena Villain memiliki sisa \$10,66, dan telah menaikkan \$2,70. Hero menang \$16,06 jika All-in dan menang (Villain memiliki sisa \$10,66, dan saat ini ada \$5,40 di pot) dan menang \$5,40 jika All-in dan Villain fold.
Hand2_AllIn_Loses =-13.36
Hand2_AllIn_Winnings =16.06
Hand2_Fold_Winnings =5.40Didukung oleh
Statistik Relevan Tangan 2
Villain berada di posisi Small Blind. Dari posisi ini, Villain 3bet 7,2% (100+ percobaan);
Hero berada di posisi Cut-Off, dan vs. Cut-Off, Villain 3bet 7,9% (89 percobaan);
Villain melakukan fold terhadap 4bet 25% (8 percobaan);
Villain 3bet 4% secara keseluruhan (100+ percobaan), tetapi melawan Hero hanya 1% (98 percobaan). Ini tanda bahaya besar, dan mengindikasikan Villain memegang kartu yang sangat kuat;
Villain 3bet dari luar posisi melawan Cut-Off 9,8% (51 percobaan). Di luar posisi berarti Villain akan bertindak pertama pada putaran taruhan selanjutnya, dan Hero bertindak kedua.
Villain melakukan fold terhadap 4bet saat di luar posisi 0% (5 percobaan). Tanda bahaya besar lainnya.
Asumsi Tangan 2
Berdasarkan statistik di atas, saya akan membuat asumsi berikut;
Dibandingkan dengan sebagian besar lawan, Villain 3bet ~8–10% dari waktu, tetapi tampak 3bet 4 kali lebih sering melawan lawan selain Hero. Ini menempatkan rentang Villain pada ~3%.
Villain belum melakukan fold terhadap 4bet dalam situasi ini, jadi paling banyak Villain fold 10% dari waktu.
Villain melakukan call dengan rentang ~2,7%, yang ditunjukkan pada gambar di bawah.
Kartu berwarna kuning mewakili rentang asumsi Villain, yang terdiri dari 34 dari 1326 kemungkinan kombinasi kartu awal (2,6%).
Analisis Tangan 2
Sekali lagi, saya akan menggunakan kalkulator ekuitas untuk menentukan ekuitas Hero. Dalam kasus ini, tangan Hero memiliki ekuitas 35,84% melawan rentang Villain.
Sekarang Anda dapat membuat variabel untuk EstFoldPercent dan Equity.
Hand2_Fold_Percent =.10
Hand2_Equity =.3584Didukung oleh
Sekarang masukkan variabel untuk tangan ini ke fungsi AllinExpectedValue, dan cetak hasilnya.
Hand2_Decision, Hand2_EV = AllinExpectedValue(Hand2_AllIn_Loses, Hand2_AllIn_Winnings, Hand2_Fold_Winnings, Hand2_Fold_Percent, Hand2_Equity)print(Hand2_Decision)print(Hand2_EV)Didukung oleh
Hero memenangkan tangan dengan set delapan melawan dua pasang, Ace dan King. Ini hasil yang beruntung dari keputusan yang akan merugi dalam jangka panjang. Langkah optimal di sini adalah fold.
Flop Check Raise Semi Bluff
Gambaran Tangan 3
Tangan ini berada di flop dan Hero (GamingFoSho) bertindak pertama dan check. Ia memiliki \$25,08. Villain bertaruh \$1,06 dan memiliki sisa \$25,37. Saat ini ada \$2,66 di pot.
Sekali lagi, call bukan pilihan yang baik, dan fold tidak berbiaya. Hero harus memutuskan apakah raise dalam situasi ini, yang dikenal sebagai Semi-Bluff, memiliki nilai harapan positif. Semi-Bluff adalah ketika Anda raise dengan kartu drawing, dalam hal ini flush draw. Hero belum memiliki kombinasi jadi, karena saat ini hanya memegang Ace tinggi, tetapi memiliki empat Hearts dan hanya membutuhkan satu lagi untuk flush yang merupakan kombinasi kuat. Seperti tangan pertama, garis permainan terbaik saat raise adalah raise kecil dan memberi Villain kesempatan untuk bluff. Jika Hero langsung all-in, kemungkinan besar Villain akan fold kartu seperti King of Hearts/Jack of Hearts.
Hero mempertaruhkan \$25,08 jika All-in. Hero menang \$26,68 jika All-in dan menang. Villain bertaruh \$1,06, jadi Hero harus menyamai jumlah itu dari sisa \$25,08, menyisakan \$24,02. Ini berarti Hero bisa memenangkan tambahan \$24,02 di atas \$2,66 yang saat ini ada di pot sehingga total \$26,68. Hero menang \$2,66 jika Villain fold.
Hand3_AllIn_Loses =-25.08
Hand3_AllIn_Winnings =26.68
Hand3_Fold_Winnings =2.66Didukung oleh
Statistik Relevan Tangan 3
Preflop, Villain raise dan dari Middle Position, Villain raise 9% (100+ percobaan);
Di flop Hero check, dan Villain (yang raise preflop) bertaruh lagi. Ini disebut continuation bet (Cbet). Villain Cbet 100% (12 percobaan);
Hero melakukan Check-Raise pada Villain dan saat menghadapi Check-Raise, Villain fold 67% (3 percobaan);
Asumsi Tangan 3
Rentang preflop lawan ~9–10%, yang terlihat seperti ini:
Kartu yang disorot kuning mewakili rentang Villain, yang terdiri dari 128 dari 1326 kemungkinan kombinasi kartu awal (9,7%);
Setelah Cbet 100% dari waktu, Villain fold ~67% dari waktu terhadap Check-Raise Hero, menyisakan ~35–45 kombinasi dalam rentang Villain. Rentang Villain terlihat seperti ini:
Rentang ini terdiri dari 35 kombinasi dan merupakan kartu-kartu terkuat dari rentang pre-flop Villain.
Beberapa kartu berwarna kuning dengan rona berbeda. Ada beberapa alasan untuk ini;
Card removal - Pocket Aces (AA) biasanya memiliki enam kombinasi (Wajik/Keriting, Hati/Keriting, Sekop/Keriting, Hati/Wajik, Sekop/Wajik, Sekop/Hati), tetapi Hero memegang Ace of Hearts. Villain hanya bisa memiliki tiga kombinasi Pocket Aces (Wajik/Keriting, Sekop/Keriting, Sekop/Wajik).
Flush Draw - Ada empat kombinasi King/Jack suited (Wajik, Hati, Sekop, dan Keriting), tetapi Villain hanya akan All-in dengan satu dari kombo tersebut (Hati).
Analisis Tangan 3
Sekali lagi, saya memasukkan tangan Hero dan rentang Villain ke kalkulator ekuitas, kali ini juga memasukkan 3 kartu flop. Kalkulator ekuitas menunjukkan bahwa Hero menang dalam situasi ini 43,58%.
Sekarang Anda dapat membuat variabel untuk EstFoldPercent dan Equity.
Hand3_Fold_Percent =.67
Hand3_Equity =.4358Didukung oleh
Sekarang masukkan variabel Tangan 3 ke fungsi AllinExpectedValue dan cetak hasilnya:
Hand3_Decision, Hand3_EV = AllinExpectedValue(Hand3_AllIn_Loses, Hand3_AllIn_Winnings, Hand3_Fold_Winnings, Hand3_Fold_Percent, Hand3_Equity)print(Hand3_Decision)print(Hand3_EV)Didukung oleh
Hero menang dengan flush Ace tinggi, mengalahkan pasangan sepuluh milik Villain.
Kesimpulan
Selamat, Anda telah menyelesaikan tutorial teori probabilitas dengan Python ini! Setelah mempelajari konsep inti probabilitas termasuk kejadian independen/dependen, permutasi dan kombinasi, kejadian berganda, nilai harapan, dan cara menghitung masing-masing pada bagian pertama seri tutorial probabilitas dan statistika ini, Anda menerapkan konsep-konsep tersebut pada situasi poker nyata.
Di tutorial ini, Anda mendapatkan pemahaman yang jauh lebih mendalam tentang Nilai Harapan dan menggunakan konsep tersebut untuk membuat keputusan optimal di meja poker. Konsep ini sangat berguna untuk diingat saat membuat keputusan bisnis atau finansial apa pun, jadi lain kali Anda menghadapi keputusan seperti itu, cobalah mengkuantifikasi opsi-opsi Anda dalam kerangka Nilai Harapan.
Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dalam kursus ini, Anda akan diperkenalkan pada pembelajaran tak terawasi melalui teknik seperti hierarchical dan k-means clustering menggunakan pustaka SciPy.
Dalam bagian pertama tutorial ini, Anda telah mempelajari beberapa konsep termasuk kejadian independen dan dependen, permutasi dan kombinasi, kejadian berganda, nilai harapan (Expected Value), serta cara menghitung masing-masing. Sekarang Anda akan menerapkan konsep-konsep tersebut pada kartu poker nyata yang saya mainkan selama karier saya. Sepanjang jalan, Anda akan mempelajari lebih jauh tentang konsep Nilai Harapan dan cara menggunakannya untuk membuat keputusan yang optimal.
Pengantar No Limit Texas Hold’em
Sebelum mulai, sedikit latar belakang diperlukan. Permainan yang akan dibahas dalam studi kasus artikel ini adalah No Limit Texas Hold’em. Dimainkan dengan satu set kartu standar 52, Texas Hold’em adalah varian poker yang paling populer. Setiap pemain berusaha membuat kombinasi lima kartu terbaik dengan menggabungkan dua kartu miliknya dengan lima kartu komunitas yang dibagikan sepanjang jalannya permainan.
Pemain di sebelah kiri tombol dealer memulai aksi dan permainan bergerak searah jarum jam mengelilingi meja. Taruhan biasanya dimulai ketika pemain di sebelah kiri tombol dealer memasang small blind, dan pemain berikutnya di sebelah kiri memasang big blind. Aksi taruhan berlangsung di beberapa “street”: preflop, flop, turn, dan river.
Berikut beberapa istilah yang perlu Anda pahami:
Jika Anda belum pernah bermain atau tidak familiar dengan istilah poker, Anda dapat klik di sini untuk penjelasan ringkas namun detail.
Alat Probabilitas untuk Poker
Kapan pun saya menemui situasi membingungkan saat bermain, saya menandai tangan tersebut untuk ditinjau nanti. Setelah sesi bermain selesai, saya meninjau kembali tangan-tangan yang telah saya tandai. Saya menguraikannya secara matematis agar saya punya gambaran lebih baik tentang apa yang harus dilakukan pada situasi serupa di masa mendatang.
Tangan-tangan yang digunakan dalam tutorial ini diunduh dan disimpan ke basis data PostgreSQL oleh Hold’em Manager, perangkat lunak yang disebutkan di Bagian I. Hold’em Manager menghitung statistik dari riwayat tangan ini untuk setiap lawan yang Anda hadapi. Data diperbarui dan ditampilkan secara real time saat Anda bermain.
Saya memilih tiga tangan dari karier poker saya. Anda akan menggunakan statistik tentang lawan-lawan saya yang tersedia saat itu, penalaran deduktif, dan alat bernama kalkulator ekuitas, untuk membuat asumsi tentang probabilitas memenangkan tangan untuk setiap opsi yang layak.
Catatan: kalkulator ekuitas digunakan untuk menentukan probabilitas memenangkan sebuah tangan berdasarkan situasi yang Anda tentukan. Anda memasukkan kartu Anda, kartu komunitas (jika ada), dan rentang tangan yang Anda asumsikan dipegang lawan. Kalkulator memberikan probabilitas memenangkan tangan jika sisa kartu dibagikan.
Nilai Harapan (Expected Value): Tinjauan Lebih Dekat
Sebelum masuk ke analisis tangan pertama, Anda memerlukan pemahaman yang lebih baik tentang Nilai Harapan. Di Bagian I, Anda mempelajari cara menghitung nilai harapan untuk memenangkan pot \$100 dengan peluang menang 75%. Hanya ada dua kemungkinan:
Dengan bantuan rumus
ExpectedValue=TotalValue×Probability, Anda menghitung bahwa Nilai Harapan adalah \$100 * 0,75 atau \$75.Namun, sering kali perhitungannya tidak sesederhana itu dan Anda akan memiliki lebih dari dua kemungkinan hasil. Untuk menentukan nilai harapan, Anda harus mencari rata-rata tertimbang dari setiap kemungkinan hasil, di mana setiap kemungkinan hasil diberi bobot oleh probabilitas terjadinya masing-masing.
Itu sebabnya persamaan di atas lebih baik direpresentasikan seperti ini:
Lalu bagaimana jika ada kemungkinan ketiga untuk situasi di atas?
Lihat situasi berikut, di mana Anda memiliki peluang 50 persen untuk menang \$100, peluang 25% untuk menang \$25 dan peluang 25% lainnya untuk tidak menang apa pun:
Maka, perhitungan Nilai Harapan Anda adalah sebagai berikut:
Sekarang saatnya menerapkan yang telah Anda pelajari pada beberapa skenario yang saya temui di meja poker.
Pocket 10 melawan Pre Flop Raise
Catatan: Saat meninjau tangan poker, umum untuk menyebut lawan Anda sebagai Villain dan pemain yang ditinjau disebut Hero. Pemain yang akan Anda tinjau adalah ‘GamingFoSho’ yang merupakan nama pengguna saya di situs poker tempat saya bermain.
Gambaran Tangan 1
Hero (GamingFoSho) memegang sepasang 10 dan bertaruh \$0,85. Ia memiliki sisa \$20,95. Lawan atau Villain menaikkan menjadi \$2,50 dan memiliki sisa \$30,35.
Dalam terminologi poker, ini disebut 3bet. Small blind dan big blind membuat taruhan pertama, dan Hero menaikkan yang merupakan taruhan kedua. Saat ini ada total \$3,70 di Pot. Melakukan call bukan pilihan yang baik karena alasan yang berada di luar cakupan posting blog ini untuk dijelaskan sepenuhnya.
Catatan: secara umum, bermain poker pasif tidak menguntungkan dan bermain agresif menguntungkan. Call adalah pasif dan bet atau raise adalah agresif. Ada faktor-faktor lain terkait strategi poker seperti posisi pemain yang menunjukkan call adalah opsi buruk, tetapi memerlukan penjelasan panjang.
Hero harus memutuskan antara melakukan raise dengan rencana All-In dan mempertaruhkan semua chip yang tersisa atau melakukan fold. Fold tidak berbiaya jadi Anda akan menganalisis nilai harapan dari melakukan all-in. Dalam situasi ini, saya akan melakukan raise kecil untuk memancing Villain melakukan bluff All-in, tetapi perhitungannya harus dilakukan seolah-olah saya akan All-in karena itulah rencananya.
Hero mempertaruhkan \$20,95 jika All-in dan kalah. All-in berarti memasukkan semua uang Anda ke pot. Hero memiliki sisa \$20,95, jadi melakukan All-in mempertaruhkan \$20,95. Hero menang \$23 jika All-in dan menang. Saat ini ada \$3,70 di pot. Hero bertaruh \$0,85 dan Villain menaikkan menjadi \$2,50. Hero harus menambah \$1,65 dari sisa \$20,95 untuk menyamai raise Villain, menyisakan \$19,30. Ini berarti Hero bisa memenangkan tambahan \$19,30 di atas \$3,70 yang sudah ada di pot sehingga total \$23,00. Karena saat ini ada total \$3,70 di pot, Hero menang \$3,70 jika Villain fold.
Statistik Relevan Tangan 1
Poker adalah permainan penalaran deduktif berdasarkan informasi yang tidak lengkap. Di Hold’em Manager, saya dapat meninjau tangan yang pernah saya mainkan dan melihat statistik yang saya miliki saat tangan tersebut dimainkan. Di bawah ini adalah cuplikan beberapa statistik yang saya miliki tentang lawan ini saat tangan ini dimainkan.
Angka-angka mewakili situasi tertentu, seperti bertaruh preflop dari Button. Sebagian besar waktu ada dua angka yang tercantum. Angka di kiri menunjukkan persentase percobaan Villain melakukan gerakan tertentu dalam situasi tertentu. Angka dalam tanda kurung di kanan menunjukkan jumlah percobaan hingga 99 percobaan. Jika tidak ada angka dalam tanda kurung, jumlah percobaannya 100 atau lebih.
Saya telah memainkan 392 tangan melawan lawan ini dan saya menyoroti statistik yang relevan untuk tangan ini:
Catatan: Bagaimana saya memutuskan 4 poin ini penting? Hero berada di posisi Cut-Off dan Villain 3bet dari Button. Saya menginginkan statistik yang menunjukkan apa yang telah dilakukan Villain di tangan-tangan sebelumnya dalam situasi serupa. Seberapa sering Villain 3Bet dari posisi Button atau melawan pemain di posisi Cut-Off? Seberapa sering Villain melakukan fold terhadap 3Bet yang dinaikkan lagi? Statistik yang saya pilih di atas adalah yang paling menjawab pertanyaan-pertanyaan itu.
Asumsi Tangan 1
Berdasarkan statistik di atas, saya akan membuat asumsi berikut yang merupakan perkiraan terdidik;
Catatan: Gambar di bawah ini mewakili ukuran sampel dari semua kemungkinan kombinasi kartu awal di Texas Hold’em, yaitu 1326 kombinasi, seperti yang Anda lihat di bagian pertama seri tutorial ini.
Analisis Tangan 1
Sekarang Anda memiliki rentang Villain, Anda perlu menentukan probabilitas tangan Hero menang melawan rentang asumsi Villain jika keduanya all-in. Anda dapat memasukkan tangan Hero (10h10s) dan rentang Villain ke dalam kalkulator ekuitas untuk menentukan probabilitas Hero akan menang. Kalkulator ekuitas mensimulasikan 10h10s versus rentang asumsi Villain ribuan kali dan menentukan bahwa Hero menang sekitar 53,77% dari waktu.
Sekarang Anda dapat membuat variabel untuk
EstFoldPercentdanEquity, lalu membuat fungsiAllinExpectedValue()Anda.Sekarang perhitungannya sederhana. Anda perlu membangun fungsi yang merepresentasikan persamaan berikut:
$FoldEV = (FoldPercent * FoldWinnings)$
$AllinEV = (1 - FoldPercent) * ((AllInWinnings * Equity) + (AllInLoses * (1 - Equity)))$
$AllinExpectedValue = FoldEV + AllinEV$
Sekarang masukkan variabel Tangan 1 ke fungsi
AllinExpectedValuedan cetak hasilnya:Hasil Tangan 1
Hero memenangkan tangan dengan set (tiga sekawan) sepuluh mengalahkan sepasang King.
Pocket 8 melawan Pre Flop Raise
Gambaran Tangan 2
Dalam situasi ini, Hero (GamingFoSho) bertaruh \$1,10 dan memiliki sisa \$28,58. Villain, di sisi lain, menaikkan menjadi \$3,80 dan memiliki sisa \$10,66. Saat ini ada \$5,40 di pot. Ini situasi yang mirip dengan tangan sebelumnya. Sekali lagi, call bukan pilihan yang baik. Fold tidak berbiaya, jadi Anda perlu menentukan apakah raise All-in memiliki nilai harapan positif.
Jika Hero melakukan All-in, ia mempertaruhkan \$13,36 karena Villain memiliki sisa \$10,66, dan telah menaikkan \$2,70. Hero menang \$16,06 jika All-in dan menang (Villain memiliki sisa \$10,66, dan saat ini ada \$5,40 di pot) dan menang \$5,40 jika All-in dan Villain fold.
Statistik Relevan Tangan 2
Asumsi Tangan 2
Berdasarkan statistik di atas, saya akan membuat asumsi berikut;
Analisis Tangan 2
Sekali lagi, saya akan menggunakan kalkulator ekuitas untuk menentukan ekuitas Hero. Dalam kasus ini, tangan Hero memiliki ekuitas 35,84% melawan rentang Villain.
Sekarang Anda dapat membuat variabel untuk
EstFoldPercentdanEquity.Sekarang masukkan variabel untuk tangan ini ke fungsi
AllinExpectedValue, dan cetak hasilnya.Hasil Tangan 2
Hero memenangkan tangan dengan set delapan melawan dua pasang, Ace dan King. Ini hasil yang beruntung dari keputusan yang akan merugi dalam jangka panjang. Langkah optimal di sini adalah fold.
Flop Check Raise Semi Bluff
Gambaran Tangan 3
Tangan ini berada di flop dan Hero (GamingFoSho) bertindak pertama dan check. Ia memiliki \$25,08. Villain bertaruh \$1,06 dan memiliki sisa \$25,37. Saat ini ada \$2,66 di pot.
Sekali lagi, call bukan pilihan yang baik, dan fold tidak berbiaya. Hero harus memutuskan apakah raise dalam situasi ini, yang dikenal sebagai Semi-Bluff, memiliki nilai harapan positif. Semi-Bluff adalah ketika Anda raise dengan kartu drawing, dalam hal ini flush draw.
Hero belum memiliki kombinasi jadi, karena saat ini hanya memegang Ace tinggi, tetapi memiliki empat Hearts dan hanya membutuhkan satu lagi untuk flush yang merupakan kombinasi kuat. Seperti tangan pertama, garis permainan terbaik saat raise adalah raise kecil dan memberi Villain kesempatan untuk bluff. Jika Hero langsung all-in, kemungkinan besar Villain akan fold kartu seperti King of Hearts/Jack of Hearts.
Hero mempertaruhkan \$25,08 jika All-in. Hero menang \$26,68 jika All-in dan menang. Villain bertaruh \$1,06, jadi Hero harus menyamai jumlah itu dari sisa \$25,08, menyisakan \$24,02. Ini berarti Hero bisa memenangkan tambahan \$24,02 di atas \$2,66 yang saat ini ada di pot sehingga total \$26,68. Hero menang \$2,66 jika Villain fold.
Statistik Relevan Tangan 3
Asumsi Tangan 3
Beberapa kartu berwarna kuning dengan rona berbeda. Ada beberapa alasan untuk ini;
Analisis Tangan 3
Sekali lagi, saya memasukkan tangan Hero dan rentang Villain ke kalkulator ekuitas, kali ini juga memasukkan 3 kartu flop. Kalkulator ekuitas menunjukkan bahwa Hero menang dalam situasi ini 43,58%.
Sekarang Anda dapat membuat variabel untuk
EstFoldPercentdanEquity.Sekarang masukkan variabel Tangan 3 ke fungsi
AllinExpectedValuedan cetak hasilnya:Hasil Tangan 3
Hero menang dengan flush Ace tinggi, mengalahkan pasangan sepuluh milik Villain.
Kesimpulan
Selamat, Anda telah menyelesaikan tutorial teori probabilitas dengan Python ini! Setelah mempelajari konsep inti probabilitas termasuk kejadian independen/dependen, permutasi dan kombinasi, kejadian berganda, nilai harapan, dan cara menghitung masing-masing pada bagian pertama seri tutorial probabilitas dan statistika ini, Anda menerapkan konsep-konsep tersebut pada situasi poker nyata.
Di tutorial ini, Anda mendapatkan pemahaman yang jauh lebih mendalam tentang Nilai Harapan dan menggunakan konsep tersebut untuk membuat keputusan optimal di meja poker. Konsep ini sangat berguna untuk diingat saat membuat keputusan bisnis atau finansial apa pun, jadi lain kali Anda menghadapi keputusan seperti itu, cobalah mengkuantifikasi opsi-opsi Anda dalam kerangka Nilai Harapan.