コンピュータサイエンス

コンピュータサイエンスの学生、研究者、実務家のためのQ&A

2
対角化、自己参照、または還元性以外の理由で決定できないことがわかっている特定の問題はありますか?
私が知っている決定できない問題はすべて、次のカテゴリのいずれかに該当します。 対角化のために決定できない問題(間接的な自己参照)。これらの問題は、停止する問題のように、言語の意図された決定者を使用して、動作が矛盾につながるTMを構築できるため、決定できません。また、コルモゴロフの複雑さに関する多くの未決定の問題をこのキャンプにまとめることもできます。 直接的な自己参照のために決定できない問題。たとえば、ユニバーサル言語は、次の理由で決定不能であることが示されます:決定可能であれば、Kleeneの再帰定理を使用して、独自のエンコーディングを取得するTMを構築し、独自の入力を受け入れるかどうかを尋ねることができます、その後、逆を行います。 既存の未決定の問題からの削減のために決定できない問題。ここでの良い例には、通信後問題(停止問題からの削減)とEntscheidungsproblemが含まれます。 計算可能性理論を生徒に教えるとき、多くの生徒もこれを取り上げて、最終的に何らかの自己参照の策略にさかのぼることなく決定できない問題があるかどうかを尋ねます。TMの数を言語の数に関連付ける単純なカーディナリティの議論によって、決定的でない問題が無限に多いことを非構造的に証明できますが、これは決定できない言語の具体例を示していません。 上記にリストされていない理由で決定できない言語がありますか?もしそうなら、それらは何であり、どのような技術がそれらの決定不能性を示すために使用されましたか?

1
与えられた長さの通常の言語の単語数の漸近
通常の言語場合、をの長さ単語数とします。ジョーダン正準形(の一部のDFAの注釈なし遷移行列に適用)を使用すると、十分に大きい、 ここで、は複素多項式で、は複素「固有値」です。(小さい、という形式の追加の項があり。ここで、および場合、はですC N(L )L N L N C N(L )= kのΣを iは= 1つの P I(N )λをN I、P I λ I N CとK [ N = K ] [ N = K ] 1 N = k 0LLLcn(L )cn(L)c_n(L)LLLnnnLLLnnncn(L )= ∑i = 1kP私(n )λn私、cn(L)=∑i=1kPi(n)λin, c_n(L) = \sum_{i=1}^k P_i(n) \lambda_i^n, P私PiP_iλ私λi\lambda_innnCk[ n …

1
これらの文字列操作をサポートする「文字列スタック」データ構造はありますか?
次の操作を実行できる文字セット文字列セットを格納するデータ構造を探しています。文字列のセットSを格納するデータ構造としてD(S )を示します。ΣΣ\SigmaD(S)D(S)\mathcal{D}(S)SSS Add-Prefix-Set上に:いくつかのセットの所定のT大き定数によって制限され、その文字列の長さが一定で、戻りによって囲まれている文字列(空)の、D({ T Sを| T ∈ T 、S ∈ S } )。これらの境界定数は両方ともグローバルです。これらはすべての入力Tで同じです。D(S)D(S)\mathcal{D}(S)TTTD({ts | t∈T,s∈S})D({ts | t∈T,s∈S})\mathcal{D}( \{ t s\ |\ t \in T, s \in S\} )TTT Get-Prefixes上の:リターン{ | S ∈ S 、∈ Σ }。O (| Σ |)時間でその内容を列挙できる限り、このセットにどの構造が使用されるかはあまり気にしないことに注意してください。D(S)D(S)\mathcal{D}(S){a | as∈S,a∈Σ}{a | as∈S,a∈Σ}\{ a \ | \ as \in S, …

1
順序付け前、順序付け、順序付けのどの組み合わせがユニークですか?
私たちは、予約注文を知っています、 post L(x) => [x] post N(x,l,r) => (post l) ++ (post r) ++ [x] 先行予約 pre L(x) => [x] pre N(x,l,r) => [x] ++ (pre l) ++ (pre r) 順序通りのトラバーサル応答。順次化。 in L(x) => [x] in N(x,l,r) => (in l) ++ [x] ++ (in r) ペアごとに異なるキー/ラベルを想定していても、どちらも特定のツリーを一意に記述していないことは簡単にわかります。 そのために3つのどの組み合わせを使用できますか。 肯定的な答えには、ツリーを再構成するための(効率的な)アルゴリズムと、それが正しい理由の証明(アイデア)が含まれている必要があります。負の答えは、反例、つまり、同じ表現を持つ異なるツリーを提供する必要があります。

4
教師あり学習と教師なし学習の違いは何ですか?
クラスタリング方法を理解しようとしています。 私が理解したと思うII: 教師あり学習では、計算前に既知のカテゴリ/ラベルデータが割り当てられます。そのため、これらのクラスターにとって本当に重要なパラメーターを「学習」するために、ラベル、クラス、またはカテゴリーが使用されています。 教師なし学習では、クラスターを認識せずに、データセットがセグメントに割り当てられます。 つまり、どのパラメーターがセグメンテーションに重要であるかさえわからない場合、教師あり学習を好む必要があるということですか?

4
固定小数点コンビネーター(Yコンビネーター)の明確で直感的な派生?
(型なし)ラムダ計算()の固定小数点コンビネータFIX(別名Yコンビネータ)は次のように定義されます:λλ\lambda FIX≜λf.(λx.f (λy.x x y)) (λx.f (λy.x x y))≜λf.(λx.f (λy.x x y)) (λx.f (λy.x x y))\triangleq \lambda f.(\lambda x. f~(\lambda y. x~x~y))~(\lambda x. f~(\lambda y. x~x~y)) 私はその目的を理解しており、アプリケーションの実行を完全にトレースできます。最初の原理からFIXを導き出す方法を理解したいです。 ここに私がそれを自分で導き出そうとしたときに得られる限りです: FIXは関数です:FIX ≜λ…≜λ…\triangleq \lambda_\ldots FIXは、別の関数fffを使用して再帰的にします。FIX ≜λf.…≜λf.…\triangleq \lambda f._\ldots 関数fの最初の引数は、関数fffの「名前」であり、再帰的アプリケーションが意図されている場合に使用されます。したがって、fの最初の引数の出現はすべてfff関数で置き換えられる必要があり、この関数はfの残りの引数を期待する必要がありますfff(fffが1つの引数を取ると仮定しましょう):FIX ≜λf.…f (λy.…y)≜λf.…f (λy.…y)\triangleq \lambda f._\ldots f~(\lambda y. _\ldots y) これは、推論の「一歩を踏み出す」方法がわからない場所です。小さな楕円は、FIXがどこに欠けているかを示します(ただし、それを「実際の」FIXと比較することによってしか知ることができません)。 私は既にタイプとプログラミング言語を読んでいますが、それは直接派生しようとせず、代わりに派生物についてリトルスキーマーを読者に紹介しています。私もそれを読みましたが、その「派生」はあまり役に立ちませんでした。さらに、直接的な派生ではなく、非常に具体的な例の使用と、\ lambdaに適切な再帰関数を記述するためのアドホックな試みλλ\lambdaです。

3
SATインスタンスの難易度を測定する
SATのインスタンスが与えられた場合、そのインスタンスを解決するのがどれほど難しいかを推定したいと思います。 1つの方法は既存のソルバーを実行することですが、そのようなことは難易度を推定する目的に反します。2番目の方法は、ランダムSATのフェーズ遷移で行われるように、変数に対する句の比率を調べることですが、より良い方法が存在するはずです。 SATのインスタンスを考えると、難易度を測定するための高速なヒューリスティックがありますか?唯一の条件は、これらのヒューリスティックがインスタンスで既存のSATソルバーを実際に実行するよりも高速であることです。 関連する質問 どのSATの問題は簡単ですか?cstheory.SEで。この質問では、扱いやすいインスタンスのセットについて尋ねられます。これは似たような質問ですが、まったく同じではありません。単一のインスタンスが与えられ、そのインスタンスが解決するのが難しいものであるかどうかのある種の半インテリジェントな推測を行うヒューリスティックに本当に興味があります。

4
線形時間でスーパースターを見つける方法は?
有向グラフを検討してください。ノードから他のノードに到達できないが、他のすべてのノードにへのエッジがある場合にのみ、ノードスーパースターを呼び出します。正式に:vvvv vvv \qquad \displaystyle v superstar :⟺outdeg(v)=0∧indeg(v)=n−1 superstar :⟺outdeg(v)=0∧indeg(v)=n−1 \text{ superstar } :\Longleftrightarrow \mathrm{outdeg}(v) = 0 \land \mathrm{indeg}(v) = n-1 グラフ内のノードの数。たとえば、下のグラフでは、塗りつぶされていないノードはスーパースターです(他のノードはそうではありません)。nnn [ ソース ] 時間で有向グラフのすべてのスーパースターをどのように識別できますか?適切なグラフ表現は、通常の候補から選択できます。問題の複雑さを前処理に移す表現の使用は控えてください。O(n)O(n)\mathcal{O}(n) 密度に関する仮定はできません。グラフにスーパースターが含まれているとは想定していません。存在しない場合、アルゴリズムはそれを認識する必要があります。 表記法:はノードの発信エッジの数であり、は着信エッジでも同様です。、I 、N 、D 、E 、Goutdegoutdeg\mathrm{outdeg}indegindeg\mathrm{indeg}

2
二分木を数える
(私は数学的な背景を持つ学生で、特定の種類の二分木の数を数える方法を知りたいです。) バイナリツリーの Wikipediaページを見ると、サイズルート化バイナリツリーの数はこのカタロニア語番号であるというこの主張に気付きました: C_n = \ dfrac {1} {n + 1} {2n \ choose n}nnnCn=1n+1(2nn)Cn=1n+1(2nn)C_n = \dfrac{1}{n+1}{2n \choose n} しかし、私は自分でそのような結果をどのように思い付くことができるのか理解できませんか?この結果を見つける方法はありますか? さて、サブツリーの順序(左、右)が考慮されない場合はどうなりますか?たとえば、私の観点から、これら2つのツリーは同じであると考えています。 /\ /\ /\ /\ 同様の方法を適用して、これらのオブジェクトのうち正確にnnnノードを持つオブジェクトの数をカウントすることは可能でしょうか?

6
要素の繰り返しなしでペアのセットから組み合わせを生成する
ペアのセットがあります。各ペアの形式は(x、y)で、x、yは範囲の整数に属します[0,n)。 したがって、nが4の場合、次のペアがあります。 (0,1) (0,2) (0,3) (1,2) (1,3) (2,3) 私はすでにペアを持っています。次に、n/2整数が繰り返されないようにペアを使用して組み合わせを作成する必要があります(つまり、各整数は最終的な組み合わせで少なくとも1回出現します)。理解を深めるための正しい組み合わせと間違った組み合わせの例を次に示します 1. (0,1)(1,2) [Invalid as 3 does not occur anywhere] 2. (0,2)(1,3) [Correct] 3. (1,3)(0,2) [Same as 2] ペアができたら、可能性のあるすべての組み合わせを生成する方法を誰かが提案できますか?


7
BFS / DFSを使用して木の直径を見つけるアルゴリズム。なぜ機能するのですか?
このリンクは、BFS / DFSを使用して無向木の直径を見つけるためのアルゴリズムを提供します。要約: グラフ内のノードsでBFSを実行し、最後に検出されたノードuを記憶します。最後に検出されたノードvを思い出して、uからBFSを実行します。d(u、v)は木の直径です。 なぜ機能するのですか? このページ2には理由がありますが、混乱を招きます。証明の最初の部分を引用しています: グラフ内のノードsでBFSを実行し、最後に検出されたノードuを記憶します。最後に検出されたノードvを思い出して、uからBFSを実行します。d(u、v)は木の直径です。 正しさ:d(a、b)が木の直径になるように、aとbを2つのノードとします。aからbへの一意のパスがあります。tをBFSによって検出されたそのパス上の最初のノードとします。sからuへのパスとaからbへのがエッジを共有しない場合、tからuへのパスにはsが含まれます。そうp1p1p_1p2p2p_2 d(t,u)≥d(s,u)d(t,u)≥d(s,u)d(t,u) \ge d(s,u) d(t,u)≥d(s,a)d(t,u)≥d(s,a)d(t,u) \ge d(s,a) ....(さらに不等式が続きます..) 不平等は私には意味がありません。

2
問題がNP完全であることを証明するために、問題間の縮約を構築するにはどうすればよいですか?
私は複雑なコースを取っているのですが、NPCの問題を減らすのに苦労しています。問題間の削減を見つけるにはどうすればよいですか?使用できる一般的なトリックはありますか?問題がNPCであることを証明するように要求する問題にどのようにアプローチすればよいですか?


2
スーパーマーケットで妻を見つけるにはどうすればいいですか?
2人が迷路で迷子になった場合、どちらのアルゴリズムを使用するかを事前に合意することなく、お互いを見つけるために使用できるアルゴリズムはありますか? このアルゴリズムにはいくつかの特徴があると思います。 各人は、他の人が何を決定しているかについての仮定を行わないロジックを使用してそれを導出できる必要がありますが、各人は他の人が同じ位置にいることを知っているので、他の人が決定しなければならないものについて推論することができます。 状況に完全な対称性があるため、両方のユーザーが同一のアルゴリズムを導出する必要があります(どちらも相手の開始位置に関する知識がなく、迷路は固定サイズであり、両方によって完全にマップされます)。アルゴリズムは決定論的である必要はないことに注意してください:ランダム化することができます。

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