5

我在一篇关于基因编程的论文中得到了关于“受保护的分裂”操作的参考。当我在谷歌上搜索这个时,我得到的主要是关于基因编程的论文和与密码学相关的各种结果,但没有一个能解释它到底是什么。有人知道吗?

4

4 回答 4

6

受保护的除法(通常用 % 表示)检查它的第二个参数是否为 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

于 2011-09-01T02:29:50.460 回答
2

在 GP 中,受保护的除法是一种修改的除法运算符,当分母为 0(零)时,它不会发出“被零除”错误信号。当分母为零时,它通常返回 1。

于 2011-09-21T20:54:20.633 回答
0

它划分参数的阈值函数而不是参数。

Thres(x) = epsilon*Theta(x) if fabs(x)<epsilon.

其中 Theta() 是 theta 函数的非零变体。

其他可能的阈值函数。或者有时它只是“epsilon”。

于 2014-12-24T11:33:54.400 回答
0

当使用遗传编程 (GP) 进化程序时,每个生成的程序都经过测试以获得其适应度值。当演进的程序是数学表达式时,需要保护除法。在密码学中,数学表达式可用于对决策过程进行建模。在评估步骤中,程序可能会执行除以零,这将导致崩溃。为避免这种情况,如果分母为零,则将受保护的除法设置为返回特定值。我见过三个设置:

  • 如果分母为零,则返回 1
  • 如果分母等于 0,则返回 0
  • 如果分母为零,则返回分子

该设置应在论文中的某处指定。如果不是,最安全的选择是假设受保护的除法返回分子。鉴于 1 是乘法中性,0 是加法中性,它们可能会在进化过程中生成的程序中引起一些偏差,但仍然常用。

于 2021-06-24T18:35:22.287 回答