理論計算機科学

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

1
建設的な計量空間の不動点定理?
バナッハの不動点定理によれば、空でない完全な計量空間があればAAA、一様に収縮する関数f:A→Af:A→Af : A \to Aには一意の不動点μ(f)μ(f)\mu(f)ます。しかし、この定理の証明は選択公理を必要とする-私たちは、任意の要素を選択する必要があり∈ Aを反復開始するfはコーシー列を取得するには、からAを、F ()、F 2()、F 3(a )、a∈Aa∈Aa \in Afffa,f(a),f2(a),f3(a),…a,f(a),f2(a),f3(a),…a, f(a), f^2(a), f^3(a), \ldots。 建設的分析では不動点定理はどのように述べられていますか? また、建設的な計量空間への簡潔な参照はありますか? 私が尋ねる理由は、タイプがさらにメトリック構造を(特に)運ぶ、システムFのモデルを構築したいからです。建設的なセット理論では、Uが積、指数関数、およびUインデックス付きファミリで閉じられ、システムFのモデルを簡単に作成できるように、セットファミリを作成できるので、かなり便利です。UUUUUUUうんU 建設的なウルトラメトリック空間の同様のファミリーを作り上げることができたら、とてもうれしいです。しかし、建設的な集合論に選択肢を追加することは古典的であるため、明らかに、不動点定理、およびおそらく他のものについてももっと注意する必要があります。

1
線形型を持つプログラミング言語のデータ構造
線形型をサポートするプログラミング言語を扱っていると仮定します(線形型の用語は、多くても1回しか使用できません)。これにより、いくつかの計算効果(突然変異、オペランドの型の変更など)を、言語にとって問題のある方法で処理できます。言語の型システムは「永遠の真理」のみで動作します。 多くのデータ構造は帰納的タイプで特徴付けることができます(リストとツリーは標準的な例です)。線形誘導型をミックスに追加すると、可変データ構造も処理できます。 ただし、線形型のプログラミング言語で共有および循環参照を示すデータ構造をどのように表現するかは明確ではありません(そのようなデータ構造の例は、隣接リストまたはその他の循環リストで表されるDAGおよび他のグラフです)。できますか?それが不可能な場合、そのようなデータ構造に対応するために、どのように言語を拡張する必要がありますか? 私がこれまでに見つけた最も複雑な例は、二重にリンクされたリストです。他の例はありますか?

3
Bob's Sale(製品の合計を最小化するための制約付きペアの並べ替え)
私は少し前にStack Overflowでこの質問をしました:問題:Bob's sale。誰かが質問をここに投稿することも提案しました。 誰かがすでにこの問題に関連する質問をしています- 特定のカーディナリティの最小重みサブフォレスト -しかし、私が理解している限り、それは私の問題に役立ちません。StackOverflowで最も評価の高い回答もご覧ください。 StackOverflowの質問の逐語的なコピーを次に示します。おそらく、このサイトには不適切に定式化されているので(ちなみに、ここで質問するだけでは教育を受けられないと感じます)、自由に編集してください。 注:これは、SWFファイル内のレコードの順序に関する実際の問題を抽象的に言い換えたものです。ソリューションは、オープンソースアプリケーションの改善に役立ちます。 ボブは店を持ち、販売をしたいと考えています。彼の店には多くの製品があり、在庫がある各製品の単位の特定の整数量を持っています。彼はまた、多くの棚に取り付けられた価格ラベル(製品の数と同じ数)を持ち、価格はすでに印刷されています。彼はどの製品にも価格ラベルを付けることができます(その製品の在庫全体に対する1つのアイテムの単価)。ただし、一部の製品には追加の制限があります。 すべてのBobの製品の総コストが可能な限り低くなるように、価格ラベルを配置する方法を見つける必要があります。総コストは、各製品に割り当てられた価格ラベルにその製品の在庫数を掛けた合計です。 与えられた: N –製品と価格ラベルの数 S I、0≤ I <N -インデックスを有する製品の在庫の数量I(整数) PのJ、0≤ J <N -インデックス付き価格ラベル上の価格J(整数) K –追加の制約ペアの数 K、BはK、0≤ K <K -追加の制約のために、製品インデックス どの製品インデックスもBに1回しか表示されません。したがって、この隣接リストによって形成されるグラフは、実際には有向木のセットです。 プログラムは以下を見つける必要があります。 M I、0≤ I <N -価格ラベルインデックス製品インデックスからマッピング(P M iは、製品の価格であるI) 条件を満たすには: P M A K ≤P M BがK、0≤ためのK <K Σ(S I ×P M …

2
複雑さの下限:決定木とRAMのギャップ
私は最近、決定木モデルの問題の複雑さに関する2次の下限を発見し、この結果をランダムアクセスマシンモデルに部分的に一般化できるかどうか疑問に思います。することにより、部分的に、私は一定の時間/スペースのトレードオフでプログラムをRAMに一般化を意味します。たとえば、私の問題は線形時間およびスペースRAMプログラムでは解決できないことを示したいと思います。 AM Ben-AmramとZ. Galilは、この論文で、時間とスペースsで実行されるRAMプログラムがO (ttttsssポインタマシンの時間。決定木に適用できる同様の結果を知っていますか?O (tログs )O(tログ⁡s)O(t \, \log s) あるいは、次数sの決定木を使用して、スペースで実行されているRAMプログラムをシミュレートすることは可能ですか?(直感的に、次数≤s のノードを使用して間接アドレス指定をシミュレートできます)ssssss≤ sの≤s\leq s

3
計算の複雑さのクラスを特徴付ける理論
「FPHの応用理論」という論文を読むと、次の文章に出会うことができます。 計算の複雑さのクラスを特徴付ける理論を考慮すると、3つの異なるアプローチがあります。 1つは、理論内で定義できる関数が特定の複雑度クラス内で「自動的に」機能することです。そのようなアカウントでは、適切なクラスにとどまるように構文を制限する必要があります。これにより、一般的に、関数が考慮中の複雑度クラスにある場合でも、関数の特定の定義が機能しなくなるという問題が発生します。 2番目のアカウントでは、基礎となるロジックが制限されています。 3番目のアカウントでは、構文を制限せず、一般に、任意の(部分再帰)関数やロジックの「関数用語」を書き留めることはできませんが、検討中の複雑度クラスに属する関数用語のみ、特定の特性を持つことを証明できます。通常、それらは「証明可能」な特性です。基礎となる構文フレームワークによると、関数の項は単純な計算特性を持つ場合があります。つまり、項として、特性特性を証明するために使用される論理は古典的です。λλ\lambda 私の質問は、上記の3つのアプローチの紹介としての参照に関するものです。この一節では、アプローチの特徴だけを示していますが、これらには一般に受け入れられている名前がありますか?

2
リストをソートするための転置の最小数
独自の並べ替えアルゴリズムを考案する際に、比較できる最適なベンチマークを探しています。要素Aの並べ替えられていない順序と並べ替えられた順序Bの場合、AからBへの最適な転置数を計算する効率的な方法は何ですか? 転置は、リスト内の2つの要素の位置を切り替えることとして定義されるため、たとえば 1 2 4 3 それを作るために1つの転置(転置4と3)を持っています 1 2 3 4 何かのようなもの 1 7 2 5 9 6 4つの転置(7、2)、(7、6)、(6,5)、(9、7)が必要 更新(9/7/11):質問は、「交換」ではなく「転置」を使用して、隣接していない交換を参照するように変更されました。

3
NPでのスーパーマリオフロー?
max-flow問題の古典的な拡張の1つは、「max-flow over time」問題です。2つのノードがソースとシンクとして区別される有向グラフが与えられます。 -単位時間と遅延。時間範囲も与えられます。目標は、時間ソースからシンクへの材料の最大量を取得する経時的なフローを計算することです。最大値のフローは、min-cost max-flowへの巧妙な古典的還元により、多項式時間で計算できます。TTTTTTT エッジに3番目の「寿命」パラメータがあるこのモデルの拡張に興味があります。アークに寿命があり、がアークを通して正のフローが送信される最も早い時間である場合、時間アークを破壊します。これは、スーパーマリオブラザーズの踏み台のように考えることができます。踏みつけた直後に落下するか破壊されるか、電源を入れると電源を切ることのできないエッジの電源に必要なバッテリーと考えることができます。 。(編集 :)決定問題は、フロー値の下限も与えられた場合、時間範囲の上限とフロー値の下限の両方を満たすフローをスケジュールできるかどうかです。TのT + ℓのBℓℓ\elltttt + ℓt+ℓt+\ellBBB これまでのところ、この問題はNP困難であることがわかります(3パーティション経由)。しかし、私はそれがNPにあるかどうか実際にはわかりません:ソリューションをコンパクトに表現する方法の保証はありますか?古典的なバージョンでは、この問題を回避するために、いくつかの特別なタイプの最適なフローが使用されます。 注:上記のモデルは、ノードでのフローの備蓄を許可または禁止する場合があり、離散時間モデルまたは連続モデルを持つ場合があるため、少し仕様が不十分です。これらのモデルのいずれかの問題を解決することは素晴らしいことです。

1
アルゴリズムの設計と複雑さ-その「方法」でどう考えるか?
私の質問は一般的なものです:アルゴリズムの設計と複雑さの観点から考え始めるにはどうすればよいですか?アルゴリズム設計の大学院課程を受講します。私は以前に登録していましたが、それに追いつくことができなかったため、後で削除しました。このコースを必須条件として受講する必要があります。 このように考える「トリック」はありますか?私はこれが非常に大雑把に言っていることを知っていますが、時々新鮮な視点は主題について異なって考えるのに役立ちます。 このコース(および同様の理論的コース)で私が抱えている主な問題は、私が思いついた解決策が正しいことをどのようにして知ることができるかということです。特定のアルゴリズムが特定の方法で動作または動作することを「証明」する場合、特に理論的な部分はarbitrary意的であると思いますか? コースでは、標準テキスト「CLRSによるアルゴリズムの紹介」を使用します。 教科書/サイト/書籍/などはありますか?それはこの分野に自信を持つ方法を提供するかもしれない? 皆に感謝します、 ジェイソン・デイン


1
整数乗算およびバイナリ決定図の最上位ビット
ましょととの2つの2進数ビット、進数(長さの積の)と。積の最も正確なビットz_をます。xxxyyynnnz=x⋅y z=x⋅y z = x \cdot y\ 2n2n2nxxxyyyz2n−1z2n−1z_{2n-1}z=z2n−1…z0z=z2n−1…z0z = z_{2n-1} \ldots z_0 バイナリ決定図のモデル(特に読み取り専用分岐プログラム)でこの関数の複雑さを分析するために、場合に相当する式を探します。最初の明らかなことは、(とは2進数に対応する整数)です。入力ビットを一定に設定するとどうなるか直感的に知りたい。たとえば、との最上位入力ビットを0に設定すると、定数0関数が取得されます。ただし、重要度の低いビットは結果にそのような影響を与えません。z2n−1=1z2n−1=1z_{2n-1} = 1z2n−1=1⇔x⋅y≥22n−1z2n−1=1⇔x⋅y≥22n−1z_{2n-1} = 1 \Leftrightarrow x \cdot y \geq 2^{2n-1}xxxyyyxxxyyy 場合、入力ビットを修正するとどうなるかを確認するのに役立つ他の同等の式はありますか?2つの2進数の積を計算するための洗練された方法はありますか?それとも、この問題に対する他のアプローチがありますか?z2n−1=1z2n−1=1z_{2n-1} = 1

3
平面グラフのエッジカラーリングの複雑さ
3次グラフの3エッジのカラーリングは完全です。4色の定理は、「すべての立方平面ブリッジレスグラフは3エッジのカラーリング可能」に相当します。NPNPNP 立方平面グラフの3エッジカラーリングの複雑さは何ですか? また、最大次数 {4,5}の平面グラフでは、 -edge カラーリングは -hardであると推測されます。△Δ\DeltaNPNPNPΔ ∈Δ∈\Delta \in この推測の解決に向けた進展はありましたか? マレク・クロバックと西関貴雄。平面グラフのエッジカラーリングアルゴリズムの改善。Journal of Algorithms、11:102-116、1990

4
次の直接和プロパティを持つ関数が存在することが知られていますか?
この質問は、ブール回路の回路の複雑さのフレームワーク、代数的複雑さの理論のフレームワーク、またはおそらく他の多くの設定で尋ねることができます。引数を数えることで、指数関数的に多くのゲートを必要とするN個の入力にブール関数が存在することを簡単に示すことができます(もちろん、明示的な例はありません)。入力の合計数がMNになるように、M個の異なる入力セットで、ある整数Mに対して同じ関数をM回評価したいとします。つまり、を評価したいだけですは、毎回同じ関数。f(x1,1,...,x1,N),f(x2,1,...,x2,N),...,f(xM,1,...,xM,N)f(x1,1,...,x1,N),f(x2,1,...,x2,N),...,f(xM,1,...,xM,N)f(x_{1,1},...,x_{1,N}), f(x_{2,1},...,x_{2,N}),...,f(x_{M,1},...,x_{M,N})fff 問題は、それが機能のシーケンスが存在することが知られている(各Nに対して1つの機能)は、任意のNのために、任意のMのために、ゲートの総数はの指数関数M倍に少なくとも等しい必要よう、ことN?この結果をすべてのMに保持したいため、単純なカウント引数は機能しないようです。代数的複雑性理論やその他の分野で、この質問の単純な類似物を思い付くことができます。fff

1
ランダム単調関数
Razborov-RudichのNatural Proofsペーパー、6ページで、「モノトーン回路モデルに対する強力な下限証明」とそれらが写真にどのように適合するかについて議論する部分で、次の文があります。 ここでは、問題は建設的ではありません-これらの証明で使用されるプロパティはすべて実行可能です-しかし、大きさ条件の良い形式的な類似物はないようです。特に、「ランダムな単調関数」の実行可能な定義を策定した人はいません。 単調な関数の出力とランダムな文字列を区別するのは簡単ではありませんか?強い下限の存在は、そのようなものがないことを私たちに教えてくれませんか? 私の質問は: 「ランダムな単調関数」の実行可能な定義とはどういう意味ですか?

1
頂点ラベリングの「ローカル」関数を結合するためのグラフ分解
私たちが見つけたいとし ∑バツ∏I J ∈ Ef(x私、xj)∑バツ∏私j∈Ef(バツ私、バツj)\sum_x \prod_{ij \in E} f(x_i,x_j) または 最大バツ∏I J ∈ Ef(x私、xj)最大バツ∏私j∈Ef(バツ私、バツj)\max_x \prod_{ij \in E} f(x_i,x_j) Vのすべてのラベル付けでmaxまたはsumが取られる場合VVV、積はグラフG = \ {V、E \}のすべてのエッジEEEで取られ、fは任意の関数です。この量は、有界ツリー幅グラフでは簡単に、一般的に平面グラフではNP困難です。適切な色の数、最大独立集合、およびオイラー部分グラフの数は、上記の問題の特別な例です。この種の問題、特に平面グラフの多項式時間近似スキームに興味があります。どのグラフ分解が有用でしょうか?G = { V、E}G={V、E}G=\{V,E\}fff 編集11/1:例として、統計物理学のクラスター展開(つまり、マイヤー展開)に類似するかもしれない分解について疑問に思っています。fffが弱い相互作用を表す場合、そのような展開は収束します。つまり、グラフのサイズに関係なく、展開のkkk項で所定の精度を達成できます。これは、量に対するPTASの存在を意味しませんか? 2011年2月11日更新 高温膨張は、高次の項が高次の相互作用に依存する項の合計としてパーティション関数ZZZを書き換えます。「相関が減衰する」場合、高次の項は十分に速く減衰するため、ZZZの質量のほぼすべてが有限数の低次の項に含まれます。 たとえば、イジングモデルの場合、次のパーティション関数の式を考慮してください。 Z= ∑X ∈ XexpJ∑I J ∈ Eバツ私バツj= c ∑A ∈ C(タンJ)| A |Z=∑バツ∈バツexp⁡J∑私j∈Eバツ私バツj=c∑A∈C(タン⁡J)|A|Z=\sum_\mathbf{x\in \mathcal{X}} \exp J \sum_{ij \in E} x_i …

3
立方体ハミルトニアングラフのハミルトニアンサイクルの数を数えますか?
3次ハミルトニアングラフの最長サイクルの定数因子近似を見つけるのは困難です。3次ハミルトニアングラフには、少なくとも2つのハミルトニアンサイクルがあります。NPNPNP 立方体ハミルトニアングラフのハミルトニアンサイクル数の最もよく知られている上限と下限は何ですか?立方体のハミルトニアングラフが与えられた場合、ハミルトニアンサイクルの数を見つけることの複雑さは何ですか?それは#である -hard?PPP

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