ACC0ACC0, às vezes chamado de ACC, é uma classe de modelos computacionais e problemas definidos em complexidade do circuito, uma área da teoria da computação. A classe é definida aumentando a classe AC0 de "circuitos alternados" de profundidade constante com a capacidade de contar; a sigla ACC significa "AC com contadores"[1] Especificamente, um problema pertence a ACC0 se ele pode ser resolvido por circuitos de profundidade constante com portas lógicas de entrada ilimitadas, de tamanho polinomial, incluindo portas que calculam o MOD de um inteiro fixado. ACC0 corresponde a computação em qualquer monóide solúvel. A classe é muito bem estudada em teoria da computação por causa das conexões algébricas e porque é um dos maiores modelos computacionais concretos para os quais resultados computacionais de impossbilidade, os chamados limitantes inferiores de circuitos, podem ser provados. DefiniçõesInformalmente, ACC0 modela a classe de cálculos realizados por circuitos booleanos de profundidade constante e tamanho polinomial, onde as portas do circuito incluem "portas de contagem modular" que calculam o resto da divisão entre o número de entradas verdadeiras por alguma constante fixa. Mais formalmente, uma linguagem pertence a AC0 [m] se pode ser computada por uma família de circuitos C1, C2, ..., onde Cn possui n entradas, a profundidade de todos os circuitos é constante, o tamanho de Cn é uma função polinomial da variável n, e o circuito utiliza as seguintes portas: portas lógicas AND e portas lógicas OR com fator de carga de entrada irrestrita, calculando a conjunção e a disjunção das suas entradas; Porta lógica NOT computa a negação de sua única entrada; e fator de carga de entrada ilimitada em portas lógicas MOD-m, que computam 1 se o número de 1s na entrada é um múltiplo de m. Uma linguagem pertence a ACC0, se ele pertence a AC0[m] para algum m. Em alguns textos, ACCi refere-se a uma hierarquia de classes de circuito com ACC0, em seu nível mais baixo, onde os circuitos em ACCi tem profundidade O(login) e tamanho polinomial.[1] A classe ACC0 também pode ser definida em termos da computação de autômatos finitos determinísticos não-uniformes (AFDNU) sobre monóides. Nessa abordagem, a entrada é interpretada como elementos de uma monóide fixa, e a entrada é aceita se o produto dos elementos de entrada pertencerem a uma determinada lista de elementos da monóide. A classe ACC0 é a família das linguagens aceitas por um AFDNU sobre alguns monóides que não contém grupos insolúveis como um subsemigrupo.[2] Poder computacionalA classe ACC0 inclui AC0. Esta inclusão é rigorosa, porque uma única porta MOD-2 calcula a função de paridade, que é conhecido por ser impossível de calcular em AC0. De modo mais geral, a função MODm não pode ser calculada em AC0[p] para p primo, a menos que m seja uma potência de p.[3] A classe ACC0 está incluída em TC0. Conjectura-se que ACC0 é incapaz de computar a função majoritária de suas entradas (ou seja, a inclusão em TC0 é rigorosa), mas isso continua sem solução desde Julho de 2014. Todo problema em ACC0 pode ser resolvido por circuitos de profundidade 2, com portas lógicas AND com fator de carga de entrada polilogaritmico nas entradas, ligado a uma única porta computando uma função simétrica.[4] Esses circuitos são chamados circuitos SYM+. A prova segue idéias da prova do teorema de Toda. Williams (2011) prova que ACC0 não contém NEXPTIME. A prova utiliza muitos resultados em teoria da complexidade, incluindo o teorema da hierarquia de tempo, IP = PSPACE, derandomization, e a representação da ACC0 via circuitos SYM+. [5] Sabe-se que o cálculo do permanente é impossível para circuitos ACC0 de tempo logaritmico uniforme, o que implica que a classe de complexidade PP não está contida em ACC0 em tempo logaritmico uniforme.[6] NotasReferências
|