예제 #1
0
파일: funcoes.py 프로젝트: zlancelott/codes
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
예제 #2
0
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():
예제 #3
0
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():