Simule um dado justo com um dado tendencioso


18

Dado um dado tendencioso do lado , como um número aleatório no intervalo ser gerado uniformemente? A distribuição de probabilidade das faces do dado não é conhecida, tudo o que se sabe é que cada face tem uma probabilidade diferente de zero e que a distribuição de probabilidade é a mesma em todos os arremessos (em particular, os arremessos são independentes). Esta é a generalização óbvia dos resultados justos com dados injustos .N[1,N]

Colocando isso em termos de ciência da computação, temos um oráculo representando os dados do dado: modo que seja diferente de zero e independente de . Nós estamos em busca de um algoritmo determinista que é parametrizada por (ou seja, pode fazer chamadas para ) de modo a que . O algoritmo deve terminar com a probabilidade 1, ou seja, a probabilidade de que faça mais de chamadas para deve convergir para como .D:N[1,N]pi=P(D(k)=i)kADADP(A()=i)=1/NAnD0n

Para (simule uma moeda justa a partir de lançamentos de moedas com uma moeda tendenciosa), existe um algoritmo bem conhecido:N=2

  • Repita “virar duas vezes” até que os dois lançamentos tenham resultados distintos ((cara, coroa) ou (coroa, cara)). Em outras palavras, faça um loop para aték=0..D(2k+1)D(2k)
  • Retorne 0 se o último par de flips foi (cara, coroa) e 1 se foi (coroa, cara). Em outras palavras, retorne que é o índice no qual o loop foi finalizado.D(2k)k

Uma maneira simplista de fazer um dado imparcial a partir de um dado tendencioso é usar o método de não-oscilação da moeda para construir uma moeda justa e construir um dado justo com amostragem por rejeição, como em Desencadeamento de sequências . Mas isso é ideal (para valores genéricos da distribuição de probabilidade)?

Especificamente, minha pergunta é: o que é um algoritmo que requer o menor número esperado de chamadas para o oráculo ? Se o conjunto de valores esperados alcançáveis ​​estiver aberto, qual é o limite inferior e qual é a classe de algoritmos que converge para esse limite inferior?

Caso diferentes famílias de algoritmos sejam ótimas para diferentes distribuições de probabilidade, vamos nos concentrar em dados quase justos: estou procurando um algoritmo ou uma família de algoritmos ideal para distribuições como para alguns .i,|pi1/N|<ϵϵ>0


p1=1ϵpi=ϵ/(N1)i>1maxipi1ϵ

@usul Eu não entendo o seu comentário. Existem algoritmos mais eficientes para alguns valores de (por exemplo, se ), mas só estou solicitando algoritmos que não dependem de . Qual é o sentido de ? i , p i = 1 / N ( p i ) ϵpii,pi=1/N(pi)ϵ
Gilles 'SO- stop be evil'

Como você mede a eficiência de um algoritmo que não depende de ? Provavelmente para qualquer algoritmo desse tipo, não há limite superior para o número esperado de chamadas necessárias, tomando meu exemplo de dado tendencioso com . É isso que quero dizer com "o supremo do ideal ... provavelmente não tem limites". Portanto, se todos os algoritmos podem exigir arbitrariamente muitas rolagens de dados em expectativa, como decidimos qual é o melhor? ϵ 0(pi)ϵ0
usul

@usul Não há limite superior no número de lances, é claro, mas estou perguntando sobre o valor esperado (ou seja, o número médio de lances). Para uma determinada distribuição , o valor esperado para o algoritmo que cria uma moeda justa e o usa para a amostragem por rejeição é finito, não é? É verdade que a expectativa depende da distribuição; portanto, diferentes (famílias de) algoritmos podem ser ótimos para diferentes distribuições. Se for esse o caso, digamos que eu esteja interessado em dados quase justos. (pi)
Gilles 'SO- stop being evil'

Não é exatamente exatamente a pergunta, mas você gostaria de procurar apenas um resultado que seja quase uniforme (em / distância total da variação)? Nesse caso, dependendo da garantia que você solicita da distribuição original, isso é estudado em um artigo recente (em envio), sob o nome "melhorador de amostragem para uniformidade" - que mostra em particular que você pode obter números de empates independentemente de para melhorar de distance para distance . N 1 £ £ '1N1εε
Clement C.

Respostas:


3

O artigo a seguir responde a uma variante próxima dessa questão: A construção eficiente de uma sequência aleatória imparcial, Elias 1972 .

A pergunta parece ser a seguinte: Dado acesso a essa fonte independente enviesada, imprima uma sequência de números aleatórios em (observe a diferença da sua pergunta na qual apenas um símbolo de saída é solicitado). À medida que o comprimento da saída desejada chega ao infinito, a "eficiência" do esquema no artigo (que parece uma generalização natural de von Neumann) passa para , significando, acredito, que uma entrada com entropia é convertida em uma saída de entropia se aproximando .1 h h[1,N]1hh

A pergunta parece muito melhor comportada quando formulada dessa maneira, em vez de solicitar um único dígito de saída, porque, por exemplo, se extrairmos amostras e acabarmos com uma saída com muita informação (por exemplo, todos os símbolos de entrada são distintos) , podemos usar todas essas informações para produzir muitos símbolos de saída, enquanto que com a pergunta aqui formulada, qualquer informação além daquela usada para produzir um símbolo de saída é desperdiçada.NNN

Eu acredito que o esquema pega repetidamente draws, olha a sequência e mapeia algumas saídas ou a string vazia. Talvez exista uma maneira de melhorar o esquema da sua pergunta observando prefixos e parando se tivermos informações "suficientes" para gerar um símbolo? Eu não sei.N


Eu não procurou trabalho posterior ou trabalhar citando o papel, então eu não sei, mas talvez alguém tenha melhorado o esquema, ofereceu outra, respondi a sua pergunta, etc.
usul

2

O método que você descreve para generaliza. Usamos que todas as permutações de são igualmente prováveis, mesmo com um dado inclinado (uma vez que os rolos são independentes). Portanto, podemos continuar rolando até vermos uma permutação como os últimos rolos e produzir o último rolo.[ 1 .. N ] NN=2[1..N]N

Uma análise geral é complicada; é claro, no entanto, que o número esperado de rolagens cresce rapidamente em uma vez que a probabilidade de ver uma permutação em uma determinada etapa é pequena (e não é independente das etapas anteriores e posteriores, portanto complicadas). Ele é maior que para fixo , no entanto, portanto, o procedimento termina quase com certeza (ou seja, com probabilidade ).0 N 1N0N1

Para fixo , podemos construir uma cadeia de Markov sobre o conjunto de vetores Parikh que somam , resumindo os resultados dos últimos rolos e determinar o número esperado de etapas até alcançarmos pela primeira vez . Isso é suficiente, pois todas as permutações que compartilham um vetor Parikh são igualmente prováveis; as cadeias e cálculos são mais simples dessa maneira.N N ( 1 , , 1 )NNN(1,,1)

Assuma que estão em estado com . Então, a probabilidade de obter um elemento (ou seja, o próximo lançamento é ) é sempre dada porn i = 1 v iNv=(v1,,vN)i=1nviNiii

Pr[gain i]=pi .

Por outro lado, a propabilidade de retirar um elemento da história é dada pori

Prv[drop i]=viN

sempre que (e caso contrário) precisamente porque todas as permutações com o vetor Parikh são igualmente prováveis. Essas probabilidades são independentes (já que os rolos são independentes), para que possamos calcular as probabilidades de transição da seguinte maneira:0 vi=1nvi=N0v

Pr[v(v1,,vj+1,,vN)]={Pr[gain j],v<N0, else,Pr[v(v1,,vi1,vj+1,,vN)]={0,v<Nvi=0vj=NPrv[drop i]Pr[gain j], else andPr[vv]={0,v<Nvi0Prv[drop i]Pr[gain i], else;

todas as outras probabilidades de transição são zero. O único estado absorvente é , o vetor Parikh de todas as permutações de .[ 1 .. N ](1,,1)[1..N]

Para a cadeia de Markov resultante¹ éN=2

Cadeia de Markov para N = 2
[ fonte ]

com o número esperado de etapas até a absorção

Esteps=2p0p12+i3(p0i1p1+p1i1p0)i=1p0+p02p0p02,

usando para simplificação que . Se agora, como sugerido, por alguns , entãop1=1p0p0=12±ϵϵ[0,12)

Esteps=3+4ϵ214ϵ2 .

Para e distribuições uniformes (o melhor caso), realizei os cálculos com álgebra computacional²; como o espaço de estados explode rapidamente, é difícil avaliar valores maiores. Os resultados (arredondados para cima) sãoN6

NormalPlot LogPlot
Os gráficos mostram como uma função de ; à esquerda um gráfico regular e à direita um gráfico logarítmico.EstepsN

O crescimento parece ser exponencial, mas os valores são muito pequenos para fornecer boas estimativas.

Quanto à estabilidade contra perturbações do , podemos observar a situação para :piN=3

Número esperado de etapas para N = 3 e opções diferentes
O gráfico mostra como uma função de e ; naturalmente, .Estepsp0p1p2=1p0p1

Supondo imagens semelhantes para maior (o kernel trava computando resultados simbólicos mesmo para ), o número esperado de etapas parece ser bastante estável para todas as escolhas, exceto as mais extremas (quase todas ou nenhuma massa em algum ).NN=4pi

Para comparação, a simulação de uma moeda com polarização (por exemplo, atribuindo os resultados do dado a e mais uniforme possível), usando-a para simular uma moeda justa e, finalmente, realizando amostragem por rejeição bit a bit, requer no máximoϵ01

2logN3+4ϵ214ϵ2

rolos de morrer na expectativa - você provavelmente deve ficar com isso.


  1. Como a corrente está absorvendo as arestas com a indicação cinza nunca são atravessadas e não influenciam os cálculos. Eu os incluo apenas para fins completos e ilustrativos.(11)
  2. Implementação no Mathematica 10 ( Notebook , Bare Source ); desculpe, é o que eu sei sobre esses tipos de problemas.

1

Apenas um comentário rápido sobre o caso . Pegue um número grande e experimente jogadas do dado. Se você tiver cabeças, poderá extrair bits. Supondo que o dado é inclinado, a quantidade média de informação é Para obter essa estimativa, use o fato de que a variável binomial está concentrada em torno de juntamente com a estimativa . À medida que aumenta, obtemos a taxa ideal deN=2mmk pmlog(mk)p

k=0mpk(1p)mk(mk)log(mk)mh(p).
k=pmlog(mk)mh(k/m)mh(p) por lançamento de moeda (isso é ideal por razões teóricas da informação, por exemplo, a propriedade de equipartição assintótica).

Você pode usar o mesmo método para geral e provavelmente obterá o mesmo . Esses algoritmos são ótimos apenas no limite e pode haver algoritmos que atingem o limite mais rapidamente que estes. Na verdade, eu esqueci de calcular a velocidade da convergência - pode ser um exercício interessante.H ( p )NH(p)


1

Eu arriscaria a seguinte resposta.

O caso específico de 2 que você mencionou acima é o caso específico de expansão (onde é prob de cabeça e prob de cauda), que fornece um termo Isso significa que você pode obter para um caso e para o outro caso. Você precisará repetir a amostragem até ver ou (cabeça-cauda ou cauda-cabeça). Usando-as como simulação, você dará a mesma probabilidade. p q(p+q)2pq2pqpqqppqqp

Quando você tem a expansão que fornece o termo . Nesse caso, você faz a mesma coisa, amostrando até ver todos os três resultados , , em alguma ordem em três tentativas consecutivas.( pN=3(p+q+r)3pqrqpr

O mesmo se aplica ao caso geral. Pensando com cuidado, devo dizer que o caso 2 é o melhor caso em que se pode resolver as coisas na expansão. Quando existem 6 sequências diferentes para e existem muitos outros termos na expansão. Eu me sentiria bastante desconfortável com outros termos em que existem muitos outros resultados.N=3pqr

.

Extra:

Isso me faz pensar na idéia de simplesmente amostrar muito para estimar a probabilidade de cada resultado dos dados. Neste caso mais simples de um modelo de camada sem camada oculta (um modelo conhecido), podemos elaborar um limite para concluir que a estimativa converge rapidamente. De fato, o limite de Chernoff nos mostra que o erro diminui exponencialmente à medida que a amostragem aumenta (linearmente).

Agora que uma boa estimativa das probabilidades para cada lado dos dados é conhecida, há muitas opções. Uma opção é que podemos fazer a expansão acima novamente, mas desta vez podemos usar muitos outros termos na expansão que tenham o mesmo valor que (ou qualquer termo que você usa como sequência baseada). Isso será um pouco mais eficiente, porque mais termos na expansão serão usados. Mas admito que não sei se isso resultará no menor número de chamadas ao oráculo para garantir quaisquer condições prévias (como o parâmetro de confiança), se forem fornecidas.i=1i=npi

No entanto, essa abordagem é uma resposta para diferentes sabores da pergunta. A questão pede garantia de imparcialidade perfeita e garantida, ao custo de amostragens potencialmente grandes (embora com baixa probabilidade). Essa abordagem usa apenas amostragem finita com parâmetro ligado à confiança. Portanto, não acho que essa abordagem seja apropriada para essa pergunta, embora seja muito interessante.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.