def edit_distance()

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