LGV lemma [WIP]

2025. 2. 4. 07:31수학 이론/이산수학

Lindström–Gessel–Viennot lemma는 DAG의 non-intersecting path를 셀 때 사용할 수 있는 공식이다.

G=(V,E)G = (V, E)에서 2n2n개의 정점 a1,,ana_{1}, \cdots, a_{n}, b1,,bnb_{1}, \cdots, b_{n}을 생각하자. 어떤 두 path가 intersecting하다는 것은 둘 사이에 공통된 정점이 있다는 것이다. path tuple P=(P1,,Pn)P = (P_{1}, \cdots, P_{n})에 대해 PiP_{i}aia_{i}bσ(i)b_{\sigma(i)}로 보내고, σ\sigma가 순열이면 이러한 PP를 path system이라고 하자. PP가 non-intersecting이면 non-intersecting path system이라고 부르고, 이들의 집합을 N\mathcal{N}이라고 쓰자.

 

Lemma. (LGV)

p(u,v)p(u, v)uu에서 vv로 가는 서로 다른 경로의 수라고 하자. 이 때 PNsgn(σ)=det(p(ai,bj))\sum_{P \in \mathcal{N}} \mathrm{sgn}(\sigma) = \det( p(a_{i}, b_{j}) ) 이다.

 

Proof. 어떤 순열 σ:[n][n]\sigma : [n] \to [n]aibσ(i)a_{i} \to b_{\sigma(i)} path QiQ_{i}를 생각하자. 가능한 경우는

 

1. σ=id\sigma = \mathrm{id}, non-intersecting (good)

2. intersecting

 

2번 경우에, 어떤 iji \neq j와 intersecting하는 최소의 ii를 찾을 수 있다. 이제 ii와 intersecting하는 jj중에서 최대의 jj를 찾을 수 있다. ii의 정의에 의해 i<ji < j가 된다. 이제 둘이 만나는 정점 중 minmal한 (DAG의 partial order 기준) 정점을 xx라고 하고, QiQ_{i}QjQ_{j}xx 전후로 바꿔주자. 이렇게 얻은 경로들을 QkQ_{k}^{\prime}라고 쓰자. 당연히 ki,jk \neq i, j에 대해서는 Qk=QkQ_{k}^{\prime} = Q_{k}이다.

이 때 QkQ_{k}^{\prime}에 동일한 변환을 가하면 다시 QkQ_{k}가 된다. 즉 이 변환은 involution인데, Q,QQ, Q^{\prime}에 대응되는 σ\sigma의 홀짝성은 정확히 반대가 된다. 따라서 2번의 항을 다 더하면 0이다.

 

1번의 항이 우리가 원하는 좌변의 항과 똑같기 때문에 lemma를 증명할 수 있다.

 

Plane Partition

n×mn \times m 격자의 각 칸에 11 이상 KK 이하의 양의 정수 ai,ja_{i, j} (1in,1jm)(1 \le i \le n, 1 \le j \le m)를 써넣되, 다음 조건을 만족하게 적고 싶다고 하자.

 

1. weakly column-increasing: ai,jai,j+1a_{i, j} \le a_{i, j+1}

2. weakly row-increasing ai,jai+1,ja_{i, j} \le a_{i+1, j}

 

이러한 ai,ja_{i, j}의 개수는 무엇일까?

잘 알려진 대응 중 하나는, 격자에서 PtP_{t}tt 이하의 칸들이라고 할 때, PtP_{t}PtCP_{t}^{C}의 경계선이 up-right path -  row 번호가 감소하고, column 번호가 증가하는 - 를 이룬다는 사실을 이용한다. 이 경로를 S1,,SK1S_{1}, \cdots, S_{K-1}이라고 생각하자. SKS_{K}PKP_{K}가 전체집합이기 때문에 자명하므로 신경쓰지 않아도 된다.

 

이 때 SiS_{i}Si+1S_{i+1}은 "거의 non crossing"이라고 생각할 수 있다. 이 둘은 꼭짓점을 공유할 수 있지만, 공통 간선을 가질 수 없으며 SiS_{i}는 항상 Si+1S_{i+1}보다 위에 있게 된다.

 

기존의 SiS_{i}들이 (n,0)(0,m)(n, 0) \to (0, m)으로 향하는 경로들이라면, SiS_{i}를 동남쪽으로 ii칸 shift한 경로 SiS_{i}^{\prime}(n+i,i)(i,m+i)(n+i, i) \to (i, m+i)로 볼 수 있다. 이들은 놀랍게도 non-intersecting path system을 이룬다. DAG는 그리드에서 자연스럽게 (i,j)(i1,j),(i,j1)(i, j) \to (i-1, j), (i, j-1)로 간선을 이어준 것으로 생각한다.

 

그리고 이 DAG에서 non-intersecting path system은 오직 (n+i,i)(i,m+i)(n+i, i) \to (i, m+i)인 경로들만 가능하다. 즉 σid\sigma \neq id 인 경우는 가능하지 않다. 따라서 우리가 원하는 경우의 수를 LGV formula를 이용하여 바로 얻을 수 있다.

 

행렬의 원소는 (n+i,i)(j,m+j)(n+i, i) \to (j, m+j) 경로의 수이기 때문에 (n+m)!/(n+ij)!(m+ji)!(n + m)! / (n + i - j)! (m + j - i)! 이 된다. 이 determinant는 닫힌 꼴로 얻을 수 있다고 하는데.. 거기까진 잘 모르겠다.

 

det\det가 multilinear하기 때문에 각 간선, 혹은 path 하나에 변수 wi,jw_{i, j}를 집어넣어도 식이 동일하게 성립한다. 이를 이용해서 해결하는 문제로 https://www.acmicpc.net/problem/21265 가 있다.

'수학 이론 > 이산수학' 카테고리의 다른 글

Cayley's theorem in Combinatorics  (2) 2019.12.11
스털링 수와 다항식 기저 변환  (0) 2019.09.17
Pentagonal Number Theorem  (3) 2019.09.16
Ore's theorem & Palmer's algorithm  (0) 2019.08.17
Bessel's Correction (Revised)  (1) 2019.03.27