从全唐诗对偶字中提取字义网络图

    语言统计分析期末大作业要求我们统计全唐诗中的对偶字,并用所得到的统计结果反过来评判出对仗最工整的诗句。我在数据处理过程中突然想到,鉴于互成对偶的两个字之间有一定的语义联系,我们便有了一个庞大的汉字语义关联库;如果把所有汉字之间的关联画成一张图会是什么样子呢?于是我用 Mathematica 7 提出了全唐诗中处在对偶位置上的所有字对,得到了 464448 个可能的对偶关系;再利用一些算法得到了最稳定、最常用的 2000 个对偶关系,把它们都描绘在一张大图上,于是便有了上面的这个图。点击这里查看高清无码大图,1600×1600 像素。可以看到,有语义关联的汉字自动地聚合到了一起。

Read more…

贪心算法的一个出人意料的应用

    IBM Ponder This上个月的题目比较有趣:我在心里面想一个2到166之间的整数(包括2和166),你的任务是用尽可能少的是非问句(我只能回答是或者否)猜出这个数除1以外的最小约数是多少。
    (1) 寻找一种策略使得在最坏情况下猜到答案的询问次数最少。
    (2) 寻找一种策略使得在平均情况下猜到答案的期望询问次数最少。

    第一个问题很容易回答。虽然2到166之间的整数一共有165个,但它们的最小约数(以后我们说的“最小约数”都是指的不包括1的最小约数)只有38种。因此,事实上你只需要用二分法在38个可能的答案当中找出一个就可以了。由于2^5=32,2^6=64,因此最坏情况下需要6次询问才能保证猜到。
    真正困难的是后面一个问题:要想让平均猜测次数尽可能少,我们该从哪里入手呢?

Read more…

Runge现象:多项式插值不见得次数越高越准确

    今天学到了一个新的名词,Runge现象。1901年,Carl David Tolmé Runge意外地发现,用差值插值多项式逼近函数f(x)=1/(1+25x^2)时出现了一些反常的现象。如图,灰色的粗线就是Runge函数在[-1,1]上的图象。蓝色虚线是过[-1,1]上的6个等距点所得到的5次多项式,红色虚线是过[-1,1]上的10个等距点所得到的9次多项式。可以看到,当次数变高时,插值多项式反而变得更不准确。

Read more…

聆听排序算法的声音

在网上偶然看到这篇文章,决定把之前创作排序算法内存状态演示图所用的Mathematica程序修改一下,于是搞出来5个midi音乐。这些midi文件用音高来表示内存状态,初始时的音都是乱的,然后声音渐渐变得有序,最后就成了从低到高的一串音符。

http://www.matrix67.com/data/bubble_8_elements.mid
http://www.matrix67.com/data/insert_8_elements.mid
http://www.matrix67.com/data/select_8_elements.mid
http://www.matrix67.com/data/quick_12_elements.mid
http://www.matrix67.com/data/bogo_6_elements.mid

哪位兄弟能推荐一个在线放midi文件的好方法?

IBM Ponder This史上最难谜题:给出谜底猜谜面

    2009年2月份IBM Ponder This的谜题可能是从98年谜题月赛开办以来最难的谜题。谜题发布一个月之后仍然没有任何人答对,主办人不得不宣布延迟一个月,并再三增加提示。最终,答对此题的仍然只有7个人。很久没有看到如此精彩的谜题了,有兴趣的网友不妨试一试。
    题目非常有趣。传统的谜题是给出谜面求解谜底,但这个谜题则恰恰相反:下面这一串数字是某个问题的答案,你能猜出这个问题是什么吗?这串数字里有一个错误在哪里?

900F 80F0 8F00 80CA BE12 AA90 9400 0048 3E5B 8AC0
3400 00CB BC81 8A08 3C00 0050 BE43 00C0 3E00 A019
8059 BE13 2000 0092 BE9B 2A0B 2A00 8052 8841 04C0
3E00 840B 084B 0098 E000 8819 845A 8012 0300 0050
826F 0500 0600 846E 8264 0900 0A00 8065 0C00 0072
A054 8368 8569 4800 4400 8573 4200 4100 8349 8542
2800 2400 854D 2200 2100 9F00 E000 8888 8444 8000
0030 0DED 8222 0050 0060 8444 8222 0090 00A0 8000
00C0 0DED A000 8333 8555 4080 4040 8555 4020 4010
8333 8555 2080 2040 8555 2020 2010 8300 8500 8030
8050 0880 0840 8050 0820 0810 8030 8050 0480 0440
8050 0420 0410 8500 8030 8050 0280 0240 8050 0220
0210 8030 8050 0180 0140 8050 0120 0110 90F0 9F00
E000 8888 8444 8000 0003 0DED 8222 0005 0006 8444
8222 0009 000A 8000 000C 0DED A000 8333 8555 4008
4004 8555 4002 4001 8333 8555 2008 2004 8555 2002
2001 8300 8500 8003 8005 0808 0804 8005 0802 0801
8003 8005 0408 0404 8005 0402 0401 8500 8003 8005
0208 0204 8005 0202 0201 8003 8005 0108 0104 8005
0102 0101 9F00 8030 8050 8003 8005 0088 0084 8005
0082 0081 8003 8005 0048 0044 8005 0042 0041 8050
8003 8005 0028 0024 8005 0022 0021 8003 8005 0018
0014 8005 0012 0011 80FF 8F0F A333 8000 5000 0DED
8000 3000 0DED A333 C555 1800 1400 C555 1200 1100
8F0F A333 A555 1080 1040 A555 1020 1010 A333 A555
1008 1004 A555 1002 1001

Read more…