我正在寻找的算法的复杂性类别是什么?

时间:2015-11-22 03:58:24

标签: algorithm complexity-theory

我试图编写一个可以解决以下问题的MATLAB算法

var waitingResponses = [];
//joins new game (username,password)
app.post('/game/join', function(req, res) {
    var username = req.body.username;
    var password = req.body.password;
    if(pendingJoinRequests.length) {
      var waitingPlayerResponse = waitingResponses.shift();
      waitingPlayerResponse.send('Game Started'+username);
      res.send('Game Started');
    }
    else {
      waitingResponses.push(res);
    }

});

我问过这个问题here。虽然没有答案可以解决问题,但有些回复为我提供了如何自己回答问题的线索。有人向我建议这个问题是NP-Hard,但是因为我对复杂性类只有CS101的理解,所以我很难理解这个问题。

我怎么知道是否是这种情况?如果它是NP-Hard,我应该放弃尝试寻找解决方案吗?

3 个答案:

答案 0 :(得分:0)

NP-Hard是一种说法在多项式时间内无法解决问题的方法。因此,要放弃这个问题,你必须证明你的问题在多项式时间内无法解决。 由于你的约束条件(1)和(3)基本相同,我对你的问题表达方式感到很困惑。在约束(2)中,它应该是一个不等式条件,因为你想要优化它,如sum()< = n。

 subject to
      0 <= x(i) <= 1        for all i (1)
      sum(x)==n                       (2) 
      x(i) is either 1 or 0 for all i (3)

如果您想坚持使用Matlab,Yalmip是您可以考虑的选项之一。

答案 1 :(得分:0)

问题是一般的二次0-1问题,因此是NP难的。这个断言的来源是Pardalos & Jha (1992)。我从this answer了解了这篇论文,并提到了我提出的相关问题。

Pardalos,P。M.,&amp; Jha,S。(1992)。二次0-1编程中唯一性和局部搜索的复杂性。运筹学快报,11(2),119-123。

答案 2 :(得分:0)

parameterized为n时,您的问题为W[1] - 很难,从independent set缩小。
applies even if the entries of S are given中的unary

S = adjacency_matrix +(number_of_vertices - 1)* identity_matrix

通过Gershgorin Circle Theorem,这样的矩阵S总是半正定的。