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

结构设计中的柱放置的可定制强化学习的制作方法

2022-03-16 03:20:13 来源:中国专利 TAG:

结构设计中的柱放置的可定制强化学习
1.相关申请的交叉引用
2.本技术要求在2020年9月14日提交并且具有序列号63/078,047的标题为“techinques for placing columns in structural designs”的美国临时申请的优先权权益。此相关申请的主题在此以引用的方式并入本文。
3.背景
技术领域
4.本公开的实施方案总体上涉及结构设计,并且更具体地,涉及结构设计中的柱放置的可定制强化学习。
5.相关技术
6.在结构设计中,结构工程师通常将柱放置在由他们的客户提供的建筑设计的楼层平面图中。例如,结构工程师可使用结构设计软件来分析墙壁的位置和对准、房间的类型以及其他因素,并且在楼层平面图中识别若干“网格线”。在沿水平方向和竖直方向找到这些网格线之后,结构工程师可使用结构设计软件将柱放置在网格线的交叉点处。
7.这个过程是繁琐和耗时的,特别是在每一楼层不具有相同的建筑布局的建筑物(例如,住宅建筑物)中。在这些项目中,结构工程师需要多次检视每个楼层的布局以识别墙壁的位置的重叠。例如,结构工程师可检查每个楼层上的内墙的竖直对准,以确保一个楼层上的柱不会出现在另一层上的开放空间的中间。在具有中等复杂性的住宅项目中,结构工程师可能花费五天或一周来找到柱位置。
8.另外,结构工程师经常利用呈设计规则的形式的专家知识来放置柱或作出其他类型的结构设计选择。这些规则的示例包括避免将柱放置在房间内或需要柱来形成网格线。虽然可使用机器学习技术来捕获这些规则并且辅助结构工程师进行柱放置,但训练常规的机器学习模型通常需要大量数据以允许所述模型进行“学习”来将规则应用于不同类型的设计或项目。另外,规则和/或数据的变化需要重新训练所述模型,这会消耗大量时间和资源并且延迟最新版本模型的发布或使用。
9.如前述内容说明,在本领域中需要用于有效地捕获设计规则并且将设计规则应用于结构设计中的柱放置任务的技术。


技术实现要素:

10.本发明的一个实施方案陈述了一种用于执行机器学习的技术。所述技术包括向建筑物的楼层平面图应用一个或多个放置规则以在所述楼层平面图中生成一组候选的柱位置。所述技术还包括使用第一强化学习(rl)代理基于一个或多个柱位置的结构稳定性而从所述一组候选的柱位置选择所述一个或多个柱位置。所述技术还包括输出包括所述一个或多个柱位置的所述楼层平面图作为所述建筑物的结构设计。
11.通过允许用户定义、选择和/或定制柱放置任务的放置规则并且执行根据所述放置规则而执行所述柱放置任务的rl代理,所公开的技术为用户加快和/或自动化所述柱放
置任务。因此,与常规的柱放置工具相比,所述柱放置任务可被更高效地执行和/或消耗更少的资源,用户在数小时或数天内运行所述常规的柱放置工具以手动地识别和检视楼层平面图中的柱位置。因此,所公开的技术提供了用于执行柱放置的计算机系统、应用程序、工具和/或技术方面的技术改进。
附图说明
12.因此可通过参考各种实施方案而具有可详细理解各种实施方案的上述特征的方式、以上简要概括的发明性概念的更特定的描述,所述实施方案中的一些实施方案绘示于附图中。然而,应注意,附图仅绘示发明性概念的典型实施方案且因此将不被视为以任何方式限制范围,因为存在其他同等有效的实施方案。
13.图1示出了被配置为实施各种实施方案的一个或多个方面的系统。
14.图2是根据各种实施方案的图1的网格线生成器和柱放置器的更详细图解。
15.图3a是根据各种实施方案的由图1的网格线生成器和柱放置器生成的示例性楼层平面图。
16.图3b是根据各种实施方案的由图1的网格线生成器和柱放置器生成的示例性楼层平面图。
17.图3c是根据各种实施方案的由图1的网格线生成器和柱放置器生成的示例性楼层平面图。
18.图4是根据各种实施方案的用于执行机器学习的方法步骤的流程图。
具体实施方式
19.在以下描述中,陈述众多具体细节以提供对各种实施方案的更透彻的理解。然而,本领域技术人员将明白,可在没有这些特定细节中的一者或多者的情况下实践发明性概念。
20.系统概述
21.图1示出了被配置为实施各种实施方案的一个或多个方面的计算装置100。在一个实施方案中,计算装置100可以是桌上型计算机、膝上型计算机、智能电话、个人数字助理(pda)、平板计算机或被配置为接收输入、处理数据且任选地显示图像并且适合于实践一个或多个实施方案的任何其他类型的计算装置。计算装置100被配置为运行驻留在存储器116中的网格线生成器122和柱放置器124。应注意,本文描述的计算装置是说明性的,并且任何其他技术上可行的配置落在本公开的范围内。例如,网格线生成器122和柱放置器124的多个实例可在分布式系统中的一组节点上执行以实施计算装置100的功能性。
22.在一个实施方案中,计算装置100包括(不限于)互连件(总线)112,所述互连件连接一个或多个处理单元102、耦合到一个或多个输入/输出(i/o)装置108的输入/输出(i/o)装置接口104、存储器116、存储装置114和网络接口106。处理单元102可以是被实施为以下各项的任何合适的处理器:中央处理单元(cpu)、图形处理单元(gpu)、专用集成电路(asic)、现场可编程门阵列(fpga)、人工智能(ai)加速器、任何其他类型的处理单元或不同处理单元的组合,诸如被配置为与gpu联合操作的cpu。一般来说,处理单元102可以是能够处理数据和/或执行软件应用程序的任何技术上可行的硬件单元。此外,在本公开的背景
下,在计算装置100中示出的计算元件可对应于物理计算系统(例如,数据中心中的系统)或者可以是在计算云内执行的虚拟计算实例。
23.在一个实施方案中,i/o装置108包括:能够提供输入的装置,诸如键盘、鼠标、触敏屏幕等;以及能够提供输出的装置,诸如显示装置。另外,i/o装置108可包括能够接收输入以及提供输出两者的装置,诸如触摸屏、通用串行总线(usb)端口等。i/o装置108可被配置为从计算装置100的终端用户(例如,设计者)接收各种类型的输入,并且还向计算装置100的终端用户提供各种类型的输出,诸如所显示的数字图像或数字视频或文本。在一些实施方案中,i/o装置108中的一者或多者被配置为将计算装置100耦合到网络110。
24.在一个实施方案中,网络110是允许在计算装置100与诸如网络服务器或另一连网计算装置的外部实体或装置之间交换数据的任何技术上可行类型的通信网络。例如,网络110可包括广域网(wan)、局域网(lan)、无线(wifi)网络和/或互联网等等。
25.在一个实施方案中,存储装置114包括用于应用程序和数据的非易失性存储装置,并且可包括固定或可移除磁盘驱动器、快闪存储器装置以及cd-rom、dvd-rom、蓝光、hd-dvd或其他磁性、光学或固态存储装置。网格线生成器122和柱放置器124可存储在存储装置114中,并且在被执行时被加载到存储器116中。
26.在一个实施方案中,存储器116包括随机存取存储器(ram)模块、快闪存储器单元或任何其他类型的存储器单元或它们的组合。处理单元102、i/o装置接口104和网络接口106被配置为从存储器116读取数据以及将数据写入到所述存储器。存储器116包括可由处理器102执行的各种软件程序和与所述软件程序相关联的应用程序数据,包括网格线生成器122和柱放置器124。
27.在操作期间,网格线生成器122和柱放置器124执行建筑设计中的柱放置。更具体地,网格线生成器122生成建筑设计中的楼层平面图的网格线,并且柱放置器124使用一个或多个机器学习模型将柱放置在所述网格线的交叉点处。如下文进一步详细描述,可在不需要重新训练机器学习模型的情况下以规则驱动和/或互动的方式执行此类柱放置,从而减少与执行结构设计中的柱放置任务相关联的资源消耗和/或用户开销。
28.结构设计中的柱放置的可定制强化学习
29.图2是根据各种实施方案的图1的网格线生成器122和柱放置器124的更详细图解。如上文提及,网格线生成器122向建筑物的建筑设计中的楼层平面图220添加一组网格线228,并且柱放置器124通过识别一些或全部网格线228的交叉点处的柱位置256而执行楼层平面图220中的柱放置。
30.如所示,楼层平面图220包括建筑物轮廓222、一个或多个区域轮廓224以及一个或多个区域类型226。建筑物轮廓222限定由楼层平面图220表示的建筑物的给定层的轮廓,并且区域轮廓224中的每一者限定同一层中的特定区域(例如,房间、区、地带等)的轮廓。例如,可使用表示建筑物层的矩形边界的左上隅角和右下隅角的坐标(x0,y0)和(x1,y1)来指定建筑物轮廓222。类似地,可通过唯一的“区域id”和坐标(x0,y0)和(x1,y1)来识别每个区域轮廓。可将建筑物轮廓222和/或区域轮廓224的额外的坐标和/或其他表示用于非矩形建筑物和/或区域形状。
31.区域类型226指定楼层平面图220中的对应区域的功能用途。例如,每个区域类型可由对应区域的“区域id”和分类的功能类型来表示,所述功能类型诸如(但不限于)“办公
室”、“会议室”、“前台”、“楼梯井”、“电梯”、“厨房”、“浴室”和/或“电话亭”。
32.在一些实施方案中,网格线生成器122执行强化学习(rl)代理206,所述强化学习代理生成与建筑物的墙壁和/或其他结构元件重叠的网格线228。例如,网格线生成器122可使用代理206将放置与楼层平面图220中的矩形房间或空间的墙壁对准的水平和竖直网格线228。
33.更具体地,代理206基于在建筑物中使用的梁的最小梁跨度216、在建筑物中使用的梁的最大梁跨度218和与楼层平面图220中的墙壁相关联的结构重要性242而在楼层平面图220中生成网格线228。当楼层平面图220包括矩形建筑物轮廓222和矩形区域轮廓224时,网格线生成器122可收集沿着楼层平面图220中的相同方向(例如,x轴线和y轴线)延伸的墙壁。每面墙壁与表示墙壁的结构重要性的权重相关联;较大的权重指示较高的结构重要性(例如,承重墙壁),并且较小的权重指示较低的结构重要性(例如,非承重隔断墙壁)。然后,代理206在服从任何两个连续网格线之间的距离大于或等于最小梁跨度216并且小于或等于最大梁跨度218的约束条件下放置网格线228以最大化与网格线228重叠的墙壁的权重的总和。
34.可使用每条轴线k∈{x,y}和正交轴线来示出网格线生成器122和/或代理206的操作。假设楼层平面图220中的所有墙壁彼此正交(即,平行于x轴线或y轴线),平行于轴线的每面墙壁w由墙壁的位置的k坐标和指示所述墙壁的结构重要性的权重wt(w)表示。正交于k轴线的一组网格线228gdk是由一组k坐标表示,根据以下定义通过最大化coverage(gdk)的方式选择所述一组k坐标:
[0035][0036]
其中gd与平行于所述轴线的某一墙壁w的k坐标重合。另外对网格线228进行选择,使得对于任何两个网格线228gd1、gd2∈gdk之间的距离dist,minspan≤dist≤maxspan,其中minspan表示最小梁跨度216并且maxspan表示最大梁跨度218。
[0037]
因此,网格线生成器122和/或另一部件可训练代理206以大致最大化coverage(gdk)。具体地,对于实数x={x1,x2,

,xn}的任何序列,并且数目g,x|g表示通过移除所有x∈x使得x≤g而从x获得的实数序列,并且x-y表示通过从x中的每个元素减去y而获得的实数序列。与代理206相关联的单独的状态212w由k坐标的序列表示,并且与代理206相关联的单独的动作210由act∈[minspan,maxspan]表示。将状态转换f(w,act)定义为f(w,act)=w|
act-y,并且将奖励函数r(w,act)定义为:
[0038][0039]
当仅存在一个w∈w并且w《minspan时,达到终止状态。
[0040]
在一个或多个实施方案中,使用墙壁的随机生成的序列训练代理206。例如,所述部件可使用深决定性策略梯度(ddpg)技术来学习代理206的策略,使得由代理206执行的动作210沿着楼层平面图220中的具有高结构重要性242的墙壁产生水平和竖直网格线228。
[0041]
在向楼层平面图220添加网格线228之后,柱放置器124识别楼层平面图220中的柱的柱位置256。首先,柱放置器124使用解算器202将一个或多个放置规则230转换为施加到表示楼层平面图220中的潜在柱位置256的网格线交叉点的几何约束条件。例如,解算器202可包括答案集合解算器,所述答案集合解算器向楼层平面图220中的网格线228的一些或全部交叉点施加由放置规则230表示的几何约束条件。
[0042]
在一些实施方案中,放置规则230表示用户指定的对柱放置的要求。例如,可由结构工程师和/或在建筑物的结构设计中涉及的另一用户提供每个放置规则。因此,跨多个用户、楼层平面图和/或结构设计项目累积的放置规则230可反映结构工程师关于柱放置任务的域知识。在此域知识内,可为给定楼层平面图220中的柱放置选择或指定一个或多个放置规则230。例如,用户可与由柱放置器124和/或另一部件提供的用户界面交互以定义新的放置规则,和/或选择用于与楼层平面图220一起使用的“保存的”放置规则。
[0043]
如所示,放置规则230包括表示潜在的柱位置256(例如,楼层平面图220中的网格线228的交叉点)的位置参数232,以及与那些位置相关联的类别234。在一些实施方案中,类别234包括预先放置的柱236、优选的柱位置238、候选的柱位置240和/或无效的柱位置244。预先放置的柱236包括需要柱的网格线交叉点,优选的柱位置238包括柱是优选的网格线交叉点,候选的柱位置240包括可放置柱的网格线交叉点,并且无效的柱位置244包括无法放置柱的网格线交叉点。
[0044]
例如,每个放置规则可包括指定类别的述词。述词pre_placed(x,y)指示由坐标(x,y)表示的位置将包括在预先放置的柱236中,述词column_forbidden(x,y)指示由坐标(x,y)表示的位置将包括在无效的柱位置244中,并且述词column_preferred(x,y)指示由坐标(x,y)表示的位置将包括在优选的柱位置328中。在无效的柱位置244或预先放置的柱236中找不到的楼层平面图220中的网格线交叉点可包括在候选的柱位置240中。
[0045]
位置参数232指定楼层平面图220的各个区,诸如(但不限于)特定区域类型226、沿着建筑物轮廓222和/或特定区域轮廓224的位置和/或位于建筑物轮廓222和/或特定区域轮廓224内的位置。继续以上示例,每个放置规则包括跟在所述述词之后的一个或多个位置参数232,所述一个或多个位置参数识别由所述述词表示的类别将适用的网格线交叉点的位置。因此,放置规则pre_placed(x,y):-building_corner(x,y)指定表示建筑物的隅角(例如,由建筑物轮廓222限定)的(x,y)位置将包括在预先放置的柱236中。放置规则pre_placed(x,y):-room_corner(x,y),element_function(r,stairwell)指定表示区域类型226为“楼梯井”的区域的隅角(例如,由区域轮廓224限定)的(x,y)位置将包括在预先放置的柱236中。放置规则column_forbidden(x,y):-in_the_middle_of(r,x,y),element_function(r,conference_room)指定在区域类型226为“conference_room”的区域的中间的位置将包括在无效的柱位置244中。
[0046]
在解算器202识别了楼层平面图220中的预先放置的柱236、优选的柱位置238、候选的柱位置240和/或无效的柱位置244之后,柱放置器124在解算器202的输出下执行指定楼层平面图220中的柱位置256的另一rl代理208。更具体地,通过以下元组表示由代理208执行的柱放置任务cpt:
[0047]
cpt=《shape,c,pr,pp,maxspan,m》
[0048]
在以上元组中,shape是限定楼层平面图220的内部的多边形;c,pr和pp是点集合;
以及和表示候选的柱位置240,pr表示优选的柱位置238,并且pp表示由解算器202识别的预先放置的柱236的位置。通过从提供给代理208的候选的柱位置240和/或楼层平面图220省略对应的网格线交叉点而应用无效的柱位置244。另外,maxspan是表示最大梁跨度的正数,并且m是表示在楼层平面图220中允许的最大数目的柱的正整数。
[0049]
继续以上柱放置任务,柱放置cp是表示楼层平面图220中的柱位置256的一组点。根据结构模拟器,如果并且cp具有满足或超过阈值的结构可行性258,则cp是cpt的解。用于确定结构可行性258的简单技术包括验证对于shape中的每个点p,存在柱c∈cp,使得p与c之间的距离小于或等于maxspan。可使用用于评估结构可行性258的其他技术,包括有限元分析和/或其他类型的结构模拟或机器学习技术,来作为所述简单技术的替代或补充。
[0050]
在一个或多个实施方案中,训练和/或执行代理208以通过执行选择楼层平面图220中的柱位置256的动作250来执行柱放置任务。与代理208相关联的单独的状态252由楼层平面图220的包括以下信息的“快照”或“图像”表示:候选的柱位置240c;优选的柱位置238pr;现有的柱位置256cp;以及由现有的柱位置256覆盖的楼层平面图220的区域ca(即,对于ca中的所有点p,在cp中存在柱c,使得p与c之间的距离小于或等于maxspan)。
[0051]
换句话说,动作是由代理208选择的c中的柱位置c。对于给定状态s,s c表示通过将柱放置在c处并且更新覆盖的区域ca而从s获得的状态。继而,转换函数f(s,c)被定义为:
[0052][0053]
当覆盖的区域ca包括楼层平面图220的整个内部,所放置的柱的数目已经达到最大值m和/或动作250的数目已经达到“最大步骤”的阈值时,代理208进入终止状态。根据以下奖励函数r(s,c)计算出奖励254:
[0054][0055]
在以上奖励函数中,状态s’的cvd(s’)表示由覆盖的区域ca表示的楼层平面图220内部的百分比,rwd
prefer
是放置在优选的柱位置处的每个柱的奖励,并且rwd
full
是用于达到柱位置256对楼层平面图220的内部的100%结构覆盖的奖励。因此,代理206可选择表示优
选的柱位置238、增加覆盖的区域ca和/或达到楼层平面图220的内部的100%结构覆盖的柱位置256。
[0056]
与代理206类似,可使用随机合成的楼层平面图训练代理208。例如,柱放置器124和/或另一部件可使用近端策略优化(ppo)技术来学习针对代理208的策略,使得由代理206执行的动作254最大化柱在优选的柱位置238的放置,产生结构上可行的楼层平面图220和/或增加或完成楼层平面图220的内部(由覆盖的区域ca确定)的结构覆盖。
[0057]
在一个或多个实施方案中,柱放置器124包括执行交互式柱放置的功能性,其中结构工程师和/或另一用户与柱放置器124和/或代理208交互以执行柱放置任务。在此交互式柱放置期间,用户提供和/或更新与楼层平面图220相关联的放置规则230,并且解算器220基于放置规则230而识别与预先放置的柱236、优选的柱位置238、候选的柱位置240和/或无效的位置244相对应的网格线交叉点。然后,代理208从优选的柱位置238和候选的柱位置240选择结构上可行的柱位置256,并且柱放置器124向用户输出具有柱位置256的楼层平面图220,并且向用户提供进一步修正放置规则230的机会。如果在给定的一组放置规则230中发现冲突(例如,如果一个放置规则与另一规则发生矛盾),则柱放置器124可生成识别所述冲突的警告,并且请求用户解决所述冲突(例如,通过修改一个或多个放置规则230),之后更新柱位置256以反映所述一组放置规则。
[0058]
因此,柱放置器124和用户可彼此反复地交互以指定楼层平面图220中的选定的柱位置256,直到生成满足用户要求的一组结构上可行的柱位置256,如在下文关于图3a至3c更详细地描述。另外,可在不重新训练代理208的情况下执行此反复过程,这与常规的机器学习技术相比改善了资源消耗和/或适应性,常规的机器学习技术每当期望改变机器学习模型的行为时便需要重新训练所述机器学习模型。
[0059]
图2的系统另外包括在不同的楼层平面图和/或结构设计项目的情况下存储和/或再用放置规则230的功能性。例如,柱放置器124和/或另一部件可将每个用户定义的放置规则存储在数据库和/或另一种类型的数据存储装置中。所述部件还可允许在各种用户、项目类型和/或其他类别或“标签”下对放置规则230进行分组。在新的项目和/或楼层平面图的柱放置任务期间,用户可创建或修改所述任务的一个或多个放置规则230;从数据存储装置选择用于与所述任务一起使用的单独的放置规则230和/或选择用于与所述任务一起使用的一组或多组放置规则230。这种针对多个楼层平面图、项目和/或柱放置任务存储、分组和再用放置规则230允许甚至当域专家不再参与后续项目时也捕获和再用结构工程师和/或其他域专家的域知识和/或专业知识。
[0060]
图3a是根据各种实施方案的由图1的网格线生成器122和柱放置器124生成的示例性楼层平面图302。在楼层平面图302中,“c”指示会议室,“k”指示厨房,“p”指示电话亭,“b”指示浴室,“e”指示电梯,“s”指示楼梯井,并且“r”指示接待区。沿着楼层平面图302中的水平线和竖直线的边和/或隅角的正方形指示柱放置,并且沿着楼层平面图302中的水平线和竖直线的边和/或隅角的点指示楼层平面图302中的尚未放置柱的候选的柱位置240。
[0061]
更具体地,图3a示出了通过柱放置器124进行柱放置的示例性楼层平面图302,所述柱放置反映了防止将柱放置在房间中间的放置规则。如所示,楼层平面图302在被标记为“c”、“k”、“p”、“b”、“e”、“s”和“r”的区域内部中缺乏候选的柱位置和/或柱放置,从而指示解算器202已经将房间内部中的网格线交叉点指定为楼层平面图302中的无效的柱位置
244。
[0062]
另外,楼层平面图302中的柱放置在整个楼层平面图302中未均匀地分布,并且未考虑到围绕楼梯井和电梯和/或楼层平面图302的其他区域的承重墙。因此,用户可改变与楼层平面图302相关联的放置规则以触发更好地反映用户的设计目标和/或偏好的新的一组柱放置。
[0063]
图3b是根据各种实施方案的由图1的网格线生成器122和柱放置器124生成的示例性楼层平面图304。更具体地,楼层平面图304包括在指定了需要围绕楼梯井的柱的新的放置规则之后在经修正的一组柱放置的情况下的图3a的楼层平面图302。例如,在用户在由柱放置器124和/或另一部件提供的用户界面中创建和提交了用于与楼层平面图一起使用的新的放置规则之后,柱放置器124可自动生成并输出楼层平面图304。
[0064]
如所示,楼层平面图304包括两个楼梯井的隅角处的柱。这些柱可包括由解算器202生成以适应由新的放置规则表示的约束条件的预先放置的柱236。响应于围绕楼梯井的新添加的柱,代理206可围绕厨房和/或楼层平面图304中的其他区域放置较少的柱(例如,保持在柱放置任务所允许的最大数目的柱内)。
[0065]
图3c是根据各种实施方案的由图1的网格线生成器122和柱放置器124生成的示例性楼层平面图306。具体地,楼层平面图306包括在限定了将房间隅角识别为优选的柱位置238的新的放置规则之后在经修正的一组柱放置的情况下的图3a和图3b的楼层平面图302-304。
[0066]
响应于新的放置规则,解算器202将被标记为“c”、“k”、“p”、“b”、“e”、“s”和“r”的区域的隅角指定为优选的柱位置238,并且代理206将柱放置在所述隅角处。楼层平面图306中的柱放置还比楼层平面图302或304中的柱放置更均匀地隔开和/或分布。因此,楼层平面图306中的柱位置可更好地符合与柱放置器124交互的用户的要求,和/或导致具有更高的结构完整性的结构设计。
[0067]
图4是根据各种实施方案的用于执行机器学习的方法步骤的流程图。虽然结合图1和图2的系统描述了方法步骤,但本领域技术人员应理解,被配置为以任何次序执行所述方法步骤的任何系统落在本公开的范围内。
[0068]
如所示,柱放置器124使用随机生成的楼层平面图和奖励函数训练402第一rl代理,所述奖励函数包括用于将柱放置在优选位置处的第一奖励和反映一个或多个放置的柱对楼层平面图的覆盖的第二奖励。例如,网格线生成器122和/或柱放置器124可使用离策略技术和随机生成的楼层平面图训练第一rl代理,使得第一rl代理通过使奖励最大化的方式来学习用于在楼层平面图中放置柱的策略。
[0069]
网格线生成器122还使用随机生成的墙壁序列和奖励函数训练404第二rl代理以执行网格线生成,所述奖励函数包括反映与网格线重叠的墙壁的结构重要性的奖励。例如,网格线生成器122和/或柱放置器124可训练第二rl代理以在服从以下约束条件的情况下生成沿着垂直于给定轴线(例如,x轴线或y轴线)的墙壁的网格线:任何两条连续网格线之间的距离大于或等于最小梁跨度并且小于或等于最大梁跨度。
[0070]
网格线生成器122执行406第二rl代理以基于楼层平面图中的墙壁的结构重要性而在楼层平面图中生成一组网格线。例如,可向楼层平面图中的每面墙壁指派表示所述墙壁的结构重要性的数值权重。第二rl代理可通过以下方式沿着x轴线和y轴线中的每一者放
置网格线:在维持保持在由楼层平面图的最小梁跨度和最大梁跨度表示的范围内的间隔的同时最大化与在结构上重要的墙壁的重叠。网格线生成器122可以替代地或另外使用其他机器学习技术和/或网格线生成技术在楼层平面图中放置网格线来作为训练和执行第二rl代理的替代或补充。
[0071]
在向楼层平面图添加网格线之后,柱放置器124从用户接收408针对楼层平面图的一个或多个放置规则,并且向楼层平面图应用410所述放置规则以在楼层平面图中生成一个或多个候选的柱位置、预先放置的柱和/或优选的柱位置。例如,用户可定义一个或多个放置规则和/或选择用于与楼层平面图一起使用的一个或多个预定义的放置规则(例如,来自其他用户和/或其他结构设计项目)。每个放置规则可包括描述楼层平面图中的位置(例如,房间的隅角/边界、房间内部、区域类型等)的一个或多个位置参数,以及指定与楼层平面图相关联的类别(例如,优选的柱位置、预先放置的柱、无效的柱位置)的一个或多个参数(例如,述词)。柱放置器124可使用答案集合解算器和/或另一种类型的解算器来识别与所述位置参数匹配的一个或多个网格线交叉点,并且向所识别的网格线交叉点应用所述类别。解算器的输出因此可包括楼层平面图中的网格线交叉点的不同子集,所述子集已经被分类为候选的柱位置、优选的柱位置、预先放置的柱(即,需要柱的位置)和/或无效的柱位置。
[0072]
柱放置器124使用第一rl代理基于柱位置的结构稳定性从候选的柱位置和/或优选的柱位置选择412一个或多个柱位置。例如,可使用柱放置任务将所述第一rl代理初始化,所述柱放置任务包括楼层平面图的内部、楼层平面图的候选的柱位置、优选的柱位置和预先放置的柱,以及最大梁跨度和/或最大柱数目。然后,第一rl代理可通过以下方式将柱放置在楼层平面图中:结构上可行并且将用于增加楼层平面图的内部的结构覆盖、将柱放置在优选的柱位置和/或完全覆盖楼层平面图的奖励最大化。
[0073]
在柱放置任务完成之后,柱放置器124输出414包括柱位置的楼层平面图。例如,柱放置器124在图形用户界面和/或另一种类型的用户界面中向用户显示楼层平面图和柱位置,和/或将楼层平面图和柱位置导出到文件。
[0074]
柱放置器124任选地重复操作408-414,直到楼层平面图完成416。用户可在检视所输出的楼层平面图和柱位置之后更新放置规则,以指定对柱位置的新的和/或不同的约束条件。继而,柱放置器124可使用经更新的放置规则以生成新的候选的柱位置、预先放置的柱和/或优选的柱位置,并且在新的候选的柱位置、预先放置的柱和/或优选的柱位置的情况下使用第一rl代理来选择新的柱位置。然后,柱放置器124可输出楼层平面图中的新的柱位置,以允许用户检视新的柱位置和/或基于新的柱位置对放置规则作出进一步的改变。因此,柱放置器124可反复地与用户交互以基于用户要求来生成和修正柱放置,直到产生在结构上有效并且满足用户的要求和偏好的一组柱位置为止。
[0075]
最后,柱放置器124存储418包括柱位置的楼层平面图作为建筑物的结构设计。例如,柱放置器124可将具有柱位置的楼层平面图存储在一个或多个文件中,所述一个或多个文件可由一个或多个用户观看、共享和/或进一步修改。
[0076]
总而言之,所公开的技术将表示用户对结构设计中的柱放置的要求或偏好的可定制放置规则与根据所述放置规则来选择楼层平面图中的柱位置的第一rl代理进行组合。用户可反复地指定新的一组放置规则,并且检视响应于所述放置规则而生成的柱位置,直到
在楼层平面图中识别出可接受和/或结构上可行的一组柱位置为止。还可使用第二rl代理来生成楼层平面图中的水平网格线和竖直网格线;当从用户接收到新的一组放置规则时,向所述网格线的交叉点应用所述放置规则以将网格线交叉点的不同子集分类为楼层平面图中的候选的柱位置、优选的柱位置和/或预先放置的柱。然后,将这些经过分类的网格线交叉点中的一些或全部作为输入提供给第一rl代理,以允许所述第一rl代理将额外的柱放置在候选的柱位置和/或优选的柱位置。
[0077]
通过允许用户定义、选择和/或定制柱放置任务的放置规则并且执行根据所述放置规则而执行所述柱放置任务的rl代理,所公开的技术为用户加快和/或自动化所述柱放置任务。因此,与常规的柱放置工具相比,柱放置可被更高效地执行和/或消耗更少的资源,用户在数小时或数天内使用所述常规的柱放置工具以手动地识别和检视楼层平面图中的柱位置。另外,可在不重新训练的情况下使rl代理和柱放置任务适于新的一组要求和/或放置规则,这与常规的机器学习模型相比提供了改善的资源消耗和/或适应性,常规的机器学习模型每当期望改变机器学习模型的行为时便需要重新训练。针对多个楼层平面图、项目和/或柱放置任务存储、分组和再用放置规则另外允许捕获和再用结构工程师和/或其他域专家的域知识和/或专业知识,这进一步提高所公开的柱放置技术的性能、适应性和资源效率。因此,所公开的技术提供了用于执行柱放置和/或机器学习的计算机系统、应用程序、工具和/或技术方面的技术改进。
[0078]
1.在一些实施方案中,用于执行机器学习的方法包括:向建筑物的楼层平面图应用一个或多个放置规则以在所述楼层平面图中生成一组候选的柱位置;使用第一强化学习(rl)代理基于一个或多个柱位置的结构稳定性而从所述一组候选的柱位置选择所述一个或多个柱位置;以及输出包括所述一个或多个柱位置的所述楼层平面图作为所述建筑物的结构设计。
[0079]
2.如条款1所述的方法,所述方法还包括:从用户接收针对所述楼层平面图的一个或多个额外的放置规则;以及使用所述第一rl代理基于所述一个或多个额外的放置规则而修正选自所述一组候选的柱位置的所述一个或多个柱位置。
[0080]
3.如条款1-2中任一项所述的方法,所述方法还包括在检测到所述一个或多个放置规则和所述一个或多个额外的放置规则中的冲突之后输出所述冲突的警告;以及基于来自用户的输入而解决所述冲突,之后修正所述一个或多个柱位置。
[0081]
4.如条款1-3中任一项所述的方法,所述方法还包括在向所述楼层平面图应用所述一个或多个放置规则之前,执行第二rl代理,所述第二rl代理基于所述楼层平面图中的一组墙壁的一组结构重要性而在所述楼层平面图中生成一组网格线。
[0082]
5.如条款1-4中任一项所述的方法,其中所述第二rl代理进一步基于与所述建筑物相关联的最小梁跨度和与所述建筑物相关联的最大梁跨度而在所述楼层平面图中生成所述一组网格线。
[0083]
6.如条款1-5中任一项所述的方法,其中向所述楼层平面图应用所述一个或多个放置规则包括:使放置规则的第一参数与所述一组网格线中的两个网格线的交叉点匹配;以及基于所述放置规则的第二参数而向所述交叉点应用类别。
[0084]
7.如条款1-6中任一项所述的方法,其中向所述交叉点应用所述类别包括以下项中的至少一者:从所述一组候选的柱位置省略所述交叉点,包括所述一组候选的柱位置中
的所述交叉点;以及将所述交叉点指定为优选的柱位置。
[0085]
8.如条款1-7中任一项所述的方法,所述方法还包括使用一组随机生成的楼层平面图训练所述第一rl代理。
[0086]
9.如条款1-8中任一项所述的方法,所述方法还包括使用奖励函数训练所述第一rl代理,所述奖励函数包括用于将柱放置在优选的柱位置处的第一奖励。
[0087]
10.如条款1-9中任一项所述的方法,其中所述奖励函数还包括反映一个或多个放置的柱对随机生成的楼层平面图的覆盖的第二奖励。
[0088]
11.如条款1-10中任一项所述的方法,所述方法还包括基于所述一个或多个放置规则而向所述楼层平面图添加一个或多个预先放置的柱。
[0089]
12.如条款1-11中任一项所述的方法,其中所述楼层平面图包括所述建筑物的第一轮廓、所述建筑物中的区域的第二轮廓和所述区域的功能类型。
[0090]
13.在一些实施方案中,一种存储指令的非暂时性计算机可读介质,所述指令在由处理器执行时致使所述处理器执行以下步骤:向建筑物的楼层平面图应用一个或多个放置规则以在所述楼层平面图中生成一组候选的柱位置和一组优选的柱位置;使用第一强化学习(rl)代理基于一个或多个柱位置的结构稳定性而从所述一组候选的柱位置和所述一组优选的柱位置选择一个或多个柱位置;以及输出包括所述一个或多个柱位置的所述楼层平面图作为所述建筑物的结构设计。
[0091]
14.如条款13所述的非暂时性计算机可读介质,其中所述步骤还包括在向所述楼层平面图应用所述一个或多个放置规则之前,执行第二rl代理,所述第二rl代理基于所述楼层平面图中的一组墙壁的一组结构重要性、与所述建筑物相关联的最小梁跨度和与所述建筑物相关联的最大梁跨度而在所述楼层平面图中生成一组网格线。
[0092]
15.如条款13-14中任一项所述的非暂时性计算机可读介质,其中向所述楼层平面图应用所述一个或多个放置规则包括:使放置规则的第一参数与所述一组网格线中的两个网格线的交叉点匹配;以及基于所述放置规则的第二参数而向所述交叉点应用类别。
[0093]
16.如条款13-15中任一项所述的非暂时性计算机可读介质,其中向所述交叉点应用所述类别包括以下项中的至少一者:从所述一组候选的柱位置省略所述交叉点,包括所述一组候选的柱位置中的所述交叉点;以及将所述交叉点指定为优选的柱位置。
[0094]
17.如条款13-16中任一项所述的非暂时性计算机可读介质,其中所述步骤还包括:从用户接收针对所述楼层平面图的一个或多个额外的放置规则;基于所述一个或多个额外的放置规则而更新所述一组候选的柱位置和所述一组优选的柱位置;以及使用所述第一rl代理基于所述一个或多个额外的放置规则而修正选自所述经更新的一组候选的柱位置和所述经更新的一组优选的柱位置的所述一个或多个柱位置。
[0095]
18.如条款13-17中任一项所述的非暂时性计算机可读介质,其中所述步骤还包括:基于一组随机生成的楼层平面图和奖励函数而训练所述第一rl代理,所述奖励函数包括用于将柱放置在优选的柱位置处的第一奖励和反映一个或多个放置的柱对随机生成的楼层平面图的覆盖的第二奖励。
[0096]
19.如条款13-18中任一项所述的非暂时性计算机可读介质,其中所述步骤还包括基于所述一个或多个放置规则而向所述楼层平面图添加一个或多个预先放置的柱。
[0097]
20.在一些实施方案中,一种系统包括存储指令的存储器和耦合到所述存储器的
处理器,并且所述处理器在执行所述指令时被配置为:执行第一强化学习(rl)代理,所述第一强化学习代理基于建筑物的楼层平面图中的一组墙壁的一组结构重要性而在所述楼层平面图中生成一组网格线;向所述一组网格线的一个或多个交叉点应用所述一个或多个放置规则以在所述楼层平面图中生成一组候选的柱位置和一个或多个预先放置的柱;使用第二rl代理基于一个或多个柱位置的结构稳定性而从所述一组候选的柱位置选择所述一个或多个柱位置;以及输出包括所述一个或多个柱位置的所述楼层平面图作为所述建筑物的结构设计。
[0098]
任何权利要求中阐述的任何权利要求要素和/或本技术中描述的任何要素以任何方式进行的任何和所有组合都落在本发明和保护的设想范围内。
[0099]
已经出于说明的目的呈现了对各种实施方案的描述,但这些描述并非意图是详尽的或限于所公开的实施方案。在不脱离所描述的实施方案的范围和精神的情况下,许多修改和变化对于本领域技术人员来说将是明显的。
[0100]
本实施方案的各方面可体现为系统、方法或计算机程序产品。因此,本公开的各方面可采用全硬件实施方案、全软件实施方案(包括固件、常驻软件、微代码等)或组合软件和硬件方面的实施方案的形式,所述软件和硬件方面在本文中可全部概括地称为“模块”、“系统”或“计算机”。另外,在本公开中描述的任何硬件和/或软件技术、过程、函数、部件、引擎、模块或系统可被实施为电路或电路集合。此外,本公开的各方面可采用计算机程序产品的形式,所述计算机程序产品在一个或多个计算机可读介质中体现,所述一个或多个计算机可读介质具有在上面体现的计算机可读程序代码。
[0101]
可利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可为例如(但不限于)电子、磁性、光学、电磁、红外线或半导体系统、设备或装置,或前述各者的任何合适的组合。计算机可读存储介质的更具体示例(非详尽列表)将包括以下各者:具有一个或多个电线的电连接、便携式计算机软磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便携式压缩光盘只读存储器(cd-rom)、光学存储装置、磁性存储装置或前述各者的任何合适的组合。在此文献的上下文中,计算机可读存储介质可为可含有或存储程序以供指令执行系统、设备或装置使用或与指令执行系统、设备或装置结合的任何有形介质。
[0102]
上文参考根据本公开的实施方案的方法、设备(系统)和计算机程序产品的流程图和/或框图来描述本公开的各方面。应理解,可通过计算机程序指令来实施流程图和/或框图的每个框,以及流程图和/或框图中的框的组合。可将这些计算机程序指令提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机器。所述指令在经由计算机或其他可编程数据处理设备的处理器执行时实现在流程图和/或框图的框中指定的功能/动作的实施。此类处理器可以是(非限制)通用处理器、特殊用途处理器、专用处理器或现场可编程门阵列。
[0103]
图中的流程图和框图示出了根据本公开的各种实施方案的系统、方法和计算机程序产品的可能的实现方式的架构、功能性和操作。在此方面,流程图或框图中的每个框可表示代码的模块、段或部分,其包括用于实施指定逻辑功能的一个或多个可执行指令。还应注意,在一些替代性实现方式中,框中所述的功能可能不以图中所述的次序发生。例如,连续
示出的两个框实际上可基本上同时地执行,或者依据所涉及的功能性,有时可通过颠倒的次序执行所述框。还应注意,可通过执行指定功能或动作的基于专用硬件的系统或者专用硬件与计算机指令的组合来实施框图和/或流程图的每个框以及框图和/或流程图中的框的组合。
[0104]
虽然前述内容是针对本公开的实施方案,但在不脱离本公开的基本范围的情况下,可设计出本公开的其他和另外的实施方案,并且由所附权利要求书确定本公开的范围。
再多了解一些

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

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

相关文献