Suffix Array(接尾辞配列)を学びたい人のためのリンク集

私がCompressed Suffix Arrayを学ぶのに参考にした資料へのリンクをまとめてみた。
CSAだけじゃなく、これからSuffix Arrayを学ぶ人にも便利かもしれない。


解説記事

# [を] Perl による Suffix Array の実装]
SUFARYの開発者、たつを氏による解説
perlで20行くらいでSuffix Arrayが作れる
入門用におすすめ
    
# DO/Suffix Array
岡野原氏によるSuffix Arrayの解説記事
高速化などの高度な話題が豊富
中級者向け
    
# white page
Suffix Arrayのリンク集が充実
多くのライブラリが公開されている


ツール・ライブラリ

# SUFARY 臨時復旧ページ
たつを氏によるSuffix Arrayライブラリ
非常に使い勝手が良い

# sary: Suffix Arrayのライブラリとツール
高林哲氏によるSuffix Arrayライブラリ

# 定兼 邦彦 - 圧縮接尾辞配列ライブラリ csalib
定兼 邦彦氏によるCompressed Suffix Arrayライブラリ
FM-Indexを使っている(多分)
元テキストの1/3くらいに圧縮
オブジェクト構築にちょっと時間がかかる
複数のアルゴリズムがオプション切り替え可能
Pizza&Chili APIに準拠
    
# Pizza&Chili Corpus
CSAライブラリやテストコレクションがまとまったサイト
コーパスという名前に混乱しないように
統一インタフェース(Pizza&Chili API)を提案
各種ライブラリのラッパーが公開されている


論文

# Suffix Array
Suffix arrays: A new method for on-line string searches
(U. Manber & G. Myers, 1989)
元祖Suffix Array

# Multi-key Quicksort
Fast Algorithm for Sorting and Searching Strings
(J. L. Bentley & R. Sedgewick, 1997)
高速な文字列ソート
Suffix Arrayの構築を現実的な速度で実行するために利用する

# Vertical Code
現実的な圧縮付全文索引
(岡野原 大輔, 2005)
高速、高圧縮な圧縮データ構造。CSA実装時に利用する
その他CSAに関する話題が纏まっていて資料として価値が高い

# Compressed Suffix Array
Compressed Text Databases with Efficient Query Algorithms based on the Compressed Suffix Array
(Kunihiro Sadakane, 2000)
定兼版CSA。一般にCSAといったらこれ

Compressed suffix arrays and suffix trees with applications to text indexing and string matching
(R. Grossi & J. S. Vitter, 2000)
元祖CSA。定兼版を理解できなかったら、こっちから読むと良い

# FM-Index
Opportunistic Data Structures with Applications
(P. Ferragina & G. Manzini, 2000)
元祖FM-Index。データ構造が微妙

An alphabet-friendly FM-index
(P. Ferragina, G. Manzini, V. Makinen, G. Navarro, 2004) 
データ構造にWavelet木を採用したFM-Index
大変賢い手法