7 : bool 値を持つ配列を作成します (どうやら、これは論文では説明されていません)。現在の値 (値 = インデックス) を「true」に割り当てます。
18 : この時点で、すべての値が「true」になり、k = len(parents) の条件に到達する配列を持つことができます 19-22 : これにより、無限ループが作成されます
何か不足していますか?
論文: 組み合わせ最適化問題のための部分的にマッピングされた交差の複数親拡張。Chuan-Kang Tinga, , , Chien-Hao Sub, , Chung-Nan Leeb,
http://www.sciencedirect.com/science/article/pii/S0957417409006800
//編集: ここに私のコード PYTHON-2.6 が入ります
def MappingListDetermination(parents):
mapping_list = []
startparent = parents[random.sample(xrange(0, len(parents)), 1)[0]]
ptr = random.sample(xrange(0, len(startparent)), 1)[0]
temp_value = startparent[ptr]
boolean = [False] * listSize
for j in xrange(0,len(startparent)):
mapping_list.append(temp_value)
boolean[temp_value-1] = True
arr = random.sample(xrange(0, n), n)
if arr[0] == parents.index(startparent):
arr[0] = arr[random.sample(xrange(1, len(arr)), 1)[0]]
endparent = parents[arr[0]]
ptr = endparent.index(temp_value)
k = 0
while((boolean[startparent[ptr]-1] is True) and (k is not len(parents)-1)):
k = k + 1
startparent = parents[arr[k]]
if((boolean[startparent[ptr]-1] is True) and (k is len(parents)-1)):
while(boolean[startparent[ptr]-1] is True ):
startparent = parents[random.sample(xrange(0, len(parents)), 1)[0]]
ptr = startparent[random.sample(xrange(0, len(startparent)), 1)[0]]-1
temp_value = startparent[ptr]ere