You need space for that. If you start with clogged storage, there's a good chance that your reprocessing crusher clogging itself up instead of cleaning things up. Even though the expected change is negative, as a random process the maximum fluctuation is the true eventuality.mmmPI wrote: βFri Dec 20, 2024 12:46 amDoesn't change the fact that the recipe isn't affected by crushing productivity and that you will not clog your machine with it eventually no matter how hard you try to generate extra asteroid with it.
Design Challange: Smart Asteroid Processing!
Re: Design Challange: Smart Asteroid Processing!
Re: Design Challange: Smart Asteroid Processing!
No the chance is low initially and it becomes worse very fast to the point of statistical impossibility.h.q.droid wrote: βFri Dec 20, 2024 12:58 am You need space for that. If you start with clogged storage, there's a good chance that your reprocessing crusher clogging itself up instead of cleaning things up. Even though the expected change is negative, as a random process the maximum fluctuation is the true eventuality.
There's (1β0.4)Γ(1β0.2)Γ(1β0.2)=0.6Γ0.8Γ0.8=0.384(1β0.4)Γ(1β0.2)Γ(1β0.2)=0.6Γ0.8Γ0.8=0.384 chances of loosing a chunk
Then
First roll positive, others negative: 0.4Γ0.8Γ0.8=0.256
Second roll positive, others negative: 0.6Γ0.2Γ0.8=0.096
Third roll positive, others negative: 0.6Γ0.8Γ0.2=0.096
So, total probability for exactly one positive roll is: 0.256+0.096+0.096=0.448 chances of just transforming the input into another thing
also
First and second rolls positive, third negative: 0.4Γ0.2Γ0.8=0.064
First and third rolls positive, second negative: 0.4Γ0.8Γ0.2=0.064
Second and third rolls positive, first negative: 0.6Γ0.2Γ0.2=0.024
So, total probability for exactly two positive rolls is: 0.064+0.064+0.024=0.152 chances of +1 chunk
And
All 3 positive , 0.4Γ0.2Γ0.2=0.016 chances of +2 chunk
Those won't change over the game, since no asteroid prod on this recipe. You can run simulation many times, you don't need much space to guarantee no problem ever occur.
Re: Design Challange: Smart Asteroid Processing!
I agree with your probabilities.mmmPI wrote: βFri Dec 20, 2024 1:43 amNo the chance is low initially and it becomes worse very fast to the point of statistical impossibility.h.q.droid wrote: βFri Dec 20, 2024 12:58 am You need space for that. If you start with clogged storage, there's a good chance that your reprocessing crusher clogging itself up instead of cleaning things up. Even though the expected change is negative, as a random process the maximum fluctuation is the true eventuality.
There's (1β0.4)Γ(1β0.2)Γ(1β0.2)=0.6Γ0.8Γ0.8=0.384(1β0.4)Γ(1β0.2)Γ(1β0.2)=0.6Γ0.8Γ0.8=0.384 chances of loosing a chunk
Then
First roll positive, others negative: 0.4Γ0.8Γ0.8=0.256
Second roll positive, others negative: 0.6Γ0.2Γ0.8=0.096
Third roll positive, others negative: 0.6Γ0.8Γ0.2=0.096
So, total probability for exactly one positive roll is: 0.256+0.096+0.096=0.448 chances of just transforming the input into another thing
also
First and second rolls positive, third negative: 0.4Γ0.2Γ0.8=0.064
First and third rolls positive, second negative: 0.4Γ0.8Γ0.2=0.064
Second and third rolls positive, first negative: 0.6Γ0.2Γ0.2=0.024
So, total probability for exactly two positive rolls is: 0.064+0.064+0.024=0.152 chances of +1 chunk
And
All 3 positive , 0.4Γ0.2Γ0.2=0.016 chances of +2 chunk
Those won't change over the game, since no asteroid prod on this recipe. You can run simulation many times, you don't need much space to guarantee no problem ever occur.
I ran 10k simulations. On average it takes 750 cycles to jam a 2-belt buffer (8 asteroids) and ~40k cycles to jam a 4-belt buffer (16 asteroids), both reachable in realistic play times. I think 6 belts are jammable too. Guess the lesson is we need a bigger cache.
Re: Design Challange: Smart Asteroid Processing!
I think this is wrong for at least 2 reasons,h.q.droid wrote: βFri Dec 20, 2024 6:55 am I agree with your probabilities.
I ran 10k simulations. On average it takes 750 cycles to jam a 2-belt buffer (8 asteroids) and ~40k cycles to jam a 4-belt buffer (16 asteroids), both reachable in realistic play times. I think 6 belts are jammable too. Guess the lesson is we need a bigger cache.
1) you can fit 16 asteroids in a 2 belt buffer not 8.
2) it makes no sense to think you are going to do 40K cycle of crusher without touching at all the products and let them pile up "realistically."
- Tesse11ation
- Fast Inserter
- Posts: 204
- Joined: Sat Mar 05, 2016 12:59 am
- Contact:
Re: Design Challange: Smart Asteroid Processing!
Here's my solution.
The asteroid collector is on "set filters" mode. A constant combinator sets a static request for each asteroid. When an asteroid arrives on the input belt for a crusher, an arithmetic combinator reads the belt and cancels the filter until the belt is empty.
Theoretically, this will never jam (although the space station hub will eventually fill with resources).
The asteroid collector is on "set filters" mode. A constant combinator sets a static request for each asteroid. When an asteroid arrives on the input belt for a crusher, an arithmetic combinator reads the belt and cancels the filter until the belt is empty.
Theoretically, this will never jam (although the space station hub will eventually fill with resources).
Galaxy
OS: Win 10 Pro 64-Bit
MOBO: ASUS X570-Plus
CPU: AMD Ryzen 5 3600X (@~3.8 gHz)
GPU: Nvidia RTX 2080
RAM: 32GB DDR4
- Tesse11ation
- Fast Inserter
- Posts: 204
- Joined: Sat Mar 05, 2016 12:59 am
- Contact:
Re: Design Challange: Smart Asteroid Processing!
Also I think it's worth mentioning that OP didn't challenge us to design the smartest, most efficient full stack asteroid crusher. He simply gave us a design challenge with some constraints, which is fun. There's no point to taking part in the challenge if all you're going to do is complain about the Inefficiencies of said challenge.
That being said, I think a more practical challenge would be the following:
You must create a full stack asteroid processing pipeline with the following constraints:
* The machine may not jam at any time (i.e. any and all crushers must be able to work and process asteroids continuously).
* You must have at least one asteroid collector, and at least one crusher. Belts are optional.
Bonus design considerations:
* Asteroid reprocessing, dynamic recipe setting on crushers, and dynamic filters on collectors are encouraged.
* Dumping asteroid chunks into space is allowed, but should only be done to prevent jamming in order to minimize waste.
* Try to collect as many asteroids as you can and only use filters on collectors to prevent jamming. Reprocessing is preferred over filtering.
The winner is scored on the following factors:
* Footprint - how much space does your asteroid processing take up on your platform? (Smaller is better)
* Throughput - what is the sheer volume of asteroids that can be processed at once? (Higher is better)
* Control logic - how many combinators worth of overhead is required for your design to work? (Less is more)
Footprint and throughput are in direct opposition to each other, so we'll fix this problem by scoring them together as a function which is footprint in tiles (F) divided by throughput of asteroids per second (T) for optimal processing (O), or F / T = O.
That being said, I think a more practical challenge would be the following:
You must create a full stack asteroid processing pipeline with the following constraints:
* The machine may not jam at any time (i.e. any and all crushers must be able to work and process asteroids continuously).
* You must have at least one asteroid collector, and at least one crusher. Belts are optional.
Bonus design considerations:
* Asteroid reprocessing, dynamic recipe setting on crushers, and dynamic filters on collectors are encouraged.
* Dumping asteroid chunks into space is allowed, but should only be done to prevent jamming in order to minimize waste.
* Try to collect as many asteroids as you can and only use filters on collectors to prevent jamming. Reprocessing is preferred over filtering.
The winner is scored on the following factors:
* Footprint - how much space does your asteroid processing take up on your platform? (Smaller is better)
* Throughput - what is the sheer volume of asteroids that can be processed at once? (Higher is better)
* Control logic - how many combinators worth of overhead is required for your design to work? (Less is more)
Footprint and throughput are in direct opposition to each other, so we'll fix this problem by scoring them together as a function which is footprint in tiles (F) divided by throughput of asteroids per second (T) for optimal processing (O), or F / T = O.
Galaxy
OS: Win 10 Pro 64-Bit
MOBO: ASUS X570-Plus
CPU: AMD Ryzen 5 3600X (@~3.8 gHz)
GPU: Nvidia RTX 2080
RAM: 32GB DDR4
Re: Design Challange: Smart Asteroid Processing!
There is no best or most efficient solution in general, because results vary according to the game stage and available items/recipes. Do you just want the fastest/smallest setup, no matter the energy cost (speedup) or item availability (quality)? Such solutions are not practical except in the latest game stages.
The challenge definition changes solution designs vastly. What is the intended use for the output? Just fuel production? Or also science production? What recipes are allowed, just the simple crushing recipes or a complete factory with advanced asteroid processing? How's the energy availability? All this defines the required/possible output throughput and output material ratio.
If just fuel production is the goal, asteroid reprocessing just isn't needed, because there's enough asteroids already. If you need very high throughput for a big ship, you might need a completely different concept with advanced recipes and speed boosters instead of the simple recipes.
Also recipe switching. With recipe switching, you reduce the number of crushers, but you need space for the combinators, and you need to make sure the remaining crusher(s) are fast enough to keep up throughput. I once made a nice recipe switching build with just one crusher. On paper, this was optimal by footprint, but actually it wasn't fast enough to keep up throughput. Challenge submissions should be practical and should be usable as driver for a real platform.
In my opinion, if you want a challenge, you should define multiple categories: early space game (just simple recipes for fuel, gun ammo and space science production, no quality), mid space game (what you need for fuel and ammo in a self containing ship to Aquilo, undecided how much quality to allow), end game (all recipes, all quality, focus output volume).
Take this example:
This is optimal in terms of space footprint and actual platform use, but only for the early game and inner planets: It doesn't use any belt and the minimum possible number of inserters. The three tiles used for the long handed inserter filter creator can be replaced by 2 additional inserters moving asteroids from the collector to the hub, using just 2 instead of 3 tiles. But this would make the whole setup not practical any more for real platform use. The given setup can be easily extended with more collectors without much more space footprint and just 1 tile consumed of the precious space around the hub.
But as soon as you unlock the advanced recipes everything changes, because suddenly fuel is quasi unlimited but ammo not, so you need to design a completely different asteroid processing setup.
The challenge definition changes solution designs vastly. What is the intended use for the output? Just fuel production? Or also science production? What recipes are allowed, just the simple crushing recipes or a complete factory with advanced asteroid processing? How's the energy availability? All this defines the required/possible output throughput and output material ratio.
If just fuel production is the goal, asteroid reprocessing just isn't needed, because there's enough asteroids already. If you need very high throughput for a big ship, you might need a completely different concept with advanced recipes and speed boosters instead of the simple recipes.
Also recipe switching. With recipe switching, you reduce the number of crushers, but you need space for the combinators, and you need to make sure the remaining crusher(s) are fast enough to keep up throughput. I once made a nice recipe switching build with just one crusher. On paper, this was optimal by footprint, but actually it wasn't fast enough to keep up throughput. Challenge submissions should be practical and should be usable as driver for a real platform.
In my opinion, if you want a challenge, you should define multiple categories: early space game (just simple recipes for fuel, gun ammo and space science production, no quality), mid space game (what you need for fuel and ammo in a self containing ship to Aquilo, undecided how much quality to allow), end game (all recipes, all quality, focus output volume).
Take this example:
This is optimal in terms of space footprint and actual platform use, but only for the early game and inner planets: It doesn't use any belt and the minimum possible number of inserters. The three tiles used for the long handed inserter filter creator can be replaced by 2 additional inserters moving asteroids from the collector to the hub, using just 2 instead of 3 tiles. But this would make the whole setup not practical any more for real platform use. The given setup can be easily extended with more collectors without much more space footprint and just 1 tile consumed of the precious space around the hub.
But as soon as you unlock the advanced recipes everything changes, because suddenly fuel is quasi unlimited but ammo not, so you need to design a completely different asteroid processing setup.
- Tesse11ation
- Fast Inserter
- Posts: 204
- Joined: Sat Mar 05, 2016 12:59 am
- Contact:
Re: Design Challange: Smart Asteroid Processing!
Why not both? Have multiple crushers that set recipe based on which asteroids are the most abundant, thereby increasing throughput.Tertius wrote: βFri Dec 20, 2024 11:09 am With recipe switching, you reduce the number of crushers, but you need space for the combinators, and you need to make sure the remaining crusher(s) are fast enough to keep up throughput. I once made a nice recipe switching build with just one crusher. On paper, this was optimal by footprint, but actually it wasn't fast enough to keep up throughput.
Galaxy
OS: Win 10 Pro 64-Bit
MOBO: ASUS X570-Plus
CPU: AMD Ryzen 5 3600X (@~3.8 gHz)
GPU: Nvidia RTX 2080
RAM: 32GB DDR4
Re: Design Challange: Smart Asteroid Processing!
I have never had to dump asteroid chunk into space. Why is footprint and throughput considered as being in opposition? Very high throughput may need more control especially on a route with an uneven selection of asteroid types (aqillo comes to mind with excess ice). My end game legendary science vessel has a huge control and belting/routing section on it for various reasons. My simplest first ship into space type thing just has the bare bones of the same patterns.Tesse11ation wrote: βFri Dec 20, 2024 10:15 am Also I think it's worth mentioning that OP didn't challenge us to design the smartest, most efficient full stack asteroid crusher. He simply gave us a design challenge with some constraints, which is fun. There's no point to taking part in the challenge if all you're going to do is complain about the Inefficiencies of said challenge.
That being said, I think a more practical challenge would be the following:
You must create a full stack asteroid processing pipeline with the following constraints:
* The machine may not jam at any time (i.e. any and all crushers must be able to work and process asteroids continuously).
* You must have at least one asteroid collector, and at least one crusher. Belts are optional.
Bonus design considerations:
* Asteroid reprocessing, dynamic recipe setting on crushers, and dynamic filters on collectors are encouraged.
* Dumping asteroid chunks into space is allowed, but should only be done to prevent jamming in order to minimize waste.
* Try to collect as many asteroids as you can and only use filters on collectors to prevent jamming. Reprocessing is preferred over filtering.
The winner is scored on the following factors:
* Footprint - how much space does your asteroid processing take up on your platform? (Smaller is better)
* Throughput - what is the sheer volume of asteroids that can be processed at once? (Higher is better)
* Control logic - how many combinators worth of overhead is required for your design to work? (Less is more)
Footprint and throughput are in direct opposition to each other, so we'll fix this problem by scoring them together as a function which is footprint in tiles (F) divided by throughput of asteroids per second (T) for optimal processing (O), or F / T = O.
Dynamic recipe selection works great in some scenarios but not others (excluding reprocessing which should always be dynamic IMHO).
The throughput that really matters is on the other side of crushers - ie are all of you chemlabs, foundries etc getting the resources they need the instant they need them, or at least at a rate to satisfy whatever is downstream from them?
Are there circumstances for the ship that demand much higher throughput from collector to storage to minimise the time spent out there? (for eg high collection rate promethium science ships).
In cases where the throughput demands on the product side are very high, how do you ensure that crushers can satisfy that demand for eg when the demand is basically one or more stacked green belts).
How to deal with dual product recipes - for eg copper + iron when the demand for either does not match the output ratio of the crusher while also minimising what gets dumped overboard - ie dont dump something when doing so could possibly starve production somewhere?
Do you apply filtering to collector and their inserter? Do they operate off the same filter control/quotas? Why and under what circumstances might they be different?
The broad pattern I most use for my ships would likely fail badly on your measurements and yet works really well across my ships from early game first ship to late game high asteroid chunk and product throughput legendary promethium science ships. Not all element are present on all ships of course due to size constraints, and needs (throughput etc) and researched tech.
Re: Design Challange: Smart Asteroid Processing!
If you want the highest throughput in general, then you probably want direct insert rather than belts being involved.
-
- Burner Inserter
- Posts: 5
- Joined: Mon Dec 23, 2024 11:00 pm
- Contact:
Re: Design Challange: Smart Asteroid Processing!
Correct me if i'm wrong but this isn't related to the size of the platform, any platform can use direct insertion, big or small.
The large platform will have a higher potential throughput because more asteroids will be generated during the travel.
Re: Design Challange: Smart Asteroid Processing!
I don't think it's wrong to say that any platform can use direct insertion, big or small. I think it's fairly obvious that direct insertion builds can have more throughput in the same footprint as less dense build. But i think it's irrelevant in this context because having 2 or 3 or 4 builds with direct insertion stacked together can only increase throughput. Thus quite obviously allowing larger platform to have larger throughput.Shulmeister wrote: βMon Dec 23, 2024 11:28 pm Correct me if i'm wrong but this isn't related to the size of the platform, any platform can use direct insertion, big or small.
The large platform will have a higher potential throughput because more asteroids will be generated during the travel.
More asteroids are generated during the travel for "wider platform" with similar speed. But it doesn't necessarily mean the player will harvest them all with asteroid collector, and it doesn't mean that harvested asteroid won't be thrown overboard later, or even worse processed and then the result is dumped in space. Although i do agree it's another obvious illustration of the relation between footprint and throughput.
-
- Burner Inserter
- Posts: 5
- Joined: Mon Dec 23, 2024 11:00 pm
- Contact:
Re: Design Challange: Smart Asteroid Processing!
Ok, that seem fair.mmmPI wrote: βTue Dec 24, 2024 11:26 am I don't think it's wrong to say that any platform can use direct insertion, big or small. I think it's fairly obvious that direct insertion builds can have more throughput in the same footprint as less dense build. But i think it's irrelevant in this context because having 2 or 3 or 4 builds with direct insertion stacked together can only increase throughput. Thus quite obviously allowing larger platform to have larger throughput.
Re: Design Challange: Smart Asteroid Processing!
I like to keep a buffer of each asteroid type in the collectors.
I have to put a decider at each collector with each < 9 out each to collector filter, and a const with each type going across all the inputs. Then i set filters on the inserter that grabs out asteroids.
Nothing gets thrown over and asteroid shortage on the asteroid sushi is bumped back up quickly by the collector buffer.
The downside is 1x2 tile cost x number of collectors for the deciders. I havent personally found a better setup for the collectors themselves.
Its worth noting that the 1x2 decider footprint would have held less asteroids if it were a belt instead.
I have to put a decider at each collector with each < 9 out each to collector filter, and a const with each type going across all the inputs. Then i set filters on the inserter that grabs out asteroids.
Nothing gets thrown over and asteroid shortage on the asteroid sushi is bumped back up quickly by the collector buffer.
The downside is 1x2 tile cost x number of collectors for the deciders. I havent personally found a better setup for the collectors themselves.
Its worth noting that the 1x2 decider footprint would have held less asteroids if it were a belt instead.