বড়, স্মার্ট (এর) বেট তৈরি করা


16

আমি 1X2 (ওজনযুক্ত) গেমগুলিতে বেট সুপারিশ করতে একটি অ্যালগরিদম কোড করার চেষ্টা করেছি।

মূলত, প্রতিটি গেমের ম্যাচের একটি সেট থাকে (হোম বনাম দূরে দলগুলি):

  • 1: হোম জিত
  • X: আঁকুন
  • 2: দূরে জয়

বিউইন 1 এক্স 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 টি ম্যাচের মধ্যে সীমাবদ্ধ নয় এবং সেই ম্যাচের জন্য দ্বিগুণ এবং ট্রিপল বাজি সংমিশ্রণের সংখ্যা হবে যথেষ্ট উচ্চতর।


আমি মনে করি একটি দুর্দান্ত সমাধান আছে তবে আমি এটি বুঝতে পারি না ...

এই সমস্যাটি ক্র্যাক করার জন্য যে কোনও সহায়তা প্রশংসিত হয়, ধন্যবাদ।


আমার সমস্যা সম্পর্কে কিছু বিভ্রান্তি আছে বলে মনে হচ্ছে, আমি ইতিমধ্যে এই প্রশ্নে এবং মন্তব্যেও এটিকে সমাধান করেছি তবে ভুল ব্যাখ্যাটি এখনও কমপক্ষে কারও কাছে মনে হয়।

আমি জানতে হবে কত, ট্রিপল ডবল এবং একক কয়টা বেট আমি একটি নির্দিষ্ট খেলা খেলবেন (সমস্ত ম্যাচ)। প্রতিটি ম্যাচ স্বতন্ত্রভাবে দেখে আমি কী চিহ্নগুলি খেলতে চাই তা আমি ইতিমধ্যে জানি।


4
Math.stackexchange.comথাকা ভাল লোকেরা আপনার যে সমস্যার বর্ণনা দিচ্ছেন তার আরও ভাল বোঝাপড়া প্রদান করতে সক্ষম হতে পারে যা ফলস্বরূপ এটি বাস্তবায়নের জন্য ভাল উপায়গুলি প্রস্তাব করতে পারে :)

1
@ লেথারজি: আমি একবার পাস্কাল ত্রিভুজ এবং প্রাইম নাম্বার সম্পর্কে এখানে একটি প্রশ্ন পোস্ট করেছি যা পরে গণিতে স্থানান্তরিত হয়েছে got এসই। আমি প্রায় 15 টি upvotes পেয়েছি (এসও এবং গণিতের উভয় ক্ষেত্রে) খুব দ্রুত কিন্তু প্রশ্নটি 30 মিনিটেরও কম সময়ে বন্ধ হয়ে গেছে এবং এটির আর অস্তিত্বও নেই। আমি মনে করি না তারা এই জাতীয় "সাধারণ" প্রশ্নগুলি খুব পছন্দ করে।
অ্যালিক্স অ্যাক্সেল

2
যদি আমরা সর্বোচ্চ সংখ্যার বিজয়ের জন্য অনুকূলিতকরণ করি তবে এটি আসলেই সহজ। জয়ের গড় সংখ্যা হ'ল প্রতিটি একক দৃষ্টিতে একসাথে যুক্ত হওয়ার জয়ের সুযোগ। উদাহরণস্বরূপ, যদি আমরা সর্বাধিক সুযোগের জন্য একক বাজি নির্ধারণ করি তবে আমরা গড়ে গড়ে 0.4 + 1 + 0.9 = 2.3 গেম জিতব। সুতরাং যদি 1 বাজি যোগ করা সর্বদা সমান ব্যয়বহুল হয় তবে সমাধানটি হ'ল জয়ের সম্ভাব্যতা বাছাই করা এবং প্রথম COST সম্ভাবনা নেওয়া (এটি উদাহরণের জন্য "সেরা" ফলাফল দেয়)। দ্বিতীয়টি বনাম কোনও কিছুর তৃতীয় যুক্ত করার সময় যদি ব্যয়টি আলাদা হয় তবে এটি আরও জটিল হয়ে ওঠে (ব্রুটফোর্স পুনরাবৃত্তি যদিও কাজ করে) এবং আমি মনে করি আমি এদিকে ঘুমাব।

2
একজন গণিতবিদ যিনি পিএইচপি জানেন না, আমি কোডের চেয়ে গাণিতিক স্বরলিপিতে থাকলে এই সমস্যাটিকে আক্রমণ করা খুব সহজ মনে করতাম।

2
আপনি কেলি মানদণ্ড শুনেছেন ? যদি তা না হয় তবে আপনার জন্য এখানে কিছু পাঠ রয়েছে।

উত্তর:


2

আমি মনে করি আমি কার্যকর একটি কার্যকর সমাধান নিয়ে এসেছি, এটি এরকম হয়:


  • 1) আমি তৈরি করতে সক্ষম একাধিক বেটের প্রতিটি সম্ভাব্য সংমিশ্রণ গণনা করুন

আমি আমার প্রশ্নে যে উদাহরণ এবং পরিমাণ সরবরাহ করেছি তার জন্য এটি হবে:

  • 3 একক, 0 ডাবল, 0 ট্রিপল = 1 একক বাটের সমতুল্য
  • 2 একক, 1 ডাবল, 0 ট্রিপল = 2 একক বেটের সমতুল্য
  • 2 একক, 0 ডাবল, 1 ট্রিপল = 3 একক বেটের সমতুল্য
  • 1 একক, 2 ডাবল, 0 ট্রিপল = 4 একক বেটের সমতুল্য

  • 2) প্রতিটি ম্যাচের জন্য প্রতিক্রিয়ার প্রতিকূলতার মানক বিচ্যুতি গণনা করুন

             |    1    |    X    |    2    |  stdev  |
             |---------|---------|---------|---------|
    Match #1 |   0.3   |   0.4   |   0.3   |  0.047  |
             |---------|---------|---------|---------|
    Match #2 |   0.1   |   0.0   |   0.9   |  0.402  |
             |---------|---------|---------|---------|
    Match #3 |   0.0   |   0.0   |   1.0   |  0.471  |
    

  • 3) প্রতিটি একাধিক বাজি সংমিশ্রণের জন্য ( পদক্ষেপ 1 ) সূত্রটি ব্যবহার করে একটি র‌্যাঙ্কিং গণনা করুন:

    র‌্যাঙ্কিং = (# এন (এক্স) [+ # এন (y) [+ # এন (জেড)]]) / স্টাডিভ (# এন)

যেখানে #nএকটি নির্দিষ্ট মিল এবং #n(x|y|z)প্রতীকগুলির ক্রম প্রতিক্রিয়া।

  • ম্যাচগুলি নিম্ন থেকে উচ্চমানের বিচ্যুতিতে প্রক্রিয়াজাত করা হয়।
  • প্রতিটি ম্যাচের পৃথক প্রতীকগুলি উচ্চ থেকে কম প্রতিক্রিয়াগুলিতে প্রক্রিয়া করা হয়।

একটি 1 একক, 2 ডাবল, 0 ট্রিপল বেটের জন্য পরীক্ষা করুন:

  • (#1(X) + #1(1)) / stdev(#1) = (0.4 + 0.3) / 0.047 = 14.89
  • (#2(2) + #2(1)) / stdev(#2) = (0.9 + 0.1) / 0.402 = 2.48
  • #3(2) / stdev(#3) = 1.0 / 0.471 = 2.12

এই বাজিটি আমাকে বিশ্বব্যাপী র‌্যাঙ্কিং দেয় 14.89 + 2.48 + 2.12 = 19.49


একটি 2 একক, 0 ডাবল, 1 ট্রিপল বেটের জন্য পরীক্ষা করুন:

  • (#1(X) + #1(1) + #1(2)) / stdev(#1) = (0.4 + 0.3 + 0.3) / 0.047 = 21.28
  • #2(2) / stdev(#2) = 0.9 / 0.402 = 2.24
  • #3(2) / stdev(#3) = 1.0 / 0.471 = 2.12

যা আমাকে বিশ্বব্যাপী র‌্যাঙ্কিং দেয় 21.28 + 2.24 + 2.12 = 25.64:-)


বাকী সমস্ত বেটস স্পষ্টভাবে নিকৃষ্ট হবে তাই তাদের পরীক্ষা করার কোনও মানে নেই।

এই পদ্ধতিটি কাজ করছে বলে মনে হচ্ছে তবে আমি পরীক্ষার এবং ত্রুটির মাধ্যমে এটি নিয়ে এসেছি এবং আমার পেটের অনুসরণ করে, এটি সঠিক কিনা বা আরও ভাল উপায় আছে কিনা তা বিচার করার জন্য আমার গাণিতিক বোঝার অভাব আছে ...

কোন পয়েন্টার?

PS: খারাপ ফর্ম্যাটিংয়ের জন্য দুঃখিত তবে এমডি পার্সার স্ট্যাকওভারফ্লো থেকে আলাদা বলে মনে হচ্ছে।


আপনি কি এই সমস্যা সমাধানের জন্য লিনিয়ার প্রোগ্রামিং ( en.wikedia.org/wiki/Linear_programming ) বিবেচনা করেছেন ?
ভিক্টর সোরোকিন

1

সিম্প্লেক্স পদ্ধতির উপর ভিত্তি করে কোনও সমাধান তৈরি করার পদ্ধতি। যেহেতু সিম্প্লেক্স পদ্ধতিটি ব্যবহারের ভিত্তি পূর্ণ হয় নি তাই আমাদের পদ্ধতিটি কিছুটা পরিবর্তন করতে হবে। আমি পরিবর্তিত সংস্করণটিকে "ওয়াক দ্য লাইন" বলি।

পদ্ধতি:

আপনি প্রতিটি ম্যাচের অনিশ্চয়তা পরিমাপ করতে সক্ষম। এটা কর! একক বা ডাবল বাজি দিয়ে প্রতিটি ম্যাচের অনিশ্চয়তা গণনা করুন (ট্রিপল বেটের জন্য কোনও অনিশ্চয়তা নেই)। দ্বিগুণ বা ট্রিপল বাজি যুক্ত করার সময় সর্বদা এমন একটিটি চয়ন করুন যা অনিশ্চয়তা সবচেয়ে কমিয়ে দেয়।

  1. ট্রিপল বেটের সর্বাধিক সংখ্যক থেকে শুরু করুন। মোট অনিশ্চয়তা গণনা করুন।
  2. একটি ট্রিপল বাজি সরান। সর্বোচ্চ ব্যয়ের অধীনে এক বা দুটি ডাবল বেট যুক্ত করুন। মোট অনিশ্চয়তা গণনা করুন।
  3. আপনার সর্বোচ্চ সংখ্যক দ্বিগুণ বেট না হওয়া পর্যন্ত দ্বিতীয় ধাপটি পুনরাবৃত্তি করুন।

সর্বনিম্ন মোট অনিশ্চয়তার সাথে বাজি ধরুন।


0

আমি এই স্পোর্টসেটস পর্যবেক্ষণ থেকে কী এসেছি তা আমি এই সিদ্ধান্তে পৌঁছেছি।

প্রত্যাশিত মান
বলতে দেয় যে আপনার কাছে 3 টি বেট হুইট 1.29 5.5 and 10.3(টেবিলের সর্বশেষ বেট ) ইভি বাজির জন্য
EV = 1/(1/1.29+1/5.5+1/10.3) - 1 = -0.05132282687714185 যদি এমন হয় যে যদি একজনের উপর বিজয়ী হওয়ার সম্ভাবনাগুলি বন্টিত হয়
1/1.29 : 1/5.5 : 1/10.3তবে আপনার ইভি নেতিবাচক হওয়ায় আপনি দীর্ঘমেয়াদে আপনার অর্থ হারাচ্ছেন।
আপনি প্রতিটি লাভের সম্ভাবনাগুলি কী তা নির্ধারণ করতে এবং অনিয়মগুলি খুঁজে বের করতে পারলেই আপনি লাভ করতে পারবেন।

আসুন বলি যে সত্য সম্ভাবনাগুলি
0.7 : 0.2 : 0.1

তার মানে হারগুলি হওয়া উচিত 1.43 \ 5.0 \ 10.0

আপনি দেখতে পাচ্ছেন যে সেক্ষেত্রে সেরা শোধের জন্য সেরা শোধের কাজটি হ'ল এটি আপনাকে
EV(0) = 5.5/5 - 1 = 0.1
ক্ষতি দেয় যেখানে
EV(2) = 10.2/10 - 1 = 0.02
বাজির জন্য এবং হোম জয়ের জন্য বাজি দেওয়া এমনকি ইভি-
EV(1) = 1.29/1.43 - 1 = -0.10


আমি মনে করি না আপনি আমার প্রশ্ন পেয়েছেন। প্রতিটি স্বতন্ত্র ম্যাচের জন্য কোন চিহ্নগুলিতে (এবং একাধিক বাজির ক্ষেত্রে কোন ক্রমে) কোনও বাজি রাখতে আমি ইতিমধ্যে জানি know আমার সমস্যাটি বিশ্বব্যাপী সমস্ত ম্যাচ (এবং তাদের নিজ নিজ প্রতীক সম্ভাবনা) দেখে আমার খেলতে হবে এমন ট্রিপল এবং ডাবল বেটের আদর্শ সংখ্যার সন্ধান করা
অ্যালিক্স অ্যাক্সেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.