基礎情報科学のトピックス (平成15年度版) 喜田拓也 (

Slides:



Advertisements
Similar presentations
Collage System 圧縮テキストパターン照合のための統一的枠組み
Advertisements

圧縮テキストに対する文字列照合問題 竹田研究室 博士課程二年 喜田 拓也.
文法変換に基づく圧縮 九州大学附属図書館 研究開発室 喜田拓也.
透過的データ圧縮 Transparent Data Compression
【事例演習5】  字句解析     解 説  “ハッシュを用いた字句解析の方法”.
『基礎理論』 (C)Copyright, Toshiomi KOBAYASHI,
情報知識ネットワーク 有村・喜田研究室 ex. 7678, 7679
富山大学 公開講座 2008 「QRコードを作ろう!」 ~ QRコードを作ろう! ~.
LZ圧縮回路の設計とハード・ソフト 最適分割の検討 電子情報デザイン学科 高性能計算研究室 4回生 中山 和也 2009/2/27.
「情報」 (中村) オリジナル PPT (2010/05/07) 1 1.
情報処理の基礎 私たちとコンピュータの扱うデータの違い 明治学院大学 法学部消費情報環境法学科 鶴貝 達政
2004, Spring term, Yutaka Yasuda
コンパイラ 2011年10月17日
画像処理論.
知識情報演習Ⅲ(後半第1回) 辻 慶太(水)
情 報 の 表 現(3) 情報社会とコンピュータ 第10回.
基礎プログラミングおよび演習 第9回
5.チューリングマシンと計算.
アルゴリズムとデータ構造 2012年7月19日
5.チューリングマシンと計算.
コードの歴史 ASCII(American Standard Code for Information Interchange)  ANSI ISO 646 = 95文字のラテン文字 アルファベット+数字+特殊文字 制御コード: LF, CR などの表示制御と   ACK,DEL などの通信制御 、など.
第2章 ソフトウェアの基礎知識.
心理学情報処理法Ⅰ コンピュータにおけるデータ表現 マルチメディアとコンピュータ.
アナログとディジタル 高校1年 社会と情報⑤.
2012年度 情報数理 ~ QRコードを作ろう!(1) ~.
2008年度 情報数理 ~ QRコードを作ろう!(1) ~.
日本大学 文理学部 情報システム解析学科 谷研究室 益田真太郎
プログラムはなぜ動くのか.
コンパイラ 2012年10月15日
図書館と 情報スキルアップ教育 ―情報検索講習会報告と今後の展望―.
10.通信路符号化手法2 (誤り検出と誤り訂正符号)
報告4:蔵書評価における文字コード問題について
情 報 A ー ディジタル化のしくみ ー.
2010年度 情報数理 ~ QRコードを作ろう!(1) ~.
文字化けの背景を知る.
文字化けの背景を知る.
アルゴリズムとデータ構造 2013年7月18日
A Unifying Framework for Compressed Pattern Matching
ネット時代の情報センス 基礎情報科学のトピックス.
情報検索技術のトピックス (平成16年度版) 喜田拓也 (
九州大学大学院システム情報科学研究科 情報理学専攻 竹田研究室 博士課程3年 喜田 拓也
Pattern Matching on Compressed Texts
喜田 拓也,竹田 正幸,篠原 歩 九州大学大学院システム情報科学府 情報理学専攻
動画ファイル形式 コンピュータでは、文字や画像、動画、音声といった様々な種類の情報を扱うことができるが、記憶装置に記録されるデータそのものは0と1の情報でしかない。動画ファイルの形式としてはMPEGやAVIです。
Fast Pattern Matching Algorithms in Compressed Texts
2008年度 情報数理 ~ 様々なデジタル情報 ~.
プログラミング応用 printfと変数.
文字コード 情報処理3 今井孝明.
文字列照合を用いた XMLデータアクセス機構の提案
独習XML 第2章 XML文書の構成要素 2.1 XMLの文字と文字列 2.2 コメント
Proceedings of the Third South American Workshop on String Processing.
余談 ドラクエのパラメーターの上限、マリオの残機など、255が多く、 ドラクエの経験値の上限などに65535が出てくるワケ 1.コンピュータは2進数で動く。 例:2進数 = 10進数173 2.16進数1桁(0~9, A, B, ~F)が2進数4桁に対応する。 例.
文字の表現.
第4回 コンピューティングの要素と構成 平成22年5月10日(月)
Ibaraki Univ. Dept of Electrical & Electronic Eng.
半構造化テキストに対する 文字列照合アルゴリズム
文字エンコーディング 2010年7月.
データ圧縮技術による文字列照合処理の高速化に関する研究
アルゴリズム論 (第12回) 佐々木研(情報システム構築学講座) 講師 山田敬三
長さの制限付きギャップと 文字クラスを含むパタンに対する 照合アルゴリズムの改善
Hoffman符号 2011/05/23.
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
プログラミング基礎a 第6回 C言語によるプログラミング入門 配列と文字列(その2)
構造的類似性を持つ半構造化文書における頻度分析
5.チューリングマシンと計算.
LZW 圧縮テキストに対する 高速文字列照合アルゴリズム 喜田 拓也 竹田 正幸 篠原 歩 九州大学大学院システム情報科学研究科
CADシステムとソフトウェア 電子制御設計製図Ⅰ    2009年4月28日 Ⅲ限目.
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
8.文字列処理 8.1 C#の文字列 C#では, “ABCD”のように文字列を2重引用符で挟んで指定します。ASCIIコード体系のとき,以下のような内部形式となります。 1 1 文字 ‘A’ ナル文字 1 1 文字 ‘B’ A B C D \ 文字 ‘C’ 1 1 文字 ‘D’ ナル文字‘\0’
2008年度 情報数理 ~ 授業紹介 ~.
Presentation transcript:

基礎情報科学のトピックス (平成15年度版) 喜田拓也 (http://kushida.cc.kyushu-u.ac.jp/~kida/) ネット時代の情報センス 基礎情報科学のトピックス (平成15年度版) 喜田拓也 (http://kushida.cc.kyushu-u.ac.jp/~kida/) 警視庁創設記念日

はじめに コンピュータができること デジタル・データとは? データ圧縮技術 情報検索技術 喜田のこれまでの研究 さいごに

コンピュータができること きれいに整形した文書をプリンタを使って印字できる 3D CGをグリグリ動かして動画を作ることができる 美しい音楽を奏でることができる 本を読むことができる メールを遠くの友人に送ることができる ある決まった手順にしたがって,計算ができる こんなことしかできません・・・ 計算手順 → アルゴリズム

コンピュータの動作 コンピュータ プログラム 計算結果を表示 プログラムに従って計算 プログラムと データを入力 //====================================== // Pattern matching program with ACmachine // #include "main.h" //-------------------------------------- // メインルーチン void main(int argc, char *argv[]) { if(argc < 2) { fputs("Usage: ac pattern1[,pattern2,..] [text1 text2 ...] \n", stderr); exit(EXIT_FAILURE); } CACmachine ac; // パターンの分別処理 string patterns(argv[1]); コンピュータ プログラムに従って計算 プログラムと データを入力 プログラム 計算手順(アルゴリズム)をコンピュータが分かる形式で書いたもの

計算とは? Church の提唱(1936) 「アルゴリズム(計算手順)が 存在する関数と帰納的関数とを 同一視しよう」 A. Church and S. C. Kleene λ定義可能 Church の提唱(1936) 「アルゴリズム(計算手順)が 存在する関数と帰納的関数とを 同一視しよう」 K. Godel 帰納的関数 A. M. Turing 万能Turing機械と 計算可能な関数族

計算可能性 コンピュータには(原理的に)計算できない問題がある いっぱい コンピュータには(原理的に)計算できない問題がある (プログラムの)停止問題 (1936, Turing) 「あるプログラムがきちんと計算を終了して停止するかどうかを決定するようなプログラムは存在しない」 Postの対応問題 (1946, Post) 「任意に与えた  = x1, x2,・・・, xk,  = y1, y2,・・・, yk,に対して, xi1 xi2・・・ xi k = yi1 y2・・・ yi k となる添え字の列が存在するかどうかを決定する問題は非可解である」 (関数) ENIAC(1946) > 世界最初のコンピュータ ABC(1942) > 計算可能性

計算量による限界 コンピュータが計算できる問題 NP問題 P問題 それを解決するアルゴリズム(計算手順)がある問題 答えが与えられとき、それが正しいかどうかは入力長の多項式程度の時間で検算できる (整数の素因数分解、カーナビの行き先検索など) P問題 入力長の多項式倍の時間で計算できる (整数の四則演算、文字列探索など)

「全ての情報(文字、画像、動画、音声)は数値の集まりである」 村井 純(「インターネット:SFC(俺たち)が世界を創る」) デジタルデータ 「全ての情報(文字、画像、動画、音声)は数値の集まりである」 村井 純(「インターネット:SFC(俺たち)が世界を創る」)

コンピュータ内部での 文字や絵や音声の表現 コンピュータはONとOFF(0と1)の区別しかない すべての情報は 0 と 1の列(つまり整数)を使って表現される 画像 010111010010101001010010101001010000000111111101010101010111101110000101111010… 音楽・音声 この世には不思議なことなど何もないのだよ、関口君 ・・・ 2進表現の単位 1 bit : 0か1ひとつ 1 byte: 8bit 文字列 16進数は?

文字列の表現について 文字コード ASCIIコードと ISO646 日本の文字コード Unicode と ISO10646 コンピュータは内部で文字を数値として認識している 例: (ASCIIコードの場合)「Kyushu」は「4B 79 75 73 68 75」のbyte列 ASCIIコードと ISO646 ASCIIは文字コードの基本.1963年に誕生.アメリカの文字コード 1byteで一つの文字を表す ISO646は国際規格.ASCIIを基本に各国独自で12文字を変更可能. 日本の文字コード 符号化文字集合: JIS X 0208 (94×94文字の表.2byteで一文字) 符号化方法: JIS(ISO-2022-JP), Shift-JIS, EUC Unicode と ISO10646 世界中の文字を一つの文字コードで表現しよう! Unicode:2byteで一文字  ISO10646:4byteで一文字 UTF-8: 無理やり ASCII の上位互換にしたコード 漢字の種類は約5万 西洋文化圏の人にとっては無駄が多い 参考文献:「文字コードの世界」安岡孝一,安岡素子,ISBN4-501-53060-X       :「パソコンにおける日本語処理/文字コードハンドブック」川俣晶

大量のデータを効率よく保存するため,あるいはネットワーク上での転送時間を短縮するためには,データ圧縮技術が不可欠である

符号化とデータ圧縮 符号化 データ圧縮 情報(記号列)をデジタル化すること → 本質的に無駄な部分が含まれている! 情報(記号列)をデジタル化すること  → 本質的に無駄な部分が含まれている! データ圧縮 データ中の冗長な情報を取り除くことで、データのサイズを小さくすること データ圧縮 = モデル化+符号化 「abacabad」を符号化すると何ビット必要? → ASCIIコードだと 8byte (64bit) → 日本語の全角文字だと 16byte (128bit) → ISO10646だと 32byte (256bit)

情報量と効率のよい符号化 情報量 効率のよい符号化 本質的に必要なbit数 = 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符号化(最小冗長符号) 全部で23bit (3byte弱)

データ圧縮法あれこれ データ圧縮法 データ圧縮プログラム 適応的Huffman符号化 算術符号化 LZ77, LZ78, LZW(辞書ベース圧縮) Burrows Wheeler 変換を用いた圧縮 データ圧縮プログラム compress gzip LHArc bzip2

氾濫する情報の渦から必要な情報をすばやく取り出すには情報検索の技術が不可欠である 情報検索技術 氾濫する情報の渦から必要な情報をすばやく取り出すには情報検索の技術が不可欠である

文字列照合アルゴリズム 文字列照合問題とは 文字列照合問題を解決するアルゴリズム Knuth-Morris-Pratt 法 (1974) Boyer-Moore 法 (1977) Bit-parallel手法 (1987) パターン: オトコ テキスト: オモイコンダラシレンノミチヲイクガオトコノ O( テキストの長さ×パターンの長さ ) 普通に探すと… O( テキストの長さ + パターンの長さ ) 速い!

文字列照合の応用 キーワード検索 テキスト・データベース処理 データ整形 データ・マイニング スペル・チェッカー ゲノム情報処理   etc…

実際の応用例 富士通株式会社「瞬索」 http://software.fujitsu.com/jp/shunsaku/index.html テキストデータ 索引構造作成エンジン 索引 項目検索用DB 全文検索用DB 項目検索用 エンジン 全文検索用 検索アプリ 索引構造を用いた検索 文字列照合を用いた検索

「瞬索」の事例 官民雇用情報検索システム 「しごと情報ネット」 (http://www.job-net.jp/) 大学情報検索システム 「大学入試センターハートシステム」 (http://www.heart.dnc.ac.jp/)

喜田のこれまでの研究 データ圧縮技術と文字列照合技術の融合

研究目的 文書ファイル群 圧縮文書ファイル群 「この世には不思議なことなど何もないのだよ、関口君」 京極堂を変わり者の東の横綱とすると、榎木津は西の横綱だ。何だか酷く男が羨ましくなつてしまつた。 「楠本君。せいぜい月の光を浴びるがいいよ」「世界中の不幸と苦悩を纏めて背負ったような顔をして、そんなもの誰だって背負っているぞ!ちっとも偉くない。心の暗闇だか何だか知らないが、心に光度(カンデラ)や照度(ルクス)があるか。明るい暗いで善し悪しが決まるのは電灯くらいだ」「僕が落すのは憑物。犯人(ホシ)を落すのは警察。原稿を落すのは関口君だ」「あなたが―蜘蛛だったのですね。」「それが―絡新婦の理ですもの」 aldoghqu3850pcxps;lafdjaeqw09bjzpafq05^@62:vzZIAPF’(90rwDEVcx0832nkvl;pzp99OPF:eDfja

圧縮されたデータに対する文字列照合 原テキスト 展開 圧縮テキスト 圧縮テキスト 普通の 文字列照合機械 圧縮テキストに対する

この問題に対する3つの手法 「展開しながら」法 「展開してから」法 「展開しないで」法 目標1: これらより速い! 目標1: これらより速い! 「展開しないで」法 事情により差し替えてます・・・

研究の成果(その1) CPU時間(秒) 「展開しながら」法 「展開しないで」法 1.4 1.2 1.0 0.8 AlphaStation XP1000 (Alpha21264: 667MHz) Tru64 UNIX V4.0F Genbank(DNA塩基配列)17.1Mbyte 1.2 1.0 0.8 「展開しながら」法 CPU時間(秒) compress(LZW)+KMP 0.6 gunzip(LZ77)+KMP 0.4 「展開しないで」法 0.2 T. Kidaら[1998] ビットパラレルによる高速化[1999] 5 10 15 20 25 30 パタンの長さ

ディスク容量は 十分あるったい! しかし,最近はディスクの値段も安くなってきており, 十分なディスクがあると仮定してください.

容量は十分あるのに、テキストを圧縮して保存しますか? 圧縮文字列照合する理由は? 容量は十分あるのに、テキストを圧縮して保存しますか? NO! × そのような場合,わざわざテキストを圧縮して保存するでしょうか? おそらく,みなさんは圧縮しないだろうと思います.

圧縮文字列照合する理由は? YES! > + 当初の目標 新目標 展開時間 原テキスト上 の照合時間 圧縮テキスト上 の照合時間 しかし,もしこのように圧縮テキスト上での照合時間が原テキスト上での照合時間より高速に することができればどうでしょうか? もし,この目標が達成されれば,おそらくみなさんはテキストを圧縮して保存するようになると思います. なぜなら,圧縮によって文字列処理を高速化できるからです. この目標を目標2と呼びます.

研究の(凄い)成果 CPU時間(秒) 「展開しないで」法 「展開しないで」法 0.0 0.3 0.4 0.5 0.8 0.1 0.2 0.6 AlphaStation XP1000 (Alpha21264: 667MHz) Tru64 UNIX V4.0F Medline(英文テキスト) 60.3Mbyte 0.0 0.3 0.4 0.5 0.8 0.1 0.2 0.6 0.7 非圧縮テキストをKMPで照合 BPE圧縮テキストに対する照合(KMP) 「展開しないで」法 CPU時間(秒) 非圧縮テキストをAgrepで照合 BPE圧縮テキストに対する照合(BM) Shibata, et al. (2000) 「展開しないで」法 5 10 15 20 25 30 パタンの長さ

余談:論文の衝突 第一次ショック (at CPM’99) 第二次ショック (at CPM2000) 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 とその家族

さいごに

現在取り組んでいること データ圧縮による文字列近似度(編集距離)の計算の高速化 半構造化データに対する文字列照合に関する研究 二つのDNA配列の近似度をすばやく測ることができる! 半構造化データに対する文字列照合に関する研究 大量のXMLデータに対し,タグ構造を見ながら検索できる. これまでの研究から,データ圧縮を用いて高速化できないか? 半構造化データを高速に照合できるデータ圧縮法の開発. <作家> <名前>京極夏彦</名前> <ジャンル>ミステリー、妖怪</ジャンル> <著作> <タイトル>姑獲鳥の夏</タイトル> <出版年>1994</出版年> <出版社>講談社ノベルス</出版社> </著作> </作家> XMLデータ例

いま興味のあること etc. 電子図書館 (Digital library) eラーニング (e-Learning) 情報リテラシー (Information literacy) ユニバーサル・デザイン (Universal design) ヒューメイン・インタフェース (Humane interface)