Algoritmo do avestruz

Origem: Wikipédia, a enciclopédia livre.

Em ciência da computação, o algoritmo do avestruz é uma estratégia de ignorar problemas potenciais com base no fato de que eles podem ser extremamente raros — "enfie a cabeça na areia e finja que não há nenhum problema". Isso pressupõe que é mais rentável permitir que o problema ocorra do que tentar a sua prevenção.

Esta abordagem pode ser usada no tratamento de impasses (deadlocks) em programação concorrente se os impasses são considerados muito raros, e se o custo de detecção ou prevenção é alto.

É um dos métodos de lidar com os impasses. Outros métodos são: evasão (algoritmo do banqueiro), a prevenção, detecção e recuperação.

Alguns algoritmos com pobre desempenho para o pior caso são comumente usados porque eles só apresentam fraco desempenho em casos artificiais que não ocorrem na prática; exemplos típicos são o algoritmo simplex e o algoritmo de verificação de tipos da linguagem de programação Standard ML. Questões como estouro de inteiros em linguagens de programação com inteiros de largura fixa também são frequentemente ignorados porque ocorrem apenas em casos excepcionais que não aparecem para entradas comuns, na prática.

Ligações externas[editar | editar código-fonte]