Por supuesto, depende de lo que pueda permitir que haga un solo nodo en un paso del mapa. El poder de MR es claramente al menos el poder de un solo nodo, y dado que las máquinas de un solo nodo son aproximaciones razonables a las máquinas de Turing, no existe un algoritmo, según la tesis de Church-Turing, que no se pueda ejecutar en un módulo de cluster MR problema de espacio finito que restringe a los nodos de ser realmente TMs.
Si comienza a restringir el problema, por ejemplo, al limitar la cantidad de memoria que puede usar un solo nodo, el problema se vuelve un poco más interesante. Como dijo Josh, puede simular una TM en un espacio finito pero ilimitado haciendo que cada paso en un trabajo MR iterado se corresponda con un solo paso en una TM. Creo que lo más natural aquí es escribir el estado completo de la cinta en cada paso de MR; de esa manera, cada paso puede editar la cinta de la forma que lo requiera (por lo que el paso 1 escribe el estado de la cinta después de la primera acción, el paso 2 escribe el estado después de la segunda, etc.). No hay necesidad de jugar trucos de ‘avance rápido’ en este caso.
La pregunta mucho más interesante, en mi opinión, es “¿qué algoritmos se pueden ejecutar de manera eficiente en un entorno de RM?”. Ya he dado una respuesta a esta pregunta aquí: ¿Ha habido algún trabajo teórico que delinee qué clase de algoritmos pueden y no pueden mapearse para mapear / reducir?
- ¿Cuál es el papel de las matemáticas en la programación de computadoras?
- ¿Podré enseñarme el currículo de la Academia Phillips Exeter?
- ¿Cuándo no se puede usar el combinador Y para definir la recursividad en el cálculo lambda?
- Cómo probar o refutar [math] \ log (n!) \ In \ Theta (n ^ 2) [/ math] en notación asintótica
- Tengo 23 años, quiero ser cantante profesional y quiero aprender música clásica. ¿Es demasiado tarde?