মস্তিষ্কের টিজার: পিআর (হেড) = পি আছে এমন পক্ষপাতদুষ্ট মুদ্রা ব্যবহার করে সমান সম্ভাবনা সহ inte টি পূর্ণসংখ্যা কীভাবে তৈরি করা যায়?


58

এই প্রশ্নটি আমি গ্লাসডোরের সন্ধানে পেয়েছি : আছে এমন একটি মুদ্রা ব্যবহার করে একজন সমান সম্ভাবনা সহ 7 টি পূর্ণসংখ্যা কীভাবে তৈরি করতে পারে Pr(Head)=p(0,1)?

মূলত, আপনার কাছে একটি মুদ্রা রয়েছে যা সঠিক হতে পারে বা নাও হতে পারে, এবং এটি আপনার কাছে কেবল এলোমেলো-সংখ্যা উত্পন্ন প্রক্রিয়া, সুতরাং এলোমেলো সংখ্যা জেনারেটর নিয়ে আসুন যা 1 থেকে 7 পর্যন্ত পূর্ণসংখ্যাকে বের করে দেয় যেখানে এই সংখ্যার প্রতিটি পাওয়ার সম্ভাবনা রয়েছে where 1/7 হয়।

প্রক্রিয়া সম্পর্কিত ডেটা উত্পন্ন করার দক্ষতা।


সম্পর্কিত, নন- ডুপ
মনিকা

12
এটি সম্পন্ন করার জন্য অগণিত উপায় রয়েছে। প্রশ্নের আরও আকর্ষণীয় সংস্করণ কিছু সংজ্ঞায়িত অর্থে সেরা পদ্ধতি জিজ্ঞাসা করে। সর্বোপরি একটি প্রাকৃতিক বোধগম্য হ'ল উত্পাদিত পূর্ণসংখ্যার প্রতি কমপক্ষে প্রত্যাশিত ফ্লিপগুলি। আর একটি আকর্ষণীয় সংস্করণ হ'ল সমস্ত সম্ভাব্য সমাধানগুলি বর্ণনা করা (যা মুদ্রার স্বতন্ত্র ফ্লিপগুলির উপর নির্ভর করে এবং আরও কিছু নয়)।
whuber

1
@ ভাল পরামর্শ, আমি আপনার মন্তব্য প্রতিফলিত করতে প্রশ্ন সম্পাদনা করেছি।
অ্যামাজনিয়ান

<<< মূলত, আপনার কাছে একটি মুদ্রা রয়েছে যা ন্যায্য বা নাও হতে পারে, এবং এটি কেবলমাত্র এলোমেলো-সংখ্যা উত্পন্ন প্রক্রিয়া >>> এর অর্থ কি এই মুদ্রাটি উল্টানো এবং মাথার জন্য পরীক্ষার চেয়ে কোনও ভিন্ন পদ্ধতিতে ব্যবহার করা উচিত? বনাম লেজ "নিষিদ্ধ", যেহেতু এটি অন্য এলোমেলো-সংখ্যা উত্পন্ন প্রক্রিয়া হবে?
TinglTanglobi

9
মুদ্রা উপর বছরের মোড 7।
নাট

উত্তর:


56

মুদ্রা দু'বার ফ্লিপ করুন। যদি এটি অবতরণ করে HHবা TT, এটিকে উপেক্ষা করুন এবং এটিকে আবার দু'বার ফ্লিপ করুন।

এখন, মুদ্রার সমান সম্ভাবনা রয়েছে HTবা আসছে TH। যদি এটি আসে তবে এটিকে HTকল করুন H1। যদি এটি আসে তবে এটিকে THকল করুন T1

প্রাপ্তির রাখুন H1বা T1যতক্ষণ না আপনি একটি সারিতে তিনটি আছে। এই তিনটি ফলাফল আপনাকে নীচের টেবিলের উপর ভিত্তি করে একটি নম্বর দেয়:

H1 H1 H1 -> 1
H1 H1 T1 -> 2
H1 T1 H1 -> 3
H1 T1 T1 -> 4
T1 H1 H1 -> 5
T1 H1 T1 -> 6
T1 T1 H1 -> 7
T1 T1 T1 -> [Throw out all results so far and repeat]

আমি যুক্তি দিচ্ছি যে এটি পুরোপুরি সূক্ষ্মভাবে কাজ করবে, যদিও আপনার প্রক্রিয়াটিতে প্রচুর অপচয় হবে!


4
একমাত্র সীমাবদ্ধতা হ'ল মাথার সম্ভাবনা "পি"। নোট করুন যে পি বা 1 হতে পারে । সুতরাং এটি কাজ করার গ্যারান্টিযুক্ত নয়, তবে সাইকোরাক্স (বা সেফানস) এমনকি সেই ক্ষেত্রেও কাজ করবে। 01
গুং - মনিকা পুনরায়

8
@ গুং: আমি নিশ্চিত নই যে আমি দুটি মাথা বা দুটি লেজযুক্ত মুদ্রার জন্য কাজ করব।
এস। কোলাসা - মনিকা

6
সম্ভাব্যতা এটি সসীম সময়ে শেষ হবে। 1
ক্লার্ক

18
একে ভন-নিউমন হোয়াইটেনিং বলা হয়।
ডনফুসিলি

4
আপনি ক্রম থেকে আরও সম্পূর্ণরূপে এক্সট্রোপিতে ভ্যান নিউম্যান এক্সট্র্যাক্টরটি পুনরাবৃত্তি করতে পারেন। সমস্ত এইচএইচ এবং টিটি জুটি সংগ্রহ করুন, এটি একটি ক্রম বিবেচনা করুন, ভন নিউমান্ন এক্সট্র্যাক্টরটি প্রয়োগ করুন, ইত্যাদি।
একটি সিমন্স

47

ধরুন যে p(0,1)

ধাপ 1: । মুদ্রা 5 বার টস।

যদি ফলাফল হয়

, 1 ফিরে এসেথামুন।(H,H,H,T,T)1

, 2 ফিরে এসেথামুন।(H,H,T,T,H)2

, 3 ফিরে এসেথামুন।(H,T,T,H,H)3

, 4 ফিরে এসেথামুন।(T,T,H,H,H)4

, 5 ফিরে এসেথামুন।(T,H,H,H,T)5

, 6 ফিরে এসেথামুন।(H,H,T,H,T)6

, 7 ফিরে এসেথামুন।(H,T,H,T,H)7

পদক্ষেপ 2: । ফলাফল যদি উপরের কোনওটি না হয় তবে পদক্ষেপ 1 পুনরাবৃত্তি করুন।

নোট করুন যে এর মান নির্বিশেষে উপরে উল্লিখিত সাতটি ফলাফলের প্রতিটিটির সম্ভাব্যতা Q = p 3 ( 1 - পি ) 2 রয়েছে এবং মুদ্রা টসসের প্রত্যাশিত সংখ্যা 5p(0,1)q=p3(1p)2 । টসারেরপিএর মান জানতে হবে না(সেইপি0এবংপি1 ব্যতীত); এটি গ্যারান্টিযুক্ত যে সাতটি পূর্ণসংখ্যা সমাপ্ত হওয়ার পরে পরীক্ষার দ্বারা সমানভাবে ফিরে আসার সম্ভাবনা রয়েছে (এবং এটি সম্ভাব্যতা1 এরসাথে শেষ হওয়ার গ্যারান্টিযুক্ত)।57qpp0p11


6
আমরা এখানে উল্লিখিত অনুক্রম বা প্রতিটি উল্টানো উল্টানো সঙ্গে এই ক্রম অনুমতি দিয়ে এর জন্য টসসের প্রত্যাশিত সংখ্যা হ্রাস করতে পারি? উদাহরণস্বরূপ: 1 এর জন্য (হয়, এইচ, এইচ, টি, টি) বা (টি, টি, টি, এইচ, এইচ)?
moreON

5
আপনি পরিপূরক যোগ করতে পারেন। ফলাফলটি যদি (এইচ, এইচ, এইচ, টি, টি) বা (টি, টি, টি, এইচ, এইচ) হয় তবে 1 ফিরে এবং স্টপ করুন ইত্যাদি each সেক্ষেত্রে প্রতিটি ফলাফলের সম্ভাবনা হ'ল q=p3(1p)2+p2(1p)3
সেক্সটাস এম্পেরিকাস

2
ফলাফলটি কোনও (এইচ, এইচ, এইচ, টি, টি) ব্যবস্থা না নিয়ে কেবল অন্য মুদ্রা-ফ্লিপ যুক্ত করা সম্ভব হবে না? অতিরিক্ত কয়েন টসের সাহায্যে আপনার (এইচ, এইচ, এইচ, টি, টি, টি) এবং (এইচ, এইচ, টি, টি, টি, টি) এবং প্রতিটি এক্সটি (7-x) এইচ সংমিশ্রণের প্রয়োজন হবে এটি 1 থেকে 7 নম্বরে 7 বা ততোধিক ভিন্ন অর্ডারে সাজানো যেতে পারে সমস্ত 5 কয়েনকে পুনরায় লেখার পরিবর্তে এটিতে কেবল 1 টি অতিরিক্ত টস যুক্ত হবে, তবে এটি নিশ্চিত কিনা তা নিশ্চিত নয়: ডি
টিংলট্যাংলবো

5
সম্ভবত মুদ্রাটি তাত্ক্ষণিকভাবে times বার ফ্লিপ করা সবচেয়ে ভাল বিষয় হতে পারে, যেহেতু এটির গ্যারান্টি রয়েছে তার চেয়ে বেশি আপনি এলোমেলো নম্বর পেয়ে যাবেন (কেবল ব্যতিক্রমটি হ'ল, মুদ্রাটি 7 টি চেষ্টা করে বা লেজ আপ করে) । সুতরাং 7 টি টসিসের সাহায্যে আপনি 1 টি পর্যন্ত 6 টি মাথা দিয়ে শেষ করতে পারেন (আমি এখানে 0 এবং 7 বিকল্পটি এর অর্থহীন থেকে বাদ দিই)। যদি একটি মাথা থাকে তবে (এইচ, টি, টি, টি, টি, টি, টি) এর 7 টি আলাদা ব্যবস্থা সম্ভব; যদি 2 এর মাথা 21; যদি 3 এর 35 মাথা; যদি 4 35 মাথা; যদি 5 21 মাথা; যদি 6 7 মাথা; প্রতিটি মিশ্রণ বিনা হারে 1-7 নম্বরে পুরোপুরি ম্যাপ করা যায়।
টিংলটাংলবোজ

2
@ টিংগলটিংলবোবি এটি মূলত মার্টিজন
ওয়েটারিংস এর

22

দিলীপ সরওয়াতে বর্ণিত মামলাটিকে সাধারণীকরণ করা

অন্যান্য উত্তরের বর্ণনায় বর্ণিত কয়েকটি পদ্ধতি একটি স্কিম ব্যবহার করে যাতে আপনি একটি 'টার্ন' এ n কয়েনের অনুক্রম নিক্ষেপ করেন এবং ফলাফলের উপর নির্ভর করে আপনি 1 বা 7 এর মধ্যে একটি নম্বর চয়ন করেন বা টার্নটি বাতিল করে আবার ফেলে দিন।

কৌশলটি সম্ভাবনার প্রসারণে একই সম্ভাবনা pk(1p)nk সহ 7 টি ফলাফলের একাধিক খুঁজে পাওয়া এবং একে অপরের বিপরীতে মেলে।

কারণ মোট ফলাফলের সংখ্যা 7 এর একক নয়, আমাদের কয়েকটি ফলাফল রয়েছে যা আমরা কোনও সংখ্যাকে বরাদ্দ করতে পারি না এবং এর কিছু সম্ভাবনা রয়েছে যে আমাদের ফলাফলগুলি বাতিল করে আবার শুরু করতে হবে।


প্রতি মুড়ি 7 টি মুদ্রা ব্যবহারের ক্ষেত্রে using

স্বজ্ঞাতভাবে আমরা বলতে পারি যে সাতবার পাশা ঘুরিয়ে দেওয়া খুব আকর্ষণীয় হবে। যেহেতু আমাদের কেবল 27 সম্ভাবনার বাইরে ফেলে দিতে হবে । যথা, 7 বার মাথা এবং 0 বার মাথা।

অন্যান্য সমস্ত 27-2 সম্ভাবনার জন্য সর্বদা একই সংখ্যক মাথাযুক্ত 7 টি ক্ষেত্রে একাধিক থাকে। যথা 1 মাথা সহ 7 টি মামলা, 2 মাথা 2 টি, 3 টি মাথা সহ 35 টি মামলা, 4 মাথা সহ 35 টি মামলা, 5 মাথা সহ 21 টি মামলা এবং 6 টি মাথা সহ 7 টি মামলা।

সুতরাং আপনি যদি সংখ্যাটি গণনা করেন (0 টি মাথা এবং 7 মাথা ছাড়ছেন )

এক্স=Σ=17(-1)সি

সঙ্গে সি বের্নুলির বিতরণ ভেরিয়েবল (মান 0 অথবা 1) সাত সম্ভব ফলাফল একটি অভিন্ন পরিবর্তনশীল, তখন X- মডিউল 7।


মুদ্রার বিভিন্ন সংখ্যার তুলনায় পালা

প্রশ্নটি রয়ে গেছে যে প্রতি ঘুরে রোলগুলির সর্বোত্তম সংখ্যাটি কী হবে। প্রতি ঘণ্টায় আরও ডাইস রোলিং করতে আপনার আরও বেশি খরচ হয় তবে আপনি আবার রোল করার সম্ভাবনা হ্রাস করেন।

নীচের চিত্রটিতে মুড়ি প্রতি প্রথম কয়েক সংখ্যক মুদ্রা ফ্লিপের জন্য একটি ম্যানুয়াল গণনা দেখানো হয়েছে। (সম্ভবত কোনও বিশ্লেষণাত্মক সমাধান হতে পারে, তবে আমি বিশ্বাস করি যে এটি নিরাপদ যে 7 কয়েন ফ্লিপ সহ একটি সিস্টেম প্রয়োজনীয় সংখ্যক মুদ্রা উল্টানোর প্রত্যাশার মান সম্পর্কে সর্বোত্তম পদ্ধতি সরবরাহ করে)

মুদ্রা প্রত্যাশিত সংখ্যা

# plot an empty canvas
plot(-100,-100,
     xlab="flips per turn",
     ylab="E(total flips)",
     ylim=c(7,400),xlim=c(0,20),log="y")
title("expectation value for total number of coin flips
(number of turns times flips per turn)")

# loop 1
# different values p from fair to very unfair 
# since this is symmetric only from 0 to 0.5 is necessary 

# loop 2
# different values for number of flips per turn
# we can only use a multiple of 7 to assign 
#   so the modulus will have to be discarded
#   from this we can calculate the probability that the turn succeeds
#   the expected number of flips is 
#       the flips per turn 
#             divided by 
#       the probability for the turn to succeed 

for (p in c(0.5,0.2,0.1,0.05)) {
  Ecoins <- rep(0,16)
  for (dr in (5:20)){
    Pdiscards = 0
    for (i in c(0:dr)) { 
      Pdiscards = Pdiscards + p^(i)*(1-p)^(dr-i) * (choose(dr,i) %% 7)
    }
    Ecoins[dr-4] = dr/(1-Pdiscards)
  }
  lines(5:20, Ecoins)
  points(5:20, Ecoins, pch=21, col="black", bg="white", cex=0.5)
  text(5, Ecoins[1], paste0("p = ",p), pos=2)
}

প্রাথমিক স্টপিং রুল ব্যবহার করা

দ্রষ্টব্য: ফ্লিপের সংখ্যার প্রত্যাশার মানের জন্য নীচের গণনাগুলি ন্যায্য মুদ্রা পি=0.5 , এটি বিভিন্ন পি এর জন্য করণে বিড়বিড় হয়ে উঠবে , তবে নীতিটি একই থাকবে (যদিও বইয়ের বিভিন্ন বই রাখা) মামলা প্রয়োজন)

আমাদের কেসগুলি ( এক্স সূত্রের পরিবর্তে ) বেছে নিতে সক্ষম করা উচিত যাতে আমরা আগে থামাতে সক্ষম হতে পারি।

  • পাঁচটি মুদ্রা ফ্লিপ সহ আমাদের ছয়টি ভিন্ন ভিন্ন সীমাহীন সেট মাথা এবং লেজের জন্য রয়েছে:

    1 + 5 + 10 + 10 + 5 + 1 অর্ডার করা সেট

    এবং আমরা দশটি কেসের সাথে গ্রুপগুলি ব্যবহার করতে পারি (এটি হ'ল গ্রুপের সাথে 2 মাথা বা 2 লেজযুক্ত গোষ্ঠী) একটি সংখ্যা বাছাই করতে (সমান সম্ভাবনার সাথে) বেছে নিতে। এটি 2 ^ 5 = 32 টির মধ্যে 14 টিতে ঘটে। এটি আমাদের সাথে ছেড়ে দেয়:

    1 + 5 + 3 + 3 + 5 + 1 অর্ডার করা সেট

  • অতিরিক্ত সাত (ছ-তম) মুদ্রা ফ্লিপ সহ আমাদের কাছে সাতটি ভিন্ন ভিন্ন সীমাহীন সেট মাথা এবং লেজের জন্য রয়েছে:

    1 + 6 + 8 + 6 + 8 + 6 + 1 অর্ডার করা সেট

    এবং আমরা আটটি ক্ষেত্রে (এটি 3 টি মাথাযুক্ত গ্রুপ বা 3 লেজযুক্ত গ্রুপ) একটি সংখ্যা বেছে নিতে (সমান সম্ভাবনা সহ) ব্যবহার করতে পারি। এটি 2 * (2 ^ 5-14) = 36 টির মধ্যে 14 টিতে ঘটে। এটি আমাদের সাথে ছেড়ে দেয়:

    1 + 6 + 1 + 6 + 1 + 6 + 1 অর্ডার সেট

  • আর একটি (7-ম) অতিরিক্ত মুদ্রা ফ্লিপ সহ আমাদের আটটি ভিন্ন ভিন্ন সীমিত মাথা এবং লেজের সেট রয়েছে:

    1 + 7 + 7 + 7 + 7 + 7 + 7 + 1 অর্ডার করা সেট

    এবং আমরা সংখ্যার (সমান সম্ভাবনা সহ) বেছে নিতে সাতটি কেস (সমস্ত লেজ এবং সমস্ত মাথা ব্যতীত) সহ গ্রুপগুলি ব্যবহার করতে পারি। এটি 44 টির মধ্যে 42 টিতে ঘটে। এটি আমাদের সাথে ছেড়ে দেয়:

    1 + 0 + 0 + 0 + 0 + 0 + 0 + 1 অর্ডার সেট

    (আমরা এটি চালিয়ে যেতে পারি তবে কেবল 49 তম ধাপে এটি আমাদের কোনও সুবিধা দেয়)

সুতরাং একটি সংখ্যা নির্বাচন করার সম্ভাবনা

  • 5 ফ্লিপ এ 1432=716
  • 6 ফ্লিপ এ 9161436=732
  • 7 ফ্লিপ এ 11324244=231704
  • 7 ফ্লিপগুলিতে নয় 1716732231704=227

এটি একবারে ফ্লপের সংখ্যার প্রত্যাশার মানকে শর্তযুক্ত করে তোলে যে সাফল্য রয়েছে এবং p = 0.5:

5716+6732+7231704=5.796875

ফ্লিপের মোট সংখ্যার প্রত্যাশার মান (কোনও সাফল্য না পাওয়া পর্যন্ত), শর্তসাপেক্ষে যে পি = 0.5 হয়:

(5716+6732+ +7231704)2727-2=539=5,88889


এনসিএডামসের উত্তরটি এই স্টপিং-রুল কৌশলের বিভিন্নতা ব্যবহার করে (প্রতিটি সময় দুটি নতুন কয়েন ফ্লিপ নিয়ে আসে) তবে সমস্ত ফ্লিপগুলি সর্বোত্তমভাবে নির্বাচন করে না।

ক্লিডের উত্তরও একইরকম হতে পারে যদিও নির্বাচনের একটি অসম নিয়ম থাকতে পারে যে প্রতি দুটি মুদ্রা ফ্লিপ করে একটি সংখ্যা বেছে নেওয়া যেতে পারে তবে সমান সম্ভাবনার সাথে অগত্যা নয় (পরে এই মুদ্রার ফ্লিপ চলাকালীন মেরামত করা হচ্ছে এমন একটি তাত্পর্য)


অন্যান্য পদ্ধতির সাথে তুলনা

অনুরূপ নীতি ব্যবহার করে অন্যান্য পদ্ধতি হ'ল এনসিএডামস এবং অ্যাডামো by

নীতিটি হ'ল : 1 এবং 7 এর মধ্যে একটি সংখ্যার জন্য সিদ্ধান্ত নির্দিষ্ট সংখ্যক মাথা এবং লেজ পরে নেওয়া হয়। এক এক্স সংখ্যা উল্টাপাল্টির পরে, প্রতিটি সিদ্ধান্তের ফলে আমি একটি সংখ্যার দিকে নিয়ে যাই, সেখানে একটি অনুরূপ, সমান সম্ভাবনাযুক্ত, সিদ্ধান্ত যা একটি সংখ্যা বাড়ে (একই পরিমাণে মাথা এবং লেজ কিন্তু কেবল একটি ভিন্ন ক্রমে) নিয়ে যায়। কিছু সিরিজ মাথা এবং লেজগুলি আবার শুরু করার সিদ্ধান্ত নিতে পারে।

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

এটি নীচের চিত্র এবং সিমুলেশন দ্বারা প্রদর্শিত হয়:

তুলনা

#### mathematical part #####
set.seed(1)


#plotting this method
p <- seq(0.001,0.999,0.001)
tot <- (5*7*(p^2*(1-p)^3+p^3*(1-p)^2)+
       6*7*(p^2*(1-p)^4+p^4*(1-p)^2)+
       7*7*(p^1*(1-p)^6+p^2*(1-p)^5+p^3*(1-p)^4+p^4*(1-p)^3+p^5*(1-p)^2+p^6*(1-p)^1)+
        7*1*(0+p^7+(1-p)^7) )/
             (1-p^7-(1-p)^7)
plot(p,tot,type="l",log="y",
     xlab="p",
     ylab="expactation value number of flips"
     )

#plotting method by AdamO
tot <- (7*(p^20-20*p^19+189*p^18-1121*p^17+4674*p^16-14536*p^15+34900*p^14-66014*p^13+99426*p^12-119573*p^11+114257*p^10-85514*p^9+48750*p^8-20100*p^7+5400*p^6-720*p^5)+6*
          (-7*p^21+140*p^20-1323*p^19+7847*p^18-32718*p^17+101752*p^16-244307*p^15+462196*p^14-696612*p^13+839468*p^12-806260*p^11+610617*p^10-357343*p^9+156100*p^8-47950*p^7+9240*p^6-840*p^5)+5*
          (21*p^22-420*p^21+3969*p^20-23541*p^19+98154*p^18-305277*p^17+733257*p^16-1389066*p^15+2100987*p^14-2552529*p^13+2493624*p^12-1952475*p^11+1215900*p^10-594216*p^9+222600*p^8-61068*p^7+11088*p^6-1008*p^5)+4*(-
          35*p^23+700*p^22-6615*p^21+39235*p^20-163625*p^19+509425*p^18-1227345*p^17+2341955*p^16-3595725*p^15+4493195*p^14-4609675*p^13+3907820*p^12-2745610*p^11+1592640*p^10-750855*p^9+278250*p^8-76335*p^7+13860*p^6-
          1260*p^5)+3*(35*p^24-700*p^23+6615*p^22-39270*p^21+164325*p^20-515935*p^19+1264725*p^18-2490320*p^17+4027555*p^16-5447470*p^15+6245645*p^14-6113275*p^13+5102720*p^12-3597370*p^11+2105880*p^10-999180*p^9+371000
           *p^8-101780*p^7+18480*p^6-1680*p^5)+2*(-21*p^25+420*p^24-3990*p^23+24024*p^22-103362*p^21+340221*p^20-896679*p^19+1954827*p^18-3604755*p^17+5695179*p^16-7742301*p^15+9038379*p^14-9009357*p^13+7608720*p^12-
           5390385*p^11+3158820*p^10-1498770*p^9+556500*p^8-152670*p^7+27720*p^6-2520*p^5))/(7*p^27-147*p^26+1505*p^25-10073*p^24+49777*p^23-193781*p^22+616532*p^21-1636082*p^20+3660762*p^19-6946380*p^18+11213888*p^17-
           15426950*p^16+18087244*p^15-18037012*p^14+15224160*p^13-10781610*p^12+6317640*p^11-2997540*p^10+1113000*p^9-305340*p^8+55440*p^7-5040*p^6)
lines(p,tot,col=2,lty=2)

#plotting method by NcAdam
lines(p,3*8/7/(p*(1-p)),col=3,lty=2)

legend(0.2,500,
       c("this method calculation","AdamO","NcAdams","this method simulation"),
       lty=c(1,2,2,0),pch=c(NA,NA,NA,1),col=c(1,2,3,1))


##### simulation part ######

#creating decision table
mat<-matrix(as.numeric(intToBits(c(0:(2^5-1)))),2^5,byrow=1)[,c(1:12)]
colnames(mat) <- c("b1","b2","b3","b4","b5","b6","b7","sum5","sum6","sum7","decision","exit")

# first 5 rolls
mat[,8] <- sapply(c(1:2^5), FUN = function(x) {sum(mat[x,1:5])})

mat[which((mat[,8]==2)&(mat[,11]==0))[1:7],12] = rep(5,7) # we can stop for 7 cases with 2 heads
mat[which((mat[,8]==2)&(mat[,11]==0))[1:7],11] = c(1:7)   
mat[which((mat[,8]==3)&(mat[,11]==0))[1:7],12] = rep(5,7) # we can stop for 7 cases with 3 heads
mat[which((mat[,8]==3)&(mat[,11]==0))[1:7],11] = c(1:7)    

# extra 6th roll
mat <- rbind(mat,mat)
mat[c(33:64),6] <- rep(1,32)
mat[,9] <- sapply(c(1:2^6), FUN = function(x) {sum(mat[x,1:6])})

mat[which((mat[,9]==2)&(mat[,11]==0))[1:7],12] = rep(6,7) # we can stop for 7 cases with 2 heads
mat[which((mat[,9]==2)&(mat[,11]==0))[1:7],11] = c(1:7)   
mat[which((mat[,9]==4)&(mat[,11]==0))[1:7],12] = rep(6,7) # we can stop for 7 cases with 4 heads
mat[which((mat[,9]==4)&(mat[,11]==0))[1:7],11] = c(1:7)    

# extra 7th roll
mat <- rbind(mat,mat)
mat[c(65:128),7] <- rep(1,64)
mat[,10] <- sapply(c(1:2^7), FUN = function(x) {sum(mat[x,1:7])})

for (i in 1:6) {
  mat[which((mat[,10]==i)&(mat[,11]==0))[1:7],12] = rep(7,7) # we can stop for 7 cases with i heads
  mat[which((mat[,10]==i)&(mat[,11]==0))[1:7],11] = c(1:7)   
}


mat[1,12] = 7           # when we did not have succes we still need to count the 7 coin tosses
mat[2^7,12] = 7


draws = rep(0,100)
num = rep(0,100)
# plotting simulation
for (p in seq(0.05,0.95,0.05)) {
  n <- rep(0,1000)
  for (i in 1:1000) {
    coinflips <- rbinom(7,1,p)  # draw seven numbers
    I <- mat[,1:7]-matrix(rep(coinflips,2^7),2^7,byrow=1) == rep(0,7)                      # compare with the table
    Imatch = I[,1]*I[,2]*I[,3]*I[,4]*I[,5]*I[,6]*I[,7]        # compare with the table 
      draws[i] <- mat[which(Imatch==1),11]                 # result which number
      num[i]   <- mat[which(Imatch==1),12]                 # result how long it took
  }
  Nturn <- mean(num)                   #how many flips we made
  Sturn <- (1000-sum(draws==0))/1000   #how many numbers we got (relatively)
  points(p,Nturn/Sturn)
}

আরও একটি চিত্র যা আরও ভাল তুলনার জন্য p(1p) দ্বারা মাপা হয়েছে :

পরিমিত প্রত্যাশার মানগুলির সাথে তুলনা করুন

এই পোস্টে এবং মন্তব্যে বর্ণিত পদ্ধতিগুলির তুলনায় জুম করুন

তুলনা পদ্ধতি এখানে বর্ণিত

'--তম ধাপের শর্তসাপেক্ষ এড়িয়ে যাওয়া' সামান্য উন্নতি যা প্রাথমিক বিরতি নিয়মে করা যেতে পারে। এক্ষেত্রে আপনি--তম ফ্লপের পরে সমান সম্ভাব্যতার সাথে গোষ্ঠী নির্বাচন করবেন না। আপনার সমান সম্ভাব্যতা সহ, টি গ্রুপ এবং কিছুটা পৃথক সম্ভাবনা সহ ১ টি গোষ্ঠী রয়েছে (এই শেষ গোষ্ঠীর জন্য আপনার যখন 6 টি মাথা বা লেজ থাকে তখন আপনাকে আরও একটি অতিরিক্ত সময় ফ্লিপ করতে হবে এবং 7 টি মাথা বা 7 টি লেজ ফেলে দেওয়ার কারণে আপনি শেষ হয়ে যাবেন সব পরে একই সম্ভাবনা সঙ্গে আপ)


লিখেছেন স্ট্যাকএক্সচেঞ্জ স্ট্রাইক


আমি কেবল এন = 7 কেসের জন্য গণনা করা শুরু করব, কারণ আমার মনে হয়েছে এটি এন = 1 এর চেয়ে ভাল। আমার upvote আছে, স্যার!
এম হারজক্যাম্প

@ এম হারজক্যাম্প একটি ছোট উন্নতি এখনও সম্ভব। এক নম্বর (একটি মুদ্রা ফ্লিপ) এক্স এর গণনার জন্য প্রয়োজনীয় নয় , কারণ এর সহগ 0 রয়েছে। এই সংখ্যাটি কেবলমাত্র সমস্ত মাথা বা সমস্ত লেজের ক্ষেত্রে নির্ধারণ করার জন্য প্রয়োজনীয় এবং এটি ইতিমধ্যে যখন আমরা ইতিমধ্যে জানতে পারি তবে এটি বাদ দেওয়া যেতে পারে that আমাদের একটা মিশ্র কেস আছে CkX
সেক্সটাস এম্পেরিকাস

সুতরাং উন্নতি এটিকে 6 টিরও বেশি কয়েনের কাছে নামিয়ে আনে যা প্রয়োজনীয় মুদ্রার সংখ্যা প্রত্যাশার মান হিসাবে প্রত্যাশিত হয়। এটি সর্বোত্তম সমাধান হ'ল প্রমাণ করার পরেও এটি ভিন্ন হবে । ক্লিড দ্বারা নির্মিত এই স্কিমটি নির্দিষ্ট পরিমাণ মুদ্রা ফ্লিপের একটি সংখ্যা বেছে নেওয়ার জন্য কিছুটা বিভ্রান্ত করেছে তবে সমান সম্ভাবনার সাথে নয় (কমপক্ষে সেই নির্দিষ্ট পদক্ষেপের জন্য নয়, এটি পরে সংশোধন করা হবে)।
সেক্সটাস এম্পেরিকাস

তবে আপনি যদি সিদ্ধান্ত নিচ্ছেন যে প্রথম পাঁচটি ফলাফলের উপর ভিত্তি করে ষষ্ঠটি মুদ্রাটি ফ্লিপ করবেন কিনা, তবে প্রতিটি সেটের সম্ভাব্যতাগুলি কি আপনার উপর নির্ভর করে ছয়টি ফ্লিপ পেয়েছে, অন্যান্য সেটগুলির মতোই?
সংগৃহীত

@ ACccumulation আপনি এটি 7 স্তরের বাইনারি গাছ হিসাবে আঁকতে পারেন। সমান সম্ভাবনার সাথে যদি 7 থাকে তবে আমরা কেবল নোডগুলির মধ্যে নির্বাচন করব। এটি এর আগে আপনি কিছু শাখা কাটা (5 বা 6 স্তরে)। আপনি যদি পছন্দ করেন তবে আপনি আগেরটির পরিবর্তে 7 টি ধাপ অবিরত রাখতে পারেন, তবে এই বিশেষ ক্ষেত্রে 6 তম এবং 7 ম মুদ্রা ফ্লিপ কোনও তাত্পর্য রাখে না।
সেক্সটাস এম্পেরিকাস

20

একটি বাক্সকে সাতটি সমান-অঞ্চল অঞ্চলে বিভক্ত করুন, প্রত্যেকটি একটি পূর্ণসংখ্যার সাথে লেবেলযুক্ত। কয়েনটি বাক্সে এমনভাবে ফেলে দিন যাতে এটি প্রতিটি অঞ্চলে অবতরণের সমান সম্ভাবনা রাখে।

π

এটি একমাত্র উত্তর যা ক্ষেত্রে কাজ করেp=1p=0


2
আপনি বাক্সটি সাতটি সম-অঞ্চল অঞ্চলগুলিতে বিভক্ত করার জন্য, প্রাচীরগুলি ফেলা, বাড়া ইত্যাদি থেকে পক্ষপাত কমাতে কোনও উপায় প্রস্তাব করতে পারেন? সাতটি সেক্টর 360 360০/7?
smci

1
@ এসএমসি এই কারণেই আমি আপনাকে দৃp় প্রতিজ্ঞা করছি যে আপনাকে অবশ্যই এই মুদ্রা নিক্ষেপ করতে হবে যাতে প্রতিটি স্কোয়ারে এটির সমান সম্ভাবনা থাকে। যদি কোনও প্রাচীরের উত্থান যদি সেই সম্ভাবনাটি প্রভাবিত করে, তবে আপনার নিক্ষেপের জন্য আপনাকে তার জন্য অ্যাকাউন্ট করতে হবে।
মনিকা পুনরায় ইনস্টল করুন

17
হ্যাঁ, আমি সেটা জানে, আর আমি ইশারা করছি আপনি যে কেবল বলার অপেক্ষা রাখে না "একটি পক্ষপাতিত্বহীন উপায়ে তা নিক্ষেপ" ঠিক সংজ্ঞায়িত কিভাবে যে অর্জন করা ছাড়াই সত্যিই একটি সম্পূর্ণ উত্তর না ... যে ক্ষেত্রে আলোকসম্পাতের-এইচ / টি মধ্যে ভিত্তিক পদ্ধতি উচ্চতর।
smci

1
"প্রতিটি অঞ্চলে অবতরণের সমান সম্ভাবনা রয়েছে এমন ছোঁড়া সমেত সমান অঞ্চল" বাস্তবে প্রতিষ্ঠা করা কঠিন হতে পারে। অনুশীলনে প্রচুর পরিমাণে "অনুশীলন রান" চিহ্নিত করা সহজ হয়ে উঠতে পারে এবং তারপরে অবতরণ অঞ্চলটিকে সমৃদ্ধ ক্ষেত্রগুলিতে অনুকরণীয়ভাবে ভাগ করা যায় (উদাহরণস্বরূপ, 700 টি ছোঁড়া দিয়ে, একটি লাইনটি শাসন করে যা 100 টি ছুড়ে ফেলে দেয়, তারপরে পরবর্তী জন্য 100 এবং তাই)। একটি একক এলোমেলো বিট উত্পন্ন করার জন্য এর সরলকরণটি হ'ল দু'বার কয়েন নিক্ষেপ করা - যদি প্রথম থ্রো আরও এগিয়ে যায় তবে বিটটি হয় 0, এবং দ্বিতীয় থ্রো আরও এগিয়ে গেলে এটি একটি1
সিলভারফিশ

4
@ দ্য সায়েন্সবয়য়ের একটি চমৎকার উত্তর রয়েছে যা দুঃখের সাথে এর একটি আকর্ষণীয় বিকল্প দিয়ে মুছে ফেলা হয়েছে - কার্যকরভাবে, মুদ্রাকে স্পিনার হিসাবে ব্যবহার করা এবং তার পরিধি বরাবর sections টি বিভাগ চিহ্নিত করা - যা এই উত্তরের চেতনা বহুলাংশে ধরে রাখে তবে শারীরিকভাবে আরও সোজা হতে পারে পালন করা, নির্বাহ করা!
সিলভারফিশ

8

সম্পাদনা: অন্যের মতামতের ভিত্তিতে

একটি আকর্ষণীয় চিন্তা এখানে:

set 1,2,3,4,5,6,7} তালিকা সেট করুন} ধারাবাহিকভাবে তালিকার প্রতিটি উপাদানগুলির জন্য মুদ্রা নিক্ষেপ করুন। যদি এটি কোনও নির্দিষ্ট উপাদানটির শীর্ষে উঠে আসে তবে তালিকা থেকে নম্বরটি সরিয়ে ফেলুন। তালিকার একটি নির্দিষ্ট পুনরাবৃত্তি থেকে সমস্ত সংখ্যা সরিয়ে ফেলা হলে, নমুনাটি পুনরাবৃত্তি করুন। কেবলমাত্র একটি সংখ্যা অবধি রয়ে যাবে।

drop.one <- function(x, p) {
  drop <- runif(length(x)) < p
  if (all(drop))
    return(x)
  return(x[!drop])
}

sample.recur <- function(x, p) {
  if (length(x) > 1)
    return(sample.recur(drop.one(x, p), p))
  return(x)
}

# x <- c(1:7,7:1)
x <- 1:7
p <- 0.01

out <- replicate(1e5, sample.recur(x, p))

round(prop.table(table(out)), 2)

আমাকে প্রায় একটি সমান বিতরণ দেয়

> round(prop.table(table(out)), 2)
out
   1    2    3    4    5    6    7 
0.14 0.14 0.15 0.14 0.14 0.14 0.14 

এটি লক্ষণীয় আকর্ষণীয় (যদি আমি মারাত্মক ভুল না করে থাকি) যে এটি উত্পাদন করার চেয়ে আলাদা ফলাফল দেয়এন দ্বিপদী ফলাফলের পরিবর্তে মুদ্রার ১৩ টি টসসের সমষ্টি (ফলাফল হিসাবে 0 টি শিরোনাম গণনা করা) এবং ম্যাপিং {0,1 এর দেয় 2 1,2,3, ..., 3,2,1 earlier এর আগের তালিকার উপর 2, ..., 12,13} সূচক} আমি কীভাবে প্রমাণ করতে পারি যে আমার পদ্ধতিটি কাজ করে।


মুদ্রা নিক্ষেপের সংখ্যার জন্য প্রত্যাশা মানের মূল্যায়ন

এক্সY

M=[কুই700000117পি1কুই6কুই600000021পি2কুই56পি1কুই5কুই50000035পি3কুই415পি2কুই45কুই4কুই4000035পি4কুই320পি3কুই310পি2কুই34পি1কুই3কুই300021পি5কুই215পি4কুই210পি3কুই26পি2কুই23পি1কুই2কুই2007পি6কুই16পি5কুই15পি4কুই14পি3কুই13পি2কুই12পি1কুই100পি7পি6পি5পি4পি3পি200]

(MI)v=0 ) চিত্রিত করে যে কতটা সময় তুলনামূলকভাবে কোন রাজ্যে ব্যয় হয়। তারপরে 7 ম রাজ্যটি হল আপনি 1 থেকে 7 পর্যন্ত কতগুলি সংখ্যা আঁকতে সক্ষম হবেন তা অন্যান্য রাজ্যগুলি জানায় যে এটির জন্য কত মুদ্রা ফ্লিপ হয়।

E(n)=247p(1p)

মুদ্রা জন্য প্রত্যাশা মান তুলনা

p>2/3 । তবে পারফরম্যান্সটি অ-প্রতিসাম্যহীন। যখন একটি সম্ভাব্য স্যুইচিং নিয়ম তৈরি করা হবে যখন মাথা অসম্পূর্ণ হওয়ার কারণে লেজ থেকে মাথা পর্যন্ত সিদ্ধান্তের নিয়ম পরিবর্তন করে তখন একটি প্রতিসম ও আরও ভাল সামগ্রিক পারফরম্যান্স তৈরি করা যেতে পারে।

ডাব্লুএক্সম্যাক্সিমার সাথে সমাধান পাওয়া গেছে

M: matrix(
 [(1-p)^7,        0,          0,0,0,0,1,1], 
 [7* p*(1-p)^6,   (1-p)^6,        0,0,0,0,0,0], 
 [21*p^2*(1-p)^5, 6*p*(1-p)^5,    (1-p)^5,0,0,0,0,0], 
 [35*p^3*(1-p)^4, 15*p^2*(1-p)^4, 5*p*(1-p)^4,(1-p)^4,0,0,0,0], 
 [35*p^4*(1-p)^3, 20*p^3*(1-p)^3, 10*p^2*(1-p)^3,4*p*(1-p)^3,(1-p)^3,0,0,0], 
 [21*p^5*(1-p)^2, 15*p^4*(1-p)^2, 10*p^3*(1-p)^2,6*p^2*(1-p)^2,3*p*(1-p)^2,(1-p)^2,0,0], 
 [7* p^6*(1-p)^1, 6*p^5*(1-p),    5*p^4*(1-p),4*p^3*(1-p),3*p^2*(1-p),2*(1-p)*p,0,0], 
 [p^7,        p^6,        p^5,p^4,p^3,p^2,0,0]
);
z: nullspace(M-diagmatrix(8,1));
x : apply (addcol, args (z));
t : [7,6,5,4,3,2,0,0];
plot2d(t.x/x[7],[p,0,1],logy);

আরে গণনা

# plotting empty canvas
plot(-100,-100,
     xlab="p",
     ylab="E(total flips)",
     ylim=c(10,1000),xlim=c(0,1),log="y")

# plotting simulation
for (p in seq(0.1,0.9,0.05)) {

  n <- rep(0,10000)
  for (i in 1:10000) {
    success  = 0
    tests = c(1,1,1,1,1,1,1)     # start with seven numbers in the set
    count = 0
    while(success==0) {
      for (j in 1:7)  {
        if (tests[j]==1) {
          count = count + 1
          if  (rbinom(1,1,p) == 1) {
            tests[j] <- 0        # elliminate number when we draw heads
          }
        }
      }
      if (sum(tests)==1) {
        n[i] = count
        success = 1              # end     when 1 is left over
      }
      if (sum(tests)==0) {
        tests = c(1,1,1,1,1,1,1) # restart when 0 are left over
      }
    }
  }
  points(p,mean(n))
}

# plotting formula
p <- seq(0.001,0.999,0.001)

tot <- (7*(p^20-20*p^19+189*p^18-1121*p^17+4674*p^16-14536*p^15+34900*p^14-66014*p^13+99426*p^12-119573*p^11+114257*p^10-85514*p^9+48750*p^8-20100*p^7+5400*p^6-720*p^5)+6*
    (-7*p^21+140*p^20-1323*p^19+7847*p^18-32718*p^17+101752*p^16-244307*p^15+462196*p^14-696612*p^13+839468*p^12-806260*p^11+610617*p^10-357343*p^9+156100*p^8-47950*p^7+9240*p^6-840*p^5)+5*
    (21*p^22-420*p^21+3969*p^20-23541*p^19+98154*p^18-305277*p^17+733257*p^16-1389066*p^15+2100987*p^14-2552529*p^13+2493624*p^12-1952475*p^11+1215900*p^10-594216*p^9+222600*p^8-61068*p^7+11088*p^6-1008*p^5)+4*(-
    35*p^23+700*p^22-6615*p^21+39235*p^20-163625*p^19+509425*p^18-1227345*p^17+2341955*p^16-3595725*p^15+4493195*p^14-4609675*p^13+3907820*p^12-2745610*p^11+1592640*p^10-750855*p^9+278250*p^8-76335*p^7+13860*p^6-
    1260*p^5)+3*(35*p^24-700*p^23+6615*p^22-39270*p^21+164325*p^20-515935*p^19+1264725*p^18-2490320*p^17+4027555*p^16-5447470*p^15+6245645*p^14-6113275*p^13+5102720*p^12-3597370*p^11+2105880*p^10-999180*p^9+371000
   *p^8-101780*p^7+18480*p^6-1680*p^5)+2*(-21*p^25+420*p^24-3990*p^23+24024*p^22-103362*p^21+340221*p^20-896679*p^19+1954827*p^18-3604755*p^17+5695179*p^16-7742301*p^15+9038379*p^14-9009357*p^13+7608720*p^12-
 5390385*p^11+3158820*p^10-1498770*p^9+556500*p^8-152670*p^7+27720*p^6-2520*p^5))/(7*p^27-147*p^26+1505*p^25-10073*p^24+49777*p^23-193781*p^22+616532*p^21-1636082*p^20+3660762*p^19-6946380*p^18+11213888*p^17-
  15426950*p^16+18087244*p^15-18037012*p^14+15224160*p^13-10781610*p^12+6317640*p^11-2997540*p^10+1113000*p^9-305340*p^8+55440*p^7-5040*p^6)
lines(p,tot)

#plotting comparison with alternative method
lines(p,3*8/7/(p*(1-p)),lty=2)

legend(0.2,500,
       c("simulation","calculation","comparison"),
       lty=c(0,1,2),pch=c(1,NA,NA))

1
চতুর ধারণা (+1)। স্বজ্ঞাতভাবে, এটি কাজ করা উচিত, যেহেতু প্রতিসাম্য কোনও নির্দিষ্ট সংখ্যার দিকে পক্ষপাতকে বাতিল করে। তবুও, আমি একটি প্রমাণ দেখতে চাই।
মনিকা পুনরায় ইনস্টল করুন

6
এই ধারণাটি সত্যিই দুর্দান্ত, তবে মাথার উচ্চ সম্ভাবনার সাথে (এই সংখ্যাটি ছিটকে) আমার মনে হয় যে সারির শেষ সংখ্যাটি "বেঁচে থাকার" সবচেয়ে ভাল সম্ভাবনা রয়েছে কারণ অন্য সমস্ত খেলোয়াড়রা রান আউট হওয়ার আগে খুব সম্ভবত লাথি মেরে যায়? হয়তো এটি ক্রমিকভাবে মুদ্রাটি না ফেলে তবে x এর মধ্যে সমস্ত সংখ্যার সমান্তরাল দ্বারা পরিবর্তন করা যেতে পারে? স্ক্রিপ্টটির রানটাইম আমার অনুমান বাড়িয়ে দিতে পারে :)
টিংলট্যাংলোবো

2
আমি @ টিংল টাংলবোবির সাথে একমত - যখন আমি সেট p <- 0.99করি আমি আউটপুটটি পাই0.89 0.02 0.02 0.02 0.02 0.02 0.02
সিলভারফিশ

6
'রাউন্ডে' নির্মূল কার্যকারিতা কি পক্ষপাতিত্বের সমস্যার সমাধান করবে না? 7 নম্বর দিয়ে শুরু করুন। প্রতিটি অবশিষ্ট সংখ্যার জন্য মুদ্রা টস করুন, এবং যেগুলি মাথা নিক্ষেপ করে তা মুছে ফেলুন। যদি একটি রাউন্ডে অবশিষ্ট সমস্ত সংখ্যা মুছে ফেলা হয়, তবে এই রাউন্ডের ফলাফলগুলি স্ক্র্যাচ করুন এবং আবার চেষ্টা করুন। এটি কীভাবে প্রমাণ করতে হয় তা আমি জানি না, তবে স্বতঃস্ফূর্তভাবে সংখ্যার ক্রমটি তারা আর 'বিজয়ী' কিনা তা
ফিলি

1
p=0.01

5

প্রশ্নটি কিছুটা অস্পষ্ট, এটি কি "সমান সম্ভাবনার সাথে একটি এলোমেলোনা পূর্ণসংখ্যা সমান বা 7 এর চেয়ে কম জেনারেট" জিজ্ঞাসা করছে, বা এটি "সমান সম্ভাবনার সাথে 7 টি এলোমেলো পূর্ণসংখ্যা উত্পন্ন করতে" জিজ্ঞাসা করছে? - তবে পূর্ণসংখ্যার স্পেস কত?!?

আমি ধরে নেব এটি পূর্ববর্তী, তবে একই যুক্তিটি আমি প্রয়োগ করছি তবে সমস্যাটি পরিস্কার হয়ে গেলে পরবর্তী ক্ষেত্রেও এটি বাড়ানো যেতে পারে।

পক্ষপাতদুষ্ট মুদ্রার সাহায্যে আপনি নিম্নলিখিত পদ্ধতিটি অনুসরণ করে ন্যায্য মুদ্রা তৈরি করতে পারেন: https://en.wikedia.org/wiki/Fair_coin#Fair_results_from_a_biased_coin

7 বা তার চেয়ে কম নম্বর বাইনারিতে তিন {0,1} অঙ্ক হিসাবে লেখা যেতে পারে। সুতরাং সবার জন্যই উপরের পদ্ধতিটি তিনবার অনুসরণ করা এবং উত্পাদিত বাইনারি সংখ্যাটি দশমিক দশকে রূপান্তর করা।


1
আমার উত্তরটি @ এনসিএডামসের সাথে তুলনা করে, এটি স্পষ্ট যে আমি 0 কে সম্ভাব্য পছন্দসই ফলাফল হিসাবে অন্তর্ভুক্ত করছি!
ক্যাম.ড্যাভিডসন.পিলন

আপনার উত্তরটি কীভাবে আলাদা তা আমি পাই না। আপনি যদি {0,0,0} -> 1 অন্তর্ভুক্ত করেন তবে {1,1,1} মানচিত্রটি কী করে? 8 টি সম্ভাবনা আছে।
আদমো

1
0 কে 000 মানচিত্র, সুতরাং 0 হিসাবে একটি সম্ভাব্য মান হিসাবে আমার মন্তব্য। এটি ওপি সম্পাদনার আগে এবং প্রায় একই সাথে এনসিএডামস হিসাবে পোস্ট করা হয়েছিল।
ক্যাম.ড্যাভিডসন.পিলন

এই উত্তরের অর্ধেকটি একটি মন্তব্য, এবং উত্তরের আসল বিষয়বস্তু কেবলমাত্র লিংক। আপনার প্রকৃত উত্তরটির সাথে কেবল লিঙ্ক না দিয়ে দয়া করে বানান।
কিউবিক

3

এমন একটি সমাধান যা কখনই হয় না ফ্লিপগুলি অপচয় , যা অত্যন্ত পক্ষপাতমূলক মুদ্রার জন্য অনেক সহায়তা করে।

এই অ্যালগরিদমের অসুবিধা (লিখিত হিসাবে, কমপক্ষে) হ'ল এটি স্বেচ্ছাচারিতা-নির্ভুলতা পাটিগণিত ব্যবহার করছে। ব্যবহারিকভাবে, আপনি সম্ভবত এটি পূর্ণসংখ্যার ওভারফ্লো পর্যন্ত ব্যবহার করতে চান এবং কেবল তখনই এটিকে ফেলে দিন এবং শুরু করুন।

এছাড়াও, আপনি কি পক্ষপাত প্রয়োজন হয় , ... যা আপনি না করি বলুন, যদি এটা তাপমাত্রা নির্ভর সবচেয়ে শারীরিক বৈশিষ্ট্য মত হল।


মাথা নেওয়ার সুযোগটি ধরে নেওয়া, 30% বলুন।

  • পরিসীমা দিয়ে শুরু করুন [1, 8)
  • আপনার মুদ্রা ফ্লিপ। যদি প্রধান হয় তবে বামদিকে 30% ব্যবহার করুন, সুতরাং আপনার নতুন পরিসরটি [1, 3.1)। অন্যথায়, ডান 70% ব্যবহার করুন, সুতরাং আপনার নতুন পরিসীমা [3.1, 8)
  • পুরো ব্যাপ্তিটির একই পূর্ণসংখ্যার অংশ না হওয়া পর্যন্ত পুনরাবৃত্তি করুন।

সম্পূর্ণ কোড:

#!/usr/bin/env python3
from fractions import Fraction
from collections import Counter
from random import randrange


BIAS = Fraction(3, 10)
STAT_COUNT = 100000


calls = 0
def biased_rand():
    global calls
    calls += 1
    return randrange(BIAS.denominator) < BIAS.numerator


def can_generate_multiple(start, stop):
    if stop.denominator == 1:
        # half-open range
        stop = stop.numerator - 1
    else:
        stop = int(stop)
    start = int(start)
    return start != stop


def unbiased_rand(start, stop):
    if start < 0:
        # negative numbers round wrong
        return start + unbiased_rand(0, stop - start)
    assert isinstance(start, int) and start >= 0
    assert isinstance(stop, int) and stop >= start
    start = Fraction(start)
    stop = Fraction(stop)
    while can_generate_multiple(start, stop):
        if biased_rand():
            old_diff = stop - start
            diff = old_diff * BIAS
            stop = start + diff
        else:
            old_diff = stop - start
            diff = old_diff * (1 - BIAS)
            start = stop - diff
    return int(start)


def stats(f, *args, **kwargs):
    c = Counter()
    for _ in range(STAT_COUNT):
        c[f(*args, **kwargs)] += 1

    print('stats for %s:' % f.__qualname__)
    for k, v in sorted(c.items()):
        percent = v * 100 / STAT_COUNT
        print('  %s: %f%%' % (k, percent))


def main():
    #stats(biased_rand)
    stats(unbiased_rand, 1, 7+1)
    print('used %f calls at bias %s' % (calls/STAT_COUNT, BIAS))


if __name__ == '__main__':
    main()

3
[0,1]0000...6666...

একক আউটপুট জন্য এটি একই, তাই না? একাধিক জন্য আরও ভাল? আমি যেমনটি diff *= 7মনে করি তেমন লিখেছি ... আসলে, প্রতিটি চেষ্টা করার জন্য একই বেস ব্যবহার করার কোনও বিশেষ প্রয়োজন নেই।
o11c

হ্যাঁ, আপনি যদি একক আউটপুট চান তবে এটি একই; আপনি কেবল একাধিকগুলি চাইলে এটি দক্ষতা উন্নত করে।
ফেডেরিকো পোলোনি

পিপি

আপনি একক আউটপুট চাইলে এটি একেবারে অপচয় হয় না। ন্যায্য মুদ্রার জন্য, মানক কৌশল (মুদ্রাটি তিনবার রোল করুন, এবং টিটিটি পেলে পুনরাবৃত্তি করুন) 24/7 = 3 + 3/7 রোলগুলির একটি প্রত্যাশিত সংখ্যা দেয়। আপনি যদি এই পাটিগণিত-কোডিং-শৈলী কৌশলটি ব্যবহার করেন তবে আপনি এইচএইচএইচ বা টিটিটি না পেলে কমপক্ষে চার বার রোল করেন যা আপনাকে 15/4 = 3 + 3/4 রোলগুলির চেয়ে বেশি সংখ্যার প্রত্যাশিত সংখ্যা দেয়।
পিটার শোর

3

পূর্ববর্তী মন্তব্যে উল্লিখিত হিসাবে, এই ধাঁধাটি জন ভন নিউমানের ১৯৫১ সালের গবেষণাপত্র "জাতীয় ব্যুরো অফ স্ট্যান্ডার্ডস" এর গবেষণা জার্নালে প্রকাশিত "র্যান্ডম ডিজিটসের সাথে সংযোগে ব্যবহৃত বিভিন্ন কৌশল" সম্পর্কিত:

এখানে চিত্র বর্ণনা লিখুন

pf(p)f f(p)=min{1,2p}N বিচারের।


2

এটি কেবল জন্যও কাজ করেপি1পি0

আমরা প্রথমে এনসিএডামসের উত্তরটি দিয়ে প্রক্রিয়াটি ব্যবহার করে (সম্ভবত) অন্যায্য মুদ্রাকে ন্যায্য মুদ্রায় পরিণত করি :

মুদ্রা দু'বার ফ্লিপ করুন। যদি এটি অবতরণ হয় HHবাTT, এটিকে উপেক্ষা করুন এবং এটিকে আবার দু'বার ফ্লিপ করুন।

এখন, মুদ্রার সমান সম্ভাবনা রয়েছে HTবা আসছে TH। যদি এটি আসে তবে এটিকে HTকল করুন H1। যদি এটি আসে তবে এটিকে THকল করুন T1

01H1=1T1 =00.H1 H1 T10,110

1/7

1/7=0.001২001২001

2/7=0,010২010২010

3/7=0,011২011২011

4/7=0,100100100

5/7=0,101101101

6/7=0.110110110...

nn/7(n1)/717


1
1/7

1
উল্টানো সম্ভাবনা সংশোধন 1/7k=1(1/8)k=17

1
এনটি(এন)=2এন-62এনএন3
3+ +Σএন=31-টি(এন)=4.5
87*33,42

2

অ্যাডামোর উত্তর দ্বারা অনুপ্রাণিত, এখানে একটি পাইথন সমাধান রয়েছে যা পক্ষপাতিত্ব এড়ায়:

def roll(p, n):
    remaining = range(1,n+1)
    flips = 0
    while len(remaining) > 1:
        round_winners = [c for c in remaining if random.choices(['H','T'], [p, 1.0-p]) == ['H']]
        flips += len(remaining)
        if len(round_winners) > 0:
            remaining = round_winners
        p = 1.0 - p
    return remaining[0], flips

এখানে দুটি প্রধান পরিবর্তন রয়েছে: প্রধানটি হ'ল যদি সমস্ত সংখ্যা একটি রাউন্ডে ফেলে দেওয়া হয় তবে রাউন্ডটি পুনরাবৃত্তি করুন। এছাড়াও আমি মাথা বা লেজগুলি প্রতিবারই ফেলে দেওয়ার অর্থ নির্বাচনটি ফ্লিপ করি। এটি পি 0 বা 1 এর কাছাকাছি যেখানে 70% দ্বারা পি = 0.999 এর ক্ষেত্রে প্রয়োজনীয় ফ্লপের সংখ্যা হ্রাস করে


2
"আমি মাথা বা লেজগুলি প্রতিবার বাতিল হওয়া বাছাইয়ের বিকল্পটি ফ্লিপ করি This এটি পি-০.০৯৯৯ এর ক্ষেত্রে পি 0 বা 1 এর কাছাকাছি ~ 70% দ্বারা প্রযোজ্য ফ্লপের সংখ্যা হ্রাস করে" - স্মার্ট চিন্তাভাবনা!
সিলভারফিশ 16

1
সর্বদা মাথা ছাড়ার চেয়ে মাথা বা লেজ বদলানো অবশ্যই উন্নতি - তবে সম্ভবত আরও ভাল হবে যদি, প্রতিটি বাকী বিকল্পের জন্য একটি মুদ্রা উল্টানোর পরে, যদি সেগুলি একই হয় তবে আমরা সেগুলি সবগুলিই রিপ্লিপিংয়ের পুনরাবৃত্তি করব, অন্যথায় যদি কমপক্ষে থাকে তবে লেজ হিসাবে যতগুলি মাথা আমরা মাথার সাথে সম্পর্কিত বাকী অপসারণগুলি অপসারণ করি, অন্যথায় আমরা লেজগুলির সাথে সম্পর্কিত বাকী বিকল্পগুলি অপসারণ করি।
ডেভিড ক্যারি

2

এটি প্রতীয়মান হয় যে প্রতিবার আমরা ফ্লিপ করলে প্রতিটি ফ্লিপের ফলাফলের ম্যাপিংটি পরিবর্তন করার অনুমতি দেওয়া হয় । সুতরাং, প্রথম সাতটি ইতিবাচক পূর্ণসংখ্যার সুবিধার্থে আমরা নিম্নলিখিত আদেশগুলি দিয়েছি:

এইচ1
এইচ2

এইচ7
এইচ1

ইত্যাদি

পুনরাবৃত্তি করুন, সর্বদা 7 টি ফ্লিপের ব্যাচে। মানচিত্রটি ফলাফলগুলি কিছুতেই ।


একজনপিটি

পিএকজনপি(কোন পূর্ণসংখ্যার উত্পন্ন হয়)=(1-পি)7

এনB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর

গণনাএকজনপি(অকেজো ফ্লিপস)7এনB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর(1-পি)7

B ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর(পি,এন=5)পি3(1-পি)2

পিডিএস(কোন পূর্ণসংখ্যার উত্পন্ন হয়)=1-7পি3(1-পি)2

অকেজো ফ্লিপগুলির গণনা এখানে ঝোঁক থাকবে

গণনাডিএস(অকেজো ফ্লিপস)5এনB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর[1-7পি3(1-পি)2]

একজনপি

গণনাএকজনপি(অকেজো ফ্লিপস)<গণনাডিএস(অকেজো ফ্লিপস)

7এনB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর(1-পি)7<5এনB ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর[1-7পি3(1-পি)2]

7(1-পি)7<5[1-7পি3(1-পি)2]

পি>0,0467একজনপি

পিএকজনপিডিএসপি0,5967

গণনাএকজনপি(অকেজো ফ্লিপস)গণনাডিএস(অকেজো ফ্লিপস)

0.67পি=0.10.3পি=0.20.127p=0.4


পি(0,1)

1
@ সাইকোরাক্স আমি কিছু যুক্ত করেছি, যদিও আমি নিশ্চিত নই যে এটি আপনার প্রস্তাবিত লাইনের সাথে আছে।
অ্যালেকোস পাপাদোপল্লোস

এইচ

1
আপনি যদি (অত্যন্ত সিউডো) "এলোমেলো" - সংখ্যা জেনারেটরের এই ব্যাখ্যায় যান তবে 1,2,3,4,5,6,7 এর সমান পরিমাণের সাথে কেবল কোনও ক্রম, তবে আপনি কেবল কোনও মুদ্রাও উল্টাতে পারবেন না এবং সরাসরি সংখ্যার ক্রম নিন take 12345679999999

1
p17p
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.