给定一个包含n个节点的图形,有许多串行方法可以提高复杂度并降低复杂度,以便在图形中找到长度为k的简单路径。目前最着名的渐近复杂度为O(2^k poly(n,k)) time。另一方面,朴素算法只列举长度为k的所有路径,并且至少花费O(n ^ k)时间。
你怎么能将朴素算法翻译成MapReduce范例中的高效工作?这类东西是否有现有的库?
答案 0 :(得分:0)
MapReduce是一个并行化框架,因此算法必须在某种程度上易于并行化,即我们可以将解决方案空间的处理划分为独立的集合。 我想对于天真算法,您可以告诉每个节点找到以固定图节点开头的k-1长路径。为简单起见,如果我们有n台机器,每台机器都可以搜索以1,2,...,n开头的k-1路径。当然,并行化只能提供恒定的时间改进。