
v1 Manhattan 은 L1. 일반화된 Minkowski 는 파라미터 하나로 여러 거리를 통합:
np.inf 특수 처리: (abs(x-y)).max(axis=-1) 로 직접.if np.isinf(p):
return np.abs(X[:, None, :] - Y[None, :, :]).max(axis=-1)
diff = np.abs(X[:, None, :] - Y[None, :, :])
return (diff ** p).sum(axis=-1) ** (1 / p)
함수 minkowski(X, Y, p) 를 완성하세요.
X (N, D), Y (M, D), 스칼라 또는 np.inf p.(N, M) 거리 행렬.p=inf 특별 처리 필수.| # | 이름 | 검증 |
|---|---|---|
| 1 | shape (N, M) | |
| 2 | p=2 → L2 | |
| 3 | p=1 → L1 (v1 일치) | |
| 4 | p=∞ → Chebyshev | |
| 5 | 대각 0 (X=Y) | |
| 6 | p 증가 → 거리 감소 경향 (고정 X, Y) | |
| 7 | 수치 안정 (큰 p 에서 finite) |
코드를 작성하고 Run 을 눌러보세요.