示例#1
0
def q_one_two():
    c1 = c2 = 2.05
    w = 0.5

    swarm = [Particle(x_y_range, x_y_range) for i in range(100)]
    velocity_position_fn = inertia_velocity(x_y_range, x_y_range, w, c1, c2)

    avg_fit, best_fit, g_best = simulation(
        termination_condition=termination_condition(iterations),
        swarm=swarm,
        fitness_function=six_hump_camelback,
        velocity_position_update=velocity_position_fn)
    test = "Inertia Weight PSO"
    title = f"Fitness vs Iterations: {test}"
    data = [("Average Fitness", avg_fit)]
    data.append(("Best Fitness", best_fit))

    graph(title, data)
    print(test)
    print(f"\t c1: {c1}")
    print(f"\t c2: {c2}")
    print(f"\t w: {w}")
    print(f"\t iterations: {iterations}")
    print(f"\t particles: {particle_count}")
    print(f"\t best fitness: {six_hump_camelback(g_best[0],g_best[1])}")
    print(f"\t best x,y: {g_best[0]} {g_best[1]}")
示例#2
0
def main(filename, iterations, eva, count, processCt):

	print "Retrieving dataset..."

	data = getData(filename)

	intervals = []
	intervals.append(1)
	for x in range(1,count+1):
		intervals.append(x*(eva/count))

	processPool = mp.Pool(processes=processCt)

	print "Beginning simulations..."

	geneticJobs = [processPool.apply_async(simulate,
	 args=(data,eva,intervals)) for x in range (iterations)]

	randomJobs = [processPool.apply_async(randomSearch,
	 args=(data,eva,intervals)) for x in range (iterations)]

	res = [g.get() for g in geneticJobs]
	randRes = [r.get() for r in randomJobs]

	print "Simulation Complete"
	print "Best Equation Found: "
	print findBestEquation(res,randRes)
	
	graph(selectFirst(res),selectFirst(randRes),intervals)
示例#3
0
def main(name,iterations,eva,count,processCt):

	data = getData(name)	
	intervals = []
	intervals.append(1)
	for x in range(1,count+1):
		intervals.append(x*(eva/count))
	evaluations = eva

	travWorkers = mp.Pool(processes=processCt)
	
	genPmxJobs = [travWorkers.apply_async(genetic,
		args=(data,evaluations,intervals,False)) for x in range(iterations)]

	genHalfJobs = [travWorkers.apply_async(genetic,
		args=(data,evaluations,intervals,True)) for x in range(iterations)]

	stochJobs = [travWorkers.apply_async(stochClimb,
		args=(data,evaluations,intervals)) for x in range(iterations)]

	randJobs= [travWorkers.apply_async(randSearch,
		args=(data,evaluations,intervals)) for x in range(iterations)]

	# Close the pool and wait until all processes are finished
	travWorkers.close()
	travWorkers.join()

	# Retrieve process outputs
	genPmx = [t.get() for t in genPmxJobs]
	genHalf = [t.get() for t in genHalfJobs]
	stoch = [t.get() for t in stochJobs]
	rand = [t.get() for t in randJobs]

	# Display graph of simulation results
	graph(genPmx,genHalf,stoch,rand,intervals)
示例#4
0
 def __init__(self, **kwargs):
     super(mainScreenLayout, self).__init__(**kwargs)
     warnings.filterwarnings('ignore')
     self.tree = tr.TreeRunner()
     self.gender = gd.video()
     if self.gender == "man":
         self.speak = sp.SpeechTextProcessing(0)
     else:
         self.speak = sp.SpeechTextProcessing(1)
     # user details
     self.name = None
     self.age = None
     self.symptoms = None
     self.disease = None
     self.medicine = None
     self.language = None
     self.message = None
     self.data = list()
     self.index = 0
     self.pdf = None
     self.medication = None
     self.DB = None
     self.confidence = 0
     self.plt = pt.graph()
     self.questions = [
         "self.start1()", "self.start2()", "self.start3()",
         "self.predictDisease()", "self.predictMedication()",
         "self.printPrescription()", "self.startExportingToDatabase()"
     ]
def main():
    print("***************************************************")
    print("Anusha Kondapalli")
    print("Program 3 - Elliptical curve")
    print("***************************************************")
    parser = argparse.ArgumentParser()

    parser.add_argument("-a", dest="a", help="Part 'a' of elliptical curve: y^2 = x^3 + ax + b")
    parser.add_argument("-b", dest="b", help="Part 'b' of elliptical curve: y^2 = x^3 + ax + b")
    parser.add_argument("-x1", dest="x1", help="")
    parser.add_argument("-y1", dest="y1", help="")
    parser.add_argument("-x2", dest="x2", help="")
    parser.add_argument("-y2", dest="y2", help="")

    args = parser.parse_args()
    # changing the given input string to integers
    a = fractions.Fraction(args.a)
    b = fractions.Fraction(args.b)
    x1 = fractions.Fraction(args.x1)
    y1 = fractions.Fraction(args.y1)
    x2 = fractions.Fraction(args.x2)
    y2 = fractions.Fraction(args.y2)

    # checking whether the given points are correct or not
    # 1.Both points are on the curve or not
    if (pow(y1, 2) == pow(x1, 3) + a * x1 + b) and (pow(y2, 2) == pow(x2, 3) + a * x2 + b):
        # if y coordinates are different
        if y1 != y2:
            m = (y2 - y1) / (x2 - x1)
        # if y coordinates are same
        else:
            m = ((3 * (x1 ** 2)) + a) / (2 * y1)
        x3 = pow(m, 2) - x1 - x2
        y3 = (m) * (x3 - x2) + y2
        x = fractions.Fraction(x3).limit_denominator(1000)
        y = fractions.Fraction(y3).limit_denominator(1000)
        print("x3=", x, "y3=", y)
        plot.graph(a, b, x1, y1, x2, y2, x3, y3)
    else:
        print("Error Error")
        print("Given points should be on given curve ")
    print("***************************************************")
示例#6
0
generation_count = 1024 * 2
survivor_count = 50
p_m = 0.00
k = 7


def init_population(num_individuals, max_depth):
    def f():
        return [
            Individual(max_depth=1 + (i % max_depth))
            for i in range(num_individuals)
        ]

    return f


best_per_gen, best_individual = simulation(
    generation_count=generation_count,
    init_population=init_population(num_individuals=num_individuals,
                                    max_depth=max_depth),
    parent_selection=parent_selection(k=k),
    variation=variation(p_m=p_m),
    survivor_selection=survivor_selection(population_size=num_individuals,
                                          survival_count=survivor_count),
    best_of_generation=best_of_generation,
    debug=True)

best_individual.to_diagram()
graph(title="Best Fitness vs  Generation eleven multiplexer",
      data=[("Eleven Multiplexer", best_per_gen)])
示例#7
0
from plot import graph

ddqnr1 = []
varTitle = "DQN T3: Var100 vs Episode"
medTitle = "DQN T3: Med100 vs Episode"
rewardTitle = "DQN T3: Rewards vs Episode"
fileName = './data/dqn/dqnr3.csv'
algo = "DQN"
with open(fileName, 'r') as csvfile:
    reader = csv.reader(csvfile, delimiter=',', quotechar='|')
    for row in reader:
        ddqnr1.append(np.array(row).astype(np.float))
y = [np.sum(row) for row in ddqnr1]

x = list(range(len(y)))
graph(rewardTitle, [(algo, y)])

y2 = [np.var(y[i - 100:i]) for i in range(100, len(ddqnr1))]
x2 = list(range(100, len(y2) + 100))
graph(varTitle, [(algo, y2)])

y3 = [np.median(y[i - 100:i]) for i in range(100, len(ddqnr1))]
x3 = list(range(100, len(y3) + 100))
graph(medTitle, [(algo, y3)])

# dqnr1 = []
# with open('./data/dqn/dqnr1.csv','r') as csvfile:
#     reader = csv.reader(csvfile, delimiter=',', quotechar='|')
#     for row in reader:
#         dqnr1.append(np.array(row).astype(np.float))
# y = [np.sum(row) for row in dqnr1]
示例#8
0
import plot as pl

pl.graph(['x**2', '2*x'], 0, 30, 1)
    for r in range(num_runs):
        print("1000 episode run : ", r)
        rlglue.rl_init()
        for e in range(num_episodes):
            rlglue.rl_episode(max_eps_steps)
            steps[r, e] = rlglue.num_ep_steps()
        # get the list of value functions [X,Y,Z] represents position, velocity, state-value
        Return = rlglue.rl_agent_message(1)
    return Return


if __name__ == "__main__":
    # first graph method
    question_1()
    # generate 2d graph using provided plot file
    graph()

    #initialize a list of all state values
    Z = [0] * 2500
    X = [0] * 2500
    Y = [0] * 2500
    #generate data for the 1000run 3d graph
    a = question_3()
    #seperate data
    for i in range(2500):
        Z[i] = -a[i][2]
        X[i] = a[i][0]
        Y[i] = a[i][1]

    # reshapte data so it fits in a 3d form
    Z = np.array(Z).reshape((50, 50))
示例#10
0
def main(args, config):
    
    originalPath= os.getcwd()
    fasta_file = os.path.join(os.getcwd(),args.fasta_file)
    profilePath = os.path.join(os.getcwd(),'profiles')
    wDir = os.path.join(os.getcwd(), datetime.datetime.now().strftime('%Y-%m-%d_%H-%M-%S'))
    os.mkdir(wDir)      
    os.chdir(wDir)
    
    #add a check module
    fileWork = os.path.join(os.getcwd(),'final_sequences.fasta')
    validFile = Check(fasta_file, args, config)
    validFile.lenFasta()
    validFile.reverseFile()
    validFile.makeLog()
    
    
    if int(args.mode) == 1:
        basicMode(config, fasta_file, profilePath)
        
    if int(args.mode) == 2:   
        newConfig = config.copy()
        dfCompare = os.path.join(originalPath, args.compare)
        
        
        xList = []
        yList = []
        countResults = OrderedDict()
        for i,j in config.items():
            if type(j) is list:
                label = i
                valStart= j[0]
                valStop= j[1]
                valStep= j[2]
                
                k = valStart
                while k <= float(valStop):
                    newConfig[i] = k
                    folder = i + str(k)
                    subDir = os.path.join(wDir, folder)
                    os.mkdir(subDir)
                    os.chdir(subDir)
                    if i == 'win_length':
                        newConfig['win_step'] = k
                    
                    configFile(newConfig)
                    basicMode(newConfig, fasta_file, profilePath)
                    
                    result, trueEvents, times, baseEvents, seqDict = compareResults(dfCompare)
                    xList.append(k)
                    yList.append(result)
                    countResults[k] = times
    
                    baseReport(countResults, label, baseEvents, config['win_length'], seqDict)                       
                    
                    k = k + valStep     
                    os.chdir('..')
                        
                    
        graph(xList, yList, label, trueEvents)
        #print xList
        #print yList
        #print countResults
        baseReport(countResults, label, baseEvents, config['win_length'], seqDict)