我试试用我的方式说说如何构造n维空间吧。

n维空间在n大于3后,说要画出来,有点难以想象。
但从数学的角度看,高维空间这个概念还算比较普通、容易理解的。

与其解释,不如快快开始。我选择用图(Graph)的方法来描述想说的东西,而且,我选的是特殊的某类空间,并且不是大多数人通常理解的空间。我选的空间的各个维度上只有一个比特——值只能在0和1之间取。数学符号表示是

下面会看到,这个模型会让人想到信息论里格雷码。但那是另一码事;我事实上忘了这种图论模型的名字,只是知道它而已。这里选择它,只是因为它的空间非常简单,我觉得应会比较容易感受维度的扩张如何进行。

首先希望大家放下对维度的先入之见。此处的维度,仅是@Ent 所说的自由度,并非大家通常理解的坐标轴的延伸方向。

开始吧。
首先是,

零维空间,没有维度——也即连一个可以取0-1值的比特都容不下。

但给它扩张一个维度后,

就有点意思了。原先的一个点获得了一个方向分成了两头。此时图示对应的空间可以容纳一个取0-1值的比特,这个空间即成为一维的空间。

再扩张,

这是空间可以容纳两个比特了,也即可以表示种状态。在该图里,开始可以看到维度是如何扩充的了:图的底下那条边,正是前一张图;将该条单边做一份拷贝,然后将原图和拷贝的两个顶点连接起来,就得到了这张图。

再按上述的方式扩张一次,

此时,该图拥有了个顶点,可表示的状态也增长到这个数目;它所对应的空间扩张成了三维的,能容纳三个在0和1之间取值的比特。这里有个比较有趣的现象:
许多人倾向将这个图看作是立方体,哪怕他只是一个图(Graph)。

再来,应该是四维空间。大家可能都见过很多次的四维空间的标志物:

即这个问题的首页图:超立方体(Hypercube)。
事实上确实会得到超立方体,

(解释一下,首页图片上的这个图形也是两个立方体的八个顶点互相连接,只不过下面这个图是两个大小相同的立方体,而上面那个看起来一大一小)
如果你眼力比较好,可以看出这个图跟本问题的首页图是等价——妥妥的同一回事。该有的点都有,点和点之间该有的边都有,不该有的边都没有。这次的扩张,和前面的操作完全一样:
先取上一张图的原份,做一份拷贝;再将拷贝和原份的对应点连接起来,得到下一张图。
新图对应的空间,再次多了一个比特;同时能表示的状态翻了一倍。

上面各个过程,进行的操作是一样的:对空间的扩基(Extending basis),将n-1维空间升级为n维空间。由数学归纳法,事实上我们可以得到任意维的空间。只是,我取的空间是特殊的。
但也不要认为这样的空间离欧氏空间很远——这种由比特组成的空间 (我忘了它的正式称谓) 的坐标值只能在两个离散值间取;假若各个坐标的取值都能取实数,那它就是欧氏空间

就介样,以后别说「画不出n维空间」这样的话了

什么是超级立方体,HyperCube的更多相关文章

  1. H - Hamiltonian Hypercube Gym - 101170H

    规律题 首先我们要知道他的顺序是怎么来的,首先当n等于1时,是0,1 当n=2时,先按照与按顺序在他们前面分别加0,即00,01,在逆序加1,即11,10 构成的顺序为00,01,11,10:往后同理 ...

  2. 2016-2017 ACM-ICPC Northwestern European Regional Programming Contest (NWERC 2016)

    A. Arranging Hat $f[i][j]$表示保证前$i$个数字有序,修改了$j$次时第$i$个数字的最小值. 时间复杂度$O(n^3m)$. #include <bits/stdc+ ...

  3. Scikit-Learn模块学习笔记——数据集模块datasets

    scikit-learn 的 datasets 模块包含测试数据相关函数,主要包括三类: datasets.load_*():获取小规模数据集.数据包含在 datasets 里 datasets.fe ...

  4. PRML读书笔记——2 Probability Distributions

    2.1. Binary Variables 1. Bernoulli distribution, p(x = 1|µ) = µ 2.Binomial distribution + 3.beta dis ...

  5. (转)Markov Chain Monte Carlo

    Nice R Code Punning code better since 2013 RSS Blog Archives Guides Modules About Markov Chain Monte ...

  6. UVa 103 - Stacking Boxes(dp求解)

    题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...

  7. Curse of Dimensionality

    Curse of Dimensionality Curse of Dimensionality refers to non-intuitive properties of data observed ...

  8. 海明距离hamming distance

    仔细阅读ORB的代码,发现有很多细节不是很明白,其中就有用暴力方式测试Keypoints的距离,用的是HammingLUT,上网查了才知道,hamming距离是相差位数.这样就好理解了. 我理解的Ha ...

  9. UVA 103 Stacking Boxes (dp + DAG上的最长路径 + 记忆化搜索)

     Stacking Boxes  Background Some concepts in Mathematics and Computer Science are simple in one or t ...

随机推荐

  1. smarty 操作符号,大于、小于。。。

    eq相等,6 w% x7 w6 |3 _ne.neq不相等,( i" }" ~( `# V( t& C, k; [gt大于,lt小于,gte.ge大于等于,lte.le 小 ...

  2. HDU4901 The Romantic Hero 计数DP

    2014多校4的1005 题目:http://acm.hdu.edu.cn/showproblem.php?pid=4901 The Romantic Hero Time Limit: 6000/30 ...

  3. 你知道require是什么吗?

    引题 用过node的同学应该都知道require是用来加载模块的,那你是否存在如下的疑问呢? 1. require(path)是如何依据path找到对应module呢? 2. 为何在模块定义中,一定要 ...

  4. GIT的标准文档 使用和服务介绍

    http://www.kancloud.cn/kancloud/how-to-use-github/42192 1. 探索GitHub 熟悉Git的人几乎都知道并喜欢GitHub,反过来GitHub也 ...

  5. set_include_path详细解释

    zendframework的示例index.php里有这样一句 set_include_path('.' . PATH_SEPARATOR . '../library/'. PATH_SEPARATO ...

  6. shell脚本步骤调试

    第一种方式===> [root@localhost functions]# sh -x test.sh --check xx+ '[' --check '!=' -check ']'+ case ...

  7. 【Network】一张图看懂 Reactor 与 Proactor 模型的区别

    首先来看看Reactor模式,Reactor模式应用于同步I/O的场景.我们以读操作为例来看看Reactor中的具体步骤:读取操作:1. 应用程序注册读就需事件和相关联的事件处理器2. 事件分离器等待 ...

  8. 【Spring】Spring系列6之Spring整合Hibernate

    6.Spring整合Hibernate 6.1.准备工作 6.2.示例 com.xcloud.entities.book com.xcloud.dao.book com.xcloud.service. ...

  9. 45. Singleton类的C++/C#实现[Singleton]

    [题目] 设计一个类,我们只能生成该类的一个实例. [分析] 单例模式的意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点.让类自身负责保存它的唯一实例.这个类可以保证没有其他实例可.以被创建 ...

  10. codeforces B.Maximum Absurdity 解题报告

    题目链接:http://codeforces.com/contest/332/problem/B 题意:在一个序列中,在所有长度为k的区间里找出两个不重叠的最大和,输出这两个最大和所对应的开头的位置a ...