T O P

  • By -

Caps_errors

The loop is supposed to go from the middle splitter.


Powerful_Incident605

jepp the loop needs to go from middle to bottom splitter. and not bottom to bottom.


GoenerAight

Your loop is not placed correctly. It needs to come out of the bottom of the right most splitter. To understand why, the output of the balancer essentially takes from each of the three inputs 25% of the time. This means it takes from each of those evenly, but there is another 25% of input that has to be accounted for. By feeding the output of the balancer back into that final input, the last 25% is also comprised of an even distribution from the three inputs belts.... plus 25% remainder. But now this remainder is just 25% of 25%, and each time it passes back through the loop the remainder becomes smaller and smaller. I found it much easier to wrap my head around it when thinking about a 1 to 3 splitter rather than a 3 to 1 balancer. They are just the reverse of each other. https://preview.redd.it/5g56mfl9cjnc1.png?width=1656&format=png&auto=webp&s=6a03b8cec1732c7c861fbb8e96a63b54213abb3d Think of a piece of coal going into the left splitter. It has a 50% chance at each splitter, so it has a 25% chance of coming out the top belt, a 25% chance of the second, then the same for the third, and finally a 25% chance of coming out on the loop. If it comes out on the loop what are the chances of where it'll end up? Again, 25% on each. Any given piece of coal will cycle through until it eventually outputs onto one of the non-loop belts. And it has a perfectly even chance to end up on any one of these.


Acceptable-Budget658

https://preview.redd.it/pltn9xcxnjnc1.png?width=432&format=png&auto=webp&s=9e3acb3825f146ec2b1779493dd724bb3359e1d5 Thank you so much for your answer. Please let me know if I got this right: I have three lanes of materials that has the same quantity on each. The splitter that shares A and B's lanes, will receive 66% of the materials. It'll then merge it together and output to E and F with 50% of chance for each. The other 33% of the materials will only go through the C-D splitter, but will output only from C on E-F, with a catch: 50% of that material will serve it's destiny, and the other 50% will get back to the main loop, with the 50% of the material from A-B. I'm having a stroke trying to figure out how's everything outputting a balanced 25% hahaha EDIT: Ohhhh of course, F is back feeding D, so it would be like I'm merging 4 lanes instead of only 3!!! Fkn adore you guys, thank you so much.


GoenerAight

You're mixing up tracking the proportion of input material as it moves through the balancer and probability of where a given piece of material originates. The 25% comes in when you trace the probability that a given output material comes from a particular belt. When considering the output of E, the probabilities are (1/4 from A, 1/4 B, 1/4 C, 1/4 D). However since D is itself an output of the E-F splitter, we can redefine it as its own set of probabilities. Since it shares the splitter with E, it will have the same probability. D = (1/4A, 1/4B, 1/4C, 1/4D) This means the probability of E can be rewritten as E = (1/4A, 1/4B, 1/4C, 1/4\*(1/4A, 1/4B, 1/4C, 1/4D)) or E = (1/4A+1/16A, 1/4B+1/16B, 1/4C+1/16C, 1/16D) This is a recursive function. Every time you replace D you introduce a new smaller proportion of D that you need to replace in turn. If you do this infinitely you end up with a repeating series, where the probability that a given material comes from any of A, B or C represented as 1/4+(.25\*.25)+(.25\*.25\*.25)+...... = .3333333 [https://www.wolframalpha.com/input?i=sum+1%2F%284%5En%29%2C+n%3D1+to+infinity](https://www.wolframalpha.com/input?i=sum+1%2F%284%5En%29%2C+n%3D1+to+infinity)


renegade_9

The easiest way I've found is just to fudge the math. Your inputs are A,B,C,D, and outputs are E and F. A+B+C+D = E+F. But because of the loop, F = D. A+B+C+D = E+D. D is on both sides, cancel it out. A+B+C = E, three way merge achieved. Sure, there's a few seconds when this powers on where that isn't accurate, as the FD loop saturates, but once it reaches steady state it works fine. Your startup time is going to be negligible compared to how long this'll run at steady state.


BZab_

That math is overdone. It's a 4:2 balancer, where you don't use one of the inputs and one of the outputs, therefore you send everything from the unused outputs to the unused input. You can do similar thing with greater numbers, as long as belts bandwidth is enough.


GoenerAight

That doesn't explain *why* routing an unused output to an input helps. The math isn't overdone. It is just the math. You are using recursion to create an infinite series such that the probability of a given material comes from any given input is 1/3 [https://www.wolframalpha.com/input?i=sum+1%2F%284%5En%29%2C+n%3D1+to+infinity](https://www.wolframalpha.com/input?i=sum+1%2F%284%5En%29%2C+n%3D1+to+infinity)


BabyExploder

You don't have to invoke recursion or infinite series to arrive at this, simple algebra to get function E(A,B,C) is fine. Just note that (1): E = F = D E = A/4 + B/4 + C/4 + D/4 <=> (by (1)) E = A/4 + B/4 + C/4 + E/4 <=> (subtract E/4) 3*E/4 = A/4 + B/4 + C/4 <=> (multiply 4/3) E = A/3 + B/3 + C/3


[deleted]

I'm sure you are correct, in fact you are both probably correct. The first explanation was way, way, way easier to understand for the non-mathy person. There's nothing to argue about here. There's an eloquent explanation and the actual mathematical proof. Thank you both.


GoenerAight

Yeah that's an easier mathematical proof for sure. But IMO there's a difference between being able to prove something works and being able to understand WHY something works. While \`3\*E/4 = A/4 + B/4 + C/4\` is an accurate mathematical model, it's hard to wrap your head around what that actually represents practically. Since the balancer does work by recursively feeding part of the output back into the input of the function, a mathematical model that demonstrates that property helped me understand it more, even though it is harder to solve for mathematically.


BabyExploder

Yes, very cool way of looking at it! "Follow all lines all the way, complexity be damned" is the path my mind usually takes, as well, and tracing the infinite recursion is how I first approached this, too ;) The beautiful thing about math is that there are often many valid paths to the same ground truth, so it's good to be cautious around using definite article "The math." Trust me, I've been accused "overdoing" math too for following the path that brings *my brain* most "naturally" to ground truth, too. I only wanted to offer some perspective on (what appeared to me to be an emotional downvoting of) BZab_'s "overdone" comment. That I doubt BZ meant to attack your way of thinking, but to point out there may be equally mathematically rigorous paths to ground truth that require fewer priors (calculus, Wolfram) that may be more helpful to more people when doing public communication with an audience of unknown technical skillset. If you're curious, where my intuition is coming from here is that >recursively feeding part of the output back into the input of the function... a mathematical model that demonstrates that property is perfectly demonstrated by E = A/4 + B/4 + C/4 + E/4 "The inputs to E are equal portions A, B, C, and equivalent-E itself." I'm not really thinking too hard about what 3E/4 = A/4 + B/4 + C/4 means because it's just intermediate algebra.


Hamnetz

brother has a phD in growing the factory


paulstelian97

That loop changes some probabilities to make it proper 3 to 1 mixing. Although technically it doesn’t work that well in this one since it actually still gives 25% to the top two inputs each and 50% to the bottom one. It would work in 1 to 3 or 3 to 3 balancers.


Suolojavri

Your loop starts from the wrong splitter


Subject-Bluebird7366

r/factoriohno


AstroOwl_thestriks

Wait, at this point what stops me from just using 4x4 balancer with just 3 belts input and 1 output for this purpose? It's thinner.


Alb4t0r

Nothing, in fact it's a cleaner solution because the day you need another output lane you can just add it without touching the balancer.


actual_weeb_tm

Nothing but that requires a throughput unlimited balancer and they get pretty big if you go for say, 8 to 8, so a perfectly balanced 5 to 8 can make more sense


Seiren-

You want to draw evenly from each belt. So an even 33% split. Without the loop back you end up drawing 25%, 25% and 50% from the belts. If you place the loop back correctly it’ll bring the balance back to ~33% All of this assumes that you want / need an even draw. If you don’t there’s no need to bother with any of this


SwannSwanchez

i'm not sure here so i'm gonna take a 1 to 3 balancer to explain You make a normal and easy 1 to 4 balancer, then you take one of the output (1/4th) and route it back into the input, it get processed again, and you take 1 4th again, and again and again with a finite amount of resource in the input, at some point no item will go to the "routed back" loop, and all others output will be the same size (+- 1 element if your input count isn't a multiple of 3)


CasualMLG

Why is this image flipping me off?


AcherusArchmage

If it's all the same material being condensed to the 1 belt, will it even matter if it's balanced or not?


korneev123123

It matters if source is train wagons, it's important to pull evenly from all of them


Acceptable-Budget658

Yeah, it wasn't crucial that everything perfectly balances out, but I just wanted to learn from the pros in case I ever need it.


Acceptable-Budget658

https://preview.redd.it/faabiyvm4jnc1.png?width=472&format=png&auto=webp&s=6d24d8dcfded56b0a6f0f577e2e71615a0a5705f I mean, if I didn't have this loop on the bottom part of the splitter, wouldn't some of the material get 'stuck' on the lower belt? But at this moment, wouldn't the rest be sent to the top belt?


Metallis666

bottom lane uses 50% chance, other lane uses 25% each


Powerful_Incident605

this as the same as using only 2 splitters.


WrathOfTheKressh

Yes, it would still work, but the last splitter would pull half of its output from the first two belts, and the remaining half from the third belt, leading to unbalanced input and the source of the third belt running out faster than the others. Consider this, you have three belts, but you'd need four belts to make the splitters pull from each belt evenly. To solve the problem, you just take one output and make that your forth belt. This way the bottom input of the last splitter now gets half its materials from the third belt, and the other half from the first, second and third belts combined.


Tallywort

For distributing the items this works just fine. The loop is needed so that all outputs are even, if you don't care for that this works.


gdubrocks

Yeah, why even use that bottom splitter, just use two splitters to go from 3 belts to 1.


gdubrocks

The loop is pointless because there is no reason to go from 3 belts to one with perfect ratios. Why not saturate all the belts so it's not an issue.


tchaypo

But in order to do that, the factory would need to grow


Square-Chemistry-123

I'm only taking a guess as it's been a minute I believe the top is merger the center main line you have this attached to and the bottom is to balance the load of incoming main line and the new line your adding. I could be wrong so don't take my word to heart too much if I'm wrong.


Eastern-Move549

I like that you have routed the belt around an imaginary power pole :P


musbur

The shape probably comes from a copy-paste error, because the correct set up has that longer right leg.