コンピュータサイエンス

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

2
並列計算とクラスNCに関するいくつかの質問
これらの2つのトピックに関するいくつかの関連する質問があります。 まず、ほとんどの複雑なテキストは、クラスのみを光沢化します。研究をより深くカバーする優れたリソースはありますか?たとえば、以下の私の質問のすべてを議論するもの。また、は並列化にリンクしているため、かなりの量の研究が行われていると想定していますが、間違っている可能性があります。複雑な動物園のセクションはあまり役に立ちません。N CN CNC\mathbb{NC}N CNC\mathbb{NC} 第二に、セミグループ操作に一定の時間がかかると仮定した場合、セミグループの計算はます。しかし、無制限の整数の場合のように、操作に一定の時間がかからない場合はどうでしょうか?既知の -complete問題はありますか?N C iN C1NC1\mathbb{NC}^1N C私NCi\mathbb{NC}^i 3番目に、、ログスペースアルゴリズムを並列バージョンに変換するアルゴリズムはありますか?L ⊆ N C2L⊆NC2\mathbb{L} \subseteq \mathbb{NC}^2 第四に、ほとんどの人はと同じ方法でを仮定しているように聞こえます。この背後にある直感は何ですか?P ≠ N PN C ≠ PNC≠P\mathbb{NC} \ne \mathbb{P}P ≠ N PP≠NP\mathbb{P} \ne \mathbb{NP} 5番目に、私が読んだすべてのテキストはクラスに言及していますが、それに含まれる問題の例は示していません。いずれかがあります?R N CRNC\mathbb{RNC} 最後に、この回答はサブリニアパラレル実行時間に関する問題に言及しています。これらの問題の例は何ですか?ないことが知られている並列アルゴリズムを含む他の複雑度クラスはありますか?N CPP\mathbb{P}N CNC\mathbb{NC}

2
IELR(1)-パーサーとは何ですか?
バイソンの使い方を自分で教えようとしています。manson bison(1)はbisonについて述べています: LALR(1)、IELR(1)、または標準のLR(1)パーサーテーブルを使用して、決定性LRまたは汎用LR(GLR)パーサーを生成します。 IELRパーサーとは何ですか?World Wide Webで見つけた関連記事はすべて有料です。

1
反転ペアのカウント
分割統治の古典的な用途は、次の問題を解決することです。 アレイ所与対:異なる、同等の要素をアレイ状に反転ペアの数をカウントし、ようにと。(i 、j )a [ i ] > a [ j ] i < ja [ 1 … n ]a[1…n]a[1\dots n](i 、j )(i,j)(i,j)a [ i ] > a [ j ]a[i]>a[j]a[i] \gt a[j]i < ji<ji \lt j これに対する1つのアプローチは、マージソートを実行することですが、副問題の反転ペアの数もカウントします。マージステップ中に、2つのサブ問題にまたがる反転ペアの数をカウントし、サブ問題のカウントに追加します。 これは良いですが、時間アルゴリズムを提供しますが、これは配列を台無しにします。O (n ログn )O(nlog⁡n)O(n\log n) 我々は追加の制約がある場合は、アレイは、読み取り専用であることを、我々はコピーでコピーして取引をする、またはカウントを行うために、バイナリツリーをバランス順序統計のような追加のデータ構造を使用し、どちらも使用することができますスペース。Θ (n )Θ(n)\Theta(n) 現在の問題は、実行時間に影響を与えずに、スペースを改善することです。すなわち 反転ペアの数をカウントする時間アルゴリズムはありますか。これは読み取り専用配列で機能し、サブリニア(つまり)スペースを使用しますか?o (n )O …

4
すべての線形時間アルゴリズムはストリーミングアルゴリズムですか?
時が経つにつれて反転カウントについて、この質問、私は紙見つけ下のすべての(正確な)のためのスペースの複雑さにバインド証明ストリーミングアルゴリズムを。私は、この限界がすべての線形時間アルゴリズムに及ぶと主張しました。一般的に、線形時間アルゴリズムは自由に飛び回ることができるため(ランダムアクセス)、ストリーミングアルゴリズムではできないため、これは少し大胆です。要素を順番に調査する必要があります。複数のパスを実行できますが、常に多くのパスを実行します(線形ランタイムの場合)。 したがって、私の質問: すべての線形時間アルゴリズムは、常に多くのパスを持つストリーミングアルゴリズムとして表現できますか? ランダムアクセスは、(単純な)構造が肯定的な答えを提供することを妨げるように見えますが、反例も思いつきません。 マシンモデルによっては、実行時のランダムアクセスも問題にならない場合があります。これらのモデルの答えに興味があります: チューリングマシン、フラット入力 RAM、配列として入力 RAM、リンクリストとして入力

1
チューリングマシン
どうして次の言語があるのでしょうか。RR\mathrm R LM1= { ⟨ M2⟩∣∣M2 はTMであり、 L (M1)= L (M2)、 および | ⟨ M1⟩ | > | ⟨ M2⟩ | }LM1={⟨M2⟩|M2 is a TM, and L(M1)=L(M2), and |⟨M1⟩|>|⟨M2⟩|}L_{M_1}=\Bigl\{\langle M_2\rangle \;\Big|\;\; M_2 \text{ is a TM, and } L(M_1)=L(M_2), \text{ and } |\langle M_1\rangle| > | \langle M_2 \rangle| \Bigr\} …

1
やったときは意味を獲得するには、「左から右へのスキャン、右端の派生?」
ウィキペディアの記事によると、 L は「左から右へのスキャン」を意味し、「R」は「右端の派生」を意味します。ただし、文法に関するKnuthの元の論文では、(610ページ)を「バインドされた左から右に翻訳可能」な言語として定義しています。L R (k )LR(k)LR(k)L R (k )LR(k)LR(k)L R (k )LR(k)LR(k)kkk この新しい用語は、解析の「左から右へのスキャン、左端の派生」を補完するために選択されたと推測しています。とはいえ、用語の意味がいつ変わったかはわかりません。L L (k )LL(k)LL(k) 新しい頭字語の由来を知っている人はいますか?L R (k )LR(k)LR(k)

2
TMがテープ上のある位置に到達するかどうかは決定可能ですか?
私が解決しようとしている古い試験からこれらの質問があります。各問題の入力は、チューリングマシンエンコードですMMM。 整数c > 1c>1c>1、および次の3つの問題の場合: 入力ごとにバツxx、Mが渡さないのは本当ですか?x | + Cの| x | +c|x|+c|x|+c上で実行されている位置バツxx? バツxxxmax { | x | − c 、1 }max{|x|−c,1}\max \{|x|-c,1 \}バツxx それは、すべての入力のためにというのは本当である、Mが通過しない上で実行されている位置?(| x | + 1 )/ c xバツxx(| x | + 1 )/ c(|x|+1)/c(|x|+1)/cバツxx 決定可能な問題はいくつありますか? 私の意見では、問題番号(1)はにあります。正しいと理解すれば、すべての入力を並行して実行でき、入力がこの位置に達していないことを示すために停止できますで私はの補数減らすことができ気圧をそれに。チューリングマシンを次のように構築します。入力に対して、が計算の履歴であるかどうかをチェックし、そうであれば、は正常に動作し、停止しません。そうでなければ停止します。R M ′ y y M ′coRE ∖ RcoRE∖R\text {coRE} \smallsetminus \text RRR\text …

1
バブルソートでのスワップの予想数
整数の配列が与えられた場合、配列各要素は、ある確率、固定数だけ増加できます。バブルソートを使用して配列をソートするために行われるスワップの予想数を見つける必要があります。NのB P [ I ] 0 ≤ I &lt; NAAANNNbbbp [ i ]p[i]p[i]0 ≤ I &lt; N0≤i&lt;n0 \leq i < n 私は次を試しました: 要素の確率するための与えられた確率から容易に計算することができます。i &lt; jA [ i ] &gt; A [ j ]A[i]&gt;A[j]A[i] > A[j]i &lt; ji&lt;ji < j 上記を使用して、スワップの予想数を次のように計算しました。 double ans = 0.0; for ( int i = 0; …

2
2つの最長パスごとに少なくとも1つの頂点が共通であることを証明する
グラフが接続されており、長さが超えるパスがない場合、長さの2つのパスごとに少なくとも1つの頂点が共通であることを証明します。 k G kGGGkkkGGGkkk その共通の頂点は両方のパスの中間にあるべきだと思います。これが当てはまらない場合、長さパスを持つことができるためです。私は正しいですか?&gt; k&gt;k>k

2
欠落要素の問題に対する時間と空間のトレードオフ
これはよく知られた問題です。 正の整数の配列が与えられた場合、配列にない最小の正の整数を出力します。A[1…n]A[1…n]A[1\dots n] この問題は、空間と時間で解決できます。配列を読み取り、発生したかどうかを空間で追跡し、最小要素をスキャンします。O(n)O(n)O(n)O(n)O(n)O(n)1,2,…,n+11,2,…,n+11,2,\dots,n+1 スペースを時間と交換できることに気付きました。あなたが持っている場合はのみメモリを、あなたはそれを行うことができますラウンドと時間を得る。特別な場合には、明らかに一定空間の二次時間アルゴリズムがあります。O(nk)O(nk)O(\frac{n}{k})kkkO(kn)O(kn)O(k n) 私の質問は: これは最適なトレードオフですか、つまりですか?一般に、そのようなタイプの境界をどのように証明しますか?time⋅space=Ω(n2)time⋅space=Ω(n2)\operatorname{time} \cdot \operatorname{space} = \Omega(n^2) O(1)の配列への境界演算とランダムアクセスを備えたRAMモデルを想定します。 この問題のインスピレーション:ワンテープモデルのパリンドロームの時間と空間のトレードオフ(たとえば、こちらを参照)。

1
カバレッジの問題(送信機と受信機)
次のカバレッジ問題を解決しようとします。 あり 1キロとのカバレッジエリアと送信機の受信機は。、すべての受信機が任意の送信機でカバーされることを決定し。すべての受信者と送信者は、座標と座標で表されます。nnnnnnO (n ログn )O(nログ⁡n)O(n\log n)バツバツxyyy 私が提供できる最も高度なソリューションはを取り。すべての受信機について、この現在の受信機までの距離ですべての送信機をソートし、最短距離で送信機を使用します。この最短距離は0.5 km以内でなければなりません。O (n2ログn )O(n2ログ⁡n)O(n^2\log n) しかし、単純なアプローチは、時間の複雑さはるかに優れているように見えます。送信機と受信機のすべてのペア間のすべての距離を計算するだけです。O (n2)O(n2)O(n^2) この問題に範囲検索アルゴリズムを適用できるかどうかはわかりません。たとえば、kdツリーを使用すると、このような範囲を見つけることができますが、例を見たことはなく、円の範囲検索の種類があるかどうかはわかりません。 与えられた複雑さは、ソリューションが何らかの方法でソートに類似していると仮定しています。O (n ログn )O(nログ⁡n)O(n\log n)

2
すべてのNP問題には、ポリサイズのILP製剤がありますか?
整数線形計画法はNP完全であるため、NPの問題からそれへのカープ削減があります。これは、NPの問題には常に多項式サイズのILP定式化があることを意味すると考えました。 しかし、「これが最初のポリサイズ製剤」または「既知のポリサイズ製剤はない」などのことを書く特定のNP問題に関する論文を見てきました。だから私は困惑しています。




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