タグ付けされた質問 「intuition」

形式的または複雑な概念の直感を構築するのに役立つ質問。

8
対数複雑度のアルゴリズムの直観
、、およびような複雑さを十分に把握していると思います。O(1)O(1)\mathcal{O}(1)Θ(n)Θ(n)\Theta(n)Θ(n2)Θ(n2)\Theta(n^2) リストに関しては、は定数ルックアップなので、リストの先頭を取得するだけです。 はリスト全体を検索する場所であり、はリスト内の各要素に対して1回ずつリストを検索します。O(1)O(1)\mathcal{O}(1)Θ(n)Θ(n)\Theta(n)Θ(n2)Θ(n2)\Theta(n^2) と間のどこかにあることを知る以外に、を把握する同様の直感的な方法はありますか?Θ(logn)Θ(log⁡n)\Theta(\log n)O(1)O(1)\mathcal{O}(1)Θ(n)Θ(n)\Theta(n)

2
PSPACE≠EXPTIMEであると考えるのはなぜですか?
PSPACEが一般的にEXPTIMEと異なると考えられる理由を直感的に理解するのに苦労しています。PSPACEが入力サイズ空間多項式で解ける問題の集合である場合、指数時間の爆発が大きくなり、指数空間を使用しない問題のクラスはどのようになりますか?f(n )f(n)f(n) ユバル・フィルマスの答えはすでに非常に役立ちます。しかし、誰もがそれはなぜ私の緩い引数スケッチできたかもしれない PSPACE≠EXPTIME(すなわちPSPACEはEXPTIMEの適切なサブセットではないこと)というケースもが?入力サイズで多項式的にスケーリングする空間で達成可能なシステム構成の総数の上限を超えるために、指数空間が必要ではないでしょうか?言うまでもなく、なぜEXPTIME≠EXPSPACEが未解決の問題なのかは理解できますが、PSPACEとEXPTIMEの関係については理解できません。

7
対角化よりも停止する問題の決定不能性のより直感的な証拠はありますか?
対角化に基づいて、停止問題の決定不能性の証拠を理解します(たとえば、Papadimitriouの教科書で与えられます)。 証明は説得力がありますが(各ステップを理解しています)、問題だけから始めて誰かがそれを導き出す方法がわからないという意味で、私には直感的ではありません。 本の中で、証拠はこのように書きます:「仮定入力上の停止問題解決、つまり、チューリングマシンかどうかを決定し入力のための停止。チューリングマシンの構築チューリングマシンとる入力としての、を実行し、出力を逆にします。」次に、が満足のいく出力を生成できないことを示します。 M ; x M x D M M H(M ; M )D (D )MHMHM_HM; バツM;xM;xMMMバツxxDDDMMMMH(M; M)MH(M;M)M_H(M;M)D (D )D(D)D(D) 一見arbitrary意的な構成、特にを自分自身に送り、次にを自分自身に送り込むという考えが、直観を持ちたいと思っています。そもそもなぜこれらの構成要素と手順を定義するようになったのですか?M DDDDMMMDDD そもそもそのタイプの議論を知らなかった場合、誰かが対角化議論(または他の証拠)にどのように推論するかについての説明はありますか? 回答の最初のラウンドを与えられた補遺: したがって、最初の答えは、停止問題の決定不能性を証明することは、カンターとラッセルの以前の仕事と対角化問題の開発に基づくものであり、「ゼロから」開始することは単にその議論を再発見することを意味することを指摘しています。 けっこうだ。しかし、対角化の議論を十分に理解されているものとして受け入れたとしても、それから停止する問題への「直観のギャップ」があることがわかります。実数の数え難さのカンターの証明私は実際にかなり直感的だと思う。ラッセルの逆説はさらにそうです。 私がまだ見ていないのは、誰かがの「自己適用」に基づいてを定義し、それからを自分自身に適用する動機付けになることです。これは対角化とはあまり関係がないようです(Cantorの議論にはそのようなものがなかったという意味で)。M M ; M DD (M)D(M)D(M)MMMM; MM;MM;MDDD PS @babouは、自分よりも私を悩ませていることを要約しました。「証明の多くのバージョンの問題は、構造が魔法の帽子から引っ張られているように見えることです。」

2
問題がNP完全である可能性があるかどうかを知るための経験則
この質問はStackOverflowに関するコメントに触発されました。 Garey Johnsonの本や他の多くのNP完全問題を知っていることは別として、問題がNP完全な問題のように見えるかどうかを知るための経験則はありますか? 厳密なものを探しているのではなく、ほとんどの場合に機能するものを探しています。 もちろん、問題がNP完全であること、またはNP完全問題のわずかな変形であることを証明する必要があるたびに。しかし、証明に急いで行く前に、証明の肯定的な結果に一定の自信を持つことは素晴らしいことです。

7
時間複雑度アルゴリズムの特徴は何ですか?
アルゴリズムの時間の複雑さを慎重に調べることで、簡単に特定できる場合があります。 2つのネストされたループを持つアルゴリズムは、明らかにN 2です。2つの値のNグループのすべての可能な組み合わせを探索するアルゴリズムは、明らかに2 Nです。NNNN2N2N^2NNN2N2N2^N しかし、複雑さを持つアルゴリズムを「見つける」方法はわかりません。たとえば、再帰的なマージソートの実装は1つです。mergesortまたは他のΘ (N log N )アルゴリズムの一般的な特性は、分析するときに手がかりになりますか?Θ (NログN)Θ(Nlog⁡N)\Theta(N \log N)Θ (NログN)Θ(Nlog⁡N)\Theta(N \log N) アルゴリズムが複雑ななる方法は複数あると思いますので、ありとあらゆる答えがありがたいです。ところで、厳密な証拠ではなく、一般的な特性とヒントを探しています。Θ (NログN)Θ(Nlog⁡N)\Theta(N \log N)

4
TCSを理解する上で立ち往生するための戦略
私は大学院生であり、計算理論のコースを受講しており、求められるとコンテンツを作成するのが大変です。教科書(マイケル・シプサーによる計算理論入門)と講義をフォローできます。しかし、何かを証明するか、特定のTMの正式な説明を考え出すように求められたとき、私はただ窒息します。 そのような状況で私は何ができますか?私の問題は、抽象概念を実際に使用できる程度まで完全に理解することだと思います。新しい抽象的な概念にアプローチし、最終的に直感を構築するための構造化された方法はありますか?

2
「依存型」を持つことで何が得られますか?
依存型(DT)を適切に理解していると思いましたが、この質問への回答:https : //cstheory.stackexchange.com/questions/30651/why-was-there-a-need-for-martin-l%C3% B6f-to-create-intuitionistic-type-theoryは、そうでなければ考えさせられました。 DTを読み、それらが何であるかを理解しようとした後、このDTの概念によって何が得られるのだろうかと考えています。「方法/理由」を正確に理解することはできませんが、単純に型付けされたラムダ計算(STLC)よりも柔軟で強力なようです。 STLCではできないDTでできることは何ですか?DTを追加すると理論がより複雑になりますが、どのような利点がありますか? 上記の質問に対する答えから: 依存型は、BruijnとHowardによって提案され、Courry-Howardの対応を命題論理から1次論理に拡張したいと考えました。 これはあるレベルでは理にかなっているように見えますが、それでも「どうして/なぜ」という大局を理解することはできません。たぶん、FOロジックへのCHの対応のこの拡張を明示的に示す例は、DTで何が大事なのかを理解する上で重要なポイントを見つけるのに役立つでしょうか?これを理解すべきかどうかは定かではありません。

3
入力サイズを大きくするとインスタンスが難しくなるのはなぜですか?
以下では、無限テープチューリングマシンで作業していると仮定します。 時間の複雑さの概念を誰かに説明し、なぜそれがインスタンスの入力サイズに対して測定されるのかを説明するとき、私は次の主張に出くわしました。 [..]たとえば、2つの整数に3ビットを掛けるよりも、2つの整数に100000ビットを掛けるのに多くのステップが必要になるのは自然です。 主張は説得力がありますが、どういうわけか手を振っています。私が出会ったすべてのアルゴリズムで、入力サイズが大きいほど、必要なステップが多くなります。より正確に言えば、時間の複雑さは入力サイズの単調増加関数です。 時間の複雑さが常に入力サイズの増加関数であるということですか?もしそうなら、なぜそうなのですか?手を振る以上の証拠はありますか?

1
絞り込みタイプの推測
職場では、動的言語に関する型情報を推論する必要があります。次のように、ステートメントのシーケンスをネストされたlet式に書き換えます。 return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } 一般的なタイプ情報から始めて、より具体的なタイプを推測しようとしているので、自然な選択は絞り込みタイプです。たとえば、条件演算子は、trueブランチとfalseブランチの型の和集合を返します。単純なケースでは、非常にうまく機能します。 ただし、次のタイプを推測しようとしたときに、思わぬ障害に遭遇しました。 function …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

1
認識可能なチューリング=>列挙可能
列挙子からチューリングマシンへの移行の証明を取得します(列挙子を実行し続け、それが入力と一致するかどうかを確認します)。 私のメモと本(計算理論入門-Sipser)によると、チューリングマシンからチューリング列挙子を取得するには、基本的にすべてのアルファベットの組み合わせを記述します。次に、この入力でTMを実行し、それが出力を受け入れる場合は、新しい文字列の繰り返し広告を無限に置き換えます。 私が抱えている問題は確かにこれは言語が決定可能である必要があります。そうしないと、受け入れたり拒否したりせず、言語全体を出力することが決してない運命にあるいくつかの無限ループの3番目の単語にスタックする可能性があります。 何が欠けていますか?

3
画像処理における畳み込みの直感
私は画像処理における畳み込みに関する多くの文書を読みました、そしてそれらのほとんどはその公式、いくつかの追加のパラメーターについて述べています。画像の畳み込みを行うことの背後にある直感と本当の意味を説明する人はいません。たとえば、グラフ上の導出の直感は、たとえば、それをより線形にします。 定義の簡単な要約は次のとおりだと思います。たたみ込みは、画像とカーネルの間の乗算された重複四角形であり、その合計が再びアンカーに入れられます。そして、これは私には何の意味もありません。 よると、コンボリューションについては、この記事の畳み込みは、いくつかの「信じられない」ことを行うことができますなぜ私が想像することはできません。たとえば、このリンクの最後のページでのラインとエッジの検出。適切なコンボリューションカーネルを選択するだけで、素晴らしい効果が得られます(ラインの検出またはエッジの検出)。 それをどのように行うことができるかについて、誰かが何らかの直感を提供できますか(きちんとした証拠である必要はありません)。

3
言語が規則的であると直感的に感じる方法
言語与えられた場合、この言語は規則的でないと、プロダクションルールを調べずに直接どのように言えますか?L = { aんbんcん}L={anbncn} L= \{a^n b^n c^n\} ポンピングレンマを使用することもできますが、これは通常の文法ではないと文法を見ているだけの人もいます。どのようにして可能ですか?

5
言語が認識可能、共認識可能、または決定可能であるかどうかを確認するにはどうすればよいですか?
証明を行わずに言語Lを使用している場合、それが認識可能か、共認識可能か、または決定可能かを判断する方法はありますか? 基本的に、伝えるために使用できるヒントやトリック。それとも、それがどの種類であるかを知るために検索する一般的なパターンですか?

4
オイラーパスを見つけるのはハミルトニアンパスを見つけるのにPではないことを理解するのは直感的ですか?
よくわかりません。私が理解していることから、エッジと頂点は互いに補完的であり、この違いが存在することは非常に驚くべきことです。 実際にハミルトニアンパスを見つけることは、オイラーパスを見つけるよりもはるかに難しいことを確認するための良い/迅速/簡単な方法はありますか?

1
等式タイプ別名J公理の消去規則
私はラムダ計算のインタープリターを実装していますが、今度は等式タイプを追加したいと思います。それの導入ルールは簡単ですが、除去ルールは私にはかなりあいまいです。この stackoverflowスレッドを見つけましたが、J公理を1文だけで説明しています。どのように直感的に理解できますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.