Esta es una pregunta académica más que práctica. En el Problema del Viajero Vendedor, o cualquier otro que implique encontrar una optimización mínima ... si uno estuviera usando un enfoque de mapa/reducir, parece que sería útil contar con algunos medios para que el resultado mínimo actual sea transmitido a todos los nodos computacionales de alguna manera que les permite abandonar los cálculos que exceden eso.Viajero vendedor y mapa/Reducir: Abandonar canal
En otras palabras, si correlacionamos el problema, nos gustaría que cada nodo sepa cuándo renunciar a un resultado parcial dado antes de que se complete, pero cuando ya se haya excedido alguna otra solución.
Un enfoque que viene inmediatamente a la mente sería si el reductor tenía un medio para proporcionar retroalimentación al asignador. Considere si teníamos 100 nodos y millones de caminos alimentados por el mapeador. Si el reductor proporciona el mejor resultado al asignador, ese valor podría incluirse como argumento junto con cada nueva ruta (subconjunto de problemas). En este enfoque, la granularidad es bastante difícil ... los 100 nodos seguirán reduciéndose en su partición del problema hasta su finalización y solo obtendrán el nuevo mínimo con su próxima solicitud del asignador. (Para un pequeño número de nodos y una gran cantidad de particiones problema/subconjuntos para trabajar en esta granularidad sería inconsecuente, también es probable que uno podría aplicar heurística a la secuencia en la que las posibles rutas o subconjuntos de problemas se alimentan a los nodos para obtener una convergencia rápida hacia el óptimo y así minimizar la cantidad de computación "desperdiciada" realizada por los nodos).
Otro enfoque que se le viene a la mente sería que los nodos se suscriban activamente a algún tipo de canal, o multidifusión o incluso difusión desde la que puedan obtener nuevos mínimos de su bucle computacional. En ese caso, podrían abandonar inmediatamente un mal cálculo cuando se les notifique una mejor solución (por uno de sus pares).
Por lo tanto, mis preguntas son:
- Es este concepto cubierta por cualquiera de los términos de arte en relación con el mapa existente/reducir discusiones
- hacer cualquiera del mapa actual/reducen los marcos proporcionan características para apoyar esta tipo de respuesta dinámica?
- ¿Hay alguna falla con esta idea ... alguna razón por la que es estúpido?