一种人工免疫系统模型aiNet从Matlab向Java的转换生成方法技术方案

技术编号:11179770 阅读:79 留言:0更新日期:2015-03-25 09:27
本发明专利技术提供的是一种人工免疫系统模型aiNet从Matlab向Java的转换生成方法。MATLAB专门以矩阵的方式处理计算数据,它把数值计算和可视化环境集成到一起,提供了大量的函数。在将以MATLAB实现的程序向JAVA转化时,解决的问题就是用JAVA语言实现各种矩阵的运算,将MATLAB中的函数命令以JAVA语言的形式显式地表达出来。

【技术实现步骤摘要】
-种人工免疫系统模型a i Net从Matlab向Java的转换生 成方法
本专利技术涉及的是一种人工免疫系统模型,特别涉及到一种aiNet从Matlab向Java 的转换生成技术。
技术介绍
人工免疫系统是研究、借鉴、利用生物免疫系统(主要是人类免疫系统)的各种原 理和机制而发展的各类信息处理技术、计算技术及其在工程和科学应用中产生的各种智能 系统的统称。AiNet是由de Castro提出的一种免疫网络模型,用来研究标志数据集合的聚 类和过滤问题,表明免疫系统具有强大的计算能力,可利用免疫概念发展强大的数据处理 计算工具。 巴西 Campinas 大学的 Leandro Nunes De Castro 博士提出一种名为 aiNet 的免 疫网络[4]。他研究了免疫系统的一些基本问题,忽略B细胞和抗体的区别。目的是研究未 标志数据集合的聚类和过滤,可利用免疫概念发展强大的数据处理计算工具。该网络具有 减少冗余、描述数据结构、包括聚类形状等特征。表明免疫系统具有强大的计算能力。 从信息处理角度看,脊椎动物免疫系统有许多对工程有用的机制。理论免疫学有 几种相应的理论,包括免疫网络理论、克隆选择以及亲合度成熟原理。免疫网络理论假设免 疫细胞活动、记忆突现和自体细胞与外部入侵者之间的区分都是抗体和细胞之间形成的网 络实现的。克隆选择原理提出免疫系统与病原体结合产生适应免疫应答的方式。亲和力成 熟用于解释免疫系统在识别和清除病原体任务中如何变得越来越好。这些理论、概念和思 想被用于开发一种人工免疫网络模型,称为aiNet。能够模拟脊椎动物免疫系统类似的机制 解决工程中的模式识别任务。
技术实现思路
本专利技术的目的在于提供一种用于人工免疫系统模型aiNet的Matlab程序转换成 面向对象的、以Java语言实现的程序,使模型得到更广泛、高效地应用。 本专利技术的目的是这样实现的:首先求记忆矩阵中各克隆的亲和力,在MATLAB中 使用dist()命令实现;其次使用了 triu〇命令和find()命令实现寻找亲和力矩阵 Dl中在要求范围内的元素的坐标,再利用内部函数ver_eq〇和extractO完成提取符合 标准的元素的工作。 ,以MATLAB实现 的aiNet算法用M语言以一组函数文件的形式实现,在JAVA代码中,这些函数文件将以类 的形式出现,用类中的方法具体实现aiNet算法;运行MATLAB实现的aiNet算法,其程序是 从tutorial函数开始,仓丨j建tutorial类,其中包含main ()方法,JAVA代码从main ()方 法处开始执行;根据运行MATLAB代码,在JAVA中实现了数据的图形化。 所述在MATLAB中通过调用命令完成复杂的矩阵运算,在JAVA代码中不能直接调 用这些命令,以JAVA代码显式的表达MATLAB命令所实现的算法;在JAVA中涉及的数据结 构是数组,运用循环结构处理数组,从而达到效果;在aiNet算法中反复出现的求向量间距 离的代码,在MATLAB中用dist ()命令以实现。 所述的JAVA中,应用JAVA的绘图和绘画方法来完成图形制作,在JAVA中绘制图 形使用库类和方法,绘制表示数学方程的图形类,在aiNet算法中实现带有坐标系的图形。 该技术方案的优点在于: 1、Java是与平台无关、分布式语言,所以将程序用Java实现有着更广泛的应用,更高 的效率;2、采用Java的人工免疫系统模型可以一次编写,移植性好,便于计算机网络上运 行;3、模型的转换提供一种简单的拓展方法、减轻了编程的工作量,提高了优越性。 【附图说明】 图1为aiNet产生的网络结构示意图。 【具体实施方式】 下面结合附图举例对本专利技术做更详细地描述: 实施例1 ,以ATLAB实现的 aiNet算法用M语言以一组函数文件的形式实现,在JAVA代码中,这些函数文件将以类的 形式出现,用类中的方法具体实现aiNet算法;运行MATLAB实现的aiNet算法,其程序是从 tutorial函数开始,仓丨j建tutorial类,其中包含main ()方法,JAVA代码从main ()方法 处开始执行;根据运行MATLAB代码,在JAVA中实现了数据的图形化。 所述在MATLAB中通过调用命令完成复杂的矩阵运算,在JAVA代码中不能直接调 用这些命令,以JAVA代码显式的表达MATLAB命令所实现的算法;在JAVA中涉及的数据结 构是数组,运用循环结构处理数组,从而达到效果;在aiNet算法中反复出现的求向量间距 离的代码,在MATLAB中用dist ()命令以实现。 所述的JAVA中,应用JAVA的绘图和绘画方法来完成图形制作,在JAVA中绘制图 形使用库类和方法,绘制表示数学方程的图形类,在aiNet算法中实现带有坐标系的图形。 在JAVA中定义private void suppress ()方法来实现克隆抑制。在程序主体中 编写代码实现MATLAB命令。ifc (M1M')的结果相当于奴矩阵和其转秩矩阵乘积后各元 素分别开方得到的矩阵。结果矩阵中第X行y列的元素为M矩阵中第X行和第y行乘积 的平方根。Af的行数为》,列数为》,为存放结果的数组,为行列。在程序主体中 接着distO命令的是sortO命令,这个命令的用途是在指定维数方向上实现升序排列元 素,同时返回一个记载下标所引的数组。为此设计的JAVA程序中将在非指定维数上先执行 循环操作,其中嵌套着在相应维数上的循环,在内层循环体内执行相应的升序排列的任务, 并生成下标所引数组。为此,定义一个过渡变量会,用来辅助实现数组元素交换。数组U行 数为m,列数为η,过渡变量为cary,下标索引数组I,维数与?相同。 实施例2 结合图1,本专利技术的处理流程如下:aiNet是进化的,它用进化策略控制网络动态和可 塑性;它也是连接的,需要定义一个连接强度矩阵度量网络细胞之间的亲和力;网络中聚 类负责映射数据集合中的聚类到网络聚类,图I (a)所示;图I (b)所示为一个由aiNet产 生的网络结构;图中给出细胞表示和连接强度,虚线表示为了检测聚类和定义最终的网络 结构,连接应被剪除。 实施例3 aiNet算法描述如下: 1 对每一个抗原模式= do : 1. 1确定未和力戍一 =^1,对所有= Dfj-HIAbi-Agj-Ii 二 1凡 1.2选择由个最高亲和力抗体组成的子集^bJ,, 1.3 Β个选择的抗体将扩增,与抗原亲和力/y成比例,产生一个克隆集合C。亲 和力越高,B个被选择的抗体的克隆规模越大。 1.4集合C提交给亲和力成熟过程,产生一个变异集合C'其中来自if的每一 个抗体k将经历一个速率% (与父代抗体的抗原亲和力成反比):亲和力越高,变异率越 低。< =Q IqGig·厂Ct:fcat 正比于IZZij-, k=l,…,MJ = UJV。 1. 5确定亲和力=1/馬』·,在之间和所有C*的元素之间。 \=1丨<為-丨丨夕二1^。 1. 6从Cf。重新选择具有最高的抗体5%,并放入克隆记忆矩阵。 L 7细胞凋亡:从亲和力本文档来自技高网
...

【技术保护点】
一种人工免疫系统模型aiNet从Matlab向Java的转换生成方法,其特征在于: MATLAB实现的aiNet算法用M语言以一组函数文件的形式实现,在JAVA代码中,这些函数文件将以类的形式出现,用类中的方法具体实现aiNet算法;运行MATLAB实现的aiNet算法,其程序是从tutorial函数开始,创建tutorial类,其中包含main()方法,JAVA代码从main()方法处开始执行;根据运行MATLAB代码,在JAVA中实现了数据的图形化。

【技术特征摘要】
1. 一种人工免疫系统模型aiNet从Matl油向化va的转换生成方法,其特征在于: MTLAB实现的aiNet算法用M语言W-组函数文件的形式实现,在JAVA代码中,该些函数 文件将W类的形式出现,用类中的方法具体实现aiNet算法;运行MTLAB实现的aiNet算 法,其程序是从化torial函数开始,包j建化torial类,其中包含main 〇方法,JAVA代码 从main 〇方法处开始执行;根据运行MTLAB代码,在JAVA中实现了数据的图形化。2. 根据权利要求1所述的人工免疫系统模型aiNet从Matlab向化va的转换生成方 法,其特征在于;所述在M...

【专利技术属性】
技术研发人员:王永刚胡晶
申请(专利权)人:哈尔滨金都太阳能科技有限公司
类型:发明
国别省市:黑龙江;23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1