Complexidade de caso genérico

Complexidade de Caso Genérico é uma subárea da teoria da complexidade computacional que estuda a complexidade de problemas computacionais na "maioria das entradas".

Complexidade de Caso Genérico é uma forma de medir a complexidade de um problema computacional desprezando um pequeno conjunto de  entradas não representativas e aplicando a complexidade do pior caso  nas entradas restantes. Pequeno é definido em termos de densidade assintótica. A aparente eficácia da complexidade de caso genérico se dá porque, para uma ampla variedade de  problemas computacionais concretos, as instâncias mais difíceis parecem ser raras. Os casos típicos, são relativamente fáceis.

Esta abordagem da complexidade foi originada em teoria combinatória dos grupos, que tem uma tradição computacional  que remonta ao início do século passado. A noção  de complexidade genérica foi introduzida em um artigo[1]  de 2003 onde os autores mostraram que, para uma grande classe de grupos gerados finitamente  a complexidade de tempo genérica de alguns problemas clássicos  de decisão provenientes da  teoria combinatória dos grupos, conhecidamente, o problema da aceitação de uma palavra, problema da conjugação e o problema da pertinência, são lineares.

Uma introdução detalhada da  complexidade de caso genérico pode ser encontrado nas pesquisas.[2][3]

Definições básicas

Densidade Assintótica

Seja I um conjunto infinito de entradas para um problema computacional.

Definição 1. Uma função de tamanho em I é um mapeampento  σ : I N {\displaystyle \sigma :I\to \mathbb {N} } com alcance infinito. A bola de raio n é B n = { x I σ ( x ) n } {\displaystyle B_{n}=\{x\in I\mid \sigma (x)\leq n\}} .

Se as entradas são codificadas como cadeias sobre um alfabeto finito, o tamanho pode ser o comprimento da cadeia.

Seja  { μ n } {\displaystyle \{\mu _{n}\}}   um conjunto de distribuições de probabilidade , onde μ n {\displaystyle \mu _{n}} é uma distribuição de probabilidade sobre B n {\displaystyle B_{n}} . Se as bolas B n {\displaystyle B_{n}} são finitas, então, cada um μ n {\displaystyle \mu _{n}} pode ser tomado para ter distribuição equiprovável, que é o caso mais comum. Observe que apenas finitamente muitos B n {\displaystyle B_{n}} 's pode ser vazios ou ter μ n ( B n ) = 0 {\displaystyle \mu _{n}(B_{n})=0} ; nós os ignoramos.

Definição 2. A densidade assintótica de um subconjunto X I {\displaystyle X\subset I} é ρ ( X ) = lim n μ n ( X B n ) {\displaystyle \rho (X)=\lim _{n\to \infty }\mu _{n}(X\cap B_{n})} quando este limite existe.

Quando as bolas B n {\displaystyle B_{n}} são finitas e μ n {\displaystyle \mu _{n}} é a medida equiprovável.

ρ ( X ) = lim | X B n | | B n | . {\displaystyle \rho (X)=\lim {\frac {|X\cap B_{n}|}{|B_{n}|}}.}

Neste caso muitas vezes é conveniente a utilização de esferas I n = { x I σ ( x ) = n } {\displaystyle I_{n}=\{x\in I\mid \sigma (x)=n\}} em vez de bolas e definir ρ ( X ) = lim | X I n | | I n | {\displaystyle \rho '(X)=\lim {\frac {|X\cap I_{n}|}{|I_{n}|}}} . Um argumento usando o teorema de Stolz mostra que ρ ( X ) {\displaystyle \rho (X)} existe se ρ ( X ) {\displaystyle \rho '(X)}   existe, e, nesse caso, eles são iguais.

Definição 3 X I {\displaystyle X\subseteq I} é genérico se ρ ( X ) = 1 {\displaystyle \rho (X)=1} e insignificante se ρ ( X ) = 0 {\displaystyle \rho (X)=0} . X é exponencial (superpolinomialmente) genérico se a convergência para o limite na Definição 2 é exponencial (superpolinomial) rápido, etc.

Um subconjunto genérico  X é assintoticamente grande. Se X aparece grande na prática, depende em quão rápido μ n ( X B n ) {\displaystyle \mu _{n}(X\cap B_{n})} converge para 1. Convergência superpolinomial  parece ser rápido o suficiente.

Classes de complexidade Genérica

Definição 4 Um algoritmo está em GenP (genericamente em tempo polinomial) se ele nunca dá respostas incorretas e se dá respostas corretas em tempo polinomial em um conjunto genérico de entradas. O problema está em GenP se ele admite um algoritmo em GenP. Da mesma forma, para GenL (genericamente tempo linear), GenE(genericamente tempo exponencial com um linear expoente) GenExp (genericamente tempo exponencial), etc. ExpGenP é a subclasse de GenP para o qual o conjunto genérico é exponencialmente genérico.

Mais geralmente para qualquer f : \mathbb{N} \to \mathbb{N} podemos definir a classe Gen(f) correspondente a complexidade de tempo O(f) em um conjunto genérico de entrada.

Definição 5. Um algoritmo resolve um problema genericamente se ele nunca fornece respostas incorretas e se ele dá respostas corretas sobre um conjunto genérico de entradas. Um problema é genericamente solúvel se ele é resolvido genericamente por algum algoritmo.

Teoria e aplicações

Problemas em teoria de grupos combinatórios

  • Os conhecidos problemas indecidíveis: aceitação de palavras por máquina de Turing, conjugação e pertinência são genericamente em tempo polinomial.[1]
  • O problema da parada e o problema da conjugação enquanto  problema de busca estão em GenP  para todos os grupos finitamente apresentados.[4]
  • O conhecido  procedimento enumeração de coclasses  admite um limite computável  superior para um conjunto genérico de entradas.[5]
  • O algoritmo Whitehead para testar se  um elemento de um grupo livre é ou não  mapeado para outra através de um automorfismo tem o limite superior para o pior caso em custo exponencial , mas funciona bem na prática. O algoritmo é mostrado na GenL.[6]
  • O problema da conjugação  em  extensões HNN pode ser insolúvel, mesmo para grupos livres. No entanto, é genericamente de tempo cúbicos .[7]

A problema da parada e o problema da correspondência de Post

  • O problema da parada para a máquina de Turing com uma fita de lado é facilmente decidível na maioria das vezes; ele está em GenP[8]

A situação para fita de dois lados é desconhecida. No entanto, há um tipo de limite inferior para máquinas de ambos os tipos. A suspensão problema não está em ExpGenP para qualquer modelo de máquina de Turing,[9][10]

A aritmética de Presburger

O problema de decisão para a aritmética de Presburger admite uma dupla exponencial no pior caso como limite inferior[11] e um triplo exponencial no pior caso para limite superior. A complexidade genérica não é conhecida, mas sabe-se que o problema não está no ExpGenP.[12]

Problemas NP-completos

Como é sabido que os problemas NP-completos podem ser, na média, fáceis, não é uma surpresa que vários deles sejam genericamente fáceis também.

Funções unidirecionais

Há uma versão de complexidade genérica para uma função unidirecional[14] , o qual produz a mesma classe de funções, mas permite considerar premissas de segurança diferentes do habitual.

Criptografia de chave pública

Uma série de artigos[15][16][17] é dedicado à criptoanálise do protocolo de troca de chaves de Anshel–Anshel–Goldfeld, cuja segurança é baseada em suposições sobre o grupo de tranças . Esta série culmina em Miasnikov e Ushakov (2008)[18] , que aplica as técnicas de caso  de complexidade genérica para obter uma análise completa do ataque baseado em comprimento e as condições sob as quais ele trabalha. O  ponto de vista genérico também sugere um novo tipo de ataque chamado o quociente de ataque, e uma versão mais segura do protocolo de Anshel–Anshel–Goldfeld.

Lista de resultados teóricos gerais

  • Um famoso teorema de Rice afirma que, se F é um subconjunto do conjunto de funções parcialmente computáveis  de N {\displaystyle \mathbb {N} } a { 0 , 1 } {\displaystyle \{0,1\}} , então a menos que o F ou o seu complemento seja vazia, o problema de decidir se quer ou não uma determinada máquina de Turing computa uma função F é indecidível. O seguinte teorema fornece uma versão genérica.

Teorema 1 de[19] Seja I o conjunto de todas as máquinas de Turing. Se F é um subconjunto do conjunto de todos as funções parcialmente computáveis de N {\displaystyle \mathbb {N} }   em \mathbb{N}, tais que F e seu complemento são ambos não-vazios, então o problema de decidir se  uma dada máquina de Turing computa uma função a partir de F ou näo é indecidível sobre qualquer subconjunto exponencialmente genérico  de I.

  • Os seguintes teoremas são a partir de:[1]

Teorema 2 O conjunto de linguagens formais que são chamados genericamente de computáveis tem medida zero.

Teorema 3 Há uma hierarquia infinita  de classes de complexidade genérica. Mais precisamente para uma apropriada função de complexidade f, G e n ( f ) G e n ( f 3 ) {\displaystyle Gen(f)\subsetneq Gen(f^{3})} .

  • O próximo teorema mostra que, assim como há o caso médio completo de problemas dentro da distribuição dos problemas NP,

há também o caso genérico completo de  problemas. Os argumentos no caso genérico são semelhantes aqueles no caso médio, e caso genérico completo problema é também o caso médio completo. É  o problema da parada limitado distributivo.

Teorema 4[2] Há uma noção de redução em tempo polinomial genérica com relação ao qual o problema da parada limitado distributivo é completo dentro da classe distributiva dos problemas NP.

Comparações com trabalhos anteriores

Tempo quase polinomial

Meyer e Paterson[20] definiram um algoritmo para ser em tempo quase polinomial, ou TQP, se ele para dentro de p(n) passos, mas com p(n) entradas de tamanho n. Claramente, os algoritmos TQP  estão incluídos no nosso classe GenP. Temos visto que vários problemas NP-completos em GenP, mas Meyer e Paterson mostram que esse não é o caso para o TQP. Eles provam que um problema NP-completo  é redutível a um problema em  APT se e somente se P = NP. Assim o TQP parece ser muito mais restritiva do que GenP.

Complexidade de caso médio

Complexidade de caso genérico é semelhante à complexidade de caso médio. No entanto, existem algumas diferenças significativas. Complexidade de caso genérico é uma medida direta do desempenho de um algoritmo na maioria das entradas, enquanto complexidade de caso médio dá uma medida do equilíbrio entre instâncias fáceis e difíceis. Além disso Complexidade de caso genérico, naturalmente, aplica-se a problemas indecidíveis.

Suponha que A {\displaystyle {\mathcal {A}}} é um algoritmo cuja complexidade de tempo, T : I N {\displaystyle T:I\to \mathbb {N} } é na média polinomial em μ {\displaystyle \mu } . O que podemos inferir sobre o comportamento de  A {\displaystyle {\mathcal {A}}}  com entradas típicas?

Exemplo 1 Seja I o conjunto de todas as palavras sobre  { 0 , 1 } {\displaystyle \{0,1\}}  e defina o tamanho  σ ( w ) {\displaystyle \sigma (w)} como sendo o comprimento da palavra, | w | {\displaystyle |w|} . Defina  I n {\displaystyle I_{n}}  como sendo o conjunto das palavras de comprimento n, e assuma que todos   μ n {\displaystyle \mu _{n}} tem medida equiprovável. Suponha que T(w)=n para todas as palavras exceto uma em cada  I n {\displaystyle I_{n}} , e T ( w ) = 2 2 n {\displaystyle T(w)=2^{2^{n}}}  em palavras excepcionais.

Neste exemplo T certamente é polinomial em entradas típicas, porém, T não é polinomial na média. T está GenP.

Exemplo 2 Mantenha I e σ ( w ) = | w | {\displaystyle \sigma (w)=|w|} como antes, mas defina  μ ( w ) = 2 2 | w | 1 {\displaystyle \mu (w)=2^{-2|w|-1}} e T ( w ) = 2 | w | {\displaystyle T(w)=2^{|w|}} . T é polinomial na média apesar de ser exponencial em entrada tipicas. T não está em GenP.

Nesses dois exemplos a complexidade genérica é mais proximamente relacionada ao comportamento típico das entradas do que à complexidade de caso médio. A complexidade de caso médio mede outra coisa: o equilíbrio entre as frequências com que ocorrem instâncias difíceis e o grau de dificuldade.[21][22] A grosso modo um algoritmo que é de tempo polinomial na média pode ter apenas uma fração subpolinomial de entradas que requerem tempo superpolinomial para computar.

No entanto, em alguns casos de complexidade genérica e média  são bastante próximos uns dos outros. Uma função f : I R + {\displaystyle f:I\rightarrow \mathbb {R} ^{+}} é polinomial em μ {\displaystyle \mu } média nas esferas se existe um  k 1 {\displaystyle k\geq 1} tal que w I n f 1 / k ( w ) μ n ( w ) = O ( n ) {\displaystyle \sum _{w\in I_{n}}f^{1/k}(w)\mu _{n}(w)=O(n)} , onde { μ n } {\displaystyle \{\mu _{n}\}} é o conjunto induzido por μ {\displaystyle \mu } . Se f é polinomial em μ {\displaystyle \mu } média nas esferas, o é polinômial em μ {\displaystyle \mu } média, e para muitas distribuições [23]

Teorema 5[2] Se uma função f : I R + {\displaystyle f:I\rightarrow \mathbb {R} ^{+}} é polinomial em μ {\displaystyle \mu } média nas esferas, então, f é genericamente polinomial em relação à densidade esférica assintótica   ρ {\displaystyle \rho '} .

Teorema 6[2] Suponha que um algoritmo completo A {\displaystyle {\mathcal {A}}} tem tempo limitado a subexponential T e uma parte de um algoritmo B {\displaystyle {\mathcal {B}}} para o mesmo problema está em ExpGenP com respeito ao conjunto { μ n } {\displaystyle \{\mu _{n}\}} correspondente a uma medida da probabilidade μ {\displaystyle \mu } nas entradas para A {\displaystyle {\mathcal {A}}} . Então, há um algoritmo que é tem complexidade de tempo  μ {\displaystyle \mu } -média.

Algoritmos heurísticos sem erro

Em 2006, em um artigo, Bogdanov e Trevisan chegaram perto de definir o caso de complexidade genérica.[24] Em vez de algoritmos parciais, eles consideram os assim chamados algoritmos heurísticos sem erros. Estes são algoritmos que podem não parar com a saída "?". A classe AvgnegP é definida para consistir em todos os  algoritmos heurísticos sem erros A que executam em tempo polinomial e para os quais a probabilidade de falha I n {\displaystyle I_{n}} é insignificante, i.é., converge superpolinomialmente rápido para 0. AvgnegP é um subconjunto de GenP. Algoritmos heurísticos sem erro são essencialmente os mesmos que os algoritmos com falhas benignas  definidos por Impagliazzo, onde  tempo polinomial em algoritmos medianos, são caracterizados em termos dos chamados algoritmo de esquemas benignos.

Referências

  1. a b c I. Kapovich, A. Myasnikov, P. Schupp and V. Shpilrain, Generic case complexity, decision problems in group theory and random walks, J. Algebra, vol 264 (2003), 665–694.
  2. a b c d e f R. Gilman, A. G. Miasnikov, A. D. Myasnikov, and A. Ushakov, Generic Case Complexity, unpublished first draft of a book, 143 pages.
  3. R. Gilman, A. G. Miasnikov, A. D. Myasnikov, and A. Ushakov, Report on generic case complexity, Herald of Omsk University, Special Issue, 2007, 103–110.
  4. A. Ushakov, Dissertation, City University of New York, 2005.
  5. R. Gilman, Hard problems in group theory, talk given at the International Conference on Geometric and Combinatorial Methods in Group Theory and Semigroup Theory, May 18, 2009.
  6. I. Kapovich, P. Schupp, V. Shpilrain, Generic properties of Whiteheads algorithm and isomorphism rigidity of random one-relator groups, Pacific J. Math. 223 (2006)
  7. A.V. Borovik, A.G. Myasnikov, V.N. Remeslennikov, Generic complexity of the conjugacy problem in HNN-extensions and algorithmic stratification of Miller's groups, Internat.
  8. J. D. Hamkins and A. Miasnikov, The halting problem is decidable on a set of asymptotic probability one, Notre Dame J. Formal Logic 47 (2006), 515–524.
  9. A. Miasnikov and A. Rybalov, Generic complexity of undecidable problems, J. Symbolic Logic 73 (2008), 656–673.
  10. A. Rybalov, On the strongly generic undecidability of the halting problem, Theoret.
  11. M. J. Fischer and M. O. Rabin, Super-Exponential Complexity of Presburger Arithmetic, Proceedings of the SIAM-AMS Symposium in Applied Mathematics 7 (1974) 2741.
  12. A. Rybalov, Generic complexity of Presburger arithmetic, 356–361 in Second International Symposium on Computer Science in Russia, CSR 2007, Lecture Notes in Computer Science 4649, Springer 2007.
  13. R. Gilman, A. G. Miasnikov, A. D. Myasnikov, and A. Ushakov, Report on generic case complexity, Herald of Omsk University, Special Issue, 2007, 103–110.
  14. A. D. Myasnikov, Generic Complexity and One-Way Functions, Groups, Complexity and Cryptography, 1, (2009), 13–31.
  15. R. Gilman, A. G. Miasnikov, A. D. Myasnikov, and A. Ushakov, New developments in commutator key exchange, Proc.
  16. A. G. Myasnikov, V. Shpilrain, A. Ushakov, A practical attack on a braid group based cryptographic protocol, in Lecture Notes in Computer Science, 3621, Springer Verlag, 2005, 86–96.
  17. A. D. Myasnikov, and A. Ushakov, Length based attack and braid groups: cryptanalysis of Anshel–Anshel–Goldfeld key exchange protocol, in Public Key Cryptography PKC 2007, 76–88, Lecture Notes in Comput.
  18. A. G. Miasnikov and A. Ushakov, Random subgroups and analysis of the length-based and quotient attacks, Journal of Mathematical Cryptology, 2 (2008), 29–61.
  19. A. Miasnikov and A. Rybalov, Generic complexity of undecidable problems, J. Symbolic Logic 73 (2008), 656–673.
  20. A. R. Meyer and M. S. Paterson, With what frequency are apparently intractable problems difficult?, M.I.T. Technical Report, MIT/LCS/TM-126, February, 1979.
  21. Y. Gurevich, The challenger-solver game: variations on the theme of P =?
  22. R. Impagliazzo, A personal view of average-case complexity, in Proceedings of the 10th Annual Structure in Complexity Theory Conference - SCT 1995, IEEE Computer Society, 1995, page 134.
  23. Y. Gurevich, Average case completeness, J. of Computer and System Science, 42 (1991), 346–398.
  24. A. Bogdanov, L. Trevisan, Average-case Complexity, Found.