计算复杂性范文

2024-08-02

计算复杂性范文(精选11篇)

计算复杂性 第1篇

关键词:装备仿真,体系结构,复杂性分析

一、装备仿真系统体系结构形式化描述

与体系结构复杂性分析相关的设计内容主要包括组成模块 (LV-1) 、系统划分 (LV-2) 、数据字典 (LV-3) 、信息交换矩阵 (LV-4) 等。

(1) 组成模块

组成模块 (LV-1) 是指在体系结构设计阶段被识别出、具备一定功能且相对独立的系统最小组成单元。

定义1组成模块

(2) 系统划分

系统划分 (LV-2) 是指分系统划分方案, 每个分系统包含若干个组成模块。

定义2系统划分 , 其中, 每个分系统包括若干个组成模块,

(3) 数据字典

数据字典 (LV-3) 描述的是信息与数据的对应关系。

定义3数据字典 , 其中, 每个信息由若干个数据组成,

(4) 信息交换矩阵

信息交换矩阵 (LV-4) 描述各组成模块间的信息交换关系。

定义4信息交换矩阵

二、系统复杂性计算

2.1 系统耦合度计算。

系统耦合度用来度量各分系统间的关联程度。分系统间的关联表现为分系统所包含的组成模块对外的信息交换复杂程度。根据定义3, 每个信息由若干个数据组成, 则信息的复杂度 ,s为infi所包含的数据个数所

根据定义4, INFSij表示 间的交换信息集合, 则组成模块 之间的耦合度

进一步可计算出分系统Si的耦合度

系统的耦合度用所有分系统耦合度的总和来度量, 即:。

2.2 系统内聚度计算。

系统内聚度由系统内各分系统的内聚度总和来计算。在定义1中给出了每个组成模块的输入信息集和输出信息集, 由此给出组成模块的总信息集

用 表示组成模块的信息集数据量。则分系统Si的内聚度为:

当Si只有一个组成模块时, 。 。

其中 表示分系统Si中任意两个模块的组合数。 表示分系统Si中所有交换信息的最大数据量。

系统的内聚度。 。

2.3 系统三性指标符合度计算。

定义5系统的三性指标RV可以描述为一个三元组:

。其中: 表示可靠性、经济性、保障性; 表示可靠性要求、经济性要求、保障性要求。

可靠性要求、经济性要求、保障性要求的取值计算方法见表-3。

系统体系结构的三性指标符合度为:

2.4 体系结构复杂度计算。

在对体系结构设计方案进行评价时, 重点需要考虑系统的复杂度, 同时还要考虑系统的可靠性、经济性、保障性等三性指标符合程度。体系结构内聚度越高、耦合度越低, 则复杂度越低。在复杂度降低的同时, 如果三性指标符合程度越高, 则系统体系结构设计方案越优。

考虑三性指标的系统复杂度计算公式为:

三、实例分析

本文以某型装备仿真系统体系结构为例进行验证计算, 依据其信息交换矩阵及数据字典, 得出各模块间的数据交换关系如图1所示。系统包括15个组成模块, 模块之间数据关系复杂。上述模块由6个系统实现, 现有两个设计方案。

方案1:

方案2:

三性指标要求及两个设计方案的三性指标实际评价取值见表-4。

由上述描述, 可得方案1和方案2的耦合度、内聚度、三性指标、复杂度 (见表-5) 。

从计算结果可以看出, 方案2的复杂度比较小, 所以选取方案2为优选方案。

结束语

本文给出了体系结构形式化描述方法, 并提出了一种的复杂度计算方法。该方法结合了系统体系结构设计的可靠性、经济性、保障性等三性要求, 复杂性分析结果更加有利于系统方案的优选。本文所提的方法不仅适合于装备仿真系统, 也适合于其他相似类型信息系统体系结构的复杂性分析。

参考文献

[1]Darcy D P, Kemerer C F, Slaughter S A, et al.The Structural ofSoftware:An complexity Experimental Test[J].IEEE Transactions onSoftware Engineering, 2005, 31 (11) :982-995.

[2]王忠杰, 徐晓飞, 战德臣.基于熵的信息系统业务模型复杂性度量[J].计算机科学, 2006, 33 (1) :104-107.

[3]李兵, 王浩, 李增扬, 等.基于复杂网络的软件复杂性度量研究[J].电子学报, 2006, 34 (12A) :2371-2375.

复杂系统研究的计算理论与方法 第2篇

关于复杂系统研究的计算理论与方法

本文简单讨论了对复杂系统及研究方法的一些认识,在此基础上,提出了利用人工系统的`概念和方法以计算手段研究复杂系统的设想.讨论的重点是基于计算机实验室的计算实验理论和人工与实验系统并举的平行系统决策分析方法,以及研究复杂系统的计算理论与方法的基本框架和内容.

作 者:王飞跃 作者单位:中科院自动化所复杂系统与智能科学重点实验室刊 名:中国基础科学 ISTIC英文刊名:CHINA BASIC SCIENCE年,卷(期):20046(5)分类号:关键词:复杂系统 复杂性 涌现 人工社会 人工系统 计算实验 平行系统

计算复杂性 第3篇

英特尔 可扩展系统框架 (英特尔 SSF)致力于平衡和优化计算、内存、存储、能效及其他各方面的性能。英特尔 SSF是一种高级架构方法,可简化HPC系统的采购、部署和管理。英特尔致力于通过提供经过验证的可靠、模块化的整合性HPC软件平台来简化系统管理,从而引领整个生态系统的转型。

英特尔 HPC Orchestrator现已上市,HPC系统构建商、应用开发商和最终用户可利用此软件平台提高系统设置和管理效率,支持大规模测试并简化用户部署。英特尔 HPC Orchestrator 是一种可定制平台,既支持传统HPC工作负载,也支持机器学习、高性能数据分析和无人驾驶等新兴用途。

英特尔 HPC Orchestrator基于OpenHPC 社区系统软件堆栈,包括多种编译器选项、MPI系列、基本操作系统组合以及协助自动安装的工具。此外还集成了具有90天评估许可的英特尔 Parallel Studio XE Cluster Edition 产品,可提供初始下载后的便捷安装。

作为英特尔 SSF的重要组件,英特尔 HPC Orchestrator包括60余种预集成的模块化组件,并提供持续更新和技术支持服务。这可帮助HPC系统开发人员和用户将其技术资源专注于增强HPC解决方案并建立差异化优势。

英特尔 HPC Orchestrator现通过OEM启动系统供应商戴尔 和富士通 进行发售,很快将会推出其他发售渠道。

上市仅9个月的时间,英特尔 Omni-Path 高速互联架构 (英特尔 OPA)已成为100 GB 系统的标准架构。在2016年全球超级计算大会上公布的全球超级计算机500强中,有28套使用了英特尔 OPA,且在100 GB系统中占比66%1。这些全球500强系统包括Oakforest-PACS、MIT林肯实验室和CINECA。

在此次大会评选出的500强超级计算机名单中,共计28套集群部署了英特尔OPA,该数据是InfiniBand EDR系统的两倍,在所有100GB系统中的比例约为66%。此外,还有两个系统位居前15位:Oakforest-PACS以8,208个节点排名第6,CINECA则以3,556个节点排名第12。在本次榜单中,英特尔 OPA系统的每秒总浮点运算达到43.7千万亿次(Rmax),这是所有InfiniBand EDR系统浮点运算次数的2.5倍。

英特尔 OPA具有高性能、高性价比以及错误检测和无额外延迟纠正等创新架构功能,可提供极为显著的客户优势,因此在大规模发售仅9个月内,市场采用率迅速增长。

英特尔 OPA是一种端到端互连解决方案,可提高不同规模集群的HPC工作负载。与InfiniBand EDR相比,该解决方案将应用性能提高了9%,并将平均架构成本降低了37%之多2。

目前已部署安装英特尔 OPA的包括日本东京大学、筑波大学(JCAHPC)、德州理工大学、华盛顿大学、科罗拉多大学波尔德分校、麻省理工学院林肯实验室和马来西亚气象局。目前全球已成功部署了100多套英特尔 OPA集群,这主要得益于其富有竞争力的基准性能和领先的性价比。

借助英特尔 Deep Learning Inference Accelerator加速AI实现

凭借其业内领先的性能和强大的软件生态系统,基于英特尔的平台几乎为所有HPC和机器学习工作负载提供支持。借助英特尔 Deep Learning Inference Accelerator,英特尔在2017年扩大了AI解决方案产品组合。英特尔 Deep Learning Inference Accelerator是一种基于现场可编程门阵列(FPGA)的集成软硬件解决方案,可用于神经网络加速。

英特尔 Deep Learning Inference Accelerator 可为图像识别应用提供可扩展的加速解决方案,为数据中心带来出色的吞吐量和能效,从而使用户能够在数分钟内部署深度学习解决方案。

其硬件采用了专为卷积神经网络(CNN)目标拓扑优化的英特尔 Arria 10 FPGA插入板。其基于FPGA的架构可支持远程更新,因此可随着AI领域的快速创新及时更新硬件。

可通过英特尔 Distribution for Caffe 和 英特尔 Math Kernel Library for Deep Neural Networks (英特尔 MKL-DNN)等行业标准框架对英特尔 Deep Learning Inference Accelerator进行软件编程。 英特尔 Deep Learning Inference Accelerator 将于 2017年上市。

扩展英特尔SSF生态系统

英特尔及其生态联盟合作伙伴不断发布大型系统、优化解决方案、新工具和资源以及新英特尔 SSF 计划,以扩展英特尔 SSF生态系统。

最近,下列企业和组织采用了英特尔 SSF:MIT林肯实验室等领先大学和研究中心在其500强的超级计算机中部署了英特尔 SSF。HPE 将英特尔 SSF 集成至HPE下一代测序解决方案版本中,以提高基因测序的速度和成本效益。戴尔将英特尔 SSF 集成到用于生命科学领域的戴尔HPC系统,以加快包括药物设计、癌症研究、农业和法医学在内的多个领域的信息转化。英特尔发布了英特尔 Cluster Checker 2017更新。这款全面诊断工具在英特尔 Parallel Studio XE 2017 中发行,支持英特尔 至强 处理器、英特尔 至强融核 处理器、英特尔 OPA和适用于Lustre 的英特尔 企业版软件。

英特尔 至强融核处理器系列更新

英特尔 至强融核 处理器 7210、7230、7250 和 7290 系列现已发售,集成英特尔 OPA的处理器计划于本月大量发售。50余种基于英特尔 至强融核 处理器的HPC设计已在业内得到广泛采用。 最新的英特尔 至强融核 处理器已部署于全球超级计算机500强中的9个新系统,其中有2套系统排名前10,它们分别是排名第5的Cori系统和排名第6的Oakforest-PAC系统。此外,英特尔也是支持排名第20位的系统——Theta系统中橡树岭、阿贡、劳伦斯利弗莫尔合作项目(CORAL)的主要合约方。Theta系统将有助于提高美国在科学研究中的领导力。英特尔扩大了在日本、韩国、欧洲和美国的全球合作,因而推动了针对基于英特尔 至强融核 处理器的平台的开发者使用计划。 英特尔 至强融核 协处理器将于2017年初上市。

英特尔 至强 处理器不断创新

英特尔 至强 平台几乎为所有HPC和机器学习工作负载提供支持。为了进一步推进该成果,英尔推出了速度最快的双路处理器——英特尔 至强 处理器 E5-2699A v4系列。

* 英特尔 至强 处理器E5-2699A v4 系列可提供面向数据密集型应用所需的业界领先性能,为想通过广泛部署的数据中心获得高性能的用户提供了绝佳的选择。 在2016年全球超级计算大会上,英特尔将公开展示一款搭载下一代英特尔 至强 处理器早期版本的HPC集群,该处理器集成了英特尔 OPA、英特尔 高级矢量扩展指令集-512 (英特尔 AVX-512)以及英特尔 至强融核 处理器。英特尔 AVX-512 处理器指令集于2016年6月与最新一代英特尔 至强融核 处理器一同发布,致力于加快压缩和加密算法的速度。它可提供硬件增强型数据保护并加快信息转化,同时提高多种HPC应用中所采用的浮点运算的速度。

复杂直流电路的计算方法分析 第4篇

关键词:电工学,电路发展,计算原理

1 目前我国电工学中复杂直流电路计算现状分析

复杂直流电路的计算在我国的运用起步较晚, 缺乏相应的经验, 只是在在我国的电工学中运用得比较早, 但是因为起步晚, 缺乏实验研究所以可以运用的案例并不多见。但是有一点我们可以知道利用复杂直流电路可以有效的节约电路造价的成本, 提高直流电的利用率。但是由于复杂直流电路在计算过程中其计算分析的过程过于复杂, 所以现阶段我国在电工行业的发展中, 复杂直流电路的发展遭遇了很大的瓶颈, 如何正确高效的对复杂直流电进行计算是现阶段我国电工学研究的重点也是难点, 一旦研究出高效的计算方法, 电工学的发展将会更进一步。

1.1 核心内涵把握不够完全, 浅出深入的研究方式

通过对我国已有的复杂直流电路的计算方法总结, 我们都知道对于复杂直流电路的计算核心的内容就是利用基尔霍夫定律来进行计算。从理论角度来说, 基尔霍夫定律适用于任何一种复杂电路的计算工作是复杂电路进行计算的理论基础。但是相比较之下, 计算的工作流程非常的复杂, 计算的数量也特别庞大。往往就出现在研究的过程中, 往往进行了每一条复杂电路的研究, 但是我们在实际的工作操作的过程中, 我们不需要精确到每一条电路的计算, 所以就会造成一种浅出深入的研究方式, 极大的限制了我国电工学中复杂直流电路的计算工作。这就是目前我国复杂直流电的计算方法所暴露出的问题。

1.2 计算方式过于重视实践操作, 忽略理论科学性

目前国际上比较普遍的对于复杂直流电路的计算都是采取了基尔霍夫定律的变形模式, 通过计算复杂的直流电路中的某一条具有代表性的电路, 有效的利用计算等效电阻的方式, 去计算整个的复杂电路中的计算值。即计算的主要核心就是以基尔霍夫定律为理论基础, 抓住代表性电路利用等效原理列出相应的方程组, 从而求解。由此我们可以延伸出等效电源原理, 电源叠加原理的计算方式高效率的完成复杂直流电路的计算工作。

2 复杂直流电路的计算流程案例分析

2.1 基尔霍夫定律

国际上和我国在进行复杂直流电路的计算的过程中采用的方法虽然有所不同, 但是理论基础是一致的, 我们都知道基尔霍夫定律可以说是复杂直流电路计算的出发点和核心关键点, 我们所有的复杂电路的计算方式都是利用了基尔霍夫定律去完成的。所以我们在进行复杂直流电路的计算流程案例分析的时候, 首先需要了解基尔霍夫定律的主要内容, 只有对基尔霍夫定律进行详细的了解和认知, 才能熟练的运用这个定律来进行计算。基尔霍夫定律主要分为两个定律就是节电电流定律和回路电压定律即计算过程中所采用的原理。

2.1.1 基尔霍夫的两大定律的分析

(1) 第一条定律:节点电流定律:对于一个复杂电路来说, 在任一瞬间, 流进某一节点的电流之和恒等于流出该节点的电流之和, 即∑I进=∑I出或∑I=0。这便是节点电流定律, 满足电流守恒的原则。 (2) 第二条定律:回路电压定律:在任一闭合回路中, 各段电路电压降的代数和恒等于零。即∑U=0或∑E=∑IR。

2.1.2 列方程组

为了直观的对基尔霍夫定律进行讲解我们特此举个例子来说明。比如说对于n个节点, b条支路的复杂电路共有b个未知的电流, 那么我国根据基尔霍夫第一定律就可以列式出n-1个独立方程。如果我们再将第二条定律有效的引入进行, 那么就可以列式出b- (n-1) 个独立方程, 那么相应的有几个网孔我们就可以列式出几个回路电压方程这样通过方程组, 利用等效的原理就可以解出相应的未知量, 从而进行求解。

2.1.3 方向的确定

我们在分析基尔霍夫定理中的第一条的定律的时候, 我们知道, 如果我国将某一节点上的电流确立为正方向的时候, 那么从这个节点所流出的电流就是负值电流。但是我们在研究其第二条定律的时候, 我们又会发现, 如果我国规定了相关的等式∑U=0的时候, 只要电流的流向和回路循环的方向是同一个方向, 那么我们在该电流处所取得的值就是为正, 当然, 反过来说就是取负值。在图一中我们可以看到如何在复杂的直流电路中完成方向的确定。只有在第一时间完成方向的确定, 才可以进行接下来的方程组的列出和正确的分析已经快速的解答。

2.2 等效电源定理

复杂直流电路在进行计算的时候核心计算方法便是等效电压的方法, 一般我们又可以叫做戴维南定理。其主要的操作流程可以总结;如果我们在复杂的直流电路中存在不同的有源二端网络, 那么我就可以将其视同为同一个等效的电压源, 由于电动势的值可以直接等于网络开压一端的电压值。所以我们通过对于内阻值的计算, 可以有效的计算出从网络不同的两端进行内阻值的计算。等效电流源又可以叫做诺顿定理。我们在下面展示的图片中可以看到等效电源定理的操作。

2.3 叠加定理

复杂直流电路进行计算的时候, 一般还会采用叠加定理进行计算, 为了方便介绍这种原理我们将其主要的操作流程标示如下:如果我们在一个复杂的直流电路中存在多个电源的情况, 那么只需要完成对于其中某一个的电流即相关的支流的电动势的分析, 由此继续分析该项支路中的电流的合计值, 那么就可以通过叠加的方式进行总体的电流值的计算工作, 我们可以看到下面的图片就展示了叠加定理的应用通过这种叠加的方式, 可以在计算的过程中将复杂多元化电路进行单一路线的规整, 从而清晰断题, 快速解题。

通过我们对叠加定理的研究, 我们发现一个非常重要的问题就是我们在计算复杂的直流电路的时候, 我们需要考虑到多源电路中不同的电路结构, 我们如果能够完成每一个的单独的电动分析, 那么我们只需要进行后来的叠加工作就可以完成复杂直流电路的计算工作。由此我们可以发现, 叠加定理在应用的过程中, 我们只需要完成一些简单的线路的计算工作, 就可以完成复杂的直流电路的计算工作, 即将发杂电路进行化整为一, 都归整到一些简单的点卡上, 这样通过简单的电路计算, 来解决复杂电路问题, 由此可以非常大力的节约计算的时间和减轻计算的难度, 为我国复杂直流电路的计算提供了快而准确的方法。但是我们在实际操作中需要注意一点就是对于复杂直流电路来说, 有很多我们没有发现或是没有看出来的问题, 如果直接就按照经验进行叠加计算, 可能会没有考虑到不同的电路结构所带来的不同的情况。所以就要求我们在进行计算的时候, 要排除掉特殊电路结构的存在, 对常见电路结构要有清晰的分析。

3 总结

综上所述, 我们可以看出不同类型的复杂电路的计算方式都可谓是各有千秋, 每种方法都有计算的优势和相对的缺点。所以, 我们在实际的电工工作的操作中, 我们需要有效的结合实际的情况进行相关的分析, 第一时间对复杂电路进行合理快速的分析, 选择正确的方法结合具体情况进行具体分析, 因为我国在这个领域中缺乏相应的经验, 所以我们也应该借鉴学习国外的方法和经验。我们只要精准的掌握计算工作的核心定律以及相应的方法, 那么我们相信在实际操作过程中, 结合已经研究出来的方法, 和理论知识, 可以非常高效的进行复杂直流电路的计算, 促进我国电工学行业的发展。

参考文献

[1]张丽荣, 谢侠飞.小议基尔霍夫定律的讲解[J].职业, 2013 (08) .

计算复杂性 第5篇

一类航天复杂结构计算机-试验辅助建模研究①

基于计算和试验相结合的系统建模方法,以某航天器仪器舱结构为例,应用MSC/NASTRAN有限元计算工具和LMS-CADA/X动态试验分析系统,进行了计算机-试验辅助建模(CTAM).针对这一类航天复杂结构建模过程的具体问题,提出了相应的解决办法,相关性检验分析结果MAC验证了该方法的有效性.

作 者:王聪 姜兴渭 黄文虎  作者单位:哈尔滨工业大学航天学院 刊 名:高技术通讯  ISTIC EI PKU英文刊名:HIGH TECHNOLOGY LETTERS 年,卷(期):2001 11(7) 分类号:V44 关键词:航天复杂结构   动力学分析   计算机-试验辅助建模  

★ 铁道车辆运行稳定性虚拟试验系统研究

计算复杂性 第6篇

摘要:相似度研究对于复杂网络的链路预测、演化机制以及社团检测等相关热门研究领域都具有重要的作用,本文从网络相似度及演化的角度出发,基于提取复杂网络全局拓扑特性,定义了一种新的复杂网络相似度计算方法,仿真结果表明,该相似度计算方法可以准确表征不同复杂网络的相似程度,通过将该方法应用于技术交易中进行实证分析,发现可以将技术交易分为三个不同的阶段,每一阶段内的复杂网络之间相似度明显高于该阶段外的复杂网络,证实了本文提出的相似度计算方法具有可行性与有效性。

关键词:复杂网络;相似度;全局拓扑特性;技术交易

中图分类号:TP319

文献标识码:A

DOI:10.3969/j.issn.1003-6970.2015.09.004

0 引言

复杂网络即具有白组织、白相似、吸引子、小世界、无标度中部分或全部性质的网络。对于复杂网络相似度研究的意义主要在于以相似度研究为基础来准确进行链路预测、有效检测社团网络以及探索复杂网络的演化机制等,例如Chao S.根据节点之间的相似性来判断两节点之间建立连接的可能性,即链路的演化预测;社交网络中也经常使用复杂网络技术进行用户挖掘;基于相似度的算法也经常用来进行社团检测,它基于全局或者局部网络特性来计算节点之间的相似度,结合一般聚类算法来进行社团划分,此外,Girvan和Newman也曾基于边移除的算法来实现社团检测,即GN算法;赵伟艇等也基于节点相似度特性和三角结构提出了一种复杂网络演化算法,以上都是当前对于复杂网络研究比较热门的领域。

目前,关于复杂网络相似度的研究主要是自身局部相似度以及复杂网络节点间的相似度研究,例如王林等通过提出一种基于局部相似度的K-means谱聚类算法,计算节点间相似度,达到对网络中社团进行检测的目的;李佳佳提出一种自相似复杂网络,其主要根据通过提出一种基于节点的共有邻居数目的指数来描述节点相似度的局部相似度。

以上文献所研究的相似度均为节点或局部的相似度,并没有对全局拓扑特性的相似度进行研究,所以,为探索复杂网络整体拓扑结构的相似度算法,本文主要基于提取全局的复杂网络拓扑结构特征来计算不同复杂网络的相似度并进行研究与实证。

本文主要研究方法为算法研究结合实证分析验证,通过对技术交易复杂网络全局拓扑特征的选取以及计算提取,构建表征复杂网络全局特征的特征向量,对比常见的距离计算方法,得出对本文相似度计算最为有效的距离度量方法,最后通过对网络进行层次聚类可视化地展示相似度计算效果,并根据数据的实际意义来分析不同类别的复杂网络具有何种特征以及网络的演化发展趋势。

本文接下来安排如下,第1节是数据的描述;第2节为复杂技术交易网络拓扑特征的选取以及相似度方法的阐述;第3节是算法的仿真分析;第4节是相似度算法的实证研究及结果论证;最后第5节为本文工作的总结与展望。

1 数据描述及研究背景

本文实证采用的数据为技术交易数据,技术交易即技术从卖方到买方的流通过程,由于这一过程涉及的企业数量巨大,企业之间的交易情况复杂,所以适合于用复杂网络来进行表征,技术交易可相当于复杂网络中两节点之间的连接行为。本文使用统计分析工具R语言中的igraph包对2006年到2014年共9年的技术交易数据进行网络构建,数据的主要字段包括:项目名称和领域,合同时间,买卖双方信息等字段,本文利用卖方名称、买方名称以及合同时间来进行技术交易复杂网络的构建,得到的网络模型(以2008年复杂技术交易网络为例)如图1所示。其中复杂网络的节点代表技术交易主体,包括技术卖方、技术买方以及技术中介等;复杂网络节点之间的连线代表着买方和卖方之间的交易。技术交易网络的节点和边描述了技术交易活动最主要的部分,除了边和点之外,复杂技术交易网络的某些拓扑特性也可以反映实际技术交易行为的特点。

2 网络相似度计算方法

本文所使用的网络相似度计算方法如下:首先对复杂网络的全局拓扑特征进行提取,所选特征需可以表征复杂网络的全局特性;然后根据拓扑特征建立复杂网络的特征向量,通过选取合适的距离计算方式计算特征向量之间的距离,即可映射为复杂网络之间的相似度大小。

2.1 拓扑特征的提取

在如上一节所描述构建复杂技术交易网络后,需要对网络的全局拓扑特征进行提取,本文结合技术交易的实际行为特点主要提取了七种拓扑特性指标,如表1所示。

对每年的技术交易复杂网络提取以上七种拓扑特征后,建立由这七种特征取值组成的网络特征向量,进而建立不同年份复杂技术交易网络的特征矩阵。

2.2 距离计算方法的选取

本文所用相似度计算方法的另一个重点是不同复杂网络的特征向量的距离计算方法,计算距离的方式有多种,主要有欧氏距离、曼哈顿距离以及余弦距离等,本文通过计算方式及实际意义对比来进行选取。

2.3 可视化展示

通过对不同复杂网络的特征向量进行距离计算,得到不同年份复杂技术交易网络的距离矩阵,根据该矩阵进行自底向上的层次聚类方法得到复杂网络的相似度结果,类标号一致的复杂网络相似度高,若同一类的复杂网络确有相似的生成模式,那么证明本文的相似度计算方法是可行的。

3 算法仿真分析

为了证实本文对于复杂网络相似度研究的可行性,笔者采用对无标度网络生成模型进行仿真的方式来验证。无标度网络是一种度分布呈幂律分布的复杂网络,其明显特征即具有择优连接特性,即度大的节点被连接的概率较大。因现实中大部分网络都具有或多或少的无标度特性,所以本文选取无标度网络进行仿真实验。

仿真所使用的工具仍为R语言的igraph包,其中barabasi.game函数可用来生成无标度网络,对无标度网络生成控制采用两种属性参数:每时步网络新增连接数m和无标度网络择优连接的强度power,其中power的数值越大,表示网络的择优连接特性越明显。

所选参数具体数值如表3所示:

由表3可得12种m和power的组合,即仿真生成12个无标度网络,序号为l到12。根据事先定制的无标度网络生成模式,我们预期根据本文的相似度计算方法可以将这12个无标度网络分成4类:{l,2,3},{4,5,6},{7,8,9},{10,11,12},即生成模式相近的网络之间相似度较大。仿真结果如图2所示:

由图2可以发现,使用本文所使用的相似度计算方法,可以将具有相似生成模式的无标度网络聚到同一类中,证明了根据本文提取的复杂网络拓扑指标建立特征向量可以比较准确的表征复杂网络的全局特征,此方法具有可行性。下面采用该相似度研究方法对实际的技术交易复杂网络进行实证分析。

4 相似度算法实证分析

上一章算法仿真分析是以无标度网络为实验网络的,为了证明算法可以应用于复杂技术交易网络,我们先证明复杂技术交易网络具有无标度特性即可。而这一点可以通过网络的度分布来反映,复杂技术交易网络的度分布如图3所示,可以看出,左图为度的长尾分布,右图对横纵轴取对数结果近似一条直线,可知复杂技术交易网络的度分布呈现幂律特性,证明其具有无标度特性。

由于技术交易的合同通常为若干年,所以数据预处理时先将每条交易记录的合同年份跨度标出,然后遍历数据,选取合同年份跨度中包含当前时间的交易加入到该天的复杂技术交易网络中,这样可以很好的保持网络中节点和边的生存周期。实证分析所取数据以月份为单位构建复杂网络,对每月内的特征数据进行取平均值的操作。

复杂网络拓扑特性的提取使用的是R语言igraph中的封装好的函数,包括度计算(degree)、平均路径长度(average.path.length)、直径(get.diameter)、聚集系数(transitivity)以及介数(betweenness)。将得到的特征向量组成特征矩阵,对特征矩阵每一种特征分别进行归一化处理,之后计算向量之间的距离,得到不同年份复杂技术交易网络的距离矩阵,根据距离矩阵使用hclust函数进行层次聚类,类与类之间的距离使用“complete”距离参数。

由于聚类结果中月份较多,使用层次聚类图展示不方便观察,所以笔者将每个复杂网络所属的类标号及日期绘制成图如下所示:

由图4圆点代表第一类网络,三角表示第二类网络,方块代表第三类网络,可见,根据本文的相似度计算方法将不同年份的复杂技术交易网络按照拓扑结构相似度聚类到一起,总体来看效果较好,没有出现异常的单独月份,从拓扑结构来看,月份相近的网络确实在结构上相似度较高,使用本文的相似度计算方法将技术交易的发展大致分为了三个阶段,在不同阶段交界处存在着模糊阶段可忽略:其中2006到2008为第一阶段,2009年到2013年为第二阶段,之后为第三阶段。每个阶段的关键指标归一化平均值计算结果如下表所示:

由表中数据可见,复杂技术交易网络发展的三个阶段过程中,平均路径长度以及直径都在减小,而度、介数和聚集系数这三个指标都在增加,很清晰地说明了技术交易成果转化效率逐步提高,技术交易整体具有技术集中化、合作多元化的趋势。

5 结论

本文提出了一种基于复杂网络全局拓扑特性的型相似度计算方法,即提取复杂网络的全局拓扑特征建立复杂网络的特征向量,通过计算特征向量的距离来对复杂网络进行聚类。方法的验证是通过使用无标度网络进行仿真分析以及基于技术交易数据的实证分析,验证结果对该相似度计算方法给予了充分的证明,该方法在计算复杂网络之间的相似度中具有可行性与可信性,根据该相似度计算方法将技术交易大致分为了三个阶段,阐述了技术交易市场的发展趋势,主要工作包含以下4点:

1、对技术交易数据进行预处理

2、构建复杂技术交易网络并提取拓扑特征

3、对复杂网络特征向量进行距离计算

4、对聚类结果进行解释并探索原因

车身复杂结构大规模问题的缩减计算 第7篇

现代汽车车身是由多种不同厚度的薄板冲压焊接而成的复杂结构,车身结构对外界载荷的响应依赖于车身结构自身的特性。由于车身结构复杂、参数众多,因此,在传统的车身设计中主要依赖有经验的工程师依据经验进行反复的试探性设计,设计的主观因素较多,设计需经实车验证,设计周期较长[1,2]。有限元方法可以对车身结构在未生产样车之前进行反复的优化设计,但对于车身设计这种大规模计算问题来说,基于有限元方法的优化需要反复迭代,计算效率较低。

解决复杂结构多参数大规模问题的一条途径是对结构进行降阶建模和分析,常用的降阶方法有Guyan降阶法、Ritz向量降阶法、正常正交分解法、平衡截断法、减基法[3,4,5,6]等。文献[7,8,9,10,11]提出了采用减基法计算的事后误差处理方法和离线、在线的计算方法,并将其在热传导等领域进行了应用。Liu等[12]将减基法扩展到反问题中,并进行了相关研究。李永红等[13]将减基法用于车架的分析。

复杂结构大规模问题需要借助有限元手段进行分析。在通用有限元软件中,参数无法显式地表达,且质量矩阵和刚度矩阵依赖于软件输出,这些因素限制了减基法的应用领域,导致减基法在复杂结构多参数大规模问题计算领域无法应用。笔者采用减基法和有限元的混合算法解决复杂结构大规模问题的缩减计算。

1 车身设计中的大规模问题

车身刚度是车身结构力学性能的主要评价指标,车身刚度设计是车身设计的重要内容。影响车身刚度的因素较多,包括几何参数、材料参数等。车身结构在造型完成之后,其外形参数基本确定,通常通过改变车身钢板的材料特性和厚度来改变其承载的力学性能。一般承载式车身使用的钢板多达几十种甚至上百种,车身钢板与刚度相关的材料参数差异较小,对车身刚度变化影响较小,因此钢板的厚度变化成为改善车身刚度的主要手段。本文以车身主要部件的钢板厚度为参数,进行大规模问题缩减计算方法的研究。

驾驶室白车身结构分为5个总成:前围总成、侧围总成、地板总成、后围总成和顶盖总成。每个总成由若干部件组成,每个部件都具有各自的厚度,这些厚度构成刚度设计的参数。

商用车驾驶室主要关注扭转刚度。白车身扭转刚度计算的位移边界条件是约束地板纵梁后端的6个自由度,力的边界条件是在纵梁的前端左右两侧分别施加大小相等方向相反的两个集中载荷,从而构成车身前端纵向横截面内的扭矩。通过测量车身左右两侧的扭角来评价车身的扭转刚度,力的边界条件如图1所示。

2 减基法与有限元法的混合计算方法

2.1 减基法基本原理

减基法基本思想是:当系统由多个参数来描述时,这些参数组合会使系统有不同的响应(这些响应可以由有限次试验得到),系统在新参数下的解可以用事先设计的近似解空间来表示。这种方法在对结构进行自由度缩减时能很好地保持原系统的物理属性。

任何含有参数的结构力学响应均可以表示为

a(ue(μ),v;μ)=f(v),∀vXe (1)

式中,μ为输入的参数,μS⊂Rp,对多参数问题,μ为参数向量;Rp为参数域;S为参数样本集合;ue(μ)为场变量;Xe为Hilbert空间;a(·,·;μ)为Hilbert空间中双线性函数;f(·)为Hilbert空间中的线性函数。

对于大型结构,有限元方法通常用偏微分方程弱形式的矩阵表达:

KU=F (2)

式中,K为刚度矩阵;U为场变量;F为载荷向量。

假设样本集合通过一定的预采样方法得到:

S={μ1,μ2,…,μn} (3)

式中,n为样本个数。

系统在这些参数样本下的响应构成一个解空间或减基空间:

W=span{ζ1,ζ2,…,ζN} (4)

式中,N为解空间的维数;ζk为解空间的第k个线性无关的向量,k=1,2,…,N

m为结构的总自由度,对于大规模问题,mN。以解空间的基为列向量,构成投影矩阵Zm×N,将刚度矩阵和载荷向量向解空间进行投影,有

KN(μ)=ZTK(μ)Z (5)

FN(μ)=ZTF(μ) (6)

得到减缩系统方程:

KN(μ)UN=FN(μ) (7)

式中,KN(μ)为减缩系统方程的刚度矩阵;FN(μ)为减缩系统方程的力向量;UN为减缩系统方程的解。

新的系统方程是N×N的线性系统,由于Nm,因此,原线性系统由m×m的线性系统变为N×N的线性系统,使问题求解计算量大大缩减。UN为减缩系统的响应,以UN为系数对解空间的基向量进行线性组合即可得到原系统的近似响应:

U˜=ΖUΝ(8)

2.2 混合算法流程

减基法和有限元法的混合算法主要由3个部分构成:解空间构造过程、基于有限元的参数分离过程和减缩计算过程,其计算流程如图2所示。

3 构造近似解空间

3.1 车身设计的参数

假设μi(i=1,2,…,n)为由各参数构成的某一个样本,有

μi={μ1,μ2,…,μβ} (9)

式中,μj为第j个部件的厚度,j=1,2,…,β;β为车身部件数。

为了表达简便,这里假设各总成内各个部件的钢板厚度一致,顶盖总成部件较少,将其融合到前围总成、侧围总成和后围总成中。车用钢板具有标准的尺寸系列,为了不失通用性,假设参数在钢板的厚度范围内可以选取任意值。由前围总成、侧围总成、地板总成和后围总成的钢板厚度构成的一个样本为

μi={μ1,μ2,μ3,μ4} (10)

式中,μ1、μ2、μ3、μ4分别为前围总成、侧围总成、地板总成和后围总成中部件的钢板厚度。

3.2 参数样本的选取

假设每个参数取α个值时,样本个数n=α4。车身常用钢板厚度在0.8~2.0mm范围内,根据参数取值不同得到3个不同的样本集合,3个集合内的样本数量不同,见表1。

3.3 构造近似解空间

计算在3个不同样本集合下各个样本的响应,得到对应的响应矩阵Pm×n(用于构造近似解空间)。构造解空间的方法较多,常用的有Gram-Schmidt正交法、QR分解法和奇异值分解法。对于大规模问题,考虑到计算精度和数值稳定性,通常使用奇异值分解法求解空间的近似基。

若响应矩阵Pm×n的秩为N,且有

N=rank(P)<min(m,n) (11)

则可以将奇异值分解简化为

P=Z Σ V (12)

Z=[ζ1ζ2 … ζN] V=[v1v2 … vN]

Σ=diag(σ1,σ2,…,σN)

式中,ζkvk分别为左奇异向量和右奇异向量;Z的列向量构成近似解空间的基;σk为非零奇异值。

若矩阵是非秩亏缺的,则在进行奇异值分解时奇异值均为正值,将奇异值按照从大到小的顺序进行排列,较小的奇异值对应的奇异向量对矩阵秩的贡献较小,可以忽略。因此,使用不同的截断误差来截取奇异值向量,可得到不同维数的解空间。通常,通过控制截断误差来选取矩阵的有效奇异值,小于截断误差的奇异值对解空间的贡献较小而被忽略[14]。

奇异值分解截断误差越小,近似解空间线性无关列向量的个数越多,即近似解空间的维数越大。图4和图5分别为两种样本集合下响应矩阵奇异值分解截断误差e与近似解空间维数N之间的关系。由图4可见,当截断误差为0.1时,从81个样本中选取的有效解空间维数为15,随着截断误差的增大,解空间的维数逐步变小,当截断误差为1时,有效解空间的维数为8。

4 基于有限元方法的参数分离

4.1 单元刚度矩阵的分解

有限元方法的参数化过程通常是将参数隐含地表现在刚度矩阵和载荷向量中,这对减缩计算带来了较大的困难。考虑将有限元方法中的参数显式地表示出来,即将刚度矩阵和载荷向量进行分解,将其表示为

Κ=i=1ΝΚΘiA(μ)Ai(13)

F=i=1ΝFΘif(μ)fi(14)

式中,Θi(μ)为与系数相关的函数;Aifi为与参数无关的项。

在车身设计中,通常使用由平板单元组成的壳单元[15,16,17]进行模拟,单元刚度矩阵表示为

k=μkm+μ3kb+μks (15)

式中,μkm为由平面应力单元的膜效应引起的刚度项;μ3kb为由Mindlin厚板单元弯曲的面内效应引起的刚度项;μks为由厚板面外剪切引起的刚度项;μ为板厚。

可将单元刚度矩阵分解为两部分,第一部分表示与参数成线性关系的项,第二项表示为与参数成三次方关系的项,即

k=i=12Θi(μ)ki(16)

式中,k1、k2为单元刚度矩阵的无参组成阵。

4.2 无参组成阵向总体坐标系的集成

将无参组成阵按照标准的单元刚度矩阵组装流程向总体坐标系转化和集成[18],生成不含参数的总体无参矩阵。将具有相同厚度特性的单元的刚度矩阵分解并集成,得到两个总体无参矩阵。理论上,总体无参矩阵的维数和总体刚度矩阵的维数是相同的。将所有的总体无参矩阵和系数函数进行合并,即可得到总体刚度矩阵:

Κ=i=12βΘi(μ)Κi(17)

式中,K为总体刚度矩阵;Ki为总体无参矩阵。

KKi均为大型稀疏矩阵。

若车身部件较多且厚度变化较大时,将会生成较多的总体无参矩阵。这些矩阵均为大规模稀疏矩阵,在编制程序生成总体无参矩阵时将会消耗较多的计算机内存,使用相关技术,如合理的节点编号、带状存储技术或一维存储技术等可以大幅节约计算机内存[15,19]。

5 减缩系统与减缩误差

5.1 构建减缩系统

对于图1所示的车身结构,车身的每个总成对应2个总体无参矩阵。将每个总体无参矩阵及载荷向量向近似解空间进行投影,有

KNt=ZTKtZt=1,2,…,8 (18)

FN=ZTF (19)

对任意新参数μnew,使用系数函数Θi(μnew)对每个部件对应的缩减矩阵进行合并,即可得到新参数下的缩减刚度矩阵:

ΚΝ=i=18Θi(μnew)ΚiΝ(20)

通过求解KNUN=FN,得到原系统在新参数μnew下的响应近似值U˜=ΖUΝ

5.2 减缩系统误差评价

在相同参数下比较有限元法计算结果和减缩计算结果,验证减缩计算的精度。定义减缩系统相对误差为

εi=Ui-U˜i/Uii=1,2,,n(21)

式中,U-U˜为有限元计算解和减缩计算解之差的欧几里德长度;‖U‖为有限元计算解的欧几里德长度。

计算所有参数下缩减相对误差,得到相对误差ε={ε1,ε2,…,εn},取其无穷范数为减缩误差,有

r=ε=max1in|εi|(22)

5.3 减缩误差、减缩投影时间与解空间维数之间的关系

减缩投影时间和减缩误差是衡量减缩系统效率的重要指标。近似解空间是影响缩减系统性能的主要因素。减缩误差和减缩投影时间随近似解空间维数变化的曲线是减缩系统的效率曲线。

由图6~图8可以看出:①随着近似解空间维数的增大,减缩误差趋向于一个稳定值;②随着近似解空间维数的增大,减缩投影时间正比于维数的增大;③当近似解空间的维数达到一定值时,继续增加维数不会提高减缩精度,但会引起减缩投影时间的大幅增加;④使用过多的样本数量构建的减缩空间的缩减误差稳定值(图8)大于较少参数组进行缩减计算的误差稳定值(图6和图7)。在保证精度和计算时间的情况下,较少的样本数量构建的减缩系统即可满足精度要求。

在此,选取由16个样本构造的减基系统,解空间维数为12。

5.4 减缩计算效率

使用减缩计算可以将大规模复杂问题的计算转化为解小型线性方程组,极大地提高计算效率。当需要计算在多种参数组合下系统的响应时,缩减计算具有明显优势。

减缩计算总时间由两部分组成,第一部分为离线过程时间,包括构造解空间和减缩投影的时间,第二部分为在线过程时间,即新参数下使用减缩系统的求解时间。随着计算次数的增加,减缩系统的计算时间与有限元计算时间的比较见图9。

由图9可见,当M>N时,减缩计算的总时间少于有限元计算时间,当M≫N时,减缩计算的优势更为明显。在大规模复杂结构的优化计算过程中,通常需要修改参数进行反复迭代计算,使用减缩计算将避免反复求解大规模线性方程组,极大地提高优化计算的效率。

6 结论

本文使用减基法和有限元方法的混合算法缩减复杂结构大规模计算问题,通过有限次有限元计算得到解空间的近似,并将大型系统向近似解空间进行投影,从而将求解大规模线性方程组变为解小型线性方程组,在保证精度的前提下极大地提高了计算效率。该方法对大型复杂结构的反复迭代计算有较高的效率,对于优化计算问题的优势尤为明显。

基于减基法与有限元方法的混合算法是通过编程实现的,相关运算通过调用编程软件自带的数值计算程序实现。因此,算法的效率同样受到有限元前处理方法、矩阵存储方法等的影响。

摘要:针对车身设计中复杂结构多参数大规模问题,提出了一种基于减基法和有限元的混合算法来进行缩减计算。该方法首先通过计算系统在有限个样本下的响应构造近似解空间,然后基于有限元方法分离出刚度矩阵中的设计参数,接着将矩阵向解空间进行投影,最后构建减缩计算系统。在新参数条件下,通过减缩系统得到大规模问题的响应,极大地提高了结构响应的计算效率。

复杂曲面样件的计算机辅助制造技术 第8篇

以计算机辅助制造技术为代表的数字化制造技术将虚拟现实、数字化设计及加工、计算机网络、快速原型、数据库等技术集成于一体,实现对产品设计和功能的仿真以及原型制造,进而快速生产出达到用户性能要求的产品或样品[1]。数字化制造技术是随着计算机技术及数控技术发展起来的,其综合了CAD工艺设计系统、CAE仿真技术、柔性工装数控拉形、数字化测量、形状控制算法和CAM数控成形等先进手段,是先进制造技术的核心[2]。

作为计算机辅助制造技术的一个重要类型,近年来快速发展的快速成型技术不仅实现了信息过程的数字化,而且实现了物理过程的数字化。其材料的转移过程是利用材料的叠加性,在数字化信息控制下,采用按需添加的方式,在三维空间内数字化地分步将材料逐渐堆积成型。在快速成型加工前需要对三维CAD模型进行一系列离散化处理阶段,三维实体模型格式转化为STL格式后,输入快速成型软件控制系统进行分层切片,根据层片信息产生加工路径,然后驱动数控成型设备逐层加工成制件[3~5]。快速成型技术可以直接、快速、精确地将设计思想转化为具有一定功能的原型或零件,只要改变CAD设计模型的外形,就能快速得到相应的零件或样件。

本文提出一种复杂曲面样件的计算机辅助制造技术,以激光快速成型技术为核心,使用整体成型的制造方法,对任意复杂曲面样件进行快速制造,实现对产品设计的快速评价、方案修改及功能试验等。整个制造过程完全由CAD模型驱动,其工艺过程由计算机实现全自动控制。本技术已在自主开发的激光快速成型设备上进行了大量应用,实例验证了本方法稳定性及有效性,可降低产品的设计开发成本。

1 轮廓线扫描失效成型方法

作者自主开发的轮廓线扫描失效成型方法以激光快速成型为原理,选用覆膜砂作为成型材料,利用覆膜砂的固结性能随温度变化而变化的特点,制造出相对于SLS/LOM等快速成型方法具有更高精度及机械性能的产品样件。图1为此方法示意图,包括以下步骤:

1)计算机对三维CAD模型进行Z向自动分层切片,并自动提取二维层片的轮廓线信息。

2)提供一薄层的成型用覆膜砂。

3)计算机根据1)得到的二维轮廓信息,控制激光光束对该层覆膜砂进行轮廓扫描,激光光束扫描过的覆膜砂受热升温至固结温度以上而失去固结性能,形成与轮廓线相一致的失效分割线。

4)重复2)和3),直至成型所需的三维轮廓扫描完毕。

5)将该覆膜砂材料用红外加热板预热后取出,在加热炉中进行整体加热令其固结,得到固结件。

6)所得固结件以激光扫描过的三维轮廓为界分离,得到与CAD模型相一致的三维实体。

轮廓线扫描失效成型方法只需对侧轮廓面进行扫描,产品的上下面均不需激光扫描,具有较高的制造效率。并且工作缸中覆膜砂材料形成了自然的支撑,制造工艺的难度与产品外形曲面的复杂度无关,此方法尤其适合对具有复杂曲面样件的快速制造。与其他快速成型方法的“叠层制造”过程不同,本方法样件的获得由加热炉最后整体加热得到,保证了成型件的致密度与尺寸精度。

2 复杂曲面样件的激光选区失效整体成型技术

在轮廓线扫描失效成型方法的基础上,加以“辅助分割体”的设置,以更加便于具有复杂曲面样件与废料的分离。此方法的示意图如图2所示,在成型加工前,先在CAD系统中对废料部分添加激光网格扫描路径,所形成的小长方体即为待剥离的辅助分割体。逐层扫描完成后,整体材料进行加热固结,所得到的固结件经过震动和适当的外力作用,小剥离体依次脱落,最终得到目标样件。

当所制造的样件具有不规则的复杂曲面外形时,如果不添加辅助分割体,其样件和废料分离过程会具有较高的难度与风险,此方法通过辅助分割体的设置,最终产品样件由小块废料依次剥离得到,克服了上述困难。

本文提出的方法已进行了大量的应用,所得到的产品样件在外形尺寸和机械性能方面均具有较高的指标。图3为自主开发的激光快速成型设备,图4为使用本方法所制造的样件,表1为相关的工艺参数及产品指标。

3 结论

复杂曲面零件在设计阶段时,较难用常规方法快速获得产品的样件,用于检验设计效果、装配效果、功能性试验等,给产品设计和制造带来成本的增加。本文提出的复杂曲面样件计算机辅助制造技术,以激光选区失效整体成型方法为核心,在几个小时之内可精确获得与CAD设计模型相一致的样品,所使用的覆膜砂原材料可降低制造成本,并且成型件具有较高的机械强度。本方法由CAD模型直接驱动,CAD模型的前处理及激光加工制造过程完全实现自动化,从产品造型至最后获得样件的所有步骤均在计算机的控制下完成。所得到的产品具有较高的尺寸精度,其工艺过程决定了产品样件的外形尺寸绝对误差与样件的尺寸大小无关。

参考文献

[1]许文全,曾辉藩.螺旋锥齿轮数字化制造的关键技术及研究现状[J].制造业自动化,2010,32(11):13-14.

[2]李东升,罗红宇,王丽丽,等.飞机蒙皮的数字化成形制造技术[J].塑性工程学报,2009,16(1):82-87.

[3]穆存远,宋祥波.快速成型台阶误差分析及其降低措施[J].机械设计与制造,2011,(4):228-229.

[4]王静亚,方亮,郝敬宾.STL模型特征面片自适应分层算法[J].计算机应用研究,2011,28(6):2361-2364.

时间复杂度的几种计算方法 第9篇

1.1 算法的执行时间和语句频度

在已证明算法正确性的前提下,评价算法的好坏主要是关注算法在时间和空间上性能的优劣。算法时间性能的分析是通过计算算法时间复杂度实现的,其关键就是计算算法的执行时间。一个算法的执行时间,就是算法中每条语句的执行时间的总和。但是在算法实际运行过程中,每次执行所耗费的时间会受到诸如问题规模、输入特性和具体硬件环境等各种外界因素的影响,想得到一个绝对准确的执行时间是几乎不可能的。为此,在进行算法执行时间的计算时一般都忽略硬件及环境因素,并且假设每次执行时硬件条件和环境条件都是完全一致的,每条语句执行一次所需的时间均是单位时间[1]。

算法中一条语句的执行时间取决于该语句的执行次数和执行一次所需的时间。语句执行次数被称为语句频度,执行一次的时间被假设为单位时间,因此算法的执行时间就可以看作是该算法中所有语句的语句频度之和[2]。

1.2 算法时间复杂度和渐进时间复杂度

算法时间复杂度的本质是算法的执行时间,也就是算法中所有语句的频度之和。语句频度就是语句的执行次数,它与算法求解问题的规模大小息息相关。假设对于给定的算法,目前问题规模为n,则语句频度可以表示成一个关于问题规模的函数T(n),那么算法时间复杂度也就可以用T(n)表示,其含义是算法在输入规模为n时的运行时间。

当问题规模很大时,精确的计算T(n)是很难实现而且也是没有必要的。对于算法时间性能的分析无需非要得到时间复杂度T(n)的精确值,它的变化趋势和规律也能清楚地反映算法的时间耗费。基于此,引入了渐进时间复杂度作为时间性能分析的依据,它的含义就是:在问题规模n趋于无穷大时算法时间复杂度T(n)的渐进上界,即函数T(n)的数量级(阶)[3]。

算法时间复杂度和渐进算法时间复杂度在实际的算法分析过程中是不予区分的,渐进时间复杂度可以简称为时间复杂度,记为T(n)=O(f(n))。其中,

“O”表示取数量级(阶);

函数f(n)是T(n)的同数量级(阶)函数,即(C为不为零的常数)。它一般是算法中最大的语句频度,是最内层循环语句的执行次数。

按数量级递增排列,常见的时间复杂度有:常数阶O(1),对数阶O(log2n),线性阶O(n),线性对数阶O(nlog2n),平方阶O(n2),立方阶O(n3),…,k次方阶O(nk),指数阶O(2n)。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。

2 算法时间复杂度的计算方法

在算法时间复杂度的计算中,最关键的是得出算法中最多的执行次数。很容易看出,算法中最内层循环体语句往往具有最大的语句频度,在计算过程中主要对它们进行分析和计算。

目前,常用的时间复杂度计算方法可以归纳为如下几种。

2.1 求和法

当算法中语句的执行次数与某一变量有直接关系,而该变量的变化起止范围又较为明确,则可以利用求和公式得出最大的语句频度f(n),再对其取数量级(阶)即可。

例1有算法如下:

(1)for(i=1;i<=n;i++)

(2)for(j=1;j<=n;j++)

(3)++x;

解:以上算法中频度最大的是语句(3),它的执行次数跟循环变量i和j有直接关系,因此其频度可以通过求和公式求得:

所以,该算法的时间复杂度为平方阶,记作T(n)=O(n2)。

例2有一算法如下:

(1)for(i=1;i<=n;i++)

(2)for(j=1;j<=i;j++)

(3)for(k=1;k<=j;k++

(4)++x;

解:以上算法中频度最大的是语句(4),其频度可以通过求和公式求得:

所以,该算法的时间复杂度为立方阶,记作T(n)=O(n3)。

例3有如下算法:

(1)y=0;

(2)while((y+1)2<=n)

(3)x++;

解:算法中频度最大的应该是语句(3),它的执行次数与y有关,已知y初值为0,当(y+1)2>n时循环终止,则y的最大取值应该为。所以语句(3)的频度可以通过求和公式得到:

所以,该算法的时间复杂度记作

2.2 假设法

在某些较为复杂的算法中,循环结构的循环次数很难直接看出,特别是当循环次数与循环体中的某些语句执行有联系时,语句频度的计算变得比较困难。此时,可以先假设循环执行次数为k次,再对算法进行分析,根据循环终止条件求出语句频度f(n),最后求出T(n)。

例4有一算法如下:

x=91;y=100;

while(y>0)

if(x>100){x-=10;y--;}

else x++;

解:假设while循环的循环体执行k次,可以发现:

k=1时,x=92,y=100

k=2时,x=93,y=100

k=3时,x=94,y=100

k=10时,x=101,y=100

k=11时,x=91,y=99

k=22时,x=91,y=98

由分析可知,每循环11次,y的值发生一次变化,y需共变化100次。所以,f(n)=100*11=1100。则该算法的执行时间是一个与问题规模n无关的常数,它不随着问题规模n的增加而增长,即使算法中有上千条语句,其执行时间也不过是一个较大的常数。因此,该算法的时间复杂度为常数阶,记作T(n)=O(1)。

例5有如下算法:

i=s=0;

while(s

{i++;s=s+i;}

解:假设循环执行k次,则有:

k=1时,i=1,s=0+1

k=2时,i=2,s=0+1+2

k=3时,i=3,s=0+1+2+3

2.3 迭代法

当算法中包含递归函数时,其时间复杂度也会被转化为一个递归方程,上述两种方法此时不再适用。递归方程的形式多种多样,其求解方法也是不一而足,比较常用是迭代法。其基本步骤是迭代地展开递归方程的右端,使之成为一个非递归的和式,然后通过对和式的估计来得到时间复杂度T(n)。

例6有如下算法:

解:设fun(a,n,k)的执行时间为T(k),由算法可以得到时间复杂度的递归关系如下:

则:

所以,该算法的时间复杂度T(n)=O(n2)

3 结束语

作为《数据结构》的重要基础理论,时间复杂度一直是教学、学习中的重点和难点。深刻理解它的相关概念,熟练掌握它的计算方法,对于数据结构中各种算法的性能分析至关重要。该文对算法时间复杂度的相关理论进行了由浅入深的梳理,并由易到难地给出了几种常用的计算方法,使学生对算法时间复杂度相关知识的理解和掌握更为清晰和简单。

摘要:算法的时间复杂度是反映算法优劣的重要指标,是《数据结构》的重要理论基础,是学习和教学过程中贯穿始终的主要线索。但是由于概念的抽象和计算方法的繁琐,使算法时间复杂度成为最难理解和掌握的问题之一。在总结教学经验的基础上,该文提出几种常用的时间复杂度计算方法,使对该知识点的教学和学习变得系统和简单。

关键词:数据结构,时间复杂度,渐进时间复杂度,迭代法

参考文献

[1]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.

[2]晋良颖.数据结构[M].北京:人民邮电出版社,2002.

[3]吕国英,任瑞整,钱宇华.算法设计与分析[M].北京:清华大学出版社,2006.

计算机病毒传播的复杂网络建模分析 第10篇

1 均匀网络上病毒模型及其传播特性

1.1 经典病毒传播模型

1.1.1 SI模型

网络病毒传播模型最开始建立的基础都是随机网络, SI模型是最早的传播病毒模型, 假设上述模型存在感染状态 (I) 和易感染状态 (S) 2种模型状态, 易感染模型会十分容易感染计算机, 如果被病毒感染会极大程度变为永久性感染。因此, SI模型中只有一种计算机转变状态过程, 就是把易感染变为感染状态, 模型微分方程如下:

如果t接近无穷大的时候, i (t) 会趋近1, 也就是说, 经过长时间以后, 病毒会感染网络中所有计算机, 此时不符合病毒感染实际情况, 主要就是没有分析计算机从感染到恢复的情况[1]。

1.1.2 SIS模型

在充分分析从感染计算机到计算机恢复以后的实际情况后, 研究计算机病毒时合理加入SIS模型, 上述分析模型中存在感染状态和易感染状态2种。类似于SI模型中的基本设置, 但是在此基础上又增加了新的转换情况, 也就是依据相应的传播概率感染计算机恢复成易感染计算机。此模型可以降低感染病毒的概率, 增加治愈率。

1.1.3 SIR模型

SIS病毒分析模型没有实际考虑升级系统或者断开网络后被感染计算机形成病毒免疫, 因此, 相关专家学者提出了SIR计算机病毒传播模型, 此模型中分为免疫状态、感染状态、易感染状3种状态, 感染状态和易感染状态类似于SIS模型, 只是新增加了升级系统或者断开网络后被感染计算机形成病毒免疫性能, 不会被感染以及感染其他计算机。

1.2 双因素模型

Cliff C.Zou等学者提出了双因素传播模型, 上述模型主要就是适当模拟Code red蠕虫传播过程。在研究此病毒的时候, 需要考虑到2种影响因素:一是网络拥塞现象。快速传播的网络病毒会形成很大数据流量, 从而导致网络拥堵, 应该从其他方面来达到降低传播网络病毒速度的目的[2]。二是抵制病毒行为。例如升级系统、查杀病毒、安装过滤器、断开网络等能够在一定程度上降低传播病毒的速度。在模型中需要相互联系相关计算机, 从而出现完全无向网络, 所有时刻的任何计算机都存在免疫状态 (R) 、感染状态 (I) 、易感染状态 (S) 3方面。模型中的所有计算机彼此相互直接联系, 所形成的是一个完全无向网络。其中每个计算机在任何时刻都处于3个状态之一, 即易感染状态 (S) 、感染状态 (I) 、免疫状态 (R) 。但是仅仅只是存在2种转换状态, SR或者SIR。

1.3 随机常数传播模型

模拟Code red病毒爆发过程的随机常数传播模型是Staniford等人提出的, 模型分析中假设的是无向完全连接图的互联网, 网络计算机总数是常数N, t时刻感染计算机的实际比例是a, Na就是计算机感染数目, 平均初始感染率为K, 也就是在单位时间内计算机主机被感染攻击的数目是常数K, 也就是合理通量化网络带宽和计算机处理速度差异[3]。在单位时间内, 计算机主机会被Na个被感染计算机依据K的速度感染, 实际上单位时间内被感染的主机数目是K (1-a) , 单位时间新感染计算机的数目n表达式是:

现阶段, 主要寻址方式就是IPv4, 具备232大的IP地址空间, Code red蠕虫会适当随机扫描地址, 因此, 不可能在相同计算机上同时扫描地址。也可以发现感染速度和数目没有关系, 只是依靠平均感染效率。

1.4 间隔模型

分析计算机Code red蠕虫与Slammer蠕虫合理应用随机扫描方式, Slammer是在UDP基础上实施进攻的, 不用建立相应连接, 但是Code red主要就是在TCP基础上攻击的, 需要事先建立连接。因为网络带宽的限制, Slammer不能全速传播, 不适合所有病毒结构。对比RCS模型理论估计值以及Slammer蠕虫扫描增长过程, 可以发现只有Slammer蠕虫刚开始扫描增长的时候符合RCS模型, 此时具备最大扫描速度的Slammer蠕虫扫描。1800s以后实际数据和相关模型之间存在极大差距, 降低增长速度。因此为了可以更加细致地分析传播Slammer蠕虫的特性, 考虑结点的带宽, 从而提出了间隔模型。此模型能够有效分析刚开始攻击的时候, Slammer蠕虫不断增加速度以及突然降低的因素[4]。基本表达式如下:

2 非均匀网络上病毒模型及其传播特性

2.1 含拓扑结构因素的病毒传播模型

经过多年的分析和研究, 不少学者不再局限于病毒模型建立在均匀网络中, 开始研究病毒传播过程中网络拓扑结构的影响[5]。由于不同程度的连接率, 相同感染的计算机会不同情况地感染其他计算机, 所以, 形成了含拓扑结构因素的病毒传播模型, 存在k个连接度感染计算机的数目:

可以发现计算机具备越大的连接度, 就越容易被感染, 并且, 因为存在很大度的结点, 如果被感染会极大程度上威胁整个网络安全, 因此, 需要在分析病毒传播的时候加入网络非均匀性, 对于没有标的网络来说, 结点概率就是:

2.2 电子邮件传播模型

相关专家学者认为电子邮件病毒属于特殊的存在, 不能依据传统的病毒模型来分析电子邮件病毒。主要就是由于传播电子邮件病毒的根本就是依据电子邮件用户联系建立的网络逻辑结构, 上述逻辑结构具备一定无标度特性, 所以, 专家学者建立了电子邮件传播模型, 在实际分析的时候, 电子邮件属于无标度网络结构, 并且模型中也合理分析了使用邮件的基本特征, 所以, 使用邮件人员会定期检测邮件, 如果收到相关病毒邮件的时候, 人们可能出现警惕, 删除病毒邮件, 但是也有人员会毫不犹豫地打开邮件, 在运行或者下载病毒附件以后, 会立即感染用户计算机, 并且会向邮件好友发送相关病毒软件, 基于此, 需要从两方面分析电子邮件传播模型:一是用户打开病毒电子邮件的实际概率;二是电子邮件用户定期检查的时间间隔。相比较其他网络来说, 拓扑结构网络能够更加方便病毒的传播, 主要就是由于存在差异很大的网络无标度结点度数, 极易感染高连接数的结点, 并且形成极大反应[7]。

3 结语

总之, 在研究计算机病毒传播模型的时候, 复杂网络为其提供了良好的依据和保证, 主要分析了电子邮件传播模型、含拓扑结构病毒传播模型、经典病毒传播模型、双因素传播模型等。有机结合上述模型, 建立复杂网络结构的拓扑, 并分析计算机病毒传播模型, 能够促进研究病毒传播途径的进一步发展。

参考文献

[1]朱刚, 张宁, 马良, 等.复杂网络上计算机病毒传播和控制策略研究[J].计算机应用研究, 2011 (9) :54-56.

[2]范浩淼.基于复杂网络的计算机病毒传播的研究[J].科技传播, 2010 (17) :221-222, 227.

[3]李望.复杂网络视角下的计算机病毒传播研究进展[J].内江科技, 2011 (11) :121.

[4]许丹, 李翔, 汪小帆, 等.复杂网络理论在互联网病毒传播研究中的应用[J].复杂系统与复杂性科学, 2014 (3) :10-26.

[5]李凌云.基于复杂网络理论的电子邮件病毒传播研究[A].第15届海峡两岸信息管理发展与策略学术研讨会论文集[C].2010.

[6]夏承遗, 刘忠信, 陈增强, 等.复杂网络上的传播动力学及其新进展[J].智能系统学报, 2011 (5) :392-397.

计算复杂性 第11篇

近年来, 关于复杂网络的文章不断在各大国际一流刊物上发表, 内容涉及复杂网络理论、复杂网络模型以及复杂网络理论在各学科中的应用等等。出现以上情况, 肇因于复杂网络理论面对一些情况表现出的普适性, 这也使复杂网络理论成为国际学术界新的研究热点。计算机网络技术作为同样迅猛发展的学科, 也是学术界一直以来关注的热点, 巧合的是用复杂网络理论知识可以非常简化且准确地通过拓扑的形式阐释计算机网络。我们将单个的计算机看作一个独立的节点, 将连接各个计算机网络的介质看作路径, 那么计算机网络就可以简化描述为一个以复杂网络理论为基础的拓扑图。基于以上结论, 本文将对复杂网络理论下的计算机网络拓扑进行研究。

1 复杂网络理论概述

著名科学家钱学森给出了复杂网络的定义:具有自组织、内部相似、吸引引子、小区域、无标度中一部分或者是全部的网络称为复杂网络。

1.1 复杂网络性质

(1) 平均路径长度。平均路径长度指所有节点之间距离的平均值, 能够形象解释这一概念的是著名的“小世界”试验, 实验要求参与者把一封信传给他们熟悉的人之一, 藉此探明数人网络中路径长度的分布, 结果表明平均穿过人数仅为6人, 这一试验也正是流行的“六度分离”概念的起源。

(2) 聚集系数。聚集系数C用来描述网络中节点的聚集情况, 同样以人类社交为例, 即在社会网络中, 与你保持朋友关系的几个人也有可能彼此是朋友, 通过大量的实验, 结果表明大部分真实网络中的节点是相对聚集的。

(3) 度分布。度分布用来描述网络中边的数目相同的节点在整个网络节点中的比值, 即在社交网络中有指定数目的朋友个数占总人数的比值。

除了以上3个性质外, 复杂网络还有网络弹性、介数、度和聚集系数相关性等性质, 在未来对于复杂网络和应用学科的结合中都将起到指导作用。

1.2 复杂网络特征

(1) 小世界效应。前文中提到由复杂网络的平均路径长度概念引入的著名试验阐释了“小世界”的内涵, 这一内涵之于现实网络的意义在于揭示了复杂网络无论规模大小, 都是由N个微小节点连接的, 看似毫无关联的几个小节点网络通过非常短的路径就可以产生联系, 相互关联, 而这种关联的建立也是大规模复杂网络构建的基础。

(2) 集群性。集群性是指在一个大规模复杂网络中存在的一种内聚倾向。仍然以社会网络为例, 甲在当地的一个茶道社A, 乙是甲的好友, 而乙同样也是另一个茶道社B的社员, 那么随着甲和乙沟通交往的深入, 最后很有可能使得茶道社A与茶道社B之间产生更多更紧密的联系, 而这样的联系所引发的后续影响就是世界在逐步缩小, 个体间的关系越来越紧密。

(3) 幂律分布。在一个复杂网络里, 幂律的度值趋于服从泊松定律, 即满足公式P (k) =k-r, 而幂律分布统计参数r与网络的大小无关, 我们将这样的网络称为无标度网络, 该网络的无标度性体现在无论测量的单位变大或是变小, 所研究的客体性质如形态、复杂程度和统计特征均不发生变化。

1.3 复杂网络模型

网络模型的基础是规则网络模型, 规则网络模型的特点是每个节点的边数都相同, 而这样的网络模型过于理想化, 在真实网络中出现这样的规则网络概率小而又小, 因此在20世纪50年代末又有人提出了全随机网络模型, 这种模型更加符合真实网络的实际情况, 基于这样的模型, 又有一些其它网络模型被相继提出。

(1) 小世界网络 (smal-world networks) 。大量的实验结果表明, 真实网络表现出的特点不像规则网络和随机网络那样分为几段而是更趋于两者之间, 它在具有较短平均路径的同时也有较高的聚集性。 因此Watts和Strongatz在1998年提出了一种介于规则模型和全随机模型之间的新模型———小世界网络 (简称WS网络) , 模型的构造如图1所示。

(2) 无标度网络 (Scale-free net works) 。提到无标度网络就不得不提到著名的BA模型 (由Barabasi和Al-bert提出故命名为BA模型) 。BA模型认为以前的模型没有考虑到网络是开放的, 不断会有新的节点加入, 也没有考虑到新节点会自动择优选择度数大的节点进行连接。BA模型在考虑到以上因素后, 经过大量的实验和计算, 得出BA网络度的分布逐渐稳定在指数为3的幂律分布, 这一结论也恰好能够与真实网络的大量实验结论相吻合。BA模型的贡献还在于它催生出很多以这一模型为基础的新研究, 比如李翔和陈关荣提出的局域世界演化模型、权重演化网络模型等等, 这标志着人们对网络世界的认识更加主动而深入了。

2 复杂网络理论在计算机网络拓扑中的应用

计算机网络技术面临着前所未有的复杂情况, 在这个世界上几乎每秒钟都有新的用户加入计算机网络, 几乎每秒钟都有新的技术或协议融入计算机网络。因此, 计算机网络技术不同于其它复杂网络学科, 它的快速变化决定其与众不同。基于此特点, 复杂网络理论与计算机网路相结合将催生新的、更符合实际网络情况的新模型以用于研究计算机网络拓扑。

2.1 计算机网络动力学模型

计算机网络的复杂性很大程度上是从其动力学的复杂性表现的, 具体来说就是网络既具备抗变换性同时也具有脆弱性, 所谓抗变换性就是鲁棒性, 它是指控制系统在一定 (结构、大小) 的参数摄动下, 维持其它某些性能特性, 即在异常和危险情况下系统的生存, 比如计算机在输入错误、磁盘故障、网络过载或恶意攻击下还能够保证不死机、不崩溃。而计算机网络在具备抗变换性的同时还具有脆弱性。在整个计算机网络中有一些关键节点, 一旦它们中的部分失效———即使是它们中的一小部分失效, 都很有可能导致计算机网络崩溃。计算机网络的特性决定了复杂网络理论的几个经典模型并不适用, 于是美国加州大学的学者近年来根据计算机网络特点提出了HOT模型。HOT系统可采用沙堆模型进行模拟, 但这里的沙堆必须加入人工设计因素, 即存在优化目标和人为调整因素。通过实验可以看出HOT模型已经能够初步解释计算机网络的人工设计, 但是这种解释仍然是初步的, 对于计算机网络中的很多特性HOT模型仍然无法做到完全涵盖, 但是相对于之前以复杂网络特性为基础研究的情况, 这不能不说是该研究的重要进步。

2.2 计算机网络病毒防治

复杂网络理论能够较好地应用于人类的病毒传播学当中, 同样, 在计算机网络病毒防治领域也能够发挥其作用。

拓扑结构决定网络的特性, 这句话不仅强调了网络拓扑结构的重要性, 同时也为人们认识和防治计算机网络病毒传播提供了重要启示。在研究中发现, 由于规则网络自身的拓扑结构特点决定了它不利于计算机病毒的传播, 相比之下, 小世界网络更容易传播病毒, 无标度网络只要小部分节点感染就能导致大范围的病毒传播, 巧合的是计算机网络不仅具有小世界的特征, 同样也有无标度性, 因此计算机网络病毒的传播防治一直是一项具有挑战性的工作。

复杂网络理论无论在动力学建模还是在病毒防治方面都有重要意义, 未来与计算机网络拓扑相结合的复杂网络理论研究必将成为该学科的研究重点和热点。

3 计算机网络拓扑研究展望

基于复杂网络理论的计算机网络拓扑研究, 从新的视角审视计算机网络技术, 从拓扑结构的高度关注一些具有复杂网络性质的事件, 通过对这些事件不同视角的解读进行研究。

3.1 理论角度

完善应用于计算机网络的复杂网络理论, 尽快构造符合要求的网络拓扑模型, 基于更优的模型对计算机网络结构的统计学特性进行再研究。只有向着这个方向努力, 才能够更好地面对快速发展的技术带来的“副作用”, 在问题发生时不是采取“治标不治本”的补救措施, 而是从结构入手, 将问题从根源上解决。与此同时, 面对不断发展的网络环境, 我们应当总结出一整套较为完善的模型评价机制, 使模型评价的维度更全面, 对于新问题的响应更迅速。

3.2 应用角度

根据复杂网络的统计特性, 应当更深入地研究计算机的网络拓扑结构、资源管理与配置, 在应用层面上构建性能良好、安全性高、便于管理的服务程序, 推出具有小世界性或无标度性的P2P网络甚至是Web网络。

3.3 同步性控制

计算机网络的同步性一直是计算机网络稳定的大敌, 同步发生将导致网络拥堵甚至崩溃。因此, 从复杂理论的角度分析计算机网络拓扑, 从结构层面解决有害同步将是未来研究的重点之一。

3.4 病毒防治

要明确计算机网络病毒传播的方式, 了解原网络拓扑结构的特性, 找出针对特定病毒传播方式的特定结构缺陷, 最大程度保障计算机网络安全。

4 结语

计算机网络以其庞大的规模和复杂多变的动态结构向专业研究人员提出了挑战, 复杂网络理论无疑为该研究洞开了一扇大门, 以复杂网络理论的研究方式分析计算机网络问题, 不仅为研究提供了新方向、新方法, 为计算机网络研究重大突破提供了理论准备, 同时也为计算机网络应用和管理带来了更合理的规划和管理措施。

参考文献

[1]陈炳坤, 姚爽林.复杂网络理论的计算机网络拓扑研究[M].上海:同济大学出版社, 2009.

[2]GUAREJ.Six degrees of separation:aplay[Z].NewYork:Vintage, 1990.

[3]WATTS D J, STROGATZ S H.Collective dynamics of"smallworld"networks[J].Nature, 1998, 393 (6) .

上一篇:现浇混凝土的裂缝下一篇:家庭无线局域网的协议