Ho avuto problemi ad accettare la visione teorica della complessità di "risolto in modo efficiente dall'algoritmo parallelo" che è data dalla classe NC :
NC è la classe di problemi che possono essere risolti da un algoritmo parallelo nel tempo su processori con .p ( n ) ∈ O ( n k ) c , k ∈ N
Possiamo assumere una carrozzina .
Il mio problema è che questo non sembra dire molto su macchine "reali", ovvero macchine con un numero limitato di processori. Ora mi è stato detto che "è noto" che possiamo "efficacemente" simulare un algoritmo di processore processori .p ∈ N
Che cosa significa "efficientemente" qui? Questo folklore o esiste un teorema rigoroso che quantifica il sovraccarico causato dalla simulazione?
Temo che ciò accada è che ho un problema che ha un algoritmo sequenziale e anche un algoritmo parallelo "efficiente" che, quando simulato su processori , impiega anche il tempo (che è tutto ciò che ci si può aspettare da questo livello di granularità di analisi se l'algoritmo sequenziale è asintoticamente ottimale). In questo caso, non c'è alcuna accelerazione per quanto possiamo vedere; infatti, l'algoritmo parallelo simulato può essere più lento dell'algoritmo sequenziale. Cioè sto davvero cercando dichiarazioni più precise di -bounds (o una dichiarazione di assenza di tali risultati).p O ( n k )