コンピュータサイエンス

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

1
俳優モデルのチューリングマシンのような形式
チューリングマシンには、正式なシンボルアルファベット、状態、および遷移規則に基づいて、計算の実行方法が記述されています。 アクターモデルは、チューリングマシンよりも強力な計算モデルと呼ばれることがあります(計算できるものではなく、他の側面)。 アクターモデルは、計算モデルとしての本格的なターニングマシンの代替品ですか? アクターモデルにも、チューリングマシンに似たシンボルベースの正式な計算の説明がありますか? アクターはチューリングマシンと同等と見なされますか?各メッセージは順次(そしてアトミックに)処理されるためですか? チューリング機械に基づく多くの理論的な結果があります。たとえば、停止問題、決定可能性、ゲーデルの不完全性定理との関係などです。 これらの証明は、俳優モデルに正式に一般化できますか?これは行われましたか?

2
COQで実数/確率論のフレームワークを作成する作業はありますか?
COQは、帰納的な構造の計算を使用するインタラクティブな定理証明です。つまり、帰納的な型に大きく依存しています。これらを使用すると、自然数、有理数、グラフ、文法、セマンティクスなどの離散構造が非常に簡潔に表現されます。 しかし、証明アシスタントが好きになったので、実数、複素数、確率限界など、数えきれない構造のライブラリーがあるかどうか疑問に思っていました。もちろん、これらの構造を帰納的に(少なくとも私の知る限りでは)定義することはできませんが、たとえば公理的アプローチを使用して、公理的に定義することはできます。 ライブラリとして、基本的なプロパティ、またはチャーノフバウンドやユニオンバウンドなどの確率的バウンドを提供する作業はありますか?


1
パイプラインアーキテクチャで構造的危険はいつ発生しますか?
パイプラインアーキテクチャで構造的危険が発生する比較的簡単な例をいくつか探しています。 私が考えることができる唯一のシナリオは、パイプラインのさまざまな段階(つまり、最初の命令フェッチ段階とその後のメモリ読み取り/書き込み段階)でメモリにアクセスする必要がある場合です。 スーパースカラーなどのより複雑なアーキテクチャーには、より多くの構造上の危険があると思います。命令が実行ユニットにディスパッチされたが、ユニットが使用中であるためにキューに入れられた場合、それは構造的ハザードとして分類されますか? これがアーキテクチャ固有のものである場合は、MIPSまたは同様のものを想定してください。

5
暗号化にはどのようにランダム性を含めることができますか?
暗号化アルゴリズムが文字列を別の文字列に変換することを意図していて、その文字列を復号化して元の文字列に戻すことができる場合、このプロセスはどのようにランダム性を伴うのでしょうか? 確かにそれは決定論的である必要があります。そうでなければ、暗号化された文字列の作成に関与した要因を復号化関数がどのようにして知ることができるでしょうか?

3
空のセットを含む言語の重要なクラスのエンコーディングセットを再帰的に列挙できますか?
ましょ帰納的可算言語(非自明なセットで)およびlet、いくつかの言語を認識するチューリングマシンのエンコーディングのセットである:CCC∅⊊C⊊RE∅⊊C⊊RE\emptyset \subsetneq C \subsetneq \mathrm{RE}LLLCCCL={⟨M⟩∣L(M)∈C}L={⟨M⟩∣L(M)∈C}L=\{\langle M \rangle \mid L(M) \in C \} と仮定します。ここで、は決して停止しないTMです。が可能かどうかは疑問です。⟨Mloopy⟩∈L⟨Mloopy⟩∈L\langle M_{loopy}\rangle \in LMloopyMloopyM_{loopy}L∈REL∈REL \in \mathrm{RE} ライスの定理により、(再帰言語のセット)であることを知っているので、またはです。以降の最初のオプションにする必要がありますか?L∉RL∉RL \notin \mathrm{R}L∉REL∉REL \notin \mathrm{RE}L¯¯¯¯∉REL¯∉RE\overline{L} \notin \mathrm{RE}Mloopy∈LMloopy∈LM_{loopy} \in L

1
Vapnik-Chervonenkis Dimension:ライン上の4つのポイントを長方形で粉砕できないのはなぜですか?
それで、私はBishopなどによる「機械学習入門」第2版を読んでいます。すべて。27ページで、彼らはVapnik-Chervonenkis Dimensionについて論じています。 「H [仮想クラス]によって粉砕できるポイントの最大数は、HのVapnik-Chervonenkis(VC)ディメンションと呼ばれ、VC(H)と表され、Hの容量を測定します。」 一方、「粉砕」は、N個のデータポイントのセットの仮説を示し、正の例と負の例を区別します。そのような例では、「HはNポイントを粉砕する」と言われています。H ∈ Hh∈Hh \in H これまでのところ、私はこれを理解していると思います。しかし、著者は次の理由で私を失います: 「たとえば、ライン上の4つのポイントを長方形で粉砕することはできません。」 なぜそうなるのか理解できないので、完全に理解していない概念がいくつかあるはずです。誰か私にこれを説明できますか?

1
通常の言語が周期演算子の下で閉じられていることを証明する
私は数日で試験を受けましたが、このタスクを解決するのに問題があります。 してみましょうアルファベットを超える正規言語も。私たちは、運転してい そして今、我々は示すべきであることも定期的です。LLLΣΣ\Sigmacycle(L)={xy∣x,y∈Σ∗ and yx∈L}cycle⁡(L)={xy∣x,y∈Σ∗ and yx∈L}\operatorname{cycle}(L) = \{ xy \mid x,y\in \Sigma^* \text{ and } yx\in L\}cycle(L)cycle⁡(L)\operatorname{cycle}(L) 参照は、DFAを a -NFA withおよび 状態。D=(Q,Σ,δ,q0,F)D=(Q,Σ,δ,q0,F)D=(Q,\Sigma,\delta, q_0, F)L(D)=LL(D)=LL(D) = Lϵϵ\epsilonNNNL(N)=cycle(L)L(N)=cycle⁡(L)L(N) = \operatorname{cycle}(L)2⋅|Q|2+12·|Q|2+12 · |Q|^2 + 1

3
特定の計算可能な関数を型付きの用語で表すことができない理由に関する簡単な説明?
「Lambda Calculusの紹介」という論文を読んで、34ページ(私の斜体)で、あまり理解していない段落に出くわしました。 2つのパラダイムのそれぞれの中に、型付きラムダ計算のいくつかのバージョンがあります。多くの重要なシステム、特に教会のシステムでは、タイプを持つ用語が常に正規形を持っている場合がそうです。停止の問題が解決できないことから、これはすべての計算可能な関数が型付きの用語で表現できるわけではないことを意味します。Barendregt(1990)、定理4.2.15を参照してください。表現できない計算可能な関数を見つけるためには、頭の上に立つ必要があるため、これは見かけほど悪くはありません。たとえば、2では、2次の型付きラムダ計算では、たまたま合計である部分的な再帰関数しか表現できませんが、数学的分析(2次の算術)ではそうではありません。 私はこれらの概念のほとんどに精通していますが、部分的な再帰関数の概念や、証明可能な完全な関数の概念には精通していません。しかし、これは私が学習に興味があるものではありません。 特定の計算可能な関数を型付きの用語で表すことができない理由、およびそのような関数が「頭の上に立って」しか見つからない理由についての簡単な説明を探しています。

3
キーの秘密性とアルゴリズムの秘密性
それはよく知られている声明です 「暗号化セキュリティは、秘密アルゴリズムではなく秘密鍵に依存する必要があります。」 詳細についてお伺いします。そして、それらの違いは何ですか? マルチユーザーシステムの場合、すべてのユーザーペアに対して明確なアルゴリズムを生成するよりも、キーを生成する方が圧倒的に簡単であることは明らかです(ユーザーの1つのペアであっても、キーを更新する方が簡単であると主張できます)。 しかし、それは唯一の議論ですか? つまり、定義すると AlgorithmA = AlgorithmX + key A AlgorithmB = AlgorithmX + key B その場合、キーの変更はアルゴリズムの変更と変わりません。 私が見る唯一の違いは、新しいユーザー/キーのペアの場合です 秘密鍵の場合、ほとんどのアルゴリズム構造は一定のままですが、 秘密のアルゴリズムの場合、ほとんどのアルゴリズム構造を変更する必要があります しかし、限界はどこですか?「ほとんど」の意味? この区別が通常言及される理由を理解するために、より多くの見解と手がかりを持ちたいと思います。

2
2次元および3次元ナップザックのアルゴリズム
2Dと3Dのナップザックの問題はNPCであることはわかっていますが、インスタンスがそれほど複雑でない場合、妥当な時間内にそれらを解決する方法はありますか?動的プログラミングは機能しますか? 2D(3D)ナップザックとは、正方形(立方体)とオブジェクトのリストがあることを意味します。すべてのデータはセンチメートル単位で、最大20mです。

1
ヒープソートの最悪のケースを見つける
ACM ICPC 2004–2005 Northeastern European contestで問題Hに取り組んでいます。 問題は基本的に、ヒープを構築するためのアルゴリズム(シフトダウン)で最大数の交換を生成する最悪のケースを見つけることです。 入力:入力ファイルにはが含まれています()。nnn1≤n≤50,0001≤n≤50,0001 \le n \le 50{,}000 出力:ヒープになるように、からまでの異なる整数を含む配列を出力します。これをソートされた配列に変換すると、シフト操作の交換の合計数が最大になります。nnn111nnn 入力例:6 対応する出力:6 5 3 2 4 1 そして基本的な出力: [2, 1] [3, 2, 1] [4, 3, 1, 2] [5, 4, 3, 2, 1] [6, 5, 3, 4, 1, 2]

1
行列が1の1つの接続された領域で構成されるように、最小数1を見つける
ましょであるマトリックス。2つのエントリが水平または垂直に隣接していて、両方のエントリが1である場合、それらは隣接していると言います。追加する1の最小数を見つけたいので、すべての1は一連のネイバーを通じて別の1に到達できます。MMM(0,1)(0,1)(0, 1)111111111 例: 100 000 001 ここでは3 1が必要です111: 100 100 111 追加する111の最小数とその場所を効率的に見つけるにはどうすればよいですか?

1
選択と挿入の並べ替えに敵対的な引数を使用するにはどうすればよいですか?
選択と挿入の並べ替えの下限を見つけるために必要な敵対的な引数を見つけるように求められました。それへの参照がどこにも見つかりませんでした。 これについてはいくつか疑問があります。私は通常、「アルゴリズム」ではなく特定の「問題」の下限を見つけるために敵対的な議論が使用されることを理解しています。 マージの問題を理解しました。しかし、どのようにして選択および挿入ソート用に作成できますか?

1
繰り返しのない文字列の数の式は何ですか?
文字列の数を数えたい sss 有限のアルファベット以上 AAA、それは繰り返しを含まず、それによって私は任意の部分文字列を意味します ttt の sss、 1&lt;|t|&lt;|s|1&lt;|t|&lt;|s|1< |t| < |s|、のばらばらのコピーはありません ttt に sss。例として、A={a,b}A={a,b}A=\{a,b\}。その後aaaaaaaaa ある部分文字列のため以来、私はカウントしたい文字列のいずれかaaaaaa、ばらばらのコピーはありません。しかしながら、abababababab そのような繰り返しが含まれています。 誰かがすでに有用な式を見つけている場合は、リンクしてください。それ以外の場合は、誰かの回答を使用する場合、私が書く記事でこの投稿を参照します。 別の例を示します。長い文字列を作成してみましょう{a,b}{a,b}\{a,b\}、繰り返しを含まない: aaa(aにすることはできません) aaab(aまたはb) aaabbb(bに することはできません) aaabbba(bまたはaにする ことはできません)aaaba(aまたはbにすることはできません) ツリーを構築した場合、ノードの数を数えることができますが、式が必要です。 編集: まあ、私たちがこれをビンを選択する問題に変換するかどうか最初に考えたほど難しくはありません。少なくとも1回の繰り返しを持つ長さkの文字列のセットは、デカルト積のすべての順列の和集合であるセットに等しくなります。 A×A×⋯×A(k-4 times)×R×RA×A×⋯×A(k-4 times)×R×RA \times A \times \cdots\times A \text{(k-4 times)} \times R \times R どこ RRR必要な繰り返しです。それが役に立ったかどうかはわかりませんが、プロのように聞こえます:)とにかく、| A |にしましょう ビン、繰り返しになる任意の2つ(同じものであっても)を選択し、次にk−4k−4k-4もっと増やして掛けます(最初の4つはすでに選択されています、参照してください?)。今、私は離散数学からその式を見つける必要があります。

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