コンピュータサイエンス

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

1
ある?
これらの2つのクラスは同じである必要があると思いますが、これに関する文献を見つけることができず、トピックに関する背景が限られています。 これは私の推論であり、(1)これがすでに知られているか、または(2)何かを誤解しているか、または(3)何か有用なものを見つけたかどうかを知りたいです。 PCTCPCTCP_{CTC}は、多項式の量のデータをタイムマシンに配置することで解決できる問題のクラスです。 BPPpathBPPpathBPP_{path}は、確率的チューリングマシンで後選択することで解決できる問題のクラスです。つまり、気にしないケースを無視します。 PCTC⊆BPPpathPCTC⊆BPPpathP_{CTC}\subseteq BPP_{path}これは、次のような選択後の閉じた時間のような曲線をシミュレートできるためです。状態とメモリの両方でプログラム全体を最初にスキャンします。次に、処理後に再度実行し、状態とメモリが開始状態とメモリに完全に一致する場合にのみ戻るように再度選択します(これが最初の反復であるかどうかを示す単一ビットを除き、無限ループ)。 BPPpath⊆PCTCBPPpath⊆PCTCBPP_{path}\subseteq P_{CTC} 1 0 0、次のように後選択をシミュレートできるためです。futureからのメッセージがで始まる場合、メッセージを過去に送信します。それ以外の場合は、通常どおり続行します。通常ポスト選択するステップに到達したら、過去の差分に1を送信します。このタイムラインを無視したい場合、それ以外の場合は。結果に満足したので、一貫性のある唯一のバージョンは、0を受信して​​送信するバージョンになります。111000000

1
K平均法クラスタリング変換不変条件は何ですか?
データポイントのセットX={x1,x2,…,xm}X={x1,x2,…,xm}X = \{x_1, x_2, \ldots, x_m\}が与えられた場合、で K平均を実行し、クラスター。 X C 1、C 2、... 、CのKxi∈Rdxi∈Rdx_i \in \mathbb{R}^dXXXc1,c2,…,ckc1,c2,…,ckc_1, c_2, \ldots, c_k ここで、新しいデータセットを作成するとY={y1,y2,…,ym}Y={y1,y2,…,ym}Y = \{y_1, y_2, \ldots, y_m\}、およびあり、 K平均を実行してクラスターを取得します。。Y I ∈ R D Y G 1、G 2、··· G Kyi=Axi+byi=Axi+by_i = Ax_i + byi∈Rdyi∈Rdy_i \in \mathbb{R}^dYYYg1,g2,…gkg1,g2,…gkg_1, g_2, \ldots g_k AAAとbのどの条件下でbbb、同じクラスターを取得することが保証されますか? K平均がユークリッド距離を使用しており、両方のアルゴリズムで同じ初期条件を持っていると仮定します。つまり、Xの初期中心が場合、Yの初期中心はここで、です。 g 0 1、… 、g 0 …

1
正式な言語を使用して数学表記を研究できますか?
質問:最適な表記法の研究にそれをどのように適用するかを論じる正式言語またはプログラミング言語理論の紹介テキストはありますか? 特に、スタック言語、解析ツリー、インデックスとは何か、そして特定のタイプの表記法が指数関数的な冗長性につながる時期を予測する方法に興味があります。 数学の専攻として私が学んだ唯一のコンピュータサイエンスは、アルゴリズムとグラフ理論、および複雑さの理論とブール関数の非常に控えめな中級者でした。したがって、これを論じている唯一の本が入門書ではない場合、指数表記の爆発を論じているそのような本と、私の質問に直接取り組む本を準備する入門書をリストした回答の両方に感謝します。 コンテキスト:この質問は、主にPhysics.SEへの回答に触発されており、次のように述べています。 括弧はスタック言語(Chomskyの分類では文脈自由文法)によって解析されるので、括弧はスタックを使用して解析できないため、テンソルインデックスの縮約を再現する括弧表記がないことを(厳密に)証明するのは非常に簡単です。グラフ。括弧は構文解析ツリーを生成し、グラフ内には常に指数関数的に多くの最大ツリーがあるため、表記には指数関数的な冗長性があります。 残りの回答では、「指数表記の爆発」の他の例について、たとえば計算生物学のペトリネットを使用して説明します。 たとえば、ここで言及されているように、関数と引数に適用される関数が明確に区別されていない場合、数学表記が解析しにくい他の例もあります。この関数は、引数になり、引数は、たとえば、関数となる場合には特に混乱になることができ、ここで。

2
ラジカル表現の平等の決定可能性
要素から構築された用語検討と操作+ 、× 、- 、/、及びnは√QQ\mathbb Q+,×,−,/+,×,−,/+,\times,-,/⋅−−√n⋅n\sqrt[n]{\,\cdot\,}各自然数。2つの項が整形式であるという約束(つまり、ゼロによる除算はなく、負の数の根もない)が与えられた場合、2つの項が等しい場合を決定するアルゴリズムはありますか?nnn 関連する質問がここに投稿されましたが、より一般的です(有理数だけではなく、任意のべき乗を可能にするため)。

5
なぜプログレスバーはそれほど不正確なのですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、コンピューターサイエンススタック交換のトピックになるようにします。 3年前休業。 コンピュータとプログラミング言語は、決定論的で予測可能である傾向があります。ただし、特に操作が複雑な場合は、プログレスバーは逆になります。ワールドクラスのプロフェッショナル製品であっても、一部のプログレスバーは操作の実際の進捗を反映することがほとんどありません。4時間何もせずに1回のジャンプで10%から90%に移行するのを見てきました。いくつかの逆戻りも見たことがあります。予期しない余分な処理が発見されたことを示唆しています。 データベース操作、ネットワーク処理、および並列操作が存在する可能性があることは確かですが、これは何らかの方法で定量化でき、推定される割合であると思われます。結局のところ、操作を完了するために実行される命令の有限量がなければなりません。これは単に貧弱なコーディングですか、それとも進歩を表すいくつかの根本的な理由が難しいのですか?

1
タイプ割り当てシステム(TA)とHindley-Milnerシステムの関係
最近、型理論/型システムとラムダ計算の研究を始めました。 Church and Curryスタイルの単純型付きラムダ計算についてはすでに読みました。最後の1つは、タイプ割り当てシステム(TA)とも呼ばれます。 TAと、MLやHaskellのような言語のシステムであるHindley-Milner(HM)の関係について考えています。 ラムダ計算と結合子:はじめに(Hindley)の本は、TAは多態性であると述べています(ページ119)。それは、HMやSystem-Fなどのシステムでの多態性と同じ意味ですか? TAは強力な正規化特性を持つと言われているため、完全なチューリングではありません。HMシステムを使用する言語は、Haskellなどのように完全なものになりつつあります。したがって、HMシステムでは、無限ループような用語が型を受け取ることができるようになっている必要があります。それは正しいですか、それとも何か不足していますか?ΩΩ\Omega とにかくTAとHMの関係を知りたい。

1
条件の背後にある直観| xy | 通常の言語のポンプ補題で≤p
補題をポンピングするための証拠を見ると、| xy |の背後にある直感が欠けていることがよくあります。≤p。 この状態の背後にある理由は何ですか?私が調べたすべての文献は、この点について沈黙している(証明なし、議論なし、声明のみ)か、最初の繰り返しが最初からそれほど遠くない場所で発生するように述べています。 しかし、非常に正確な記号と演算子を使用して不平等が含まれている場合、最終的にこの条件に到達する明確な証拠があると思いませんか? 私が探しているのは、 条件の数学的証明| xy | ≤p。 同じ状態の直感。 文字列を十分に長くするには、条件文字列サイズを少なくともpにします。| xy |が必要な理由は、私の特定の問題です。≤p?| xy |の場合、何が壊れますか ≤pは真ではありませんか? (ポンピングレンマの2番目の条件の理由は何ですか?、私の質問に正確に回答していません。質問はおそらく大丈夫ですが、回答はいくつかの例にすぎず、深い直感はありません。)

2
コルモゴロフの複雑さに基づく非規則性の証明
クラスで私たちの教授は私たちに非規則性を証明するための3つの方法を示しました: Myhill–Nerodeの定理 通常言語用の補題のポンピング コルモゴロフの複雑さに基づく非規則性の証明 さて、最初の2つであるMyhill-Nerodeの定理とPumping補題はよく理解でき、最初の2つの方法の演習も行うことができました。しかし、私は3番目のものを理解しませんでした。3番目の方法の定義は次のとおりです。 してみましょうL ⊆ (ΣのB O O L)*は正規言語であること。ましょL X = { yは∈ (ΣのB O O L)* | X 、Y ∈ L }すべてのためのx ∈ (ΣのB O O L)*。定存在Cのすべてのためのように、X 、Y ∈ (ΣのBのoは L ⊆ (Σb o o l)∗ L⊆(Σbool)∗\ L \subseteq (\Sigma_{bool})^* Lバツ= { y∈ (Σb o o l)∗| …

1
線形時間での圧縮/エンコードについて
私はNJ Larsson、A. Moffat:Offline Dictionary-Based Compressionの論文を読んでいます。これは、私が正しく理解していれば、バイトペアエンコーディングに非常に似ている圧縮アルゴリズムについて説明しています。 長さnの文字列が与えられた場合、この圧縮方法を使用して線形O(n )時間で圧縮する方法を理解しようとしています。これはどのように正確に行われますか?私はこの論文を読みましたが、どのようにして線形時間を達成するのかまだ理解していません。そのため、別の方法で説明されているのかもしれません。SSSnnnO(n)O(n)\mathcal O (n) 私の最初の混乱は、アルゴリズムの最初のステップで発生します。たとえばabcababcabc、最も一般的なペアabが新しいシンボルに置き換えられる場合などXcXXcXcです。最も一般的なペアをすばやく見つける方法がわかりません。私の素朴なアプローチは、最初のペアabを最初に見て、bc発生数を数え、次に次のペアを見て、発生数を数えるなどです。しかし、これは、最も多くを見つけるためだけにすでに与えます。共通のペア1回。O(n2)O(n2)\mathcal O (n^2) 次に、時間で最も一般的なペアを見つける方法を理解したとしても。私の次の問題は、O(n )回までの最も一般的なペアを見つける必要がないかということです。したがって、これはO(n 2)の合計時間を与えますか?O(n)O(n)\mathcal O(n)O(n)O(n)\mathcal O(n)O(n2)O(n2)\mathcal O(n^2)

1
ヘッジユニオンは常に分割統治と同じくらい速いですか?
Adamsは、2つのセットの和集合を見つけるための分割統治アルゴリズムを説明します(重みが均衡化されたバイナリ検索ツリーとして表されます)。次に彼は、分割統治アルゴリズムを改良したと主張する当時の新しい「ヘッジ結合」アルゴリズムについて説明します。しかし、彼はそれがであるべき理由の証明や実際の説明さえ提供していません。O(m+n)O(m+n)O(m + n) Blelloch、Ferizovic、およびSunは、Adamsの分割統治アルゴリズムが実際に理論的に最適な達成することを示してい。ここで、です。ただし、これらはヘッジユニオンアルゴリズムには対応していません。Θ(mlog(n/m+1))Θ(mlog⁡(n/m+1))\Theta (m \log (n/m + 1))m≤nm≤nm \le n ヘッジユニオンは実際、分割統治と同じくらい効率的ですか?最も目立たない部分はインナートリムです。少なくとも表面的には、完全に分割された左側と右側のサブツリー間で作業が重複しているように見えます。おそらくこれは何らかの理由で問題ないかもしれませんが、理由はわかりません。 さらなる調査:Haskell Data.SetとData.Map、交差と差分のヘッジバリアント、および共用体を使用します。これらのアルゴリズムに関する公開された議論はまったく見つかりませんでした。同様の質問がこれらにも当てはまります。

1
小数記号にリードソロモンのようなコードはありますか?
N個のシンボルで構成されるリードソロモンエラー訂正コードは、任意の長さの入力とECC自体で最大N個の単一シンボルの置換を検出することが保証されており、floor(N / 2)個の単一シンボルまで訂正することが保証されています同じで交換。 リードソロモンECCの背後にある数学を理解しているとは言えませんが、見つけることができるすべての実装は、ベース16、64、または256のシンボルで動作することに気づきました。これは、1024などもこれのベースであることを示唆しているようですスキームは正しい多項式で動作できます。 10進記号で動作する上記のプロパティを正確に備えたECCスキームを持つことは可能ですか?リードソロモンは、この目的に簡単に適応できますか? (この質問は、puzzling.SEの質問に対する私の回答によって促されます)

3
この主キーの定義はどういう意味ですか?
私の教科書では、リレーショナルデータベースの主キーの次の定義を説明していますが、完全には理解していません。助けをいただければ幸いです。 ましょ関係すること。次に、Rの主キーは、次の2つのプロパティを満たすの属性セットのサブセット、たとえばです。RRRRRRRRRKKK 一意性プロパティ: 2つの異なるタプルがに対して同じ値を持つことはありません。RRRKKK 不可逆性プロパティ:適切なサブセットに一意性プロパティはありません。KKK Irreducibilityプロパティに迷っています。

1
から
定義。グラフと2つの頂点sおよびtが与えられた場合、k -shortest-paths問題は、G のsとtの間のk最短単純パスを見つけることです。G = (V、E)G=(V,E)G=(V,E)ssstttkkkkkkssstttGGG これらのパスの長さは必ずしも同じである必要はなく、頂点とtは必ずk接続されていることに注意してください。この問題に対して線形時間(nおよびmの観点から)アルゴリズムがあるかどうか疑問に思っていました。ssstttkkkんnnメートルmm 「円のランキングループレスパスアルゴリズムの新しい実装」など、私は文献でいくつかの論文を見てきましたが、時間の複雑さは本当に高いです。また、Epsteinによる他の論文「K最短パスを見つける」では、実行時間O (n + m + k )の単純なパスではないk最短パスを見つけるアルゴリズムを示しています。O (Kn (m + n l o gn ))O(Kn(m+nlogn))O(Kn(m+nlogn))kkkO (n + m + k )O(n+m+k)O(n+m+k) -simple-shortest-paths問題の線形時間アルゴリズムはありますか?kkk

1
例外のあるデータフロー分析
データフロー分析は、制御フローグラフに対して機能します。検討中の言語が例外をサポートしている場合、制御フローグラフが爆発する可能性があります。 この爆破に対処するための標準的なテクニックは何ですか?例外によって引き起こされたエッジを完全に無視できますか?とにかく、データフロー分析は過剰近似を計算するので、精度は落ちますが適切なソリューションになります。これは本当ですか? 更新:最後に掘り下げることができたいくつかの便利なリンクを次に示します。 例外処理構造を持つプログラムの分析とテスト Javaプログラムの分析のための例外の効率的で正確なモデリング

1
状況依存のポンピング補題はありますか?
「ポンピング」プロパティ(特定の長さの単語は、言語を定義するメカニズムにループが存在することを意味します)は、通常の文脈自由言語およびいくつか(通常、特定のクラスへの言語のメンバーシップを反証するために使用される)に存在することが知られています)。 この質問に関する議論の中で、Daisyの回答は、文脈依存言語は非常に複雑であるため、刺激的な補題はあり得ないことを示唆しています。 それは本当ですか-あるタイプのポンプ特性があり得ないことを示すことができます-そしてそれについて(またはそれに対して)良い参照がありますか?

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