“算法”类别的存档。

转子-转子网络

我有两个崇拜者,亚历克斯和迈克。亚历克斯住在我家隔壁,迈克住在我麻省理工学院办公室隔壁。我的记忆力很差,所以我发明了以下系统,以确保我能见到我的两个朋友,也能不时来我的办公室。我家门口挂着一块牌子,上面写着办公室一侧和亚历克斯另一方面。当我走近门口时,我马上就能看到我上次去的地方。所以我翻转标志,它告诉我下一步该去哪里。我办公室门上有一个类似的标志,告诉我要么回家,要么去找迈克。每天晚上,我都会和我的一个崇拜者一起讨论谜题或喝咖啡。深夜我回家睡在自己的床上。现在让我们看看如果今天我的家出现了什么情况办公室办公室的招牌上写着迈克:

  • 今天。我把回家标志翻到亚历克斯和亚历克斯共度夜晚。
  • 明天。我把回家标志翻到办公室然后去麻省理工学院。稍后,我将办公室标志翻到主页然后回家。由于我无法忍受一个人在家度过这个晚上,我又出去了。我把回家标志翻到亚历克斯和亚历克斯共度夜晚。
  • 后天。我把回家标志翻到办公室然后去那里。稍后,我将办公室标志翻到迈克和迈克共度夜晚。

三天后,这些标志恢复到原来的位置,这意味着情况是周期性的,我将永远重复这三天的模式。

让我们回到现实。我既不喜欢回忆,也不喜欢喝咖啡。我发明了亚历克斯和迈克来演示rotor-router网络。一般来说,我的家被称为来源:我醒来开始新一天的地方。网络中只能有一个来源。我的崇拜者被称为目标我可以拥有无限多个。网络需要以这样一种方式构建:我总是在一天结束时和一个朋友在一起。除了我的办公室之外,我还可以参观其他许多地方:例如图书馆、体育馆、歌剧院等等。这些地方是网络的其他顶点,可能非常复杂。无论我走到哪里,都会有一个标志来描述我从那里走到哪里的模式。该标志称为转子.

每个转子上的图案可能比一个简单的符号更复杂。这些图案被称为转子类型我的标志被称为12转子型,因为它在我访问的每个非朋友的地方都会在第一个方向和第二个方向之间切换。

我拜访的一系列仰慕者被称为击球顺序并且可以证明该序列最终是周期的。令人惊讶的是,更强的结果也是正确的:击球序列纯粹是周期性的。

简单的12转子是通用的。这意味着,给定一组朋友和一个指定我想访问他们的顺序的奇特的定期时间表,我可以创建一个我的活动网络,其中每个地方都有这种类型的标记12,并且我将根据预定的定期时间表访问我的朋友。

可以看出,并非每种转子类型都是通用的。例如,回文转子类型仅生成回文打击序列,因此它们不是通用的。最小的例子是121型转子。此外,块重竞争转子类型,如1122,产生块重竞争打击序列。

描述通用转子类型是一个困难而有趣的问题。我的小学预科生何晓宇得到了一个项目,由詹姆斯·普罗普,以证明或反驳11122转子类型的通用性。这是最小的转子类型,其普遍性尚不清楚。何晓宇证明了11122的通用性,并发现了许多其他的通用转子类型。他的计算支持这样一种推测,即只有回文或块重复类型是不普遍的。你可以在他的论文中找到这些结果和更多信息:关于通用转子路线的分类。

共享:脸谱网推特红色编辑品脱师链接(linkedin)邮件

条条大路通哲学

最近我偶然发现了一个可爱的xkcd漫画带有隐藏消息:

维基百科琐事:如果你读到任何一篇文章,点击文章文本中不在括号或斜体中的第一个链接,然后重复,你最终会看到“哲学”。

很自然,我开始了实验。我首先尝试的是数学。这是一条路径:数学-数量-属性-现代哲学-哲学。

然后我尝试了物理,这让我学习了数学:物理-自然科学-科学-知识-事实-信息-序列-数学。

然后我尝试了皮埃尔·德·费尔马特(Pierre de Fermat),他出于某种奇怪的原因首先创立了物理学:皮埃尔·德费尔马特-法国-法国-统一国家-主权国家-国家-社会科学-学术学科列表-学术-社区-生活-生命-物体-物理学。

自然的问题是:哲学怎么样?是的,哲学是一个循环:哲学-理性-理性-哲学。

最初的漫画是关于火花塞的。所以我尝试了一下,终于找到了物理学:火花塞-气缸盖-内燃机-发动机-机器-机器(机械)-机械系统-动力-物理。

然后我试图远离哲学,尝试性爱,但没有成功:性-生物学-自然科学。然后我尝试了舞蹈:舞蹈-艺术-感官-生理学-科学。

有趣的是,要了解哲学需要多少步骤。这是我试过的单词表:

单词 #步骤
数学 4
物理 11
皮埃尔·德·费尔马特 24
火花塞 19
性别 12
舞蹈 13

数学获胜。它完全胜过我试过的所有其他单词。目前为止。性爱爱好者可能会对这些结果感到失望,明天他们可能会把关于性爱的维基文章改为:

现代哲学考虑性…

共享:脸谱网推特红色编辑品脱师链接(linkedin)邮件

周期字符串的复杂性

我最近偶然发现了一个公开讲座弗拉基米尔·阿诺德(Vladimir Arnold)于2006年给出。在这堂课中,阿诺德定义了有限二进制字符串的复杂性概念。

考虑一组长度为的二进制字符串n个。让我们首先定义Ducci地图在这个场景中表演。此运算符作用于字符串的结果12……一个n个是一个长度为的字符串n个因此-第个字符是|一个−a(i+1)|对于i<n、和n个-第个字符是|一个n个−a1|。我们可以将其视为字段中的差异运算符F类2,我们考虑环绕字符串。或者我们可以说字符串在两个方向上都是周期性的和无限的。

让我们以长度为6的字符串上的Ducci映射为例。由于Ducci映射尊重循环置换和反射,所以我将只检查循环置换和映射之前的字符串。如果我将Ducci映射表示为D,则Ducci算子通过其对以下13个字符串的作用来确定,这些字符串表示直到循环置换和反射的所有64个字符串:D(000000)=000000,D(000001)=000011,D(000011)=000101,D(000101)=001111,D(000111)=001001,D(001001)=011011,D(001011)=011101,D(001111)=010001,D(010101)=111111,D(010111)=11101,D(011011)=1010101,D(001111)=100001,D(111111)=000000。

现在假设我们取一个字符串并多次应用Ducci映射。由于鸽子洞原理,这个过程最终是周期性的。在长度为6的字符串上,有4个循环。长度为1的一个循环由字符串000000组成。一个长度为3的周期由字符串011011、101101和110110组成。最后,有两个长度为6的周期:第一个周期是000101、001111、010001、110011、010100、111100,第二个周期移位一个字符。

我们可以将字符串表示为顶点,将Ducci映射表示为顶点之间的定向边的集合。与长度为6的字符串相对应的所有64个顶点生成一个具有4个连接组件的图,每个组件都包含一个唯一的循环。

Ducci映射类似于微分算子。因此,在000000点结束的序列类似于多项式。阿诺德认为多项式应该比其他函数具有更低的复杂性。我并不完全同意这一决定;我对此没有很好的解释。无论如何,他提出了以下关于此类字符串复杂性的概念。

以较长周期结束的字符串应被视为比以较短周期结束的串更复杂。在连接的组件中,远离循环的字符串应该具有更大的复杂性。因此,字符串000000的复杂性最低,其次是字符串111111,因为D(111111)=000000。接下来是字符串010101和101010,复杂性越来越高。此时,表示多项式的字符串已用完,下一个更复杂的字符串将是形成长度为三个循环的三个字符串:011011、101101和110110。如果我们给000000指定复杂性为1,那么我们可以给任何其他字符串指定一个表示复杂性的数字。例如,字符串111111的复杂性为2,字符串010101和101010的复杂性为3。

我对阿诺德的复杂性概念并不完全满意。首先,正如我之前提到的,我认为一些高次多项式比其他函数更难看,因此没有理由认为它们具有更低的复杂性。其次,我想给出周期性字符串复杂性的定义。周期字符串和环绕的有限字符串之间有一点区别。实际上,长度为3的字符串110和长度为6的字符串110110对应于相同的周期字符串,但作为有限字符串,将字符串110110视为比字符串110更复杂可能是有意义的。当我想定义周期字符串的复杂性时,我希望110和110110对应的周期字符串的复杂度相同。所以这是我对周期字符串复杂性的定义:让我们把字符串的复杂性称为我们需要在Ducci图中遍历的边数,直到我们得到之前看到的字符串为止。例如,让我们从字符串011010开始。箭头表示Ducci图:011010→101110→110011→010100→111100→000101→001111→010001→110011。我们之前看到110011条边,因此复杂度为8。

下表描述了长度为6的二进制字符串的复杂性。第一列显示类中的一个字符串,直到旋转或反射。第二列显示类中的字符串数。下一列提供给定字符串的Ducci映射,后跟循环长度。最后两个专栏展示了阿诺德的复杂性和我的复杂性。

字符串s #字符串的 D(s)个 结束循环的长度 阿诺德复杂性 我的复杂性
000000 1 000000 1 1 1
000001 6 000011 6 9 8
000011 6 000101 6 8 7
000101 6 001111 6 7 6
000111 6 001001 6 5
001001 011011 5 4
001011 12 011101 6 9 8
001111 6 010001 6 7 6
010101 2 111111 1
010111 6 111001 6 8 7
011011 101101 4
011111 6 100001 6 9 8
111111 1 000000 1 2 2

如您所见,对于长度为6的示例,我的复杂度与Arnold的复杂度没有太大差异,但对于较长的字符串,差异将更显著。此外,我很高兴看到序列011010,我称之为随机序列在我之前的一篇文章中,复杂性最高。

我知道我对复杂性的定义只适用于周期序列。例如,π的二进制展开式将具有非常高的复杂性,尽管它可以用一个希腊字母表示。但对于周期字符串,它总是给出一个可以用来衡量复杂性的数字。

共享:脸谱网推特红色编辑品脱师链接(linkedin)邮件

书呆子爬楼梯的方式

上次我和约翰·康威,他教我走楼梯。这并不是说我不知道该怎么做,但他提醒我,一个书呆子爬台阶的目的是在飞行结束时确定台阶的数量。由于只数楼梯很无聊,我们很幸运拥有约翰的娱乐系统。

他的发明很简单。你的步伐应该是一个循环:短,长,长。在这种情况下,长意味着两步。因此,您将在一个短-长-长循环中完成五个楼梯。此外,您应该始终用同一只脚开始第一个循环。假设你从左脚开始,两个周期后你又回到左脚,走了十级楼梯。当你以这种方式走楼梯时,很清楚你在自行车上的位置。到楼梯的尽头,你就会知道模数为10的楼梯的数量。通常楼梯上没有很多楼梯,所以如果你知道这个数字的最后一位,你可以很容易地估计出总数。

我想我不是一个真正的书呆子。我已经在我的公寓里住了八年了,从来没有想过要数台阶的数量。也就是说,直到现在。用约翰的方法爬上楼梯后,我现在知道不祥的总数是13。哦,亲爱的。

共享:脸谱网推特红色编辑品脱师链接(linkedin)邮件

你头上能戴多少顶帽子?

莱昂内尔·莱文发明了一种新的帽子拼图。

苏丹决定再次折磨他的一百个智者。他有无限量的红色和蓝色帽子。明天,他将在每个智者的头上堆上一排无穷无尽的、随机着色的帽子。每个聪明人都能看到别人帽子的颜色,但却看不到自己帽子的颜色。智者不允许相互传递任何信息。
根据苏丹的指示,每个人必须写一个自然数。然后,苏丹将检查帽子的颜色,该颜色与帽子堆中的数字相对应。例如,如果智者写下“四顶”,苏丹将检查该智者的第四顶帽子的颜色。如果其中任何一个数字对应一顶红帽子,所有聪明人的头都会随其帽子一起被砍掉。数字必须与蓝色帽子相对应。他们应该采取什么策略来最大限度地提高生存机会?

假设每个智者写下“一”。每堆帽子中的第一顶是蓝色的,概率为一半。因此,它们将以1比2的概率生存下来100聪明人很聪明,他们可以做得更好。你能理解吗?

受莱昂内尔的启发,我决定提出以下变体:

这一次,苏丹在每个智者的头上随机戴上两顶帽子。每个聪明人都会看到别人帽子的颜色,但看不到自己帽子的颜色。男人们不允许互相传递任何信息。根据苏丹的指示,每个人都必须在头上写下蓝色帽子的编号。如果他们都是正确的,那么他们都会幸存下来。如果他们中至少有一人错了,那么他们都会死。他们应该采取什么策略来最大限度地提高生存机会?

假设只有一个智者。很明显,他应该写下他正好有一顶蓝帽子。他以一半的概率活了下来。假设现在有两个智者。他们每个人都可以写“一”。有了这个策略,他们将以1/4的概率生存下来。他们能做得更好吗?如果智者不是两个,而是多个,你有什么建议?

共享:脸谱网推特红色编辑品脱师链接(linkedin)邮件

86推测

86被推测为不含零的2的最大幂。这一简单陈述的猜想已证明其本身是经得起验证的。让我们看看原因。

概率是多少n个二的次幂不会有零?第一位和最后一位为非零;假设其他数字随机地相互独立地变为零。这个假设使我们能够估计2n个没有零作为(9/10)k-2号机组,其中k个是的位数2n个数字的数量可以估计为n对数102因此,概率约为cx公司n个,其中c(c)= (10/9)2≈1.2和x个= (9/10)日志102≈ 0.97. 从功率开始,2的期望功率数不带零N个cx公司N个/(1-x)≈40●0.97N个.

让我们看看A007377号,使其2的幂不包含零的数字序列:1、2、3、4、5、6、7、8、9、13、14、15、16、18、19、24、25、27、28、31、32、33、34、35、36、37、39、49、51、67、72、76、77、81、86。我们估计这一序列中有32个成员从6开始。事实上,这个序列有30个推测成员。同样,我们的估计预测,从86人开始,将有2.5人加入。很容易检查序列中是否不包含任何低于200的数字,我们估计200后会有0.07个成员。当我们继续检查较大的数字并发现它们不属于序列时,序列包含更多元素的概率就消失了。随着时间的推移,我们检查了更多的数字,并更加确信这个猜想是正确的。目前已通电检查4.6 ⋅ 107.在此之后找到某物的概率约为1.764342396●10-633620.

让我们试着从另一个角度来探讨这个猜想。让我们检查一下最后一个K(K)两次幂的数字。由于可能性的数量是有限的,这些最后的数字最终将开始循环。如果我们能证明周期内的所有元素都包含零,那么我们需要检查有限的二次幂,直到这个周期开始。如果我们能找到这样的K(K),我们可以证明这个猜想。

让我们看看两次幂的最后两位数。序列开始为:01、02、04、08、16、32、64、28、56、12、24、48、96、92、84、68、36、72、44、88、76、52、04。正如我们所料,它开始骑行。循环长度为20,循环中90%的数字没有零。

现在让我们继续到最后三位数。周期长度为100,其中19个要么以零开始,要么包含零。循环中不含零元素的百分比为81%。

最后一个的循环长度n个数字已知。现在是4?5n-1个特别地,循环长度每次增加5。这些循环中零自由元素的数量构成一个序列A181610号: 4, 18, 81, 364, 1638, 7371, 33170. 如果我们继续假设数字是随机的,并研究当我们从上一个周期移动时出现的新数字n个最后一个循环的数字n+1数字,我们可以预计这些数字中的9/10将是非零的。事实上,如果我们检查下一个周期中与上一个周期相比有多少个数字不包含零的比率,我们会得到:4.5、4.5、4.49383、4.5、4.5和4.50007。所有这些数字都非常接近我们估计的4.5。如果这种趋势持续下去,周期中没有零的数字部分将趋于零;然而,这类数字的总数呈指数级增长。我们甚至可以估计,预期增长为4●4.5n-1个根据这个估计,我们可以得出推测:

猜想。对于任何数字N个,存在二次幂,因此它是最后一次N个数字是零。

的确,最后N个两个循环的幂数字,循环中不包含零的成员越来越多。2的相应幂在N个最右边的数字。

那么,我们如何将这两个结果结合起来呢?首先,发现不含零的两个大于86的幂的期望概率很小。其次,我们当然可以找到2的幂,它的末尾有我们想要的任意多个无零数字。

为了合并这两个结果,让我们看看序列A031140型A031141号。我们可以从中推断出,对于103233492954次幂,右边的第一个零占据了第250位。该幂的总位数为31076377936。所以250是数字的一小部分。

随着时间的推移,我们越来越确信86是没有零的2的最大幂,但我们如何证明这个猜想,或者它是否能够被证明,这一点尚不清楚。

我的儿子谢尔盖(Sergei)建议我声称我有这个猜想的证据,但空白处没有足够的空间来容纳我的证据。我被羞辱和反驳的概率低于我中彩票十亿美元的概率。尽管如此,如果我真的赢了大钱,我仍然会担心被羞辱和反驳。

共享:脸谱网推特红色编辑品脱师链接(linkedin)邮件

稀疏度和计算

我再次成为女性与数学课程2011年5月16日至27日,普林斯顿高等研究院。它将致力于一个令人兴奋的现代主题:稀疏性和计算。

如果你想知道该节目海报上图片的含义(我在下面复制),让我们解释一下。

WaM 2011海报图片

左图是国际会计学院校园主要建筑富尔德大厅的原图。中间的图像是一个损坏的版本,您几乎看不到任何内容。右边的图像是一个引人注目的例子,说明了有多少图像可以使用聪明的算法从损坏的图像中重建出来。

欢迎女本科生、毕业生和博士后申请该项目。您将确切地了解损坏的图像是如何恢复的以及更多信息。申请截止日期为2011年2月20日。

尤金·布列夫多为我们的海报制作了图片,并同意为我的博客写一篇文章解释它的工作原理。我很高兴他能将其与食物相提并论,因为IAS自助餐厅是周围最好的餐厅之一。

尤金·布列夫多

您正在查看的三个图像由像素组成。每个像素由对应于红色、绿色和蓝色的三个整数表示。每个整数的值范围在0到255之间。

富尔德大厅的图像已经被破坏:一些像素被全部替换为0,因此是黑色的;这意味着没有“观察到”像素。在这个损坏的版本中,85%的像素值没有被观察到。其他像素已被平稳高斯噪声(即独立随机噪声)修改到不同程度。对于15%的观察像素值,PSNR为6.5 db。正如你所见,这是一个严重损坏的图像!

真正有趣的图片是右边的那张。这是中心图像的“去噪”和“修复”版本。这意味着将填充缺失的像素,并重新估计观察到的像素整数值。执行这项任务的算法有一个冗长的名字“非参数贝叶斯字典学习”,它对“图像应该是什么样子”没有任何先验知识。从这个意义上说,它类似于流行的基于小波的去噪技术:它不需要先前的图像数据库来校正新的图像。它从原始图像中“学习”图像的哪些部分应该是什么样子,并填充它们。

这是它工作原理的草图。其想法是在概率论中使用一种新技术——即图像的一个补丁,例如相邻的像素子集,由一组稀疏的基本纹理原子组成(来自“字典”)。不幸的是,原子的数量和原子本身都是未知的,需要估计(“非参数学习”部分)。在某种程度上,这里的主要思想与基于小波的估计非常相似,因为虽然小波形成了一个固定的字典,但大多数自然图像的补丁只由几个小波原子组成;小波去噪就是基于这种思想。

我们做了两个假设,以便简化和解决这个问题,当必须估计纹理原子时,这个问题既费力又模糊。首先,可能有许多原子,但单个补丁只是它们的稀疏子集的组合。其次,因为每个原子都部分地出现在许多斑块中,即使我们观察到一些噪音,一旦我们知道哪些原子出现在哪些斑块中,我们就可以反转和平均与原子相关的所有斑块来估计它。

为了解释和编程实现解决这个问题的完整算法,概率论者喜欢用自助餐的方式来解释事情。这里有一个非常粗略的想法。有一个自助餐,有很多(可能是无限的)菜肴。每道菜都代表一个纹理原子。自助餐上会出现一个图像补丁,从第一道菜开始,开始掷硬币。如果硬币落在头上,贴片会从前面的盘子中随机取出食物(原子贴片的重量),然后走到下一个盘子。如果硬币落在盘子的尾部,贴片会跳过那个盘子,直接走到下一个。在那里,它以不同的偏见翻转硬币,并重复这个过程。硬币有偏差,所以补丁只吃了几个菜(这么多!)。然而,当一切都说完了,补丁就从几个盘子里随机地吃了一些。重新表述:图像补丁由基本原子的加权线性组合制成。

一天结束时,所有的补丁都会吃自助餐以外的自制甜点(噪音),还有一些会因为吃得太多而晕倒(缺少像素)。

如果我们知道每个盘子(纹理原子)吃了多少食物以及硬币的偏差,我们就可以估计盘子本身——因为我们可以看到嘈杂的斑点。反之亦然,如果我们知道盘子(质地)是什么,补丁是什么样子的,我们就可以估计硬币的偏差,以及每个补丁吃了多少盘子。

首先,我们完全随机猜测盘子的样子、硬币是什么,以及每个贴片吃了多少。但很快,我们开始交替猜测菜肴是什么、硬币偏差和每个贴片的食用量。每次我们只更新对其中一个未知项的估计,前提是我们之前对其他未知项的估算是真实的。这称为吉布斯采样。通过迭代我们的估计,我们可以对所有未知数建立一个很好的估计:纹理原子、硬币偏差和原子补丁权重。

右边的图片是我们在迭代这个游戏之后,对吃过菜后、吃过甜点和/或晕倒之前的补丁是什么样子的最好的最终猜测。

共享:脸谱网推特红色编辑品脱师链接(linkedin)邮件

单向函数

西尔维奥·米卡利教我密码学。解释一下单向函数,他给出了以下加密示例。剑桥说,爱丽丝和鲍勃为某个特定城镇购买了相同版本的白皮书。对于爱丽丝想要加密的每个字母,她在书中找到一个人,他的姓氏以这封信开头,并使用他/她的电话号码作为那封信的加密。

为了解密信息,鲍勃必须通读整本书才能找到所有的数字。解密将比加密花费更多的时间。如果书的大小增加,爱丽丝加密所需的时间几乎不会增加,但解密过程变得越来越枯燥。

这个例子非常适合向非数学家教授单向函数。不幸的是,十五年前米卡利教给我的技术变革和例子不再那么可爱了。事实上,你可以在线反向查找白页中的每个电话号码。

我仍然使用这个示例,假设没有反向查找。我最近教给了我的AMSA学生。我的一个8年级学生说:“如果我是鲍勃,我会打电话给所有的电话号码,问他们的姓氏。”

在我使用这个例子的十五年里,我从来没有想过这个想法。我很害羞,所以我永远不会想到给陌生人打电话并询问他们的姓氏。我的学生让我意识到我自己的性格影响了我的数学创造力。

由于现代技术正在扼杀我15年前的例子,我想请我的读者们推荐其他简单的单向函数示例或恢复白页示例的方法。

共享:脸谱网推特红色编辑品脱师链接(linkedin)邮件

自动区分

我问我儿子阿列克谢·拉杜尔他到底在为他的博士后做什么汉密尔顿研究所在爱尔兰。以下是他的回答:

简短的术语版本:我们正在为一种具有一流自动微分功能的编程语言构建一个优化编译器,并探索数学基础、连接、应用程序等。

术语解释:

自动微分是一种将计算函数的程序转化为计算该函数及其导数的程序的技术;具有恒定的因子开销。这比通常的符号微分法要好,比如Mathematica,因为它没有中间表达式膨胀。例如,如果您的功能是一个大型产品

产品f1(x)f2(x)…fn(x),

符号导数的大小为n2

求和(乘积f1′(x)f2(x)…fn(x))

自动差异化可以避免这种成本。自动微分(与符号微分相反)还扩展到条件、数据结构、高阶函数,以及所有其他将计算机程序与数学表达式区分开来的奇妙事物。

第一类意味着微分操作是编程语言的普通公民。通常使用的自动微分系统并非如此,它们都是重写C或Fortran源代码的预处理器。特别是,我们希望能够区分用该语言编写的任何函数,即使它是某物的导数,或包含某物的衍生物等。自动微分技术虽然有效,但在存在高阶、多元或嵌套导数时变得更加复杂。

我们正在构建一个优化编译器,因为获得良好性能和正确结果所必需的技术以及完全通用的自动差分正是用于为函数式语言生成积极优化编译器的技术,所以我们不妨一路走下去。

看起来AD技巧(或至少一半)只是计算机中合成微分几何的实现。这使人们希望能够找到一个良好的数学基础,在所有有趣的特殊情况下支配系统的行为;在这些东西附近有很多数学问题需要思考。

应用程序也很丰富。任何时候你想根据实际参数优化任何东西,渐变都会有帮助。任何时候你在处理曲线时,斜坡都会有帮助。计算机图形、计算机视觉、物理模拟、经济和金融模型、概率——有太多的东西需要应用高质量的这样的系统,我们不知道从哪里开始。

共享:脸谱网推特红色编辑品脱师链接(linkedin)邮件

随机序列

15年前我参加了西尔维奥·米卡利的密码学课程。在一次讲座中,他让我闭上眼睛。当我这么做的时候,他在黑板上随机写了一系列长度为6的硬币翻转,并邀请我猜。

我本质上是一个老师,所以我想象了一个随机的序列,我会为我的学生写。假设我从0。我不会继续使用零,因为00看起来像一个常量序列,它不够随机。所以我的下一步是序列01对于下一个字符,我不会说零,因为010似乎承诺了重复的模式010101。所以我的下一步是011之后我不想说一个,因为我会有太多的。所以我会跟进0110。我只需要另外两个字符。我不想以11结尾,因为结果是周期性的,我不想用00结尾,因为我会有太多的零。我不想以01结尾,因为序列011001具有对称性:反转和否定此序列会产生相同的序列。

在讲座期间,所有这些考虑都在我的脑海中眨眼间发生了。我刚才说:011010.我睁开眼睛,看到米卡利写了HTTHTH公司在董事会上。他并不觉得好笑,甚至可能认为我在作弊。

许多老师在写随机序列时,不会掷硬币。他们选择一个看起来“随机”的序列:它没有太多重复,1和0的数量是平衡的(也就是说,大致相同)。当他们一个字符一个字符地写在黑板上时,他们通常会选择一个序列,这样任何前缀看起来都是“随机的”。

因此,他们选择的序列不再是随机的。实际上,他们正在从一组看起来“随机”的序列中进行选择。所以我猜到米卡利的序列一点也不奇怪。

如果你上过很多数学课,你会看到很多教授选择非常相似的“随机”序列。这就区分了看起来不“随机”的序列。为了恢复那些未充分呈现的序列的公平性,我决定下次需要随机序列时,我将选择000000.

共享:脸谱网推特红色编辑品脱师链接(linkedin)邮件