ネット時代の情報センス

ネット時代の情報センス
基礎情報科学のトピックス
1
はじめに





計算理論概説
情報検索技術
データ圧縮技術
喜田のこれまでの研究
さいごに
2
コンピュータができること






きれいに整形した文書をプリンタ
を使って印字できる
3D CGをグリグリ動かして動画を
作ることができる
美しい音楽を奏でることができる
本を読むことができる
メールを遠くの友人に送ることが
できる
ある決まった手順にしたがって,
計算ができる
3
計算とは?
A. Church and S. C. Kleene
λ定義可能
Church の提唱(1936)
「アルゴリズムをもつ関数と
帰納的関数とを同一視しよう」
K. Godel
帰納的関数
A. M. Turing
万能Turing機械と
計算可能な関数族
4
計算可能性

コンピュータには(原理的に)計算できない問題がある

(プログラムの)停止問題 (1936, Turing)
「あるプログラムがきちんと計算を終了して停止するかどうかを
決定するようなプログラムは存在しない」

Postの対応問題 (1946, Post)
「任意に与えた  = x1, x2,・・・, xk,  = y1, y2,・・・, yk,に対して,
xi1 xi2・・・ xi k = yi1 y2・・・ yi k
となる添え字の列が存在するかどうかを決定する問題は非可
解である」
ENIAC(1946) > 世界最初のコンピュータ ABC(1942) > 計算可能性
5
アルゴリズムと計算量

計算可能 ⇔ アルゴリズムが存在する



P  NP ? 問題





入力長の多項式程度の時間で計算できる → P問題
答えが与えられたら,入力長の多項式程度の時間で答えが正
しいかどうかを検算できる → NP問題
まだ未解決
真にむずかしい問題 → NP完全問題
NP完全問題が P に含まれるかどうかが鍵
現実的には NP完全問題は効率よく解くことができない
実用的なアルゴリズム

入力長に比例した時間で問題を解けることが望ましい
6
情報検索技術
氾濫する情報の渦から必要な情報をすばやく
取り出すには情報検索の技術が不可欠である
7
索引構造 vs 文字列照合
索引構造を用いた検索 namazuとか
索
引
構
造
作
成
エ
ン
ジ
ン
テ
キ
ス
ト
デ
ー
タ
索引
項目検索用DB
索引
全文検索用DB
エ項
ン目
ジ検
ン索
用
エ全
ン文
ジ検
ン索
用
検
索
ア
プ
リ
文字列照合を用いた検索
テ
キ
ス
ト
デ
ー
タ
全文検索用DB
全 項
エ文エ目
ン検ン検
ジ ジ
ン索ン索
用 用
検
索
ア
プ
リ
8
文字列照合アルゴリズム

文字列照合問題とは
パターン: オトコ
テキスト: オモイコンダラシレンノミチヲイクガオトコノ

文字列照合問題を解決するアルゴリズム



Knuth-Morris-Pratt 法 (1974)
Boyer-Moore 法 (1977)
Bit-parallel手法 (1987)
O( テキストの長さ + パターンの長さ )
9
特殊な文字列照合問題

一般化文字列照合問題 (Generalized Pattern Matching)



ミスマッチを許した文字列照合問題


092-627-72XX ( X は 0~9 の数字 )
**えもん ( *は任意の文字 )
パターン:ムーミン,誤りは一つまで許す
正:「ユーミン」「ノーミン」「ムーラン」
誤:「ラーメン」「ローソン」「ノーシン」
近似文字列照合問題
例: NATO
1
1
NATTO
2
KATO
GTO
3
NAGOYA
10
文字列照合の応用


キーワード検索
テキスト・データベース処理




データ整形
データ・マイニング
スペル・チェッカー
ゲノム情報処理
etc…
11
余談:文字コード

文字コード


ASCIIコードと ISO646



ASCIIは文字コードの基本.1963年に誕生.アメリカの文字コード
ISO646は国際規格.ASCIIを基本に各国独自で12文字を変更可能.
日本の文字コード



コンピュータは内部で文字を数値として認識している
例:「Kyushu」 は 「4B 79 75 73 68 75」のバイト(byte)列
符号化文字集合: JIS X 0208 (94×94文字の表.2バイトで一文字)
符号化方法: JIS(ISO-2022-JP), Shift-JIS, EUC
Unicode と ISO10646



世界中の文字を一つの文字コードで表現しよう!
Unicode:16ビットで一文字 ISO10646:31ビットで一文字
UTF-8: 無理やり ASCII の上位互換にしたコード
参考文献:「文字コードの世界」安岡孝一,安岡素子,ISBN4-501-53060-X
:「パソコンにおける日本語処理/文字コードハンドブック」川俣晶
12
データ圧縮技術
大量のデータを効率よく保存するため,あるいは
ネットワーク上での転送時間を短縮するためには,
データ圧縮技術が不可欠である
13
符号化とデータ圧縮

符号化


情報(記号列)をデジタル化すること
データ圧縮


データ中の冗長な情報を取り除くことで,データのサイズを小さく
すること
データ圧縮=モデル化+符号化
 「abacabad」を符号化すると何ビット必要?
14
情報量と効率のよい符号化

情報量

ビット数 = log2(出現確率)


「abacabad」を符号化すると何ビット必要?
a: 1/2, b: 1/4, c: 1/8, d: 1/8 だから,
必要なビット数 = 1×4 + 2×2 + 3×1 + 3×1 = 14 ビット
a: 0, b: 10, c: 110, d: 111
abacabad:= 0 10 0 110 0 10 0 111
効率のよい符号化


ベル研のC. ShannonとMITのR. M. Fanoによる符号化
よりよい手法:Huffman符号化(最小冗長符号)
15
データ圧縮法あれこれ

データ圧縮法





適応的Huffman符号化
算術符号化
LZ77, LZ78, LZW(辞書ベース圧縮)
Burrows Wheeler 変換を用いた圧縮
データ圧縮プログラム




compress
gzip
LHArc
bzip2
16
喜田のこれまでの研究
データ圧縮技術と文字列照合技術の融合
17
研究の目的
文書ファイル群
起動実験「やります。 僕が乗ります」「起動確率は
0.0000000001%」 セントラルドグマ「初号機、完全に沈黙」せ
めて、人間らしく「僕はもうエヴァには乗りません」覚醒 強迫
観念「ダメなのね・・・もう」シンクロ率400%「逃げちゃだめだ、
逃げちゃだめだ・・・」アンビリカルケーブル断線「活動限界ま
で4分53秒」「私には他に何もないもの・・・」ヤシマ作戦 決戦、
第3新東京市「あんたバカァ」セカンドインパクト「私達は選ぶ
余裕なんてないのよ。生き残るための手段をね」強羅絶対防
衛線 完璧なユニゾン「命令があればそうするわ」自己修復中
ジェリコの壁 人類補完計画「とれないや。血の匂い」
圧縮文書ファイル群
adoghqu3850pcxps;
afdjaeqw09bjzpafq
05z90
rwDEVcx083nk;pzp
99OeDfja
18
圧縮されたデータに対する
文字列照合
普通の
文字列照合機械
展開
圧縮テキスト
圧縮テキスト
原テキスト
圧縮テキストに対する
文字列照合機械
19
研究の成果
1.4
AlphaStation XP1000
(Alpha21264: 667MHz)
Tru64 UNIX V4.0F
CPU時間(秒)
1.2
Genbank(DNA塩基配列)
17.1Mbyte
1.0
0.8
compress(LZW)にKMPを組込み
gunzip(LZ77)にKMPを組込み
0.6
提案アルゴリズム(1998)
0.4
ビットパラレルによる高速化(1999)
0.2
0
非圧縮テキストをKMPで照合
5
10
15 20 25
パタンの長さ
30
* compress はUNIXのLZW圧縮の圧縮ツール
20
* gunzip はUNIXのLZ圧縮の復号ツール
新たな目標
新
目
標
テキスト
データ
転送
二次記憶装置上
目
標
文字列照合
アルゴリズム
主記憶装置上
圧縮テキスト
復号
転送
二次記憶装置上
文字列照合
アルゴリズム
主記憶装置上
主記憶装置上
圧縮テキスト
転送
二次記憶装置上
主記憶装置上
圧縮文字列照合
アルゴリズム
21
最終的な成果
0.8
AlphaStation XP1000
(Alpha21264: 667MHz)
Tru64 UNIX V4.0F
CPU時間(秒)
0.7
Medline(英文テキスト)
60.3Mbyte
0.6
0.5
非圧縮テキストをKMPで照合
0.4
BPE圧縮テキストに対する照合
0.3
非圧縮テキストをAgrepで照合
0.2
BPE圧縮テキストに対する
Boyer-Moore型のアルゴリズム
を用いた照合(Shibataら[2000])
0.1
0.0
5
10 15 20 25
パタンの長さ
30
* BPEはByte Pair Encoding圧縮法
22
* KMPはKnuth-Morris-Pratt法
* AgrepはWu&Manberが開発した検索ツール
余談:論文の衝突

第一次ショック (at CPM’99)



T. Kida, et al., Shift-And Approach to Pattern Matching in LZW
Compressed Text
G. Navarro and M. Raffinot, A General Practical Approach to
Pattern Matching over Ziv-Liempel Compressed Text
第二次ショック (at CPM2000)


Y. Shibata, et al., A Boyer-Moore type algorithm for compressed
pattern matching
G. Navarro and J. Tarhio, Boyer-Moore string matching over
Ziv-Lempel compressed text
G. Navarro とその家族
23
さいごに
24
現在取り組んでいること

半構造化データに対する文字列照合に関する研究



大量のXMLデータに対し,タグ構造を見ながら検索できる.
これまでの研究から,データ圧縮を用いて高速化できないか?
半構造化データを高速に照合できるデータ圧縮法の開発.
<RDF:RDF>
<RDF:Description RDF:HREF=“基礎情報科学のトピックス.ppt”>
<DC:Creator>喜田 拓也</DC:Creator>
</RDF:Description>
</RDF:RDF>
25
最近気になる言葉




パターン言語
ヒューメイン・インタフェース
ユビキタス・コンピューティング
ユニバーサル・デザイン
26