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 .
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 .
Para (simule uma moeda justa a partir de lançamentos de moedas com uma moeda tendenciosa), existe um algoritmo bem conhecido:
- 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é
- 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.
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 .