Yanlılığı bilinmeyen bir bozuk para verildiğinde, adil bir bozuk paradan verimli bir şekilde farklılıklar üretin


10

Bilinmeyen önyargı ile bir sikke Verilen verimli mümkün olduğunca - - olasılık 0.5 Bernoulli-dağıtılan Ben değişebilirlerin oluşturabilir nasıl? Yani, üretilen değişken başına minimum döndürme sayısı kullanılır.p


3
Basit bir çözüm, bozuk parayı iki kez çevirmektir: ise kafalara eşleyin, ise kuyruklara eşleyin. Aksi takdirde, bu ikisinden biri elde edilene kadar deneyi tekrarlayın. T HHTTH
kardinal

1
@cardinal: Güzel! Neden bir cevap eklemiyorsunuz?
Neil G

2
@Glen_b: Tamam, ancak oluşturulan değişken başına minimum döndürme sayısı ile yapabilir misiniz?
Neil G

3
@MichaelLugo: Kesinlikle bağlı olduğunu söyleyebilirim p. :-) Eğer p=1/2 biz bir flip yapabildiğini biliyorum. Eğer p=1/4 biz bu optimum her iki durumda da olduğunu biliyoruz, ikiye yapmak ve biliyorum. Cevap entropi ile ilgili olmalıdır H(p). Bildiğimiz Eğer hiçbir şey hakkında p bunun dışında p(0,1), o zaman basit bir oyun teorisi sonucunun, benim ilk yorumumda uygun bir şekilde "optimal" olarak plana yakın bir şey vereceğinden şüpheleniyorum.
kardinal

4
Merhaba Giorgio1927 ve siteye hoş geldiniz! Lütfen bu soruya "kendi kendine çalışma" etiketini ekleyin, çünkü insanların sadece bir yanıt vermek yerine size cevabı yönlendirmeleri gerektiğini görmelerini sağlar.
jbowman

Yanıtlar:


6

Bu, burada ve stackoverflow'da tartışılan birkaç güzel çözümde iyi bilinen bir sorundur (birden fazla bağlantı gönderemiyorum, ancak hızlı bir google arama size bazı ilginç girişler veriyor). Wikipedia girişine bir göz atın

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


Maalesef, soruyu Google'ın kolayca kullanabileceği şekilde değiştirdim…
Neil G

Soruyu cevaplamayı düşünenler için, bu cevabın düzenlenmiş sorum için uygun olmadığını unutmayın.
Neil G

3

Bu klasik bir problem, sanırım aslında von Neumann'a atfediliyor. Bir çözüm, çiftler farklı olana kadar jetonu çiftler halinde atmaya devam etmek ve daha sonra çiftteki ilk jetonun sonucuna ertelemektir.

Açık bir şekilde izin atmak sonuçlanacağından i ile, X i ilk para olmak ve Y, I , ikinci para olmak. Her madalyonun kafa p olasılığı vardır . Sonra simetri nedeniyle P ( X i = H | X iY i ) = P ( X i = T | X iY i ) , bu P anlamına gelir ((Xi,Yi)iXiYipP(Xi=H|XiYi)=P(Xi=T|XiYi) . Bu simetriyi açıkça görmek için X iY i ' nin sonuçlarının ima ettiği ( H , T ) veya ( T , H )' dir.P(Xi=H|XiYi)=1/2XiYi(H,T)(T,H)

Ampirik olarak, eşit olmayan bir çiftin bekleme süresi

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

0 veya 1'e yaklaştıkça patlar (mantıklıdır).p


2

Şartları verimli bir şekilde nasıl özetleyeceğimden emin değilim, ancak toplam rulo sayısı ve toplam başarı sayısı t olduğu zaman durabiliriz ( nntvebaşarabileceğimiz farklı sıralamaları,her biri farklı bir çıktı etiketine karşılık gelen iki eşit olasılık grubunaayırabileceğimizden bile. Biz zaten hiçbir eleman uzunluğunun bir öneki olduğundan emin yani bu unsurlar, durdu değil dikkatli olmak gerekirileöyle ki başarılarıbile değildir. Bunu beklenen sayıda döndürmeye nasıl çevireceğimden emin değilim.(nt)t n t ( n ntnt(nt)

Örneklemek gerekirse:

Eşit olasılıklara sahip olduklarından TH veya HT'de durabiliriz. Pascal'ın üçgeni aşağı doğru hareket ederken, sonraki çift terimler dördüncü sırada yer alır: 4, 6, 4. Bir kafa ortaya çıkarsa rulolardan sonra durabileceğimiz anlamına gelir, çünkü iki taraflı bir eşleşme oluşturabiliriz: HHTH ile HHHT ve teknik olarak HTHH ile THHH biz zaten bunun için durmuş olurdu. Benzer şekilde , TTHH ile eşleşen verir (geri kalanı, onlara ulaşmadan önce dururduk).(42)

İçin , dizilerin tüm önekleri durduruldu. FFFFTTFT ile FFFFTTTF'yi eşleştirdiğimiz biraz daha ilginç hale geliyor.( 8(52)(83)

İçin 8 rulo sonra durdurulmuş olan değil şans biz durduruldu halinde rulo beklenen sayıda . Haddeleme çiftlerini farklı olana kadar tuttuğumuz çözüm için, durma şansımız 4 olarak durduysak beklenen sayıda rulo ile Özyineleme ile, beklenen döndürmelerde bir üst sınır sunulan algoritma için . 1p=12 531128 15316 1281161281275316=424127<4

Durma noktalarını yazdırmak için bir Python programı yazdım:

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()

baskılar:

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

Tüm bilinmemekle birlikte, herhangi bir çözüm sınır değerlerini için çalışma vardır ve . Bu, @ Cardinal'in çözümünün en uygun olduğunu açıkça belirtmelidir. Beklenen flips sayısı ( elbette bilinmeyen verilir )p 0 p 1 ppp0p1p2/((p(1p))

@whuber: Neden en iyi olması gerektiğini anlamıyorum. Benim çözümüm onunkiyle aynı durumlarda durur. Ancak, örneğin tthh'den sonra yuvarlanmaya devam ederken durmak mümkündür.
Neil G

Çözümünüz nedir? Burada tarif edilen birini görmüyorum. Sanırım @ Cardinal'in çözümü için farklı konseptlerimiz olabilir. "Kafa sayısı kuyruk sayısına eşit olduğunda durun ve bunu dizideki ilk sonucun değeriyle eşleyin."
whuber

@whuber: Bunu kastediyorsunuz: "Basit bir çözüm, madeni parayı iki kez çevirmektir: HT, kafalara eşlerse, TH kuyruklara eşlerse. Aksi takdirde, bu ikisinden biri elde edilene kadar deneyi tekrarlayın." Bu HHTT için durmayacak. Eşit bir endekste bir çift HT veya TH bekler.
Neil G

Benim çözümüm, eşitlenebilir eşeklerin (hiçbiri başka bir önek değildir) iki taraflı eşleşmesini bulmak ve eşleşmenin her yarısını başlarla veya kuyruklarla ilişkilendirmektir.
Neil G
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.