Saya sudah mencoba kode algoritma untuk menyarankan taruhan di 1X2 (game berbobot).
Pada dasarnya, setiap pertandingan memiliki serangkaian pertandingan (tim kandang vs tim tamu):
1
: rumah menangX
: seri2
: kemenangan tandang
Untuk setiap pertandingan dan simbol ( 1
, X
dan 2
), saya akan menetapkan persentase yang mewakili peluang / kemungkinan simbol itu menjadi hasil pertandingan yang benar. Berikut ini array yang mewakili struktur:
$game = array
(
'match #1' => array // stdev = 0.0471
(
'1' => 0.3, // 30% home wins
'X' => 0.4, // 40% draw
'2' => 0.3, // 30% away wins
),
'match #2' => array // stdev = 0.4714
(
'1' => 0.0, // 0% home wins
'X' => 0.0, // 0% draw
'2' => 1.0, // 100% away wins
),
'match #3' => array // stdev = 0.4027
(
'1' => 0.1, // 10% home wins
'X' => 0.0, // 0% draw
'2' => 0.9, // 90% away wins
),
);
Saya juga menghitung simpangan baku untuk setiap taruhan (dikomentari dalam cuplikan di atas); standar deviasi yang lebih tinggi mewakili kepastian yang lebih tinggi, sementara pertandingan dengan standar deviasi terendah diterjemahkan ke tingkat ketidakpastian yang lebih tinggi, dan, idealnya, harus ditutup dengan taruhan ganda atau tiga kali lipat, jika memungkinkan.
Algoritma pseudo berikut harus menjelaskan alur kerja keseluruhan:
for each match, sorted by std. dev // "uncertain" matches first
if still can make triple bets
mark top 3 symbols of match // mark 3 (all) symbols
else if still can make double bets
mark top 2 symbols of match // mark 2 (highest) symbols
else if can only make single bets // always does
mark top symbol of match // mark 1 (highest) symbol
Sejauh ini bagus, tapi saya perlu memberi tahu algoritma berapa banyak yang ingin saya belanjakan. Katakanlah biaya taruhan tunggal 1
dalam mata uang apa pun, rumus untuk menghitung berapa banyak biaya taruhan ganda:
2^double_bets * 3^triple_bets * cost_per_bet (= 1)
Jelas, algoritma harus mencoba mengalokasikan uang sebanyak mungkin yang tersedia ke dalam saran taruhan (tidak masuk akal jika tidak), dan sekarang adalah saat ini menjadi semakin sulit ...
Katakanlah saya ingin membayar maksimum 4
, mendaftar semua kelipatan yang mungkin dalam PHP ( @ IDEOne ):
$cost = 1; // cost per single bet
$result = array();
$max_cost = 4; // maximum amount to bet
foreach (range(0, 3) as $double)
{
foreach (range(0, 3) as $triple)
{
if (($double + $triple) <= 3) // game only has 3 matches
{
$bets = pow(2, $double) * pow(3, $triple); // # of bets
$result[$bets] = array
(
'cost' => $bets * $cost, // total cost of this bet
'double' => $double,
'triple' => $triple,
);
if ($result[$bets]['cost'] > $max_cost)
{
unset($result[$bets]);
}
}
}
}
ksort($result);
Menghasilkan output berikut:
Array
(
[1] => Array
(
[cost] => 1
[double] => 0
[triple] => 0
)
[2] => Array
(
[cost] => 2
[double] => 1
[triple] => 0
)
[3] => Array
(
[cost] => 3
[double] => 0
[triple] => 1
)
[4] => Array
(
[cost] => 4
[double] => 2
[triple] => 0
)
)
Masalah
Jika saya memilih untuk memainkan jumlah uang maksimum yang tersedia ( 4
) saya harus bertaruh dengan dua ganda, jika saya menggunakan algoritma semu yang saya jelaskan di atas, saya akan berakhir dengan saran taruhan berikut:
match #1
=>X1
match #2
=>2
match #3
=>12
Yang tampaknya kurang optimal jika dibandingkan dengan taruhan rangkap tiga yang harganya 3
dan mencakup lebih banyak ketidakpastian:
match #1
=>X12
match #2
=>2
match #3
=>2
Contoh di atas mendapatkan lebih banyak relevansi jika Anda menganggap match #3
kemungkinan itu adalah:
$game['match #3'] = array // stdev = 0.4714
(
'1' => 0.0, // 0% home wins
'X' => 0.0, // 0% draw
'2' => 1.0, // 100% away wins
);
Dalam hal ini saya akan membuang dua kali lipat tanpa alasan yang jelas.
Pada dasarnya, saya hanya bisa memilih taruhan terbesar (mungkin bodoh) dan bukan yang terbaik , taruhan terbesar .
Saya telah membenturkan kepala saya ke dinding selama beberapa hari sekarang, berharap saya mendapatkan semacam pencerahan tetapi sejauh ini saya hanya dapat menemukan dua solusi [buruk-]:
1) Gambar "Garis"
Pada dasarnya saya akan mengatakan bahwa pertandingan dengan stdev lebih rendah dari nilai spesifik akan menjadi tiga kali lipat, pertandingan dengan stdev yang lebih tinggi akan menjadi taruhan ganda dan sisanya taruhan tunggal.
Masalah dengan ini, tentu saja, adalah menemukan batas-batas spesifik yang sesuai - dan bahkan jika saya menemukan nilai yang sempurna untuk taruhan "paling cerdas", saya masih tidak tahu apakah saya punya cukup uang untuk memainkan taruhan yang disarankan atau jika Saya bisa membuat taruhan yang lebih besar (juga pintar) ...
2) Bruteforce
Saya datang dengan ide ini saat menulis pertanyaan ini dan saya tahu itu tidak masuk akal dalam konteks yang saya jelaskan tetapi saya pikir saya bisa membuatnya bekerja menggunakan metrik yang agak berbeda. Pada dasarnya, saya bisa membuat program menyarankan taruhan (# taruhan triple dan double) untuk setiap jumlah uang yang mungkin bisa saya mainkan (dari 1
hingga 4
dalam contoh saya), menerapkan algoritma semu yang saya jelaskan di atas dan menghitung nilai peringkat global (sesuatu seperti % of symbols * match stdev
- Saya tahu, itu tidak masuk akal).
Taruhan dengan peringkat tertinggi (mencakup ketidakpastian) akan menjadi taruhan yang disarankan. Masalah dengan pendekatan ini (selain fakta bahwa itu belum masuk akal) adalah bahwa permainan yang akan dikerjakan dengan program saya tidak terbatas pada 3 pertandingan dan jumlah kombinasi taruhan ganda dan tripel untuk pertandingan tersebut adalah jauh lebih tinggi.
Saya merasa ada solusi yang elegan, tapi saya tidak bisa menangkapnya ...
Setiap bantuan memecahkan masalah ini sangat dihargai, terima kasih.
Tampaknya ada beberapa kebingungan mengenai masalah saya, saya sudah membahas ini dalam pertanyaan ini dan juga di komentar tetapi kesalahan penafsiran tampaknya masih berlaku, setidaknya untuk beberapa.
Saya perlu tahu berapa banyak taruhan triple, double dan single yang akan saya mainkan untuk permainan tertentu (semua pertandingan). Saya sudah tahu simbol apa yang ingin saya mainkan dengan melihat setiap pertandingan secara individual.