コンピュータサイエンス

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


1
パワーセットのサブセットの最短表現を見つけるにはどうすればよいですか?
次の問題に対する効率的なアルゴリズム、またはNP硬さの証明を探しています。 ましょうセットとすることがのサブセットのセット。ごとに、となるが存在する最小長のシーケンスを見つけます。。Σ A ⊆ P(Σ )Σ W ∈ Σ * L ∈ A のk ∈ N { W K + I | 0 ≤ I &lt; | L | } = LΣ\SigmaA⊆P(Σ)A\subseteq\mathcal{P}(\Sigma)Σ\Sigmaw∈Σ∗w\in \Sigma^*L∈AL\in Ak∈Nk\in\mathbb{N}{wk+i∣0≤i&lt;|L|}=L\{ w_{k+i} \mid 0\leq i < |L| \} = L たとえば、場合、単語は問題の解決策です。には、場合はです。A = { { a 、b } …

3
純粋なラムダ計算のクイン
純粋なラムダ計算のクインの例をお願いします。グーグルで見つけることができなかったことに非常に驚いた。馬のページには、多くの「実際の」言語のクインがリストされていますが、ラムダ計算のクインはリストされていません。 もちろん、これはラムダ計算のクインによって私が意味することを定義することを意味します。(私は非常に具体的な何かを求めています。) Larkin and Stocks(2004)などのいくつかの場所では、「自己複製」式として引用されている次のように見えます:。これは、単一のベータ削減ステップの後、それ自体に還元され、なんとなく馬鹿げた感じを与えます。しかし、それは終了しないという点で非ウマのようなものです:さらなるベータ削減は同じ表現を生成し続けるので、通常の形式に決して縮小しません。私にとっては、クインはそれ自体を終了して出力するプログラムなので、そのプロパティを持つラムダ式が必要です。(λ X 。Xx )(λ X 。Xx )(λx.xx)(λx.xx)(\lambda x.x \; x)\;(\lambda x.x \; x) もちろん、redexesを含まない式はすでに通常の形式になっているため、終了して出力されます。しかし、それはあまりにも簡単です。だから、私はそれが重要な解決策を認めることを期待して、次の定義を提案します: 定義(仮):ラムダ計算のクインは、ような形式の式です (は特定のラムダ計算式を表します)なる、または、正常形に還元変数名の変更、下にそれと同等のものの任意の入力。(λ X 。A )(λx.A)(\lambda x . A)AAA((λ X 。A )y)((λx.A)y)((\lambda x . A)\,\, y)Y(λ X 。A )(λx.A)(\lambda x . A)yyy ラムダ計算が他の言語と同等のチューリングであるとすれば、これは可能だと思われますが、私のラムダ計算は錆びているので、例を考えることはできません。 参照 ジェームズ・ラーキンとフィル・ストックス。(2004)「ラムダ計算における自己複製式」情報技術の研究と実践の会議、26(1)、167-173。 http://epublications.bond.edu.au/infotech_pubs/158

4
再帰的フィボナッチアルゴリズムの複雑さ
次の再帰フィボナッチアルゴリズムを使用します。 def fib(n): if n==0: return 0 elif n==1 return 1 return (fib(n-1)+fib(n-2)) fib(5)を見つけるために数値5を入力した場合、これが5を出力することがわかりますが、このアルゴリズムの複雑さをどのように調べることができますか?関連するステップを計算するにはどうすればよいですか?

4
グループ理論と形式言語のブリッジ定理
数学グループとCS フォーマル言語、またはチューリングマシンなどのその他のコアCSコンセプトを関連付けたりリンクしたりする自然な方法または注目すべき方法はありますか? 参照/アプリケーションを探しています。ただし、セミグループとCS言語の間のリンク(つまり、有限オートマトン経由)を認識していることに注意してください。(セミオートマトンに関するこの文献は「グループオートマトン」を見たことがありますか?) 私は何年も前に、TM遷移テーブルをバイナリ操作、場合によってはグループ、おそらくTM状態テーブルの何らかの対称性に基づいて変換する1つの論文を見ました。それは特にそれを探求しませんでしたが、それも除外しませんでした。 また、特に、有限群の分類に関する数学研究の大部分に関して、TCSで何らかの意味や解釈がありますか?数学的研究のこの巨大な建物の「アルゴリズムレンズ」ビューとは何ですか?計算の潜在的な隠された構造について「言っていること」は何ですか? この質問は、他のいくつかのメモから一部影響を受けています: TCSでの代数構造の使用 グロモフの定理に関するRJリプトン

1
正規言語の最大因数分解を見つける
言語ましょうL⊆Σ∗L⊆Σ∗\mathcal{L} \subseteq \Sigma^*規則的で。 の因数分解は、単語の集合のLL\mathcal{L}最大ペア(X,Y)(X,Y)(X,Y)です。 X⋅Y⊆LX⋅Y⊆LX \cdot Y \subseteq \mathcal{L} X≠∅≠YX≠∅≠YX \neq \emptyset \neq Y、 X⋅Y={xyX⋅Y={xyX \cdot Y = \{xy | x∈X,y∈Y}x∈X,y∈Y}x \in X, y \in Y\}。 (X,Y)(X,Y)(X,Y)各ペアの場合に最大である(X′,Y′)≠(X,Y)(X′,Y′)≠(X,Y)(X',Y') \neq (X,Y)とX′⋅Y′⊆LX′⋅Y′⊆LX'\cdot Y' \subseteq \mathcal{L} のいずれかでX⊈X′X⊈X′X \not \subseteq X'又はY⊈Y′Y⊈Y′Y \not \subseteq Y'。 どのペアが最大であるかを見つける簡単な手順はありますか? 例: してみましょう。集合F = { u 、v 、w }が計算されます:L=Σ∗abΣ∗L=Σ∗abΣ∗\mathcal{L} = \Sigma^∗ab …

1
各ビンに同じ色のボールが含まれるように、最小数のスワップを使用します
ビンがあり、i番目のビンにはi個のボールが含まれています。ボールを持っているn個の色がある私の色のボールを私は。ましょう、M = Σ N iは= 1のI。nnn私私ia私a私a_innna私a私a_i私私im=∑ni=1aim=∑i=1naim=\sum_{i=1}^n a_i スワップとは、あるビンからボールを​​取り、別のビンからボールと交換することです。各ビンに同じ色のボールのみが含まれるように、最小数のスワップが必要です。 私は簡単な特殊なケースを知っている私 ≤ 2すべてのための私を。(すべてのiについてa i = 2の場合、各ボールを最大で1回交換することでもできます。)ai≤2ai≤2a_i\leq 2iiiai=2ai=2a_i=2iii 編集:見つけることはNP困難なので、これは間違っています。c(D)c(D)c(D) どの色がどのビンに行くかがわかれば、問題は簡単です。 複数の有向グラフ、V = { v 1、… 、v n }を考えます。色iがビンb (i )に行くことがわかっている場合、ビンjが色iのk個のボールを含む場合、Aにはk個の平行な弧(j 、b (i ))がありますD=(V,A)D=(V,A)D=(V,A)V={v1,…,vn}V={v1,…,vn}V=\{v_1,\ldots,v_n\}iiib(i)b(i)b(i)kkk(j,b(i))(j,b(i))(j,b(i))AAAjjjkkkiii。グラフの各コンポーネントはオイラーです。必要なスワップの最小数は。ここで、c (D )はAをカバーするアーク独立サイクルの数です。オイラー回路を「フォロー」することで交換できます。(最小サイクルのアークを使用したスワップは、それをより小さな最小サイクルと自己ループに変更できます)。グラフ全体が自己ループのセットになったら、必要なすべてのスワップを作成しました。m−c(D)m−c(D)m-c(D)c(D)c(D)c(D)AAA 一般にこの問題はどれほど難しいですか?

5
非曖昧性は決定論とどのように違いますか?
「決定論的文脈自由文法」などの表現で「決定論的」が意味するものを理解しようとしています。(このフィールドには、より決定的な「もの」があります)。最も手の込んだ説明よりも例を挙げていただければ幸いです!可能なら。 混乱の主な原因は、文法のこの特性が(非)曖昧性とどのように異なるかを理解できないことです。 それが何を意味するかを見つけるのに最も近かったのは、D。Knuthの論文からの引用です。 、左から右への言語の翻訳に関するです: Ginsburg and Greibach(1965)は、決定論的言語の概念を定義しています。セクションVでは、これらがまさにLR(k)文法が存在する言語であることを示しています あなたがに着くとすぐに円形になります Section Vそこには、LR(k)パーサーが解析できるのは決定論的言語であると言われているからです... 以下は、「あいまいな」の意味を理解するのに役立つ例です。ご覧ください。 onewartwoearewe one war two ear eweまたはとして解析できますo new art woe are we -文法がそれを許可する場合(たとえば、私がリストしたばかりのすべての単語を持っている)。 このサンプル言語を(非)決定論的にするには、何をする必要がありますか?(たとえば、単語を削除できますo文法からをして、文法が曖昧にならないようにすることができます)。 上記の言語は決定的ですか? PS。この例は、Godel、Esher、Bach:Eternal Golden Braidの本からのものです。 例の言語の文法を次のように定義するとしましょう。 S -&gt; A 'we' | A 'ewe' A -&gt; B | BA B -&gt; 'o' | 'new' | 'art' | 'woe' …

3
線形化が必要なのは誰ですか?
レプリケートされたデータベースなどのレプリケートされたシステムの一貫性基準である、直列化可能性と線形化可能性の違いについて読んでいます。ただし、直列化可能性よりも強力な場合でも、どの場合に線形化可能性が必要になるかはわかりません。 このような強力なプロパティが実際に必要になるシナリオを考えていただけますか?


3
ビジービーバー機能の計算
ビジービーバーの最大シフト関数には、既知の値があります。を見つけることが考えられない基本的な構造上の理由はありますか? と違いは何ですか?または?どこかの道に沿っていくつかの根本的な違いが存在しなければならない、そうでない場合はすべてのための計算、原則的に、だろうそう、まさに、である。この差は?S(n )S(n)S(n)S (N )N &gt; 4 N = 4 、N = 5 、N = 6 S (N )nはN ≤ 4n≤4n\leq4S(n )S(n)S(n)n &gt; 4n&gt;4n>4n = 4n=4n=4n = 5n=5n=5n = 6n=6n=6S(n )S(n)S(n)nnn

2
ランダムに均一に完全一致をサンプリングする
私はグラフがあるととの完璧なマッチングの(不明)セット。このセットが空でないと仮定すると、からランダムに均一にサンプリングするのはどれほど難しいでしょうか?均一に近いが完全に均一ではない分布で問題ない場合、効率的なアルゴリズムはありますか?GGGM(G )M(G)M(G)GGGM(G )M(G)M(G)

3
P、NP、および専用のチューリングマシン
私はやや新しいですが、コンピューティングと複雑性理論の分野に非常に興味があり、問題を分類する方法と、問題を解決するために使用されているマシンに問題がどの程度関連しているかについての理解を明確にしたいと思います。 私の理解 標準チューリングマシン-有限のアルファベット、有限の状態数、単一の右無限テープを持つチューリングマシン Turing-Equivalent Machine-標準のチューリングマシンをエミュレートし、エミュレートできるチューリングマシン(エミュレーションによって達成される空間と時間のトレードオフを伴うことが多い) P -標準チューリングマシン(上記で定義)を使用して多項式時間で解決できる問題のクラス NP -標準チューリング機械を使用して多項式時間で検証できる問題のクラス NP-complete-まだ存在する最も困難な問題。NPすべてのNP問題を多項式時間で変換できます。 私の質問 (複雑性クラスであるP、NP、NP-complete、など)アルゴリズム、またはアルゴリズムおよび機械に関連しますか? 別の言い方をすれば、チューリング同等のマシンを作成できれば(標準TMができるすべての問題を解決できますが、異なる時間/空間で)、この新しいマシンはNP-complete、入力に関する多項式、それは意味しP=NPますか? または、NP-complete問題は、多項式時間で考えられるすべてのチューリングマシンで解決可能でなければなりませんPか? または、上記の基本的な何かを誤解していますか? 私は見ていた(おそらく正しい検索用語ではなく、すべての専門用語をよく知らない)が、ほとんどの講義/メモなどは標準的なマシンに焦点を当てているようですが、カスタムマシンにはしばしば時間/空間速度があると言います複雑さのクラスにどのように影響するかは言うまでもなく、スペース/時間を犠牲にして。私はまだこの分野の専門用語に十分な知識がなく、これを説明する論文を見つけることができません。

7
DFAはNFAよりも効率的だと言えますか?
計算理論について読み始めたところです。(文字列を受け入れる際に)より強力な方を比較すると、両方とも同じです。しかし、効率はどうですか?DFAは発信エッジを1つしか持たず、あいまいさがないため、DFAはNFAと比較して高速になります。ただし、NFAの場合は、考えられるすべてのケースを確認する必要があり、確実に時間がかかります。それで、DFAはNFAよりも効率的だと言えるでしょうか? しかし、脳の他の部分は、NFAは理論上のみに存在すると考えているため、その効率をDFAと比較することはできません。

4
数値が3の倍数である場合に計算するアルゴリズム
暗算を行うとき、次のことができます。 整数kが与えられ、すべての桁数(10を底とする)を合計します。結果が3の倍数である場合、kは3の倍数になります。 同様に機能するが、2進数(ビット)で動作するアルゴリズムを知っていますか? 最初は、整数をASCIIに変換する言語の既製の関数を使用して、基数2から基数10への変換を実行してから、精神計算のトリックを適用することを考えていました。ただし、もちろん、ベース変換2から10を自分でエンコードすることもできます。まだやっていませんが、試してみます。 次に、ベース2のユークリッド分割について考えました... しかし、他の手段、アルゴリズムがあるのだろうか。
13 algorithms 

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