Complexidade de caso genéricoComplexidade 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ásicasDensidade AssintóticaSeja 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éricaDefiniçã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çõesProblemas em teoria de grupos combinatórios
A problema da parada e o problema da correspondência de Post
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 PresburgerO 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-completosComo é 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 unidirecionaisHá 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úblicaUma 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
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.
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, .
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 anterioresTempo quase polinomialMeyer 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édioComplexidade 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 f é 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 I para . Então, há um algoritmo que é tem complexidade de tempo -média. Algoritmos heurísticos sem erroEm 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
|