비의 양과 순서가 반복되면, 물통에 남는 양도 같아질까?

빗물이 먼저 들어오고, 넘친 물을 버린 뒤 일정량을 씁니다. 같은 양과 순서의 비가 반복될 때, 계속 버틸 수 있는 모든 시작량을 찾습니다. 버틸 수 있다면 유입량과 사용량이 같을 때는 여러 양이 반복될 수 있고, 유입량이 더 많을 때는 유한 번의 반복 뒤 하나로 모입니다.

정원 벽 옆 빗물 저장통과 지붕 배수관

이미지: AI 생성 · 수학 이야기

같은 순서로 비가 반복되면, 저장통의 잔량도 결국 하나로 정해질까? 실제 강수량 대신 다음 자체 모형을 사용한다. 정수 n≥1, 사용량 d>0, 용량 C>0을 정한다. n일의 유입량 a₁,…,aₙ은 모두 0 이상인 실수이며, 이 목록을 같은 순서로 끝없이 반복한다. 단위는 모두 같은 물의 양이다. 증발·누수·추가 보충은 없다.

매일 먼저 aᵢ가 들어온다. 용량을 넘은 물은 즉시 사라지고, 그 뒤 d를 사용한다. 사용 직전에 d보다 적으면 그날 공급 실패로 과정이 끝난다. 부족한 양을 다음 날의 비로 나중에 갚는 규칙은 아니다. 주기 첫날 직전의 잔량은 s∈[0,C]다.

q0=s,qi=min⁡(C,qi−1+ai)−d.q_0=s,\qquad q_i=\min(C,q_{i-1}+a_i)-d.

음수 qᵢ는 잔량이 아니라 공급 실패를 나타내는 검사값이다. 처음 실패한 날 뒤에는 실제 과정이 계속되지 않는다.

모든 n,d,aᵢ에서 어떤 C와 s가 끝없이 실패 없이 유지되는지 구하라. 한 주기 뒤에도 같은 s로 돌아오는 모든 시작량도 찾고, 처음에는 달랐던 잔량이 그 반복 상태에 유한한 주기 안에 도달하는지 판정하라. 유입 합이 n d 이상이라는 조건만으로 충분한지도 확인하라. 자체 예 (a₁,a₂,a₃,a₄)=(2,0,2,0), d=1, C=3과 (3,0,3,0), d=1, C=10을 비교하라.

용량을 무시한 누적 순변화를 Pᵢ로 둔다. P₀=0이며 한 주기의 순변화는 T=Pₙ이다. 다음 세 양은 유한한 목록에서 계산한다.

Pi=∑j=1i(aj−d),T=Pn,L=max⁡0≤i≤n(−Pi),B=d+max⁡1≤j≤nPj−T,M=d+max⁡1≤j≤i≤n(Pj−Pi).\begin{gathered} P_i=\sum_{j=1}^{i}(a_j-d),\qquad T=P_n,\\ L=\max_{0\le i\le n}(-P_i),\\ B=d+\max_{1\le j\le n}P_j-T,\\ M=d+\max_{1\le j\le i\le n}(P_j-P_i). \end{gathered}

P₀=0을 포함했으므로 L≥0이다. j=n을 넣으면 B≥d이고, i=n인 항들이 M의 후보에 있으므로 M≥B다.

한 단계는 qᵢ=min(qᵢ₋₁+aᵢ−d,C−d)다. 최소값에 같은 수를 더하는 연산을 반복하면, 모든 접두구간의 검사값은 다음과 같다.

qi=min⁡(s+Pi, C−d+Pi−max⁡1≤j≤iPj).q_i=\min\left(s+P_i,\ C-d+P_i-\max_{1\le j\le i}P_j\right).

첫 단계에서 성립한다. 이전 식의 두 항에 aᵢ−d를 더하고 새 후보 C−d를 넣으면, 이전의 j들과 새 j=i를 합친 최대값이 되므로 귀납으로 성립한다. 이 식은 음수 검사값도 형식적으로 계산할 수 있지만, 공급 가능성에서는 첫 음수가 있는지만 판단한다.

한 주기를 모두 버틸 필요충분조건은 모든 qᵢ≥0이다. 첫 항들의 조건은 s≥L, 둘째 항들의 조건은 C≥M이다. 두 조건은 각 최소값의 모든 후보가 비음수라는 것과 같으므로 충분성도 따른다. 이 조건 아래 한 주기 대응 F는 다음 식이다.

F(s)=min⁡(s+T,C−B).F(s)=\min(s+T,C-B).

이제 무한 반복을 판정한다. T<0이면 매 주기 뒤의 잔량은 시작량에 T를 더한 값 이하다. r주기 뒤에는 s+rT 이하이고 이것은 결국 음수가 되므로 어떤 유한 C와 s도 끝없이 버틸 수 없다.

T≥0일 때 p=C−B라 쓰자. 첫 주기의 s≥L,C≥M에 더해, 다음 주기의 시작량도 L 이상이어야 한다. F(s)≤p이므로 p<L이면 늦어도 두 번째 주기에 실패한다. 반대로 p≥L이면 s≥L에서 s+T≥L이고 p≥L이므로 F(s)≥L이다. F(s)≤C이고, 매 주기 같은 조건을 귀납적으로 유지한다. 따라서 끝없이 유지 가능한 필요충분조건은 다음과 같다.

T≥0,C≥max⁡(M,B+L),L≤s≤C.T\ge0,\qquad C\ge\max(M,B+L),\qquad L\le s\le C.

T≥0에서 필요한 최소 용량은 C*=max(M,B+L)이다. T<0에서는 유한한 최소 용량 자체가 없다. 유입 합만 비교하면 C와 초기량의 조건을 빠뜨린다.

이하에서는 위 무한 유지 조건이 성립한다고 가정한다. T=0이면 F(s)=min(s,p)다. 같은 시작량으로 돌아오는 s는 [L,p] 전체다. 이 구간은 한 점일 수도 있고 길이를 가진 구간일 수도 있다. s>p에서 시작하면 첫 주기 뒤 p가 되고, s≤p이면 처음부터 반복된다. 반복 상태가 존재한다는 사실만으로 그 상태가 유일하지는 않다.

T>0이면 F(s)=s를 만족하는 값은 p 하나다. s<p일 때는 매 주기 T씩 늘되 p를 넘기 전에 잘리고, s>p이면 한 번에 p가 된다. r≥1에서 주기 끝 잔량은 min(s+rT,p)다. p보다 작게 시작한 경우에는 ceil((p−s)/T)주기 뒤 처음 p가 된다. s=p면 처음부터, s>p면 한 주기 뒤다. 이 도달은 극한에서만 일어나는 접근이 아니다. 같은 주기 시작량을 얻으면 뒤의 각 날 잔량도 같은 규칙으로 반복된다.

첫 예는 P=(0,1,0,1,0), T=0,L=0,B=M=2다. C=3이므로 p=1이며 모든 s∈[0,3]가 유지되지만 주기 시작량이 그대로 반복되는 범위는 [0,1]이다. 둘째는 P=(0,2,1,3,2), T=2,L=0,B=M=2다. C=10이면 p=8이며 모든 시작량이 결국 8의 반복 상태에 유한하게 도달한다. s=0이면 주기 끝 잔량은 2,4,6,8이다.

첫 예에서 s=0과 s=1은 같은 비와 같은 사용량을 거쳐도 서로 다른 잔량으로 되돌아온다. 반면 둘째 예는 같은 규칙을 반복하면 이전 시작량의 차이가 사라진다. 이 차이를 “물통은 늘 가득 차는 쪽으로 안정된다”라는 말로 덮지 말고, 한 주기 대응의 항등 구간과 상수 구간을 확인한다.

교사는 한 주기의 유입 합, 한 주기를 버티는 조건, 무한 반복의 조건을 따로 적게 한다. 합이 충분해도 처음의 마른 날을 버틸 시작량이 없거나, 넘친 뒤의 마른 날을 버틸 용량이 없으면 실패한다. 마지막에는 T=0의 반복 상태가 여러 개일 조건 p>L과, p=L의 한 점 경계를 비교하게 한다. 제공 교재의 함수·항등함수·상수함수는 대응을 설명하는 용어이며, 저장통의 전체 조건을 교재에서 가져온 것은 아니다.

착안: U.S. EPA, Soak Up the Rain: Rain Barrels. 원문에서 지붕의 빗물을 모아 나중에 쓴다는 사물 배경만 참고했다. 유입 목록·먼저 유입하고 나중에 사용하는 순서·고정 사용량·용량 제한과 전체 초기량 분류는 자체 교육용 모형이다. 실제 강수 자료, 설치 성능, 수질이나 안전을 검증한 결과는 아니다.