Lexical Permutation Sorting Algorithm

Slides:



Advertisements
Similar presentations
北海道大学 Hokkaido University 1 情報理論 講義資料 2016/06/22 情報エレクトロニクス学科共通科目・2年次・第 1 学期〔必修 科目〕 講義「情報理論」第 5 回 第 3 章 情報源のモデル [ 後半 ] 3.5 情報源のエントロピー.
Advertisements

組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
効率的に計算可能な 加法的誤りの訂正可能性 安永 憲司 九州先端科学技術研究所 SITA 2012 @ 別府湾ロイヤルホテル
List decoding for Reed-Muller codes and its application to polar codes 安永 憲司 東京工業大学 大学院情報理工学研究科 数理・計算科学専攻 1.
プログラミング言語論 第3回 BNF 記法について(演習付き) 篠埜 功. 構文の記述 プログラミング言語の構文はどのように定式化できるか? 例1 : for ループの中に for ループが書ける。 for (i=0; i
簡潔データ構造 国立情報学研究所 定兼 邦彦.
透過的データ圧縮 Transparent Data Compression
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
情報生命科学特別講義III (1) 文字列マッチング
Fortran と有限差分法の 入門の入門の…
( ) ( ) 行 列 式 置 換 n文字の置換σ: n個の文字{1,2,・・・,n}から自分自身への1対1の写像 1 2 ・・・ n
Bipartite Permutation Graphの ランダム生成と列挙
黒澤 馨 (茨城大学) 情報セキュリティ特論(4) 黒澤 馨 (茨城大学) 2017/3/4 confidential.
コンパイラ 2011年10月17日
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
5.チューリングマシンと計算.
5.チューリングマシンと計算.
from KDD 2012 speaker: Kazuhiro Inaba
Permutationグラフと Distance-Hereditaryグラフの 再構築アルゴリズム
文字配列の課題1 解説 /* a */ #include <stdio.h> main( ) { int i;
4. 順序回路 五島 正裕.
分子生物情報学 動的計画法に基づく配列比較法 (ペアワイズアライメント法)
集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(3) + 数理談話会 木構造および画像データの文法圧縮
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
C11: 大量データ処理のための領域効率の良いアルゴリズム
アルゴリズムとデータ構造 補足資料7-3 「単純選択ソートselsort.c」
動的ハフマン符号化の例 入力:ABCDEからなる文字列 出力:動的に作ったハフマン木.
日本大学 文理学部 情報システム解析学科 谷研究室 益田真太郎
スタック長の 特徴付けによる 言語の非DCFL性 証明
コンパイラ 2012年10月15日
22・5 反応速度の温度依存性 ◎ たいていの反応 温度が上がると速度が増加 # 多くの溶液内反応
黒澤 馨 (茨城大学) 情報セキュリティ特論(7) 黒澤 馨 (茨城大学)
k 個のミスマッチを許した点集合マッチング・アルゴリズム
生命情報学入門 配列のつなぎ合わせと再編成
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
7. 音声の認識:高度な音響モデル 7.1 実際の音響モデル 7.2 識別的学習 7.3 深層学習.
プログラミング言語論 第3回 BNF記法について(演習付き)
決定木とランダムフォレスト 和田 俊和.
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
第9章 混合モデルとEM 修士2年 北川直樹.
醜いアヒルの子の定理 平成15年6月6日(金) 発表者 藤井 丈明.
オートマトンとチューリング機械.
九州大学大学院 情報学専攻特別講義 (3) 配列解析
P n ポインタの基礎 5 q m 5 7 int* p; int 型の変数を指すポインタ int* q; int 型の変数を指すポインタ int n=5, m=7; int 型の変数 int array[3]; int* pArray[3]; p = &n; ポインタにアドレスを代入しているのでOK.
A Dynamic Edit Distance Table
名古屋市立大学大学院システム自然科学研究科 MIRU2009: 第12回 画像の認識・理解シンポジウム
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
文字列へのポインタの配列 static char *lines[MAXLINES]; lines[0] NULL
データ解析 静岡大学工学部 安藤和敏
「ICAによる顔画像特徴量抽出とSVMを用いた表情認識」
構造的類似性を持つ半構造化文書における頻度分析
アルゴリズムとデータ構造 2012年7月2日
5.チューリングマシンと計算.
計算の理論 I ー正則表現とFAの等価性ー 月曜3校時 大月 美佳.
人工知能特論II 第8回 二宮 崇.
アルゴリズムとデータ構造 2011年6月28日
情報工学概論 (アルゴリズムとデータ構造)
アルゴリズムとデータ構造 2013年7月2日
4.プッシュダウンオートマトンと 文脈自由文法の等価性
ヒープソート.
生物情報ソフトウェア特論 (4)配列解析II
コンパイラ 2012年10月11日
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
グラフの列挙 中野 眞一    (群馬大学) 2019/9/14 列挙学校.
第4回 配列.
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
混合ガウスモデル Gaussian Mixture Model GMM
Time Reversal E-Text: pp.80-83(PDF: pp.49-50) FM08002 太神 諭
Presentation transcript:

Lexical Permutation Sorting Algorithm LPSA is superior to BWT!?

Burrows Wheeler Transform 可逆圧縮の前処理 BWT(ブロックソーティング) Move-to-Front エントロピー圧縮 圧縮効率と処理速度のバランスが良い bzip2, Bred 等の基本アルゴリズム フルカラー画像の圧縮にも有効

Burrows Wheeler Transform BWT(ブロックソーティングアルゴリズム) ローテーション 入力系列を左方向にローテートし、その長さと同じ数の系列を生成する。 ソート 生成した系列群を辞書式にソートする。 出力 出力系列: L プライマリインデックス: I

ローテーション 原系列: S0 = GEGEGENOGE GEGEGENOGE S0 EGEGENOGEG S1 GEGENOGEGE S2

ソーティング 原系列: S0 = GEGEGENOGE EGEGEGENOG S9 EGEGENOGEG S1 EGENOGEGEG S3 ENOGEGEGEG S5 GEGEGEGENO S8 GEGEGENOGE S0 GEGENOGEGE S2 GENOGEGEGE S4 NOGEGEGEGE S6 OGEGEGEGEN S7

出力 原系列: S0 = GEGEGENOGE 出力: ( GGGGOEEEEN , 6 ) EGEGEGENOG S9 EGENOGEGEG S3 ENOGEGEGEG S5 GEGEGEGENO S8 GEGEGENOGE S0 GEGENOGEGE S2 GENOGEGEGE S4 NOGEGEGEGE S6 OGEGEGEGEN S7

BWTの効果 どうして同じ文字が並ぶの? こんなに文字を入れ替えちゃってだいじょうぶ? ソートすることにより、似通った文脈は隣り合う。 ex. encode と decode → ode...enc, ode...dec こんなに文字を入れ替えちゃってだいじょうぶ? 出力系列 L とプライマリインデックス I から原系列を復元できます。

原系列の求め方 原系列: S0 = G 出力: ( GGGGOEEEEN , 6 ) ?????????G S? ?????????G S?

原系列の求め方 原系列: S0 = G 出力: ( GGGGOEEEEN , 6 ) E????????G S? E????????G S? G????????E S0 G????????E S? G????????E S? N????????E S? O????????N S?

原系列の求め方 原系列: S0 = G 出力: ( GGGGOEEEEN , 6 ) S? GE????????G S? 1 2 3 4 GE????????G S? GE????????G S? GE????????G S? GE????????G S? OG????????O 1 2 3 4 S0 EG????????E S? EG????????E S? EG????????E S? EN????????E S? NO????????N

原系列の求め方 原系列: E S5 G S4 O S7 G S8 N S6 E S3 E S9 S0 = G E G 出力: ( GGGGOEEEEN , 6 ) S? 1 2 3 4 GE????????G 1 2 3 4 S? S1 GE????????G S? GE????????G S? GE????????G S? OG????????O 1 2 3 4 S0 1 2 3 4 EG????????E S? S2 EG????????E S? EG????????E S? EN????????E S? NO????????N

Lexical Permutation Sorting Algorithm 文字列は multiset の順列と考えられる φ(n) 個の列を出力列の候補にできる。 φ(n): n と互いに素な n 以下の数の個数。 ex. φ(7)=6, φ(8)=4 候補の中で、最も都合のよい列を出力系列とする。 一般の文字列の場合とのうまい関係がある。

置換 X = { a, b, c, d, e } π: X → X π(a) = b, π(b) = c, π(c) = a, π(d) = e, π(e) = d . abcde bcaed π = π = [ b, c, a, e, d ] (cartesian form)

LPSAの例 原系列: p = [3, 1, 5, 4, 2] 31542 15423 54231 42315 23154 15423 23154 31542 42315 54231 N= N’ = BWTだと・・・ 出力系列: 53124 or 34251 プライマリインデックス: 3

LPSAならお得 15423 23154 31542 42315 54231 1 2 3 4 5 5 3 1 2 4 N’ = θ= = [5,3,1,2,4] θ 5 θ θ 2 θ 3 θ 4 θ 2 3 や も出力系列としてつかえる。 ただし、インデックスがさらに一つ増える。

任意の列じゃ駄目? 154263 263154 315426 426315 542631 631542 1 2 3 4 5 6 4 3 5 6 2 1 2 N’ = θ = θ 6 θ 2 θ 4 θ 2 から は一意には決まらない。 (φ(n) 個の列が候補となる)

LPSAなら、さらにお得 π = π LPSAの場合、一列目をみるだけでソートできる。 31542 15423 54231 42315 23154 1 2 3 4 5 3 1 5 4 2 π = 1 N= =[3,1,5,4,2] π i も同様 N=[π ,π , ... ,π ] 1 2 n

LPSAなら、さらにお得 π = π π LPSAの場合、一列目をみるだけでソートできる。 31542 15423 54231 42315 23154 1 2 3 4 5 3 1 5 4 2 π = 1 N= =[3,1,5,4,2] π i も同様 π -1 1 = [2, 5, 1, 4, 3] N’=[π π ,π π , ... ,π π ] 1 n 2 -1

一般的な文字列に対するLPSA 原系列: Y = a b a b b ソート後: Y’ = a a b b b Y’ ababb babba abbab bbaba babab ababb abbab babab babba bbaba 1 3 5 2 4 N(Y)= N’(Y) = μ=[1, 3, 5, 2, 4], λ=μ =[1, 4, 2, 5, 3] -1 Y’ [i] = Y [μ( i )], Y [i] = Y’ [λ( i )]

一般的な文字列に対するLPSA 得られたλを入力列としてLPSAを行う。 14253 42531 25314 53142 31425 N(λ)= N’(λ) = 原系列を復元するには・・・ k 出力列θ , k, プライマリインデックス, Y’

BWTとLPSAの関係 (論文中の定理3.2) N’i, j (Y) = Y’ [N’i, j (λ)] Y を文字列、λ=λとすると、 ababb abbab babab babba bbaba 14253 25314 31425 42531 53142 N’(Y) = N’(λ) = Y’ = a a b b b

定理3.2の直感的証明 N’i, j (Y) = Y’ [N’i, j (λ)] ababb babba abbab bbaba babab 14253 42531 25314 53142 31425 N(Y)= N(λ)= Y [i] = Y’ [λ( i )], N(Y) = Y’[N(λ)] N’i, j (Y) = Y’ [N’i, j (λ)]