コンピュータサイエンス

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

4
グラフ同型問題は解決されましたか?
ウィキペディアのグラフ同型問題ページは、いや、解決されていないことを示しているようです。しかし、私の友人は、グラフ同型の多項式時間アルゴリズムを指摘しました。私は論文の論法を十分に理解していません。 私は、証明のようなものなしに多項式時間アルゴリズムで非常に大まかな試みを行っていますが、続行する前にこの問題にうまく対処できたかどうかを知りたいです。 では、グラフ同型問題は解決されましたか?

2
アルゴリズム時間分析「入力サイズ」対「入力要素」
アルゴリズムの無症候性の上限を分析および説明するために使用するとき、「入力長」および「入力サイズ」という用語とまだ混同されています アルゴリズムの入力長は、多くの種類のデータとあなたが話しているアルゴリズムに依存しているようです。 一部の著者は、入力の長さを入力の表現に必要な文字のサイズに言及しているため、アルゴリズムの入力セットとして使用する場合の「abcde」は6文字の「入力長」になります。 文字の代わりに数字(たとえば整数)がある場合、文字の代わりにバイナリ表現が使用される場合があるため、「入力長」は(入力セットの最大数Lである)として計算されます。 。N∗log(L)N∗log(L)N*log(L) 数字であっても、入力設定されている場合、それらは「決定変数」として「入力長さ」を記述することを他の課題は、範囲内の数値を有する長さNの入力セットに対してので、ある(入力の長さがちょうどNでありますたとえば、サブセットの合計)、または問題を述べるために必要なバイナリの場所の値の数をさらに複雑にします(N ∗ l o g (L )とまったく同じだと思います)0−2320−2320-2^{32}N∗log(L)N∗log(L)N*log(L) そう: アルゴリズムに依存しますか? 各入力長「バージョン」を使用する意味とタイミング 使用するルールを決定するために使用できるルールはありますか?

2
ランダムにマルチセットの2つの拡散した混乱した順列を生成する効率的なアルゴリズム
バックグラウンド \newcommand\ms[1]{\mathsf #1}\def\msD{\ms D}\def\msS{\ms S}\def\mfS{\mathfrak S}\newcommand\mfm[1]{#1}\def\po{\color{#f63}{\mfm{1}}}\def\pc{\color{#6c0}{\mfm{c}}}\def\pt{\color{#08d}{\mfm{2}}}\def\pth{\color{#6c0}{\mfm{3}}}\def\pf{4}\def\pv{\color{#999}5}\def\gr{\color{#ccc}}\let\ss\grnnnビー玉の同一のバッチが2つあるとします。各大理石はccc色のいずれかです(c≤nc≤nc≤n。してみましょうninin_i色のビー玉の数表すiii各バッチでを。 ましょうSS\msSマルチセットである{1,…,1n1,2,…,2n2,…,1c,…,cnc}{1,…,1⏞n1,2,…,2⏞n2,…,1c,…,c⏞nc}\small\{\overbrace{\po,…,\po}^{n_1},\;\overbrace{\pt,…,\pt}^{n_2},\;…,\;\overbrace{\vphantom 1\pc,…,\pc}^{n_c}\}は1つのバッチを表します。で周波数表現、SS\msSまた、のように書くことができる(1n12n2…cnc)(1n12n2…cnc)(\po^{n_1} \;\pt^{n_2}\; … \;\pc^{n_c})。 \ msSの異なる順列の数はSS\msS、多項式によって与えられます: |SS|=(nn1,n2,…,nc)=n!n1!n2!⋯nc!=n!∏i=1c1ni!.|SS|=(nn1,n2,…,nc)=n!n1!n2!⋯nc!=n!∏i=1c1ni!.\left|\mfS_{\msS}\right|=\binom{n}{n_1,n_2,\dots,n_c}=\frac{n!}{n_1!\,n_2!\cdots n_c!}=n! \prod_{i=1}^c \frac1{n_i!}. 質問 ランダムに\ msSの 2つの拡散した混乱した順列PPPおよびQを生成する効率的なアルゴリズムはありますか?(分布は均一でなければなりません。)QQQSS\msS 順列PPPある拡散すべての異なる要素の場合iiiのPPPのインスタンスiiiで略均等に離間されているPPP。 たとえば、\ msS =(\ po ^ 4 \; \ pt ^ 4)= \ {\ po、\ po、\ po、\ po、\ pt、\ pt、\ pt、\ pt \}と仮定しますS=(1424)={1,1,1,1,2,2,2,2}S=(1424)={1,1,1,1,2,2,2,2}\msS=(\po^4\;\pt^4)=\{\po,\po,\po,\po,\pt,\pt,\pt,\pt\}。 {1,1,1,2,2,2,2,1}{1,1,1,2,2,2,2,1}\{\po, \po, \po, \pt, \pt, \pt, …

3
Kleeneスターオペレーターは、なぜKleene 'closure'オペレーターとも呼ばれますか?
cs / programming用語の語源を理解していない場合、それは通常、いくつかの重要な基礎概念を逃したか、誤解したことを意味することがわかりました。 KleeneスターがKleeneクロージャーとも呼ばれる理由がわかりません。非ローカル変数がバインドされているプログラミングのクロージャーに関連していますか? ...リフレクションで、多分、それは閉じた表現形式で書かれたオープンエンドのセットを許可するからでしょうか? ...古き良きゴム製のアヒルを説明する方法で、私は今それがそれであると推測しています、しかしまだ権威ある答えを歓迎します。

2
正規表現のクロスワードはNP困難ですか?
先日、このWebサイトhttp://regexcrossword.com/でだまされていましたが、それを解決する最善の方法は何かと疑問に思いました。 次の問題を多項式時間で解決できますか、それともNP困難ですか? 列にN個、行にM個の正規表現を含むNxMグリッドが与えられた場合、すべての正規表現が満たされるようなグリッドの解を見つけるか、解が存在しないと言います。

1
OSのメモリバルーニング
一部のハイパーバイザーは、バルーニングと呼ばれる方法を使用してメモリ使用量を最適化します(少なくともKVMが呼ぶ方法です)。この方法は、VM間のメモリを重複排除し、共通ページをコピーオンライトで読み取り専用に設定します。 これは、fork呼び出しの反対です。 プロセスに対してOSレベルで実装することは可能ですか(同じサイトで複数のタブを持つChromiumでブラウジングするとき、主にメモリの重複を考えていました)、すでに実装されていますか?

3
割り込み後、プロセッサはどのようにカーネルコードを検出しますか?
割り込みが発生すると、プロセッサは現在のプロセスを横取りし、カーネルコードを呼び出して割り込みを処理します。プロセッサは、カーネルに入る場所をどのようにして知るのですか? 各割り込みラインにインストールできる割り込みハンドラがあることを理解しています。しかし、プロセッサーは「ハードワイヤードロジック」のみを実行するため、割り込みハンドラー自体、またはハンドラーの前に実行されるコードのいずれかを指す定義済みの場所が存在する必要があります(1つの割り込み行に複数のハンドラーがあるため、後者)。

1
Knuthの線形時間乗算アルゴリズムが「カウント」されないのはなぜですか?
乗算アルゴリズムに関するウィキペディアのページには、Donald Knuthによる興味深いものが記載されています。基本的には、フーリエ変換の乗算と対数サイズの乗算の事前計算テーブルを組み合わせることを含みます。線形時間で実行されます。 この記事は、このアルゴリズムのように機能し、「真の」乗算アルゴリズムとは見なされません。さらに重要なことは、乗算を均等なO(n lg n)時間で行えるかどうかは未解決の問題であると考えられていることです! このアルゴリズムのどの詳細が、「真の」乗算アルゴリズムとしてカウントすることを不適格にしますか? 私の推測は次のとおりです。 テーブルの事前計算には、線形時間以上の時間がかかります。一方、それはまだn lg n間に合うようにできるので、それでも印象的なように思えます。 ランダムアクセスはどういうわけか許可されていません。しかし、他のアルゴリズムがハッシュテーブルやポインターなどを使用できるのはなぜですか? 単一の命令で256ビットの乗算を行う256ビットマシンを使用している場合、2 ^ 256を超える要素が存在するまでこのアルゴリズムには意味がありません。一方、union-findでは逆アッカーマン因子に悩まされます。 「線形時間乗算アルゴリズムはありますか?」質問は、より弱いマシンという点で密かにですが、これはほのめかされるだけです。

1
2つのNPDAの可能な交差点の計算
2つのNPDAの交差点に関するRaphaelの提案の支持: ましょうと文脈自由言語についてNPDAをとそれぞれ。我々はそれを知っていると仮定すると、文脈自由である、我々は(事実上)NPDA構築することができ用?A1A1A_1A2A2A_2L1L1L_1L2L2L_2L = L1∩ L2L=L1∩L2L = L_1 \cap L_2AAALLL どんなタイプのアルゴリズムでも受け入れられますが、実用的であるほど良いです。

1
計算の複雑さとチョムスキー階層
一般的に、計算の複雑さとチョムスキー階層との関係について疑問に思っています。 特に、ある問題がNP完全であることを知っている場合、その問題の言語は文脈自由ではないということになりますか? たとえば、クリーク問題はNP完全です。クリークを持つモデルに対応する言語は、Chomsky階層の複雑さを最小限に抑えているということですか(モデルを文字列としてエンコードするすべて/いくつかの方法について)?

3
停止の問題がLBAで決定できるのはなぜですか?
私はウィキペディアと他のいくつかのテキストを読みました 停止の問題は[...] 線形有界オートマトン(LBA)[および]有限メモリを備えた決定論的マシンで決定可能です。 しかし、以前には、停止する問題は決定できない問題であり、TMがそれを解決できないと書かれています!LBAはTMの一種として定義されているので、同じことがそれらに当てはまらないのですか?

4
機械学習における相関と因果関係はどうですか?
「相関関係は因果関係に等しくない」ことはよく知られていますが、機械学習はほぼ完全に相関関係に基づいているようです。私は、過去のパフォーマンスに基づいて質問に対する学生のパフォーマンスを推定するシステムに取り組んでいます。Google検索などの他のタスクとは異なり、これは簡単にゲームをプレイできる種類のシステムではないようです。そのため、因果関係は実際には関係ありません。 明らかに、システムを最適化するための実験を行いたい場合、相関/原因の区別に注意する必要があります。しかし、適切な難易度になる可能性が高い質問を選択するシステムを構築するだけの観点から、この区別は重要ですか?

1
P≠NPを想定したNP完全問題のアルゴリズムの実行時境界
と仮定します。P≠ NPP≠NPP\neq NP すべてのNP完全問題の実行時の境界については何が言えますか? すなわち、最も完全な関数とは、 NP完全問題の最適なアルゴリズムが少なくともおよび長さ入力で最大?L 、U:N → NL,U:N→NL,U:\mathbb{N}\to\mathbb{N}ω (L (n ))ω(L(n))\omega(L(n))o (U(n ))o(U(n))o(U(n))nnn 明らかに、。また、。∀ C :L (N )= Ω (nはc)∀c:L(n)=Ω(nc)\forall c:L(n)=\Omega(n^c)うん(n )= O (2nω (1 ))U(n)=O(2nω(1))U(n) = O(2^{n^{\omega(1)}}) 仮定しなければ、、またはによって暗示されていないその他の仮定、我々は上の任意のより良い境界を与えることができる?Q P≠ NPQP≠NPQP\neq NPETHETHETHP≠ NPP≠NPP\neq NPL 、UL,UL,U 編集: 少なくとも一方にそのノート遠い私はここに与えた境界からでなければならない、NPCの問題であるので、これらの問題は、いくつかのNPCの問題は、時間の最適なアルゴリズムがある場合つまり、互いの間のポリ時間短縮を有する、すべての問題には実行時アルゴリズム(最適かどうか)があります。f (n )O (f (n O (1 )))L 、UL,UL,Uf(n )f(n)f(n)O (f(nO (1 )))O(f(nO(1)))O(f(n^{O(1)}))

2
{ww | …}コンテキストフリー?
言語定義LLLとしてL = { 、B } *を - { wはW | W ∈ { 、B } * }L={a,b}∗−{ww∣w∈{a,b}∗}L = \{a, b\}^* - \{ww\mid w \in \{a, b\}^*\}。つまり、LにLLは、2回繰り返される単語として表現できない単語が含まれています。あるLのLL文脈自由かどうかは? LLLをa ∗ b ∗ a ∗ b ∗と交差させようとしましたa∗b∗a∗b∗a^*b^*a^*b^*が、まだ何も証明できません。パリクの定理も調べましたが、助けにはなりません。

2
Kolmogorov Complexity:文字列自体よりも多くのバイトが必要なのはなぜですか?
コルモゴロフの複雑さに関するウィキペディアのエントリを読んでいた(この質問のおかげで)。 文字列のコルモゴロフの複雑さは、文字列自体の長さよりも数バイト大きくなることはできないことを示すことができます。 なぜあなたはそれを記述するために文字列自体以外のものを必要とするでしょうか?

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