O objetivo é achar uma posição para as rainhas que elas não se ataquem na horizontal, diagonal e vertical.
o algoritmo gera posições aleatórias para as rainhas.
https://xmatheus.github.io/hill-climbing-nRainhas/
node >= 10.19.0
existe uma pasta chamada public que contém o algoritmo, mas ele tem um delay e visualização das trocas de posição.
Você vai precisar executar o index.html no navegador. Existe o lite-server que faz esse serviço. Creio que arrastar ele para o navegador também funcione.
o script relatorio.js
gera 30 testes, 10 com 32 rainhas, 10 com 64 rainhas e 10 com 128 rainhas;
o resultado final é 3 JSON contendo os tempos de execução, memória usada e movimentos feitos + desvio padrão e variância.
yarn relatorio
ou
npm relatorio
abre o index.js e chama um console.log com a função init com parâmetro sendo a quantidade de rainhas:
console.log(init(8))
É possível remover o comentário de uma função que mostra a matriz, porém ela só funciona para poucas rainhas.