タグ付けされた質問 「reference-question」

予約済み-ほとんどの新しい質問には使用しないでください。証明方法、アルゴリズム分析用のツール、コンピューターアーキテクチャの基本など、一般的な方法と概念に関する広い範囲の質問。これは、参考文献、つまり本や記事を求める質問のためのものではありません。

7
、、 -completeおよび -hard の定義は何ですか?
私はコンピューティングと複雑性についてのコースを受講しており、これらの用語の意味を理解することができません。 私が知っているのは、NPがNP完全のサブセットであり、NP完全のサブセットであるということだけですが、それらが実際に何を意味するのかわかりません。Wikipediaは、説明がまだ高すぎるため、あまり役に立ちません。

3
アルゴリズム分析の魔法の背後にあるシステムはありますか?
アルゴリズムの実行時間を分析する方法については、多くの質問があります(たとえば、ランタイム分析およびアルゴリズム分析を参照)。多くは似ています。たとえば、ネストされたループのコスト分析や、分割統治アルゴリズムを求めるものですが、ほとんどの答えはオーダーメイドのようです。 一方、別の一般的な質問への回答では、いくつかの例を使用してより大きな全体像(特に漸近解析に関する)を説明していますが、手を汚す方法はありません。 アルゴリズムのコストを分析するための構造化された一般的な方法はありますか?コストは、実行時間(時間の複雑さ)、または実行された比較の数、スペースの複雑さなどのコストのその他の尺度である場合があります。 これは、初心者を指すのに使用できる参照質問になるはずです。したがって、通常よりも広い範囲です。少なくとも1つの例で説明されているが、多くの状況をカバーする、一般的で教訓的に提示された答えを与えるように注意してください。ありがとう!

4
有限オートマトンを正規表現に変換する方法は?
正規表現を同じ言語を受け入れる(最小限の)NFAに変換することは、Thompsonのアルゴリズムなどの標準アルゴリズムを使用すると簡単です。しかし、他の方向はより面倒であるように思われ、結果の表現が面倒な場合があります。 NFAを同等の正規表現に変換するためのアルゴリズムは何ですか?時間の複雑さや結果のサイズに関して利点はありますか? これは参考質問になるはずです。メソッドの一般的な説明と重要な例を含めてください。

5
P = NPを解決しない方法
またはいずれかを証明しようとする試みは数多くあり、当然、多くの人がどちらの方向を証明するためのアイデアを持っているかを考えています。P ≠ N PP=NPP=NP\mathsf{P} = \mathsf{NP} P≠NPP≠NP\mathsf{P} \neq \mathsf{NP} 私は、機能しないことが証明されているアプローチがあることを知っています。そして、おそらく失敗した歴史のあるものがもっとあります。また、多くの証明の試みが克服できない、いわゆる障壁があるようです。 行き止まりの調査を避けたいのですが、それは何ですか?

3
使用する時間の複雑さの分析の表記をどのように知るのですか?
ほとんどの入門アルゴリズムクラスでは、(Big O)やような表記法が導入されており、学生は通常、これらのいずれかを使用して時間の複雑さを見つけることを学びます。OOOΘΘ\Theta ただし、、およびなどの他の表記法があります。ある表記法が別の表記法よりも望ましい特定のシナリオはありますか?oooΩΩ\Omegaωω\omega

11
数列の再帰関係の解決または近似
コンピューターサイエンスでは、再帰関係を解決する必要があります。これは、再帰的に定義された一連の数値の閉じた形式を見つけることです。ランタイムを検討する際、主にシーケンスの漸近的成長に主に興味があります。 例は 本体が時間f (n )を要するnから000まで下にステップする末尾再帰関数のランタイム:nnnf(n)f(n)f(n) T(0)T(n+1)=0=T(n)+f(n)T(0)=0T(n+1)=T(n)+f(n)\qquad \begin{align} T(0) &= 0 \\ T(n+1) &= T(n) + f(n) \end{align} フィボナッチ数列: F0F1Fn+2=0=1=Fn+Fn+1F0=0F1=1Fn+2=Fn+Fn+1\qquad \begin{align} F_0 &= 0 \\ F_1 &= 1 \\ F_{n+2} &= F_n + F_{n+1} \end{align} n個の括弧ペアを持つDyckワードの数:nnn C0Cn+1=1=∑i=0nCiCn−iC0=1Cn+1=∑i=0nCiCn−i\qquad\begin{align} C_0 &= 1 \\ C_{n+1}&=\sum_{i=0}^{n}C_i\,C_{n-i} \end{align} 長さリストに対するmergesortランタイムの繰り返しnnn: T(1)T(n)=T(0)=0=T(⌊n/2⌋)+T(⌈n/2⌉)+n−1T(1)=T(0)=0T(n)=T(⌊n/2⌋)+T(⌈n/2⌉)+n−1\qquad \begin{align} T(1) &= T(0) = 0 …

5
言語がコンテキストフリーではないことを証明するにはどうすればよいですか?
コンテキストフリー言語のクラスについて学びました。コンテキストフリーの文法とプッシュダウンオートマトンの両方が特徴であるため、特定の言語がコンテキストフリーであることを簡単に示すことができます。CFLCFL\mathrm{CFL} しかし、どのように反対を見せますか?私のTAは、そうするためには、すべての文法(またはオートマトン)に対して、手元の言語を記述できないことを示さなければならないことを固く主張しています。これは大きなタスクのようです! ポンピング補題について読んだことがありますが、本当に複雑に見えます。

10
言語が規則的でないことを証明する方法は?
通常の言語のクラスについて学びました。正規表現、有限オートマトン、左線形文法のいずれか1つの概念が特徴であるため、特定の言語が正規であることを簡単に示すことができます。R E GREG\mathrm{REG} しかし、どのように反対を見せますか?私のTAは、そうするためには、すべての正規表現(またはすべての有限オートマトン、またはすべての左線形文法)に対して、手元の言語を記述できないことを示さなければならないことを固く主張しています。これは大きなタスクのようです! ポンピング補題について読んだことがありますが、本当に複雑に見えます。 これは、通常の証明方法と応用例を集めた参考質問であることを意図しています。コンテキストフリー言語に関する同じ質問については、こちらをご覧ください。

6
数値の基本的な操作に一定の時間がかかると仮定するにはどうすればよいですか?
通常、アルゴリズムでは、数値の比較、加算、減算を気にしません-それらが時間実行されると仮定します。たとえば、比較ベースの並べ替えがであると言うときにこれを想定しが、数値が大きすぎてレジスタに収まらない場合、通常は配列として表現するため、基本操作には要素ごとに追加の計算が必要です。O (n log n )O(1)O(1)O(1)O(nlogn)O(nlog⁡n)O(n\log n) で2つの数値(または他のプリミティブな算術関数)の比較ができることを示す証拠はありますか?そうでない場合、比較ベースの並べ替えがと言っているのはなぜですか?O (n log n )O(1)O(1)O(1)O(nlogn)O(nlog⁡n)O(n\log n) SOの質問に答えたときにこの問題が発生し、遅かれ早かれbig-intを処理する必要があるため、アルゴリズムがはないことに気付きました。また、擬似多項式時間アルゴリズムではなく、でした。PO(n)O(n)O(n)PPP

1
LL文法とLR文法の言語理論的比較
LR(k)パーサーはLL(k)パーサーよりも強力であるとよく言われます。これらの声明はほとんどの場合あいまいです。特に、固定またはすべてのkの和集合のクラスを比較する必要がありますか?では、状況はどうですか?特に、LL(*)がどのように適合するかに興味があります。kkkkkk 私の知る限り、LLパーサーとLRパーサーが受け入れるそれぞれの文法セットは直交しているため、それぞれの文法セットによって生成される言語について話しましょう。ましょによって解析することができる文法によって生成される言語のクラス示すLのR (K )パーサ、および他のクラスの類似します。LR(k)LR(k)LR(k)LR(k)LR(k)LR(k) 次の関係に興味があります。 LL(k)⊆?LR(k)LL(k)⊆?LR(k)LL(k) \overset{?}{\subseteq} LR(k) ⋃∞i=1LL(k)⊆?⋃∞i=1LR(k)⋃i=1∞LL(k)⊆?⋃i=1∞LR(k)\bigcup_{i=1}^{\infty} LL(k) \overset{?}{\subseteq} \bigcup_{i=1}^{\infty} LR(k) ⋃∞i=1LL(k)=?LL(∗)⋃i=1∞LL(k)=?LL(∗)\bigcup_{i=1}^{\infty} LL(k) \overset{?}{=} LL(*) LL(∗)∘?⋃∞i=1LR(k)LL(∗)∘?⋃i=1∞LR(k)LL(*) \overset{?}{\circ} \bigcup_{i=1}^{\infty} LR(k) これらのいくつかはおそらく簡単です。私の目標は、「完全な」比較を収集することです。参考文献を歓迎します。

8
言語が正規であることを証明する方法は?
言語が正規ではないことを証明する方法はたくさんありますが、一部の言語が正規であることを証明するにはどうすればよいですか? たとえば、が規則的であると指定された場合、次のも規則的であることをどのように証明できますか?L ′LLLL′L′L' L′:={w∈L:uv=w for u∈Σ∗∖L and v∈Σ+}L′:={w∈L:uv=w for u∈Σ∗∖L and v∈Σ+}\qquad \displaystyle L' := \{w \in L: uv = w \text{ for } u \in \Sigma^* \setminus L \text{ and } v \in \Sigma^+ \} これを証明するために非決定的な有限オートマトンを描画できますか?



1
アルゴリズム、言語、問題の違いは何ですか?
このサイトでは、人々はしばしば「アルゴリズム」と「問題」を混乱させるために他の人を修正するようです。これらの違いは何ですか?アルゴリズムを検討し、問題を検討する時期を知るにはどうすればよいですか?そして、これらは形式言語理論における言語の概念とどのように関係していますか?

4
互いに問題を減らすための一般的なテクニックは何ですか?
計算可能性と複雑さの理論(およびおそらく他の分野)では、縮約は遍在しています。そこに多くの種類がありますが、原理は同じまま:1の問題というのショー他のいくつかの問題として、ハードとして少なくともあるからのマッピングのインスタンスによる内の溶液と同等のものに。基本的に、プリプロセッサとしてリダクション関数を使用できるようにすると、ソルバーはすべてを解決できることを示します。L 2 L 2 L 1 L 1 L 2L1L1L_1L2L2L_2L2L2L_2L1L1L_1L1L1L_1L2L2L_2 私は長年にわたって削減のシェアを実行してきましたが、何かが私を悩ませ続けています。すべての新しい削減には(多かれ少なかれ)創造的な構築が必要ですが、タスクは繰り返し感じることができます。正規のメソッドのプールはありますか? 削減関数を構築するために定期的に使用できるテクニック、パターン、およびトリックは何ですか? これは参照質問になると思われます。したがって、少なくとも1つの例で説明されているが、多くの状況をカバーする、一般的で教訓的に提示された答えを与えるように注意してください。ありがとう!

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