Page 7 - 《软件学报》2021年第12期
P. 7

刘禹锋  等:vCGG:一种基于虚结点的空间图文法形式框架                                                    3671


         坐标的基础上定义离散坐标的概念,使用两个子框架 cCGG(continuous coordinate  graph grammar)和 dCGG
         (discrete coordinate graph grammar),为分别空间语义提供定量与定性描述粒度.以下给出 CGG 中的基本概念.
             定义 1.1. G=(N,E)是一个定义在标号集 L 上的空间语义图,当且仅当:
             •   N 是一个结点集,并且可以进一步被分为两个子集合:终结点集 N T 和非终结点集 N NT ;
             •   E⊆N×N 是一个有向边集.
             为了方便语法语义操作,CGG 定义了以下几个函数.
             •   f NL :N→L 是一个从结点 n∈N 到标号 l∈L 的映射,即 f NL (n)=n.l;
             •   f NC :N→R×R 是一个从结点 n∈N 到坐标 c∈R×R 的映射;
             •   f EN  s  : E →  N 是一个从有向边 e∈E 到它的起始结点的映射;
             •   f EN e  : E →  N 是一个从有向边 e∈E 到它的结束结点的映射.
             定义 1.2.  给定一个空间语义图 G,结点 n∈G.N 的离散坐标是(r x ,r y ),当且仅当:
             •   r x 和 r y 分别是 f NC (n).x 和 f NC (n).y 在 G.N 中所有结点坐标值中的反向排名数值.
             对于一个给定的图,结点的离散坐标抽象自连续坐标,表示结点的横坐标与纵坐标在当前图所有结点中的
         反向排名,反映了该结点在图中的相对空间位置.例如,图 1 是一个空间图连续坐标的离散化过程,结点 a 横坐标
         与纵坐标在图中所有的结点中反向排名为 2,3,因此,结点 a 在当前图中的离散坐标为(2,3).








                         Fig.1    Mapping between continuous coordinates and discrete coordinates
                                     图 1   连续坐标与离散坐标之间的映射
             定义 1.3.  图 G 与图 Q 是同构关系,记作 G≈Q,其中,G 和 Q 之间存在两个双射:f NN :G.N↔Q.N 和 f EE :G.E↔Q.E,
         并满足以下条件.
             •   ∀  n (((n G∈  . ) (N ∨  n Q∈  . ))N ⇒  ( f  NL ( )n =  f ′ NL ( f  NN  ( ))))n  ,其中,f NL 和 f ′ 分别是 G 和 Q 的结点标号映射;
                                                                   NL
             •   ∀  e (((e G∈  . ) (E ∨  e Q∈  . ))E ⇒  ( f  ( f  ( ))e =  f  ( f  ( ))) (e  ∧  f  ( f  ( ))e =  f  ( f  ( ))))e  .
                                        NN  EN s   EN s  EE    NN  EN e   EN e  EE
             满足同构关系的两个图有着一一对应的结点和边,其中,对应结点拥有相同的标号,并且对应边的起始结点
         和结束结点也需符合该对应关系.
             定义 1.4.  图 Q 是一个包含悬边的图 G 的核图,记作 Q =         Cor ()G ,当且仅当:
                                   (.QN =  G . ) ( .N ∧  Q E =  ( .GE GE−  . )) ( .Q L∧     =  GL
                                                                     . ) .
             定义 1.5.  如果图 Q 是一个给定主图 G 的子图并可能带有悬边,并且图 G                  | L R  是一个产生式的左图或右图,
         图 Q 是图 G   | L R  在主图 G 中的图柄,记作 Q∈  Redex (,G G  | L R ) ,当且仅当:存在两个双射: f NN  :.QN ↔  G  | L R .N 和 f EE :
           . QE ↔  G  | LR .E ,并满足以下条件.
             •   Cor ()Q ≈  Cor (G  | L R ) ;
             •   ∀  ( nn Q∈  .N ⇒  ( ( )d n = s  d s ( f NN  ( ))) ( ( )n  ∧  d n = e  d e ( f NN  ( ))))n  ;
                      ∀
             •   cCGG: n n 2 ( ,n n ∈  1  2  . Q N ⇒  ( f NC ( )n −  1  f NC ( )n =  2  f ′ NC ( f NN ( ))n 1  −  f ′ NC  ( f NN  ( ))))n 2  ,其中,f NC 和 f ′ 分别是 Q
                         ,
                        1
                                                                                       NC
                和 G  | L R  的结点坐标映射;
             •   dCGG:∀n(n∈Q.N⇒(n.c d =(f NN (n).c d ))),其中,c d 是 Q 或 G  | L R  中结点的离散坐标.
             在 CGG 中,图柄不仅要求与某个产生式图形成同构关系,还需满足空间上的语义匹配要求.根据不同的粒
         度描述选择,子框架 cCGG 要求产生式图 G            | L R  中任意两个结点和它们在图柄 Q 中对应的结点具有完全相等的
   2   3   4   5   6   7   8   9   10   11   12