Esempio n. 1
0
def lnfaSub(mu, sigma, m, ssize, nodes):
   cn = [2,2,2]; ft=[]; fit =[];
   g = [[1,2],[0,2],[0,1]];
   ft.append(r.lognormvariate(mu,sigma)); Fit = ft[0]; fit.append(Fit)
   ft.append(r.lognormvariate(mu,sigma)); Fit += ft[1]; fit.append(Fit)
   ft.append(r.lognormvariate(mu,sigma)); Fit += ft[2]; fit.append(Fit)

   for j in range(3,ssize):
      g.append([]); cn.append(m);
      for i in range(m):
         prob=r.uniform(0,Fit); n = binsearch(prob, fit, j);
         cn[n] += 1;   g[n].append(j);   g[j].append(n);
      ft.append(r.lognormvariate(mu,sigma)); Fit += ft[j]; fit.append(Fit)

   for j in range(ssize, nodes):
      print j;
      nn1=r.sample(xrange(0,j),ssize);
      fft=[]; ffit = []; FFit = 0;
      for i in range(0, ssize):
         fft.append(ft[nn1[i]]); FFit += fft[i]; ffit.append(FFit);
      g.append([]); cn.append(m);
      for i in range(m):
         prob=r.uniform(0, FFit); n = binsearch(prob, ffit, ssize);
         cn[nn1[n]] += 1;   g[nn1[n]].append(j);   g[j].append(nn1[n]);
      ft.append(r.lognormvariate(mu,sigma)); Fit += ft[j]; fit.append(Fit)

   return g, cn, ft
Esempio n. 2
0
def lnfa(mu, sigma, m, perc, nodes):
    cn = [1, 1]
    ft = []
    fit = []
    g = [[1], [0]]
    ft.append(r.lognormvariate(mu, sigma))
    Fit = ft[0]
    fit.append(Fit)
    ft.append(r.lognormvariate(mu, sigma))
    Fit += ft[1]
    fit.append(Fit)

    for j in range(2, 1000):
        g.append([])
        cn.append(m)
        for i in range(m):
            prob = r.uniform(0, Fit)
            n = binsearch(prob, fit, j)
            cn[n] += 1
            g[n].append(j)
            g[j].append(n)
        ft.append(r.lognormvariate(mu, sigma))
        Fit += ft[j]
        fit.append(Fit)

    for j in range(1000, nodes):
        j
        #ssize = int(perc*j);
        ssize = 1000
        nn1 = r.sample(xrange(0, j), ssize)
        fft = []
        ffit = []
        FFit = 0
        for i in range(0, ssize):
            fft.append(ft[nn1[i]])
            FFit += fft[i]
            ffit.append(FFit)
        g.append([])
        cn.append(m)
        ft.append(r.lognormvariate(mu, sigma))
        Fit += ft[j]
        fit.append(Fit)
        for i in range(m):
            prob = r.uniform(0, FFit)
            n = binsearch(prob, ffit, ssize)
            cn[nn1[n]] += 1
            g[nn1[n]].append(j)
            g[j].append(nn1[n])

    return g, cn, ft
Esempio n. 3
0
def lognormdd(mu, sigma, m, nodes):
    cn = [2, 2, 2]
    ft = []
    fit = []
    g = [[1, 2], [0, 2], [0, 1]]
    ft.append(r.lognormvariate(mu, sigma))
    Fit = ft[0]
    fit.append(Fit)
    ft.append(r.lognormvariate(mu, sigma))
    Fit += ft[1]
    fit.append(Fit)
    ft.append(r.lognormvariate(mu, sigma))
    Fit += ft[2]
    fit.append(Fit)

    for j in range(3, nodes):
        g.append([])
        cn.append(m)
        for i in range(m):
            prob = r.uniform(0, Fit)
            n = binsearch(prob, fit, j)
            cn[n] += 1
            g[n].append(j)
            g[j].append(n)
        ft.append(r.lognormvariate(mu, sigma))
        Fit += ft[j]
        fit.append(Fit)

    return g, cn, ft
Esempio n. 4
0
def expo_search(arr, size, target):

    if (size == 0):
        print("Element not found")
        return -1

    bound = 1

    while (bound < size and arr[bound] < target):
        bound *= 2
        #print("Searching for range in: ",bound)

    return bin_s.binsearch(arr, bound // 2, min(bound, size - 1), target)
Esempio n. 5
0
 def EqualFalse(self):
     for _list, key, index in (([0, 1, 2, 3, 4,
                                 5], 3, 3), ([0, 1, 2, 3, 4, 5], 0, 0),
                               ([0, 1, 2, 3, 4,
                                 5], 4, 4), ([0, 1, 2, 3, 4, 5], 5, 5),
                               ([0, 1, 2, 3, 4,
                                 5], 1, 1), ([0, 1, 2, 3, 4, 5], 2, 2),
                               ([0, 1, 2, 3, 4,
                                 6], 6, 5), ([0, 1, 4, 7, 9, 10], 4, 2),
                               ([0, 2, 53, 364, 1235, 23523], 2,
                                1), ([0, 2, 53, 364, 1235,
                                      23523], 23523, 5)):
         result = bs.binsearch(_list, key)
         self.assertEqual(index, result)
Esempio n. 6
0
 def inRange(self):
     for _list, key, index in (([0, 1, 2, 3, 4,
                                 5], 3, 3), ([0, 1, 2, 3, 4, 5], 0, 0),
                               ([0, 1, 2, 3, 4,
                                 5], 4, 4), ([0, 1, 2, 3, 4, 5], 5, 5),
                               ([0, 1, 2, 3, 4,
                                 5], 1, 1), ([0, 1, 2, 3, 4, 5], 2, 2),
                               ([0, 1, 2, 3, 4,
                                 6], 6, 5), ([0, 1, 4, 7, 9, 10], 4, 2),
                               ([0, 2, 53, 364, 1235, 23523], 2,
                                1), ([0, 2, 53, 364, 1235,
                                      23523], 23523, 5)):
         result = bs.binsearch(_list, key)
         self.assertIn(result, _list)
Esempio n. 7
0
 def NoneFalse(self):
     for _list, key, index in (([0, 1, 2, 3, 4,
                                 5], 3, 3), ([0, 1, 2, 3, 4, 5], 0, 0),
                               ([0, 1, 2, 3, 4,
                                 5], 4, 4), ([0, 1, 2, 3, 4, 5], 5, 5),
                               ([0, 1, 2, 3, 4,
                                 5], 1, 1), ([0, 1, 2, 3, 4, 5], 2, 2),
                               ([0, 1, 2, 3, 4,
                                 6], 6, 5), ([0, 1, 4, 7, 9, 10], 11, None),
                               ([0, 2, 53, 364, 1235, 23523], 2,
                                1), ([0, 2, 53, 364, 1235,
                                      23523], 23523, 5)):
         result = bs.binsearch(_list, key)
         if key not in _list:
             self.assertEqual(key, result)
Esempio n. 8
0
def lognormdd(mu, sigma, m, alpha, nodes):
   cn = [1,1]; ft=[]; fit =[];
   g = [[1],[0]];
   ft.append((r.lognormvariate(mu,sigma))**alpha); Fit = ft[0]; fit.append(Fit)
   ft.append((r.lognormvariate(mu,sigma))**alpha); Fit += ft[1]; fit.append(Fit)

   for j in range(2,nodes):
      g.append([]); cn.append(m);
      for i in range(m):
         prob=r.uniform(0,Fit); n = binsearch(prob, fit, j);
         cn[n] += 1;
         g[n].append(j);
         g[j].append(n);
      ft.append((r.lognormvariate(mu,sigma))**alpha); Fit += ft[j]; fit.append(Fit)

   return g, cn, ft
Esempio n. 9
0
graph.add_vertices(2)
graph.add_edges([(0, 1)])
ft.append((r.lognormvariate(mu, sigma))**alpha)
Fit = ft[0]
fit.append(Fit)
ft.append((r.lognormvariate(mu, sigma))**alpha)
Fit += ft[1]
fit.append(Fit)

for j in range(2, nodes):
    g.append([])
    cn.append(m)
    graph.add_vertices(1)
    for i in range(m):
        prob = r.uniform(0, Fit)
        n = binsearch(prob, fit, j)
        cn[n] += 1
        g[n].append(j)
        g[j].append(n)
        graph.add_edges([(n, j)])
    ft.append((r.lognormvariate(mu, sigma))**alpha)
    Fit += ft[j]
    fit.append(Fit)

igraph.plot(graph,
            'a10.pdf',
            layout="fr",
            vertex_label=None,
            vertex_color="blue",
            vertex_size=7,
            edge_width=.1,
Esempio n. 10
0
m=2; mu=0; sigma=10.; nodes=1000;  

cn = [1,1]; ft=[]; fit =[];
g = [[1],[0]];
graph = igraph.Graph()
graph.add_vertices(2)
graph.add_edges([(0,1)])
ft.append(r.lognormvariate(mu,sigma)); Fit = ft[0]; fit.append(Fit)
ft.append(r.lognormvariate(mu,sigma)); Fit += ft[1]; fit.append(Fit)

for j in range(2,nodes):
   g.append([]); cn.append(m);
   graph.add_vertices(1)
   for i in range(m):
      prob=r.uniform(0,Fit); n = binsearch(prob, fit, j);
      cn[n] += 1;
      g[n].append(j);
      g[j].append(n);
      graph.add_edges([(n,j)])
   ft.append(r.lognormvariate(mu,sigma)); Fit += ft[j]; fit.append(Fit)

igraph.plot(graph, layout="fr", vertex_label=None, vertex_size=4, edge_width=.2)



igraph.plot(graph, layout="kk", vertex_label=None, vertex_size=5, edge_width=.3)
igraph.plot(graph, layout="fr", vertex_label=None, vertex_size=5, edge_width=.3)


Esempio n. 11
0
 def testBinsearchKnownValues(self):
     for _list, key, index in self.knowValues:
         result = bs.binsearch(_list, key)
         self.assertEqual(index, result)
from binsearch import binsearch

bs = binsearch()

array = [1, 3, 5, 17, 25, 31, 33, 45, 55, 56, 57, 87, 90, 99]

q = 1
print bs.search(array, q) == 0

q = 5
print bs.search(array, q) == 2 

q = 87
print bs.search(array, q) == 11 

q = 99
print bs.search(array, q) == 13 

q = 6
print bs.search(array, q) == -1 

q = 60
print bs.search(array, q) == -1