Qual é a melhor maneira de obter um sorteio quase justo com moedas tendenciosas idênticas?

21

(Von Neumann deu um algoritmo que simula uma moeda justa, tendo acesso a moedas tendenciosas idênticas. O algoritmo potencialmente requer um número infinito de moedas (embora, na expectativa, finitas sejam suficientes). Essa questão diz respeito ao caso em que o número permitido de lançamentos limitado.)

Suponha que tenhamos moedas idênticas com viés δ = P [ H e a d ] - P [ T a i l ] . O objetivo é simular um único sorteio, minimizando o viés.nδ=P[Heumad]-P[TumaEueu]

A simulação deve ser eficiente no seguinte sentido: Um algoritmo em execução no tempo polinomial analisa bits aleatórios e gera um único bit. O viés do algoritmo é definido como B i a s ( A ) = | E [ A = 0 ] - E [ A = 1 ] | onde a expectativa é assumida sobre a distribuição definida por n iid bits x 1 , , x n de modo que P r o b [nBias(A)=|E[A=0]E[A=1]|nx1,,xn .Prob[xi=1]Prob[xi=0]=δ

Qual algoritmo em execução no tempo polinomial tem o menor viés B i a s ( A ) ?ABias(A)

Esta pergunta me parece muito natural e é muito provável que já tenha sido considerada antes.

O que se sabe sobre esse problema? Existe algo conhecido quando uma classe mais fraca (em , etc.) de algoritmos é considerada?AC0

Hrushikesh
fonte

Respostas:

15

Jogar n moedas tendenciosas e tomar a paridade de cabeças fica exponencialmente perto de .12

[Para uma prova, considere uma variável aleatória que seja -1 quando cara e 1 quando coroa, então a probabilidade de que haja um número ímpar de cabeças é apenas o ]E[12+12iXi]=12+12δn

Talvez isso também seja ótimo pelo seguinte motivo. Seja qualquer função de composição desses bits. Em seguida, a polarização ( f ) = Σ S f ( S ) ô | S |fBias(f)=Sf^(S)δ|S|e o melhor parece ser a função de paridade (não é?).f

Se você está interessado em funções de composição de menor complexidade, talvez um artigo de Ryan O'Donnell sobre `` Amplificação de dureza dentro de NP '' seja muito relevante. Lá, ele usa funções de composição monotônica para amplificações de dureza e as funções que funcionam são caracterizadas por sua sensibilidade ao ruído.

Ramprasad
fonte
Você poderia explicar por que a paridade deveria ser a melhor função? (Além disso, não é importante que tanto assintoticamente, mas não devem ser que na expansão de Fourier, uma vez E [ x i ] = δ ?). Obrigado pelo ponteiro para o papel! deeutuma|S|E[xEu]=δ
precisa saber é o seguinte
Oh, desculpe, você está certo. A expressão estava incorreta e agora a corrigiu. Eu não tenho uma prova da otimização (talvez não é o ideal), mas a razão pela qual eu imaginei assim foi que seria verdadeiro se a expressão foi em vez já que essa é uma combinação convexa. Sf^(S)2δ|S|
Ramprasad
Talvez isso possa lançar alguma luz. Por Cauchy-Schwarz, sabemos que . Uma maneira de otimizar seria minimizar o limite superior o máximo possível e isso acontece quando a funçãofé a função de paridade e, nesse caso, a quantidade em que estamos interessados ​​também corresponde ao limite superior. No entanto, pode ser que o vetor dos coeficientes de Fourier seja completamente ortogonal aovetorδ, nesse caso o LHS é apenas zero! Existem valores especiais deδpara os quais conhecemos tais exemplos? Sf^(S)S:f^(S)0 0δ2|S|fδδ
Ramprasad
Na verdade, se alguém assumir alguma função monotônica não trivial , então em δ = - 1 a expectativa, a probabilidade de f ( x 1 , , x n ) = 1 é 0 e em δ = 1 é 1 . Portanto, para algum δ intermediário , ele deve assumir o valor 1fδ=-1 1f(x1 1,,xn)=1 1δ=1 11 1δ . Portanto, não é justo esperar que, para cadaδ, a função de paridade seja ótima. 1 12δ
Ramprasad
Você pode explicar o último comentário com mais detalhes? Desconsiderando problemas de complexidade de f, não é a sua conclusão verdadeiro somente se para um ô 1E[f]=1 1/2 uma vez que a paridade sofre viés deδaδn? δ1 121 1/nδδn
Hrushikesh 01/10/10
12

Você não diz se o viés é conhecido ou desconhecido. A mágica do algoritmo de von Neumann é que ele funciona nos dois casos.

Suponha que seja conhecido. A melhor resposta depende então criticamente das características teóricas dos números do viés. Vamos considerar p = 2/3. Jogue a moeda duas vezes e mapeie HH para 0 e TH e HT para 1, repetindo o experimento se o resultado for TT. Então 0 e 1 são igualmente prováveis ​​e a chance de repetição é de apenas 1/9 em vez de 5/9 com o algoritmo de von Neumann. Ou, para colocá-lo nos seus termos, você apenas altera um dos resultados em 1/9 se o seu limite de iteração for 2.

Tudo isso está intimamente relacionado à teoria da informação e à teoria da codificação. Quando p é uma fração com um numerador e denominador mais complicado, o melhor algoritmo exigirá um comprimento de bloco maior que 2. Você pode usar um argumento de existência no estilo de Shannon para mostrar que, para um determinado viés, existe um procedimento o mais otimizado possível. você deseja, mas o comprimento do bloco pode ficar muito grande.

Peres, em seu artigo, Iterando o procedimento de extração de bits aleatórios de Von Neumann prova que uma versão do algoritmo de von Neumann pode abordar arbitrariamente bem o limite de Shannon. Muito do trabalho nesta área parece ter sido feito por teóricos e estatísticos da informação, então não consigo pensar em nenhum artigo com uma inclinação teórica da complexidade que lhe desse uma resposta direta à sua pergunta.

Há um problema divertido que pergunta o oposto: se você tem uma fonte de bits justos, como gera com eficiência uma distribuição uniforme em um conjunto que não é de dois em dois? A versão limitada ao problema da iteração, semelhante à sua pergunta, pede para maximizar a entropia (ou seja, tornar a distribuição o mais uniforme possível) com n arremessos de uma moeda justa.

Per Vognsen
fonte
11
Ocorreu-me que otimizar o tempo de execução sem viés (o que o artigo faz) é Lagrange dual para otimizar o viés sujeito ao tempo de execução. Então, acho que esse artigo realmente responde à sua pergunta!
Por Vognsen 26/09/10
5

Prefiro pensar na questão da seguinte forma generalizada: temos uma árvore binária completa de hight n, em que cada nó é atribuído com um número e a soma dos números é 1. Podemos dividir as folhas em dois conjuntos com a soma de números eles estão perto?

pq=1 1-ppEuqn-Eu

Eu(nEu)pumarEuty(x)pEuqn-Eu=Eu(nEu)(-p)Euqn-Eu=(q-p)n.

Em geral, se tivermos recursos computacionais suficientes (por exemplo, PSpumace em número de bits aleatórios), podemos particionar os nós da melhor maneira possível.

EDIT "Este é basicamente o problema de codificação de Shannon." (Agradecimentos a Per Vognsen.) FIM de EDIT

Por outro lado, se tivermos permissão para usar apenas UMAC0 0, então não é difícil mostrar que não podemos alcançar muito por causa da troca de lema. O circuito será aproximado exponencialmente bem por uma CNF e não é difícil mostrar que uma CNF não pode calcular uma resposta com um bom viés.

(Esta resposta pode conter erros, não verifiquei os detalhes.)

Kaveh
fonte
2
"Podemos dividir as folhas em dois conjuntos, com a soma dos números próximos?" Este é basicamente o problema de codificação de Shannon. O algoritmo Shannon-Fano é de cima para baixo e começa com um conjunto de elementos ponderados por probabilidade e solicita uma bipartição o mais possível. A aplicação recursiva fornece um código integral sem prefixo. O algoritmo de Huffman é de baixo para cima: começa com árvores singleton e mescla repetidamente pares com maior probabilidade. Se você conhece a codificação aritmética, isso também sugere, com razão, que é melhor gerar vários bits justos de uma só vez, em vez de um de cada vez.
Por Vognsen 26/09/10
4

Você também pode obter muitos bits aleatórios de moedas tendenciosas. Consulte o artigo Gabizon, Algoritmos de des randomização em Distribuições de produtos (http://sites.google.com/site/arielgabizon1/)


fonte
1

Se você deseja que um número par de lançamentos de moedas seja imparcial com uma moeda tendenciosa, a maneira mais fácil de remover o viés é reverter o resultado de todos os outros lançamentos.

Dean J
fonte
11
Obviamente, isso não resultará em uma sequência aleatória e uniforme. Imagine o caso limitante conforme o viés da moeda chega a 1 - você apenas obtém uma sequência alternada determinística de bits.
Aaron Roth
Qualquer estratégia que remapeie bijetivamente os resultados preservará a entropia, portanto, não poderá alterar a distribuição de entropia não máxima (tendenciosa) para entropia máxima (imparcial).
Por Vognsen