Complexidade de caso genérico

Origem: Wikipédia, a enciclopédia livre.

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[editar | editar código-fonte]

Densidade Assintótica[editar | editar código-fonte]

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

Definição 1. Uma função de tamanho em I é um mapeampento  com alcance infinito. A bola de raio n é .

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

Seja   um conjunto de distribuições de probabilidade , onde é uma distribuição de probabilidade sobre . Se as bolas são finitas, então, cada um pode ser tomado para ter distribuição equiprovável, que é o caso mais comum. Observe que apenas finitamente muitos 's pode ser vazios ou ter ; nós os ignoramos.

Definição 2. A densidade assintótica de um subconjunto é quando este limite existe.

Quando as bolas são finitas e é a medida equiprovável.

Neste caso muitas vezes é conveniente a utilização de esferas em vez de bolas e definir . Um argumento usando o teorema de Stolz mostra que existe se   existe, e, nesse caso, eles são iguais.

Definição 3 é genérico se e insignificante se . 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 converge para 1. Convergência superpolinomial  parece ser rápido o suficiente.

Classes de complexidade Genérica[editar | editar código-fonte]

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[editar | editar código-fonte]

Problemas em teoria de grupos combinatórios[editar | editar código-fonte]

  • 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[editar | editar código-fonte]

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[editar | editar código-fonte]

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[editar | editar código-fonte]

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[editar | editar código-fonte]

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[editar | editar código-fonte]

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[editar | editar código-fonte]

  • Um famoso teorema de Rice afirma que, se F é um subconjunto do conjunto de funções parcialmente computáveis  de a , 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   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, .

  • 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[editar | editar código-fonte]

Tempo quase polinomial[editar | editar código-fonte]

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[editar | editar código-fonte]

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 é um algoritmo cuja complexidade de tempo, é na média polinomial em . O que podemos inferir sobre o comportamento de  com entradas típicas?

Exemplo 1 Seja I o conjunto de todas as palavras sobre  e defina o tamanho  como sendo o comprimento da palavra, . Defina  como sendo o conjunto das palavras de comprimento n, e assuma que todos   tem medida equiprovável. Suponha que T(w)=n para todas as palavras exceto uma em cada , e  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 como antes, mas defina  e . 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 é polinomial em média nas esferas se existe um  tal que , onde é o conjunto induzido por . Se f é polinomial em média nas esferas, o é polinômial em média, e para muitas distribuições [23]

Teorema 5[2] Se uma função é polinomial em média nas esferas, então, f é genericamente polinomial em relação à densidade esférica assintótica  .

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

Algoritmos heurísticos sem erro[editar | editar código-fonte]

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 é 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[editar | editar código-fonte]

  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.