ブール変数a_1、a_2、..、a_nを持っていれば、真に設定されているブール変数の数が、多項式のサイズブール式を使用して、いくつかのkよりも大きいという事実をどのように表現できますか? (指数関数は簡単です - ニュートン(n、k)式を書くだけです)。多項式のサイズブール式で表現しています
2
A
答えて
1
ソートネットワークでブール値をソートします。次に、(k + 1)番目のソートされたビットを取ると、結果が得られます。
各ソートネットワークの要素は一対の論理演算を表しているため、このネットワークを論理式として解釈できます。良好なソートネットワークを使用すると、O(N * log (N))の演算式が得られます。
0
t [i] [j]は、そのうちの要素a_1、..、a_i、jが真になることを意味します。 今、私たちはその
t[i][j] => (t[i-1][j] or (t[i-1][j-1] and a_i).
(どちらかの変数がすでにA_1で設定されたとして、...、A_(I-1)またはa_iをを設定し、A_1でJ-1の変数が存在している、...を、はっきりと見ることができますa(i-1)。 これは多項式の大きさの表現である(上で書いたような各式のn * k変数t [i] [j]を中心に)。次にt [n] [k]が真、我々はn個の変数の少なくともkが真であることを取得します。
ソート順に変数を取得するにはエフゲニー答え、 にReffering(最初trues、その後falses)、我々は、n [シーケンス トンを見て] [1]、t [n] [2]、.. t [n] [n]。
関連する問題
- 1. 多項式の正規表現
- 2. 正規表現が不正な形式の多項式
- 3. 多項式アルゴリズム
- 4. 多項式C++
- 5. 多数の数式表現ですか?
- 6. 多項式を多項式にどのようにマッピングできますか?
- 7. Javaの多項式
- 8. リンクリストを使用して多項式を表現しソートするIN C
- 9. 評価多項式
- 10. はエルミート多項式
- 11. 多項式のリンク付き書式
- 12. 正規表現を使用してJSの多項式文字列表現を変換する
- 13. 漸化式:多項式関数
- 14. 多項式の係数maxima
- 15. Pythonの多項式変換
- 16. 多項式の数値型
- 17. 多項式の評価?
- 18. コンパイル時間の多項式
- 19. タイプエラー評価多項式
- 20. 多項式時間アルゴリズム
- 21. 拡張多項式NTL
- 22. ggvis layer_model_predictions多項式適合
- 23. 多項式時間アルゴリズム
- 24. scipy.misc.derivative多項式関数
- 25. SympifyError解析多項式
- 26. 多項式ポインタプログラムエラー、スキャナスキップ入力
- 27. iOS用多項式ソルバ?
- 28. ハッシュベクトル化と多項式ナイーブベイが連携していません
- 29. 多項式の各項は整数(係数、指数)のペアとして表すことができる2つの多項式
- 30. Prologで多項式を印刷する
これだけです!私は、CNF(まだ多項式)でこの式が必要であることを特定できませんでした。ソート・ネットワークの例を考えてください。そうすれば、それを合理的に単純にすることができますか? – siemanko
CNFはこの問題をはるかに困難にします。私はCNF表現を与えるソートネットワークを知らない。そして、私が知る限り、どの表現をCNFに変換すると、最悪の場合に指数関数的に爆発する可能性があります。私はCNFと多項式の両方の解を知らない。おそらくこれは不可能です。 –
さて、それは単に真実ではありません。人間が手にしたほとんどの展開はCNFに変換可能であり、すべてのチューリングマシンは多項式の複雑さでCNF表現として書くことができるので、ソートを行うマシンを使うと多項式の複雑さが増します。私が求めているのは、それが簡単で、手で書き出すことができる仕分けネットワークなので、証拠は簡単に保たれます。 – siemanko