掌桥专利:专业的专利平台
掌桥专利
首页

人工智能计划方法及人工智能计划装置

文献发布时间:2023-06-19 19:18:24


人工智能计划方法及人工智能计划装置

技术领域

本发明是有关于一种人工智能(AI)技术,且特别是有关于一种人工智能计划方法及人工智能计划装置。

背景技术

第五代通信系统(下称5G)的多重存取边缘运算(Multi-Access Edge Computing,MEC)是行动基地台的演进、信息科技与电信网络融合的自然发展。MEC将为消费者和企业客户提供新的服务,例如影片分析、位置服务、物联网(IoT)、扩增实境、经最佳化的本地内容分配和数据快取。

MEC可允许软件应用程序利用本地内容和有关本地存取网络条件的即时信息。通过在网络边缘部署各种服务和快取内容,行动核心网络的壅塞可得到进一步的缓解,并可以有效地服务本地用途。

MEC行业标准和MEC平台的部署将成为运营商、供应商和第三方厂商的新型收益串流的推动者。差异化将通过部署在边缘云(edge cloud)中的特定应用程序实现。

在现有技术中,5G中定义有自组织网络(Self-Organizing Network),其可提供5G网络的自配置(Self-Configuration)、自优化(Self-Optimizing)和自愈(Self-Healing)。

然而,5G对于MEC系统上面的应用程序没有提供自组织的功能,其原因在于MEC系统上面的应用程序需要针对其使用者群体做客制化,不像传统公有云上的应用可以一体适用(one-size-for-all),导致MEC系统上面的应用程序的人工开发和维护成本大增。

发明内容

有鉴于此,本发明提供一种人工智能计划方法及人工智能计划装置,其可用于解决上述技术问题。

本发明提供一种人工智能计划方法,包括:取得关联于一特定应用程序的一问题文件及一域文件,其中域文件包括对应于特定应用程序的N个计划层的N个描述段,N为大于1的正整数,问题文件指示各计划层的一第一初始状态及一目标状态;基于所述多个描述段建构对应于所述多个计划层的N个计划树,其中各计划树具有多个状态节点且对应于所述多个计划层之一,其中各计划层具有一计划节点集合,各计划层的计划节点集合包括多个计划节点,所述多个计划层的第i个计划层的所述多个计划节点包括一第一计划节点,所述多个计划层的第i+1个计划层的所述多个计划节点包括对应于第一计划节点的多个第二计划节点,第一计划节点满足对应于所述第i个计划层的多个第一预设条件,第二计划树的所述多个计划节点个别皆满足对应于所述第i+1层的多个第二预设条件,其中i为正整数且N>i≥1;基于一深度学习模型在各计划树的所述多个计划节点中决定一第一计划路径,其中各计划树的第一计划路径将对应的计划层从对应的第一初始状态导引至对应的目标状态;依据所述N个计划树中的一特定计划树的第一计划路径产生一第一排程计划,并据以依序对特定应用程序下达多个动作指令。

本发明提供一种人工智能计划装置,包括存储电路及处理器。存储电路存储一程序码。处理器耦接存储电路,并存取程序码以执行:取得关联于一特定应用程序的一问题文件及一域文件,其中域文件包括对应于特定应用程序的N个计划层的N个描述段,N为大于1的正整数,问题文件指示各计划层的一第一初始状态及一目标状态;基于所述多个描述段建构对应于所述多个计划层的N个计划树,其中各计划树具有多个状态节点且对应于所述多个计划层之一,其中各计划层具有一计划节点集合,各计划层的计划节点集合包括多个计划节点,所述多个计划层的第i个计划层的所述多个计划节点包括一第一计划节点,所述多个计划层的第i+1个计划层的所述多个计划节点包括对应于第一计划节点的多个第二计划节点,第一计划节点满足对应于所述第i个计划层的多个第一预设条件,第二计划树的所述多个计划节点个别皆满足对应于所述第i+1层的多个第二预设条件,其中i为正整数且N>i≥1;基于一深度学习模型在各计划树的所述多个计划节点中决定一第一计划路径,其中各计划树的第一计划路径将对应的计划层从对应的第一初始状态导引至对应的目标状态;依据所述N个计划树中的一特定计划树的第一计划路径产生一第一排程计划,并据以依序对特定应用程序下达多个动作指令。

本发明提供一种人工智能计划方法,包括:取得关联于一特定应用程序的一问题文件及一域文件,其中域文件包括对应于特定应用程序的N个计划层的N个描述段,N为大于等于1的正整数,问题文件指示各计划层的一第一初始状态及一目标状态;基于所述多个描述段建构对应于所述多个计划层的N个计划树,其中各计划树具有多个状态节点且对应于所述多个计划层之一;基于一深度学习模型在各计划树的所述多个状态节点中决定一第一计划路径,其中各计划树的第一计划路径将对应的计划层从对应的第一初始状态导引至对应的目标状态;依据所述N个计划树中的一特定计划树的第一计划路径产生一第一排程计划,并据以依序对特定应用程序下达多个动作指令;取得特定应用程序因应于所述多个动作指令中的一第一动作指令所产生的一运行观察;将特定应用程序的运行观察转换为一执行状态;反应于判定特定应用程序的执行状态指示需产生新的排程计划,基于特定应用程序的执行状态决定一第二初始状态,并基于深度学习模型在各计划树的所述多个状态节点中决定一第二计划路径,其中各计划树的第二计划路径将对应的计划层从对应的第二初始状态导引至对应的目标状态;依据所述N个计划树中的特定计划树的第二计划路径产生一第二排程计划,并据以依序对特定应用程序下达多个其他动作指令。

本发明提供一种人工智能计划装置,包括存储电路及处理器。存储电路存储一程序码。处理器耦接存储电路,并存取程序码以执行:取得关联于一特定应用程序的一问题文件及一域文件,其中域文件包括对应于特定应用程序的N个计划层的N个描述段,N为大于等于1的正整数,问题文件指示各计划层的一第一初始状态及一目标状态;基于所述多个描述段建构对应于所述多个计划层的N个计划树,其中各计划树具有多个状态节点且对应于所述多个计划层之一;基于一深度学习模型在各计划树的所述多个状态节点中决定一第一计划路径,其中各计划树的第一计划路径将对应的计划层从对应的第一初始状态导引至对应的目标状态;依据所述N个计划树中的一特定计划树的第一计划路径产生一第一排程计划,并据以依序对特定应用程序下达多个动作指令;取得特定应用程序因应于所述多个动作指令中的一第一动作指令所产生的一运行观察;将特定应用程序的运行观察转换为一执行状态;反应于判定特定应用程序的执行状态指示需产生新的排程计划,基于特定应用程序的执行状态决定一第二初始状态,并基于深度学习模型在各计划树的所述多个状态节点中决定一第二计划路径,其中各计划树的第二计划路径将对应的计划层从对应的第二初始状态导引至对应的目标状态;依据所述N个计划树中的特定计划树的第二计划路径产生一第二排程计划,并据以依序对特定应用程序下达多个其他动作指令。

附图说明

图1A是依据本发明的一实施例绘示的人工智能计划装置示意图。

图1B是依据本发明的一实施例绘示的人工智能计划系统示意图。

图2是依据本发明的一实施例绘示的人工智能计划方法流程图。

图3是依据本发明的一实施例绘示的多个计划层的计划节点集合示意图。

图4是依据本发明的一实施例绘示的估计对应于第i个计划层的适应度分数的示意图。

图5是依据本发明的一实施例绘示的对应于编码层的计划树示意图。

图6是依据本发明的一实施例绘示的人工智能计划方法流程图。

其中,附图标记说明如下:

100:人工智能计划装置

102:存储电路

104:处理器

10:人工智能计划系统

11:决策者

13:人工智能计划器

131:计划器

133:排程器

15:控制器

17:目标服务器

171:目标系统

173:特定应用程序

310:架构模式集合

311~31M:架构模式

330:设计模式集合

331~33N:设计模式

350:编码模式集合

351~35O:编码模式

411:输入数据

413:输入注意函数

415:意识注意函数

417:适应度分数

421~42K:模式

431,432:特征值

500:计划树

511~599:状态节点

a1~a3,a11~a13,A1~AZ:动作指令

C1~CZ:控制命令

E1:运行事件

ES1:执行状态

e0:第一初始状态

e1,e3,e11,e13:状态

eZ:目标状态

F1:域文件

F2:问题文件

O1:运行观察

P1,P2:候选路径

S210~S240,S610~S680:步骤

Z01:第一计划路径

Z03:第一排程计划

具体实施方式

请参照图1A及图1B,其中图1A是依据本发明的一实施例绘示的人工智能计划装置示意图,而图1B是依据本发明的一实施例绘示的人工智能计划系统示意图。

在不同的实施例中,图1A的人工智能计划装置100可以是各式智能型装置、电脑装置及/或服务器,但可不限于此。在不同的实施例中,图1A的人工智能计划装置100可以被部署在应用端、边缘云及/或云端。

如图1A所示,人工智能计划装置100包括存储电路102及处理器104。存储电路102例如是任意型式的固定式或可移动式随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash memory)、硬盘或其他类似装置或这些装置的组合,而可用以记录多个程序码或模块。

处理器104耦接于存储电路102,并可为一般用途处理器、特殊用途处理器、传统的处理器、数字信号处理器、多个微处理器(microprocessor)、一个或多个结合数字信号处理器核心的微处理器、控制器、微控制器、特殊应用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程闸阵列电路(Field Programmable Gate Array,FPGA)、任何其他种类的集成电路、状态机、基于进阶精简指令集机器(Advanced RISCMachine,ARM)的处理器以及类似品。

如图1B所示,人工智能计划系统10可包括人工智能计划器(AI planner)13、控制器15及目标服务器17。在一些实施例中,目标服务器17可以是MEC服务器,其可包括所示的目标系统171(例如MEC系统),且目标服务器17上可运行有特定应用程序173。

在本发明的实施例中,处理器104可存取存储电路102中记录的模块、程序码来实现图1B中的人工智能计划器13/控制器15所提供的功能、操作,以下将作详细说明。

一般而言,将用户需求(user requirement)转换为软件需求规格(SoftwareRequirement Specification,SRS)的工作是由人工执行。一个用户需求可被转换为SRS中的一或多个技术需求(Technical Requirement)。然而,在取得SRS之后,多半交由AI来自动调整目标应用程序的架构(architecture)、设计(design)及编码(code)。为便于说明,以下假设上述目标应用程序即为图1B中的特定应用程序173,但可不限于此。

在SRS的技术需求中,可包括功能需求(functional requirement)及非功能需求(non-functional requirement)。在功能性需求中,功能可以用一个输入、行为及输出的组合来表示。功能需求可以是计算、技术细节、数据处理或其他说明系统希望达成功能的内容。此处的「行为」可以用控制流程图(control flow graph)、数据流程图(data flowgraph)、呼叫图(call graph)及限制图(constraint graph)来表示。

另外,非功能需求则对设计和实现提出了限制,例如可维护性(Maintainability)、可延伸性(Extensibility)、简洁性(Simplicity)、可理解性(Understandability)、重复利用性(Re-usability)、效能等(Performance),而这些可称为指标(metric)。

在一些实施例中,可使用功能需求中的控制流程图、数据流程图、呼叫图及限制图来描述对应的部分程序架构(可理解为特定应用程序173的架构),而其映射关系可表示为「(control flow graph,data flow graph,call graph,constraint graph)→architecture pattern」的式子。亦即,一个功能需求的元组(tuple)可经映射为一个架构模式(architecture pattern)。

相似地,亦可使用功能需求中的控制流程图、数据流程图、呼叫图及限制图来描述对应的部分程序设计及编码(可理解为特定应用程序173的设计及编码),而其映射关系可分别表示为「(control flow graph,data flow graph,call graph,constraint graph)→design pattern」及「(control flow graph,data flow graph,call graph,constraintgraph)→code pattern」。亦即,一个功能需求的元组(tuple)可经映射为一个设计模式(design pattern)及编码模式(code pattern)。

在一实施例中,SRS中的技术需求可作为人工智能计划器13中计划器131的目标(goal)。在一实施例中,决策者(policy maker)11可基于规划领域定义语言(PlanningDomain Definition Language,PDDL)而以问题域独立启发(problem domain independentheuristic)的方式产生域文件(domain file)F1,并将域文件F1输入至计划器131。

一般而言,仅具有单一计划层的习知域文件的内容通常包括一个描述段,而其可包括如下所例示的多个描述句:

precond_1->action_1->effect_1

precond_2->action_2->effect_2

……

precond_n->action_n->effect_n

其中每个描述句的涵义为「在预状态precond_i执行特定动作指令action_i之后会进入结果状态effect_i。」

在本发明的实施例中,特定应用程序173可包括N个计划层,其中N为正整数。为便于说明,以下假设特定应用程序173可包括架构层、设计层及编码层等3个计划层(即,N为3),但其仅用以举例,并非用以限定本发明可能的实施方式。在其他实施例中,设计者可依需求而调整N的数值,并不限于上述例子。

相应地,本发明实施例的域文件F1可包括对应于所述N个计划层(即,架构层、设计层及编码层)的N个描述段。在此情况下,域文件F1可具有如下所例示的内容。

[architecture]

precond_arch_1->action_arch_1->effect_arch_1

precond_arch_2->action_arch_2->effect_arch_2

……

precond_arch_n->action_arch_n->effect_arch_n

[design]

precond_desn_1->action_desn_1->effect_desn_1

precond_desn_2->action_desn_2->effect_desn_2

……

precond_desn_n->action_desn_n->effect_desn_n

[code]

precond_code_1->action_code_1->effect_code_1

precond_code_2->action_code_2->effect_code_2

……

precond_code_n->action_code_n->effect_code_n

在一实施例中,属于架构层的action_arch_i可包括「新增架构模式(addarchitecture pattern)」和「移除架构模式(remove architecture pattern)」。另外,「状态effect_arch_i」是指在执行一系统的新增/移除之后所形成的架构模式集合(architecture pattern set)。在一些实施例中,若技术需求被修改,则可能会先移除旧的架构模式再新增新的架构模式。

相似地,属于设计层的action_desn_i可包括「新增设计模式(add designpattern)」和「移除设计模式(remove design pattern)」。另外,「状态effect_desn_i」是指在执行一系统的新增/移除之后所形成的设计模式集合(design pattern set)。在一些实施例中,若技术需求被修改,则可能会先移除旧的设计模式再新增新的设计模式。

另外,属于编码层的action_code_i可包括「新增编码模式(add code pattern)」和「移除编码模式(remove code pattern)」。另外,「状态effect_code_i」是指在执行一系统的新增/移除之后所形成的编码模式集合(code pattern set)。在一些实施例中,若技术需求被修改,则可能会先移除旧的编码模式再新增新的编码模式。

此外,在本发明的实施例中,「新增编码模式」所产生的效果例如是在特定应用程序173的程序码中新增一段程序码,而「移除编码模式」所产生的效果例如是在特定应用程序173的程序码中移除一段程序码。在一实施例中,新增/移除架构模式及新增/移除设计模式皆不会实质对特定应用程序173的程序码产生任何实质影响,而只有在新增/移除编码模式时会对特定应用程序173的程序码产生上述实质影响,但可不限于此。

在本发明的实施例中,除了可取得关联于特定应用程序173的域文件F1之外,计划器131还可取得关联于特定应用程序173的问题文件F2,其中问题文件F2可指示特定应用程序173的各计划层的第一初始状态及目标状态。

因应于域文件F1及问题文件F2,处理器104所执行的人工智能计划器13可相应地执行本发明的人工智能计划方法,其细节详述如下。

请参照图2,其是依据本发明的一实施例绘示的人工智能计划方法流程图。本实施例的方法可由图1A的处理器104执行图1B的人工智能计划器13来实现,以下即搭配图1B所示的元件说明图2各步骤的细节。

首先,在步骤S210中,人工智能计划器13中的计划器131取得关联于特定应用程序173的问题文件F2及域文件F1,其中域文件F1包括对应于特定应用程序173的N个计划层(即,架构层、设计层及编码层)的N个描述段(例如先前提及的[architecture]、[design]及[code]),而问题文件F2可指示各计划层的第一初始状态及目标状态。

接着,在步骤S220中,人工智能计划器13中的计划器131基于所述多个描述段建构对应于所述多个计划层的N个计划树(planning tree)。

在一实施例中,各计划树具有多个状态节点且对应于所述多个计划层之一。亦即,在特定应用程序173具有架构层、设计层及编码层的情况下,计划器131可基于域文件F1中的3个描述段而建构分别对应于架构层(其可理解为第1个计划层)、设计层(其可理解为第2个计划层)及编码层(其可理解为第3个计划层)的3个计划树,而各计划树可包括多个状态节点。

另外,各计划层可具有计划节点集合,且各该计划层的计划节点集合可包括多个计划节点。

在一实施例中,域文件F1中的所述N个描述段可包括对应于所述N个计划层中的第i个计划层(i为索引值,且N>i≥1)的第i个描述段。另外,所述第i个描述段可包括对应于所述第i个计划层的多个第一描述句,且各第一描述句表征为「precond_i->action_i->effect_i」。在一实施例中,precond_i为预状态,action_i为特定动作指令,effect_i为在所述预状态下执行特定动作指令所能达到的结果状态。

在一实施例中,action_i包括在所述第i个计划层的计划节点中新增一个节点,或是从所述第i个计划层的计划节点中移除一个节点,且effect_i为在预状态下执行特定动作指令后,由所述第i个计划层的计划节点形成的计划节点集合。

另外,域文件F1中的所述N个描述段可包括对应于所述N个计划层中第N个计划层的第N个描述段,所述第N个描述段包括对应于所述第N个计划层的多个描述句,且各描述句表征为「precond_N->action_N->effect_N」,其中precond_N为预状态,action_N为一特定动作指令,effect_N为在预状态下执行特定动作指令所能达到的结果状态。

在一实施例中,action_N包括在所述第N个计划层的计划节点中新增一个节点,或是从所述第N个计划层的计划节点中移除一个节点,且effect_N为在预状态下执行特定动作指令后,由所述第N个计划层的计划节点形成的计划节点集合。

基此,当i为1时,其对应的描述段可理解为域文件F1中的[architecture]的内容;当i为2时,其对应的描述段可理解为域文件F1中的[design]的内容;当i为3时,其对应的描述段可理解为域文件F1中的[code]的内容。

在此情况下,先前提及的action_arch_i可理解为包括在对应于架构层的计划节点集合中新增一个计划节点或移除一个计划节点。相应地,effect_arch_i可理解为由对应于架构层的计划节点所形成的计划节点集合。另外,action_desn_i可理解为包括在对应于设计层的计划节点集合中新增一个计划节点或移除一个计划节点,而action_code_i可理解为包括在对应于编码层的计划节点集合中新增一个计划节点或移除一个计划节点。在此情况下,effect_desn_i可理解为由对应于设计层的计划节点所形成的计划节点集合,而effect_code_i可理解为由对应于编码层的计划节点所形成的计划节点集合。

请参照图3,其是依据本发明的一实施例绘示的多个计划层的计划节点集合示意图。在图3中,对应于架构层的计划节点集合例如是架构模式集合310,其中架构模式集合310包括多个架构模式311~31M(即,对应于架构层的计划节点集合中的计划节点)。对应于设计层的计划节点集合例如是设计模式集合330,其中设计模式集合330包括多个设计模式331~33N(即,对应于设计层的计划节点集合中的计划节点)。对应于编码层的计划节点集合例如是编码模式集合350,其中编码模式集合350包括多个编码模式351~35O(即,对应于编码层的计划节点集合中的计划节点)。

在图3中,第i个计划层的其中一个计划节点(下称第一计划节点)可对应于第i+1个计划层的多个计划节点(下称多个第二计划节点)。例如,第1个计划层(即,架构层)的架构模式312可对应于第2个计划层(即,设计层)的设计模式331~33N。另外,第2个计划层(即,设计层)的设计模式332可对应于第3个计划层(即,编码层)的编码模式351~35O。

在一实施例中,所述第一计划节点可满足对应于所述第i个计划层的多个第一预设条件。并且,对应于所述第一计划节点的所述多个第二计划节点可皆满足对应于所述第i+1层的多个第二预设条件,其中i为正整数且N>i≥1。

在一实施例中,第一计划节点满足的所述多个第一预设条件可包括所述第i个计划层的计划节点集合不为空、符合所述第i个计划层的需求。在一实施例中,所述第i个计划层的需求是基于控制流程图、数据流程图、呼叫图及限制条件图而决定,而前述各图的内容可由设计者依需求而定。

另外,第一计划节点满足的所述多个第一预设条件还可包括达到所述第i个计划层的指标。在一实施例中,计划器131可取得特定应用程序173的输入数据,并依据此输入数据估计对应于所述第i个计划层的适应度分数。在一实施例中,反应于判定对应于所述第i个计划层的适应度分数高于对应于所述第i个计划层的分数门限值,计划器131可判定第一计划节点达到所述第i个计划层的指标,反之则可判定第一计划节点未达到所述第i个计划层的指标。

请参照图4,其是依据本发明的一实施例绘示的估计对应于第i个计划层的适应度分数的示意图。在图4的时间点t时,计划器131可取得特定应用程序173的输入数据411。在不同的实施例中,输入数据411的形式可因应于特定应用程序173的类型而有所不同。举例而言,假设特定应用程序173为虚拟实境应用程序,则输入数据411例如是相关的影像数据。另外,若特定应用程序173为音乐播放程序,则输入数据411例如是相关的音频文件,但可不限于此。

之后,计划器131可执行输入注意(input attention)函数413以因应于输入数据411而在对应于所述第i个计划层的多个模式421~42K中找出多个参考模式。在一实施例中,假设所考虑的所述第i个计划层为架构层,则各模式421~42K例如是一架构模式;若所考虑的所述第i个计划层为设计层,则各模式421~42K例如是一设计模式;若所考虑的所述第i个计划层为编码层,则各模式421~42K例如是一编码模式,但可不限于此。

在图4中,假设所找出的参考模式为模式422及42K,则计划器131可执行意识注意(conscious attention)函数415以找出对应于上述参考模式(即,模式422及42K)的多个特征值(例如特征值431及432)。之后,计划器131可基于特征值431及432决定对应于所述第i个计划层的适应度分数417,但可不限于此。

在一些实施例中,图4的相关细节可参照「Goyal,A.,Lamb,A.,Hoffmann,J.,Sodhani,S.,Levine,S.,Bengio,Y.,&

在一实施例中,第一计划节点可理解为对应于第i个描述段中的第一描述句之一。在一实施例中,在执行对应于第一计划节点的action_i(例如新增/移除第一计划节点)之前,计划器131可判断对应的所述多个第二计划节点是否皆满足对应于所述第i+1个计划层的多个第二预设条件。在一些实施例中,所述多个第二预设条件可包括对应于所述第i+1个计划层的计划节点集合不为空、符合所述第i+1个计划层的需求及达到所述第i+1个计划层的指标,而其相关细节可参照先前实施例中关联于第i个计划层的需求/指标的说明,于此不另赘述。

在一实施例中,反应于判定对应于所述第一计划节点的所述多个第二计划节点皆满足对应于所述第i+1层的所述多个第二预设条件,计划器131可执行对应于第一计划节点的action_i,反之则不执行对应于第一计划节点的action_i。换言之,计划器131只有在判定第i+1个计划层中对应于第一计划节点的所述多个第二计划节点皆满足所述多个第二预设条件时,才会执行对应于第一计划节点的action_i。

以图3为例,在计划器131判定是否执行对应于架构模式312的action_i时,计划器131会先判断对应于架构模式312的设计模式331~33N是否皆满足对应的预设条件(例如是否符合设计层的需求及达到设计层的指标)。另外,在计划器131判断是否执行对应于设计模式332的action_i时,计划器131会先判定对应于设计模式332的编码模式351~35O是否皆满足对应的预设条件(例如是否符合编码层的需求及达到编码层的指标)。

换言之,当计划器131判定执行对应于架构模式312的action_i时,即代表架构模式312所对应的其他计划层的各个模式(包括但不限于设计模式331~33N及编码模式351~35O)皆已符合对应的预设条件。

简言之,基于域文件F1的内容,计划器131即可基于以上教示而产生对应于各计划层的计划树。

请参照图5,其是依据本发明的一实施例绘示的对应于编码层的计划树示意图。应了解的是,对应于架构层及设计层的计划树亦将具有类似于图5的态样,而由于在本发明的实施例中只有编码层中的操作会对特定应用程序173的程序码产生实质影响(例如新增/删除一段程序码),故图5中以对应于编码层的计划树500为例作说明。

在图5中,计划树500包括多个状态节点511~599,其中状态节点511例如对应于问题文件F2指示的编码层的第一初始状态e0,而状态节点599则例如对应于问题文件F2指示的编码层的目标状态eZ。

由图5可看出,在计划器131依据域文件F1建立的计划树500中,若在对应于状态节点511的第一初始状态e0下达动作指令a1,则将相应地进入对应于状态节点521的状态e1;若在对应于状态节点511的第一初始状态e0下达动作指令a3,则将相应地进入对应于状态节点523的状态e3。另外,若在对应于状态节点521的状态e1下达动作指令a11,则将相应地进入对应于状态节点531的状态e11;若在对应于状态节点521的状态e1下达动作指令a13,则将相应地进入对应于状态节点533的状态e13。

在一实施例中,在产生各计划层的计划树之后,计划器131可执行步骤S230以基于深度学习模型在各计划树的所述多个状态节点中决定第一计划路径。

以图5为例,在产生计划树500之后,计划器131可基于深度学习模型在计划树500的状态节点511~599中决定第一计划路径。

在一实施例中,对于计划树500上的某一状态节点(下称第一状态节点)而言,上述深度学习模型可基于关联于特定应用程序173的运行观察及第一状态节点的状态从计划树500的状态节点511~599中挑选接续于第一状态节点的一或多个参考状态节点。

在图5中,当所考虑的第一状态节点为状态节点511时,上述深度学习模型可基于关联于特定应用程序173的运行观察(observation)及状态节点511的状态e1从计划树500的状态节点521~599中挑选接续于状态节点511的一或多个参考状态节点。在一实施例中,假设上述深度学习模型基于特定应用程序173的运行观察及状态节点511的状态e1判定状态节点521、522适合接续于状态节点511之后,则上述深度学习模型可选择状态节点521、522作为接续于状态节点511的参考状态节点,但可不限于此。

在一些实施例中,为使上述深度学习模型具备上述能力,可先通过相应的训练过程训练上述深度学习模型。在一实施例中,用于训练上述深度学习模型的训练数据可表征为「在某个状态与运行观察的组合下,应采取何种动作指令」。在一实施例中,各训练数据可表示为「(observation,state)->action」,但可不限于此。

借此,上述深度学习模型即可学习到当碰到某个状态与运行观察的组合时,应采取何种动作指令。举例而言,在选择状态节点521、522作为接续于状态节点511的参考状态节点的情境中,上述深度学习模型可理解为判定在当下的状态(即,第一初始状态e0)与运行观察的组合下,适合采取动作指令a1或a2,但可不限于此。

对于计划树500上的各状态节点,上述深度学习模型皆可执行以上教示的操作以为各状态节点挑选对应的一或多个参考状态节点。在此情况下,计划器131可将计划树500的各状态节点与对应的一或多个参考状态节点连接以在计划树500中形成至少一候选路径,其中各候选路径皆可将所述第i个计划层从对应的第一初始状态e0导引至对应的目标状态eZ。之后,计划器131可以计划树500的所述至少一候选路径的其中之一作为计划树500的第一计划路径。

在图5中,假设计划器131共找出候选路径P1及P2,其中候选路径P1及P2皆可将所述第i个计划层从对应的第一初始状态e0导引至对应的目标状态eZ。在此情况下,计划器131可从候选路径P1及P2中择一作为计划树500的第一计划路径。

在一实施例中,计划器131例如可从候选路径P1及P2中选择跳跃数较少的一者(即,包含较少状态节点的一者)作为计划树500的第一计划路径。在其他实施例中,计划器131亦可依某些设计者所需的原则对候选路径P1及P2中的各状态节点设定权重,再计算各候选路径P1及P2中状态节点的权重的总和。之后,计划器131可从候选路径P1及P2中选择权重总和较大(或较小)的一者作为计划树500的第一计划路径,但可不限于此。

在其他实施例中,对于对应于架构层及设计层的计划树而言,计划器131可依上述教示而在其中找出对应的第一计划路径,其细节于此不另赘述。

在本发明的实施例中,计划器131还可判断计划树500中动作指令的任一是否未能成功执行。在一实施例中,反应于判定计划树500中的动作指令中的第一动作指令未能成功执行,计划器131可返回前一状态,并再次执行此第一动作指令,直至成功执行第一动作指令。

以图5为例,假设计划器131判定动作指令a11因某些原因(例如特定应用程序173的对应功能/模块暂时无法存取)而未能成功执行,使得无法成功进入状态e13。在此情况下,计划器131可返回状态e1,并试图再次下达动作指令a11。若动作指令a11仍未能成功执行,则计划器131可反复执行上述行为,直至成功执行动作指令a11,但可不限于此。

在步骤S240中,计划器131依据所述多个计划树中的特定计划树的第一计划路径Z01产生第一排程计划Z03,并据以依序对特定应用程序173下达多个动作指令A1~AZ。

在本发明的实施例中,由于在本发明的实施例中只有对应于编码层的动作指令会对特定应用程序173的程序码产生实质影响(例如新增/删除一段程序码),故计划器131可采用对应于编码层的计划树(例如图5的计划树500)作为所考虑的特定计划树,但可不限于此。

在一实施例中,特定计划树的第一计划路径Z01例如是包括多个动作指令A1~AZ的未排程计划(unscheduled plan),亦即所述多个动作指令A1~AZ尚未经设定有对应的执行方式/执行时间点。以图5为例,假设候选路径P1经选定为计划树500的第一计划路径Z01,则候选路径P1包括的动作指令a1、a11(及其他未绘示的候选路径P1中的动作指令)即可形成计划树500的未排程计划,但可不限于此。

之后,排程器133可将此未排程计划(例如,第一排程计划Z01)中的动作指令A1~AZ指派对应的执行时间点及执行方式,以产生第一排程计划Z03。

接着,控制器15即可依据第一排程计划Z03中各动作指令A1~AZ的执行时间点依序对特定应用程序173下达动作指令A1~AZ。之后,控制器15可取得173特定应用程序因应于动作指令A1~AZ中的第一动作指令所产生的运行观察O1。为便于说明,以下假设动作指令A1即为所考虑的第一动作指令,但可不限于此。

在一实施例中,目标系统171可在收到动作指令A1~AZ之后,依序将动作指令A1~AZ转换为控制命令C1~CZ,并通过控制命令C1~CZ控制特定应用程序173(例如新增/删除程序码)。在一实施例中,特定应用程序173可因应于对应于动作指令A1的控制命令C1而产生相应的运行事件(event)E1,其例如可呈现为日志(log)或其他类型文件。之后,目标系统171可将运行事件E1转换为运行观察O1,并将运行观察O1提供予控制器15。

在一些实施例中,随着时间的推移,特定应用程序173的运行可能会产生新的技术需求,进而可能让第一排程计划Z03逐渐地不适用。因此,本发明另提出重计划(replanning)机制,以适应性地依据特定应用程序173的运行而适时地产生新的排程计划。

在一实施例中,控制器15可将特定应用程序173的运行观察O1转换为执行状态ES1,而人工智能计划器13可判断执行状态ES1是否指示需产生新的排程计划。在一实施例中,人工智能计划器13可因应于特定应用程序173的应用类型来进行上述判断。

举例而言,假设目标服务器17是受控于第五代通信系统的核心网络而运行的MEC服务器,则人工智能计划器13可经由此核心网络的网络数据分析功能(Network DataAnalytics Function,NWDAF)而取得所需的大数据(例如运行观察O1、执行状态ES1等),进而据以判断相关的技术需求是否发生改变(例如需要更大的频宽/更低的延迟等)。

在一实施例中,反应于判定相关的技术需求已改变,人工智能计划器13即可判定需产生新的排程计划,反之则可判定不需产生新的排程计划,但可不限于此。

在一实施例中,反应于判定需产生新的排程计划,计划器131基于特定应用程序173的执行状态ES1决定第二初始状态,并基于上述深度学习模型在各计划树的状态节点中决定第二计划路径,其中各计划树的第二计划路径可将对应的计划层从对应的第二初始状态导引至对应的目标状态。相关细节可参照计划器131决定各计划树的第一计划路径的说明,于此不另赘述。

之后,排程器133可依据上述计划树中的特定计划树(例如计划树500)的第二计划路径产生第二排程计划,并据以依序对特定应用程序173下达多个其他动作指令。相关细节可参照排程器133依据计划树500的第一计划路径Z01决定计划树500的第一排程计划Z03的说明,于此不另赘述。

应了解的是,虽以上皆针对具有多个(即,N大于1)计划层的特定应用程序173进行重计划机制的说明,但在其他实施例中,重计划机制亦适用于仅具有单一计划层(即,N为1)的特定应用程序173。

请参照图6,其是依据本发明的一实施例绘示的人工智能计划方法流程图。本实施例的方法可由图1A的处理器104执行图1B的人工智能计划器13来实现,以下即搭配图1B所示的元件说明图6各步骤的细节。在本实施例中,所示的各步骤可适用于仅具单一计划层(即,N为1)的特定应用程序173,但可不限于此。

首先,在步骤S610中,计划器131取得关联于特定应用程序173的问题文件F2及域文件F1,其中域文件F1包括对应于特定应用程序173的单一计划层L1的单一描述段D1,问题文件F2指示所述单一计划层L1的第一初始状态及目标状态。

在步骤S620中,计划器131基于描述段D1建构对应于计划层L1的计划树T1,其中计划树T1具有多个状态节点。

在步骤S630中,计划器131基于深度学习模型在计划树T1的所述多个状态节点中决定第一计划路径PP1,其中计划树T1的第一计划路径PP1将计划层L1从对应的第一初始状态导引至对应的目标状态。

在步骤S640中,排程器133依据计划树T1的第一计划路径PP1产生第一排程计划PL1,并由控制器15据以依序对特定应用程序173下达多个动作指令AA1~AAZ。

在步骤S650中,控制器15取得特定应用程序173因应于所述多个动作指令AA1~AAZ中的第一动作指令所产生的运行观察O1a。

在步骤S660中,控制器15将特定应用程序173的运行O1a观察转换为执行状态ES1a。

在步骤S670中,反应于判定特定应用程序173的执行状态ES1a指示需产生新的排程计划,计划器131基于特定应用程序173的执行状态ES1a决定第二初始状态,并基于深度学习模型在计划树T1的所述多个状态节点中决定第二计划路径PP2,其中计划树T2的第二计划路径PP2将计划层L1从对应的第二初始状态导引至对应的目标状态。

在步骤S680中,排程器133依据计划树T2的第二计划路径PP2产生第二排程计划PL2,并据以依序对特定应用程序173下达多个其他动作指令。图6各步骤的细节可参照先前实施例中的说明,于此不另赘述。

综上所述,本发明实施例可在所考虑的特定应用程序具备多个计划层(例如架构层、设计层及编码层等)的情况下,依据域文件为各计划层建立对应的计划节点集合及计划树,且各计划层的计划节点集合中的各计划节点皆满足对应的多个预设条件。另外,本发明实施例可在各计划树中决定对应的计划路径,进而据以对上述特定应用程序下达多个动作指令,达到对应的目标状态。借此,可让具备多个计划层的特定应用程序具备自配置(Self-Configuration)、自优化(Self-Optimizing)和自愈(Self-Healing)的功能,进而变为一种自组织(Self-Organizing)应用程序。

虽然本发明已以实施例公开如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视后附的权利要求所界定者为准。

相关技术
  • 基于人工智能的放疗自动计划生成方法及装置
  • 基于人工智能的计划类数据处理方法、装置、设备及介质
技术分类

06120115868988