Split output from one conveyor belt equally to five other conveyor belts.

891 Views Asked by At

I was asked a question about the game "Satisfactory" and how to split an output into $5$ equal parts using "splitters" with one input and 2-3 outputs and mergers that accept 2-3 inputs.

A splitter accepts input from one conveyor belt and its output feeds two or three other conveyor belts. A merger accepts input from two or three conveyor belts and its output feeds a single conveyor belt.

$$\frac{a}{2}+\frac{b}{3}=\frac{c}{5} \implies c = \frac{5 a}{2} + \frac{5 b}{3}$$

I'm out of ideas. I'm beginning to think it's not possible. How do I split something into $5$ equal parts when I can only split/merge things by $2$s or $3$s?

1

There are 1 best solutions below

0
On

There's a simple way to solve this problem. As noted in the comments, there are no integer solutions to

$$2^x3^y=5^z$$

due to the fundamental theorem of arithmetic, so it's impossible to represent $\frac15$ using finite sums of multiples of $\frac12$ and $\frac13$.

However, we can "cheat" by using the sum of the geometric progression: $$\frac15 = \frac16 + \frac1{36} + \frac1{216} + \frac1{1296} + \dots$$

We can implement this with the mergers and splitters by using one 3-splitter and three 2-splitters to do a 6-way split, then feed one of those outputs back into the input stream. Here's a diagram:

merger and splitter graph

  • src: the source
  • m2: 2-way merger
  • s3: 3-way splitter
  • s2a, s2b, s2c: 2-way splitters
  • o1-o5: the outputs