As heurísticas não são novidade, desempenham um papel importante na nossa vida diária, tanto na resolução de problemas como na tomada de decisões. Como actualmente, o mundo está cheio de informação, e os nossos cérebros só são capazes de processar uma certa quantidade dela, a heurística ajuda-nos muito neste sentido. Porque se tentarmos analisar cada aspecto de cada situação ou decisão, nunca conseguiremos fazer nada. Tomamos milhares de decisões todos os dias e a maioria delas não pensamos realmente, “sabemos” como nos comportar em certas situações com base na nossa experiência e é sobre isso que a heurística se trata. Quando estamos a tentar resolver um problema ou tomar uma decisão, recorremos frequentemente a estes atalhos mentais quando precisamos de uma solução rápida.
Então, o que é a programação heurística?
As heurísticas são atalhos mentais que nos ajudam a tomar decisões e julgamentos rapidamente sem termos de gastar muito tempo a pesquisar e a analisar informação. Geralmente envolvem focar um aspecto de um problema complexo e ignorar outros. Funcionam bem na maioria das circunstâncias, mas podem conduzir a desvios sistemáticos da lógica, probabilidade ou escolha racional. Exemplos que empregam a heurística incluem a utilização de uma regra de ouro, um palpite, um julgamento intuitivo, um palpite, um estereótipo, um perfil, ou senso comum.
Na ciência da computação, inteligência artificial, e optimização matemática, uma heurística é uma técnica concebida para resolver um problema mais rapidamente quando os métodos clássicos são demasiado lentos, ou para encontrar uma solução aproximada quando os métodos clássicos não conseguem encontrar qualquer solução exacta. Isto é conseguido através da optimização comercial, completude, precisão, ou precisão para a velocidade.
Uma programação heurística emprega um método prático, não garantido para ser óptimo, perfeito, lógico, ou racional, mas sim suficiente para atingir um objectivo imediato. É importante salientar que a Heurística são as estratégias derivadas de experiências anteriores com problemas semelhantes. Estas estratégias dependem da utilização de informação facilmente acessível, embora de aplicação livre, para controlar a resolução de problemas em seres humanos, máquinas, e questões abstractas.
E o objectivo de uma heurística é produzir uma solução num período de tempo razoável que seja suficientemente boa para resolver o problema em questão.
Os critérios de trade-off para decidir se se deve utilizar uma heurística para resolver um dado problema:
- Optimalidade: Quando existem várias soluções para um dado problema, a heurística garante que a melhor solução será encontrada? Será realmente necessário encontrar a melhor solução?
- Completamente: Quando existem várias soluções para um dado problema, poderá o heurístico encontrá-las todas? Será que precisamos realmente de todas as soluções? Muitas heurísticas destinam-se apenas a encontrar uma solução.
- Acuracidade e precisão: Pode a heurística proporcionar um intervalo de confiança para a suposta solução? Será a barra de erro na solução excessivamente grande?
- Tempo de execução: Será esta a heurística mais conhecida para a resolução deste tipo de problema? Algumas heurísticas convergem mais rapidamente do que outras. Algumas heurísticas são apenas marginalmente mais rápidas do que os métodos clássicos.
E agora a questão principal é: porque é que confiamos na heurística?
Os psicólogos têm sugerido algumas teorias diferentes:
- Effort reduction: De acordo com esta teoria, as pessoas utilizam a heurística como um tipo de preguiça cognitiva. A heurística reduz o esforço mental necessário para fazer escolhas e tomar decisões.
- Substituição de atributos: Outras teorias sugerem que as pessoas substituem questões mais simples mas relacionadas em vez de questões mais complexas e difíceis.
li>Rápido e frugal: Outras teorias ainda argumentam que a heurística é na realidade mais exacta do que é tendenciosa. Por outras palavras, usamos a heurística porque são rápidas e normalmente correctas.
Isto contrasta com a programação algorítmica, que é baseada em procedimentos matematicamente prováveis. Mas o que é importante compreender aqui é que a programação heurística é caracterizada por programas que são de auto-aprendizagem; melhoram com a experiência. Os programas heurísticos nem sempre alcançam o melhor resultado, mas normalmente produzem um bom resultado.