Gráficos planares com 3 cores em ?

9

Fiquei me perguntando se a tarefa de procurar por três cores planares é de complexidade ou inferior? Parece que seria uma consequência intuitiva baseada nos resultados do separador planar; no entanto, na wikipedia , ele menciona apenas conjuntos independentes, árvores Steiner, ciclos hamiltonianos e TSP. Abaixo, incluo algum raciocínio que acho que quase alcança esse limite.O(cn)

Com um diagrama de decisão com zero reduzido (ZDD), acredito que você pode obter , e fiquei curioso para saber como poderia fazer melhor. O que eu criei é bastante rudimentar. Nota: por toda parte, o ZDD que descrevo é ternário, mas não acho que isso importe muito. Para o ZDD, dada uma ordenação, , de vértices a cores, o número de nós na etapa será exponencial em relação ao tamanho da fronteira, .O(cO(log2(n)n))L={v1vn}iFi={vk|k<ivk vj,ji}

Para criar seu pedido , você pode criar uma árvore de decomposição de ramificação ideal, , em tempo polinomial, que tenha largura no máximo . Em seguida, selecione uma folha aleatória de para ser sua raiz. Com um BFS, pese cada extremidade pelo número de folhas não conectadas a se você remover de . Em seguida, faça um DFS para finalmente criar , sempre descendo a borda mais longe de , escolhendo aquele com menos peso se houver um empate e escolhendo arbitrariamente se ainda houver um empate. Quando chegamos a uma folha, adicioneLbnvbevebLv(u,v)uvLLcibviLMixibcixlog2bn/ a se ou não está em . Deixe ser o componente induzida em por os vértices visitado quando adicionado para . Em seguida, é limitado pela largura da ramificação vezes o número de arestas precisa ser removido de para obter o componente . é delimitado aproximadamente pelo dos vértices em , que é linear pois estamos lidando com gráficos planares.vLLcibviLFixibcixlog2bn

Com isso, você verifica todas as três cores de cada nó para cada uma das fronteiras e está pronto.n

Zachary Hunter
fonte
1
Por que essa pergunta foi rebaixada?
Sasho Nikolov
5
Não é difícil encontrar um algoritmo DP executado em para verificar se um gráfico com largura de árvore pode ser colorido com 3 cores. Como os gráficos planares têm uma largura de árvore , segue o limite de tempo desejado. k O ( 3kpoly(n)kO(n)
Chandra Chekuri 20/08/19
5
O teorema do separador planar é suficiente para obter uma decomposição em árvore da largura em tempo polinomial. Você não precisa de um algoritmo exato para o tempo de execução reivindicado. Também existe uma aproximação constante do fator para a largura da árvore em gráficos planares. Estes são resultados bem conhecidos. O(n)
Chandra Chekuri 20/08/19
3
Um comentário secundário: como o no expoente tem um fator constante à sua frente (decorrente do tamanho do separador, respectivamente, da largura da árvore), a base deve ser uma base lugares: . 3constO(cn3constO(cn)
Gamow
1
Portanto, sabemos que é factível em para alguns c que não respondem totalmente à pergunta. O(cn)
Hermann Gruber

Respostas:

8

Recomendo a leitura das Seções 7 e 14 do excelente livro de Cygan, Fomin, Kowalik, Lokshtanov, Marx, Pilipczuk, Pilipczuk e Saurabh .

Em resumo, Gu e Tamaki fornecem um algoritmo de tempo quadrático que encontra uma decomposição de ramificação de um gráfico planar de largura no máximo . Então Robertson e Seymour em (5.1) apresentam uma decomposição de árvore de largura menor que . Então o algoritmo clássico de programação dinâmica (ver, por exemplo, Marx ) resolve -Coloring in time .3n 9 9n2 33 9 339n2poly(n)<141n

Por outro lado, sabe-se ( Lichtenstein ) que, sob a hipótese de tempo exponencial (ETH), o problema Planar -SAT é -hard. E uma redução de Planar -SAT para Planar -Coloring implica que, sob ETH, não há algoritmo que resolva o Planar -Coloring no tempo .32Ω(n)3332o(n)

Alex Golovnev
fonte
2
Podemos encontrar a decomposição exata dos ramos no tempo polinomial em gráficos planares. Isto é feito por Seymour e Thomas: roteamento de chamadas e apanhador de ratos. Portanto, você pode remover um fator 3 do expoente.
Saeed
2
@Saeed, também sabemos que a largura de ramificação de um gráfico planar é delimitada por ? n
Alex Golovnev 26/08/19
1
Bom ponto, lembro-me que Fomin et al. Tinham um artigo mostrando o limite superior de quase . Não sei qual é o melhor limite superior agora. Por outro lado, acho que, se realmente queremos eliminar o expoente, deve ser possível empregar diretamente a programação dinâmica com base na decomposição de ramificações, sem transformação em decomposição em árvore (ela pode já existir na literatura ou, se não, acho que é possível fazê-lo em um bom momento). 2n
Saeed