我们常常会看到这样交叠的圆圈:每个圈代表一类事物,重叠的部分归两者共有,这就是文氏图(Venn diagram),或称维恩图。

打开网易新闻 查看精彩图片

这张文氏图展示了希腊字母(左上方)、拉丁字母(右上方)以及俄罗斯西里尔字母(下方)共有的大写字母字符

文氏图很简单,并不需特别解释,就能把抽象的集合关系变成可视化图像,在逻辑学、集合论乃至计算机科学中广泛应用。不要只把它当作分类画图的小工具,它背后可是对应着初等集合论相当严密的逻辑结构。

unsetunset从欧拉图说起unsetunset

文氏图是以英国数学家、逻辑学家剑桥约翰·维恩(John Venn,文氏图正是由其姓氏 Venn 翻译而来)命名的,但用封闭图形来表示逻辑关系的思想,有人要更早于维恩。

打开网易新闻 查看精彩图片

在 1712 年,德国学者克里斯蒂安・魏泽(Christian Weise)在逻辑学著作中其就做过类似的表达尝试。

影响更大的是大数学家欧拉,他在 1760 年代写给一位德国公主的信中,系统地用闭合曲线辅助三段论推理,其中的图示后来被称为欧拉图(Euler diagram)。

这些早期图示有个共同的局限:只画实际存在的关系。两个集合不相交,就画成两个分离的圆;一个包含另一个,就画成大圆套小圆。它们适合针对具体情形举例说明,却承载不了完整的逻辑体系。

转折发生在 1880 年。剑桥逻辑学家约翰·维恩发表论文提出改造方案,次年又在专著《符号逻辑》第五章中给出了系统阐述。

他补上了一条关键的约束:一张合格的集合图示,必须呈现集合之间所有可能的逻辑组合,而不只是当下成立的那几种。哪怕某种组合对应的是空集,图上也要为它留出区域——只是那块区域里不放任何元素。

这个改动是质变的:图示从举例工具,升格为能够完整承载集合运算的严谨表示法。后人便把满足这种全组合覆盖要求的图称为文氏图。

unsetunset平面上的映射规则unsetunset

文氏图的本质,是在二维平面上用闭合曲线(通常画成圆或椭圆)表示抽象的数学对象:集合的每个元素对应平面上的一个点,集合本身对应曲线围出的封闭区域。

一条标记为 的曲线把平面分成内外两部分,恰好对应集合论的一条基本原则:任何元素要么属于 ,要么不属于,没有中间状态。曲线内部的点代表属于 的元素,外部的点代表不属于 的元素。

当多个集合同时出现,它们之间的运算就转化为区域的重叠与合并。以两个集合 与 为例。同时属于 和 的元素构成两者的交集,记作 :

在图上,交集正是两圆重叠的公共区域。若把两个集合的元素合并,考察属于 或属于 (含同时属于两者)的元素,便得到并集 :

对应到图形上,并集是两圆覆盖的全部区域。

unsetunset文氏图不等于欧拉图unsetunset

两者经常被混为一谈,分界其实很清楚:对逻辑可能性的穷尽程度不同。

欧拉图只画"有元素的区域",没有交集的两个集合尽可以画成分离的圆。而标准的文氏图则要求: 个集合必须以所有可能的方式交叠,把 种逻辑组合

在平面上一一呈现,空集也不例外。按这个标准,每一张文氏图都是欧拉图,反过来则未必——文氏图是欧拉图中要求最严苛的特例。

例子:互斥关系(哺乳动物 vs 鸟类)

在现实中,没有动物既是哺乳动物又是鸟类,它们的交集是空的。

  • 文氏图的画法:必须画成两个强制相交的圆。为了表示现实中没有交集,通常会在重叠的交集区域涂上阴影(或标记为 ),以此宣告“此路不通”。

  • 欧拉图的画法:直接画两个完全分离、互不挨着的圆。既然现实中没交集 ,圈就不重叠,视觉上更符合直觉。

打开网易新闻 查看精彩图片

例子:包含关系(英国人 vs 伦敦人)

在现实中,所有伦敦人一定都是英国人。

  • 文氏图的画法:依然是两个固定相交的圆(形成左、中、右三块区域)。然后把“是伦敦人但不是英国人”的那个外侧区域涂黑抹去,标记为空集。

  • 欧拉图的画法:直接画一个大圆(英国人),里面完整包裹着一个小圆(伦敦人)。

文氏图和欧拉图都用图形表示集合,但关注点不同,前者是把所有逻辑可能性都列出来,而欧拉图是只画实际存在关系。

顺带一提,常规文氏图只关心区域间的位置关系,面积大小没有含义。在某些数据可视化场景中,人们会额外要求每块区域的面积与元素数量成正比,这类变体称为等比例文氏图,能同时传递逻辑关系与数量对比。

来源:遇见数学

编辑:丁香叶子

转载内容仅代表作者观点

不代表中科院物理所立场

如需转载请联系原公众号