迟到一年的建模:再探碎纸复原
By 苏剑林 | 2014-12-18 | 87624位读者 | 引用前言:一年前国赛的时候,很初级地做了一下B题,做完之后还写了个《碎纸复原:一个人的数学建模》。当时就是对题目很有兴趣,然后通过一天的学习,基本完成了附件一二的代码,对附件三也只是有个概念。而今年我们上的数学建模课,老师把这道题作为大作业让我们做,于是我便再拾起了一年前的那份激情,继续那未完成的一个人的数学建模...
与去年不同的是,这次将所有代码用Python实现了,更简洁,更清晰,甚至可能更高效~~以下是论文全文。
研究背景
2011年10月29日,美国国防部高级研究计划局(DARPA)宣布了一场碎纸复原挑战赛(Shredder Challenge),旨在寻找到高效有效的算法,对碎纸机处理后的碎纸屑进行复原。[1]该竞赛吸引了全美9000支参赛队伍参与角逐,经过一个多月的时间,有一支队伍成功完成了官方的题目。
近年来,碎纸复原技术日益受到重视,它显示了在碎片中“还原真相”的可能性,表明我们可以从一些破碎的片段中“解密”出原始信息来。另一方面,该技术也和照片处理领域中的“全景图拼接技术”有一定联系,该技术是指通过若干张不同侧面的照片,合成一张完整的全景图。因此,分析研究碎纸复原技术,有着重要的意义。
鬼斧神工:求n维球的体积
By 苏剑林 | 2014-12-23 | 115424位读者 | 引用今天早上同学问了我有关伽马函数和$n$维空间的球体积之间的关系,我记得我以前想要研究,但是并没有落实。既然她提问了,那么就完成这未完成的计划吧。
标准思路
简单来说,$n$维球体积就是如下$n$重积分
$$V_n(r)=\int_{x_1^2+x_2^2+\dots+x_n^2\leq r^2}dx_1 dx_2\dots dx_n$$
用更加几何的思路,我们通过一组平行面($n-1$维的平行面)分割,使得$n$维球分解为一系列近似小柱体,因此,可以得到递推公式
$$V_n (r)=\int_{-r}^r V_{n-1} \left(\sqrt{r^2-t^2}\right)dt$$
设$t=r\sin\theta_1$,就有
$$V_n (r)=r\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} V_{n-1} \left(r\cos\theta_1\right)\cos\theta_1 d\theta_1$$
海伦公式的一个别致的物理推导
By 苏剑林 | 2015-03-27 | 54072位读者 | 引用海伦公式是已知三角形三边的长度$a,b,c$来求面积$S$的公式,是一个相当漂亮的公式,它不算复杂,同时它关于$a,b,c$是对称的,充分体现了三边的同等地位。可是,这样具有对称美的公式推导,往往要经过一个不对称的过程,比如维基百科上的证明,这未免有点美中不足。本文的目的,就是想为此补充一个对称的推导。本文题目为“物理推导”,关键在于“推导”而不是“证明”,同时这里的“物理”并非是通过物理类比而来,而是推导的思想和方法很具有“物理味道”。
$$\sqrt{p(p-a)(p-b)(p-c)}$$
在推导开始之前,笔者给出一个评论:海伦公式似乎是由三边长求三角形面积的所有可能的公式之中最简单的一个。
从Knotsevich在黑板上写的级数题目谈起
By 苏剑林 | 2015-02-27 | 31230位读者 | 引用你所没有思考过的平行线问题
By 苏剑林 | 2015-03-17 | 37242位读者 | 引用本文的主题是平行线,了解数学的朋友可能会想我会写有关非欧几何的内容。但这次不是,本文的内容纯粹是我们从小就开始学习的欧氏几何,基于“欧几里得第五公设”(又称平行公设)。但即便是从小就学习的欧氏几何中的平行线,也许里边的很多问题我们都没有思考清楚。因为平行是几何中非常基本的情形,因此,在讨论这种基本命题的时候,相当容易会出现循环论证、甚至本末倒置的情况。
我们从初中开始就被灌输“同位角相等,两直线平行”、“内错角相等,两直线平行”之类的平行线判断法则,当然,还少不了的是“过直线外一点只能作一条直线与已知直线平行”。但是,这些内容之中,有多少是基本的公理,有多少是可以证明的,该如何证明,我想很多人都理解不清楚,我自己也没有一个很好的答案。那些在初中教授平行线的老师们,估计也没多少个能够把它说清楚的。后来我发现,我居然不会证明“同位角相等,两直线平行”,“欧几里得第五公设”好像并没有告诉我们这个判定法则呀。于是,我翻看了一下初中的数学教科书,发现原来当初“同位角相等,两直线平行”这一判定法则是不加证明地让我们接受的,无怪乎我怎么也想不到关于这一法则的简单的证明...
于是,我想写这篇文章,为大家理解平行线的整个逻辑提供一点参考。
寻求一个光滑的最大值函数
By 苏剑林 | 2015-05-02 | 141889位读者 | 引用在最优化问题中,求一个函数的最大值或最小值,最直接的方法是求导,然后比较各阶极值的大小。然而,我们所要优化的函数往往不一定可导,比如函数中含有最大值函数$\max(x,y)$的。这时候就得求助于其他思路了。有一个很巧妙的思路是,将这些不可导函数用一个可导的函数来近似它,从而我们用求极值的方法来求出它近似的最优值。本文的任务,就是探究一个简单而有用的函数,它能够作为最大值函数的近似,并且具有多阶导数。下面是笔者给出的一个推导过程。
在数学分析中,笔者已经学习过一个关于最大值函数的公式,即当$x \geq 0, y \geq 0$时,我们有
$$\max(x,y)=\frac{1}{2}\left(|x+y|+|x-y|\right)\tag{1}$$
那么,为了寻求一个最大值的函数,我们首先可以考虑寻找一个能够近似表示绝对值$|x|$的函数,这样我们就把问题从二维降低到一维了。那么,哪个函数可以使用呢?
记录一次爬取淘宝/天猫评论数据的过程
By 苏剑林 | 2015-05-06 | 177489位读者 | 引用笔者最近迷上了数据挖掘和机器学习,要做数据分析首先得有数据才行。对于我等平民来说,最廉价的获取数据的方法,应该是用爬虫在网络上爬取数据了。本文记录一下笔者爬取天猫某商品的全过程,淘宝上面的店铺也是类似的做法,不赘述。主要是分析页面以及用Python实现简单方便的抓取。
笔者使用的工具如下
Python 3——极其方便的编程语言。选择3.x的版本是因为3.x对中文处理更加友好。
Pandas——Python的一个附加库,用于数据整理。
IE 11——分析页面请求过程(其他类似的流量监控工具亦可)。
剩下的还有requests,re,这些都是Python自带的库。
实例页面(美的某热水器):http://detail.tmall.com/item.htm?id=41464129793
【翻译】巨型望远镜:要继续,就得有牺牲!
By 苏剑林 | 2015-06-10 | 28512位读者 | 引用文章来自:新科学家,这是一篇关于30米望远镜(Thirty Meter Telescope,TMT)的新闻,起因是望远镜的制造遭到当地人的不满,当然背后的原因是很深远的,难以说清楚。更多有关TMT的新闻,可以阅读:http://www.ctmt.org/
夏威夷的巨型望远镜:要继续,就得有牺牲!
四分之一必须离开!在停止了两个月之后,夏威夷的巨型30米望远镜(Thirty Meter Telescope,TMT)重新回归到建设进程——但要牺牲其他望远镜。
由于夏威夷当地居民的抗议声越来越大,早在四月望远镜的建设工作就被迫暂停。与该望远镜相比,目前世界上所有的望远镜都相形见绌——它让能够让天文学家们凝视可见的宇宙的边缘。它位于许多夏威夷人认为是“神圣之地”的死火山莫纳克亚山,因此被夏威夷人认为是一种侮辱——尤其是在山顶已经有十多个望远镜了。
最近评论