Heurística
De modo geral, uma heurística é uma "regra prática" ou uma boa orientação a seguir ao tomar decisões. Na ciência da computação, heurística tem um significado semelhante, mas se refere especificamente a algoritmos.
Ao programar software, os programadores buscam criar os algoritmos mais eficientes para realizar diversas tarefas. Elas podem incluir processos simples, como ordenar números, ou funções complexas, como processar imagens ou clipes de vídeo. Como essas funções geralmente aceitam uma ampla variedade de entradas, um algoritmo pode ter um bom desempenho em determinados casos, mas não tão bom em outros.
Por exemplo, o algoritmo de compressão de imagens GIF tem um bom desempenho em imagens pequenas com poucas cores, mas não é tão eficiente quanto a compressão JPEG em imagens grandes com muitas cores. Se você soubesse que lidaria apenas com imagens pequenas que não tivessem uma ampla variedade de cores, a compressão GIF seria tudo de que precisaria. Você não teria que se preocupar com imagens grandes e coloridas, portanto não haveria motivo para otimizar o algoritmo para essas imagens. Da mesma forma, os programadores costumam usar algoritmos que funcionam bem na maioria das situações, mesmo que possam ter um desempenho ineficiente em situações incomuns.
Portanto, um processo heurístico pode incluir a realização de testes e a obtenção de resultados por tentativa e erro. À medida que mais dados de exemplo são testados, fica mais fácil criar um algoritmo eficiente para processar tipos semelhantes de dados. Como mencionado anteriormente, esses algoritmos nem sempre são perfeitos, mas funcionam bem na maior parte do tempo. O objetivo das heurísticas é desenvolver um processo simples que gere resultados precisos em um período aceitável.
Teste seus conhecimentos