Algoritma: Temukan meja terbaik untuk dimainkan (standing gambler problem)

11

Kata pengantar

Ini bukan kode golf. Saya melihat masalah yang menarik dan berharap untuk meminta komentar dan saran dari rekan-rekan saya. Pertanyaan ini bukan tentang penghitungan kartu (khusus), melainkan tentang menentukan tabel terbaik untuk dilibatkan berdasarkan pengamatan. Asumsikan jika Anda akan menanamkan otak yang membuat kompleksitas ruang / waktu terburuk (pada arsitektur apa pun) mudah dibawa ke pikiran manusia. Ya, ini sangat subjektif. Asumsikan sebuah dek Perancis tanpa menggunakan kartu liar.

Latar Belakang

Saya baru-baru ini mengunjungi kasino dan melihat lebih banyak penonton daripada pemain per meja, dan bertanya-tanya proses seleksi apa yang mengubah penonton menjadi pemain taruhan, mengingat sebagian besar penonton memiliki dana untuk bermain (chip ada di tangan).

Skenario

Anda memasuki kasino. Anda melihat n tabel memainkan varian Blackjack , dengan Anda memainkan ponton . Setiap meja bermain dengan jumlah geladak kartu yang tidak ditentukan, dalam upaya untuk mengaburkan keunggulan rumah .

Setiap tabel memiliki taruhan minimum yang bervariasi. Anda memiliki mata uang Z pada orang Anda. Anda ingin menemukan tabel tempat:

  • Jumlah kartu kartu paling sedikit digunakan
  • Taruhan minimum lebih tinggi daripada tabel menggunakan lebih banyak deck, tetapi Anda ingin memaksimalkan jumlah game yang bisa Anda mainkan dengan Z.
  • Kerugian bersih, per pemain adalah yang terendah (saya menyadari bahwa ini, dalam sebagian besar jawaban, dianggap sebagai kebisingan yang tidak disengaja, tetapi itu bisa menggambarkan pengocok yang rusak)

Masalah

Anda secara ajaib dapat mengamati setiap meja. Anda memiliki X putaran untuk sampel, untuk mendasari keputusan Anda. Untuk tujuan ini, setiap pemain membutuhkan waktu tidak lebih dari 30 detik untuk bermain.

Algoritma apa yang Anda gunakan untuk menyelesaikan masalah ini, dan apa kompleksitas kasus terburuknya? Apakah kamu:

  • Mainkan Pontoon or Blackjack?
  • Meja apa yang Anda pilih?
  • Berapa banyak putaran yang perlu Anda amati (berapakah nilai X), mengingat bahwa kasino dapat menggunakan tidak lebih dari 8 deck kartu untuk setiap permainan? Setiap meja memiliki antara 2 dan 6 pemain.
  • Berapa lama Anda berdiri sambil menemukan meja?

Saya menyebutnya " masalah penjudi saat ini " karena tidak ada istilah yang lebih baik. Silakan perbaiki.

Tambahan

Di mana ini akan berguna jika tidak di kasino?

Terakhir

Saya tidak mencari peluru judi ajaib. Saya hanya memperhatikan masalah yang menjadi tulang yang otak saya tidak akan berhenti mengunyah. Saya terutama tertarik pada aplikasi jauh dari mengunjungi kasino.

Pos Tim
sumber
Pertanyaan menarik. Saya tidak yakin ini adalah situs yang tepat untuk ini. Saya tidak tahu mengapa atau di mana itu lebih cocok, rasanya tidak terasa di sini. Mungkin saya salah ...
Walter
@Walter - Saya juga tidak yakin. Ada situs yang didedikasikan untuk berbagai permainan, tetapi tidak mungkin bahwa pengguna situs tersebut memahami kompleksitas, atau bahkan apa itu algoritma. Ini terlalu 'meta' untuk SO, saya bertanya-tanya apakah itu dapat menemukan rumah di sini.
Tim Post
Saya tidak tahu itu terdengar seperti proses Poisson. Mungkin orang-orang di math.stackexchange.com mungkin tahu.
Conrad Frix
@ Conrad, mungkin. Namun, saya menduga seseorang di sini mungkin memiliki beberapa ide, yang mengakhiri debat saya untuk mengajukan pertanyaan sejak awal :)
Tim Post
1
Maaf, tetapi saya bahkan tidak melihat pernyataan masalah. Saya hanya dapat berasumsi bahwa masalahnya adalah untuk memaksimalkan kemenangan, maka pertanyaan yang Anda ajukan tidak penting untuk algoritma. Saya tidak peduli berapa banyak putaran yang saya amati, saya hanya mengamati sampai saya memiliki tepi terhadap rumah dan kemudian saya mendorong tepi itu. Jika saya selalu bisa menunggu sampai saya memiliki keunggulan dan selalu beralih tabel ke tabel dengan keunggulan terbaik maka algoritma ini sangat sederhana.
Jeremy

Jawaban:

2

Jika saya dapat secara bersamaan memeriksa semua tabel bahkan saat bermain maka:
Mengingat bahwa semua game berkembang pada kecepatan yang sama untuk kesederhanaan ... (saya bisa menyesuaikan ini)


while(not satisfied with winnings)
 keepcurrenttable == 1 || Wait for positive count threshold on any one table  
  if Z/(min bet)>%chance of win*payout  
    next  
  else  
    Play hand according to standard counting rules.  
  endif
if (%chance of win on another table*payout on another table > same for current) && Z/(min bet)>%chance of win*payout
  change tables  
 elseif currenttable %chance of win*payout >
  keepcurrenttable=1
 else
  keepcurrenttable=0
 endif
next

masih ada beberapa bug di sana dan tidak menjelaskan SEGALA SESUATU, tetapi Anda dapat mencapai tujuan saya

ada lebih banyak peluang% untuk menang

jumlah pemain harus relevan minimal (lebih banyak pemain == lebih cepat membakar melalui deck)

apakah lebih sedikit pemain berarti saya bisa bermain lebih banyak secara bersamaan? (itu akan membutuhkan beban lebih berat pada jumlah pemain)

Selain itu, ambang batas penghitungan dapat didefinisikan dengan pengukur selera risiko.

RobotHumans
sumber