Qualquer problema algorítmico tem uma complexidade de tempo dominada pela contagem?


13

O que me refiro como contagem é o problema que consiste em encontrar o número de soluções para uma função. Mais precisamente, dada uma função (não necessariamente caixa-preta), aproximados # { x N | f ( x ) = 1 } = | f - 1 ( 1 ) | .f:N{0 0,1}#{xNf(x)=1}=|f-1(1)|

Estou procurando problemas algorítmicos que envolvam algum tipo de contagem e para os quais a complexidade do tempo é bastante influenciada por esse problema subjacente de contagem.

Obviamente, estou procurando problemas que não contam os próprios problemas. E seria muito apreciado se você pudesse fornecer documentação para esses problemas.

Respostas:


15

Este é um seguimento da resposta de Suresh. Como ele diz, existem muitos problemas de construção na geometria computacional em que a complexidade da saída é um limite inferior trivial no tempo de execução de qualquer algoritmo. Por exemplo: arranjos de linhas planas, diagramas tridimensionais de Voronoi e gráficos de visibilidade planar têm complexidade combinatória no pior caso, portanto, qualquer algoritmo que construa esses objetos trivialmente requer Ω ( n 2 ) tempo no pior caso . (Existem algoritmos de tempo O ( n 2 ) para todos os três desses problemas.)Θ(n2)Ω(n2)O(n2)

Mas restrições semelhantes são conjecturadas para se aplicarem também a problemas de decisão . Por exemplo, dado um conjunto de n linhas no plano, com que facilidade você pode verificar se três linhas passam por um ponto comum? Bem, você pode construir o arranjo das linhas (o gráfico planar definido por seus pontos de interseção e os segmentos entre eles), mas isso leva . Um dos principais resultados da minha tese de doutorado foi que, dentro de um modelo de árvore de decisão restrita, mas natural de computação, Ω ( n 2 ) tempo é necessário para detectar cruzamentos triplos. Intuitivamente, devemos enumerar tudo (Θ(n2)Ω(n2) pontos de interseção e procure duplicatas.(n2)

Da mesma forma, há um conjunto de números em que triplos de elementos somam zero. Portanto, qualquer algoritmo (modelado por uma determinada classe de árvores de decisão) para testar se um determinado conjunto contém três elementos que somam zero requer Ω ( n 2 ) tempo . (É possível cortar alguns logs via paralelismo no nível de bits, mas tanto faz.)Θ(n2)Ω(n2)

Outro exemplo, também da minha tese, é o problema de Hopcroft: dados pontos e n linhas no plano, qualquer ponto contém alguma linha. O número de pior caso de incidência de linha de ponto é conhecido por ser Θ ( n 4 / 3 ) . I provou que em um modelo restringido (mas ainda natural) de computação, Ω ( n 4 / 3 ) é necessário tempo para determinar se existe ainda uma incidência de linha de ponto. Intuitivamente, devemos enumerar todos Θ ( n 4 / 3 ) pertonnΘ(n4/3)Ω(n4/3)Θ(n4/3) -incidências e verifique cada uma para ver se é realmente uma incidência.

Formalmente, esses limites inferiores ainda são apenas conjecturas, porque exigem modelos de computação restritos, especializados no problema em questão, especialmente no problema de Hopcroft. No entanto, provar limites mais baixos para esses problemas no modelo de RAM provavelmente é tão difícil quanto qualquer outro problema de limite inferior (ou seja, não temos idéia) - veja o artigo da SODA 2010 de Patrascu e Williams relacionando generalizações do 3SUM ao tempo exponencial hipótese.



8

Valiant provou que o problema de encontrar a permanente de uma matriz está completo para #P . Veja a página da Wikipedia sobre o assunto. #P é a classe de complexidade correspondente à contagem do número de caminhos de aceitação de uma máquina NP.


3

A correspondência perfeita planar bipartida (e gênero de log) é um problema em que o algoritmo de Kastelyn para contar correspondências planares (estendido por Galluccio e Loebl e paralelizado por Kulkarni, Mahajan e Vardarajan) desempenha um papel importante, mesmo na versão de pesquisa do problema. Todas as referências relevantes podem ser encontradas no seguinte artigo:

Algumas combinações perfeitas e perfeitas semi-integrais na NC. Raghav Kulkarni, Meena Mahajan e Kasturi R. Varadarajan. Chicago Journal of Theoretical Computer Science, Volume 2008 Artigo 4.


1

Tomarei "muito influenciado" como uma restrição suave e não como uma redução. Nesse sentido, MUITOS problemas em geometria computacional têm tempos de execução limitados por alguma estrutura combinatória subjacente a eles. por exemplo, a complexidade de computar um arranjo de formas está diretamente ligada à complexidade intrínseca de tais arranjos.

Outro exemplo tópico disso é que vários problemas na correspondência de padrões de pontos têm tempos de execução que se resumem a estimativas de quantidades como o número de distâncias repetidas em um conjunto de pontos, e assim por diante.


1

Não tenho certeza se é isso que você estava procurando, mas as transições de fase dos problemas do NP-Complete dependem muito de argumentos probabilísticos, que são apenas outra forma de contagem.

A LLL tem sido usada para resolver alguns problemas de subconjuntos de 'baixa densidade', cujo sucesso se baseia em vetores de treliça curta de alta probabilidade existentes que atendem aos critérios de ser uma solução de subconjuntos. A Propagação da Pesquisa se baseia na estrutura do espaço da solução (e no número de soluções conforme ele corrige variáveis) para encontrar soluções próximas ao limite crítico.

Borgs, Chayes e Pittel caracterizaram quase completamente a transição de fase do Problema de Partição Numérica Aleatória (Uniforme) e, portanto, caracterizaram quantas soluções se pode esperar para uma determinada instância (aleatória) do Problema de Partição Numérica.

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.