Esta pergunta é inspirada na camiseta do Georgia Tech Algorithms and Randomness Center , que pergunta "Randomize or not ?!"
Existem muitos exemplos em que a randomização ajuda, especialmente quando operando em ambientes adversos. Existem também algumas configurações em que a randomização não ajuda ou prejudica. Minha pergunta é:
Quais são algumas configurações quando a randomização (de alguma maneira aparentemente razoável) realmente dói?
Sinta-se à vontade para definir "configurações" e "prejuízos" de maneira geral, seja em termos de complexidade do problema, garantias comprováveis, taxas de aproximação ou tempo de execução (espero que o tempo de execução seja o local onde as respostas mais óbvias estarão). Quanto mais interessante o exemplo, melhor!
fonte
Respostas:
Aqui está um exemplo simples da teoria dos jogos. Nos jogos em que existem equilíbrios de Nash puros e mistos, os mistos são frequentemente muito menos naturais e muito "piores".
A mensagem principal: a randomização pode prejudicar a coordenação.
fonte
Aqui está um exemplo simples do campo de algoritmos distribuídos.
Normalmente, a aleatoriedade ajuda tremendamente. Os algoritmos distribuídos aleatoriamente costumam ser mais fáceis de projetar e mais rápidos.
No entanto, se você tiver um algoritmo distribuído determinístico rápido , poderá convertê-lo mecanicamente [ 1 , 2 ] em um algoritmo auto-estabilizador rápido . Em essência, você obterá uma versão muito forte da tolerância a falhas de graça (pelo menos se o recurso de gargalo for o número de rodadas de comunicação). Você pode simplificar o design do algoritmo concentrando-se em redes estáticas síncronas isentas de falhas, e a conversão fornecerá um algoritmo tolerante a falhas que pode lidar com redes dinâmicas assíncronas.
Nenhuma conversão é conhecida para algoritmos distribuídos aleatoriamente em geral.
fonte
Deixe-me primeiro trazer uma questão sobre aleatoriedade:
Esta é uma questão filosófica que é controversa e não está relacionada ao contexto aqui. No entanto, usei-o como palavra de advertência, pois a resposta futura será controversa se alguém se aprofundar demais na pergunta acima.
O teorema de Shannon-Hartley descreve a capacidade de um canal de comunicação na presença de ruído. O ruído muda de 0s para 1s e vice-versa, com alguma probabilidade pré-especificada.
Se o canal se comportasse de maneira determinística - isto é, se pudéssemos modelar o ruído de maneira que pudéssemos determinar quais bits mudariam - A capacidade do canal seria infinitamente grande. Muito desejável!
Eu gosto de analogizar a aleatoriedade com o atrito: é resistir ao movimento, mas o movimento é impossível sem ele.
fonte