Redação do Site Inovação Tecnológica - 18/08/2009
Você não precisa mais ser um engenheiro da computação para ajudar a montar o verdadeiro quebra-cabeças que é arranjar os transistores e suas conexões para criar chips de computador. Agora é possível participar dessas tarefas simplesmente brincando e se divertindo com um jogo de computador.
Projetando um chip
Projetar a arquitetura de um processador, ou mesmo do mais simples circuito integrado, garantindo que ele tenha o melhor desempenho e ocupe o menor espaço possível, é uma tarefa excepcionalmente difícil. A indústria usa programas específicos, capazes de verificar milhões de possibilidades em poucos segundos.
Mas os programas apenas testam diferentes arranjos, num enfoque de "força bruta." Eles não possuem as capacidades humanas da intuição e do reconhecimento visual de padrões que poderiam permitir que se alcançasse resultados melhores e até mesmo se pudesse chegar a um projeto ótimo de um chip.
Quebra-cabeças online
É aí que entra o FunSAT, um quebra-cabeças online que tem tudo para cativar os fãs de Sudoku.
Criado por Valeria Bertacco e Andrew DeOrio, da Universidade de Michigan, nos Estados Unidos, o objetivo do FunSAT é explorar as capacidades humanas de traçar estratégias, visualizar o todo e entender problemas complexos, para melhorar o projeto dos chips.
E não apenas isso. O FunSAT serve na verdade para ajudar a resolver qualquer tarefa de alta complexidade, como projetar bases de dados, programar o comportamento de robôs, descobrir a melhor rota para entregar uma correspondência e até algo mais prosaico, como achar a melhor solução para colocar o maior número possível de objetos dentro de uma mochila.
Como jogar FunSAT
O tabuleiro do jogo consiste de linhas e colunas de retângulos e círculos de vários tamanhos, nas cores verde, vermelho e cinza. Ao redor do perímetro do jogo há botões que o jogador pode colorir de amarelo ou azul com o clique do mouse. A cor dos botões determina a cor dos círculos sobre o tabuleiro. O objetivo do jogo é usar os botões ao redor dos círculos para fazer com que todos os círculos fiquem verdes.
Clicando com o botão direito sobre um círculo pode-se ver quais botões controlam sua cor, dando ao jogador uma dica do que ele deve fazer a seguir. Quanto maior for um círculo, maior é o número de botões que o controlam. O jogo é desafiador porque cada botão afeta muitos círculos ao mesmo tempo e de diferentes maneiras. Um botão que faz vários círculos ficarem verde irá também mudar outros de verde para vermelho ou cinza.
Problemas de satisfazibilidade
O jogo na verdade é feito para solucionar os chamados problemas de satisfazibilidade - questões matemáticas clássicas e altamente complexas que envolvem a seleção do melhor arranjo possível de um determinado número de opções. Para resolver esse tipo de problema, o jogador, ou o matemático, deve atribuir falso ou verdadeiro para um conjunto de variáveis de modo a atender a todas as restrições do problema.
No FunSAT, os círculos representam as restrições do problema. Quando eles ficam verdes, isso significa que a restrição foi satisfeita. Os botões ao redor do tabuleiro representam as variáveis. Eles recebem seus valores quando o jogador clica para mudar sua cor, onde amarelo representa verdadeiro e azul representa falso.
Lendo a solução
Assim que o jogo estiver solucionado, quando todos os círculos estiverem na cor verde, um cientista da computação pode simplesmente olhar para a cor de cada botão e ler a solução de um problema de satisfazibilidade em particular.
Uma versão monousuário do jogo já está disponível em http://funsat.eecs.umich.edu. Os pesquisadores agora estão trabalhando no desenvolvimento de uma versão multiusuário, onde vários jogadores poderão interagir e resolver problemas mais complexos.