আমি 1X2 (ওজনযুক্ত) গেমগুলিতে বেট সুপারিশ করতে একটি অ্যালগরিদম কোড করার চেষ্টা করেছি।
মূলত, প্রতিটি গেমের ম্যাচের একটি সেট থাকে (হোম বনাম দূরে দলগুলি):
1
: হোম জিতX
: আঁকুন2
: দূরে জয়
প্রতিটি ম্যাচ এবং প্রতীক (জন্য 1
, X
এবং 2
), আমি শতকরা যে প্রতীক সঠিক ম্যাচ ফলাফল হবার সম্ভাবনা / সম্ভাবনা প্রতিনিধিত্ব করে দেবে। কাঠামোর প্রতিনিধিত্বকারী এখানে একটি অ্যারে রয়েছে:
$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
),
);
আমি প্রতিটি বেটের জন্য স্ট্যান্ডার্ড বিচ্যুতিও গণনা করি (উপরের স্নিপেটে মন্তব্য করেছেন); উচ্চতর স্ট্যান্ডার্ড বিচ্যুতিগুলি একটি উচ্চতর নিশ্চিততার প্রতিনিধিত্ব করে, যখন সর্বনিম্ন মানক বিচ্যুতিগুলির সাথে ম্যাচগুলি উচ্চতর অনিশ্চয়তার স্তরে অনুবাদ করে, এবং, যদি সম্ভব হয় তবে দ্বিগুণ বা ট্রিপল বেটে beেকে রাখা উচিত।
নিম্নলিখিত সিউডো-অ্যালগরিদম সামগ্রিক কর্মপ্রবাহ বর্ণনা করতে হবে:
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
এতদূর ভাল, তবে আমি কতটা ব্যয় করতে চাই তা আমাকে অ্যালগরিদম বলতে হবে। 1
যেকোন মুদ্রায় একক বেটের দাম বলতে দেয় , একাধিক বাজি কত খরচ হয় তা গণনা করার সূত্রটি:
2^double_bets * 3^triple_bets * cost_per_bet (= 1)
স্পষ্টতই, অ্যালগরিদমের পক্ষে বাজি পরামর্শের জন্য যথাসম্ভব বেশি পরিমাণে অর্থ বরাদ্দ করার চেষ্টা করা উচিত (এটি অন্যথায় খুব বেশি অর্থ হবে না), এবং এখন যেখানে এটি ট্র্যাফিক হয় ...
আসুন আমি 4
পিএইচপি ( @ আইডিয়োনে ) এর সমস্ত সম্ভাব্য গুণাগুলির তালিকা বর্ধিত করে সর্বাধিক অর্থ প্রদান করতে চাই :
$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);
নিম্নলিখিত আউটপুট ফলন:
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
)
)
সমস্যাটি
যদি আমি সর্বাধিক পরিমাণে উপলভ্য অর্থ খেলতে বেছে নিই ( 4
) আমাকে দুটি ডাবলসের সাথে বাজি ধরতে হবে, যদি আমি উপরে বর্ণিত সিউডো-অ্যালগরিদম ব্যবহার করি তবে আমি নীচের বাজির পরামর্শটি শেষ করব:
match #1
=>X1
match #2
=>2
match #3
=>12
যে ট্রিপল বেটের সাথে তুলনা করা হয় 3
এবং এটি আরও অনিশ্চয়তা কভার করে তা উপ-অনুকূল বলে মনে হয় :
match #1
=>X12
match #2
=>2
match #3
=>2
উপরের উদাহরণটি আরও প্রাসঙ্গিকতা অর্জন করে যদি আপনি বিবেচনা করেন যে match #3
প্রতিকূলতাগুলি হতে পারে:
$game['match #3'] = array // stdev = 0.4714
(
'1' => 0.0, // 0% home wins
'X' => 0.0, // 0% draw
'2' => 1.0, // 100% away wins
);
এক্ষেত্রে আমি কোনও কারণ ছাড়াই একটি ডাবল নষ্ট করব।
মূলত, আমি কেবল সবচেয়ে বড় (সম্ভবত মূ .়) বাজিটি বেছে নিতে পারি এবং স্মার্ট, সবচেয়ে বড় বাজি না ।
আমি কিছুদিন ধরে প্রাচীরের বিরুদ্ধে মাথা ঠেকিয়ে যাচ্ছি এই আশায় যে আমি একধরনের এপিফ্যানি পাব তবে এখনও আমি কেবলমাত্র দুটি অর্ধ- [খারাপ-] সমাধান নিয়ে আসতে পেরেছি:
1) একটি "লাইন" আঁকুন
মূলত আমি বলব যে একটি নির্দিষ্ট মানের চেয়ে কম স্টাডিভের সাথে ম্যাচগুলি ট্রিপল হবে, একটি স্টাডেভের সাথে মিলগুলি বড় উচ্চতর হবে ডাবল বেট এবং বাকী একক বেট।
এটির সাথে অবশ্যই সমস্যাটি যথাযথ সীমাবদ্ধতা সন্ধান করছে - এবং "স্মার্ট" বাজির জন্য সঠিক মানগুলি খুঁজে পাওয়া সত্ত্বেও, আমি এখনও জানিনা যে প্রস্তাবিত বাজি খেলতে আমার যথেষ্ট পরিমাণ অর্থ আছে কিনা বা যদি আমি আরও বড় (স্মার্ট) বাজিও বানাতে পারি ...
2) ব্রুটফোর্স
এই প্রশ্নটি লেখার সময় আমি এই ধারণাটি নিয়ে এসেছি এবং আমি জানি যে আমি বর্ণিত প্রসঙ্গে এটি সঠিক ধারণা অর্জন করতে পারে না তবে আমি মনে করি আমি এটি কিছুটা আলাদা মেট্রিক ব্যবহার করে এটিকে কাজ করতে পারি। মূলত, আমি প্রোগ্রাম আমি (থেকে খেলতে পারে অর্থের প্রতি সম্ভব পরিমাণ কয়টা বেট (ট্রিপল এবং ডাবল বাজিকরদের সামনে #) সুপারিশ করতে পারে 1
থেকে 4
(কিছু আমার উদাহরণে), সিউডো-অ্যালগরিদম আমি উপরে বর্ণিত আবেদন এবং একটি বিশ্বব্যাপী র্যাংকিং মান গণনা করার সময়ে লাইক % of symbols * match stdev
- আমি জানি, এটি কোনও মানে নেই)।
সর্বোচ্চ র্যাঙ্কিংয়ের সাথে বাজি (অনিশ্চয়তা coveringাকা) প্রস্তাবিত বাজি হবে। এই পদ্ধতির সমস্যাটি (এটি এখনও কোনও অর্থবোধ করে না এমনটি ছাড়াও) সমস্যাটি হ'ল যে আমার প্রোগ্রামগুলি যে গেমগুলির সাথে কাজ করতে চলেছে সেগুলি 3 টি ম্যাচের মধ্যে সীমাবদ্ধ নয় এবং সেই ম্যাচের জন্য দ্বিগুণ এবং ট্রিপল বাজি সংমিশ্রণের সংখ্যা হবে যথেষ্ট উচ্চতর।
আমি মনে করি একটি দুর্দান্ত সমাধান আছে তবে আমি এটি বুঝতে পারি না ...
এই সমস্যাটি ক্র্যাক করার জন্য যে কোনও সহায়তা প্রশংসিত হয়, ধন্যবাদ।
আমার সমস্যা সম্পর্কে কিছু বিভ্রান্তি আছে বলে মনে হচ্ছে, আমি ইতিমধ্যে এই প্রশ্নে এবং মন্তব্যেও এটিকে সমাধান করেছি তবে ভুল ব্যাখ্যাটি এখনও কমপক্ষে কারও কাছে মনে হয়।
আমি জানতে হবে কত, ট্রিপল ডবল এবং একক কয়টা বেট আমি একটি নির্দিষ্ট খেলা খেলবেন (সমস্ত ম্যাচ)। প্রতিটি ম্যাচ স্বতন্ত্রভাবে দেখে আমি কী চিহ্নগুলি খেলতে চাই তা আমি ইতিমধ্যে জানি।