Um problema de partição com restrições de pedidos


8

No OrderedPartitionproblema, a entrada são duas seqüências de n inteiros positivos, (ai)i∈[n] e (bi)i∈[n] . A saída é uma partição dos índices [n] em dois subconjuntos separados, I e J , de modo que:

  1. ∑i∈Iai=∑j∈Jai
  2. Para tudo i∈I e para todos j∈J : bi≤bj .

Em outras palavras, que tem a primeira ordem sobre os índices de uma linha de modo a que o bi são fracamente crescente, e depois cortar a linha de modo a que a soma de a ai em ambos os lados é o mesmo.

Se todos os bi forem iguais, a condição 2 é irrelevante e temos uma instância do problema NP-hard Partition. Por outro lado, se todos os bi forem diferentes, a condição 2 impõe uma única ordem nos índices; portanto, existem apenas n−1 opções para verificar e o problema se torna polinomial. O que acontece entre esses casos?

Para formalizar a questão, defina por OrderedPartition[n,d], para 1≤d≤n , o problema restrito a instâncias de tamanho n , nas quais o maior subconjunto de idênticos bi s é do tamanho d . Portanto, o caso fácil, quando todos os bi s são diferentes, é OrderedPartition[n,1], e o caso difícil, quando todos os bi s são idênticos, é OrderedPartition[n,n].

De maneira mais geral, para qualquer n e d , em qualquer OrderedPartition[n,d]caso, o número de partições possíveis que respeitam a condição 2 é O(n2d) . Portanto, se d∈O(log⁡n) , então OrderedPartition[n,d]ainda é polinomial em n .

Por outro lado, para qualquer n e d , podemos reduzir de um Partitionproblema com d inteiros para OrderedPartition[n,d]. Seja p1,…,pd uma instância de Partition. Defina uma instância de OrderedPartition[n,d]:

  • Para cada i∈{1,…,d} , deixe ai:=2n⋅pi e bi:=1 .
  • Para cada i∈{d+1,…,n} , deixe ai:=1 e bi:=i
    [if n−d é estranho, fazer an:=2 , tais que a soma será ainda] .

Por isso, se d∈Ω(n1/k) , para qualquer número inteiro k≥1 , então OrderedPartition[n,d]é NP-duro.

PERGUNTA: O que acontece nos casos intermediários, nos quais d é superlogarítmico, mas sub-polinomial em n ?

Respostas:


5

Intuitivamente, os casos intermediários não devem estar nem em P nem em NP-difícil. Talvez dependa exatamente do que entendemos por "caso intermediário". Aqui está uma interpretação para a qual podemos provar algo.

ϵ>02nϵ

cd≤logc⁡nn≥2d1/cc

cc

ccfcnf(c)n[2nb/c,nb]bc>0nc2nb/c2f(c)nb/ccϵ>0c=2b/ϵ2c′nϵ/2≤2nϵn    ◻

22n

cc

ccncO(nb)b[nb,d]d≤logc⁡(nb)nO(1)2d=nO(1)2logc⁡(nb)    ◻

d(n)nd(n)d[n,d(n)]d(n)ndp(n)p(n)p(n)

ps Veja também Consequências de provas / algoritmos subexponenciais para SAT .


Muito interessante, obrigado!
— Erel Segal-Halevi
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.