i noticed the faces of human repeated or similar, 
and would like to prove whether evolution a several generations will 
return to the original intelligence of ancester

On Friday, November 18, 2016 at 1:55:31 PM UTC+8, meInvent bbird wrote:
> how to simulate the situation in DNA evolution for finding the minimum 
> population needed and minimum samples selected to mating in order to no 
> extinction in any one of original species and new species
> 
> assume mating are randomly selected to become a couple,
> how to keep species good which means no extinction in original species
> 
> i use i+j to get new species, 
> but i do not know whether there is limit in evolution, i assume
> limit is 7, then extra evolution will go back to past species and 
> cycle again
> 
> import matplotlib.pyplot as plt
> import random
> dict = {}
> dist = {}
> maxnum = 5
> allowedmax = 7
> for i in range(1,allowedmax+1):
>     dist[str(i)] = 0
> 
> rr = range (1,maxnum)
> for i in range (1,maxnum):
>     for j in range (1,maxnum):
>         if i < j:
>             print("(" +str(i) + "," + str(j) + ")");
>             dict[str(i) + str(j)] = 1;
>             dist[str(i+j)] = dist[str(i+j)] + 1
>             if i+j > max(rr or [0]):
>                  rr = rr + [i+j];
> 
> original = rr;
> for numberofevolutions in range(1,10):
>     rr2 = []
>     samples = random.sample(original, len(original)-2)
>     print("total rr")
>     print(str(rr))
>     print("samples")
>     print(str(samples))
>     for i in samples:
>         for j in samples:
>             if i < j:
>                 print("(" +str(i) + "," + str(j) + ")");
>                 if i+j > allowedmax:
>                     dict[str(i) + str(j)] = (i+j) % allowedmax;
>                     dist[str((i+j) % allowedmax)] = dist[str((i+j) % 
> allowedmax)] + 1
>                     if ((i+j) % allowedmax) > max(rr2 or [0]):
>                         rr2 = rr2 + [((i+j) % allowedmax)];
>                 else:
>                     dict[str(i) + str(j)] = i+j;
>                     dist[str(i+j)] = dist[str(i+j)] + 1
>                     if i+j > max(rr2 or [0]):
>                         rr2 = rr2 + [i+j];
>     temp = rr
>     rr = rr2
>     rr2 = temp
> 
> plt.bar(range(len(dist)), dist.values(), align='center')
> plt.xticks(range(len(dist)), dist.keys())
> plt.show()

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to