(밸런서가 무엇인지, 왜 쓰는지에 대한 설명은 생략함.)


알 사람은 다 알 만한 밸런서 개념 정리임.


사실 내가 혼자 생각해보고 정리한 내용이라 틀릴 수도 있고, 비효율적일 수도 있고, 이것보다 더 좋게 정리한 글을 알고있으면 보기 안좋을 수도 있는데


갤에서 밸런서의 원리를 자세히 설명한 글을 못찾기도 했고


글리젠이 너무 적어서 슬픈 김에 전부터 정리하고 싶었던 내용을 정리해봤음.


누군가한테는 너무 당연한 이야기일 수도 있는데


나는 정리하기 전까지 밸런서의 작동 원리를 이해 못했어서


나같이 궁금해하는 사람들이 또 있을까봐 한번 정리해봄.


나름 열심히 정리했다지만 결국 뇌피셜이기 때문에 지적 환영.









여기서는 4-4 밸런서를 중심으로 밸런서, 그리고 언리미티드 밸런서의 작동 원리를 정리해볼거임.


여기서 쓰는 모든 사진은 언리미티드 밸런서 념글에서 퍼온 것임을 미리 밝힘.





이젠 쓸일 없는 기본 4-4 밸런서이다.

여기서 앞에 분배기 2개만 더 붙이면 언리미티드 밸런서가 됨. 작동 모습은 위의 글 참조.

이번에는 분석을 위해 각각의 입력, 분배기, 출력을 문자로 표시해볼거임.





위의 세팅을 기본으로

분배기 양쪽 입력 분배기 분배기 한쪽 출력

위와 같은 형식으로 정리해볼거임.



a, b A (a+b)/2

c, d B (c+d)/2


(a+b)/2, (c+d)/2 ▶ C ▶ (a+b+c+d)/4 = α2, α3

(a+b)/2, (c+d)/2 D (a+b+c+d)/4 = α1, α4

α1 = α2 = α3 = α4 = (a+b+c+d)/4



정리 결과를 보면, 모든 입력이 모든 출력에 고르게 분배되는 것 처럼 보인다.





근데 위 짤에서 볼 수 있듯이 입력이 a, b에만 있고, α2와 α3으로 가는 출력이 막히면 α1, α4 로 아이템이 원활하게 흐르지 않는 것이 보임.





그런데 사진과 같이 출력 부분에 밸런서 2개만 더 추가하면 위의 상황이 방지된다.

왜 그런지 이해하기 위해 이번에는 분배기A의 왼쪽 출력을 A1, 오른쪽 출력을 A2로 나누는 식으로 다시 정리해보자.






a, b A [A1, A2] ( = (a+b)/2 )

c, d B [B1, B2] ( = (c+d)/2 )

[A2, B1] C [C1, C2] ( = (A2+B1)/2 ) = α2, α3

[A1, B2] D [D1, D2] ( = (A1+B2)/2 ) = α1, α4



보다시피 분배기 C, D까지만 보면

α2, α3는 A2, B1에만,

α1, α4는 A1, B2에만 영향을 받는 걸 알 수 있음.


이게 왜 중요하냐면

분배기는 2군데의 입력을 2군데의 출력에 균등하게 분배해주지만

한쪽 출력이 막히면 당연히 두 입력이 막히지 않은 출력으로 몰리기 때문.

그래서 분배기의 양쪽을 나눠서 정리해본 것임.





위의 움짤 상황에서

분배기C는 α2, α3

분배기D는 α1, α4에 출력을 전달하는데

α2, α3이 막혀서 분배기 C가 무용지물이 되어버리고

위에서 증명했듯이 분배기 C와 D는 독립되어있기 때문에

분배기 C로 가는 입력이 완전히 막혀서

출력이 입력의 절반이 되어버리는 것.


우리가 밸런서에 원하는 결과는

입력에 a의 물류가 들어왔을 때

a 만큼의 물류를 최대한 많이, 내보낼 수 있는 모든 출력 라인에 막힘없이 고르게 분배하는 것임.


4-4 밸런서로 생각해보자.

만약 입력 2라인에서만 물류가 들어오는데

출력 2라인이 꽉차고 나머지 2라인이 완전히 비어있다면

어디가 됐든지 남아있는 출력 2라인에 입력 2라인이 모두 균일하게 들어가야함.


기본 4-4 분배기는 얼핏 봐서는 4개의 입력이 출력으로 균등하게 분배된 것 처럼 보이지만,

사실 한개의 출력이 두개의 입력에만 영향을 받고있음.

그래서 출력이 막혔을 때 입력이 나머지로 제대로 분배가 되지 않는 경우가 생기는 것임.


말을 잘 못해서 좀 어렵게 쓴 것 같은데, 실제 사례로 한번 보자.






면적도 작고, 만들기도 쉬워서 팩토리오 유저의 필수소양이 된 4-4 언리미티드 밸런서임.

아까 한 정리에 E, F 밸런서를 추가해보자.



[D1, C1] E [E1, E2] ( = (A1+A2+B1+B2)/4 ) = α1, α2

[C2, D2] F [F1, F2] ( = (A1+A2+B1+B2)/4 ) = α3, α4


따라서 E, F 밸런서가 추가되면서,

α1 = α2 = α3 = α4 = (A1+A2+B1+B2)/4 = (a+b+c+d)/4 이므로 밸런서의 기능은 여전히 충족하고, 모든 출력이 모든 입력의 영향을 받고 있음.


여기서 다시 한 번 a, b에만 입력이 있고 α2와 α3이 꽉 찬 상황을 생각해보자.


분배기 E가 α1, α2로 출력을 보내고

분배기 F가 α3, α4로 출력을 보내기 때문에

α2가 막히면 α2로 가는 출력이 α1로 몰리고

α3가 막히면 α3로 가는 출력이 α4로 몰리게 됨.


따라서 α1로 가는 출력은 α1+α2 = (A1+A2+B1+B2)/2

α4 또한 α4+α3 = (A1+A2+B1+B2)/2 가 됨.


여기서 a, b에만 입력이 있으므로 B1 = B2 = 0

따라서 α1+α4 = A1+A2 = a+b로

입력의 총합(a+b)과 출력의 총합(a+b)이 같아짐.


만약 분배기 E의 출력인 α1, α2가 막히더라도

F의 출력인 α3, α4가 A1, A2, B1, B2에 전부 영향을 받고 있기 때문에

알아서 저쪽으로 분배된다.


물론 벨트의 운송량 한계를 뛰어넘는 효율은 당연히 낼 수 없음.

모든 벨트의 티어가 같으면, 4라인 풀벨트로 들어오는 아이템이 3라인으로 막힘없이 전부 나가는 마법은 부릴 수 없다는 이야기.








어쨌든 결론


밸런서를 쓸거면 되도록 언리미티드 밸런서를 쓰자.


끝.