コンピュータサイエンス

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

3
用語の書き換えが必要な理由
私は少しグーグルをやって、少し短くなりました。 計算科学者やプログラマーが用語の書き換えや用語のグラフの書き換えを研究する主な理由は何でしょうか。 私の知る限り、これは関数型プログラムと(命令型)プログラム制御に関する基本的な推論に役立ちます。どうやら、それは論理学者や建設的な抽象代数を研究する人々にとって非常に興味深いトピックです。 どんな助けでも大歓迎です!

2
2ウェイDFAの空の問題の複雑さは何ですか?
2ウェイDFAの空を決定する時間の複雑さはどのくらいですか?つまり、読み取り専用の入力テープを逆方向に移動できる有限オートマトンです。 Wikipediaによると、これらはDFAと同等ですが、同等のDFAは指数関数的に大きくなる可能性があります。私はそれらの補足物と交差点の州の複雑さを発見しましたが、それらの空虚性テストのためではありません。 私がこれを見つけることができる論文を誰かが知っていますか?

2
最小の一意の正の整数を推測する
次のゲームについて考えてみましょう。プレイヤーとコンピュータが何人かいます。各プレーヤーは1つの正の整数と彼の名前を入力します(プレーヤーは他の人の番号を知らず、自分の番号を知っています)。すべてのプレーヤーが行動を起こすと、コンピューターは勝者の名前を出力します-勝者の名前- 最も低い一意の番号を送信した人。 このゲームの最善の戦略は何ですか?


2
BSTでの検索時に可能な検索パスの数
次の質問がありますが、答えはありません。私の方法が正しいかどうか私は感謝します: Q.バイナリサーチツリーでキー値60を検索すると、キー値10、20、40、50、70、80、90を含むノードが、必ずしも指定された順序で移動されるわけではありません。これらのキー値が、値60を含むルートノードからの検索パスで発生する可能性のある順序はいくつありますか? (A)35(B)64(C)128(D)5040 質問から、与えられたすべてのノードをトラバーサルに含める必要があり、最終的にキー60に到達する必要があることを理解しています。たとえば、そのような組み合わせの1つは次のようになります。 10、20、40、50、90、80、70、60。 上記のすべてのノードをトラバースする必要があるため、10または90から開始する必要があります。20から開始すると、10に到達しません(60> 20であり、20の右サブツリーをトラバースするため)。 同様に、80から始めることはできません。90に到達できないためです。80> 60なので、80の左のサブツリーをトラバースし、90に到達しません。 残りのノードは20、40、50、70、80、90です。次のノードは20または90のいずれかです。前述の同じ理由で他のノードを取得することはできません。 同様に考えると、各レベルで2つの選択肢があります。ノードは7つあるため、最初の6つには2つの選択肢があり、最後の1つには選択肢がありません。だから完全にあります 2∗2∗2∗2∗2∗2∗12∗2∗2∗2∗2∗2∗12*2*2*2*2*2*1順列= = 6426262^6646464 これは正解ですか? そうでない場合、より良いアプローチは何ですか? 一般化したいと思います。場合ノードが次に与えられる合計の可能な検索パスは次のようになり2 n − 1nnn2n−12n−12^{n-1}

1
クロージャプロパティを使用して、の補数が規則的でないことを証明してください
の補数が、閉包プロパティを使用して規則的でないことを証明したいと思います。{0n1n∣n≥0}{0n1n∣n≥0}\{0^n1^n \mid n \geq{} 0\} ポンピングレンマを使用してが通常の言語ではないことを証明できることを理解しています。また、通常の言語は補完操作の下で閉じられていることも理解しています。しかし、それはまた、非正規言語の補語も非正規であることを意味しますか?{0n1n∣n≥0}{0n1n∣n≥0}\{0^n1^n \mid n \geq{} 0\}

1
純粋なデマンドページング中のスワップスペース管理
以下は、OSのホーム割り当てを行っているときに出くわした疑いです。しかし、それは単純なコーディングの質問よりも概念ベースのように思われるので、私は宿題タグがこれに適しているとは思いません。 一定量のRAMとスワップメモリ​​を指定して、同時に実行されている複数のプロセスの純粋なデマンドページングスキームで、スワップスペースに対して次の2つのケースで何が起こるか プロセスでページフォールトが発生し、RAMに使用可能な空きフレームがないため、プロセスのカーネルフレームのチャンクのページの1つをスワップに書き出す必要があります(簡単にするため、コピーは考慮していません) -on-write case)。明示的に、スワップスペースのどこにこのフレームが書き込まれ、そのためにどのデータ構造を更新する必要がありますか? プロセスが特定のページをページインする必要がある場合、それはスワップメモリ​​のどこにあり、その特定のページがスワップに存在するかどうかをどのようにして知るのでしょうか? ご想像のとおり、純粋な需要管理スキーム中にスワップスペースをどのように管理するか、およびどのデータ構造が不可欠であるかを理解することが困難です。回答のリンクを参照していただければ幸いです(「オペレーティングシステムの概念-Silberschatzによる第8版で検索しましたが、質問に対する明確な回答が見つかりませんでした)。

1
機械学習で「前」という用語が意味するもの
機械学習は初めてです。私は、さまざまなアプリケーションにディープラーニングを採用し、ほとんどのモデル設計ケースで「前」という用語を使用したいくつかの論文を読みました。それが実際に何を意味するのか誰かが説明できますか?チュートリアルでは、事前と事後の数学的な定式化のみを見つけることができました。

2
コンピューターは実際にキャリールックアヘッド加算器を使用していますか?
大学のCSコースには、Kogge-Stone、Lander-Fischerなどのキャリールックアヘッドアダーに関する多くの詳細があります。それらは「業界で一般的」と表現されています。ただし、実際には具体的にどこでも使用されているという最近の証拠はありません(おそらくマンチェスターのキャリーチェーンを除いて)。Google検索では、ジャーナルと学術研究のページのみが返されます。せいぜい、架空の実装が与えられます。 私の質問は、キャリールックアヘッド加算器が使用される特定の場所/実装はありますか?または、それらは現実の世界とは無関係ですか?

3
「漸近的に効率的」とはどういう意味ですか?
アルゴリズムがより漸近的に効率的であると言うとき、それはどういう意味ですか?XXXYYY XXXはすべての入力に適しています。 XXXは、小さな入力を除くすべての入力に適しています。 XXXは、大きな入力を除くすべての入力に適しています。 YYYは、小さな入力にはより良い選択です。 この質問のリンクはこちらです。 http://quiz.geeksforgeeks.org/algorithms-analysis-of-algorithms-question-16/ より漸近的に効率的なアルゴリズムはすべての入力で機能するはずだと思いましたが、「小さいものを除くすべての入力で機能する」の理由がわかりません。

3
この文法LL(1)はどうですか?
これはドラゴンブックからの質問です。これは文法です: S→AaAb∣BbBaS→AaAb∣BbBaS \to AaAb \mid BbBa A→εA→εA \to \varepsilon B→εB→εB \to \varepsilon 質問では、それがLL(1)であってSLR(1)ではないことをどのように示すかを尋ねます。 それがLL(1)であることを証明するために、構文解析テーブルを作成してみましたが、セル内で複数のプロダクションを取得していますが、これは矛盾しています。 このLL(1)の状態と、それを証明する方法を教えてください。

3
番目のフィボナッチ数を計算する効率的なアルゴリズム
フィボナッチ数目は、次の再発を用いて線形時間で計算することができます。nnn def fib(n): i, j = 1, 1 for k in {1...n-1}: i, j = j, i+j return i フィボナッチ数番目はまた、計算することができる[ φ N / √nnn。ただし、これにはnが比較的小さい場合でも丸めの問題があります。おそらくこれを回避する方法はありますが、私はそれをやめたいです。[φn/5–√][φn/5]\left[\varphi^n / \sqrt{5}\right]nnn 浮動小数点演算に依存しないn番目のフィボナッチ数を計算するための効率的な(値以上の対数)アルゴリズムはありますか?整数演算(+、−、×、/)を一定の時間で実行できると仮定します。nnnnnn+++−−-××\times///

4
2つの異なるツリーの予約注文トラバーサルは、たとえ異なっていても同じですか?
この質問は、それらが可能であることをかなり説明していますが、同じプレオーダートラバーサルを持つ2つの異なるツリーがある例は示していません。 また、構造的には異なりますが、2つの異なるツリーの順序トラバーサルは同じでもかまいません。この例はありますか?

3
幅優先検索での「幅」の意味は何ですか?
私は幅優先検索について学んでいて、なぜBFSがそう呼ばれるのかという疑問が頭に浮かびました。「CLRSによるアルゴリズムの紹介」の本で、私はこれについて次の理由を読みました。 幅優先探索は、発見された頂点と発見されていない頂点の間の境界を、境界の幅全体に均一に拡張するため、このように呼ばれています。 しかし、私はこの発言の意味を理解することができません。私はこの「フロンティア」という言葉とそのフロンティアの幅について混乱しています。 それで、私のような初心者にとって理解しやすい方法でこの質問に誰かが答えてもらえますか?

2
文字列内のすべての不均衡な括弧を一定のメモリで線形時間でどのように見つけることができますか?
インタビュー中に次の問題が発生しました。 かっこ(かっこや中かっこではなく、かっこのみ)と他の英数字の混合文字列を提供し、対応するかっこがないかっこをすべて識別します。 たとえば、文字列 ")(ab))"では、インデックス0および5に、一致する括弧がない括弧が含まれています。 私はO(n)メモリを使用し、スタックを使用してスタックに括弧を追加し、閉じ括弧とスタックの上部が含まれているときにスタックからそれらを削除してから文字列を調べて、O(n)ソリューションを実行しました開き括弧。 その後、インタビュアーは、問題が一定のメモリで線形時間で解決できることを指摘しました(たとえば、入力が何を使用するかを除いて、追加のメモリ使用はありません)。 私はどのように尋ねたか、彼女は左からすべての開いている括弧を識別し、次に右から2番目にすべての閉じている括弧を識別する文字列を通過することについて何か言いました...またはそれが逆だったかもしれません。私は本当に理解していなかったので、それを手で握ってくれるように彼女に頼んだくありませんでした。 彼女が提案した解決策を誰かが明確にできますか?
11 algorithms 

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