バイナリ乗算とパリティ畳み込み


22

この質問は、2進数の通常の乗算​​と多項式乗算mod 2の関係に関するものです。質問を具体的にするために、Knuth vol。2、第3版、本で与えられているものより420ページ。

「係数がコンピューターワードにパックされている場合、バイナリコンピューターで通常の算術演算を使用することにより、2を法とする多項式の乗算を容易にすることができます。」

Knuthは、最悪の場合に入力のビット数を対数乗数因子で拡張する合理的な単純な削減を提供します。このログ係数を減らすことはできますか?


1
少し明確にするために、私は実際に質問の「コンピューターの言葉に詰め込まれた」部分ではなく、単に減少に興味があります。もっと簡潔に言えば、2を法とする多項式の乗算よりも2つの2進数の乗算の方が厳密に簡単です(漸近的に高速な解を可能にするという意味で)。これは、私が理解しているように、標準的な直感に反すると思われます。
ラファエル

ありがとう、Suresh!このタンブルウィードを回避できることを願っています:
ラファエル

悲しいかな、転落し続けるようです。残念...
スレシュヴェンカト

これはなぜだろうか。たぶん私はそれをうまく言いませんでしたが、乗算が(パリティ)畳み込みよりも簡単かどうかの問題は、2つの問題間の既知の関係がどれだけよく確立されているかを考えると、少なくとも一部の人々が考えなければならなかった質問でなければなりません。
ラファエル

回答:


2

確かに、それを1のファクターに減らすことができますが、おそらく時間のコストがかかります。しかし、質問の背後にある質問に答えるために:多項式mod 2の乗算はハードウェアの観点からは簡単です(キャリービットを伝播する必要はありません)が、整数の乗算は人々が不可欠と考える演算であり、ALUおよびプログラミング言語。


漸近的な複雑さには、実際的な面ではなく、本当に興味があります。線形の時間とスペースの削減は、質問に答えます。
ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.