Estou curioso, em um sentido amplo, sobre o que é conhecido sobre algoritmos de paralelização em P. Encontrei o seguinte artigo da Wikipedia sobre o assunto:
http://en.wikipedia.org/wiki/NC_%28complexity%29
O artigo contém a seguinte frase:
Não se sabe se NC = P, mas a maioria dos pesquisadores suspeita que isso seja falso, o que significa que provavelmente existem alguns problemas tratáveis que são "inerentemente sequenciais" e não podem ser significativamente acelerados usando o paralelismo
Isso soa razoável? Existem casos conhecidos em que um problema em P não pode ser acelerado usando paralelismo?
cc.complexity-theory
complexity-classes
big-picture
Vladimir Levin
fonte
fonte
Respostas:
Nem se sabe se NC = P, mas problemas com P-completos parecem ser inerentemente difíceis de paralelizar. Isso inclui Programação Linear e Horn-SAT. (Por outro lado, os problemas na NC parecem razoavelmente fáceis de paralelizar.)
Veja a pergunta Problemas entre NC e P: Quantos foram resolvidos nesta lista? para material de referência (incluindo links para um livro clássico que agora está disponível para download gratuito) e mais discussões sobre problemas que estão em P, mas que não são conhecidos por serem paralelamente agradáveis.
Veja a pergunta Teorema de Ladner Generalizado para a estrutura das classes de complexidade entre NC e P. Resumidamente, se elas diferem, existem infinitas classes de complexidade estritamente entre NC e P.
Veja a pergunta NC = P consequências? para uma boa demonstração de Ryan Williams de que é possível ampliar colapsos na hierarquia de classes de complexidade em P em colapsos talvez mais improváveis, como PSPACE = EXP .
Vale ressaltar que uma consequência do Horn-SAT ser P-complete, e os links acima, é que não parece possível paralelizar consultas SQL gerais em bancos de dados, a menos que também possamos reescrever qualquer computação em larga escala para usar apenas uma quantidade razoável de armazenamento. Essa é uma discrepância intrigante - acho bastante incontroverso afirmar que há limites para a compactação , mas muitas vezes vejo artigos que parecem construídos com a suposição de que é possível paralelizar qualquer consulta ao banco de dados.
fonte
Bem, se houvesse casos conhecidos, poderíamos separar P e NC. Mas existem muitos problemas conhecidos por estarem completos P (isto é, sob reduções do espaço de log) e apresentam o mesmo tipo de barreiras para mostrar P = NC que os problemas completos de NP fazem para P = NP. Entre eles, incluem programação linear e
correspondência (efluxos máximos em geral).Ketan Mulmuley provou um resultado que separou P e uma forma fraca de NC (sem operações de bit) em 1994. Em certo sentido, seu programa atual para P vs NP decola de onde parou ( de uma maneira muito frouxa ).
O livro ' Limites da computação paralela ' tem mais sobre isso.
fonte
Respondi à pergunta semelhante: Existem problemas / algoritmos famosos na computação científica que não podem ser acelerados por paralelização no site da Ciência da Computação ? Deixe-me citar aqui, porque oferece uma perspectiva prática sobre uma instância muito concreta de um problema assim:
fonte