예제 #1
0
def min_edit_distance(s1, s2):
    '''
    Computes Minimum edit distance for the two strings
    :param s1: first string
    :param s2: second string
    :return: minimum edit distance (lavenshtein value)
    '''
    matrix = lavenshtein_matrix(s1, s2)
    print format_2d_array(matrix, '#' + s1, '#' + s2)
    return matrix[-1][-1] # the last cell has the value for two complete strings
예제 #2
0
def min_edit_distance(s1, s2):
    '''
    Computes Minimum edit distance for the two strings
    :param s1: first string
    :param s2: second string
    :return: minimum edit distance (lavenshtein value)
    '''
    matrix = lavenshtein_matrix(s1, s2)
    print format_2d_array(matrix, '#' + s1, '#' + s2)
    return matrix[-1][
        -1]  # the last cell has the value for two complete strings
예제 #3
0
                diagonal_dist = matrix[i-1][j-1]  + (0 if s1[i] == s2[j] else 2)
                if diagonal_dist < distance:
                    distance = diagonal_dist
            matrix[i][j] = distance
    return matrix

def min_edit_distance(s1, s2):
    '''
    Computes Minimum edit distance for the two strings
    :param s1: first string
    :param s2: second string
    :return: minimum edit distance (lavenshtein value)
    '''
    matrix = lavenshtein_matrix(s1, s2)
    print format_2d_array(matrix, '#' + s1, '#' + s2)
    return matrix[-1][-1] # the last cell has the value for two complete strings

if __name__ == '__main__':
    s1 = 'abbaba'#'intention'
    s2 = 'aabbcva'#'executions'
    #distance = min_edit_distance(s1, s2)
    #print distance
    alignment, min_dist, matrix = align_strings(s1, s2, pad_char="-")

    print(format_2d_array(matrix, '\0' + s1, '\0' + s2))
    print(alignment[0])
    print(alignment[1])
    print("\nMin Edit Distance = %d " % min_dist)


예제 #4
0
                if diagonal_dist < distance:
                    distance = diagonal_dist
            matrix[i][j] = distance
    return matrix


def min_edit_distance(s1, s2):
    '''
    Computes Minimum edit distance for the two strings
    :param s1: first string
    :param s2: second string
    :return: minimum edit distance (lavenshtein value)
    '''
    matrix = lavenshtein_matrix(s1, s2)
    print format_2d_array(matrix, '#' + s1, '#' + s2)
    return matrix[-1][
        -1]  # the last cell has the value for two complete strings


if __name__ == '__main__':
    s1 = 'abbaba'  #'intention'
    s2 = 'aabbcva'  #'executions'
    #distance = min_edit_distance(s1, s2)
    #print distance
    alignment, min_dist, matrix = align_strings(s1, s2, pad_char="-")

    print(format_2d_array(matrix, '\0' + s1, '\0' + s2))
    print(alignment[0])
    print(alignment[1])
    print("\nMin Edit Distance = %d " % min_dist)