收藏 分享(赏)

mis管理实践论文范文.doc

上传人:HR专家 文档编号:7552696 上传时间:2019-05-21 格式:DOC 页数:7 大小:394KB
下载 相关 举报
mis管理实践论文范文.doc_第1页
第1页 / 共7页
mis管理实践论文范文.doc_第2页
第2页 / 共7页
mis管理实践论文范文.doc_第3页
第3页 / 共7页
mis管理实践论文范文.doc_第4页
第4页 / 共7页
mis管理实践论文范文.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、信息管理学院课程论文班 级:学 号:姓名:专 业:指导教师:信息管理学院 信息资源管理系二 年 月 日企业信息系统功能管理课程论文 专业:信息管理与信息系统(范文)MPI环境下的定理并行自动推理姓名: 学号:摘要 本文将几何定理机器证明和并行计算结合起来考虑,尝试用并行计算方法来提高传统定理证明算法效率,探讨了前推法、数值并行法的并行算法,分析了两种定理证明算法在消息传递编程模型下的任务划分、通信组织、任务调度等问题,并用MPICH2实现了这两种并行算法,对算法的并行性能指标进行了测试,测试数据表明,两种并行算法在基于MPI-2的并行计算环境下,能很好地发挥并行计算的优势,有效缩短构造性几何命

2、题机器证明的时间。关键词:前向推理,并行算法,数值并行法,性能量度,定理证明The Parallel Algorithmsfor Mechanical Geometry Theorem ProvingAbstractThe paper considers combiningthe mechanical geometry theorem proving with the parallel computation method, attempts the parallel computation method to improve the efficiencyof traditional theo

3、rem proving algorithms, discusses the parallel algorithms of the forward reasoning and the numerical verification method, analyzes the partitioning, communication and the task-scheduling algorithm with the message-passing programming model, implements the algorithms with MPICH 2, and then tests on t

4、he efficiency of the algorithms with parallel performance metrics. The result shows that the parallel algorithms could take advantage of parallel computation, and obviously reduce the proving time of constructive geometric theorems. Key words:forward reasoning; parallel algorithm; parallel numerical

5、 method; performance metrics; theorem proving1 前言人工智能与自动推理技术的应用十分广泛,几何定理机器证明是其中一个重要的分支。在实际运用中,对很多复杂度较高的问题,现有的算法在合理的时间内还不能解决。20世纪末以来,国外的一些研究人员已经开始尝试将并行计算技术引入到符号计算当中,以解决一些高复杂度的问题 1。本文将几何定理机器证明和并行计算结合起来考虑,主要探讨前推法、数值并行法的并行化算法,并在消息传递接口MPI-2的一个具体实现即MPICH 2所构建的并行计算环境下进行实现和测试。2理论背景前推法是一种基于规则的推理方法,类似于人的解题过程。

6、前推法有两个特点:(1) 能够产生传统形式的可读证明;(2) 无论结论是否能够被推出,都能产生大量有用信息。但是,当前推达到推理不动点仍未推出命题结论,并且不能断定命题不成立,需要用其他方法辅助推理,如添加辅助线、使用反证法等。实际上,可以用代数的方法( 吴方法、数值验证法等) 对命题的真伪做预先判定。数值验证法的基本思想是:要肯定或否定一条初等几何命题,只要检验若干个数值实例即可。与吴方法等代数方法相比,该方法用数值计算代替符号计算以减少解题难度,是很有特色的一种辅助方法。文献2-3 介绍了前推法的基本理论,关于数值验证法的具体理论阐述,可参看文献4-5 。3并行算法设计3.1 并行前推法并

7、行前推法程序从文件中读入一个几何命题,将题设条件写入初始信息库,不断将规则库中的规则应用于信息库,直到无法产生新的几何信息,然后检查信息库中是否有命题结论,若存在,则输出可读证明到文件中,否则,打印命题证明失败的信息。 (1) 任务划分。对各子步骤的数据依赖关系作分析,结果如图1所示。企业信息系统功能管理课程论文 专业:信息管理与信息系统 读 命 题 文 件 写 条 件 入 库 规 则 匹 配 1 检 查 新 信 息 1 规 则 匹 配 n 规 则 匹 配 2 检 查 新 信 息 n 检 查 新 信 息 2 生 成 证 明 文 件 读 规 则 库 图1 并行化后的数据依赖图于是,每个操作可以映

8、射为一个原始任务,每个原始任务和2个数据单元(条件信息组+规则) 相关联。比较好的数据关联策略是所有计算节点采用同样的规则集,不同的条件信息组进入节点进行匹配,这是条件组层次的并行,其并行粒度小,可扩展性也更好。由于任务的数目在编译时无法确定,各个任务之间不需要通信,完成不同任务所花费的时间也不尽相同,所以任务的映射应该在运行期完成,本文选择Master-Slave模式 6-7实现算法,用Master进程进行I/O 操作和任务分发。(2) 通信组织。本文采用任务/通道模型 7来描述算法中的通信情况。最初的通信由 Slave进程开始,它发送一个“就绪”消息给Master进程,Master进程用题

9、设条件构成初始信息库,向所有Slave进程广播该信息库,然后开始构造和分发规则匹配任务。在图2中,细虚线箭头表示广播规则的通道,粗虚线箭头表示信息库广播和匹配任务分发的通道,点划线箭头表示新信息回送给Master的通道。 命 题 文 件 信 息 库 结 果 文 件 Master 规 则 库 Slave n Slave 1 Slave 0 信 息 库 信 息 库 信 息 库 图2前推法任务/通道图在Slave进程进行一轮规则匹配后,各个Slave进程产生的新信息是不一样的,需要进行调整以保证本地和全局信息库的一致性。显然,Master进程收集完新信息后,只需向各 Slave进程广播一次即可。 (

10、3) 任务调度和复杂度分析 Master-Slave程序模式采用的是一种动态的任务分配策略,为了减少进程间额外的通信开销,Master进程在给Slave进程分配数据的时候,使用按组分配任务的策略,每次分配k个任务。k的具体数值受多个因素的影响,需要进一步分析。先前的设计中,构造匹配任务被设计成串行任务。本文采用流水线法进行改进:当Slave处理已有的匹配任务时,Master进程可以同时开始构造新的匹配任务。但是需要注意的是,如果当前信息库中的信息都已经用来产生匹配任务,那么Master进程停止匹配任务的构造,等待信息库的更新。本文仅粗略分析算法主体部分(忽略文件I/O 时间)执行时间的表达式。

11、由于采用了流水线方法,Master进程上进行的匹配任务的串行时间只需要计算到生成第一批任务的时间。设N为一次证明产生的匹配任务总数,P为处理器数目,k为每个处理器完成一轮推理的任务数目,为消息传递的延迟时间, 为Master进程产生一个匹配任务的时间, 为Slave进程完成一次规则匹配的0t 1t时间( 包括检验新信息)。在一轮推理中,要进行信息库分发和结论信息收集 2次广播通信。由于在MPI中,实现广播通信的算法的通信步数为 8,所以总的开销为 ,还要进行一次任务的分发,其开lbP2lbP销为 ,所以算法的执行时间为:企业信息系统功能管理课程论文 专业:信息管理与信息系统01()(2lb)N

12、kPkttP式中 为Master 产生第一批匹配任务的时间; 是剩余的匹配任务; 为循环推理的次数;0()kPt NkP为单个处理器完成每一轮规则匹配的时间( 完成k个任务) 。实际上,对每一个几何命题,N 是不能预先确1t定的,并且,虽然把每次消息传递的延迟统一处理了,但还是要受信息库以及推理结果信息大小的影响,所以上述表达式只能作为复杂度分析的参考,算法效率的分析应该以实际运行指标为重点。从上式还能够看出,当 时,时间表达式有最小值,这也从理论上回答了前面的k值确定问题。201(lb)NPkt3.2 并行数值验证算法并行数值验证程序从文件中读入一个几何命题,将题设条件转化为多项式方程组的形

13、式,确定验证实例的规模,然后对各实例在结论中是否成立进行并行验证,如果存在不成立的实例,则输出命题不成立的信息;否则,待实例全部验证完毕,输出命题成立的信息。(1) 任务划分。考虑到实例验证占用了大部分运行时间,而且各个实例验证时是互相独立的,任务划分可以使用功能分解:每个验证操作映射为一个原始任务,每个原始任务和一个实例相关联。由于算法开始阶段还存在一些串行操作,如读取命题文件、确定任务规模等,结束阶段要输出结果信息,本文仍然选择Master-Slave 模式来实现算法。(2) 通信组织。在图3所示的数值并行法任务/ 通道图中,细虚线箭头表示广播命题信息的通道,粗虚线箭头表示实例验证任务分发

14、的通道,点划线箭头表示结果信息回送给Master的通道。 输 出 命 题 文 件 Slave 0 Slave 1 Slave n Master 图3 数值并行法任务/通道图(3) 任务调度和复杂度分析。由于任务总数能够预先确定,所以可以采用静态的任务调度策略,一次产生全部任务,然后分发。但是对于每个验证任务来说,其时间复杂度和分配到的数值大小有很大关系,采用静态的任务调度,很可能造成计算节点负载不均衡,影响算法效率。为了平衡节点负载,可以考虑采用任务池竞争的分配方法来实现:Master进程不断生成任务写入任务池 (可以是共享内存也可以是文件),Slave进程完成一组任务后,从任务池中取另一组任

15、务,直到任务池为空,这就保证了各Slave进程始终处于工作状态。但是,采用任务池进行任务调度会明显增大进程间的通信开销,与静态的调度方法相比孰优孰劣,还需进一步分析 9。忽略任务开始阶段的广播开销,在静态调度方法中,任务生成的总时间为 ,任务分发是一次完成0Nt平均分配,每个处理器完成验证的总时间为 ,故总的耗时为:1NtP01Tt在任务池方法中,由于采用了流水线处理,任务生成的串行时间仅需要计算到前kP个任务。取任务大概需要进行N/kp次,每个处理器完成k个任务需要一次取任务的通信开销,故总的耗时为: 201()NkPtkt易知,当 时,上式有最小值:0NkPt 1302tTP企业信息系统功

16、能管理课程论文 专业:信息管理与信息系统为了比较T 1、T 3的大小,令 ,由于只关心N的不同取值对效率的影响,4130TNt02Pt故把N 看作主变量,注意到N0,易求得当 时, ,即 。0(1)t40T13T实际上, 是相当小的,在本系统中测得 ; 。代入上式,若P=10,那么当0t 0. 6st.8 5sN567时,任务池调度较优;若P=100,那么当N 566 7时,任务池调度较优。所以,在处理复杂的命题时,采用任务池的调度方法具有较好的效率。4算法测试由于影响并行算法效率的因素较多,在具体的计算环境中进行试验是检验算法效率必不可少的步骤。本文所作的算法测试是在以MPICH 2组建的并

17、行计算环境下进行的。通过对32个难易不同的几何命题进行验证,表明算法的并行设计比较成功,下面就以其中有代表性的3例进行分析,评价指标采用并行加速比和并行效率 10。例1如图4所示,在以O为圆心的 ABD的外接圆上取一点C,AD 、BC 交于点E,DCE的外接圆和ABE的外接圆交于点E和F。求证:OFEF。 D O B C E F H G A 图4 例1例2如图5所示,设BD是直角三角形ABC斜边上的高,E是BD的中点,过E作AB、BC 、AC的平行线分别与AC 、BC交于 F、G,与AB 、AC交于H、I ,与AB、BC 交于J、K。求证:G、H、K 、J 这4点共圆。 E F A J H B

18、 G K C I D 图5 例2例3如图6所示,ABC的三垂线AD、BE、CF分别交BC 、AC、AB于D、E 、F ,且AD、BE、CF 又相交于H,HPFE、HQFD。求证: PQ/AB。 A E C D B Q H F P 图6 例3实际测得两种并行算法的运行时间如表1、表2所示,表中的时间单位为秒(s)。表1 并行前推法执行时间节点数 例 1 例 2 例 3单机 80.22 5.39 24.71企业信息系统功能管理课程论文 专业:信息管理与信息系统2 42.67 5.08 13.883 30.74 5.23 10.134 24.09 5.34 8.735 21.62 5.67 7.58

19、6 18.96 7.38 7.337 17.51 7.19 6.908 15.70 7.93 6.67表2 数值并行法执行时间节点数 例 1 例 2 例 3单机 1818.74 50.78 1.752 927.93 26.73 1.173 635.92 18.81 1.264 490.23 14.94 1.415 417.14 13.02 1.516 348.59 11.54 1.597 313.58 9.84 1.668 281.98 9.07 1.70任务规模 509796 33856 256依据表1,计算并绘制并行前推法的加速比曲线,如图7所示。图7中的虚线是加速比的估计值,它根据Gus

20、tafson-Barsis定律 11计算。计算时串行时间比例取为0.1。从图中可以看出,并行前推所能获得的加速比和并行效率并不十分理想,8节点下最大加速比5.11也与估计值7.3相差甚远。在证明例2时,大于4个节点参与计算时,节点间的通信开销已经超过了任务分摊所能减少的执行时间,这是由于推理时产生的总任务数不多。但是当单节点计算耗时较多时(如例1) ,并行算法还是能显著减少解题时间。这种情况是算法和系统的并行开销,还是算法本身缺少很好的并行性造成的呢?下面通过计算Karp-Flatt量度 12来回答这一问题。用e表示试验确定的串行比例,那么 。计算1/pSe结果如表3所示。 8 7 6 5 4

21、 3 2 1 0 加速比节 点 数 /个 1 8 7 6 5 4 3 2 例 1 例 2 例 3 估 计 值 图7 并行前推法加速比曲线表3 试验确定的串行比例节点数 例 1 例 2 例 32 0.06 0.88 0.123 0.07 0.96 0.114 0.07 0.98 0.135 0.08 / 0.136 0.08 / 0.157 0.09 / 0.158 0.08 / 0.16考察例1,e基本保持在一个稳定水平,表明性能不好的主要原因是算法中有限的并行性;对例2,当节点数大于5时,由于通信开销的急剧增大,使得e的计算失去了意义;考察例3,发现e随着p增大而有规律地增大,说明此时算法和

22、系统中的并行开销是导致加速比差的主要原因。依据表2,计算并绘制数值并行算法的并行效率曲线如图8所示。企业信息系统功能管理课程论文 专业:信息管理与信息系统 12010 80 40 0 并行效率/(%) 节 点 数 /个 1 8 7 6 5 4 3 2 例 1 例 2 例 3 60 20 图8数值并行算法效率曲线从图8中可以看出,算法并行效率较高,并行效率随节点数增加呈下降趋势,这是通信开销的正常增大造成的。有趣的是,并行前推法对例2的效果好,对例3的效果不好,而数值并行法正好相反。怎样把两种算法的长处进行互补,提高系统的综合解题能力,需要进一步地研究。5结论本文尝试将并行计算与几何定理机器证明

23、相结合,所做的工作是一个良好的开端。两种并行算法在基于MPI-2 的并行计算环境下,能很好地发挥并行计算的优势,有效缩短构造性几何命题机器证明的时间。其中,并行前推法由于其实际推理过程的复杂性 13,算法效率波动较大,试验数据表明,其并行性能还有进一步提高的空间。参 考 文 献1 WANG P. Parallel polynomial operations on SMPs: an overviewJ. Journal of Symbolic Computation, 2001, 11(1): 377-396.2 张景中, 高小山, 周咸青. 基于前推法的几何信息搜索系统J. 计算机学报, 19

24、96, 19(10):721,723-727.ZHANG Jing-zhong, GAO Xiao-shan, ZHOU Shan-ching. The geometry information search system by forward reasoningJ. Chinese Journal of Computers, 1996, 19(10): 721,723-727.3 CHOU SC, GAO XS,ZHANG JZ. Automated production of traditional proofs for constructive theoremsC/Proof of 8t

25、h IEEE Symposium on Logic in Computer Science. WashingtonD.C. : IEEE Computer Society Press, 1993.2 YANG L, ZHANG J Z. A prover for parallel numerical method verification to a class of constructivegeometric theoremsJ. Journal of Guangzhou University (Natural Science Edition), 2002, 1(3): 30-35.5 邓米克

26、. 证明构造性几何定理的数值并行法J. 科学通报, 1988, 33(24): 13-16.DENG Mi-ke. The parallel numerical method for constructivegeometric theorems provingJ. Chinese Science Bulletin, 1988, 33(24): 13-16.6 都志辉. 高性能计算并行编程技术-MPI并行程序设计M. 北京: 清华大学出版社, 2001.DU Zhi-hui.Parallel programming for high performance computing-parallel

27、programming with MPIM. Beijing:Tsinghua University Press, 2001.7 MICHAEL J Q. parallel Programming in C with MPI and openMP M.New York: McGraw-Hill Press, 2003.8 WILLIAM G, EWING L, RAJEEV T. Using MPI-2: advanced features of the message-passing interface M.Boston: MIT Press , 1999.9 潘 斌, 郭红霞. 几何定理并

28、行验证算法研究J. 计算机工程, 2007, 33(1): 16-18, 21.PAN Bin,GUO Hong-xia.Reasearch on parallel algorithm of numerical verification for geometry theorem provingJ. Computer Engineering, 2007, 33(1): 16-18, 21.10 GREGORY V W. Practical parallel programming M. Boston: MIT Press, 1995.11 GUSTAFSON J L. Reevaluating

29、Amdahls lawJ. Communication of ACM, 1988, 31(5): 532-533.12 KARP,ALAN H,HORACE P F. Measuring parallelprocessorperformanceJ. Communications of ACM, 1990, 33(5):539-543.13 李 涛, 张 波, 李传中. 基于前向推理的平面解析几何自动推理系统研究与实现J. 计算机应用, 2006, 26 (7): 1715-1717.LI Tao, ZHANG Bo, LI Chuan-zhong. Automatic reasoning system of plane analytic geometry based on forward reasoningJ. Journal of Computer Applications, 2006, 26(7): 1715-1717.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报