コンピュータサイエンス

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

3
2つの再帰呼び出しを含む再帰方程式を解く
次の再帰方程式のバウンドを見つけようとしています。ΘΘ\Theta T(n)=2T(n/2)+T(n/3)+2n2+5n+42T(n)=2T(n/2)+T(n/3)+2n2+5n+42 T(n) = 2 T(n/2) + T(n/3) + 2n^2+ 5n + 42 マスター定理は、副問題と分割の量が異なるため不適切であると考えています。また、またはがないため、再帰ツリーは機能しません。T (0 )T(1)T(1)T(1)T(0)T(0)T(0)

1
すべての兵士は同時に射撃する必要があります
私が学生だったとき、デジタルシステム/ロジックデザインの教科書に問題がありました。N人の兵士が並んでいて、同時に撃ちたいということです。問題のより難しいバージョンは、兵士たちが列ではなく一般的なネットワークに立っていることでした。これは古典的な問題だと確信していますが、その名前を思い出すことはできません。思い出させてくれますか?

1
木の根から葉までの最長経路を見つける
次の例のようなツリーがあります(グラフ理論の意味で)。 これは、1つの開始ノード(ルート)と多くの終了ノード(リーフ)を持つ有向ツリーです。各エッジには長さが割り当てられています。 私の質問は、ルートで始まり葉のいずれかで終わる最長パスをどのように見つけるかです。ブルートフォースアプローチは、すべてのルートリーフパスをチェックし、最大長のパスを取得することですが、1つあればより効率的なアルゴリズムを好むでしょう。

4
プログラムが言語のセマンティクスを拡張できるほど十分に順応性があるか
プログラマーがクラス(Stringなどのクラスを含む)を定義した後、いつでもクラスを拡張/オーバーライドできるようにするruby(およびjavascript)などの言語の機能を参照して、プログラムを後で拡張できる言語を設計することは理論的に実行可能ですか?そのセマンティクス。 例:Rubyは多重継承を許可していませんが、デフォルトの言語動作を拡張/オーバーライドして多重継承の実装を許可できます。 これを許可する他の言語はありますか?これは実際に言語設計者の関心事ですか?Webアプリケーション開発用のRailsフレームワークを構築するためにrubyを使用する選択肢を見ると、このような言語は非常に強力で、さまざまなアプリケーションのフレームワーク(またはDSL)を設計できます。

3
動的グラフ関連の問題に取り組む方法
私は一般的なstackoverflowでこの質問をし、ここに導かれました。 一般的な部分的または完全に動的なグラフの問題に対処する方法を説明できる人がいるとすばらしいでしょう。 例えば: 各インスタンスでエッジが削除されたときに、インスタンスの無向加重グラフで2つの頂点間の最短パスを検索します。(u,v)(u,v)(u,v)nnn 各インスタンスでエッジが削除される場合など、n個のインスタンスの無向グラフで接続されたコンポーネントの数を検索します。 最近、プログラミングコンテストでこのジャンルの問題に遭遇しました。Webを検索したところ、動的グラフに関する多くの研究論文が見つかりました[1,2]。私はそれらのいくつかを読みました、そして、私はまっすぐなものを見つけることができませんでした(クラスタリング、スパース化など)あいまいです。 これらの概念をよりよく理解するための指針を提供できる人がいることを本当に感謝しています。 D. Eppstein、Z。Galil、GF Italianoによる動的グラフアルゴリズム(1999) G. Nannicini、L。Libertiによる動的グラフ上の最短経路(2008)

2
スイープラインアルゴリズムを使用した円交差
残念ながら、私はまだスイープラインアルゴリズムを理解することにそれほど強くありません。このトピックに関するすべての論文と教科書はすでに読まれていますが、理解はまだ遠いです。それを明確にするために、できるだけ多くの演習を解決しようとしています。しかし、本当に興味深く、重要な仕事は私にとってまだ挑戦です。 全能者ジェフ・エリクソンによる線分交差の講義ノートで見つけた以下の演習。 演習2.スイープラインアルゴリズムを説明および分析して、平面内の円が与えられた場合、2つが交差するかどうかを時間で決定します。各円は、その中心と半径によって指定されるため、入力は3つの配列、およびます。低レベルのプリミティブを正しく実装するよう注意してください。nnnO (n ログn )O(nログ⁡n)O(n \log n)バツ[ 1 .. n ] 、Y[ 1 .. n ]バツ[1 ..n]、Y[1 ..n]X[1.. n], Y [1.. n]R [ 1 .. n ]R[1 ..n]R[1.. n] 複雑なことをもっと簡単にしよう。円の交差について何を知っていますか?線の交差でどのような類似物が見つかるか。2つの線が隣接している場合に交差する可能性があります。2つの円が交差するためにどのプロパティが必要ですか ましょう、円の中心間の距離である及び円の中心。いくつかのケースを考慮してください。dddr0r0r_{0}r1r1r_{1} ケース1:場合、解は存在せず、円は分離されます。d&gt; r0+ r1d&gt;r0+r1d > r_{0} + r_{1} ケース2:1つの円が他の円に含まれているため、ソリューションはありません。d&lt; | r0− r1|d&lt;|r0−r1|d < |r_{0} - r_{1}| ケース3:および場合、円は一致し、解の数は無限になります。r 0 = …

3
日常の材料からの論理ゲート
論理ゲートは、電磁リレー、真空管、またはトランジスタで実装できる抽象的なデバイスです。これらの実装は、基本的にバイナリの安定性を超えた連鎖性、耐久性、およびサイズのさまざまなプロパティのために、コンピューティングで成功しました。また、電気はエネルギー源であるため、簡単に出荷できます。 木、大理石、重力で作られた加算器を見てきました。「チップ上のラボ」毛細管現象駆動型プロトタイプを見てきました。私はあらゆる種類の特殊な機械計算機を見ました(Curta、スライド規則)。ドミノトレイルは使い捨てロジックゲートとして見てきました。 私は、必ずしも便利、耐久性、または高速である必要はありませんが、計算を実行するために日常の素材の特性を活用し、直接見える他の例示的なコンピューティングデバイスに興味があります。ドミノの軌跡は近いですが、リセットするには少し複雑すぎます。 磁気機械的配置?パイプ/トラフの水?より一般的な大理石の仕掛け? PS。ここに新しいものがあります。 機械式CPUクロック

1
決定論的対非決定論的最小ヒープオートマトンの計算能力
これは、のフォローアップの質問です、この1。 エキゾチックステートマシンに関する以前の質問で、Alex ten BrinkとRaphaelは、固有の種類のステートマシンであるmin-heapオートマトンの計算機能について説明しました。彼らは、そのようなマシンが受け入れる言語のセット()が、コンテキストフリー言語のセットのサブセットでもスーパーセットでもないことを示すことができました。その質問の成功した解決と明らかな関心を考慮して、私はいくつかのフォローアップの質問をすることを進めます。HALHALHAL 決定論的および非決定論的チューリングマシンと同様に、決定論的および非決定論的有限オートマトンには同等の計算機能があることが知られています。ただし、決定性プッシュダウンオートマトンの計算能力は、非決定性プッシュダウンオートマトンの能力よりも劣ります。 決定的最小ヒープオートマトンの計算能力は、非決定的最小ヒープオートマトンの計算能力よりも小さいですか、または同等ですか?

2
要件に費やされた時間と、プロジェクトの成功と開発時間への影響
作成に費やした時間、または要件について考える時間が開発時間に影響を与えることを示唆する証拠はありますか?Standish(1995)が行った研究は、不完全な要件(13.1%)がプロジェクトの失敗に寄与したことを示唆しています。要件分析に費やされた時間がプロジェクトの開発時間、またはプロジェクトの成功度に影響することを示す調査が行われましたか?

2
通常の言語で指定された長さの単語の数
通常の言語で、与えられた長さの単語の数の代数的特徴はありますか? ウィキペディアは結果をやや不正確に述べています: 任意の正規言語の場合はLLL定数が存在するλ1,…,λkλ1,…,λk\lambda_1,\,\ldots,\,\lambda_k及び多項式p1(x )、… 、pk(x )p1(バツ)、…、pk(バツ)p_1(x),\,\ldots,\,p_k(x) ようにすべてのためのnnn数sL(n )sL(n)s_L(n)の長さの単語のnnnにおけるLLL式を満たす sL(n )= p1(n )λn1+ ⋯ + pk(n )λnksL(n)=p1(n)λ1n+⋯+pk(n)λkns_L(n)=p_1(n)\lambda_1^n+\dotsb+p_k(n)\lambda_k^n。 どのスペースにλλ\lambda住んでいるか(CC\mathbb{C}、私は推測します)、および関数が全体で非負の整数値を持つ必要があるかどうかは述べられていませんNN\mathbb{N}。正確な声明と、証拠のスケッチまたはリファレンスをお願いします。 ボーナスの質問:逆は真ですか、つまり、この形式の関数が与えられた場合、長さあたりの単語数がこの関数に等しい通常の言語は常に存在しますか? この質問は、通常の言語の単語数(00 )∗(00)∗(00)^*

2
クワッドツリーに大きな幾何学的オブジェクトを保存するのにどの方法が適していますか?
幾何学的オブジェクトを四分木(または八分木)に配置する場合、いくつかの方法で単一ノードよりも大きなオブジェクトを配置できます。 オブジェクトの参照を、それが含まれるすべての葉に配置する オブジェクトの参照を、それが完全に含まれる最も深いノードに配置する #1と#2の両方 例えば: この画像では、4つのリーフノードすべてに(方法#1)、ルートノードのみに(方法#2)、または両方に(方法#3)円を配置できます。 クワッドツリーを照会するために、どの方法がより一般的で、なぜですか?

3
計算上列挙できない可算セットはありますか?
セットは、自然数の全単射を持つ場合はカウント可能であり、そのメンバーを列挙するアルゴリズムが存在する場合は計算可能に列挙可能です(ce)。 列挙から全単射を構築できるため、計算可能な列挙可能な非有限セットはすべてカウント可能でなければなりません。 計算上列挙できない可算集合の例はありますか?つまり、このセットと自然数の間に全単射が存在しますが、この全単射を計算できるアルゴリズムはありません。

2
満足できない3-CNF式の例は何ですか?
私は、SAT / 3CNF-SATを中心とするNP完全性証明に頭を包もうとしています。 たぶんそれは遅い時間かもしれませんが、私は満足できない3CNF式を考えることができないのではないかと思います(おそらく明らかな何かを見逃しています)。 そのような式の例を教えてもらえますか?

2
漸近的にタイトな上限とは何ですか?
私が学んだことから、漸近的にタイトなバインドは、シータ表記のように上下からバインドされていることを意味します。しかし、Big-O表記法の漸近的に厳密な上限はどういう意味ですか?

1
Kクリーク問題の)アルゴリズム
クリーク問題は、必要なクリークのサイズが入力の一部である、よく知られた完全問題です。ただし、kクリーク問題には自明な多項式時間アルゴリズムがあります(が定数の場合は)。kが一定の場合、最もよく知られている上限に興味があります。NPNPNPO (nk)O(nk)O(n^k)kkk 実行時アルゴリズムはありますか? -timeアルゴリズムもよいです。また、そのようなアルゴリズムの存在に対する複雑性理論的な結果はありますか?O (nk − 1)O(nk−1)O(n^{k-1})o (nk)o(nk)o(n^k)

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