Desenvolver sistemas computacionais que integrem e considerem aspectos sociais e humanos na sua elaboração é o principal objetivo da pesquisa de Flávio S. Corrêa da Silva, do Instituto de Matemática e Estatística (IME) da USP. Flávio trabalha com o conceito de máquinas sociais para buscar essa associação.
As máquinas sociais estão relacionadas à forma como a computação é organizada hoje em dia. “Atualmente, trabalha-se com diversos processadores, é comum ter uma grande quantidade de computadores, que atuam cooperativamente”, diz Flávio. Quando surge um problema a ser resolvido, ele é distribuído, e aos poucos cada computador conclui e o serviço é sincronizado. “É melhor, mas não é fácil programar sistemas desse tipo, são grandes, e se houver um erro, toda a cadeia sofre”. São problemas novos, que estão presentes em um “extremo”, como diz Flávio: “Esse é um extremo, a computação distribuída. No outro lado você tem esquemas de redes de pessoas, como o mercado financeiro, a bolsa de valores. São pessoas com interesses, que vão competir por recursos, formando coalizões, oligopólios”. Assim, também surgem problemas das ciências humanas.
Esses dois lados, entretanto, possuem uma semelhança. Ambos apresentam elementos independentes que vão interagir, criando um resultado, por exemplo um equilíbrio de mercado, e, no caso da computação, a solução para um problema matemático complexo. Entre esses dois extremos é que está o cerne da pesquisa: “Começaram a surgir sistemas que estão no meio do caminho. Em que alguns atuantes são pessoas e outros são máquinas. Eles trabalham cooperativamente, mas são diferentes”, afirma Flávio. Um exemplo é o eBay, onde se tem leilões controlados por máquinas, mas feitos por pessoas. “Tem-se pessoas e computadores trabalhando cooperativamente. Isso são as máquinas sociais.”
Entre a computação distribuída pura e o mercado e redes sociais existe um caminho, com gradações diferentes. “Pode haver algo quase apenas computacional mas com algumas pessoas, outro quase apenas com pessoas mas tem-se computadores para fazer um certo controle. Existe toda uma gradação”, diz Flávio. Dependendo do ponto que se escolhe para analisar, utiliza-se técnicas diferentes para projetar e programar o sistema, e, consequentemente, “para mantê-lo na direção certa”, como diz o pesquisador. O elemento humano deixa a questão mais complexa. “Tudo que envolve pessoas tem um fator imprevisível, o que torna difícil programar, mas pode-se criar o sistema da melhor maneira possível, para que vá na diretriz que a gente espera”. O que tem sido feito é justamente aprender a desenvolver máquinas que estejam no ponto mais moderno da computação distribuída enquanto lida-se com pessoas.
“Estamos projetando um sistema que, anteriormente, possuía uma fronteira externa. Antes, o usuário era exterior ao programa, hoje em dia essa fronteira faz parte do sistema”. Pensando desse jeito, deseja-se projetar o sistema como um todo. “Em um shopping, por exemplo, um controle de abrir e fechar corredor, mexer com a iluminação pensando no interesse das pessoas, de tal maneira que eu desenvolvo levando em conta o comportamento das pessoas. O método de desenvolver pode ter, por exemplo, pesquisa de campo.” Hoje em dia, existem alguns protótipos das máquinas sociais, ainda no estágio inicial, mas que já visam questões práticas, como uma rede social de trocas de serviços, em que existam pessoas interagindo entre si mediante um algorítimo. “É sempre uma construção social apoiada em técnicas computacionais, essas são as máquinas sociais, com as quais estamos trabalhando”, conclui Flávio.