Qual é a aparência de um algoritmo?

Wie sieht ein Algorithmus aus?
⏱️ 5 min read

Sabemos que Facebook, Google e Amazon têm algoritmos que nos fornecem atualizações, resultados de pesquisa e recomendações de produtos, mas o que isso realmente significa? O que se qualifica como um algoritmo? Você pode escrever um? Como seria se você fizesse? Já que eles controlam muitas partes de nossa vida diária, é importante ter uma noção básica do que exatamente está acontecendo por baixo do capô – e realmente não é tão intimidante quanto parece.

Definição informal: algoritmos são apenas receitas

Basicamente, um algoritmo é simplesmente um conjunto de etapas bem definidas que você pode seguir, geralmente pegando algumas entradas e produzindo um conjunto diferente de saídas. Uma receita de cupcake pode ser um algoritmo. Assim como as direções para a casa de um amigo, tocar uma partitura ou o processo de procurar uma palavra em um dicionário. Raymond Queneau até imprimiu um livro de dez sonetos com versos que podem ser misturados e combinados perfeitamente para criar 100 milhões de poemas originais. A maneira como esses algoritmos são implementados varia muito, mas você não precisa estar familiarizado com nenhuma linguagem de programação para entender a lógica básica por trás deles. Por exemplo, o seguinte é um algoritmo para fornecer instruções simples de caminhada.

  1. Depois de sair de sua porta, vire à direita.
  2. Desça a rua até chegar à Market Street
  3. Quando você chegar a Market Street, vire à direita.
  4. Siga em frente até ver um prédio de tijolos.
  5. Entre pela porta da frente.

Esse é um algoritmo muito simples que usa muitas entradas que os humanos podem processar facilmente; já sabemos sobre andar, ruas, materiais, entrar e todas essas outras coisas. Se estivéssemos criando um algoritmo direcional para um robô, ele teria que ser muito mais longo e específico, o que faz com que muitos algoritmos pareçam tão confusos para os humanos.

Mais formalmente: algoritmos são fórmulas claras e inequívocas

algoritmos-quicksort

Um algoritmo que você provavelmente usa todos os dias é o algoritmo PageRank do Google, que analisa centenas de fatores sobre uma página da web, os executa por meio de sua fórmula e atribui uma pontuação a ela. Os resultados da pesquisa que você vê em resposta ao seu termo de pesquisa são um resultado direto dessa pontuação. Funciona tão bem porque segue um conjunto de regras claramente definido que diz o que procurar, o que ignorar e o que fazer com as informações que encontra.

Para visualizar um processo de pesquisa muito simples, aqui está um algoritmo de pesquisa linear procurando o número 3 em uma lista de números.

lista = [1, 3, 5]

  1. Verifique cada item da lista.
  2. Assim que um dos itens for igual a três, retorne sua posição.
  3. Se três não estiver na lista, retorne “Três não está na lista!”

Seguindo essas etapas, o computador examinará o primeiro número, que é um. Visto que não é igual a três, ele segue em frente e verifica o próximo número. Como esse número é três, ele retorna algo como “O número três é o segundo item da lista”.

No código Python, um algoritmo de classificação linear seria semelhante à imagem a seguir.

algoritmos de pesquisa linear

algoritmos de saída linear

Tudo o que o código está fazendo é pegar uma lista de números, olhar para cada elemento na lista e verificar se ele corresponde ao termo de pesquisa. Se nada acontecer, ele apenas retornará “Falso”. Este é um algoritmo extremamente simples, mas seja uma linha de código ou um milhão, todo algoritmo existente opera no mesmo princípio básico: obter informações, processá-las de acordo com alguma lógica predefinida e obter resultados.

Algoritmos do dia a dia

A maioria dos algoritmos que realmente executam nossas vidas diárias não são de código aberto. Não sabemos exatamente como o Google determina quais resultados de pesquisa mostrar ou como o Facebook reúne seu feed de notícias, mas ainda podemos ver os resultados desses cálculos. No entanto, eles são importantes e temos uma boa ideia da lógica básica por trás deles.

algoritmos-pagerank

  • Google PageRank funciona observando o número e a qualidade dos links que conduzem de e para uma página da web, embora haja um grande número de critérios secretos que são constantemente atualizados para melhorar os resultados e impedir que alguém engane o sistema.
  • Feed de notícias do Facebook mede a força de seu relacionamento com pessoas e grupos com base em sua atividade e usa esses e alguns outros fatores para gerar seu feed de notícias.
  • Amazon e Netflix use algoritmos de recomendação que examinam os dados do usuário, descobrem coisas que cada usuário pode desejar e mostram essas coisas ao usuário.
  • Sistema ORION da UPS é um enorme (1000+ páginas!) Algoritmo, mas pode calcular a rota mais eficiente para qualquer entrega ao mesmo tempo que leva em consideração todos os tipos de dados em tempo real e parâmetros operacionais, como janelas de entrega solicitadas.
  • Aplicativos de inteligência artificial como carros autônomos, reconhecimento facial, processamento de linguagem natural, análise preditiva e muitos outros contam com algoritmos que podem receber dados visuais, de áudio ou digitais, descobrir o que está acontecendo e retornar os resultados apropriados.
  • Publicidade algoritmos estão por toda parte. Embora sejam os humanos que criam os anúncios que você vê, é um algoritmo que decide se você é o público certo.

Tudo é um algoritmo

Depois de saber a aparência de um algoritmo, você não consegue parar de notá-los. Eles não estão apenas em nossa tecnologia, afinal, eles estão em nossos cérebros. Tudo o que fazemos é o resultado de receber entradas, processá-las e produzir saídas. A maioria desses processos é armazenada em uma caixa preta em constante reorganização, mas eles estão lá, nos bastidores, nos ajudando a caminhar, compreender a linguagem e tomar decisões sobre as coisas. Os humanos estão equipados para entender algoritmos em um nível instintivo, então, mesmo que os algoritmos de computador sejam escritos em matemática e código indecifráveis, eles podem ser traduzidos em termos que entendamos.

Crédito da imagem: Imagem do conjunto Mandelbrot, Sites interligados para ilustrar o PageRank, CTP TheoryOfComputation Linear Search, Barras de cores do algoritmo de classificação de shell

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

Você pode gostar...