我正在参考一篇关于遗传编程的论文,参考“受保护的分裂”操作。当我谷歌这个时,我主要是关于遗传编程和与密码学相关的各种结果的论文,但没有一个能解释它实际上是什么。有人知道吗?
答案 0 :(得分:4)
受保护的部门(通常以%表示)检查是否为第二部分 参数为0.如果是这样,%通常返回值1(不管是什么 第一个参数的值。)。
http://en.wikipedia.org/wiki/Genetic_programming
在密码学中它似乎没有明确定义,但顶级谷歌搜索是为了防止侧通道攻击(在这种情况下,通过电源使用 - 您可以通过查看猜测该部门正在使用的数字在执行加密的硬件的功耗上http://dl.acm.org/citation.cfm?id=1250996 http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.9.7298&rep=rep1&type=pdf
答案 1 :(得分:1)
在GP保护分区中是一个修改的除法运算符,当分母为0(零)时,它不会发出“除以零”错误的信号。当分母为零时,它通常返回1.
答案 2 :(得分:0)
它分为参数的阈值函数而不是参数。
Thres(x) = epsilon*Theta(x) if fabs(x)<epsilon.
其中Theta()是theta函数的非零变体。
其他阈值功能可能。或者有时它只是“ε”。
答案 3 :(得分:0)
在使用遗传编程 (GP) 进化程序时,会测试每个生成的程序以获得其适应度值。 当进化的程序是数学表达式时,需要保护分区。在密码学中,数学表达式可用于为决策过程建模。 在评估步骤中,程序可能会执行除以零,这会导致崩溃。为避免这种情况,受保护的除法设置为在分母为零时返回特定值。我见过三种设置:
应该在论文的某处指定设置。 如果不是,最安全的做法是假设受保护的除法返回分子。 鉴于 1 是乘法中性,0 是加性中性,它们可能会在进化过程中生成的程序中造成一些偏差,但仍被普遍使用。