找出具有给定电阻的电路。

5
我需要帮助解决以下问题:
给定一组电阻,需要构建一个具有给定电阻的电路(即我们选择一些电阻器并构建电路)。只允许并联和串联连接。因此,这种电路的正式定义如下:
Circuit = Resistance | (Sequential (Circuit) (Circuit a)) | 
(Parallel (Circuit) (Circuit))

有N个未标记的电阻器的电路总数(使用所有电阻器)是A000084(感谢Axel Kemper)。但在我的情况下,电阻器是带标签的,我不知道如何高效地检查所有电路。电阻器的数量约为15,是否有可能解决这个问题?更新。电阻器可能具有不同的电阻。当然,有些电阻可能无法实现,在这种情况下,我们只需说没有解决方案。

你可以看一下是否能够适应A*算法。 - Appleshell
尝试使用“回溯”暴力破解。虽然它非常缓慢、效率低下,但可以报告是否存在解决方案。 - user586399
@pfedotovsky 我知道,我的评论是在回应 n.m. 的评论,但那条评论已经不存在了。 - us2012
所有电阻器的电阻都相同吗?还是需要考虑不同的值? - Axel Kemper
2
解决方案是否有保证?例如:15个电阻器,每个电阻为10欧姆,不能组合成超过150欧姆。 - Axel Kemper
显示剩余4条评论
1个回答

2
整数序列A000084列出了“n个未标记边缘的串并联网络数量。Cayley和MacMahon称之为yoke-chains ”。 MacMahon的论文可以在online上找到。
该序列的前15个元素为:1、2、4、10、24、66、180、522、1532、4624、14136、43930、137908、437502、1399068。
如果电阻具有不同的电阻值,则它们不是“未标记的”。
不同总电阻的数量小于网络数量。
从数字上看,对于适度的n值,暴力枚举可能是可行的。
不可能精确匹配每个可能的总电阻。如评论中所述:15个电阻器的数量可能太小,无法达到所需的值。另一个例子:如果所有15个电阻器每个都是1欧姆,则总电阻不能小于1/15欧姆。
组合分析的第70页上查找一幅图,它展示了树、括号表达式和串并联图之间的等价关系。

enter image description here

正如评论中提到的那样,可以使用类似于A*的搜索过程来搜索可能树的空间。串并联网络的树表示法也有助于用一个简单的递归函数确定源点到汇点的电阻。

谢谢这篇论文! 在我的情况下,电阻器是有标签的,因为它们可能具有不同的电阻值。这更具挑战性,因为每个带有N个未标记电阻器的电路都会产生几个带有未标记电阻器的电路(受N!限制)。我不清楚如何生成和检查所有这样的电路。 - pfedotovsky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接