Algoritmo nada mais é do que uma receita, um passo a passo dos procedimentos que levam até a resolução de uma tarefa.
Pra sair para trabalhar de manhã, por exemplo, você precisa:
1. Acordar
2. Tomar banho
3. Tomar café
4. Tirar o carro da gargem
5. Sair para o trabalho
Algoritmos são a base do processo de desenvolvimento de software e fazem parte das ferramentas pelas quais programadores criam estratégias para fracionar problemas em etapas e processos que podem ser traduzidos computacionalmente. Na tecnologia, há exemplos de todos os níveis de complexidade.
No geral, todo software é uma interpretação computacional de um algoritmo.
Um algoritmo conhecido (e criticado :)) é o do Instagram. Quando foi fundado, o Instagram seguia a mesma lógica cronológica do Twitter, exibindo todas as postagens por ordem, das mais novas às mais antigas.
Essa estrutura foi alterada em 2016 e, atualmente, a rede social considera os seguintes fatores para escalar como serão os feeds dos usuários:
- temporalidade: ainda que não seja o único critério, a ordem de postagem ainda é considerada na definição do feed;
- engajamento: o número de comentários e curtidas determina se um post será priorizado ou não na rede, em especial, considerando esse engajamento logo após a postagem;
- relacionamento: considera a proximidade dos usuários por meio de engajamento, mensagens diretas etc.
Diante disso, verifica-se que os algoritmos usados tendem a ficar mais complexos, incluindo novas variáveis, com o objetivo de torná-los mais certeiros.