我正在尝试理解我的 AI 教科书中的一段,需要帮助。
本质上,我的问题是,如果定义一个函数需要 2^n 位,为什么在 n 个属性上有 2^(2^n) 个函数?
这是文本中的段落(来源:AI:现代方法,Stuart Russell 和 Peter Norvig):
决策树对某些功能有好处,对另一些功能不好。是否有任何一种对各种功能都有效的表示?很不幸的是,不行。我们可以用一种非常笼统的方式来展示这一点。考虑 n 个属性上所有布尔函数的集合。这个集合中有多少种不同的功能?这只是我们可以写下的不同真值表的数量,因为函数是由它的真值表定义的。真值表有 2^n 行,因为每个输入案例由 n 个属性描述。我们可以将表格的“答案”列视为2^n 位数字定义函数。无论我们对函数使用什么表示,一些函数(实际上几乎所有函数)都将需要至少那么多位来表示。
如果定义函数需要 2^n 位,那么在 n 个属性上就有 2^(2^n) 个不同的函数。
第二个问题是:为什么我们需要 2^n 位数(见上面的粗体),我以为我们只需要 n 位数,例如如果我们有 3 个属性,我们可以定义 2^3=8 个函数,因此只需要 3 位来定义所有 8 个功能(000、001、010、011 等)。
我一直在考虑这个问题,不知道是什么让我难以理解,感谢您花时间研究这个问题!