Eu tive problemas para aceitar a visão teórica da complexidade de "resolvido com eficiência por algoritmo paralelo", que é dada pela classe NC :
NC é a classe de problemas que podem ser resolvidos por um algoritmo paralelo em tempo em p ( n ) ∈ S ( n k ) processadores com c , k ∈ N .
Podemos assumir uma PRAM .
Meu problema é que isso não parece dizer muito sobre máquinas "reais", ou seja, máquinas com uma quantidade finita de processadores. Agora eu sou dito que "é sabido" que podemos "eficiente" simular um algoritmo processador em p ∈ N processadores.
O que significa "eficientemente" aqui? É folclore ou existe um teorema rigoroso que quantifica a sobrecarga causada pela simulação?
Receio que isso aconteça é que tenho um problema que possui um algoritmo seqüencial e também um algoritmo paralelo "eficiente" que, quando simulado em processadores p , também leva tempo O ( n k ) (o que é tudo isso pode ser esperado nesse nível de análise de granularidade se o algoritmo seqüencial for assintoticamente ideal). Nesse caso, não há aumento de velocidade até onde podemos ver; de fato, o algoritmo paralelo simulado pode ser mais lento que o algoritmo seqüencial. Ou seja, estou realmente procurando por instruções mais precisas que os limites O (ou uma declaração de ausência de tais resultados).