Hoje vamos avançar no conhecimento sobre um tema que muitas vezes lemos ou ouvimos por aí, mas não fazemos ideia do que é ou talvez não seja a ideia mais adequada. Nas redes sociais, principalmente, tudo “é culpa do Algoritmo”. O YouTube incluso nesse meio. Se uma postagem não tem um alcance bom, a culpa é dele; se palavras são bloqueadas em um comentário, foi ele; se um vídeo não tem excelentes métricas de visualizações, é por causa dele. Será mesmo?Antes de entrar em maiores explicações, é bom sabermos que Algoritmo não está presente apenas na tecnologia. Qualquer conjunto de passos que você seguir para realizar uma tarefa é um algoritmo. Quer exemplos? Preparar um hambúrguer, trocar o pneu de um veículo, fazer um bolo… Todos têm passos a seguir para que dê certo. Todos são algoritmos. Dito isso, sigamos.
O que são Algoritmos?
Conforme mencionado na introdução, um algoritmo consiste em uma série limitada de instruções ou etapas que têm como objetivo solucionar um problema ou realizar uma tarefa específica. São métodos empregados para obter um resultado pretendido, que podem ser aplicados de várias maneiras, seja através de programas de computador, equações matemáticas ou até mesmo receitas culinárias. Os tipos de algoritmos são variados e cada um é adequado a um propósito.Imagem de Mohamed Hassan por Pixabay
Definições e Características de um Algoritmo
Alguns requisitos que um algoritmo precisa cumprir:Precisão: Cada passo deve ser claramente definido e não ambíguo (ter duas interpretações).Finitude: Deve terminar após um número determinado de passos.Entrada: Pode ter um ou mais entradas.Saída: Devem produzir pelo menos uma saída.Vamos a um exemplo de Entrada e Saída de um Algoritmo para ficar mais claro:Quando fazemos uma busca do Google:Entrada: Termos de busca que digitamos.Saída: Lista de páginas da web relevantes baseadas nos termos de busca.Imagem de Tumisu por Pixabay
Quais são os Tipos de Algoritmos?
Essa parte é mais técnica, escolheremos exemplos cotidianos para facilitar a visualização na prática.
Algoritmo de Busca:
Procuram por um item específico dentro de uma estrutura de dados. Exemplo: Uma pesquisa no Google.
Algoritmo de Ordenação:
Organizam dados em uma ordem específica, como crescente ou decrescente. Exemplo: A função para classificar uma caixa de entrada de e-mail por datas.
Divisão e Conquista:
Dividem um problema maior em subproblemas menores e mais simples.Exemplo: Organização de uma biblioteca:
Primeiro, podemos separar pilhas menores por gênero ou letra inicial.
Depois, ordenar essas pilhas, que é muito mais fácil do que ordenar a biblioteca toda de uma vez.
Por último, depois de ordenar as pilhas, organizar tudo em uma única coleção.
Imagem de OpenClipart-Vectors por Pixabay
Algoritmos Gulosos:
Tomam a melhor decisão possível em cada etapa, sem considerar a solução global.Exemplo: Arrumar uma mala de bordo (bagagem de mão) para uma viagem (a opção mais econômica para viajar de avião no país):A tarefa desse tipo de mala é inserir o maior número de itens possíveis, mas com um limite de peso.
Para fazer isso, geralmente, listamos todos os itens que irão na mala.
Depois, classificamos por peso e necessidade em ordem decrescente (mais importante para o menos importante).
Por fim, vamos arrumando a mala, respeitando essa ordem até chegar ao limite.
Guarde esse algoritmo para sua vida, para viajar pelo Brasil ele é super útil! 😄 A “guerra” que é fazer uma bagagem de mão de até 10kg não dá para descrever. Ainda mais para viagens mais longas. Mas é possível! Siga esse algoritmo.Imagem de Freepik
Algoritmos Recursivos:
Chamam a si mesmos para resolver subproblemas.Exemplo: Estamos perdidos para voltar para casa porque nos mudamos para um bairro novo.
Começamos de onde estamos para ver se reconhecemos o local;
Verificamos todas as direções possíveis (ruas ou caminhos) e escolhemos uma;
Andamos nessa direção e verificamos novamente se reconhecemos o local;
Se não reconhecemos, escolhemos outro caminho e repetimos o processo, que se repete até encontrarmos o caminho de volta para casa.
Cada decisão e movimento é baseado na tentativa de resolver o subproblema de “como chegar mais perto de casa” até que o problema maior de “encontrar minha casa” seja resolvido. Mesmo se você usar um mapa, melhor decisão inclusive, esse algoritmo também pode ajudar a organizar as tentativas.Os exemplos usados acima foram uma tentativa de facilitar o seu entendimento, espero que tenham ajudado.Também é importante dizer que os tipos de algoritmos não foram apresentados de maneira exaustiva, ou seja, existem mais tipos.
Quais as Aplicações dos Algoritmos?
São diversas aplicações no cotidiano e na tecnologia:Computação: Usados em softwares para resolver problemas complexos e realizar operações.Saúde: Ajudam em diagnósticos médicos através da análise de dados.Finanças: Utilizados para prever tendências do mercado e automatizar transações.Transportes: Otimizam rotas e gerenciam tráfego.Entretenimento: Recomendam músicas, filmes e séries baseados em preferências do usuário.Imagem de Mohamed Hassan por Pixabay
Qual a Importância dos Algoritmos?
Eles são essenciais para o desempenho eficaz de sistemas e programas. Podem aprimorar processos, poupar tempo e recursos, constituem a fundação para a inteligência artificial e o aprendizado de máquina. Com o aumento da dependência tecnológica, a criação e o entendimento de algoritmos se tornam cada vez mais importantes.Ok, mas e a conversa do começo sobre mídia social, YouTube? Bom, a “culpa” não é do Algoritmo, mas, das diretrizes das empresas que o utiliza. Quem faz a programação escolhe como quiser, qual tipo de algoritmo usar, como eles vão responder ao contexto.Embora, tudo seja baseado nos termos e condições de uso de cada empresa (que aceitamos quando nos cadastramos em qualquer site) e, ainda, em alguns conceitos mais estratégicos para os negócios dela, que não são informações que serão reveladas para todos. Por isso, ao usuário fica a opção de usar ou não usar a rede social, produzir ou não conteúdo para o YouTube.
Conclusão
Podemos perceber que os algoritmos são fundamentais para solucionar problemas em várias áreas, desde a informática até o dia a dia. Boa parte das pessoas acreditam que eles estão apenas na tecnologia. Mas, agora sabemos que não. Entender como funciona e suas utilizações pode proporcionar novas oportunidades e aprimorar processos em diversas áreas. Antes mesmo do conceito existir, ele já estava em nossas vidas.Agora Você Sabe!Até mais!