O segredo do tamanho e profundidade do circuito: qual é a melhor maneira de calcular polinômios?

Na teoria da complexidade computacional, os circuitos aritméticos são o modelo padrão para calcular polinômios. Os circuitos aritméticos são capazes de receber informações de variáveis ​​ou números e calcular o resultado de uma expressão previamente calculada por meio de adição ou multiplicação. Este modelo nos permite compreender metafisicamente a complexidade da computação de polinômios.

A questão fundamental de um circuito é "Como calcular um determinado polinômio da maneira mais eficiente?"

Um circuito aritmético é composto por um grafo acíclico guiado. Cada nó do grafo com grau zero é chamado de porta de entrada e é rotulado como uma variável ou elemento no domínio. Outras portas são portas de adição ou portas de multiplicação. A fórmula aritmética é um circuito em que o grau de saída de cada porta é um, formando uma árvore direcionada. Existem duas medidas importantes de complexidade para circuitos: tamanho e profundidade. O tamanho do circuito refere-se ao número de portas, enquanto a profundidade se refere ao comprimento do caminho direcionado mais longo no circuito.

Os circuitos aritméticos possuem uma maneira natural de calcular polinômios. Uma porta de entrada calcula seu polinômio rotulado; uma porta de adição calcula a soma dos polinômios calculados por seus filhos, e uma porta de multiplicação calcula o produto dos polinômios calculados por seus filhos. Tomando a figura como exemplo, a porta de entrada calcula x1, x2 e 1 em sequência, a porta de adição calcula x1 + x2 e x2 + 1, e a porta de multiplicação calcula o valor de (x1 + x2) x2 (x2 + 1) .

Visão geral

Quando nos deparamos com um polinômio f, a questão é qual a melhor forma de calculá-lo - por exemplo, calcular o tamanho mínimo de um circuito unitário. Esta questão geralmente consiste em duas partes. A primeira parte é encontrar um circuito que calcule o polinômio, que é chamado de complexidade do limite superior; a segunda parte é provar que outros circuitos não conseguem obter melhor desempenho, que é chamado de complexidade do limite inferior;

Embora as duas tarefas estejam intimamente relacionadas, provar um limite inferior é geralmente mais difícil porque todos os circuitos precisam ser discutidos simultaneamente.

É importante notar aqui que estamos preocupados com o cálculo formal de polinômios, não com as funções definidas por polinômios. Por exemplo, considere o polinômio x2 + x em um domínio binário. Este polinômio representa uma função zero neste domínio, mas não é um polinômio zero. Esta é uma das diferenças entre o estudo dos circuitos aritméticos e o estudo dos circuitos de Bollinger, e uma razão pela qual a complexidade de Bollinger é mais difícil do que a complexidade aritmética.

Limite superior

No estudo do cálculo da complexidade polinomial, alguns circuitos ou algoritmos inteligentes foram descobertos. Por exemplo, o famoso algoritmo de multiplicação de matrizes de Strassen usa um tamanho de circuito de cerca de n2.807, o que reduz bastante a complexidade em comparação com o simples n3. Outra história fascinante é sobre o cálculo do determinante de uma matriz n × n Embora o método de cálculo original exigisse um circuito de tamanho n!, sabemos que o determinante pode ser calculado com um circuito de tamanho polinomial, embora a profundidade do. o circuito é linear com n.

Enquanto isso, existem desafios semelhantes para calcular o tamanho de circuitos permanentes para matrizes n × n, com o circuito ideal tendo um tamanho de cerca de 2n.

O limite inferior

Nosso conhecimento atual sobre como provar limites inferiores é muito limitado. Por exemplo, calcular polinômios de graus muito grandes geralmente requer circuitos grandes; por exemplo, um polinômio de grau 2 ^ 2n requer um tamanho de circuito de cerca de 2n; O principal problema reside em provar limites inferiores para polinômios de pequeno grau, especialmente tamanhos polinomiais n.

O principal problema em aberto atualmente é encontrar um polinômio explícito tal que o tamanho do circuito necessário para seu cálculo exceda o nível do polinômio.

Álgebra P e NP

O problema aberto mais interessante na teoria da complexidade computacional é o problema P versus NP. Grosso modo, a questão é se determinar uma solução para um problema pode ser tão fácil quanto provar a sua existência. Valiant propôs uma analogia algébrica dos problemas VP e VNP, que envolve a relação entre o tamanho do polinômio e o tamanho do circuito.

Simplificação profunda

Uma referência importante para a nossa compreensão dos cálculos polinomiais é o trabalho de Valiant, Skyum, Berkowitz e Rackoff. Eles mostraram que se um polinômio de grau r tem um circuito de tamanho s, então o polinômio também tem circuitos de polinômios de tamanho r e s.

Este resultado é considerado falso, dados resultados semelhantes nas configurações de Bollinger. Um corolário deste resultado é que simulações de circuitos envolvendo polinômios são fórmulas relativamente pequenas, neste caso, um polinômio de grau r para um circuito de tamanho s exigiria uma fórmula de tamanho s^ (O(log(r))).

Resumo

O design, o tamanho e a profundidade dos circuitos aritméticos são elementos-chave para o cálculo de polinômios. O estudo desses elementos não é apenas um desafio teórico em matemática, mas também está intimamente ligado a aplicações práticas. Nestes cálculos complexos, se conseguiremos encontrar métodos mais eficientes para resolver problemas maiores será uma das direções de pesquisas futuras.

Trending Knowledge

Por que alguns polinômios requerem circuitos grandes? Uma análise profunda de sua complexidade computacional!
Na teoria da complexidade computacional, os circuitos aritméticos se tornaram o modelo padrão para calcular polinômios. Normalmente, os circuitos aritméticos recebem variáveis ​​ou números como entrad
A descoberta de Strassen: como o cálculo da multiplicação de matrizes pode ser bastante simplificado?
Na teoria da complexidade computacional, os circuitos aritméticos se tornaram o modelo padrão para calcular polinômios. Esses circuitos funcionam tomando variáveis ​​ou números como entrada e então re
O maravilhoso mundo dos circuitos aritméticos: como calcular polinômios graficamente?
Na teoria da complexidade computacional, os circuitos aritméticos são considerados um modelo padrão para calcular polinômios. O princípio básico deste modelo é que um circuito aritmético pode ser oper
O segredo da computação determinante: como resolvê -lo de maneira inteligente usando circuitos polinomiais?
Na teoria da complexidade do cálculo, os circuitos aritméticos são considerados modelo padrão para calcular polinômios.Basicamente, a função de um circuito aritmético é receber variáveis ​​ou números

Responses