基于分划递推法的计算机算法研究与运用分析

2022-11-06

一、引言

软件的功能规约主要是对软件能够满足功能的精确的描述, 软件的设计规约主要是为满足这些功能所需要的内部结构陈述, 从软件的功能规约到设计规约其中的过程是比较困难的, 尤其体现在循环部分的转化上, 分划能够有效的将负责的问题简单化, 递推是进行循环不变式以及算法研究的重要组成部分, 将分划与递推相融合, 简化了功能规约向设计规约的转变。

二、分划递推法

程序设计开发过程中循环程序环节是重要的一部分, 同时也是比较困难的地方, 要求具有较高的创造性, 同时循环程序中主要是通过循环不变式来体现形式规约, 因此可以看出循环程序设计离不开循环不变式, 循环不变式对于完成循环程序具有非常重要的作用。当出现很多问题的循环不变式时, 仅仅依靠一些简单的设计方案是难以将问题顺利解决的, 所以, 我们应当深刻理解和认识循环程序的设计方案思维, 并以此为基础才能更好的完成循环程序设计和软件开发、自动生成等。

(一) 量词的运用标准

在对问题的功能规约进行表达时, 为了使表达能够清晰、准确, 对新添加量词进行了如下设定:A代表全称量词、E代表存在量词、S代表求和量词、P代表求积量词、N代表计数量词、MIN和MAX分别代表极小和极大量词。有时程序员之间对于相同问题规约会有不同的语言表达方式, 但是这两种方式传达的意思是相同的, 因此, 对于研究规约之间的等值换算是非常重要的, 在此之前需要先认识到量词的特征。举例说明如下:

公式中q是量词Q的运算符, 两者之间的详细对应关系见下列公式:

(二) 分划递推法的主要思想

从循环不变式新的概念以及发展模式中可以得出分划递推法的主要步骤分为下列几个部分:第一.对问题的功能规约表达制定标准化策略;第二, 将一个复杂的问题分裂为若干个子问题, 确保分划出来的子问题保持着原问题的构造, 同时复杂度要比原问题低, 按照这种方式继续分解子问题, 一直划分到分离出来的问题都可以求解, 最后得到解决问题的递推关系;第三, 确定递推关系中的变量、函数的原始值以及变量的有限范围, 将这些因素与递推关系相结合, 最后得出一个抽象的算法设计语言;第四, 根据循环不变式的新概念以及新的方案模式创建新的循环不变式;第五, 将第三点中获得的算法语言用标准化的程序语言表达出来。

三、分划递推法的应用举例

题目:设定某个整型数组b[1…n], 有且仅有1、2、3整数值, 同时要同时含有这些整数。以此为背景编写一段程序, 使数组b中的数值呈增序排列。

(1) 确定该问题的程序功能规约:

令:

则Q可以表示为:

(2) 此时用s1、t1、r1替换原式中的s、t、r, 并且发掘left、middle以及right中数值更换前后两者之间的关系。

(3) 循环不变式为

(4) 以抽象算法以及循环不变式为依据写出抽象程序设计表达式:

四、结语

分划递推法对于解决复杂问题, 减小程序功能规约向设计规约转变的难度, 在数学工具、建立循环不变式、从算法设计语言转化到抽象程序设计语言等部分进行了深入研究, 对软件自动化具有非常重大的意义。

摘要:分划是将复杂的问题简单化, 递推是进行循环不变式以及算法研究的重要组成部分, 将分划与递推相互融入, 建立一种新的计算机算法, 通过举例进一步阐释了分划递推法在实际题目中的运用, 有助于对分划递推法进行更好的研究。

关键词:分划递推法,计算机算法,运用

参考文献

[1] 孙嘉庆, 陈聪, 危玉倩, 李定国.微分递推法在舰船静态电场深度换算中的应用研究[J].兵工学报, 2018 (2) :345.

[2] 欧阳明达, 张敏利, 于亮.采用Belikov列推和跨阶次递推方法计算超高阶缔合勒让德函数[J].测绘工程, 2017 (7) :15-18+24.

[3] 孙跃, 肖辉, 冯亮, 杨慧玲, 陈程, 周筠珺.双偏振雷达差分传播相移质量控制的一种新方法——线性拟合-递推法[J].成都信息工程学院学报, 2015, 30 (5) :421-427.

[4] 刘缵武, 刘世晗, 黄欧.超高阶次勒让德函数递推计算中的压缩因子和Horner求和技术[J].测绘学报, 2011, 40 (4) :454-458.

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:中职《室内装饰品设计》课教学方法新探——以广东省丝绸职业技术学校为例下一篇:浅谈大数据时代下计算机网络信息安全