旅行推销员和地图/减少:放弃渠道
||
这是一个学术而不是实践的问题。在“旅行推销员问题”或其他涉及寻找最小优化的问题中……如果使用地图/归约方法,似乎有某种价值,可以将当前的最小结果广播给所有以某种方式允许计算节点放弃超出该范围的计算。
换句话说,如果我们将问题映射出来,我们希望每个节点知道何时在给定的部分结果完成之前放弃它,但是何时已经超出其他解决方案。
立即想到的一种方法是,Reducer是否具有向映射器提供反馈的方法。考虑我们是否有100个节点,并且映射器将数百万条路径馈入它们。如果reducer向映射器提供最佳结果,则该值可能会作为参数与每个新路径(问题子集)一起包含在内。在这种方法中,粒度是相当粗糙的... 100个节点将在解决问题的过程中不断精打细算,直到完成为止,并且仅从映射器的下一个请求中获得新的最小值。 (对于在这种粒度下工作的少量节点和大量问题分区/子集来说,这是无关紧要的;同样,很可能会将启发式方法应用于可能的路径或问题子集馈入的序列为了使节点快速收敛到最优值,从而使节点执行的“浪费”计算量最小化。
想到的另一种方法是让节点主动订阅某种类型的频道,多播甚至广播,从中可以从计算循环中收集新的最小值。在那种情况下,当他们(由其同伴之一)获悉更好的解决方案时,他们可能会立即放弃糟糕的计算。
因此,我的问题是:
与现有地图/缩小讨论相关的任何艺术术语都涵盖了此概念吗?
当前的任何map / reduce框架是否提供支持这种动态反馈的功能?
这个想法有什么缺陷吗?它为什么很愚蠢?
没有找到相关结果
已邀请:
2 个回复
窝头菊
呸溉