理論計算機科学

理論計算機科学者および関連分野の研究者のためのQ&A

2
固定数の変数を使用した整数プログラミング
H. Lenstraによって有名な1983紙変数の固定数で整数計画変数の固定数を持つ整数プログラムは、データの長さの時間多項式で解決できると述べています。 次のように解釈します。 一般に整数プログラミングはまだNP完全ですが、手元にある私の典型的な問題サイズ(たとえば、約10.000変数、任意の数の制約)が実際に実行可能であれば、制約の数で多項式的にスケーリングするアルゴリズムを構築できますが、変数と制約の数。 適切な制約を追加することで任意の整数を強制的に0-1にできるため、結果はバイナリプログラミングにも適用できます。 私の解釈は正しいですか? この結果は実際的な意味を持ちますか?つまり、利用可能な実装はありますか、それはCPLEX、Gurobi、Mosekなどの一般的なソルバーで使用されていますか? 論文からの引用: この長さは、目的のために、n・m・log(a + 2)と定義できます。ここで、aはAとbの係数の絶対値の最大値を示します。実際、問題の問題はNP完全であるため、そのような多項式アルゴリズムは存在しない可能性が高い [...] [5]、[10]は、nの任意の固定値に対して、整数線形計画問題を解くための多項式アルゴリズムが存在すると推測されました。本論文では、このようなアルゴリズムを示すことにより、この推測を証明します。アルゴリズムの実行時間を制限できる多項式の次数は、nの指数関数です。

1
シンプレックス法の数値安定性
シンプレックスアルゴリズムは、実際の算術演算で処理されるか、正確な計算を行う離散世界で処理されることがよくあります。ただし、ほとんどの場合、浮動小数点演算で実装されるようです。 これは、シンプレックスアルゴリズムを数値アルゴリズムと見なすべきかどうか、特に丸め誤差が計算にどのように影響するかという問題につながります。私は実用的な実装には興味がありませんが、理論的な基礎に興味があります。 この問題に関する研究を知っていますか?

1
Schemeのcall / ccは、既知のすべての制御フロー構造を実装できますか?
「高度なスキーム:いたずらなビット」ページには次のように記載されています。 継続は、他のほぼすべての制御フロー構造[...]の派生元となる強力な制御 フロー構造です。 Scheme call/ccがPeter LandinのJ演算子に関連(*)しているため、既知の制御フロー構造を実装するために使用できると思いましたか? 「制御フロー構造」では、例外、コルーチン、グリーンスレッドなど、Wikipediaのそれらの記述について具体的に考えています。 具体的には、を使用して実装できない制御フロー構造の例はありますcall/ccか? (*)call/ccJオペレーターほど強力な論文を作成することはできませんでした。 Felleisenの論文(私は読んでおらず、明らかにそれを完全に理解するのに問題がある)はこれを調査し、それらが異なる複雑さのクラスにあるにもかかわらず、形式的に同等であると結論付けているようです。 (以下のコメントに基づいて質問を更新したことにも注意してください) 更新 以下の@Neelの優れた回答に基づいて、区切られたおよび区切られていない継続についてコメントしているサイトを見ましたが、実際には、区切られていcall/ccないだけでは十分ではないようです。一方、一流の区切られた継続(などshift/reset)を使用して、制御フロー構造を表現することができます。

1
RP = NPの世界でのP = NPのコンセンサス
RP=NPRP=NPRP = NPは誤っていると広く推測されています。 しかし、それが本当だとちょっと想像してみてください。そのような場合、である可能性はどのくらいでしょうか?P=NPP=NPP = NP 言い換えると、世界では、を信じるうえで障害となるものは何だと思われますか?RP=NPRP=NPRP = NPP=NPP=NPP = NP

1
DFAの等価クエリのコスト
この質問に触発されて、私は次のことに興味があります: 特定のDFAが特定の正規表現と同じ言語を受け入れるかどうかを確認する最悪のケースの複雑さは何ですか? これは知られていますか?この問題はPにあり、両方のサイズにアルゴリズム多項式があることが期待されます。

2
FSMの状態が伝統的に
同期論理回路を使用してFSMを実装する方法を教えているときに、興味深いCSの世界と電気工学の世界の両方で、「状態」は通常(および状態空間Q)で示されます。私は最初にEE.sxで質問しましたが、このトピックについて少し調べてみると、Turingの1936年の論文でさえq 1を使用していることがわかりました。。q nは、チューリングマシンの状態を示します。qqqQQQq1。。qnq1。。qnq_1..q_n だから私は疑問に思う:この規則はいつ戻って、なぜ「状態」はと表示されるのか?qqq

1
powerset
パワーセット2上の単調な述語を考えます。n | (包含順)。"単調"と私は意味:∀ のx 、yの∈ 2 | n | その結果、X ⊂ Y、もしP (X )、次いでP (Y )。私は、すべての最小限の要素を見つけるためにアルゴリズムを探していますPを、すなわち、X ∈ 2 | n | そのようなP (x )PPP2|n|2|n|2^{|n|}∀x,y∈2|n|∀x,y∈2|n|\forall x, y \in 2^{|n|}x⊂yx⊂yx \subset yP(x)P(x)P(x)P(y)P(y)P(y)PPPx∈2|n|x∈2|n|x \in 2^{|n|}P(x)P(x)P(x)しかし、¬ P (Y )。2の幅| n | は( n∀y⊂x∀y⊂x\forall y \subset x¬P(y)¬P(y)\neg P(y)2|n|2|n|2^{|n|}、指数関数的に多くの最小要素が存在する可能性があるため、そのようなアルゴリズムの実行時間は一般に指数関数的である可能性があります。しかし、出力のサイズが多項式であるこのタスクのアルゴリズムが存在する可能性はありますか?(nn/2)(nn/2)n \choose n/2 [コンテキスト:より一般的な質問が尋ねられましたが、出力のサイズにおけるアルゴリズムの複雑さを評価する試みはありませんでした。たとえば、最小限の要素が1つしかないと仮定すると、この回答に続いてバイナリ検索を実行して見つけることができます。ただし、さらに最小限の要素を探し続けたい場合は、既知の情報に時間を無駄にせずに検索を続行できるように、に関する現在の情報を維持する必要があります。これを行い、出力のサイズの多項式時間ですべての最小要素を見つけることは可能ですか?]PPP 理想的には、これが一般的なDAGで実行できるかどうかを理解したいのですが、。2|n|2|n|2^{|n|}

1
最適なNPソルバー
フィックス SATの検索フォームを、例えばNP完全探索問題。レビン探索は、ある意味で最適なXを解くためのアルゴリズムLを提供します。具体的には、アルゴリズムは「入力xですべての可能なプログラムPを実行し、あるPが応答yを返すと、それが正しいかどうかをテストします」です。時間の複雑さt Pで Xを解くプログラムPが与えられたという意味で最適です。X⊂{0,1}∗×{0,1}∗X⊂{0,1}∗×{0,1}∗X \subset \lbrace 0,1 \rbrace^* \times \lbrace 0,1 \rbrace^*LLLXXXPPPxxxPPPyyyPPPXXX、時間複雑性のT L(N )の Lを満たしますtP(n)tP(n)t_P(n)tL(n)tL(n)t_L(n)LLL tL(n)&lt;2|P|p(tP(n))tL(n)&lt;2|P|p(tP(n))t_L(n) < 2^{|P|}p(t_P(n)) ここで、は正確な計算モデルに依存する固定多項式ですppp の最適性は、多少強力な方法で定式化できます。すなわち、すべてのための M ⊂ { 0 、1 } *及び Q解くプログラム X約束と Mを時間 tのM Q(N )、時間複雑 T M L(N )の Lで入力に限定 Mを満たしますLLLM⊂{0,1}∗M⊂{0,1}∗M \subset \lbrace 0,1 \rbrace^*QQQXXXMMMtMQ(n)tQM(n)t^M_Q(n)tML(n)tLM(n)t_L^M(n)LLLMMM tML(n)&lt;2|Q|q(n,tMQ(n))tLM(n)&lt;2|Q|q(n,tQM(n))t_L^M(n) < 2^{|Q|}q(n, t^M_Q(n)) ここで、は固定多項式です。重要な違いは、P ≠ N …

1
このグラフクラスには名前がありますか?
しきい値グラフを拡張することで定式化されます。がクリークで、が独立集合であるしきい値グラフが与えられた場合、私の拡張は次のとおりです。各頂点は、の頂点が同じになるように新しいクリーク置き換えることができます。近傍。C I V ∈ I K用のV K用のV V(C,I)(C,I)(C,I)CCCIIIv∈Iv∈Iv\in IKvKvK_vKvKvK_vvvv これは研究されるべきだったと思うが、graphclasses.orgでそのようなものを検索するのは難しい。

1
Cai-Furer-Immermanガジェットの自己同型
Weisfeiler-Lehman(WL)法によるグラフ同型の有名な反例では、この論文でCai、Furer、Immerman が次のガジェットを作成しました。彼らは、グラフ構築によって与えられるがX k = (V k、E k)Xk=(Vk,Ek)X_k = (V_k, E_k) VのK = K ∪ BのK ∪ M K どこ K = { I | 1 ≤ I ≤ K } 、BのK = { B I | 1 ≤ I ≤ K } 、 及び Mk={mS∣S⊆{1,2,…,k}, |S| is even}Ek={(mS,ai)∣i∈S}∪{(mS,bi)∣i∉S}Vk=Ak∪Bk∪Mk where Ak={ai∣1≤i≤k},Bk={bi∣1≤i≤k}, …

1
グラフ同型(GI)問題に対する同一粒子アプローチの負の結果
ハードコアボソンの量子ランダムウォーク(対称だが二重占有ではない)を使用して、グラフ同型問題を攻撃するための努力がいくつか行われました。有望と思われる隣接行列の対称性は、Amir Rahnamai BarghiとIlya Ponomarenkoによって、この論文の一般的なグラフでは不完全であることが証明されました。この論文では、他の同様のアプローチも ジェイミー・スミスによって反論されました。これらの論文の両方で、彼らはコヒーレントな構成(スキーム)とセルラー代数の代替だが同等の定式化(有限集合-ここで頂点集合-点ごとの乗算、複素共役転置で閉じられ、含む単位行列Iおよびオールワン行列J)それぞれ必要なカウンター引数を提供します。 それらの議論に従うことは非常に困難であり、個々の議論に漠然と従ったとしても、私は核となる考えを理解していません。スキーム理論やセルラー代数の言語を使用せずに、議論の本質を一般的な用語で説明できるかどうかを知りたいと思います。

1
グラフの組み合わせ埋め込み
ここ:http : //www.planarity.org/Klein_elementary_graph_theory.pdf(章の埋め込み)には、平面グラフの組み合わせ埋め込みの定義が与えられています。(面の定義など)どんなグラフにも簡単に使用できますが、平面グラフをオイラー公式が保持するグラフとして定義します(グラフが接続されていると仮定)。すべての平面グラフで、コンビナトリアル埋め込みの面の定義が、トポロジカル埋め込みの面の定義に似ていることはかなり理解できます。(グラフが接続されていると仮定します。そうでなければ、組み合わせ埋め込みでは、接続されたすべてのコンポーネントに対して無限の面を持ちます) 問題は、接続されたグラフの組み合わせ埋め込みがオイラー公式を満たしている場合、これはこのグラフがトポロジカルな意味で平面的であることを意味しますか(平面埋め込み、つまり平面グラフです)?


3
和のエントロピーについて
2つの独立した離散確率変数XとYの合計のエントロピーの限界を探しています。当然のことながら、H (X + Y )≤ H (X )+ H (Y )(* )ただし、の和に適用されるN個の独立したベルヌーイ・ランダム変数Z 1、... 、ZはN、これは得られる H (Z 1 +H(X+Y)H(X+Y)H(X+Y)XXXYYYH(X+Y)≤H(X)+H(Y) (∗)H(X+Y)≤H(X)+H(Y) (∗)H(X+Y) \leq H(X) + H(Y) ~~~~~~(*)nnnZ1,…,ZnZ1,…,ZnZ_1, \ldots, Z_nすなわち、結合はして直線的に成長する nは繰り返し適用される場合。ただし、 Z 1 + ⋯ Z nはサイズ nのセットでサポートされるため、エントロピーは最大で log nです。実際には、中心極限定理により、私は推測している H (Z 1 + ⋯ + Z N)≈ (1 / 2 )ログH(Z1+Z2+⋯+Zn)≤nH(Z1)H(Z1+Z2+⋯+Zn)≤nH(Z1) H(Z_1 …

2
Alternative、MonadPlus(LeftCatch)とMonadPlus(LeftDistributive)の関係は何ですか?
フォローアップモナドプラスではなく、代替であるモナドの例は何ですか?: がモナドであると仮定します。関係はbetweem何ですかmがあることオルタナティブ、MonadPlusCatchとMonadPlusDistr?mmmmmm6つの可能性のあるペアのそれぞれについて、一方が他方を暗示しているという証拠、またはそれが暗示していない反例のいずれかを持ちたいと思います。 (私は使用しています 左キャッチ規則を満たすMonadPlusを区別するMonadPlusCatch: mplus (return a) b = return a 左分配規則を満足させるMonadPlusを区別するMonadPlusDistr: mplus a b &gt;&gt;= k = mplus (a &gt;&gt;= k) (b &gt;&gt;= k) HaskellWikiのMonadPlusを参照してください。) 私の現在の知識と直感は次のとおりです。 MonadPlusDist オルタナティブ - おそらく真 - それは簡単なようで、私は私が証明のスケッチ持っていると信じて、私はそれをチェックしますし、それが正しいなら、私はそれを投稿します AndrewCはこの部分を答えました。→→\rightarrow →→\rightarrow Maybe →→\rightarrow MaybeT (Either e)MaybeT m' ((pure x) &lt;|&gt; g) &lt;*&gt; a = -- LeftCatch …

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