Los algoritmos paralelos se utilizan sobre algoritmos secuenciales para aumentar la eficiencia o la velocidad de procesamiento.
Considere, un ejemplo muy básico, que desea encontrar si la matriz está ordenada o no. El uso del algoritmo secuencial le dará una complejidad de O (n), mientras que al usar múltiples procesadores para trabajar en paralelo, puede hacerlo en O (1).
Este es un ejemplo básico. Del mismo modo, todos los algoritmos pueden ser paralelizados. Sin embargo, si el tiempo de trabajo es mayor o igual que el algoritmo secuencial, es inútil. Por lo tanto, solo aquellos algoritmos que son óptimos para el trabajo se usan en computación paralela.
- ¿Sigue siendo relevante el modelado de objetos, o se ha reemplazado hoy solo con datos y algoritmos?
- ¿Cómo afecta el subprocesamiento múltiple al rendimiento de diferentes algoritmos de clasificación?
- Cómo entender el algoritmo maestro del documento sobre la resolución del isomorfismo gráfico en tiempo cuasi polinomial
- ¿Es posible crear un algoritmo de proximidad a la muerte?
- Entre la ordenación rápida, la ordenación por inserción y la ordenación en montón, ¿cuál es la mejor para clasificar datos y por qué?
Hoy en día existe un algoritmo paralelo para casi todos los algoritmos secuenciales, intente buscar un algoritmo que conozca en Google. Por ejemplo, ‘algoritmo paralelo de clasificación de burbujas’ y lo obtendrá.
Sin embargo, hay algunos que son difíciles de implementar. Este artículo presenta una serie de problemas que son fáciles de resolver secuencialmente pero difíciles de paralelizar: http://en.wikipedia.org/wiki/Pc…
El problema del valor del circuito (“dado un circuito booleano + su entrada, decir lo que emite”) es un buen punto de partida: fácil de entender, fácil de resolver con algoritmos secuenciales, y nadie sabe si se puede paralelizar de manera eficiente.