コンピュータサイエンス

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

2
強力なNPC問題3-PARTITIONからの削減の例
3-PARTITIONは強くNP完全です。つまり、入力が単項で与えられても、NP完全のままです。 3-PARTITIONからの削減を使用してNP完全であることが証明された(おそらくよく知られている)非数値問題の 2つまたは3つの例を検索しています(この削減は明らかにnp完全性に強く依存しています)。元の論文への参照をお願いします。

1
フィードバックアークセットの近似アルゴリズム
有向グラフ与えられた場合、フィードバックアークセットは、その除去によって非循環グラフが残るアークのセットです。問題は、そのようなセットの最小カーディナリティを見つけることです。G=(V,A)G=(V,A)G = (V,A) 私はこの問題の周りにいくつかの近似アルゴリズムがあることを知りたいです。

1
構造化プログラムの定理を証明する方法は?
ウィキペディア: 構造化プログラムの定理[...]は、[...]アルゴリズムは3つの制御構造のみを使用して表現できると述べています。彼らです 1つのサブプログラムを実行してから、別のサブプログラム(シーケンス)を実行する ブール式(選択)の値に従って2つのサブプログラムの1つを実行する ブール式が真になるまでサブプログラムを実行する(反復) この定理は、次の論文で開発されました。 C.ベーム、「チューリングマシンと関連プログラミング言語のファミリーについて」、ICC Bull。、3、185〜194、1964年7月。 C.ベーム、G。ヤコピニ、「流れ図、チューリングマシン、および2つの形成ルールのみを持つ言語」、Comm。ACMの9(5):366–371,1966。 残念ながら、1つ目は実際には利用できず、2つ目は(少なくとも私にとって)少し不可解であることに加えて、1つ目を参照しているため、証明を理解するのに問題があります。誰か助けてもらえますか?証拠を提示する現代の紙や本はありますか?ありがとう。 更新 正確には、CACMペーパーの第2部(セクション3)を理解したいと思います。著者はセクション1で次のように書いています。 論文の2番目の部分(C.Böhm著)では、以前の論文のいくつかの結果が報告されており[8]、次にこの論文の最初の部分の結果を使用して、すべてのチューリングマシンが決定的な感覚は、構成と反復のみを形成規則として認める言語で書かれたプログラムと同等です。 ここで[8]は利用できないICC Bulletinペーパーを指します。ウィキペディアからの上記の引用がCACM論文のこの2番目の部分を参照していることは容易に理解できます(チューリングマシンはアルゴリズムの正確な定義として機能します。「構成」はシーケンスを意味します。反復により選択を置き換えることができます)。

1
特定の間隔と重複するすべての間隔を検索します
注:私はこの質問をstackoverflow.comから移動しました よりも上で解決できるかどうかを確認したいアルゴリズムの問​​題があります。O(n)O(n)O(n) Iは、テーブル与えているの各要素はタプル要素用いてと各タプルは、間隔のいくつかの種類、すなわち、。指定された間隔と重複するすべての間隔を見つける必要がありますおよびです。さらに、それぞれのエントリを指すインデックスとともに、値または値をそれぞれ含む、2つの並べ替えられたリストおよびがあります。リストは次でソートされますTTTnnn(si,ei)(si,ei)(s_i, e_i)si,ei∈Nsi,ei∈Ns_i, e_i \in \mathbb{N}si&lt;eisi&lt;eis_i < e_i[t0,t1][t0,t1][t_0, t_1]t0,t1∈Nt0,t1∈Nt_0, t_1 \in \mathbb{N}t0&lt;t1t0&lt;t1t_0 < t_1SSSEEEssseeeiiiTTTsss値、または値。(と両方の値が一意であると仮定しましょう。)eeessseee 問題: 各間隔/タプルを見つける必要があります。ここでおよびe_i \ geqslant t_0です。(si,ei)∈T(si,ei)∈T(s_i, e_i) \in Tsi⩽t1si⩽t1s_i \leqslant t_1ei⩾t0ei⩾t0e_i \geqslant t_0 これまでの私の考え: 私たちは、いずれかの適用区間の境界の1、すなわち検索でいくつかの要素を除外することができt1t1t_1でSSSまたはt0t0t_0でEEE。これにより、残りの要素のリストLLLが得られます L←{e∈E∣e⩾t0} or L←{s∈S∣s⩽t1}L←{e∈E∣e⩾t0} or L←{s∈S∣s⩽t1} L \leftarrow \{e \in E \mid e \geqslant t_0\} \text{ or } L \leftarrow \{s \in …

2
NOTの2つのラムダ式の同等性
論理NOT関数の2つの異なるラムダ式を見てきました。 それらの1つは、そのパラメーターを定数にtrue、false内部的に逆の順序で適用します。 NOT=λx.xfalsetrue=λx.x(λt.λf.f)(λt.λf.t)NOT=λx.xfalsetrue=λx.x(λt.λf.f)(λt.λf.t)NOT \;\;=\;\; \lambda x.\; x \; \mbox{false}\; \mbox{true} \;\;=\;\; \lambda x. \; x \; (\lambda t.\lambda f.f) \; (\lambda t. \lambda f. t ) もう1つは、返された関数に外部的に渡す代わりに、さらに2つのパラメーターをキャプチャし、逆の順序でをそれらに適用します。xxx NOT=λx.λt.λf.xftNOT=λx.λt.λf.xftNOT \;\;=\;\; \lambda x. \; \lambda t.\lambda f.xft そのうちもう1つは少しシンプルに見えます(また、バイナリでエンコードすると簡単です)。 だから私の質問はこれです: これらの表現の一方からもう一方に私を連れて行くことができる変換はありますか? それらは「拡張的に」同等である、つまり、どちらも同じ結果を生成することがわかります。しかし、アルファ変換、ベータ変換、エータ変換などの代数変換によって、どういうわけかそれを「証明」したいと思います。残念ながら、この場合これらのどれも私を助けることができません:Alphaは単に名前を変更するためのものです。ベータは関数呼び出しに対してのみ機能しますが、実際に何かを呼び出すまで、これらのすべての式では関数本体(ただし、式全体ではありません)で自由であるため、ここで削減できる関数呼び出しはありません。最も近いのはetaです。これは、拡張等価性と転送パラメーターに関連していますが、パラメーターが逆になっている場合、単純な転送ではなくなり、etaはここでは適用されないようです。xバツxNOT 不足している変換ルールはありますか? (まあ、私は彼らが特別な理由から2つのギリシャ文字をスキップするだけではないでしょうね?) PS:この質問は実際にはモデル1です。拡張機能は同等であるように見えるが、既知の簡約規則に関しては完全に異なるいくつかの異なる形式を持つ他の関数には他にも多くの定義があるためです。私はこの問題の最も単純な例を選びました。 編集: 私が知りたいことをより明確にするために、ここにnot関数の両方のバージョンの削減ステップを示す図があります:http : //sasq.comyr.com/Stuff/Lambda/Not.png ご覧のとおり、どちらも実際には両方とも同じ結果になります(@Jonathan Gallagherが下で言っていたこととは対照的です)。これは、私がすでに知っていることです。それらは合流であり、したがって、Church-Rosserと同等です。しかし、私が知らないのは、ある形式をnot別の形式に変換できる変換ルール(アルファ、ベータ、イータに類似)があるかどうかです。これにより、少なくとも他のいくつかの関数(ここではこれらの2つよりも複雑)も同等であるかどうかを確認できます。これは、可能な答えが2つ以上になる場合は難しい場合があります。私は別のものに1つの内包的定義を変換する可能性がありますいくつかの変換規則があるかどう私が知りたいときは、2つの関数は既に拡張的に同等です(つまり、同じパラメーターに対して同じ結果が得られます)。または、拡張機能が同等であるかどうかがわからない場合でも、何らかの方法で他の関数に変換できる場合は、その方が良いでしょう。

1
多項式関数のビッグシータ証明
これは宿題ではありません。私には解決策がありますが、それは私が得ているものではありません。この問題には複数の解決策があることはわかっていますが、見落としがないようにしたいと思います。 質問は次のとおりです。 2 2-4n + 7 =Θ()であることを証明します。定数の値を指定して、作業を示します。ん2ん2n^2ん2ん2n^2 ここに私が問題に取り組んだ方法があります: Θ(g(n))の定義から: 0≤C 1 2≤2 2-4n + 7≤C 2ん2ん2n^2ん2ん2n^2ん2ん2n^2 不等式を最大次数のn項で割ります。(これが私がこれらの方程式を解く方法を知っている唯一の方法です。) 0≤C 1 ≤2 - (4 / N - 7 /)≤C 2ん2ん2n^2 問題をLHSとRHSの2つの部分に分割します。 RHSから始めます。 満たす定数C 2を見つける 0≤2-(4 / n-7 /)≤C 2ん2ん2n^2 n = 1、(2-(4/1-7/))= 512121^2 n = 2、(2-(4/2-7/))= 7/422222^2 n = 3、(2-(4/3-7/9))= 13/9 RHSを満たすために、C …

2
Pのマシンは決定不能ですか?
チューリングマシンを考える MMM、私たちはそれを言う L(M)∈PL(M)∈PL(M) \in P機械によって決定された言語が多項式時間である機械によって決定されることができるかどうか。と言うM∈PM∈PM \in Pマシンが多項式時間で実行される場合。不必要に長く動作するが、言語を決定するマシンが存在する可能性があることに注意してくださいPPP。ライスの定理により、 {⟨M⟩∣M is a Turing machine such that L(M)∈P }{⟨M⟩∣M is a Turing machine such that L(M)∈P }\{ \langle M \rangle \mid M \mbox{ is a Turing machine such that }L(M) \in P \mbox{ } \}決定できません。次のことを知っていますか: {⟨M⟩∣M is a Turing machine such that M∈P …

2
自動読み上げ:話しているビデオに基づいて、誰かが言っていることを推測する
一部の人間は、かなり上手に口読みをすることができます。話している誰かを見ると、話者が言っていることを(スピーチを聞いていなくても)知ることができます。 読唇用のコンピュータソフトウェアを作成する作業はありましたか?言い換えると、誰かが話しているビデオが与えられた場合、その人が言っていることを推測するソフトウェアを構築することは可能ですか(オーディオなしでビデオストリームにのみアクセスできます)?この問題、または展開されたシステムについての調査はありましたか? 背景と動機:米国では、特定の法律が同意なしに音声を録音することを禁止している場合があります。ただし、一般に、録画する人の同意なしにビデオを録画することは禁止されていません。(だからこそ、あちこちに監視カメラがあり、ビデオだけを記録し、音声は記録しないのです。)ビデオだけで、自動化された方法で人々が言っ​​ていることを伝えることができるかもしれないほどテクノロジーが進歩したのかどうか知りたいです。 -またはそれが近い将来実現可能になるかどうか。そして、プライバシーへの影響は別として、そのようなテクノロジーはかなり役立つかもしれません。

1
minとはどのような言語の場合| NFA | =Ω(最小| DFA |)?
通常の言語を検討する LLL。LETの最小DFAである及びの最小NFAである(特定の言語を認識するためのオートマトンの状態の可能な最小数の意味で最小)。書く オートマトンのサイズ(状態数)が。一般的に、よりはるかに小さい (最悪の場合、決定は指数関数であるため、まで)。D (L )D(L)D(L)LLLN(L )N(L)N(L)LLL| A ||あ||A|ああA| N(L )||N(L)||N(L)|| D(L) ||D(L)||D(L)|lg| D(L) |lg⁡|D(L)|\lg |D(L)| 最小NFAがDFAのサイズの少なくとも一部であることが保証されている言語に興味があります:。通常の言語のどのファミリーにこの特性がありますか?言い換えると、となる言語のファミリーについて は?| N(L )| ≥ K | D (L )||N(L)|≥k|D(L)||N(L)| \ge k |D(L)|(Lん)(Lん)(L_n)| D(Lん)| = n|D(Lん)|=ん|D(L_n)| = n| N(Lん)| = Ω (n )|N(Lん)|=Ω(ん)|N(L_n)| = \Omega(n)

2
バニラチューリングマシンで弦のインプレースリバースを間に合わせることができますか
バニラチューリングマシンとは、テープが1本のチューリングマシンを意味します(特別な入力テープや出力テープはありません)。 問題は次のとおりです。テープは最初は空ですが、 nnn 111砂 000s文字列の終わり文字で終了します。テープヘッドは、文字列の先頭から始まります。目標は、テープに元の文字列を逆の順序で格納し、文字列終了文字で終了し、チューリングマシンが最終的に停止すると、テープヘッドが文字列の先頭に戻るようにすることです。 チューリングマシンは、(それが含まれている限り)好きなだけ大きなアルファベットを使用できます。 000、 111、および文字列の終わりの文字)であり、好きなだけ状態を設定できます。このタスクを時間内に完了することができる固定チューリングマシンはありますかo(n2)o(n2)o(n^2)? これを間に合わせるのは簡単です O(n2)O(n2)O(n^2)いくつかの状態とシンボルのみを使用します。何かが一定の要因よりも速くそれを行うのを妨げていることは直感的に明らかであるように見えますが、それを証明することはできませんでした。対数高速化...

1
無向DFAによって認識される言語の結果
私の学士論文では、対称DFAによって認識される言語のクラス、つまり、次の条件を満たす決定論的(完全)有限オートマトンを検討します。 してみましょうアルファベットを完全にDFAこと。すべてのおよびすべての遷移、に遷移が場合、を対称 DFA と呼びます(SDFA)。が完全でない場合、これを部分 SDFA と呼びます。SDFAは、自然な方法で無向のラベル付きグラフと見なすことができます。AAAΣΣ\Sigmaa∈Σa∈Σa\in \Sigmau⟶avu⟶avu \stackrel{a}{\longrightarrow}vAAAv⟶auv⟶auv \stackrel{a}{\longrightarrow}uAAAAAAAAA SDFA(完全および部分的)によって認識される言語のクラスの代数的特性を見つけ、いくつかのクロージャープロパティを推定できました。ただし、私も私の監督者も、この特定のクラスの通常言語に関する以前の結果を認識していません(Reingoldののような結果を除外すると、関連しているように見えます)。SL=LSL=L\mathsf{SL = L} が動機コメントそのJ.-E. 私が尋ねた関連する質問にピンが渡されました。私の質問は次のとおりです。 これらのオートマトンに関する結果はありますか?

1
ラムジーの定理の証明:グラフ内のクリークまたは反クリークの数
ラムジーの定理は、 nnn ノードには、少なくともクリークまたは独立したセットが含まれています 12log2n12log2⁡n\frac{1}{2}\log_2 n ノード。 いくつかの場所(Sipserを含む)で調べようとしましたが、証明から多くの意味を理解することができませんでした。誰かがこれについて証拠(または明確な直感)を提供してくれれば幸いです。

1
時間前処理による時間でのツリーの到達可能性クエリ
通常のグラフ理論的な意味で無向木が与えられます。頂点所与及びエッジに入射、Iは、フォームのクエリに答える必要があるリターンを任意の葉から到達可能であるを含む経路で、およびno他のエッジに入射します?より非公式には、制限は、エッジが指定された場合、その方向にのみ進むことができるということです。TTTvvv(v,u)(v,u)(v,u)vvvTTTvvv(u,v)(u,v)(u,v)vvv DFSを実行して、見つかったリーフを返すだけです。これには時間かかると思いますはの直径です。ただし、クエリは時間で回答したいと思います。さらに、線形前処理時間のみを許可したいと思います。これを実現するための私のアイデアは、DFSを使用し、葉にラベルを付け、検索が逆戻りしたときにエッジにラベルを付けることでした。このアイデアは追加の努力でうまくいくかもしれませんが、詳細については本当にわかりません。O(d)O(d)O(d)dddTTTO(1)O(1)O(1) 「グラフ到達可能性」はいくつかの結果を出しましたが、おそらくより複雑な問題を扱っています。前処理時間を使用し、時間でクエリに応答する方法に満足しています。O(n+m)O(n+m)O(n+m)O(1)O(1)O(1)

1
人間の行動とボットの行動をどのように区別できますか?
コメントに基づいて更新: オンラインで特定のアクティビティを実行している人間と、同様のアクティビティを実行するようにプログラムされたボットをどのように区別できますか?たとえば、メールのチェック、音楽ファイルのダウンロード、ebayでのショッピング、Googleでの検索など、またはWebサイトの改ざん/ハッキング、ブルートフォースログインパスワードなど。 質問の範囲を制限し、より明確にするために、観察をネットワーク指向の動作のみに制限します。いくつかの例は、XYZをオンラインで実行するのに費やした時間、ダウンロードされた(たとえば)データの量/タイプです。ファイル共有Webサイト、ソーシャルメディアWebサイトの友達/フォロワーの数など。 人間の行動とプログラムされた行動を区別するいくつかの「パターン」を取得することは可能だと思います。 チューリングテストは私が探しているものではありません。 ここではどのようなテクニックが役に立ちますか?機械学習?ゲーム理論? 関連する学術/研究記事への参照も良いでしょう。

2
堅牢で分散されたサービスの理論的基盤
私は、外部からの悪意のある攻撃に対して堅牢なソーシャルネットワークの概念を持っています。私のビジョンは、同じデータで動作し、同じサービスを提供する同等のサーバーの分散ネットワークとして構造的に構築されたシステムです。ユーザーはすべて、通信するそれぞれのサーバーに関係なく、同じネットワーク上で対話する必要があります。アイデアは、システム全体を停止させるすべての機会を(少なくとも理論的には)防止し、サービス全体の完全な障害を達成することです。明らかに、適切な同期メカニズムのため、そのようなシステムの設計は簡単ではありません。一方で、参加者を適切なサーバーに伝達するという課題があります。おおまかに私の考えを理解してほしい。 問題は、そのようなシステムがどのように機能するかについて漠然とした概念しか持っておらず、さらに私のcs研究で分散システムに関する関連する講義を通過したように思われることです。したがって、私は関連する文献の概要、理論モデルを説明する科学論文、そして実際の例も不足しています。 誰かが参照、リンク、役立つ説明で私を手伝ってくれる?

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