30 Jan

三个相切圆的公切圆:补充

文章《三个相切圆的公切圆》中,笔者讲到利用反演作三个相切圆的公切圆,那时要求三个圆要两两相切。后来思考了一下,发现不用这个条件,只要三个之中的一个圆与另外两个圆都相切即可。

点击阅读全文...

22 Feb

炼钢.vs.做菜:淬火与过冷河

牛腩过冷河

牛腩过冷河

除了数学物理和中国象棋,我闲时也喜欢弄一下吃的。看到各种菜料经过自己的加工变成佳肴,也是一件美不胜收的事情;有时看到同样的菜料能够做出不同款式、不同味道的菜时,更是其乐无穷。作为广东人,我很自豪于其中一句话:“广东人吃所有东西——天上飞的,除了飞机;地上爬的,除了火车;水中游的,除了潜艇”。虽然不免有些夸张,但这句话充分显示了广东人(或者说岭南地区)饮食和烹饪的强大本领。我的厨房技术来源于我妈妈,小时候妈妈在家里做菜,由于是烧柴草生火,所以我得在灶前看好火。于是看火之时也在看妈妈做菜,久而久之,也会学会了一些做菜的方法。而现在,妈妈仍是家里的厨房好手,而我也不时进入厨房,做做自己喜欢吃的东西。谢谢我的好妈妈!

炼钢

本文叫“炼钢.vs.做菜”,这两者基本上是风牛马不相及,不过我却发现它们有一点点相似的技巧。已不记得什么时候了,在一本自然科学的书上,我曾看到过炼钢的两种技术:淬火和退火(后来发现还有正火、回火等,原理类似)。简单来说,淬火是将一块钢铁烧红,然后放进冷水中迅速冷却(也就是加热到一定温度,然后迅速冷却),如此重复,便可使得钢铁变硬,但同时也会更脆;退火则刚刚相反,它是将钢铁烧红后,让它自然冷却(有必要时,想办法降低冷却速度),如此一来,钢铁变软了,也变韧了。正火、回火均与退火类似,只是在细节上不同。通过淬火和退火的适当组合,可以生产出硬度和韧度都适当的钢铁。

点击阅读全文...

15 Mar

不求珍馐百味,但愿开水白菜

开水白菜 (1)

开水白菜 (1)

如果要用做菜来比喻人生的话,我觉得,人生最高的境界之一便是开水白菜。

点击阅读全文...

11 Jun

用PyPy提高Python脚本执行效率

《两百万前素数之和与前两百万素数之和》中,我们用Python求了前两百万的素数和以及两百万前的素数和,并且得到了在Python 3.3中的执行时间如下:

两百万前的素数之和:
142913828922
time: 2.4048174478605646

前两百万的素数之和:
31381137530481
time: 46.75734807838953

于是想办法提高python脚本的执行效率,我觉得在算法方面,优化空间已经比较小了,于是考虑执行器上的优化。在搜索的无意间我看到了一个名词——Psyco!这是python的一个外部模块,导入后可以加快.py脚本的执行。网上也有《用 Psyco 让 Python 运行得像 C一样快》、《利用 psyco 让 Python 程序执行更快》之类的文章,说明Psyco确实是一个可行的选择,于是就跃跃欲试了,后来了解到Psyco在2012年已经停止开发,只支持到Python 2.4版本,目前它由 PyPy所接替。于是我就下载了PyPy

点击阅读全文...

21 Apr

数独的自动推理

写在前面:作为离散数学的实验作业,我选择了研究数独。经过测试发现,数独的自动推理还不算难,我把两种常规的推理思路转化为了计算机代码,并结合了随机性推导,得到了一个解题能力还不错的数独程序。事实上,本文的程序还可以进一步优化,以得到更高能力的数独程序(只需要整理一下代码,加上几个循环和判断即可),但是我实在太懒,没有动力继续弄下去了,就这样先和大家分享吧。最后,笔者认为本文的算法是更接近我们的思维的算法。

数独简介

历史

相传数独源起于拉丁方阵(Latin Square),1970年代在美国发展,改名为数字拼图(Number Place)、之后流传至日本并发扬光大,以数学智力游戏智力拼图游戏发表。在1984年一本游戏杂志《パズル通信ニコリ》正式把它命名为数独,意思是“在每一格只有一个数字”。后来一位前任香港高等法院的新西兰籍法官高乐德(Wayne Gould)在1997年3月到日本东京旅游时,无意中发现了。他首先在英国的《泰晤士报》上发表,不久其他报纸也发表,很快便风靡全英国,之后他用了6年时间编写了电脑程式,并将它放在网站上,使这个游戏很快在全世界流行。

台湾于2005年5月由“中国时报”首度引进, 且每日连载, 亦造成很大的回响。台湾数独发展协会(Taiwan Sudoku Association, 简称 TSA)亦为世界解谜联盟会员。香港是在2005年7月30日由AM730在创刊时引入数独。中国大陆是在2007年2月28日正式引入数独。北京晚报智力休闲数独俱乐部(数独联盟前身)在新闻大厦举行加入世界谜题联合会的颁证仪式,成为世界谜题联合会的39个成员之一。(引用自“中文维基百科”: http://zh.wikipedia.org/wiki/数独

点击阅读全文...

25 Apr

当概率遇上复变:解析概率

每当看到数学的两个看似毫不相关的分支巧妙地联系了起来时,我总会为数学的神奇美丽惊叹不已。在很久以前,当我看到通过生成函数法把数论问题与复变函数方法结合起来,衍生出一门奇妙的“解析数论”时,我就惊叹过生成函数法的漂亮!可惜,一直都没有好好写整理这些内容。今天,当我在看李政道先生的《物理学中的数学方法》时,看到他把复变函数跟随机游动如鬼斧神工般了起来,再次让我拍案叫绝。最后实在压抑不住心中的激动,在此写写概率论和生成函数的事情。

数论与复变函数结合,就生成了一门“解析数论”,按照这个说法,概率与复变函数结合,应该就会有一门“解析概率”,但是我在网上搜索的时候,并没有发现这个名词的存在。经过如此,本文还是试用了这个名词。虽然这个名词没有流行,但事实上,解析概率的方法并不算新,它可以追溯到伟大的数学家拉普拉斯以及他的著作《分析概率论》中。尽管如此,这种巧妙漂亮的方法似乎没有得到大家应该有的充分的认识。

我觉得,即使作为一个简洁的计算工具,生成函数法这个美丽的技巧,也应该尽可能为科学爱好者所知,更不用说数学专业的朋友了。

点击阅读全文...

4 Jun

当概率遇上复变:随机游走与路径积分

我们在上一篇文章中已经看到,随机游走的概率分布是正态的,而在概率论中可以了解到正态分布(几乎)是最重要的一种分布了。随机游走模型和正态分布的应用都很广,我们或许可以思考一个问题,究竟是随机游走造就了正态分布,还是正态分布造就了随机游走?换句话说,哪个更本质些?个人就自己目前所阅读到的内容来看,随机游走更本质些,随机游走正好对应着普遍存在的随机不确定性(比如每次测量的误差),它的分布正好就是正态分布,所以正态分布才应用得如此广泛——因为随机不确定性无处不在。

下面我们来考虑随机游走的另外一种描述方式,原则上来说,它更广泛,更深刻,其大名曰“路径积分”。

点击阅读全文...

4 Jun

【备忘】访问Google的方法(更新)

6月13日:更新了一个新的可用IP,不知道能够用多久。

以前大家顶多看到利用这个技巧访问facebook、youtube之类的网站,现在无奈到连Google都得用这个方法访问了。

近日,笔者发现直接输入http://www.google.com.hk无法访问Google搜索,要知道对于学术来说,没有Google是多么严重的事情,很多有用的学术资料,尤其是外文资料,都得靠Google来搜。主观性来说,在学术方面,百度不可能赶得上Google,望其项背都不可能。

点击阅读全文...