找出具有给定电阻的电路

时间:2013-10-05 21:10:15

标签: algorithm

我需要一些帮助来解决以下问题:
给定一组电阻,需要构建具有给定电阻的电路(即我们选择一些电阻器并构造电路)。仅允许并行和顺序连接。因此,这种电路的正式定义如下:

Circuit = Resistance | (Sequential (Circuit) (Circuit a)) | 
(Parallel (Circuit) (Circuit))

带有N个未标记电阻器(使用所有电阻器)的电路总数为A000084(感谢Axel Kemper)。但在我的情况下,标记电阻,我不知道如何有效地检查所有电路。

电阻数约为15,是否有可能解决这个问题?

UPD。电阻器可能具有不同的电阻。当然,有些阻力无法实现,在这种情况下我们只是说没有解决方案。

1 个答案:

答案 0 :(得分:2)

整数序列A000084列出具有n个未标记边的串并行网络的数量。 Cayley和MacMahon也称为轭链。 MacMahon的论文是online

序列的前15个元素: 1,2,4,10,24,66,180,522,1532,4624,14136,43930,137908,437502,1399068

如果电阻具有不同的电阻值,则它们不会“未标记”。

不同总阻力的数量小于网络数量。

查看数字,对于中等的n值,强力枚举可能是可行的。

不可能完全匹配每个可能的总阻力。正如评论中所述:15个电阻的数量可能太小而无法达到要求的值。其他例子:如果所有15个恢复器各有1欧姆,则总电阻不能小于1/15欧姆。

查看Analytic Combinatorics的第70页,找到树,括号表达式和系列平行图之间等价性的图示:

enter image description here

如其中一条评论中所述,可以使用A*之类的搜索程序来搜索可能树木的空间。串并联网络的树形表示也可用于通过简单的递归函数确定源到接收电阻。