이전 글에서는 알파벳 집합이 , 그 사이즈가
로 정해져있을 때 특정 워드
가 들어가지 않는 길이
의 워드 개수는
의 해들로 표현될 수 있음을 보였다. (
은
의 길이,
는
의 순환주기) 이 특성방정식을
에 대해 미분한 식과 이 식이 공통근을 갖지 않으므로 중근이 없어, 더 정확히 말하자면 이 해들의 거듭제곱의 선형합이라 할 수 있다. 여기서는 구체적으로 어떤 선형합이 되는지를 살펴보기 위해 생성함수(generating function)를 따져보기로 한다.
편의상 를
로 두도록 한다. 또한 편의상
으로 표기한다. 그러면 이전 글에서 워드
가 등장하는 경우의 수는
의
-entry임을 보였다. 이 경우의 수
에 대한 생성함수
는
가 된다. 여기서 분모의 행렬값이 바로 의 특성방정식
가 되고, adj의
-entry는 곧
-cofactor에
을 곱한 값이 된다. 그런데 이
-cofactor는 주대각선이 전부 -1인 triangular matrix의 행렬값, 즉
이 되므로 결국
를 얻는다. 즉 를 포함하는 경우의 수의 생성함수는
가 되고, 포함하지 않는 경우의 수의 생성함수는
가 된다.
이제 여기서 조금 결과를 확장해서, 포함하지 않았으면 하는 워드가 하나가 아니라 둘 이상으로 주어진 경우는 어떻게 되는지에 대해 생각할 수 있다. 사실 이에 대해서는 Guibas와 Odlyzko가 해결한 바가 있다.[1] 여기서는 이 논문의 main theorem에 대해서 증명 없이 설명하고자 한다.
두 워드 에 대해 둘의 상관관계
를 정의한다. 이 상관관계는
의 길이가
이라 할 때 길이
의 0과 1로 이루어진 이진수열로 정의되는데,
의
번째 위치에
를 놓았을 때 둘이 완벽하게 겹치면 이 이진수열의
번째 값을 1, 아니면 0으로 정의한다. 예를 들어 알파벳이 H와 T이고
이면
이며
이다. 이를
진법으로 읽은 결과를
로 표기한다. 이 값은
에 대한 다항식이 되는데 앞에서 잡은 예시에서는 각각
가 된다.
이제 워드의 집합 가 주어져있다고 한다. 여기서
가
의 subword가 되는 경우가 없다고 하고, 이
들을 전부 포함하지 않는 길이
의 워드 개수를
이라 하고, 길이
의 워드 중 맨 마지막에
가 등장하고 이걸 제외하면 모든
들이 등장하지 않는 경우의 수를
이라 한다. 그리고 각각의 생성함수를
으로 두도록 한다. 또한
들의 correlation들로 이루어진 행렬
를 잡는다. 그러면 이
개의 생성함수들은 다음 연립방정식을 만족해야 한다.
이는 앞에서 구한 결과의 일반화인 것을 알 수 있다. 즉 만약 이었으면 이 연립방정식을 풀어
가 되는데, 실은 이 self-correlation
이 바로 앞에서 잡았던
와 일치하게 되는 것.
References
[1] L. J. Guibas and A. M. Odlyzko, “String Overlaps, Pattern Matching, and Nontransitive Games” Journal of Combinatorial Theory, Series A 30, 183-208 (1981). https://core.ac.uk/download/pdf/81142890.pdf