- 다양한 주제에 대해 자유롭게 글을 작성하는 게시판입니다.
Date 18/01/10 22:48:15
Name   유리소년
Subject   거리함수 이야기 (1)
1. 거리함수의 개념

거리distance는 두 개의 객체가 얼마나 떨어져 있는지를 나타내는 척도입니다. 일반적으로 거리라는 것은 두 장소 사이를 연결한 직선의 공간적 길이나 두 시각 사이의 시간의 간격 등을 가리키는 말로 쓰입니다만 수학에서는 이것을 일반화하여 다양한 상황에서 적용할 수 있는 [떨어진 정도] 를 묘사하는 데 쓰기도 합니다.

예를 들어, 지하철을 타고 사당역에서 광화문역으로 가려고 한다고 합시다. 이때 사당역-광화문역 사이를 연결한 직선의 거리는 별 의미가 없습니다. 지하철은 직선으로 다니지 않으니까요. 이 상황에서 승객에게 사당역-광화문역 사이가 얼마나 떨어져 있는지를 나타내는 가장 적절한 척도는 '광화문역-사당역을 연결하는 지하철 노선들 중 가장 길이가 짧은 것의 길이'가 될 겁니다. 그러므로 '역 A-역 B를 연결하는 지하철 노선들 중 가장 길이가 짧은 것의 길이'는 [거리 개념을 지하철역들 사이로 일반화한 것]이 됩니다.


그러면 두 객체 사이에서 발생하는 숫자값을 아무거나 잡아도 그것을 거리 개념으로 쓸 수 있는 걸까요? 그건 아닙니다.

수학에서 거리함수metric function/distance function은 다음의 조건들을 만족하는 함수로 이야기합니다.
즉, 다음 테스트들을 전부 통과하면 거리 개념으로 쓰기에 합격이고, 하나라도 실패하면 거리 개념으로 쓰기에 적합하지 않다는 거죠.


1. 거리가 가질 수 있는 값은 0 또는 양수여야 한다.
- 당연합니다. 마이너스 거리라는 건 말이 안되잖아요.

2. 동일한 객체인 A와 A 사이의 거리는 0이다. 또한, 두 객체가 서로 다르다면, 둘 사이의 거리는 무조건 0보다 커야 한다. (식별가능성)
- 이것도 당연합니다.

3. A와 B 사이의 거리는 B와 A 사이의 거리와 같아야 한다. (상호대칭성)
- 납득이 가면서도 중요한 성질입니다. 예를 들어, 위에 든 지하철 노선 예시는 이 조건을 만족합니다. 광화문역에서 출발해서 사당역에 도착할 때까지의 최단 지하철노선의 길이는 사당역에서 출발해서 광화문역에 도착할 때까지의 최단 지하철노선의 길이와 같기 때문입니다.
그러나, 다음 예시는 이 조건을 만족하지 않습니다. 두 사람 A와 B 사이의 친밀함의 정도를 'A가 B에게 한달 동안 보내는 카톡 메시지의 수'라고 주장하면, 이 척도는 거리 개념으로 쓸만한 조건을 만족시키지 못합니다. 집착이 심한 A가 대쉬를 할 때 B에게 카톡 100개를 보냈지만, B는 맨날 읽씹을 하면서 답장 10개를 보낸 경우, A가 B에게 보낸 메시지 수와 B가 A에게 보낸 메시지 수는 다르고, A는 자신이 B와 친하다고 착각할 수 있지만 B 입장에서는 A가 짜증날 수 있기 때문입니다. 거리 개념을 묘사하기 위한 척도로 쓰기 위해서는 상호대칭적이어야 합니다.

4. A와 C 사이의 거리A와 B 사이의 거리 + B와 C 사이의 거리 보다 작거나 같아야 한다. (최단성, 삼각부등식)
- 바로 와닿지 않을 수도 있겠지만, 가장 핵심적으로 만족해야 하는 조건 중 하나입니다. 이것을 더 쉽게 이해하기 위해서는 위의 지하철 최단노선길이의 예를 다시 들어 봅시다. 당신이 광화문역에서 출발해 사당역에 도착하고 싶은 상황에서, 지하철 경로들에 대한 선택지 자체는 매우 많습니다. 당신은 도중에 심심해서 왕십리나 혜화까지 갔다올 수도 있을 겁니다. 하지만 [그래서 두 역 사이가 얼마나 떨어져 있다는 건데?] 라는 본질적인 질문에 답하기 위해서는, 광화문에서 출발해서 사당역에 도착하는 수많은 경로들 중 가장 짧은 것을 택하는 것이 가장 자연스러울 겁니다. 빙빙 돌아가는 경로들은 별로 중요하지 않으니까요.

위의 조건을 [거리 = 최단 경로를 묘사하는 척도]로 쓰기 위해서 넣었다고 생각한다면, 수식은 자연스럽게 납득됩니다.
[A -> C로 가려면 A -> C로 가는 직통 노선을 택하는 게 중간에 A -> B -> C를 거쳐 가는 것보다 나아야 한다] 는 뜻이니까요.




2. Lp 거리

많은 거리함수들 중 범용적이라 여겨지는 것은 두 장소 사이의 물리적 거리를 묘사하는 Lp 거리일 겁니다.

중학교 과정부터 배우는 가장 친숙한 거리는 역시 [두 장소 사이를 연결하는 선의 공간적 길이] 인데, 이것도 Lp 거리의 일부이지요.
두 점을 연결하는 선의 길이는 피타고라스 센세의 정리에 의해 다음과 같이 계산됩니다.



이를 유클리드 거리 또는 L2 거리라고 합니다. 왜 다른 이름이 L2 거리인지는 조금 이따가 설명.
이 함수는 위의 조건 4개를 전부 만족합니다. 정규 교과 과정에 나오니까 설명은 생략하도록 합시다.



이것을 확장한 것으로 Lp 거리 (민코프스키 거리)라는 것이 있습니다. 요렇게 표현하는 녀석이지요.



p ≥ 1이라면 이 함수도 역시 위의 조건 4개를 만족해서 거리의 일부분으로 쓸 수 있습니다. (p < 1이면 안됩니다. 자세한 설명은 생략)
잘 보면 저 식에 p = 2를 넣으면 우리가 아는 유클리드 거리가 됨을 알 수 있습니다.
즉 유클리드 거리는 Lp 거리의 특수한 경우이며, 그래서 유클리드 거리의 또 다른 이름이 L2 거리인 거지요.


1 이상의 수많은 p들 중 다른 것들은 그렇게 자주 쓰이진 않고 p = 1 (L1 거리/맨하탄 거리), p = 2 (L2 거리/유클리드 거리), p = ∞ (L∞ 거리/체비세프 거리) 가 가장 많이 쓰입니다.

p = 1의 경우 위의 식은 이렇게 변합니다.



L1 거리는 맨하탄 거리, 택시캡 거리 등등 많은 이름들이 있습니다만 저는 이 글에선 영걸전 거리 또는 SRPG 거리라고 부르겠습니다.




위의 수식과 같이 봅시다. 수식이 나타내는 값은 [가로 거리와 세로 거리를 더한 것]입니다. 영걸전에서 유닛은 상하좌우로만 이동할 수 있고, 관우가 왼쪽 위 대각선 1칸으로 가려면 왼쪽 1칸 + 위쪽 1칸 식으로 이동해야 하기 때문에 이동력 2를 써야하죠. 때문에 왼쪽 위 대각선 1칸과의 거리는 2가 됩니다. 많은 SRPG들은 우리가 아는 L2 거리가 아닌 L1 거리를 사용합니다. L2 거리라면 왼쪽 위 대각선 1칸과의 거리는 루트2가 되어야 하지만, 우리는 영걸전이나 조조전을 할때 직관적으로 '대각선 1칸은 이동력 2를 소모해야 갈 수 있는 곳'이라는 것을 받아들이고 있죠.


p = ∞의 경우에는 위의 식은 다음과 같이 정의할 수 있습니다.



Lp 거리의 p에 무한대를 대입하면 왜 저렇게 되느냐? 라는 것에 대해선.. p = ∞를 직접 대입한 것이 아니라 Lp 거리에 lim p→∞를 적용시켜서 얻는 함수입니다. 수학 계산이기 때문에 역시 여기에 대해서는 자세한 설명은 생략합니다.

L∞ 거리는 체비세프 거리라는 이름이 있지만, 여기서는 체스킹 거리라는 이름을 사용하겠습니다.



역시 수식과 같이 봅시다. 수식이 나타내는 값은 [가로 거리, 세로 거리 둘 중에 큰 것] 입니다. 체스에서 킹은 상하좌우뿐만 아니라 한번에 대각선으로도 이동할 수 있기 때문에, 킹이 왼쪽 위 대각선 2칸으로 가려면 왼쪽 2칸 -> 위쪽 2칸을 갈 필요 없이 그냥 대각선으로 두번 가면 됩니다. 때문에 2턴만에 이동이 가능하지요. 즉 체스의 킹은 이동할 때 L∞ 거리를 사용하는 것입니다.



다음 글에서는 두 장소 사이의 물리적 거리가 아닌 예들을 소개하겠습니다.




9
  • 수학 시리즈는 춫현!
  • 관우...야캐요


다시갑시다
길이 일방통행 밖에 없어서 A->B로의 이동루트와 B->A로의 이동루트가 강제적으로 많이 다르다면 한쪽방향으로만 가는 길의 길이가 거리가 될수 없는거군요
유리소년
그렇습니다.
깔끔한 정리 좋아요 >_< 나머지는 쉽게 이해가 가는데, 체비셰프 거리는 알쏭달쏭하네요.
유리소년
글을 나눠서 쓰려고 했으나 실 적용예들을 소개하는 부분을 다른 글로 판다면 1편은 너무 재미가 없어질듯하여 통합..
1
호라타래
다시 보니 업데이트가!
캡틴아메리카
오오 수학 시리즈 연재 하심? 여윾시 수학빌런 기대기대+_+
호라타래
수학대장님도 가시죠
캡틴아메리카
예전엔 연재 해볼까도 생각했는데,

지금은 연재보다 (시간적 여유가 된다면) 홍차넷 내부에서 수학소모임 같은 것을 만들어 직접강의 하는 것을 계획하고 있습니다. ㅎㅎㅎ

문제는 당장 제가 시간이 나야 한다는 것.... (바꿔 말하면 영영 못 할 수도 있어요 ㅠㅜ)
2
호라타래
서울시 학습동아리 지원사업 같은 것도 이용하면 좋겠네요 +_+ 펌프질 펌프질
CONTAXS2
제 아들(8세, 취학준비생)도 좀..ㅎ
캡틴아메리카
유아+초등학생 교육은 제가 아직 능력이 되질 않습...ㅜㅜ
CONTAXS2
'잘 보면 저 식에 p = 2를 넣으면 우리가 아는 유클리드 거리가 됨을 알 수 있습니다.'

어떻게 잘 봐야되는지도 알려주시죠. 센세
유리소년
Lp 거리는 가로/세로 거리 각각을 p승해서 합한 뒤 1/p승을 하는 것입니다.

p=2의 경우 2승해서 합한 뒤 1/2승을 하는 거져.
다시 말해서 제곱해서 합한 뒤 루트를 씌우는 거.. 이건 정규 교과과정에서 배우는 거리식과 같은 것이져.
목록
번호 제목 이름 날짜 조회 추천
공지 티타임 게시판 이용 규정 2 Toby 15/06/19 32931 7
15408 도서/문학'야성의부름' 감상 에메트셀크 25/04/27 181 2
15407 일상/생각토요일의 홀로서기 큐리스 25/04/26 287 1
15406 일상/생각사진 그리고 와이프 1 큐리스 25/04/25 461 4
15405 게임마비노기 모바일 유감 12 dolmusa 25/04/25 657 5
15404 일상/생각인생 시뮬레이션??ㅋㅋㅋ 1 큐리스 25/04/25 465 0
15403 의료/건강긴장완화를 위한 소마틱스 운동 테크닉 소개 4 바쿠 25/04/24 526 10
15402 도서/문학사학처럼 문학하기: 『눈물을 마시는 새』 시점 보론 meson 25/04/23 319 6
15401 일상/생각아이는 부모를 어른으로 만듭니다. 3 큐리스 25/04/23 490 10
15400 꿀팁/강좌4. 좀 더 그림의 기초를 쌓아볼까? 6 흑마법사 25/04/22 381 18
15399 일상/생각처음으로 챗GPT를 인정했습니다 2 Merrlen 25/04/22 789 2
15398 일상/생각초6 딸과의 3년 약속, 닌텐도 OLED로 보답했습니다. 13 큐리스 25/04/21 878 28
15397 일상/생각시간이 지나 생각이 달라지는것 2 3 닭장군 25/04/20 768 6
15396 IT/컴퓨터AI 코딩 어시스트를 통한 IDE의 새로운 단계 14 kaestro 25/04/20 650 1
15395 게임이게 이 시대의 캐쥬얼게임 상술인가.... 4 당근매니아 25/04/19 643 0
15394 꿀팁/강좌소개해주신 AI 툴로 본 "불안세대" 비디오 정리 2 풀잎 25/04/19 622 3
15393 IT/컴퓨터요즘 일상적으로 사용하는 AI툴들 12 kaestro 25/04/19 793 18
15392 도서/문학명청시대의 수호전 매니아는 현대의 일베충이 아닐까? 구밀복검 25/04/18 497 8
15391 정치세대에 대한 냉소 21 닭장군 25/04/18 1241 15
15389 게임두 문법의 경계에서 싸우다 - 퍼스트 버서커 카잔의 전투 kaestro 25/04/17 394 2
15388 일상/생각AI한테 위로를 받을 줄이야.ㅠㅠㅠ 4 큐리스 25/04/16 701 2
15387 기타스피커를 만들어보자 - 번외. 챗가를 활용한 스피커 설계 Beemo 25/04/16 295 1
15386 일상/생각일 헤는 밤 2 SCV 25/04/16 397 9
15385 게임퍼스트 버서커 카잔에는 기연이 없다 - 던파의 시선에서 본 소울라이크(1) 5 kaestro 25/04/16 314 2
15384 일상/생각코로나세대의 심리특성>>을 개인연구햇읍니다 16 흑마법사 25/04/15 716 10
목록

+ : 최근 2시간내에 달린 댓글
+ : 최근 4시간내에 달린 댓글

댓글