コンピュータサイエンス

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


3
番号割り当て
与えられた数字A 1 ≤ A 2 ≤ 。。。≤ A kのようにk個のΣ I = 1、A iは = K (2 K + 1 )番号の割り当てがあるI 1、I 2、。。。、I 2 k個の順列で1 、2 、。。。、2kkkあ1≤ A2≤ 。。。≤ AkA1≤A2≤...≤AkA_1 \leq A_2 \leq ... \leq A_kΣi = 1kあ私= k (2 k + 1 )∑i=1kAi=k(2k+1)\sum\limits_{i=1}^k A_i = k(2k + 1)私1、私2、。。。、私2 ki1,i2,...,i2ki_1, i_2, …

2
どのようにして、0と1の数が等しいすべてのバイナリシーケンスを効率的に生成しますか?
バイナリシーケンスの長さだけ順序付けられたシーケンスである各ようにのいずれかであるまたは。このようなすべてのバイナリシーケンスを生成するには、次の方法で明らかなバイナリツリー構造を使用できます。ルートは「空」ですが、左の子はそれぞれ既存の文字列にを追加し、右の子を追加し。ここで、各バイナリシーケンスは、ルートで始まり、リーフで終わる長さパスです。x 1、… 、x n x j 0 1 0 1 n + 1nnnx1,…,xnx1,…,xnx_1,\ldots,x_nxjxjx_j000111000111n+1n+1n+1 これが私の質問です: 正確にゼロと 1 を持つ、長さすべてのバイナリ文字列のみを生成したい場合は、もっと良いことはありますか?n n2n2n2nnnnnnn 「もっと上手くできるか」ということは、最初に上のツリー全体を構築し、次に「左」と「右」のエッジの数が等しいパスを見つけようとする愚かなアルゴリズムよりも複雑さを低くする必要があることを意味します。

1
ペブル問題
Pebblingは、無向グラフでプレイされるソリティアゲームで、各頂点には0個以上の小石があります。単一の小石の移動は、頂点vから2つの小石を削除し、1つの小石をvの任意の隣接に追加することで構成されます。(明らかに、頂点vは移動前に少なくとも2つの小石を持っている必要があります。)PebbleDestruction問題は、シーケンスがあるかどうか、各頂点vのグラフG = (V ; E )と小石カウントp (v )が与えられると尋ねます1つを除くすべての小石を削除する小石の動きの。PebbleDestructionがNP完全であることを証明します。GGGvvvvvvG=(V;E)G=(V;E)G = ( V; E )p(v)p(v)p ( v )vvv まず、多項式時間で解を検証できるので、それがNPであることを示します。1つの小石から小石の数をさかのぼって追跡できます。 次に、多項式時間削減の基礎としてどの問題を使用するかについてのアイデアは何ですか? 頂点カバーのようなものは機能しますか?または異なるサイズの頂点カバー? もしそうなら、それはどのように各移動で小石のさまざまな数を処理できますか? ありがとうございました。 From:http : //courses.engr.illinois.edu/cs473/sp2011/hw/disc/disc_14.pdf

1
行列エントロピーの制約付き最適化問題
(シャノン)マトリックスエントロピーに制約付き最適化問題があります。行列Aは、形式[ v iのランク1行列の合計として記述できます。(s um(e n t r (e i g (A ))))(sum(entr(eig(A))))\mathtt{(sum(entr(eig(A))))}あAAここで、 v iは所定の正規化ベクトルです。ランク1行列の係数は、最適化の対象となる未知数であり、それらはゼロより大きく、合計が1でなければなりません。[ v私vT私][viviT][v_i\,v_i^T]v私viv_i CVXのような構文では、問題は次のようになります。与えられた変数c (n )c(n)\mathtt{c(n)} 最小化S Um(e n t r (e i g (A )))minimizesum(entr(eig(A)))\text{minimize} \qquad \mathtt{sum(entr(eig(A)))} 。従うあ∑ c私c私= ∑ c私v私vT私= 1≥ 0subject toA=∑civiviT∑ci=1ci≥0\begin{align} \text{subject to} \qquad A &= \sum c_i v_i v_i^T\\ \sum c_i &= 1\\ …

1
コードグラフ与えられた場合、簡約クリークグラフの計算の複雑さはどのですか?
グラフは、長さが以上のサイクルを引き起こさない場合、弦です。クリークツリーのツリーの頂点の最大クリークされた木である。のエッジは最小のセパレーターに対応します。別個のクリークツリーの数は、コードグラフの頂点の数で指数関数的になる可能性があります。GGG444TTTGGGGGGTTT 減少クリークグラフ 、すべてのクリーク木の組合である。つまり、すべて同じ頂点とすべての可能なエッジがあります。与えられたを計算する複雑さは何ですか?Cr(G)Cr(G)C_r(G)GGGCr(G)Cr(G)C_r(G)GGG が証明なしで時間で計算できると主張するプレゼンテーションを見たことがあります。これは、クリークツリーを計算するのと同じくらい簡単であることを意味します。これを確認する、またはそれを計算するためのより遅いアルゴリズムを与えるリファレンスはありますか?Cr(G)Cr(G)C_r(G)O(m+n)O(m+n)O(m+n)GGG

3
二次元ケーキの公平な分割
私は土地の公平な分割(すなわち羨望の的でない分割、または少なくとも比例分割)の手順に興味があります。 よく研究されたケーキの分割の問題とは対照的に、土地の分割は2次元です。つまり、ユーザーの好みは水平方向と垂直方向の両方で変化する可能性があります。したがって、アルゴリズムを並列カットに限定することは現実的ではありません。 私がこれまでに見つけた唯一の参照は、2007年のKarthik IyerとMichael Huhnsです。彼らは、「これまでのところ、一般的な土地分割問題に対する建設的な(アルゴリズム的な)解決策を見つけたことはありません。すべての論文は、問題の適格バージョンに対する実存的な解決策を提供しています。」 それら自体は、一定の制限付きで、比例土地分割のO(n ^ 2)アルゴリズムを証明します(たとえば、n人のエージェントはそれぞれ、ユーティリティ1 / nでn個の長方形領域をマークする必要があり、長方形があまりオーバーラップしない場合、アルゴリズム各エージェントが長方形の1つを取得することを保証します)。 この問題に関する新しいリファレンスを知っていますか?私は特に実用的なアルゴリズムに興味があり、それらはおおよその可能性があります。

1
SRラッチを理解する方法
SRラッチの動作に頭を悩ますことはできません。どうやら、Rからの入力ラインとSからの入力ラインを接続し、とQ ′で結果を取得することになっています。QQQQ′Q′Q' ただし、RとSはどちらも他方の出力からの入力を必要とし、もう一方の出力は他方の出力からの入力を必要とします。鶏肉と卵のどちらが先ですか? この回路を最初に接続したとき、どのように開始しますか?

2
SVM分類の方が正確な分類子はどれですか。
SVMの分類を学習していますが、問題が発生しています。このジレンマに用語があるかどうかはわかりません。 (両方の性別の)健康な人と(両方の性別の)肝臓がんの人のサンプルを前提として、SVMで患者を分類するとします。健康な人のサンプルをクラス1、癌の人をクラス2とラベル付けすると、バイナリSVMをトレーニングして分類子1を取得し、新しい患者を予測できます。次に、別のシナリオをイメージします。SVM分類の前に、最初にすべてのサンプルを性別で割るとします。性別ごとに、健康な患者と癌患者を2つのクラスに分類し、バイナリSVMをトレーニングして、女性と男性のサンプルの分類子2と分類子3をそれぞれ取得します。問題は、より正確な予測を得るために使用する分類子1または2の新しい女性患者がいるかどうかです。ここに私が持っている議論のジレンマがあります (1)サンプル数が多い場合、予測はより正確になります。この議論に基づいて、分類子1は良い選択のようです。 (2)ただし、サンプルを最初に女性と男性のグループに分けた場合、新しい患者(未知のテストサンプル)は女性であるため、分類子2の方が適しているようです。 この種のジレンマには用語がありますか、それともこのような問題を解決するための詳細情報や方法を誰かが知っていますか?これが正当な質問であるかどうかさえわかりませんし、事前にナイーブな質問で申し訳ありません。ありがとう

3
決定可能な言語と無制限の文法?
チューリングマシンと無制限の文法は、RE言語を定義する2つの異なる形式です。一部のRE言語は決定可能ですが、すべてが決定可能というわけではありません。 チューリングマシンで決定可能な言語を定義するには、その言語のすべての文字列を停止して受け入れ、その言語にないすべての文字列を停止して拒否する言語のTMがあれば、言語は決定可能であると言います。私の質問はこれです:チューリングマシンではなく無制限の文法に基づく決定可能な言語の類似の定義はありますか?

1
シフト解決解析-質問
私は最近、タイトルで言及されている解析手法を説明する論文に出くわしました。残念ながら、上記の論文で使用されている用語は、私の理解をいくらか超えているため、構築アルゴリズムをより直感的に把握するように努めています。私は成功したと思います(このプレゼンテーションはah-haモーメントのソースでした)が、このテクニックに慣れている人またはそこに含まれる用語のどちらかからの正しさの検証は非常にありがたいです。 ソリューションに対する私の見方を説明し(それが正しい場合は、この手法を理解しようとしている他の人々の助けになると思います)、後で追加の質問をします。:何の誤解がありません確実にするために、私は次の標準表記法を使用するつもりだ、B 、Cを、。。。∈ T、A 、B 、C 、。。。∈ N、、と、紙のようにはルール番号を示しますA 、B 、C 、。。。∈ Ta,b,c,...∈Ta, b, c, ... \in TA 、B 、C、。。。∈ NA,B,C,...∈NA, B, C, ... \in Nα 、β 、γ 、。。。∈ { N ∪ T } * A I → ω I。。。バツ、Y、Z∈ N∪ T...X,Y,Z∈N∪T... X, Y, Z \in N \cup Tα 、β、γ、。。。∈ { …

1
二部グラフへの最小の頂点削除がNP完全であることを示す
入力インスタンスが単純なグラフと自然整数ある次の問題を考えます。GGGkkk が二部であり、ようなセットがありますか?S⊆V(G)S⊆V(G)S \subseteq V(G)G−SG−SG - S|S|≤k|S|≤k|S| \leq k この問題が -completeであることを示したいと思います。3-SAT、 -CLIQUE、 -DOMINATING SET、または -VERTEX COVERのいずれかをそれに削減することです。NPNP\rm{NP}kkkkkkkkk 私は3-COLORINGの問題をそれに減らすことができると信じているので、言及された問題の1つをそれに減らす方法を見るだけで済みます。しかし、それはかなり厄介なものになるので、誰かが前述の問題のエレガントな削減を見たのではないかと思います。 また、この決定問題に名前はありますか?

3
匿名ラムダ関数(関数型プログラミング)
匿名(ラムダ)関数とは何ですか?関数型プログラミング言語における無名関数の正式な定義は何ですか? 簡単に言うと、scheme / lispでプログラミングしているとき、匿名(ラムダ)関数は識別子にバインドされていない関数だと思います。 ラムダ関数について正式に言えるのはそれだけですか?この単純な定義に追加できる詳細があると思います。詳しく説明していただき、ありがとうございます。

2
最近のコンピューターの理論上のレジスタの最小数は?
私は学部の研究でコンパイラのコースを受講し、おもちゃのJavaのような言語でソースプログラムをおもちゃのアセンブリ言語(インタプリタがありました)にコンパイルするコンパイラを書きました。プロジェクトでは、「実際の」ネイティブ実行可能ファイルに密接に関連するターゲットマシンについて、次のようないくつかの仮定を行いました。 専用スタックポインタ( "SP")レジスタによって追跡されるランタイムスタック 専用ヒープポインター( "HP")レジスターによって追跡される動的オブジェクト割り当て用のヒープ 専用のプログラムカウンタレジスタ(「PC」) ターゲットマシンには16個のレジスタがあります データの操作(ジャンプなどとは対照的)はレジスタ間操作です レジスター割り当てを最適化として使用することについてユニットにたどり着いたとき、それは私に不思議に思いました:そのようなマシンのレジスターの理論上の最小数はいくつですか?コンパイラーで5つのレジスター(SP、HP、PC、および2進演算のストレージとして使用するための2つ)を使用したことを前提にしています。レジスター割り当てのような最適化は確かにより多くのレジスターを利用することができますが、スタックやヒープのような構造を維持しながら、より少ないレジスターでうまくいく方法はありますか?レジスタアドレス指定(レジスタ間操作)では少なくとも2つのレジスタが必要だと思いますが、3つ以上必要ですか?

1
ポテンシャル関数バイナリヒープ抽出最大O(1)
最大ヒープが償却時間で完了するように、最大​​ヒープの潜在的な関数を理解する手助けが必要です。潜在的な方法をよく理解していないことを付け加えておきます。O (1 )O(1)O(1) 抽出のコストを削減するために、挿入関数はさらに「支払う」必要があることを知っています。これは、ヒープの高さに関するものでなければなり(if log (n )⌋がヒープの高さを与える場合挿入は2 log (n )または∑ n k = 1 2 log (k ))⌊ ログ(n )⌋⌊log⁡(n)⌋ \lfloor \log(n) \rfloor 2 ログ(n )2log⁡(n)2\log(n)Σんk = 12 ログ(k )∑k=1n2log⁡(k) \sum_{k=1}^n 2\log(k)

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