理論計算機科学

理論計算機科学者および関連分野の研究者のためのQ&A

2
TSPのHeld-Karpアルゴリズムの時間の複雑さ
Michael HeldとRichard M. Karpによる「シーケンス問題への動的プログラミングアプローチ」を調べたところ、TSPのアルゴリズムの複雑さが(∑n−1k=2k(k−1)(n−1k))+(n−1)(∑k=2n−1k(k−1)(n−1k))+(n−1)(\sum_{k=2}^{n-1}k(k-1)\binom{n-1}{k})+(n-1)(p。199)、それらは係数kkkどこで取るのですか?私が正しく理解していれば、k−1k−1k-1は都市の各サブセットの追加数を意味します。それでは、各加算演算が未知のkkk演算と結合されるのはなぜですか?どういうわけか最小値を取ることに関係していると思いますが、最小値を計算することはそれほど多くの操作を必要としないようです。 次のように保持し、カープと独立ベルマン実行によって動的プログラミングアルゴリズム:各ペアのための(S,ci)(S,ci)(S,c_i)を経由する経路を意味し、c1c1c_1、すべての要素SSSとで終端cicic_i計算 OPT[S,ci]=min{OPT[S∖{ci},cj]+d(cj,ci):cj∈S∖{ci}},OPT[S,ci]=min{OPT[S∖{ci},cj]+d(cj,ci):cj∈S∖{ci}},OPT[S,c_i]=min\{OPT[S\setminus\{c_i\},c_j]+d(c_j,c_i):c_j\in S\setminus\{c_i\}\}, ここで、d(cj,ci)d(cj,ci)d(c_j,c_i)は、都市cjcjc_jとc_iの間の距離を意味しcicic_iます。次に、紙の公式では、kkkはSのサイズを意味しますSSS。

2
ラムジーの定理の拡張:単色だが多様
Hsien-Chih Changによって解決された私の以前の質問のフォローアップとして、ラムジーの定理の適切な一般化を見つけるための別の試みを次に示します。(前の質問を読む必要はありません。この投稿は自己完結型です。) パラメータ:整数が指定され、次にが十分に大きくなるように選択されます。用語:サブセットは、サイズサブセットです。N M M1 « D« K « N1≪d≪k≪n1 \ll d \ll k \ll nNNNメートルmmメートルmm LET。各サブセットに対して、色割り当てます。K S ⊂ BのF (S )∈ { 0 、1 }B = { 1 、2 、。。。、N}B={1,2,...,N}B = \{1,2,...,N\}kkkS⊂ BS⊂BS \subset Bf(S)∈ { 0 、1 }f(S)∈{0,1}f(S) \in \{0,1\} 定義: F (S )= F (S ')K S …

1
バックアップの問題はNP完全ですか?
次の決定問題はNP完全ですか? レッツ無向グラフとなる 二つの整数。すべての頂点に対して正確に 異なる近傍を選択して、回を超えてノードが選択されないようにすることは可能ですか?GGGb≤cb≤cb \le cGGGbbbccc ケースは、最大マッチングを使用して、多項式時間の任意のについて解くことができます。b=1b=1b = 1ccc 動機:各ノードはバックアップを異なるネイバーに配置する必要がありますが、各ノードにはバックアップを保存する容量しかありません。bbbccc

2
トラップドアのない一方向置換
要するに:と仮定すると、一方向の順列は、我々は何のトラップドアを持っていないものを構築することができ、存在しますか? より詳しい情報: 一方向の順列は、計算が簡単であるが逆にするのが難しい順列ππ\piです(より正式な定義については、一方向関数タグwikiを参照してください)。我々が通常考える家族一方向性置換のπ={πn}n∈Nπ={πn}n∈N\pi = \{\pi_n\}_{n \in \mathbb{N}}それぞれ、πnπn\pi_n上に作用する、一方向性置換であるが有限のドメインDnDnD_n。トラップドアトラップドアのセットが存在することを除いて一方向性置換は、上記のように定義される{tn}n∈N{tn}n∈N\{t_n\}_{n \in \mathbb{N}}ポリ時間反転アルゴリズムIII、すべてのnnn、|tn|≤poly(n)|tn|≤poly(n)|t_n| \le {\rm poly}(n)、及びIII反転させることができるπnπn\pi_n、それが与えられたことを条件tntnt_n。 トラップドアを見つけることが不可能であるように生成された一方向の順列を知っています(まだトラップドアが存在します)。RSA仮定に基づく例をここに示します。質問は、 トラップドア(セット)がない一方向の順列(のファミリ)は存在しますか? 編集:(より正式化) いくつかの一方向性置換が存在すると仮定ππ\pi(無限の)ドメインとD⊆{0,1}∗D⊆{0,1}∗D \subseteq \{0,1\}^*。つまり、確率的多項式時間アルゴリズムDD\mathcal{D}(入力1n1n1^n、Dn=0,1n∩DDn=0,1n∩DD_n=\\{0,1\\}^n \cap D)、その結果、任意の多項式時間の攻撃のためのAA\mathcal{A}、任意c&gt;0c&gt;0c>0、およびすべての十分に大きな整数nnn: Pr[x←D(1n):A(π(x))=x]&lt;n−cPr[x←D(1n):A(π(x))=x]&lt;n−c\Pr[x \leftarrow \mathcal{D}(1^n) \colon \quad \mathcal{A}(\pi(x))=x]0んnn Pr [ x ← D』(1ん):あ』ん(π』(x ))= x ] &lt; n− cPr[x←D′(1n):An′(π′(x))=x]&lt;n−c\Pr[x \leftarrow \mathcal{D}'(1^n) \colon \quad \mathcal{A}'_n(\pi'(x))=x]<n^{-c} (確率の内部コイン投げ引き継がれるため、決定論的です。)A 'D』D′\mathcal{D}'あ』A′\mathcal{A}'

3
平面グラフのツリー分解
最初にmath.SEに応答なしで尋ねました。 平面埋め込みを備えた平面グラフがあると仮定すると、ツリー分解をどのように見つけますか? 行d列の正方グリッドの最適なツリー分解は何ですか?「最適」の定義方法は完全にはわかりませんが、1つの大きなバッグによる分解と多数の大きなバッグによる分解を区別する必要があります。dddddd

2
誠実な行動を強制する
どのようにしてパーティを正直にさせることができますか(プロトコルルールに従います)? コミットメント、証明などのメカニズムをいくつか見ましたが、それらは単に問題全体を解決するようには見えません。プロトコル設計の構造とそのようなメカニズムが仕事をしなければならないと私には思われます。誰もがそれをうまく分類していますか? 編集し 安全なプロトコルを設計するとき、当事者に正直を強いる場合、この施行には独自の見返りがありますが、設計ははるかに簡単です。安全なプロトコルを設計するときに、設計者は私には現実的でないように思われます。たとえば、すべての関係者が最悪の場合は正直であると想定したり、ユーザーデータを維持するサーバーの正直さを想定したりします。しかし、より厳密なモデルでプロトコルの設計を見ると、そのような仮定はめったにありません(少なくとも、私はそれを見たことはありません。CanettiのUCフレームワークはまだ完全に正式化されていないと思います)。私は不思議に思っていましたが、パーティーを正直にさせることができる方法の良い分類はありますか、それとも入力プロトコルを正直なパーティーを持つものに変換できるコンパイラはありますか? これは、無関係に見えるかもしれませんが、これが単に仕事をしないと思う理由を説明します。UCフレームワークでプロトコルを設計する場合、理想的/実際のパラダイムの恩恵を受けると、理想的なモデルのすべての通信リンクが認証されますが、これは実際のモデルでは当てはまりません。したがって、プロトコル設計者は、PKI仮定またはCRS(共通参照文字列)を使用してこのチャネルを実装する代替方法を模索しています。しかし、認証プロトコルを設計するとき、認証されたチャネルを想定することは間違っています。UCフレームワークで認証プロトコルを設計していると仮定すると、攻撃者がパーティのIDを偽造する攻撃がありますが、理想的なモデルでは認証済みリンクを想定しているため、この攻撃はこのフレームワークでは想定されていません。あなたは参照するかもしれませんグループキー交換プロトコルに対するインサイダー攻撃のモデリング。カネッティの独創的な作品の中で、鍵交換と安全なチャネルの普遍的に構成可能な概念は、認証プロトコルのセキュリティを保証するのに十分なだけの以前のセキュリティの概念であるSK-Securityに言及していることに気付くでしょう。彼はどういうわけか(これは技術的な問題であることを示すことによって)このコンテキストでのUC定義は制限が厳しすぎ、非情報オラクルと呼ばれる緩和されたバリアントを提供します(これは私を混乱させたので、どこにもこのセキュリティモデルを見たことがない、このセキュリティパターンを他のセキュリティパターンと一致させることはできません。おそらく私の知識不足です:D)。 [補足として、シミュレータの時間に関係なく、ほぼすべてのSk-secureプロトコルをUCセキュアプロトコルに変換できます。たとえば、メッセージの署名を削除して、シミュレーターに相互作用全体をダミーの方法でシミュレートさせることができます。証明については、Universally Composable Contributorry Group Key Exchangeを参照してください!これが多項式で多くのパーティとのグループキー交換プロトコルであるとすると、シミュレータの効率はどうなりますか?これが、このフォーラムでの他の質問の原点です。] とにかく、プレーンモデル(UC上)への取り組みが欠如しているため、その緩和の必要性をバイパスするだけでプロトコルを安全にする他の手段を探しました。この考えは私の心の中で非常に基本的であり、単純なモデルでカネッティの最新のコミットメント方式を研究しただけで頭に浮かびました:標準的な仮定からの単純なモデルでの適応可能な硬度と構成可能なセキュリティ。 ところで、私は知識がゼロであることの証明を求めていません。理由はわからないので、誰かが(UCフレームワークを介して)並行プロトコルでそれらの1つを使用したときはいつでも、他の人がプロトコルを非効率的であると述べているためです(シミュレータの巻き戻しによる)。

2
マップのツリーに最適なデータ構造は何ですか。
私はデータ構造を探しています。これは基本的にマップのツリーです。各ノードのマップには、親ノードのマップ内のエレメントだけでなく、いくつかの新しいエレメントが含まれています。ここでのマップとは、STLのマップやPythonのdictのような、キーと値を含むプログラミングマップを意味します。 たとえば、ルートノードがあるとします。 root = {'car':1, 'boat':2} と2つの子、それぞれが親マップに要素を追加 child1 = {'car':1, 'boat':2, 'jet':35} child2 = {'car':1, 'boat':2, 'scooter':-5} これを可能な限りスペース効率の良いものにしたいのです。つまり、結果のマップの完全なコピーを各ノードに保存したくありませんが、理想的にはルックアップはO(log N)であり、Nはツリー全体ではなく、ノードの要素。 私はおそらくこれに使用できるスマートなハッシュ関数があると考えていましたが、何も思いつきませんでした。 単純なアプローチでは、新しく追加されたエントリを各ノードのマップに格納し、何も見つからない場合はツリーを上に移動します。木の深さに依存するので、私はこれが好きではありません。

1
この不動産分割ゲームの複雑さは何ですか?
アリスとボブは、彼の望みに従って、亡くなった叔父のチャーリーの財産(離散的なアイテムの有限コレクション)を分割しています。最初にAがアイテムを選択し、次にB、次にAと続きます。バツバツX アリスとボブは、各添加効用関数有するので、アリスがセットで終わる場合、そのY ⊆ X、彼女のユーティリティであるΣ Y ∈ Y U A(Y )。あなたあ、あなたBあなたあ、あなたBu_A, u_BY⊆ XY⊆バツY \subseteq XΣy∈ Yあなたあ(y)Σy∈Yあなたあ(y)\sum_{y \in Y}u_A(y) これらの効用関数は、アリスとボブが完全に合理的な効用最大化子であるという事実と同様に、一般的な知識です。これは、プレイヤーが常に貪欲なアプローチに従い、最も価値のあるアイテムをつかむとは限らないことを意味します。彼らはより戦略的になります。 では、プレイヤーの戦略を実装する際の計算の複雑さはどのくらいですか?それは多項式空間で実行可能であり、それは私が知っているすべてです。

1
*対称*行列の固有分解を見つけることの複雑さ
これは、前の質問の特殊版です: マトリックスの固有分解を見つけることの複雑さ。 NxN対称行列の場合、固有分解を計算するにはO(N ^ 3)時間で十分であることがわかっています。問題は、サブキュービックな複雑さを実現できるかどうかです。ありがとう。

1
計算の複雑さの理論と複雑なシステムの理論の間に関係はありますか?
計算複雑性理論は、固有の難しさに従って問題を分類します。 複雑なシステム理論は、システムの個々の部品の特性から明らかに発生しない動作を示すシステムを扱います。例としては、カオスシステム、複雑な適応システム、非線形システムなどがあります。 これらの分野の間に正式な橋はありますか? 価値のあることとして、セルオートマトンで暗号化を実行するという概念は新しいものではなく、今年の初めに Applebaum、Ishai、およびKushilevitzは計算の難しさを伴う「複雑さ」を識別しました。

2
エリア法定ハミルトニアンの複雑さ
私は最近、物理学関連の質問を量子CSに「インポートする」ことを考えました。 ハミルトニアンシステムの面積法則現象の概念は、通常、ある格子上のローカルハミルトニアンを表します。その基底状態は、閉じた領域のもつれがその領域の表面に比例するという特性を示します。一般的な状態の場合)。有名な推測は、すべての定数ギャップハミルトニアンがこの面積法則の性質を示すかどうかです。1次元システムの場合、この質問はHastings(arXiv:0705.2024)によって肯定的に回答されました。 しかし、そのようなシステムと複雑性理論の間の関係は非常にあいまいです。ヘイスティングスの結果は、1-Dエリア法則システムが古典的にシミュレーションできることを意味しますが、一般的なシステムの場合、これは不明です。だから私の質問は、面積法則の推測を解決する探求は価値があるのでしょうか?あるいは、逆に言えば、QMA完全なローカルハミルトニアンを考え出すことができます。これは、エリア法則にも当てはまります。本質的にすべてキタエフの量子クック・レビン定理に基づいている既知のQMA完全ローカルハミルトニアンを少し見ると、これらのハミルトニアンには面積法の特性がないことがわかります。

8
最悪の場合の実行時間が指数関数的である一方で、シンプレックスアルゴリズム以外のアルゴリズムが実際に非常にうまく機能する他のアルゴリズムはありますか?
最悪の場合、実行時間が多項式である場合、一般にアルゴリズムを「良いアルゴリズム」と呼びます。ただし、場合によっては(たとえば、シンプレックスアルゴリズム)、アルゴリズムの最悪のケースは指数関数的ですが、実際には非常にうまく機能します。 シンプレックスアルゴリズム以外に、この状況の(確定的な)例はありますか?

2
独立セットのプロパティテスト
グラフとパラメーターが与えられたとします。そこの値の範囲は、(またはそれがすべてのためになんとかである)はかどうかをテストすることが可能であるためである少なくとも大きさの独立したセットを有するから-far時間における?k 、ϵ k k G ϵ k O (n + poly (1 / ϵ ))GGGk 、ϵk,ϵk,\epsilonkkkkkkGGGεϵ\epsilonkkkO (n + ポリ(1 / ϵ ))O(n+poly(1/ϵ))O(n + \text{poly}(1/\epsilon)) -farの通常の概念を使用する場合(つまり、そのようなセットを取得するには、最大でエッジを変更する必要があります)、問題は。そうε 、N 2、K = O (N √εϵ\epsilonϵ n2ϵn2\epsilon n^2k = O (n ϵ√)k=O(nϵ)k = O(n\sqrt{\epsilon}) が大きければ、いくつかのサンプリングのアイデアが問題を解決するために機能するはずです。本当 ?kkk -farの他の概念(つまり、代わりにエッジ)がありますか?ϵ | E |εϵ\epsilonϵ | E|ϵ|E|\epsilon |E| この時点で基本的に参考文献を探しています。

5
アルファベット(の大きされた例
してみましょうアルファベット、すなわちA空でない有限集合とします。文字列は、Σからの要素(文字)の有限のシーケンスです。一例として、{ 0 、1 }バイナリアルファベットであり、0110は、このアルファベットの文字列です。ΣΣ\SigmaΣΣ\Sigma{0,1}{0,1} \{0, 1\}011001100110 通常、限り 1つの以上の元素を含む、内の要素の正確な数Σは問題ではない:最高の状態で我々は異なる、一定のどこかで終わります。言い換えれば、バイナリアルファベット、数字、ラテンアルファベット、Unicodeのどちらを使用しても問題ありません。ΣΣ\SigmaΣΣ\Sigma アルファベットの大きさが重要である状況の例はありますか? 私がこれに興味を持っている理由は、そのような例の1つに偶然出会ったからです。 任意のアルファベットのために我々はランダムオラクル定義O Σをオラクルすべきから戻るランダム要素Σすべての要素のための可能性があるので、すべての要素は、(返されるの等しい機会を有するように、1ΣΣ\SigmaOΣOΣO_{\Sigma}ΣΣ\Sigma)。1|Σ|1|Σ|\frac{1}{|\Sigma|} いくつかのアルファベットの場合はとΣ 2おそらく、異なるサイズの- -へのアクセス権を持つ神託機械のクラスを検討O Σ 1。私たちはそのように同じように動作し、このクラスでは神託機械に興味O Σ 2。言い換えれば、我々は、Oracle変換したいO Σ 1をオラクルにO Σ 2チューリングマシンを使用します。このようなチューリングマシンを変換プログラムと呼びます。Σ1Σ1\Sigma_1Σ2Σ2\Sigma_2OΣ1OΣ1O_{\Sigma_1}OΣ2OΣ2O_{\Sigma_2}OΣ1OΣ1O_{\Sigma_1}OΣ2OΣ2O_{\Sigma_2} LET とΣ = { 0 、1 、2 、3 }。変換O Σ 1オラクルにO Σ 2は容易である:我々は、クエリO Σ 1回、その結果を変換することは、以下の:00 → 0、01 → 1、10 → 2、11 → 3。明らかに、このプログラムはO (Σ1={0,1}Σ1={0,1}\Sigma_1 = \{ 0, …


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.