Page 86 - 인공지능 수학 교과서
P. 86
일반적으로 해밍 거리가 0에 가까울수록 두 문자열 사이의 유사도가 높고, 해밍 거리
가 0보다 커질수록 두 문자열 사이의 유사도는 낮다. 따라서 두 문자열 S_1과 S_2가 두
문자열 S_3와 S_4보다 유사도가 높다고 할 수 있다.
해밍 거리를 이용하여 두 행렬의 유사도는 어떻게 나타낼 수 있을까?
해밍 거리를 확장하여 정의하면 두 행렬의 유사도를 수치화할 수 있다. 즉 두 행렬이
주어질 때, 같은 위치에 있는 서로 다른 성분들의 개수를 행렬의 해밍 거리로 정의한다.
1 0 1 0 0 1
예를 들어 세 개의 2×2 행렬 L=d n, M=d n, N=d n 이 주어질 때, 두 행렬
0 1 0 1 1 0
L과 M은 같은 행렬이므로 해밍 거리는 0이고, 이 두 행렬의 유사도는 매우 높음을 알
수 있다.
한편 행렬 L과 N은 같은 위치에 있는 서로 다른 문자의 개수가 4이므로 해밍 거리
가 4이고, 이 두 행렬의 유사도는 매우 낮음을 알 수 있다.
예제 3
세 행렬 A, B, C에 대하여 다음 물음에 답하시오.
1 0 1 1 1 1 1 0 1
f
f
f
A= 1 1 1p B= 0 0 0p C= 0 1 0p
1 0 1 1 1 1 1 0 1
(1) 두 행렬 A, B의 해밍 거리를 구하시오.
(2) 두 행렬 A, C의 해밍 거리를 구하시오.
풀이
(1) 두 행렬 A, B의 1행 2열과 3행 2열의 성분이 다르고, 2행의 모든 성분이 다르므로 두 행렬 A,
B의 해밍 거리는 5이다.
(2) 두 행렬 A, C의 2행의 1열과 3열의 성분이 다르므로 두 행렬 A, C의 해밍 거리는 2이다.
답 (1) 5 (2) 2
문제 5 세 행렬 A, B, C에 대하여 유사도가 가장 높은 두 행렬을 찾으시오.
1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0
A=d n B=d n C=d n
1 0 1 0 1 0 0 1 0 1 1 1 0 0 0 1 1 1
84 Ⅲ. 분류와 예측