Você não tem acesso a esta aula

Continue aprendendo! Junte-se e comece a impulsionar sua carreira

O que é um algoritmo?

30/31
Recursos

Tratados muitas vezes como vilões superpoderosos dotados de uma magia maligna que controla a internet como uma marionete, a verdade é que pouca gente realmente sabe o que é um algoritmo. E se eu te dissesse que eles não são nada mais que lógica? Ou então que datam de bem antes da existência do Marketing Digital?

Quer saber mais? Leia até o final e descubra o que é um algoritmo e como funciona, além de conferir exemplos esclarecedores.

O que é algoritmo?

Algoritmo é um conjunto de regras, operações ou lógicas que levam a um resultado segundo uma série de critérios pré-estabelecidos. Ou seja: algoritmos são instruções que seguem uma lógica própria para atingir determinado objetivo.

Para ilustrar melhor o que é um algoritmo, podemos citar um exemplo bem conhecido: uma batalha Pokemon.

Sim, é isso mesmo! Os algoritmos não estão apenas nas redes sociais ou nos motores de busca, eles também estão por trás da lógica de jogos e de muitas outras tecnologias que usufruímos no nosso dia-a-dia.

Exemplo do que é algoritmo na programação

Vamos imaginar uma batalha Pokemón entre o Pikachu e o Jigglepuff. Nesse exemplo, Pikachu e Jigglypuff estariam representando algo que na programação é chamado de objeto.

Ambos esses objetos têm coisas em comum, como nome, vida e poder de ataque.

Untitled.png

Ambos começam com a vida em 100 e, como sabemos que o Pikachu é mais poderoso, seu ataque será de 55 pontos, enquanto o de Jigglypuff terá um ataque de 45 pontos.

O jogo se dá por turnos, revezando os ataques entre os objetos. E, claro, em cada turno o objeto oponente perde em sua vida o número de pontos de ataque do personagem que tem a vez.

Untitled.png

Mas… Como definimos quem começa? É simples: através de variáveis, ou seja, nomes (caixinhas, símbolos, letras, etc.) que armazenam dados. Para entender melhor é só lembrar das aulas de matemática. Quando tentávamos encontrar o resultado de X, estávamos na verdade procurando o dado de uma variável.

No nosso jogo, vamos criar uma variável de programação para que o algoritmo lembre de quem é a vez.

Untitled.png
Untitled.png

Assim, o jogo se dá por ciclos, variando os turnos, e continua infinitamente com a condição de que ambos os personagens tenham vida maior que 0.

O que é esse ciclo? Nada mais que uma instrução repetitiva que ocorre enquanto uma condição seja verdadeira. (Lembra a definição de algoritmo, não é mesmo? 😉)

Untitled.png

Em determinado momento, após alguns ciclos, o resultado da equação será esse aqui:

Untitled.png

Assim, já que a vida de Jigglypuff está menor do que zero, saímos do ciclo e entramos a parte final de nosso exemplo de algoritmo.

Nosso objetivo agora é mostrar, por meio do algoritmo de programação, quem perdeu a batalha Pokémon.

Untitled.png

Aqui, não precisamos escrever duas equações diferentes. No caso apresentado, podemos perguntar ao código do algoritmo do nosso exemplo apenas se a vida do Pikachu é menor ou igual a zero. Como o fim do ciclo anterior só se dá quando a vida de um dos dois personagens é igual a zero, ao responder que não (que a vida do Pikachu não é menor ou igual a zero), o algoritmo já identifica sozinho que, portanto, ele é o vencedor da partida.

Como os algoritmos funcionam?

No exemplo acima, você já conseguiu entender um pouco como as instruções e a lógica de um algoritmo funciona a partir de ciclos constantes e operações lógicas. Portanto, é hora de se aprofundar mais no funcionamento dos algoritmos.

Para isso, eu recomendo a aula sobre Redes Neurais, que explica sobre a tecnologia associada ao Deep Learning que é considerada o futuro da Inteligência Artificial.

Os algoritmos são os vilões da internet?

Vira e mexe escutamos reclamações sobre os algoritmos de redes sociais ou do próprio Google. Existem até mesmo polêmicas (umas muito bem fundadas, outras nem tanto) acerca do assunto.

Porém, mais importante que entender as polêmicas, é saber como aproveitar as oportunidades causadas pelos algoritmos.

O exemplo que eu vou dar para sustentar o ponto de que os algoritmos não são os vilões da internet é baseado principalmente no livro Product-Led SEO, de Eli Schwartz.

Se você chegou aqui de paraquedas e não sabe do que estou falando, SEO é a sigla de Search Engine Optimization. Ou seja, trata-se da área responsável por assegurar que você tenha encontrado pelo Google esse texto que está lendo agora (espero que sim!).

Antes de mais nada, eu gostaria de reiterar um fato aparentemente óbvio, mas que é deixado de lado em muitas dessas críticas: um algoritmo é feito por humanos, ou por um grupo deles.

A inteligência artificial pode até ter avançado a ponto de serem criadas tecnologias e códigos que aprendem sozinhos através de input de dados (você pode ver mais sobre isso acessando nossa aula sobre Redes Neurais e inteligência artificial), mas a verdade é que em boa parte dos casos ainda há um desenvolvedor (ou um grupo deles) e todo um modelo e estratégia de negócio por trás desses algoritmos.

Para definir se o algoritmo é ou não o vilão da história, você precisa conhecer o seu objetivo.

Vamos voltar para o caso do Google para trazer um exemplo de algoritmo que, por mais que cause um pânico generalizado nos profissionais de SEO, não é um vilão.

O objetivo final do Google é entregar informação de qualidade e uma boa experiência para quem a está buscando. Assim como desenvolvedores fazem atualizações de aplicativos e aplicações para melhorar o produto e a experiência de seus usuários, o Google de quando em quando atualiza seu algoritmo para resolver bugs ou melhorar sua experiência.

Se o Google não atualizasse seu sistema, ele acabaria sendo esquecido e substituído por outro motor de busca. Como sempre falamos aqui na Platzi, não inovar é ficar para trás, certo?

Assim, os updates do Google na verdade são um bom indicativo: quem está fazendo conteúdo de qualidade com certeza terá maiores chances no jogo das buscas.

É claro que esses updates também podem dar errado e causar algum problema, mas essa não é a regra e quando isso acontece o Google é rápido em resolver a situação.

Como levar a melhor dos algoritmos então?

Trabalhar com Marketing Digital hoje em dia pode parecer para muitos uma luta constante contra algoritmos, mas a verdade é que não deveria ser assim. Baseado em tudo o que abordamos neste conteúdo, aqui vão algumas dicas para não ficar a mercê dos algoritmos.

  1. Entenda seu objetivo: Como dissemos, todo algoritmo tem um objetivo. Isso deve estar em mente enquanto você produz conteúdo. Normalmente, o algoritmo quer entregar a melhor experiência para o usuário, para que ele volte e consuma mais conteúdo. Como você pode fazer seu papel nesse processo?
  2. Não surfe na onda de falhas dos algoritmos: Quando falamos sobre SEO, muitas vezes o erro dos profissionais é se aproveitar de algum ponto cego no algoritmo do Google, por exemplo. Na maior parte das vezes, são esses os sites que perdem tráfego com os updates. Afinal de contas, essas atualizações são feitas para resolver bugs.
  3. Crie para pessoas, não para robôs: Sim, é verdade que existem algoritmos por trás de todas esses redes sociais e tecnologias ao nosso redor. Mas também é verdade que esses algoritmos tentam imitar as decisões de uma pessoa real e agradar esse usuário final. Produzindo para pessoas você estará sempre um passo a frente do próprio algoritmo.

Conclusão

Você pode ter se interessado em saber o que é algoritmo por curiosidade ou por estar procurando aprender mais sobre Marketing ou Programação.

Aqui na Platzi, nós podemos te ajudar em qualquer uma dessas situações!

👉 Torne-se um profissional 360º com nossos Cursos de Marketing Digital.

👉 Aprenda a programar do zero ao avançado com nossos Cursos de Fundamentos da Programação.

E, claro, nunca pare de aprender. 💚

Contribuições 1

Perguntas 0

Ordenar por:

Quer ver mais contribuições, perguntas e respostas da comunidade?

Essa aula é GENIAL, mas o que eu achei mais legal é que: como ela é super didática, qualquer um consegue entender o que é um algoritmo. Mas, a partir dos conhecimentos do resto do curso é possível ter um entendimento beeeeem mais profundo e entender o que está (ou pode estar) por trás de cada um dos processos citados.
(Sim, eu estou bem feliz de finalmente sentir que entendo um pouquinho mais de programação e tecnologia!)