O que é um algoritmo?

Uma receita de bolo sofisticada

Eliéser de Freitas Ribeiro
4 min readJan 7, 2023

Por Eliéser Ribeiro Sociólogo de dados

O que um algoritmo tem a ver com uma receita de bolo? Os algoritmos estão cada vez mais presentes em nosso cotidiano e são usados ​​em muitas aplicações tecnológicas para tornar os processos mais rápidos, eficientes e personalizados. Muitas redes sociais, como o Facebook e o Instagram, usam algoritmos para mostrar as publicações mais relevantes no topo do seu feed. Os algoritmos estão cada vez mais presentes em nosso dia-a-dia e estão mudando a forma como interagimos com as pessoas e as máquinas.

Photo by Slashio Photography on Unsplash

Você já deve ter ouvido as seguintes frases por aí…

“O meu feed do Instagram está usando um algoritmo para me mostrar as publicações mais relevantes em primeiro lugar.”

“O Netflix usa um algoritmo para me recomendar filmes e séries de TV com base em minhas preferências.”

Mas você já se perguntou o que é um algoritmo?

Explicando de forma técnica: um algoritmo é um conjunto limitado de passos bem definidos que, quando seguidos, resolvem um problema ou realizam uma tarefa. Eles são usados ​​em muitas áreas da ciência da computação para realizar tarefas de forma automatizada e eficiente.

Os algoritmos são escritos em linguagens de programação de alto nível, como Python ou C++, e são então traduzidos para linguagem de máquina, que é compreendida pelo computador.

Um algoritmo deve ser preciso, completo e finito. Isso significa que deve fornecer instruções claras e completas para resolver o problema ou realizar a tarefa, e deve ter um número finito de passos. Além disso, um algoritmo deve ser eficiente, ou seja, deve realizar a tarefa o mais rapidamente possível e com o menor uso possível de recursos, como tempo de processamento e memória.

Explicando de forma mais simples

Um algoritmo é como um conjunto de instruções para fazer alguma coisa. Por exemplo, digamos que você queira fazer um bolo. Um algoritmo para fazer um bolo poderia ser assim:

Pegue um recipiente grande e misture 1 xícara de açúcar, 1 xícara de farinha de trigo e 1 ovo.

Adicione 2 colheres de sopa de óleo e misture bem.

Adicione 1 colher de sopa de fermento em pó e misture novamente.

Despeje a massa em uma forma untada e enfarinhada.

Leve ao forno pré-aquecido a 180 graus Celsius por cerca de 30 minutos ou até que o bolo esteja assado.

Retire o bolo do forno e deixe esfriar antes de servir.

Esse conjunto de instruções é um algoritmo para fazer um bolo. Você pode seguir essas instruções para fazer um bolo, assim como um computador pode seguir um algoritmo escrito por um programador para realizar uma tarefa.

Construindo um algoritmo

Vamos desenvolver o exemplo de dois algoritmos interessantes e que estão muito presentes no nosso cotidiano. Vamos mostrar de forma muito básica como funciona um algoritmo para a nossa escolha de música e uma escolha de filme.

Photo by C D-X on Unsplash

Aqui está um exemplo de algoritmo que poderia ser usado para recomendar músicas baseado nas preferências de um usuário:

def recomenda_musica(gostos_do_usuario, musicas_disponiveis):
musicas_recomendadas = []
para cada musica em musicas_disponiveis:
se musica atende aos gostos_do_usuario:
adiciona musica à musicas_recomendadas
retorna musicas_recomendadas

Este algoritmo aceita uma lista de gostos do usuário e uma lista de músicas disponíveis como entrada e retorna uma lista de músicas recomendadas para o usuário. Por exemplo, se você chamar a função recomenda_musica([“pop”, “rock”], [“Popstar”, “Thunderstruck”, “Sweet Child O’ Mine”]), ela retornará a lista [“Popstar”, “Thunderstruck”].

Photo by GR Stocks on Unsplash

Aqui está um exemplo de algoritmo que poderia ser usado para recomendar filmes baseado nas preferências de um usuário:

def recomenda_filme(gostos_do_usuario, filmes_disponiveis):
filmes_recomendados = []
para cada filme em filmes_disponiveis:
se filme atende aos gostos_do_usuario:
adiciona filme à filmes_recomendados
retorna filmes_recomendados

Este algoritmo que recomenda filmes funciona de maneira semelhante ao algoritmo de recomendação de músicas. Ele aceita uma lista de gostos do usuário e uma lista de filmes disponíveis como entrada e retorna uma lista de filmes recomendados para o usuário. Por exemplo, se você chamar a função recomenda_filme([“ação”, “comédia”], [“Velozes e Furiosos”, “Minions”, “Avengers”]), ela retornará a lista [“Velozes e Furiosos”, “Minions”, “Avengers”].

Os algoritmos que mostrados estão escritos em pseudocódigo, ou seja, uma linguagem de programação que é usada para explicar lógicas de programação de forma clara e fácil de entender, independentemente da linguagem de programação específica. O pseudocódigo é comumente usado para explicar algoritmos em documentação técnica e material de treinamento, pois ele é compreensível para pessoas que não têm conhecimento profundo em programação. No entanto, os algoritmos podem ser escritos em muitas linguagens de programação diferentes, como Python, C++, Java, etc.

Fechando o bate papo

O mundo dos algoritmos é fascinante porque eles são capazes de realizar uma ampla variedade de tarefas e resolver problemas de maneira precisa e rápida. Eles são amplamente utilizados em muitas áreas, como ciência da computação, negócios, finanças, saúde, ciência, engenharia e muito mais. Algoritmos são usados ​​para realizar tarefas simples, como somar dois números, e tarefas complexas, como prever resultados futuros com base em dados passados ​​ou encontrar padrões em grandes conjuntos de dados. Além disso, os algoritmos estão cada vez mais presentes em nosso cotidiano e estão mudando a forma como interagimos com a tecnologia e entre nós mesmos.

Contato LinkedIn

--

--

Eliéser de Freitas Ribeiro

Sou sociólogo de dados, mestre em Sociologia, especialista em IA, especialista em pesquisa e análise de dados. Trabalho com Python, R, SQL, Power BI, Tableau.