Algoritmo, o que é isso?

Érick Barbosa
Data Hackers
Published in
6 min readMar 3, 2021

Se você não tem noção do que seja, este texto foi feito pra você

Adaptado de Adobe Stcok/Rawpixel

Se você usa regularmente a internet, é muito provável que já tenha ouvido algum comentário a respeito de algoritmos populares como os utilizados pelo Instagram, Google ou Facebook. Estes e outros serviços cujo algoritmos estão em sua essência, foram incorporados aos hábitos de milhões, até mesmo bilhões, de usuários ao redor do mundo e por isso se tornaram fundamentais em atividades comuns na web.

Quando lemos ou ouvimos falar qualquer assunto relacionado a um animal conhecido, ao fecharmos os olhos, nós conseguimos visualizá-lo mentalmente. Para algumas pessoas um verdadeiro filme acontece neste processo de imaginação. E no caso de algoritmos, qual imagem viria em sua mente?

Neste texto você terá uma explicação não técnica que te ajudará a adquirir a noção inicial necessária do que seria um algoritmo no contexto da computação. É bem provável que ao final você conseguirá facilmente imaginar um algoritmo quando ouvir falar de um. Se isso não acontecer, por favor, deixe suas dúvidas nos comentários ou me procure no Instagram (@erickbsouza). Combinado?

Conceito básico

Um algoritmo pode ser definido como um procedimento que leva em consideração dados de entrada(inputs) e produz dados de saída(outputs). Logo, algoritmo é uma sequência de passos computacionais que transformam inputs em outputs.

Figura 1 -Fluxo básico de um algoritmo

A definição acima é a tradução livre de um parágrafo presente no livro Introdução a Algoritmos, 3ª edição de Thomas H. Cormen versão em inglês.

A sequência de passos que descreve um algoritmo deve ser rigorosamente específica, sem margem para ambiguidades ou interpretações. Isso ficará mais claro no exemplo que veremos a seguir.

Suponha que você seja um desenvolvedor de software e alguém lhe peça exatamente o seguinte: “Poderia escrever um algoritmo que ordene um conjunto numérico?”. A princípio, baseado no que foi dito, você pensaria em construir um algoritmo capaz de transformar um conjunto numérico qualquer(input) num conjunto numérico ordenado(output). Seguindo desta forma você certamente desenvolveria o que foi pedido, mas qual a chance do que foi desenvolvido atender exatamente o que era necessário?

Eu diria 50%, sabe por quê? Não foi informado se a ordenação era crescente ou decrescente, e isso faz toda diferença! Pois um algoritmo transforma cada dado de entrada, num único dado de saída. Este exemplo ilustra bem a necessidade da descrição precisa do algoritmo, sem margem para ambiguidades ou interpretações.

Figura 2-Algoritmo de ordenação. Crescente ou decrescente?

Está começando a ficar mais claro o que é um algoritmo? Espero que sim :)

Exemplos de serviços na Internet

Vamos agora ver como podemos “visualizar” alguns serviços da web como algoritmos. Veremos versões simplificadas em relação ao real funcionamento, que é bastante complexo e foge muito ao escopo deste texto.

Aqui você terá um entendimento maior do que significa expressões como: “Nossa, o algoritmo de busca do Google melhorou bastante nos últimos anos” ou “Mudaram o algoritmo do Instagram, temos que rever nossa estratégia de marketing!”.

Algoritmo de busca do Google

Figura 3-Tela inicial do Google

Ao digitar o termo de pesquisa na página inicial e pressionar a tecla Enter, você envia o dado de entrada para o algoritmo de busca do Google. Este por sua vez segue uma sequência de passos e o que vemos na tela seguinte é o resultado da busca, ou seja, os dados de saída.

Figura 4-Algoritmo simplificado do buscador do Google

Visualizando o buscador de acordo com a Figura 4, toda vez que alguém disser “Nossa, o algoritmo de busca do Google melhorou bastante nos últimos anos”, podemos entender que a expressão significa que os resultados da busca estão ainda mais relacionados ao que foi digitado na tela inicial.

O buscador do Google é um produto em evolução há mais de 20 anos. Milhares de engenheiros e pesquisadores trabalham no desenvolvimento e manutenção deste algoritmo. Se tiver interesse em entender de forma mais abrangente como ele funciona, dê uma olhada neste material que está disponível na página da própria empresa.

A busca do Google faz uso de um algoritmo muito mencionado no universo de marketing digital: a determinação da relevância de páginas na web. Os profissionais de marketing se esforçam bastante para entender como ele funciona para que suas páginas sejam as primeiras opções do resultado da busca.

Postagem do Instagram

Figura 5 -Logo do Instagram

Usuários mais engajados no Instagram, entendem que conhecer o algoritmo responsável por determinar a relevância de suas postagens é um conhecimento essencial para aumentar o número de seguidores.

Se definirmos relevância de uma postagem como a probabilidade de alguém se interessar por ela, o elemento ‘segmentação de conteúdo’ faz com que a relevância seja um valor relativo e não absoluto. Por exemplo, uma postagem sobre bebês provavelmente será mais relevante para aqueles que interagem com conteúdo deste contexto do que para aquele usuário que usa a rede diariamente para interagir exclusivamente com conteúdos relacionados à tecnologia.

Mas aqui, para efeito de simplificação, vamos considerar que não existe segmentação de conteúdo e que são 4 fatores que determinam a relevância de uma postagem: quantidade de curtidas, comentários, compartilhamentos e o tempo médio de visualização de outros usuários naquela postagem.

Figura 6 -Algoritmo simplificado da relevância de uma postagem no Instagram

De acordo com a experiência de uso ou de forma intuitiva, podemos afirmar seguramente que quanto maiores são os valores de cada uma destas variáveis, maior será a relevância da postagem. O que não sabemos é a matemática por trás deste algoritmo, a definição precisa desta sequência de passos, pois a explicação exata não é uma informação pública.

Caso você tenha interesse em entender como o algoritmo realmente funciona para traçar estratégias no Instagram, recomendo a leitura de textos específicos para esta finalidade. Você pode conferir alguns sites que utilizei como base para escrever esta seção, estão no final deste texto. Além das postagens no feed, o Instagram também possui algoritmos para determinar a relevância dos stories, conteúdo do IGTV e a aba explore.

Conclusão

Diferente da ordenação, os algoritmos de busca do Google e da determinação da relevância de uma postagem no Instagram usam as mais avançadas técnicas de programação, isso justifica os milhares de desenvolvedores que trabalham em cada uma destas empresas.

Espero ter te ajudado a despertar a habilidade de criar uma imagem para visualizar algoritmos. É uma habilidade importante para quem tem a curiosidade de entender como eles funcionam, mas de fundamental importância para aqueles que trabalham profissionalmente com eles, sejam desenvolvedores ou profissionais de marketing digital.

Se você tem interesse em entender de forma mais profunda o que são algoritmos, confira o meu curso que está disponível na Udemy: Guia prático de Lógica de Programação e Algoritmos. Um curso totalmente prático, utilizando a linguagem Python e com aulas voltadas ao ambiente da programação. Que tal conferir a dica neste link?

Obrigado pela sua atenção! Dúvidas, sugestões ou críticas, por favor deixe um comentário ou me procure no Instagram(@erickbsouza)

--

--