实现模型范文

2024-07-07

实现模型范文(精选12篇)

实现模型 第1篇

在电信行业,每个电信运营商都存在客户流失的问题。通常情况下,获取一个新客户的成本往往远高于维系一个老客户的成本, 尤其是客户新增市场越来越稀疏的情况下,减少客户流失就意味着用更少的成本减少利润的流失。如何在海量的数据中提取有效的信息,判断用户流失的倾向,从而做到及时、有效地成功维系和挽留老用户成为电信运营商急需解决的问题。为此,本文利用SPASS Modeler数据挖掘工具, 进行数据探索, 预测在未来一段时间内可能流失的客户,为挽留客户提供明细清单。

SPASS Modeler数据挖掘 的工作流 程一般采 用CRISP-DM(即“跨行业数据挖掘标准流程”的英文缩写) 方法,CRISP-DM是一种业界认可的用于指导数据挖掘工作的方法。具体实施步骤包含商业理解、数据理解、数据准备、建立模型、评估模型、结果部署。

2 数据处理

2.1 商业理解

客户流失属于数据挖掘中的分类技术问题,其最终目的是把客户分为两类: 一类是具有流失倾向的客户; 另一类是无流失倾向的客户。

根据对历史流失客户的探讨、分析,总结出具有十分明确的流失客户。以此为依托,提取影响客户流失的动态变量因素和静态变量因素。

2.2 数据理解

模型利用SPASS Modeler的统计节点、均值节点、特征节点、直方图、分布图等节点初步确定影响客户流失的变量。

2.3 数据准备

数据准备包含数据选择、分析数据。清洗、缺失值和离群值的处理以及相应的数据转化、离散化、抽样、平衡等。

数据选择是数据挖掘的前提条件,主要是确定模型的输入变量。因为并不是所有的客户信息都会对客户的流失产生影响,应尽可能降低数据的复杂度,发掘较高关联度的输入变量。利用SPASS Modeler的过滤节点过滤所有与流失模型无关的变量。

分析数据包括数据清洗、预处理。主要包括数据抽样、数据转化、缺损、离群值数据处理等,通过抽样节点, 完成数据抽样,通过数据抽样降低系统的处理量。

数据转化为了保证数据的质量和可用性。比如对连续型数据变量的离散化、数据变形。例如通话次数,数值分布区间范围非常大,而客户分布又比较集中在中低值范围内,数据的极值标准化,有进一步压缩了数据的聚集。对模型的识别的效果不理想,因此可以采用数据转化的方法,使数据分布更好地接近正态分布,即使最终到不到正态分布,但也使数据分布离散化,同时也能消弱极值的影响。

数据审核节点处理缺失值和离群值,根据实际情况可以选择丢弃、转化等操作。

3G客户流失率一般在5%左右,如果直接采用决策树、神经网络等模型,可能会因为数据概率太小而导致模型的失效。假设月客户的流失率在5%左右,如果全部将客户预测为正常客户, 那么预测的整体精度就高达95%。虽然整体精度很高,但是对流失客户的预测精度却为0%, 显然这样的预测结果能体现客户流失预测的真正价值。因此在数据准备这一阶段,数据平衡显得格外重要,我们可以利用SPASS Modeler数据挖掘工具中的平衡节点,增加流失客户的比例。实际操作过程中,由于过度抽样带来的负面效应。

3 建立模型

本文采用BP反向传播神经网络算法进行建模求解。BP反向传播属于前馈是神经网络,是一种最为常见且较为复杂的网络模型,其中包括输入、隐层、输出节点,其中隐层可以为一层或多层。BP反向传播网络的特点是包含隐层,激活函数采用Sigmoid函数,反向传播。

BP反向传播网络算法包括正向传播和反向传播两个阶段。所谓正向传播阶段是指,样本信息输入层开始, 由上至下逐层被隐层节点计算处理, 上层节点的输出为下层节点的输入,最终传播到输出层节点,并得到预测结果。传播期间所有网络全职保持不变,当预测误差计算出来,便进入反向传播阶段,即误差被逐层反向传回输入节点。传播期间所有的网络权值得到调整,这种正向和反向传播过程将不断反复,直到满足终止条件为止。

BP反向传播算法的核心是网络权值的调整,调整的最终目标是实现预测总误差最小。BP反向传播的网络结果主要取决于隐层数和隐层节点个数。网络结构对神经网络模型至关重要, 太简单的网络结构无法达到理想的预测精度,但太复杂的网络也会出现过度拟合的等问题。在模型建立初期,给顶一个合适的网络结构是很难的,所以建议使用工具中的快速和动态调整法。其中快速法的默认状态只包含一个隐层,隐层节点个数默认为:

其中,ni和n0分别表示输入节点个数和输出节点个数。

网络模型结果提供敏感性分析,是一种研究输入变量对输出变量影响程度方法,敏感系数越大,则输入变量对输出变量的影响就越大。反之影响就越小。敏感性 一方面可以使结果更直观,另一方面可以剔除影响小的变量,确定影响大的变量,从而有效地减少模型变量冗余,提高模型的精度和速度。

分析联通公司某地某月4万数据量进行模型训练, 其中流失用户占5%。建模过程如图1和图2所示:由于数据量比较大,前期的数据处理的一些工作已在数据库里进行操作。由自动分类器建模,基于模型提升度的评估,神经网络优越于其它模型。下一个步骤主要在神经网络的基础上调节模型,使模型最终达到最优。

4 结束语

采用模型准确率、覆盖率、命中率、提升率等角度评估流失预测模型的预测能力。准确率是模型预测的正确比例,体现模型的误差程度。覆盖率是实际流失中预测正确的比例,体现模型的覆盖程度。命中率是预测流失中实际流失的比例, 体现模型对流失客户的预测精度。提升率衡量预测模型捕捉流失客户难易程度。指标值越大,说明预测的结果越好。

通过前期的数据准备,模型建立,模型评估,最终确定流失预测模型的指标和BP网络结构, 并可以针对明细数据,流失预测分值,确定维系挽留级别,进行有效地流失预警。利用历史数据对网络进行反复测试,检验网络的鲁棒性,直到网络性能稳定,模型结果近似最优解为止,可以发布模型、在数据库固化模型等操作。

摘要:随着市场竞争的日益加剧,客户流失问题是电信运营商都面临并急需解决的问题。要解决这个问题,首先就要对客户进行分析和预测。本文就是介绍利用挖掘软件SPASS Modeler对电信客户进行数据探测与分析,掌握老客户的流失动向,并对流失客户的特征进行归类,为以后电信运营提供有用的数据。

室内定位系统模型设计与实现论文 第2篇

基于能效的WLAN室内定位系统模型的设计目的,一方面是为了降低位置指纹数据库规模,另一方面为了减少服务器与客户端的数据传输量,同时减少相关的计算量。为了实现这个定位系统,笔者提出了AP预处理算法、聚类算法以及精定位AP选择算法。该文主要是分析如何设计基于能效的WLAN室内定位系统模型,以及如何实现这个系统的应用目的。

关键词:WLAN,室内,定位系统,模型设计

1、前言

由于无线局域网的迅速发展,基于WLAN的室内定位技术也越来越受到相关研究人员的关注。WLAN主要是通过检测无线接入点发射的信号强度判断用户的位置,而根据信号强度来进行定位的系统主要分为两种,其中一种基于传播模型的室内定位系统,另外一种是基于位置指纹算法的室内定位系统,在这两种室内定位系统中,前一种的限制条件比较多,后一种的优势比较突出。但是基于位置指纹算法的室内定位系统的实现需要解决数据库构造、离线采样数据预处理、定位AP的选择以及终端设备位置的估计,因此本文主要是针对这个问题,分析如何设计基于能效的WLAN室内定位系统模型,并加以实现。

2、关于基于能效的WLAN室内定位系统模型设计分析

2.1定位系统模型整体设计

以往定位系统的能耗比较大,而能耗主要发生在两个点,其中一个点是服务器与客户端的数据交互,另外一个点是在位置估计中的计算。为了使定位系统能耗降低,就必须缩减数据库规模,减少服务器与客户端的信息传输量,同时还要在位置估计的计算过程中选用比较简单的计算方法。基于能效的WLAN室内定位系统模型主要包括两个阶段,一个是离线阶段,包括指纹采集、AP选择、数据库预处理以及聚类等四部分;另一个是在线阶段,包括测量值预处理、大概定位、AP选择以及精确定位等四部分。

2.2定位系统模型设计特征

首先关于虚拟AP预处理算法,这个虚拟AP有一定的优势,但也有不足的地方,它的优势在于可以虚拟出多个BSSID的AP,但是在定位方面提供的数据不够简洁。针对这个问题,笔者提出了VAP预处理方法,优化以往的虚拟AP预处理算法;其次关于非断续RSSI的仿射传播聚类算法,在以往的定位算法中,只能在面积比较小的室内进行定位,然后把定位的地方分为多个AP才能测量到。对于面积比较大的地方,根本就不能使AP全部覆盖,针对这个问题,笔者采用非断续RSSI的仿射传播聚类算法来代替;再次关于均值平滑滤波,在实施定位的过程中,容易外在环境的影响,从而使RSSI出现较大的波动,为了解决这个问题,笔者选择使用均值平滑滤波器;最后关于AP的选择,通常情况下,在离线和在线的阶段可以检测到接入点的改变情况,需把在线AP选择分成两步,比较麻烦,因此笔者采用基于RSSI空间区分度的AP选择来解决这个问题。

3、关于基于能效的WLAN室内定位系统模型实现分析

3.1离线阶段

首先,关于指纹的采集,笔者把定位区内AP的安装位置和配置信息假设为未知,但是两者都可以通过某种方式把网络数据传播出去,同时离线的阶段配有无线适配器的移动终端,然后在每个位置可知的参考点,扫描AP的BSSID和BSSID,并获取BSSID和BSSID;其次,关于离线AP选择,一般情况下,终端设备每次进行扫描的时候,都能够测量到几十个AP,但是不同的AP对定位产生的结果不一样,因此最好不要保留全部的AP。在离线阶段,AP选择的目的有两个,一个是缩减数据库的规模,另一个是减少服务器和客户端的信息传输量。为了达到这两个目的,应选择保留信号强度相对比较大的AP,因此信号强度比较大的AP在离线阶段不容易发生断续以及空间区分度大的情况;再次,关于数据库预处理。在实际定位中,由于外在环境因素的影响,RSSI波动比较大,为了解决这个问题笔者采用均值平滑滤波器进行定位。一般情况下,接受信号强度非常弱的时候,一些AP的测量值不够平稳,容易出现断续现象,而平滑滤波器可以补充这些丢失的测量值;最后,关于仿射传播聚类。如果RSSI比较小的情况下,就会容易出现断续现象,而基于非断续RSSI的仿射传播聚类可以避免这个问题的发生,在对这种仿射传播进行计算的时候,选择的`每个AP一定要保证RSSI测量值足够大,把其他的忽略掉。

3.2在线阶段

首先,关于类匹配的大概定位。在实际定位过程中,需要终端设备先从下载聚类中心的测量值集合,然后进一步计算在线阶段的测量值,同时还要计算各个聚类中心的相似度,从而确定它属于那种聚类。如果用户没有处在聚类的中心时,并且只选择相似度最高的其中一个聚类,通常都会导致类匹配不成功。所以进行大概定位的时候,需要保留相似度比较高的几个聚类,而不是只是一个聚类。同时在这个基础上进行精确的定位[2];其次,关于在线AP选择。在定位面积比较大的时候,各个参考点并不能检测到所有的L个AP,这样的话就容易导致在线和离线RSSI向量间的距离太大,在进行精确定位时容易出现较大的误差,因此当参考点数量达到一定的比例时,可以把对应的AP去掉;最后,关于精定位的计算方法。在进行精定位的时候,如果计算方法过于复杂的话,将会耗费更多的时间,为了实现降低耗能的目的,可以采取加权K近邻算法,这个计算方法相对来说比较简洁。

4、结束语

实现模型 第3篇

传统的教学模式都是以教师的讲课为主,学生都处于被动接受的状态,可想而知,这样的教学效果是不佳的。在初中化学教学过程中,应强调学生的主体地位,以培养学生的实践探究知识的能力为教学目标,适应社会发展的需求。构建 “互动探究模型”,让学生可以进行充分的交流与合作,在自我解读的基础上发现问题并大胆提出来。在这种模式的课堂教学中,师生之间是平等的,学生与老师之间交流合作并相互尊重,教师不再像以前一样将所有的知识点灌输给学生,而是引导学生自主学习,留出充足的课堂时间和空间让学生思考所学内容,鼓励学生勇于发现并提出问题,并通过自我探究对所提问题进行解答。这样一来,学生不仅可以牢牢掌握自己探索出来的知识,还能提高自身分析思考、观察探究的能力,提升合作精神和创新意识,激发自主学习兴趣。在学生充分认识并理解所学知识的基础上,教师应积极拓展学生的思维,鼓励学生将理论知识与实际生活联系起来,致力于将化学知识实用性最大化地发挥作用

传统的教师“一言堂”是以教师为主的教学模式,而新课标需要我们确立学生在课堂上的主体地位,所以,我们必须加强师生之间以及生生之间的合作与交流,共同探究化学的奥秘,突出强调学生在课堂学习中的主体地位。

一、巧设情境,抛出问题

教师可以根据教材上的教学目标和内容,准确选取适当且具有代表性的课题进行研究,结合学生的生活实际和学科本身,巧妙地设计相应的情境并向学生抛出问题,吸引学生积极主动地进行思考。需要教师注意的是,课题的选取要有针对性并且要难易适中,情境的设置要贴近学生生活而且要生动有趣,才能真正达到让学生积极主动地进行探索并掌握知识的目的。

例如,在教学人教版初三化学教材第二单元“我们周围的空气”过程中,教师可以先向学生提问“空气中有什么?”以及“我们平时呼吸主要依赖的是什么物质?”为了让学生充分认识到空气的含义及其中包含的物质,教师可以分别准备一瓶纯氧和一瓶纯二氧化碳,并让学生亲身感受二者的差距,当学生真正意识到氧气的作用时,教师继续提问“如何制备氧气?”让学生自我思考,相互交流,合作探究,最后,教师帮助他们找出正确的方法。

二、合作交流,分析问题

教师在课堂教学过程中,要做到少讲课,多提问,这样才能帮助学生展开热烈的讨论。其实在面对新的知识时,学生内心是有很多疑问和想法的,但在传统的教学模式下,教师完完全全将知识裸露在学生面前,学生心中本来的疑问看上去已经解决了,其实并没有真正地理解。因此,在初中化学的教学过程中,教师应着重关注学生自身的发展,鼓励学生大胆质疑,加强学生之间的自主交流和探索,提出不同的解决方案,在实践与探索中得出正确结论。例如,对于上述“如何制备氧气”做出假设,是否可以从空气中分离出纯氧?能否从含氧原子的物质中分离出纯氧?通过分析,可以发现空气中成分多种多样,若想分离出纯氧,则需要把其他成分一一去除,显然是比较难操作的,所以我们应致力于分析探究如何从含氧原子的物质中分离出纯氧。比如H2O2,是否可以从中分离出O2,则需要我们进一步的探究。

三、实践探究,解决问题

在学生热烈的讨论和分析后,为了验证各个小组分析出来的结论正确与否,教师应组织学生进行试验探究,用事实来验证,而不是教师直接用理论知识判断。如果通过验证,学生的假设是正确的,教师应给予极大的肯定和赞扬,并鼓励学生再接再厉。如果学生的假设与实验结果不相符合,教师应帮助学生找出原因进行分析研究,提出新的问题并重新进行假设、探究、得出正确结论。

四、归纳总结,拓展体会

归纳总结是学习过程中一个不可或缺的过程,没有进行归纳总结,学生心中的知识是孤立的、杂乱的,没有一个完整且清晰的知识网络,新学的知识很快也会被遗忘。所以,教师在学生自主发现分析问题、实践探究得出正确结论后,应帮助学生进行归纳总结,用科学严谨的语言对整个过程进行表述,将独立的知识点串起来,让学生更加深刻地理解所学内容。在此基础上,教师应加强对理论知识的课外拓展,鼓励学生在理论知识和实际生活两者之间找到联系的桥梁,有机地将课本上的知识应用于实际生活与生产中,强化化学知识的实用性。生活中有很多事情都与化学有着密不可分的关系,教师可以鼓励学生细心地观察,并与学生进行探究。

在初中化学的教学过程中,构建互动探究模型,鼓励学生积极思考,加强学生之间的交流合作,通过学生自己动手操作解答自己心中的疑问,在不断的探索中获得化学知识,在此过程中还能提高学生的动手操作能力、自主学习与探究的能力,提高学生的团队意识,为学生的自我发展奠定基础。

参考文献:

[1] 李清林.浅谈化学教学中学生科学素质的培养[J].泸州职业技术学院学报,2007.

[2] 尹泳一,孙万运.在探究中追求化学课堂的动态生成[J].化学探究,2006.

科技文献本体模型设计与实现 第4篇

在科技文献中往往存在着大量的专业知识,而且知识的形式也多种多样,知识的来源渠道也比较复杂,用来表示知识的概念和术语也非常多样化,这导致了科技文献的信息共享存在着重重困难,在科技文献共享方面必须采用一种明确的形式化的规范描述。在知识表示和知识共享方面,本体能从语义和知识两个层面上对科技文献的信息进行描述,能够比较精确而且规范的描述某个领域知识的概念以及概念间的相互关系,而且这些概念以及概念的关系是在领域内得到大家认可的概念集, 同时本体描述语言是符合W3C标准的建模语言[1],所以由本体构建的模型可保证领域知识的共享和可复用性, 由于本体具有以上优势,本体技术在知识表示、知识共享和语义检索方面的研究成为热点问题,比如在国内外本体技术在医学行业、农业花卉、化工行业、生物等领域的研究和应用有了一定的进展,特别是近些年来将本体技术引入到科技文献检索中的研究得到了越来越多的研究和探索,所以对科技文献本体模型设计和实现的研究对科技文献共享和检索方面具有重要的支撑作用。

1本体技术概述

本体最早是做为一个哲学的概念被提出来的,后来随着计算机技术和人工智能技术的不断发展,本体在计算机和人工智能领域被赋予了越来越多的新内涵,随着时间的发展,本体的内涵不断的完善和丰富,本体的构建方法论、描述工具以及构建工具都得到了进一步的发展。本体的应用在不同领域以及不同应用场景中的应用各不相同,所以并没有形成统一的本体的构建方法论、 本体模型的描述语言以及构建工具。

1)本体的定义

各个领域的专家和学者根据自己的领域知识和理解给出了各自的本体定义,1993年Gruber提出“本体是对概念模型的明确规范的说明[2]”,1998年Studer提出 “本体共享概念模型的明确的形式化规范说明[3]”,这两个对本体的定义对本体的发展比较具有影响力,国际W3C组织采纳了Studer对本体所做的定义。

2)本体构建方法

国内外的大学、科研院所以及各个领域的专家和学者对本体的构建方法进行了研究,但是在本体的实际构建过程中,大多还是采用手工方式,目前在构建本体过程中并没有统一的建模方法,应用比较广泛的本体构建方法主要包括骨架法、METHONTOLOGY法、IDEF5法、TOVE法以及七步法。

如表1所示,从是否有工程管理、是否需要开发前期、是否有需求分析、是否有设计、是否有执行、是否有开发后期等维度对常用的本体构建方法进行对比分析,每一种本体构建方法都有自己的优势和劣势,都有自己适合的领域,经过比较分析,在本文中构建科技文献本体模型的过程中综合了上述五种方法的优势,并且较多的借鉴了七步法中的设计思路。

3)本体模型描述语言

本体是一种知识表示和知识共享的方法,本体的描述语言的特定必须简单、明确,对知识的表示和描述没有歧义,由人工智能领域发展而来的本体描述语言有Cyc L、Loom、OCML以及Ontolingua语言等,后来随着计算机技术的高速发展,特别是互联网技术的快速发展,基于语义Web的本体描述语言应运而生,其中RDF、OIL和OWL语言应用比较广泛,并且被W3C国际组织作为本体描述语言标准向本体研发人员进行推荐。

如图1所示,在推理能力与语法表达及互操作两个维度来说,现有的本体描述语言有各自的优缺点, RDF的语法表示存在着弱势,对WEB本体支持较弱,而DAML+OIL和OWLDL在语法表示方面可以支持比较复杂的本体需求,但OWLDL在推理方面难点和复杂程度比较高,OWLDL在专业领域的复杂概念和关系的本体构建应用较多。OWL语言被W3C推荐为本体描述语言的标准,比较适合WEB应用,同时使用OWL语言建造和使用本体的难度都比较小,通过以上的比较,在本文中选择OWL作为水利水电科技文献本体的描述语言。

4)本体模型构建工具

在本体的构建、编辑、维护过程中,往往采用一些商用的或者免费的软件工具,这些工具往往是一些大学或者企业率先研发出来的,这些工具主要包括以下两大类 :第一类本体构建工具主要包括Ontolingua工具、 Web Onto工具以及Onto Saurus工具等;第二类本体构建工具包括Oil Ed工具、Protégé工具和Onto Edit工具等。上述的本体构建工具不只支持一种描述语言,往往可以对多种本体描述语言格式进行支持,比如XML,RDF和DAML+OIL等。本体构建工具各有优缺点,适用于不同领域的本体开发工作,这些本体构建工具还在不断的发展和完善之中。

Protégé软件是由斯坦福大学医学院开发的构建本体模型的一个重要的软件工具,该软件是基于Java语言开发的本体集成开发环境,属于开放源代码软件,用户可以在斯坦福大学Protégé官方社区下载Protégé工具的最新源代码以及各个历史版本,高级用户甚至可以根据自己的实际需求来修改Protégé工具的源代码,并且社区还为这些用户提供技术支持,在本文在构建科技文献本体模型的研究过程中,将采用Protégé4.3作为本体模型的建模工具,设计和构建科技文献的领域本体模型。

2科技文献本体模型设计与实现

本体模型的设计主要步骤如图2所示,七步法的主要步骤为“本体专业领域的确定”→“有无现有本体可以重用”→“凝练领域的重要术语”→“类以及结构的定义”→“本体中类的属性定义”→“属性侧面的定义”→“实例的创建”。在科技文献本体模型设计过程中,下面按照七步法的指导,对本体模型的设计过程进行详细描述。

1)专业领域的确定

本体描述的概念以及概念之间的层次关系都是有一定的领域范围的,在多个领域通用的本体模型是不存在的,所以应用领域的不同,本体模型也各不相同。构建科技文献领域本体所涉及的范围就是确定科技文献的概念、术语、概念之间的关系、概念的相关属性之间关系以及属性以及属性之间的关系等内容。在构建领域内本体的过程中,通常采用参考该领域内科技文献分类体系的方式。由于分类方法使用了公认和规范的术语,既可以参考领域内的分类方法中的术语和词汇来形成领域本体的概念和术语,也可以参考领域内分类方法的层次结构来构建本体类的关系,可以缩短构建领域内本体的工作时间,同时使得本体的可扩展性和可维护性大大提高。

2)有无现有本体重用的分析

在构建本体模型之前,需要进行大量的调研工作, 确定在该领域内是否存在可供复用的领域本体模型,若该领域内有可复用的本体,则可以从本体的基础上,根据实际需求,在领域内专家的指导下,对本体模型进行补充和完善。在本文中则从零开始,在七步法的指导下一步一步的构建科技文献本体模型。

3)凝练领域的重要术语

科技文献本身包括的信息主要分为内容描述、知识产权相关、学科分类、外部属性描述和关联属性描述等。文件本身信息主要包含了资料名称信息、学科分类信息、语言类型信息信息、资料类型信息、数据类型信息、等信息属性。文献的分类信息主要来自于该领域内的分类体系。由于文献间存在着同义词、相关性,还有部分和整体的关系以及参照和被参照的关系,所以还要需要确定文献之间的重要关系。总起来说领域的重要术语包含了内容描述、知识产权相关、学科分类、外部属性描述和关联属性描述等信息。

4)类以及结构的设计

通过前面的步骤得到了最原始的术语集合,通过分析和细化这些术语,选择一部分与本体模型关系比较密切的术语作为概念,该概念代表着一类具有共性的实例对象,并且这些概念作为本体模型中层次结构中结点而存在,在本体理论中,这些概念称为类,类既是本体模型中最主要的知识单元,同时也是基本组织单元,跟计算机领域内的面向对象编程语言中的类有个相似的地方就是本体理论中的类也具有继承性,越高层的类表示的概念越抽象,子类继承了父类的属性,表示的概念比父类具体一些。

如图3所示,科技文献资源的本体描述框架共分为5个大类,共有20多个属性,这四个大类为:内容描述类、知识产权相关类、学科分类、外部属性描述类和关联属性描述类。

内容描述类主要包括文献标示、文献名称、文献标题、学科分类、项目来源、文献语种、关键字、文献摘要、文献内容等属性。

知识产权相关类主要包括文献作者、出版社等属性。

学科分类是描述科技文献模型的重要分类,是科技文献检索的基础。

外部属性描述类主要包括文件大小、归档日期、文献类型、文献页数、文件大小、完成日期、资料格式等属性。

关联属性描述类主要包括了是…的一部分、包含…的部分、参照关系、被参照关系等属性,关联属性描述类主要描述了科技文献之间的关联关系,是对象型属性。

学科分类是科技文献资源描述框架的核心类,主要描述了科技文献的上位类词、下位类词和同义类词的关系。 学科分类通过sub Class Of(是子类)和equivalent Class(是同义类)属性将的学科分类联系起来。

5)本体中类的属性设计

通过上述步骤建立了科技文献领域的整体架构,该架构描述了本体的类以及类的层次关系,但就有类和类的层次关系还远远不能提供科技文献本体模型所表达的知识信息,需要在本体模型类和类的层次结构的框架基础上进一步描述这些类的内部结构,这些类的结构数据就是类的属性,在本体构建过程中,类的属性通常可以分为以下两种:数据类型属性和对象属性。

如表2所示,科技文献本体模型的类通过类的属性建立了类的实例之间的关联,使科技文献本体模型中的 “科技文献”类的实例之间的联系构成了网状结构,在 “科技文献”类的众多属性中,“学科分类”属性是最重要的一个,该属性指定科技文献所属的学科分类, 这个属性的取值必须是“学科分类”的实例,这样就建立起来科技文献信息和学科分类之间的关系,因此 “学科分类”属性是连接文献信息和学科分类的重要联系方式。

6)属性特性的设计

属性PROPERTY的特性有翻转性、传递性、对称性、相同性、函数性等等,可以根据实际情况进一步设置。属性的特性名称、描述和实例如下:

翻转特性:一个属性可以被声明为另一个属性的翻转属性,参照属性是被参照属性的翻转属性。例如文献A的参照属性是文献B,则可以推出文献B的被参照属性是文献A。

传递特性:属性可以被声明为传递的,比如综合类和综合A类的名字不同,但拥有相同的实例。

同义特性:两个属性可以被声明为相同的,比如综合类和综合A类的名字不同,但拥有相同的实例。

文献信息类的属性特性根据技文献本身的特点, 比如在科技文献本体模型的设计中,文献信息类的对象属性有同义词、相关文献、包含…的部分、是…的一部分、被参照、参照等特性。

7)实例的创建

通过上述六个步骤创建了科技文献本体模型的类、 类的层次关系以及类的属性之后,就可以定义某个类的实例。类的实例之间关联关系可以通过属性来进行确定,科技文献本体模型的设计过程已经完成,创建科技文献本体实例的过程也就是对科技文献实例进行语义标注的过程,每篇技文献对应一个实例。

3结论

实现模型 第5篇

估计极端行为模型:分位数回归方法及其实现与应用

在许多社会和管理研究中,研究者通常很感兴趣不同于期望或平均的极端行为的`理论解释.这些特殊个案所包含的信息往往是研究的创新点和解决某些问题的突破口,但传统的最小平方法与最小一乘法并不适宜于这类研究问题的解决.本文讨论一种估计极端行为的理想模型:分位数回归.本文在对分位数回归的国内外研究现状进行综述后,介绍了分位数回归的模型和实现方法,并将它与最小平方法、最小一乘法进行了比较.最后探讨它在我国管理研究领域的应用方式和有关条件.

作 者:吴建南 马伟 WU Jian-nan MA Wei  作者单位:西安交通大学公共政策与管理学院,陕西,西安,710049 刊 名:数理统计与管理  ISTIC PKU CSSCI英文刊名:APPLICATION OF STATISTICS AND MANAGEMENT 年,卷(期): 25(5) 分类号:O21 关键词:分位数回归   最小平方法   最小一乘法  

实现模型 第6篇

在当今这个发展越来越迅速的社会,人们的日常联系也是越来越紧密,这就对于我们的移动通信业务也有了更高的要求。而在我们的移动通信使用中,无线频谱发挥着重要作用,它影响着我们的通话质量,但是基于庞大的使用数量,无线频谱也就成为了一种极为有限的稀缺资源。对于这一有限资源进行合理化的使用,信道均衡化分配技术就显得尤为重要。信道分配即在满足小区的信道需求,保证为小区提供的信道质量下,找到需要最少信道的方法。在蜂窝网络覆盖中往往会出现以下问题,当覆盖的范围小时,需要的信道会较少,但可能会造成部分用户无信号;当覆盖范围增大时,为了避免干扰会扩大系统容量,但往往会消耗更多的信道资源。基于以上出现的信道分配问题,我们提出来了建立蜂窝网络中信道分配模型,并且以均衡化为目的的控制器作为体现,通过控制器来均衡分配信道资源,减少信道资源损耗,使移动通信业务的实时性使用受到的影响降到最低。

信道分配均均衡化控制器的设计与实现

整体架构。如果进行信道分配均衡化,就要先了解控制器在整体中的位置。在蜂窝网络信道资源分配平台和控制器整合架构中,可以分为三大部分:层蜂窝网络信道资源分配平台、蜂窝网络信道均衡化分配控制器、底层的蜂窝网络系统。先有上层蜂窝网络信道资源分配平台将信道资源发到控制器,再由控制器进行采集存储、分析处理,得到更好的分配方案,最后下发到底层的蜂窝网络系统,进行移动通讯设备用户使用所需的信道分配。控制器可以对信息进行存储,生成流表,信道资源下发等,是均衡信道分配控制系统中的控制中心。控制器还可以进行反馈处理,使网络的顺利运行更为协调。

控制器的功能模块设计。控制器的主要功能是对众多的蜂窝网络信道信息进行采集分析,记录存储,资源下发等。控制器主要可以分为基础模块和应用模块两大功能模块,通过这两个主要功能模块之间的相互协作,可以达到网路信道资源分配的均衡化,为网络的顺利运行提供强有力保障。基础功能模块是控制器的基础部分,主要可以进行蜂窝网络的信息采集分析,生成信道流量表,并且可以对信道资源分配制作规划方案;应用功能模块则是根据不同的需求,调动基础功能模块提供的资源,如资源分配方案规划方案模块提供的分配方案、存储信道资源分配信息、链路模块进行数据反馈等,充分减少资源消耗,进而来完成对于蜂窝网络信道资源的均衡化分配。

信道分配均衡化控制器的工作邏辑设计。逻辑性思维在我们的生活中经常扮演着重要的角色,可以使我们的生活更为条理性,而控制器的工作逻辑在信道分配均衡化控制系统中也是极为重要的部分。工作逻辑影响者控制器功能的好坏,对于系统保质保量运行有着极为重要的作用。根据上层蜂窝网络信道资源分配平台的交换机和控制器连接之后,会进行交换机的信息采集存储,并开启传递功能,完成交换机数据采集。控制器采集功能可以得到反馈得到的数据包,然后将数据包反馈给数据分发的模块,解析数据包,将其中的信息发送到相应的处理模块,然后再由各模块进行相应的技术处理,才可以得到最后要下发的网络信道资源。控制器通过各模块在之间的相互协作,可以进行均衡化的网络信道资源分配,也减少了资源损耗,使网络信道资源可以得到更完美的利用。

仿真实验与结果分析

对于建立蜂窝网络中信道分配模型而设计的控制器,控制器的性能优劣我们可以进行一系列仿真实验来检测。在仿真试验中,我们可以通过对需求量、阻塞率、收敛性、网络吞吐量和网络节点间通信中断概率这些数据进行检测,对得到的数据进行对比,来检测控制器在蜂窝网络信道分配中起到的作用是否明显。仿真实验下检测得到的结果:需求量在相同的覆盖半径之下控制器需要的信道分配数更少,阻塞率也更小,收敛效果也有了较大的提高,可以得到更好的信道分析模型,网络吞吐量增幅变化更为平稳,资源复用也可以减少信道消耗,可以使分配更加的均衡化,网络节点间通信中断概率也得到了很大的下降,使使用更加安全,减少中断风险。根据需求量、阻塞率、收敛性、网络吞吐量和网络节点间通信中断概率得到的数据,我们可以得到呼阻率,我们可以看到,在控制器的作用下,我们可以很好的减少呼阻率,并且可以提高系统的吞吐量,使移动通讯的使用更为顺畅。

元模型存储测试的设计与实现 第7篇

随着MDA (Model Driven Architecture) 在软件开发中的应用越来越普遍, 模型驱动的思想也被引入到测试领域, 出现了MDT (Model Driven Testing) , 即模型驱动测试这一先进的软件测试理念。基于MDT的基本思想, 我们开发了模型驱动的Web应用软件自动化测试工具 (MDWAT) 。该工具充分体现了以测试模型为核心来实施测试的思想, 具有很好的可重用性和可维护性。所有的测试过程及测试产物都用UML元模型来描述, 包括测试体系结构元模型、页面导航元模型、测试用例元模型、数据池元模型、测试部署与调度元模型、测试执行元模型、Server端的EJB构件元模型、测试结果比较与分析元模型等。这些测试元模型之间依靠公共对象实现互相连通、信息共享。当实际执行测试时, 测试元模型被实例化为测试模型, 这些测试模型通过存储模块加以保存。由于测试模型在整个测试过程中处于关键地位, 因此, 保证测试元模型的存储模块正常工作对于整个测试过程的顺利进行至关重要。为此, 我们采用JUnit作为测试手段, 对所开发的Web测试工具中的测试元模型存储功能进行了测试, 研究了基于元模型测试的相关技术与方法。

1 基本概念

1.1 JUnit

JUnit是一个开源的回归测试框架, 适用于极限编程中的单元测试, 已经成为了单元测试的事实上的标准。JUnit中定义的测试基类为TestCase, 在实际测试时只需要继承TestCase建立相应的测试类即可。所有的测试逻辑都写在“test (Method Under Test) ”方法中, 然后通过runTest () 方法运行测试用例。变量的初始化和资源释放分别通过setUp () 和tearDown () 方法来实现。事实上, JUnit为单元测试提供了从测试变量的初始化、测试用例的自动运行到测试结果的自动比较等全过程的支持, 这样可以使用户将关注的焦点集中在测试逻辑如测试用例的设计方面, 而不必关心底层的测试执行过程。

1.2 元模型

基于MOF的四层元模型体系结构如表1所示。这种分层方法是模型驱动体系结构的核心思想, 通过不同层次之间的映射可以保持定义的一致性。元模型是模型的模型, 即它定义了在模型中所涉及到的各种元素以及元素之间的关系, 它的抽象层次比模型更高。当一个元模型被实例化后, 所呈现的就是一个相应的模型, 此模型中的出现的元素以及元素之间具有的关系都是严格按照元模型中的定义被实例化的。

2 测试策略的设计

2.1 测试需求

我们的测试需求是:借助于JUnit框架, 针对测试元模型存储模块中的writeObject () (保存数据) 和readObject () (读取数据) 方法进行单元测试, 包括这两个方法中涉及到的所有的类。通过测试, 验证这两个方法能否正确地保存并读取测试元模型。

基于元模型的测试与传统的基于代码和基于规范的测试不同, 属于一种新的测试类型。元模型处于抽象层次, 它只规定了建模元素的属性及相互关系, 并不包含实际的数据。因此, 不能直接对元模型实施测试, 需要首先将测试元模型实例化为具体的测试模型, 然后使用测试模型中的数据来测试保存和读取功能。

2.2 测试用例的设计

Cheon和Levens提出一种针对使用JML描述的Java类, 半自动地生成JUnit风格测试用例的方法。JML支持契约式设计, 能够根据前/后置条件生成断言, 因此该方法实际上是一种基于模型的测试。

本文中的测试用例是测试元模型的一个实例, 对于一个确定的测试元模型, 采用如下方法为其生成测试模型。首先生成元模型中所有元类的实例, 然后为每个元模型中的所有属性分别指定具体的属性值, 最后使用getList () .add () 、setSpecific () 、setGeneral () 等方法建立实例类之间的各种关联关系。为了便于测试模型的存储与读取, 在元模型中选取一个root根节点, 通常选择直接继承自UML Class类的元类, 作为测试用例的入口节点, 其它所有元素按照继承和关联关系都作为root节点的子孙节点。

我们根据元模型的特点制定了如下测试覆盖准则, 用以指导测试用例的设计。

(1) 单元素覆盖测试准则

针对一个特定的元模型, 该准则分别考虑其中的元类和元关联。对于元类, 要求覆盖元模型中的所有元类及其中所有的属性, 而不考虑元类之间的关联关系;对于元关联, 要求覆盖元模型中的所有关联关系, 对于关联两端的元类只生成其实例, 而不考虑其中的属性。

(2) 单个测试元模型覆盖测试准则

设所有的测试元模型组成的集合为TMM, 实例化后的测试模型组成的集合为TM。特别地, 对于MDWAT而言, TMM={SUT_Client, TestDeployment, DataPool, ExecutionResult, SUT_TestCase, ResultType, TestArchitecture, SUT_Server_EJB-Component1, TestControl, SUT_Server_EJBComponent2};TM={SUT_Client-Ins, TestDeployment-Ins, DataPool-Ins, ExecutionResult-Ins, SUT_TestCase-Ins, ResultType-Ins, TestArchitectureIns, SUT_Server_EJBComponent1-Ins, TestControl-Ins, SUT_Server_EJBComponent2-Ins};

测试用例集合为TC={testcase1, testcase2, ……, testcasen};则有如下关系:

card (TMM) =card (TM) card (TM) ≤card (TC)

TC={tc|tmm TMM, tc是tmm的实例}

(3) 多个测试元模型的组合覆盖测试准则

设通过对象引用关系将所有的测试元模型加以组合所得到的集合为TMC。则有:

TC={tc| ∀ tmc TMC, tc是tmc的一个实例}

card (TC) =card (TMC) =1

此准则实际上是将所有的测试元模型通过链接关系合成一个测试元模型, 即只有一个root节点, 能够遍历到各个测试元模型的子孙节点。由于测试工具执行时要用到所有的测试元模型, 故这个准则主要是考察当单个测试元模型存储读取无误后, 多个测试元模型联合使用时是否能够保证正确的存储与读取。

在实例化的过程中, 对于元类中的属性和元关联端点的数量, 采用等价类划分和边界值方法来确定。需要指出的是, Web应用测试通常涉及到大量的Web页面、表单、EJB构件的分析与处理, 同时可能需要大量测试用例和多个测试部件同时运行。因此, 在保证多个测试元模型的组合能正确存储与读取的基础上, 还需要进一步检测大批量的测试用例同时运行时存储功能是否能正确实现, 即对模型存储进行性能测试。

2.3 测试结果的判定

对每个作为测试用例的测试模型而言, 反映其存储和读取的特征量有两个:各实例类的所有属性值 (实际上反映了实例类的状态信息) 和各实例类之间的关联关系。因此, 在测试结果的判定中, 我们主要关注的也是这两个方面。对于属性值, 直接比较存储的属性值与读出的属性值是否相等;对于关联关系, 通过比较存储与读出的关联两端的对象是否相同来判断。例如:

assertEquals ("url", client.getUrl () ) ;assertEquals (new Integer (333) , test3.getColumnNum () ) ;

3 基于Eclipse平台的测试实现及结果分析

在Eclipse平台上, 提供了对JUnit的支持。我们建立了一个Project用于组织整个元模型存储测试项目, 在该项目中, 为TMM中的每个元素建立一个Package。每个Package包含两个java文件, 一个是CreateInstance.java, 其作用是创建测试元模型的一个实例, 包括建立各元类的实例、给属性赋值、建立元类之间的关系等;另一个是ModelRepositoyTesting.java, 在该类中扩展了TestCase类, 所包含的testWriteObject () 和testReadObject () 方法分别用于测试存储和读取测试模型, 测试用例的执行则通过runTest () 方法实现。

对于大批量测试, 我们考察了不同数量级的测试用例对执行效率的影响, 结果如图1和图2所示。

根据测试结果我们可以得出两点结论:

(1) 测试执行时间与测试元模型的层次规模成正比, 且随着层次规模的增加, 测试执行时间成数量级增长。这就给我们提供了一个启示, 要适当控制测试元模型的数量, 同时尽可能地减少不同测试元模型中的相同元素, 以提高测试执行效率。

(2) 测试执行时间与测试元模型的实例数量成正比, 且当实例数量小于万数量级时, 测试执行时间增长缓慢, 当超过万数量级后, 测试执行时间明显增加。对于Web应用测试, 测试元模型的实例数量有可能会超过万数量级, 这就提示我们要进一步完善存储算法, 以提高在大批量存储时的执行效率。

图3和图4显示了不同测试覆盖准则和JUnit中的测试代码规模之间的关系。

通过上述测试结果, 我们可以得出以下结论:一是测试覆盖准则越严格, 相对应的测试代码的规模就越大。例如, 整个测试元模型覆盖准则要比元类和元关联覆盖准则严格, 因此它的代码规模大于后两者;二是元模型中的测试代码规模主要取决于其中的元类和它所包含的属性的数量, 这是因为测试代码的主体部分是生成元类的实例并为各属性赋值;三是上述测试代码的规模都在可接受的范围内, 这意味着JUnit框架适合于基于元模型的测试。在我们的测试工作中, 有10个测试元模型、115个元类以及大量的元关联, 而组合测试代码的规模为2076行源程序, 相对于测试元模型的规模而言是不多的, 并且其中大量的测试代码可以被重用。

4 结束语

测试元模型在模型驱动测试中居于核心地位, 它控制着整个测试过程的执行, 并且作为载体实现了不同测试阶段的测试信息的共享。因此, 测试元模型是否能被正确地存储与读取, 对于最终的测试结果具有直接而重要的影响。本文通过JUnit测试框架, 对测试元模型的存储功能进行了完善的单元测试, 提出了4种覆盖准则及相应的测试用例设计方法, 讨论了测试结果的判定问题, 并对测试的实现和测试结果进行了分析, 对基于元模型的测试方法进行了探讨。今后的研究工作一方面尝试采用TTCN-3测试框架对测试元模型的存储进行测试, 并将其与基于JUnit框架的测试进行比较, 为元模型的测试提供指导;另一方面是根据JMetamodel的框架, 开发一个通用的基于元模型的自动化测试工具。

摘要:测试元模型在模型驱动的测试中居于核心地位, 在测试过程中保证测试元模型能够被正确地存储与读取是非常重要的。借助于JUnit这一通用测试框架, 对测试元模型的存储与读取功能进行了单元测试。在明确测试需求的基础上, 提出了测试用例的设计方法与测试结果的判定原则, 并结合实例进行了说明。最后讨论了测试的具体实现和相应的测试结果。

关键词:JUnit,元模型,测试设计

参考文献

[1]UML2.0Testing Profile Specification.OMG Adopted Specification ptc/03-08-03.

[2]The Object Management Group.Unified Modeling Language Specific-ation.Version1.5.formal/03-03-01.March, 2003.

碎纸片自动拼接复原模型的实现 第8篇

根据来自同一页印刷文字文件的单双面打印、中英文书写以及纵横切割三种因素, 将碎纸片拼接算法[2,3]分成了中英文单面纵向拼接、中英文单面纵横向拼接两种。通过实验结果, 验证了该算法的有效性和可行性。

1 基本假设及符号说明

碎片文件都是经过碎纸机切割的, 通过对所有碎片样本的观察, 发现同一类样本中的所有碎片文件的长和宽都是严格的水平和垂直, 所有碎片的像素大小都相同, 每个碎片都包含了至少一个完整的行距, 且行距都是固定相同的, 据此做了以下假设:a.所有的碎片边缘均为严格水平和垂直光滑;b.同一样本文件中文档的行距是固定相同的;c.图像切割线的两侧一般不具有对称性;d.同一样本文件中所有碎片包含的像素点个数相同。

2 自动拼接复原模型建立与算法模拟

一幅图像, 通常是由红色、绿色、蓝色三色组成的。红色、绿色、蓝色都是以灰度显示的。由于图片上各点颜色及亮度不同, 各点呈现出不同深度的颜色, 把黑色与白色之间分成若干等级, 即灰度级, 所以可以用不同的灰度色阶值来表示“红, 绿, 蓝”, 即RGB值。通常纯白其亮度级别为255, 是最高亮度, 而纯黑其亮度级别是0, 是最低亮度。

2.1 中英文单面纵切碎片拼接。

在单面单向拼接中, 碎片左右边缘的像素值决定着碎片的拼接顺序。因此, 可考虑将每个碎片的左边缘与右边缘上的像素值分别用两个0和1序列 (或向量) 来表示, 这样就可将一页文件的若干碎片转化为相关的0和1序列 (或向量) 。

公式 (1) 中的D (i, j) 表示碎片i的右边界和j左边界的耦合程度, D (i, j) 越大意味着耦合度越高。当欧氏距离为0时, 规定D (i, j) =1。

需要说明的是, 由于复原文档中对应最后一行碎片的右边界与第一行碎片的左边界的像素值均为0, 这两张碎片耦合度值达到最大值为1。按照此方法, 可得到所有碎片的拼接顺序。

2.2 中英文单面纵横切碎片拼接。

在单面纵横切碎片的拼接中, 考虑到所有碎纸片均为大小相同的矩形, 且在复原后的文档中处于同一行的不同碎片左右边缘的像素信息具有共同的特征, 因此, 可将每一碎片转化为碎片简化模式, 其中碎片模式中仅包含左右边缘上像素值分布的主要信息。在此基础上, 根据碎片模式的特征对所有待拼接碎片进行分类, 将复原后文档中处于同一行的不同碎片划分到同一类中, 然后利用单面单向拼接方法, 对每一类中的碎片进行横向拼接, 得到一个“大碎片”。最后, 利用单面单向拼接方法, 对所对应的“大碎片”进行纵向拼接, 则可得到所有碎片的拼接图。

2.2.1 中文单面纵横切碎片拼接。

双向切割是指碎纸机既纵切又横切, 但所切的碎片中都是大小相同的规则矩形图片。一般汉字都是方块字体, 在高度上有等高的特点, 并且打印文本文件同一页纸中的行间距是相同的, 所以可以引入模式分类的方法。

首先对每一个图片对应的模式进行分类, 即对每一个碎纸片进行处理, 利用每个碎纸片的左右边界的关系和上下碎片之间的关系拼接, 排列后使得同一行的碎片能归入相同的类;然后对每一类中的碎片按横向拼接方法进行拼接, 可以得到一个“大碎片”;最后将各类对应的“大碎片”按纵向拼接方法完成整个文档的复原工作。

a.模式的定义。对于每一个像素大小相同的碎片, 暂时不考虑碎片之间文字内容的逻辑关系以及具体汉字形状, 保留决定碎片拼接的关键信息, 将每一碎片转化为一个模式[8,9,10], 具体方法为:

记 , 其中

用P (i, j) 表示第行 (自上而下) , 第j列 (从左到右) 像素的灰度值, 将碎片k上所有像素 (i, j) 的值P (i, j) 用aki替换, 得到碎片二值图像称为碎片k的模式, 也可表示为 。

b.碎片模式分类。对任意两个不同的碎片 (模式) , 我们定义相似度:

2.2.2 英文单面纵横切碎片拼接。

考虑到英文的特殊性, 根据英文的书写版式原则, 可以将整篇文章放在带有英文四线格的底面中。既然可以放在四线格中, 这里我们把一行四线格看成一行, 可以确定每相邻行的行间距是一定的。行宽也是一定的, 考虑字母仅占有上中、中、中下、上中下等几种情况, 可以确定每一个字母都是在中间有书写笔画的, 四线格中上下行都具有英文笔画的是少数。

基于这种考虑, 可以对每一行四线格的中间内容进行求和, 当其和的值小于某一值的时候我们忽略四线格上面和下面的内容, 进而只考虑四线格的中间部分。对于那些特殊的碎片, 我们可采用人工干预的方式将其挑出, 所以将英文中四线格的上半部分和下半部分的内容忽略, 可以采取中文碎片模式转换的类似方法, 从而到英文碎片的模式。

3 实验结果及分析

实验是在Microsoft Windows 7系统上进行, 内存限定是2GB, 算法实现语言为MATLAB 7.0版本。根据不同的样本文件使用相应的拼接算法, 从而得到下面的模拟结果。

3.1 中英文单面纵切拼接实验。

样本文件1和2分别为中英文单面纵切碎片数据, 其中每页纸被切为19条碎片, 分别用000.bmp-018.bmp编号命名。利用MATLAB工具中的自带函数im2bw和imread, 将图像转化为仅包含0和1的向量, 接着根据中英文单面纵切算法可以得到碎片的耦合度矩阵, 由此可得样本文件1, 即中文单面纵切碎片的拼接复原顺序为:

同样, 可以得到样本文件2, 即英文单面纵切碎片的拼接复原顺序为:

3.2 中英文单面纵横切拼接实验。

样本文件3和4分别为中英文单面纵横切碎片数据, 其中纵切19, 横切11, 得到209块碎片, 将这些碎片都转换成模式, 把复原文档中的同一行碎片分到同一类中, 共11类, 每类中包含19个碎片。

3.2.1 中文单面纵横切碎片拼接实验。

实验中对样本文件3中某一分类的碎片进行模式转换, 如图1 (a) 所示。

按照相关拼接算法, 进行横向拼接, 该类的拼接顺序为:

与以上拼接顺序对应的碎片拼接结果见图1 (b) 所示。

同样, 综合样本文件3的所有碎片, 根据拼接算法, 得到所有碎片的最终顺序如图2所示。

3.2.2 英文单面纵横切碎片拼接实验。

将样本文件4中每一个碎片转换为最终模式, 并将所有模式放在180×209的数组中。经过处理, 现在要把具有相同模式的归到同一类。主要思想是利用欧式距离定义的耦合度, 按中文的碎片的分类方法进行分类。具体操作是将上述处理的序列就行逐一比较, 值为0 (完全匹配) 或在允许误差范围内 (值小于某个值) , 通过控制误差值, 将一类的归到一组。但是这个组的长度要控制在行长度内 (小于行长度19块) , 最终得到的分类结果如图3所示。

由图3可以看出, 共有191个碎片已经完成分类, 剩余未分的有18块, 需要经人工干预。观察得整个表格有12行, 其最终结果应该为11行。在前两行中可以发现这两行由于某种原因被分成了两个, 原本为一行。剩下的18块如图4 (a) 所示。

通过对图4 (a) 中碎片的观察与分析, 我们发现这些碎片具有共同的特征, 如图4 (b) 中碎片上被标记的部分所示。

由图4 (b) 可以看出, 这些图片都是有一行缺少英文字符, 使得碎片对应的模式比较异常。这些特殊的少量图片都是可以人工干预处理的。

在此基础上考虑碎片拼接过程, 先对分类的碎片左右拼接, 匹配仅在所在行匹配合成。上下匹配还要考虑行内其他元素的上下匹配。合成时整行都要合成。综合考虑以上因素, 我们对所有可以拼接的数据进行拼接整合。 (图5)

在这里, 处理特殊碎片需遵循的原则:以第二次拼接的图片为底图, 剩下的18块依次和底图匹配, 匹配原则包含经此处理之后便于观察整体拼接情况, 但是拼接后在合成部分已做断开划线处理, 这样便于将剩下的碎片进行拼接分析。经过此次拼接过程, 可以观察已组合部分是否匹配正确, 若不匹配的话, 可以暂时先将那块碎片剔除, 放到第三部分再进行匹配组合。碎片四边都要依次匹配, 匹配度最高的就是缺少块部分。按以上方法对样本文件4中的碎片进行拼接, 结果见图5所示。

结束语

通过研究规则切割碎纸片的拼接复原问题, 我们针对单面中英文纵向切割碎片以及单面中英文纵横双向切割碎片提出了不同的拼接复原模型以及方法。该方法将一张张碎片文件转换成了一个个像素点值矩阵, 对于计算机来说, 碎片文件的处理就变成了矩阵集合的操作;另外引入欧式距离将图像的拼接转化为耦合度的计算;接着考虑到印刷文本文件的排版特点, 引入模式识别的概念, 可以将大量杂乱碎片进行分类, 然后逐类拼接, 最终将双向拼接问题转化为单向拼接问题;最后所建立的模型效率好, 精度高, 从实验结果上可以看出该模型的可行性和有效性。

参考文献

[1]PAL A, KULESH S, MEMON N.Automated reassembly of fragmented images[C]//Proceedings of International Conference on Acoustics, Speech and Signal Processing, 2003, 4:732-735.

[2]罗智中.基于文字特征的文档碎纸片半自动拼接[J].计算机工程与应用, 2012, 48 (5) :207-210.

智能模型库系统的设计与实现 第9篇

关键词:决策支持系统,专家系统,智能模型库系统

在管理信息系统(MIS)中,仅有足够的数据,决策人员的活动只能依赖于查询、分类与归纳,系统本身不能根据有效的方法来提供经过总结的决策依据,于是模型及模型库便成了DSS的有机组成部分。模型有很强的领域行为特征并可随环境的变化而实现模型重构,这样使DSS能将人的判断与计算机技术的能力相结合,从而改进决策者的效能,但又不干预他们的自主权。然而,随着人工智能(AI)技术的发展,特别是随着大量基于知识的系统的出现,人们越来越认识到计算机如果除了拥有大量数据及数据处理方法以外,还拥有足够的领域知识及知识处理方法,那么能够在很大程度上提高计算机的领域适应能力,使计算机具有问题求解能力。传统DSS中实行对模型的重构、支持建模等活动都是在大量背景事实基础上,由决策人员做出的,这要求决策人员要有足够的知识来处理相应的问题,加重了人的负担。传统模型库系统(MDS)中的各组成部分缺乏统一的表示形式,产生很多的冗余信息,使用效率较低。传统MDS中更为突出的问题是缺乏必要的有关系统本身及领域的知识,系统缺乏有效的问题求解能力。

新一代模型库系统,必须具有基于知识的问题求解能力,模型的重构或建模活动都可以是基于知识的,使事务处理与问题求解可共存于同一系统中,从而增强系统的强壮性(Robutness)。这方面的工作,在国内外已有研究。但我们发现,在这些研究中,人们普遍关心的问题是怎样在模型库系统中实现基于知识的模型触发,而并不考虑知识的领域特征(如原理性与启发性)和领域层次(深层、浅层),也不注重系统的抽象结构,从而也没有一种较为统一的形式来表示系统的各组成部分,信息冗余量大,使用效率较低。

我们认为,一个智能模型库系统(IMBS)应着重考虑以下几方面的内容:

1.抽象的模型结构。

2.数据、模型、知识的一致化表示,并能有效地适应多种模型规范(如:行为分析、决策树、排队系统等)。

3.刻划领域知识的特征和领域层次,并实现基于知识的模型触发及问题求解。

4.支持模型生命周期的各个阶段, 实现模型库管理系统MBMS。

5.支持用户对模型的多种视图,提供良好的用户界面。

6.提供过程化与非过程化相结合的模型操纵语言。

本文主要就IMBS的抽象结构、知识表达及模型操纵语言做了较为详细的讨论,最后还讨论了实现智能模型库系统生成器AS-SIST一T的具体方法。

一、IMBS的抽象结构

IMBS由四个基本的部分组成:用户界面(UI)、知识库(KB)及推理机(IE)、模型库 (MB) 、全局黑板(GBB),下图描述了IMBS的抽象结构。

1. 模型库MB。

模型具有较强的领域行为特征.它可由MBMS管理,MBMS支持MB中各模型的全生命周期,从基本模型的开发、维护到应用。在ASSIST一T中,MBMS是基于窗口、菜单的,所以具有良好的使用方便性。

模型库中包含如下几个组成部分:

(1) 实用程序库。包含有各种应用程序,如:文本编辑程序,表格处理软件,图形生成器等。

(2) 模型结构库。主要存放有关各模型元的抽象结构,用于定义该模型元的输入/输出参数,条件谓词以及有关该模型的说明,在MB中,每一模型结构均具有如下形式:

其中,Body指向一个模型元实体库的与Model-name对应的实体,加速对模型实体的检索。

(3) 模型元实体库。存放各种模型的求解算法及模型表示形式的转换算子,它与模型结构库共同组成模型库的内核结构每一模型实体均具有下面形式:

(4) 传递参数数据库。存放模型运行所需要的各种参数数据,它可来自DSS的数据库,也可能是中间结果,每一参数具有如下特性:

2. 知识库与推理机。

在IMBS中,知识库中的知识用来进行建模过程的指导, 进行自动或半自动的建模过程, 我们认为, 领域中的知识具有不同的特性和不同的深浅程度, 用于进行模型触发、合成、优化的这些规则我们称之为元知识(Meta一Knowledge),而描述具有良好结构性并可应用于不同状态下的知识,称之为概念性知识(Conceptual Knowledge),具有较强的过程性并对不同的领域专家来说可能各不相同的有关键模或模型参数求解的知识称为经验性知识 (Experience Knowledge),这三类知识具有共同的特性(如都服务于建模过程),但又各自相对独立的特性。

推理机(IE)是对应于相应的知识库而言的,它根据GBB上的当前或历史事实,引用相应的知识,驱动相应的模型或产生新的事实。

3. 全局黑板GBB。

GBB实际上是有关系统运行的状态空间,它包含了系统要求的所有事实,从用户输入的信息到系统产生的中间结果,直至最终结果,因而GBB是整个系统得以运行的枢纽。

二、IMBS中的知识表达

在IMBS中,知识库应该是有层次的,并应刻划领域的不同特征,所谓知识的深浅程度,是指在问题求解过程中的不同阶段所用到的知识所处的地位,一般,在问题求解过程中首先用到的是具有较强过程性的经验性知识,所以它具有较浅层的意义,当使用经验性知识得不到合适的结论时,就应启用具有良好描述性的概念性知识,从而拓宽求解范围,得到较为满意的结果,因而概念性知识具有较深层的意义,除此之外,在IMBS中还可包含一些控制知识,用以控制模型的触发、合成与优化,称这些知识为元知识。一般地,元知识和经验性知识要求有较好的过程性,故我们用产生式规则表示,而概念性知识具有良好的描述性,故用对象来描述它们。

1. 元知识。

元知识描述与建模有关的各种控制知识,用于模型的触发、合成与优化,每一模型的触发除了受自身的条件谓词控制以外,还受触发规则的控制,由于在系统运行中,模型之间的关系和状态在不断发生变化,触发规则可通过GBB上的信息决定各模型之间的关系,合成规则可用以控制各种模型元的合成情况,在建模过程中,可由多个模型元合成而形成一个较为复杂的新模型,合成规则指明了合成的法则,也指明了模型元之间的互斥关系优化规则主要为了提高建模效率,并使合成模型的冗余信息尽量做到最少,优化规则除要用到GBB上的事实以外,还要用到MB中的模型结构库中的内容,限于篇幅,本文不对元知识的具体表示方法进行讨论。

2. 经验性知识。

经验性知识的主要用处是对模型要求的各种参数求解,在建模过程中,参数的值可以是用户输入的,也可来自DSS的数据库,但作为一个智能系统,参数值还可以是通过基于知识的问题求解得到,这一工作是由推理机制(IE)来完成的,经验性知识是用产生式规则(Production Rule)来表示的,每一产生式规则包含如下内容:

其中;If-part说明规则的前提,定义了参数之间的关系,Actpart用于完成对参数的求值或处理些事务性工作,Models定义了与本规则有关的模型元名,每一规则与建模过程是由Models联系起来的,IE根据当前的建模状况,选择规则,驱动规则,并完成Act-part所指出的动作。

3. 概念性知识。

当对参数的求解在用了经验性知识以后还得不到满意的结果,IE就启用概念性知识,进一步展开求解过程,进入深层推理,系统中所有的概念性知识组织成一个树状的对象图Object-net),每一对象应有如下属性:

其中prop-list说明了对象属性与模型参数之间的关系,对obj一name的例子化过程也就进行了相应的与Models有关的参数的求解过程。

三、模型操纵语言MCL

在IMBS中,模型操纵语言MCL是用户用来对模型库进行操作,并实现对模型的查询、合成、驱动等工作,MQL必须做到过程性与描述性相结合,这要求用自然的和逻辑的格式来表示真实的事件,特别地,由于我们要考虑系统中数据、知识、模型的一致化表示,这要求MQL的设计应考虑以下几个问题:

1. 数据结构独立,而不需要考虑具体的物理结构。

2. 具有良好的可扩展性,可在围绕MCL内核的基础上,构造新的命令和功能。

3. 考虑多维空间状态下的对模型的操作。

4. 为体现过程性,并不致于使用困难,应采用单一的命令格式,在ASSIST一T中,都要采用如下的形式:[命令][表达式子句][条件子句]。

5. 与数据操纵语言结合时,应采用宿主语言形式,即数据操纵语言,可直接插入MCL中,并不是用某些数据操纵语言命令代替I/O语句,否则会显得不灵活。

6. 与推理机(IE)的接口应是隐式的,即用户在用MCL对模型操作时,不可以对知识库中知识操作,知识只能在隐式形态下面由IE引用。

四、ASSTST一T的实现

ASSIST一T是一个IMBS生成器, 它作为一个建立领域智能模型库系统的工作台, 为领域系统开发人员提供良好的环境.在开发ASSIST一T的过程, 我们采取了如下的方法与步骤:

1.确定ASSIST一T的抽象结构, 它的结构与前面讨论的IMBS结构基本相同。

2.确定ASSIST一T各组成成分之间的关系、数据结构与数据流。

3.选择适当的数据库作为ASSIST一T的外部数据库, 并确定模型操纵语言MCL与数据操纵语言的宿主关系。

4.逐步实现ASSIST一T的各组成部分。

ASSIST一T由C语言实现, UNIFY作为其外部数据库, ASSIST一T除了提供领域系统开发的工作台外, 还提供了基本的模型元, 它们包括:线性规划、动态规划、目标规划、整数规划、What一if形式的灵敏度分析、决策树等, 这些是基本的没有特定领域特征的模型, 根据需要, 用户可修改它们的参数要求, 先作相应的调整。

ASSIST一T提供了知识获取和知识维护手段, 并提供了元推理、目标制导、数据驱动和框架推理方法, 可作为建模和模型触发过程提供良好的事实支持。目前, ASSIST一T已在VAX一11/785上实现了其核心部分, 并用它正在构造一个领域IMBS, 用于人防工事的评估, 用它完成领域系统效率是高的。

五、结论

智能模型库系统是今后模型库系统的一个很有希望的发展趋势, 在构造IMBS时要考虑它的抽象结构及各组成部分之间的一致化表示方法, 提高效率, 并要注重对领域知识在特征和深浅程度的分析, 并使不同的知识在领域在系统中起到支持决策人员决策的作用, 减少人的负担和错误, 增强系统的强壮性, 良好的用户界而可方便用户, 增加用户对系统的各种视图。对于建立领域IMBS, 要有一个良好的工作台或环境, ASSIST-T就是为这一目的而设计的, 它在建立IMBS过程中, 提高了效率, 并使系统建立者不必关心内部的实现情况, 他只要将领域问题转化为ASSIST一T要求的相对较简单的系统问题即可, 用户可得到极大的便利。

参考文献

[1]Belew.R.K.Evolutionary Decision Support System:An Architec-ture Based On Information Structure, Knowledge Repre-sentatlon For Deciston Support Systems.L.B.Methlie, et.a (led) .HHC, 2003

[2]Keragiannis.D (.et.al) , Data一and Knowledge一based Man-agement Systems For Decision Support, NATOASI Series.Vol F31, 2004

[3]Jijian.Shi, Ruiaao.Yu.Zhijun.He, A Tool For Building Decision-Sup-port-Oriented Expert System, Internation Cofer

基于感知器模型的布尔函数实现 第10篇

从20世纪60年代以来,神经网络经过近半个世纪的发展,以其大规模模拟计算能力,较强的容错性、鲁棒性,以及良好的自学习、自适应性、非线性等特点,不断渗透到各个领域,结合电子电气工程、控制工程、计算机技术等学科不论在实际生活的行业还是理论领域都有很好的发展,给人们提供了许多新思路,解决许多以前无法解决的复杂问题。

神经网络实现数字逻辑具有可学习性,通用性强、复杂性低,而且利用三层前向多层网可实现任意布尔函数。同时结构简单、规范,适于大规模集成电路实现。利用神经网络的并行分布式处理、非线性映射的特点及学习、容错能力进行函数逼近解决数字电路问题是近年来神经网络研究的热点之一。所以本文用感知器模型,BP算法分别验证了布尔函数的实现,从而为神经元电路的实现提供了可操作的技术手段。

感知器(Pereceptron)由美国计算机科学家罗森布拉特于1957年提出,可谓是最早的神经网络,它是模拟人的视觉,接受环境信息,并由神经冲动进行信息传递的神经网络。感知器分单层和多层,都是单阈值神经元,是具有学习能力的神经网络。

1 单层感知器

1.1 单层感知器模型

单层感知器模型如图1所示:

它包括一个线性累加器和一个二值阈值元件,同时还有一个外部偏差b。线性累加器的输出作为二值阈值元件的输入,当输入为正数,神经元就产生输出+1,反之,若输入为负数就产生输出-1。

使用单层感知器的目的就是让其对外部输入x1,x2,…xm进行识别分类,单层感知器可将外部输入分为l1和l2两类。当感知器的输出为+1,可认为输入属于l1类,反之则属于l2,从而实现两类目标的识别。单层感知器进行模式识别的判决超平面由决定。

1.2 单层感知器解决逻辑运算及其仿真

线性阈值单元可以实现与(AND),或(OR),非(NOT),与非(NAND)等逻辑函数,而任何布尔函数都可由与非门组合出来,所以任何布尔函数都可用线性阈值单元构成的前馈网络实现,也就是可以通过单层感知器实现基本逻辑函数。

与运算的单质神经元模型如图2所示:

问题可以转化为:输入矢量P=[0 0 1 1];目标矢量为T=[0 0 0 1]

按要求列出不等式组,如表1:

当w2=1,w1=1,b=1.5时此表可解

在MATLAB中,对于本例可以在二维平面坐标中给出仿真过程的图形表示,用如下这个命令可以对训练好的单层感知器网络输出结果进行验证,

A=hardlim(W*P,B),

A=0 0 0 1

MATLAB中设计单层感知器的训练过程,由权值形成的划分直线,其中虚线表示前面几次的训练划分结果不是正确的,最后的实线表示训练后的划分是正确的。从而验证了单层感知器可以实现逻辑与运算,如图3、图4所示:

同理,其他基本逻辑运算也是如此,图5为基本逻辑运算的神经模型。

a-“与”逻辑;b-“或”逻辑;c-“非”逻辑

2 多层感知器

单层感知器的缺点是只能解决线性可分的分类问题,要增强网络的分类能力唯一的方法是采用多层网络,即在输入和输出层之间加上隐含层,从而构成多层感知器(Multilayer Perceptrons,MLP)。这种由输入层、隐含层和输出层构成的神经网络称为多层前向神经网络。

2.1 多层感知器模型

多层感知器是单层感知器的推广,但是他能够解决非线性可分问题,多层感知器模型如图6所示:

多层感知器同单层感知器相比具有四个明显特点:

(1)多了隐含层,可以提取更多有用信息,使网络完成更多复杂的任务。

(2)多层感知器中每个神经元的激励函数是Sigmoid函数,如,其中ui是第I个神经元,vi是该神经元的输出信号。

(3)多个突触使得网络更具连通性,连接域或者连接权值的变化都会引起连通性的变化。

(4)有独特的学习算法,就是BP算法,所以多层感知器也称为BP网络。

2.2 BP网络和BP学习算法

20世纪80年代中期,David Runelhart,Geoffrey Hinton和Ronald Williams,David Parker,以及YannnLe Cun分别独立发现了BP算法。BP算法解决了多层感知器的学习问题,促进了神经网络的发展。

反向传播网络是将W-H学习规则一般化,对非线性可微分函数进行权值训练的多层网络,主要用于函数逼近、模式识别、分类、数据压缩方面。在人工神经网络的实际应用中,80%~90%的神经网络模型采用BP网络或它的变化形式,它是前向网络的核心。

2.2.1 BP网络的模型

BP网络模型同上所述的多层感知器模型。

2.2.2 BP学习算法

BP算法由正向传播和反向传播组成。正向传播就是输入信号从输入层经隐层传向输出层,若输出层得到了期望的输出,则学习算法结束,否则转至反向传播。反向传播就是将误差信号(样本输出与网络输出之差)按原联接通路反向计算,由梯度下降法调整各层神经元的权值和阈值,使误差信号减小。

2.2.3 BP算法解决异或问题

对于异或运算可以将问题转化为两类模式的分类问题。异或问题的真值表如表2。

我们可以用含有两个隐层元的BP网络来实现分类,解决异或问题如图7所示:

神经元1的权值和阈值为w11=w12=+1,b1=-1.5,神经元2为w21=w22=+1,b2=-0.5,神经元3为w31=-2,w32=+1,b3=-0.5。因此可得输出单元神经元3线性合并两个隐单元生成的分界线。

P=[0 0 1 1];目标矢量为T=[0 0 0 1]

在MATLAB下训练的结果如图8所示:

可知BP算法可以正确的实现异或运算。

3 结语

由于数字逻辑关系实际上可归纳为二进制布尔函数输入输出映射,而以感知器为模型的神经网络的学习是近年来神经网络与逻辑电路结合的研究热点之一。单阈值神经元模型(感知器)在布尔函数实现中正确的应用为设计多阈值神经元电路提供了方法与依据。当前,利用神经网络的并行计算能力解决逻辑电路的功能验证及测试产生等问题的研究已受到广泛重视,建立有效的数字电路的神经网络模型是影响相关效率的一个关键因素,是电路测试、逻辑验证等领域中相关问题的基础,因此建立更有效的模型有相当重要的意义。

摘要:通过对感知器模型的研究,结合数字电路知识实现了基本逻辑运算,同时用MATLAB验证了感知器能够实现逻辑运算,并能进行正确分类。

关键词:单层感知器,多层感知器,BP算法

参考文献

[1]丛爽.面向MATLAB工具箱的神经网络理论与应用[M].中国科技大学出版社,2003.

[2]陈书开.多值逻辑电路与神经网络和模糊计算机[M].国防工业出版社,2002.

[3]潘中良.数字电路的最优神经网络模型及建立方法[J].信号处理.2006(3):110-112.

实现模型 第11篇

一、“模型思想”的内涵

(一)数学模型

数学模型是用数学语言概括地或近似地描述现实世界事物的特征、数量关系和空间形式的一种数学结构,在社会生活的方方面面有着广泛的应用。史宁中教授认为:“通俗地说,数学模型是借用数学的语言讲述现实世界的故事。”

广义地说,一切数学概念、数学理论体系、数学公式、数学方程以及由它们构成的算法系统都可以称为数学模型,主要的表现形式是数学符号表达式、图形和图表。从狭义上讲,数学模型就是只指那些反映了特定问题或特定的具体事物系统的数学关系结构,像“鸡兔同笼、植树问题”等一些典型的实际问题是对一类问题的刻画和表达,都是重要的狭义上的数学模型。曹培英教授认为:“广义、狭义的数学模型,都是人类进化、社会发展的产物。”

(二)模型思想

数学的模型思想是一般化的思想方法,就是针对要解决的问题,构造相应的数学模型,通过对数学模型的研究来解决实际问题的一种数学思想方法。可见,模型思想体现在建立模型和模型应用两个方面。

《课标》明确指出,“模型思想的建立是学生体会和理解数学与外部世界联系的基本途径”。并从实际出发,将建立和求解模型具体化为这样的三个过程:

《课标》这样的要求,不仅表明了数学的应用价值,同时明确了建立模型是数学应用和解决问题的核心,也是解决实际问题的关键,是解决实际问题的一种强有力的工具。从这个意义上讲,数学教学实际上就是引导学生理解和探索前人构建的一个个数学模型,逐步形成模型思想的过程,是用数学语言来描述现实现象的过程,是实际问题“数学化”的过程,而求解模型则是问题解决的过程,是模型应用的过程。

二、小学数学教材中模型思想的具体体现

有专家将小学阶段四大领域中所涉及的数学模型划分为公式模型、方程模型、集合模型、函数模型(正、反比例)四种重要的模型。人教社小学数学编辑室主任王永春老师在《小学数学与数学思想方法》一书中指出,在小学阶段,一般的数量关系式、公式、按规律排列的一组数、算式或图形等都可以看成是数学模型。学习和参考王永春老师对小学数学模型的梳理结果,笔者在此基础上稍稍进行了调整和补充,具体见下表:

三、渗透模型思想的教学实践策略

我们来了解一下建立和求解模型的过程,可以用下面这样一幅图来表示:

在这一过程中,发现和提出数学问题是建立模型的基础和起点,通过观察分析、抽象概括、选择判断等活动完成模式抽象,得到模型是最重要环节。可以说,数学模型是静态的形式化结构,数学建模就是动态的数学化的过程。

策略一:以生活原型为基础,构建数学模型

生活原型是构建数学模型的基础,教师应该将生活中源源不断的、丰富多彩的具体事例引入课堂,通过现实的生活原型引导学生提出数学问题,为发现和理解数学模型做好准备。这样做,一方面,可以消除学生对数学知识的恐惧,感受生活中熟悉的内容;另一方面,教师也在悄然渗透模型思想。

最经典的莫过于“哥尼斯堡七桥问题”:18世纪东普鲁士的哥尼斯堡,有一条河穿过,河上有两个小岛,有七座桥把两个岛与河岸联系起来。一个步行者怎样才能不重复、不遗漏地一次走完七座桥,最后回到出发点呢?从这样一个生活原型中,数学家欧拉根据陆地、桥和人的关系,巧妙地把小岛、河岸抽象成“点”,把桥抽象成“线”,将能否一次无重复地走过七座桥的问题转化为能否“一笔画出”这个几何模型的问题,用数学的方法证明不能一笔画出,从而得出人也不能一次无重复地走过这七座桥的结论。

在教学“植树问题”时,教师会为学生提供真实的生活原型:学校要召开运动会,从校门口到教学楼之间50米的甬道两侧每隔5米要插上一面彩旗,一共需要多少面彩旗呢?在解决问题的过程中体会和建构“点数与段数”之间关系的数学模型。在教学正比例关系时,老师为学生提供多种商品的销售记录,学生在观察、讨论、计算的过程中,逐渐发现和理解这两种量中相对应的两个数的比值一定,从而建构“正比例关系”的数学模型。

策略二:以生活情境为载体,经历建模过程

1. 经历从一个到一类的过程

模型的建立不是一蹴而就的,从一个情境或现象中建构的数学模型,得到的数学结果和数学规律,需要通过检验,需要以生活情境为载体,从不同情境中多次感悟,经历从 “境”到“模”的过程,要多举一些实例。比如对于加法这个数学运算模型,要通过大量的生活情境,反复感受把两部分合并成一个部分用加法计算,经历多次的长时间的感悟,学生才能够逐渐理解加法的意义,形成加法模型。

例如全国著名特级教师吴正宪执教的“乘法分配律”一课,为了让学生顺利构建“a(b+c)= ab+ac”这个数学模型,吴老师给学生提供了三个不同的素材:

①左边的花坛中每行有12朵花,共有8行。右边的花坛中每行有8朵花,共有8行。一共有多少朵花?

②两个花坛一共有多大的面积?

③厨房要铺瓷砖,一共需要铺多大的面积?

在解决问题、交流汇报的过程中,多个生活原型帮助学生似乎找到了一些“感觉”,他们体会到虽然情境不一样,但是问题的本质是一样的,解决问题都有两种方法,这两种方法结果是一样的,而且这两种方法在计算过程中存在某种联系……为了让这种“感觉”更清晰一些,吴老师又安排让学生自己创造几个符合“这种感觉”的算式。

这一类素材的呈现和问题的解决,使得学生对于这个模型经历了一个循序渐进、从模糊到清晰的领悟过程。

2. 经历从具体到抽象的过程

数学模型源于生活原型,是对生活原型的高度凝练、简化与提升而形成的,数学模型是用数学符号、数学公式、程序、图、表等刻画客观事物本质属性与内在联系的理想化表述,因此,数学的抽象与概括是建立模型的重要过程。要让学生经历从具体感知到抽象概括的过程,用数学的语言和方式进行表达。

在吴老师的“乘法分配律”一课教学中,学生通过上述一类问题感受到有规律存在,找到一点“感觉”,教师适时安排了抽象概括的环节:这一类问题有什么规律?你能把这个共同的规律用自己的语言写出来吗?

生:我发现结果是一样的,而且写不完。

生:两个物体的长加在一起再乘宽就等于面积。

生:这一类问题,两组数可以分开算,也可以一起算,而且结果一样,写不完。两个算式有一个数一样。

学生的表达反映出学生对于乘法分配律这个模型已经有了充分的感知,同时也反映出学生的抽象水平和概括水平存在差异,有的学生还只是停留在“悟模”的阶段,不能进行完整的归纳概括,有的学生抽象水平高,已经“成模”,对于模型的概括就比较好。在建立模型的过程中,经历从具体到抽象的过程是非常重要的,是必不可少的,这是对数学本质的理解与抽象。

与此同时,模型的建立还要能够借助具体事件和情境解读抽象的表达式,这也是对模型内化的过程。在教学“乘法初步认识”时,学生已经从多个生活现象中经历了图形表征、语言表征、符号表征的过程,抽象出“求几个相同加数和的简便运算”这一乘法模型,能否用你喜欢的方式表达5×4的含义呢?5×4作为一个抽象的算式模型,学生理解吗?只需看看学生的作品就清楚了。

还有的学生用语言描述:餐厅里每桌有5位客人,4桌是多少人?有的学生画出一个花瓶中有4枝花,5个花瓶有几枝花?……不同的形式都表达着同一个算式的意思。可见,乘法模型已经在学生头脑中建立起来。从具体解释抽象,用生活中的故事解读数学模型,是检验学生是否理解数学模型、理解知识本质的有效途径。

3. 经历从猜想到验证的过程

“提出猜想—验证猜想”是一种科学精神,由于小学生年龄小,生活经验、认知水平和探究能力都是有限的,在小学阶段建模最有效、最直接的方法就是让学生经历“提出猜想—验证猜想”的过程。小学数学中很多模型都可以通过这样的方式来建立。

在“平行四边形的面积”一课教学中,教师通过谈话引发学生猜想:同学们,我们学过长方形的面积=长×宽,正方形的面积=边长×边长,猜一猜,这个平行四边形停车位的面积该怎样计算呢?

受到原有知识经验的影响,学生当中出现了三种方法:4×5,4×6,5×6。当然,这些都只是猜想,到底哪一个是正确的呢?用原有的方法验证一下吧。

学生通过数方格或将平行四边形转化成长方形,发现平行四边形的面积应该是4×6,所以平行四边形的面积=底×高。

所有的平行四边形都能用底×高来计算吗?教师为学生提供不同的平行四边形来进行再次验证。最终无一例外都验证这一结论的正确性,从而建立了平行四边形的面积计算模型。

“提出猜想—验证猜想”也是数学建模的重要途径,根据数学问题提出一种猜想,也许这个猜想是错的,但只要是学生基于经验认真思考的都应该给予积极的正面回应,经过检验的正确猜想就成为一个数学结果,进而会成为一个数学模型。

策略三:以解决问题为目标,自觉应用模型

形成模型思想,就要让学生在“建模”之后“用模”,引导他们运用数学模型解决实际生活中的问题,内化模型,并体会模型的价值和作用。

在学生建立了“正比例关系”这一数学模型之后,教师巧妙地运用了著名数学教育家弗赖登塔尔设计的经典数学问题“巨人的手印”:夜晚,巨人访问我们的校园,在黑板上留下巨大的手印,你能根据他的手印为他设计书籍、桌子和椅子的尺寸吗?在这一问题的引领下,学生积极想办法,主动尝试,用自己的手和巨人的手相比,得到一个比值,同时量出自己的书籍、桌椅的尺寸,并通过这个固定的比值来推算巨人的这些物品的大小。在解决这一问题的过程中,学生通过测量、观察、计算,进一步理解正比例关系模型的内涵。

经典的“鸡兔同笼”问题大家都很熟悉,“鸡和兔子共8个头26条腿,鸡兔各几只?”在学生利用画表、画图、假设等方法解决问题并建立数学模型之后,可以进行适当的变式练习:同学们去划船,大船可以坐6人,小船可以坐4人,有120名同学,25只船,大小船各有几只呢?解决问题时,关键是能否找到对应关系,120人相当于鸡和兔的总腿数,25只船相当于鸡和兔的总只数。只要找到对应关系就能利用“鸡兔同笼”的数学模型解决租船问题了。

利用已有模型解决问题是小学阶段的一个主要内容,有利于学生理解和掌握相关的知识技能,感悟数学思想和方法,积累解决问题的经验,形成数学的思维方式。

四、渗透模型思想的教学建议

(一)情境和活动设计符合儿童年龄特征和思维特点

数学模型是很抽象的。6~12岁的儿童由于其身体和心理发育都还不成熟,思维上以形象思维为主,逐渐向抽象思维过渡,因此在建立数学模型的过程中,要考虑到儿童的年龄特点、认知规律、生活经验等,应该选择学生熟悉的、感兴趣的素材和生活情境为依托,让学生经历数学模型再创造的过程。

(二)充分经历建模过程,尊重儿童的独特理解与个性表达

建立数学模型是一个比较复杂并且具有挑战性的过程,教师要让学生充分经历建立数学模型的过程,并且根据学生的起点、基础、思维水平的不同,要求学生用说一说、画一画、写一写等不同方式表达对模型的感悟和理解,要关注抽象概括能力的培养。

(三)模型思想的渗透要选择合适的知识载体并循序渐进

模型思想的形成需要经历一个长期的过程,日常教学中,要增强对模型思想的认识,精心筛选教学内容和知识载体,选择合适的契机潜移默化并循序渐进地进行渗透。

参考文献:

[1]王永春.小学数学与数学思想方法[M].上海:华东师范大学出版社,2014(10).

实现模型 第12篇

管路流动模型在油库、供水等虚拟仿真系统中具有非常广泛的运用。水流等自然景物的模拟一直是计算机图形学中最具挑战性的问题之一,粒子系统是描述这一现象的重要方法。自1983年Reeves提出粒子系统以来,已有许多利用粒子系统模拟水流的模拟系统,但是粒子系统所需运算量较大,对于一些复杂场景,运用较多的粒子系统会占用大量的计算机资源,从而对系统运行造成较大影响。纹理贴图是添加表面细节的一种方法,贴图可以有效减少模型的复杂程度,且可以比较逼真地表现表面的细节。本文综合运用粒子系统和动态纹理贴图的方法实现管路流动模型,两者结合既实现了比较逼真的效果,又占用了较少的计算机资源,保证了系统运行的流畅性。

1 管路流动模型

本文以油库虚拟仿真系统为背景,管路流动模型主要包含以下几方面的内容:

1.1 几何模型

储罐以油库立式储油罐为原型,模型采用Inventor2010软件设计,管路流动几何模型如图1所示。

1.2 物理模型

本文中管路模型同流体力学中的管嘴出流相近。假设出口断面面积为A,容器断面面积为S,液面到出口中轴线的距离为H,出口断面流速为v、流量为Q,重力加速度为g,忽略沿程损失、收缩和扩大损失。则其伯努利方程为:

undefined。

那么出口断面的流速和流量为:

undefined。

undefined。

由于储罐中液体的液面高度是随时间变化的,t时刻的液面高度为:

undefined。

由此可得到出口流速随时间的变化规律为:

undefined。

1.3 粒子系统

在管路出口处添加粒子系统,利用Vega Prime提供的编辑界面和API函数使粒子符合变初速度的抛物运动。

2 管路流动模型实现的关键技术

纹理映射是真实感图像制作的一个重要部分,运用它可以方便地制作出极具真实感的图形,而不必花过多的时间来考虑物体的表面细节。图2为包含m行n列颜色值数组位置的二维纹理空间,用于表面区域的纹理常用矩形颜色图案定义,而在这一纹理空间的位置用二维(s,t)坐标值来指定。纹理图案中每一颜色的描述可用数组完成。

纹理图案四角的(s,t)纹理空间坐标可赋给场景的4个空间位置,且使用线性变换将颜色值赋给指定空间区域的投影位置。也可以进行另外的映射。

三次样条面片或球面部分等对象的表面位置可用(u,v)对象空间坐标来描述,而投影像素位置用笛卡尔坐标(x,y)来指定。表面纹理映射可用以下方法来实现:①将纹理映射到对象表面上,再到投影平面;②将像素区间映射到对象表面,再将该表面区域映射到纹理空间。将一个纹理图案映射到像素坐标有时也称为纹理扫描,而将像素坐标到纹理空间的映射称为像素次序扫描、逆扫描或图像次序扫描。图3显示了3个空间之间的两种可能的变换序列。

参数线性变换为从纹理空间到对象空间的映射提供了简单方法:

u=u(s,t)=aus+but+cu ,

v=v(s,t)=avs+bvt+cv 。

其中:u、v和s、t分别为纹理空间坐标与对象空间坐标,au、bu、cu、av、bv、cv为其线性变换系数。

对象空间到图像空间的变换通过合并观察和投影变换来实现。从纹理空间到像素空间映射的缺点是选定的纹理片通常不能与需要计算来确定像素覆盖部分的像素边界完全匹配,因此,从像素空间到纹理空间的映射(如图4所示)是常用的纹理映射方法。图4中,Mundefined为投影变换的逆变换,Mundefined为纹理映射变换的逆变换。

通过对纹理存储矩阵的操作来实现纹理的平移,形成实时动画效果,可以模拟油料的流动过程。

3 模型的实现

Vega Prime提供了完整的C++语言应用程序接口API、丰富的相关实用库函数和一批可选的功能模块,而且Vega Prime也是面向对象的,其图形用户界面Lynx Prime中的各个模块均被抽象为类。Vega Prime的程序框架如图5所示。

在VP当中纹理信息储存在vrTransform∷ElementTexture Struct结构当中,纹理的位置信息以矩阵形式存储。可以通过在Vega Prime的draw函数中添加代码来实现对纹理信息的修改,实现代码如下:

假设管路出口的液体符合变初速度的抛物线运动规律,利用Vega Prime提供的API函数修改粒子的运动规律,其实现代码如下(speed为油料流动速度):

addVelocity(0.000000f,vuVec3d(0.000000,speed,0.000000));

4 仿真结果

本文是以油库虚拟漫游系统为背景的,在油库虚拟漫游系统中,多处用到管路流动模型,为更加逼真地展示介质的流动过程建立了此模型。其实现效果如图6所示。

5 结论

本文结合动态纹理贴图与粒子系统技术,在Vega Prime环境下实现了在虚拟环境中管路流动的模拟。此方法综合利用了动态贴图实时性好与粒子系统表现逼真的特点,并已成功应用在油库虚拟仿真系统中。

参考文献

[1]赫恩.计算机图形学[M].第3版.蔡士杰,宋继强,蔡敏,译.北京:电子工业出版社,2005.

[2]李玉柱,苑明顺.流体力学[M].北京:高等教育出版社,2008.

上一篇:压力管道焊接质量控制下一篇:出境游如何维权