এটি বহু-সশস্ত্র ডাকাত সমস্যার একটি সাধারণ ঘটনা । আপনি যেমন নোট করেছেন, আপনি অজানা মুদ্রা ব্যবহার করে আপনি যে তথ্য সংগ্রহ করেছেন তা ভারসাম্য বজায় রাখতে চান যখন আপনি মনে করেন যে আপনার কাছে থাকা জ্ঞানকে কাজে লাগানোর বিরুদ্ধে অল্প সময়ে রানকে সাব্পটিমাল বলে মনে হচ্ছে।
ধ্রুপদী বহু-সশস্ত্র ডাকাত সমস্যায়, আপনি কোনওটি মুদ্রার সম্ভাবনা সম্পর্কে নিশ্চিত নন। তবে, এখানে আপনাকে দেওয়া হয়েছে যে আপনি মুদ্রা এ এর মান জানেন, সুতরাং আপনি যখন এ ফ্লিপ করবেন তখন কোনও তথ্য পাবেন না। প্রকৃতপক্ষে, আপনি এ এর স্টোকাস্টিক প্রকৃতিটি উপেক্ষা করতে পারেন এবং ধরে নিতে পারেন যে আপনি এ এর পছন্দ অনুসারে একটি ফ্ল্যাট এর অর্থ এটি যদি কয়েন A এ ফ্লিপ করা কখনও সঠিক হয় তবে আপনার A. কে উল্টানো উচিত So কখন আপনাকে বি ছেড়ে দেওয়া উচিত তার জন্য সর্বোত্তম স্টপিং নিয়মটি অনুসন্ধান করতে চান এটি বি এর জন্য পরামিতিগুলির পূর্ব বিতরণ এবং পরীক্ষার সংখ্যার উপর নির্ভর করে। একটি বৃহত্তর পরীক্ষার সাথে, অন্বেষণের আরও বেশি মূল্য থাকে, সুতরাং আপনি বি আরও পরীক্ষা করে দেখবেন।1/2
সাধারণভাবে, আমি মনে করি আপনি গতিশীল প্রোগ্রামিং সমস্যা থেকে দূরে সরে যেতে পারবেন না, যদিও এমন বিশেষ কিছু ক্ষেত্রে থাকতে পারে যেখানে অনুকূল কৌশলটি খুঁজে পাওয়া যায় এবং আরও সহজভাবে পরীক্ষা করা যায়।
আগে ইউনিফর্ম সহ, এখানে আপনার থামানো উচিত:
(0 heads,3 tails),(1 head,5 tails),(2 heads,6 tails),(3,7),(4,8),...(31,35),(32,35),(33,36),(34,37),...(41,44),(42,44),...(46,48),(47,48),(48,49),(49,50) ।
এই কৌশল অনুসারে, আপনি মাথা সংগ্রহ করার প্রত্যাশা করছেন ।61.3299
আমি ইক্যুইটিগুলি গণনা করতে নিম্নলিখিত গাণিতিক কোডটি ব্যবহার করেছি:
Clear[Equity];
Equity[n_, heads_, tails_] := Equity[n, heads, tails] =
If[n == 0, heads,
Max[1/2 + Equity[n - 1, heads, tails],
(heads + 1)/(heads + tails + 2) Equity[n - 1, heads + 1, tails] +
(tails + 1)/(heads + tails + 2) Equity[n - 1, heads, tails + 1]
]
]
তুলনা করার জন্য, থম্পসন স্যাম্পলিং হিউরিস্টিক (যা ক্যাম ডেভিডসন পাইলন দাবি করেছেন যে অনুকূল) তিনি গড়ে 60.2907 হেড দেন, যা 1.03915 কম হয়। থম্পসন স্যাম্পলিংয়ে সমস্যাটি রয়েছে যে এটি কখনও কখনও বি নমুনা দেয় যখন আপনার কাছে যথেষ্ট তথ্য থাকে যে এটি ভাল বাজি নয়, এবং প্রায়শই বি স্যাম্পল হওয়ার সম্ভাবনাগুলি নষ্ট করে দেয়, যখন তথ্য সার্থক হয়। এই ধরণের সমস্যায় আপনি প্রায়শই আপনার বিকল্পগুলির মধ্যে উদাসীন হন না এবং খাঁটি অনুকূল কৌশলও রয়েছে।
tp[heads_, tails_] := tp[heads, tails] =
Integrate[x^heads (1 - x)^tails / Beta[heads + 1, tails + 1], {x, 0, 1/2}]
Clear[Thompson];
Thompson[flipsLeft_, heads_, tails_] := Thompson[flipsLeft, heads, tails] =
If[flipsLeft == 0, heads,
Module[{p = tp[heads, tails]},
p (1/2 + Thompson[flipsLeft-1,heads,tails]) +
(1-p)((heads+1)/(heads+tails+2)Thompson[flipsLeft-1,heads+1,tails] +
((tails+1)/(heads+tails+2)) Thompson[flipsLeft-1,heads,tails+1])]]