• 一道有趣的图论思考题


    求证:任意多边体满足面数+点数-2=边数

    思考这个问题我还是花了一些功夫,主要原因是一开始方向错了,从把一个多边体沿边剪开,剪成若干个多边形的思路

    从这个方向研究是很困难的,原因是剪开边时边数和点数的变化很复杂,有三种情况,而且随着不同的剪开顺序而改变

    但是这个方向给我们一个重要提示:试图把球面上的图转化为简单平面图

    只需沿某一个多边形面的边把这个面拿掉,剩下的面一定可以展开为平面图形,进而抽象为简单平面图

    为什么?

    考虑这个问题前,要先研究一下平面图和球面图的性质(主要研究其异同)

    不难发现,区分平面和球面最主要的标志是是否存在一条环路,使得其余所有面都在环路的内侧,定义这条路径为平面图形的外缘

    (有关内侧的定义其实还需要更严谨的分析,不过限于篇幅和智力这里就不再进一步分析了)

    那么当把某个面拿掉后,剩下的图形的外缘实际就是被去掉的多边形的边

    为了方便讨论,我们只拿掉一个简单多边形,即内部没有边的多边形

    这样就把问题转化为研究平面上的图形

    将顶点抽象为结点,边抽象为结点之间的边,那么原先的平面图形就转化为平面简单图,原先的多边形就转化为图中的简单圈(或者叫简单环)

    研究圈数和点数边数的关系应该从哪个角度?

    当然是生成树啦(不用对偶图,不要想复杂了)

    对这个图,假设共有n个点m条边,那么做生成树就需要用掉n-1条边

    接下来添加剩下的边,由生成树的性质易知,每添加一条边就多出一个圈

    图论中点和边是可以随意移动的,这种说法实际上并不正确,这里为了方便研究,假设点和边是固定的

    由于图是从多边形上拆下来的,保证边之间不会相交,我们就可以只考虑内部没有其他边的圈,如此一来,增加一个圈的说法就是正确的了

    (后面的论证破坏了图的性质,只不过为了方便描述仍旧使用图的术语来表示,把它完全看作平面图形来研究其实也是可以的)

    为了方便对图论不熟悉的选手阅读,这里还是证一下吧

    需要注意圈的一种判断方式:如果两个点之间存在不相交的路径,那么这两条路径就组成一个圈

    由于生成树的定义,一开始保证任意两个点之间都有唯一的简单路径(简单路径指每个点至多只经过一次的路径)

    接下来每添加一条边,都有两种情况:

    ①边的两个顶点原先只有唯一路径

    这种情况显然增加了一个圈

    ②边的两个顶点有多条不相交的简单路径

    这时实际上是把这两个点所在的圈一分为二,仍然是增加了一个圈

    (图论中也不应该有一分为二这样的说法,但是由于和上文同样的原因,假设点和边是固定的,我们就可以说一个圈被分为两个圈)

    综上所述,每添加一条边就多出一个圈

    总共又添加了m-n+1条边,那么就多出了m-n+1个圈

    根据之前我们定义的,平面图和平面图形的对应关系,就可以得到面数=边数-点数+1,也就是面数+点数-1=边数

    别忘了把刚才拿掉的多边形盖上,点数和边数都不变,面数多了1,那么计算边数的时候要再让面数-1

    最终就可以得到面数+点数-2=边数啦!

    最后给出拓扑学中关于此问题的更具一般性的结论:

  • 相关阅读:
    nodejs简易代理服务器
    request发送json-rpc请求
    nodejs使用sequelize操作mysql实例
    nodejs添加jsonwebtoken验证
    .net core下使用DbProviderFactories.GetFactory("")无法创建工厂的解决方案
    .net core 后台如何生成html字符串到前台_后台html字符串在前台显示编码状态
    .net core入门-跨域访问配置
    .net core入门-项目启动时报错:HTTP Error 502.5
    .net core项目启动时报_未处理Socket异常(以一种访问权限不允许的方式做了一个访问套接字的尝试。)
    winform批量更新数据_长时间的执行会导致界面卡死
  • 原文地址:https://www.cnblogs.com/cdcq/p/14352062.html
Copyright © 2020-2023  润新知