유클리드 거리가 상하좌우/대각선 어떤 방향이든지 이동이 가능했다면, 맨해튼 거리는 상하좌우로만 이동할 수 있습니다. 맨해튼 거리 측정은 수식 10.19처럼 단순히 두 점의 세로축 차이와 가로축 차이를 더하면 됩니다.

     

    수식 10.19

    d(x, y) = |x1 - x2| + |y1 - y2|

     

    맨해튼 거리 역시 파이썬으로 구할 수 있습니다. 파이썬의 math 함수에는 수학과 관련된 다양한 함수와 상수가 미리 정의되어 있습니다. 맨해튼 거리도 math 함수를 사용해서 구현해 보겠습니다.

     

    In [54]:

    # math 함수를 호출합니다
    from math import*
    
    # 두 점 P1과 P2를 정의합니다
    p1 = (1, 2, 3)
    p2 = (4, 5, 6)
    
    # 맨해튼 거리를 계산하는 사용자 정의 함수를 생성합니다
    def manhattan_distance(x, y):
        return sum(abs(a-b) for a,b in zip(x,y))
    
    # P1과 P2 사이의 맨해튼 거리를 계산합니다
    manhattan_distance(p1,p2)

     

    Out [54]:

    9
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.