Trovare una moneta distorta usando alcuni lanci di monete


29

Il seguente problema è emerso durante la ricerca ed è sorprendentemente pulito:

Hai una fonte di monete. Ogni moneta ha una propensione, vale a dire una probabilità che cada sulla "testa". Per ogni moneta indipendentemente c'è probabilità 2/3 che abbia una deviazione di almeno 0,9, e con il resto della probabilità la sua inclinazione può essere qualsiasi numero in [0,1]. Non conosci i pregiudizi delle monete. Tutto ciò che puoi fare in qualsiasi momento è lanciare una moneta e osservare il risultato.

Per una data n, il tuo compito è quello di trovare una moneta con inclinazione almeno 0,8 con probabilità almeno . Puoi farlo usando solo i lanci di monete O (n)?1exp(n)


1
Mi sembra molto improbabile, dal momento che lanci sembrano essere necessari solo per determinare se una determinata moneta è fortemente orientata o meno con fiducia . (Possiamo anche supporre che ogni moneta abbia una propensione tra o .) Hai qualcosa di meglio dei lanci ? O(n)1exp(n)0.90.8ϵO(n2)
usul,

1
Non ho verificato la matematica, ma la seguente idea sembra promettente: per ogni moneta (in successione) fai il seguente test. Scegli un parametro , dire ed eseguire una camminata casuale sulla linea usando la moneta. Ad ogni passo , se la deviazione da è inferiore a , scarta la moneta. Le monete con pregiudizio .9 dovrebbero superare questo test con probabilità costante e le monete non riuscite dovrebbero fallire dopo O (1) passi nell'aspettativa, ad eccezione delle monete con orientamento molto vicino a . Scegliere a caso tra e per ogni moneta potrebbe risolvere questo problema. p0.85i0pipp.84.86
daniello il

1
Sarebbe essere a posto? Conosci una soluzione con tiri? o ( n 2 )O(nlogn)o(n2)
Robin Kothari,

4
Osservazione n. 1: se sapessi che tutte le monete hanno una propensione almeno 0,9 o al massimo 0,8, sarebbe stato possibile trovare una moneta con propensione almeno 0,9 con probabilità 1-exp (-n) usando i lanci O (n) : prendi una moneta, per i = 1,2,3, ..., lancia la moneta per 2 ^ i volte e controlla se la frazione di testa è almeno 0,89. In caso contrario, ricominciare con una nuova moneta. Il lemma chiave: se riavvio alla fase i, allora aveva meno di 2 ^ {i + 1} lanci di monete e il prob è al massimo exp (- \ Omega (i)).
Dana Moshkovitz,

1
È del tutto possibile che i lanci di O (nlogn) siano necessari e sufficienti, ma non ne abbiamo ancora una prova.
Dana Moshkovitz,

Risposte:


10

Quello che segue è un algoritmo di lancio O(nlogn) piuttosto semplice .

Supponiamo che 1exp(n) sia la probabilità di errore a cui puntiamo. Sia N una potenza di 2 che è tra diciamo 100n e 200n (solo qualche tempo abbastanza grande costante n ). Manteniamo un insieme candidato di monete, C . Inizialmente, abbiamo messo N monete in C .

Ora per i=1,,logN , procedi come segue:
lancia ogni moneta in C per Di=2i1010 volte (solo una costante abbastanza grande).
Conserva le monete N/2i con la maggior parte delle teste.

La dimostrazione si basa su un paio di limiti di Chernoff. L'idea principale è che noi diamo la metà del numero di candidati ogni volta e quindi possiamo permetterci il doppio dei lanci di ogni moneta.


2
(1) Sarebbe bello scrivere la prova in modo più dettagliato - la maggior parte della difficoltà in questo problema sta nel dove posizionare la soglia per il limite di Chernoff (quante teste ti aspetti di vedere dalle monete da 0,9?) . (2) Puoi mostrare che i lanci di monete di nlogn sono necessari?
Dana Moshkovitz,

3
La sottigliezza è questa: si inizia con n monete, e tranne con prob exp piccolo in n, ci sono almeno 0,6n monete di bias 0,9. Ora c'è una costante probabilità che le monete da 0,9 bias perdano la concorrenza a: 1 moneta con bias inferiore a 0,8 (potrebbe capitare di cadere continuamente in testa!), 2 monete con bias 0,8 + 1 / logn, ..., n / 10 monete con diagonale 0.9 - 1 / log n. Continuare in modo simile, in cui il bias delle monete scelte si degrada ad ogni iterazione, fino a quando non si rimane con la moneta di bias <0,8.
Dana Moshkovitz,

3
Questo è più o meno l'algoritmo di eliminazione mediana di Evan-Dar et. al. Come mostrato da Mannor e Tsitsiklis in The Sample Complexity of Exploration in the Multi-Armed Bandit Problem , può essere usato per ottenere i lanci di monete previsti quando il bias del bersaglio è noto come in questo caso. O(n)
Kristoffer Arnsfelt Hansen,

2
Grazie per il riferimento! Sono interessato al numero massimo di gettate di cui uno ha bisogno, e in questo caso mostrano un limite inferiore n ^ 2. Tuttavia, il problema che considerano è diverso dal mio. Hanno n monete, ce ne potrebbe essere solo una più distorta e vogliono trovare una moneta con un simile orientamento. Nella mia configurazione so che ci sono almeno 0,6 n monete con un bias accettabile (tranne con prob esponenzialmente piccolo in n).
Dana Moshkovitz,

2
Suppongo che lanci sia facile per il nostro problema: inizia con la prima moneta e fai m = Θ ( n ) lanci per qualche grande costante nella notazione Θ ( ) . Se questo esce testa almeno 0,85 m volte, restituirlo. Altrimenti continua con la moneta successiva. La probabilità correttezza è 1 - exp ( - n ) e le monete ingresso essendo 0,9 polarizzazione indipendentemente con probabilità 2 / 3 , la probabilità di raggiungere l' iO(n)m=Θ(n)Θ()0.85m1exp(n)2/3i'th moneta è inferiore e quindi il numero atteso di lanci è Σ i = 0 m / 2 i = O ( m ) = O ( n ) . (1/2)ii=0m/2i=O(m)=O(n)
Kasper Green Larsen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.