Balancer mechanics/zh: Difference between revisions
m Bilka moved page Balancers/zh to Balancer mechanics/zh: Same move as other languages |
Sync with English version. |
||
Line 1: | Line 1: | ||
{{Languages}} | {{Languages}} | ||
{{Translation|Balancers}} | {{Translation|Balancers}}用于在多条{{L|Transport belts}}或[[glossary/zh#L|线路]]之间均匀地分配物品。 | ||
{{Translation|Balancers}} | {{Translation|Balancers}}可以从所有接入的{{Translation|Transport belts}}/线路上均等地获取物品,同时向所有引出的{{Translation|Transport belts}}/线路均等地输出。理想情况下,{{Translation|Balancers}}应该同时实现输入和输出的均分。 | ||
== | == 传送带均分 == | ||
{{Translation|Balancers}}利用了{{L|Splitters}}以1:1比例将物品输出到两个端口的机制。这意味着可以使用分流器向两条传送带均匀地输出等量物品。由于此操作可以无限地重复,因此很容易构建带有2<sup>n</sup>条输出传送带的均分器。 | |||
均分器还利用了分流器从两个输入端等量获取物品的机制,即分流器会将两条接入端传送带上的物品均匀地分配到两条输出端传送带上。为了实现均分功能,必须保证输出端的传送带等量地包含来自每条输入端传送带的物品。 | |||
<gallery class="center" widths=200px heights=300px> | |||
File:Balancer_Mechanics1.png|一条满载的传送带被分为两条50%满载的传送带,再被分为四条25%满载的传送带。 | |||
Balancer_Mechanics2b.png|传送带A和B首先经过一个分流器,使引出的两条传送带包含等量的来自A和B的物品(AB×2),C和D亦然。然后,两组AB和CD传送带再次经过分流器,使所有引出的传送带最终都包含等量的来自A~D传送带的物品(ABCD) | |||
</gallery> | |||
{{clear}} | |||
=== 流量 === | === 流量 === | ||
{{Translation|Balancers}} | 流量'''受限'''的{{Translation|Balancers}}在一路或多路输出端阻塞的情况下可能无法达到最大运输量。要使流量'''不受限''',{{Translation|Balancers}}必须满足以下条件: | ||
# 100% 流量满载。 | |||
# 任意数量的输入端传送带均可连接到任意数量的输出端传送带。 | |||
{{Translation|Balancers}}常因其内部的运输瓶颈无法满足第二个条件。下方图1展示了一个四路均分器,其中输入端有两条满载传送带供货,但输出端的总流量仅有一条传送带的满载运量(两条50%满载),即在此布局下,流量只能达到 50% 。这个均分器的瓶颈在于中间的两条传送带只能从一个分流器中获取货物。因此,如果均分器只有一侧有货物输入,即便输入端的两条传送带是满载的,最终的总输出运量也只有一条满载传送带的运量。在此情况下,可以通过为中间的两条输出传送带配置更多的分流器来解决这个问题。比如在均分器后端增加两个额外的分流器,如下方图2所示: | |||
<gallery class="center" widths=200px heights=300px> | |||
4to4_balancer_throughput_limit_demo.gif|图1:一个四路均分器,在单侧由2条传送带供应货物。 | |||
4to4_balancer_throughput_full_demo.gif|图2:经过改进的四路均分器,所有输出端口均可满载输出。 | |||
</gallery> | |||
然而,大多数均分器的瓶颈问题并不能轻易解决。一个确保均分器流量不受限制(输入满载时发挥100%运力)的方法是将两个满足条件1的均分器背对背放置。这样设计的均分器通常比初始设计的流量大一些。这是因为改进型设计使用的分流器比初始设计所需的分流器的最少数量要多一些。对于n路均分的均分器,若n是2的幂,可以使用公式<code>n×log<sub>2</sub>(n)−n÷2</code>计算所需的分流器数量。这个公式基于[[WIKIPEDIA:Clos_network#Bene%C5%A1_network_(m_=_n_=_2)|Beneš网络]]中的节点数量,本质上等同于一个流量不受限的均分器 — 允许任一输入端连接到任一输出端。 | |||
=== 通用均分器 === | |||
很多均分器在输出端堵塞或未使用时无法正确实现均分功能。从本质上来说,一个n路均分的均分器并不能实现 n 分 (n-1) 路的均分功能。有时可以通过将未使用的输出端循环引入输入端,并在输入端间进行均分来解决此问题,但在另外一些情况下这可能并不奏效。通用均分器通过内置输入-输出端循环来解决均分问题,此类均分器理论上可以在任意情况下保持输入端和输出端的均分。通用均分器也可能会有流量限制,流量瓶颈可能源自内部循环,也可能是均分器本身的设计问题。流量受限的通用均分器可能只能在少数输出端堵塞时维持运行,一旦堵塞/未使用的输出端超过允许的数量时,通用均分器也可能像普通均分器一样失灵。 | |||
以下是一些通用均分器的设计方案: | |||
<gallery class="center" widths=200px heights=300px> | |||
3to2 balancer.png|三分二 {{BlueprintString|bp-string=0eNqdlm2PgyAMx79LX7NFEFT8KpfLZW5kIXFoEC9nFr/74UxuywY37CsfUn4t/7aUKzTtqHqrjYP6CvrYmQHqjysM+mwO7fLPHC4KanD2YIa+s27XqNbBTECbk/qBms4kYD70rXZO2QdDNn8SUMZpp9Xq5PYxfZnx0njLmpKIMwJ9N/hlnVk8eNQuL4u9IDD5V5rvxbzE8ERjW2j8j8Y8jcBJW3VcTaoAO9/CFu8i5eRFteCOHyIMUMSWmPL4fikLwAtcarJwqCWORsO0Cpfo7HnjPMCWODZNEpVmuDKK6EA39Q+LCxGqeMpw5ZWkMr330+jPCnu2nX+m4Feh3dQva7vR9eNyNL064KiKkxGhRVrDvqEUm9q+ilBKVNKrpJxXKLZMYktkyuVjxrWJJJxlaeLyf8VluIlURmi4iRSj4WZQjMZR7R2jCVThlIFT018ZtFMXT7pfVAh8KzvcLETBJJdSCCaKnNF5/gVDYNZh}} | |||
3to4_balancer.png|三分四 {{BlueprintString|bp-string=0eNqdl9tuwyAMht+Fa1YFEhLIq0zT1AOqkFISJWRaVeXdR9pp7RrcgK96kPvZ/vHvkgvZNaPuemMdqS/E7Fs7kPr9QgZztNtm/s5uT5rUxPVbO3Rt7952unFkosTYg/4mNZtoIHzoGuOc7h8C+fRBibbOOKNvSa4fzp92PO18ZM0okIySrh38z1o7Z/Cot1zKjaDk7N+yfCOmuYYnGk+hlWu0PIVWrdEKutAp2OMvhYcpIqUmsVZTGVdT+bqmCneGLEyTKTT1j0bJwfR6fwspAmyFY2fhSln2hxv9uPfHvvWvMa1nz8UyP7nu3M2odnTdOJttmY/FHVf1WmCGdAmkAtImEK7ATTjUrEg7IxF1RsZCRxTpqOJe93OSEDXJYfmrFkJ0nONUjOEYznESWO8ZatPIKBk4Q7p5KcT6nHCcBxWgS46iQSoXKENDNIGiQZ2WqO0gY2aVV8hV8WIA4GXOZeKmUBEdKNSeALTOMxRtobUMsXH3vhKoFOcmiIb7Q4Noafe+CqDg7n1QTUkuKh5p63s0r1DwKmpsZNKFFRITZ5Mq0L5/ujFOnzzp/kxFyZfuh2uEKLkqlBKCizLnbJp+AAYgVgk=}} | |||
4to3_balancer.png|四分三 {{BlueprintString|bp-string=0eNqdl9uOgyAQht+Fa9sIiIqvstlseiANiUWDuNmm8d0X213btEwLc9VD4JsD/8/omWzbUfVWG0eaM9G7zgyk+TiTQR/Mpp3/M5ujIg1xdmOGvrNutVWtI1NGtNmrH9LQKQssH/pWO6fs3UI2fWZEGaedVtcglx+nLzMet35lQzMgWEb6bvDbOjNH8KgVr+VaZOTkv+Zr4WPstVW764p6TugBzVLQNYimLMDmKezynh2AFSmw6g1MpMDEG1iZAJP5H4w+drAIkCsMOerYa4yi4k5dYhRFw62lOUZCEIxiJATBbsZZHB0scOlcCMIxOoQySnJIAekweKZUxFVbvqwWZRQWYxSKcgoH8ryZY/QXtD3Yzn++1zB/bmVG3KmfQd3o+nEeDs/RJC7ac1+WYNoAsVged4z/hmfvO88oxqFA5xnDwBgA4xi7Q5mhxg+UmcA4lUc5lZUYNpRolaZNEeEEWJw1LtgLI8CuY6gpVcQ99iS6rIhh0jhmteQZgiTNLAFAUDOriLnFOWqCQcUmjSyo2BIjkxKAVZjbDYLVmAsJgknMmV5g/s1FO3X0O2/vSxn5Vna47BElk4WUQjBRckan6Rf0c1Ey}} | |||
4to4_balancer.png|四路均分 {{BlueprintString|bp-string=0eNqdlutugzAMhd/Fv9OKOIQWXmWapl6iKhINKIRpVcW7L9BqnVa8Ev/iouTzAZ+j+Ar7ujetty5AdQV7aFwH1dsVOntyu3p853ZnAxUEv3Nd2/iw2ps6wCDAuqP5gkoOYmZ519Y2BON/LcThXYBxwQZrbkWmh8uH68/7uLKSgigmoG26uK1xY4WIWqkiX2sBl3iLeq2HUcMfGqbQ8BVNpdDUK1ounv7T7DfeKfk8Radokq80Fcs04f+aNrweqnnalkfDeVrJc8RIE3C03hxuS/IZtsx4BnmCS5yjP6LRxzD5k2/idYl4NfHDpR33Nn1o+zG7zwUwrYBKLqB4ZiWMIXMejnCG1DyjZYusUfB8lxFaNzynUbjtstyrO0YSmJLXkGyR/zFj9UeWxNHAO2nklsAhM52Tvp/wWEdkBxUznEv5eZIFyN/AO4/IJhU8HKWOdzLJgsBtWaEmcSUr1BROZUkDhtwQGMlrAaUKk0aMm6o4M9pgznHPY1IV8Gl8N+3RBZZ5WWqNulAoh+EbnvV36g==}} | |||
</gallery> | |||
{{clear}} | {{clear}} | ||
== | == 线路均分 == | ||
线路均分器可以在输入端均分,也可以在输出端均分。输入端均分器会从输入端传送带的两条线路上等量获取物品,而输出端均分器则会将物品等量分配到输出端传送带的每条线路上。 | |||
<gallery class="center" widths=200px heights=300px> | |||
Lane_balancer_mechanics.png|此均分器可将输入端线路上的物品均匀分配到输出端的两条线路上。 {{BlueprintString|bp-string=0eNqd01GLwyAMAOD/kmc3qlU7+1fGcbRbOIQ2LeqOG8X/PruN3cNZuPmmknwmhCzQDxecnaUA7QL2NJGH9riAt1/UDesbdSNCC8F15OfJhV2PQ4DIwNIZf6Dl8YMBUrDB4iP3frl+0mXs0aUAtmEwmCef0iZa/0nUTlZ8rxhc01Ec9ipG9kcTZZrJa/U7mnhpTdIYnK3D0yNEZmxZZut8paqs7yav6Xe0artvLjJ4U4ZvNH4oa1z/Z0TmZft5sCGkt+xwnqbKV8irshLlBle4MPXKpV20AceU+7vYDL7R+XuW0sJIY5QSSteCx3gD6bVJ7A==}} | |||
Lane_balancer2.png|此均分器可将输入端线路上所有不同种类的物品均匀分配到输出端的线路上。 {{BlueprintString|bp-string=0eNqdl+uKwyAQhd/F32mJYzSaVynL0ossQmpCYpctJe++9kKXpQ7V+ZeE+OU4c4zHC9v1JztOzgfWXZjbD35m3ebCZvflt/31md8eLetYmLZ+HocprHa2D2ypmPMH+8M6vnxUzPrggrP3sbeb86c/HXd2ii9UCKNi4zDHYYO/fieiVkLrtazY+XrZrOWyVC80oNFEmiaetHnsXQjxWYpjHhRIU5oCTaZ+aopXsYwHN9n9/ZUmwZa0+fK0UkWj1WlaW0Iz77RpGg3RZkpoLd4TDgk4r0kdB5PWykuWiOH/cG8NxIEG14hWQZu6zitsQzLBayXSdEmjY6VQJI+hLmhpOEydpjVKIThDs5HK8SjUWf9hUz+gLbI30LaaTI1AM4/KsiYIWvOxShStI1UqVtLEItYCRbOWRHAtzfgyb+6a5jFMrKG5CsGJwoWEhCzBafbBVAHNLzJnXYrMDKffTLmh9RULlrTcBkjCFIpmE0wdLbmh6nRRjAYkAApDqxmSAJuahOO37TmeaVywxzj274BUsW87zbdRUoFpjJESpBLAl+UXi2FA1w==}} | |||
</gallery> | |||
{{clear}} | |||
== 参见 == | == 参见 == | ||
Line 33: | Line 60: | ||
** {{L|Underground belts}} | ** {{L|Underground belts}} | ||
== | == 扩展阅读 == | ||
* [https://forums.factorio.com/34182 基于命令行的均分器分析工具] (官方社区、英文) | |||
* [https://forums.factorio.com/34182 | * [https://forums.factorio.com/viewtopic.php?p=344279#p344279 (2<sup>n</sup>) 型均分器生成工具] (官方社区、英文) | ||
* [https://forums.factorio.com/viewtopic.php?p=344279#p344279 | * [https://forums.factorio.com/61424 传送带均分器 - 工作原理和设计方法] (官方社区、英文) | ||
* [https://forums.factorio.com/61424 | * [https://forums.factorio.com/63462 寻找均衡:均分器指南] (官方社区、英文) | ||
* [https://forums.factorio.com/63462 | |||
{{C|Belt transport system/zh{{!}}#Balancer mechanics}} |
Revision as of 14:44, 13 March 2025
均分器可以从所有接入的传送带/线路上均等地获取物品,同时向所有引出的传送带/线路均等地输出。理想情况下,均分器应该同时实现输入和输出的均分。
传送带均分
均分器利用了分流器以1:1比例将物品输出到两个端口的机制。这意味着可以使用分流器向两条传送带均匀地输出等量物品。由于此操作可以无限地重复,因此很容易构建带有2n条输出传送带的均分器。
均分器还利用了分流器从两个输入端等量获取物品的机制,即分流器会将两条接入端传送带上的物品均匀地分配到两条输出端传送带上。为了实现均分功能,必须保证输出端的传送带等量地包含来自每条输入端传送带的物品。
-
一条满载的传送带被分为两条50%满载的传送带,再被分为四条25%满载的传送带。
-
传送带A和B首先经过一个分流器,使引出的两条传送带包含等量的来自A和B的物品(AB×2),C和D亦然。然后,两组AB和CD传送带再次经过分流器,使所有引出的传送带最终都包含等量的来自A~D传送带的物品(ABCD)
流量
流量受限的均分器在一路或多路输出端阻塞的情况下可能无法达到最大运输量。要使流量不受限,均分器必须满足以下条件:
- 100% 流量满载。
- 任意数量的输入端传送带均可连接到任意数量的输出端传送带。
均分器常因其内部的运输瓶颈无法满足第二个条件。下方图1展示了一个四路均分器,其中输入端有两条满载传送带供货,但输出端的总流量仅有一条传送带的满载运量(两条50%满载),即在此布局下,流量只能达到 50% 。这个均分器的瓶颈在于中间的两条传送带只能从一个分流器中获取货物。因此,如果均分器只有一侧有货物输入,即便输入端的两条传送带是满载的,最终的总输出运量也只有一条满载传送带的运量。在此情况下,可以通过为中间的两条输出传送带配置更多的分流器来解决这个问题。比如在均分器后端增加两个额外的分流器,如下方图2所示:
-
图1:一个四路均分器,在单侧由2条传送带供应货物。
-
图2:经过改进的四路均分器,所有输出端口均可满载输出。
然而,大多数均分器的瓶颈问题并不能轻易解决。一个确保均分器流量不受限制(输入满载时发挥100%运力)的方法是将两个满足条件1的均分器背对背放置。这样设计的均分器通常比初始设计的流量大一些。这是因为改进型设计使用的分流器比初始设计所需的分流器的最少数量要多一些。对于n路均分的均分器,若n是2的幂,可以使用公式n×log2(n)−n÷2
计算所需的分流器数量。这个公式基于Beneš网络中的节点数量,本质上等同于一个流量不受限的均分器 — 允许任一输入端连接到任一输出端。
通用均分器
很多均分器在输出端堵塞或未使用时无法正确实现均分功能。从本质上来说,一个n路均分的均分器并不能实现 n 分 (n-1) 路的均分功能。有时可以通过将未使用的输出端循环引入输入端,并在输入端间进行均分来解决此问题,但在另外一些情况下这可能并不奏效。通用均分器通过内置输入-输出端循环来解决均分问题,此类均分器理论上可以在任意情况下保持输入端和输出端的均分。通用均分器也可能会有流量限制,流量瓶颈可能源自内部循环,也可能是均分器本身的设计问题。流量受限的通用均分器可能只能在少数输出端堵塞时维持运行,一旦堵塞/未使用的输出端超过允许的数量时,通用均分器也可能像普通均分器一样失灵。
以下是一些通用均分器的设计方案:
-
三分二
复制蓝图代码
-
三分四
复制蓝图代码
-
四分三
复制蓝图代码
-
四路均分
复制蓝图代码
线路均分
线路均分器可以在输入端均分,也可以在输出端均分。输入端均分器会从输入端传送带的两条线路上等量获取物品,而输出端均分器则会将物品等量分配到输出端传送带的每条线路上。
-
此均分器可将输入端线路上的物品均匀分配到输出端的两条线路上。
复制蓝图代码
-
此均分器可将输入端线路上所有不同种类的物品均匀分配到输出端的线路上。
复制蓝图代码
参见
扩展阅读
- 基于命令行的均分器分析工具 (官方社区、英文)
- (2n) 型均分器生成工具 (官方社区、英文)
- 传送带均分器 - 工作原理和设计方法 (官方社区、英文)
- 寻找均衡:均分器指南 (官方社区、英文)