Es improbable que cualquier problema PAGS completo tenga un algoritmo paralelo eficiente. Por qué ?
La existencia de problemas PAGS completos es la pista más importante que ( P∩ PO L YL O G SPAGSA Cmi) ≠ P. La pregunta entonces es, ¿por qué esta conjetura es relevante para la computación paralela? Comencemos con los recursos utilizados en un cálculo. Para computación secuencial: tiempo y espacio; para computación paralela: tiempo y hardware (número de procesadores). ¿Hay una relación? ¡Sí! Espacio secuencial time tiempo paralelo; Tiempo secuencial hardware hardware paralelo. La correspondencia entre el espacio secuencial y el tiempo paralelo parece ser independiente del modelo de computación paralela adoptado; esto lleva a lo siguiente, llamada tesis de computación paralela que no está probada.
(Chandra y Stockmeyer) Cada cálculo de una TM con complejidad espacial puede simularse en un modelo de computación paralela en el tiempo T ( n ) = O ( S ( n ) O ( 1 ) ) y cada cómputo de una computación paralela El modelo con complejidad temporal T ′ ( n ) puede ser simulado por una TM con complejidad espacial S ′ ( n ) = O ( T ′ ( n ) OS( n )T( n ) = O ( S( n )O ( 1 ))T′( n ).S′( n ) = O ( T′( n )O ( 1 ))
La clase de problemas que se pueden resolver secuencialmente en el espacio polinomial es y el conjunto de problemas que se pueden resolver en el tiempo polinómico es P. Dado que se piensa que P S P A C E es una clase de problemas mucho mayor que P , la tesis cuantifica la mejora efectiva hecha posible por el paralelismo. Una consecuencia de esta tesis es que una PRAM puede resolver problemas completos de N P en tiempo polinómico ... ¡Desafortunadamente, no! La tesis de computación paralela implica que en realidad podemos tratar problemas que pertenecen a P S P A C EPAGSSPAGSA CmiPAGSPAGSSPAGSA CmiPAGSnortePAGSPAGSSPAGSA Cmi... pero esto requiere un número exponencial de procesadores! Está funcionando una compensación tiempo-espacio: el tiempo exponencial en el modelo de computación secuencial se transforma en un número exponencial de procesadores en el modelo de computación paralela, mientras que el espacio polinómico en el modelo de computación secuencial se transforma en un tiempo polinómico en el paralelo modelo informático
Esta compensación es más fácil de entender si tratamos de restringir tanto tiempo paralelo y hardware en paralelo: si el modelo de computación en paralelo tiene un número polinómico de procesadores, entonces la clase de problemas que tienen solución en tiempo polinómico paralelo es . Si restringimos el número de procesadores a un polinomio, podemos mejorar el rendimiento de una máquina secuencial, pero no más que un factor polinomial. Por lo tanto, podemos reducir el grado del polinomio que representa la complejidad del tiempo, pero no podemos usar el paralelismo para reducir los costos exponenciales a los costos polinomiales.PAGS
Los problemas resueltos en paralelo con la complejidad tiempo polinómico son esos problemas pertenecientes a . La restricción polinómica en el número de procesadores conduce a un modelo de computación paralelo equivalente a TM. Hay dos consideraciones prácticas importantes: ¿qué número polinómico de procesadores es aceptable / asequible? En la práctica, el número polinómico de procesadores debe ser lineal o cercano. ¿Qué tiempo subpolinomial es alcanzable? Resultó que casi todos los problemas viables altamente paralelos pueden alcanzar el tiempo paralelo pollogarítmico. En paralelo, una complejidad temporal que es logarítmica en la longitud de entrada representa un cálculo paralelo eficiente. Un algoritmo paralelo se considera eficiente si, dado un número polinómico de procesadores, su complejidad temporal es poliglogarítmica.PAGS
Dado un problema donde k y h son constantes, la tesis de computación paralela implica la existencia de un algoritmo paralelo para R con complejidad de tiempo O ( ( l o g n ) k ′ ) donde k ′R ∈ TyoMETROmi_ SPAGSA CmiTMETRO( nk, ( l o gn )h)khRO ( ( l o gn )k′)k′Es una constante. La comparación entre tiempo secuencial y paralelo permite clasificar a como un problema altamente paralelizable (desde una perspectiva de tiempo).R
De la tesis de computación paralela, se deduce que es la clase de problemas altamente paralelizables. P O L Y L O G S P A C E no contiene problemas completos con respecto a las reducciones de espacio logarítmico; esto implica P O L Y L O G S P A C E ≠ P . Parece quePAGSO L YL O G SPAGSA CmiPAGSO L YL O G SPAGSA CmiPAGSO L YL O G SPAGSA Cmi≠ P
- PAGSO L YL O G SPAGSA Cmi⊄ P
- PAGS⊄ PO L YL O G SPAGSA Cmi
contiene los problemas que se pueden resolver en el tiempo polinomial utilizando el espacio poliligarítmico. Los problemas completos de P probablemente pertenecen a P - ( P ∩ P O L Y L O G S P A C E ) .PAGS∩ PO L YL O G SPAGSA CmiPAGSPAGS- ( P∩ PO L YL O G SPAGSA Cmi)
(la clase de Nick, llamada así en honor a Nicholas Pippenger, el primero en identificarla y caracterizarla en 1979) es la clase de problemas que se pueden resolver en el tiempo poliligárítmico (es decir, con la complejidad del tiempo O ( ( l o g n ) k ) ) con un número polinómico de procesadores (es decir, delimitado por O ( f ( n ) ) para alguna función polinómica f donde n es el tamaño del problema) La tesis de computación paralela implica N C ⊂ ( P ∩ P OnortedoO ( ( l o gn )k) )O ( f( n ) )Fnorte .nortedo⊂ ( P∩ PO L YL O G SPAGSA Cmi)
Sin embargo, desafortunadamente, por definición, también incluye muchos problemas que no son paralelizables de manera eficiente. El ejemplo más infame es la búsqueda binaria paralela . El problema es que este problema tiene una complejidad de tiempo pollogarítmico incluso para p = 1. ¡Cualquier algoritmo secuencial que requiera como máximo tiempo logarítmico en el peor de los casos está en N C, independientemente de su viabilidad paralela!nortedopagsnortedo
Ahora, finalmente podemos explicar por qué los problemas completos son los problemas paralelizables más difíciles. Dado un problema Q- P completo , es muy poco probable la existencia de un algoritmo paralelo eficiente: si dicho algoritmo paralelo existiera con una complejidad temporal O ( ( l o g n ) k ) , entonces la tesis de computación paralela implicará la existencia de un algoritmo secuencial con complejidad espacial O ( ( l o g n ) k ' ) para el mismo problema. Como Q es una PPAGSPAGSQO ( ( l o gn )k)O ( ( l o gn )k′)QPAGSproblema -Complete esto a su vez implica que todos los problemas en puede ser resuelto en el espacio poli-log: ( P ∩ P O L Y L O G S P A C E ) = P . Como ya sabe, creemos que ( P ∩ P O L Y L O G S P A C E ) ⊂ P , aunque todavía no podemos probar esto.PAGS( P∩ PO L YL O G SPAGSA Cmi) = P( P∩ PO L YL O G SPAGSA Cmi) ⊂ P
Una observación final, sobre el requisito del procesador polinomial. Bueno, esa es una afirmación teórica. En la práctica: un requisito de procesador que crece más rápido que el tamaño del problema podría no ser realmente útil.