タグ付けされた質問 「big-picture」

全体像タグは、「問題の全体像、全体像、または視点」を表すものです。

29
展開されたコアアルゴリズム
アルゴリズムの重要性を実証するために(例えば、理論やまったく異なる分野の学生や教授にとっても)、コアアルゴリズムが商用、政府、または広く使用されているソフトウェア/ハードウェア。 私は次の基準を満たすような例を探しています: アルゴリズムを使用するソフトウェア/ハードウェアは、現在広く使用されているはずです。 例は具体的である必要があります。特定のシステムおよび特定のアルゴリズムへの参照を提供してください。 たとえば、「アルゴリズムXは画像処理に役立つ」では、「画像処理」という用語は十分に具体的ではありません。「Google検索でグラフアルゴリズムを使用する」では、「グラフアルゴリズム」という用語は十分に具体的ではありません。 アルゴリズムは、一般的な学部生または博士号で教える必要があります。アルゴリズムまたはデータ構造のクラス。理想的には、アルゴリズムは典型的なアルゴリズムの教科書でカバーされています。たとえば、「よく知られたシステムXはあまり知られていないアルゴリズムYを使用します」は良くありません。 更新: 素晴らしい回答とリンクをありがとう!コアアルゴリズムは広範にわたるため、特定の用途を示すのが難しいため、基準を満たすのは難しいと言う人もいます。難しさを感じます。しかし、私の経験では、人々に「見て、アルゴリズムはどこにでもあるので重要だ!」動作しません。

11
有限オートマトンを研究した後に達成することになっている啓発とは何ですか?
私は計算理論を楽しみのために改訂してきましたが、この質問はしばらくの間私に悩まされてきました(学部生でオートマタ理論を学んだとき、それを考えたことはありませんでした)。それでは、「なぜ」決定論的および非決定論的有限オートマトン(DFA / NFA)を正確に研究するのでしょうか?だから、独り言の後、私が思いついたいくつかの答えがありますが、それでも「aha」の瞬間への全体的な貢献を見ることはできません: 彼らが何であるかを研究するために、すなわち制限 どうして? それらは理論計算の基本モデルであり、他のより有能な計算モデルの基礎を築くためです。 それらを「基本」にするものは何ですか?ストレージと状態の遷移が1ビットしかないのですか? さて、それで何?このすべてが計算可能性の質問に答えるためにどのように貢献しますか?チューリングマシンはこれを非常によく理解しているようで、PDA、DFA / NFA /正規表現などの計算の「より少ない」モデルがあります。しかし、FAがわからない場合は、FAに何が欠けているのでしょうか。 だから私はある程度「わかった」が、この質問に自分で答えることはできないのだろうか?「なぜD / N-FAを勉強するのか」をどのように説明しますか?彼らが答えようとしている質問は何ですか?それはどのように役立ち、なぜオートマタ理論で最初に教えられるのですか? PS:さまざまな辞書式アプリケーションと、そのように実装できるパターンマッチャーを知っています。ただし、実際に何に使用できるかを知りたくはありませんが、計算理論の研究の頂点にある使用/発明/設計の理由は何でしたか。歴史的に言えば、これで何が始まったのか、そして「aha」の理解は何につながるのでしょうか?オートマタ理論の勉強を始めたばかりのCS学生に彼らの重要性を説明する場合、どうしましたか?

7
計算理論の分野へのラムダ計算の貢献は何ですか?
私はラムダ計算を読んで「それを知る」だけです。これは、チューリングマシンとは対照的な代替の計算形式と考えています。これは、関数/リダクションを使用して物事を行う興味深い方法です(粗雑に言えば)。いくつかの質問が私をしつこく続けます: ラムダ計算のポイントは何ですか?なぜこれらすべての機能/削減を経るのですか?目的は何ですか? その結果、私は疑問に思っています:ラムダ計算はCSの理論を前進させるために正確に何をしましたか?その存在の必要性を理解する「アハ」の瞬間を持つことができるのは、どのような貢献でしたか? なぜラムダ計算はオートマトン理論のテキストに含まれていないのですか?一般的なルートは、さまざまなオートマトン、文法、チューリングマシン、複雑度クラスを通過することです。ラムダ計算は、SICPスタイルのコースのシラバスにのみ含まれています(おそらくそうではありませんか?)。しかし、私はそれがCSの中核カリキュラムの一部であることはめったにありません。これは、それほど価値がないことを意味しますか?たぶんそうではなく、私はここで何かを見逃しているかもしれません 関数型プログラミング言語はラムダ計算に基づいていることは知っていますが、プログラミング言語ができる前に作成されたため、それを有効な貢献とは考えていません。それでは、理論への応用/貢献について、ラムダ計算を知っている/理解しているポイントは本当に何ですか?

5
量子の順序を逆にする手法
一般に、普遍的数量詞と実存的数量詞の順序を逆にすることはできないことはよく知られています。つまり、一般的な論理式場合、ϕ(⋅,⋅)ϕ(⋅,⋅)\phi(\cdot,\cdot) (∀x)(∃y)ϕ(x,y)⇎(∃y)(∀x)ϕ(x,y)(∀x)(∃y)ϕ(x,y)⇎(∃y)(∀x)ϕ(x,y)(\forall x)(\exists y) \phi(x,y) \quad \not\Leftrightarrow \quad (\exists y)(\forall x) \phi(x,y) 一方、右側は左側よりも制限が強いことがわかっています。つまり、(∃y)(∀x)ϕ(x,y)⇒(∀x)(∃y)ϕ(x,y)(∃y)(∀x)ϕ(x,y)⇒(∀x)(∃y)ϕ(x,y)(\exists y)(\forall x) \phi(x,y) \Rightarrow (\forall x)(\exists y) \phi(x,y)。 この質問は、\ phiが成り立つときはいつでも(\ forall x)(\ exists y)\ phi(x、y)\ Rightarrow(\ exists y)(\ forall x)\ phi(x、y)を導出する手法に焦点を当てて(∀x)(∃y)ϕ(x,y)⇒(∃y)(∀x)ϕ(x,y)(∀x)(∃y)ϕ(x,y)⇒(∃y)(∀x)ϕ(x,y)(\forall x)(\exists y) \phi(x,y) \Rightarrow (\exists y)(\forall x) \phi(x,y)いますϕ(⋅,⋅)ϕ(⋅,⋅)\phi(\cdot,\cdot)。 対角化はそのような手法の1つです。私は第1用紙に対角のこの使用を参照のRelativizations P=?NPP=?NP\mathcal{P} \overset{?}{=} \mathcal{NP}質問(参照カッツによって短い音符を)。その論文では、著者は最初に次のことを証明します。 決定論的な多項式時間オラクルマシンMには、L_B \ ne L(M …

13
理論計算機科学における代数構造の使用
私はソフトウェアの専門家であり、個人研究用の代数構造に関する調査を書いており、これらの構造が理論的コンピューターサイエンス(およびそれよりも程度は低いが、コンピューターサイエンスの他のサブフィールド)でどのように使用されるかの例を作成しようとしています。 グループ理論の下で、私は形式言語の構文モノイドと、並列/並行コンピューティングのトレースと履歴モノイドに出会いました。 リング理論の観点から、グラフ処理とセミリングベースの解析のためのセミリングフレームワークに出会いました。 私の研究では、モジュール理論から代数構造の使用法をまだ発見していません(そしてそうしたいと思っています)。 さらなる例があり、それらを見つけるのに適切な場所を探していないだけだと思います。 理論的なコンピューターサイエンス(およびコンピューターサイエンスの他のサブフィールド)で一般的に見られる上記のドメインの代数構造の他の例は何ですか?あるいは、これらのトピックをカバーする可能性のある、どのジャーナルまたは他のリソースを推奨できますか?

7
TCSのどの興味深い定理がAxiom of Choiceに依存していますか?(あるいは、決定の公理?)
数学者は、選択の公理(AC)および決定の公理(AD)を心配することがあります。 選択の公理:任意の集合を考える空でない組は、関数があるセットが与えられると、そのにおける、メンバー返し。 f S C SCC{\cal C}fffSSSCC{\cal C}SSS 決定性の公理:を無限に長いビット文字列のセットとする。アリスとボブは、無限の文字列が構築されるまで、アリスが最初のビットを選び、ボブが2番目のビット選ぶというゲームをします。場合、アリスがゲームに勝ち、場合、ボブがゲームに勝ちます。仮定は、すべてのに対して、プレイヤーの1人に勝利戦略があるということです。(たとえば、がすべて1の文字列のみで構成されている場合、Bobは有限数の動きで勝つことができます。)B 1 、B 2、X = B 1 B 2 ⋯ X ∈ S X ∉ SSSSb1b1b_1b2b2b_2x = b1b2⋯x=b1b2⋯x = b_1 b_2 \cdots X ∈ Sx∈Sx \in SX ∉ Sx∉Sx \not \in S SSSSSSS これら2つの公理は互いに矛盾していることが知られています。(それについて考えるか、ここに行きます。) 他の数学者は、証明におけるこれらの公理の使用にほとんど注意を払っていません。私たちは主に有限のオブジェクトで作業していると考えているため、それらは理論的なコンピュータサイエンスとはほとんど無関係のようです。ただし、TCSは計算上の決定問題を無限ビット文字列と定義し、(たとえば)自然の漸近関数としてアルゴリズムの時間の複雑さを測定するため、これらの公理のいずれかの使用が忍び寄る可能性が常にありますいくつかの証拠に。 これらの公理の1つが必要な場所を知っているTCSで最も印象的な例は何ですか?(例を知っていますか?) 少しだけ予言するために、(すべてのチューリングマシンのセットに対する)対角化引数は、選択の公理の適用ではないことに注意してください。チューリングマシンが定義する言語は無限ビット文字列ですが、各チューリングマシンには有限の記述があるため、ここでは無限に多くの無限集合に対して選択関数を実際に必要としません。 (例がどこから来るのかわからないので、多くのタグを付けました。)

7
ある -completeの問題はより本質的に少なく扱いやすい -completeの問題?
現在、大規模な入力の一般的なケースでは、問題または問題のいずれかを解決することは実行不可能です。ただし、どちらも指数時間と多項式空間で解くことができます。P S P A C ENPNPNPPSPACEPSPACEPSPACE 非決定的または「ラッキー」なコンピューターを構築することはできないので、問題がまたは場合、それは私たちに何か違いをもたらしますか?P S P A C ENPNPNPPSPACEPSPACEPSPACE

5
ツリー幅の概念の起源
今日の私の質問は(いつものように)ちょっとばかげています。しかし、私はあなたに親切にそれを考慮するように要請します。 ツリー幅の概念の背後にある起源や動機について知りたいと思いました。FPTアルゴリズムで使用されていることは確かに理解していますが、それがこの概念が定義された理由だとは思いません。 ロビン・トーマス教授のクラスで、このトピックに関する筆記ノートを作成しました。私はこの概念のアプリケーションのいくつかを理解していると思います(ツリーの分離プロパティを分解されたグラフに転送するように)が、何らかの理由で、この概念が開発された理由はグラフの近さを測定することであると確信していません木に。 私は自分自身をより明確にしようとします(できるかどうかはわかりませんが、質問が明確でない場合はお知らせください)。同様の概念が、この概念が「借用」されたと思われる数学の他の分野のどこかに存在したかどうかを知りたい。私の推測はトポロジーになりますが、背景が不足しているため、何も言えません。 私がこのことに興味を抱く主な理由は、その定義を初めて読んだとき、誰がなぜそれをどのように思い、どのような目的で考えるのかわからなかったからです。質問がまだ明確でない場合、私は最終的にこのようにそれを述べてみます-treewidthの概念が存在しないふりをしましょう。離散的な設定に対する自然な質問(またはいくつかの数学の定理/概念の拡張)は、ツリー幅として定義(関連する単語を使用させてください)を思い付くようになります。

5
問題がPまたはBPPにある包括的な理由
最近、物理学者と話すとき、私は経験上、指数関数的な時間がかかるように思われる問題がPまたはBPPにあることが非自明である場合、通常、減少が起こる「包括的な理由」を特定できると主張しました。 ---そしてほとんどの場合、その理由は十数個以下の「通常の容疑者」のリストに属します(例:動的計画法、線形代数...)。しかし、それは私に考えさせられました:実際にそのような理由のまともなリストを書き留めることはできますか?これが最初の不完全な試みです。 (0)数学的特性。問題には、明白な「純粋に数学的な」特性があり、一度知られると、poly(n)の可能性のリストを徹底的に検索できることがすぐにわかります。 例:グラフの平面性。クラトフスキーの定理からO(n 6)アルゴリズムに従います。 (以下の「平面」が指摘するように、これは悪い例でした。平面性の組み合わせ特性を知っていても、多項式時間アルゴリズムを与えることはまだ非常に重要です。ですから、ここでより良い例を置き換えてみましょう。たとえば、「バイナリで記述された入力nが与えられ、n個の穴のある表面に埋め込まれた任意のマップに色を付けるために必要な色の数を計算します。」これが計算可能(または有限です!)しかし、答えを与える既知の公式があり、公式がわかれば、多項式時間で計算するのは簡単です。 P.) とにかく、これは特にありません、ほとんど私に興味状況の一種。 (1)動的プログラミング。 多くの場合、満たされる制約が線形またはその他の単純な順序で配置されるため、指数関数的な爆発なしに再帰的な解決を可能にする方法で問題を分割できます。「純粋な組み合わせ」。代数構造は必要ありません。おそらく、グラフの到達可能性(したがって2SAT)は特殊なケースです。 (2)マトロイド。 問題にはマトロイド構造があり、貪欲なアルゴリズムを機能させることができます。例:マッチング、最小スパニングツリー。 (3)線形代数。 問題は、線形システムの解法、行列式の計算、固有値の計算などに減らすことができます。間違いなく、Valiantのマッチゲート形式によって解決可能な問題を含む「奇跡的なキャンセル」を含むほとんどの問題も線形代数の傘に含まれます。 (4)凸面。 問題は、ある種の凸最適化として表現できます。半正定値計画法、線形計画法、ゼロサムゲームは一般的な(ますます)特殊なケースです。 (5)多項式IDテスト。 代数の基本定理が効率的なランダム化アルゴリズムにつながるように、問題を多項式の同一性のチェックに減らすことができます-場合によっては、素数性のように、証明可能な決定的アルゴリズムにさえなります。 (6)マルコフ連鎖モンテカルロ。 問題は、急速に混合する歩行の結果からのサンプリングに減らすことができます。(例:完全に一致するものをほぼ数えます。) (7)ユークリッドアルゴリズム。 GCD、継続分数... その他/正確に分類する方法が明確ではありません:安定結婚、多項式因子、順列群のメンバーシップ問題、数論および群論における他のさまざまな問題、低次元格子問題... 私の質問は、私が除外した最も重要なことは何ですか? 明確にするために: リストは完全なものではない可能性があることを理解しています:有限の数の理由を与えても、誰かがPにあるエキゾチックな問題を見つけることができますが、それらの理由はありません。その理由もありますが、私は、1つだけの問題で機能するアイデアよりも、PまたはBPPで一見無関係に見える多くの異なる問題を引き起こすアイデアに興味があります。 また、物事をどのように分割するかが主観的であることも認識しています。たとえば、マトロイドは動的プログラミングの特殊なケースにすぎないのでしょうか?深さ優先探索による可解性は、動的プログラミングとは別に、独自の理由として十分に重要ですか?また、見方によっては複数の理由で同じ問題がPに発生することがよくあります。たとえば、線形代数のために主固有値を見つけることはPですが、それは凸最適化問題でもあります。 要するに、私は「分類定理」を望んでいません-効率的なアルゴリズムについて現在知っていることを有用に反映するリストだけのためです。そして、私が最も興味を持っているのは、PまたはBPPに幅広い適用性を持つものを置くためのテクニックですが、上記のリストに収まらないテクニック、または私の自慢をうまくするための私の粗雑な最初の試みを改善するための他のアイデアです物理学者。


3
問題を数えるための驚くべきアルゴリズム
(入力のサイズに関連して)指数関数的に多くのものをカウントすることを伴ういくつかのカウント問題がありますが、驚くべき多項式時間の正確な決定論的アルゴリズムを持っています。例は次のとおりです。 ホログラフィックアルゴリズムの動作の基礎となる、平面グラフ(FKTアルゴリズム)での完全一致のカウント。 グラフ内のスパニングツリーのカウント(キルヒホッフの行列ツリーの定理による)。 これらの例の両方で重要なステップは、特定のマトリックスの行列式を計算するためにカウントの問題を減らすことです。行列式自体はもちろん、指数関数的に多くのものの合計ですが、驚くべきことに多項式時間で計算できます。 私の質問は、行列式の計算に減らない問題を数えるために知られている「驚くほど効率的な」正確で決定論的なアルゴリズムはありますか?

4
(ポリログ空間の代わりに)なぜログ空間を効率的な計算のモデルと考えるのですか?
これは、具体的な答えがあるのではなく、主観的な質問かもしれませんが、とにかくです。 複雑性理論では、効率的な計算の概念を研究します。が多項式時間を表し、Lが対数空間を表すようなクラスがあります。どちらも一種の「効率」として表されると考えられており、いくつかの問題の難しさをかなりうまく捉えています。PP\mathsf{P}LL\mathsf{L} ただし、とLには違いがあります。多項式時間Pは、定数kに対してO (n k)時間で実行される問題の和集合として定義されます。PP\mathsf{P}LL\mathsf{L}PP\mathsf{P}O(nk)O(nk)O(n^k)kkk 、P=⋃k≥0TIME[nk]P=⋃k≥0TIME[nk]\mathsf{P} = \bigcup_{k \geq 0} \mathsf{TIME[n^k]} ログ空間はS P A C E [ log n ]として定義されます。Pの定義を模倣すると、LL\mathsf{L}SPACE[logn]SPACE[log⁡n]\mathsf{SPACE[\log n]}PP\mathsf{P} 、PolyL=⋃k≥0SPACE[logkn]PolyL=⋃k≥0SPACE[logk⁡n]\mathsf{PolyL} = \bigcup_{k \geq 0} \mathsf{SPACE[\log^k n]} ここで、はポリログ空間のクラスと呼ばれます。私の質問は:PolyLPolyL\mathsf{PolyL} 効率的な計算の概念として、ポリログ空間ではなくログ空間を使用するのはなぜですか? 主な問題の1つは、完全な問題セットに関するものです。ログスペースの多対一の削減では、とLの両方に完全な問題があります。対照的に、P o l y Lがそのような削減のもとで完全な問題を抱えている場合、空間階層定理と矛盾します。しかし、ポリログ削減に移行した場合はどうなりますか?このような問題を回避できますか?一般に、P o l y Lを効率の概念に適合させ、(必要に応じて)いくつかの定義を変更して、「素敵な」クラスに必要なすべてのプロパティを取得する場合、どこまで行けますか?PP\mathsf{P}LL\mathsf{L}PolyLPolyL\mathsf{PolyL}PolyLPolyL\mathsf{PolyL} ポリログ領域の代わりにログ領域を使用する理論的および/または実用的な理由はありますか?

5
複雑性理論に保存則はありますか?
いくつかの例から始めましょう。CVPがPにあることを示すのはそれほど簡単ではないが、LPがPにあることを示すのはそれほど難しいのはなぜですか。どちらもP完全な問題です。 または素数を取ります。NPのプライム(Prattが必要)および最終的にはPのプライムよりもNPのコンポジットを表示する方が簡単です。なぜこの非対称性を表示する必要があったのですか? ヒルベルト、創造性の必要性、証拠がNPにあるなどを知っています。しかし、それは、目に見える以上のものがあるという気まぐれな感覚を私が止めることはありません。 「作業」の定量化可能な概念はありますか?複雑性理論には「保存則」がありますか?たとえば、CVPとLPはどちらもP完全であるにもかかわらず、「異なる場所」で複雑さを隠していることを示しています。他の言語の表現可能性。 他の人も気分が悪く、洞察力がありますか?または、私たちはこれを計算の性質であると肩をすくめて言います。 これは、フォーラムに対する私の最初の質問です。 編集: CVPはCircuit Value Problem、LPは線形計画法です。 混乱を指摘してくれたSadeqに感謝します。

7
表示的セマンティクスを構成するものは何ですか?
で、別のスレッド、アンドレイ・バウアーは、表示的意味論を次のように定義されます。 プログラムの意味は、その部分の意味の関数です。 この定義について私を悩ませているのは、一般に非表示的セマンティクス、つまり構造的操作セマンティクスと一般に考えられているものから、表示的セマンティクスと一般に考えられているものを選び出さないように見えることです。 より正確には、ここでの重要な要素は、セマンティクスのモジュール性、または構成性、または別の言い方をすれば、プログラムの抽象的な構造に従って定義されているという事実です。 現在、ほとんどの(すべて?)正式なセマンティクスは構造的である傾向がありますが、これは必須の定義ですか? だから、私の質問は:表示的意味論とは何ですか?

5
チョムスキー階層は古くなっていますか?
Chomsky(–Schützenberger)階層は、理論的なコンピューターサイエンスの教科書で使用されていますが、完全なComplexity Zoo Diagramと比較して、明らかに形式言語(REG、CFL、CSL、RE)のごく一部しかカバーしていません。階層は現在の研究でもう役割を果たしていますか?私はここcstheory.stackexchangeでチョムスキーに少しだけの参照を見つけ、中に複雑動物園の名前チョムスキーとSchützenbergerは一切言及されていません。 現在の研究は、正式な文法以外の記述の他の手段に焦点を合わせていますか?私は、表現力の異なる形式言語を記述する実用的な方法を探していましたが、コンテキストセンシティブ言語(GCSL)と目に見えるプッシュダウン言語(VPL)の両方に出会いました。Chomsky階層を更新してそれらを含めるべきではありませんか?または、複雑なクラスの完全なセットから特定の階層を選択する必要はありませんか?私が理解している限り、チョムスキー階層のギャップに収まる言語のみを選択しようとしました。 REG(= Chomsky 3)⊊VPL⊊DCFL⊊CFL(= Chomsky 2)⊊GCSL⊊CSL(= Chomsky 1)⊊R⊊RE 自然言語処理には実用的な関連性があるように見えますが、「マイルドな文脈依存言語」と「インデックス付き言語」(CFLとCSLの間)がどこに収まるのかはまだわかりません(しかし、実用的な関連性はあまり面白くないです)理論的研究;-)。さらに、GCSL⊊P⊂NP⊂PSPACEおよびCSL⊊PSPACE⊊Rに言及して、有名なクラスPおよびNPとの関係を示すことができます。 私はGCSLとVPLで見つけました: ロバートマクノートン:チョムスキー階層への挿入?で:宝石は永遠に、Arto Salomaaの名誉における理論的コンピューターサイエンスへの貢献。S. 204-212、1999 http://en.wikipedia.org/wiki/Nested_word#References(VPL) また、VPL、DCLF、GCSL、およびインデックス化された文法も扱っている正式な文法に関する最新の教科書を知っていれば幸いです。実用的なアプリケーションへのポインタが望ましいです。

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