スライス構造をもつ octa-gridに対するグラフ文法 ソフトウェア科学研究室 下山恵一 1 目次 1. 2. 3. 4. 5. はじめに 準備 スライスと非スライス構造の識別問題 作成した文法 まとめ 2 1.1 背景 (1/2) • 表は多くの分野で情報の整理,視覚化の ツールとして利用されている • 表は矩形分割図形と捉えられる 3 1.1 背景 (2/2) • これまでに,我々は表をグラフで定式化し, グラフ文法によりそのグラフのクラスを定義 してきた – 格子状の表についてのグラフ文法 – 非スライス構造を含む任意の表についての グラフ文法 • スライス,非スライス構造を識別するための グラフ文法については未着手 4 1.2 目的 • 汎用の表の中でスライス構造のみを 生成するグラフ文法を定義 →スライスと非スライスを文法的に識別 5 2.1 edNCEグラフ文法 (1/3) • 定義2.1 Σ:ノードラベルのアルファベット Γ:エッジラベルのアルファベット Σ,Γ上のグラフ H=(V,E,λ) V:ノードの有限集合 E:エッジの有限集合 λ:ノードのラベル付けをする関数 6 2.1 edNCEグラフ文法 (2/3) • 定義2.2 edNCEグラフ文法GG=(Σ,Δ,Γ,Ω,P,S) (edge labeled directed Neighbourhood Controlled Embedding) Σ:ノードラベルの有限集合 Δ:終端ノードラベルの集合,Δ⊆Σ Γ:エッジラベルの有限集合 Ω:最終エッジラベルの集合,Ω⊆Γ P:生成規則の集合 S:開始記号,S∈Σ-Δ 7 2.1 edNCEグラフ文法 (3/3) • 定義2.2 (続き) 生成規則 p:X→(D,C) X:非終端ノードラベル,X ∈Σ-Δ D: Σ,Γ上のグラフ C:接続関係,C⊆ Σ×Γ×Γ×VD×{in,out}, 接続命令の集合 8 2.2 表とグラフ (1/2) • octa-grid – 表のグラフ表現 – 表の周囲に基準となるperimeterセルを持つ – セルをノードで表し、辺の位置が等しいセルと の関係をエッジで定義 – ノードの最大次数は8 9 2.2 表とグラフ (2/2) • 不均一な大きさのセルを持つ矩形図 (表の罫線図)の例とそれに対応する octa-grid d d c 矩形図(表の罫線図) d c octa-grid 10 2.3 表構造の文法 表構造のグラフ文法(CSedNCEGGT) (2004, 切島他) • 非スライス構造を含む任意の表構造を定義 • パーザを想定して構成 (現在、パーザを開発中 一部実装済み) • 文脈依存グラフ文法 • 生成規則数:17080 11 2.4 スライス構造 (1/2) • 矩形分割の構造 – ひとつの矩形を複数の矩形に分割する構造 – スライス構造と非スライス構造 • スライス構造 – 「各矩形をその周囲まで届く水平/垂直線分で 分割する」という操作を再帰的に繰り返して 得られる構造 • 非スライス構造 – 上記の操作では得られない構造 12 2.4 スライス構造 (2/2) • スライス構造,非スライス構造の例 スライス構造 非スライス構造 13 3.スライスと非スライス構造の 識別問題 (1/5) • スライス構造 – 階層的構造 →木で表現可能 14 3.スライスと非スライス構造の 識別問題 (2/5) 木によるスライス構造の表現 • 木の葉 – 極小な矩形に対応 • その他の点 – 子に対応する矩形を並べてできる矩形に対応 – 水平/垂直分割に対応した記号 • 上から下あるいは左から右に子に対応す る矩形を並べる 15 3.スライスと非スライス構造の 識別問題 (3/5) • スライス構造の例とそれに対応する 前述の規則で表現される木 ↓ A → B D C → ↓ A F D スライス構造 F → C E B E 木による表現 16 3.スライスと非スライス構造の 識別問題 (4/5) • スライス構造の木による表現 – 木の離れた矩形に関する情報がない →木からはスライス構造が一意に定まらない – 非スライス構造は表現できない • 表のスライス,非スライスの識別 – 各セルの辺の位置情報が必要 – スライス,非スライス構造を表現できる 枠組みが必要 17 3.スライスと非スライス構造の 識別問題 (5/5) • これらのことから,スライス構造の文法による 定義は,octa-gridの表現に対して行う – 表の各セルの辺の位置関係を持つ →グラフと表が一意に対応 – スライス,非スライス構造の表現が可能 →非スライスとの識別につながる有効な方法 18 4.1作成した文法GSL1の概要 • • • • 文脈依存グラフ文法 生成規則数:112 規則が適用できる部分は常に1箇所 表のセルを(水平/垂直)分割する操作を定義 →非スライス構造の表は導出されない 19 4.2分割操作について • 左上のセルから分割 →生成の手順を制限 • 2種類の操作を定義 – perimeterノードの南壁(東壁)の位置で分割 – 新たにperimeterノードを作り,その位置で分割 • 四隅以外の上下/左右の対応する perimeterノードにエッジを張る →片側のperimeterのみで分割位置が決定できる 20 4.2分割操作について(続き) • 左上のセルから分割 ① ① ④ ② ② ③ ⑤ 21 4.2分割操作について(続き) • perimeterノードの南壁の位置で分割 22 4.2分割操作について(続き) • 新たにperimeterノードを作り分割 23 4.3ノードラベルについて • ノードラベル(主なもの) – – – – – S : 開始ノード F : 分割操作を終了したノード A, H, V : 現在操作しているノード W : まだ操作していないノード P-* : 周辺ノードのラベル 24 4.4生成規則について • 生成規則の例1 25 4.4生成規則について(続き) • 生成規則の例2 26 4.4生成規則について(続き) • 生成規則の例2(接続命令) 周辺ノードのラベル(左)と接続命令(右) 27 4.4生成規則について(続き) • 導出の概要 1. 開始規則の適用 2. 内部ノードの操作 • • 分割操作(水平/垂直) 操作終了 3. ノードを終端にする 28 4.4生成規則について(続き) • 分割の方針(水平分割の場合) 1. 対象のノードを2つに分割 2. 上のノードと北壁の位置が等しい perimeterにエッジを張る 3. 下のノードと南壁の位置が等しい perimeterにエッジを張る 4. エッジを移動して分割する位置を決める 29 4.4生成規則について(続き) • 水平分割の例 30 4.4生成規則について(続き) 1.対象のノードを分割 P-NW P-N P-W P-W P-N P-N P-E F P-E F P-W F P-W F P-SW P-S P-NE W A P-E P-E P-S P-S P-SE 31 4.4生成規則について(続き) 1.対象のノードを分割 P-NW P-N P-W P-W P-N P-N P-E F F P-NE P-E H-0 P-W F P-W F H’-0 P-SW P-S P-S W P-E P-E P-S P-SE 32 4.4生成規則について(続き) 2.上のノードと北壁の位置が等しいperimeterにエッジを 張る P-NW P-N P-W P-W P-N P-N P-E F F P-NE P-E H-0 P-W F P-W F H’-0 P-SW P-S P-S W P-E P-E P-S P-SE 33 4.4生成規則について(続き) 2.上のノードと北壁の位置が等しいperimeterにエッジを 張る P-NW P-N P-W P-W P-N P-N P-E F F P-NE T H-2 P-W F P-W F H’-0 P-SW P-S P-S W P-E P-E P-S P-SE 34 4.4生成規則について(続き) 3.下のノードと南壁の位置が等しいperimeterにエッジを 張る P-NW P-N P-W P-W P-N P-N P-E F F P-NE T H-2 P-W F P-W F H’-0 P-SW P-S P-S W P-E P-E P-S P-SE 35 4.4生成規則について(続き) 3.下のノードと南壁の位置が等しいperimeterにエッジを 張る P-NW P-N P-W P-W P-N P-N P-E F F P-NE T H-2 P-W F P-W F H’-1 P-SW P-S P-S W P-E P-E P-S P-SE 36 4.4生成規則について(続き) 3.下のノードと南壁の位置が等しいperimeterにエッジを 張る P-NW P-N P-W P-W P-N P-N P-E F F P-NE T H-2 P-W F P-W F H’-1 P-SW P-S P-S W P-E P-E P-S P-SE 37 4.4生成規則について(続き) 3.下のノードと南壁の位置が等しいperimeterにエッジを 張る P-NW P-N P-W P-W P-N P-N P-E F F P-NE T H-2 P-W F P-W F H’-2 P-SW P-S P-S W-n P-E P-E P-S P-SE 38 4.4生成規則について(続き) 3.下のノードと南壁の位置が等しいperimeterにエッジを 張る P-NW P-N P-W P-W P-N P-N P-E F F P-NE T H-2 P-W F P-W F H’-2 P-SW P-S P-S W-n P-E P-E P-S P-SE 39 4.4生成規則について(続き) 3.下のノードと南壁の位置が等しいperimeterにエッジを 張る P-NW P-N P-W P-W P-N P-N P-E F F P-NE T H-2 P-W F P-W F H’-2 P-SW P-S P-S W P-E B P-S P-SE 40 4.4生成規則について(続き) 3.下のノードと南壁の位置が等しいperimeterにエッジを 張る P-NW P-N P-W P-W P-N P-N P-E F F P-NE T H-2 P-W F P-W F H’-2 P-SW P-S P-S W P-E B P-S P-SE 41 4.4生成規則について(続き) 3.下のノードと南壁の位置が等しいperimeterにエッジを 張る P-NW P-N P-W P-W P-N P-N P-E F F P-NE T H-2 P-W F P-W F H’-3 P-SW P-S P-S W P-E B P-S P-SE 42 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-E F F P-NE T H-2 P-W F P-W F H’-3 P-SW P-S P-S W P-E B P-S P-SE 43 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-E F F P-NE T H-3 P-W F P-W F H’-3 P-SW P-S P-S W P-E B P-S P-SE 44 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-E F F P-NE T H-3 P-W F P-W F H’-3 P-SW P-S P-S W P-E B P-S P-SE 45 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-E F F P-NE T-1 H-3 P-W F P-W F H’-3 P-SW P-S P-S W P-E B P-S P-SE 46 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-E F F P-NE T-1 H-3 P-W F P-W F H’-3 P-SW P-S P-S W P-E B P-S P-SE 47 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-E F F P-NE P-E H-3 P-W F P-W F H’-3 P-SW P-S P-S W T-1 B P-S P-SE 48 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-E F F P-NE P-E H-3 P-W F P-W F H’-3 P-SW P-S P-S W T-1 B P-S P-SE 49 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-E F F P-NE P-E H-3 P-W F P-W F H’-3 P-SW P-S P-S W T’-1 B P-S P-SE 50 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-E F F P-NE P-E H-3 P-W F P-W F H’-3 P-SW P-S P-S W T’-1 B P-S P-SE 51 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-E F F P-NE P-E H-3 P-W F P-W F H’-3 P-SW P-S P-S W T’-3 T’-4 P-S P-SE 52 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-E F F P-NE P-E H-3 P-W F P-W F H’-3 P-SW P-S P-S W T’-3 T’-4 P-S P-SE 53 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-E F F P-NE P-E H-3 P-W F P-W F H’-3 P-SW P-S P-S W T’-3 T’-5 P-S P-SE 54 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-E F F P-NE P-E H-3 P-W F P-W F H’-3 P-SW P-S P-S W T’-3 T’-5 P-S P-SE 55 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-E F F P-NE P-E H-3 P-W F P-W F H’-3 P-SW P-S P-S W T’-6 P-E P-S P-SE 56 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-E F F P-NE P-E H-3 P-W F P-W F H’-3 P-SW P-S P-S W T’-6 P-E P-S P-SE 57 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-NE P-E F P-E F H-3 P-W F P-W F H’-3 P-SW P-S P-S W T’-7 P-E P-S P-SE 58 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-NE P-E F P-E F H-3 P-W F P-W F H’-3 P-SW P-S P-S W T’-7 P-E P-S P-SE 59 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-NE P-E F P-E F H-4 P-W F P-W F H’-3 P-SW P-S P-S W P-E P-E P-S P-SE 60 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-NE P-E F P-E F H-4 P-W F P-W F H’-3 P-SW P-S P-S W P-E P-E P-S P-SE 61 4.4生成規則について(続き) 4.エッジを移動して分割する位置を決める P-NW P-N P-W P-W P-N P-N P-NE P-E F P-E F H P-W F P-W F W P-SW P-S P-S W P-E P-E P-S P-SE 62 5.まとめ(1/2) • octa-gridでスライス構造である必要十分条 件をグラフ文法で定義した (予想) 「すなわち、文法GSL1で生成される任意の グラフはocta-gridでありその矩形分割図形 はスライス構造である また、矩形分割図形がスライス構造である 任意のocta-gridはGSL1で生成できる。」 63 5.まとめ(2/2) • 文法GSL1はあいまい性があるのでパーザ 向きではない(計算量が膨大) • 現在、あいまい性のない文法を構成中 64
© Copyright 2024 ExpyDoc