タグ付けされた質問 「streaming-algorithm」

4
すべての線形時間アルゴリズムはストリーミングアルゴリズムですか?
時が経つにつれて反転カウントについて、この質問、私は紙見つけ下のすべての(正確な)のためのスペースの複雑さにバインド証明ストリーミングアルゴリズムを。私は、この限界がすべての線形時間アルゴリズムに及ぶと主張しました。一般的に、線形時間アルゴリズムは自由に飛び回ることができるため(ランダムアクセス)、ストリーミングアルゴリズムではできないため、これは少し大胆です。要素を順番に調査する必要があります。複数のパスを実行できますが、常に多くのパスを実行します(線形ランタイムの場合)。 したがって、私の質問: すべての線形時間アルゴリズムは、常に多くのパスを持つストリーミングアルゴリズムとして表現できますか? ランダムアクセスは、(単純な)構造が肯定的な答えを提供することを妨げるように見えますが、反例も思いつきません。 マシンモデルによっては、実行時のランダムアクセスも問題にならない場合があります。これらのモデルの答えに興味があります: チューリングマシン、フラット入力 RAM、配列として入力 RAM、リンクリストとして入力

1
絞り込みタイプの推測
職場では、動的言語に関する型情報を推論する必要があります。次のように、ステートメントのシーケンスをネストされたlet式に書き換えます。 return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } 一般的なタイプ情報から始めて、より具体的なタイプを推測しようとしているので、自然な選択は絞り込みタイプです。たとえば、条件演算子は、trueブランチとfalseブランチの型の和集合を返します。単純なケースでは、非常にうまく機能します。 ただし、次のタイプを推測しようとしたときに、思わぬ障害に遭遇しました。 function …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

2
ブール行列の島を数える
ブール行列与えられた、0エントリは海を表し、1エントリは陸を表します。アイランドを垂直または水平に(ただし斜めではなく)隣接する1エントリとして定義します。X 0 1 1n×mn×mn \times mXX\mathrm X000111111 元の質問は、特定のマトリックス内の島の数を数えることでした。著者は再帰的な解決策(O(nm)O(nm)\mathcal{O}(nm)メモリ)について説明しました。 しかし、O(m)O(m)\mathcal{O}(m)またはO(n)O(n)\mathcal{O}(n)または\ mathcal {Oを使用してアイランドを動的にカウントするストリーミング(左から右、次に次の行まで)ソリューションを見つけることに失敗しました}(n + m)O(n+m)O(n+m)\mathcal{O}(n+m)メモリ(時間の複雑さに制限はありません)。それは可能ですか?そうでない場合、どうすればそれを証明できますか? count関数の特定の入力に対して期待される出力のいくつかの例: count⎛⎝⎜010111010⎞⎠⎟=1;count⎛⎝⎜101010101⎞⎠⎟=5;count⎛⎝⎜111101111⎞⎠⎟=1;count(010111010)=1;count(101010101)=5;count(111101111)=1; count\begin{pmatrix} 010\\ 111\\ 010\\ \end{pmatrix} = 1; % count\begin{pmatrix} 101\\ 010\\ 101\\ \end{pmatrix} = 5; % count\begin{pmatrix} 111\\ 101\\ 111\\ \end{pmatrix} = 1; count⎛⎝⎜⎜⎜1111100100010110100011011111⎞⎠⎟⎟⎟=2count(1111100100010110100011011111)=2 count\begin{pmatrix} 1111100\\ 1000101\\ 1010001\\ 1011111\\ \end{pmatrix} = 2 count(101111)=1count(101111)=1 count\begin{pmatrix} 101\\ …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.