Encontre matérias e conteúdos da Gazeta do Povo
Tecnologia

O uso cotidiano do algoritmo

Mesmo sem saber, diariamente você faz uso do sistema criado no século III a.C. que fez do Google um sucesso e tem diferentes aplicações

Confira um exemplo de algoritmo |
Confira um exemplo de algoritmo (Foto: )

A receita se repete com sucesso há sete anos: médico charmoso e irônico diagnostica pacientes após analisar teorias e eliminar resultados impossíveis. Concei­­tualmente, porém, o método do protagonista da série de tevê norte-americana House é menos original que os insultos que ele dirige aos subalternos. O personagem resolve os enigmas médicos a partir da formulação de algoritmos, um sistema concebido por matemáticos gregos e árabes no século III a.C. e que hoje está presente em várias atividades cotidianas: da busca na internet até o processamento da ressonância magnética.

O algoritmo é definido como uma sequência de passos finitos e não ambíguos que levam à resposta de uma determinada questão. "Não é necessariamente uma fórmula matemática ou um programa de computador. Você pode criar um para assar pão: juntar ingredientes, bater a massa e colocar no forno, nesta ordem", exemplifica Eduardo Todt, coordenador do curso de Ciências da Computação da Universidade Federal do Paraná (UFPR) e especialista em automação avançada e robótica.

Embora antigo, este sistema lógico ganhou importância após o início do desenvolvimento de computadores, durante o período entre guerras no século 20. Como o objetivo das pesquisas era transferir para a máquina o trabalho de resolver problemas (trajetórias de mísseis, códigos criptografados), seria preciso criar algoritmos que pudessem ser usados por uma entidade autômata – incapaz de refletir sobre uma maneira diferente de agir. "O algoritmo deve ser capaz de pegar qualquer problema e, usando o mesmo processo, chegar à resposta", explica Jayme Luiz Szwarcfiter, especialista em algoritmos e grafos do Nú­­­cleo de Computação Ele­­­trônica da Universidade Federal do Rio de Janeiro (UFRJ).

Para os programadores, o desafio é escrever um comando ao computador que seja o mais simples e eficiente para responder a uma questão ou executar uma tarefa. Isso requer um amplo conhecimento sobre o processo a ser automatizado. "Senão, o desenvolvedor pode aplicar um método tão ruim que demora até se chegar à resposta", pondera Szwarcfiter.

Para ilustrar a estratégia de desenvolvimento de um algoritmo para software, Todt usa o exemplo de uma agenda eletrônica de 1.024 contatos. Se o usuário procura um nome, a fórmula algorítmica mais ingênua ordenaria ao computador que verificasse se o primeiro nome na lista é o procurado. Em caso de respota negativa, passaria ao segundo nome. "Esta fórmula pode levar até 1.024 passos para chegar à resposta", avalia o professor. Ele sugere o seguinte formato de algoritmo: "A máquina pega o contato que está no meio da lista e se pergunta: o nome procurado está acima ou abaixo deste? Após a resposta, pega a metade que permaneceu e faz a mesma coisa. Assim, o computador vai encontrar o nome pesquisado em, no máximo, dez passos", diferencia Todt.

Um dos exemplos de algoritmo citados como de maior sucesso é o mecanismo de busca do Google, usado para encontrar páginas da internet sobre um determinado tema. Desen­­­volvido pelos então estudantes de computação norte-americanos Larry Page e Sergey Brin, a partir de 1995, o Google se dispôs a resolver o seguinte problema: as pessoas tendem a consultar os sites sugeridos pela busca seguindo a ordem em que aparecem na lista, de cima para baixo. Portanto, as primeiras páginas listadas precisam conter a melhor informação.

Os primeiros buscadores e organizavam os sites em ordem alfabética, como numa lista telefônica. E, também como em uma lista telefônica, as empresas costumavam nomear seus sites de forma a aparecer na frente (usando, por exemplo, o nome "AAA Padaria Cometa"). Mais tarde, outros fatores passaram a ser usados como parâmetro da pesquisa, como o título e a descrição da página. Porém o problema persistia.

A inovação do Google foi promover uma grande eleição dos "melhores da internet" a partir do uso de algoritmos. Um site é mais popular (e aparece primeiro na pesquisa) à medida em que outros sites façam referência a ele, por meio de links. E quando os sites mais populares indicam outras páginas, essas acabam recebendo parte da popularidade concedida ao site inicial.

Se, por exemplo, 100 sites apontam para uma página sobre comida chinesa, ela vai aparecer na frente de uma outra sugerida por 12 sites. Mas se uma dessa dúzia de sugestões for do site do jornal The New York Times, esta segunda página vai ser catapultada para cima, porque o Times tem milhões de páginas apontando-o como referência.

Utilização no mercado de ações exige cuidados

Os softwares de mercado financeiro, programados a partir de algoritmos, são usados principalmente para obter ganhos em volume a partir de transações pequenas. A função do programa é prever alterações imediatas no preço das ações e realizar operações de compra e venda em alta velocidade. Enquanto os corretores humanos mais dinâmicos costumam comprar meia dúzia de papéis pela manhã e vender outro tanto à tarde, os programas de computador conseguem operar em escala sobre-humana, negociando centenas de ações em alguns segundos e obtendo, como lucro, R$ 0,01 ou R$ 0,02 em cada uma.

"Os algoritmos tentam identificar padrões que se repetem no mercado financeiro e, com algumas funções, identificar as altas e baixas", explica Carlos Martins, especialista em desenvolvimento de programa e autor do Trader Gráfico, um software de informações financeiras para investidores. "Geralmente, o que o pessoal de mercado gosta de fazer é programar operações de compra e venda em alguns segundos. Se a máquina for programada para esperar muito, informações de fora [falências, fusões, notícias sobre a economia do país] vão criar um sinal falso e a pessoa toma um prejuízo enorme", ressalta.

Esses programas são usados quase exclusivamente por instituições como bancos ou corretoras. Além do custo de manutenção, a partir de R$ 3 mil ao mês, o limite operacional (dinheiro disponível para aplicação) nunca é inferior à casa do milhão. "Todo o dia o algoritmo precisa ser atualizado, para acompanhar o comportamento do mercado. Se deixar parado, uma programação que dá lucro em um mês vai causar prejuízo no mês seguinte", lembra.

O grau de autonomia do programa é definido pelo usuário. É comum, quase obrigatório, que os softwares tenham um limite de perda, a partir do qual são programados para vender as ações. "O algoritmo não faz nada diferente do que o mercado sempre fez, só que em maior quantidade. Os impactos éticos na corretagem dependem do sujeito que controla", defende Martins.

Principais Manchetes

Receba nossas notícias NO CELULAR

WhatsappTelegram

WHATSAPP: As regras de privacidade dos grupos são definidas pelo WhatsApp. Ao entrar, seu número pode ser visto por outros integrantes do grupo.