コンピュータサイエンス

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

4
内点法を使用して線形計画法の正確なコーナーソリューションを見つける
シンプレックスアルゴリズムは、ポリトープの角を貪欲に歩いて、線形計画問題の最適解を見つけます。その結果、答えは常にポリトープの隅になります。内点法はポリトープの内部を歩きます。その結果、ポリトープの平面全体が最適である場合(目的関数が平面に正確に平行である場合)、この平面の中央で解を得ることができます。 代わりにポリトープのコーナーを見つけたいとしましょう。たとえば、線形プログラミングに削減することで最大マッチングを行いたい場合、「マッチングにはエッジXYの0.34%とエッジABの0.89%が含まれ、...」という回答は必要ありません。私たちは0と1で答えを得たいと思っています(すべてのコーナーが0と1で構成されているので、シンプレックスは私たちに与えるでしょう)。多項式時間で正確なコーナーの解を見つけることを保証する内点法でこれを行う方法はありますか?(たとえば、コーナーを優先するように目的関数を変更できます)

3
重複するサイクルを持つNFAを正規表現に変換する方法は?
私が正しく理解すれば、NFAには正規表現と同じ表現力があります。多くの場合、NFAから同等の正規表現を読み取るのは簡単です。サイクルを星に変換したり、ジャンクションを代替として変換したりします。しかし、この場合何をすべきか: [ ソース ] オーバーラップするサイクルにより、このオートマトンが何を受け入れるか(正規表現に関して)がわかりにくくなります。トリックはありますか?

3
間に差がある
私は現在ラムダ計算を学んでいて、ラムダ項を書くことの次の2つの異なる種類について疑問に思っていました。 λ X 、Y。x yλxy.xy\lambda xy.xy λ X 。λ yの。x yλx.λy.xy\lambda x.\lambda y.xy 意味やベータ削減を適用する方法に違いはありますか、それとも同じことを表現する2つの方法だけですか? 特にペア作成のこの定義は私に不思議に思いました: ペア =λ X 、Y。λ P 。p x yλxy.λp.pxy\lambda xy.\lambda p.pxy

2
この言語が文脈自由でないことをどのように証明できますか?
次の言語があります { 0私1j2k| 0 ≤ I ≤ J ≤ K }{0i1j2k∣0≤i≤j≤k}\qquad \{0^i 1^j 2^k \mid 0 \leq i \leq j \leq k\} 私はどのチョムスキー言語クラスに適合するかを決定しようとしています。文脈依存の文法を使用してそれがどのように作成されるかを確認できるので、少なくとも文脈依存であることがわかります。文脈自由文法では作成できないようですが、それを証明するのに問題があります。 がすべての単語の3番目の部分(2つのsのすべてを含むセクション)に配置されている場合、フォークポンピングレンマを通過するようです。vとxを必要なだけポンプでき、言語のままです。私が間違っている場合、なぜ私が正しい場合でも、この言語は文脈自由ではないと思うので、なぜそれを証明できますか?u v w x yuvwxyuvwxy222vvvバツxx

3
一般的なパスファインディングアルゴリズムとヒューマンプロセスの比較
これは計算認知科学と境界を接するかもしれませんが、一般的なパスファインディングアルゴリズム(A *など)がたどるプロセスが、さまざまなパスファインディング状況で人間が使用するプロセス(同じ情報が与えられた場合)とどのように比較されるかについて知りたいです。これらのプロセスは似ていますか?

1
この書き換えシステムで文字列を派生させることは可能ですか?
書き換えシステムは、形式の一連のルール です。そのルールを文字列に適用すると、部分文字列が部分文字列、またはその逆に置き換えられます。W A 、W BA ↔ BA↔BA \leftrightarrow BwwwAAAwwwBBB 始まる文字列が与えられ私たちが導き出すことができ以下のルールとシステムに:B A A BAAABBAAABBAAABBBAABBAABBAAB A↔BAA↔BAA \leftrightarrow BA BABA↔AABBBABA↔AABBBABA \leftrightarrow AABB AAA↔ABAAA↔ABAAA \leftrightarrow AB BA↔ABBA↔ABBA \leftrightarrow AB そのための一般的なアルゴリズムはありますか?

2
2つの異なる価格のドリンクディスペンサーのCCSプロセス
ドリンクディスペンサーは、(コインを挿入するために、ユーザが必要です:)三つのボタンの、そしてプレス1 ˉ Dのお茶は、お茶のカップを要求Eの紅茶、コーヒーのため同上を、そしてˉ rは払い戻しを要求する(つまり、マシンが戻っていますコイン:ˉ B)。このディスペンサーは、次のCCSプロセスによってモデル化できます。c¯c¯\bar cd¯お茶d¯tea\bar d_{\text{tea}}eお茶eteae_{\text{tea}}r¯r¯\bar rb¯b¯\bar b M=d e fc 。(dお茶。e¯お茶。M+ dコーヒー。e¯コーヒー。M+ r 。b¯。M)M=defc.(dtea.e¯tea.M+dcoffee.e¯coffee.M+r.b¯.M) M \stackrel{\mathrm{def}}= c.(d_{\text{tea}}.\bar e_{\text{tea}}.M + d_{\text{coffee}}.\bar e_{\text{coffee}}.M + r.\bar b.M) 内戦はコーヒーの価格を2コインに引き上げますが、お茶の価格は1コインのままです。私たちは、2枚のコインの後にのみコーヒーを配達し、1枚または2枚のコインの後に払い戻しを受け入れるように変更されたマシンを求めています。変更したマシンをCCSプロセスでどのようにモデル化できますか?

1
関数はの数字のサブシーケンスを検索できますか?
に一連の数字があるかどうかはどのようにして決定できますか?ππ\pi次の無邪気に見えるバリエーションが計算可能かどうかを尋ねるように私を鼓舞しました: f(n)={10if n¯ occurs in the decimal representation of πotherwisef(n)={1if n¯ occurs in the decimal representation of π0otherwisef(n) = \begin{cases} 1 & \text{if \(\bar n\) occurs in the decimal representation of \(\pi\)} \\ 0 & \text{otherwise} \\ \end{cases} ここで、は、先行ゼロのないの10進表記です。のnn¯n¯\bar nnnn 10進展開にすべての有限数字シーケンスが含まれている場合(これを(基数10の)ユニバーサル番号と呼びましょう)、は定数です。しかし、これは開かれた数学的問題です。が普遍的でない場合、これはが計算不可能であることを意味しますか?F 1 π Fππ\pifff111ππ\pifff

4
自己リンクと親リンク(。および..)をディレクトリエントリに保存する理由
階層型ディレクトリ構造にファイルを保存する以外の機能を持たない一部の組み込みデバイスを対象としたファイルシステムについて考えてみます。このファイルシステムには、UNIXやWindowsなどのシステムで使用できる多くの操作がありません(たとえば、アクセス許可は完全に異なり、ディレクトリに格納されているメタデータに関連付けられていません)。このファイルシステムでは、ハードリンクやソフトリンクの種類を許可しないため、すべてのファイルには厳密なツリー構造で一意の名前が付けられます。 ディレクトリ自体とその親へのリンクを、ディレクトリを表すディスク上のデータ構造に格納することにはメリットがありますか? ほとんどのunixファイルシステムは.、..ディスク上にエントリを持っています。なぜVFS(汎用ファイルシステムドライバー)レイヤーでそれらを処理しないのでしょうか。これは歴史的な遺物ですか?正当な理由はありますか?そうであれば、正確に、それが私の組み込みシステムに関連しているかどうかを判断できますか?

1
コンテキストフリー言語の無限の結合は常にコンテキストフリーですか?
してみましょう、L 2、L 3、...一般的なアルファベットの上に定義さデFiがあり、それぞれが文脈自由言語のFi回線有限シーケンス、であることΣ。してみましょうLはのFiの中に無限の労働組合もL 1、L 2、L 3、... ; すなわち、L = L 1 ∪ L 2 ∪ L 3 ∪ ...。L1L1L_1L2L2L_2L3L3L_3……\dotsΣΣΣLLLL1L1L_1L2L2L_2L3L3L_3……\dots L = L1∪ L2∪ L3∪ …L=L1∪L2∪L3∪…L = L_1 \cup L_2 \cup L_3 \cup \dots が文脈自由言語であるということは常に当てはまりますか?LLL

2
どの種類の分岐予測がより重要ですか?
分岐予測には2つの異なるタイプの状態があることがわかりました。 スーパースカラー実行では、分岐予測が非常に重要であり、フェッチ遅延ではなく実行遅延が主です。 命令パイプラインでは、命令は実際には後で実行されないため、フェッチがさらに問題になります。 これらのうちどれが非常に重要ですか(これらのどれが現在CPUで本当に重要であるかなど)?両方が同等に重要である場合、または2番目の方がより重要である場合、2つの命令パイプライン(おそらく長さの半分)がないのはなぜですか?次に、ブランチに応じて、それらの1つを選択してから、再び人口を開始しますはじめに?

5
言語の規則性について十分かつ必要な条件
次の説明のうち、正しいものはどれですか。 言語の規則性に関する十分で必要な条件は存在しますが、まだ発見されていません。 言語の規則性について十分かつ必要な条件はありません。 補題のポンピングは、言語の非規則性のために必要な条件です。 補題のポンピングは、言語の非規則性にとって十分な条件です。 #(4)は正しい、#(3)はfalseであることを知っています。「このステートメントの逆は真ではありません。これらの条件を満たす言語はまだ非正規である可能性があります」ですが、(1)と(2)?

4
実装なしでプログラミング言語を指定できますか?
実装が存在しない可能性のあるプログラミング言語を指定することは理論的に可能ですか?プログラミング言語は、関数を定義する方法です。実装とは、特定の入力でプログラムに対応する関数の出力への特定の入力で、その言語で特定のプログラムを実行するメソッドを意味します。 そのような言語の最小要件は何ですか?

4
特定のバブルソートアルゴリズムの平均時間の複雑さを評価します。
このバブルソートの疑似コードを考えてみましょう: FOR i := 0 TO arraylength(list) STEP 1 switched := false FOR j := 0 TO arraylength(list)-(i+1) STEP 1 IF list[j] > list[j + 1] THEN switch(list,j,j+1) switched := true ENDIF NEXT IF switched = false THEN break ENDIF NEXT 平均的な時間の複雑さを評価するために覚えておかなければならない基本的なアイデアは何でしょうか?最悪のケースと最良のケースの計算はすでに完了していますが、内部ループの平均的な複雑さを評価して方程式を作成する方法を検討しています。 最悪の場合の方程式は次のとおりです。 ∑i=0n(∑j=0n−(i+1)O(1)+O(1))=O(n22+n2)=O(n2)∑i=0n(∑j=0n−(i+1)O(1)+O(1))=O(n22+n2)=O(n2) \sum_{i=0}^n \left(\sum_{j=0}^{n -(i+1)}O(1) + O(1)\right) = …

4
カテゴリとセットの意味上の違いは何ですか?
この質問では、setとtypeの違いは何かを尋ねました。これらの回答は本当に明確になっているため(たとえば、@ AndrejBauer)、知識への渇望の中で、カテゴリについて同じことを尋ねる誘惑に服します。 カテゴリ理論(確かにかなり非公式です)について読むたびに、それが集合論と具体的にどう違うのか本当に理解できません。 したがって、可能な限り最も具体的な方法では、と言うのと比較して、カテゴリにあると言うことはについて正確に何を意味し ますか?(例えば、がグループであると言うことと、がカテゴリーと言うことの違いは何ですか?)xxxX ∈ S X X G R PCCCx∈Sx∈Sx\in SxxxxxxGrpGrp\mathrm {Grp} (比較を最も明確にする任意のカテゴリとセットを選択できます)。

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