''' 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)<Predefine Error 则停止迭代
否则继续迭代。
上面所有的公式推导都是在求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变量求偏导
下面这张图片是交叉熵损失函数对变量w求偏导,这里将w=(wc,wy)
接下来是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
纯手写版的,真的是山外有山,人外有人呀。
既然tensorflow一行代码就行实现,那么为啥还要,自己写呢?
不为啥,就为了给自己装逼用。哈哈哈