def gerarTabuleiro(): tabuleiro = Tabuleiro() tabuleiro.tabuleiro = [['_' for x in range(8)] for x in range(8)] for coluna in range(8): linha = randint(0, 7) tabuleiro.tabuleiro[linha][coluna] = "Q" tabuleiro.custo = calculaColisoes(tabuleiro.tabuleiro) return tabuleiro
TOTAL_EXECUCOES = int(input("\nTotal Execuções: ")) colisoes_exec = {} i = 0 while (TOTAL_EXECUCOES > i): print("\nExecução: %d" % (i)) solucao = hillClimb() colisoes = solucao.custo print("\tColisões: %d" % (colisoes)) if (i == 0): melhor_solucao = Tabuleiro() melhor_solucao.tabuleiro = deepcopy(solucao.tabuleiro) melhor_solucao.custo = colisoes elif colisoes < melhor_solucao.custo: melhor_solucao.tabuleiro = deepcopy(solucao.tabuleiro) melhor_solucao.custo = colisoes if (str(colisoes) in colisoes_exec): colisoes_exec[str(colisoes)] += 1 else: colisoes_exec[str(colisoes)] = 1 i += 1 print("\n\nTabela de Colisoes\n") for i in colisoes_exec.keys():
TOTAL_EXECUCOES = int(input("\nTotal Execuções: ")) precisao = {} i = 0 while (TOTAL_EXECUCOES > i): print("\nTotalExecução: %i " % (i)) solucao = simulatedAnnealing() custo = solucao.custo print("\tCusto: %d" % (custo)) ## Se for a primeira execução ele armazena o primeiro custo, para testar com os próximos if (i == 0): melhor_solucao = Tabuleiro() melhor_solucao.tabuleiro = deepcopy(solucao.tabuleiro) melhor_solucao.custo = custo elif custo < melhor_solucao.custo: melhor_solucao.tabuleiro = deepcopy(solucao.tabuleiro) melhor_solucao.custo = custo if (str(custo) in precisao): precisao[str(custo)] += 1 else: precisao[str(custo)] = 1 i += 1 print("\n\nTabela de Precisão\n") for i in precisao.keys():