人工智能编程系统、计算机设备、计算机可读存储介质
技术领域
本发明属于编程技术领域,尤其涉及一种人工智能编程系统、计算机设备、计算机可读存储介质。
背景技术
目前:编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务,这种人和计算体系之间交流的过程就是编程。随着社会的发展和进步,以及计算机科学的飞速发展,编程成为了现代人一项越来越重要的基本能力,而不仅仅是IT行业人员的专职工作。任何年龄、任何基础的人员都有越来越强的学习和体验程序编写的需求,图形化编程工具随着时代的发展应运而生。使用图形化编程工具,用户仅仅通过拖拽编程组件,就能独立完成具有复杂逻辑的程序编写。目前,用户在使用图形化编程工具完成作品编程后,只能看到编程完成后的作品,无法直观地看到编程过程中的编程步骤和半成品作品,这种编程方式不能满足用户的编程体验,同时无法实现对编程作品的纠错,难以发现编程问题。
通过上述分析,现有技术存在的问题及缺陷为:现有的编程方式不能满足用户的编程体验,同时无法实现对编程作品的纠错,难以发现编程问题。
发明内容
针对现有技术存在的问题,本发明提供了一种人工智能编程系统、计算机设备、计算机可读存储介质。
本发明是这样实现的,一种人工智能编程系统,所述人工智能编程系统包括:
编程角色获取模块,与中央控制模块连接,用于通过编程角色获取程序进行编程角色的获取;
数据库构建模块,与中央控制模块连接,用于通过数据库构建程序进行数据库的构建;
中央控制模块,与编程角色获取模块、数据库构建模块、角色导入模块、角色匹配模块、编程模块连接,用于通过主控机对各连接模块的运行进行控制,保证各个模块正常运行;
所述通过主控机对各连接模块的运行进行控制,包括:灰色预测控制、模糊逻辑控制以及PID控制;
所述灰色预测控制是通过灰色模型进行控制;
所述灰色模型是由一组灰色微分方程组成的动态模型,建立所述灰色模型GM(1,1)模型,所述建模包括:
X(0)为原始非负数据序列:X(0)=[x(0)(1),x(0)(2),...,x(0)(n)],对X(0)进行一次累加生成操作,得到X(0)的1-AGO序列,X(1)=[x(1)(1),x(1)(2),...,x(1)(n)],其中,
对序列X(1)进行紧邻均值生成操作,得到X(1)的紧邻均值生成序列Z(1),其中z(1)(k)=0.5[x(1)(k)+x(1)(k-1)],k=1,2,...,n;
得到GM(1,1)的灰色微分方程:x
(0)(k)+az
(1)(k)=u,以及相应的白化方程:
其中,a为发展系数,u为灰色作用量;
进行a、u的求解:采用最小二乘法
其中,
Yn=[x
(0)(2)x
(0)(3)...x
(0)(n)]T;白化方程的解为
相应的灰色微分方程的时间响应序列为:即k时刻的值
对序列
进行累减生成操作,即累加生成的逆运算,记为IAGO,可得预测序列
其中,
角色导入模块,与中央控制模块连接,用于通过角色导入程序将获取的编程角色导入数据库中,得到角色数据库;
角色匹配模块,与中央控制模块连接,用于通过角色匹配程序对角色数据库中的编程角色进行匹配,得到目标编程角色;
编程模块,与中央控制模块连接,用于通过编程程序依据目标编程角色进行编程,得到完整的作品。
进一步,所述人工智能编程系统还包括:
数据上传模块,与中央控制模块连接,用于通过数据上传程序将完整的作品上传至运行平台;
运行模块,与中央控制模块连接,用于通过运行平台进行完整的作品的运行,记录运行结果;
结果反馈模块,与中央控制模块连接,用于通过结果反馈程序进行运行结果的分析并进行分析结果的反馈,得到反馈结果;
作品修改模块,与中央控制模块连接,用于通过作品修改程序依据反馈结果进行完整的作品的修改。
进一步,所述数据库为HBase数据库。
进一步,所述通过角色导入程序将获取的编程角色导入数据库中,得到角色数据库,包括:
(1)基于HBase数据库中表的格式,对编程角色中的数据进行拆分;
(2)基于编程角色中数据量的大小和HBase数据库中行键的设计,在建立所述表的时候进行预分区;
(3)设置HBase数据库的预写日志系统,关闭自动提交功能,设置缓存大小;
(4)启用多线程,将所述数据导入HBase数据库的表中。
进一步,所述缓存大小依据HBase数据库的计算机硬件性能进行设置。
本发明实施例提供的通过数据上传程序将完整的作品上传至运行平台,包括:进行网络可信度的检测以及进行网络连接,通过连接网络进行完整的作品的上传。
进一步,所述进行网络可信度的检测以及进行网络连接,包括:
1)对不同类型的网络连接数据,进行数据预处理和特征提取;
2)根据所提取的特征,通过广义回归神经网络结合模糊聚类算法进行迭代和训练得出的聚类结果;
3)根据所述聚类结果,通过设置可信度权重向量和网络连接可信度算法计算相应分类的可信度估值;
4)通过改进的关联属性判定算法计算网络入侵规则的可信度,作为入侵检测系统中规则库动态调整的依据;
5)依据调整后的可信度确定是否建立终端与互联网的连接。
进一步,所述通过广义回归神经网络结合模糊聚类算法进行迭代和训练得出的聚类结果,包括:根据模糊聚类算法将数据进行分类,并计算每类的聚类中心;
FCM把n个向量xk分为c个模糊类,并求每类的聚类中心ci,从而使模糊目标函数最小;
其中,dij=||ci-xj||,为样本向量距离中心点的欧式距离,ci是第i类的中心,,m为样本个数,j为属性列;每一聚类中心的计算公式为:
通过隶属度函数计算隶属度值,构成模糊矩阵;
隶属度函数为:
从模糊矩阵中选择训练样本,作为广义神经网络的训练输入;
在模糊矩阵中选择距离中心值最小的m个样本作为训练样本,通过n*m组数据作为广义神经网络的训练输入;其中,n为根据模糊聚类算法将入侵数据分类的个数,m为1~5之间的数据;
根据广义神经网络的训练输入,预测输出入侵数据类别;所述广义神经网络由输入层、模式层、求和层和输出层四级结构组成;
将数据重新分为n类,找出最靠近每类中心值的样本作为训练样本;得出聚类结果。
进一步,所述通过设置可信度权重向量和网络连接可信度算法计算相应分类的可信度估值,包括:
1)对规则库进行分段;对每个分段选取随机样本进行挖掘,读取频繁项集;
2)根据所述频繁项集生成候选项集;
3)扫描所述数据库,确定每一候选集的支持度,删除支持度小于阈值的候选项集;
4)合并分段样本的频繁项集,并扫描验证;
5)根据对应类别属性的可信度权重向量,再次调整规则的可信度。
本发明是另一目的在于提供一种计算机设备,,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述人工智能编程系统的功能。
本发明是另一目的在于提供一种计算机可读存储介质,储存有指令,当所述指令在计算机上运行时,使得计算机应用所述人工智能编程系统。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明通过进行进行编程角色的归类,将目标编程角色存储于角色数据库,方便进行编程;通过编程实现完整作品的获取,将得到的作品输入运行平台,并获得运行平台的反馈信息,对完整的作品的错误进行及时反馈,实现对作品的纠错,进行纠错的效率更高且效果更好,得到的作品质量更高。本发明提供的编程方法简单,且能够实现自动纠错,方便进行编程。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的人工智能编程系统结构框图。
图2是本发明实施例提供的人工智能编程方法流程图。
图3是本发明实施例提供的通过角色导入程序将获取的编程角色导入数据库中,得到角色数据库流程图。
图4是本发明实施例提供的进行网络可信度的检测以及进行网络连接流程图。
图5是本发明实施例提供的通过设置可信度权重向量和网络连接可信度算法计算相应分类的可信度估值流程图。
图中:1、编程角色获取模块;2、数据库构建模块;3、中央控制模块;4、角色导入模块;5、角色匹配模块;6、编程模块;7、数据上传模块;8、运行模块;9、结果反馈模块;10、作品修改模块。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种人工智能编程系统,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的人工智能编程系统包括:
编程角色获取模块1,与中央控制模块3连接,用于通过编程角色获取程序进行编程角色的获取;
数据库构建模块2,与中央控制模块3连接,用于通过数据库构建程序进行数据库的构建;
中央控制模块3,与编程角色获取模块1、数据库构建模块2、角色导入模块4、角色匹配模块5、编程模块6、数据上传模块7、运行模块8、结果反馈模块9、作品修改模块10连接,用于通过主控机对各连接模块的运行进行控制,保证各个模块正常运行;
角色导入模块4,与中央控制模块3连接,用于通过角色导入程序将获取的编程角色导入数据库中,得到角色数据库;
角色匹配模块5,与中央控制模块3连接,用于通过角色匹配程序对角色数据库中的编程角色进行匹配,得到目标编程角色;
编程模块6,与中央控制模块3连接,用于通过编程程序依据目标编程角色进行编程,得到完整的作品;
数据上传模块7,与中央控制模块3连接,用于通过数据上传程序将完整的作品上传至运行平台;
运行模块8,与中央控制模块3连接,用于通过运行平台进行完整的作品的运行,记录运行结果;
结果反馈模块9,与中央控制模块3连接,用于通过结果反馈程序进行运行结果的分析并进行分析结果的反馈,得到反馈结果;
作品修改模块10,与中央控制模块3连接,用于通过作品修改程序依据反馈结果进行完整的作品的修改。
如图2所示,本发明实施例提供的人工智能编程方法包括以下步骤:
S101,通过编程角色获取模块利用编程角色获取程序进行编程角色的获取;通过数据库构建模块利用数据库构建程序进行数据库的构建;
S102,通过中央控制模块利用主控机对各连接模块的运行进行控制,保证各个模块正常运行;通过角色导入模块利用角色导入程序将获取的编程角色导入数据库中,得到角色数据库;
S103,通过角色匹配模块利用角色匹配程序对角色数据库中的编程角色进行匹配,得到目标编程角色;通过编程模块利用编程程序依据目标编程角色进行编程,得到完整的作品;
S104,通过数据上传模块利用数据上传程序将完整的作品上传至运行平台;通过运行模块利用运行平台进行完整的作品的运行,记录运行结果;
S105,通过结果反馈模块利用结果反馈程序进行运行结果的分析并进行分析结果的反馈,得到反馈结果;
S106,通过作品修改模块利用作品修改程序依据反馈结果进行完整的作品的修改。
本发明实施例提供的通过主控机对各连接模块的运行进行控制,包括:灰色预测控制、模糊逻辑控制以及PID控制。
本发明实施例提供的灰色预测控制是通过灰色模型进行控制;
所述灰色模型是由一组灰色微分方程组成的动态模型,建立所述灰色模型GM(1,1)模型,所述建模包括:
X(0)为原始非负数据序列:X(0)=[x(0)(1),x(0)(2),...,x(0)(n)],对X(0)进行一次累加生成操作,得到X(0)的1-AGO序列,X(1)=[x(1)(1),x(1)(2),...,x(1)(n)],其中,
对序列X(1)进行紧邻均值生成操作,得到X(1)的紧邻均值生成序列Z(1),其中z(1)(k)=0.5[x(1)(k)+x(1)(k-1)],k=1,2,...,n;
得到GM(1,1)的灰色微分方程:x
(0)(k)+az
(1)(k)=u,以及相应的白化方程:
其中,a为发展系数,u为灰色作用量;
进行a、u的求解:采用最小二乘法
其中,
Yn=[x
(0)(2)x
(0)(3)...x
(0)(n)]T;白化方程的解为
相应的灰色微分方程的时间响应序列为:即k时刻的值
对序列
进行累减生成操作,即累加生成的逆运算,记为IAGO,可得预测序列
其中,
本发明实施例提供的数据库为HBase数据库。
如图3所示,本发明实施例提供的通过角色导入程序将获取的编程角色导入数据库中,得到角色数据库,包括:
S201,基于HBase数据库中表的格式,对编程角色中的数据进行拆分;
S202,基于编程角色中数据量的大小和HBase数据库中行键的设计,在建立所述表的时候进行预分区;
S203,设置HBase数据库的预写日志系统,关闭自动提交功能,设置缓存大小;
S204,启用多线程,将所述数据导入HBase数据库的表中。
本发明实施例提供的缓存大小依据HBase数据库的计算机硬件性能进行设置。
本发明实施例提供的通过数据上传程序将完整的作品上传至运行平台,包括:进行网络可信度的检测以及进行网络连接,通过连接网络进行完整的作品的上传。
如图4所示,本发明实施例提供的进行网络可信度的检测以及进行网络连接,包括:
S301,对不同类型的网络连接数据,进行数据预处理和特征提取;
S302,根据所提取的特征,通过广义回归神经网络结合模糊聚类算法进行迭代和训练得出的聚类结果;
S303,根据所述聚类结果,通过设置可信度权重向量和网络连接可信度算法计算相应分类的可信度估值;
S304,通过改进的关联属性判定算法计算网络入侵规则的可信度,作为入侵检测系统中规则库动态调整的依据;
S305,依据调整后的可信度确定是否建立终端与互联网的连接。
本发明实施例提供的通过广义回归神经网络结合模糊聚类算法进行迭代和训练得出的聚类结果,包括:根据模糊聚类算法将数据进行分类,并计算每类的聚类中心;
FCM把n个向量xk分为c个模糊类,并求每类的聚类中心ci,从而使模糊目标函数最小;
其中,dij=||ci-xj||,为样本向量距离中心点的欧式距离,ci是第i类的中心,,m为样本个数,j为属性列;每一聚类中心的计算公式为:
通过隶属度函数计算隶属度值,构成模糊矩阵;
隶属度函数为:
从模糊矩阵中选择训练样本,作为广义神经网络的训练输入;
在模糊矩阵中选择距离中心值最小的m个样本作为训练样本,通过n*m组数据作为广义神经网络的训练输入;其中,n为根据模糊聚类算法将入侵数据分类的个数,m为1~5之间的数据;
根据广义神经网络的训练输入,预测输出入侵数据类别;所述广义神经网络由输入层、模式层、求和层和输出层四级结构组成;
将数据重新分为n类,找出最靠近每类中心值的样本作为训练样本;得出聚类结果。
如图5所示,本发明实施例提供的通过设置可信度权重向量和网络连接可信度算法计算相应分类的可信度估值,包括:
S401,对规则库进行分段;对每个分段选取随机样本进行挖掘,读取频繁项集;
S402,根据所述频繁项集生成候选项集;
S403,扫描所述数据库,确定每一候选集的支持度,删除支持度小于阈值的候选项集;
S404,合并分段样本的频繁项集,并扫描验证;
S405,根据对应类别属性的可信度权重向量,再次调整规则的可信度。
以上所述,仅为本发明较优的具体的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。