「サブセット合計」問題としても知られるサブセット対応は、NP 完全計算問題の例です。一連の数値と目的値が与えられた場合、タスクは、合計数が目的値と等しい数値のサブセットが存在するかどうかを判断することです。この問題の NP 能力は、多項式時間短縮によって他のさまざまな NP 完全問題を解く能力に由来します。その単純な定義に関係なく、すべてのイベントの「サブセット対応」を解決できる効率的な計算は存在しないため、仮想的なソフトウェア エンジニアリングや単純化、またさまざまな分野 (暗号化、資産割り当て、動的問題など) において非常に重要です。機能的なアプリケーションを使用します。
使用説明書
サブセット合計から減算
NP 完全問題である「サブセットの公平性」に対処する 1 つの方法は、NP 完全問題 (「総サブセット」問題) の大幅な減少を示すことです。
###アルゴリズム###
「サブセット集約」問題の場合、それは整数 S の束と値 T のターゲットです。
同様の集合 S と目標自尊心 2T を使用して、「サブセットの公平性」問題の別のケースを作成します。
「部分集合集約」問題で T として要約される S の部分集合がある場合、この時点で、「部分集合均一性」問題で T として要約される部分集合 2T が存在します。それ自体に追加する 同様のサブセット。
「サブセット合計」問題で T に要約される S のサブセットが存在しないと仮定すると、「サブセットの公平性」問題で 2T に要約されるサブセットは存在しません。 2T 未満のサブセットの合計は 2T を超えることはできません。
この低下は、「サブセットの公平性」問題を解決することが「サブセットの集約」問題を解決するのとほぼ同じくらい難しく、NP 完全な問題であることを示しています。
-
###例###
リーリー
###出力###
リーリー
3SATから削減
別のアプローチは、「サブセット対応」が NP 完全であることを、既知の NP 完全問題 (3SAT 問題など) から直接差し引くことによって証明することです。
###アルゴリズム###
は、条件ごとに 3 つのリテラルを持つ結合通常構造のブール レシピを含む 3SAT 質問の例を示しています。
次のように、一連の整数とターゲット値を使用して、「サブセットの均一性」問題について再度説明します。
- a.3SAT 方程式の各変数について、セット内に値 1 を持つ数値を作成します。
b. 3SAT 方程式の追加条件ごとに、セット内の値が 2 の数値を生成します。
- c. 目標値を、3SAT レシピ内のすべての追加条件とすべての要素の全量に設定します。
3SAT スキームが満たされる場合、満たされた条件ごとに 1 つの変数を選択することによって目標値を要約する「サブセット均一性」問題のサブセットが存在します。
3SAT 式が満たされない場合、「サブセット対応」問題のサブセットをターゲット値に一般化することはできません。これは、有効なサブセットには値 2 以上の整数が含まれている必要があるためです。パフォーマンス条件に関連するものと一致しています。
3SAT 問題は NP で完了することが知られているため、この低下は「サブセット資本」の NP のピークを示しています。
-
###例###
リーリー
###出力###
リーリー
###結論は###
どちらのアプローチも、「サブセットの公平性」または「サブセットの集約」問題が NP 完全であるため、すべての例の問題を解決するための効率的な計算を追跡することは不可能であることを示唆しています。科学者は、この問題の実現可能なシナリオを効率的に解決するために、動的計画法やその他の推定手順をよく利用します。
以上がサブセットの等価性は NP 完全ですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。