← 갤러리
라플라시안

라플라시안⁠(Laplacian)⁠, 가장 많이 재사용된 식

이웃들의 평균⁠(mean)⁠에서 나를 뺀다. 이 한 줄이 열이 퍼지는 법칙이고, 도박꾼이 이길 확률⁠(probability)⁠이고, 전기 회로의 방정식이고, 북의 음색이고, 사진의 윤곽선이고, 그래프를 둘로 가르는 칼이고, 잡음에서 그림을 빚는 인공지능⁠(artificial intelligence)⁠의 밑그림입니다. 1807년 그르노블에서 오늘의 이미지 생성기까지, 같은 식이 모습을 바꿔 가며 되돌아오는 길을 따라갑니다.

이 글의 처럼 점선이 그어진 숫자는 좌우로 끌 수 있고(키보드 ←/→도 됩니다), 색이 칠해진 같은 말은 눌러서 바꿀 수 있습니다. 밑줄 친 말에 마우스를 올리면 그림에서 그 부분이 빛납니다. 그림 속의 칸과 점, 변은 대부분 누르거나 끌 수 있고, 마우스를 올리면 그 자리의 숫자가 나옵니다. 휴대폰에서는 마우스를 올리는 대신 누르면 됩니다.

수학을 배우다 보면 서로 다른 과목에서 같은 모양의 식을 여러 번 만납니다. 대개는 우연처럼 지나칩니다. 이 글은 그런 식 하나를 끝까지 따라가 봅니다. 물리 시간의 열방정식⁠(heat equation)⁠, 확률 시간의 무작위 행보⁠(random walk)⁠, 선형대수⁠(linear algebra)⁠ 시간의 고유벡터⁠(eigenvector)⁠, 그래프 이론⁠(graph theory)⁠의 신장 트리⁠(spanning tree)⁠, 사진 편집기의 '선명하게' 버튼, 그리고 요즘의 이미지 생성 인공지능. 이것들은 따로 배우지만, 속을 열어 보면 같은 연산 하나가 들어 있습니다. 이 이름들을 지금 몰라도 괜찮습니다. 하나하나 그 절에서 처음부터 설명합니다.

그 연산은 초등학생도 할 수 있습니다. 내 주변 값들의 평균을 내고, 거기서 내 값을 뺍니다. 예를 들어 줄지어 선 세 사람의 키가 차례로 170, 160, 174센티미터라고 합시다. 가운데 사람의 이웃은 양옆 두 사람이고, 이웃의 평균은 (170 + 174) ÷ 2 = 172입니다. 여기서 내 키 160을 빼면 172 − 160 = +12입니다. 결과가 양수면 나는 이웃의 평균보다 낮고, 음수면 이웃의 평균보다 높고, 0이면 나는 딱 이웃의 평균입니다. 이 값을 수학에서는 라플라시안이라고 부릅니다. 이 글의 질문은 이것입니다. 왜 이렇게 단순한 연산이 이렇게 많은 곳에 나타나는가? 답을 미리 조금 말하면, '가까운 것끼리 차이만큼 주고받는다'는 가정과 '어느 방향도 편애하지 않는다'는 가정을 함께 두면 이 연산 말고는 남는 것이 없기 때문입니다. 정확한 뜻은 마지막 절에서 적겠습니다.

1 · 1807년 그르노블이웃보다 차가우면 데워진다

쇠막대의 한 곳을 불에 달구었다가 떼면, 그 열은 막대를 따라 어떻게 퍼질까요? 이 절은 이 물음에 답하면서 '이웃 평균 − 나'가 어디서 처음 나왔는지 봅니다.

조제프 푸리에는 나폴레옹의 이집트 원정에서 돌아온 뒤 알프스 기슭 이제르 도의 지사로 일했습니다. 행정 일을 하는 틈틈이 그는 물체 속에서 열이 어떻게 퍼지는지 연구했고, 1807년 파리 학사원에 긴 논문을 냈습니다. 논문은 심사위원들의 반대로 곧바로 출판되지 못했고, 다듬은 내용은 1822년 『열의 해석적 이론』으로 나왔습니다. 이 책에서 태어난 푸리에 급수⁠(Fourier series)⁠ 이야기는 「원에서 파동으로」에 있습니다. 여기서는 그 출발점인 방정식 자체를 봅니다.

가느다란 쇠막대를 짧은 토막들로 나누었다고 합시다. 한 토막의 온도는 양옆 토막과 열을 주고받으면서만 바뀝니다. 열은 뜨거운 쪽에서 찬 쪽으로 흐르고, 흐르는 양은 온도 차에 비례한다고 봅니다(푸리에의 열전도 법칙). 토막에 왼쪽부터 번호를 붙이고, ii번째 토막의 온도를 uiu_i('유 아이')라고 씁시다. 바로 왼쪽 토막의 온도는 ui−1u_{i-1}, 바로 오른쪽 토막의 온도는 ui+1u_{i+1}입니다. 그러면 ii번째 토막의 온도가 짧은 시간 동안 변하는 양은 이렇게 됩니다.

δui  ∝  (ui−1−ui)+(ui+1−ui)  =  2(ui−1+ui+12⏟이웃의 평균−ui)\delta u_i \;\propto\; (u_{i-1} - u_i) + (u_{i+1} - u_i) \;=\; 2\Bigl(\underbrace{\tfrac{u_{i-1} + u_{i+1}}{2}}_{\text{이웃의 평균}} - u_i\Bigr)

기호 ∝\propto는 '비례한다'로 읽습니다. 왼쪽의 δui\delta u_i('델타 유 아이')는 짧은 시간 동안의 온도 변화입니다. 곧 쓸 기호 Δ\Delta와 헷갈리지 않도록 작은 글자로 적었습니다. 식은 "온도 변화는 (왼쪽 이웃과의 온도 차) + (오른쪽 이웃과의 온도 차)에 비례하고, 그 합은 '이웃 평균 − 나'의 두 배"라고 읽습니다.

숫자로 확인해 봅시다. 세 토막의 온도가 차례로 30도, 20도, 16도라면 가운데 토막이 받는 몫은 (30 − 20) + (16 − 20) = 10 − 4 = 6입니다. 이웃의 평균은 (30 + 16) ÷ 2 = 23이고, 23 − 20 = 3의 두 배도 6입니다. 양수이니 가운데 토막은 데워집니다. 이웃의 평균보다 내가 차가우면 데워지고, 뜨거우면 식습니다. 이것이 전부입니다.

이 토막 이야기를 토막이 아주 짧은 경우로 옮기면 무엇이 될까요? 그러려면 도함수⁠(derivative function)⁠ 두 가지를 떠올려야 합니다. 온도를 위치 xx의 함수⁠(function)⁠ u(x)u(x)로 보고 그래프로 그립니다. 한 점에서 그래프의 기울기⁠(slope)⁠가 도함수 u′(x)u'(x)('유 프라임')입니다. 그 기울기가 옆으로 가면서 얼마나 빨리 바뀌는지, 곧 기울기의 기울기가 이계 도함수⁠(second derivative)⁠ u′′(x)u''(x)('유 더블 프라임')입니다. 그래프가 ∪ 모양으로(아래로 볼록하게) 휘면 기울기가 점점 커지니 u′′>0u'' > 0, ∩ 모양으로(위로 볼록하게) 휘면 u′′<0u'' \lt 0입니다.

토막의 길이를 hh라 하면, 위치 xx의 이웃 온도는 u(x−h)u(x-h)와 u(x+h)u(x+h)입니다. 예로 u(x)=x2u(x) = x^2, h=1h = 1, x=2x = 2를 넣어 봅시다. 세 값은 u(1)=1u(1) = 1, u(2)=4u(2) = 4, u(3)=9u(3) = 9이고, 이웃 둘의 합에서 나의 두 배를 빼면 1+9−2×4=21 + 9 - 2 \times 4 = 2입니다. 한편 x2x^2의 기울기는 2x2x이고, 그 기울기의 기울기는 어디서나 2입니다. 그러니 h2u′′=1×2=2h^2 u'' = 1 \times 2 = 2로, 둘이 같습니다.

일반적으로도 그렇습니다. 온도 분포 u(x)u(x)가 두 번 미분⁠(differentiation)⁠ 가능한 매끄러운 함수라면, 토막의 길이 hh를 아주 작게 할 때 ui−1+ui+1−2uiu_{i-1} + u_{i+1} - 2u_i는 h2u′′(x)h^2 u''(x)와 거의 같아집니다. 둘 다 0으로 줄어들지만, 둘의 차이는 h2h^2보다도 빨리 줄어든다는 뜻입니다(이차함수에서는 위처럼 정확히 같습니다). 까닭은 이렇습니다. 오른쪽 이웃은 기울기 때문에 나보다 약 h u′h\,u'만큼 높고, 왼쪽 이웃은 약 h u′h\,u'만큼 낮습니다. 둘을 더하면 기울기의 몫은 지워지고, 휘어짐의 몫만 남습니다.

조금 더 정확한 계산 보기테일러 전개는 한 점 근처의 함수 값을 그 점의 기울기와 휘어짐으로 적는 방법입니다. u(x±h)=u(x)±h u′(x)+12h2u′′(x)+(h가 작아지면 h2보다 빨리 0이 되는 나머지)u(x \pm h) = u(x) \pm h\,u'(x) + \tfrac12 h^2 u''(x) + (\text{h가 작아지면 } h^2\text{보다 빨리 0이 되는 나머지}). 두 식을 더하면 u(x+h)+u(x−h)=2u(x)+h2u′′(x)+(나머지)u(x+h) + u(x-h) = 2u(x) + h^2 u''(x) + (\text{나머지})입니다. 테일러 전개에서 일차 항 ±h u′\pm h\,u'가 서로 지워지기 때문입니다.

그래서 토막 이야기는 열방정식 ut=k uxxu_t = k\,u_{xx}가 됩니다. 온도는 시간 tt와 위치 xx 둘 다에 따라 달라지므로, 아래첨자로 어느 쪽으로 미분하는지 적습니다. utu_t는 한 자리에서 온도가 시간에 따라 바뀌는 빠르기, uxxu_{xx}는 위치로 두 번 미분한 것, 곧 위의 u′′u''입니다. kk는 재료마다 다른 양수로, 열이 얼마나 잘 퍼지는지를 나타냅니다. 식 전체는 "온도가 바뀌는 빠르기는 '이웃 평균 − 나'에 비례한다"를 토막 없이 적은 것입니다.

이계 도함수는 '휘어진 정도'라고 배우지만, 여기서 보듯 그 속뜻은 "나는 이웃의 평균에서 얼마나 벗어나 있는가"입니다. ∪ 모양의 바닥에 있는 점은 양옆 이웃보다 낮으니 '이웃 평균 − 나'가 양수이고, 그 자리에서 u′′u''도 양수입니다. 「순간의 속도」에서 배운 도함수를 한 번 더 미분하면 무엇을 재게 되는지, 그 물음에 대한 또 하나의 답입니다.

아래 그림에서 직접 해 봅시다. 지금 보이는 것은 입니다. 점을 위아래로 끌거나 칸을 눌러 온도를 바꿀 수 있습니다. 각 점에서 뻗은 청록 막대는 그 점의 온도에서 이웃 평균까지 이은 것, 곧 '이웃 평균 − 나'입니다. 막대가 위로 뻗으면 그 점은 데워지고, 아래로 뻗으면 식습니다. 처음에는 5–7번 칸이 1(뜨거움), 16번 칸이 0.6이고 나머지는 0입니다. '한 걸음'을 몇 번 눌러 청록 막대가 긴 곳부터 움직이는지 보세요. 흐르게 · 멈추기 한 걸음 처음으로

막대: 위의 띠가 토막들의 온도(파랑 = 차가움, 노랑 = 뜨거움)이고, 아래는 같은 온도를 높이로 그린 것입니다. 격자와 그래프에서는 칸과 꼭짓점⁠(vertex)⁠의 색이 온도입니다. 어디서든 마우스를 올리면 그 자리의 온도, 이웃 평균, 그 차이가 나옵니다. 한 걸음마다 모든 곳이 동시에 (이웃과의 온도 차의 합) × 0.1만큼 바뀝니다.

흐르게 하고 지켜보면 세 가지가 보입니다. 그림 바로 아래의 줄에 걸음 수, 열의 합, 가장 뜨거운 곳과 가장 찬 곳의 온도가 나오니 함께 보세요.

첫째, 뾰족한 봉우리와 골짜기부터 무너집니다. 청록 막대가 가장 긴 곳이 거기이기 때문입니다.

둘째, 열의 합은 걸음마다 그대로입니다. 처음 합은 1 + 1 + 1 + 0.6 = 3.6이고, 몇 걸음을 가도 3.60으로 남습니다. 한 토막이 잃은 열은 정확히 이웃이 받으니까요(막대 양 끝은 열이 새지 않게 막혀 있다고 두었습니다).

셋째, 가장 뜨거운 곳은 더 뜨거워지지 않고 가장 찬 곳은 더 차가워지지 않습니다. 까닭을 보려면 한 걸음의 계산을 풀어 써 봅니다. 이 그림은 한 걸음마다 '이웃과의 온도 차의 합'에 0.1을 곱해 내 온도에 더합니다. 5번 칸(온도 1)의 이웃은 4번 칸(0)과 6번 칸(1)이므로, 새 온도는 1+0.1×((0−1)+(1−1))=0.91 + 0.1 \times \bigl((0 - 1) + (1 - 1)\bigr) = 0.9입니다. 같은 계산을 다시 묶으면 0.8×1+0.1×0+0.1×1=0.90.8 \times 1 + 0.1 \times 0 + 0.1 \times 1 = 0.9입니다.

일반적으로 한 걸음 뒤의 새 온도는 (1−0.1×이웃 수)×나+0.1×(이웃들의 합)(1 - 0.1 \times \text{이웃 수}) \times \text{나} + 0.1 \times (\text{이웃들의 합}), 곧 나와 이웃들의 온도를 섞은 가중 평균입니다. 가중 평균이란 각 값에 0 이상의 비율을 곱해 더하되, 비율의 합이 1인 평균입니다. 위의 예에서는 비율이 0.8, 0.1, 0.1이고 합이 1입니다. 이런 평균은 섞은 값들 가운데 가장 큰 값을 넘을 수 없습니다. 모든 값을 가장 큰 값으로 바꿔 넣어도 결과가 그 가장 큰 값이 될 뿐이니까요. 이 그림에서는 이웃이 많아야 넷이라 내 몫의 비율이 1−0.4=0.61 - 0.4 = 0.6 이상이고, 비율이 모두 0 이상입니다.

흔히 이 성질이 열 흐름이라면 언제나 공짜로 따라온다고 생각하지만, 계산에서는 걸음 크기가 중요합니다. 0.1 대신 0.6을 쓰면 이웃이 둘인 칸에서 내 몫이 1−1.2=−0.21 - 1.2 = -0.2로 음수가 됩니다. 그러면 이 성질은 깨지고 계산이 출렁입니다. 이 마지막 성질, 곧 '섞기만 하면 새 최댓값이 생기지 않는다'가 이 글 내내 쓰일 최대 원리⁠(maximum principle)⁠의 씨앗입니다.

이제 를 눌러 격자와 그래프로 바꿔 보세요. 격자의 칸은 위아래 좌우 이웃 넷과, 그래프의 꼭짓점은 변으로 이어진 꼭짓점들과 열을 나눕니다(그래프는 점과 그 점들을 잇는 선으로 이루어진 그림이고, 점을 꼭짓점, 선을 변이라고 부릅니다). 규칙은 한 글자도 바뀌지 않았습니다. 막대에서는 이웃이 둘, 격자에서는 넷, 그래프에서는 꼭짓점마다 다를 뿐입니다.

격자에서도 막대와 같은 계산을 할 수 있습니다. 가로 방향의 두 이웃이 가로 방향의 휘어짐 uxxu_{xx}를, 세로 방향의 두 이웃이 세로 방향의 휘어짐 uyyu_{yy}를 줍니다. 그래서 14(이웃 넷의 합)−u≈h24(uxx+uyy)\tfrac14(\text{이웃 넷의 합}) - u \approx \tfrac{h^2}{4}(u_{xx} + u_{yy})이고, 3차원에서는 이웃 여섯이 uxx+uyy+uzzu_{xx} + u_{yy} + u_{zz}를 줍니다. 여기서 uxxu_{xx}는 yy를 그대로 두고 xx 방향으로만 두 번 미분한 값입니다. 이계 도함수들의 이 합을 라플라시안이라 하고 Δu\Delta u('델타 유') 또는 ∇2u\nabla^2 u('나블라 제곱 유')로 씁니다. 정리하면, 라플라시안은 '이웃 평균 − 나'를 토막 없이 적은 것이고, 열은 이 값에 비례하는 빠르기로 바뀝니다.

푸리에 자신도 이 토막 그림에서 출발했습니다. 1807년 논문은 저마다 온도가 고른 물체 여러 개가 이웃과 열을 주고받는 경우를 먼저 다루고, 막대, 고리, 구, 정육면체 같은 몇몇 연속체(토막으로 나뉘지 않고 한 덩어리로 이어진 물체)를 따로 풀었습니다. 열이 흐르는 양을 아주 얇은 면을 가로지르는 온도의 기울기로 적는 연속체⁠(continuum)⁠의 법칙에 이르기까지는 몇 해가 더 걸렸습니다. 그 전에 쓰이던 규칙은 뉴턴이 1701년에 적은 냉각 법칙⁠(law of cooling)⁠, 곧 물체가 식는 빠르기는 둘레와의 온도 차에 비례한다는 규칙이었습니다. 이 규칙은 물체 전체의 온도 하나만 다룰 뿐, 물체 속에서 열이 어떻게 옮겨 가는지는 말하지 않았습니다. 푸리에가 한 일은 같은 '차이에 비례' 규칙을 물체 안의 이웃과 이웃 사이에 적용한 것이었고, 그렇게 하자 라플라시안이 저절로 나왔습니다.

푸리에의 방정식에는 열이 무엇인지에 대한 답이 들어 있지 않습니다. 당시 학자들은 열이 무게 없는 물질 '열소(칼로릭)'인지, 물질을 이루는 알갱이들의 떨림인지를 두고 다투었습니다. 푸리에는 이 물음을 비켜 갔습니다. 1822년 책의 첫 문장은 근본 원인은 우리가 알 수 없지만 그 원인은 단순하고 변하지 않는 법칙을 따르며, 그 법칙은 관찰로 찾을 수 있다고 말합니다. 그가 적은 것은 '차이에 비례해 흐른다'는 규칙뿐이었고, 그것만으로 계산은 충분했습니다. 철학자 오귀스트 콩트는 1830년부터 펴낸 『실증 철학 강의』를 푸리에와 동물학자 블랭빌에게 바쳤고, 열의 본성을 한 번도 묻지 않고 정확한 법칙을 얻은 이 연구를 현상의 법칙만 찾는 '실증적' 과학의 본보기로 들었습니다. 다른 편에서는 열을 보이지 않는 분자들의 운동으로 설명하려는 길이 이어졌습니다. 그 길이 같은 방정식에 닿는 이야기가 9절의 브라운 운동입니다.

2 · 1782년 파리제 이웃의 평균인 함수

1절의 열 흐름을 오래 두면 온도 분포는 어떤 모양에 이르고, 그 모양에는 어떤 성질이 있을까요? 이 절의 답을 한 줄로 말하면, 그런 분포에는 봉우리도 골짜기도 없습니다.

열이 충분히 오래 흐르면 더는 변하지 않는 상태에 이릅니다. 변하지 않는다는 것은 모든 곳에서 '이웃 평균 − 나'가 0이라는 뜻입니다. 곧 모든 점이 제 이웃들의 평균입니다. 연속인 공간에서 쓰면 Δu=0\Delta u = 0('라플라시안 유는 0')입니다. 이것이 라플라스 방정식⁠(Laplace's equation)⁠이고, 이 방정식을 만족하는 함수를 조화 함수⁠(harmonic function)⁠라고 부릅니다. 이 방정식은 열 말고도 중력과 전기에서 나타나는데, 그 이야기는 이 절 뒤쪽에서 합니다.

한 줄 위에서는 조화 함수가 단순합니다. 1, 3, 5, 7처럼 일정하게 늘어나는 값들을 봅시다. 3은 1과 5의 평균이고, 5는 3과 7의 평균입니다. 거꾸로, 모든 안쪽 점이 양옆의 평균이려면 왼쪽 이웃까지의 차이와 오른쪽 이웃까지의 차이가 같아야 합니다. 그러니 한 칸 갈 때마다 같은 만큼 오르내려야 하고, 모양은 직선뿐입니다.

평면에서는 모양이 더 다양합니다. 예로 u(x,y)=x2−y2u(x, y) = x^2 - y^2을 봅시다. 점 (1,0)(1, 0)에서 값은 1입니다. 간격이 1인 격자에서 이 점의 이웃 넷은 (2,0)(2, 0), (0,0)(0, 0), (1,1)(1, 1), (1,−1)(1, -1)이고, 값은 4, 0, 0, 0이라 평균이 1입니다. 나와 같습니다. 연속으로 봐도 xx 방향의 휘어짐 uxx=2u_{xx} = 2와 yy 방향의 휘어짐 uyy=−2u_{yy} = -2가 서로 지워져 Δu=0\Delta u = 0입니다.

이 함수의 그래프는 말안장 모양입니다. xx 방향으로는 ∪처럼 휘고 yy 방향으로는 ∩처럼 휘어서, 한 방향으로 오목한 만큼 다른 방향으로 볼록합니다. 그래서 어느 점도 사방보다 높은 봉우리나 사방보다 낮은 골짜기가 되지 못합니다. 모든 조화 함수가 그렇다는 것이 아래의 최대 원리입니다.

그 전에 조화 함수의 눈에 띄는 성질 하나를 봅시다. 평면에서 조화 함수의 한 점에서의 값은, 그 점을 중심으로 하고 영역 안에 들어가는 원을 어떻게 잡든 그 원 위의 평균값과 같습니다. 여기서 영역은 함수가 정의된 평면의 한 부분이고, 원 위의 평균값은 원 둘레를 따라 고르게 값을 모아 낸 평균입니다. 이것을 평균값 성질⁠(mean value property)⁠이라고 하고, 거꾸로 연속함수가 이 성질을 만족하면 조화 함수입니다. 격자에서 '이웃 넷의 평균'이던 것이 연속에서는 '둘레 전체의 평균'이 된 것입니다.

여기서 곧바로 최대 원리가 나옵니다. 영역 안쪽의 한 점에서 가장 큰 값 MM이 나온다고 해 봅시다. 그 점을 중심으로 한 작은 원 위의 평균도 MM이어야 합니다. 그런데 원 위의 값은 모두 MM 이하이니, 하나라도 MM보다 낮으면 평균이 MM보다 낮아집니다. (둘레에 낮은 점이 하나라도 있으면 연속성⁠(continuity)⁠ 때문에 그 근처 한 토막이 통째로 낮으니, 평균이 정말로 낮아집니다.) 그러니 그 원 위의 값은 모두 MM입니다. 원의 크기를 바꾸고, 새로 MM임이 밝혀진 점을 중심으로 같은 논리를 되풀이하면 값 MM이 번져 나갑니다. 영역이 한 덩어리로 이어져 있으면 영역 전체로 번지고, 함수는 상수가 됩니다.

그래서 한 덩어리로 이어진 유계 영역에서, 경계까지 연속이고 상수가 아닌 조화 함수는 가장 큰 값과 가장 작은 값을 경계에서만 갖습니다. '유계'는 영역이 끝없이 뻗지 않고 어떤 큰 원 안에 들어간다는 뜻이고, '경계'는 영역의 테두리입니다. 조화 함수에는 봉우리도 골짜기도 없습니다. 정리하면, 조화 함수의 값은 안쪽 어디서나 경계의 값들이 정한 범위 안에 머뭅니다.

이 방정식이 열에만 나오는 것은 아닙니다. 사실 이 방정식은 열보다 먼저 유체에서 나타났습니다. 1752년 무렵 오일러가 소용돌이 없는 유체의 흐름을 다루다 이 식을 적었습니다. 이름은 라플라스에게서 왔습니다. 그는 1782년부터 행성과 회전⁠(rotation)⁠ 타원체(찌그러진 공 모양)가 끌어당기는 힘을 연구하면서, 질량이 없는 빈 공간에서 중력의 퍼텐셜(한 점에서의 위치 에너지를 나타내는 함수)이 이 방정식을 만족한다는 것을 이용했습니다. 회전하는 지구와 행성이 어떤 모양으로 찌그러지는지는 18세기의 큰 물음이었습니다. 프랑스 과학 아카데미는 1730년대에 북극권의 라플란드와 적도 가까운 페루로 원정대를 보내, 지구가 극 쪽으로 납작하다는 뉴턴의 예측을 확인했습니다(「잃어버린 소행성」 3절에서 그 측량 자료가 최소제곱⁠(least squares)⁠으로 이어지는 이야기를 봅니다). 찌그러진 천체가 바깥의 물체를 당기는 힘은 자리마다 크기와 방향이 달라서, 힘을 화살표째로 더해 나가기는 번거롭습니다. 라플라스는 화살표 대신 자리마다 수 하나만 주는 퍼텐셜⁠(potential)⁠을 다루어 이 계산을 끝까지 밀고 나갔고, 회전 타원체가 바깥의 물체를 당기는 힘을 완전히 구했습니다.

라플라스는 이 식이 물체 속에서도 성립한다고 여겼는데, 1813년 푸아송이 그렇지 않음을 보였습니다. 질량이 있는 곳에서는 우변이 0이 아니라 그 자리의 밀도에 비례하는 값이 되고(Δu=4πGρ\Delta u = 4\pi G\rho, 오늘날의 푸아송 방정식⁠(Poisson's equation)⁠. GG는 만유인력 상수, ρ\rho('로')는 그 자리의 밀도입니다), 밀도가 0인 곳에서만 라플라스 방정식으로 돌아갑니다. 열로 말하면 열을 내는 난로가 있는 자리에서는 '이웃 평균 − 나'가 0이 될 수 없다는 뜻입니다. 1828년에는 영국 노팅엄에서 방앗간을 하며 수학을 독학한 조지 그린이 전기와 자기에 같은 방법을 쓴 소책자를 내고 '퍼텐셜 함수⁠(potential function)⁠'라는 이름을 붙였습니다. 중력, 정전기, 정상 상태(시간이 지나도 변하지 않는 상태)의 열, 소용돌이 없는 흐름이 모두 같은 방정식을 따랐습니다.

최대 원리에서 물리의 정리가 하나 나옵니다. 1842년 영국의 새뮤얼 언쇼는 전하들이 정전기력만으로는 다른 전하를 안정하게 붙잡아 둘 수 없다는 것을 보였습니다. 전하 하나가 한자리에 안정하게 머물려면, 그 자리의 위치 에너지가 둘레 어느 쪽보다도 낮아야 합니다. 곧 에너지의 골짜기 바닥이어야 합니다. 그런데 빈 공간에서 전기 퍼텐셜은 조화 함수이니 골짜기가 없고, 골짜기가 없으면 공을 가두어 둘 오목한 자리도 없습니다. 이온을 가두는 장치들이 정전기장만 쓰지 않고 빠르게 바뀌는 전기장이나 자기장을 섞는 까닭이 여기에 있습니다.

그린의 소책자가 걸어간 길은 수학이 어떻게 퍼지는지(또는 퍼지지 못하는지)를 잘 보여 줍니다. 1828년 3월 노팅엄에서 예약 구독으로 인쇄된 이 책의 구독자는 51명이었고, 대부분 동네 구독 도서관의 회원이었습니다. 그 가운데 수학을 읽을 사람은 거의 없었습니다. 그린은 마흔 살이 된 1833년에야 케임브리지 대학에 들어갔고, 1841년 세상을 떠날 때까지 소책자는 거의 알려지지 않았습니다. 1845년 1월 케임브리지를 막 졸업한 윌리엄 톰슨(뒤의 켈빈 경)이 스승에게서 이 책을 얻었고, 그해 여름 파리에서 리우빌과 슈투름에게 보여 주었다고 회고했습니다. 톰슨의 주선으로 소책자는 1850–1854년 독일의 『크렐레 저널』에 세 번에 나누어 다시 실렸습니다. 그사이 1840년에는 가우스가 그린을 모른 채 '퍼텐셜'이라는 말과 비슷한 정리들을 따로 발표했습니다. 가우스가 오차와 궤도⁠(orbit)⁠를 다룬 이야기는 「잃어버린 소행성」에 있습니다.

3 · 도박꾼의 파산무작위 행보가 푸는 방정식

동전 던지기로 돈을 걸 때, 빈털터리가 되기 전에 원하는 금액을 모을 확률은 얼마일까요? 이 절은 이런 확률이 2절의 조화 함수와 똑같은 방정식을 푼다는 것을 봅니다. 그래서 열이 멈춘 모양을 알면 확률을 알고, 거꾸로 동전을 던져 보면 방정식의 답을 어림할 수 있습니다.

동전을 던져 앞이 나오면 한 닢을 따고 뒤가 나오면 한 닢을 잃는 도박꾼이 있습니다. 지금 kk닢을 가졌고, NN닢이 되면 일어서고 0닢이 되면 파산합니다. 일어설 확률을 p(k)p(k)라 합시다. 다음 한 판만 생각해 봅니다. 이기면(확률 ½) k+1k+1닢에서 다시 시작하는 셈이고, 지면(확률 ½) k−1k-1닢에서 다시 시작하는 셈입니다. 그러므로 p(k)=12p(k−1)+12p(k+1)p(k) = \tfrac12 p(k-1) + \tfrac12 p(k+1)입니다. 첫 판만 보고 나눠 세는 이 방법을 첫걸음 분석⁠(first-step analysis)⁠이라고 합니다.

식을 다시 보면 각 칸의 확률이 이웃 두 칸의 평균이라는 말이고, 끝값은 p(0)=0p(0) = 0(이미 파산), p(N)=1p(N) = 1(이미 목표 도달)입니다. 2절에서 본 대로 한 줄 위에서 모든 안쪽 점이 이웃의 평균이면 모양은 직선뿐이고(2절 '직접 해 보기'의 풀이에 나온 직선입니다), 양 끝이 0과 1이니 답은 p(k)=k/Np(k) = k/N입니다. 예로 N=4N = 4이면 p(1)=14p(1) = \tfrac14, p(2)=12p(2) = \tfrac12, p(3)=34p(3) = \tfrac34입니다. 확인해 보면 12⋅14+12⋅34=12=p(2)\tfrac12 \cdot \tfrac14 + \tfrac12 \cdot \tfrac34 = \tfrac12 = p(2)입니다. 도박꾼의 파산⁠(gambler's ruin)⁠은 양 끝 온도를 0도와 1도로 고정한 막대의 정상 상태와 같은 문제입니다.

이번에는 격자 모양의 도시를 걸어 봅시다. 한 사람이 걸음마다 동서남북 가운데 한쪽으로, 각각 1/4의 확률로 옮겨 갑니다(무작위 행보). 도시의 가장자리 칸 가운데 노란 칸은 출구, 어두운 분홍 칸은 함정입니다. 가장자리에 닿으면 걷기를 멈춥니다. 안쪽 칸 xx에서 출발해 함정보다 출구에 먼저 닿을 확률을 h(x)h(x)라 합시다. 첫걸음은 이웃 네 칸 가운데 하나로 각각 1/4의 확률로 가니, 첫걸음 분석으로 h(x)h(x)는 이웃 네 칸의 hh의 평균입니다. 출구에서는 1, 함정에서는 0입니다.

경계(가장자리)의 값을 정해 두고 안쪽에서 라플라스 방정식을 푸는 이런 문제를 디리클레 문제⁠(Dirichlet problem)⁠라고 합니다. 확률 문제가 그대로 이산 디리클레 문제가 되었습니다. '이산'은 연속인 평면이 아니라 칸이 떨어져 있는 격자 위라는 뜻입니다.

이 방정식을 푸는 가장 소박한 방법은 1절의 열 흐름 그 자체입니다. 모든 안쪽 칸을 0으로 두고 시작해서, 모든 칸을 동시에 이웃 넷의 평균으로 바꾸는 일을 되풀이합니다. 이것을 야코비 반복⁠(Jacobi iteration)⁠ 또는 이완법⁠(relaxation method)⁠이라고 부릅니다. 다듬은 횟수(지금 번)를 0부터 올려 보세요(처음부터 다듬기). 노란 출구에서 따뜻한 색이 스며들어 와 자리를 잡습니다. 컴퓨터가 충분히 오래 다듬어 둔 정확한 답과 지금 그림의 차이 가운데 가장 큰 것은 지금 입니다. 횟수가 늘수록 이 차이가 줄어드는 것을 보세요.

가장자리의 노란 칸은 출구(값 1), 어두운 분홍 칸은 함정(값 0)입니다. 누르면 서로 바뀝니다. 안쪽 칸의 색은 지금까지 다듬은 값이고, 청록 테두리가 출발점입니다(안쪽 칸을 누르면 옮겨 갑니다). 흰검은 선들은 출발점을 떠난 걷는 사람 처음 셋의 발자취입니다.

이제 확률로 확인해 봅시다. 출발점에서 걷는 사람을 한 명씩 보내 출구에 먼저 닿는지 셉니다. 다시 보내기 결과는 입니다. 방정식이 주는 값은 입니다. 걷는 사람은 평균 걸음 만에 가장자리에 닿습니다. 두 값을 견주어 보세요.

다시 보낼 때마다 비율은 흔들리지만 늘 방정식의 값 둘레에서 흔들립니다. 괄호 속의 표준오차⁠(standard error)⁠는 이 흔들림의 전형적인 크기입니다. 사람 수를 nn이라 하면 표준오차는 1/n1/\sqrt{n}에 비례해 줄어듭니다. 그래서 사람 수를 네 배로 늘리면 4=2\sqrt4 = 2이므로 흔들림은 절반으로 줄어듭니다.

같은 그림은 전기 회로이기도 합니다. 이웃한 칸들을 똑같은 저항으로 잇고, 출구에 1볼트, 함정에 0볼트를 걸었다고 합시다. 저항이 1옴이면 한 저항을 흐르는 전류는 양 끝의 전압 차와 같습니다(옴의 법칙). 그러니 이웃 ww에서 나 vv로 들어오는 전류는 Vw−VvV_w - V_v입니다. 각 연결점에서 들어오는 전류와 나가는 전류의 합이 0이라는 키르히호프의 법칙은 ∑w(Vw−Vv)=0\sum_w (V_w - V_v) = 0, 곧 "내 전압은 이웃 전압의 평균"입니다. 기호 ∑w\sum_w('시그마')는 모든 이웃 ww에 대해 더한다는 뜻입니다. 예를 들어 이웃 넷의 전압이 1, 0.5, 0.5, 0볼트라면 내 전압은 그 평균인 0.5볼트이고, 실제로 (1−0.5)+0+0+(0−0.5)=0(1 - 0.5) + 0 + 0 + (0 - 0.5) = 0입니다.

그래서 각 점의 전압이 곧 그 점에서 출발한 걷는 사람이 출구에 먼저 닿을 확률입니다. 둘이 같은 방정식을 같은 경계값으로 풀고, 그런 답은 하나뿐이기 때문입니다. 답이 둘이라면 그 차이는 경계에서 0인 조화 함수인데, 최대 원리에 따라 그 가장 큰 값도 가장 작은 값도 경계의 0이니 어디서나 0입니다. 정리하면, 도박꾼의 확률, 걷는 사람의 확률, 회로의 전압, 멈춘 열의 온도는 모두 '경계값을 정한 조화 함수' 하나입니다.

이 연결은 20세기 전반에 차근차근 다져졌습니다. 1923년 MIT의 필립스와 노버트 위너가 격자 위의 디리클레 문제를 다루었고, 1928년 괴팅겐의 쿠란트, 프리드리히스, 레비는 격자의 해를 무작위 행보의 확률로 읽는 해석을 논문에 담았습니다. 격자를 한없이 촘촘하게 하면 무작위 행보는 브라운 운동⁠(Brownian motion)⁠이 됩니다. 브라운 운동은 물에 뜬 작은 입자처럼 끊임없이 무작위로 떨며 움직이는 운동으로, 걸음의 폭과 시간 간격을 한없이 작게 줄인 무작위 행보입니다(9절에서 다시 나옵니다).

1944년 오사카의 가쿠타니 시즈오는 평면의 디리클레 문제의 해가 "그 점에서 출발한 브라운 운동이 경계에 처음 닿는 곳의 경계값의 기댓값⁠(expected value)⁠"이라는 것을 보였습니다. 기댓값은 여러 번 되풀이했을 때의 평균값입니다. 격자에서 출구에 1, 함정에 0을 적어 두면 그 평균이 곧 출구에 먼저 닿을 확률이니, 위의 그림과 같은 이야기입니다. 해석학⁠(mathematical analysis)⁠의 방정식을 동전 던지기로 풀 수 있게 된 것입니다.

1984년 도일과 스넬은 무작위 행보와 전기 회로의 대응을 『무작위 행보와 전기 회로』라는 책으로 정리했습니다. 1921년 조지 포여는 끝없는 평면 격자를 걷는 사람은 확률 1로, 곧 언젠가는 반드시 출발점에 돌아오지만, 3차원 격자에서는 돌아오지 못할 확률이 양수라는 것을 증명했습니다. 이 사실도 회로의 언어로 옮기면 "끝없는 격자를 저항으로 이었을 때, 평면 격자에서 무한히 먼 곳까지의 저항은 무한하고, 3차원에서는 유한하다"가 됩니다.

이 절의 문제들은 나이가 서로 다릅니다. 도박꾼의 파산은 1656년 파스칼이 페르마에게 보낸 편지에 처음 나오고, 이듬해 하위헌스가 레이던에서 낸 확률 책의 마지막 문제로 실렸습니다(「도박판에서 온 편지」에서 확률론이 내기 문제에서 태어나는 과정을 봅니다). 방정식에 이름을 준 라플라스도 확률론의 대가였습니다. 그는 1814년 『확률에 관한 철학적 시론』에서, 우주의 모든 힘과 모든 것의 위치를 아는 지성에게는 불확실한 것이 없으리라고 썼습니다. 그에게 확률은 세상이 제멋대로여서가 아니라 우리의 앎이 모자라서 쓰는 셈법이었습니다. 이 결정론⁠(determinism)⁠이 혼돈⁠(chaos)⁠의 발견으로 어떤 도전을 받았는지는 「나비의 날갯짓」에 있습니다. 행성의 끌림을 계산하던 그의 방정식과 동전 던지기의 확률이 한 식이라는 것이 이 절의 이야기입니다. '무작위 행보'라는 이름은 1905년 영국의 통계학자 칼 피어슨이 『네이처』에 보낸 짧은 편지 「무작위 행보의 문제」에서 왔습니다. 한 사람이 곧게 한 걸음씩 걷되 걸음마다 방향을 아무렇게나 바꾼다면 n걸음 뒤 출발점에서 얼마나 떨어져 있을지 물은 편지였습니다. 그러자 곧 레일리 경이, 1880년에 위상⁠(phase)⁠이 제멋대로인 소리의 진동을 더하는 문제로 이미 풀어 두었다고 답했습니다. 포여의 물음에는 사사로운 계기가 있었다고 그 자신이 회고했습니다. 취리히 근교의 숲⁠(forest)⁠을 산책하다 약혼한 제자 한 쌍을 몇 번이고 다시 마주쳐 민망했는데, 두 사람이 모두 제멋대로 걷는다면 이렇게 자주 만나는 것이 당연한지 궁금해졌다는 것입니다. 3차원의 결론을 두고 가쿠타니가 했다는 말도 전합니다. "술 취한 사람은 결국 집에 돌아오지만, 술 취한 새는 영영 길을 잃을 수 있다."

4 · 1847년 쾨니히스베르크키르히호프의 행렬⁠(matrix)⁠과 나무 세기

3절에서 전기 회로가 '이웃 평균' 방정식을 푼다는 것을 보았습니다. 이 절에서는 그 방정식을 행렬이라는 표 하나로 적습니다. 그리고 그 표가 뜻밖의 일, 곧 그래프 속 '나무'의 개수 세기를 해낸다는 것을 봅니다.

오일러가 일곱 다리 문제로 이름을 남긴 도시(「일곱 다리의 도시」)에서, 1845년 알베르티나 대학의 스물한 살 학생 구스타프 키르히호프가 전기 회로의 두 법칙을 발표했습니다. 한 연결점으로 들어온 전류는 모두 나가고, 회로를 한 바퀴 돌면 전압의 오르내림의 합은 0이라는 것입니다. 바탕에는 1827년 독일의 김나지움 교사 게오르크 옴이 낸 법칙, 곧 전선 한 가닥에 흐르는 전류는 양 끝의 전압 차에 비례한다는 법칙이 있었습니다. 키르히호프의 두 법칙은 옴의 법칙을 여러 전선이 얽힌 회로 전체로 넓히는 규칙이었습니다.

2년 뒤인 1847년에 그는 더 어려운 질문을 다룬 논문을 냈습니다. 저항들이 아무렇게나 얽힌 회로에서 이 법칙들이 주는 연립방정식을 언제나 풀 수 있는가, 푼다면 답은 어떤 모양인가. 그는 그 답을 회로 속의 특별한 부분 그래프들, 오늘날의 말로 신장 트리들에 걸친 합으로 적었습니다. 모든 연결점을 잇되 고리가 하나도 없는 부분 그래프, 곧 트리⁠(tree)⁠입니다.

낱말을 하나씩 풀어 봅시다. 회로를 그래프로 보면 연결점이 꼭짓점, 전선이 변입니다. 부분 그래프는 꼭짓점은 그대로 두고 변 가운데 일부만 남긴 것입니다. 고리는 변을 따라 한 바퀴 돌아 제자리로 오는 길입니다. 예로 세 꼭짓점을 모두 이은 삼각형에서 변 하나를 빼면, 세 점은 여전히 이어져 있고 고리는 없습니다. 이것이 신장 트리이고, 어느 변을 빼느냐에 따라 모두 3개가 있습니다. 꼭짓점이 nn개인 그래프의 신장 트리는 언제나 변이 n−1n-1개입니다.

저항이 모두 1옴이라 하고 각 연결점의 전압을 uvu_v라고 합시다. 점 vv에서 밖으로 흘러 나가는 전류의 합은 ∑w∼v(uv−uw)\sum_{w \sim v} (u_v - u_w)입니다(w∼vw \sim v는 "ww가 vv와 변으로 이어져 있다"는 뜻이고, 식 전체는 "vv와 이어진 모든 ww에 대해 uv−uwu_v - u_w를 더한다"로 읽습니다). 행렬은 수를 가로줄(행)과 세로줄(열)로 늘어놓은 표입니다. 이 계산을 행렬로 쓰면 대각선에는 각 점에 이어진 변의 수(차수)가, 이어진 두 점의 자리에는 −1이, 나머지에는 0이 들어갑니다. 차수를 대각선에 늘어놓은 행렬을 DD, 이어져 있으면 1인 인접 행렬⁠(adjacency matrix)⁠을 AA라 하면 이 행렬은 L=D−AL = D - A이고, 이것을 그래프 라플라시안⁠(graph Laplacian)⁠이라고 부릅니다.

아래 그림의 집 모양 그래프로 적어 봅시다. 꼭짓점 1, 2, 3, 4가 네모를 이루고(변 1–2, 2–3, 3–4, 4–1), 지붕 꼭짓점 5가 3, 4와 이어져 있습니다. 그러면 3과 4는 차수가 3이고 나머지는 2입니다.

L=(2−10−10−12−1000−13−1−1−10−13−100−1−12)L = \begin{pmatrix} 2 & -1 & 0 & -1 & 0 \\ -1 & 2 & -1 & 0 & 0 \\ 0 & -1 & 3 & -1 & -1 \\ -1 & 0 & -1 & 3 & -1 \\ 0 & 0 & -1 & -1 & 2 \end{pmatrix}

행렬 LL에 전압의 목록 uu를 곱한 LuLu는, 각 행의 수를 uu의 성분과 차례로 짝지어 곱해 더한 목록입니다. 그 vv번째 값을 (Lu)v(Lu)_v라고 쓰면 다음이 성립합니다.

(Lu)v  =  ∑w∼v(uv−uw)  =  deg⁡(v) (uv−이웃의 평균)(Lu)_v \;=\; \sum_{w \sim v} (u_v - u_w) \;=\; \deg(v)\,\bigl(u_v - \text{이웃의 평균}\bigr)

여기서 deg⁡(v)\deg(v)는 vv의 차수입니다. 전압이 u=(0,1,2,3,4)u = (0, 1, 2, 3, 4)라면, 3번 행 (0,−1,3,−1,−1)(0, -1, 3, -1, -1)과 짝지어 0−1+6−3−4=−20 - 1 + 6 - 3 - 4 = -2입니다. 가운데 식으로 세면 꼭짓점 3의 이웃은 2, 4, 5이므로 (2−1)+(2−3)+(2−4)=−2(2 - 1) + (2 - 3) + (2 - 4) = -2이고, 오른쪽 식으로 세면 이웃의 평균이 (1+3+4)/3=8/3(1 + 3 + 4)/3 = 8/3이라 3×(2−8/3)=−23 \times (2 - 8/3) = -2입니다. 세 값이 같습니다.

1절의 '이웃 평균 − 나'와 부호가 반대이고 이웃 수가 곱해져 있을 뿐, 같은 연산입니다. 그래프에서는 흔히 이렇게 부호를 뒤집어 씁니다. 그러면 모든 uu에 대해 uTLu=∑변 ab(ua−ub)2≥0u^{\mathsf T} L u = \sum_{\text{변 } ab} (u_a - u_b)^2 \ge 0이 되어 다루기 편하기 때문입니다. 왼쪽의 uTLuu^{\mathsf T} L u는 uu와 LuLu를 성분끼리 곱해 모두 더한 수 하나입니다. 오른쪽은 변마다 양 끝 값의 차이를 제곱해 더한 것이라 음수가 될 수 없습니다. 둘이 같은 까닭은, 변 abab 하나가 aa의 줄에서 ua(ua−ub)u_a(u_a - u_b)를, bb의 줄에서 ub(ub−ua)u_b(u_b - u_a)를 보태고, 이 둘의 합이 (ua−ub)2(u_a - u_b)^2이기 때문입니다.

집 그래프로 확인하기위의 u=(0,1,2,3,4)u = (0, 1, 2, 3, 4)에서 Lu=(−4,0,−2,3,3)Lu = (-4, 0, -2, 3, 3)이고, uu와 성분끼리 곱해 더하면 0+0−4+9+12=170 + 0 - 4 + 9 + 12 = 17입니다. 변마다 차이의 제곱을 더하면 변 1–2, 2–3, 3–4에서 1씩, 4–1에서 32=93^2 = 9, 3–5에서 22=42^2 = 4, 4–5에서 1이라 1+1+1+9+4+1=171 + 1 + 1 + 9 + 4 + 1 = 17입니다.

이 합은 회로에서는 저항들이 열로 잃는 전력이고, 6절에서는 그래프를 가르는 비용으로, 8절에서는 비누막의 에너지로 다시 나옵니다. 이 글에서 '라플라시안'은 두 부호를 모두 가리키지만, 뜻은 늘 "나와 이웃의 차이"입니다.

이 행렬에는 뜻밖의 능력이 있습니다. 아무 꼭짓점 하나를 골라 그 행과 열을 지운 뒤 행렬식⁠(determinant)⁠을 계산하면, 그래프의 신장 트리의 개수가 나옵니다. 오늘날 키르히호프의 행렬–트리 정리⁠(matrix-tree theorem)⁠라고 부르는 사실입니다. 행렬식은 정사각형 행렬마다 정해지는 수 하나입니다. 2×2 행렬 (abcd)\begin{pmatrix} a & b \\ c & d \end{pmatrix}이면 ad−bcad - bc이고, 더 큰 행렬은 계산이 길 뿐 같은 원리로 정해집니다.

삼각형으로 먼저 확인해 봅시다. 세 꼭짓점의 차수가 모두 2이니 L=(2−1−1−12−1−1−12)L = \begin{pmatrix} 2 & -1 & -1 \\ -1 & 2 & -1 \\ -1 & -1 & 2 \end{pmatrix}입니다. 1번 행과 1번 열을 지우면 (2−1−12)\begin{pmatrix} 2 & -1 \\ -1 & 2 \end{pmatrix}가 남고, 행렬식은 2×2−(−1)×(−1)=32 \times 2 - (-1) \times (-1) = 3입니다. 앞에서 손으로 센 신장 트리도 3개였습니다.

아래 그림은 집 모양 그래프입니다. 변을 누르면 없어지거나 생기고, 꼭짓점을 누르면 그 번호의 행과 열이 지워집니다. 지금 행과 열을 지운 행렬식은 이고, 컴퓨터가 변을 하나하나 골라 직접 센 신장 트리는 개입니다. 노란 변들이 그 가운데 하나입니다(). ◀ 이전 나무 다음 나무 ▶ 나무를 넘겨 보며 노란 변이 늘 4개이고, 다섯 꼭짓점을 모두 잇고, 고리가 없다는 것을 확인해 보세요. 다른 꼭짓점을 눌러 지우는 행과 열을 바꿔도 행렬식은 그대로입니다.

왼쪽: 꼭짓점 다섯 개의 그래프. 실선이 있는 변, 흐린 점선이 없는 변이고, 노란 변들이 신장 트리 하나입니다. 분홍 꼭짓점의 행과 열을 지웁니다. 오른쪽: 그래프 라플라시안 L=D−AL = D - A. 칸에 마우스를 올리면 그 수의 뜻이 나옵니다.

왜 행렬식이 나무를 셀까요? 생각의 줄기는 이렇습니다. 행렬식을 '변을 n−1n-1개 고르는 모든 방법'에 대한 합으로 풀어 쓸 수 있습니다. 그 합에서 고른 변들이 고리를 품으면 0이 더해지고, 신장 트리를 이루면 정확히 1이 더해집니다. 그래서 합은 신장 트리의 개수가 됩니다. 단계별 계산은 아래 상자에 있습니다.

증명의 단계 보기변마다 한쪽 끝에 +1, 다른 끝에 −1을 적은 열을 만들어 옆으로 늘어놓은 행렬(접속 행렬⁠, incidence matrix⁠) BB를 쓰면 L=BBTL = BB^{\mathsf T}입니다(BTB^{\mathsf T}는 BB의 행과 열을 맞바꾼 행렬). 한 행과 열을 지운 행렬식을 코시–비네 공식(곱한 행렬의 행렬식을 작은 행렬식들의 곱의 합으로 푸는 공식)으로 풀면, 변을 n−1n-1개씩 고르는 모든 방법에 대해 (그 변들의 작은 행렬식)²을 더한 값이 됩니다. 그런데 고른 변들이 고리를 품으면 그 열들이 일차 종속(어떤 열들을 더하고 빼서 0을 만들 수 있음. 고리를 한 바퀴 돌며 변의 열을 더하면 0이 됩니다)이라 작은 행렬식이 0이고, 신장 트리를 이루면 잎(변이 하나뿐인 꼭짓점)부터 하나씩 떼어 내며 계산해 ±1이 됩니다. 그래서 신장 트리마다 정확히 1씩 더해집니다.

변을 모두 이으면 꼭짓점 다섯 개의 완전 그래프(모든 꼭짓점 쌍이 변으로 이어진 그래프)가 되고 행렬식은 125=53125 = 5^3입니다. 완전 그래프⁠(complete graph)⁠ KnK_n의 신장 트리가 nn−2n^{n-2}개라는 공식은 n=3n = 3이면 3으로 삼각형과 맞고, n=5n = 5이면 125로 그림과 맞습니다.

이 공식은 흔히 케일리의 이름으로 불리는데, 1860년 보르하르트가 행렬식으로 먼저 증명했고 케일리는 1889년의 짧은 논문에서 다루었습니다. 행렬식 없이 나무를 세는 다른 방법들은 「세지 않고 세기」에 있습니다. 150년 뒤에도 이 연결은 새 열매를 맺었습니다. 1996년 데이비드 윌슨은 무작위 행보를 걷다가 제 발자취에 고리가 생기면 그 고리를 지우는 방법으로, 모든 신장 트리를 똑같은 확률로 뽑는 알고리즘⁠(algorithm)⁠을 내놓았습니다. 무작위 행보(3절)와 나무 세기(4절)가 같은 라플라시안의 두 얼굴이기 때문에 가능한 일입니다. 여러 나무 가운데 길이의 합이 가장 짧은 하나를 고르는 문제는 최소 신장 트리⁠(minimum spanning tree)⁠에 있습니다.

옴의 이야기를 덧붙이면, 그의 책은 처음에 독일 학계에서 차갑게 받아들여졌고, 인정받기까지 십여 년이 걸렸습니다. 키르히호프의 첫째 법칙, 들어온 만큼 나간다는 규칙은 오늘날 운송망과 통신망의 계산에서 '흐름 보존⁠(flow conservation)⁠'이라는 이름으로 그대로 쓰입니다(「짝을 찾는 알고리즘」의 최대 흐름⁠(maximum flow)⁠).

5 · 1787년 라이프치히판 위의 모래

금속판에 모래를 뿌리고 울리면 모래가 정해진 선 위로 모여 무늬를 그립니다. 왜 하필 그 선일까요? 이 절의 답은 라플라시안이 '모양은 그대로 두고 크기만 바꾸는' 특별한 함수들에 있습니다. 이 함수들은 북의 음, 열이 사라지는 빠르기, 사진 압축까지 설명합니다.

비텐베르크 태생의 법학도였다가 음향학자가 된 에른스트 클라드니는 1787년 라이프치히에서 『소리의 이론에 관한 발견』을 냈습니다. 얇은 금속판에 모래를 뿌리고 가장자리를 바이올린 활로 긁으면 판이 울리면서 모래가 튀어 오르다가, 판이 움직이지 않는 선 위로 모여 기하학적인 무늬를 그립니다. 음높이를 바꾸면 무늬가 바뀝니다. 클라드니는 이 시연으로 유럽을 돌았고, 1808년 파리에 와서 나폴레옹 앞에서도 시연했습니다. 1809년 파리 학사원은 황제의 승인을 받아 이 무늬를 설명하는 수학 이론에 3,000프랑의 상을 걸었습니다.

이 무늬는 판에 고유한 특별한 떨림, 곧 고유 모드⁠(eigenmode)⁠의 흔적입니다. 고유 모드는 떨리는 동안 모양은 그대로이고 크기만 커졌다 작아졌다 하는 떨림입니다. 모양이 그대로이려면 모든 점에서 되돌리는 힘이 제 변위(제자리에서 벗어난 거리)에 비례해야 합니다. 그래야 모든 점이 같은 비율로 되돌아오니까요.

가장자리를 고정한 북의 막이라면 되돌리는 힘은 라플라시안이 줍니다. 팽팽한 막은 한 점을 이웃 쪽으로 끌어당기니, 내가 이웃의 평균보다 높으면 아래로, 낮으면 위로 끌립니다. 곧 되돌리는 힘은 '이웃 평균 − 나'에 비례합니다. 그래서 고유 모드 φ\varphi('파이')는 Δφ=−λφ\Delta\varphi = -\lambda\varphi('라플라시안 파이는 마이너스 람다 파이')를 만족합니다. 어느 점에서나 '이웃 평균 − 나'가 '나'의 같은 배수⁠(multiple)⁠ −λ-\lambda라는 뜻입니다. 이런 함수를 라플라시안이 모양은 그대로 두고 크기만 −λ-\lambda배 하는 함수, 곧 라플라시안의 고유벡터라고 부르고, λ\lambda를 고유값⁠(eigenvalue)⁠이라고 부릅니다.

숫자로 확인해 봅시다. 양 끝을 고정한 줄 위의 다섯 점에 사인⁠(sine)⁠ 물결의 반쪽을 담은 값 0, 0.707, 1, 0.707, 0을 놓습니다(사인 0°, 45°, 90°, 135°, 180°의 값입니다). 두 번째 점에서 이웃의 평균은 (0+1)/2=0.5(0 + 1)/2 = 0.5이고, '이웃 평균 − 나'는 0.5−0.707=−0.2070.5 - 0.707 = -0.207, 곧 나의 −0.293배입니다. 가운데 점에서는 0.707−1=−0.2930.707 - 1 = -0.293, 역시 나의 −0.293배입니다. 모든 안쪽 점에서 비율이 같으니 이 모양은 고유벡터입니다. 반면 0, 0.5, 1, 0.5, 0이라는 뾰족한 산 모양은 두 번째 점에서 비율이 0, 가운데 점에서 −0.5로 달라서 고유벡터가 아닙니다. 이 모양은 흐르는 동안 모양 자체가 바뀝니다.

한 변이 π\pi(약 3.14)인 정사각형 북에서는 sin⁡mx sin⁡ny\sin mx \,\sin ny가 그런 함수이고 λ=m2+n2\lambda = m^2 + n^2입니다. 한 변을 π\pi로 잡은 것은 사인이 가장자리에서 정확히 0이 되게 하려는 것입니다. mm은 가로 방향으로 들어가는 볼록한 곳과 오목한 곳(반물결)의 수, nn은 세로 방향의 그 수입니다. 사인 물결은 촘촘할수록 휘어짐이 커서, 가로 방향이 m2m^2, 세로 방향이 n2n^2만큼을 보탭니다.

아래 그림에서 m=m = , n=n = 의 값을 바꿔 보세요. 그런데 (m,n)(m, n)과 (n,m)(n, m)은 λ\lambda가 같으므로 두 모드를 아무 비율로 섞어도 여전히 고유 모드입니다. 라플라시안이 두 모드를 똑같이 −λ-\lambda배 하니, 섞은 것도 −λ-\lambda배 하기 때문입니다. 섞는 비율은 입니다(sin⁡mxsin⁡ny+ssin⁡nxsin⁡my\sin mx \sin ny + s \sin nx \sin my). 보기는 이고, 울리기를 누르면 판이 떱니다. 노란 선이 판이 움직이지 않는 마디선입니다. 섞는 비율만 바꿔도 고유값은 그대로인데 마디선⁠(nodal line)⁠의 무늬가 크게 바뀝니다. '모래만'을 골라 모래가 노란 선 자리에 모이는 것도 확인해 보세요.

정사각형 북의 고유 모드. 분홍은 위로, 파랑은 아래로 휜 곳입니다. '모래만'을 고르면 판을 평평하게 눕히고 마디선 근처에 모인 모래 알갱이만 보여 줍니다. 끌어서 돌려 볼 수 있습니다.

지금 모드의 고유값은 이고, 떨림의 진동수⁠(frequency)⁠는 λ\sqrt\lambda에 비례하므로 가장 낮은 모드 (1,1)(1, 1)의 배입니다. 진동수가 λ\lambda가 아니라 그 제곱근에 비례하는 것은 용수철과 같은 이치입니다. 되돌리는 힘이 네 배 세지면 떨림은 두 배 빨라집니다.

기타 줄에서는 모드 sin⁡kx\sin kx의 진동수가 기본 진동수의 정확히 kk배라서 배음(한 음에 함께 섞여 울리는 더 높은 음들)이 정수배로 가지런하지만(파동방정식⁠, wave equation⁠), 북에서는 1.581배, 2배, 2.236배, 2.550배처럼 어긋납니다. 이 수들은 모드 (1, 2), (2, 2), (1, 3), (2, 3)의 λ/2\sqrt{\lambda / 2}입니다. 예로 (1, 2)는 λ=5\lambda = 5이고 5/2≈1.581\sqrt{5/2} \approx 1.581입니다. 북소리가 기타 소리보다 음높이가 덜 또렷하게 들리는 까닭의 하나입니다.

이 모드들을 열에 쓰면 이번에는 떨리는 대신 e−λte^{-\lambda t}로 사라집니다. e−λte^{-\lambda t}는 시간 tt가 흐를수록 1에서 0으로 줄어드는 양이고, λ\lambda가 클수록 빨리 줄어듭니다(지수함수⁠, exponential function⁠). 1절에서 톱니가 빨리 사라진 것은 톱니가 λ\lambda가 큰 모드로 이루어져 있기 때문이었습니다.

고유벡터가 왜 그렇게 쓸모 있을까요? 그래프 위의 값 배치라면 어떤 것이든, 막 위의 모양이라면 웬만한 것은(이때는 무한히 많은 모드가 필요할 수 있습니다) 고유 모드 여러 개를 더해 적을 수 있습니다. 예를 들어 어떤 온도 분포가 '모드 1 + 0.5 × 모드 2'라면, 라플라시안은 이것을 '−λ1-\lambda_1 × 모드 1 + 0.5 × (−λ2-\lambda_2) × 모드 2'로 바꿉니다. 모드마다 제 고유값을 곱하기만 하면 되고, 모드끼리 섞이지 않습니다. 열이 흐를 때도 모드 1의 몫은 e−λ1te^{-\lambda_1 t}로, 모드 2의 몫은 e−λ2te^{-\lambda_2 t}로 따로따로 줄어듭니다.

이렇게 고유벡터로 좌표를 잡으면 라플라시안은 좌표마다 제 고유값을 곱하는 일로 단순해집니다(대각화⁠, diagonalization⁠). 막대에서 그 좌표가 사인이었고, 푸리에 급수는 곧 막대의 라플라시안을 대각화한 것이었습니다. 이 생각은 어떤 모양에도 통합니다. 꼭짓점 8개를 한 줄로 이은 그래프의 라플라시안의 고유벡터는 정확히 이산 코사인 변환(신호를 코사인⁠(cosine)⁠ 물결 여러 개의 합으로 나누는 방법)의 코사인들이고, JPEG는 이것을 가로세로로 곱한 8×8 무늬로 사진을 적습니다(「짧게 보내기」). 어떤 그래프에서든 라플라시안의 고유벡터를 그 그래프의 '진동수'로 삼아 신호를 분해할 수 있고, 이것을 그래프 푸리에 변환⁠(graph Fourier transform)⁠이라고 부릅니다.

그렇다면 거꾸로 고유값들, 곧 북이 낼 수 있는 모든 음만 듣고 북의 모양을 알 수 있을까요? 1966년 마크 카츠가 「북의 모양을 들을 수 있는가?」라는 글로 이 질문을 널리 알렸습니다. 1911년 헤르만 바일은 고유값이 늘어나는 빠르기에서 넓이⁠(area)⁠를 알 수 있다는 것을 이미 보였습니다. λ\lambda가 클 때, λ\lambda 이하인 고유값의 개수는 대략 넓이 × λ\lambda ÷ 4π4\pi입니다. 그림의 정사각형이라면 그 개수는 m2+n2≤λm^2 + n^2 \le \lambda인 자연수⁠(natural number)⁠ 쌍 (m,n)(m, n)의 개수이고, 반지름 λ\sqrt\lambda인 원의 4분의 1 넓이 πλ/4\pi\lambda/4에 가깝습니다. 넓이 π2\pi^2을 넣은 바일의 식도 같은 값을 줍니다. 둘레의 길이도 들을 수 있다는 것이 뒤에 알려졌습니다. 그러나 1992년 고든, 웹, 월퍼트는 모양이 다른데 모든 음이 같은 두 평면 북을 만들어, 모양 전체는 들을 수 없다고 답했습니다.

이제 클라드니의 판에 대해 한 가지 정직하게 적어 둘 것이 있습니다. 클라드니의 금속판은 막이 아니라 휘는 판이고 가장자리도 자유로워서, 실제로는 라플라시안을 두 번 거듭한 4계(네 번 미분하는) 방정식을 따릅니다. 그림의 정사각형 막은 그 판의 사촌뻘이지만, "모래는 고유 모드의 마디선에 모인다"는 원리는 같습니다. 그 방정식을 찾아 학사원의 상을 받은 사람이 소피 제르맹입니다. 1811년 마감에 원고를 낸 사람은 제르맹 한 사람뿐이었고, 1813년에 다시 낸 원고는 가작에 그쳤으며, 세 번째인 1816년에야 상을 받았습니다. 그의 첫 원고에는 잘못이 있었는데, 올바른 꼴의 방정식은 심사위원이던 라그랑주가 적었습니다. 자유로운 가장자리의 조건은 1850년 키르히호프가 바로잡았습니다.

바일의 정리 뒤에는 물리학의 급한 사정이 있었습니다. 흑체 복사는 4절 끝의 인물 소개에서 본 키르히호프가 이름 붙인 문제입니다. 뜨거운 상자 속 빛의 세기를 계산하려면 상자가 품을 수 있는 떨림, 곧 고유 모드가 진동수마다 몇 개인지 세어야 했습니다. 레일리와 진스는 정육면체 상자로 이 셈을 했는데, 상자의 모양이 달라져도 답이 같은지는 아무도 몰랐습니다. 1910년 10월 네덜란드의 물리학자 헨드릭 로런츠는 괴팅겐에서 한 여섯 차례의 강연 「물리학의 오래된 문제와 새로운 문제」에서, 높은 진동수의 모드 수가 모양과 상관없이 부피에만 비례한다는 것을 증명해 달라고 수학자들에게 청했습니다. 전하는 이야기로는 힐베르트가 자기 생전에 풀리기는 어렵겠다고 했는데, 그의 제자였던 헤르만 바일이 이듬해 이것을 증명했습니다. 카츠는 1966년의 글을 바로 이 이야기로 시작했습니다.

라플라시안의 19세기. 수학 줄(파랑)에 오일러의 유체, 라플라스의 퍼텐셜, 푸리에의 열, 그린의 소책자, 키르히호프의 나무가 차례로 놓입니다. 파리와 괴팅겐, 쾨니히스베르크, 노팅엄, 겐트를 오가는 동안 같은 방정식이 중력에서 열로, 전기로, 비누막으로 옮겨 가는 것을 보세요.

6 · 1973년 프라하그래프를 둘로 가르는 벡터⁠(vector)⁠

친구 관계나 도로망 같은 큰 그래프를 비슷한 크기의 두 무리로 나누고 싶다고 합시다. 무리 사이를 잇는 변은 되도록 적게 자르고 싶습니다. 이 절의 질문은 '어디를 자르면 좋은가'이고, 답은 라플라시안의 고유벡터 하나가 줍니다.

1973년 체코슬로바키아 과학 아카데미의 미로슬라프 피들러는 그래프 라플라시안의 고유값 가운데 두 번째로 작은 것 λ2\lambda_2('람다 투')에 '대수적 연결도⁠(algebraic connectivity)⁠'라는 이름을 붙인 논문을 냈습니다. 여기서 고유값은 5절과 같은 뜻입니다. 값의 목록 xx에 대해 LxLx가 xx의 λ\lambda배, 곧 Lx=λxLx = \lambda x이면 xx가 고유벡터, λ\lambda가 고유값입니다. 4절처럼 부호를 뒤집은 LL을 쓰므로 고유값은 모두 0 이상이고, 작은 것부터 λ1≤λ2≤⋯\lambda_1 \le \lambda_2 \le \cdots로 번호를 붙입니다.

가장 작은 고유값은 언제나 0입니다. 모든 꼭짓점에 같은 값을 주면 나와 이웃의 차이가 모두 0이니까요. 4절의 집 그래프 행렬에서도 각 행의 수를 더하면 0입니다(첫 행이면 2−1−1=02 - 1 - 1 = 0). 더 나아가 uTLu=∑(ua−ub)2u^{\mathsf T}Lu = \sum (u_a - u_b)^2이 0이 되려면 이어진 꼭짓점끼리 값이 모두 같아야 하므로, 고유값 0이 몇 번 나오는지가 그래프가 몇 조각인지를 알려 줍니다. 예로 꼭짓점 1, 2, 3, 4와 변 1–2, 3–4만 있는 그래프는 두 조각이고, '1과 2에만 1, 나머지 0'과 '3과 4에만 1, 나머지 0'이 모두 고유값 0의 고유벡터입니다. 그래서 λ2>0\lambda_2 > 0이면 그래프는 이어져 있고, λ2\lambda_2가 0에 가까울수록 "거의 끊어질 뻔한" 그래프입니다.

이제 처음의 가르기 문제로 돌아갑시다. 비슷한 크기의 두 무리로 나누되 무리 사이를 잇는 변을 가장 적게 자르고 싶습니다. 꼭짓점마다 +1이나 −1을 붙여 무리를 표시하면, 잘리는 변의 수는 14∑변(xa−xb)2=14xTLx\tfrac14 \sum_{\text{변}} (x_a - x_b)^2 = \tfrac14 x^{\mathsf T}Lx입니다. 까닭은 간단합니다. 같은 무리 안의 변은 (1−1)2=0(1 - 1)^2 = 0을 보태고, 두 무리를 가로지르는 변은 (1−(−1))2=4(1 - (-1))^2 = 4를 보태니, 합을 4로 나누면 가로지르는 변의 개수입니다.

크기를 맞춘 채 이것을 가장 작게 하는 ±1 배치를 찾는 일은 꼭짓점이 많아지면 어렵기로 이름난 문제입니다. 그래서 ±1이라는 조건을 풀어 xx가 아무 실수⁠(real number)⁠나 되도록 하고, 크기를 맞추는 조건 대신 "모든 성분의 합이 0이고 길이가 일정하다"만 남깁니다. 합이 0이라는 조건은 모두 같은 값을 주는 뻔한 답(자르는 변은 0개지만 아무것도 가르지 않는 답)을 막습니다. 그러면 답은 정확히 λ2\lambda_2의 고유벡터, 곧 피들러 벡터입니다. 선형대수에서 길이를 고정하고 xTLxx^{\mathsf T}Lx를 가장 작게 하는 방향은 가장 작은 고유값의 고유벡터인데, 합이 0이라는 조건이 λ1=0\lambda_1 = 0의 상수 벡터를 빼 버리므로 그다음인 λ2\lambda_2의 고유벡터가 답이 됩니다.

그 부호로 꼭짓점을 가르면, 곧 값이 양수인 꼭짓점과 음수인 꼭짓점으로 나누면 대개 좋은 가르기가 나옵니다. 가장 좋은 가르기라는 보장은 없지만, λ2\lambda_2가 작으면 적게 잘라 가를 수 있고 크면 어떻게 갈라도 많이 잘라야 한다는 부등식(치거 부등식⁠(Cheeger inequality)⁠의 그래프 판)이 이 방법을 받쳐 줍니다. 정리하면, λ2\lambda_2는 그래프가 얼마나 잘 끊어지는지를 재는 수이고, 그 고유벡터의 부호는 어디를 끊으면 좋은지를 알려 줍니다.

아래 그래프에서 변을 눌러 없애거나 이어 보세요. 꼭짓점의 색은 피들러 벡터⁠(Fiedler vector)⁠의 값이고(분홍 +, 파랑 −), 노랗게 굵어진 변이 두 무리를 가로지르는 변입니다. 처음에는 왼쪽 여덟 꼭짓점과 오른쪽 여섯 꼭짓점이 변 두 개로만 이어져 있습니다. 색이 이 두 무리를 따라 갈리는지 보세요. 지금 λ2=\lambda_2 = 입니다. 이제 점선 숫자(지금 )를 1까지 끌어 보세요. 꼭짓점들이 피들러 벡터를 가로 좌표로, 세 번째 고유벡터를 세로 좌표로 삼은 자리로 옮겨 갑니다. 두 무리가 왼쪽과 오른쪽으로 떨어지는 것이 보입니다.

그래프 (변을 눌러 잇거나 끊기)
피들러 벡터의 값 (작은 것부터)
왼쪽: 꼭짓점 14개의 그래프. 흐린 점선은 없는 변입니다. 오른쪽: 피들러 벡터의 성분을 작은 것부터 늘어놓은 막대입니다. 두 무리가 뚜렷하면 막대들이 두 층으로 나뉘고 그 사이에 틈이 생깁니다.

고유벡터를 좌표로 써서 그래프를 그리는 방법은 1970년 케네스 홀이 제안했습니다. ∑(xa−xb)2\sum (x_a - x_b)^2을 작게 하는 좌표는 이어진 꼭짓점들을 가까이 놓는 좌표이니, 그래프가 스스로 제 모양을 펼치는 셈입니다. 위에서 점선 숫자를 1까지 끌었을 때 본 것이 이것입니다. 2000년 버클리의 스와 말릭은 사진의 화소들을 꼭짓점으로, 색이 비슷한 이웃 화소 사이를 무게 있는 변으로 삼아 이 방법으로 사진 속 물체를 배경에서 떼어 냈습니다. 이듬해 응, 조던, 와이스는 고유벡터 여러 개로 좌표를 만든 뒤 k-평균 군집⁠(k-means clustering)⁠으로 무리를 나누는 오늘날의 스펙트럴 군집⁠(spectral clustering)⁠을 정리했습니다. k-평균 군집은 점들을 서로 가까운 것끼리 정해진 수(k개)의 무리로 묶는 방법입니다.

주성분 분석⁠(principal component analysis)⁠은 자료가 가장 크게 퍼진 방향을 공분산 행렬(여러 측정값이 서로 얼마나 함께 변하는지 적은 표)의 큰 고유벡터에서 찾습니다. 스펙트럴 군집은 그 짝으로, 그래프 위에서 가장 매끄럽게 변하는 함수를 라플라시안의 작은 고유벡터에서 찾습니다.

그래프 위의 확산도 같은 식입니다. 링크를 무작위로 따라가는 사람이 각 꼭짓점에 있을 확률은 한 걸음마다 이웃에게 고르게 나뉘어 퍼집니다. 그래서 그 확률의 변화량은 라플라시안(정확히는 차수로 나눈 무작위 행보 라플라시안)이 정합니다. 웹 쪽의 중요도를 이런 퍼짐이 멈춘 상태로 매긴 것이 페이지랭크⁠(PageRank)⁠입니다. 웹의 링크는 한쪽 방향이고 가끔 아무 쪽으로나 순간이동하는 규칙이 더해져서 이 글의 대칭인 라플라시안과 똑같지는 않지만, "이웃에게 나눠 주고 이웃에게서 받는다"는 뼈대는 같습니다(마르코프 연쇄⁠(Markov chain)⁠, 곧 다음 자리가 지금 자리에만 달린 무작위 이동).

2017년 키프와 웰링이 널리 퍼뜨린 그래프 합성곱 신경망⁠(convolutional neural network)⁠의 한 층도 나와 이웃의 값을 차수로 정규화해 섞은 뒤(이웃 평균과 닮은 계산입니다) 학습한 가중치⁠(weight)⁠를 곱하는 일입니다. 층을 너무 많이 쌓으면 열이 끝까지 흐른 막대처럼 모든 꼭짓점의 값이 비슷해져 버리는데, 이것을 과평활화⁠(oversmoothing)⁠라고 부릅니다.

치거 부등식의 이름은 1970년 휘어진 곡면과 공간 위의 라플라시안으로 같은 모양의 부등식을 증명한 제프 치거에게서 왔고, 그래프 판은 1980년대 중반 여러 사람이 세웠습니다. 북의 음(5절)에서 시작한 물음이 그래프의 병목을 재는 도구가 된 것입니다.

같은 1973년, 이 방법은 전혀 다른 곳에서도 나왔습니다. IBM의 윌리엄 도나스와 앨런 호프먼은 컴퓨터 회로의 수많은 부품을 여러 기판에 나누어 담을 때 기판 사이를 오가는 배선을 줄이는 문제를 다루며, 부품의 연결을 적은 행렬의 고유벡터로 부품을 가르자고 제안했습니다. 1990년 무렵에는 포텐, 사이먼, 리우가 커다란 격자 계산을 여러 프로세서에 나누어 맡기는 병렬 컴퓨터의 문제에 피들러 벡터를 써서 이 방법을 널리 퍼뜨렸습니다. 칩의 배선과 슈퍼컴퓨터라는 현실의 필요 속에서 체코의 행렬 이론이 다시 쓰인 셈입니다.

7 · 흐림과 경계사진 속의 라플라시안

사진 편집기의 '흐리게', '선명하게' 버튼과 윤곽선 찾기는 속에서 무엇을 계산할까요? 이 절의 답은 셋 다 같은 연산이라는 것입니다. 흐리게는 열 흐름이고, 윤곽선은 라플라시안의 부호이며, 선명하게는 열을 거꾸로 한 걸음 돌리는 일입니다.

흑백 사진은 화소마다 밝기가 적힌 격자입니다. 격자이니 1절의 열 흐름을 그대로 돌릴 수 있습니다. 한 걸음마다 모든 화소를 이웃 쪽으로 조금씩 섞으면 사진이 흐려집니다. 걸음을 많이 거듭한 결과는 사진을 종 모양의 정규분포⁠(normal distribution)⁠ 무늬로 문지른 것과 거의 같습니다. 곧 화소마다 그 둘레의 밝기를 평균하되, 가까운 화소일수록 무게를 크게, 멀수록 종 모양으로 작게 두는 것입니다.

까닭은 중심극한정리⁠(central limit theorem)⁠에 있습니다. 작은 무작위 걸음을 수없이 더하면 그 합의 분포가 정규분포에 가까워진다는 정리입니다. 열이 퍼지는 것은 열의 작은 덩어리들이 그런 걸음을 거듭하는 것으로 볼 수 있습니다(3절의 걷는 사람과 같습니다). 그러니 한 점에 있던 열이 여러 걸음 뒤 퍼진 모양은 종 모양입니다.

이번에는 흐리는 대신 라플라시안 자체를 봅시다. 밝은 물체와 어두운 배경이 만나는 경계에서, 밝은 쪽 화소는 이웃 평균보다 밝으니 '이웃 평균 − 나'가 음수이고 어두운 쪽 화소는 양수입니다. 한 줄의 밝기가 0.1, 0.1, 0.9, 0.9라면, 두 번째 화소는 (0.1+0.9)/2−0.1=+0.4(0.1 + 0.9)/2 - 0.1 = +0.4, 세 번째 화소는 (0.1+0.9)/2−0.9=−0.4(0.1 + 0.9)/2 - 0.9 = -0.4입니다. 고른 곳에서는 0입니다. 부호가 바뀌는 자리가 곧 경계입니다. 1980년 MIT의 데이비드 마와 엘런 힐드레스는 사람의 초기 시각도 이런 계산을 한다는 가설과 함께, 먼저 흐린 다음 라플라시안의 부호가 바뀌는 곳을 경계로 삼는 방법을 내놓았습니다.

'선명하게'는 u−a (이웃 평균−u)u - a\,(\text{이웃 평균} - u), 곧 이웃 평균에서 멀어지는 쪽으로 나를 aa배 더 미는 계산입니다. 흐려진 경계 0.1, 0.1, 0.3, 0.7, 0.9, 0.9에 a=1a = 1로 해 봅시다. 가운데 네 화소의 '이웃 평균 − 나'는 차례로 +0.1, +0.1, −0.1, −0.1이므로, 새 밝기는 0.0, 0.2, 0.8, 1.0이 됩니다. 0.3에서 0.7로 0.4만큼 오르던 경계가 0.2에서 0.8로 0.6만큼 오르게 되어 더 가팔라졌습니다. 그런데 경계 바로 바깥의 0.1은 0.0으로 더 어두워지고, 0.9는 1.0으로 더 밝아졌습니다. 이것이 아래에서 볼 '원래 없던 띠'의 씨앗입니다.

잡음은 , 흐리는 걸음 수는 , 오른쪽에 보일 것은 입니다. '선명하게'에서는 u−a (이웃 평균−u)u - a\,(\text{이웃 평균} - u)를 그리고, a=a = 입니다. 왼쪽 입력의 칸을 눌러 그림을 고칠 수 있습니다. 그림 되돌리기 처음 화면의 오른쪽은 라플라시안입니다. 물체 안쪽과 배경은 고른 밝기라 0(어두운옅은 색)이고, 테두리에만 분홍과 파랑이 붙어 있는 것을 보세요.

왼쪽이 입력, 오른쪽이 처리한 결과입니다. 라플라시안은 분홍(이웃보다 어두움, +)과 파랑(이웃보다 밝음, −)으로 칠했고, 경계는 두 색이 맞닿는 곳입니다. 화소에 마우스를 올리면 계산에 쓴 숫자가 나옵니다.

잡음을 넣고 라플라시안을 보세요. 흐리는 걸음이 0이면 화면 전체가 얼룩덜룩해집니다. 라플라시안은 이웃과의 차이를 재니 화소 하나하나의 떨림을 그대로 키웁니다. 걸음을 2나 3으로 올리면 얼룩은 사라지고 물체의 윤곽이 다시 드러납니다. 마–힐드레스가 먼저 흐린 까닭입니다.

이제 '선명하게'를 고르고 흐린 그림에 aa를 올려 보세요. 경계가 다시 또렷해지지만, 지나치면 경계 양옆에 원래 없던 밝고 어두운 띠가 생깁니다. 위의 계산에서 0.1이 0.0으로, 0.9가 1.0으로 밀려난 것이 aa가 커지면서 눈에 보이는 띠가 된 것입니다. 필름 시절 암실에서 쓰던 '언샤프 마스크⁠(unsharp mask)⁠'가 이 계산입니다.

선명하게 하기는 열을 거꾸로 한 걸음 돌리는 일입니다. 열 흐름 한 걸음은 '이웃 평균 − 나'만큼 나를 이웃 쪽으로 당기고, 선명하게는 같은 양만큼 반대로 밉니다. 흐림은 뾰족한 성분일수록 빨리 지웠으니(5절의 e−λte^{-\lambda t}), 거꾸로 가려면 뾰족한 성분일수록 크게 키워야 합니다. 잡음은 뾰족한 성분을 고르게 많이 품고 있어 가장 크게 불어납니다. 잡음을 켜고 흐린 그림을 선명하게 해 보면 보입니다.

흔히 흐린 사진도 충분히 계산하면 원래대로 되돌릴 수 있다고 생각하지만, 열을 거꾸로 돌리는 데는 근본적인 벽이 있습니다. 열방정식을 거꾸로 풀면 처음값의 아주 작은 차이가 한없이 커질 수 있어서, 아다마르가 1902년 이름 붙인 '잘 놓인 문제⁠(well-posed problem)⁠'의 조건을 어깁니다. 잘 놓인 문제란 답이 있고, 답이 하나뿐이며, 주어진 값이 조금 바뀌면 답도 조금만 바뀌는 문제입니다. 흐린 사진과 거꾸로 돌린 열이 왜 같은 벽에 부딪히고 그 벽을 어떻게 넘는지는 「거꾸로 푸는 문제는 왜 어려운가」 2–5절에, CT와 허블 망원경이 실제로 그 벽을 넘은 이야기는 같은 글의 7절과 9절에 있습니다. 이 어려움을 확산 모델⁠(diffusion model)⁠이 어떻게 피해 가는지는 9절에서 봅니다.

한편 라플라시안에 무게를 주어 바꾼 변형들도 사진 처리에서 널리 쓰입니다. 페로나–말릭의 비등방 확산(1990)이 그런 예로, 이웃마다 섞는 양을 달리해서 흐리되 경계를 건너서는 흐리지 않게 합니다. '비등방'은 방향과 자리에 따라 퍼지는 정도가 다르다는 뜻입니다.

그림 위를 미끄러지며 작은 창 안의 화소들에 정해진 수를 곱해 더하는 계산을 합성곱⁠(convolution)⁠이라고 합니다. 라플라시안은 가운데 −4, 위아래 좌우 1인 3×3 창의 합성곱입니다(이웃 평균 − 나에 4를 곱한 것). 창의 네 귀퉁이에는 0이 들어갑니다. 합성곱 신경망은 이런 창의 수들을 사람이 정하지 않고 자료에서 배웁니다. 사진을 학습한 신경망⁠(neural network)⁠의 첫 층을 열어 보면 방향별 경계 검출기를 닮은 창들이 자주 보입니다.

1980년대 초 비트킨과 쾬데린크는 사진을 여러 굵기로 보는 '척도 공간⁠(scale space)⁠'을 열방정식으로 정의하자고 했습니다. 척도 공간은 한 사진을 조금 흐린 것, 더 흐린 것, 아주 흐린 것으로 늘어놓아, 작은 무늬부터 큰 덩어리까지 굵기별로 살펴보는 틀입니다. 선형이고(두 사진을 더한 뒤 흐린 것이 따로 흐려 더한 것과 같고), 위치와 방향에 치우치지 않고, 흐리는 동안 주변보다 밝은 점은 어두워지고 주변보다 어두운 점은 밝아질 뿐 어느 점도 더 도드라지지 않는다는 몇 가지 자연스러운 조건을 두면 열방정식의 흐림만 남는다는 것이 이유였습니다(마지막 조건이 2절의 최대 원리입니다).

척도 공간의 생각은 서양보다 일본에서 20년 넘게 먼저 나왔습니다. 1959년 일본 전기시험소의 이이지마 다이조는 기계로 글자를 읽는 문자 인식을 연구하며, 흐림이 갖추어야 할 몇 가지 조건에서 가우스 흐림, 곧 열방정식의 흐림을 공리적으로 이끌어 냈습니다. 논문이 일본어로만 나와 서양의 연구자들은 오래 이 사실을 몰랐고, 1999년 요아힘 바이케르트와 일본의 공동 연구자들이 「선형 척도 공간은 일본에서 먼저 제안되었다」라는 논문으로 이 역사를 알렸습니다. 수학이 퍼지는 길이 언어에 막히기도 한다는 예입니다.

데이비드 마는 1980년 서른다섯 살에 백혈병으로 세상을 떠났고, 시각을 계산의 층위로 나누어 보자는 그의 생각은 1982년 유고 『비전』으로 묶여 컴퓨터 시각과 인지과학에 오래 영향을 주었습니다.

8 · 1873년 겐트비누막과 디리클레 에너지⁠(Dirichlet energy)⁠

철사 고리에 걸린 비누막은 어떤 모양이 될까요? 이 절은 완만한 비누막이 라플라스 방정식을 푼다는 것을 보고, 그 까닭을 '에너지를 가장 작게'라는 말로 설명합니다. 그 설명에서 열 흐름이 에너지를 줄여 가는 과정이라는 것도 드러납니다.

철사를 구부려 고리를 만들고 비눗물에 담갔다 꺼내면 막이 생깁니다. 막은 표면 장력 때문에 넓이를 가장 작게 하는 모양을 찾아갑니다. 벨기에 겐트 대학의 물리학자 조제프 플라토는 이런 막을 수없이 만들어 관찰하고 규칙을 정리해 1873년 두 권의 책으로 냈습니다. 주어진 테두리에 걸리는 넓이 최소의 곡면을 찾는 문제는 오늘날 플라토 문제라 불립니다.

넓이가 가장 작은 곡면의 방정식은 1760년 라그랑주가 변분법⁠(calculus of variations)⁠으로 이미 세워 두었습니다. 변분법은 수 하나가 아니라 함수 전체를 바꿔 가며 넓이 같은 양을 가장 작게 하는 방법입니다. 높이가 u(x,y)u(x, y)인 곡면이면 (1+uy2) uxx−2uxuy uxy+(1+ux2) uyy=0(1 + u_y^2)\,u_{xx} - 2u_x u_y\,u_{xy} + (1 + u_x^2)\,u_{yy} = 0입니다. 여기서 uxu_x는 xx 방향으로 걸을 때 막의 기울기, uyu_y는 yy 방향의 기울기이고, uxyu_{xy}는 xx 방향의 기울기가 yy 방향으로 가며 바뀌는 빠르기(막이 비틀린 정도)입니다.

복잡해 보이지만 막이 완만해서 기울기 ux,uyu_x, u_y가 작으면 그 제곱과 곱은 더 작으니 버릴 수 있습니다. 기울기가 0.1이면 제곱은 0.01이니, 1에 더해도 1.01로 거의 1입니다. 그러면 괄호 속이 모두 1이 되고 가운데 항은 사라져, 남는 것은 uxx+uyy=0u_{xx} + u_{yy} = 0, 곧 라플라스 방정식입니다. 완만한 비누막의 모든 점은 제 이웃의 평균 높이에 있습니다. 3절 그림의 색을 높이로 읽으면, 출구 쪽은 높이 1로 들어 올리고 함정 쪽은 바닥에 붙인 철사 틀에 걸린 막의 모양이 됩니다(틀이 갑자기 꺾이는 곳 근처에서는 막이 가팔라 이 근사가 맞지 않습니다).

이유를 에너지로 보면 더 분명합니다. 막의 작은 조각 하나를 봅시다. 바닥에 비친 넓이가 1인 조각이 기울기 ss로 기울어 있으면, 실제 넓이는 1+s2\sqrt{1 + s^2}이고, ss가 작으면 이것은 1+12s21 + \tfrac12 s^2에 가깝습니다. s=0.1s = 0.1이면 1.01=1.00499…\sqrt{1.01} = 1.00499\ldots이고 1+12×0.01=1.0051 + \tfrac12 \times 0.01 = 1.005입니다.

이런 조각들을 모두 더하면, 기울기가 작을 때 넓이는 ∬(1+12∣∇u∣2) dx dy\iint \bigl(1 + \tfrac12 |\nabla u|^2\bigr)\,dx\,dy에 가깝습니다. 기호 ∬…dx dy\iint \ldots dx\,dy는 바닥의 영역 전체에 걸쳐 더한다는 뜻이고, ∣∇u∣2=ux2+uy2|\nabla u|^2 = u_x^2 + u_y^2은 그 자리에서 막이 가장 가파른 방향의 기울기의 제곱입니다. 그러므로 넓이를 줄이는 일은 ∬∣∇u∣2\iint |\nabla u|^2, 곧 막이 얼마나 가파른지의 총합을 줄이는 일입니다. 이것을 디리클레 에너지라고 부릅니다.

격자나 그래프에서는 디리클레 에너지가 ∑변(ua−ub)2=uTLu\sum_{\text{변}} (u_a - u_b)^2 = u^{\mathsf T}Lu이고, 4절에서 저항이 잃는 전력, 6절에서 가르는 비용이던 바로 그 식입니다. 가장 작은 예로, 높이가 1과 3에 고정된 두 점 사이에 점 하나가 있고 그 높이가 xx라고 합시다. 에너지는 (x−1)2+(x−3)2(x - 1)^2 + (x - 3)^2입니다. x=1x = 1이면 0+4=40 + 4 = 4, x=2x = 2이면 1+1=21 + 1 = 2, x=3x = 3이면 4+0=44 + 0 = 4로, 가운데인 이웃의 평균 2에서 가장 작습니다.

일반적으로도 같습니다. 경계를 고정하고 이 값을 가장 작게 하면, 안쪽 꼭짓점마다 uvu_v로 미분한 값이 0이어야 합니다(가장 낮은 곳에서는 어느 한 점을 조금 움직여도 에너지가 줄지 않으니, 그 방향의 기울기가 0입니다). uvu_v가 들어 있는 항은 vv에 이어진 변들의 (uv−uw)2(u_v - u_w)^2뿐이고, 이것들을 uvu_v로 미분하면 2∑w∼v(uv−uw)=2(Lu)v2\sum_{w \sim v}(u_v - u_w) = 2(Lu)_v입니다. 그러니 조건은 2(Lu)v=02(Lu)_v = 0, 곧 "나는 이웃의 평균"입니다.

게다가 이 에너지를 경사 하강법⁠(gradient descent)⁠으로 줄이는 한 걸음은 1절의 열 흐름 한 걸음과 같습니다. 경사 하강법은 에너지가 가장 빨리 줄어드는 쪽, 곧 기울기의 반대쪽으로 조금씩 옮겨 가는 방법입니다. 에너지의 기울기가 2Lu2Lu이니, 2를 걸음 크기 η\eta('에타')에 넣어 한 걸음을 u←u−η Luu \leftarrow u - \eta\,Lu로 적을 수 있습니다. η=0.1\eta = 0.1이면 1절 그림의 한 걸음, 곧 '이웃과의 온도 차의 합 × 0.1'을 더하는 계산과 글자 하나 다르지 않습니다. 열이 퍼지는 것은 디리클레 에너지를 가장 가파르게 줄이는 길을 따라 내려가는 것입니다.

'에너지를 가장 작게 하는 함수가 있으니 방정식의 해가 있다'는 논법을 리만은 1851년 박사 논문부터 과감하게 썼고, 1857년에는 스승 디리클레의 이름을 따 디리클레 원리라 불렀습니다. 1870년 바이어슈트라스는 반례를 들었습니다. 그 에너지는 아래쪽 한계에 한없이 가까이 갈 수는 있어도, 그 값에 실제로 닿는 함수가 없었습니다. 가장 작은 것이 늘 있다고 가정할 수는 없다는 지적이었습니다. 이 원리는 1900년 힐베르트가 조건을 붙여 되살렸고, 이 싸움에서 오늘날 편미분방정식(열방정식처럼 여러 변수에 대한 도함수들이 얽힌 방정식)을 다루는 기본 도구들이 자랐습니다. 플라토 문제⁠(Plateau's problem)⁠ 자체는 1930–1931년 티보르 라도와 제시 더글러스가 따로 풀었고, 더글러스는 1936년 첫 필즈상⁠(Fields Medal)⁠을 받은 두 사람 가운데 하나가 되었습니다.

플라토의 삶에도 이야기가 있습니다. 그는 젊은 시절 눈에 남는 잔상을 연구했고, 1832년에는 둥근 판에 그린 그림들을 돌려 틈으로 보면 움직이는 것처럼 보이게 하는 장치 페나키스티스코프를 만들었는데, 이 장치는 영화의 먼 조상 가운데 하나로 꼽힙니다. 1829년 이 연구를 하며 해를 25초 동안 똑바로 바라본 일이 뒷날의 실명으로 이어졌다는 이야기가 전합니다. 그는 1840년대 초 시력을 잃었고, 막의 관찰은 가족과 동료의 눈을 빌려 이어 갔습니다.

9 · 잡음에서 그림으로확산 모델과 점수

요즘의 이미지 생성 인공지능은 잡음에서 그림을 만듭니다. 어떻게 그럴 수 있을까요? 이 절의 답은 이렇습니다. 사진에 잡음을 더해 가는 과정은 열이 퍼지는 과정이고, 그림을 만드는 것은 그 퍼짐을 거꾸로 돌리는 일입니다. 7절에서 열을 거꾸로 돌리기는 어렵다고 했으니, 그 어려움을 어떻게 비켜 가는지가 핵심입니다.

1827년 식물학자 로버트 브라운은 물에 뜬 꽃가루 알갱이에서 나온 작은 입자들이 쉬지 않고 떨리는 것을 관찰했습니다. 1905년 아인슈타인은 이것이 보이지 않는 물 분자들의 무작위한 충돌 때문이라면 입자들의 밀도(곳곳에 입자가 얼마나 빽빽한지)가 열방정식을 따라 퍼져야 하고, 퍼지는 빠르기에서 분자의 크기와 수를 알 수 있다고 계산했습니다. 1908년 무렵 장 페랭의 실험이 이 예측을 확인하면서 원자의 존재를 의심하던 목소리가 잦아들었습니다. 그때까지 물리학자이자 철학자인 에른스트 마흐, 그리고 자연을 원자 대신 에너지만으로 설명하려던 화학자 빌헬름 오스트발트는 볼 수 없는 알갱이를 과학에 들이기를 꺼렸습니다. 관찰할 수 있는 현상의 법칙만 적자는, 1절 끝에서 본 푸리에와 콩트의 태도와 닮은 생각입니다. 오스트발트는 페랭의 실험에 설득되어 원자를 받아들였습니다. 열방정식이 무엇에서 나오는지 묻지 않던 쪽과 묻던 쪽의 오랜 논쟁이, 바로 그 열방정식을 따르는 입자들의 떨림으로 한 고비를 넘은 셈입니다. 그보다 다섯 해 앞서 파리의 루이 바슐리에는 채권 값의 무작위한 오르내림에서 같은 방정식을 얻었습니다. 무작위 행보(3절)의 확률이 퍼지는 것과 열이 퍼지는 것은 같은 일입니다.

이제 모든 가능한 사진이 한 점씩 놓인 아주 높은 차원의 공간을 떠올려 봅시다. 사진 한 장은 화소마다의 밝기를 늘어놓은 수의 목록이고, 그 목록을 좌표로 삼으면 공간의 한 점이 됩니다. 64×64 화소의 컬러 사진이라면 화소마다 빨강, 초록, 파랑 세 값이 있으니 64×64×3=12,28864 \times 64 \times 3 = 12{,}288, 곧 좌표가 12,288개인 공간입니다. 실제 사진들은 이 공간에서 아주 좁은 곳에 몰려 있습니다. 아무 좌표나 고른 점은 거의 언제나 텔레비전의 잡음 화면처럼 보이니까요.

이렇게 몰린 모습을 나타내는 확률밀도⁠(probability density)⁠를 p0p_0라고 합시다. 확률밀도는 공간의 자리마다 사진이 얼마나 빽빽이 모여 있는지를 나타내는 함수입니다. 사진마다 작은 정규분포 잡음을 조금씩 더해 가면, 사진들의 밀도는 열방정식 ∂tp=12Δp\partial_t p = \tfrac12 \Delta p를 따라 퍼지다가 결국 밋밋한 정규분포 덩어리가 됩니다. 이 식은 "밀도가 시간에 따라 바뀌는 빠르기(∂tp\partial_t p)는 밀도의 라플라시안의 절반"이라고 읽습니다. 1절의 온도 자리에 밀도가 들어간 것이고, ½은 더한 잡음의 분산(퍼진 정도를 재는 값)을 시간 tt와 같게 잡은 데서 오는 상수입니다.

새 사진을 만들려면 이것을 거꾸로 돌려야 합니다. 그런데 7절에서 본 대로 열방정식을 거꾸로 푸는 것은 잘 놓인 문제가 아닙니다.

길은 밀도 전체를 거꾸로 돌리는 대신 점 하나하나를 옮기는 데 있습니다. 시각 tt의 밀도가 가장 가파르게 커지는 방향 ∇log⁡pt(x)\nabla \log p_t(x)를 점수라고 부릅니다. 한 줄 위에서라면 이것은 로그를 씌운 밀도 log⁡pt\log p_t의 기울기이고, 밀도의 기울기를 밀도로 나눈 값 pt′(x)/pt(x)p_t'(x) / p_t(x)와 같습니다. 부호는 밀도가 짙어지는 쪽을 가리킵니다.

예를 들어 평균 0, 분산⁠(variance)⁠ 1인 정규분포라면 점수는 −x-x입니다. x=2x = 2에서 점수는 −2로, 왼쪽, 곧 점들이 몰린 0 쪽을 가리킵니다. x=−1x = -1에서는 +1로 오른쪽을 가리킵니다. 가운데에서 멀수록 점수가 커서, 더 세게 가운데로 향합니다.

모든 점을 속도⁠(velocity)⁠ −12∇log⁡pt(x)-\tfrac12 \nabla \log p_t(x)로, 곧 밀도가 옅어지는 쪽으로 옮기면 점들의 구름은 열방정식이 말하는 모양 그대로 퍼집니다. 짙은 곳의 점들이 옅은 곳으로 옮겨 가니 봉우리는 낮아지고 골짜기는 채워집니다. 1절에서 열이 한 일과 같습니다.

한 줄 위에서 왜 정확히 열방정식이 되는지 보기속도가 v=−12(log⁡p)′=−12p′/pv = -\tfrac12 (\log p)' = -\tfrac12 p'/p이면, 한 지점을 단위 시간에 지나가는 점의 양(흐름)은 밀도 × 속도 =p v=−12p′= p\,v = -\tfrac12 p'입니다. 짧은 구간에 쌓이는 양은 왼쪽에서 들어온 흐름에서 오른쪽으로 나간 흐름을 뺀 것이므로, 밀도가 바뀌는 빠르기는 흐름의 기울기에 마이너스를 붙인 값 −(p v)′=12p′′-(p\,v)' = \tfrac12 p''입니다. 이것이 ∂tp=12Δp\partial_t p = \tfrac12 \Delta p의 한 줄 판입니다.

이 움직임은 결정론적입니다. 같은 자리에서 출발하면 늘 같은 길로 움직이고, 무작위한 흔들림이 없습니다. 그래서 시간을 거꾸로 돌려도 멀쩡합니다. 영상을 되감듯 각 점을 거꾸로 흘려 보내면 됩니다. 점수만 알면 잡음 덩어리의 점들을 거꾸로 흘려 보내 원래의 밀도로 되돌릴 수 있습니다. 어려움이 사라진 것은 아닙니다. 되돌리는 데 필요한 정보가 모두 점수에 담기게 되었고, 문제는 점수를 아는 일로 옮겨 갑니다. 무작위성이 섞인 판(시간을 거꾸로 돌린 확률미분방정식, 곧 무작위한 흔들림이 섞인 움직임의 방정식)은 1982년 앤더슨이 세웠고, 2021년 스탠퍼드의 송과 동료들이 두 판을 함께 확산 모델의 언어로 정리했습니다.

아래는 한 줄 위의 밀도로 줄인 모형입니다. 흐린 흰검은 곡선이 원래 밀도 p0p_0이고, 잡음의 표준편차⁠(standard deviation)⁠ σ=\sigma = (분산 t=σ2=t = \sigma^2 = )만큼 퍼진 밀도가 파란 곡선입니다. 표준편차 σ\sigma('시그마')는 잡음의 전형적인 크기이고, 분산은 그 제곱입니다. 점 160개는 위의 속도로 움직입니다. 잡음으로 잡음에서 그림으로 먼저 '잡음으로'를 눌러 두 봉우리가 하나의 밋밋한 종 모양으로 녹아드는 것을 보세요. 점들의 막대그래프가 파란 곡선을 줄곧 따라가는지도 보세요.

아래 줄의 점들은 처음에 왼쪽 봉우리(분홍)와 오른쪽 봉우리(청록)에서 출발했고, 보라 막대는 그 점들의 분포입니다. 점들의 분포는 언제나 파란 곡선과 맞습니다. 노란 점을 끌면, 잡음 섞인 점 하나에서 가장 그럴듯한 원래 자리의 평균으로 향하는 노란 선분이 그려집니다.

'잡음에서 그림으로'를 누르면 밋밋한 종 모양이 다시 두 봉우리로 갈라집니다. 이 그림의 점들은 결정론적인 흐름을 따르므로 각자 제 출발점으로 돌아갑니다. 실제로 잡음을 더하는 과정은 무작위라서 사진 한 장을 원래대로 되돌릴 수는 없고, 되찾는 것은 사진들의 밀도입니다. 새 잡음에서 출발하면 새 사진이 나옵니다.

남은 문제는 점수를 어디서 얻느냐입니다. 여기서는 p0p_0를 알고 있어서 점수를 정확히 계산했지만, 사진의 밀도는 아무도 모릅니다. 답은 1956년 로빈스가 모리스 트위디에게서 얻었다고 밝힌 공식에 있습니다. 원래 점 x0x_0에 평균 0, 분산 tt인 정규분포 잡음이 더해져 xx가 보였을 때, 원래 점의 조건부 기댓값은

E[ x0∣xt=x ]  =  x+t ∇log⁡pt(x)\mathbb E[\,x_0 \mid x_t = x\,] \;=\; x + t\,\nabla \log p_t(x)

입니다. 노란 점을 끌어 확인해 보세요. 왼쪽의 E[ x0∣xt=x ]\mathbb E[\,x_0 \mid x_t = x\,]는 "잡음 섞인 값이 xx로 보였다는 조건 아래에서, 원래 점 x0x_0의 평균"이라고 읽습니다. 곧 원래 자리를 가장 잘 짐작한 값입니다. 공식은 그 짐작이 '보인 자리 xx에서 점수 쪽으로 tt배만큼 옮긴 곳'이라고 말합니다.

작은 예로 확인해 봅시다. 원래 점들이 평균 0, 분산 1로 퍼져 있고, 분산 t=1t = 1인 잡음이 더해졌다고 합시다. 잡음 섞인 점들은 평균 0, 분산 1+1=21 + 1 = 2로 퍼지고, 그 점수는 −x/2-x/2입니다. x=2x = 2가 보였다면 점수는 −1이고, 공식이 주는 짐작은 2+1×(−1)=12 + 1 \times (-1) = 1입니다. 신호와 잡음의 크기가 같으니, 보인 값 2의 절반만 원래 신호로 믿은 셈입니다.

거꾸로 읽으면, 잡음 섞인 사진에서 깨끗한 사진을 가장 잘 짐작하는 일, 곧 잡음 제거를 배우면 점수를 배운 것입니다. 짐작에서 xx를 빼고 tt로 나누면 점수가 나오니까요. 잡음 제거는 깨끗한 사진에 잡음을 일부러 더해 가며 얼마든지 연습시킬 수 있습니다. 실제 모델들은 잡음을 더하면서 신호를 조금씩 줄이기도 해서 방정식에 항이 하나 더 붙지만, 퍼뜨리는 항은 여전히 라플라시안입니다. 오늘날 이미지와 영상을 만드는 많은 모델이 이 틀 위에 서 있습니다.

2005년 휘베리넨의 점수 맞추기⁠(score matching)⁠와 2011년 뱅상의 잡음 제거 점수 맞추기가 이 길을 닦았고, 2015년 스탠퍼드의 솔딕스타인 등이 비평형 열역학(평형에 이르지 않고 변해 가는 물리계를 다루는 분야)에서 착안한 확산 모델을 내놓았으며, 2020년 버클리의 호, 제인, 아빌이 이를 사진 생성에 쓸 만한 수준으로 끌어올렸습니다.

이 방정식에 이른 사람들은 서로를 알지 못했습니다. 바슐리에의 1900년 박사 논문 「투기의 이론」은 푸앵카레가 심사해 좋은 평을 받았지만, 주제가 파리 증권 거래소의 채권 값이었던 탓에 수학자에게도 경제학자에게도 오래 읽히지 않았습니다. 1950년대 통계학자 레너드 새비지가 이 논문을 찾아 경제학자들에게 알렸고, 폴 새뮤얼슨 등이 이것을 금융 수학의 출발점으로 다시 읽었습니다. 아인슈타인도 1905년 바슐리에를 몰랐고, 폴란드의 마리안 스몰루호프스키는 1906년 따로 같은 결론에 이르렀습니다. 같은 방정식이 증권 거래소의 값, 특허청 직원의 계산, 대학 강의실에서 서로 모른 채 세 번 나온 것입니다.

20세기 이후의 라플라시안. 과학 줄(청록)의 브라운 운동에서 수학 줄(파랑)의 무작위 행보와 디리클레 문제, 피들러의 연결도⁠(connectance)⁠, 사진 처리, 그래프 군집, 그리고 확산 모델까지. 무대가 괴팅겐과 MIT, 오사카, 프라하에서 스탠퍼드와 버클리로 옮겨 갑니다.

10 · 이어지는 길한 식이 이어 주는 곳

이 글의 처음 질문, '왜 이렇게 단순한 연산이 이렇게 많은 곳에 나타나는가'에 이제 답할 수 있습니다. 라플라시안이 이렇게 자주 나타나는 까닭은 이렇습니다. 가장 가까운 이웃하고만, 차이에 비례해, 어느 이웃도 편애하지 않고 주고받는 선형 규칙이라면, 그 규칙은 '이웃과의 차이의 합'의 상수배, 곧 라플라시안일 수밖에 없습니다.

한 단계씩 따져 봅시다. 이웃 ww에게서 받는 양이 차이 uw−uvu_w - u_v에 비례하면, 그 양은 cw(uw−uv)c_w (u_w - u_v)입니다. 어느 이웃도 편애하지 않으니 비례 상수 cwc_w는 모두 같은 cc입니다. 그러면 받는 양의 합은 c∑w(uw−uv)=c×이웃 수×(이웃 평균−나)c \sum_w (u_w - u_v) = c \times \text{이웃 수} \times (\text{이웃 평균} - \text{나})입니다. 격자처럼 이웃 수가 어디서나 같으면 이것은 '이웃 평균 − 나'의 상수배이고, 이웃 수가 제각각인 그래프에서는 4절의 그래프 라플라시안에 상수를 곱한 것입니다. 여기서 선형이란, 온도 차가 두 배면 주고받는 양도 두 배이고, 두 상황을 겹치면 주고받는 양도 더해진다는 뜻입니다.

연속인 공간에서도 같아서, 위치와 방향에 따라 달라지지 않고 상수 함수에는 0을 주는 선형 미분 연산 가운데, 0이 아니면서 차수가 가장 낮은 것은 라플라시안의 상수배뿐입니다(평면이나 공간처럼 2차원 이상에서). 차수는 몇 번 미분하는지입니다. '위치와 방향에 따라 달라지지 않는다'는 어디서나, 어느 쪽으로 돌려 놓아도 같은 규칙이라는 뜻이고, '상수 함수에는 0'은 모든 곳의 온도가 같으면 아무 일도 일어나지 않는다는 뜻입니다. 미분하지 않는 연산, 곧 상수를 곱하는 연산은 상수 함수를 0으로 만들려면 0을 곱해야 하니 탈락합니다. (일계 연산 a⋅∇a \cdot \nabla, 곧 방향 aa로의 기울기는 방향 aa를 편애하므로 탈락합니다.) 그래서 두 번 미분하는 연산이 가장 낮은 차수이고, 그 가운데 방향을 가리지 않는 것은 라플라시안뿐입니다.

열, 확률, 전류, 막의 장력이 모두 그런 규칙을 따릅니다. 이 연산이 이어 주는 길은 다음과 같습니다.

요약. 라플라시안은 '이웃의 평균 − 나'를 재는 연산입니다. 연속인 공간에서는 좌표 방향마다 두 번 미분한 값들의 합 Δu\Delta u이고, 그래프에서는 부호를 바꾼 L=D−AL = D - A입니다. 열방정식은 이 차이만큼 온도가 바뀐다는 식이고, 차이가 모든 곳에서 0인 조화 함수는 최대 원리를 따릅니다. 무작위 행보가 어느 경계에 먼저 닿을 확률, 저항 회로의 전압, 완만한 비누막의 높이가 모두 조화 함수입니다. 아래 첫 식의 ∂2u/∂xi2\partial^2 u / \partial x_i^2는 ii번째 좌표 방향으로만 두 번 미분한 값입니다.

Δu=∑i∂2u∂xi2,(Lu)v=∑w∼v(uv−uw),uTLu=∑변 ab(ua−ub)2\Delta u = \sum_i \frac{\partial^2 u}{\partial x_i^2}, \qquad (Lu)_v = \sum_{w\sim v}(u_v - u_w), \qquad u^{\mathsf T}Lu = \sum_{\text{변 } ab}(u_a - u_b)^2

라플라시안 행렬에서 한 행과 한 열을 지운 행렬식은 신장 트리를 세고, 고유벡터는 북의 모드와 코사인 변환과 그래프를 가르는 피들러 벡터가 됩니다. 열 흐름은 디리클레 에너지의 경사 하강이며, 거꾸로 돌리기 어려운 이 흐름을 점수로 되돌리는 것이 확산 모델입니다.