cs224d 作业 problem set1 (一) 主要是实现word2vector模型,SGD,CBOW,Softmax,算法

'''
Created on 2017年9月13日

@author: weizhen
'''
import numpy as np
def sigmoid(x):
    return 1 / (1 + np.exp(-x))

首先上来的是最简单的sigmoid激励函数,

至于为什么选他做激励函数,

1、因为这个函数能将定义域为(-inf,+inf)的值映射到(0,1)区间,便于计算(能够消除量纲的影响)

2、这个函数的变化曲线不是特变陡峭,每一点处都可导

3、这个函数的导数为y(1-y),即用他原来的函数值就可以求出其导数的值,便于计算

 

如果感觉写得还行请大家抢个沙发啥的,小弟不胜感激。

 

 

 

误差的反向传递求gradxi

 

 

 

  

  

 

 

所以

 

 

 

 

 

 

 

 

则 

 

To Summary:

 

Tip3:上面公式中 的值是由输出向量wc与每一轮的变量值x相乘得来的,使用交叉熵函数作为损失函数主要是 为了恒量输出向量与正确分布的相似程度

那么每次在误差的反向传播过程中,

如何将梯度下降方法应用到变量x和变量wc上呢?

需要首先求出目标函数对于x和变量wc的导数gradxi和gradwi

然后指定相应的步长d(可以对于x和变量wc应用相同的步长)

然后使用梯度下降公式,来对x和wc的值进行更新

xi+1=xi+d*gradxi

wi+1=wi+d*gradwi

在将得到的两个新的值代入到 交叉熵函数里边CrossEntropy(xi+1,wi+1)

否则继续迭代。

 

上面所有的公式推导都是在求gradxi,并且在这过程中需要使用到交叉熵关于  x和变量wc隐函数的导数,也就是交叉熵对softmax函数求导,这时候可以进行相应的化简

这里边有两种情况

 当fy=fc时  $\frac{\partial Entropy}{\partial z_{y}}=z_{y}-1$ 即如果是正对的节点的误差传播,对后一节点的导数,可以用当前前向传播传播过程计算出来的值$z_{y}-1$来计算gradz

 当fy不等于fc时  $\frac{\partial Entropy}{\partial z_{y}}=z_{y}$ 即如果不是正对的节点的误差传播,对后一节点的导数,可以用当前前向传播传播过程计算出来的值$z_{y}$来计算gradz

 

如果实在不明白可以参考以下图片,第一张图片是交叉熵函数对x变量求偏导,第二张图片是交叉熵函数对w变量求偏导

cs224d 作业 problem set1 (一) 主要是实现word2vector模型,SGD,CBOW,Softmax,算法_第1张图片

 

下面这张图片是交叉熵损失函数对变量w求偏导,这里将w=(wc,wy)

cs224d 作业 problem set1 (一) 主要是实现word2vector模型,SGD,CBOW,Softmax,算法_第2张图片

 

接下来是sigmoid函数的导数 

'''
Created on Sep 11, 2017

@author: p0079482
'''
def sigmoid_graf(f):
    """
        计算Sigmoid的梯度
    """
    f = f * (1 - f)
    
    return f

上面这个就没啥可说的了,就是求神经元的导数

下面是softmax函数,能够将[3,1,3]类似这种的输出结果通过exp(3)/[exp(3)+exp(1)+exp(3)]这种形式映射到(0,1)的概率区间,

便于下一步我们进行交叉熵计算

下面的代码是数值求微分的方法,来检验上一步中计算的导数值和真实值的区别是否足够小,即通过公式算出来的导数是否精确

'''
Created on Sep 11, 2017

@author: p0079482
'''
import random
import numpy as np
def gradcheck_naive(f,x):
    """ 对一个函数f求梯度检验
        -f 输入x,然后输出loss和梯度的函数
        -x 就是输入
     """
     
    rndstate = random.getstate() 
      #获取当前随机数的环境状态,以便下次再使用
    random.setstate(rndstate)
    fx,grad=f(x)
    h=1e-4
     
     #遍历x的每一维
     #单个数组的迭代
     #nditer将输入数组视为只读对象。要修改数组元素,必须指定读写( read-write)或只写(write-only)模式
     
    it = np.nditer(x,flags=['multi_index'],op_flags=['readwrite'])
    while not it.finished:
         ix=it.multi_index
         old_val=x[ix]
         x[ix]=old_val-h
         random.setstate(rndstate)
         (fxh1,_)=f(x)
         
         x[ix]=old_val+h
         random.setstate(rndstate)
         (fxh2,_)=f(x)
         
         numgrad = (fxh2-fxh1)/(2*h)
         x[ix] = old_val
         
         #对比梯度
         reldiff = abs(numgrad-grad[ix])/max(1,abs(numgrad),abs(grad[ix]))
         if reldiff>1e-5:
             print("Gradient check failed.")
             print("First gradient error found at index %s"%str(ix))
             print("Your gradient: %f \t Numerical gradient: %f"%(grad[ix],numgrad))
             return
         it.iternext()  #Step to next dimension
    print("Gradient check passed!")
      
    
         
         
         

下面的代码是计算一个一层全连接网络,一层softmax层的程序。并且计算了梯度的反向传播。

'''
Created on Sep 11, 2017

@author: p0079482
'''

"""写出只有一个隐藏层其激活函数为sigmoid的神经网络前向和后向传播代码"""
import numpy as np
from q1_sigmoid import sigmoid
from q1_softmax import softmax
from q2_sigmoid import sigmoid_graf
def forward_backward_prop(data, labels, params, verbose=False):
    """2 个隐层的神经网络的前向运算和反向传播"""
    
    if len(data.shape) >= 2:
        (N, _) = data.shape
    
    dimensions = [1] * 3
    dimensions[0]=N
    dimensions[1]=20
    dimensions[2]=labels.shape
    
    
    # ## 展开每一层神经网络的参数
    t = 0
    W1 = np.reshape(params[t:t + dimensions[0] * dimensions[1]], (dimensions[0], dimensions[1]))
    t += dimensions[0] * dimensions[1]
    b1 = np.reshape(params[t:t + dimensions[1]], (1, dimensions[1]))
    t += dimensions[1]
    W2 = np.reshape(params[t:t + dimensions[1] * dimensions[2]], (dimensions[1], dimensions[2]))
    t += dimensions[1] * dimensions[2]
    b2 = np.reshape(params[t:t + dimensions[2]], (1, dimensions[2]))
    
    # ##前向运算
    
    # 第一个隐层做内积
    a1 = sigmoid(data.dot(W1) + b1)
    # 第二个隐层做内积
    a2 = softmax(a1.dot(W2) + b2)
    
    cost = -np.sum(np.log(a2[labels == 1])) / N
    
    # ## 反向传播
    
    # Calculate analytic gradient for the cross entropy function
    grad_a2 = (a2 - labels) / N
    
    # Backpropagate through the second latent layer
    gradW2 = np.dot(a1.T, grad_a2)
    gradb2 = np.sum(grad_a2, axis=0, keepdims=True)
    
    # Backpropagate through the first latent layer
    grad_a1 = np.dot(grad_a2, W2.T) * sigmoid_graf(a1)
    
    gradW1 = np.dot(data.T, grad_a1)
    gradb1 = np.sum(grad_a1, axis=0, keepdims=True)
    
    if verbose:  # Verbose mode for logging information
        print("W1 shape:{}".format(str(W1.shape)))
        print("W1 gradient shape: {}".format(str(gradW1.shape)))
        print("b1 shape: {}".format(str(b1.shape)))
        print("b1 gradient shape: {}".format(str(gradb1.shape)))
    
    # ## 梯度拼起来
    grad = np.concatenate((gradW1.flatten(), gradb1.flatten(), gradW2.flatten(), gradb2.flatten()))
    return cost, grad

    

 

下面的代码是随机梯度下降,SGD真的是和普通的梯度下降算法相比特别特别地块和有效来着

'''
Created on Sep 12, 2017

@author: p0079482

实现随机梯度下降
随机梯度下降每1000轮,就保存一下现在训练得到的参数
'''
SAVE_PARAMS_EVERY = 1000

import glob
import os.path as op
import pickle  as pickle
import sys
import random

def load_saved_params():
    """
        载入之前的参数以免从头开始训练
    """
    st = 0
    for f in glob.glob("saved_params_*.npy"):
        iter = int(op.splitext(op.basename(f))[0].split("_")[2])
        if(iter > st):
            st = iter
    
    if st > 0:
        with open("saved_params_%d.npy" % st, "rb") as f:
            params = pickle.load(f)
            state = pickle.load(f)
        return st, params, state
    else:
        return st, None, None
    
def save_params(iter, params):
    with open("saved_params_%d.npy" % iter, "wb") as f:
        pickle.dump(params, f)
        pickle.dump(random.getstate(), f)

def sgd(f, x0, step, iterations, postprocessing=None, useSaved=False, PRINT_EVERY=10, ANNEAL_EVERY=20000):
    """随机梯度下降
    输入:
    f:需要最优化的函数
    x0:SGD的初始值
    step:SGD的步长
    iterations:总的迭代次数
    postprocessing:参数后处理(比如word2vec里需要对词向量做归一化处理)
    PRINT_EVERY:指明多少次迭代以后输出一下状态
  输出:
    x:SGD完成后的输出参数
    """
    if useSaved:
        start_iter, oldx, state = load_saved_params()
        if start_iter > 0:
            x0 = oldx;
            step *= 0.5
        if state:
            random.setstate(state)
    else:
        start_iter = 0
    
    x = x0
    
    if not postprocessing:
        postprocessing = lambda x:x
    
    expcost = None
    
    for iter in range(start_iter + 1, iterations + 1):
        cost, grad = f(x)
        x = x - step * grad
        x = postprocessing(x)
        
        if iter % PRINT_EVERY == 0:
            print("iter#{},cost={}".format(iter, cost))
            sys.stdout.flush()
        
        if iter % SAVE_PARAMS_EVERY == 0 and useSaved:
            save_params(iter, x)
        
        if iter % ANNEAL_EVERY == 0:
            step *= 0.5
    return x

    

 

下面的代码是softmax函数的误差反向传播,

skip-gram模型的实现

'''
Created on Sep 11, 2017

@author: p0079482
'''
"""实现word2vec模型,并使用随机梯度下降方法SGD训练属于自己的词向量
      首先写一个辅助函数对矩阵中的每一行进行归一化,
      同样在这个文件中完成对softmax,
      负采样损失函数
      以及梯度计算函数的实现
      然后完成面向skip-gram的梯度损失函数
"""
import numpy as np
import random

from q1_softmax import softmax
from q2_gradcheck import gradcheck_naive
from q2_sigmoid import sigmoid_graf
from q1_sigmoid import sigmoid

def normalizeRows(x):
    """
       行归一化函数
    """
    N=x.shape[0]
    x/=np.sqrt(np.sum(x**2,axis=1)).reshape((N,1))+1e-30
    
    return x

def test_normalize_rows():
    print("Testing normalizeRows")
    x = normalizeRows(np.array([[3.0,4.0],[1,2]]))
    """结果应该是[[0.6,0.8],[0.4472136,0.89442719]]"""
    print(x)
    assert(np.amax(np.fabs(x-np.array([[0.6,0.8],[0.4472136,0.89442719]])))<= 1e-6)
    print(" ")

def softmaxCostAndGradient(predicted,target,outputVectors,dataset):
    """word2vec的Softmax损失函数"""
    
    """
       输入:
       predicted:预测词向量的numpy数组
       target:目标词的下标
       outputVectors:所有token的"output"向量(行形式)
       dataset:用来做负例采样的,这里其实没用着
    
        输出:
        cost:输出的互熵损失
        gradPred:the gradient with respect to the predicted word vector
        grad:    the gradient with respect to all the other word vectors
    """
    probabilities = softmax(predicted.dot(outputVectors.T))
    cost = -np.log(probabilities[target])
    delta = probabilities
    delta[target] -= 1
    N = delta.shape[0]
    D = predicted.shape[0]
    grad = delta.reshape((N,1))*predicted.reshape((1,D))
    gradPred = (delta.reshape((1,N)).dot(outputVectors)).flatten()
    
    return cost,gradPred,grad

def negSamplingCostAndGradient(predicted,target,outputVectors,dataset,K=10):
    """
        Word2vec模型负例采样后的损失函数和梯度
    """
    grad = np.zeros(outputVectors.shape)
    gradPred = np.zeros(predicted.shape)
    
    indices = [target]
    for k in range(K):
        newidx = dataset.sampleTokenIdx()
        while newidx == target:
            newidx = dataset.sampleTokenIdx()
        indices+=[newidx]
    
    labels = np.array([1]+[-1 for k in range(K)])
    vecs = outputVectors[indices,:]
    
    t=sigmoid(vecs.dot(predicted)*labels)
    cost = -np.sum(np.log(t))
    
    delta = labels*(t-1)
    gradPred = delta.reshape((1,K+1)).dot(vecs).flatten()
    gradtemp = delta.reshape((K+1,1)).dot(predicted.reshape((1,predicted.shape[0])))
    for k in range(K+1):
        grad[indices[k]]+=gradtemp[k,:]
    
    t = sigmoid(predicted.dot(outputVectors[target,:]))
    cost = -np.log(t)
    delta = t - 1
    
    gradPred+=delta*outputVectors[target,:]
    grad[target,:] += delta*predicted
    
    for k in range(K):
        idx = dataset.sampleTokenIdx()
        
        t = sigmoid(-predicted.dot(outputVectors[idx,:]))
        cost += -np.log(t)
        delta = 1-t
        
        gradPred += delta*outputVectors[idx,:]
        grad[idx,:]+=delta*predicted
    
    return cost,gradPred,grad

def skipgram(currentWord,C,contextWords,tokens,inputVectors,outputVectors,
             dataset,word2vecCostAndGradient=softmaxCostAndGradient):
    """
        Skip-gram model in word2vec
        
        skip-gram模型的实现
        输入:
        currentWord:当前中心词所对应的串
        C:上下文大小(词窗大小)
        contextWords:最多2*C个词
        tokens:对应词向量中词下标的字典
        inputVectors:"input" word vectors (as rows) for all tokens
        outputVectors: "output" word vectors (as rows) for all tokens
        word2vecCostAndGradient: the cost and gradient function for a prediction vector
                                 given the target word vectors,
                                 could be one of the two cost functions you implemented
                                 above
                                 
        输出:
        cost:skip-gram模型算得的损失值
        grad:词向量对应的梯度
    """
    currentI=tokens[currentWord]
    predicted = inputVectors[currentI,:]
    
    cost=0.0
    gradIn = np.zeros(inputVectors.shape)
    gradOut = np.zeros(outputVectors.shape)
    for cwd in contextWords:
        idx = tokens[cwd]
        cc,gp,gg = word2vecCostAndGradient(predicted,idx,outputVectors,dataset)
        cost+=cc
        gradOut += gg
        gradIn[currentI,:]+=gp
    return cost,gradIn,gradOut

def word2vec_sgd_wrapper(word2vecModel,tokens,wordVectors,dataset,C,word2vecCostAndGradient=softmaxCostAndGradient):
    batchsize = 50
    cost =0.0
    grad = np.zeros(wordVectors.shape)
    N=wordVectors.shape[0]
    splitIndex=int(N/2)
    inputVectors = wordVectors[:splitIndex,:]
    outputVectors = wordVectors[splitIndex:,:]
    for i in range(batchsize):
        C1 = random.randint(1,C)
        centerword,context=dataset.getRandomContext(C1)
        
        if word2vecModel == skipgram:
            denom =1
        else:
            denom =1
        
        c,gin,gout = word2vecModel(centerword,C1,context,tokens,inputVectors,outputVectors,dataset,word2vecCostAndGradient)
        cost+=c/batchsize/denom
        grad[:splitIndex,:]+=gin/batchsize/denom
        grad[splitIndex:,:]+=gout/batchsize/denom
     
    return cost, grad

def test_word2vec():
    """
         Interface to the dataset for negative sampling
    """
 
    dataset = type('dummy',(),{})()
    def dummySampleTokenIdx():
        return random.randint(0,4)
     
    def getRandomContext(C):
        tokens = ["a","b","c","d","e"]
        return tokens[random.randint(0,4)],[tokens[random.randint(0,4)] for i in range(2*C)]
     
    dataset.sampleTokenIdx = dummySampleTokenIdx
    dataset.getRandomContext = getRandomContext
     
    random.seed(31415)
    np.random.seed(9265)
    dummy_vectors = normalizeRows(np.random.randn(10,3))
    dummy_tokens = dict([("a",0),("b",1),("c",2),("d",3),("e",4)])
    print("===== Gradient check for skip-gram ======")
    #gradcheck_naive(lambda vec:word2vec_sgd_wrapper(skipgram,dummy_tokens,vec,dataset,5),dummy_vectors)
    gradcheck_naive(lambda vec:word2vec_sgd_wrapper(skipgram,dummy_tokens,vec,dataset,5,negSamplingCostAndGradient),dummy_vectors)
    print("\n===== Gradient check for CBOW")
    #gradcheck_naive(lambda vec:word2vec_sgd_wrapper(cbow,dummy_tokens,vec,dataset,5),dummy_vectors)
    #gradcheck_naive(lambda vec:word2vec_sgd_wrapper(cbow,dummy_tokens,vec,dataset,5,negSamplingCostAndGradient),dummy_vectors)
     
    print("\n===== Results ===")
    print(skipgram("c",3,["a","b","e","d","b","c"],dummy_tokens,dummy_vectors[:5,:],dummy_vectors[5:,:],dataset))
    #print(skipgram("c",1,["a","b"],dummy_tokens,dummy_vectors[:5,:],dummy_vectors[5:,:],dataset,negSamplingCostAndGradient))
    #print(cbow("a",2,["a","b","c","a"],dummy_tokens,dummy_vectors[:5,:],dummy_vectors[5:,:],dataset))
    #print(cbow("a",2,["a","b","a","c"],dummy_tokens,dummy_vectors[:5,:],dummy_vectors[5:,:],dataset,negSamplingCostAndGradient))
     
if __name__=="__main__":
    test_normalize_rows()
    test_word2vec()
    
        

 

 

下面的模型是word2vector模型的训练,真正的纯手写版的,没有利用任何包。

(看来我还是默默地再天朝搬砖吧,感觉一旦进了斯坦福都毕业不了)

'''
Created on 2017年9月17日

@author: weizhen
'''
import random
import numpy as np
from q3_word2vec import skipgram,word2vec_sgd_wrapper,negSamplingCostAndGradient
from q3_sgd import sgd,load_saved_params
from data_utils import StanfordSentiment
# Reset the random seed to make sure that everyone gets the same results
dataset = StanfordSentiment()
tokens = dataset.tokens()
nWords = len(tokens)

#going to train 10-dimensional vectors for this assignment
dimVectors = 10

#Context size
C=5
# Train word vectors (this could take a while!)

# Reset the random seed to make sure that everyone gets the same results
random.seed(31415)
np.random.seed(9265)
wordVectors = np.concatenate(((np.random.rand(nWords, dimVectors) - .5) / dimVectors, 
                              np.zeros((nWords, dimVectors))), axis=0)
wordVectors0 = sgd(lambda vec: word2vec_sgd_wrapper(skipgram, tokens, vec, dataset, C, negSamplingCostAndGradient), 
                   wordVectors, 0.3, 40000, None, True, PRINT_EVERY=10)
# sanity check: cost at convergence should be around or below 10

# sum the input and output word vectors

#st, wordVectors0, state2 = load_saved_params();
wordVectors = (wordVectors0[:int(nWords),:] + wordVectors0[int(nWords):,:])

print("\n=== For autograder ===")
checkWords = ["the", "a", "an", "movie", "ordinary", "but", "and"]
checkIdx = [tokens[word] for word in checkWords]
checkVecs = wordVectors[checkIdx, :]
print(checkVecs)

输出的log如下所示

iter#10,cost=20.43394753392233
iter#20,cost=21.958872793932695
iter#30,cost=21.19652773138706
iter#40,cost=20.434104390006
iter#50,cost=22.568897721749693
iter#60,cost=23.7887821643947
iter#70,cost=23.788746846678066
iter#80,cost=20.43372965152089
iter#90,cost=21.04397549635104
iter#100,cost=24.093923168600938
iter#110,cost=23.941407071171348
iter#120,cost=22.263861158139957
iter#130,cost=21.34917296135529
iter#140,cost=23.789000157131245
iter#150,cost=20.58633854560291
iter#160,cost=21.04411292794054
iter#170,cost=21.348785582867343
iter#180,cost=20.128956212458444
iter#190,cost=17.68927651078614
iter#200,cost=24.551281877202594
iter#210,cost=19.365943158625402
iter#220,cost=23.48358084824119
iter#230,cost=20.739473371395963
iter#240,cost=23.331734839583465
iter#250,cost=21.349294746785546
iter#260,cost=22.569291250356102
iter#270,cost=22.111001535622552
iter#280,cost=23.483817878664986
iter#290,cost=22.41604937462105
iter#300,cost=20.43404997423582
iter#310,cost=20.738462084119163
iter#320,cost=21.65431510819316
iter#330,cost=20.433424632590597
iter#340,cost=20.586194398205283
iter#350,cost=21.043497293197134
iter#360,cost=20.434210753312154
iter#370,cost=22.1115615477318
iter#380,cost=19.823479540802577
iter#390,cost=22.26238128164097
iter#400,cost=17.3851857415029
iter#410,cost=23.02602502114436
iter#420,cost=20.280452941633577
iter#430,cost=19.365398822916518
iter#440,cost=21.19539162111903
iter#450,cost=18.756499819557227
iter#460,cost=18.298244927755217
iter#470,cost=21.042527034737663
iter#480,cost=21.043436272476
iter#490,cost=23.78649975282614
iter#500,cost=21.65376695903663
iter#510,cost=23.02365296377378
iter#520,cost=20.585225334304308
iter#530,cost=21.805357129741573
iter#540,cost=21.501664083888056
iter#550,cost=23.179079044742796
iter#560,cost=21.34796413225379
iter#570,cost=24.85601481195186
iter#580,cost=23.48091699054022
iter#590,cost=19.66988400355529
iter#600,cost=21.498581535152585
iter#610,cost=21.500556113270747
iter#620,cost=21.34825880764262
iter#630,cost=23.33220471434376
iter#640,cost=24.703433028506147
iter#650,cost=23.17761755597339
iter#660,cost=22.56668195223671
iter#670,cost=22.87094078135781
iter#680,cost=21.34221288437427
iter#690,cost=23.480246136374497
iter#700,cost=24.84791975048906
iter#710,cost=19.05284767959629
iter#720,cost=23.171434178140206
iter#730,cost=23.477309072254386
iter#740,cost=23.474987428120915
iter#750,cost=21.802135049462485
iter#760,cost=22.261717418374932
iter#770,cost=20.730574994338504
iter#780,cost=22.407451179516883
iter#790,cost=20.42229639980484
iter#800,cost=26.675699074425637
iter#810,cost=19.80617900087541
iter#820,cost=18.752268985668955
iter#830,cost=22.404188531271533
iter#840,cost=23.616207547486315
iter#850,cost=19.963768912913736
iter#860,cost=21.64013692578945
iter#870,cost=22.564196263418737
iter#880,cost=23.92797482171111
iter#890,cost=22.083554472146805
iter#900,cost=24.83531458079742
iter#910,cost=23.01089358910072
iter#920,cost=20.56834562348311
iter#930,cost=18.74162004976447
iter#940,cost=21.169753353787154
iter#950,cost=21.16994232114183
iter#960,cost=24.65771714331896
iter#970,cost=24.660876903163388
iter#980,cost=25.537323503031985
iter#990,cost=21.45906805240627
iter#1000,cost=23.0633203855919
iter#1010,cost=19.26634763337737
iter#1020,cost=22.20695964275623
iter#1030,cost=24.140785235630062
iter#1040,cost=19.32671953464214
iter#1050,cost=22.197143904187087
iter#1060,cost=21.76895238538746
iter#1070,cost=20.99471778006633
iter#1080,cost=21.10451680876045
iter#1090,cost=22.32150085144179
iter#1100,cost=20.19022215207385
iter#1110,cost=20.472661986453858
iter#1120,cost=21.22433188820315
iter#1130,cost=23.219668182083122
iter#1140,cost=20.433979602143182
iter#1150,cost=21.440312961484253
iter#1160,cost=23.28184096814389
iter#1170,cost=19.783486269987012
iter#1180,cost=23.088667993843934
iter#1190,cost=25.11573092765368
iter#1200,cost=20.03099392915478
iter#1210,cost=25.294572838316505
iter#1220,cost=20.005576304291104
iter#1230,cost=21.256084166262017
iter#1240,cost=21.793303723635418
iter#1250,cost=24.046687997449393
iter#1260,cost=22.153088612038903
iter#1270,cost=20.64862425110348
iter#1280,cost=21.89072588927919
iter#1290,cost=19.640525335766963
iter#1300,cost=21.902854615559704
iter#1310,cost=23.772281540201117
iter#1320,cost=23.048963013202147
iter#1330,cost=20.143337993843577
iter#1340,cost=23.42462655074958
iter#1350,cost=18.3461426913954
iter#1360,cost=22.62082443071151
iter#1370,cost=21.896403299110396
iter#1380,cost=19.035491589588247
iter#1390,cost=19.909445372805777
iter#1400,cost=25.003380912451572
iter#1410,cost=20.746398404895977
iter#1420,cost=23.980853791700067
iter#1430,cost=20.4908656563212
iter#1440,cost=22.023812148519372
iter#1450,cost=20.512684610614972
iter#1460,cost=22.187529478933328
iter#1470,cost=22.489792328322267
iter#1480,cost=20.304006959969513
iter#1490,cost=21.05777844294107
iter#1500,cost=19.23068796420965
iter#1510,cost=20.41597121089847
iter#1520,cost=18.68840957270891
iter#1530,cost=20.504764364006043
iter#1540,cost=20.744552179077072
iter#1550,cost=17.71058932827479
iter#1560,cost=20.7119016123517
iter#1570,cost=20.415782063302085
iter#1580,cost=19.830228545170694
iter#1590,cost=20.924853332515905
iter#1600,cost=22.114899652528276
iter#1610,cost=22.224534274492562
iter#1620,cost=22.210525595796653
iter#1630,cost=21.412013867062555
iter#1640,cost=21.281509904739064
iter#1650,cost=19.7895017759403
iter#1660,cost=21.95610002448983
iter#1670,cost=18.904335492761696
iter#1680,cost=18.446343128331552
iter#1690,cost=18.913249455086355
iter#1700,cost=20.663921886042637
iter#1710,cost=18.351006855536767
iter#1720,cost=19.28476691803272
iter#1730,cost=19.814881847058274
iter#1740,cost=21.700250728035485
iter#1750,cost=19.36456077291461
iter#1760,cost=21.033205816843598
iter#1770,cost=19.49167982806362
iter#1780,cost=20.194496607493818
iter#1790,cost=15.83249690795418
iter#1800,cost=19.6802066775836
iter#1810,cost=19.353783259538428
iter#1820,cost=20.02398504880047
iter#1830,cost=20.504854198149882
iter#1840,cost=20.961664630737175
iter#1850,cost=20.765124850977273
iter#1860,cost=21.093725770579592
iter#1870,cost=18.852217633169516
iter#1880,cost=20.472311735492763
iter#1890,cost=20.65554274932013
iter#1900,cost=19.49727025120949
iter#1910,cost=18.848240552624933
iter#1920,cost=20.21203578191967
iter#1930,cost=20.187603733591995
iter#1940,cost=17.343142849757363
iter#1950,cost=18.852797926995162
iter#1960,cost=19.102260864948125
iter#1970,cost=19.349797675170034
iter#1980,cost=18.70334014997324
iter#1990,cost=22.675928070641756
iter#2000,cost=18.253962227650703
iter#2010,cost=16.276204456030644
iter#2020,cost=21.01538514851784
iter#2030,cost=17.389246444862582
iter#2040,cost=15.525904269430823
iter#2050,cost=19.32524057358198
iter#2060,cost=19.992684939850704
iter#2070,cost=18.904840308213586
iter#2080,cost=20.834625126943823
iter#2090,cost=18.897921984063927
iter#2100,cost=19.78608432527696
iter#2110,cost=19.615428561077675
iter#2120,cost=18.882395455379747
iter#2130,cost=18.311440014377425
iter#2140,cost=19.77453327827058
iter#2150,cost=20.407303739200994
iter#2160,cost=20.14524943765691
iter#2170,cost=19.45442937771821
iter#2180,cost=18.5636334709931
iter#2190,cost=16.964937065029115
iter#2200,cost=19.855764765133166
iter#2210,cost=20.257466416442476
iter#2220,cost=19.648190988514717
iter#2230,cost=18.65235957843643
iter#2240,cost=18.948420701818215
iter#2250,cost=19.88431064195152
iter#2260,cost=16.668481564338858
iter#2270,cost=17.302392627988915
iter#2280,cost=18.07641880516417
iter#2290,cost=17.493941122334768
iter#2300,cost=18.598467841954292
iter#2310,cost=16.921245871396085
iter#2320,cost=18.750134083818498
iter#2330,cost=18.51583994751053
iter#2340,cost=15.31919555695057
iter#2350,cost=16.891350624891512
iter#2360,cost=16.43032780330675
iter#2370,cost=18.57426687676793
iter#2380,cost=16.20841177105797
iter#2390,cost=17.001840319489165
iter#2400,cost=16.632358395087234
iter#2410,cost=20.255106071559403
iter#2420,cost=17.09430550935529
iter#2430,cost=18.216994997196142
iter#2440,cost=19.165433669123473
iter#2450,cost=17.81499639052458
iter#2460,cost=18.08175314229179
iter#2470,cost=17.62055710384668
iter#2480,cost=18.238645231333425
iter#2490,cost=16.03235760404721
iter#2500,cost=16.751490849907782
iter#2510,cost=16.921415177163308
iter#2520,cost=16.87688718382906
iter#2530,cost=17.595768313954974
iter#2540,cost=17.92981408948951
iter#2550,cost=17.68198042651827
iter#2560,cost=18.91700677708645
iter#2570,cost=17.65780353676774
iter#2580,cost=17.43555232722718
iter#2590,cost=16.69055481365281
iter#2600,cost=18.013627982641392
iter#2610,cost=18.352856119531886
iter#2620,cost=18.928718097532663
iter#2630,cost=18.245735461491407
iter#2640,cost=15.724370106432955
iter#2650,cost=16.340945358991803
iter#2660,cost=17.070964023387987
iter#2670,cost=15.27851552971012
iter#2680,cost=16.073745347284174
iter#2690,cost=15.049984185570029
iter#2700,cost=17.950004527051203
iter#2710,cost=16.362327736044374
iter#2720,cost=15.54105734786712
iter#2730,cost=19.508763274658495
iter#2740,cost=19.171763854968276
iter#2750,cost=18.605917467271986
iter#2760,cost=15.045334061184072
iter#2770,cost=14.977410482899217
iter#2780,cost=15.927655278835775
iter#2790,cost=13.718947069265429
iter#2800,cost=16.690182122482025
iter#2810,cost=22.62721392320203
iter#2820,cost=14.772287040265105
iter#2830,cost=16.670609318499597
iter#2840,cost=18.241323826759153
iter#2850,cost=17.057094260509366
iter#2860,cost=15.628468157206184
iter#2870,cost=15.327542354673838
iter#2880,cost=18.240539756586628
iter#2890,cost=19.72627036489683
iter#2900,cost=15.217548067625572
iter#2910,cost=17.58848398112293
iter#2920,cost=16.323678826913387
iter#2930,cost=18.019137704885214
iter#2940,cost=14.255144054838361
iter#2950,cost=18.945533760423622
iter#2960,cost=15.545933691417382
iter#2970,cost=18.019607585949732
iter#2980,cost=16.38400461219766
iter#2990,cost=14.462830071875652
iter#3000,cost=15.829050560676674
iter#3010,cost=15.640359607726689
iter#3020,cost=15.734814842119995
iter#3030,cost=17.051802827054363
iter#3040,cost=15.698795972781786
iter#3050,cost=17.626799176622303
iter#3060,cost=15.58189574259386
iter#3070,cost=16.666879738061343
iter#3080,cost=14.51337168736781
iter#3090,cost=18.595484314565788
iter#3100,cost=16.712331482099533
iter#3110,cost=16.70420927682747
iter#3120,cost=18.38614419602451
iter#3130,cost=14.730737779582121
iter#3140,cost=13.44462468475206
iter#3150,cost=13.64852983570809
iter#3160,cost=18.220335491342173
iter#3170,cost=15.448559609973971
iter#3180,cost=15.188095631243808
iter#3190,cost=15.303769825651424
iter#3200,cost=14.031493348542444
iter#3210,cost=15.932781614613077
iter#3220,cost=16.650640778523233
iter#3230,cost=16.64506170623544
iter#3240,cost=16.199483795619482
iter#3250,cost=15.962973284656876
iter#3260,cost=15.35177912814041
iter#3270,cost=17.361464387129733
iter#3280,cost=16.020837307118775
iter#3290,cost=14.983629455269758
iter#3300,cost=14.950500475854534
iter#3310,cost=13.68523589693225
iter#3320,cost=16.123849433019387
iter#3330,cost=17.572973572314663
iter#3340,cost=16.130114775827934
iter#3350,cost=15.86118383067506
iter#3360,cost=15.238414376936168
iter#3370,cost=16.907415560882338
iter#3380,cost=16.165558011917064
iter#3390,cost=14.367558307377369
iter#3400,cost=15.178918875499148
iter#3410,cost=16.800663674040443
iter#3420,cost=13.819263448811313
iter#3430,cost=14.00677437556766
iter#3440,cost=15.8324874218273
iter#3450,cost=17.07003063728953
iter#3460,cost=14.563171653684714
iter#3470,cost=14.086995187006416
iter#3480,cost=14.75250546953916
iter#3490,cost=14.66865497952889
iter#3500,cost=14.995424419746202
iter#3510,cost=13.773498915207337
iter#3520,cost=13.550614491635951
iter#3530,cost=13.873814176138088
iter#3540,cost=14.278366442968732
iter#3550,cost=16.096562050686344
iter#3560,cost=14.205945431643226
iter#3570,cost=14.816333642259938
iter#3580,cost=13.744310020181818
iter#3590,cost=13.299528038848775
iter#3600,cost=13.884581486484905
iter#3610,cost=16.440571884143708
iter#3620,cost=15.186861634032637
iter#3630,cost=16.58505119914087
iter#3640,cost=16.74532481420517
iter#3650,cost=13.937652332188634
iter#3660,cost=12.977519299862104
iter#3670,cost=14.486427847211504
iter#3680,cost=16.345464498341332
iter#3690,cost=16.77819751859111
iter#3700,cost=14.307445783075645
iter#3710,cost=14.370598764966909
iter#3720,cost=14.917908708260349
iter#3730,cost=13.662635625115888
iter#3740,cost=13.826360184725546
iter#3750,cost=14.16531540176229
iter#3760,cost=12.341779368191197
iter#3770,cost=15.301062839118128
iter#3780,cost=15.802380057733584
iter#3790,cost=14.606105108607997
iter#3800,cost=13.456162922356858
iter#3810,cost=15.965265698427451
iter#3820,cost=14.967386588469498
iter#3830,cost=14.605993916976306
iter#3840,cost=12.611123562322735
iter#3850,cost=13.450023121555637
iter#3860,cost=13.37236728668698
iter#3870,cost=14.082430534026122
iter#3880,cost=13.45856012257604
iter#3890,cost=13.153109684937066
iter#3900,cost=12.766909212164446
iter#3910,cost=14.897228289949977
iter#3920,cost=14.858620319251031
iter#3930,cost=13.965507940016337
iter#3940,cost=14.943183135608876
iter#3950,cost=13.671026308790227
iter#3960,cost=15.58256138330821
iter#3970,cost=14.499244568755207
iter#3980,cost=14.568100922374054
iter#3990,cost=14.179022294249537
iter#4000,cost=14.49127307150968
iter#4010,cost=15.92849546325491
iter#4020,cost=14.16210742761118
iter#4030,cost=12.419608005005994
iter#4040,cost=14.152691760162892
iter#4050,cost=14.166810809113931
iter#4060,cost=14.294383706310269
iter#4070,cost=14.807941216140572
iter#4080,cost=12.274895226563478
iter#4090,cost=15.15780030771511
iter#4100,cost=15.407456774015237
iter#4110,cost=15.362585396842297
iter#4120,cost=15.032656655103866
iter#4130,cost=13.231695542289998
iter#4140,cost=15.119443621623445
iter#4150,cost=16.161333541252375
iter#4160,cost=15.194986791607946
iter#4170,cost=14.3315253615434
iter#4180,cost=12.635324221625957
iter#4190,cost=13.923639115300963
iter#4200,cost=14.548685543527249
iter#4210,cost=14.481433764083102
iter#4220,cost=14.489968268708349
iter#4230,cost=12.539832651169935
iter#4240,cost=12.626181985080938
iter#4250,cost=12.689229325857914
iter#4260,cost=13.27437033988944
iter#4270,cost=13.564526684020827
iter#4280,cost=14.031345121610125
iter#4290,cost=13.624234004136577
iter#4300,cost=13.586232011418033
iter#4310,cost=14.634029101141516
iter#4320,cost=13.3506531075753
iter#4330,cost=13.84731966296214
iter#4340,cost=12.5759561230877
iter#4350,cost=13.16961023134354
iter#4360,cost=15.332144014361942
iter#4370,cost=14.421573144975968
iter#4380,cost=13.996875292032742
iter#4390,cost=14.11785931697239
iter#4400,cost=13.180286599743587
iter#4410,cost=13.129252034845761
iter#4420,cost=13.467351158679602
iter#4430,cost=14.397233602347999
iter#4440,cost=15.068922968822442
iter#4450,cost=14.334974075455758
iter#4460,cost=11.670800828966605
iter#4470,cost=13.095769981101716
iter#4480,cost=13.240173305648922
iter#4490,cost=14.10923266548518
iter#4500,cost=13.757926459393486
iter#4510,cost=13.734267641722523
iter#4520,cost=13.297630048504775
iter#4530,cost=14.853188393341057
iter#4540,cost=12.550572877450648
iter#4550,cost=14.381166122810042
iter#4560,cost=12.1961150989913
iter#4570,cost=11.526982001600059
iter#4580,cost=11.91041218534468
iter#4590,cost=14.135289569456436
iter#4600,cost=12.726621830458587
iter#4610,cost=11.9718413617435
iter#4620,cost=15.489385989083718
iter#4630,cost=12.112692911799806
iter#4640,cost=13.02066127710948
iter#4650,cost=13.496409180629975
iter#4660,cost=12.838732499338821
iter#4670,cost=15.071836011837352
iter#4680,cost=13.43180730366144
iter#4690,cost=14.34290336999328
iter#4700,cost=13.831817054252102
iter#4710,cost=12.124057132003216
iter#4720,cost=11.53961984522319
iter#4730,cost=12.335056978898479
iter#4740,cost=12.528647642718092
iter#4750,cost=10.461563114236375
iter#4760,cost=12.684764616073094
iter#4770,cost=12.464605071489993
iter#4780,cost=11.888897071885811
iter#4790,cost=13.243261412014672
iter#4800,cost=13.192288109155557
iter#4810,cost=15.450231126768912
iter#4820,cost=11.388776075783563
iter#4830,cost=11.307711604718135
iter#4840,cost=14.642106933461434
iter#4850,cost=12.890525596317504
iter#4860,cost=13.926238324096918
iter#4870,cost=12.425116153563186
iter#4880,cost=14.653675751014848
iter#4890,cost=13.734159157779892
iter#4900,cost=15.046350117226606
iter#4910,cost=15.098125694092355
iter#4920,cost=11.683626755025573
iter#4930,cost=13.08895229930587
iter#4940,cost=12.855247057056339
iter#4950,cost=11.819738850457487
iter#4960,cost=9.989615013260757
iter#4970,cost=12.163908165625491
iter#4980,cost=11.226527511503846
iter#4990,cost=12.65628361411944
iter#5000,cost=12.505128781079051
iter#5010,cost=13.367322296950682
iter#5020,cost=12.543225427006961
iter#5030,cost=13.339492005004693
iter#5040,cost=12.255438864297355
iter#5050,cost=12.314693307625337
iter#5060,cost=13.08608275079548
iter#5070,cost=13.245960711785553
iter#5080,cost=12.375725426663127
iter#5090,cost=13.00137044777076
iter#5100,cost=12.469427547313536
iter#5110,cost=11.840715905879367
iter#5120,cost=13.380847878992604
iter#5130,cost=14.694111541125556
iter#5140,cost=13.753667281492616
iter#5150,cost=10.659487130454979
iter#5160,cost=12.427937724683893
iter#5170,cost=11.892045620654436
iter#5180,cost=13.019046668895605
iter#5190,cost=11.538438923345964
iter#5200,cost=12.138429314890583
iter#5210,cost=11.922113794736639
iter#5220,cost=12.867342593018362
iter#5230,cost=12.281190833301014
iter#5240,cost=11.834006966706552
iter#5250,cost=12.580757593813248
iter#5260,cost=10.155803422934657
iter#5270,cost=10.287107956702158
iter#5280,cost=12.436244370045687
iter#5290,cost=11.949792731202086
iter#5300,cost=12.581641857144088
iter#5310,cost=11.990151793940772
iter#5320,cost=10.526116728231033
iter#5330,cost=13.319245729715146
iter#5340,cost=14.353220412568668
iter#5350,cost=12.132318247966465
iter#5360,cost=11.486022649686873
iter#5370,cost=15.107180425297862
iter#5380,cost=11.493298580053064
iter#5390,cost=13.488182348952497
iter#5400,cost=13.371338320741197
iter#5410,cost=12.856953549677192
iter#5420,cost=11.367129932160017
iter#5430,cost=10.802676970402432
iter#5440,cost=12.74686785144102
iter#5450,cost=11.459888549054693
iter#5460,cost=12.489162347149012
iter#5470,cost=12.332146585730836
iter#5480,cost=12.966131061034647
iter#5490,cost=13.44308526747694
iter#5500,cost=12.101494236727211
iter#5510,cost=11.707516816381702
iter#5520,cost=10.500149441573427
iter#5530,cost=13.152627481524723
iter#5540,cost=12.783405055953857
iter#5550,cost=11.311136153400218
iter#5560,cost=10.007292105037989
iter#5570,cost=12.707385519592918
iter#5580,cost=13.658499747244452
iter#5590,cost=12.166395711899733
iter#5600,cost=13.694187749910986
iter#5610,cost=13.49029980960729
iter#5620,cost=11.91964773970054
iter#5630,cost=12.355187371386643
iter#5640,cost=12.811091899858686
iter#5650,cost=11.56729758545598
iter#5660,cost=10.535797825492589
iter#5670,cost=11.761256200805875
iter#5680,cost=11.301174998257697
iter#5690,cost=9.21946364498952
iter#5700,cost=11.919783384085628
iter#5710,cost=14.58889403092073
iter#5720,cost=10.019348199472569
iter#5730,cost=11.098909313165379
iter#5740,cost=11.020601389692095
iter#5750,cost=12.382589522054783
iter#5760,cost=12.238842684240542
iter#5770,cost=11.796089490730512
iter#5780,cost=10.849384522879419
iter#5790,cost=14.167445737617308
iter#5800,cost=13.360537788271039
iter#5810,cost=11.657993362584675
iter#5820,cost=11.905245727545768
iter#5830,cost=12.025783258183932
iter#5840,cost=10.079882941359783
iter#5850,cost=11.715451468891867
iter#5860,cost=11.524287424106848
iter#5870,cost=12.356425241532287
iter#5880,cost=10.591843780307153
iter#5890,cost=14.479548939505719
iter#5900,cost=11.69922213191714
iter#5910,cost=11.11656534500722
iter#5920,cost=12.789148840095555
iter#5930,cost=11.582875325672774
iter#5940,cost=12.315099423220406
iter#5950,cost=11.385914782887522
iter#5960,cost=11.301077579828965
iter#5970,cost=13.092282905301989
iter#5980,cost=11.445364997726362
iter#5990,cost=11.480475837442128
iter#6000,cost=12.479279160338736
iter#6010,cost=10.81830035427802
iter#6020,cost=13.00606155590974
iter#6030,cost=13.932281735819064
iter#6040,cost=11.562865280969259
iter#6050,cost=10.474860106968974
iter#6060,cost=12.260076579663856
iter#6070,cost=10.064592694563801
iter#6080,cost=11.516748081134443
iter#6090,cost=11.096784611323285
iter#6100,cost=10.93169456564442
iter#6110,cost=11.353198241315322
iter#6120,cost=10.754937824223749
iter#6130,cost=12.419953605403428
iter#6140,cost=13.60319388646996
iter#6150,cost=11.558866588250957
iter#6160,cost=13.694861939442957
iter#6170,cost=11.532208806075282
iter#6180,cost=14.041721407848339
iter#6190,cost=11.106359785366614
iter#6200,cost=10.964633519693507
iter#6210,cost=11.9487138759819
iter#6220,cost=11.664000673522049
iter#6230,cost=12.87083962639305
iter#6240,cost=11.127638829201567
iter#6250,cost=9.554597819634862
iter#6260,cost=13.611457639947757
iter#6270,cost=11.943657061576095
iter#6280,cost=10.006868548671067
iter#6290,cost=10.926444043200041
iter#6300,cost=12.286898225814655
iter#6310,cost=10.694732109292088
iter#6320,cost=12.617569410756163
iter#6330,cost=10.060235120431967
iter#6340,cost=12.373978618577349
iter#6350,cost=11.447448058238885
iter#6360,cost=11.536893785673305
iter#6370,cost=11.023065768285745
iter#6380,cost=11.168812054849232
iter#6390,cost=11.646392945557997
iter#6400,cost=10.81683897005693
iter#6410,cost=11.22176781161552
iter#6420,cost=11.942343015632519
iter#6430,cost=11.448169585540063
iter#6440,cost=10.15268402065572
iter#6450,cost=13.439873343476453
iter#6460,cost=11.580240504785731
iter#6470,cost=12.288317025590432
iter#6480,cost=11.876272425104544
iter#6490,cost=10.866983131270773
iter#6500,cost=11.725545097986824
iter#6510,cost=11.91467289852138
iter#6520,cost=12.994140308172245
iter#6530,cost=12.537852609681366
iter#6540,cost=11.15381514133465
iter#6550,cost=12.592127031813476
iter#6560,cost=12.675230250868847
iter#6570,cost=11.699294372046063
iter#6580,cost=12.619541431375149
iter#6590,cost=11.022854762078255
iter#6600,cost=10.110512756460258
iter#6610,cost=11.072971871260664
iter#6620,cost=12.07211287676291
iter#6630,cost=10.775366262818554
iter#6640,cost=11.5576334357836
iter#6650,cost=11.99366471457964
iter#6660,cost=9.982337279431881
iter#6670,cost=11.85687146251891
iter#6680,cost=10.739136755919185
iter#6690,cost=11.068590195236718
iter#6700,cost=11.769971959466552
iter#6710,cost=8.737206358922762
iter#6720,cost=10.964983546578482
iter#6730,cost=10.669590920262797
iter#6740,cost=12.69923819457178
iter#6750,cost=12.24986959096472
iter#6760,cost=10.649995262555366
iter#6770,cost=11.845657367675036
iter#6780,cost=10.027580420376413
iter#6790,cost=11.23587907156558
iter#6800,cost=10.117223743145013
iter#6810,cost=11.531345265847584
iter#6820,cost=12.321816665847013
iter#6830,cost=11.082167208221309
iter#6840,cost=11.704873624303573
iter#6850,cost=11.940611438617564
iter#6860,cost=12.843457450555398
iter#6870,cost=9.903769567069336
iter#6880,cost=12.513037596806388
iter#6890,cost=11.719232026401787
iter#6900,cost=13.63960407435676
iter#6910,cost=10.141083282629602
iter#6920,cost=8.815403079384552
iter#6930,cost=11.45630518485027
iter#6940,cost=12.115363493814774
iter#6950,cost=11.826363166582263
iter#6960,cost=11.700808616341401
iter#6970,cost=10.549887102226203
iter#6980,cost=10.175927748335559
iter#6990,cost=11.994903646811455
iter#7000,cost=10.199975069613936
iter#7010,cost=12.343658830060027
iter#7020,cost=9.82829429907505
iter#7030,cost=11.386895534339885
iter#7040,cost=12.015221053180493
iter#7050,cost=10.34211609137275
iter#7060,cost=10.71744474526531
iter#7070,cost=11.09616505685644
iter#7080,cost=9.804011699940068
iter#7090,cost=11.78073849759265
iter#7100,cost=11.97672373403543
iter#7110,cost=8.861013165107238
iter#7120,cost=11.468537097960228
iter#7130,cost=11.28648422180753
iter#7140,cost=13.951182389717431
iter#7150,cost=10.194812170937041
iter#7160,cost=10.336123750238508
iter#7170,cost=9.937361606750773
iter#7180,cost=9.511960875317882
iter#7190,cost=10.36738726353608
iter#7200,cost=11.878513668421586
iter#7210,cost=11.366930888376773
iter#7220,cost=11.677650018211851
iter#7230,cost=11.746650738419428
iter#7240,cost=12.305225103111688
iter#7250,cost=10.011229884110863
iter#7260,cost=12.157497618410542
iter#7270,cost=10.496239146634984
iter#7280,cost=11.286114602816436
iter#7290,cost=9.585064335812604
iter#7300,cost=11.653530687018309
iter#7310,cost=12.213549119186814
iter#7320,cost=11.360128091091703
iter#7330,cost=12.271665995848888
iter#7340,cost=12.256200573546693
iter#7350,cost=10.708012667135089
iter#7360,cost=10.8781461283605
iter#7370,cost=11.772480481048513
iter#7380,cost=10.773513127388371
iter#7390,cost=10.708418692453053
iter#7400,cost=10.425329077078242
iter#7410,cost=11.646401077611888
iter#7420,cost=11.047966165800851
iter#7430,cost=12.930043125210977
iter#7440,cost=11.505421234483622
iter#7450,cost=10.43466585730152
iter#7460,cost=11.022194419299593
iter#7470,cost=9.360649496183035
iter#7480,cost=11.01515358779892
iter#7490,cost=12.622850356765735
iter#7500,cost=10.367198001450147
iter#7510,cost=10.90503498456799
iter#7520,cost=10.79494040623933
iter#7530,cost=10.083646324862622
iter#7540,cost=10.773343181803744
iter#7550,cost=13.250993170825346
iter#7560,cost=10.312088210824719
iter#7570,cost=11.825840123551188
iter#7580,cost=11.360828297707132
iter#7590,cost=10.776777597658382
iter#7600,cost=11.861704617612004
iter#7610,cost=10.013583632546357
iter#7620,cost=10.042039850804654
iter#7630,cost=10.030177428432399
iter#7640,cost=10.599923408350191
iter#7650,cost=11.118578143220816
iter#7660,cost=10.038951039799871
iter#7670,cost=10.179334955742847
iter#7680,cost=10.811793404183252
iter#7690,cost=10.118655876250944
iter#7700,cost=10.34533129937127
iter#7710,cost=11.600775568166167
iter#7720,cost=11.375985054842886
iter#7730,cost=11.130090348043419
iter#7740,cost=10.610402650095892
iter#7750,cost=11.617692747070386
iter#7760,cost=10.858637351517748
iter#7770,cost=11.421287827368287
iter#7780,cost=10.755479019129115
iter#7790,cost=9.670525144139377
iter#7800,cost=10.548565305264376
iter#7810,cost=10.652543535239559
iter#7820,cost=13.010016695008671
iter#7830,cost=11.836485909327553
iter#7840,cost=10.87349636061764
iter#7850,cost=10.94321443720272
iter#7860,cost=10.90110924578043
iter#7870,cost=9.678348558395284
iter#7880,cost=10.384219170412088
iter#7890,cost=11.673050666355582
iter#7900,cost=13.294206493491313
iter#7910,cost=9.667988571583011
iter#7920,cost=11.457212510069471
iter#7930,cost=11.078640182174698
iter#7940,cost=11.31498881920124
iter#7950,cost=12.147821811547775
iter#7960,cost=10.590794791161292
iter#7970,cost=11.47484147516987
iter#7980,cost=10.599423954189874
iter#7990,cost=10.250903681476947
iter#8000,cost=10.21480301778308
iter#8010,cost=10.75620218493514
iter#8020,cost=10.547344900167607
iter#8030,cost=9.893376707303915
iter#8040,cost=9.987231380937724
iter#8050,cost=8.973387082506308
iter#8060,cost=9.992064375986264
iter#8070,cost=9.441233992658573
iter#8080,cost=8.489168191650013
iter#8090,cost=11.520890061633217
iter#8100,cost=11.253094130353993
iter#8110,cost=11.084788797456518
iter#8120,cost=10.132605799830689
iter#8130,cost=10.74447550204071
iter#8140,cost=11.37718766649025
iter#8150,cost=10.53691050771464
iter#8160,cost=9.715425444901669
iter#8170,cost=9.970062932795473
iter#8180,cost=9.11743721583941
iter#8190,cost=12.498714912029007
iter#8200,cost=10.920141187138295
iter#8210,cost=10.623714360901426
iter#8220,cost=11.197275364173885
iter#8230,cost=11.10677962958679
iter#8240,cost=12.274602589255007
iter#8250,cost=11.362684208564797
iter#8260,cost=8.748580247085346
iter#8270,cost=10.952809335435349
iter#8280,cost=9.07998691030173
iter#8290,cost=12.099573887210024
iter#8300,cost=12.741669991217245
iter#8310,cost=10.678579413511965
iter#8320,cost=9.605543170964124
iter#8330,cost=10.340109861780284
iter#8340,cost=9.322764012265784
iter#8350,cost=9.95316923235893
iter#8360,cost=11.824029369988514
iter#8370,cost=10.9381731369451
iter#8380,cost=9.717487124625917
iter#8390,cost=9.970906271538803
iter#8400,cost=10.053697239441938
iter#8410,cost=9.755937411368778
iter#8420,cost=10.717007990483628
iter#8430,cost=11.18822584956661
iter#8440,cost=10.22437004895779
iter#8450,cost=9.753336496485725
iter#8460,cost=10.258784666506898
iter#8470,cost=10.966864315242418
iter#8480,cost=10.512072633323431
iter#8490,cost=11.439773698978158
iter#8500,cost=11.261339840863297
iter#8510,cost=9.458498938618
iter#8520,cost=10.306738064185597
iter#8530,cost=10.622073100404032
iter#8540,cost=9.092154340293936
iter#8550,cost=10.161199730423476
iter#8560,cost=10.017874478015493
iter#8570,cost=9.305882848578374
iter#8580,cost=9.73080468397481
iter#8590,cost=10.94540708545761
iter#8600,cost=10.37203970508004
iter#8610,cost=8.635927163037627
iter#8620,cost=10.47480603915536
iter#8630,cost=11.341988724455426
iter#8640,cost=10.066956636676613
iter#8650,cost=10.43046526322126
iter#8660,cost=10.721146775123007
iter#8670,cost=10.000301633056592
iter#8680,cost=9.460191567451453
iter#8690,cost=10.154781590382248
iter#8700,cost=12.155162901300915
iter#8710,cost=9.624068218975967
iter#8720,cost=9.652060270998934
iter#8730,cost=10.764704803198741
iter#8740,cost=8.934869927164131
iter#8750,cost=10.860637620220848
iter#8760,cost=10.044688571676405
iter#8770,cost=10.737152695909424
iter#8780,cost=9.80005515553209
iter#8790,cost=11.130042445278827
iter#8800,cost=10.867950971312249
iter#8810,cost=9.042619725642528
iter#8820,cost=9.913643569246277
iter#8830,cost=10.053577560772695
iter#8840,cost=9.602216602257249
iter#8850,cost=10.158837831746894
iter#8860,cost=11.128613949193092
iter#8870,cost=10.767196705617431
iter#8880,cost=10.565453223062649
iter#8890,cost=12.047553929277587
iter#8900,cost=12.431004569474318
iter#8910,cost=11.765112106076453
iter#8920,cost=10.68188918772022
iter#8930,cost=10.79451631705666
iter#8940,cost=11.510075666836407
iter#8950,cost=9.931866664815134
iter#8960,cost=9.499138378226315
iter#8970,cost=10.32108891151237
iter#8980,cost=10.516155517013535
iter#8990,cost=9.928301705923898
iter#9000,cost=10.054985030358843
iter#9010,cost=9.87247928976585
iter#9020,cost=9.717443420654922
iter#9030,cost=10.637212677640555
iter#9040,cost=10.126836845840835
iter#9050,cost=10.634672256754763
iter#9060,cost=9.704523067654712
iter#9070,cost=9.304756981734132
iter#9080,cost=11.322641540978116
iter#9090,cost=12.690118375749682
iter#9100,cost=9.484129678170166
iter#9110,cost=9.402336035022559
iter#9120,cost=10.347814566544235
iter#9130,cost=9.374322700145749
iter#9140,cost=8.964124727835555
iter#9150,cost=11.884635540204206
iter#9160,cost=10.314326344676402
iter#9170,cost=9.798963146700759
iter#9180,cost=9.918879704226308
iter#9190,cost=10.008031728686323
iter#9200,cost=10.244352946213661
iter#9210,cost=11.902105476469195
iter#9220,cost=10.917185565982477
iter#9230,cost=10.40431193699054
iter#9240,cost=9.63686188423142
iter#9250,cost=8.442490005393125
iter#9260,cost=10.263883827210384
iter#9270,cost=10.19806733602424
iter#9280,cost=9.330869270584536
iter#9290,cost=10.606616191923832
iter#9300,cost=10.093138971484217
iter#9310,cost=8.991476443428942
iter#9320,cost=8.761339019190086
iter#9330,cost=10.291443312862704
iter#9340,cost=10.030116011914362
iter#9350,cost=10.494949951965262
iter#9360,cost=8.315503844412595
iter#9370,cost=9.865556360794429
iter#9380,cost=10.524325260058873
iter#9390,cost=9.949369937932564
iter#9400,cost=11.446359815001252
iter#9410,cost=11.046652920666132
iter#9420,cost=10.69948918997468
iter#9430,cost=9.414207827390822
iter#9440,cost=10.833318978303101
iter#9450,cost=11.641825290472461
iter#9460,cost=11.11884313144283
iter#9470,cost=11.058921670369731
iter#9480,cost=9.111483922926004
iter#9490,cost=9.944262580890863
iter#9500,cost=9.61142036226833
iter#9510,cost=10.540841173809252
iter#9520,cost=9.735429053906232
iter#9530,cost=10.05928518796734
iter#9540,cost=10.390912316005844
iter#9550,cost=9.405470503270179
iter#9560,cost=11.059744220933867
iter#9570,cost=10.982646802145227
iter#9580,cost=11.820789334947959
iter#9590,cost=10.033679627760458
iter#9600,cost=11.68735405281034
iter#9610,cost=9.618565072229606
iter#9620,cost=9.678069928495914
iter#9630,cost=9.416844243162723
iter#9640,cost=11.079149775300525
iter#9650,cost=10.85029537559128
iter#9660,cost=10.472706852482743
iter#9670,cost=11.370898284407842
iter#9680,cost=9.5819808315331
iter#9690,cost=9.948951516650554
iter#9700,cost=10.717439348513077
iter#9710,cost=9.43154618882403
iter#9720,cost=9.645538729993488
iter#9730,cost=10.264038256318873
iter#9740,cost=8.685808098774123
iter#9750,cost=11.141629568704143
iter#9760,cost=9.119993111228952
iter#9770,cost=9.468795029679843
iter#9780,cost=9.3933821237005
iter#9790,cost=10.443256233434363
iter#9800,cost=10.034870060911057
iter#9810,cost=9.891156955257578
iter#9820,cost=10.63475605415767
iter#9830,cost=9.663445065961831
iter#9840,cost=11.340009251398662
iter#9850,cost=9.27968512626108
iter#9860,cost=10.647117349829518
iter#9870,cost=8.517106201328236
iter#9880,cost=11.040069843911244
iter#9890,cost=11.888323163763197
iter#9900,cost=11.104205229721499
iter#9910,cost=10.315922282866685
iter#9920,cost=8.71450222387293
iter#9930,cost=9.292604943580633
iter#9940,cost=11.428392299035881
iter#9950,cost=9.392573463140188
iter#9960,cost=10.583255480862364
iter#9970,cost=9.389834123848711
iter#9980,cost=9.16876607858332
iter#9990,cost=10.266243225291486
iter#10000,cost=10.999461765842867
iter#10010,cost=10.698302347275526
iter#10020,cost=8.868521747861848
iter#10030,cost=10.550828376486097
iter#10040,cost=10.55872569834564
iter#10050,cost=10.306816673389777
iter#10060,cost=9.743063109201131
iter#10070,cost=10.114821863836541
iter#10080,cost=9.66568529674871
iter#10090,cost=11.47755560857394
iter#10100,cost=11.061774715037835
iter#10110,cost=9.832789375317871
iter#10120,cost=9.788993615386822
iter#10130,cost=10.528213860313704
iter#10140,cost=11.246417554097885
iter#10150,cost=11.652094811288201
iter#10160,cost=10.852871530396037
iter#10170,cost=9.467607598481491
iter#10180,cost=9.36524889607711
iter#10190,cost=10.462853210841532
iter#10200,cost=10.37078625303442
iter#10210,cost=9.723713169262163
iter#10220,cost=9.872705376659143
iter#10230,cost=8.584804255352397
iter#10240,cost=11.560550840429991
iter#10250,cost=10.234716130392172
iter#10260,cost=8.831264956827466
iter#10270,cost=9.891949940944423
iter#10280,cost=10.778918140937094
iter#10290,cost=9.378632202756533
iter#10300,cost=10.542545658534694
iter#10310,cost=10.425227188325428
iter#10320,cost=8.754064123327689
iter#10330,cost=9.970673704378104
iter#10340,cost=8.249778750285804
iter#10350,cost=10.524502575632859
iter#10360,cost=11.325121957097545
iter#10370,cost=9.432161504276488
iter#10380,cost=9.872150680953721
iter#10390,cost=11.455250333845521
iter#10400,cost=11.49201149518627
iter#10410,cost=9.564745999960708
iter#10420,cost=11.659300687853811
iter#10430,cost=9.844795812373023
iter#10440,cost=10.284080820702801
iter#10450,cost=11.635368870353972
iter#10460,cost=9.948475371228682
iter#10470,cost=10.692933665858964
iter#10480,cost=10.30628010021169
iter#10490,cost=10.057594686013504
iter#10500,cost=9.780657814097271
iter#10510,cost=10.531615157318017
iter#10520,cost=8.431808246354722
iter#10530,cost=10.296927771983741
iter#10540,cost=9.515617187289088
iter#10550,cost=11.130731086402628
iter#10560,cost=10.2381294370496
iter#10570,cost=9.447329538397943
iter#10580,cost=9.207114415165208
iter#10590,cost=9.929692761105626
iter#10600,cost=10.50537205533453
iter#10610,cost=10.870549551958161
iter#10620,cost=8.494355700923133
iter#10630,cost=9.816841288250341
iter#10640,cost=9.332264413759635
iter#10650,cost=9.232375045690759
iter#10660,cost=11.761445457272877
iter#10670,cost=10.921322109915113
iter#10680,cost=10.059044961413354
iter#10690,cost=9.25989703765358
iter#10700,cost=8.868899595877656
iter#10710,cost=10.50185912332018
iter#10720,cost=10.586215584163357
iter#10730,cost=12.545331007720636
iter#10740,cost=11.519245348309585
iter#10750,cost=10.278971691854693
iter#10760,cost=10.84168027142062
iter#10770,cost=9.716889616643865
iter#10780,cost=11.291644448635685
iter#10790,cost=9.584123250936686
iter#10800,cost=10.324456735031834
iter#10810,cost=8.245371494560098
iter#10820,cost=8.872855778352328
iter#10830,cost=9.396344861257093
iter#10840,cost=9.785454844565606
iter#10850,cost=8.651784332204123
iter#10860,cost=9.791779233713408
iter#10870,cost=10.135753899800209
iter#10880,cost=9.110609794496051
iter#10890,cost=9.739725044984121
iter#10900,cost=9.466803782678733
iter#10910,cost=9.31908492211092
iter#10920,cost=9.583702646198624
iter#10930,cost=10.855544359866043
iter#10940,cost=9.161590023424427
iter#10950,cost=11.276014558887228
iter#10960,cost=10.128173882752709
iter#10970,cost=9.66347324777257
iter#10980,cost=10.727455692251285
iter#10990,cost=8.500327475701638
iter#11000,cost=11.13050411748304
iter#11010,cost=10.257434642456259
iter#11020,cost=11.198581983637448
iter#11030,cost=9.58016844870704
iter#11040,cost=10.220649016246938
iter#11050,cost=11.018960088807098
iter#11060,cost=9.287688021178763
iter#11070,cost=8.66682900178478
iter#11080,cost=9.58121042102945
iter#11090,cost=8.96959353658976
iter#11100,cost=8.94063900022717
iter#11110,cost=11.409360408838069
iter#11120,cost=10.110679189344337
iter#11130,cost=11.546580892600682
iter#11140,cost=9.887208008634126
iter#11150,cost=10.142653831566413
iter#11160,cost=9.264267081248597
iter#11170,cost=9.466979189740421
iter#11180,cost=8.591550405788418
iter#11190,cost=10.839436700863985
iter#11200,cost=9.091891269880307
iter#11210,cost=9.4048590816187
iter#11220,cost=11.726615806739675
iter#11230,cost=8.715865699456389
iter#11240,cost=8.999496243753224
iter#11250,cost=9.637296438991196
iter#11260,cost=8.664093052122485
iter#11270,cost=8.746212888148591
iter#11280,cost=10.11355577237675
iter#11290,cost=9.089419257291683
iter#11300,cost=9.579186996405529
iter#11310,cost=10.15528296585906
iter#11320,cost=11.439787167252172
iter#11330,cost=10.717203756887344
iter#11340,cost=8.911018703871804
iter#11350,cost=9.718488790586804
iter#11360,cost=10.490824713123185
iter#11370,cost=10.802933217335022
iter#11380,cost=8.68569939987641
iter#11390,cost=9.346542567020443
iter#11400,cost=10.20672681441195
iter#11410,cost=10.31718744105127
iter#11420,cost=8.440109558870521
iter#11430,cost=9.35599018994391
iter#11440,cost=10.022582184539948
iter#11450,cost=10.506436924549764
iter#11460,cost=10.779438001644202
iter#11470,cost=8.673674225809808
iter#11480,cost=8.944331361316458
iter#11490,cost=10.708102447543906
iter#11500,cost=9.335397808209143
iter#11510,cost=9.680008472595548
iter#11520,cost=10.922801845953531
iter#11530,cost=10.086454938130888
iter#11540,cost=8.855076890588649
iter#11550,cost=10.260698754724999
iter#11560,cost=11.443408510436143
iter#11570,cost=8.84168507001487
iter#11580,cost=9.982299485081061
iter#11590,cost=12.583520836392385
iter#11600,cost=9.528548588028803
iter#11610,cost=10.384603783795422
iter#11620,cost=8.92143949534793
iter#11630,cost=9.615435974179235
iter#11640,cost=8.838064053278442
iter#11650,cost=10.25788878960035
iter#11660,cost=9.459942596659845
iter#11670,cost=8.915845898013986
iter#11680,cost=10.09881982968842
iter#11690,cost=9.433727337200676
iter#11700,cost=10.096092453315643
iter#11710,cost=9.342915213883595
iter#11720,cost=9.659655481693491
iter#11730,cost=9.82639235156785
iter#11740,cost=10.979448851111286
iter#11750,cost=9.65833227848574
iter#11760,cost=8.477105987002057
iter#11770,cost=8.569094022674907
iter#11780,cost=9.666207598077685
iter#11790,cost=10.412252595666745
iter#11800,cost=9.83594187824333
iter#11810,cost=10.023863758198274
iter#11820,cost=9.103076173608954
iter#11830,cost=10.97594209074157
iter#11840,cost=9.134350546726052
iter#11850,cost=10.79449576998261
iter#11860,cost=8.252308993767592
iter#11870,cost=9.84047826058325
iter#11880,cost=9.843672619485705
iter#11890,cost=10.351823325596131
iter#11900,cost=10.27119920560881
iter#11910,cost=12.03325773658701
iter#11920,cost=9.813749977127994
iter#11930,cost=9.94365279387341
iter#11940,cost=10.83564165518703
iter#11950,cost=9.98830523578956
iter#11960,cost=9.414908836763358
iter#11970,cost=8.893991227002358
iter#11980,cost=9.480392958759113
iter#11990,cost=10.866794533440645
iter#12000,cost=8.653637058243634
iter#12010,cost=10.173945712272678
iter#12020,cost=9.523774345115521
iter#12030,cost=11.457806193513617
iter#12040,cost=9.576131174982002
iter#12050,cost=9.713238206927503
iter#12060,cost=10.406790298792908
iter#12070,cost=9.664596627624187
iter#12080,cost=10.174967039832513
iter#12090,cost=10.60708563827907
iter#12100,cost=10.00677111135545
iter#12110,cost=8.980099101982079
iter#12120,cost=11.611990193511073
iter#12130,cost=10.148963468885459
iter#12140,cost=10.62230585871839
iter#12150,cost=10.447921969434054
iter#12160,cost=9.889544659371845
iter#12170,cost=9.095512795294693
iter#12180,cost=9.337493603463207
iter#12190,cost=11.111549399953816
iter#12200,cost=9.808790725382973
iter#12210,cost=10.424041185019593
iter#12220,cost=9.711427483393868
iter#12230,cost=9.575601892465704
iter#12240,cost=8.748736857833467
iter#12250,cost=9.387394089910929
iter#12260,cost=10.433118279051891
iter#12270,cost=9.849663023051937
iter#12280,cost=9.891960119735671
iter#12290,cost=9.91408566994459
iter#12300,cost=10.585677564653585
iter#12310,cost=9.419708365699499
iter#12320,cost=10.861808897600783
iter#12330,cost=11.018618831392846
iter#12340,cost=10.570742056028202
iter#12350,cost=9.28159030101372
iter#12360,cost=8.408850251235403
iter#12370,cost=9.231991018570225
iter#12380,cost=10.71619119097545
iter#12390,cost=8.560292156645296
iter#12400,cost=10.20696003416021
iter#12410,cost=10.466140625279738
iter#12420,cost=9.81070259391644
iter#12430,cost=9.770568851692964
iter#12440,cost=9.667446738667548
iter#12450,cost=9.608120519329985
iter#12460,cost=8.776757835662302
iter#12470,cost=8.918411186357925
iter#12480,cost=8.843891266753737
iter#12490,cost=9.354628925200176
iter#12500,cost=8.48148608330967
iter#12510,cost=9.234623923935402
iter#12520,cost=8.912250788440643
iter#12530,cost=8.753610483516466
iter#12540,cost=8.986039271271025
iter#12550,cost=9.804916724228518
iter#12560,cost=9.876395425299558
iter#12570,cost=9.773204555858369
iter#12580,cost=10.720300006985378
iter#12590,cost=9.901204003513515
iter#12600,cost=9.273540051385366
iter#12610,cost=12.110600435650088
iter#12620,cost=9.915148674604575
iter#12630,cost=11.461584587430526
iter#12640,cost=9.949223175118867
iter#12650,cost=10.820947285392764
iter#12660,cost=9.39895057459385
iter#12670,cost=8.569563656232102
iter#12680,cost=8.421266508471938
iter#12690,cost=10.344874382893996
iter#12700,cost=10.260128772330928
iter#12710,cost=10.037426065215167
iter#12720,cost=9.687423500637822
iter#12730,cost=8.972362473413334
iter#12740,cost=9.950599052503653
iter#12750,cost=9.080645495393648
iter#12760,cost=8.672138461854397
iter#12770,cost=11.121690184610058
iter#12780,cost=11.369968402669056
iter#12790,cost=11.282980917369018
iter#12800,cost=10.407037319645948
iter#12810,cost=10.202359069102679
iter#12820,cost=9.927609769277646
iter#12830,cost=11.158981241733631
iter#12840,cost=10.653341873557341
iter#12850,cost=10.202688915931127
iter#12860,cost=7.652312919760111
iter#12870,cost=8.790899130536094
iter#12880,cost=9.250007021255199
iter#12890,cost=8.607265068387017
iter#12900,cost=10.283218201862185
iter#12910,cost=10.641410630000404
iter#12920,cost=8.875143522952332
iter#12930,cost=9.222472537924682
iter#12940,cost=9.853471860556127
iter#12950,cost=11.35521756753988
iter#12960,cost=9.657141094478247
iter#12970,cost=10.094731550352
iter#12980,cost=8.825453692319584
iter#12990,cost=10.818403941254353
iter#13000,cost=8.857757153189272
iter#13010,cost=9.539632158493134
iter#13020,cost=10.659438785266161
iter#13030,cost=9.341653561210787
iter#13040,cost=8.886420768654347
iter#13050,cost=9.890783862542476
iter#13060,cost=11.378490890226582
iter#13070,cost=9.88734141018841
iter#13080,cost=10.045205904650576
iter#13090,cost=10.366374797394183
iter#13100,cost=10.035084257864293
iter#13110,cost=9.952379688811158
iter#13120,cost=8.93576654423821
iter#13130,cost=9.880594439676095
iter#13140,cost=10.184967670889582
iter#13150,cost=8.894267767298542
iter#13160,cost=8.767212327728926
iter#13170,cost=10.116229098372145
iter#13180,cost=9.967935504227231
iter#13190,cost=8.947232811269359
iter#13200,cost=9.248836583725609
iter#13210,cost=8.78450275909969
iter#13220,cost=9.471118004690423
iter#13230,cost=10.469380616020684
iter#13240,cost=9.99210389421496
iter#13250,cost=10.08605583317922
iter#13260,cost=11.363429665581306
iter#13270,cost=10.029659817710785
iter#13280,cost=9.433210156542522
iter#13290,cost=9.456935985904884
iter#13300,cost=10.505141544072005
iter#13310,cost=10.119044482940982
iter#13320,cost=10.167437552510727
iter#13330,cost=9.720271791961716
iter#13340,cost=9.204767149726038
iter#13350,cost=9.067898426891043
iter#13360,cost=10.077346186290521
iter#13370,cost=9.851854296829167
iter#13380,cost=8.679299582706747
iter#13390,cost=10.171734943738642
iter#13400,cost=9.230515417601637
iter#13410,cost=9.484215114069206
iter#13420,cost=10.089497402659063
iter#13430,cost=9.01660002216103
iter#13440,cost=9.463955531930608
iter#13450,cost=8.874556964697279
iter#13460,cost=9.915435720105659
iter#13470,cost=10.329227291616444
iter#13480,cost=10.597511026187574
iter#13490,cost=9.511393788776592
iter#13500,cost=10.928556667098398
iter#13510,cost=9.662158963676278
iter#13520,cost=10.291868135465958
iter#13530,cost=10.464926580746209
iter#13540,cost=8.215627646876921
iter#13550,cost=9.562018489178614
iter#13560,cost=9.416638599081942
iter#13570,cost=8.131485011686747
iter#13580,cost=10.682389924361763
iter#13590,cost=10.617555786288232
iter#13600,cost=10.332054994730093
iter#13610,cost=9.184278752284474
iter#13620,cost=9.083245691302881
iter#13630,cost=9.687099495104626
iter#13640,cost=9.69527471645609
iter#13650,cost=9.278690937420263
iter#13660,cost=10.169583989261943
iter#13670,cost=9.577784861959898
iter#13680,cost=9.110333352527302
iter#13690,cost=10.248136396389862
iter#13700,cost=9.766856678968798
iter#13710,cost=10.552523539516804
iter#13720,cost=11.01343242066799
iter#13730,cost=8.258327968883007
iter#13740,cost=9.111164348707465
iter#13750,cost=10.42132922953514
iter#13760,cost=8.823210210347874
iter#13770,cost=9.728953693832985
iter#13780,cost=9.059160907853116
iter#13790,cost=10.006760215323306
iter#13800,cost=11.461505964606815
iter#13810,cost=9.650556813199097
iter#13820,cost=11.00567565018886
iter#13830,cost=10.082171684693327
iter#13840,cost=8.642361014032362
iter#13850,cost=9.619878865738501
iter#13860,cost=9.47136067947869
iter#13870,cost=8.755935157797708
iter#13880,cost=11.283320299197257
iter#13890,cost=10.978718391731451
iter#13900,cost=9.072297367218935
iter#13910,cost=9.906167232532843
iter#13920,cost=9.655295825617575
iter#13930,cost=9.562036763084487
iter#13940,cost=10.70700918939527
iter#13950,cost=9.563727401710619
iter#13960,cost=9.009413776354318
iter#13970,cost=10.148683368487374
iter#13980,cost=11.256462352127464
iter#13990,cost=9.323477726713943
iter#14000,cost=9.358970695996849
iter#14010,cost=9.417223495853381
iter#14020,cost=8.502269226246645
iter#14030,cost=9.72538227418414
iter#14040,cost=10.034076286695003
iter#14050,cost=10.508599349462905
iter#14060,cost=10.282018375636547
iter#14070,cost=9.966090152105311
iter#14080,cost=8.332265801295579
iter#14090,cost=9.83942097683962
iter#14100,cost=9.891223860278114
iter#14110,cost=10.126564850209519
iter#14120,cost=10.573378608392996
iter#14130,cost=9.62168117391054
iter#14140,cost=10.32337242035812
iter#14150,cost=9.791989850077632
iter#14160,cost=9.902702305031362
iter#14170,cost=11.060281160260185
iter#14180,cost=10.703268128712429
iter#14190,cost=9.966768400329256
iter#14200,cost=9.250600283777102
iter#14210,cost=8.458338098244013
iter#14220,cost=10.180887627399105
iter#14230,cost=9.396353702581813
iter#14240,cost=9.339399578399648
iter#14250,cost=8.69086065534311
iter#14260,cost=10.687588162014869
iter#14270,cost=10.36608858001254
iter#14280,cost=10.973267392518887
iter#14290,cost=9.03908042335379
iter#14300,cost=9.574940481554663
iter#14310,cost=9.894691048504425
iter#14320,cost=10.807748424083776
iter#14330,cost=7.75438956424408
iter#14340,cost=8.941216359441047
iter#14350,cost=9.581359550524164
iter#14360,cost=9.903166176052581
iter#14370,cost=9.66376161286886
iter#14380,cost=10.183691163735041
iter#14390,cost=10.281862687999118
iter#14400,cost=9.915359961422208
iter#14410,cost=9.138721399117216
iter#14420,cost=10.848748192912009
iter#14430,cost=9.719880875966703
iter#14440,cost=9.638542032510422
iter#14450,cost=8.075800055452373
iter#14460,cost=8.487408573796985
iter#14470,cost=8.833467571537788
iter#14480,cost=8.835843909866831
iter#14490,cost=8.216456281605714
iter#14500,cost=8.339651676759372
iter#14510,cost=9.143193653856693
iter#14520,cost=9.054916199327327
iter#14530,cost=9.346739491652789
iter#14540,cost=10.956407050664735
iter#14550,cost=8.114461010217966
iter#14560,cost=9.21987236115844
iter#14570,cost=9.746450958385973
iter#14580,cost=10.12759201862632
iter#14590,cost=10.331536367976607
iter#14600,cost=9.732849212548377
iter#14610,cost=10.144228735341509
iter#14620,cost=9.877682603445793
iter#14630,cost=10.33672160309727
iter#14640,cost=10.086592100701353
iter#14650,cost=9.788310873118641
iter#14660,cost=9.438466902479057
iter#14670,cost=10.809313278173473
iter#14680,cost=8.812745378674894
iter#14690,cost=8.810302078439848
iter#14700,cost=8.9977030320344
iter#14710,cost=9.740750811497994
iter#14720,cost=9.776139728656666
iter#14730,cost=9.326572338514474
iter#14740,cost=10.758095498924565
iter#14750,cost=8.903943397640008
iter#14760,cost=10.350354678836412
iter#14770,cost=9.607656091627142
iter#14780,cost=8.450627977117707
iter#14790,cost=9.862985729949347
iter#14800,cost=9.727267407975626
iter#14810,cost=9.542977310697422
iter#14820,cost=8.625938050004551
iter#14830,cost=9.01148881640166
iter#14840,cost=10.560604350157883
iter#14850,cost=9.848475653819108
iter#14860,cost=10.156915692134115
iter#14870,cost=8.763603677258988
iter#14880,cost=9.70939469072235
iter#14890,cost=8.641498195233243
iter#14900,cost=8.593276886958256
iter#14910,cost=9.420892065170143
iter#14920,cost=9.49904467953588
iter#14930,cost=7.329943926208898
iter#14940,cost=9.447641320042438
iter#14950,cost=8.677879432102154
iter#14960,cost=10.625383899691004
iter#14970,cost=9.410306574789372
iter#14980,cost=10.489949607280058
iter#14990,cost=8.761774393464497
iter#15000,cost=9.181020790442993
iter#15010,cost=8.013354624868418
iter#15020,cost=10.167456373107738
iter#15030,cost=9.565135876761296
iter#15040,cost=8.934783068990907
iter#15050,cost=9.347612671676679
iter#15060,cost=9.701732783580177
iter#15070,cost=9.56896166959154
iter#15080,cost=10.424555473805112
iter#15090,cost=8.749015424858309
iter#15100,cost=9.405638235852804
iter#15110,cost=9.2230700477184
iter#15120,cost=9.451014665345461
iter#15130,cost=10.062297426135988
iter#15140,cost=9.175553471218981
iter#15150,cost=10.880279540667356
iter#15160,cost=9.339225899357281
iter#15170,cost=9.320742850770612
iter#15180,cost=7.901128642743666
iter#15190,cost=8.041000296114644
iter#15200,cost=8.470801523014678
iter#15210,cost=9.365414783213367
iter#15220,cost=10.466412865650705
iter#15230,cost=8.505555919340548
iter#15240,cost=9.327647088195123
iter#15250,cost=10.582774983012907
iter#15260,cost=10.272434781769759
iter#15270,cost=10.320901808152605
iter#15280,cost=9.985320985343243
iter#15290,cost=9.698075587890557
iter#15300,cost=10.292714691289962
iter#15310,cost=9.473449387132606
iter#15320,cost=8.322441610756835
iter#15330,cost=8.978286166806475
iter#15340,cost=10.170812867721795
iter#15350,cost=11.514382229675178
iter#15360,cost=9.366500614889407
iter#15370,cost=9.611470657473253
iter#15380,cost=9.617196534853315
iter#15390,cost=9.827956399424307
iter#15400,cost=9.691378188110031
iter#15410,cost=8.719577154781337
iter#15420,cost=11.230728888098065
iter#15430,cost=9.300084166040046
iter#15440,cost=10.197857068934983
iter#15450,cost=10.867000615537888
iter#15460,cost=9.013359975455776
iter#15470,cost=9.342860506592821
iter#15480,cost=8.931583284374236
iter#15490,cost=9.966669212063447
iter#15500,cost=9.92627609261789
iter#15510,cost=9.206752991842285
iter#15520,cost=7.978380724309132
iter#15530,cost=10.5248904102449
iter#15540,cost=9.204815007664395
iter#15550,cost=8.733913130956482
iter#15560,cost=9.037807922081315
iter#15570,cost=8.699832464950317
iter#15580,cost=10.862782480135504
iter#15590,cost=10.621514477488729
iter#15600,cost=9.579389732448318
iter#15610,cost=9.663512674295195
iter#15620,cost=8.416718976988498
iter#15630,cost=9.623865610939403
iter#15640,cost=9.493681751207275
iter#15650,cost=7.929471342306455
iter#15660,cost=10.297297381765079
iter#15670,cost=10.300175733471221
iter#15680,cost=8.261512842334977
iter#15690,cost=8.737138462476853
iter#15700,cost=8.70918366928389
iter#15710,cost=10.055517889852586
iter#15720,cost=8.460997992870182
iter#15730,cost=9.863672381087504
iter#15740,cost=9.881059263621868
iter#15750,cost=9.024634397286201
iter#15760,cost=10.133367085866327
iter#15770,cost=9.856136394263086
iter#15780,cost=8.092708358116784
iter#15790,cost=9.909618733672055
iter#15800,cost=9.458625056772352
iter#15810,cost=9.615170782065345
iter#15820,cost=10.051532262661114
iter#15830,cost=10.298247885776817
iter#15840,cost=10.031744189893484
iter#15850,cost=9.77104564731971
iter#15860,cost=10.63821115061926
iter#15870,cost=9.441978632521565
iter#15880,cost=8.908751661839013
iter#15890,cost=8.991759386251454
iter#15900,cost=9.800526664524694
iter#15910,cost=9.213287786998457
iter#15920,cost=7.515629411078557
iter#15930,cost=9.06949243528508
iter#15940,cost=10.950046397257923
iter#15950,cost=10.389097626884077
iter#15960,cost=8.815757257823144
iter#15970,cost=11.133528554402034
iter#15980,cost=8.642030029689547
iter#15990,cost=9.251738103901516
iter#16000,cost=9.349072711597028
iter#16010,cost=9.805033663606142
iter#16020,cost=10.187368004168396
iter#16030,cost=9.365137551768347
iter#16040,cost=9.136119082658377
iter#16050,cost=9.868838280500103
iter#16060,cost=10.57290948103247
iter#16070,cost=10.136978629420632
iter#16080,cost=8.617218940397178
iter#16090,cost=9.104702694435595
iter#16100,cost=8.834458158084031
iter#16110,cost=10.971843721294727
iter#16120,cost=9.648201159408861
iter#16130,cost=9.856536285425978
iter#16140,cost=10.337955030290303
iter#16150,cost=9.093821696906401
iter#16160,cost=9.642729394380154
iter#16170,cost=9.932577905429662
iter#16180,cost=8.812469092876018
iter#16190,cost=8.669704124531954
iter#16200,cost=8.718912992393532
iter#16210,cost=9.985122669404387
iter#16220,cost=8.959919780591122
iter#16230,cost=8.87146774469374
iter#16240,cost=9.327362097487285
iter#16250,cost=8.93959024365766
iter#16260,cost=9.13549045661957
iter#16270,cost=8.773224200202904
iter#16280,cost=9.097197378864703
iter#16290,cost=10.411311239434934
iter#16300,cost=8.957566484094434
iter#16310,cost=8.84163271051216
iter#16320,cost=10.238527789189952
iter#16330,cost=9.470577137594214
iter#16340,cost=9.42275218991181
iter#16350,cost=9.2457141655541
iter#16360,cost=9.93938533241296
iter#16370,cost=11.051333578940248
iter#16380,cost=10.394455752252405
iter#16390,cost=9.025221729966924
iter#16400,cost=8.54083272327265
iter#16410,cost=9.075951724523613
iter#16420,cost=10.165484031576788
iter#16430,cost=9.447736359270564
iter#16440,cost=9.426132336043825
iter#16450,cost=10.81918726173793
iter#16460,cost=7.3958824661179685
iter#16470,cost=9.972366252255076
iter#16480,cost=9.2381962350324
iter#16490,cost=10.67544441008765
iter#16500,cost=8.597654305133707
iter#16510,cost=10.462131040495994
iter#16520,cost=8.369461297065588
iter#16530,cost=9.053848899093625
iter#16540,cost=9.76972480452327
iter#16550,cost=9.560548388506229
iter#16560,cost=9.11363923966777
iter#16570,cost=9.455980153294403
iter#16580,cost=8.80370266135087
iter#16590,cost=9.398327150697515
iter#16600,cost=9.114585255253054
iter#16610,cost=9.728380859875008
iter#16620,cost=9.553219786061703
iter#16630,cost=10.082520187282315
iter#16640,cost=8.919579064685339
iter#16650,cost=9.374711201516345
iter#16660,cost=9.387986039493843
iter#16670,cost=8.382375462328064
iter#16680,cost=8.233859246277795
iter#16690,cost=10.986217670196725
iter#16700,cost=8.11088766878003
iter#16710,cost=9.119940357214656
iter#16720,cost=9.857794468193422
iter#16730,cost=10.057571807249163
iter#16740,cost=9.678365247677634
iter#16750,cost=7.6559756597677
iter#16760,cost=9.799861905654609
iter#16770,cost=9.100013718950839
iter#16780,cost=8.640344724354085
iter#16790,cost=8.506370679727356
iter#16800,cost=9.308372269705833
iter#16810,cost=10.54328987471774
iter#16820,cost=9.357910108853943
iter#16830,cost=8.829574376256055
iter#16840,cost=9.45449717070433
iter#16850,cost=10.355257007813979
iter#16860,cost=9.232954720246587
iter#16870,cost=9.918758666699977
iter#16880,cost=9.497836308151538
iter#16890,cost=9.290021170915542
iter#16900,cost=10.37871983146115
iter#16910,cost=10.197813400051597
iter#16920,cost=8.329159223001454
iter#16930,cost=10.714835036109413
iter#16940,cost=10.174360924783457
iter#16950,cost=9.695815436331424
iter#16960,cost=7.882066236126873
iter#16970,cost=8.891079703326998
iter#16980,cost=9.491751693836353
iter#16990,cost=8.373187574680912
iter#17000,cost=9.039988800968779
iter#17010,cost=10.399753638687809
iter#17020,cost=8.086063710360927
iter#17030,cost=10.110191120333283
iter#17040,cost=8.799451982388849
iter#17050,cost=7.474247533941372
iter#17060,cost=8.094856446199827
iter#17070,cost=9.165243755291112
iter#17080,cost=9.235089351791828
iter#17090,cost=9.086813233460873
iter#17100,cost=8.99765674115583
iter#17110,cost=9.998766928501631
iter#17120,cost=10.858085165038904
iter#17130,cost=10.242281463347847
iter#17140,cost=9.333099272909179
iter#17150,cost=8.941760938451408
iter#17160,cost=9.683483808300414
iter#17170,cost=8.634218212273248
iter#17180,cost=10.329312145533562
iter#17190,cost=9.8182594742623
iter#17200,cost=8.579410275995489
iter#17210,cost=9.29275957627763
iter#17220,cost=8.270627305797381
iter#17230,cost=9.052272380777055
iter#17240,cost=8.302246209063622
iter#17250,cost=9.18166359636392
iter#17260,cost=8.852480909395313
iter#17270,cost=9.354687996755654
iter#17280,cost=8.522379686028149
iter#17290,cost=8.740418909920983
iter#17300,cost=11.654473369639364
iter#17310,cost=9.005672806225174
iter#17320,cost=10.199126651291113
iter#17330,cost=8.751777625591526
iter#17340,cost=9.65838336871158
iter#17350,cost=8.713187320936575
iter#17360,cost=10.273279675564634
iter#17370,cost=10.63151887223578
iter#17380,cost=9.45726716047396
iter#17390,cost=8.31365781751899
iter#17400,cost=9.205379929173247
iter#17410,cost=8.783710885854406
iter#17420,cost=9.543011698572494
iter#17430,cost=8.705884077773293
iter#17440,cost=8.77742569184453
iter#17450,cost=7.617513522994604
iter#17460,cost=8.977259826300093
iter#17470,cost=9.174211244515694
iter#17480,cost=8.139474348773627
iter#17490,cost=10.407745323624354
iter#17500,cost=8.755528314079532
iter#17510,cost=8.607879337884336
iter#17520,cost=8.570958424351035
iter#17530,cost=8.87865727016575
iter#17540,cost=9.506387028070664
iter#17550,cost=9.513299869877887
iter#17560,cost=9.817637893750463
iter#17570,cost=9.462381026148105
iter#17580,cost=8.406919201238454
iter#17590,cost=8.34203555817225
iter#17600,cost=8.569467619632146
iter#17610,cost=9.499024122326666
iter#17620,cost=9.264968868692334
iter#17630,cost=9.854903491370814
iter#17640,cost=9.123594337388958
iter#17650,cost=10.457698677668914
iter#17660,cost=9.49380956356612
iter#17670,cost=10.57876231364193
iter#17680,cost=9.803688603401662
iter#17690,cost=9.88748538525203
iter#17700,cost=9.12610318982246
iter#17710,cost=8.081787286305163
iter#17720,cost=10.14710527198345
iter#17730,cost=10.349324620834581
iter#17740,cost=9.619913810728358
iter#17750,cost=9.364920382129192
iter#17760,cost=9.640062470556968
iter#17770,cost=10.357567287977123
iter#17780,cost=10.231610250856098
iter#17790,cost=9.25282488368993
iter#17800,cost=9.493058030146113
iter#17810,cost=9.676458249012251
iter#17820,cost=8.55415086906549
iter#17830,cost=9.595218463604798
iter#17840,cost=9.552313613367087
iter#17850,cost=9.63943291427771
iter#17860,cost=8.983138454995288
iter#17870,cost=9.915900029228892
iter#17880,cost=9.425760734719814
iter#17890,cost=8.665140959583452
iter#17900,cost=8.774086139939325
iter#17910,cost=10.099097295638904
iter#17920,cost=9.699204382398076
iter#17930,cost=9.480880988468428
iter#17940,cost=10.436373830817546
iter#17950,cost=11.042441681510754
iter#17960,cost=8.3229850187041
iter#17970,cost=9.797350349650968
iter#17980,cost=7.004258685933265
iter#17990,cost=9.339682541284816
iter#18000,cost=8.879368196736507
iter#18010,cost=10.20191628826984
iter#18020,cost=8.78206255450884
iter#18030,cost=8.154430835715242
iter#18040,cost=10.33055834684475
iter#18050,cost=9.304525992213282
iter#18060,cost=9.64173850446575
iter#18070,cost=8.319201286810534
iter#18080,cost=9.899921715106847
iter#18090,cost=8.712510192816259
iter#18100,cost=9.593444134982061
iter#18110,cost=9.56759962678891
iter#18120,cost=9.923599919422676
iter#18130,cost=9.661934433951744
iter#18140,cost=9.54532110174249
iter#18150,cost=9.152068996387937
iter#18160,cost=10.264458795067746
iter#18170,cost=9.628874062593928
iter#18180,cost=9.422132629835582
iter#18190,cost=8.376309941320985
iter#18200,cost=8.909730553848856
iter#18210,cost=10.293953218283612
iter#18220,cost=10.187151390214167
iter#18230,cost=9.124765243908
iter#18240,cost=7.933647404874463
iter#18250,cost=10.264127202345064
iter#18260,cost=11.548168579487761
iter#18270,cost=8.320599188395764
iter#18280,cost=9.40576043814919
iter#18290,cost=9.921766340544988
iter#18300,cost=9.191475280398064
iter#18310,cost=10.407381304224074
iter#18320,cost=8.294125765265955
iter#18330,cost=9.567018839047858
iter#18340,cost=9.438148212289653
iter#18350,cost=9.235733850793407
iter#18360,cost=10.436397078977949
iter#18370,cost=8.246688799480557
iter#18380,cost=9.343645229652958
iter#18390,cost=9.215694857824083
iter#18400,cost=10.55887301583655
iter#18410,cost=9.616547143192038
iter#18420,cost=8.715021637040852
iter#18430,cost=8.679042496819212
iter#18440,cost=9.76299710146111
iter#18450,cost=8.282424315142372
iter#18460,cost=9.795768688394633
iter#18470,cost=10.653324065360442
iter#18480,cost=8.734432313726868
iter#18490,cost=9.397553374262378
iter#18500,cost=9.695571663419623
iter#18510,cost=8.32290798260146
iter#18520,cost=9.97085852740428
iter#18530,cost=8.290505600091494
iter#18540,cost=9.944929393210817
iter#18550,cost=9.70135020924386
iter#18560,cost=8.55620675406174
iter#18570,cost=9.864592438134958
iter#18580,cost=9.316202152348355
iter#18590,cost=9.700888633016739
iter#18600,cost=9.961805718040402
iter#18610,cost=9.042923322421387
iter#18620,cost=9.5686740160877
iter#18630,cost=9.727074946087845
iter#18640,cost=10.090478561576763
iter#18650,cost=10.733433631569772
iter#18660,cost=9.728894563302857
iter#18670,cost=7.502777590157192
iter#18680,cost=9.76348169399002
iter#18690,cost=8.212902625044263
iter#18700,cost=8.475096336627963
iter#18710,cost=8.626373695453337
iter#18720,cost=9.308686808724504
iter#18730,cost=8.42413661946997
iter#18740,cost=9.249583243898764
iter#18750,cost=11.948144531615254
iter#18760,cost=8.613115164718373
iter#18770,cost=9.342400975917977
iter#18780,cost=10.875539235204338
iter#18790,cost=8.396797374111186
iter#18800,cost=10.254565032430856
iter#18810,cost=8.436376353050504
iter#18820,cost=10.078263806158406
iter#18830,cost=8.848985252614646
iter#18840,cost=9.4765088102329
iter#18850,cost=11.011943290348583
iter#18860,cost=10.737470311552247
iter#18870,cost=10.253715589384992
iter#18880,cost=9.376884485393164
iter#18890,cost=10.135068608041601
iter#18900,cost=9.121731236962333
iter#18910,cost=8.47872022133798
iter#18920,cost=9.418856887300208
iter#18930,cost=9.43402132379095
iter#18940,cost=9.114022987348518
iter#18950,cost=8.194713150614586
iter#18960,cost=8.634774659099264
iter#18970,cost=8.138167899255532
iter#18980,cost=7.943515703052223
iter#18990,cost=9.832194940982932
iter#19000,cost=9.387201998249864
iter#19010,cost=9.804336246628397
iter#19020,cost=9.977149494678947
iter#19030,cost=7.89773101632525
iter#19040,cost=9.225231607337168
iter#19050,cost=8.774038009348265
iter#19060,cost=9.40129315928916
iter#19070,cost=9.929719469452676
iter#19080,cost=9.378476525593351
iter#19090,cost=11.398304147428764
iter#19100,cost=9.43124679290118
iter#19110,cost=9.69279213392269
iter#19120,cost=8.848195505618719
iter#19130,cost=10.937758850013992
iter#19140,cost=9.219025822814235
iter#19150,cost=10.533303229526478
iter#19160,cost=9.001905085008048
iter#19170,cost=10.633309863275727
iter#19180,cost=9.16310323569566
iter#19190,cost=9.626407704292335
iter#19200,cost=9.144907875528487
iter#19210,cost=9.08696933243345
iter#19220,cost=8.873212305910055
iter#19230,cost=8.548642506717584
iter#19240,cost=11.203517993434701
iter#19250,cost=8.50622956591564
iter#19260,cost=8.623787174370424
iter#19270,cost=7.623171004028795
iter#19280,cost=9.298268998257702
iter#19290,cost=9.502115324145944
iter#19300,cost=9.003089923982916
iter#19310,cost=9.51463287588034
iter#19320,cost=8.449293624015434
iter#19330,cost=8.988080254107377
iter#19340,cost=9.588397293464265
iter#19350,cost=8.746344790385312
iter#19360,cost=10.072025621283842
iter#19370,cost=8.362146331427668
iter#19380,cost=8.591486586951982
iter#19390,cost=8.142321607261273
iter#19400,cost=10.259000000438185
iter#19410,cost=8.18480358378264
iter#19420,cost=8.238421135255132
iter#19430,cost=8.891286495092697
iter#19440,cost=8.329487093778042
iter#19450,cost=9.254132027134633
iter#19460,cost=9.499658653086508
iter#19470,cost=9.493606269593295
iter#19480,cost=9.201267313948115
iter#19490,cost=8.683384476924981
iter#19500,cost=9.914084557467556
iter#19510,cost=10.069985240319603
iter#19520,cost=9.278496340740142
iter#19530,cost=8.206518558201662
iter#19540,cost=11.08306553556602
iter#19550,cost=10.412416099276912
iter#19560,cost=7.79229137176819
iter#19570,cost=8.99426388441893
iter#19580,cost=9.850340190110094
iter#19590,cost=8.704896000626139
iter#19600,cost=10.305100634426164
iter#19610,cost=8.016640457980452
iter#19620,cost=8.549957109471155
iter#19630,cost=10.740955613974267
iter#19640,cost=9.519690509873378
iter#19650,cost=8.346428262889486
iter#19660,cost=8.972726438819059
iter#19670,cost=7.9564451253103
iter#19680,cost=9.518690144214558
iter#19690,cost=9.067576071000762
iter#19700,cost=9.026107211850873
iter#19710,cost=10.350590328810862
iter#19720,cost=9.963240261186982
iter#19730,cost=8.882803057993597
iter#19740,cost=8.006262276836589
iter#19750,cost=9.699659089818763
iter#19760,cost=9.436176132049988
iter#19770,cost=9.335980336286795
iter#19780,cost=9.204415470593203
iter#19790,cost=10.081703522861797
iter#19800,cost=10.45614557053462
iter#19810,cost=10.562321569431187
iter#19820,cost=8.794353843333148
iter#19830,cost=8.555170492317439
iter#19840,cost=10.049543221291906
iter#19850,cost=9.401288746700954
iter#19860,cost=9.77552981031896
iter#19870,cost=9.105383844633296
iter#19880,cost=8.99924739675321
iter#19890,cost=9.165841803116942
iter#19900,cost=8.59728275788537
iter#19910,cost=9.707942300451226
iter#19920,cost=10.55707811010888
iter#19930,cost=9.814519203565494
iter#19940,cost=8.78105673791216
iter#19950,cost=8.066888524725277
iter#19960,cost=10.261756589942458
iter#19970,cost=8.865508785775027
iter#19980,cost=10.165898395296034
iter#19990,cost=9.297547468036985
iter#20000,cost=9.36463954039991
iter#20010,cost=9.772719243141118
iter#20020,cost=8.545587404284495
iter#20030,cost=9.916479108383848
iter#20040,cost=8.805699128622988
iter#20050,cost=9.756666360541523
iter#20060,cost=11.834887996878399
iter#20070,cost=9.835535138898262
iter#20080,cost=7.7581206828089195
iter#20090,cost=9.81229688862438
iter#20100,cost=9.680779754820687
iter#20110,cost=10.359186697781476
iter#20120,cost=7.765350999427862
iter#20130,cost=9.456966636555475
iter#20140,cost=10.75124345131168
iter#20150,cost=9.797025934325479
iter#20160,cost=8.438082333550067
iter#20170,cost=9.039615824969646
iter#20180,cost=11.060028483518852
iter#20190,cost=9.36001291388077
iter#20200,cost=9.34712534608529
iter#20210,cost=8.842097754891025
iter#20220,cost=9.408824690085542
iter#20230,cost=9.419811394852973
iter#20240,cost=9.756055608796657
iter#20250,cost=9.756011557969046
iter#20260,cost=9.460614622055532
iter#20270,cost=9.42932556551799
iter#20280,cost=10.121954989588545
iter#20290,cost=7.5468981799340265
iter#20300,cost=12.604656651059999
iter#20310,cost=9.026180404875207
iter#20320,cost=8.983689312869027
iter#20330,cost=8.143957459326813
iter#20340,cost=9.93209069126907
iter#20350,cost=11.032909025339384
iter#20360,cost=9.29960650306635
iter#20370,cost=8.048626272015103
iter#20380,cost=9.336188595128768
iter#20390,cost=9.886731417994914
iter#20400,cost=8.021814691732155
iter#20410,cost=8.821428195409448
iter#20420,cost=10.78665689722305
iter#20430,cost=8.686939902740365
iter#20440,cost=10.275691278582865
iter#20450,cost=8.889437522695108
iter#20460,cost=8.59556141371315
iter#20470,cost=9.639232625014772
iter#20480,cost=9.220456985436325
iter#20490,cost=8.205065317784733
iter#20500,cost=9.629515218097245
iter#20510,cost=9.276773745101794
iter#20520,cost=8.939913735355251
iter#20530,cost=8.510003112551658
iter#20540,cost=8.864699079626627
iter#20550,cost=9.754866285137282
iter#20560,cost=9.959439017880571
iter#20570,cost=10.595269406712767
iter#20580,cost=9.64751016584608
iter#20590,cost=8.42999127932199
iter#20600,cost=9.043204138624198
iter#20610,cost=10.147197202569105
iter#20620,cost=8.5084340027636
iter#20630,cost=9.58527847703891
iter#20640,cost=10.048554408947535
iter#20650,cost=9.698045412316452
iter#20660,cost=9.294953964122069
iter#20670,cost=9.79899322761232
iter#20680,cost=10.584136506559892
iter#20690,cost=9.05458459071986
iter#20700,cost=10.045163202856765
iter#20710,cost=8.807145064970202
iter#20720,cost=10.072456185869482
iter#20730,cost=8.954843166722487
iter#20740,cost=9.452721615511965
iter#20750,cost=9.4352162125789
iter#20760,cost=8.297411326159674
iter#20770,cost=9.883493035529844
iter#20780,cost=10.031258285508503
iter#20790,cost=9.61569124711933
iter#20800,cost=9.166550999777888
iter#20810,cost=7.925194337115987
iter#20820,cost=8.614091759347518
iter#20830,cost=10.053021432559827
iter#20840,cost=9.808891745487621
iter#20850,cost=8.656318328717102
iter#20860,cost=8.512163938776597
iter#20870,cost=9.635232569516495
iter#20880,cost=8.395585687183134
iter#20890,cost=9.058804395016075
iter#20900,cost=9.405942658898425
iter#20910,cost=9.152094415280315
iter#20920,cost=8.961468037473837
iter#20930,cost=9.296501215531524
iter#20940,cost=10.648416467631005
iter#20950,cost=9.598063096344935
iter#20960,cost=8.470817021985775
iter#20970,cost=8.922542954061699
iter#20980,cost=9.424457987880492
iter#20990,cost=9.844977823025859
iter#21000,cost=11.233243367180863
iter#21010,cost=9.493961305447158
iter#21020,cost=8.042374894342709
iter#21030,cost=8.701699764734283
iter#21040,cost=10.448426696840004
iter#21050,cost=8.562502631093265
iter#21060,cost=10.52532617313612
iter#21070,cost=10.149327131758143
iter#21080,cost=9.912980945279749
iter#21090,cost=9.8629635885343
iter#21100,cost=9.732913866162724
iter#21110,cost=11.141855560976323
iter#21120,cost=10.177711613504885
iter#21130,cost=10.183359610522619
iter#21140,cost=9.108693152871208
iter#21150,cost=9.975396794185421
iter#21160,cost=9.182344197966883
iter#21170,cost=10.426812475627305
iter#21180,cost=7.5969533024320075
iter#21190,cost=9.54320036056374
iter#21200,cost=9.153822075372728
iter#21210,cost=9.783762744934053
iter#21220,cost=9.694588142031284
iter#21230,cost=10.208636561653863
iter#21240,cost=9.439117176775145
iter#21250,cost=9.962969176726643
iter#21260,cost=9.494805032258103
iter#21270,cost=9.081428720227578
iter#21280,cost=9.320167808789645
iter#21290,cost=8.46229062392067
iter#21300,cost=8.004555221894773
iter#21310,cost=10.633285751366206
iter#21320,cost=10.319441697056796
iter#21330,cost=8.149041477640221
iter#21340,cost=9.341614921406936
iter#21350,cost=7.932374980455716
iter#21360,cost=8.891290243228779
iter#21370,cost=9.789779943276562
iter#21380,cost=9.73601247396766
iter#21390,cost=9.907799301996157
iter#21400,cost=8.876882756726895
iter#21410,cost=10.079975729419727
iter#21420,cost=10.012411031642953
iter#21430,cost=9.584718724170092
iter#21440,cost=9.380665718451894
iter#21450,cost=9.225229538222502
iter#21460,cost=10.45937606220942
iter#21470,cost=9.133495789856013
iter#21480,cost=9.95417206722436
iter#21490,cost=9.369017972407601
iter#21500,cost=9.65562897382249
iter#21510,cost=10.13794875104816
iter#21520,cost=9.05777190541517
iter#21530,cost=9.49034648544964
iter#21540,cost=9.841794360854538
iter#21550,cost=8.840646188969082
iter#21560,cost=8.939138026260819
iter#21570,cost=9.770559032040623
iter#21580,cost=9.252337523423272
iter#21590,cost=9.70404572008536
iter#21600,cost=10.09753975702367
iter#21610,cost=9.32019492435132
iter#21620,cost=10.00562059623247
iter#21630,cost=10.700592709424615
iter#21640,cost=10.696019076858423
iter#21650,cost=11.838479850193478
iter#21660,cost=9.386114150642209
iter#21670,cost=9.040727280374012
iter#21680,cost=9.497925189727425
iter#21690,cost=9.674396456499238
iter#21700,cost=9.086535648276037
iter#21710,cost=10.136569985726924
iter#21720,cost=9.397415501449828
iter#21730,cost=9.24339967793029
iter#21740,cost=8.788894820634528
iter#21750,cost=7.9050819660262075
iter#21760,cost=8.865787073201126
iter#21770,cost=9.755077260986385
iter#21780,cost=9.148608897688218
iter#21790,cost=9.844473268518977
iter#21800,cost=10.29016350139413
iter#21810,cost=8.858305993733639
iter#21820,cost=9.186058738050011
iter#21830,cost=10.898931151120482
iter#21840,cost=8.744700088161075
iter#21850,cost=8.94366525828208
iter#21860,cost=10.48739999436993
iter#21870,cost=9.337496854149784
iter#21880,cost=9.628443416395433
iter#21890,cost=8.539651131652464
iter#21900,cost=9.370905212667534
iter#21910,cost=8.083568109115953
iter#21920,cost=9.41865669322213
iter#21930,cost=9.13774926128507
iter#21940,cost=8.805416886553385
iter#21950,cost=10.346078971565387
iter#21960,cost=10.305988661179958
iter#21970,cost=8.56108061709799
iter#21980,cost=8.970932744270277
iter#21990,cost=9.101487472182884
iter#22000,cost=7.842887860009983
iter#22010,cost=10.175061616698605
iter#22020,cost=10.488410156009458
iter#22030,cost=10.476782225798154
iter#22040,cost=8.720941658748659
iter#22050,cost=8.857083986587735
iter#22060,cost=8.634193131020014
iter#22070,cost=9.150241372276113
iter#22080,cost=8.678216453080902
iter#22090,cost=9.649811313084879
iter#22100,cost=10.08159710526402
iter#22110,cost=9.501577478375097
iter#22120,cost=9.594866076427929
iter#22130,cost=9.076987363839315
iter#22140,cost=9.115165633595144
iter#22150,cost=7.78028745416365
iter#22160,cost=10.19013098061892
iter#22170,cost=9.444184186514123
iter#22180,cost=10.227663807930224
iter#22190,cost=8.773684197884515
iter#22200,cost=9.54268485458876
iter#22210,cost=8.679120222198057
iter#22220,cost=9.822437489901805
iter#22230,cost=9.278200682102636
iter#22240,cost=8.495130532708693
iter#22250,cost=8.013866542281999
iter#22260,cost=9.617088696592178
iter#22270,cost=10.358151823845423
iter#22280,cost=8.451942463342231
iter#22290,cost=9.248335095876728
iter#22300,cost=8.736890204913609
iter#22310,cost=8.917724805357675
iter#22320,cost=8.909643898580349
iter#22330,cost=8.920712588850728
iter#22340,cost=9.568261853525337
iter#22350,cost=9.556150212325601
iter#22360,cost=10.20479649336957
iter#22370,cost=9.297434142690507
iter#22380,cost=9.301403536696846
iter#22390,cost=10.131839856213714
iter#22400,cost=9.547494306588062
iter#22410,cost=9.866953741010004
iter#22420,cost=9.039168455325921
iter#22430,cost=9.618906322456954
iter#22440,cost=9.287293263753913
iter#22450,cost=8.638961318780598
iter#22460,cost=8.853764820525875
iter#22470,cost=9.25612545299018
iter#22480,cost=9.7811095372474
iter#22490,cost=8.805677215179697
iter#22500,cost=9.342645619565417
iter#22510,cost=8.864121746085232
iter#22520,cost=9.223372374171303
iter#22530,cost=8.93081289542001
iter#22540,cost=9.645362461187556
iter#22550,cost=9.73247026779678
iter#22560,cost=10.19277304687662
iter#22570,cost=7.838860818354054
iter#22580,cost=10.413176044026542
iter#22590,cost=10.534023984645312
iter#22600,cost=9.848459667494948
iter#22610,cost=9.591706704330802
iter#22620,cost=10.110211694079352
iter#22630,cost=10.180737492180157
iter#22640,cost=9.16337208787687
iter#22650,cost=9.53184471984454
iter#22660,cost=8.889831596847227
iter#22670,cost=7.602690368654449
iter#22680,cost=10.233941900944533
iter#22690,cost=9.671700932649937
iter#22700,cost=10.436021139476678
iter#22710,cost=8.744999519794314
iter#22720,cost=8.935840723120043
iter#22730,cost=8.359179320110412
iter#22740,cost=8.476139431201737
iter#22750,cost=9.88483747592194
iter#22760,cost=9.257351701227117
iter#22770,cost=9.572396390865135
iter#22780,cost=9.358285241874302
iter#22790,cost=9.040988190113296
iter#22800,cost=8.746772972736672
iter#22810,cost=8.91296416676914
iter#22820,cost=8.683020698047049
iter#22830,cost=9.591829636853724
iter#22840,cost=8.94851751430352
iter#22850,cost=10.636653190180667
iter#22860,cost=9.117351790591249
iter#22870,cost=9.62448040206624
iter#22880,cost=8.66470385148309
iter#22890,cost=10.391792386437922
iter#22900,cost=10.336112190615928
iter#22910,cost=9.080357320108448
iter#22920,cost=10.055083168358836
iter#22930,cost=8.384206148937572
iter#22940,cost=8.379689712380872
iter#22950,cost=8.272177153517955
iter#22960,cost=9.418269349769322
iter#22970,cost=9.011091314798568
iter#22980,cost=9.70256455993855
iter#22990,cost=9.29551993511493
iter#23000,cost=9.122243532963166
iter#23010,cost=8.581931547329662
iter#23020,cost=6.8794196277820685
iter#23030,cost=8.808020068487439
iter#23040,cost=9.750443422311156
iter#23050,cost=7.566421346817781
iter#23060,cost=9.344153587924833
iter#23070,cost=8.993316610296896
iter#23080,cost=10.311869018439305
iter#23090,cost=9.322778963418637
iter#23100,cost=9.52890227302315
iter#23110,cost=9.487158934594001
iter#23120,cost=9.796275483172373
iter#23130,cost=8.013529760167675
iter#23140,cost=8.706348297139318
iter#23150,cost=10.77548876462397
iter#23160,cost=8.855544561760029
iter#23170,cost=9.610126257338623
iter#23180,cost=10.658801254854987
iter#23190,cost=7.955316833142753
iter#23200,cost=8.763839741478805
iter#23210,cost=9.518235192334762
iter#23220,cost=9.797207959903094
iter#23230,cost=10.564909790424164
iter#23240,cost=9.926173885687392
iter#23250,cost=10.550562616164306
iter#23260,cost=9.432407294181592
iter#23270,cost=8.950526292831793
iter#23280,cost=9.523487842446425
iter#23290,cost=9.040518041487278
iter#23300,cost=8.940968842163725
iter#23310,cost=9.399684139751017
iter#23320,cost=8.990191666564796
iter#23330,cost=10.426587708115775
iter#23340,cost=7.891925046304542
iter#23350,cost=10.920634343386526
iter#23360,cost=9.829563345077862
iter#23370,cost=8.885749609621588
iter#23380,cost=9.461014495259048
iter#23390,cost=9.626017198601842
iter#23400,cost=7.8856849001016815
iter#23410,cost=7.909946349700341
iter#23420,cost=9.179564833114169
iter#23430,cost=9.380925702271844
iter#23440,cost=10.040029897912769
iter#23450,cost=10.121073004213857
iter#23460,cost=10.325015558377883
iter#23470,cost=9.040637774335705
iter#23480,cost=8.791700079045924
iter#23490,cost=9.495492178948217
iter#23500,cost=9.068917892783942
iter#23510,cost=11.561096418131159
View Code

 

纯手写版的,真的是山外有山,人外有人呀。

既然tensorflow一行代码就行实现,那么为啥还要,自己写呢?

不为啥,就为了给自己装逼用。哈哈哈

 

转载于:https://www.cnblogs.com/weizhen/p/7538330.html

你可能感兴趣的:(cs224d 作业 problem set1 (一) 主要是实现word2vector模型,SGD,CBOW,Softmax,算法)