Example #1
0
 def inicia(self):
     gap = 69853
     self.progresso.setMaximum(self.spin_repeticoes.value())
     gen = Genetico(arquivo=self.txt_arquivo.text(),populacao=self.spin_populacao.value(),
                    geracoes=self.spin_geracoes.value(),gap = gap )
     gen.inicia_valores()
     self.statusbar.showMessage('Rodando...')
     saida = open(os.path.join('output/','bolts_'+str(tempo())+'.txt'), 'w')
     saida.write('Todos os Bolts das '+str(self.spin_repeticoes)+' repeticoes')
     saida.write('\nPopulacao: '+str(self.spin_populacao.value()))
     saida.write('\nGeracoes: '+str(self.spin_geracoes.value()))
     saida.write('\nBolts:\n')
     for i in range(self.spin_repeticoes.value()):
         self.progresso.setValue(i+1)
         gen.run()
         self.statusbar.showMessage(str(i)+'\tGAP: '+str(float(gen.distancia_bolt)/gap-1))
         saida.write(str(float(gen.distancia_bolt)/gap-1)+'\n')
Example #2
0
#Enter an integer between 0 and infinite lol! Python has all integer precision we need!
#eval is insecure, but I need to evaluate Mersenne Prime expressions like 2**31-1
#I would protect it more, filtering only Natural integers above 0...
n = eval(input("Enter an integer number:"))

#in portuguese primo means prime I won't change it!
#Catches if number is even, smaller than 2 or a perfect square
primo = (((n & 1) and (n > 2)) or (n == 2)) and (n**0.5 != int(n**0.5))

#in portuguese limite means limit i could ignore upper limit as n and go to square root of n...
limite = range(3, n, 2)

#in portuguese inicio means start
#just a time counter efficiency measurements...
inicio = tempo()

#if less or equals 2 means composite or prime if 2, loop isn't necessary...
if (primo) and (n > 2):

    for i in limite:

        primo = n % i

        #anyway won't count to n! if prime or composite
        if (i * i > n) or (not primo):

            break

print("This is a Prime number!" if primo else "This is a Composite number!",
      "Elapsed time in seconds:",
from time import sleep as tempo
from media_aluno_defs import *
print('\n' * 1)
titulo()
tempo(1.1)
print('\n' * 1)
linha()
subtitilo()
linha()
print('\n' * 1)

nome = str(
    input('\033[32mInsira o seu nome\033[34m(a)\033[m\033[32m: \033[m \033[m')
).upper()
print('\n' * 1)

nota1 = float(
    input(
        f"\033[33mDigite a primeira nota do aluno {nome}\033[m\033[34m: \033[m"
    ))
nota2 = float(
    input(
        f"\033[33mDigite a segunda nota do aluno {nome}\033[m\033[34m: \033[m")
)
nota3 = float(
    input(
        f"\033[33mDigite a terceira nota do aluno {nome}\033[m\033[34m: \033[m"
    ))
nota4 = float(
    input(
        f"\033[33mDigite a quarta nota do aluno {nome}\033[m\033[34m: \033[m"))
Example #4
0
    t_individuo = len(populacao[0])
    for i in range(t_populacao):
        individuo = randint(1,len(populacao)-1)
        p_i = pontuacao(populacao[individuo],distancia)
        a = randint(0,t_individuo-1)
        b = randint(0,a/2)
        populacao[individuo][a],populacao[individuo][b] = populacao[individuo][b],populacao[individuo][a]
        if pontuacao(populacao[individuo],distancia)< p_i:
            populacao[individuo][a],populacao[individuo][b] = populacao[individuo][b],populacao[individuo][a]
    aux = range(t_individuo)
    shuffle(aux)
    populacao.append(aux+[])

    return populacao

saida = open(str(tempo())+'saida.txt','w')
for cont in range(5):
    bolt = []
    ini = tempo()
    #distancia, tamanho = matriz_adjacencia_upper_row('brazil58.tsp')
    distancia,tamanho, pontos = matriz_adjacencia_points('gr137.tsp')
    quantidade_individuos = 2
    populacao = populacao_inicial(tamanho=tamanho, quantidade=quantidade_individuos*2)

    for i in range(quantidade_individuos):



        populacao = crossover(populacao,distancia)

        populacao = mutacao(populacao,distancia)
Example #5
0

            self.testatos+=1
            return

        for x in Comb(id, r=grupos[cur]):

            set_x = set(x)
            new_indexes = [i for i in id if i not in set_x]
            self.F(conjunto,grupos,new_indexes,res=res + [x],cur=cur + 1)




melhorGrupo = []
ini = tempo()
nome = 'p20_g3.txt'
arquivo = open(nome)
print '\item Arquivo: ', nome
relacoes = []
grupos = []
qPessoas = int(arquivo.readline().split()[1])
qGrupos = int(arquivo.readline().split()[1])
for i in range(qGrupos):
    aux = arquivo.readline().split()
    grupos.append(int(aux[1]))
for i in range(qPessoas):
    aux = arquivo.readline().split()
    relacoes.append([int(x) for x in aux])
result = Calcula(melhorPontuacao = 133634,relacoes=relacoes)
result.F(range(qPessoas), grupos)