切换语言: Deutsch English Nederlands Polska Русский

Balancer mechanics/zh: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(translate from en page, to support guide from MainPage)
 
m (change splitter to splitters)
Line 7: Line 7:


[[File:Balancer_Mechanics1.png|thumb|200px|right|一条满载的输入传送带被分成两条 50% 运量的传送带,再被分成 4 条 25% 运量的。]]
[[File:Balancer_Mechanics1.png|thumb|200px|right|一条满载的输入传送带被分成两条 50% 运量的传送带,再被分成 4 条 25% 运量的。]]
传送带{{Translation|Balancers}}利用{{L|Splitter}} 1:1 地分配给输出{{L|Transport belt}}的机制。一个{{Translation|Splitter}}向两个{{Translation|Transport belt}}等量输出物品。因为这种操作可以无限地重复下去,2<sup>n</sup> 个输出的均衡器很容易构造。{{clear}}
传送带{{Translation|Balancers}}利用{{L|Splitters}} 1:1 地分配给输出{{L|Transport belt}}的机制。一个{{Translation|Splitters}}向两个{{Translation|Transport belt}}等量输出物品。因为这种操作可以无限地重复下去,2<sup>n</sup> 个输出的均衡器很容易构造。{{clear}}


[[File:Balancer_Mechanics2b.png|thumb|450px|right|A 和 B 首先经过{{Translation|Splitter}},输出两条包含等量物品的来自 (AB) 的{{Translation|Transport belts}}。CD 也一样。然后混合{{Translation|Transport belts}} AB 和 CD 经过{{Translation|Splitter}},输出{{Translation|Transport belts}}就运载了等量来自所有输入的物品 (ABCD)!]]
[[File:Balancer_Mechanics2b.png|thumb|450px|right|A 和 B 首先经过{{Translation|Splitters}},输出两条包含等量物品的来自 (AB) 的{{Translation|Transport belts}}。CD 也一样。然后混合{{Translation|Transport belts}} AB 和 CD 经过{{Translation|Splitters}},输出{{Translation|Transport belts}}就运载了等量来自所有输入的物品 (ABCD)!]]
{{Translation|Balancers}}也利用{{L|Splitter}}的从两侧输入等量获取物品的机制。即{{Translation|Splitter}}会从相连的两条输入{{Translation|Transport belts}}等量分配物品到两条输出{{Translation|Transport belts}}上。要想均衡,就要保证输出{{Translation|Transport belts}}等量包含了来自每个输入{{Translation|Transport belts}}的物品。{{clear}}
{{Translation|Balancers}}也利用{{L|Splitters}}的从两侧输入等量获取物品的机制。即{{Translation|Splitters}}会从相连的两条输入{{Translation|Transport belts}}等量分配物品到两条输出{{Translation|Transport belts}}上。要想均衡,就要保证输出{{Translation|Transport belts}}等量包含了来自每个输入{{Translation|Transport belts}}的物品。{{clear}}


=== 流量 ===
=== 流量 ===
Line 18: Line 18:
#任意数量的输入{{Translation|Transport belts}}均可以去往任意数量的输出{{Translation|Transport belts}}。
#任意数量的输入{{Translation|Transport belts}}均可以去往任意数量的输出{{Translation|Transport belts}}。


{{Translation|Balancers}}常因内部的瓶颈无法满足第二条。右侧的动图表示了 2 条{{Translation|Transport belts}}供给的 4 &rarr; 4 {{Translation|Balancers}},然而仅有一条{{Translation|Transport belts}}在输出意味着此布局下,流量只能达到 50% 。这个{{Translation|Balancers}}的瓶颈在两个中间的{{Translation|Transport belts}}只能从一个{{Translation|Splitter}}获取输入。因此如动图所示,如果{{Translation|Splitter}}只有一侧获取输入,这个{{Translation|Balancers}}只有一条{{Translation|Transport belts}}的运力,即使其输入侧供给了两条满载{{Translation|Transport belts}}。在此情况下,使用更多的{{Translation|Splitter}}来供给中间的两条输出{{Translation|Transport belts}}可以抵消瓶颈。比如在均衡器最后加入两个额外的{{Translation|Splitter}},如图:[[File:4to4_balancer.png|center|125px]]
{{Translation|Balancers}}常因内部的瓶颈无法满足第二条。右侧的动图表示了 2 条{{Translation|Transport belts}}供给的 4 &rarr; 4 {{Translation|Balancers}},然而仅有一条{{Translation|Transport belts}}在输出意味着此布局下,流量只能达到 50% 。这个{{Translation|Balancers}}的瓶颈在两个中间的{{Translation|Transport belts}}只能从一个{{Translation|Splitters}}获取输入。因此如动图所示,如果{{Translation|Splitters}}只有一侧获取输入,这个{{Translation|Balancers}}只有一条{{Translation|Transport belts}}的运力,即使其输入侧供给了两条满载{{Translation|Transport belts}}。在此情况下,使用更多的{{Translation|Splitters}}来供给中间的两条输出{{Translation|Transport belts}}可以抵消瓶颈。比如在均衡器最后加入两个额外的{{Translation|Splitters}},如图:[[File:4to4_balancer.png|center|125px]]


然而大多{{Translation|Balancers}}的瓶颈无法这样简单地解决。一个确保{{Translation|Balancers}}流量不受限(满载下 100% 运力)的方法是将两个满足条件 1 的{{Translation|Balancers}}背对背放置。这样为流量不受限修正过的{{Translation|Balancers}}通常要比初始设计的大一些。这是因为这样设计的一个流量不受限的{{Translation|Balancers}}所需的{{Translation|Splitter}}要比最小需求量多一些。对于 n &rarr; n 的{{Translation|Balancers}},若 n 是 2 的幂,可以用 {{Key|n×log<sub>2</sub>(n)−n÷2}} 计算所需的{{Translation|Splitter}}数量。这个公式基于[[WIKIPEDIA:Clos_network#Bene%C5%A1_network_(m_=_n_=_2)|Beneš 网络]]的节点数,其实质上等同于一个流量不受限的{{Translation|Balancers}} — 允许任一输入到达任一输出。
然而大多{{Translation|Balancers}}的瓶颈无法这样简单地解决。一个确保{{Translation|Balancers}}流量不受限(满载下 100% 运力)的方法是将两个满足条件 1 的{{Translation|Balancers}}背对背放置。这样为流量不受限修正过的{{Translation|Balancers}}通常要比初始设计的大一些。这是因为这样设计的一个流量不受限的{{Translation|Balancers}}所需的{{Translation|Splitters}}要比最小需求量多一些。对于 n &rarr; n 的{{Translation|Balancers}},若 n 是 2 的幂,可以用 {{Key|n×log<sub>2</sub>(n)−n÷2}} 计算所需的{{Translation|Splitters}}数量。这个公式基于[[WIKIPEDIA:Clos_network#Bene%C5%A1_network_(m_=_n_=_2)|Beneš 网络]]的节点数,其实质上等同于一个流量不受限的{{Translation|Balancers}} — 允许任一输入到达任一输出。
{{clear}}
{{clear}}



Revision as of 03:37, 26 November 2019

均衡分配机用于向多个传送带或多个线路等量分配物品。

均衡分配机从所有的输入传送带/线路等量输入物品。同时向所有的输出传送带/线路等量输出。也就是说,均衡分配机应是平衡地输入与输出。

传送带均衡分配机

一条满载的输入传送带被分成两条 50% 运量的传送带,再被分成 4 条 25% 运量的。

传送带均衡分配机利用分流器 1:1 地分配给输出基础传送带的机制。一个分流器向两个基础传送带等量输出物品。因为这种操作可以无限地重复下去,2n 个输出的均衡器很容易构造。

A 和 B 首先经过分流器,输出两条包含等量物品的来自 (AB) 的传送带。CD 也一样。然后混合传送带 AB 和 CD 经过分流器,输出传送带就运载了等量来自所有输入的物品 (ABCD)!

均衡分配机也利用分流器的从两侧输入等量获取物品的机制。即分流器会从相连的两条输入传送带等量分配物品到两条输出传送带上。要想均衡,就要保证输出传送带等量包含了来自每个输入传送带的物品。

流量

4to4 balancer throughput limit demo.gif

流量受限的均衡分配机在存在输出受阻的情况下达不到最大吞吐量。要想流量受限,均衡分配机必须完全满足以下条件:

  1. 100% 流量满载。
  2. 任意数量的输入传送带均可以去往任意数量的输出传送带。

均衡分配机常因内部的瓶颈无法满足第二条。右侧的动图表示了 2 条传送带供给的 4 → 4 均衡分配机,然而仅有一条传送带在输出意味着此布局下,流量只能达到 50% 。这个均衡分配机的瓶颈在两个中间的传送带只能从一个分流器获取输入。因此如动图所示,如果分流器只有一侧获取输入,这个均衡分配机只有一条传送带的运力,即使其输入侧供给了两条满载传送带。在此情况下,使用更多的分流器来供给中间的两条输出传送带可以抵消瓶颈。比如在均衡器最后加入两个额外的分流器,如图:

4to4 balancer.png

然而大多均衡分配机的瓶颈无法这样简单地解决。一个确保均衡分配机流量不受限(满载下 100% 运力)的方法是将两个满足条件 1 的均衡分配机背对背放置。这样为流量不受限修正过的均衡分配机通常要比初始设计的大一些。这是因为这样设计的一个流量不受限的均衡分配机所需的分流器要比最小需求量多一些。对于 n → n 的均衡分配机,若 n 是 2 的幂,可以用 n×log2(n)−n÷2 计算所需的分流器数量。这个公式基于Beneš 网络的节点数,其实质上等同于一个流量不受限的均衡分配机 — 允许任一输入到达任一输出。

线路均衡分配机

物品被分配到输出传送带的两侧,达成了输出的平衡。

线路均衡分配机将输入的物品等量分配到输出的线路上,同时输入也是等量获取的。

参见

深入阅读