廖志雄,尚文祥,王士斌
(1. 河南科技学院新科学院,河南 新乡 453000;2. 河南师范大学计算机与信息工程学院,河南 新乡 453000)
通过检测网络用户的轨迹数据,可以发现用户流量中的规则,甚至挖掘潜在的、有意义的路径序列,这是构建网络用户轨迹序列模型的基础。算领域中线性函数、冗余函数、自反函数和自双反函数是特殊的逻辑函数,被广泛应用于逻辑功能分类、逻辑电路分析、设计和错误检测中,同时也是逻辑函数研究中一个重要的研究课题之一。
于鹏[1]应用模糊集截集的方法,获得最小项表达式,利用模糊集间的标准Hammin距离,定义了公式间的Hamming距离,逻辑函数最小项表达式和真值表及卡诺图的对应关系,揭示了逻辑函数各种表示方法的内在联系,从而给出了计量逻辑学基本概念的Hamming距离表示方法。邵梁[2]从冗余函数,线性函数,自反函数,自双反函数四类特殊布尔函数出发,讨论得出检测含无关项特殊布尔函数的表格算法。应用表格列出布尔函数1值最小项及无关项的二进制编码,取反1值最小项及无关项二进制编码中的相应位产生新项。通过比较新项与原最小项之间的异同实现特殊布尔函数的检测。孔德江等[3]提出时空嵌入式长短时记忆生成模型,利用时空信息引导LSTM训练门机制,致力于实时轨迹预测,利用时空信息增强判别真伪访问序列的能力,得到更好的用户轨迹预测效果。
虽然上述方法可以有效检测出特殊函数,但由于在确定函数取值时,都需要大量的计算,并且无法有效对含有任意项的特殊逻辑函数进行检测。基于此,提出时空嵌入式生成对抗网络特殊逻辑函数检测,关键在于分析生成式模型的特征,运用分解图方法对四种特殊逻辑函数检测,并在二叉树法映射下再利用分解图进行检测含任意项的特殊逻辑函数,实现最终目的。
由于变分方法的局限性,GAN(Generative adversarial networks,生成式对抗网络)模拟的概率分布必然存在偏差,但GAN本身并不存在这个问题。理论上,GAN框架可以训练任意一个生成网络,但是其它大多数框架都需要生成器,使其具有一些特定的函数形式,进而使所有的发生器和鉴别器都能正常工作,因此,本文采用GAN框架为检测框架。
在逻辑分析和设计中,最常用的图形工具是卡诺图,或滚动条中的K图[4-5]。
本文研究故障图在线性函数、超额函数、反应函数和自动双反函数检测中的应用。对于n变量函数要画2n方格的图,为了避免繁琐的绘图工作,图1中只标注了跳闸变量,并分别标注了4个变量的逻辑函数,以x1,x2,x3,x4为行变量的简化分解图如图1(a)~(d)所示,图中十进制数字为最小项展开系数cj的角标j。
图1 行变量为单变量的4变量函数分解图
定义1:如果n变量逻辑函数f(x1~xn)满足f(x1…xi…xn)=f(x1…xi…xn),则称函数f为冗余函数,变量xi为冗余变量[6-7]。
定义2:如果n变量逻辑函数f(x1~xn)满足f(x1…xi…xn)=f(x1…xi…xn),则称函数f为线性函数,变量xi为线性变量[8]。
根据上述定义和单行变量分解图的特点,证得以下定理。
定理1:n变量逻辑函数f(x1~xn)为冗余函数,xi为冗余变量的充分必要条件是以xi为行变量的f分解图中各列最小项之异或均为0。
定理2:n变量逻辑函数f(x1~xn)为线性函数,xi为线性变量的充分必要条件是以xi为行变量的f分解图中各列最小项之异或均为1。
根据上述结论,可以得到由分解图检测到的一个多余函数和一个线性函数:
1)应完成将每个变量作为变量线的简化分解图。
2)如果一个简化的线变量分配方案中至少有一个变量且没有涉及任何元素,则该变量为冗余变量;如果至少有一个变量,且简化进度表中不包含任何项目,如果存在,则为冗余变量函数;至少有一个变量和简化分布图不包括相应的元素,如果结果是线性函数和线性变量,则结果是多余的;否则就不是多余函数或线性函数[9]。
下列本文将利用上述两个特殊函数进行举例说明,并根据其计算结果,
例1:
假设:
f1(x1~x4)=∑m(2,3,4,5,6,9,11,12)+∑d(13,14,15),试用分解图检测该函数是否为线性函数和冗余函数。将f1填入各简化分解图,分别如图2(a)~(d)所示,由图2可见,该函数为非线性函数或冗余函数[10]。
图2 f1以各变量为行变量的简化分解图
例2:
如果令
f2(x1~x4)=∑m(1,2,4,5,9,10,12,13)+∑d(14,15),试用分解图检测该函数是否为线性函数和冗余函数。将f2填入各简化分解图,分别如图3(a)~(d)所示。
图3 f2以各变量为行变量的简化分解图
根据定理1,当d14=d15=0时,x1为冗余变量,f2为冗余函数,根据定理3,当d14=d15=0时x3为线性变量,f2为线性函数[11]。
定义3:设f(x1~xn)为n变量逻辑函数,如果满足f(x1~xn)=f(x1~xn),则称函数f为自反函数,记作fSN(x1~xn)。
定义4:设f(x1~xn)为n变量逻辑函数,如果满足f(x1~xn)=f(x1~xn),则称函数f为自双反函数,记作fSD(x1~xn)。
定义5:在以变量xi为行变量的函数f的简化分解图中,将下面一行元素倒置的分解图称为单变量倒置分解图。
以4变量函数为例,它以各变量为行变量的单变量倒置分解图分别如图4(a)~(d)所示。
图4 变量函数的单变量倒置分解图
从图4的每一列的分解图中可以看出,每一列的分解是每一列的小数之和。根据逆分解图的特点和自二重逆函数和自反函数的定义,可以证明如下定理:
定理3:n变量逻辑函数f(x1~xn)是自反函数的充要条件是f任何单变量逆分解图的异或为零[12]。
定理4:n变量逻辑函数f(x1-xn)是自双逆函数的一个充要条件是f任何单变量逆分解图的列异或为1。
根据上述定理,可以给出反分解图用于自反函数和自双反函数的具体步骤如下:
1)f作为x1行变量填入倒分解图中;
2)如果每列的异或结果为0,则为自反函数;如果每列的异或结果为1,则f为自双折射函数;否则f既不是自反函数,也不是自双折射函数。
任意项特殊逻辑函数与普通特殊逻辑函数不同,它不具备规则可言,只能通过映射转变进行寻找。为了加强分解图检测能力,本文引入二叉树映射变换方法,一方面可以提高对特定逻辑函数检测的理论研究,另一方面提供了一种检测具有任意项的特定逻辑函数的计算机编程方法。
根据上述特殊逻辑函数系数性质研究得知,运用二叉树图像化后,再利用分解图实现对含任意项逻辑函数进行检测,其中检测过程如下所示:
1)首先选取出一个函数变量xi,然后将其设置为根节点,通过函数自变量xi下标顺序,对自变量的不同取值结果进行展开树形结构,持续到每个自变量都被处理过,这样即可在树叶节点处标出对应的最小项值,实现分解图下最小项二叉树函数。
2)根据最小项二叉树函数,对二叉树进行对称处理。根据计算结果,如果褶皱的两侧完全重叠,或者某些叶节点可能不重合,但至少有一个叶节点被任意移除,则该函数为每个日期的反射函数。
3)为树深度分支的每个级别节点绘制中心轴。任何给定分支深度节点的左、右细中心轴都是背景。如果对应的叶节点在翻译后重叠,或者某些叶节点可能不重叠,但至少给定的子类型文本节点是任意值,
4)对应树的叶节点在节点与根节点之间的路径(即路径中的右分支数)中标记为1,并遍历具有相同分支数的叶节点。如果这些节点函数的最小值完全相等或包含任何项,则称它们为具有任意项的对称函数,否则称为非对称函数。
本文以NS2为仿真平台,并以MICA2传感器节点的实际指标取值为参考,为了进一步验证所提算法的有效性,将根据分析结果对该算法的检测效率以及精准度进行检测,并从嵌入式生成对抗网络传输节点的吞吐量方法对所提算法进行分析。实验参数如表1所示:
表1 仿真参数设置
在实际仿真中,将本文方法与文献方法[1]、[2]进行对比,其中对比结果图如图5所示:
图5 特殊逻辑函数检测效率对比图
从图4可知,在检测效率方面,所提算法具有明显的优势,因为所提方法通过观察样本和数据标签的联合概率分布来获取训练模型,该模型捕获数据的高阶相关性,而不需要目标类的标签信息。而其它文献方法虽然能够检测出特殊逻辑函数,但是需要分别对特殊逻辑函数进行判别,所以检测不出含任意项函数,检测效率不高。
由于特殊逻辑函数可以有效减少生成对抗网络的设计步骤,并具有简化用户数据的作用,所以在对其检测过程中会要求一定的检测精准度,此处将对检测精准度进行对比,如图6所示。
图6 检测精准度对比图
根据图6所呈现的曲线图即可看出,所提算法精准度呈缓慢下降趋势,而文献算法则是较为明显的下降,也就间接说明了所提算法的优势,这是因为所以算法通过二叉树映射变换检测含任意项的特殊逻辑函数,分析了自反函数的充要条件,有效提高检测精准度,最高可达92.5%。
在不同类型的函数检测数据中,三个方法的数据融合时间都随着数据检测数量的增加而增大,这很可能是网络吞吐量过大造成的网络时延,为此,验证不同方法的网络传输节点的实际吞吐量,对比结果如图7所示。
图7 三种方法网络传输节点实际吞吐量对比图
由图7可知,随着数据容量的增长,三种方法的逐渐趋于线性,对比三种方法发现本文方法的节点间融合时间更少,说明吞吐量较小,对树叶节点的处理效果更好。
1)在定义特殊函数和分解图的基础上,所提方法推导了冗余函数、线性函数、对称函数、反射函数和自乘反演的相关理论,定义了允许通过计算机编程从任意项中检测出特殊的逻辑函数。
2)在具有任意截止期的特定函数检测中,研究了时间表映射理论的应用,随着实验次数的增加,尽管检测时间处于上升状态,但是整体试件一直保持在4-6s。
3)提出分解图下特殊逻辑函数检测,从任意项中检测不必要函数、线性函数、对称函数、反应函数和自动二次反演的方法,其检测精准度得到题提高,最高可达92.5%,且实际应用过程简单明了,可用于多种变量。