algorithm - 最小功率要求算法

标签 algorithm dynamic-programming greedy

给定一个逻辑电路,可以将其建模为有根树 - 叶子是主要输入,内部节点是门,根是电路的单个输出。每个门可以由高或低电源电压供电。由较低电源电压供电的栅极消耗的功率较少,但具有 输出信号较弱。您希望在确保电路可靠的同时最大限度地降低功耗。为确保可靠性,不应让一个由低电源电压供电的栅极驱动另一个由低电源电压供电的栅极 电源电压。所有门在连接到低电源电压时消耗 1 纳瓦,在连接到高电源电压时消耗 2 纳瓦。

设计一种高效算法,将逻辑电路作为输入并为每个门选择电源电压,以最大限度地降低功耗,同时确保可靠运行。

这道题我的想法是,可以用greedy或者Dynamic来解决。但是我很困惑我可以从哪里开始思考这个问题。 请帮忙。

最佳答案

根据“你不应该让一个由低电源电压供电的门驱动另一个由低电源电压供电的门”的要求,我们得到我们的任务是在树中找到一个最大的独立集(可能减去叶子,我不知道他们是否被认为是有动力的)。

虽然该问题对于一般图来说是 NP-hard 问题,但对于树来说可以快速有效地解决。你可以阅读这个simple 3-page article了解详情。

关于algorithm - 最小功率要求算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12128056/

相关文章:

algorithm - 查找 2D M x N 网格中封闭空间的存在

java - 检查干草堆是否包含一组针的最快方法

c - 通过 C 中的动态规划解决背包问题的麻烦

java - DP-Coin 找零结果为零

c - 贪心硬币计数中的整数溢出

python - 如何在 python 中的二进制矩阵中跟踪 1 的所有唯一路径?

algorithm - 以下函数如何 O(N^3)?

java - 如何反转链表 - 详细说明

algorithm - 每个递归算法都可以用动态规划改进吗?

regex - sed 中的非贪婪(不情愿)正则表达式匹配?