in LaNAS/LaNet/CIFAR10/nasnet_set.py [0:0]
def edit_distance(net_1, net_2):
distance = 0
for i in range(len(net_1)):
if [net_1[i][2], net_1[i][3]] == [net_2[i][2], net_2[i][3]]:
if net_1[i][0] != net_2[i][0]:
distance += 1
if net_1[i][1] != net_2[i][1]:
distance += 1
elif [net_1[i][2], net_1[i][3]] == [net_2[i][3], net_2[i][2]]:
if net_1[i][0] != net_2[i][1]:
distance += 1
if net_1[i][1] != net_2[i][0]:
distance += 1
elif [net_1[i][0], net_1[i][2]] == [net_2[i][0], net_2[i][2]]:
if net_1[i][1] != net_2[i][1]:
distance += 1
if net_1[i][3] != net_2[i][3]:
distance += 1
elif [net_1[i][0], net_1[i][2]] == [net_2[i][1], net_2[i][3]]:
if net_1[i][1] != net_2[i][0]:
distance += 1
if net_1[i][3] != net_2[i][2]:
distance += 1
elif [net_1[i][1], net_1[i][3]] == [net_2[i][1], net_2[i][3]]:
if net_1[i][0] != net_2[i][0]:
distance += 1
if net_1[i][2] != net_2[i][2]:
distance += 1
elif [net_1[i][1], net_1[i][3]] == [net_2[i][0], net_2[i][2]]:
if net_1[i][0] != net_2[i][1]:
distance += 1
if net_1[i][2] != net_2[i][3]:
distance += 1
else:
if net_1[i][0] in net_2[i][:2]:
if net_1[i][0] == net_2[i][0]:
if net_1[i][2] != net_2[i][2]:
distance += 1
if net_1[i][1] != net_2[i][1]:
distance += 1
if net_1[i][3] != net_2[i][3]:
distance += 1
else:
if net_1[i][2] != net_2[i][3]:
distance += 1
if net_1[i][1] != net_2[i][0]:
distance += 1
if net_1[i][3] != net_2[i][2]:
distance += 1
elif net_1[i][1] in net_2[i][:2]:
if net_1[i][1] == net_2[i][1]:
if net_1[i][2] != net_2[i][2]:
distance += 1
if net_1[i][0] != net_2[i][0]:
distance += 1
if net_1[i][3] != net_2[i][3]:
distance += 1
else:
if net_1[i][2] != net_2[i][3]:
distance += 1
if net_1[i][0] != net_2[i][1]:
distance += 1
if net_1[i][3] != net_2[i][2]:
distance += 1
else:
distance += 2
if net_1[i][2] in net_2[i][-2:]:
if net_1[i][2] == net_2[i][2]:
if net_1[i][3] != net_2[i][3]:
distance += 1
elif net_1[i][2] == net_2[i][3]:
if net_1[i][3] != net_2[i][2]:
distance += 1
elif net_1[i][3] in net_2[i][-2:]:
if net_1[i][3] == net_2[i][3]:
if net_1[i][2] != net_2[i][3]:
distance += 1
elif net_1[i][3] == net_2[i][2]:
if net_1[i][2] != net_2[i][3]:
distance += 1
else:
distance += 2
return distance