关系的类型:用范畴论定义类比
Types of Relations: Defining Analogies with Category Theory
https://arxiv.org/pdf/2505.19792
摘要
为了实现智能行为,人类和机器都必须以适合其用途的方式充分表征其知识。人类经常使用类比将知识迁移到新领域,或通过解释帮助他人完成这种迁移。因此,一个关键问题是:可以使用何种表征来构建、发现和评估类比?本文研究了对构建类比至关重要的领域特征。我们通过将知识领域形式化为范畴(categories)来实现这一目标。我们以太阳系与氢原子之间的经典类比为例,演示如何构建领域范畴。我们还展示了如何利用函子(functors)、拉回(pullbacks)和推出(pushouts)来定义类比,描述其核心,并构建底层领域的相应融合(blend)。
关键词——类比;范畴论;类型论;结构映射
1 引言
我们形成类比的能力对于认知和交流至关重要(Winston, 1980)。我们利用类比将知识从一个知识领域迁移到另一个领域,并在此过程中获得新的洞见和想法。我们也利用类比来解决新问题。在教学与学习中,我们经常使用类比,将一个陌生领域描述为在某些方面与另一个熟悉领域相似。人们普遍认为,类比学习是人类智能的“神奇要素”之一(Gentner, 2003)。因此,如果我们希望构建能像人类一样学习和思考的机器(Lake 等, 2017),那么类比构建的形式化理论很可能在这一事业中发挥重要作用(Mitchell, 2021)。在本文中,我们提出将类比形式化为范畴论中的函子。
认知科学家和人工智能研究者长期以来一直在研究类比,并提出了多种形式化类比的方法。这些方法的共同点在于:类比总是在两个领域之间建立的——一个基底领域(base domain)和一个目标领域(target domain)——并包含一个描述两者(结构)相似性的映射。该映射使得知识可以从基底领域迁移到目标领域。大多数方法都认同类比涉及结构对齐(structure alignment)(Gentner 和 Hoyos, 2017)。其中,结构映射理论(Structure Mapping Theory)(Gentner, 1983)最具影响力,并已在结构映射引擎(Structure Mapping Engine)中得到实现(Falkenhainer 等, 1989;Yan 等, 2003;Forbus 等, 2017)。然而,不同方法在如何表征支撑类比的领域知识方面存在差异。主要的数学形式体系包括图(graphs)(Winston, 1980)、代数模型(Dastani 等, 2003)以及一阶或二阶逻辑。在基于逻辑的方法中,启发式驱动理论投射(Heuristic-Driven Theory Projection)发展得尤为完善(Schwering 等, 2009;Besold, 2013)。有趣的是,同样的形式化方法也可用于类比构建和两个领域的概念融合(conceptual blending)(Eppe 等, 2018;Guhe 等, 2011)。
进行类比等同于发现两个领域尽管表面看起来不同,却具有相同的底层结构。由于范畴论是研究抽象结构的数学分支,已有若干研究者在其类比分析中使用了范畴论。例如,Arzi-Gonczarowski(1999)用所谓的“感知”(perceptions)范畴对相机部件和人眼进行建模,并通过这两个对象的拉回(pullback)来发现一个包含其共性的新抽象对象。Krumnack 等(2013)对类比的句法和语义进行建模,使用模型范畴及其结构保持关系;而 Navarrete 和 Dartnell(2017)则结合代数模型、交换图(commutative diagrams)和余等化子(coequalizers)来建模类比。
在本文中,我们遵循经典的结构映射方法(Gentner, 1983),该方法强调领域内实体之间的关系。对于简单类比,知识领域可表示为图(graphs),其中实体作为节点,二元关系作为边。随后可利用图范畴(category of graphs)分析此类图之间可能的关系与融合(Ott, 2024)。然而,这些图难以有效表示 n 元关系和高阶关系,而这些关系对类比构建至关重要(Gentner, 1983)。因此,本文将每个领域表示为其自身的范畴。通过这种方式,我们可以表示两个以上实体间的关系,并利用“关系对象化”(objectification)构建高阶关系。与其他方法类似,一个领域范畴由实体和谓词组成,这些谓词编码了关于这些实体的相关知识。重要的是,关系的对象化使得我们可以方便地使用类型(types)来识别每个实体和谓词在领域中所扮演的结构角色。
我们以太阳系与玻尔氢原子模型之间的类比作为贯穿全文的示例。太阳系领域的实体包括太阳、金星和火星;原子领域的实体则包括原子核和电子。关系例如有 attracts(sun, mars)(太阳吸引火星)或 revolves around(electron, nucleus)(电子绕原子核旋转)。在这个经典示例中(Gentner, 1983),迁移关系是:氢原子中的电子围绕原子核旋转,就像行星围绕太阳旋转一样。
在下一节中,我们将首先以太阳系为例,说明如何构建一个领域范畴,并介绍范畴论(CT)中所有必要的概念。随后在第3节中,我们将类比定义为函子,并探讨如何利用拉回构造一个捕捉类比核心的新范畴,以及如何利用推出构造两个领域的融合。
2 将领域形式化为范畴
范畴论(CT)研究数学结构。一个范畴由一组对象(objects)以及这些对象之间的态射(morphisms)组成。这些态射可以是多种不同类型的映射,而范畴论的规则仅规定它们如何组合在一起,并不规定其具体性质。因此,范畴的概念极为抽象,从而适用于数学的许多不同领域。在此,我们使用范畴来表示支撑类比的领域中的知识。我们将构建的领域范畴表示法与更常见的形式体系(如一阶逻辑和高阶逻辑)有许多相似之处,但更加强调实体之间的关系。
2.1 范畴导论
在定义领域范畴并以太阳系领域为例给出具体说明之前,我们先简要介绍范畴论中所有必要的概念。若想更深入地了解范畴论,读者可参考相关教材(例如 Spivak, 2014;Awodey, 2010)。
如果下标在上下文中是明确的,我们会省略它们。我们用 : → 表示从 到 的一个态射,其中 是 的定义域(domain), 是其陪域(codomain)。类(class)可以是一个集合或集合的汇集,但在本文其余部分,我们仅考虑对象构成真集合(proper sets)的范畴。这类范畴称为小范畴(small categories)。
有时,一个范畴只有一部分与特定分析相关,或者将某个范畴视为更大范畴的一部分会更有意义。在这些情况下,我们使用子范畴(subcategories)。
我们将每个领域形式化为其自身的范畴,并将在此描述如何构建这样的范畴。一个领域范畴以基本类型(base-types)作为对象,这些基本类型是不同的集合。Gentner(1983)将领域描述为由对象、对象的属性以及对象之间的关系组成。为了避免与范畴论(CT)中的术语“对象”(object)混淆,我们将领域中的基本对象称为“实体”(entities)。每个领域都有一组实体 E。该集合在领域范畴中是一个对象。例如,我们构建太阳系的基本领域 S,其对象为 E = {sun, mars, venus}。类似地,氢原子的目标领域 A 的对象为 E = {nucleus, electron}。接下来,我们将逐步展示如何通过添加更多对象和态射来构造一个领域范畴,这些对象和态射代表领域的各种组成部分和谓词。目标是以结构化的方式编码所有相关知识,从而有助于发现可能的类比,同时保持范畴规模较小,以减少错误对应。
实体的属性是一元关系,可以在领域范畴中表示为从每个实体映射到布尔值的态射。因此,我们要求领域范畴还包含一组布尔值 B 和从 E 到 B 的每个属性对应的态射。例如,在 S 中存在一个对象 B = {true, false},而从 E 到 B 的态射集合 Mor(E, B) 包含 hot(·),它将 sun 映射为 true,将行星映射为 false。
我们必须在此指出,可能存在多个行为相同的属性,即它们将实体映射到相同的布尔值。例如,可能存在另一个属性 yellow(·),它也将 sun 映射为 true,将行星映射为 false。我们希望区分这类态射。因此,这些态射不仅仅是函数。我们认为它们是命名函数,其中对所有 x 都有 f(x) = g(x) 并不意味着 f = g。
另一个所有领域范畴(按我们的定义)共有的对象是单位对象(unit object),其作用类似于 B。它使得将单个实体(作为对象的元素)表示为态射成为可能。
2.2 乘积:二元和n元关系
到目前为止,域范畴仅包含一元关系。我们现在将研究乘积以及如何使用它们来包含二元和n元关系。
二元关系将一对实体映射为真,如果它们在该关系中,否则为假。因此,我们需要一个包含这些对的范畴中的对象。这个对象是实体集合与其自身的笛卡尔积。它也是更一般意义上的CT中的一个乘积,如图2a所示。
2.3 指数对象:关系的对象化
Gentner(1983)强调了“关系之上的关系”(relations on relations)在构建类比中的重要性。作为此类高阶谓词组成部分的关系,更多地参与了领域的一般结构,因此在知识迁移中更为重要。为了在领域中包含高阶谓词,我们需要对已有的关系进行对象化(objectification)。我们使用指数对象(exponential objects)来实现这种对象化。其定义如图4a所示。
一个域范畴还可以额外包含由三个基本对象的任意组合构成的有限笛卡尔积和指数对象。这些对象按上述方式构造。
为了满足范畴的性质,每个对象都被赋予一个恒等态射,并且对于任意 X, Y, Z ∈ Ob(C),所有态射 f: X → Y 和 g: Y → Z 的复合 g ◦ f: X → Z(如果尚未存在于该范畴中)都会被添加进来,例如当 X = 1C 时。
我们现在已定义并介绍了域范畴的基本构件,如表1所示。为提高可读性,恒等态射和复合态射未包含在内。
2.4 高阶关系
我们现在将更仔细地考察两种高阶关系——“causes”(导致)和“and”(与),它们使得对象化成为必要。这些高阶关系可以作为态射和对象的元素被添加到域范畴中,以便更好地描述该领域。例如,在太阳系领域中,太阳与行星之间的引力导致行星围绕太阳旋转这一点很重要。我们关注这些关系的类型及其在特定领域中所起的作用。
让我们首先来看“and”。在我们的形式化体系中,它表示两个二元关系的连接。不同于自然语言,每个关系在域范畴中必须具有指定的类型。“and”这个词本身并未说明什么被组合,但一个关系 and() 需要一个特定的类型。我们将在此处考察两种不同的 and() 版本以展示这一点。在我们示例中的域范畴 S 中,and₁ 是一种关系,它将两个二元关系 f, g ∈ Bᴱˣᴱ 映射为一个新的二元关系 (f and₁ g) ∈ Bᴱˣᴱ。这个 (f and₁ g) 是一个新的二元关系,必须被明确指定并添加到态射集合以及 B̃ 中。返回一个二元关系而非接受四个实体作为输入的关系意味着,相同的实体对被用于两个关系中。利用指数对象,我们
得到 and₁: B̃ × B̃ → B̃。相比之下,另一个关系 and₂ 将两个二元关系 f, g ∈ Bᴱˣᴱ 映射为一个新关系 (f and₂ g) ∈ Bᴱ⁴,该关系接受四个实体作为输入并返回一个布尔值。此类高阶关系的类型可根据不同域范畴而变化,并且在添加时必须加以选择。
为了保持从 E × E 到 B 或从 E⁴ 到 B 的态射集合有限,我们可以决定 and 是可交换且可结合的,这样每种关系的组合在 B̃ 中仅出现一次。我们现在可以向 S 添加一个新对象,其中包含 and₁ 的对象化版本,即 B̃ᴮ̃ˣᴮ̃。图6展示了域范畴 S 中的一部分——乘积 B̃ᴮ̃ˣᴮ̃ × B̃ × B̃ × E²——如何分两步求值,以及这对一个示例元组意味着什么。
现在让我们添加态射 causes(·, ·),它具有与 and₁(·, ·) 相同的类型。我们将使用 causes(attracts(sun, mars), revolves around(mars, sun)) 作为一个例子。如果可能,最好将表达式转化为一种形式,其中加入的是相同的实体,因此这里 causes(attracts(e₁, e₂), (revolves around ◦ σₑₓₑ)(e₁, e₂)) 接受一对实体并返回一个布尔值,所以它的类型是 Bᴱˣᴱ。这种形式将可能的因果组合限制为涉及相同实体的那些组合。是否将可能的组合集合限制为输入中相同的两个实体,是一种设计选择,就像前面关于 and 的情况一样。在这种情况下,假设原因和结果关联到相同的实体是合理的,而这种假设能够以这种方式被形式化体系捕捉,正是该形式化体系的一个良好特性。
所涉及的关系的类型是:attracts 和 revolves around ◦ σₑₓₑ 均为 Bᴱˣᴱ 类型。我们可以结合这些对不同类型关系的观察,来思考这个特定的 causes 关系的类型。我们看到,如同 and₁ 一样,它接受两个态射 f, g ∈ B̃,并返回一个新的态射 f causes g ∈ B̃,如图7所示。这些新的态射被添加到范畴中,同时也是 B̃ 中的元素。图8展示了所涉及的对象及其求值过程,最终得到一个布尔值。
2.5 太阳系和氢原子的范畴
3 域范畴之间的类比
到目前为止,我们已经讨论了如何使用类型来使域的不同构建块更加明确,并形成更高阶的关系。我们已经为类比构建了两个域,但尚未比较这两个域。然而,我们还没有比较这两个域。
3.1 函子:比较域
本节讨论比较和匹配两个域范畴,这两个域范畴模拟了类比的基础和目标。进行类比的一部分是找到域之间的相似性,以指导可能的转换。在 CT 中,比较两个域范畴的最简单方法是寻找它们之间的函子。这些是结构保持的范畴映射。
我们已经提到,态射f和g的组合也是域范畴的一部分,以遵循范畴的属性,通常命名为g ∘ f,如果没有其他态射定义为它们的组合。然而,对于每个元素x ∈ X,只有一个唯一的态射x: 1 → X。因此,对于每个x: 1 → X和f: X → Y,其中f(x) = y ∈ Y,规则是f ∘ x = y: 1 → Y。这意味着,例如,对于态射attracts(·,·) ∘ (sun, mars)(·) = true(·),对于态射attracts(·,·): E × E → B和(sun, mars)(·): 1 → E×E。通过这种方式,从1_S到E_S的态射,或者在这个例子中,E_S × E_S和从E_S或E_S × E_S到B_S的态射必须一致地映射到A中的态射,这意味着如果映射的组合为真,则映射的组合也必须为真。
表3的列表示从A中的实体对到S中的态射1_S → E_S × E_S的态射1_A → E_A × E_A的示例映射。S中的二元关系映射到A中的二元关系在行中显示。表中的条目显示了该列中态射1 → E × E的组合和二元关系E × E → B是否为true: 1 → B(t)或false: 1 → B(f)。每个条目显示了A(顶行和左列)和S(底行和右列)的布尔值。我们可以看到,这里建议的映射将具有相同名称的二元关系映射到关系,因为每个单元格中的两个条目都是true()或false()。
还有其他可能的映射可以保持真值。例如,可以将S中的massive(·,·)映射到A中的revolves around(·,·),反之亦然。为了使一切一致,必须将sun(·)和mars(·)以及venus(·)映射到nucleus(·),如表4所示。我们可以看到,前三行的布尔值条目保持不变且一致。然而,这种转换必须在整个范畴中一致地遵循。这导致在高阶关系中的不一致性。态射causes(·,·)在B中作为元素区分revolves around和more massive,如表4中虚线下方所示。组合(attracts causes revolves around) ∘ (nucleus, electron)为真,而组合(attracts causes more massive) ∘ (venus, sun)为假。
在 S 中的属性 hot(·) 在 A 中没有明显的对应项。它或许可以被映射为与 δ 的复合,例如 attract ◦ δ: E → B,但这是不一致的,因为 hot ◦ sun = true,而 attract ◦ δ ◦ sun = false。由于 hot(·) 无法被映射到目标域中,我们不希望它成为类比的一部分。这可以通过使用一个不包含 hot(·) 的偏函数来实现。
从 S 到 A 的函子与从 A 到 S 的函子之间存在差异。即使我们要求保持真值,这些函子也不是唯一的。态射
electron(·): 1_A → E_A 可以被映射为 mars(·) 或 venus(·) ∈ Mor_S(1, E),但不能同时映射为两者。因此,至少存在两个同样有效的从 A 到 S 的函子。
我们现在已构造了域范畴,并用它们定义了类比。在本节余下部分,我们将使用这些类比函子来构造或发现描述这些类比或两个领域混合结果的新范畴。我们将使用范畴论中的两个概念:拉回(pullback)和推出(pushout)。
3.2 核心与混合
如前所述,所有域范畴都是小范畴,因此它们是小范畴范畴 Cat 中的对象。该范畴具有所有二元积和余积,因此每一对域范畴都有积和余积。
4 讨论
在本文中,我们已经将知识领域形式化为类别。通过使用类别理论,我们关注不同类型的谓词和关系以及它们包含的关于领域结构的信息。我们展示了如何构建一个包含领域相关结构的领域类别,并且足够小以限制可能的类比。使用类型和类别的形式使我们能够通过其不同的谓词及其在领域内的不同角色来查看领域。这些角色对可能的领域间类比施加了强烈的限制。通过指数对象的量化进一步限制了这一角色,因为它限制了谓词和关系如何作为更高阶谓词的一部分。我们使用函子来定义受这些领域结构约束的类比,并要求保持真实性。使用这样的函子,或者为了更大的灵活性,使用部分函子,我们构建了类比的核心和混合。
这些函子不一定是唯一的,取决于基础和目标领域的结构。我们没有给出如何构建这些领域类别的完整描述,也不声称这是使用CT的唯一方法。我们更愿意查看构建的基本概念及其效果。显然,一个重要的未来方向是,实现这样的类别在计算机程序中,并自动生成可能的类比函子。这样的生成器还应该使用例如转移的同态数量作为类比质量的度量来对可能的函子进行排名。
我们专注于具有实体和布尔属性的领域。可能有趣的是查看概率领域或多值逻辑。所有这些都需要为 B 使用不同的集合。另一个概括是添加更多基础类型,例如数量。
我们的类别理论观点与经典结构映射方法:类比制作由谓词和关系对领域的结构施加的约束紧密对齐。类别理论允许我们对“类比”一词的精确数学定义。可以争论类比是否应该保持真实性和指数化或关于领域类别的最合理表示。然而,我们不能忽视我们需要一个精确的工作定义的类比,如果我们想发展一个数学类比理论。也许这样的理论也将帮助我们更好地理解人类智能的本质。
原文链接:https://arxiv.org/pdf/2505.19792
热门跟贴