理論計算機科学

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

7
TCSのカテゴリー理論の堅実な応用?
私はいくつかのカテゴリー理論を学んでいます。それは確かに物事を見る別の方法です。(それを見たことがない人のための非常に大まかな要約:カテゴリー理論は、オブジェクト間の機能的関係の観点のみであらゆる種類の数学的行動を表現する方法を提供します。例えば、2セットのデカルト積のようなものは、セットのメンバーである要素の観点からではなく、他の関数がそれとともにどのように動作するか) カテゴリ理論はプログラミング言語/ロジック(「理論B」)側で有用であるという漠然とした理解があり、どの程度のアルゴリズムと複雑さ(「理論A」)が役立つか疑問に思っています。しかし、理論Bのカテゴリ理論の確かな応用を知っていれば、それは私が着手するのに役立つかもしれません(理論Aにはこれまで見つかった応用はないことをすでに暗黙のうちに仮定していますが、それらのいくつかがあれば、それは私にとっては良い!) 「確実なアプリケーション」とは、次のことを意味します。 (1)アプリケーションはカテゴリ理論に強く依存しているため、機械を使用せずに達成することは非常に困難です。 (2)アプリケーションは、カテゴリー理論の少なくとも1つの非自明な定理(たとえば、米田の補題)を呼び出します。 (1)は(2)を暗示している可能性がありますが、これらが「実際の」アプリケーションであることを確認したいと思います。 「理論B」の背景はありますが、しばらく経っていますので、専門用語の削除は大歓迎です。 (回答の種類によっては、後でこの質問をコミュニティWikiに変えることもあります。しかし、説明が十分にある優れたアプリケーションが本当に欲しいので、回答者に何かに報酬を与えないのは残念に思えます。)

30
下書きがオンラインで入手できる最近のTCSブックは何ですか?
「誰が読むべき本」という投稿に続いて、ドラフトがオンラインで入手できる最近の本があることに気付きました。 たとえば、上記の投稿の「近似アルゴリズム」エントリには、「近似アルゴリズムの設計」というタイトルの 2011年の本(まだ出版されていません)が引用されています。 最近の作品を知ることは、TCSのトレンドを味わいたい人にとって本当に役立つと思います。下書きが利用できる場合、実際に購入する前に本を確認できます。 そう、 下書きがオンラインで入手できる最近のTCSブックは何ですか? ここで、「最近」とは、5年以内のものを意味します。

6
グラフ(D *、D * -Lite、LPA *など)を変更するための最先端の経路探索アルゴリズムはどのように異なりますか?
近年、グラフの変化に応じてA *よりもはるかに高速に最適なパスを計算できる多くのパスファインディングアルゴリズムが開発されています。それらは何で、どのように違いますか。それらはさまざまな状況のためですか、それとも時代遅れのものですか? これらは私がこれまでに見つけたものです: D *(1994) フォーカスD *(1995) DynamicSWSF-FP(1996) LPA(1997) LPA * /インクリメンタルA *(2001) D * Lite(2002) SetA *(2002) HPA *(2004) いつでもD *(2005) PRA *(2005) フィールドD *(2007) シータ*(2007) HAA *(2008) GAA *(2008) 学習(2009) BDDD *(2009-この論文にアクセスできません:|) インクリメンタルファイ*(2009) GFRA *(2010) MTD * -Lite(2010) ツリー-AA *(2011) これらのどれが私の特定の問題に当てはまるかわかりません-必要に応じてすべて読みますが、誰かが要約を書くことができれば、時間を大幅に節約できます。 私の特定の問題:開始、終了、およびいくつかの壁があるグリッドがあります。現在、開始から終了までの最適なパスを見つけるためにA *を使用しています。 ユーザーが1つの壁を移動すると、パス全体を再計算する必要があります。「移動壁は/パスを再計算」ステップは、行で何回も起こるので、私はすぐに*の完全な反復を実行することなく、最適なパスを再計算することができるようになりますアルゴリズムを探しています。 ただし、私は必ずしもA *の変更を探しているわけではありません。完全に別のアルゴリズムである可能性があります。

15
決定可能性が不明な単純な問題
私は、学部の数学専攻を対象とした講演の準備をしていますが、その一環として、決定可能性の概念について議論することを検討しています。現在、決定可能または決定不能であることがわからない問題の例を挙げたいと思います。このような問題は数多くありますが、今のところ良い例として際立っているものはありません。 決定可能性が開いている、説明が簡単な問題とは何ですか?

5
TCS会議およびワークショップのリスト
できるだけ多くのTCS関連の会議やワークショップのリストを作成する際に助けを求めたいと思います。これを行うための私の主な動機は、より多くの理論的な場所のブログ報道の可能性を計画することです-これらのイベントに参加する特派員を見つけることです それを超えて、このようなリストが誰もが理論の地位のより良い感覚を与えることを願っています。 いくつかの「明白な」会議を含む回答で質問をシードします。回答を自由に編集したり、独自の回答を投稿したりできます。 会議の標準的な略語、会議名、主題、追加のメモ。 コミュニティWikiを対象としています。

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

10
教会とチューリングのテーゼを反証するとはどういう意味ですか?
キャッチーなタイトルでごめんね。私は理解したいのですが、教会とチューリングのテーゼを反証するために何をしなければなりませんか?どこかで読んだことは数学的に不可能です!どうして? チューリング、ロッサーなどは異なる用語を使用して、「計算できるもの」と「チューリングマシンで計算できるもの」を区別しました。 これに関するチューリングの1939年の定義は次のとおりです。 したがって、教会チューリングの論文は次のように述べることができます:すべての効果的に計算可能な機能は計算可能な機能です。 繰り返しになりますが、この推測を否定すると、証明はどのようになりますか?

30
面白いTCS関連の論文など?
あなたが知っている最も面白いTCS関連の出版物は何ですか? 面白いと思われるものだけを含めてください。インテリジェントにユーモラスになるように明示的に作成された作品(たとえば、複雑性理論に関する短いジョークの公開コレクションよりも)が好まれます。ユーモラスな(実際にはユーモラスで、かわいいだけでなく)タイトルの作品も受け入れられます。 「最高の」ものがトップにバブルできるように、回答ごとに1つの作品のみを入力してください。

2
Shorのアルゴリズムの削減は、もともとShorによって発見されましたか?
これは、研究の質問であるというよりも「歴史的な質問」ですが、Peter Shorによって最初に発見された、因数分解のためのShorのアルゴリズムでの順序探索の古典的な縮小でしたか?Shorに先行する削減について説明した論文はありますか、それとも単に「民俗結果」と呼ばれていますか?それとも、同じ論文で単に別のブレークスルーでしたか?

14
複雑性理論にはどのような数学的背景が必要ですか?
私は現在、学部生で、今年卒業する予定です。卒業後、TCSマスター/博士号を取得することを検討しています。私は数学のどの分野がTCS、特に(古典的な)複雑性理論に役立つと考えられているのか疑問に思っています。 複雑性理論を勉強したい人にとって、どの分野が必須だと思いますか?これらの分野をカバーする優れた教科書をご存知ですか。もしそうなら、難易度(入門、卒業など)を含めてください。 複雑性理論であまり使用されていない分野を検討しているが、TCSにとって重要であると考えている場合は、それも参照してください。

7
非常に単純な量子プログラムはどのようなものでしょうか?
世界初のプログラム可能な量子フォトニックチップの発表に照らして、量子エンタングルメントを使用するコンピューター用のソフトウェアはどのようなものになるのだろうと思いました。私が今までに書いた最初のプログラムの1つは for i = 1 to 10 print i next i 擬似コードまたは高級言語で、量子フォトニックチップ(または同様のハードウェア)を利用する、同等の単純さのコードの例を挙げることができますか?従来のプログラミングからエンタングルメントなどへの概念的なジャンプを行うのが困難です。

8
研究論文は読みにくいですか?
この質問はここには合わないかもしれませんが、質問するのに適した場所を見つけることができませんでした(SOで終了しました)。 コンピューターサイエンスに関する研究論文は理解しにくいと思います。もちろん、被験者は複雑です。しかし、私は通常、論文を理解した後、簡単な言葉で誰かにそれを伝え、彼らに理解させることができます。他の誰かがその研究で何が行われたかを教えてくれたら、私も理解しています。 ここで言える最良の例は、SIFTの論文を長い間理解しようとしてきたことです。グーグルでチュートリアルを見つけ、数時間でアルゴリズムを実装する準備ができました。私が論文自体からアルゴリズムを理解しようとした場合、私は思うに数日かかったかもしれません。 私の質問は、これほど理解しにくい研究論文を見つけたのは私だけでしょうか?そうでない場合、どのように対処しますか?あなたのテクニックは何ですか?ヒントを教えてもらえますか?

20
TCSで基本的な役割を果たす「無関係な」数学の例
通常、コンピュータサイエンスに適用されるとは考えられていなかった数学の定理が、最初にコンピュータサイエンスの結果を証明するために使用された例を挙げてください。最良の例は、接続が明らかではなかったものですが、一度発見されると、明らかに「正しい方法」です。 これは、「古典数学へのTCSの適用」という質問の反対方向です。 たとえば、「グリーンの定理と平面グラフでの分離」を参照してください。分離定理(技術的証明を使用して既に知られている)は、多変量計算からのグリーンの定理を使用して再証明されます。 他にどんな例がありますか?

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 …

2
ガウス消去法の実際の時間の複雑さは何ですか?
以前の質問への回答で、「ガウス」消去は時間で実行されるという一般的だが誤った信念に言及しました。アルゴリズムが算術演算を使用することは明らかですが、不注意な実装では指数関数的に多くのビットを持つ数値を作成できます。簡単な例として、次の行列を対角化するとします。O(n3)O(n3)O(n^3)O(n3)O(n3)O(n^3) ⎡⎣⎢⎢⎢⎢⎢⎢⎢211⋮1021⋮1002⋮1⋯⋯⋯⋱⋯000⋮2⎤⎦⎥⎥⎥⎥⎥⎥⎥[200⋯0120⋯0112⋯0⋮⋮⋮⋱⋮111⋯2]\begin{bmatrix} 2 & 0 & 0 & \cdots & 0 \\ 1 & 2 & 0 & \cdots & 0 \\ 1 & 1 & 2 & \cdots & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots\\ 1 & 1 & 1 & \cdots & 2 …

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