理論計算機科学

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

2
2種類のほぼ単純なポリゴンの検出
私は与えられた非シンプルなポリゴンがあるかどうかを決定する際の複雑さに興味があり、ほぼ二つの異なる形式的な感覚のいずれかで、シンプル:弱いシンプルまたは非自己交差を。これらの用語は広く知られていないため、いくつかの定義から始めましょう。 ポリゴン いくつかの有限のシーケンス結ぶ線分の閉サイクルで平面内の点の。ポイントはポリゴンの頂点と呼ばれ、セグメントはそのエッジと呼ばれます。頂点を順番にリストするだけで、任意のポリゴンを指定できます。p 0、p 1、p 2、… 、p n − 1 p iPPPp0,p1,p2,…,pn−1p0,p1,p2,…,pn−1p_0, p_1, p_2, \dots, p_{n-1}pipip_ipipi+1modnpipi+1modnp_i p_{i+1\bmod n} n個の頂点がすべて異なり、エッジが端点でのみ交差する場合、ポリゴンは単純です。同様に、ポリゴンが円と同相であり、すべてのエッジが正の長さである場合、ポリゴンは単純です。ただし、一般に、ポリゴンの頂点とエッジは任意に交差する場合があります。1nnn 交差点が両方の共通のサブパスである2つのポリゴンパスとを検討します(1つのポイントである可能性があります)。エンドポイントが共通のサブパスA \ cap Bの近傍の境界で交互になる場合、と交差と言います。ポリゴンは、2つの交差サブパスがある場合は自己交差し、それ 以外の場合は非自己交差します。2B A BAAABBBAAABBB A ∩ BA(0),B(0),A(1),B(1)A(0),B(0),A(1),B(1)A(0), B(0), A(1), B(1)A∩BA∩BA\cap B ポリゴンは、単純なポリゴンのシーケンスの制限である場合、または同等に、ポリゴンを単純にする頂点の任意の小さな摂動がある場合、弱く単純です。弱く単純なポリゴンはすべて非自己交差です。ただし、一部の非自己交差ポリゴンはそれほど単純ではありません。 たとえば、以下に示す6つの点a、b、p、q、x、yを考えa,b,p,q,x,ya,b,p,q,x,ya,b,p,q,x,yます。 ポリゴンabpqyzabpqyzabpqyzは単純です。左図をご覧ください。 多角形papbpqyqzqpapbpqyqzqpapbpqyqzqは非常に単純です。中央の図は、近くの単純なポリゴンを示しています。ただし、このポリゴンはppp 3回アクセスするため、単純ではありません。 サブパスと交差するため、ポリゴンは自己交差します。直観については右図をご覧ください。b p q z y q p apapbpqzqyqpapbpqzqyqpapbpqzqyqbpqzbpqzbpqzyqpayqpayqpa 最後に、多角形(中央の多角形の周りに2回)は非自己交差ですが、それほど単純ではありません。直感的に、このポリゴンの回転数は、単純なポリゴンの回転数はなければなりません。(正式な証明には、いくつかのケース分析が必要です。一部は、回転角度が角度のポリゴンに対して実際に明確に定義されていないためです!)± 2 ± 1 …

1
分割可能なスタック
次の2つの操作の対象となる一連のアイテムを維持できるデータ構造について、何が知られていますか? Push(x):シーケンスの最後にxを追加し、シーケンス内の位置の識別子を返します Extract(S):順序付けられていない識別子のセットを指定し、それらの位置のアイテムをシーケンスから削除し、削除されたアイテムのリストをシーケンス順に返します 必要に応じて、これを2つのスタックに分割する分割操作を備えたスタックまたはキューと考えることができます。抽出操作を使用してポップまたはデキュー操作を実装でき、抽出されたアイテムのシーケンスも配置できます別のスタックまたはキューに再び戻ります。 既に知っていること:シーケンスを二重リンクリストとして維持できます。各識別子はリンクリストノードへのポインタであり、各ノードには2つの無関係な要素の位置をすばやく比較できる位置番号も格納されます。シーケンス内。データ構造が進行するにつれて位置番号を更新することは難しくありません。すべて最大値正の整数になります。ここで、nはリスト内の現在のアイテム数です。このデータ構造では、抽出操作の唯一の難しい部分は、抽出されたアイテムを位置番号でソートすることです。抽出k個のアイテムがかかりO (kは√O (n )O(n)O(n)nnnkkkたとえば、FOCS 2002のHanとThorupの整数ソートアルゴリズムを使用してランダム化された時間を予想し、プッシュ操作には一定の時間がかかります。O (k logログk−−−−−−−√)O(klog⁡log⁡k)O(k\sqrt{\log\log k}) 私が知らないこと:時間で抽出を処理し、一定時間でプッシュすることは可能ですか?この問題に関する文献はありますか?整数ソートと同じくらい難しいですか?O (k )O(k)O(k) 動機:これは、グラフ描画にも応用できるCoffman-Grahamスケジューリングアルゴリズムでアイテムを注文するために必要な基本ステップです。Coffman-Grahamの難しい部分は、辞書式トポロジカル順序です。これは、異なる次数ごとに、残りの頂点によって誘導されたサブグラフ内のその次数を持つ頂点のシーケンスを維持することによって実行できます。次に、ゼロ次の頂点のシーケンスから最初の頂点繰り返し削除し、トポロジカル順序に追加します。以前に属していた次数からvの近傍を抽出し、次に小さい次数のシーケンスにプッシュします。したがって、O (k )vvvvvvO (k )O(k)O(k) このデータ構造の抽出操作の時間は、Coffman-Grahamアルゴリズムの線形時間実装につながります。 もともとこれを尋ねて以来、1976年にSethiがCoffman–Grahamアルゴリズムを線形時間で実装できる論文を見つけ、それをWikipediaのCoffman–Grahamアルゴリズムに関する記事に含めました。しかし、答えが何であるかはまだ知りたいです。

1
NP硬度はP硬度を意味しますか?
問題がNP困難(多項式時間削減を使用)の場合、それはP困難(ログスペースまたはNC削減を使用)であることを意味しますか?NPの問題と同じくらい難しい場合、Pの問題と同じくらい難しいはずですが、削減を連鎖してログスペース(またはNC)削減を取得する方法がわかりません。

1
と信じる正当な理由はありますか?
と信じるか、N L ≠ Lであると信じる正当性があるのだろうか?NL = LNL=LNL=LNL ≠ LNL≠LNL\neq L ことが知られている。R Lのデランダム化に関する文献は、R L = Lであるとかなり確信しています。N L ≠ Lであると確信する記事やアイデアを知っている人はいますか?NL ⊂ L2NL⊂L2NL \subset L^2R LRLRLR L = LRL=LRL=LNL ≠ LNL≠LNL\neq L

5
現実世界の頂点カバーアプリケーション
Vertex Cover Problemの実際の用途は何ですか? Vertex Cover問題の理論的結果に基づいて実際に実装されたソフトウェアを使用している産業または研究プロジェクトはどれですか?特に、次の理論的結果のいずれかが使用済みソフトウェアに実装されていますか? 頂点カバーの近似アルゴリズム 頂点カバーの指数時間アルゴリズム Vertex Coverの固定パラメーターの扱いやすいアルゴリズム 頂点カバーのカーネル化アルゴリズム

3
無限体上のテンソルランクの複雑さ
テンソルは、高次元のベクトルと行列の一般化であり、ランクテンソルのは、マトリックスのランクを一般化します。つまり、テンソルランクは、合計がTになるランク1テンソルの最小数です。ベクトルと行列は、それぞれ次数1と2のテンソルです。TTTTTT の要素は、フィールドFから取得されます。場合はFが有限である、そしてHåstadは証明度のランク3テンソルが最大である場合に決定することを、Rは NP完全であるが、ときFが有理数のような無限のフィールドであるQ、彼は何の上限与えない(または引用しています)。TTTFF\mathbb{F}FF\mathbb{F}rrrFF\mathbb{F}QQ\mathbb{Q} 質問:Q上の3次テンソルランクが最大でrであるかどうかを決定する複雑さの最もよく知られている上限は何ですか?TTTQQ\mathbb{Q}rrr

3
因数分解で表される整数の追加は、因数分解と同じくらい難しいですか?参照リクエスト
次の結果の参照先を探しています。 因数分解表現で2つの整数を追加することは、通常のバイナリ表現で2つの整数を因数分解するのと同じくらい困難です。 (これはある時点で私が不思議に思っていたものであり、印刷物でようやく見たときに興奮していたので、そこにあると確信しています。) 「因数分解表現に2つの整数を追加する」ことが問題です。2つの数値xバツxと素因数分解が与えられると、x + yのyyy素因数分解を出力します。この問題の単純なアルゴリズムは、サブルーチンとして標準バイナリ表現の因数分解を使用することに注意してください。x+yバツ+yx+y 更新:KavehとSadeqの証拠に感謝します。明らかに、より多くの証明が陽気になりますが、参照を見つけるためのより多くの助けを奨励したいと思います。私はそれを他の興味深い、そしてあまり議論されていないアイデアと共に論文で読んだことを思い出しますが、それらの他のアイデアが何であったか、またはその論文が一般的に何であったかを思い出しません。

4
効率的なアルゴリズムがなければ問題はありますか?そのようなアルゴリズムが存在しなければならないことを存在定理が証明しているのでしょうか?
CSには、効率的なアルゴリズムが存在しないことを証明する存在定理にもかかわらず、効率的なアルゴリズムが不明な問題がありますか? これらの問題は何と呼ばれていますか?詳細はどこで確認できますか?

1
Ford-FulkersonとDFSを使用した最大流量
この質問は、DFSを使用して拡張パスを見つける際のFord-Fulkerson最大フローアルゴリズムの時間の複雑さに関するものです。 DFSを使用すると、最大フローで線形の反復回数が必要になる可能性があることを示すよく知られた例があります。たとえば、上記にリンクされているWikipediaページを参照してください。 ただし、私はこの例に本当に納得していません。標準のDFS実装では、パスの最初のノードとしてBとCを交互に使用する動作はありません(Wikipediaページの頂点名を使用)。 したがって、DFSがノードアクセスするたびに、常に同じ順序でuのネイバーを検査するという非常に自然な条件を課しましょう 。DFS付きFFが多数の反復を使用する例はまだありますか?あなたはあなたはuあなたはあなたはu 変形として、近隣の異なる順序が、頂点の任意の固定されたグローバルな順序と一致するという追加のプロパティがあると仮定します。それは違いがありますか? これはかなり基本的な質問のように思えます。答えがよく知られている場合は事前に謝罪しますが、私はフローの専門家ではなく、一部のグーグルは何もしませんでした。 編集: 答えはイエスであることが判明し、まだ例があります。このペーパーの図2を参照してください。これらの例では、DFSを使用したFFは、(頂点の数で)指数関数的な反復回数を取ります。これが厳密であること、つまり、反復の数が(容量の値に関係なく)によって常に制限されることを証明するのは簡単なようです。2O (n )2O(n)2^{O(n)}

5
問題教育の計算可能性
計算可能な関数の概念を教えるのは困難です。Hilbert / Ackermann / Godel / Turing / Church / ...のような研究者が「計算可能性」の概念を発明した理由の考えを発展させようとしました。学生たちはすぐに「計算可能性とはどういう意味ですか」と尋ねました。そして、チューリングマシンを教えるまで答えられず、「チューリングマシンが計算すれば関数は計算可能です」と答えます。 そう、 チューリングマシン、λ計算、または同様の計算モデルに頼る必要のない計算可能性の説明はありますか?直感的な説明でも十分です。

3
半正定型プログラムの分析に関する教育ソースまたは調査?
近似アルゴリズムを設計する際に、半正定値プログラムに続く丸めステップが解決される場合があります。これを説明するためによく使用される例はMax-Cutです。(たとえば、Vijay Vaziraniによる近似アルゴリズムを参照してください。) Max-Cutの問題を超えて、分析に使用されるより複雑な丸めアルゴリズムと手法を説明する優れた教育資料や調査はありますか?SDP-ソリューションのベクトルが超球面上に均一に分布していない、長さが異なる、または分析を困難にする他の特性がある場合を考えています。

1
多角形の障害物がある平面での最短経路の計算の複雑さ
平面内の互いに素な複数の単純なポリゴンと、すべてのポリゴンの外側にある2つのポイントとtが与えられていると仮定します。ユークリッド最短経路問題は、ポリゴンの内部と交差しないsからtまでのユークリッド最短経路を計算することです。具体的には、sとtの座標がssstttssstttssstttの座標、およびすべてのポリゴン頂点の座標が整数であるます。 この問題は多項式時間で解決できますか? もちろん、ほとんどの計算幾何学者はすぐに「はい」と言います:John HershbergerとSubhash Suriは、時間でユークリッドの最短経路を計算するアルゴリズムを説明しました。この時間制限は代数計算ツリーモデルで最適です。残念ながら、HershbergerとSuriのアルゴリズム(およびその前後のほぼすべての関連アルゴリズム)は、次の強力な意味での正確な実算を必要とするようです。O (n ログn )O(nログ⁡n)O(n\log n) すべての内部頂点が障害物頂点である場合、有効な多角形パスを呼び出します。すべてのユークリッド最短経路が有効です。有効なパスの長さは、整数の平方根の合計です。したがって、2つの有効なパスの長さを比較するには、2つの平方根の合計を比較する必要があります。ます。これは、多項式時間で行う方法がわかりません。 さらに、平方根の総和問題の任意のインスタンスが、同等のユークリッド最短経路問題に還元できることは完全に妥当であると思われます。 だから:ユークリッド最短経路を計算する多項式時間アルゴリズムはありますか?それとも問題はNP困難ですか?または sum-of-square-roots-hard?または、他の何か? いくつかのメモ: O (n )で1つのポリゴンの内部(または外部)の最短経路を計算できますO (n )O(n)O(n)少なくともポリゴンの三角形分割が指定されている場合、は、標準ファンネルアルゴリズムを使用して、奇妙な数値の問題なし時間。 実際には、浮動小数点演算は、浮動小数点精度までの最短パスを計算するのに十分です。正確な問題の複雑さにのみ興味があります。 ジョン・キャニーとジョン・レイフは、3空間での対応する問題がNP困難であることを証明しました(道徳的に最短パスが指数関数的に存在する可能性があるため)。 Joonsoo Choi、JürgenSellen、およびChee-Keng Yapは、多項式時間近似スキームについて説明しました。 Simon KahanとJack Snoeyinkは、単純なポリゴンの最小リンクパスの関連する問題について、同様の問題を検討しました。

1
計算に関するエネルギーの考慮事項
私の理解を確認するために、計算のエネルギー要件についての考えを共有したいと思います。これは私の以前の質問へのフォローアップであり、保存法に関する Vinayの質問に関連している可能性があります。 熱力学的な観点から、計算を実行することは、水平線に沿って重りを動かすことにある程度似ていると考えることができました:唯一のエネルギー損失は摩擦力によるものであり、これは原則として、任意に小さくしました。 消散力のない理想的な環境(可逆コンピューターの機械的類似物)では、エネルギー消費はまったく必要ありません。あなたはまだ重量を加速するためにエネルギーを供給しなければなりませんが、あなたはそれを減速するときにすべてを回復することができます。実行時間が十分なエネルギーを投資することによってarbitrarly小さくすることができる(より正確には、もし相対性理論は、実行時間が以下から制限され、考慮され、dは距離です)。d/cd/cd/cddd 同様に、リバーシブルコンピューターはエネルギー消費を必要としませんが、計算の最後に回収されるエネルギー投資を必要とします。また、十分なエネルギーを、相対論的限界まで(http:// arxivで説明されているように)org / abs / quant-ph / 9908043 by Seth Lloyd)。 ただし、コンピューターの構築にはエネルギーコストが伴います。一般に、これは実装の詳細に依存しますが、下限を述べることができると推測します。 コンピューターに3つの(古典的または量子)レジスター、Input、OutputおよびAncillaがあると仮定します。入力と出力の間、レジスタは、ユーザーによって読み書きできるAncillaレジスタはアクセスできません。 各計算の開始時に、Ancillaレジスタは固定(たとえば、すべてゼロ)状態で開始し、計算の終了までに同じ固定状態に戻ります。したがって、外部ノイズがなければ、アンシラの状態を初期化する必要があるのは、コンピューターの構築時に1回だけです。 したがって、適用ランダウアーの原理、I予想すると可逆コンピュータを構築することはビット(又はキュビット)Ancillaは少なくとも必要N kはB T LN 2エネルギーのジュール、k個のBはボルツマン定数であり、Tは、環境の温度であるがシステムが構築されている場所。nnnnkBTln2nkBTln⁡2n k_B T \ln2kBkBk_BTTT 質問: 上記の考慮事項は正しいですか? TTTT′&lt;TT′&lt;TT' < T 不可逆的なコンピューターを検討するとどうなりますか?非可逆コンピューターは、一般に少ない補助ビットを使用して同じ計算を実行できます。さらに、環境と熱的に相互作用するため、初期のアンシラ状態が基底状態の一部であるように調整できるため、単純に許可することで初期化できますエネルギーを供給せずに冷却します。もちろん、元に戻せないため、計算ごとにエネルギーコストを支払う必要があります。 (Vinayの質問に対するKurtの回答に関連) 機械的なアナロジーでは、水平線に沿った動きのみを考慮しました。重りも垂直方向に持ち上げられた場合、追加のエネルギー消費が必要になります(または重りが下げられた場合、エネルギーが回収されます)。この垂直運動の計算上の類似物はありますか?また、このプロセスによって消費または生産される量はありますか? 更新: コンピューターを解体すると、コンピューターを構築するのに必要なエネルギーコストを、原則として完全に(私が思うに)回収できることがわかりました。 nskBTln2+ntsnskBTln⁡2+ntsn_s k_B T \ln2 + n_t snsnsn_sntntn_tsss 一定の合計ランタイムを想定した、時間ステップごとのエネルギーと速度のトレードオフの項です。 何かご意見は?

2
プロトコルのパーティション番号と確定的な通信の複雑さ
ほかに(決定的)通信複雑 関係の、必要な通信量の別の基本的な尺度であるプロトコルパーティション数。これら2つの測定値の関係は、一定の係数まで知られています。Kushilevitz and Nisan(1997)によるモノグラフは、Rc c (R )cc(R)cc(R)RRR p p (R )pp(R)pp(R) C C (R )/ 3 ≤ ログ2(P P (R ))≤ C C (R )。cc(R)/3≤ログ2⁡(pp(R))≤cc(R)。cc(R)/3 \le \log_2(pp(R)) \le cc(R). 2番目の不等式に関しては、関係(の無限族)を与えるのは簡単です。log 2(p p (R ))= c c (R )RRRログ2(p p (R ))= c c (R )ログ2⁡(pp(R))=cc(R)\log_2(pp(R)) = cc(R) 最初の不等式に関して、Doerr(1999)は、最初の境界の係数を置き換えることができることを示し。仮にあったとしても、最初の限界をどれだけ改善できますか? c = …

7
グラフ内のツイン頂点を見つける
ましょうグラフです。頂点のX ∈ V、定義N (Xの)の(オープン)近傍であることがXでG。、であるN (X )= { Y ∈ VG = (V、E)G=(V,E)G=(V,E)X ∈ Vx∈Vx\in VN(x )N(x)N(x)バツxxGGG。uと vが同じ近隣ノードを持つ場合、つまり N (u )= N (v )の場合、 Gの 2つの頂点 u 、vを双子に定義します。N(x )= { y∈ V|{ x 、y} ∈ E}N(x)={y∈V|{x,y}∈E}N(x)=\{y\in V \,\vert\, \{x,y\}\in E\}あなた、vu,vu,vGGGあなたはuuvvvN(u )= N(v )N(u)=N(v)N(u)=N(v) 入力としてn個の頂点とm個のエッジに関するグラフ与えられた場合、そのようなペアが存在する場合、Gで双子のペアをどれだけ速く見つけることができますかGGGnnnmmmGGG 近傍を比較することにより、与えられた2つの頂点が時間に双子であるかどうかを確認できます。簡単なアルゴリズムは、双子を見つけることです。したがって、頂点のペアごとに、双子かどうかを確認します。これにはO (n 3)時間かかります(また、すべての双子のペアを検出します)。グラフ内に双子のペアを見つける(存在する場合)ための非常に高速な方法はありますか?この問題に対処する既知の研究はありますか?O (n )O(n)O(n)O (n3)O(n3)O(n^{3})

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