AIの教科書のパラグラフを理解しようとしていますが、これについてサポートが必要です。
基本的に、私の質問は、関数を定義するのに2 ^ nビットかかるのに、n個の属性に2 ^(2 ^ n)個の関数があるのはなぜですか?
これがテキストのパラグラフです(出典:AI:A Modern Approach、Stuart Russell、Peter Norvig):
デシジョンツリーは、ある種の機能には適していますが、他の機能には適していません。あらゆる種類の機能に効率的な表現はありますか?残念だけど違う。これは非常に一般的な方法で示すことができます。n個の属性のすべてのブール関数のセットを検討してください。このセットにはいくつの異なる関数がありますか?関数は真理値表によって定義されているため、これは書き留めることができるさまざまな真理値表の数にすぎません。各入力ケースはn個の属性で記述されるため、真理値表には2^n行あります。表の「回答」列は2^nビットの数値と見なすことができます関数を定義します。関数にどの表現を使用しても、一部の関数(実際にはほとんどすべて)は、表現するために少なくともその数のビットを必要とします。
関数を定義するのに2^nビットかかる場合、n個の属性に2 ^(2 ^ n)個の異なる関数があります。
2番目の質問は次のとおりです。なぜ2^nビット数が必要なのですか(上記の太字を参照)。nビット数のみが必要だと思いました。たとえば、3つの属性がある場合、2 ^ 3=8関数を定義できます。 8つの関数(000、001、010、011など)すべてを定義するために必要なのは3ビットだけです。
私はこれについてしばらく考えていましたが、何が私を逃れるのかわかりません、これを調べてくれてありがとう!