一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

特征向量可行性估计的制作方法

2021-12-15 02:46:00 来源:中国专利 TAG:


1.本发明涉及特征向量可行性估计。


背景技术:

2.信息技术可以用于搜索满足目标属性的新材料。然而,存在在时间和金钱方面可能昂贵的低效率。
3.在材料发现中,it技术已经加速了找到具有所需性质的新材料的速度。逆问题,即寻找满足目标特性的新材料,是材料发现中最困难和最重要的部分。trl正在开发rfi的amd(加速材料发现)项目中的材料发现工具。分析现有的分子,并从分子中提取的特征向量获得回归模型。使用获得的回归模型,估计满足所需特性的特征向量,分子生成器从估计的特征向量中生成。在特征向量估计(3)中,通过求解最小化目标属性值(v_p)和回归模型(f)估计的属性值的差异的数值优化问题,可以找到一个有前景的特征向量(fv),除非对搜索空间(s)进行适当的限制,否则在许多情况下没有满足所获得特征向量的化学结构。由于与特征估计相比,分子结构生成需要更长的时间,因此避免没有相应化学结构的特征向量对于提高材料发现过程的性能非常重要。
4.因此,在本领域中需要解决上述问题。


技术实现要素:

5.从另一方面看,本发明提供了一种神经网络训练装置,该装置包括处理器;一个或多个计算机可读介质共同包括指令,当由处理器执行时,这些指令使处理器执行包括:从候选分子的特征向量生成表示多个部分结构的编号的目标结构向量;通过至少使用目标结构向量来判断候选分子的分子结构是否可行。
6.从另一方面来看,本发明提供了一种用于神经网络训练的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取并存储用于由处理电路执行以执行方法的指令用于执行本发明的步骤。
7.从另一方面来看,本发明提供了一种存储在计算机可读介质上并可加载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当所述程序在计算机上运行时,用于执行本发明的步骤。
8.根据本发明的一个方面,提供了一种计算机实现的方法,包括从候选分子的特征向量生成表示多个部分结构的编号的目标结构向量,通过至少使用目标结构向量来判断候选分子的分子结构是否可行。根据这个方面,不可行的特征向量可以被识别并且因此减少材料发现所需的计算资源和时间的量。
9.根据本发明的另一方面,可选地提供了前述方面的方法,所述多个部分结构包括:具有连接到所述一个节点的一个边(edge)的第一结构,具有连接到所述节点的两个边的第二结构一个节点,第三个结构具有连接到一个节点的三个边,第四个结构具有四个连接到一个节点的四个边。根据这个方面,可以用4种局部结构准确判断特征向量的可行性。
10.根据本发明的另一方面,可选地提供前述方面的方法,进一步包括:从候选分子的特征向量中获取候选分子的原子数和环数,其中通过进一步利用候选分子的原子数和环数来确定至少使用目标结构向量来确定候选分子的分子结构是否可行。根据该方面,可以通过候选分子中的原子数和环数信息来准确判断特征向量的可行性。
11.前述方面还可以包括被配置为执行计算机实现的方法的装置,以及存储体现在计算机可读介质或可编程电路上的指令的计算机程序产品,当由处理器或可编程电路执行时,使处理器或可编程电路执行计算机实现的方法。发明内容不一定描述本发明的实施例的所有特征。本发明的实施例还可以包括上述特征的子组合。
12.附图简要说明
13.现在将参考如在以下附图中所展示的优选实施例仅通过实例的方式来描述本发明:
14.图1示出了根据本发明的一个实施例的示例性框架。
15.图2示出了根据本发明的一个实施例的设备10的示例性配置。
16.图3示出了根据本发明一个实施例的操作流程。
17.图4示出了根据本发明一个实施例的特征向量400。
18.图5示出了根据本发明一个实施例的子结构。
19.图6示出了根据本发明一个实施例的图3的流程中的s100的子流程。
20.图7示出了根据本发明的一个实施例的多个部分结构。
21.图8示出了根据本发明的一个实施例的初始曲线图和对应的结构向量。
22.图9示出了根据本发明的一个实施例的动作的操作向量。
23.图10示出了根据本发明的一个实施例的基本动作的操作向量。
24.图11示出了根据本发明的一个实施例的示例性生长过程。
25.图12示出了根据本发明的一个实施例的节点和环的数量对的储存结构向量。
26.图13示出了根据本发明实施例的环创建动作。
27.图14示出了根据本发明的一个实施例的具有环创建动作的环的数量的范围。
28.图15示出根据本发明的一个实施例的图3的流程中的s300的子流程。
29.图16示出了根据本发明的一个实施例的用作系统的计算机的示例性硬件配置。
具体实施方式
30.在下文中,将描述本发明的一个实施例。示例性一个实施例不应当根据权利要求限制本发明,并且在一个实施例中描述的特征的组合对于本发明不是必需的。
31.图1示出了根据本发明的一个实施例的示例性框架。在框架中,通过特征编码将分子结构100转化成特征向量200,其可以是分子结构的潜在表示。从特征向量200和分子结构100的性质训练回归模型,使得回归模型从特征向量200预测分子结构100的性质。
32.然后,通过使用训练的回归模型可以找到给出目标特性300的特征向量200。在实施例中,有希望的特征向量(promising feature vector)fv可以通过求解数值优化问题来找到,该数值优化问题用于通过回归模型f将目标属性值vp与估计属性值的差值最小化,如以下等式(1)中所示:fv=argminv∈s|v
p

f(v)|...(1)。
33.有希望的分子结构可以通过使用分子发生器从特征向量fv产生。有时可能不能从
发现的特征向量产生分子结构。为了节省用于获得有希望的分子结构的计算资源和时间,回归量可以从等式(1)中的搜索空间s消除不可行的特征向量。在下文中,将描述用于识别不可行的特征向量的装置。
34.图2示出了根据本发明的一个实施例的设备10的示例性配置。设备10可以识别不可行的特征向量,其不能被转换成分子结构。因此,设备10可以减少用于获得有希望的分子结构的计算资源量和/或时间。
35.设备10可以包括处理器和/或可编程电路。设备10还可以包括共同地包括指令的一个或多个计算机可读介质。这些指令可以体现在计算机可读介质和/或可编程电路上。当由处理器或可编程电路执行指令时,可以使处理器或可编程电路作为多个操作部进行操作。
36.由此,设备10可视为包括存储部分100、获得部分110、生成部分120、获取部分130、枚举部分140和确定部分150。
37.存储部分100存储用于设备10执行的过程的信息。存储部分100还可以存储用于设备10的操作的各种数据/指令。设备10中的一个或多个其他元件(例如,获取部分110、生成部分120、获取部分130、枚举部分140和确定部分150)可以根据需要直接或经由存储部分100传递数据。
38.存储部分100可以由设备10的易失性或非易失性存储器来实现。在一些一个实施例中,存储部100可以存储一个或多个特征向量、包括结构向量的表、候选分子的原子和/或环的数目、以及与其相关的其他数据。
39.获得部分110获得候选分子的特征向量。在一个实施例中,获得部110可以从可以由设备10或另一装置实施的回归获得特征向量。特征向量可以包括多个元素并且可以指示候选分子的各种特性。
40.在一个实施例中,可以至少部分以自动数据驱动方式(诸如卷积神经网络)定义特征向量。在另一实施例中,它可以至少部分地由人类经验和/或知识来初步定义。下面说明特征向量的细节。
41.获得部分110可以获得设备10的操作所需的其他数据。获得部分110可以为生成部分120和获取部分130提供特征向量。在一个实施例中,特征向量可以表示候选分子中的子结构的数目。下面说明特征向量的细节。
42.生成部分120可以从候选分子的特征向量生成目标结构向量。目标结构向量可以表示候选分子中的多个部分结构的数目。在一个实施例中,生成部分120可以从特征向量提取候选分子的指纹作为目标结构向量。
43.生成部分120可以进一步生成比目标结构向量更大的一个或多个二级结构向量。生成部分120可以将目标结构向量和/或一个或多个二级结构向量提供给确定部分140。
44.获取部分130可以从候选分子的特征向量获取候选分子的原子数和环数。获取部分130可以进一步从候选分子的特征向量获取针对每个化合价的候选分子的原子数目。获取部分130可将获取的信息提供给确定部分150。
45.枚举部分140可以枚举可行的结构向量。在一实施例中,枚举部分140可枚举若干节点和环的每一对的可行结构向量。在一实施例中,枚举部分140可以实施在设备10外部的另一设备中,并且可以预先准备可行的结构向量。枚举部分140可以直接或经由存储部分
100向判定部分150提供枚举的可行结构向量。
46.确定部分150可以通过至少使用目标结构向量来确定候选分子的分子结构是否可行。在一实施例中,确定部分150可以进一步使用等于或者大于目标结构向量的一个或者多个二级结构向量来确定可行性。
47.在一些实施例中,可行的可以被定义为尽可能用于制造或可以以稳定的形式存在。当候选分子是可行的时,该分子可能被制造或在自然界中存在。当候选分子是不可行的时,不能制造候选分子或不能在自然界中存在候选分子。
48.在一实施例中,确定部分150可以进一步使用候选分子的原子的数量和环的数量来确定可行性。在一实施例中,确定部分150可以进一步使用针对每个化合价的候选分子的原子数来确定可行性。
49.响应于目标结构向量被包括在初步定义的空间中,确定部分150可以确定候选分子的分子结构是可行的。
50.在一实施例中,响应于目标结构向量包含在对应于候选分子的原子数和环数的初步限定空间中,确定部分150可以确定候选分子的分子结构是可行的。
51.初步定义的空间可以由枚举部分140枚举的可行结构向量定义。在一个实施例中,对应于候选分子的原子数和环数的初步定义空间由枚举的可行结构向量定义。
52.图3示出了根据本发明实施例的操作流程。如图3所示,本一个实施例描述了其中设备(诸如设备10)执行从s100至s300的操作以检查候选分子的特征向量的可行性的实例。
53.在s100,诸如枚举部分140之类的枚举部分可以枚举可行的结构向量。将参考图6进一步描述s100的操作的细节。
54.在s200中,诸如获取部分110的获取部分可获取候选分子的特征向量。特征向量可以包括候选分子是否包括一种或多种单元结构的指示。特征向量还可以指示候选分子中的原子数和环数。在下文中,候选分子的特征向量可以被称为“目标特征向量”。
55.在s300,装置,如图2中的设备10,可以检查候选分子的特征向量的可行性。装置部件可以使用在s100处准备的可行结构向量和在s200处获得的特征向量。关于图15进一步描述操作s300的细节。
56.图4示出了根据本发明一个实施例的特征向量400。在实施例中,特征向量400可以包括数据驱动特征部分410和预定义的构建组件计数部分420。在一个实施例中,特征向量400可以是数据驱动特征部分410和预定义的构建组件计数部分420的串联。
57.数据驱动特征部分410可以表示分子的多个单元结构。由此,数据驱动特征部分410可通过忽略原子和/或键的差异来表示分子的结构。
58.此处,说明了特征向量的定义的实例。令m={m1,m2,

,m
n
}表示在给定数据集中对于候选分子的分子结构集合。任何分子结构可以包括表示为s={s1,s2,

}的一组更小的单元结构(其还可以被称为“子结构”)。
59.这意味着通过将分子结构和子结构视为由节点(原子)和边(化学键)组成的图,s可以是m的部分图。对于第n个样本m
n
的分子,组成该分子的一组子结构可以被表示为s
(n)
={s1,s2,

}。此处,可假定s
(n)
为包含于m
n
中的详尽集合。也就是说,s
(n)
可以结合最小是原子并且最大是分子本身的所有子结构,并且因此可以是包括在分子m
n
中的子结构的完整集合。
60.接下来,我们计数分子中子结构的数目。令n
d
(m,s)表示在m中出现的s的计数。分子m
n
、一组子结构s
(n)
以及它们的计数n
d
(m
n
,s
i(n)
)的实例示于图5中。在图5中,未明确描绘氢(h)和碳(c)原子,并且部分示出子结构。可以产生给定分子集合m的亚结构s
full
的详尽集合。这个集合是通过以下等式(2)获得的:
[0061][0062]
其中n表示分子的样品的数目。将s
full
的元素扩展为s
1full
,s
2full
……
,并且使用n
d
(m,s)的定义,我们通过以下等式(3)定义分子m
n
的向量
[0063][0064]
从它的定义来看,x
d(n)
通过结合出现在m
n
中的所有局部图的计数来表示分子结构的拓扑特征,但是由于穷尽性,它的信息包括实质性冗余。例如,s
full
中的大多数子结构仅出现一次或几次,甚至在全分子集合m中;因此,使用它们全部可能不适合。
[0065]
为了仅选择影响目标属性的子结构,可以执行对其的特征选择。将目标特性表示为y,可以创建lasso(最小绝对收缩和选择算子)回归模型l:调整超参数(l1惩罚项的程度)并为回归系数|w|的绝对值设置阈值w
th
,系统可以选择重要的子结构。我们将所选择的子结构的集合表示为s
select
并且将相应的特征向量表示为=x
dselect
。x
dselect
可以用作候选分子中的特征向量的数据驱动特征部分410。在实施例中,s
select
可以仅包括小结构,该小结构包括最多几个原子(例如,4

5个原子)作为子结构。
[0066]
预定义的构建组件计数部分420可以包括关于候选分子的构建组件的信息。在一个实施例中,预定义的构建组件计数部分420可以包括候选分子的骨架、原子和/或键的信息。
[0067]
骨干(backbone)的信息可以包括候选分子中的多个重原子和n元环(例如,具有n边的多边形)。重原子可以是除了氢(h)之外的原子,并且可以对应于图中表示的节点。
[0068]
原子的信息可以包括多个特定原子,如氧(o)、氮(n)、硫(s)等。原子的信息可以进一步包括碳(c)原子的数目。原子的信息可以进一步包括氢(h)原子的数目。
[0069]
在一个实施例中,键的信息可以包括多个双键和三键。在一个实施例中,键的信息可以进一步包括多个环,如多个脂环族环和/或多个芳环。
[0070]
图6示出了根据本发明一个实施例的图3的流程中的s100的子流程。枚举部分(诸如枚举部分140)可在图3的操作s100执行图6的s110

s170的操作。
[0071]
在s110,枚举部分140可以准备初始图形的结构向量。初始图形可包括两个节点和连接两个节点的一条边。
[0072]
结构向量可表示初始图中多个部分结构的数量。部分结构可以是指状结构。在一个实施例中,多个部分结构可以包括具有连接至节点的不同数量的边线的结构。
[0073]
在具体一个实施例中,多个部分结构可以包括:第一结构,具有连接至一个节点的一条边;第二结构,具有连接至一个节点的两条边;第三结构,具有连接至一个节点的三条边;以及第四结构,具有连接至一个节点的四条边。
[0074]
图7示出了根据本发明的一个实施例的多个部分结构。在图7中,多个部分结构包括第一结构710、第二结构720、第三结构730和第四结构740。第一结构710中的中心节点(由黑点示出)可以称为x1,第一结构720中的中心节点(由黑点示出)可以称为x2,第一结构730
中的中心节点(由黑点示出)可以称为x3,并且第一结构740中的中心节点(由黑点示出)可以称为x4。
[0075]
图的结构向量可以表示为向量(x1,x2,x3,x4),其中,x1表示在图中被分类为x1的中心节点的节点的数量,x2表示在图中被分类为x2的中心节点的节点的数量,x3表示在图中被分类为x3的中心节点的节点的数量,以及x4表示在图中被分类为x4的中心节点的节点的数量。
[0076]
图8示出了根据本发明的一个实施例的初始图和对应的结构向量。如图8所示,初始图800包括两个节点,这两个节点均可被视为图7中的x1中的中心节点。因此,枚举部分可以提供初始图800的结构向量(2,0,0,0)。
[0077]
在s110,枚举部分可以对初始图的节点的数量和环的数量进行计数。图8中的初始图800可被视为包括两个节点。初始图800不包括环。因此,枚举部分可以将“2”计数为初始图800的节点的数量并且将“0”计数为环的数量。
[0078]
在s110的操作之后,枚举部可以迭代s130

s170的循环。由此,枚举部分可以从初始图来发展图。
[0079]
在s130,枚举部分可以增长图。枚举部分可以将新节点添加到图形,和/或在图形中形成用于生长图形的新环。
[0080]
在一实施例中,枚举部分可通过对图形的结构向量执行动作来生长图形。在下文中,待生长的图谱可被称为“目标图谱”,并且目标图谱的结构向量可被称为“目标结构向量”。在一实施例中,枚举部分可将操作向量添加到目标结构向量以生长目标图。
[0081]
图9示出了根据本发明的一个实施例的动作的操作向量。标记为“α1”的动作的操作向量可对应于将节点添加到x1中的中央节点(其可被称为“x1节点”)的动作并且可表示为(0,1,0,0)。当向目标图的xl节点添加新节点时,枚举部分可以向目标结构向量添加(0,1,0,0)。
[0082]
类似地,标记为“α2”的动作的操作向量可对应于将节点添加到x2中的中心节点(其可被称为“x2节点”)的动作并且可表示为(1,

1,1,0),标记为“α3”的动作的操作向量可对应于将节点添加到x3中的中心节点(其可被称为“x3节点”)的动作并且可表示为(1,0,

1,1)。
[0083]
标记为“β11”的动作的操作向量可对应于在两个x1节点之间添加边的动作,并且可表示为(

2,2,0,0)。当在目标图中的两个xl节点之间添加边时,枚举部分可以将(

2,2,0,0)添加到目标结构向量。
[0084]
同样,标记为“β12”的动作的操作向量可对应于在x1节点与x2节点之间添加边的动作并且可表示为(

1,0,1,0)。标记为“β22”的动作的操作向量可对应于在两个x2节点之间添加边的动作并且可表示为(0,

2,2,0)。
[0085]
标记为“β13”的动作的操作向量可对应于在x1节点与x3节点之间添加边的动作,并且可表示为(

1,1,

1,1)。标记为“β23”的动作的操作向量可对应于在x2节点与x3节点之间添加边的动作,并且可表示为(0,

1,0,1)。标记为“β33”的动作的操作向量可对应于在两个x3节点之间添加边的动作,并且可表示为(0,0,

2,2)。
[0086]
图10示出了根据本发明的实施例的基本动作的操作向量。在图9中列出的动作可以分解为在图10中示出的标记为“a”、“b1”、“b2”和“b3”的基础动作。例如,动作“α1”可被分
解为基本动作“a”和“b1”。换言之,操作向量α1(0,1,0,0)等于“a”(1,0,0,0)的操作向量和“b1”(

1,1,0,0)的操作向量的和。
[0087]
类似地,动作“α2”可被分解为基本动作“a”和“b2”,并且动作“α3”可被分解为基本动作“a”和“b3”。如图9中所示,动作“β11
”‑“
β33”可被分解成“b1
”‑“
b3”的组合。
[0088]
图11示出了根据本发明的一个实施例的示例性生长过程。在图11的一个实施例中,枚举部分可以通过在s130

s170的循环的迭代中的s130的操作,从初始图形1100生成图形1110、1120、1130、


[0089]
例如,在s130的第一操作,枚举部分可以通过将动作α1的操作向量(0,1,0,0)添加到初始图1100的结构向量(2,0,0,0)以获得图1110的结构向量(2,1,0,0)来从初始图1100生成新图1110。该操作相当于将新节点添加到初始图1100中的节点x1。
[0090]
在一个实施例中,在s130的第二操作处,枚举部分可以通过将动作α1的操作向量(0,1,0,0)添加到图1110的结构向量(2,1,0,0)以获得图1120的结构向量(2,2,0,0)来从图1110生成新图1120。该操作相当于将新节点添加到图1110中的节点x1。
[0091]
在一个实施例中,在s130的第三操作中,枚举部分可以通过将动作α2(1,

1,1,0)的操作向量添加到图1110(2,1,0,0)的结构向量以获得图1130的结构向量(3,0,1,0)来从图1110生成新图1130。该操作相当于将新节点添加到图1110中的节点x2。
[0092]
在一个实施例中,在s130的第四操作中,枚举部分可以通过将动作β11的操作向量(

2,2,0,0)添加到图1110的结构向量(2,1,0,0)以获得新图的结构向量(0,3,0,0),来从图1110生成新图(未示出)。该操作相当于将新边线添加到图1110中的两个节点x1。
[0093]
枚举部分可以通过添加从图9中列出的动作中选择的操作向量来进一步增加图1120、1130、...。枚举部分可选择动作,使得所计算的结构向量不包含负值。例如,当目标结构向量为(2,1,0,0)时,枚举部可以不选择操作向量为(1,0,

1,1)的动作α3。
[0094]
枚举部分可以选择动作以确保由选定动作创建环。在一个实施例中,枚举部分可以只在对应于动作的条件被满足时选择动作。图9中示出了动作的条件。例如,当目标结构向量为(2,1,0,0)时,枚举部分可以不选择动作β12,其条件包括x1 x2 x3 x4>=4and x2 x3 x4>=2。
[0095]
在s150,枚举部分可以计算在最近s130生长的图中的节点和环,其在下文中可以称为“生长图”。
[0096]
在一个实施例中,枚举部分可以通过针对生长图(x1 x2 x3 x4)计算x1 x2 x3 x4来对节点的数量进行计数。在一个实施例中,枚举部分可以将迄今为止选择的环创建动作(图9中的动作β11

β33)的数量计数为环的数量。在另一实施例中,枚举部分可以通过针对生长图(x1 x2 x3 x4)计算1

1/2(x1‑
x3‑
2x4)来计数环的数量。
[0097]
在s150中,枚举部可以进一步存储针对生长图的节点计数和环计数对的生长图的结构向量。例如,当生长图是图11中的图1120时,枚举部分可以存储若干节点“4”和若干环“0”的结构向量(2,2,0,0)。
[0098]
图12示出了根据本发明的一个实施例的节点和环的数量对的储存结构向量。枚举部分可以存储用于在s130

s170的迭代期间的节点和环的数量的对应对的结构向量。
[0099]
如图12所示,枚举部分可以存储用于2(对应于图形1100)的多个节点(在下文中可以称为“#节点”)以及0的多个环(在下文中可以称为“#环”)的结构向量(2,0,0,0)。枚举部
分可以存储用于#节点3和#环0(对应于图形1110)的结构向量(2,1,0,0)、用于#节点4和#环0(对应于图形1120)的结构向量(2,2,0,0)、用于#节点4和#环0(对应于图形1130)的结构向量(3,0,1,0)以及用于#节点4和#环1的结构向量(0,4,0,0)。
[0100]
在一个实施例中,枚举部分可以迭代s130

s170的操作,以便生成给定大小(例如,50个节点)内的所有可能图形。在一个实施例中,枚举部分可以迭代s130

s170的操作,以便生成给定大小内的所有可能图形的一部分。
[0101]
在一个实施例中,枚举部分可以存储用于一对#节点和经修改的#环的结构向量。当枚举部分执行环创建动作时(例如,图9中的β22),有时两个环可以被添加到目标图中。然而,#环可基于sssr(smallest set of smallest rings)(最小环的最小集合)来计数,且可能不反映生长图中的环的实际数目。
[0102]
图13示出了根据本发明一个实施例的环创建动作。如图13(a)所示,边1310已通过环创建动作β11被添加到结构向量为(2,2,0,0)的目标图1300。通过该动作,一个环被添加到目标图1300。
[0103]
同时,已经通过如图13的(b)中所示的环创建动作β22将边1360添加到结构向量为(0,2,2,0)的目标图1350中。通过该单个动作,两个环被添加到目标图1350。因此,仅通过对环创建动作的数量进行计数,可能不能确定生长图中的环的准确数量。
[0104]
图14示出了根据本发明的一个实施例的具有环创建动作的环的数量的范围。如图14所示,当执行1个环创建动作时,生长图具有1个环。当执行2个环创建动作时,生长图具有2个环。当执行3个环创建动作时,生长图具有3个环或4个环。当执行4个环创建动作时,生长图具有4个环、5个环或6个环。当执行5个环创建动作时,生长图具有5

8个环。
[0105]
在一个实施例中,如图14中所示,枚举部分可以初步存储表格。在另一实施例中,枚举部分可以计算环的数量的范围。
[0106]
在一个实施例中,枚举部分可以存储用于一对#节点和可能#环中的每个的结构向量。例如,当生长图的结构向量是(0,0,4,0),#节点是4且#环(例如,环创建动作的计数)是3时,枚举部分可以存储用于一对#节点4和#环3以及一对#节点4和#环4两者的结构向量(0,0,4,0)。
[0107]
在s170,枚举部可以确定是否结束s100的操作。在一实施例中,枚举部分可确定是否有可能在图的预定大小内(例如,在50#节点内)增长图。响应于确定不能在图形的预定尺寸内增长图形,枚举部可以确定结束s100。在一个实施例中,枚举部分可以确定在开始s100的操作之后是否已经过去了预定时间量。
[0108]
响应于确定不结束s100的操作,枚举部可以返回到s130的操作以迭代s130

s170的循环。在一实施例中,在s130的下一操作中,根据一实施例枚举部分可根据宽度优先搜索来增长目标图(例如,增长目标图以便尽可能不增加#节点)。在另一实施例中,枚举部分可根据深度优先搜索(例如,生长目标图以便尽可能长地增加#节点)来生长目标图。
[0109]
在s130

s170的迭代之后,枚举部分可以存储结构向量,诸如图9所示。如以下解释的,在操作s300,所存储的结构向量被用作初步定义的空间。
[0110]
图15示出了根据本发明一个实施例的图3的流程中的s300的子流程。在图3操作s300中,诸如设备10的装置可以执行图15的s310

s390的操作。
[0111]
在s310,诸如生成部分120的生成部分可以从在s200获得的候选分子的特征向量
生成目标结构向量。在一个实施例中,生成部分可以通过使用特征向量的至少一部分(例如,数据驱动特征部分410)将候选分子中分类为图7中的x1节点的原子的数目计数为x1。
[0112]
在该实施例中,生成部分可以将数据驱动特征部分410中示出的子结构中分类为x1节点的原子数量计数为x1。例如,当候选分子的数据驱动特征部分410指示候选分子包括15个x1个节点时,生成部分可以将15计数为x1。
[0113]
生成部分还可以通过使用特征向量(例如,数据驱动特征部分410)的至少一部分将候选分子中被分类为x2节点的原子的数量计数为x2。生成部分还可以通过使用特征向量(例如,数据驱动特征部分410)的至少一部分将候选分子中被分类为x3节点的原子的数量计数为x3。
[0114]
生成部分还可以通过使用特征向量(例如,数据驱动特征部分410)的至少一部分将候选分子中被分类为x4节点的原子的数量计数为x4。因此,生成部分可以获得作为目标结构向量的向量(x1,x2,x3,x4)。
[0115]
在s320中,诸如获取部分130的获取部分可以从候选分子的特征向量获取候选分子的多个原子和多个环。在一个实施例中,获取部分可以通过在没有氢的情况下计算在目标特征向量中列出的原子数目的总和(例如,c、n、o、s、f、p、cl等的总和)来计算原子数目。
[0116]
在一个实施例中,获取部分可以直接从目标特征向量获得原子数和/或环数。在这种实施例中,原子的数量和/或环的数量可以由设备的用户预先定义。例如,用户最初为候选分子设置原子/环的最佳数目。在一个实施例中,目标特征向量可以包括原子/环的最佳数目。在另一个实施例中,获取部分可以直接从用户获得最佳数目作为原子/环的数目。
[0117]
在一个实施例中,获取部分可以通过计算在目标特征向量(例如,5元环、6元环、芳香环等)中列出的环的数目的总和计算环的数目。在一个实施例中,获取部分可以直接从目标特征向量获得环的数目。
[0118]
在s320之后,设备可以迭代s330

s390的操作,直到满足结束条件。
[0119]
在s330,生成部分可以生成等于或者大于目标结构向量的二级结构向量。二级结构向量(y1,y2,y3,y4)满足(y1,y2,y3,y4)>=(x1,x2,x3,x4)。
[0120]
在s330

s390的迭代期间,生成部分可以生成不同的二级结构向量。在一个实施例中,生成部分可以生成不同的二级结构向量,使得二级结构向量从目标结构向量开始逐渐变大。
[0121]
例如,在s330的第一操作中,生成部分可以使用目标结构向量本身(x1,x2,x3,x4)作为二级结构向量(y1,y2,y3,y4)。在该实施例中,作为二级结构向量(y1,y2,y3,y4),生成部分可以在s330的第二操作中生成(x1 1,x2,x3,x4),在s330的第三操作中生成(x1,x2 1,x3,x4),在s330的第四操作中生成(x1,x2,x3 1,x4),在s330的第五操作中生成(x1,x2,x3,x4 1),在s330的第六操作中生成(x1 1,x2 1,x3,x4)

[0122]
在s340,获取部分可以从目标特征向量获取针对每个化合价的候选分子的原子数目。在一个实施例中,获取部分可以从目标特征向量的至少一部分(例如,预定义的构建组件计数部420)获取具有1个键的多个原子(例如,氯(cl)、氟(f)、...)作为l1。
[0123]
类似地,获取部分可以从目标特征向量的至少一部分(例如,预定义的构建组件计数部420)获取具有2个键的多个原子(例如,氧(o)、硫(s)、...)作为l2,具有3个键的多个原子(例如,氮(n)、...)作为l3,具有4个键的多个原子(例如,碳(c)、硅(si)、...)作为l4)。因
此,获取部分可获得向量(l1,l2,l3,l4)作为基于化合价的结构向量。
[0124]
在s350中,诸如确定部分150的确定部分可以确定二级结构向量(y1,y2,y3,y4)是否满足结合条件。在一个实施例中,确定部分可以确定二级结构向量(y1,y2,y3,y4)是否满足以下4个条件:
[0125]
条件1:y1>=l1;
[0126]
条件2:y1 y2>=l1 l2;
[0127]
条件3:y1 y2 y3>=l1 l2 l3;
[0128]
条件4:y1 y2 y3 y4>=l1 l2 l3 l4.
[0129]
响应于确定部分确定满足结合条件,该装置可以进行s370的操作。否则,该装置可以返回到s330的操作。
[0130]
在s370中,确定部分可以确定在最近s330中生成的二级结构向量是否包括在对应于在s320中计数的原子数量和环数量的初步定义空间中。在一个实施例中,初步定义的空间可以包括在如图12所示的s100中存储的结构向量中。
[0131]
在一个实施例中,s320处计数的原子数量和环数量是a
t
和r
t
,并且最近的二级结构向量被表示为(y1,y2,y3,y4),枚举部分可以确定包括在s100处存储的结构向量(诸如图12中所示)的表是否包括原子数量a
t
、环数量r
t
和结构向量(y1,y2,y3,y4)的记录。
[0132]
如果确定部分找到记录,则确定部分可以确定候选分子的分子结构是可行的并且可以结束s300的操作。如果确定部分没有找到记录,则确定部分可以继续s390的操作。
[0133]
在s390,确定部分可以确定是否满足结束条件。在一个实施例中,结束条件可以是在s330的迭代时已经生成预定数量的二级结构向量,在s330的迭代时已经生成了预定范围的二级结构向量(例如,(x1,x2,x3,x4)至(x1 10,x2 10,x3 10,x4 10)的范围),已经过去了预定量的时间等。
[0134]
响应于确定未满足结束条件,确定部分可以返回至s330的操作以生成新的二级结构向量。响应于确定已满足结束条件,确定部分可结束s300的操作。在这种情况下,候选分子可被认为是不可行的。在确定可行或不可行之后,确定部分可以提供具有确定结果的回归量。
[0135]
在关于图15所说明的实施例中,该装置通过生成二级结构向量确定可行性。在其他实施例中,确定部分可以通过确定初步定义空间是否包括满足(y1,y2,y3,y4)>=(x1,x2,x3,x4)的(y1,y2,y3,y4)来确定可行性。在一个实施例中,(y1,y2,y3,y4)可以进一步满足结合条件,诸如关于s350说明的结合条件。响应于发现至少一个(y1,y2,y3,y4),确定部分可以确定候选分子是可行的。否则,确定部分可以确定候选分子是不可行的。
[0136]
根据以上说明的一个实施例,该装置可以基于来自特征向量的目标结构向量确定候选分子的特征向量是否是可行的。原则上,具有特定数目的原子和环的分子应在特定空间(例如,如图12所示的初步限定的空间)内具有结构向量。因此,该装置可以基于候选分子的目标结构向量(及其次级向量)是否包括在初始限定的空间中来确定候选分子的可行性。
[0137]
在图1中示出的框架工作中的特征向量搜索期间,可以从搜索空间消除不可行的候选分子的特征向量。因此,该装置可以减少用于发现有希望的分子的计算资源和/或时间。
[0138]
在一些情况下,目标结构向量可以与由候选分子获得的结构向量不同。通过不仅
使用目标结构向量本身而且使用如关于图15所解释的二级结构向量,装置可以更精确地确定候选分子的可行性。该装置可以通过使用如关于图15所解释的候选分子的键条件来进一步精确地确定候选分子的可行性。
[0139]
可以参考流程图和框图描述本发明的各种实施例,流程图和框图的块可以表示(1)执行操作的处理的步骤或(2)负责执行操作的装置的部分。某些步骤和部分可以由专用电路、提供有存储在计算机可读介质上的计算机可读指令的可编程电路、和/或提供有存储在计算机可读介质上的计算机可读指令的处理器来实现。专用电路可以包括数字和/或模拟硬件电路,并且可以包括集成电路(ic)和/或离散电路。可编程线路可以包括可重配置硬件电路,包括逻辑与、或、异或、与非、或非和其他逻辑运算、触发器、寄存器、存储器元件等,诸如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)等。
[0140]
本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储媒质(或多个媒质)。
[0141]
计算机可读存储媒体可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储媒质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储媒质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd

rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储媒体不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
[0142]
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储媒质中。
[0143]
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如smalltalk、c 等)和过程程序设计语言(诸如“c”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。
[0144]
在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻
辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
[0145]
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0146]
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。
[0147]
也可以把这些计算机可读程序指令存储在计算机可读存储媒质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储媒质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
[0148]
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
[0149]
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。
[0150]
在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
[0151]
图16示出了其中可以全部或部分地体现本发明的各方面的计算机1200的实例。安装在计算机1200中的程序可以使计算机1200用作或执行与本发明的实施例的设备或其或多个部分相关联的操作,和/或使计算机1200执行本发明的实施例的过程或其步骤。这样的程序可以由cpu1212执行以使计算机1200执行与本文所描述的流程图和框图的一些或全部方框相关联的某些操作。
[0152]
根据本实施例的计算机1200包括cpu1212、ram1214、图形控制器1216和显示装置1218,它们通过主机控制器1210相互连接。计算机1200还包括经由输入/输出控制器1220连接到主机控制器1210的输入/输出单元,诸如通信接口1222、硬盘驱动器1224、dvd

rom驱动器1226和ic卡驱动器。计算机还包括诸如rom1230和键盘1242之类的传统输入/输出单元,它们通过输入/输出芯片1240连接到输入/输出控制器1220。
[0153]
cpu1212根据存储在rom1230和ram1214中的程序来操作,由此控制每个单元。图形控制器1216获得由cpu1212在设置在ram1214中的帧缓冲器等上或其自身上生成的图像数据,并且使图像数据显示在显示设备1218上。
[0154]
通信接口1222经由网络1244与其他电子设备通信。硬盘驱动器1224存储由计算机1200内的cpu1212使用的程序和数据。dvd

rom驱动器1226从dvd

rom1201读取程序或数据,
并经由ram1214将程序或数据提供给硬盘驱动器1224。ic卡驱动器从ic卡读取程序和数据,和/或将程序和数据写入ic卡中。在一些实施例中,神经网络1225可以存储在硬盘驱动器1124上。计算机1200可以训练存储在硬盘驱动器1224上的神经网络1245。
[0155]
rom 1230在其中存储了在激活时由计算机1200执行的引导程序等、和/或根据计算机1200的硬件的程序。输入/输出芯片1240还可通过并行端口、串行端口、键盘端口、鼠标端口等将各种输入/输出单元连接至输入/输出控制器1220。
[0156]
程序由诸如dvd

rom1201或ic卡的计算机可读介质提供。程序从计算机可读介质中读取,安装到硬盘驱动器1224、ram 1214或rom 1230中(也是计算机可读介质的实例),并且由cpu 1212执行。在这些程序中描述的信息处理被读取到计算机1200中,导致程序与上述各种类型的硬件资源之间的协作。可以通过根据计算机1200的使用实现信息的操作或处理来构成装置或方法。
[0157]
例如,当在计算机1200与外部设备之间执行通信时,cpu1212可基于通信程序中描述的处理执行加载到ram1214上的通信程序,以向通信接口1222指示通信处理。通信接口1222在cpu1212的控制下,读取存储在设置在诸如ram1214、硬盘驱动器1224、dvd

rom1201或ic卡之类的记录媒质中的发送缓冲区中的发送数据,并将所读取的发送数据发送到网络1244,或者将从网络1244接收的接收数据写入设置在记录媒质上的接收缓冲区等。
[0158]
另外,cpu1212可以使存储在硬盘驱动器1224、dvd

rom驱动器1226(dvd

rom1201)、ic卡等外部记录媒质中的文件或数据库的全部或所需部分读入ram1214,对ram1214上的数据进行各种处理。cpu1212随后可将处理后的数据写回到外部记录媒质。
[0159]
各种类型的信息(诸如各种类型的程序、数据、表和数据库)可存储在记录介质中以进行信息处理。cpu1212可对从ram1214读取的数据执行各种类型的处理,其包括各种类型的操作、信息处理、条件判断、条件分支、无条件分支、信息的搜索/替换等,如本公开通篇所述并且由程序的指令序列指定,并且将结果写回到ram1214。此外,cpu1212可以在记录媒质中的文件、数据库等中搜索信息。例如,当每个具有与第二属性的属性值相关联的第一属性的属性值的多个条目被存储在记录媒质中时,cpu1212可以从多个条目中搜索与指定第一属性的属性值的条件相匹配的条目,并且读取存储在条目中的第二属性的属性值,从而获得与满足预定条件的第一属性相关联的第二属性的属性值。
[0160]
上述程序或软件模块可存储在计算机1200上或计算机1200附近的计算机可读介质中。此外,在连接到专用通信网络1244或互联网的服务器系统中提供的诸如硬盘或ram的记录媒质可以用作计算机可读媒质,从而经由网络1244向计算机1200提供程序。在一些实施例中,计算机1200可以通过网络1244与神经网络1245通信。计算机1200可通过网络1244训练神经网络1245。神经网络1245可以实现为一个或多个节点。
[0161]
以上,对本发明的一个实施例进行了说明,但本发明的技术范围并不限定于上述一个实施例。对本领域的技术人员而言将显而易见的是,各种变更和改进可被添加到上述实施例。由权利要求书的范围还应当清楚的是,添加有这样的改变或改进的实施例也在本发明的技术范围之内。
[0162]
由权利要求、一个实施例或图中所示的装置、系统、程序和方法执行的每个过程的操作、程序、步骤和阶段可以以任何顺序进行,只要顺序不由“之前”、“之前”等表示并且只要来自先前过程的输出不用于后续过程。即使在权利要求、一个实施例或图中使用诸如“第
一”或“接下来”的短语描述处理流程,也不一定意味着必须以这种顺序执行该处理。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献