ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
ダウンロード
ブラウザよりも高速アクセス!
 

ナップサック問題

索引 ナップサック問題

ナップサック問題 ナップサック問題(ナップサックもんだい、Knapsack problem)は、計算複雑性理論における計算の難しさの議論の対象となる問題の一つで、「容量 C のナップサックが一つと、n 種類の品物(各々、価値 pi, 容積 ci)が与えられたとき、ナップサックの容量 C を超えない範囲でいくつかの品物をナップサックに詰め、ナップサックに入れた品物の価値の和を最大化するにはどの品物を選べばよいか」という整数計画問題である。同じ種類の品物を1つまでしか入れられない場合(xi ∈ )や、同じ品物をいくつでも入れてよい場合(xi ∈ 0以上の整数)など、いくつかのバリエーションが存在する。 決定問題としてのナップサック問題は、「C, pi, ci のほかに価値の合計の目標 V が与えられたとき、容量 C 以内でナップサック内の品物の価値の合計が V 以上になるような品物の選び方はあるか」を判定することである。 全ての品物について pi.

15 関係: リュックサックビンパッキング問題動的計画法複雑性クラス計算複雑性理論貪欲法部分和問題GroovyMerkle-Hellmanナップサック暗号NPNP完全問題NP困難決定問題最適化問題整数計画問題

リュックサック

ドイター製リュックサック リュックサック(、、:背に負う袋の意)は、荷物を入れて担ぐための袋である。登山、軍事などその用途は広く日常生活でもよく用いられる。そのため様々な呼ばれ方をする。背嚢(はいのう)、リュック、ザック()、バックパック()、ナップサック()などがある。.

新しい!!: ナップサック問題とリュックサック · 続きを見る »

ビンパッキング問題

ビンパッキング問題(ビンパッキングもんだい)とは、離散数学の組合せ論の中のNP困難問題で、与えられた「荷物(重さや個数がついている)」をつめる「箱(ビンやコンテナなど)」の最小数を見つけるものである。問題を解くためにビン型(筒状型)の模型を使うのでこのように呼ばれる。 様々な解決方法(アルゴリズム)が考案されているが、あらゆる場合の箱の最小数を効率的に見つけることができるような万能なアルゴリズムはない(NP困難問題)。.

新しい!!: ナップサック問題とビンパッキング問題 · 続きを見る »

動的計画法

動的計画法(どうてきけいかくほう、Dynamic Programming, DP)は、計算機科学の分野において、アルゴリズムの分類の1つである。対象となる問題を複数の部分問題に分割し、部分問題の計算結果を記録しながら解いていく手法を総称してこう呼ぶ。.

新しい!!: ナップサック問題と動的計画法 · 続きを見る »

複雑性クラス

複雑性クラス(ふくざつせいクラス、Complexity class)は、計算複雑性理論において関連する複雑性の問題の集合を指す。典型的な複雑性クラスは以下のように定義される。 例えば、クラスNPは非決定性チューリングマシンで多項式時間で解く事が出来る決定問題の集合である。また、クラスPSPACEはチューリングマシンで多項式領域で解く事が出来る決定問題の集合である。一部の複雑性クラスは函数問題の集合である(例えば'''FP''')。 数理論理学では表現の必要に応じて多数の複雑性クラスが定義される(記述計算量)。 ブラムの公理を使うと、完全な計算模型を参照しなくとも複雑性クラスを定義できる。.

新しい!!: ナップサック問題と複雑性クラス · 続きを見る »

計算複雑性理論

計算複雑性理論(けいさんふくざつせいりろん、computational complexity theory)とは、計算機科学における計算理論の一分野であり、アルゴリズムのスケーラビリティや、特定の計算問題の解法の複雑性(計算問題の困難さ)などを数学的に扱う。計算量理論、計算の複雑さの理論、計算複雑度の理論ともいう。.

新しい!!: ナップサック問題と計算複雑性理論 · 続きを見る »

貪欲法

貪欲法(どんよくほう、greedy algorithm)は、アルゴリズムの一種、欲張り法(よくばりほう)、グリーディ算法(-さんぽう)ともいう。.

新しい!!: ナップサック問題と貪欲法 · 続きを見る »

部分和問題

部分和問題(ぶぶんわもんだい)は、計算複雑性理論・暗号理論における問題で、与えられた n 個の整数 a1,...,an から部分集合をうまく選んで、その集合内の数の和が与えられた数 N に等しくなるようにできるかどうかを判定する問題である。NP完全であることが知られている。 この問題は、分割問題 (Number Partitioning) の一般形でもある。分割問題とは、与えられた n 個の整数 a1,...,an を二つの集合に分け、各々の集合内の数の和がもう一方の集合内の数の和と等しくなるようにできるかどうかを判定する問題である。この問題も、NP完全であることが示されている。 部分和問題は、ナップサック問題に含まれるため、動的計画法等の手法で解くことができる。(詳しくは、ナップサック問題の項を参照。).

新しい!!: ナップサック問題と部分和問題 · 続きを見る »

Groovy

Groovy(グルービー)は、Javaプラットフォーム上で動作する動的プログラミング言語である。 Groovy の処理系はオープンソースソフトウェアであり、James Strachan と Bob McWhirter らを中心に、オープンソース開発サイトであるコードハウス上で、2003年8月27日に開発が開始された(CVSへの最初のコミットがなされた)。その後、開発の主体は Guillaume Laforge と Jeremy Rayner らに移り開発が続けられている。2015年3月31日までは Pivotal がスポンサー企業となり、開発者をフルタイム雇用していたが、3月末を持って終了し、Apacheソフトウェア財団の管理に移行する。.

新しい!!: ナップサック問題とGroovy · 続きを見る »

Merkle-Hellmanナップサック暗号

Merkle-Hellmanナップサック暗号とは、1978年にラルフ・マークルとマーティン・ヘルマンが発表したナップサック問題(正確には部分和問題)を利用した公開鍵暗号の一つである。 この暗号方式は、秘匿用途の方式であり、認証(デジタル署名など)を目的としたものではない。 公開鍵暗号の提案は1976年であり、比較的初期に提案された方式である。 1982年に解読方法が発見されたため、現在は使用されていない。 近年になり、鍵の生成に量子コンピュータを用いることにより、量子コンピュータでも解けない暗号として機能することが示され、ふたたび注目を浴びている。.

新しい!!: ナップサック問題とMerkle-Hellmanナップサック暗号 · 続きを見る »

NP

NPは、複雑性クラスのひとつで、Non-deterministic Polynomial time(非決定性多項式時間)の略である(「Non-P」ないしは「Not-P」ではない)。.

新しい!!: ナップサック問題とNP · 続きを見る »

NP完全問題

NP完全(な)問題(エヌピーかんぜん(な)もんだい、NP-complete problem)とは、(1) クラスNP(Non-deterministic Polynomial)に属する決定問題(言語)で、かつ (2) 任意のクラスNPに属する問題から多項式時間還元(帰着)可能なもののことである。条件 (2) を満たす場合は、問題の定義が条件 (1) を満たさない場合にも、NP困難な問題とよびその計算量的な困難性を特徴づけている。多項式時間還元の推移性から、クラスNPに属する問題で、ある一つのNP完全問題から多項式時間還元可能なものも、またNP完全である。現在発見されているNP完全問題の証明の多くはこの推移性によって充足可能性問題などから導かれている。充足可能性問題がNP完全であることは1971年、スティーブン・クック(Stephen Cook (1971).

新しい!!: ナップサック問題とNP完全問題 · 続きを見る »

NP困難

NP完全、'''NP困難'''の相関を表すベン図 NP困難(エヌピーこんなん、NP-hard)とは計算量理論において、問題が「NPに属する任意の問題と比べて、少なくとも同等以上に難しい」ことである。正確にいうと問題 H がNP困難であるとは、「NPに属する任意の問題 L が H へ帰着可能である」と定義される。この「帰着」の定義として何を用いるかにより微妙に定義が異なることになるが、例えば多項式時間多対一帰着や多項式時間チューリング帰着を用いる。NP困難問題を解ける多項式時間の機械がもしあれば、それを利用してNPに属するどの問題も多項式時間で解くことができる。 NP完全問題とは、NP困難であり、かつNPに属する問題である。これと異なり、NP困難である問題はNPに属するとは限らない。NPは決定問題のクラスなのでNP完全もまた決定問題に限られるが、定義に用いる帰着の種類によってはNP困難には決定問題、探索問題(en)、組合せ最適化問題など様々な問題が属しうる。 上に挙げた定義から、問題 H がNP困難なとき次のことが言える(以下は定義ではなく主張)。.

新しい!!: ナップサック問題とNP困難 · 続きを見る »

決定問題

決定問題(けっていもんだい、decision problem)とは、各入力に対して受理か拒絶かのうち片方を出力する形式の問題をいう。判定問題とも呼ばれる。形式的には、文字列全体の集合\ ^*、あるいは\ ^*の部分集合から\への写像である。 たとえば、ある命題論理式を充足する真理値割り当てがあるかないか(充足可能性問題)、与えられた自然数が素数か否か(素数判定問題)、といったものがある。これに対し、受理か拒絶かだけでなく真理値割り当てや素因数分解の結果といったものの出力を要求する問題は函数問題(function problem)と呼ばれる。 決定問題は、数学的に定式化しやすく、かつ出力に関わる時間を考慮しなくてよいことから、計算理論でよく使われる。.

新しい!!: ナップサック問題と決定問題 · 続きを見る »

最適化問題

最適化問題(さいてきかもんだい、optimization problem)とは、特定の集合上で定義された実数値関数または整数値関数についてその値が最小(もしくは最大)となる状態を解析する問題である。数理計画問題(すうりけいかくもんだい、mathematical programming problem, mathematical program)、数理計画とも呼ばれる。実世界の現象の数理的な解析に関わる問題や抽象的な理論の多くをこの最適化問題という一般的なくくりに入れることができる。物理学やコンピュータビジョンにおける最適化問題は、考えている関数をモデル化された系のエネルギーを表すものと見なすことによって、エネルギー最小化問題と呼ばれることもある。.

新しい!!: ナップサック問題と最適化問題 · 続きを見る »

整数計画問題

整数計画問題(せいすうけいかくもんだい)は、線型計画問題において、解ベクトルxの各要素を整数に限定した問題をいう。これはNP困難な問題に該当する。線型計画問題には多項式時間アルゴリズムが存在するのに対し、整数計画問題には存在しない。 解ベクトルxの各要素を0または1のみに限定したものを、特に0-1整数計画問題という。.

新しい!!: ナップサック問題と整数計画問題 · 続きを見る »

ここにリダイレクトされます:

ナップザック問題

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »