Uma explicação sobre o algoritmo que distribui os alunos pelas carteiras.
Quando você preenche a planilha com os pesos de relacionamento entre os alunos, está criando o que chamamos de sociograma — uma representação das relações sociais da turma.
Cada número diz ao programa o quão importante é aproximar ou separar dois alunos: números positivos significam "tente sentar perto", e números negativos significam "tente manter distância". Quanto maior o valor absoluto, mais peso aquela relação tem na distribuição final.
Com N alunos e N carteiras, existem N! (N fatorial) maneiras possíveis de distribuí-los. Para uma turma de apenas 20 alunos, isso equivale a mais de 2 quintilhões de combinações — mais do que o número estimado de grãos de areia em todas as praias do mundo.
Testar todas elas seria impossível até para um computador rápido. O programa, portanto, usa uma estratégia inteligente para encontrar uma solução muito boa em poucos segundos, sem precisar checar tudo.
O programa usa uma técnica chamada Recozimento Simulado (do inglês Simulated Annealing), inspirada no processo metalúrgico de resfriar o metal lentamente para obter uma estrutura interna mais estável e resistente.
Funciona assim:
Como o ponto de partida é sempre aleatório e o algoritmo aceita algumas trocas piores ao longo do caminho, cada execução pode encontrar uma solução ligeiramente diferente das anteriores.
Nenhuma delas é necessariamente "a melhor possível" — mas todas são boas. Se o resultado atual não parecer ideal para a sua turma, clique em Gerar novo mapa para tentar uma nova configuração.
Se você fixou algum aluno em uma carteira específica na etapa anterior, o algoritmo respeita essa decisão e distribui apenas os alunos restantes nas carteiras livres. Os alunos fixos ficam marcados com a etiqueta Fixo no mapa final e não participam do sorteio.
Algumas coisas que o programa ainda não faz:
A qualidade do resultado depende diretamente da qualidade do sociograma: quanto mais completo e preciso, melhor o mapa gerado.