木変換の 逆正規性保存 On Inverse Regularity Preservation 稲葉 一浩(国立情報学研究所)

Slides:



Advertisements
Similar presentations
A Simple Constant Time Enumeration Algorithm for Free Trees 中野 眞一 宇野 毅明 群馬大学 情報学研究所 2003 年 9 月 19 日 アルゴリズム研究会.
Advertisements

プログラミング言語論 第3回 BNF 記法について(演習付き) 篠埜 功. 構文の記述 プログラミング言語の構文はどのように定式化できるか? 例1 : for ループの中に for ループが書ける。 for (i=0; i
1. 補間多項式 n 次の多項式 とは、単項式 の 線形結合の事である。 Definitions: ( 区間, 連続関数, abscissas (データ点、格子点、差分点), 多項 式 ) Theorem. (補間多項式の存在と一意性) 各 i = 0, …, n について、 をみたす、次数が高々 n.
0章 数学基礎.
Macro Tree Transducers and Their Complexity
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
黒澤 馨 (茨城大学) 情報セキュリティ特論(4) 黒澤 馨 (茨城大学) 2017/3/4 confidential.
プログラミング言語としてのR 情報知能学科 白井 英俊.
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
「Postの対応問題」 の決定不能性の証明
ソフトウェア基礎科学 授業資料: 論理関係(logical relations)のお話
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
データ構造と アルゴリズム 理工学部 情報システム工学科 新田直也.
スペクトル法による数値計算の原理 -一次元線形・非線形移流問題の場合-
Permutationグラフと Distance-Hereditaryグラフの 再構築アルゴリズム
充足不能性と導出原理 充足不能性の証明 スコーレム標準形 エルブラン解釈 導出原理 基礎節に対する導出 導出原理の完全性と健全性.
論理式の表現を数学的に取り扱いやすくするために代数学の助けを借りる.
人工知能特論2011 資料No.6 東京工科大学大学院 担当教員 亀田弘之.
Natural Semantics 実行過程の、最初と最後の状態(state)の関係を考える。
データ構造と アルゴリズム 第二回 知能情報学部 新田直也.
Semantics with Applications
香川大学工学部 富永浩之 情報数学1 第2-2章 合同式の逆元と応用 香川大学工学部 富永浩之
香川大学工学部 富永浩之 情報数学1 第2-1章 合同式の性質と計算 香川大学工学部 富永浩之
条件式 (Conditional Expressions)
データ構造と アルゴリズム 知能情報学部 新田直也.
Probabilistic Method 6-3,4
(ラプラス変換の復習) 教科書には相当する章はない
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
第2章 「有限オートマトン」.
博士たちの愛する素数 徳山 豪 東北大学 Prime numbers that professors love
k 個のミスマッチを許した点集合マッチング・アルゴリズム
プログラミング言語論 第3回 BNF記法について(演習付き)
計算の理論 II Turing機械の合成 月曜5校時 大月美佳 2004/11/15 佐賀大学理工学部知能情報システム学科.
計算の理論 I -Myhill-Nerodeの定理 と最小化-
計算の理論 I ー 正則表現(今度こそ) ー 月曜3校時 大月 美佳.
計算の理論 I ー 正則表現 ー 月曜3校時 大月 美佳.
7.4 Two General Settings D3 杉原堅也.
Macro Tree Transducer の 型検査アルゴリズム
6. ラプラス変換.
1. 集合 五島 正裕.
情報セキュリティ  第8回 RSA暗号.
第3回 アルゴリズムと計算量 2019/2/24.
オートマトンとチューリング機械.
計算量理論輪講 chap5-3 M1 高井唯史.
Structural operational semantics
平成20年10月5日(月) 東京工科大学 コンピュータサイエンス学部 亀田弘之
情報とコンピュータ 静岡大学工学部 安藤和敏
東京工科大学 コンピュータサイエンス学部 亀田弘之
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
4. システムの安定性.
形式言語とオートマトン 中間試験解答例 2016年11月15実施 中島毅.
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
Lecture 8 Applications: Direct Product Theorems
5.3, 5.4 D2 岡本 和也.
計算の理論 I -数学的概念と記法- 火曜 12:50~14:20 大月 美佳 2004年4月20日.
Max Cut and the Smallest Eigenvalue 論文紹介
PROGRAMMING IN HASKELL
計算の理論 I -数学的概念と記法- 月曜3校時 大月 美佳.
4.プッシュダウンオートマトンと 文脈自由文法の等価性
情報処理Ⅱ 第7回 2004年11月16日(火).
~sumii/class/proenb2009/ml6/
計算の理論 I NFAとDFAの等価性 火曜3校時 大月 美佳 平成16年5月18日 佐賀大学理工学部知能情報システム学科.
PROGRAMMING IN HASKELL
Q q 情報セキュリティ 第8回:2004年5月28日(金) の補足 q q.
PROGRAMMING IN HASKELL
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
情報処理Ⅱ 2005年11月25日(金).
Q q 情報セキュリティ 第7回:2005年5月27日(金) q q.
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
Presentation transcript:

木変換の 逆正規性保存 On Inverse Regularity Preservation 稲葉 一浩(国立情報学研究所)

f 木変換とは? Treeを受け取り Treeを返す プログラム (XML処理、コンパイラ、…) rdf chan title date item link html body p div h1 head meta f プログラム (XML処理、コンパイラ、…)

木変換とは? おことわり 今日は、簡単のため 文字列変換で例示します

f 逆正規性保存とは? L 正規 【定義】 f が逆正規性保存 (IRP) ⇔ ∀L:正規言語. f-1(L)={t | f(t)∈L}も正規 f-1(L) 正規 例:dup(x) = xx dup-1( a*b*) = a*|b* f L 正規

MTT* ⊆ IRP 発表内容 MTT*⊊IRP or MTT*=IRP ? MTT*という言語のプログラムは 全て逆正規性保存 [EngVog85] MTT* ⊆ IRP この包含は proper だろうか? MTT*⊊IRP or MTT*=IRP ? [Today’s Talk]

背景:IRPの応用例 @ XML IRPなら 計算可能! 型チェック f :: L1 → L2 ? XML変換プログラム f 入力の型(=スキーマ)(= 正規言語) L1 出力の型(=スキーマ)(= 正規言語) L2 fの型が正しい ⇔ f(L1)⊆L2 ⇔ L1⊆f-1(L2) IRPなら 計算可能!

なぜ逆方向? 順正規性保存(FRP) 「∀L:正規. {f(t) | t∈L}も正規」を考えないのは何故か? 理由1: よくある関数は FRP であるよりは IRP である方が多い傾向にある (例えば dup) 理由2: 型エラーが起きたときに、IRPで型チェックをする方が良いエラー理由を表示しやすい 「型エラー 」= 「L1⊆f-1(L2) が成り立たない」 =「 f-1(L2)に入らないのにL1に入る反例 t がある」=「その木 t を入力したときに、型が合わない結果になってしまう!」という、実際にエラーを起こす入力例を提示できる あとはこの入力を使ってステップ実行デバッグするなり出力を計算して眺めてみるなり… FRP では「型エラー 」 = 「f(L1)⊆L2 が成り立たない」 = 「 L2 に入らないのにf (L1)に入る反例 t がある」 =「なにか下手な入力を入れると、こんなまずい出力がでちゃうよ!」という、エラー時の出力例を提示 じっと睨んで、こんなのが出てしまう理由を推測する位しかできない

現実の(XML処理)言語は… 当然、IRPとは限らない

IRP 制限された言語を考える XSLT, XQuery, … PTT* MTT* ATT* TBY* MM* MFT* =「この範囲の言語機能だけ使って書けば、 完全な型チェックができますよ」 =「範囲外なら、この範囲の機能で近似して、 近似的な型チェック」

IRP MTT* = PTT* = ATT* = TBY* = … それぞれのカバー範囲は? XSLT, XQuery, … の既存の提案は、すべて表現力が一致する!

=IRP? The Answer is No! MTT* = PTT* = ATT* = TBY* = … Q: 実はIRPも一致するのでは…? The Answer is No! =IRP? MTT* = PTT* = ATT* = TBY* = …

証明 (1) tower( “a..a” ) = “aa…aa” n 2^^n 文字列を超指数的に長くする関数 where 2^^0 = 1, 2^^(n+1) = 22^^n は MTT* で表現できない [EngVog85] ∵ 「MTT*≒構造再帰と関数合成のみで書ける木変換」 では指数的増加しか書けない n 2^^n

証明 (2.1) a tower 関数は IRP である つまり ∀L:正規. {x |tower(x)∈L} も正規 ∀L: 正規 出力文字はaしかないので L = { an | n≡r1 or … or n≡rk mod m } の形 (※ただし有限個の違いは除く) a

証明 (2.2) L = { an | n≡r1 , …, rk mod m } について {x | tower{x}∈L} = {an | 2^^n ≡r1, … ,rn mod m} は正規? Yes! 2^^n mod m は、(※有限個のnを除き) 定数 なのでこの集合は(※有限個を除き)全体集合か空集合 m が奇素数 → フェルマーの小定理より 2^^n+1 = 2^(2^^n) ≡ 2^(2^^n mod m-1) = 2^定数 m = 2 → 常に0 なので定数 m が合成数 → 中国剰余定理より素数に帰着 ※注意: 加算や乗算と異なり、 x≡y ⇔ 2^^x≡2^^y (mod m) とは限らないので工夫が必要

まとめ MTT* ⊊ IRP MTT*∩LSI ⊊ IRP∩LSI? 示したこと 未解決問題:towerより現実的な例はあるか? ※ LSI = Linear Size Increase i.e., exists c > 0, forall t, size(f(t)) ≦ c size(t) IRP に入り、既存の木変換モデルより真に表現力の強いモデルが考え得るかもしれない

参考文献 “Regularity Preserving Functions” [Kosaraju74] [Seiferas&McNaughton76, Kozen96, Zhang99] f : N  N が Regularity Preservingとは 「∀L:正規言語. {x |∃y. f(|x|)=|y| & xy∈L}も正規」 “Inverse” という形容はないが、本質的に Alphabet1種類の文字列変換の IRP と同値 RP iff f is “ultimately periodic“ modulo any n∈N 接尾辞以外の除去への拡張等 [Matos06, Berstel et al., 06] (2010/03/11 追記) tower が IRP であることも [Berstel et al., 06] に書いてありました! http://dx.doi.org/10.1016/j.tcs.2005.11.034

MTT*とは [Engelfriet&Vogler85] (for MTT*∩LSI, see [Engelfriet&Maneth03]) - 型 Tree(Σ) × Tree(Δ)k  Tree(Δ) の関数の集まり MTT* = 有限個のMTTの合成 例: MTT ::= FUN … FUN FUN ::= f(A(x1,…,xn), y1,…,yk) → RHS RHS ::= C( RHS, … , RHS ) | f(xi, RHS, …, RHS) | yi start( A(x1) ) → double( x1, double(x1, E) ) double( A(x1), y1) → double( x1, double(x1, y1) ) double( B, y1 ) → C( y1, y1 )

主補題の証明 (mで帰納法) ∀m∃km ∀n≧km. (2^^km ≡ 2^^n mod m) m = 1: km=0 とすると以降全て ≡0 mod m m = 2: km=1 とすると以降全て ≡0 mod m m = p (奇素数): フェルマーの小定理から 2p-1 ≡ 1 mod p より 2^^n+1 = 22^^n≡2(2^^n % p-1) mod p である 帰納法の仮定より n≧kp-1以上で 2^^n % p-1 は定数 ゆえに kp = kp-1 + 1 とすれば題意を満たす m = a b (合成数, a,b は互素): 中国剰余定理より、二数が mod a, mod b で等しければ mod ab でも等しいゆえに km = max(ka, kb) と取ればよい

証明: tower∈IRP L⊆a* を正規言語とする Folklore: (決定性オートマトンの構造より) 逆写像の集合論的性質より L は Lf ∪ (Lr / Lb) という形。ただし Lf , Lb は有限集合 Lr ={an | n%m∈{r1,…,rk}} for some m & r1, …, rk<m 逆写像の集合論的性質より tower-1(L) = tower-1(Lf) ∪ (tower-1(Lr) / tower-1(Lb)) tower は単射なので、有限集合の逆像は有限集合 tower-1(Lf) と tower-1(Lb) は有限。よって正規言語 主補題より tower-1(Lr) = L1 ∪ L2 L1 = {an | n<km, f(an)∈L} 有限なので正規 L2 = {an | n≧km} if 2^^km%m∈{r1,…,rk} or L2 = Φ いずれにせよ正規 正規言語は ∪ と / で閉じているので、tower-1(L) も正規

証明: tower∉MTT* Theorem 3.24 of [EngVog85] MTT* = MTT の有限合成で書ける変換 f ∈ MTT ⇒ ∃c. ∀s. len(f(s)) ≦ clen(s) 証明はSentential Formと入力sに関する帰納法 MTT* = MTT の有限合成で書ける変換 tower = f1▫f2 ▫ … ▫ fk∈MTT* (where fi∈MTT) とせよ 先ほどの定理から ∃c1,c2,…,ck .∀s . len(tower(s))≦ck^(ck-1^…(c1^len(s))…) ^^ は任意の指数関数より速く増加する 証明は以下をkに関する帰納法で ∀k≧1∀q>0 ∀r∃m∈Nat ∀ n≧m .   q・ 2^^n ≧ ck^(ck-1^…(c1^n)…) ゆえに矛盾