这个数据共享问题是NP问题吗?

时间:2011-03-30 09:33:47

标签: network-programming scheduling p2p file-sharing np-complete

这是我的问题: P2P网络中有n个对等体,它们请求相同的数据块;并有一些约束。 1.对等体具有自己的上传带宽,平均带宽是数据块的大小。 2.同行对此数据块的截止日期不同。如果一个对等方在截止日期之前没有获得整个块,则必须搜索服务器帮助。 3.只有在拥有整个数据块的情况下,对等体才能传输数据(部分或全部)。

目标是最小化服务器总上传量,如果它具有最佳算法或者它是NP问题,我无法弄清楚。截止日期首先或最大带宽首先可能无法处理某些情况 是否有类似的NP问题?这就像图形流程问题或指令调度,但我发现很难,因为我必须同时处理供应商总带宽的截止日期和增长。 我希望我能得到关于解决方案的一些指示或资源:) 感谢。

1 个答案:

答案 0 :(得分:0)

考虑到每个对等体在您的情况下单独行动,并不是只有一个自动机正在解决您的问题,而是很多。由于在给定延迟内不可用时获取数据块通常是多项式问题,并且由于作业是由各个对等方完成的,因此您的问题不是本地每个对等方的NP问题。

另一方面,如果服务器必须计算用于传输“丢失块”的备份资源的最小分配,则必须首先找出对等方丢失块的概率(例如,平均值+标准偏差) )。假设您知道此类事件的统计分布,您可以计算在带宽中选择具有选定的故障/容忍风险的丢失块所需的总带宽。如果您使用多台服务器来满足需求,请确保您的同行随机联系他们以分配负载。

解决此统计问题不是NP问题。您可以从每个对等方收集故障信息并将其添加到中央/服务器对等方。因此,我的结论是你的问题不是NP问题。

第二部分:

哦,我现在更了解你的情况:多个'服务器'对等体可以帮助一个对等体获得完整阻止。在这种情况下,对于给定的块,服务器对等体的数量在系统中呈指数级增长。在这种情况下,这个优化问题对我来说具有洪水问题的所有特征,它们是NP。

即使您的对等体图和它们之间的潜在连接是静态的(在真正的P2P网络中从未如此),在超过50或100个节点的合理时间内计算最佳解决方案实际上是不可能的,除非你可以对这个图表做出非常具体的假设(这几乎不是一般的情况,并不总是有用)。

但是你绝对需要有绝对的最佳解决方案,还是接近最佳的解决方案呢?

启发式技术将告诉您,如果您的同伴具有或多或少相同的下载带宽容量,那么首先为具有最高UPLOAD带宽的对等体服务是有意义的,以最大化雪崩效应并降低对等体不得不询问的风险一般来说,求助。

如果你的图表是相对平衡的(也就是说,大多数对等体可以连接到大多数对等体),那么我敢打赌,初始服务器的最小带宽将是图形中节点数量的对数函数乘以平均速度。同行希望得到服务。这只是我的直觉,应该通过真实的措施或对你的案例进行强有力的模拟来验证。