摘要: 一、P vs. NP P: 能在多项式时间内解决的问题。 NP: 不能在多项式时间内解决或不确定能不能在多项式时间内解决,但能在多项式时间验证的问题。 NPC: NP完全问题,所有NP问题在多项式时间内都能约化(Reducibility)到它的NP问题,即解决了此NPC问题,所有NP问题也都得到解决 阅读全文
posted @ 2020-07-25 13:13 zhangyazhou 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 一、组合优化的问题 组合问题的变量是离散的。 组合问题涉及到为一组满足特定约束条件的离散对象寻找解决方案(可以是子集、排序或赋值等)。 组合决策问题,组合优化问题,同一组合问题的决策和优化版本可以很容易地相互转换。 二、应用例子 Maximum Clique(最大团问题)(参考) 完全图:如果无向图 阅读全文
posted @ 2020-07-25 13:11 zhangyazhou 阅读(813) 评论(0) 推荐(0) 编辑
摘要: 张量网络定义 1.1 封闭的张量网络 用$[k]$来表示一个大小为$k$的有限集,$k$代表个数,例如一个大小为$k$的有限集${1,2,3,...,k}$。一个d元布尔函数$F:[2]^d\rightarrow C$,在$(x_1,x_2,x_3,...,x_d)$的值记为$F(x_1,x_2,x 阅读全文
posted @ 2020-07-25 13:09 zhangyazhou 阅读(582) 评论(0) 推荐(1) 编辑
摘要: Cannon算法 算法过程 假设矩阵$A,B$和$C$都可以分成$m\times m$块矩阵,即$A = (A_{(ij)}){m\times m},B = (B{(ij)}){m\times m}$和$C = (C{(ij)}){m\times m}$,其中$A,B_$和$C_$是$n \time 阅读全文
posted @ 2020-07-25 12:51 zhangyazhou 阅读(295) 评论(0) 推荐(1) 编辑
摘要: 一、Jacobi迭代 #include<stdio.h> #include<mpi.h> #include<stdlib.h> #define totalsize 16 #define mysize totalsize / 4 #define steps 10 int main(int argc, 阅读全文
posted @ 2020-07-25 12:48 zhangyazhou 阅读(281) 评论(0) 推荐(0) 编辑
摘要: MPI计算$\pi$ 利用公式 \[ \int_0^1 \frac{4}{1+x^2}dx = \pi \] #include<stdio.h> #include<mpi.h> #include<stdlib.h> #include<time.h> int main(int argc, char** 阅读全文
posted @ 2020-07-25 12:46 zhangyazhou 阅读(171) 评论(0) 推荐(0) 编辑
摘要: MPI示例 MPI时间函数测试 #include<stdio.h> #include<mpi.h> #include<stdlib.h> #include<time.h> #include<windows.h> int main(int argc, char** argv) { int err = 阅读全文
posted @ 2020-07-25 12:44 zhangyazhou 阅读(107) 评论(0) 推荐(0) 编辑
摘要: MPI聚合通信 MPI_Barrier int MPI_Barrier( MPI_Comm comm ); 所有在该通道的函数都执行完后,才开始其他步骤。 0进程在状态T1调用MPI_Barrier函数,并在该位置挂起,等待其他进程到达。最后在T4状态同时进行。 例子: #include<stdio 阅读全文
posted @ 2020-07-25 12:39 zhangyazhou 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 自定义数据类型 1.数据类型辅助函数 MPI_Type_commit int MPI_Type_commit( MPI_Datatype *datatype ); 在通信中使用数据类型对象之前,必须提交数据类型对象。提交的数据类型仍可用作数据类型构造函数中的参数。无需提交基本数据类型。它们是"预先承 阅读全文
posted @ 2020-07-25 12:35 zhangyazhou 阅读(2090) 评论(1) 推荐(0) 编辑
摘要: 进程组的创建 MPI_Comm_Group int MPI_Comm_group( MPI_Comm comm, MPI_Group *group ); 把相同的通信子进程放到一个组内。 #include<stdio.h> #include<mpi.h> #include<stdlib.h> #in 阅读全文
posted @ 2020-07-25 12:34 zhangyazhou 阅读(529) 评论(0) 推荐(0) 编辑