聚焦关联边的图变换:极化节点克隆方法解析
1. 引言
图变换在多个方面扩展了字符串重写和项重写。在相关文献中,图和图重写的定义方式众多,主要可分为算法方法和代数方法。算法方法通过图变换实现中涉及的算法来定义图重写步骤;代数方法则最早在开创性论文中提出,利用范畴构造以抽象方式定义图变换,其中双推出(DPO)和单推出(SPO)是最流行的代数方法。
在图变换中,节点克隆是一个重要的研究方向。大多数流行的编程语言都具备复制值的功能,如浅克隆和深克隆操作。然而,经典的 DPO 和 SPO 方法并不适合进行节点克隆。目前,有两种代数方法尝试处理节点克隆问题,即半推出(SqPO)和异构推出(HPO)。SqPO 方法能够克隆带有所有关联边的节点,而 HPO 方法仅克隆带有出边的节点。
为了实现更灵活的节点克隆,本文提出了极化节点克隆的图变换方法。该方法允许节点的每个副本可以带有所有关联边(记为 n±)、仅带有出边(n+)、仅带有入边(n -)或不带有任何关联边(记为 n)。为了实现这一目标,引入了极化图的概念,即每个节点带有极化标记的图。本文的规则由极化图 K 和图的跨度 L ←l K →r R 组成,其中 K 的注释指示了关联边的克隆策略。
2. 图的极化节点克隆
2.1 图的基本定义
- 图的定义 :图 X 由节点集 |X|、边集 X→ 以及从 X→ 到 |X| 的源和目标函数组成。边 e 从节点 n 到节点 p 表示为 n e→ p,从 n 到 p 的边集表示为 Xn→ p。图的态射 f : X → Y 由两个函数 f : |X| → |Y| 和 f : X→ → Y→ 组成
超级会员免费看
订阅专栏 解锁全文
2077

被折叠的 条评论
为什么被折叠?



