我的设备的列表和信道的一个位掩码它们在(信道编号0..3)。可以有多达256个装置。

例如:

Device1: 1 0 0 1 (on channels 0, 3)
Device2: 0 1 1 0 (on channels 1, 2)
Device3: 1 1 0 0 (on channels 2, 3)

我需要找到的信道的位掩码,这将导致在该消息中要由所有设备用最少可能的不必要的消息接收。

例如数据正确的结果位掩码是1 0 1 0(信道1传送到设备2和信道3至Device1的和设备3)和0 1 0 1(信道0提供到Device1的和信道2到设备2和设备3),它们中的一个是确定。

结果位掩码1 1 0 0将是不好的,因为设备3将获取消息的两倍。

有帮助吗?

解决方案

由于有可能不是一个完美的解决方案,我们只对结果我只想用通过所有16个可能的掩码的强力方法和迭代,看哪个(些)是16种可能性/是最优的(最小数目重复的消息)。

其他提示

看一看回溯搜索

您可以添加1点的数量在每列找出多少“酒会”,将为该通道上的消息出现。这样,对于任何有效的面膜(到达所有设备),您可以轻松地添加了所有设备接收的消息的总数。然后,您可以蛮力所有16个可能的面具看到哪些会实际工作,并选择一个,这两个作品,具有接待的最低数量。走走蛮力部分将需要对整个矩阵运算。

奇怪的是,如果你真的有256台设备,你很可能需要在所有通道上直接发送。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top