模块化随机机器及相关方法与流程

文档序号:18667563发布日期:2019-09-13 20:23阅读:275来源:国知局
模块化随机机器及相关方法与流程
本发明涉及模块化随机机器。本发明还涉及用于计算概率的相应方法。
背景技术
:模块化随机机器适用于涉及许多概率计算的所有领域。例如,它涉及与金融市场、经济模型或天气预报相关的领域。特别地,模块化随机机器可以解决通常使用具有马尔可夫链的蒙特卡罗方法解决的问题。例如,在财务方面,资产价格表示为随机微分方程的解。在某些情况下,对来自这些资产的产品的评估基于使用离散马尔可夫链结合蒙特卡罗方法来近似求解随机微分方程的方法。目前,在使用许多概率计算的领域中,通常在冯·诺依曼类型的计算机系统内使用传统的微处理器。在这种情况下,软件指令存储在所述微处理器的单独存储器中。微处理器能够通过对所述存储器进行读取来基于所接收命令执行软件指令。传统的微处理器具有能够执行不同操作以解决不同性质的计算问题的优点。“传统微处理器”指的是处理以确定形式呈现的信息的微处理器,确定形式例如使用对应于预定数值字的比特,而不是概率形式的表示。然而,在当前计算机系统中使用的传统微处理器正受到由时钟节奏和组件小型化方面的限制造成的计算速度方面的物理限制。此外,已知的是所谓的随机微处理器结构可以消除由现有确定性体系结构带来的某些约束。然而,这样的结构不能有效且灵活地执行所有概率计算。特别是,目前尚未提出使用相同结构来解决不同问题的可能性。换言之,结构对应于给定的特定概率计算,并且不能用于不同的计算。因此,需要提出一种随机微处理器结构,其能够解决不同概率计算问题,同时使其自身免受确定性操作的技术障碍。技术实现要素:为此,提出了一种能够对随机比特流进行概率计算的模块化随机机器。所述机器包括与多个随机变量对应的至少一个随机分布模块。其中,所述随机分布模块能够接收所述多个随机变量中指定随机变量的值的输入,并返回至少一个非指定随机变量的概率分布的表示作为输出,所述非指定随机变量的概率分布由作为输入而接收的指定随机变量的值决定。所述机器还包括至少两个随机变量模块,每个随机变量模块对应于单个随机变量。每个随机变量模块包括随机乘法器和随机比例归一化器。其中,所述随机乘法器能够接收相同随机变量的第一概率分布的表示和第二概率分布的表示作为输入,并且返回所述随机变量产生的概率分布的表示作为输出。随机比例归一化器能够接收概率分布的比特形式的表示作为输入,并且返回所接收的概率分布的比例归一化表示作为输出,其中,所述比例归一化表示包括了比作为输入而接收的表示更多的比特1。根据具体实施例,单独考虑或根据任何技术上可能的组合考虑,所述机器包括以下特征中的一个或多个:所述随机分布模块和所述随机变量模块包括多个随机比特生成器。每个随机比特生成器能够生成随机比特流,对于所述随机比特流,比特1的出现概率与存储在所述随机比特生成器中的值成比例。所述随机分布模块包括与所述多个随机变量的不同值的可能组合一样多的随机比特生成器。在所述随机分布模块的输出处返回的所述概率分布表示是根据存储在所述随机分布模块中的联合或条件概率值生成的。随机变量的概率分布表示是称为样本向量的随机比特向量的时间序列。每个样本向量包括与所述随机变量的基数一样多的坐标,编号相同的坐标在所述时间序列中的比特1的数量与对应于所述编号的概率值成比例。所述随机比特向量是样本值,样本值仅包括一个比特1。每个随机变量模块包括能够被激活和去激活的随机采样器。所述随机采样器能够采用代表概率分布的样本向量作为输入,并且返回代表相同概率分布的样本值作为输出。每个随机变量模块适合于根据称为确定性方案的方案进行操作,其中所述随机变量模块能够传送随机变量的固定值的表示。每个随机变量模块通过数据总线连接到所述随机分布模块。每个数据总线包括与所述随机变量模块对应的所述随机变量的所述基数一样多的线。还提出了一种对至少两个随机变量执行的概率计算方法。所述方法包括以下步骤:-提供模块化随机机器,模块化随机机器包括:与多个随机变量对应的至少一个随机分布模块,所述随机分布模块能够接收所述多个随机变量中指定随机变量的值的输入,并返回至少一个非指定随机变量的概率的分布的表示作为输出,所述非指定随机变量由作为输入而接收的所述指定随机变量值决定;以及至少两个随机变量模块,每个随机变量模块对应单个随机变量并且包括:随机乘法器,能够接收同一随机变量的第一概率分布的表示和第二概率分布的表示作为输入,并且返回所述随机变量产生的概率分布的表示作为输出;随机比例归一化器,能够接收概率分布的比特形式的表示作为输入,并且返回所接收的概率分布的比例归一化表示作为输出,其中,所述比例归一化表示包括了比作为输入而接收的表示更多的比特1;随机变量的概率分布表示是称为样本向量的随机比特向量的时间序列。每个样本向量包括与所述随机变量的所述基数一样多的坐标。编号相同的坐标在所述时间序列中的比特1的数量与对应于所述编号的概率值成比例。所述随机比特向量是仅一个包含比特1的样本值;每个随机变量模块包括能够被激活和去激活的随机采样器。所述随机采样器能够采用代表概率分布的样本向量作为输入,并且返回代表相同概率分布的样本值作为输出;每个随机变量模块适合于根据称为确定性方案的方案进行操作,其中,所述随机变量模块能够传送所述随机变量的固定值的表示,并且所述机器包括与完成计算的随机变量一样多的随机变量模块。-基于要进行的概率计算,激活或去激活至少一个随机变量模块的随机采样器;-可选地配置随机变量模块,使得所述随机变量模块根据确定性方案工作;以及-基于要进行的所述概率计算,在某些随机变量模块和某些随机分布模块之间连接或断开数据总线。根据特定实施例,单独考虑或根据任何技术上可能的组合考虑,所述计算方法包括以下特征中的一个或多个。用于提供模块化随机机器的步骤包括用于确定多个随机分布模块的子步骤。用于提供模块化随机机器的步骤包括用于确定多个随机变量模块的子步骤。用于提供模块化随机机器的步骤包括用于确定多个数据总线的子步骤。用于提供模块化随机机器的步骤包括实现用于优化随机分布模块的数量、随机变量模块的数量、数据总线的数量以及随机分布模块、随机变量模块及数据总线的布置的算法。附图说明本发明的其他特征和优点将在阅读本发明的实施例的以下描述后出现,仅作为示例并且参考附图来完成:图1是可以生产模块化随机机器的一组部件的示意图;图2是示例随机分布模块的示意图;图3是示例随机变量模块的示意图;图4是示例随机乘法器的示意图;图5是示例随机比例归一化器的示意图;图6是示例模块化随机机器的示意图;以及图7是图6中的用于执行概率计算的模块化随机机器的示例配置。具体实施方式模块化随机机器是不同类型组件的布置。组件类型、组件数量和组件布置的选择取决于要进行的概率计算。图1示出了一组可以生产模块化随机机器的组件。如图1所示,所述组组件包括三种类型的组件,即随机分布模块、随机变量模块和数据总线。在下文中,使用缩写sd来表示随机分布模块,使用缩写sv来表示随机变量模块,以及使用缩写bd来表示数据总线。在下文中,参考图2至5,彼此独立地描述每个组件。然后,参考图6给出示例模块化随机机器。最后,参考图7描述概率计算方法的示例实施例。在描述图2至7之前,给出了使用的符号和基本信息。1-符号在本说明书中使用以下符号。x表示离散且有限的随机变量。nx表示所述随机变量x的基数,即,随机变量x所取的可能值的数量。x1,x2,...xn表示所述随机变量x所取的值。p(x)表示所述随机变量x的概率分布,即作为随机变量x的可能取值的函数的概率值。p([x=xi])表示随机变量x等于值xi的概率。p(x1,x2,...xn)表示随机变量x1,x2,...xn的联合概率分布。p(xi|xj)表示已知随机变量xj时随机变量xi的条件概率。2-基本信息在确定性计算中,特别是在传统的微处理器中,信息传统上以字节的形式表示,或者更一般地,以由固定数量的比特组成的数值字的形式表示。在下文中,与确定性计算不同,信息以随机比特流的形式表示。“随机比特流”是一组比特,每个比特定义为取值1或值0。取值为1的比特由表达“比特1”表示。随机比特流由随机比特生成器(sbg)生成。sbg是包括用于存储值的存储器的物理设备,所述sgb能够生成比特流,所述比特流中为1的概率与存储值成比例。换言之,随机比特流的“比特1的比例”表示比特1的数量除以流中的总比特数,所述比特1的比例与存储值成比例。例如,通过使用磁隧道结的随机特性来制造sbg。磁隧道结最简单的形式是两个导电电极之间的薄绝缘屏障,通常不超过1至2纳米。通过隧道效应通过所述屏障完成电流的通路,所述隧道效应表示量子物体具有穿过势垒的性质,即使所述量子物体的能量低于穿过所述屏障所需的最小能量。在环境温度下,超顺磁隧道效应结在并联状态和反并联状态之间随机振荡。这导致能够用于产生随机比特的纳米组件的电阻随机变化。通过称为样本向量的随机比特向量的时间序列来表示随机变量x的概率分布p(x)。向量包括一组坐标,每个坐标对应于一个编号。每个坐标是一个比特。在下文中,i是整数,具有编号i的坐标由第i个坐标无差别地表示,并且无差别地表示第i个比特或具有编号i的比特。每个样本向量包括与随机变量的可能取值一样多的坐标。形式上,对于取值为x1,x2,...xn的基数nx的随机变量x,所述样本向量包括n个坐标,并且编号i的坐标对应于随机值x能够取值xi的情况。特别地,当所述随机变量x采用值xi时,编号i的坐标是比特1。此外,编号相同的坐标的时间序列中为1的比特相对于总比特数的比例与对应于所述编号的值的概率成比例。下面是表1,示出了代表概率分布p([x=x1])=0.1、p([x=x2])=0.5和([x=x3])=0.4的20个样本向量的例子。p([x=x1])01000110000000001000p([x=x2])11111111111111111111p([x=x3])01111111111110001111表1如表1所示,对于编号1的坐标,比特1的比例是对于编号2的坐标,比特1的比例是对于编号3的坐标,比特1的比例是比特1的比例之和等于0.2+1+0.8=2,通过因子2的归一化可以获得第一行的值0.1,第二行的值0.5和第三行的值0.4。或者,代表概率分布p(x)的时间序列的随机比特的向量是样本值。根据定义,样本值仅包含一个比特1。下面是表2,其示出了代表与表1的情况相同的概率分布的20个样本值的示例,即概率分布p([x=0])=0.1、p([x=1])=0.5和p([x=2])=0.4:p([x=x1])01000000000100000000p([x=x2])10001011000011101011p([x=x3])00110100111000010100表2如表2所示,对于编号1的坐标,比特1的出现率是对于编号2的坐标,对于编号3的坐标,实际上,比特1的比例分别等于所代表概率分布的值。确定性值,即已知随机变量的特定情况,由全都相同的样本值的时间序列表示,其中对于每个样本值,与随机变量的值对应的坐标是比特1,其他坐标为比特0。例如,如下面的表3所示,取值x=x3的随机变量x由以下时间序列的样本值示出:p([x=x1])00000000000000000000p([x=x2])00000000000000000000p([x=x3])11111111111111111111表3或者,如同在传统的确定性计算中,样本值由对给定信息进行编码的比特替换。现在描述图1中所示的所述组组件的组件,其使得可以生产模块化随机机器。3-sd模块3.1-sd模块的结构sd模块对应于多个随机变量。“多个随机变量”指的是至少两个随机变量。例如,sd模块对应于两个随机变量。例如,sd模块对应于至少20个随机变量。sd模块能够接收多个随机变量中指定随机变量的值的输入,并且返回至少一个非指定随机变量的概率分布的表示作为输出,所述非指定随机变量的概率分布决定于作为输入而接收的指定随机变量的值。换言之,对应于随机变量x1,x2,...xn的sd模块能够返回例如以下概率分布表示作为输出:p(xn|x1,x2,...xn-1)其中,x1,x2,...xn-1对应于由指定随机变量x1,x2,...xn-1分别所取的值。在实施例中,sd模块例如能够接收分别代表指定随机变量x1,x2,...xn-1的值x1,x2,...xn-1的n-1个样本值作为输入,并且能够返回概率p(xn|x1,x2,...xn-1)的分布的样本值作为输出。此外,sd模块包括多个sbg。特别地,sd模块包括与多个随机变量的不同值的可能组合一样多的sbg。例如,对应于两个随机变量x,y的sd模块,每个随机变量取值为两个值(x,x′)和(y,y′),所述sd模块包括4个sbg,因为有四种可能的组合,即(x,y)、(x,y′)、(x′,y)和(x′,y′)。在所述sd模块的输出处返回的概率分布表示由存储在所述sd模块中的联合或条件概率值生成。特别地,每个sbg能够在所述sbg的存储器中存储关于若干随机变量的联合概率值,以生成表示所述存储值的随机比特流。sd模块还包括控制系统,所述控制系统能够激活与指定随机变量值对应的sbg的输出。例如,接收到代表信息yi=yi的样本值作为输入时,控制系统能够选择与概率值对应的sbg的输出,特别是已知随机变量yi被设置为值yi时。在这种情况下,与在已知随机值yi被设置为不同值yj≠i时的概率值对应的sbg的输出被去激活,并且相应的sbg则不生成随机比特流。有利地,当sbg被去激活时,它能够仅生成比特1。这具有生成“透明”随机比特流的优点,特别是当在与逻辑门的输入处找到这样的随机比特流时。3.2-sd模块的操作参考图2中所示的示例sd模块来描述sd模块的操作。图2的sd模块对应于两个随机变量x和y,并且能够存储概率分布p(x,y)。在这种情况下,所述sd模块包nx×ny个sbg。nx等于3且ny等于2,所述sd模块包括6个sbg。sbg表示为sbgi,j,i是从1变化到3的整数,j是从1变化到2的整数。sbgi,j能够生成表示概率值p([x=xi,y=yj])的随机比特流。在本示例中,取值为x1的随机变量x和取值为y1的随机变量y的概率等于0.2。一旦sbg1,2的控制系统激活sbg1,2的输出,sbg1,2就能够生成表示值0.2的随机比特流。图2的sd模块还使得可以以条件概率分布p([x|y=y1])的样本值的时间序列形式生成表示。例如,图2中的sd模块使得可以以联合概率分布p([x,y=y1])的样本值的时间序列的形式生成表示。为了以条件概率分布p([x|y=y1])的样本值的时间序列的形式生成表示,所述sd模块接收表示信息y=y1的以下样本值作为输入。p([y=y1])1p([y=y2])0在接收到上述样本值后,所述控制系统激活分别与概率值p([x=x1,y=y1])、p([x=x2,y=y1])和p([x=x3,y=y1])对应的sbg1,1、sbg2,1和sbg3,1的输入。在这种情况下,sbg1,1、sbg2,1和sbg3,1能够生成随机比特向量的时间序列,其中编号1坐标由sgb1,1生成的随机比特流形成,编号2坐标由sgb2,1生成的随机比特流形成,编号3坐标由sbg3,1生成的随机比特流形成。然后,由sbg1,1、sbg2,1和sbg3,1的组合生成的样本向量的时间序列代表期望的概率分布p([x,y=y1])。4-sv模块4.1-sv模块的结构sv模块对应于单个随机变量。具体地,每个sv模块对应于从与sd模块对应的多个随机变量中选择的随机变量。每个sv模块能够通过能发送随机比特的数据总线连接到至少一个sd模块。在下文中更详细地描述sd数据总线。在某些实施例中,sv模块仅连接到与多个随机变量对应的一个或多个sd模块,所述多个随机变量包含与所述sv模块对应的随机变量。sv模块包括随机乘积运算符(spo)和随机比例归一化器(spn)。在某些实施例中,如图3所示,sv模块还包括随机比例采样器(sps)。如图3所示,对应于随机变量x(取值为x1,x2,...,xn)的sv模块能够接收表示随机变量x的多个不同概率分布p1(x),p2(x),…,pk(x)的样本向量作为输入,以生成以所述随机变量x的概率分布p(x)的样本向量的比例归一化的时间序列的形式的表示作为输出。当sv模块包括激活的sps时,所述sv模块能够生成以所述随机变量x的概率分布p(x)的样本值的比例归一化的时间序列的形式的表示作为输出。在这种情况下,说明所述sv模块能够返回样本的时间序列,所述样本表示与所述sv模块对应的随机变量的样本值。特别地,作为所述sv模块的输出而生成的概率分布表示是根据作为输入而接收的概率分布而产生的概率分布的比例归一化表示。此外,所述sv模块适合于根据称为确定性方案的方案进行操作,其中所述sv模块传送代表随机变量的值集的随机比特流。例如,如果将具有基数nx=3的随机变量x设置为值x=x2,则认为所述随机变量是确定性的,并且所述sv模块被配置为在确定性区域中操作。在这种情况下,所述sv模块返回以下样本值作为输出:p([x=x1])0000000000000000000…p([x=x2])1111111111111111111…p([x=x3])0000000000000000000…现在描述形成所述sv模块的组件。为了便于理解,在下文中认为所述sv模块一方面能够接收随机变量x的第一概率分布和第二概率分布,分别表示为p1(x)和p2(x),另一方面能够生成所述概率分布p1(x)和p2(x)产生的概率分布p(x)。本领域技术人员将理解,以下同样适用于sv模块接收两个以上概率分布的情况。例如,在sv模块接收三个概率分布的情况下,所述sv模块例如是如下所述的两个sv模块的级联布置。现在彼此独立地描述形成sv模块的组件。4.1.1-spo的描述示例spo如图4所示。所述spo能够分别接收第一概率分布p1(x)和第二概率分布p2(x)的样本向量形式的表示作为输入,以便返回同一随机值x的所产生的概率分布的表示作为输出。所述spo包括与逻辑门,每个与逻辑门对应于所述随机变量x的一个可能值。与逻辑门是实现“与”功能的组件。所述“与”功能是布尔代数中的逻辑运算符,其使用取值为逻辑真值或逻辑假值的两个操作数作为输入,当且仅当两个操作数均具有逻辑真值时,才返回逻辑真值。逻辑门例如是电子元件,其包括由零电压或5v电压供电的两个端子作为输入,并且包括具有零电压或者5v电压的输出。所述5v电压值对应于逻辑真值,即比特1。所述零电压值对应于逻辑假值,即比特0。在这种情况下,当且仅当输入电压等于5v时,输出电压等于5v。如图4所示,spo包括三个与逻辑门,表示为and1、and2和and3。i是从1变化到3的整数,门andi对应于随机变量x的值xi。对于从1变化到3的索引i,所述门andi接收表示值p1(x=xi)的第一随机比特流和表示值p2(x=xi)的第二随机比特流。所述andi门逐个获得每个所接收的流的比特的乘积,以便返回表示值p1(x=xi)p2(x=xi)的随机比特流作为输出。实际上,如图4所示,spo能够生成以下列形式表示的样本向量的时间序列:x=x1p1(x=x1)p2(x=x1)x=x2p1(x=x2)p2(x=x2)x=x3p1(x=x3)p2(x=x3)从各种概率乘积p1(x=xi)p2(x=xi)看出,spo输出处的样本向量必须包括比分别代表概率分布p1(x)和p2(x)的样本向量更少的比特1。这种称为时间稀释的现象可能导致计算速度减慢,因为求比特1与随机比特流的比例所需的时间增加。换言之,求比特1出现可能性需要越来越长的随机比特流。4.1.2-spn的描述spn能够接收以概率分布p(x)的比特形式的表示作为输入,并且返回所接收的概率分布的比例归一化表示作为输出。所述比例归一化表示包括比作为输入而接收的所述表示更多的比特1。特别地,所述比例归一化表示的样本向量的编号i的坐标为1的可能性与概率p([x=xi])的值成比例。比特1的添加是按比例完成的,即,对于不同编号的样本向量,比特1的比例之间的关系不变。spn特别适合于抵消时间稀释的问题。在sv模块的情况下,spo的输出连接到spn的输入,并且作为spn的输入而接收的样本向量是在所述spo的输出处返回的样本向量。所述spn的示例如图5所示。根据图5的示例,所示出的spn能够生成表示概率分布p(x)的样本向量,所述样本向量的与所述概率分布p(x)的最大概率对应的坐标均为比特1。图5说明了取值为三个值x1,x2,x3的随机变量x和定义如下的所述随机变量x的概率分布p(x)的具体情况:p([x=x1])=0.1p([x=x2])=0.1p([x=x3])=0.8spn包括分别与值x=x1、x=x2和x=x3对应的分别表示为sbg1,sbg2和sbg3的3个sbg。与随机变量x的值对应的每个sbg在接收到的样本值中接收对应于所述随机变量x的所述相同值的坐标对应的随机比特流。对于从1变化到3的i,sbgi接收表示概率分布p(x)的样本向量的编号i的坐标,即,对应于x=xi的情况的坐标。此外,每个sbg1、sbg2和sbg3包括分别表示为c1、c2和c3的计数器。所述计数器c1、c2和c3都具有相同的容量,表示为nmax。每个计数器c1、c2和c3能够在接收到比特1时递增。对于从1变化到3的整数i,计数器ci的递增的数量表示为ni并且被称为所述计数器ci的内容。当ni=nmax时,所述计数器ci称为满。在图5的示例中,spn接收表示概率分布p(x)的样本向量,计数器c1、c2和c3递增直到计数器满。一旦计数器满了,spn就能够停止其他计数器的递增。在本示例中,概率分布p(x)的最大概率对应于x=x3的情况。实际上,对应于x=x3的情况的sbg3的计数器c3是第一个被填满的计数器。所述spn已经停止了其他计数器的递增。每个sbgi生成随机比特流,其中比特等于1的概率等于计数器ci的内容ni除以计数器的容量nmax。在本示例中,认为计数器的容量nmax等于200。例如,当计数器的内容如下时,所述spn停止其他计数器的递增:n1=25n2=25n3=200=nmax第一坐标、第二坐标和第三坐标的比特的比例分别等于:通过用值0.125+0.125+1=1.25进行归一化,得到:如所述示例所示,表示概率分布p(x)的spn输出处的样本向量包括比代表相同概率分布p(x)的spn输入处的样本向量更多的比特1。因此,添加比特1具有减少时间分布的优点。根据其他变体,所述spn还包括计数器,与先前描述的示例不同,计数器能够在其容量达到并且要生成的比特为1时递减。4.1.3-sps的描述所述sps能够接收样本向量,所述样本向量形成概率分布的比例归一化表示,以返回代表相同概率分布的样本值作为输出。在sv模块的情况下,所述sps作为输入连接到所述spn的输出,以接收样本向量,所述样本向量形成概率分布p(x)的比例归一化表示。并且,所述sps返回表示相同概率分布p(x)的样本值作为输出。此外,所述sps能够被激活和去激活。当所述sps被去激活时,所述sps的行为类似于无源部件。在这种情况下,所述sv模块的输出对应于所述spn的输出,并且所述sv模块返回比例归一化的样本向量。所述样本向量表示在所述sv模块的输入处接收的概率分布的表示的所产生的概率分布。当所述sps被激活时,所述sps执行在输入处接收的样本向量的“转换”以返回样本值。在这种情况下,所述sps传送样本值,所述样本值表示与所述sv模块对应的随机变量的样本值。实际上,当所述sps被激活时,所述sv模块返回包括单个比特1的样本值作为输出,并且对于样本值,编号i的系数为比特1的概率与对应于所述sv模块的随机变量取值为xi的概率成比例。4.2-sv模块的操作作为spo、spn和sps的布置的sv模块,sv模块的操作由先前描述的spo、spn和sps的相应操作产生。在下文中考虑所述sv模块不在确定性方案中工作。所述sv模块接收表示相同随机变量的多个不同概率分布的一组样本向量作为输入。所述sv模块的输入与spo的输入组合,所述spo返回样本向量作为输出,所述样本向量表示作为输入而接收的不同概率分布的所产生的概率分布。所述spo的输出连接到spn的输入。所述spn接收由spo生成的样本向量作为输入。所述样本向量表示作为所述sv模块的输入而接收的不同概率分布的所产生的概率分布。然后,所述spo对以样本向量形式接收的表示进行归一化,所述归一化包括添加比特1,同时保持比特1的比例之间的关系与在sv模块的输入处所提供的表示的比特1的比例之间的关系相同。所述spn的作用导致减少由所述spo造成的时间稀释。最后,所述spn的输出连接到所述sps的输入。所述sps接收比例标准化的样本向量作为输入。所述样本向量表示在所述sv模块的输入处接收的不同概率分布的所产生的概率分布。然后有两种情况。在第一种情况下,所述sps被去激活并且所述sps的行为像无源组件。在第一种情况下,所述sv模块的输出对应于所述spn的输出。换言之,所述sv模块返回比例归一化的样本向量作为输出。所述样本向量表示作为得到sv模块的输入而接收的不同概率分布的所产生的概率分布。在第二种情况下,所述sps被激活,然后所述sps将在输入处接收的样本向量转换为样本值。在这种情况下,所述sv模块的输出对应于所述sps的输出,并且所述sv模块返回样本值作为输出,所述样本值表示与所述sv模块对应的随机变量的样本值。现在认为所述sv模块在确定性方案中工作。在这种情况下,设置与所述sv模块对应的随机变量的值,并且所述sv模块返回表示随机变量的值的样本值作为输出。5-数据总线数据总线bd能够将sd模块和sv模块彼此连接。在实施例中,每个数据总线bd包括与对应于所述sv模块的随机变量的基数一样多的线。例如,对应于随机变量x的sv模块通过包括nx根线的数据总线连接到与随机变量x,y对应的sd模块。在其他实施例中,数据总线bd都是相同的,并且实际上每个都包括相同数量的线。所述数据总线可以连接或断开。换言之,能够激活或禁止每个数据总线,从而不发送随机比特。例如,数据总线的连接或断开是由于激活对集成到sd模块或sv模块中的功能造成的。所述数据总线由能够传送二进制信息的任何类型的物理介质形成的。例如,数据总线是线,电路上的印刷或适于交换电磁波或光信号的设备。6-模块化随机机器6.1-模块化随机机器的结构模块化随机机器能够对来自至少两个随机变量的随机比特流进行概率计算。所述模块化随机机器包括多个sbg、至少一个sd模块、至少两个sv模块和能够将sd模块和sv模块彼此连接的数据总线bd。所述随机机器被描述为模块化,因为所述随机机器是sd模块、sv模块和数据总线bd的集合。模块化随机机器的组件取决于要进行的概率计算。换言之,给定组件对应于一组概率计算,并且所述组件的特定配置能够从所述概率计算的集合中执行特定概率计算。图6中示出了示例模块化随机机器10。在所述示例中,机器10包括3个sv模块和2个sd模块。第一sv模块表示为sv1,第二sv模块表示为sv2,第三sv模块表示为sv3。第一模块sv1对应于随机变量o,第二模块sv2对应于随机变量d,第三模块sv3对应于随机变量z。第一sd模块表示为sd1,并且第二sd模块表示为sd2。所述第一模块sd1对应于随机变量o,d,并且所述第二模块sd2对应于随机变量o,d,z。如图6所示,所述机器10包括第一数据总线bd1、第二数据总线bd2、第三数据总线bd3、第四数据总线bd4和第五数据总线bd5。所述第一数据总线bd1将所述第一模块sv1连接到所述第一模块sd1。所述第二数据总线bd2将所述第一模块sv1连接到所述第二模块sd2。所述第三数据总线bd3将所述第二模块sv2连接到所述第一模块sd1。所述第四数据总线bd4将所述第二模块sv2连接到所述第二模块sd2。所述第五数据总线bd5将所述第三模块sv3连接到所述第二模块sd2。现在将描述所述机器10的操作。6.2-模块化随机机器的操作现在参考图7描述使用模块化随机机器的概率计算方法的示例实现。图7对应于图6,其中所述数据总线bd1、bd2、bd3、bd4和bd5被不同地示出,以便示出来自图6的所述机器10的示例计算。在下文中使用与数据总线相关的以下约定。箭头的方向表示随机比特流的传输方向。虚线所示的箭头描述通过随机值进行采样的样本值的传输,所述随机值与导出箭头的sv模块对应。以粗线示出的箭头描述样本值的传输,所有样本值都相同,代表随机变量的值集。以细线示出的箭头描述表示概率分布的样本向量的传输。在图7的示例中,随机变量o,d,z描述了用于机动车辆的自动驾驶辅助系统。车辆前方的空间由不同单元组成的概率占用网格示出,其中,对于每个单元,安装传感器以计算概率。所述随机变量o是二进制的,并且在所述单元被占用时等于1。所述随机变量d是二进制的,并且在被传感器检测到时等于1。所述随机变量z是对应于传感器提供的值的数值随机值。在本示例中,要解决的问题如下:已知来自传感器的测量结果,则单元被占用的概率是多少。以数学术语表示,所述问题相当于已知了传感器返回的值,确定对占用进行建模的随机变量的概率分布,即概率分布p(o|z=z)。认为概率分布p(o,d),p(o,d,z)是已知的,例如使用测验得到。通过构造,概率分布p(o,d)表示对应于以下的概率:良好的检测,涉及{o=1,d=1}或{o=0,d=0}的情况;错误检测,涉及{o=0,d=1};以及错过目标,涉及{o=1,d=0}的情况。通过构造,概率分布p(o,d,z)描述了在良好检测、错误检测和错过目标的情况下传感器的操作。以已知的方式,期望的概率分布表示如下:根据概率计算方法,使用模块化随机机器完成上述概率计算。所述方法包括提供模块化随机机器的步骤。所述提供的步骤包括子步骤。在第一子步骤中,确定sv模块的数量。进行涉及3个随机变量o,d,z的计算,提供了分别与3个随机变量o,d,z对应的3个sv模块。然后,在第二子步骤中,确定sd模块的数量。已知概率分布p(o,d),p(o,d,z),提供了分别与随机变量o,d和o,d,z对应的2个sd模块。最后,在第三子步骤中,确定数据总线bd的数量。第三子步骤基于如下规则来实现:根据所述规则,sv模块仅连接到与多个随机变量对应的一个或多个sd模块,所述多个随机变量包含与所述sv模块对应的随机变量。在本例中,需要5根数据总线bd。在所述提供的步骤结束时,获得图6中的模块化随机机器10。在具体实施例中,所述提供的步骤包括实现用于优化sd模块的数量、sv模块的数量、数据总线的数量以及sd模块、sv模块和数据总线的布置的算法。在特定实施例中,所述提供的步骤由软件方法自动执行。所述软件方法包括通过期望概率分布的分解结构运行以产生sd模块、sv模块和数据总线bd的最佳布置。然后,执行第一组步骤。所述第一组步骤包括用于基于要进行的概率计算来激活或去激活至少一个sv模块的sps的子步骤。在本示例中,第二模块sv2的sps被激活。在这种情况下,所述第二模块sv2传递样本值,所述样本值表示随机变量d的样本值,所述随机变量d的样本值一方面被发送到第一模块sd1,另一方面被发送到第二模块sd2,因为第一模块和第二模块sd1和sd2各自对应于随机变量d。另一方面,用虚线箭头表示将第二模块sv2连接到第一模块sd1和第二模块sd2的第三数据总线和第四数据总线bd3、bd4。此外,第一组步骤包括根据确定性方案操作sv模块的子步骤。在本示例中,第三模块sv3被配置为根据确定性方案操作。在这种情况下,第三模块sv3传递样本值,这些样本值全部相同并且代表为随机变量z设置的值z的集合,所述随机变量z被发送到第二模块sd2,因为仅第二模块sd2对应于所述随机变量z。然后,用粗线箭头表示将第三模块sv3连接到第二模块sd2的第五数据总线bd5。根据模块化随机机器的这种配置,第一模块sd1从第二模块sv2接收指定的随机变量d的样本值。然后,模块sd1生成以第一概率分布p1(o)的样本值的形式的表示,其表示如下:p1(o)=p(o|d=d)其中,随机变量d所取的值d对应于样本值,所述样本值表示在第二模块sv2的输出处返回的随机变量d的样本值。由于接收样本值,所述样本值代表随机变量d的样本值,因此能够进行这种操作。表示第一概率分布p1(o)的样本向量通过第一数据总线bd1传输到第一模块sv1,由细线箭头表示。并行地,第二模块sd2从第三模块sv3接收表示随机变量z的设定值z的相同样本值,并且还从第二模块sv2接收样本值,所述样本值表示指定的随机变量d的样本值。然后,模块sd2生成采用第二概率分布p2(o)的样本向量的形式的表示,表示如下:p2(o)=p(o|d=d,z=z)其中,随机变量d所取的值d对应于样本值,所述样本值表示在第二模块sv2的输出处返回的随机变量d的样本值,并且其中随机变量z所取的值z对应于相同的样本值,所述样本值代表作为第三模块sv3的输出返回的随机变量z的设定值z。由于接收表示随机变量d的样本值的样本值和表示随机变量z的设定值z的样本值,因此能够进行该操作。第二概率分布p2(o)的样本向量通过第二数据总线bd2发送到第一模块sv1,由细线箭头表示。然后,第一模块sv1执行以下操作:换言之,第一模块sv1返回概率分布p1(o)和p2(o)的乘积的比例归一化表示作为输出,并且实际上第一模块sv1将结果提供给所提出的问题。可以以各种方式配置所述模块化随机机器10,以便例如计算概率分布p(z|o=o,d=d)或p(z|d=d)。因此,模块化随机机器提供了执行各种概率计算的可能性。此外,模块化随机机器的使用特别简单并且不需要许多操作。相对于传统的微处理器,计算速度显著提高。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1