分治的逻辑学描述

放肆的年华 提交于 2019-12-05 06:56:11

分治的逻辑学描述

 

divide-and-conquer1.png

https://bigdata.oden.utexas.edu/project/divide-conquer-methods-for-big-data-analytics/

 

问题分解:

P = P1 + P2 +..PN

问题求解:

F(P) = 

F(P1 + P2 +..PN)=

F1(P1) + F2(P2) +..Fn(PN);

 

设问题的解决方案为 Y=F(X),其中 X 为问题的输入集合,F是问题的处理方法,Y是问题的解。将X拆分成多个子集以后,设这些子集的集合为 X={Xii≥1,i>n},则 X 满足以下条件:

X1 ++X2 ++...++Xn =X

 

在拆分以后,分治法对每个子集独立处理,即 Yi =F(Xi ),其中 Xi ∈X,则最终结果为:

Y=Marge(Y1 ,Y2 ,...,Yn )

其中,Merge函数用于将所有的子结果 Yi 进行合并的函数。

 https://blog.csdn.net/weixin_43145361/article/details/89510447

 

 

分治策略一般性描述

把上面的设计思想加以归纳,可以得到分治算法的一般描述.设P是待求解的问题,|P|代表问题的输入规模,一般的分治算法Divide-and-Conquer伪码描述如下:

算法 Divide-and-Conquer(P)

1. if |P| < c or |P| = c then S(P)

2. divide P into P1,P2,P3,...,Pk

3. for i = 1 to k do

4. yi ← Divide-and-Conquer(Pi)

5.Return Merge(y1,y2,y3,....,yk)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!