离散集合和图论的讨论

这里不是想去否定公理化集合论以及现有的图论。恰恰相反,在对图论做分析时,我发现一些证明,符号化描述非常困难,而图论本身又可以通过集合来描述,所以我想尝试使用更多的集合论的符号,约束,来描述图论问题。

基本的原则

1、兼容公理化的集合论。但在必要时,进行约束。

2、完全利用现有所有图论知识。如果有相同描述,尽可能以图论导引中的符号进行描述而不是创新。

3、尽可能补充图论导引中没有完全符号化的部分。

图论是个很好玩的东西。在算法中,经常遇到。特别是大系统。例如服务器的负载分布,交通规划,甚至神经网络构造。我一直带着爱好的方式了解图论(高中看数据结构一书时,就开始关注了),但谈不上学习。我的专业不是离散数学。哈。不过我观点,仍然是,图论过于口语化。

例如,可平面,通常如下描述:”

平面图是可以画在在平面上并且使得不同的边可以互不交叠的图。而如果一个图无论怎样都无法画在平面上,并使得不同的边互不交叠,那么这样的图不是平面图,或者称为非平面图。

这是WIKI的描述。当然我也认为是正确的。可是,这不是符号化描述。当然,库拉托夫斯基定理(这哥们名字忒长了点,我没他牛可能是因为我名字没他长,此处嫉妒恨一下,哈),说明了平面图的一个充分必要条件。任何包含K5,K3,3的图不可平面。

可能你会说,这就是非常好的符号化描述平面图的定义。不好意思,这是定理。不是符号化的定义,同时需要注意两点,关于上述定理存在的条件。

1、有限图。

2、子图不具备的性质,会衍生到原图的性质。意思是说,上述定理,是由,一个子图不可平面,由此推理出平面图的充分必要条件。这是基于平面图在先,不可平面条件在后,因而不能由此来定义平面图。

关于1部分,这里有个哲理问题,在平面图定义中没有约束全体集合是否为有限。由此,上述定理只能是部分的平面图的充要条件(为什么增加有限图的约束,说实话,我也很好奇)。

关于2部分,如果我们就是用有限,使用上述定理来描述平面图。则会出现如下悖论。符合一个陈述的图的条件是符合该条件。同时,该陈述是判断一个图是否为该图的充分必要条件。这是拿自身定义的条件,来证明自身。不是正确的逻辑思维。

另一个有意思的事情(希望别认为我变态,用 C写过无数遍数据结构,写代码中的疑问抽象出来的)。看一下下面的定义,已经很符号化了。

图G由两个集合V和E组成,记为:
        G=(V,E)
  V是顶点的有穷非空集合, E是V中顶点偶对(称为边)的有穷集。

这里说明了,E的元素,是基于V中元素的顶点偶对。因此,如果V中不存在的元素,不可能在E中存在。那么我们看一下一个经常遇到的例子:

    G = G1+G2。

   假设,G1中存在 v1和 G2中存在v2相连。那么v1和v2之间的边,怎么体现?或者说,在哪?G1,G2中都不应该有。因为存在顶点缺失。而不应该在+号里,他不是机器猫,什么都能变出来,也不是上帝创造的。

   当然,你可以解释,G1,G2中有共同的顶点。此处的+操作并不针对边,而是相当于顶点的并操作。G1,G2中如果存在则一定有相同顶点。由此解决边在哪的问题。

    但是非连通图,难道我们就要再修改 G=G1+G2的规则描述吗?

   这个边在哪,证明数学的人,想当然的可以这样定义那样解释,和大多数图论问题一样,口语化。但写代码的人,比如我,就郁闷大了。例如我们将一个图拆成几个子图进行并发处理。此时,边恐怕得保留。由此,所有子图可能包含相同顶点,如果他们是连通的。这是基于针对图的关联性进行分析的代码。但是基于图的顶点数据统计时,就郁闷了,我得重写很多相关代码,而且没有符号化理论的指导,哪些得改哪些不改,经常时灌入数据时才发现逻辑错误,这还好,是用面向模块的C写,如果用面向对象的C++写,郁闷就更大了。究竟谁是谁的基类,同样都是图,为啥一定要搞两个派生类,派生的标准是什么?男女有别,好定义,指纹有指纹学做理论,图论没告诉我们什么图该这样,什么图该那样,更何况差异在于连通非连通上,你说按这个标准重载 + 操作。那么我们暂不确定这个图是连通的还是非连通的,使用面向对象怎么选择哪个类?

   证明,特别是图论的证明,可以很多口语化,但写代码,却需要符号化,因此,非我变态,而是工程需要,我尽可能的符号化图论。

   也非常欢迎大家,对后期我的描述,给予指正和批评。

转载于:https://my.oschina.net/luckystar/blog/56291

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值