使用整数规划技术的最佳可解释决策树的制作方法

文档序号:31482234发布日期:2022-09-10 04:16阅读:118来源:国知局
使用整数规划技术的最佳可解释决策树的制作方法
使用整数规划技术的最佳可解释决策树


背景技术:

1.本发明一般涉及预测建模,尤其涉及使用整数线性规划技术(integer linear programming techniques)的最优可解释决策树。背景技术
[0002][0003]
预测模型在过程控制环境中是有用的。例如,鼓风炉、炼油厂和供应链管理都依赖于过程控制。深度神经网络(“dnn”)和最优决策树(“odt”)可用于过程控制。dnn是在输入和输出之间具有多个层的人工神经网络。dnn找到正确的数学变换以将输入变成输出。odt是在训练准确度和模型简单性之间具有最佳折衷的决策树。
[0004]
基于决策树的学习者需要简单和准确。因此,在本领域中需要解决上述问题。


技术实现要素:

[0005]
从另一方面来看,本发明提供了一种用于预测建模的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取并且存储用于由处理电路执行以执行用于执行本发明的步骤的方法的指令。
[0006]
从另一方面来看,本发明提供了一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当所述程序在计算机上运行时,用于执行本发明的步骤。
[0007]
从另一方面来看,本发明提供了一种用于创建和优化决策树的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有其上包含的程序指令,所述程序指令可由计算机执行以使所述计算机执行一种方法,所述方法包括:从进程接收多个数据输入;通过求解线性规划从多个数据输入中选择数据子集以获得解;基于数据子集来构建和优化最优决策树(“odt”);以及当所述最优决策树的预测大于阈值时警告用户。
[0008]
本发明的实施例涉及使用整数线性规划技术的最佳可解释决策树。一种非限制性示例计算机实现的方法包括使用处理器从过程接收多个数据输入,以及使用处理器通过求解线性规划从多个数据输入中选择数据子集以获得解。该方法使用处理器基于数据子集构建和优化最优决策树,并且当最优决策树的预测大于阈值时使用处理器警告用户。
[0009]
本发明的其它实施例在计算机系统和计算机程序产品中实现上述方法的特征。
[0010]
通过本发明的技术实现了额外的技术特征和益处。本发明的实施例和方面在本文中详细描述,并且被认为是所要求保护的主题的一部分。为了更好地理解,参考具体实施例和附图。
附图说明
[0011]
在说明书的结尾处的权利要求中特别指出并清楚地要求了本文描述的专有权的细节。从下面结合附图的详细描述中,本发明的实施例的前述和其它特征和优点将变得显
而易见,其中:
[0012]
图1示出了根据本发明实施例的最优可解释决策树实现过程的流程图;
[0013]
图2描述了根据本发明实施例的数据集选择过程的流程图;
[0014]
图3示出了根据本发明实施例的数据集选择;
[0015]
图4示出了根据本发明实施例的云计算环境;
[0016]
图5示出了根据本发明实施例的抽象模型层;以及
[0017]
图6示出了能够实现本发明的各方面的示例性计算系统的细节。
[0018]
这里描述的示意图是说明性的。在不脱离本发明的范围的情况下,例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。此外,术语“耦合”及其变型描述了在两个元件之间具有通信路径,并且不暗示元件之间的直接连接,而在它们之间没有中间元件/连接。所有这些变化都被认为是说明书的一部分。
具体实施方式
[0019]
本发明的一个或多个实施例提供了一种鲁棒的基于决策树的学习器,其被设计为使用整数规划技术来学习可证明的最优的两个或三个深树。这提供了可解释性和容易的优化。通过使用混合整数线性规划,可以确定对odt的可缩放的全局解。本发明的实施例通过选择数据点的子集来预先使用训练数据的数据选择而不丢失一般化,所述数据点的子集捕获整个数据集的尽可能多的信息,然后仅在该数据子集上建立odt的混合整数规划(“mip”)公式。特别地,实现基于线性规划(“lp”)的子集选择过程。通过本发明实施例的实现,实现了实际应用,例如连续过程故障预测。
[0020]
数学优化技术一直是解决机器学习(“ml”)问题的主要工具,但是mip以前很少被考虑,主要是由于其较差的易处理性。然而,随着mip理论、优化解算器的发展,以及与硬件改进的结合,与25年前相比,在mip方面有惊人的80亿因子的加速。因此,ml开始包含基于mip的模型,并且提出了许多方法来利用混合整数规划来解决传统上采用试探法的经典ml任务。在研究mip和ml之间相互作用的尝试中,构建odt是最流行的一种,主要是由于决策树的组合结构及其可解释性。许多相关的mip制剂已被提出用于训练odt用于不同的目的。
[0021]
对解决方案的现有尝试具有可解释性和易于优化的问题。例如,深度神经网络实质上是黑盒子,对网络如何在内部工作的洞察力很小甚至没有洞察力。高度非线性模型难以优化。换句话说,难以找到局部最小值。过去使用的涉及深度决策树的解决方案难以优化并且耗时。它们也可能遭受可解释性的问题。
[0022]
本发明的一个或多个实施例通过提供技术解决方案来解决现有技术的一个或多个上述缺点,所述技术解决方案包括最初执行训练数据的数据选择的简单决策树。使用基于线性规划的数据选择方法来选择子集。这个数据子集用于odt的mip配方。这提供了以下方面的性能增强:可解释性(交流声可以理解决策原因的程度);易处理性(在对应于数据大小的合理时限内返回输出的能力);训练精度;以及泛化能力或测试准确性。
[0023]
现在转向图1,根据本发明的一个或多个实施例一般地示出了最优可解释决策树实现过程的流程图。在框110中,执行数据选择。基于lp的数据选择过程被实现为充当点集的几何近似。该过程假定具有非常高的训练准确性的最优分类树,并且i0中具有标记y的一些数据点都被正确分类并且被分配到相同的叶节点中。在框110中,该过程从训练集中丢弃io conv({xi│
i∈io)的凸包内具有相同标记y的所有数据点,其中io是训练集的子集,并且xi是移除的训练样本,因为在io中正确分类数据点也将自动正确分类凸包内的点。在本发明的一些实施例中,凸包内的数据点的数量被最大化。
[0024]
由于没有预先关于最优分类树的信息,因此这里该过程使用从一些其它启发式方法训练的决策树作为指导,然后在每个叶节点内进行数据选择。然后,在每个叶节点内的那些数据点中,该过程分别进行数据选择。最后,该过程组合从每个叶节点中选择的所有数据子集,并使用mip-odt在该数据集上训练分类树。
[0025]
通常,对于数据选择,该过程根据以下两个标准选择数据子集io:(1)conv({xi│
i∈io)内的点尽可能多或最大化;以及(2)所选择的采样点

i0│
的数量尽可能小。例如,用于训练

i0│
的剩余样本点小于原始数据集的10%,而i0的凸包内的样本数量大于90%。图3给出了一个示例。
[0026]
进行数据选择的基本二进制lp如下:在每个簇中,有:
[0027][0028]
这里f,g是具有非负分量的两个参数向量;aj表示是否选择了数据点j;bj表示j是否可以被表示为所选择的数据点的凸组合;λ
ji
表示当将点j表示为一些其它点的凸组合时的点i的凸组合系数。
[0029]
当bj=1时,前两个约束条件大约将点xj表示为其他点i的凸组合,其中λ
ji
》0,并且当bj=0时,这两个约束条件成立,因为在这种情况下,对于所有i,λ
ji
=0。第三个不等式0≤λ
ji
≤ai意味着该过程可以使用所选择的数据点,其是具有ai=1的数据点,来表示其他数据点。最后的约束aj+bj≤1说明任何选定的数据点不能被表示为其它选定数据点的凸组合。取决于f,g和凸组合约束的选择,通常将存在上述等式的许多不同变型。
[0030]
当f=0,g=1时,由此得出,该过程可以投射出a,并且获得更简单的二进制lp:
[0031][0032]
下一个结果表明,这种二元lp可以通过求解以下lp来等效地求解:
[0033][0034]
对于上述方程的任何最优解(b,λ),存在λ,使得(b,λ)是前一方程的最优解,反之亦然。
[0035]
对于一些预先给定的阈值参数β1,β2∈(0,1),,在稍后讨论的图2中提供了数据选择过程(框110)。
[0036]
在数据选择之后,如下构造和优化决策树,框120。不失一般性,该过程假设数据集的类是[y]:={1,2,...,y},其中y是类的数目。每个数据点i∈[n]表示为:(xi,yi),,其中n表示数据点的数量,xi是d维向量,yi∈{1,...,y}。该过程将表示为所有数值特征的索引集,而fc表示所有分类特征的索引集。在该公式中,该过程考虑仅具有数值特征(fq=[n])的数据集。为深度为d的平衡二叉树建立公式,即使训练的odt实际上可能是不平衡的。这里,树的分支节点被表示为b:=[2
d-1],,并且叶节点表示为l:={2d,...,2
d+1-1}。该过程还使用符号ar(l)和a
l
(l)来表示叶节点l的一组祖先,该叶节点l的左(右)分支已经在从根节点到叶节点l的路径上被跟随。
[0037]
当使用mip来训练决策树时,在大多数情况下,优选地是训练多变量决策树而不是经典单变量决策树,因为对于单变量决策树,它需要附加的二元变量来强制多达一个特征,该特征可以用于在每个分支节点处进行分裂。作为单变量决策树的泛化,多变量决策树更难以使用常见的启发式算法来训练。这两种类型的决策树之间的唯一差别在于分支超平面是否必须平行于轴。由于多变量决策树更容易通过mip模型训练,因此仅针对最优多变量决策树描述该过程,即使单个变量决策树也可以通过将每个分支节点的一个或多个约束添加到公式中来公式化。mip-odt公式如下:
[0038][0039][0040][0041][0042][0043][0044][0045][0046][0047][0048][0049]
具有变量
[0050]
具有深度d的平衡二叉树仅由两个元素表征:在每个分支节点处的分支超平面,以及在每个叶节点上分配的标签。在我们的mip-odt中,分支节点b处的分支超平面被表示为<hb,xi>=gb。分支规则由下式给出:数据i转到<hb,xi>≤gb左分支,否则转到右侧。假设存在u
l
∈[y].,分配给叶节点l的标签被表示为u
l
,。
[0051]
二进制变量和每个数据点i必须进入叶节点之一,因此对每个i∈[n]该过程执行∑
l∈leil
=1,其是约束(1k)。表示数据i的分类类,因此该过程具有约束引入附加变量w
il
以表示这些双线性项,针对w
ul
=u
leil
,该过程执行mccormick松弛。这些是约束(1c)-(1e)。由于这里e
il
强制为二进制,因此在当且仅当(1c)-(1e)对于一些额外变量w成立时的意义上,该mccormick弛豫是精确的。
[0052]
为了用公式表示ci和之间的关系,该过程具有第一约束(1b):当ci=0时,意味着数据i被正确地分类,必须有当ci=1,自由的取[1,y]中的任何值。
[0053]
约束(1f),(1g)和(1i)是关于在每个节点b∈b处公式化分支规则:如果数据i在节点b进入左分支,则如果它进入右侧,则在mip中,通过将分成一对互补变量和并且每次通过big-m方法强制这两个变量之一为0,来用公式表示这种关系是常规的方法。这里互补意味着和不能同时都是正的。
[0054]
这与我们的分支规则不是完全相同的:当数据i转到右分支时,相反它应该严格满足唯一的特殊情况是当时。
[0055]
惩罚软余量变量m
i,b
由支持向量机(“svm”)激励:该过程期望分支超平面不太靠近所有数据点。这将给出目标函数:
[0056][0057]
根据occam的razor原理,该过程还通过添加额外的惩罚项来考虑模型简单性(稀疏性):
[0058]
∑b||hb||0[0059]
将错分类数加入目标收益:
[0060][0061]
通过||hb||1线性化和||hb||0,并且目标是:
[0062][0063]
这里α1和α2是一些正参数。
[0064]
一系列的切割平面可用于进一步强化上述mip-odt公式。切割面包括:
[0065][0066]
以及
[0067]
[0068]
这里,过程表示并假定
[0069]
在创建odt和优化之后,进行检查以确定由odt产生的预测是否小于阈值,框130。如果是,则过程中的资产处于控制之下,框150。如果不是,则该过程警告用户并且基于odt的分析推荐控制动作,框140。通过调整特征向量输入的值xi来实现控制动作,这导致预测输出yi的变化。
[0070]
例如,可以将参照图1描述的过程用于连续过程故障预测,其是一种监督异常预测。其被设计成当检测到过程故障时警告用户。它基于历史过程数据来通知,并用作训练基于ai的模型的基础事实。可以实现各种规则类型,诸如阈值、趋势或倍数。例如,当储罐体积低于最小值时,阈值可以报警。例如,当吞吐量降低时或者当功率下降时,趋势可以发出警报。当没有设定点而存在流量损失时,或者例如当温度低于阈值并且预测速率高于第二阈值时,可以触发多个。
[0071]
利用过程故障预测,生成odt的目的是预测过程故障。过程传感器和标记的干扰的序列被转换成分类问题。使用前瞻窗口来提取故障事件以创建训练目标,从而实现对预期事件的模型的学习。使用概要函数从一个或多个回顾窗口提取特征。
[0072]
图2描述了根据本发明实施例的数据选择过程的流程图。给定β1,β2∈(0,1),求解
[0073][0074]
并获得最优解(b,λ),框210。
[0075]
表示in:={i∈n:bi=1},λ=t(λ),kn:=n\(in∪jn)。在框220,如果
│in

/
│n│
≥1-β1,则选择n/in作为训练集,框230。在框240处,如果
│jn

≥β2│n│
≥,则选择jn作为训练集,框250。否则,在框260,对于kn,执行超平面数据选择,并挑选第一个β2│n│‑│jn

点,以及jn作为所选择的训练集。
[0076]
云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理努力或与服务的提供商的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
[0077]
特性如下:
[0078]
按需自助服务:云消费者可以单方面地根据需要自动地提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者的人类交互。
[0079]
广泛的网络接入:能力可通过网络获得并且通过标准机制接入,该标准机制促进异构瘦客户机平台或厚客户机平台(例如,移动电话、膝上型计算机和pda)的使用。
[0080]
资源池:提供者的计算资源被池化以使用多租户模型来服务于多个消费者,其中不同的物理和虚拟资源根据需要动态地指派和重新指派。存在位置独立性的感觉,因为消费者通常不具有对所提供的资源的确切位置的控制或了解,但可能能够以较高抽象级别(例如,国家、州或数据中心)指定位置。
[0081]
快速弹性:能够快速和弹性地提供能力,在一些情况下自动地快速缩小和快速释放以快速放大。对于消费者而言,可用于供应的能力通常显得不受限制并且可以在任何时间以任何数量购买。
[0082]
测量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别处利用计量能力来自动控制和优化资源使用。可以监视、控制和报告资源使用,为所利用的服务的提供者和消费者提供透明度。
[0083]
服务模型如下:
[0084]
软件即服务(saas):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。可通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口从不同客户端设备访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储或甚至单独的应用能力的底层云基础设施,可能的例外是有限的用户特定应用配置设置。
[0085]
平台即服务(paas):提供给消费者的能力是将消费者创建的或获取的使用由提供商支持的编程语言和工具创建的应用部署到云基础设施上。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但是对所部署的应用和可能的应用托管环境配置具有控制。
[0086]
基础设施即服务(iaas):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,而是具有对操作系统、存储、所部署的应用的控制以及对所选联网组件(例如,主机防火墙)的可能受限的控制。
[0087]
部署模型如下:
[0088]
私有云:云基础架构仅为组织运作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
[0089]
社区云:云基础架构被若干组织共享并支持共享了关注(例如,任务、安全要求、策略、和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
[0090]
公共云:使云基础架构对公众或大型行业组可用,并且由出售云服务的组织拥有。
[0091]
混合云:云基础架构是两个或更多个云(私有、社区或公共)的组合,这些云保持唯一实体但通过使数据和应用能够移植的标准化或专有技术(例如,云突发以用于云之间的负载平衡)绑定在一起。
[0092]
云计算环境是面向服务的,集中于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
[0093]
现在参考图4,示出了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,所述本地计算设备例如是移动和/或可穿戴电子设备54a、台式计算机54b、膝上型计算机54c和/或汽车计算机系统54n。节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图4中所示的计算设备54a-n的类型仅旨在说明,并且计算节点10和云计算环境50可以在任何类型的网络和/或网络可寻址连接上(例如,使用web浏览器)与任何类型的计
算设备通信。
[0094]
现在参考图5,示出了由云计算环境50(图4)提供的一组功能抽象层。应当预先理解,图5中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
[0095]
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于risc(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储装置65;以及网络和网络组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
[0096]
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及以及虚拟客户端75。
[0097]
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价82在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(sla)规划和履行85提供根据sla预期未来需求的云计算资源的预安排和采购。
[0098]
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟课堂教育交付93;数据分析处理94;交易处理95;以及odt构建和优化处理96。
[0099]
图6描述了能够实现本发明的各方面的示例性计算系统的细节。图6示出了可用于实现本发明的一个或多个方面的高级框图计算机系统600。计算机系统600可以充当媒体设备并实现本发明的全部,或者它可以与其他计算机和基于云的系统合作来实现本发明。更具体地,计算机系统600可以用于实现本发明的实施例的一些硬件组件。尽管示出了一个示例性计算机系统600,但是计算机系统600包括通信路径655,其将计算机系统600连接到附加系统(未示出),并且可以包括一个或多个广域网(wan)和/或局域网(lan),例如因特网、内联网和/或无线通信网络。计算机系统600和附加系统经由通信路径655通信,例如,以在它们之间传送数据。
[0100]
计算机系统600包括一个或多个处理器,例如处理器605。处理器605连接到通信基础设施660(例如,通信总线、跨接条或网络)。计算机系统600可以包括显示接口615,其转发来自通信基础设施660(或来自未示出的帧缓冲器)的图形、文本和其他数据,以便在显示单元625上显示。计算机系统600还包括主存储器610,优选地是随机存取存储器(ram),并且还可以包括辅助存储器665。辅助存储器665可以包括例如硬盘驱动器620和/或可移动存储驱动器630,其表示例如软盘驱动器、磁带驱动器或光盘驱动器。可移动存储驱动器630以本领域普通技术人员公知的方式从可移动存储单元640读取和/或向其写入。可移动存储单元640表示例如软盘、压缩盘、磁带或光盘等,其由可移动存储驱动器630读取和写入。如将了解,可移除存储单元640包含其中存储有计算机软件和/或数据的计算机可读媒体。
[0101]
在替代实施例中,辅助存储器665可以包括用于允许将计算机程序或其它指令加载到计算机系统中的其它类似装置。这种装置可以包括例如可移动存储单元645和接口
635。这种装置的示例可以包括程序包和包接口(例如在视频游戏设备中找到的)、可移动存储器芯片(例如eprom或prom)和相关插座、以及允许软件和数据从可移动存储单元645传输到计算机系统600的其它可移动存储单元645和接口635。另外,照相机670通过通信接口660与处理器605、主存储器610和其它外围设备和存储装置通信。
[0102]
计算机系统600还可以包括通信接口650。通信接口650允许软件和数据在计算机系统和外部设备之间传输。通信接口650的示例可以包括调制解调器、网络接口(例如以太网卡)、通信端口、或pcm-cia插槽和卡等。经由通信接口650传送的软件和数据是信号的形式,其可以是例如电子、电磁、光或能够由通信接口650接收的其他信号。这些信号经由通信路径(即,信道)655被提供给通信接口650。通信路径655传送信号,并且可以使用电线或电缆、光纤、电话线、蜂窝电话链路、rf链路和/或其它通信信道来实现。
[0103]
在本说明书中,术语“计算机程序介质”、“计算机可用介质”和“计算机可读介质”用于一般地指代诸如主存储器610和辅助存储器665、可移动存储驱动器630和安装在硬盘驱动器620中的硬盘之类的介质。计算机程序(也称为计算机控制逻辑)存储在主存储器610和/或辅助存储器665中。计算机程序也可以经由通信接口650接收。当运行时,这种计算机程序使计算机系统能够执行如这里所讨论的本发明的特征。特别地,当运行时,计算机程序使处理器605能够执行计算机系统的特征。因此,这样的计算机程序代表计算机系统的控制器。
[0104]
本说明书中描述的许多功能单元被标记为模块。本发明的实施例适用于各种模块实现。例如,模块可以被实现为包括定制vlsi电路或门阵列的硬件电路、诸如逻辑芯片、晶体管或其他分立组件的现成半导体。模块还可以在可编程硬件设备中实现,例如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等。
[0105]
模块也可以在由各种类型的处理器执行的软件中实现。可执行代码的标识模块例如可以包括计算机指令的一个或多个物理或逻辑块,其例如可以被组织为对象、过程或函数。然而,标识模块的可执行代码不需要物理地位于一起,而是可以包括存储在不同位置的不同指令,当这些指令逻辑地结合在一起时,构成该模块并实现该模块的规定目的。
[0106]
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
[0107]
计算机可读存储媒体可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储媒质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储媒质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储媒体不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
[0108]
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域
网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储媒质中。
[0109]
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如smalltalk、c++等)和过程程序设计语言(诸如“c”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
[0110]
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0111]
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储媒质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储媒质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
[0112]
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
[0113]
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
[0114]
已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所描述的实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1