'''
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一行代码就行实现,那么为啥还要,自己写呢?

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

cs224d 作业 problem set1 (一) 主要是实现word2vector模型,SGD,CBOW,Softmax,算法的更多相关文章

  1. cs224d 作业 problem set1 (二) 简单的情感分析

    使用在上一篇博客中训练好的wordvector 在这一节进行情感分析. 因为在上一节中得到的是一个词就是一个向量 所以一句话便是一个矩阵,矩阵的每一列表示一个词向量 情感分析的前提是已知一句话是 (超 ...

  2. cs224d 作业 problem set2 (三) 用RNNLM模型实现Language Model,来预测下一个单词的出现

      今天将的还是cs224d 的problem set2 的第三部分习题, 原来国外大学的系统难度真的如此之大,相比之下还是默默地再天朝继续搬砖吧 下面讲述一下RNN语言建模的数学公式: 给出一串连续 ...

  3. cs224d 作业 problem set2 (一) 用tensorflow纯手写实现sofmax 函数,线性判别分析,命名实体识别

    Hi Dear Today we will use tensorflow to implement the softmax regression and linear classifier algor ...

  4. cs224d 作业 problem set3 (一) 实现Recursive Nerual Net Work 递归神经网络

    1.Recursive Nerual Networks能够更好地体现每个词与词之间语法上的联系这里我们选取的损失函数仍然是交叉熵函数 2.整个网络的结构如下图所示: 每个参数的更新时的梯队值如何计算, ...

  5. cs224d 作业 problem set2 (二) TensorFlow 实现命名实体识别

    神经网络在命名实体识别中的应用 所有的这些包括之前的两篇都可以通过tensorflow 模型的托管部署到 google cloud 上面,发布成restful接口,从而与任何的ERP,CRM系统集成. ...

  6. cs224d 自然语言处理作业 problem set3 (一) 实现Recursive Nerual Net Work 递归神经网络

    1.Recursive Nerual Networks能够更好地体现每个词与词之间语法上的联系这里我们选取的损失函数仍然是交叉熵函数 2.整个网络的结构如下图所示: 每个参数的更新时的梯队值如何计算, ...

  7. WordCount作业提交到FileInputFormat类中split切分算法和host选择算法过程源码分析

    参考 FileInputFormat类中split切分算法和host选择算法介绍  以及 Hadoop2.6.0的FileInputFormat的任务切分原理分析(即如何控制FileInputForm ...

  8. 作业6小学生四则运算测试APP的NABCD模型

    小学生四则运算测试NABCD模型 组员:李新,朱浩龙,叶煜稳,陈俊金,林德麟 (1)  N (Need 需求) 需求分析: 四则运算是小学生学习数学的核心和基础,必须经过大量的练习才能熟练掌握,但是一 ...

  9. 第一次作业:基于Linux 4.5的进程模型与调度器分析

    1.操作系统是怎么组织进程的? 1.1什么是线程,什么是进程: 刚接触时可能经常会将这两个东西搞混.简单一点的说,进程是一个大工程,线程则是这个大工程中每个小地方需要做的东西(在linux下看作&qu ...

随机推荐

  1. linux系统中查看日志及系统信息

    cat tail -f 日 志 文 件说 明 /var/log/message系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure与安全相关的日志 ...

  2. Chrome-逆向分析JS-1分析google网站翻译器原文存放位置

    剧透:就是使用了一下 Chrome DevTools 的 Memory 功能,通过已知的 JS 变量的值查找 JS 内存中变量的引用 # 一:不分析一下现有的网页翻译方法么? 总所周知,(As is ...

  3. Eclipse Luna安装Hibernate Tools 4.2.3不显示,设置Eclipse运行的JDK

    Eclipse Luna安装Hibernate Tools 4.2.3不显示,设置Eclipse运行的JDK,有需要的朋友可以参考下. eclipse-jee-luna-SR2中安装Hibernate ...

  4. getAttribute 与getParmeter 区别

    1.getAttribute是取得jsp中 用setAttribute設定的attribute 2.parameter得到的是string:attribute得到的是object 3.request. ...

  5. R语言利用ROCR评测模型的预测能力

    R语言利用ROCR评测模型的预测能力 说明 受试者工作特征曲线(ROC),这是一种常用的二元分类系统性能展示图形,在曲线上分别标注了不同切点的真正率与假正率.我们通常会基于ROC曲线计算处于曲线下方的 ...

  6. 关于Java中编码集的有趣现象和解释

    这是在整理另一篇博客的时候发现的一个有趣的现象,是这样描述的:我们都知道Java默认使用的是UniCode编码集,我们也知道char类型占用两个字节.所以奇怪的现象又发生了(见代码): @Test p ...

  7. Java + selenium 元素定位(1)之By id/Name/ClassName

    这篇文章开始,要介绍web自动化核心的内容,也是最困难的部分了,就是定位元素,并去对元素进行操作.想要对元素进行操作,第一步,也是最重要的一步,就是要找到这个元素,如果连元素都定位不到,后续什么操作都 ...

  8. 【JavaScript性能优化】------理解Script标签的加载和执行

    1.script标签是如何加载的?当浏览器遇到一个 < script>标签时,浏览器会停下来,运行JavaScript代码,然后再继续解析.翻译页面.同样的事情发生在使用 src 属性加载 ...

  9. 利用程序随机构造N个已解答的数独棋盘

    高级软件工程第二次作业:利用程序随机构造N个已解答的数独棋盘,代码如下: package SudokuGame; /** * 解决这个问题使用的是回溯+剪枝的算法 * 基本思想:不断地将每个格子可填入 ...

  10. C++中的类型转换函数

    1,转换构造函数可以将普通的基础类型转换为当前的类类型,也有能力将其它类类 型的对象转换为当前的类类型: 2,问题: 1,类类型是否能够类型转换到普通类型? 1,可以的: 3,类型转换函数: 1,C+ ...