コンピュータサイエンス

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

2
Akra-Bazziが有料関数gが制限されている必要があるのはなぜですか?
フォンブランドの回答に続いて、私は生徒のためのより強力なマスター定理についての小さな文書を書きたいと思います。その1つがアクラ・バッツィの定理です。私は彼らの論文[1]から定理をコピーして、小さな表記上の混乱²の他に、次の問題を発見しました。 著者は必要とします(私の強調): g(x)g(x)g(x) 実際の値に対して定義されています xxx、有界の正の非減少関数 ∀x≥0∀x≥0\forall x \geq 0 ここに、 ggg 通行料関数です。つまり、繰り返しは次の形式です T(n)=g(n)+∑i=1kaiT(⌊nb−1i⌋)T(n)=g(n)+∑i=1kaiT(⌊nbi−1⌋)\qquad\displaystyle T(n) = g(n) + \sum_{i=1}^k a_i T\bigl(\lfloor n b_i^{-1} \rfloor\bigr)。 今、彼らの論文の最後(p209)で、彼らは彼らの結果を適用するための複数の例を示し、彼らは Ω(n)Ω(n)\Omega(n)これは明らかに制限されていません。 証明をスキミングすることから、彼らは主に形式の積分を要求するようです ∫bag(x )バツp + 1dバツ∫abg(x)xp+1dx\qquad\displaystyle \int_a^b \frac{g(x)}{x^{p+1}} dx 有限の値を持っています。したがって、gggすべてのコンパクトな間隔に制限されることで十分かもしれません。私は証明を詳細に処理しませんでした。彼らがそれを意味することは可能ですか? 私の質問は、アクラ・バッツィの定理は、証明と例と一致するようにどのように述べられるべきですか? M. AkraおよびL. Bazzi(1998)による線形回帰方程式の解について 彼らは必要とする a私∈R∗ +ai∈R∗+a_i \in R^{*+}。これは私が知らないいくつかの表記ですか、それともタイプミスですか?意図された意味は(0,∞)⊆R(0,∞)⊆R(0,\infty) \subseteq \mathbb{R}。

2
特定のノードを通過する最短経路
私は自分の問題の効率的な解決策を見つけようとしています。G100個のノード(各ノードに番号が付けられています)を含む正の重み付きグラフがあり、それが非循環グラフであると仮定しましょう。したがって、2、2、2、1などのエッジは存在できません。ノードのリストを取得しましたG。グラフから10としましょう。これらの各ノードも配列にあるとしましょう。そのリストから、ノード1から100までの、それらのノードの少なくとも特定の(5つとしましょう)を通過する最短パスの総重みを見つける方法を探しています。 簡略化するために、0 ... 5の6つのノードを持つグラフを考えます。ノード1と4は、通過するように指定できるポイントとしてマークされています。既存のパスが0-1-2-5、0-3-4-5、および1-4であるとしましょう。ここで、3から4を除くすべてのエッジが5として重み付けされているとします。3から4は1として重み付けされます。最短パスアルゴリズムを実行すると、基本的にパス0-3-4-5が検出されます。指定されたポイントの最小量を指定して、量2を試してください。その後、アルゴリズムは15として重み付けされた0-1-4-5で実行されます。 私はこのように書きました shortestPath(destinationNode, minAmount) if(destinationNode == srcNode && minAmount < 1) return 0 else if(destinationNode == srcNode && minAmount > 1) return INFINITY int destNo = destinationNode get number int cost = INFINITY for (int i = 0; i < destNo; i++) if (d[i][destNo] != null) int …

3
決定論的有限オートマトンのカウント
DFAのカウントに関して質問があります。 与えられた Σ = {0, 1}入力文字列、状態を設定してQ = {1...n}、どのように私が構築できるのDFAの総数を見つけるだろうか? これは組み合わせの問題だと思いますが、何を掛ければよいのかよくわかりません。 ありがとう。

2
チューリングマシンでタイピングは何に対応しますか?
私の質問が理にかなっているといいのですが、型付けされていない微積分は、チューリングマシンと同等の能力であるという前提から始めて、チューリングマシンで微積分に型を追加することは何に対応しますか?静的でも動的でも、タイピングに似たオートマトンのようなものはありますか?λλ\lambda λλ\lambda

1
異なる整数のパーティションの問題
パーティションの問題は、よく知られたNP完全問題です。私が見た定義では、入力は整数のマルチセットであると想定されており、合計が同じである2つのセットへのパーティションの存在を決定したいと考えています。私の質問は: すべての入力整数が異なる場合(つまり、整数が繰り返されない場合)、パーティションの問題は依然としてNP完全ですか?

1
いくつかのノード間の有向グラフで指定された長さ未満のすべてのパス
有向グラフまたは無向グラフ内のいくつかのノード間のすべての可能なパス、または指定された長さのすべての可能なパスをカウントすることは、古典的な問題です。可能性のサイクルにより、すべての意味に注意を払う必要があります。 この質問は少し異なる、または少なくとも私は思います。 INPUT: してG有向グラフ。Gは、サイクルと自己接続ノードを持つことができます。してみましょうA(G)はの隣接行列もG(中1とG I、J Iからjに行くリンクとそうでない場合は0があります場合)。Gのノードの2つのサブセットであるTとBを定義します。 結果:Tの 1つのノードからBの 1 つのノードに向かう、最大で k のすべてのパスのリスト。パスは、ソースノードからターゲットノードに厳密にk + 1ステップ未満で進む限り、同じエッジを複数回含むことができます。 質問:このタスクで最適なアルゴリズムを知りたいのですが。隣接行列のn乗がシンボリックに計算された場合(1の代わりに各エントリに異なる変数を使用)、このすべてのパス(およびエントリに1を使用して数値で計算された場合、パスのカウントに減少します)。しかし、これがタスクを実行する最も速い方法であるかどうかは本当にわかりません(おそらくそうではありません)。 警告:私はカウントの問題や最短のパスを求めているのではありません。パスの長さは、使用されるエッジの数として定義されています(繰り返しをカウントしています)。私はRを使用していますが、他の言語で考えたい場合は、質問がすでに提起され、解決されていたら本当に申し訳ありません。親切に助けてくれてありがとう! 追加情報:行列べき級数アプローチ(A ^ 3は3つの長いパスをすべて提供します...)とdfs / bfsを試しました。後者の2つは、ソースとターゲットのセットで作業していることを考慮に入れておらず、したがって多くの冗長な作業を行うため、最適性には程遠いと思います...

1
二次剰余と整数因数分解
私は、が法とする2次剰余であるかどうかを決定することは、(特にが素数でない場合)数論からの興味深い(そして難しい)問題であることをよく読みます。rrrんnnんnn この問題の次の特殊なケースを見ていますとを2つの異なる素数とし、ます。と間のが与えられます。 2 \ equiv r \ pmod {n}のようなが存在するかどうかを判断します。pppqqqn := p qん:=pqn:=pqrrr111んんnX ∈ Z / N Zバツ∈Z/んZx\in\mathbb{Z}/n\mathbb{Z}バツ2≡ R(modn )バツ2≡r(モッドん)x^2\equiv r\pmod{n} 私の質問は次のとおりです。この問題の機能バージョン、つまり「上記のようなバツバツxを検索」は、整数因数分解のためのランダム化されたアルゴリズムを生成します。したがって、「RSAの破壊」などの実用的な理由から、非常に興味深いものです。この問題の決定バージョンについて、そのような結果はありますか?そうでない場合、二次残差を決定することは難しい問題であると私たちに考えさせる典型的な問題は何ですか? さらに、私が見ている特別なケースは本当に特別なケースですか?または、上記の決定問題のオラクルで任意のんんnを使用して一般的なケースを解決できますか?

4
ポンプレンマの長さ制限はどこから来るのですか?
言語について LLL ポンピング長さ ppp、および文字列 s∈Ls∈Ls\in L、ポンピング補題は次のとおりです。 通常版:|s|≥p|s|≥p|s| \geq p、その後 sss 次のように書くことができます xyzxyzxyz、以下の条件を満たす: |y|≥1|y|≥1|y|\geq 1 |xy|≤p|xy|≤p|xy|\leq p ∀i≥0:xyiz∈L∀i≥0:xyiz∈L \forall i\geq 0: xy^iz\in L コンテキストフリーバージョン:|s|≥p|s|≥p|s| \geq p、その後 sss 次のように書くことができます uvxyzuvxyzuvxyz、以下の条件を満たす: |vy|≥1|vy|≥1|vy|\geq 1 |vxy|≤p|vxy|≤p|vxy|\leq p ∀i≥0:uvixyiz∈L∀i≥0:uvixyiz∈L \forall i\geq 0: uv^ixy^iz\in L 私の質問はこれです。誰かが規則性(文脈自由性)が上記の1番目と2番目の条件をどのように暗示するかについて簡潔で明確な説明を与えることができますか?ポンピングの長さは、(有限の)プロパティ(それぞれ、有限数の状態または有限のプロダクションルールのプロパティ)によって決定されます。3番目のプロパティは、状態(プロダクションルール)が任意に何度もスキップまたは繰り返されることを保証しますが、最初のそして2番目の条件は発生しますか?彼らはどのように正当化されますか?

2
Myhill-Nerodeとクロージャーのプロパティ
通常の言語は、マイヒルとネロードの等価性によって特徴付けられることはよく知られています。言語の場合はを超える同値定義上すべてのためのIFF ^ * \シグマにおけるz \我々が持っているLでL \ IFF YZ \に\ XZを。その場合、Lは正規であり、\ sim_Lが有限インデックスである場合、つまり有限数の同値類を持つ場合。LLLΣ∗Σ∗\Sigma^*x∼Lyx∼Lyx\sim_L yΣ∗Σ∗\Sigma^*z∈Σ∗z∈Σ∗z\in\Sigma^*xz∈L⟺yz∈Lxz∈L⟺yz∈Lxz\in L \iff yz\in LLLL∼L∼L\sim_L この関係を使用して、同等ではない文字列を無限に示すことにより、一部の言語が正規でないことを示すことができることを知っています。 私の質問:Myhill-Nerodeを使用して、通常の言語のクロージャプロパティを簡単に表示できますか?または、言語の「構文上の合同」を使用する必要がありますか? x \ sim_L yはx \ sim _ {\ mbox {pref}(L)} yをx∼Lyx∼Lyx\sim_L y意味するため、接頭辞の例としては簡単です。しかし、サフィックス、連結、スター、ミラーをどのように処理するのでしょうか。x∼pref(L)yx∼pref(L)yx\sim_{\mbox{pref}(L)} y

2
現在のコンピューターが構築されている数学モデル
「チューリングマシンは実用的なコンピューティングテクノロジーとしてではなく、コンピューティングマシンを表す仮想デバイスとして意図されていると言われています。チューリングマシンは、コンピューター科学者が機械計算の限界を理解するのに役立ちます。」[ウィキペディア] では、どのモデルで現在のマシンが構築されていますか?

1
しきい値回路の重みに関する仮定
ブール入力線形しきい値関数を実装するしきい値ゲートは、式 where。の閾値関数の重みと呼ばれ、閾値と呼ばれ、自然に、ゲート火災入力に上式で与えられる重み付けされた和を超える場合は。nnnx1,x2…,xnx1,x2…,xnx_1, x_2 \ldots, x_nw1x1+w2x2+…,wnxn≥tw1x1+w2x2+…,wnxn≥tw_1 x_1 + w_2 x_2 + \ldots, w_n x_n \ge tw1,…,wn,t∈Rw1,…,wn,t∈Rw_1, \ldots, w_n, t \in \mathbb{R}wiwiw_ittt111xxxttt さて、しきい値回路に関する文献のほとんどどこでも、私はこの事実に遭遇します(私が推測しているのは、どこにも証明を見つけることができなかったため、民間伝承です):上記の線形方程式のは整数にすることができます(ビット)、およびこれらのゲートで構成されたしきい値回路は、実際の重みで可能なことは何でも計算します。私はこれをいくつか考えました、そしてそれは簡単なトリックであるに違いないと思いますが、私はこの事実の証拠を得ることができませんでした。誰かが私を助けたり、参照を提供したりできますか?(私が見つけた唯一の参照は、私が入手できなかった室賀のテキストでした)wiwiw_inlognnlog⁡nn \log{n}

2
順列のハミング距離の代替
私は2つの文字列を持っていますが、一方は他方の順列です。必要な置換の最小数を見つける代わりに、文字列aから文字列bに移動するのに必要な最小数の転座を見つけるハミング距離の代替案があるかどうか疑問に思いました。 私の文字列は常に同じサイズで、エラーや置換がないことを知っています。 例: 1 2 3 4 5 3 2 5 4 1 これは私に2つを与えるでしょう: 3 2 5 4 1 (start) -> 3 2 1 4 5 -> -> 1 2 3 4 5 これがすでにRに実装されている場合は、さらに良いでしょう。

2
ラムダ計算の単純化
以下は、削減するのが難しいと感じているラムダ式です。つまり、この問題の対処方法を理解できません。 (λ M 、N 。(λ S Z。m s (n s z)))(λ S Z。s z)(λ S Z。s z)(λメートルん。(λsz。メートルs(んsz)))(λsz。sz)(λsz。sz)(\lambda mn.(\lambda sz.ms(nsz)))(\lambda sz.sz)(\lambda sz.sz) 私はこれで迷っています。 誰かが私を正しい方向に導くことができればそれはとても感謝されます


1
解決する
アルゴリズムの概要、第3版(p.95)には、再発を解決する方法の例があります T(n)=3T(n4)+n⋅log(n)T(n)=3T(n4)+n⋅log⁡(n)\displaystyle T(n)= 3T\left(\frac{n}{4}\right) + n\cdot \log(n) マスター定理を適用することによって。 私はそれがどのように行われるかについて非常に混乱しています。そう、a=3,b=4,f(n)=n⋅log(n)a=3,b=4,f(n)=n⋅log⁡(n)a=3, b=4, f(n) = n\cdot \log(n) 最初のステップは比較することです nlogba=nlog43=O(n0.793)nlogb⁡a=nlog4⁡3=O(n0.793)n^{\log_b a} = n^{\log_4 3}= O(n^{0.793}) と f(n)f(n)f(n)。 彼らがこれをどのように比較したのか私には手がかりがありません。本は説明します: f(n)=Ω(nlog43+ϵ)f(n)=Ω(nlog4⁡3+ϵ)f(n) = \Omega (n^{\log_4 3+\epsilon })、 どこ ϵ≈0.2ϵ≈0.2\epsilon \approx 0.2、規則性の条件が満たされることを示すことができる場合、ケース3が適用されます f(n).f(n).f(n). に続く: nが十分に大きい場合、次のようになります。 af(nb)=3(n4)log(n5)≤(34)nlogn=cf(n) for c=34.af(nb)=3(n4)log⁡(n5)≤(34)nlog⁡n=cf(n) for c=34.af\left(\frac{n}{b}\right) = 3\left(\frac{n}{4}\right)\log\left(\frac{n}{5}\right) \le\left(\frac{3}{4}\right)n \log n = cf(n)~ for~ …

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