ให้เหรียญที่มีอคติไม่เป็นที่รู้จักสร้างความแตกต่างจากเหรียญที่ยุติธรรมได้อย่างมีประสิทธิภาพ


10

ได้รับเหรียญที่มีอคติที่ไม่รู้จักว่าฉันสามารถสร้าง variates - อย่างมีประสิทธิภาพเป็นไปได้ - ที่ Bernoulli กระจายกับความน่าจะเป็น 0.5? นั่นคือใช้จำนวนขั้นต่ำของการพลิกต่อการเปลี่ยนแปลงที่สร้างขึ้นp


3
ทางออกที่ง่ายคือพลิกเหรียญสองครั้ง: ถ้าเป็นแผนที่ให้หัวถ้าเป็นแผนที่ไปเป็นก้อย มิฉะนั้นให้ทำการทดสอบซ้ำจนกระทั่งสำเร็จหนึ่งในสองรายการนี้ T HHTTH
พระคาร์ดินัล

1
@cardinal: ดี! ทำไมไม่เพิ่มคำตอบ?
Neil G

2
@Glen_b: โอเค แต่คุณสามารถทำได้ด้วยจำนวนการโยนขั้นต่ำต่อการเปลี่ยนแปลงที่สร้างขึ้น?
Neil G

3
@MichaelLugo: ผมว่ามันแน่นอนขึ้นอยู่กับพี:-) ถ้าเรารู้ว่าเราสามารถทำได้ในครั้งเดียว ถ้าเรารู้ว่าเราทำได้สองอย่างและเรารู้ว่าสิ่งนี้ดีที่สุดในทั้งสองกรณี คำตอบที่ควรจะเกี่ยวข้องกับเอนโทรปี(P) หากเราไม่รู้อะไรเลยเกี่ยวกับนอกเหนือจากฉันสงสัยว่าผลลัพธ์ของเกมทฤษฎีอย่างง่ายจะให้บางสิ่งที่ใกล้เคียงกับแบบแผนในความคิดเห็นแรกของฉันว่าเป็น "ดีที่สุด" ในวิธีที่เหมาะสม พี= 1 / 2 P = 1 / 4 H ( P )pp=1/2p=1/4H(p)p ( 0 , 1 )pp(0,1)
พระคาร์ดินัล

4
สวัสดี Giorgio1927 และยินดีต้อนรับสู่เว็บไซต์! โปรดเพิ่มแท็ก "การศึกษาด้วยตนเอง" ในคำถามนี้เนื่องจากจะทำให้ผู้คนเห็นว่าพวกเขาควรจะแนะนำคุณให้ตอบคำถามแทนที่จะให้เพียงแค่แท็กเดียว
jbowman

คำตอบ:


6

นี่เป็นปัญหาที่รู้จักกันดีกับวิธีแก้ปัญหาที่ดีหลายอย่างซึ่งถูกกล่าวถึงที่นี่และใน stackoverflow (ดูเหมือนว่าฉันไม่สามารถโพสต์มากกว่าหนึ่งลิงก์ แต่การค้นหา google อย่างรวดเร็วช่วยให้คุณมีรายการที่น่าสนใจ) ดูที่รายการวิกิพีเดีย

http://en.wikipedia.org/wiki/Fair_coin#Fair_results_from_a_biased_coin


ขออภัยฉันแก้ไขคำถามเพื่อให้ Google ไม่สามารถทำได้อย่างง่ายดาย ...
Neil G

สำหรับคนที่คิดเกี่ยวกับการตอบคำถามโปรดทราบว่าคำตอบนี้ไม่เหมาะสำหรับคำถามที่แก้ไขของฉัน
Neil G

3

นี่เป็นปัญหาคลาสสิกฉันเชื่อว่ามาจาก von Neumann ทางออกหนึ่งคือการเก็บเหรียญเป็นคู่จนกว่าคู่จะแตกต่างกันจากนั้นเลื่อนไปที่ผลลัพธ์ของเหรียญแรกในคู่

ให้อย่างชัดเจนเป็นผลลัพธ์ของการทอยโดยเป็นเหรียญแรกและเป็นเหรียญที่สอง แต่ละเหรียญมีความน่าจะเป็นของหัว แล้วเนื่องจากสมมาตรซึ่งหมายถึง1/2 หากต้องการดูข้อความที่สมมาตรนี้อย่างชัดเจนว่าหมายถึงผลลัพธ์คือหรือซึ่งทั้งคู่มีความเป็นไปได้อย่างเท่าเทียมกันเนื่องจากความเป็นอิสระi X i Y ฉัน p P ( X i = H | X iY i ) = P ( X i = T | X iY i ) P ( X i = H | X iY ฉัน ) = 1 / 2 X ฉันY(Xi,Yi)iXiYipP(Xi=H|XiYi)=P(Xi=T|XiYi)P(Xi=H|XiYi)=1/2 ( H , T ) ( T , H )XiYi(H,T)(T,H)

สังเกตุเวลาที่รอจนกว่าคู่ที่ไม่เท่ากันจะเป็นเช่นนั้น

1/P(XY)=11p2(1p)2=12p(1p),

ซึ่งระเบิดขึ้นเมื่อเข้าใกล้ 0 หรือ 1 (ซึ่งสมเหตุสมผล)p


2

nt ntnt ( n(nt)ntnt(nt)

เพื่อแสดง:

เราสามารถหยุดที่ TH หรือ HT เนื่องจากสิ่งเหล่านี้มีความน่าจะเป็นที่เท่ากัน การย้ายสามเหลี่ยมของปาสคาลคำศัพท์ถัดไปนั้นอยู่ในแถวที่สี่: 4, 6, 4 หมายความว่าเราสามารถหยุดหลังจากม้วนถ้ามีหัวหนึ่งอันเกิดขึ้นเนื่องจากเราสามารถสร้างการจับคู่แบบสองฝ่าย: HHHT กับ HHTH และเทคนิค HTHH ด้วย THHH แม้ว่าเราจะหยุดพวกมันไปแล้ว ในทำนองเดียวกันให้ผลที่ตรงกันกับ TTHH (ที่เหลือเราจะหยุดก่อนที่จะไปถึงพวกเขา)(42)

สำหรับลำดับทั้งหมดได้หยุดคำนำหน้า มันน่าสนใจกว่าที่ที่เราจับคู่ FFFFTTFT กับ FFFFTTTF( 8)(52)(83)

สำหรับหลังจาก 8 ม้วนโอกาสที่ไม่ได้มีการหยุดเป็นมีจำนวนที่คาดหวังของม้วนถ้าเราได้หยุดของ{16} สำหรับวิธีการแก้ปัญหาที่เราเก็บคู่กลิ้งไว้จนกว่าพวกเขาจะแตกต่างกันโอกาสที่จะไม่หยุดคือโดยมีจำนวนม้วนที่คาดไว้ถ้าเราหยุด 4 จากการเรียกซ้ำมีขอบเขตบนพลิกที่คาดไว้ สำหรับขั้นตอนวิธีการที่นำเสนอคือ<4 1p=12 531128 15316 1281161281275316=424127<4

ฉันเขียนโปรแกรม Python เพื่อพิมพ์จุดหยุด:

import scipy.misc
from collections import defaultdict


bins = defaultdict(list)


def go(depth, seq=[], k=0):
    n = len(seq)
    if scipy.misc.comb(n, k, True) % 2 == 0:
        bins[(n,k)].append("".join("T" if x else "F"
                                   for x in seq))
        return
    if n < depth:
        for i in range(2):
            seq.append(i)
            go(depth, seq, k+i)
            seq.pop()

go(8)

for key, value in sorted(bins.items()):
    for i, v in enumerate(value):
        print(v, "->", "F" if i < len(value) // 2 else "T")
    print()

พิมพ์:

FT -> F
TF -> T

FFFT -> F
FFTF -> T

FFTT -> F
TTFF -> T

TTFT -> F
TTTF -> T

FFFFFT -> F
FFFFTF -> T

TTTTFT -> F
TTTTTF -> T

FFFFFFFT -> F
FFFFFFTF -> T

FFFFFFTT -> F
FFFFTTFF -> T

FFFFTTFT -> F
FFFFTTTF -> T

FFFFTTTT -> F
TTTTFFFF -> T

TTTTFFFT -> F
TTTTFFTF -> T

TTTTFFTT -> F
TTTTTTFF -> T

TTTTTTFT -> F
TTTTTTTF -> T

เมื่อเป็นที่รู้จักวิธีการแก้ปัญหาใด ๆ มีการทำงานสำหรับการ จำกัด ค่าและ1 นี่ควรทำให้ชัดเจนว่าโซลูชันของ @ Cardinal นั้นดีที่สุด จำนวนที่คาดว่าจะพลิก (รับไม่รู้จักของหลักสูตร) เป็น .p 0 p 1 p 2 / ( ( p ( 1 - p ) )pp0p1p2/((p(1p))
whuber

@whuber: ฉันไม่เห็นว่าทำไมมันควรจะดีที่สุด ทางออกของฉันหยุดในทุกกรณีเช่นเดียวกับเขา อย่างไรก็ตามเขาจะยังคงกลิ้งหลังจากนั้นเช่นในขณะที่มันเป็นไปได้ที่จะหยุด
Neil G

ทางออกของคุณคืออะไร? ฉันไม่เห็นคำอธิบายที่นี่ ฉันคิดว่าเราอาจมีแนวคิดที่แตกต่างกันเกี่ยวกับวิธีการแก้ปัญหาของ @ Cardinal ฉันเข้าใจว่าหมายถึง "หยุดเมื่อใดก็ตามที่จำนวนของหัวเท่ากับจำนวนก้อยและแผนที่ที่เป็นค่าของผลลัพธ์แรกในลำดับ"
whuber

@whuber: คุณหมายถึงสิ่งนี้: "วิธีแก้ปัญหาง่าย ๆ คือการพลิกเหรียญสองครั้ง: ถ้าเป็นแผนที่ HT กับหัวถ้าเป็นแผนที่ TH ถึงหางไม่เช่นนั้นให้ทำซ้ำการทดสอบจนกว่าหนึ่งในสองนี้จะสำเร็จ" สิ่งนี้จะไม่หยุดสำหรับ HHTT รอคู่ HT หรือ TH ในดัชนีคู่
Neil G

วิธีแก้ปัญหาของฉันคือค้นหาการจับคู่แบบสองทางของคำนำหน้า equiprobable (ไม่มีคำนำหน้าอื่น) และเชื่อมโยงการจับคู่แต่ละครึ่งกับหัวหรือก้อย
Neil G
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.