Considere o seguinte problema:
Dada uma matriz , queremos otimizar o número de adições no algoritmo de multiplicação para calcular v ↦ M v .
Acho esse problema interessante por causa de seus laços com a complexidade da multiplicação de matrizes (esse problema é uma versão restrita da multiplicação de matrizes).
O que se sabe sobre esse problema?
Existe algum resultado interessante relacionando esse problema com a complexidade do problema de multiplicação de matrizes?
A resposta para o problema parece envolver a localização de circuitos apenas com portas adicionais. E se permitirmos portões de subtração?
Estou procurando reduções entre esse problema e outros problemas.
Motivado por
Respostas:
Esse é essencialmente o problema que motivou Valiant a introduzir a rigidez da matriz na complexidade (tanto quanto eu entendo a história).
Um circuito linear é um circuito algébrico cujos únicos portões são portões de combinação linear de duas entradas. Toda transformação linear (matriz) pode ser calculada por um circuito linear de tamanho quadrático, e a questão é quando podemos fazer melhor. Sabe-se que para uma matriz aleatória não se pode fazer significativamente melhor.
Algumas matrizes - como a matriz de transformada de Fourier, uma matriz de classificação baixa ou uma matriz esparsa - podem ser realizadas significativamente melhor.
Uma matriz suficientemente rígida não pode ser calculada por circuitos lineares que são simultaneamente tamanho linear e profundidade de perfil (Valiant), mas até hoje não são conhecidas matrizes explícitas para as quais exista um limite inferior super-linear no tamanho de circuitos lineares.
Não me lembro de ver resultados dizendo que é difícil calcular o tamanho do menor circuito linear para uma determinada matriz, mas não me surpreenderia se fosse NP-difícil.
fonte
Esses limites são todos essencialmente os melhores possíveis. Veja o capítulo 6.3. no livro de Chazelle .
fonte