﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>f(Program,Poet)=Programet &#187; 严酷的魔王</title>
	<atom:link href="http://blog.programet.org/author/hetong_007/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.programet.org</link>
	<description>f(诗,程序)=诗序=思绪 &#124; 记载我们自己的生活</description>
	<lastBuildDate>Tue, 07 Feb 2012 16:00:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>慎：披着羊皮的狼</title>
		<link>http://blog.programet.org/2012/01/%e6%85%8e%ef%bc%9a%e6%8a%ab%e7%9d%80%e7%be%8a%e7%9a%ae%e7%9a%84%e7%8b%bc.html</link>
		<comments>http://blog.programet.org/2012/01/%e6%85%8e%ef%bc%9a%e6%8a%ab%e7%9d%80%e7%be%8a%e7%9a%ae%e7%9a%84%e7%8b%bc.html#comments</comments>
		<pubDate>Sun, 29 Jan 2012 05:31:40 +0000</pubDate>
		<dc:creator>严酷的魔王</dc:creator>
				<category><![CDATA[原创博文]]></category>
		<category><![CDATA[数学]]></category>
		<category><![CDATA[科普]]></category>

		<guid isPermaLink="false">http://blog.programet.org/?p=4949</guid>
		<description><![CDATA[差不多20年前，美国发生了一件惊动了全世界的案件：辛普森杀妻案。这个案件让人们惊讶的地方并不在于其性质相比其他的谋杀案有多么的恶劣，而在于其过程的荒诞与戏剧性。 从证据方面来说，辛普森符合所有嫌疑犯的光环：有附近居民作为目击证人，有带着血迹的手套，有大小相符的鞋印，甚至有DNA证据。但是整个案件中，警方在提取证据时犯下了比较严重的错误，导致一部分证据失去了法律效力。抛开这些不谈，我们就着重看着两个细节：陪审团的构成以及辩护律师的一些辩词。 1.最终陪审团的组成是10女2男，其中有9名黑人，2名白人和1名西班牙裔白人。而辛普森是黑人，他被害的前妻是白人，因此“据称陪审团的黑人女性将受害者妮可尔·布朗（一名白人女性）视为从黑人女性手中夺取成功黑人男性的敌人，因此，她是咎由自取”。陪审团的目的是听取庭上的一些证据，经过讨论以及投票之后，得到被告是否有罪的结论。从统计上来说，这类似于抽样调查。一般来说，抽样调查在样本数量比较少的时候很容易产生偏差，而根据维基百科，“因此双方都接受了较多数量的女性陪审员”，这是一个主观抽样过程，虽然说双方作出这样的决定是为了避免一些偏差，但是这样避免了随机的操作可能会在另一方面造成始料不及的偏差。因此我们不能认为这个12个人的陪审团的最终结果就能够代表总体的意见。我们可以通过一个例子来看看，如果没有避免所有可能的影响因素，那么抽样的结果可能会很糟糕。这个例子来自《统计数字会撒谎》： 第二次世界大战期间,国家民意调查中心,(The National Opinion Research Center)派出两组调查人员对一个南方城市的 500 名黑人进行提问,一组调查人员由白人组成,另一组是黑人。问题一共有 3 个。 其中一个问题是: “如果日本占领美国, 你认为黑人的境况会得到改善还是变得更糟?”黑人调查组中,9%的被调查者回答“变好”,而白人调查组该比例只有 2%。。回答“变坏”的比例也不相同,黑人调查组是 25%,而白人调查组则是 45%。 第二个问题是用“纳粹分子”替代“日本”,两组的结果大体相同。 第三个问题试图探寻被调查者对前两个问题的真正态度。 “你认为目前致力于打败轴心国比在本国内进一步推进民主更重要吗?”。&#160;”黑人调查组中,选择“打败轴心国”的比例是 39%,而白人调查组则是 62%。 从这个例子中可以看出，我们竭力将两组调查的不同之处限制在调查人员的身上，最后的结果仍然大相径庭。那么，一个成员比较主观的十多人组成的陪审团的意义从某种角度来说是值得商榷的。 2.尽管检方掌握了众多的有力证据，辩护律师仍然拉开了三寸不烂之舌希望挽回大局。辩护律师首先对DNA这个看似难以攻破的证据发起了进攻，他们的辩词大概意思是，DNA检验的碰撞率（即两个人的DNA一样）为百万分之一（其实根据维基百科的说法，碰撞概率为1.7亿分之一），那么在整个纽约中应该能够找到差不多十个DNA样本一样的嫌疑人。同样的辩词也被用于其他的证据上：如果是鞋印，那么整个纽约中拥有同样尺码、同一款鞋底的人可能不少于100个；附近居民作为证人，也并不能一口咬定开着白色福特轿车的黑人就是辛普森。 在这样的说法下，法庭上的所有人一下子愣住了，好像从来没有这样考虑过问题。可以认为，这段辩词有力地干扰了陪审团的倾向。实际上，这段辩词有一个显而易见的大漏洞。假设一个人和辛普森DNA检测的结果相同的概率是一百万分之一，一个人和辛普森鞋印完全吻合的概率是一万分之一。那么，一个人同时在DNA和鞋印上同时完全吻合的概率是多少呢？这是概率论中常常会涉及到的问题。假设DNA检验结果相同，使得脚的大小已经是一致的了，那么市面上还有约100款鞋底不同的鞋子等待被挑选，于是两个DNA基本相同的人拥有同一款鞋子的概率为一百分之一。所以，纽约市中那10名DNA与辛普森基本相同的人中，有百分之一的人会选择相同的鞋印，也就是整个纽约市中除了辛普森，还有0.1个人与其拥有同样的DNA与鞋子。再加上一个开着福特白色野马的条件呢？也许每1000个人中就开着一辆。这样算下来，整个地球中也找不出第二个人满足上述三个条件。但是辩护律师混淆了概念，使得在场的所有人都孤立地看待着辛普森的这些证据。因此，得出了“好像是有这么一个误判的可能性”的想法，慢慢地将证据的效力降到了最低。如果在场的任何人具有基本的概率论知识，便可以当场反驳辩护律师，也许就可以导致完全不同的结果。 上面这两点，让我们看到，如果对于统计学或概率论的知识掌握不好，那么就有可能导致很多的误解与歪曲。 ——————————横跨二十年的分割线—————————— 说了这么多，纯粹是由于这段时间的“方韩之争”引起的。下面说些比较主观的话。 方舟子作为一个攻击性100分的人，很张扬，而且有着光荣的战绩，也得到了许多人的支持。这些人围绕着方舟子“科学”的旗号，却没有真正地利用好这个工具。而方舟子为了证明自己的观点，还挺有技巧地不着痕迹地引导着大家的观点。在此仅在他的不太成功的粉丝方面举两例。 第一例：有人用了主成分分析的方法对韩寒、韩仁均、郭敬明等一些人的作品进行了特征词语频数的统计分析，注意，是频数。其中包含了一本字数远远超过其他作品的《鬼吹灯》，得到了一篇统计分析的报告（遗憾的是，作者他……删帖了），其中发现韩仁均和韩寒的作品难以区分。我们可以很容易地发现：如果所有人的特征词语使用习惯都一样，那么作品的长度不同将直接导致频数的不同；同样的道理，特征词语使用习惯不同的人在不同长度的文章之下却能得到差不多的频数。因此统计之都的微博账号给出了一副修正过后的主成分分析结果图，此图中我们可以发现，韩寒本人的作品时而与鬼吹灯接近，时而与韩仁均的作品接近。因此仅仅通过这样的结论，我们不能得出“韩仁均代笔韩寒作品”的结论，最多得到“韩仁均和《鬼吹灯》作者分别代笔部分韩寒作品”的结论。当然，郭敬明的小说在远远的右下角，因此我们可以比较放心地排除…… 第二例：微博围观请点击。这篇文章介绍了许多关于贝叶斯统计的东西，但是在实际使用的时候犯了一些差错。贝叶斯统计认为事件发生是有一个“先验概率”的，就像一枚不均匀的硬币抛出正反面的概率并不是相等的。此文作者在写文章的时候，有两个地方值得商榷： 第一，作者声称“文中假设了各个先验概率是独立的”，然后得到了一些结论，但是事实上各项先验概率并不一定是独立的，因此公式计算出来的数字只能被视为数字，在违背事实的假设下没有任何有意义的结论。 第二，对于先验概率的任意选取同样与事实偏差较大，一句“在信任缺失的中国P(Y=0)=0.6,P(Y=1)=0.4是比较合理”让大家感到十分无奈。中国人是贼的概率是0.4的话，那就有5.6亿的中国人是贼了。此外还有许多有待肯定的设置，因此这是第二个与事实不符的地方。 在一篇以事实为背景的文章里，包含了两个直接影响结果的违背事实的假设，我完全无法认同。我并没有否定使用这样的方法，而是对作者这种隐隐约约为了自己的主观意见而拼凑数字与制造假设的行为感到无法接受。如果比较客观地得到了类似的结果，那么我便可以接受。 今早看见韩寒说打官司，便想起了这么多的数字工具，便想起了辛普森案件的这段插曲。这些年过去了，统计工具发展得越来越厉害了，而比较玄乎的说法也让编外人员有如雾里看花，不知道如果真的开庭了，方派会不会类似地摆出一上述文章的数学证据。统计说到底也是一套工具，普通人很容易陷入对其的崇拜当中。即使对于同样的数据，生成半成品的手法与对半成品的解读也能巧妙地产生截然不同的结论。数字依旧是数字，只是温顺的羊，人们的目的才是狼，正所谓狼子野心。 披着羊皮的狼，能够蒙蔽人的双眼，然后吃到美味的肉。 本文由 严酷的魔王 创作，转载或引用前请联系我们。相关文章： 统计与推理(3)：KTV里的骰子游戏 只有一盏灯怎么传递信息——囚犯点灯问题 拍卖，碰到鸡贼的买家怎么办？
相关文章：<ol>
<li><a href='http://blog.programet.org/2010/08/%e7%bb%9f%e8%ae%a1%e4%b8%8e%e6%8e%a8%e7%90%863%ef%bc%9aktv%e9%87%8c%e7%9a%84%e9%aa%b0%e5%ad%90%e6%b8%b8%e6%88%8f.html' rel='bookmark' title='统计与推理(3)：KTV里的骰子游戏'>统计与推理(3)：KTV里的骰子游戏</a></li>
<li><a href='http://blog.programet.org/2011/01/%e5%8f%aa%e6%9c%89%e4%b8%80%e7%9b%8f%e7%81%af%e6%80%8e%e4%b9%88%e4%bc%a0%e9%80%92%e4%bf%a1%e6%81%af%e2%80%94%e2%80%94%e5%9b%9a%e7%8a%af%e7%82%b9%e7%81%af%e9%97%ae%e9%a2%98.html' rel='bookmark' title='只有一盏灯怎么传递信息——囚犯点灯问题'>只有一盏灯怎么传递信息——囚犯点灯问题</a></li>
<li><a href='http://blog.programet.org/2011/05/%e6%8b%8d%e5%8d%96%ef%bc%8c%e7%a2%b0%e5%88%b0%e9%b8%a1%e8%b4%bc%e7%9a%84%e4%b9%b0%e5%ae%b6%e6%80%8e%e4%b9%88%e5%8a%9e%ef%bc%9f.html' rel='bookmark' title='拍卖，碰到鸡贼的买家怎么办？'>拍卖，碰到鸡贼的买家怎么办？</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>差不多20年前，美国发生了一件惊动了全世界的案件：<a href="http://zh.wikipedia.org/wiki/%E8%BE%9B%E6%99%AE%E6%A3%AE%E6%9D%80%E5%A6%BB%E6%A1%88#.E5.88.91.E4.BA.8B.E5.AE.A1.E5.88.A4">辛普森杀妻案</a>。这个案件让人们惊讶的地方并不在于其性质相比其他的谋杀案有多么的恶劣，而在于其过程的荒诞与戏剧性。</p>
<p><span id="more-4949"></span></p>
<p><span id="more-5001"></span></p>
<p>从证据方面来说，辛普森符合所有嫌疑犯的光环：有附近居民作为目击证人，有带着血迹的手套，有大小相符的鞋印，甚至有DNA证据。但是整个案件中，警方在提取证据时犯下了<a href="http://baike.baidu.com/view/1183157.htm#6">比较严重的错误</a>，导致一部分证据失去了法律效力。抛开这些不谈，我们就着重看着两个细节：陪审团的构成以及辩护律师的一些辩词。</p>
<p>1.最终陪审团的组成是10女2男，其中有9名黑人，2名白人和1名西班牙裔白人。而辛普森是黑人，他被害的前妻是白人，因此“据称陪审团的黑人女性将受害者妮可尔·布朗（一名白人女性）视为从黑人女性手中夺取成功黑人男性的敌人，因此，她是咎由自取”。陪审团的目的是听取庭上的一些证据，经过讨论以及投票之后，得到被告是否有罪的结论。从统计上来说，这类似于抽样调查。一般来说，抽样调查在样本数量比较少的时候很容易产生偏差，而根据维基百科，“因此双方都接受了较多数量的女性陪审员”，这是一个主观抽样过程，虽然说双方作出这样的决定是为了避免一些偏差，但是这样避免了随机的操作可能会在另一方面造成始料不及的偏差。因此我们不能认为这个12个人的陪审团的最终结果就能够代表总体的意见。我们可以通过一个例子来看看，如果没有避免所有可能的影响因素，那么抽样的结果可能会很糟糕。这个例子来自<a href="http://book.douban.com/subject/3595095/">《统计数字会撒谎》</a>：</p>
<blockquote><p>第二次世界大战期间,国家民意调查中心,(The National Opinion Research Center)派出两组调查人员对一个南方城市的 500 名黑人进行提问,一组调查人员由白人组成,另一组是黑人。问题一共有 3 个。</p>
<p>其中一个问题是: “如果日本占领美国, 你认为黑人的境况会得到改善还是变得更糟?”黑人调查组中,9%的被调查者回答“变好”,而白人调查组该比例只有 2%。。回答“变坏”的比例也不相同,黑人调查组是 25%,而白人调查组则是 45%。</p>
<p>第二个问题是用“纳粹分子”替代“日本”,两组的结果大体相同。</p>
<p>第三个问题试图探寻被调查者对前两个问题的真正态度。 “你认为目前致力于打败轴心国比在本国内进一步推进民主更重要吗?”。&nbsp;”黑人调查组中,选择“打败轴心国”的比例是 39%,而白人调查组则是 62%。</p>
</blockquote>
<p>从这个例子中可以看出，我们竭力将两组调查的不同之处限制在调查人员的身上，最后的结果仍然大相径庭。那么，一个成员比较主观的十多人组成的陪审团的意义从某种角度来说是值得商榷的。</p>
<p>2.尽管检方掌握了众多的有力证据，辩护律师仍然拉开了三寸不烂之舌希望挽回大局。辩护律师首先对DNA这个看似难以攻破的证据发起了进攻，他们的辩词大概意思是，DNA检验的碰撞率（即两个人的DNA一样）为百万分之一（其实根据维基百科的说法，碰撞概率为1.7亿分之一），那么在整个纽约中应该能够找到差不多十个DNA样本一样的嫌疑人。同样的辩词也被用于其他的证据上：如果是鞋印，那么整个纽约中拥有同样尺码、同一款鞋底的人可能不少于100个；附近居民作为证人，也并不能一口咬定开着白色福特轿车的黑人就是辛普森。</p>
<p>在这样的说法下，法庭上的所有人一下子愣住了，好像从来没有这样考虑过问题。可以认为，这段辩词有力地干扰了陪审团的倾向。实际上，这段辩词有一个显而易见的大漏洞。假设一个人和辛普森DNA检测的结果相同的概率是一百万分之一，一个人和辛普森鞋印完全吻合的概率是一万分之一。那么，一个人同时在DNA和鞋印上同时完全吻合的概率是多少呢？这是概率论中常常会涉及到的问题。假设DNA检验结果相同，使得脚的大小已经是一致的了，那么市面上还有约100款鞋底不同的鞋子等待被挑选，于是两个DNA基本相同的人拥有同一款鞋子的概率为一百分之一。所以，纽约市中那10名DNA与辛普森基本相同的人中，有百分之一的人会选择相同的鞋印，也就是整个纽约市中除了辛普森，还有0.1个人与其拥有同样的DNA与鞋子。再加上一个开着福特白色野马的条件呢？也许每1000个人中就开着一辆。这样算下来，整个地球中也找不出第二个人满足上述三个条件。但是辩护律师混淆了概念，使得在场的所有人都孤立地看待着辛普森的这些证据。因此，得出了“好像是有这么一个误判的可能性”的想法，慢慢地将证据的效力降到了最低。如果在场的任何人具有基本的概率论知识，便可以当场反驳辩护律师，也许就可以导致完全不同的结果。</p>
<p>上面这两点，让我们看到，如果对于统计学或概率论的知识掌握不好，那么就有可能导致很多的误解与歪曲。</p>
<p><strong>——————————横跨二十年的分割线——————————</strong></p>
<p>说了这么多，纯粹是由于这段时间的“方韩之争”引起的。下面说些比较主观的话。</p>
<p>方舟子作为一个攻击性100分的人，很张扬，而且有着光荣的战绩，也得到了许多人的支持。这些人围绕着方舟子“科学”的旗号，却没有真正地利用好这个工具。而方舟子为了证明自己的观点，还挺有技巧地不着痕迹地引导着大家的观点。在此仅在他的不太成功的粉丝方面举两例。</p>
<p>第一例：有人用了主成分分析的方法对韩寒、韩仁均、郭敬明等一些人的作品进行了特征词语频数的统计分析，注意，是频数。其中包含了一本字数远远超过其他作品的《鬼吹灯》，得到了一篇统计分析的报告（遗憾的是，作者他……删帖了），其中发现韩仁均和韩寒的作品难以区分。我们可以很容易地发现：如果所有人的特征词语使用习惯都一样，那么作品的长度不同将直接导致频数的不同；同样的道理，特征词语使用习惯不同的人在不同长度的文章之下却能得到差不多的频数。因此统计之都的微博账号给出了一副修正过后的<a href="http://cos.name/wp-content/uploads/2012/01/biplot.jpg">主成分分析结果图</a>，此图中我们可以发现，韩寒本人的作品时而与鬼吹灯接近，时而与韩仁均的作品接近。因此仅仅通过这样的结论，我们不能得出“韩仁均代笔韩寒作品”的结论，最多得到“韩仁均和《鬼吹灯》作者分别代笔部分韩寒作品”的结论。当然，郭敬明的小说在远远的右下角，因此我们可以比较放心地排除……</p>
<p>第二例：<a href="http://weibo.com/1991303247/y2Rvkj9Hc">微博围观请点击。</a>这篇文章介绍了许多关于贝叶斯统计的东西，但是在实际使用的时候犯了一些差错。贝叶斯统计认为事件发生是有一个“先验概率”的，就像一枚不均匀的硬币抛出正反面的概率并不是相等的。此文作者在写文章的时候，有两个地方值得商榷：</p>
<p>第一，作者声称“文中假设了各个先验概率是独立的”，然后得到了一些结论，但是事实上各项先验概率并不一定是独立的，因此公式计算出来的数字只能被视为数字，在违背事实的假设下没有任何有意义的结论。</p>
<p>第二，对于先验概率的任意选取同样与事实偏差较大，一句“在信任缺失的中国P(Y=0)=0.6,P(Y=1)=0.4是比较合理”让大家感到十分无奈。中国人是贼的概率是0.4的话，那就有5.6亿的中国人是贼了。此外还有许多有待肯定的设置，因此这是第二个与事实不符的地方。</p>
<p>在一篇以事实为背景的文章里，包含了两个直接影响结果的违背事实的假设，我完全无法认同。我并没有否定使用这样的方法，而是对作者这种隐隐约约为了自己的主观意见而拼凑数字与制造假设的行为感到无法接受。如果比较客观地得到了类似的结果，那么我便可以接受。</p>
<p>今早看见韩寒说打官司，便想起了这么多的数字工具，便想起了辛普森案件的这段插曲。这些年过去了，统计工具发展得越来越厉害了，而比较玄乎的说法也让编外人员有如雾里看花，不知道如果真的开庭了，方派会不会类似地摆出一上述文章的数学证据。统计说到底也是一套工具，普通人很容易陷入对其的崇拜当中。即使对于同样的数据，生成半成品的手法与对半成品的解读也能巧妙地产生截然不同的结论。数字依旧是数字，只是温顺的羊，人们的目的才是狼，正所谓狼子野心。</p>
<p>披着羊皮的狼，能够蒙蔽人的双眼，然后吃到美味的肉。</p>
<p><small>本文由 严酷的魔王 创作，转载或引用前请<a href="mailto:programet.org@gmail.com">联系我们</a>。</small></p><p>相关文章：<ol>
<li><a href='http://blog.programet.org/2010/08/%e7%bb%9f%e8%ae%a1%e4%b8%8e%e6%8e%a8%e7%90%863%ef%bc%9aktv%e9%87%8c%e7%9a%84%e9%aa%b0%e5%ad%90%e6%b8%b8%e6%88%8f.html' rel='bookmark' title='统计与推理(3)：KTV里的骰子游戏'>统计与推理(3)：KTV里的骰子游戏</a></li>
<li><a href='http://blog.programet.org/2011/01/%e5%8f%aa%e6%9c%89%e4%b8%80%e7%9b%8f%e7%81%af%e6%80%8e%e4%b9%88%e4%bc%a0%e9%80%92%e4%bf%a1%e6%81%af%e2%80%94%e2%80%94%e5%9b%9a%e7%8a%af%e7%82%b9%e7%81%af%e9%97%ae%e9%a2%98.html' rel='bookmark' title='只有一盏灯怎么传递信息——囚犯点灯问题'>只有一盏灯怎么传递信息——囚犯点灯问题</a></li>
<li><a href='http://blog.programet.org/2011/05/%e6%8b%8d%e5%8d%96%ef%bc%8c%e7%a2%b0%e5%88%b0%e9%b8%a1%e8%b4%bc%e7%9a%84%e4%b9%b0%e5%ae%b6%e6%80%8e%e4%b9%88%e5%8a%9e%ef%bc%9f.html' rel='bookmark' title='拍卖，碰到鸡贼的买家怎么办？'>拍卖，碰到鸡贼的买家怎么办？</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.programet.org/2012/01/%e6%85%8e%ef%bc%9a%e6%8a%ab%e7%9d%80%e7%be%8a%e7%9a%ae%e7%9a%84%e7%8b%bc.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>就这样到了世界末年</title>
		<link>http://blog.programet.org/2012/01/%e5%b0%b1%e8%bf%99%e6%a0%b7%e5%88%b0%e4%ba%86%e4%b8%96%e7%95%8c%e6%9c%ab%e5%b9%b4.html</link>
		<comments>http://blog.programet.org/2012/01/%e5%b0%b1%e8%bf%99%e6%a0%b7%e5%88%b0%e4%ba%86%e4%b8%96%e7%95%8c%e6%9c%ab%e5%b9%b4.html#comments</comments>
		<pubDate>Sun, 01 Jan 2012 07:01:18 +0000</pubDate>
		<dc:creator>严酷的魔王</dc:creator>
				<category><![CDATA[原创博文]]></category>

		<guid isPermaLink="false">http://blog.programet.org/?p=4955</guid>
		<description><![CDATA[去年的这个时候，我还在宿舍里面呼呼大睡——因为我去年在发完了新年文之后，就被一个人拉出去，在麦当劳聊了一宿，之后，我就收获了一只妹子……让我感到很满足的是，今年元旦陪在我身边的还是这只妹子，毕竟世界只剩下不到一年时间了嘛，感觉真踏实。 去年的生活是A比较小的正弦函数，有小小的起伏但是没有什么太大的波澜，唯一一个让我感到影响重大的是我做出了出国的决定，导致我的2012必定是一个不堪回首而又难以遗忘的一年。 数模悲剧，然后申请了一个自己什么都不懂的本科生研究项目，觉得要打酱油的感觉……感觉自己在这些方面要被榨干了……但是另外来说，认为自己对统计的感觉越来越强烈了，不过不知道这能给我带来什么。 去年开始了自己打钱的生涯，到如今的总值也略有小成，足够我出去的几次旅游以及手机被偷后无奈换了Defy+的支出…… 最后清算了一下文章，今年的我果然开始偷懒了，但是却依旧没有发福，说明一定是我太辛苦了而不是别的原因，今年因为GRE以及投递申请什么的一定会让我出现的频率更加少的。还是展望未来吧，苦话写在苦逼一年的前头，这样痛苦的时候回头看才不会后悔。 这种决定命运的东西，再加上2012，就会让我想起“Armageddon”——我第一次见到这个单词是在百战天虫中，有一个只能用一次的武器就叫这个名字——漫天的陨石稀里哗啦地砸到整片地图上，轻巧而随意地扭曲虫体，再把它们弹进水里。2012如果是这样，那就比“磁极扭转三天”的说法酷多了吧。 本文由 严酷的魔王 创作，转载或引用前请联系我们。相关文章： 夜空下的萤火虫——《众里寻他》番外 近况如何 小结前几天有关寺雷颠的爱慕与嫉妒与囧的故事
相关文章：<ol>
<li><a href='http://blog.programet.org/2011/11/%e5%a4%9c%e7%a9%ba%e4%b8%8b%e7%9a%84%e8%90%a4%e7%81%ab%e8%99%ab%e2%80%94%e2%80%94%e3%80%8a%e4%bc%97%e9%87%8c%e5%af%bb%e4%bb%96%e3%80%8b%e7%95%aa%e5%a4%96.html' rel='bookmark' title='夜空下的萤火虫——《众里寻他》番外'>夜空下的萤火虫——《众里寻他》番外</a></li>
<li><a href='http://blog.programet.org/2009/01/blog-post_21.html' rel='bookmark' title='近况如何'>近况如何</a></li>
<li><a href='http://blog.programet.org/2011/04/%e5%b0%8f%e7%bb%93%e5%89%8d%e5%87%a0%e5%a4%a9%e6%9c%89%e5%85%b3%e5%af%ba%e9%9b%b7%e9%a2%a0%e7%9a%84%e7%88%b1%e6%85%95%e4%b8%8e%e5%ab%89%e5%a6%92%e4%b8%8e%e5%9b%a7%e7%9a%84%e6%95%85%e4%ba%8b.html' rel='bookmark' title='小结前几天有关寺雷颠的爱慕与嫉妒与囧的故事'>小结前几天有关寺雷颠的爱慕与嫉妒与囧的故事</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>去年的这个时候，我还在宿舍里面呼呼大睡——因为我去年在发完了新年文之后，就被一个人拉出去，在麦当劳聊了一宿，之后，我就收获了一只妹子……让我感到很满足的是，今年元旦陪在我身边的还是这只妹子，毕竟世界只剩下不到一年时间了嘛，感觉真踏实。</p>
<p><span id="more-4955"></span></p>
<p><span id="more-4929"></span></p>
<p>去年的生活是A比较小的正弦函数，有小小的起伏但是没有什么太大的波澜，唯一一个让我感到影响重大的是我做出了出国的决定，导致我的2012必定是一个不堪回首而又难以遗忘的一年。</p>
<p>数模悲剧，然后申请了一个自己什么都不懂的本科生研究项目，觉得要打酱油的感觉……感觉自己在这些方面要被榨干了……但是另外来说，认为自己对统计的感觉越来越强烈了，不过不知道这能给我带来什么。</p>
<p>去年开始了自己打钱的生涯，到如今的总值也略有小成，足够我出去的几次旅游以及手机被偷后无奈换了Defy+的支出……</p>
<p>最后清算了一下文章，今年的我果然开始偷懒了，但是却依旧没有发福，说明一定是我太辛苦了而不是别的原因，今年因为GRE以及投递申请什么的一定会让我出现的频率更加少的。还是展望未来吧，苦话写在苦逼一年的前头，这样痛苦的时候回头看才不会后悔。</p>
<p>这种决定命运的东西，再加上2012，就会让我想起“Armageddon”——我第一次见到这个单词是在百战天虫中，有一个只能用一次的武器就叫这个名字——漫天的陨石稀里哗啦地砸到整片地图上，轻巧而随意地扭曲虫体，再把它们弹进水里。2012如果是这样，那就比“磁极扭转三天”的说法酷多了吧。</p>
<p><img class="aligncenter size-medium wp-image-4930" title="IMG_20120101_144932" src="http://blog.programet.org/index.php?feedimage=wp-content/uploads/IMG_20120101_144932-300x224.jpg" alt="" width="300" height="224" /></p>
<p><small>本文由 严酷的魔王 创作，转载或引用前请<a href="mailto:programet.org@gmail.com">联系我们</a>。</small></p><p>相关文章：<ol>
<li><a href='http://blog.programet.org/2011/11/%e5%a4%9c%e7%a9%ba%e4%b8%8b%e7%9a%84%e8%90%a4%e7%81%ab%e8%99%ab%e2%80%94%e2%80%94%e3%80%8a%e4%bc%97%e9%87%8c%e5%af%bb%e4%bb%96%e3%80%8b%e7%95%aa%e5%a4%96.html' rel='bookmark' title='夜空下的萤火虫——《众里寻他》番外'>夜空下的萤火虫——《众里寻他》番外</a></li>
<li><a href='http://blog.programet.org/2009/01/blog-post_21.html' rel='bookmark' title='近况如何'>近况如何</a></li>
<li><a href='http://blog.programet.org/2011/04/%e5%b0%8f%e7%bb%93%e5%89%8d%e5%87%a0%e5%a4%a9%e6%9c%89%e5%85%b3%e5%af%ba%e9%9b%b7%e9%a2%a0%e7%9a%84%e7%88%b1%e6%85%95%e4%b8%8e%e5%ab%89%e5%a6%92%e4%b8%8e%e5%9b%a7%e7%9a%84%e6%95%85%e4%ba%8b.html' rel='bookmark' title='小结前几天有关寺雷颠的爱慕与嫉妒与囧的故事'>小结前几天有关寺雷颠的爱慕与嫉妒与囧的故事</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.programet.org/2012/01/%e5%b0%b1%e8%bf%99%e6%a0%b7%e5%88%b0%e4%ba%86%e4%b8%96%e7%95%8c%e6%9c%ab%e5%b9%b4.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Haskell随手笔记：infinite list</title>
		<link>http://blog.programet.org/2011/12/haskell%e9%9a%8f%e6%89%8b%e7%ac%94%e8%ae%b0%ef%bc%9ainfinite-list.html</link>
		<comments>http://blog.programet.org/2011/12/haskell%e9%9a%8f%e6%89%8b%e7%ac%94%e8%ae%b0%ef%bc%9ainfinite-list.html#comments</comments>
		<pubDate>Tue, 06 Dec 2011 17:01:21 +0000</pubDate>
		<dc:creator>严酷的魔王</dc:creator>
				<category><![CDATA[原创博文]]></category>
		<category><![CDATA[程序]]></category>
		<category><![CDATA[计算机]]></category>
		<category><![CDATA[haskell]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[笔记]]></category>
		<category><![CDATA[随笔]]></category>

		<guid isPermaLink="false">http://blog.programet.org/?p=4818</guid>
		<description><![CDATA[为了与寺雷颠保持一致，这是一个不知道什么时候就会太监的系列。——题记 其实这一切的开端都是Mgccl大牛作祟。在他的各种代码影响下，我就萌生了接触一点函数式编程的念头。其实还有一个原因便是我现在经常使用R语言做统计作业，但是R语言实际上是S语言的继承。本来S语言是一个函数式编程的语言，但是R这么一继承就变得有些不伦不类的……所以我也怀着“了解了函数式编程就能更好地学会R了吧！！”的情绪。最后，Haskell这个名字依然在三年前的《让我们比比长短》一文中出现了，这里函数式编程给我留下了各种深刻的印象。 Haskell有两本可以在线看的教材：《Real World Haskell》和《Learn You a Haskell》两本。它们应该算是基础教材了吧，也就是让你能够初步接触Haskell。然后还有一个介绍内置函数的pdf。 我用的是WindowsXP（你们不要斜眼看过来！），于是首先去Haskell的官网下载了GHC(应该算是一个运行环境？命令行式的)。然后它会自动修改你的环境变量，于是新建一个后缀名为.hs的文件便会自动调用GHC载入代码。 ——————胡言乱语的分割线—————— Haskell里面没有循环，但是我们可以用递归来实现它。比如下面这段计算斐波那契数列的C代码： f&#91;0&#93;=1; f&#91;1&#93;=1; for &#40;i=2;i&#60;n;i++&#41; f&#91;i&#93;=f&#91;i-1&#93;+f&#91;i-2&#93;; 可以在haskell里面用递归的形式这样写： fib n = lst 1 1 n where lst a b c = if c&#60;2 then a else lst &#40;a+b&#41; a &#40;c-1&#41; 但是鉴于Mgccl大牛对elegance的追求，以及haskell一个很神奇的特质，我们可以用&#8221;infinite list&#8221;来一句话实现这个操作： fib n = fibs !! n where fibs = 0 : 1 : zipWith [...]
相关文章：<ol>
<li><a href='http://blog.programet.org/2008/10/blog-post_21-3.html' rel='bookmark' title='让我们比比长短'>让我们比比长短</a></li>
<li><a href='http://blog.programet.org/2009/08/%e5%af%bb%e6%89%be%e6%bb%a1%e5%88%86%e5%8d%95%e8%af%8d.html' rel='bookmark' title='寻找满分单词'>寻找满分单词</a></li>
<li><a href='http://blog.programet.org/2009/12/%e6%99%92%ef%bc%9ac%e8%af%ad%e8%a8%80%e6%9c%9f%e4%b8%ad%e5%ae%9e%e9%aa%8c%e6%8a%a5%e5%91%8a.html' rel='bookmark' title='晒：C语言期中实验报告'>晒：C语言期中实验报告</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>为了与寺雷颠保持一致，这是一个不知道什么时候就会太监的系列。——题记</p>
<p><span id="more-4818"></span></p>
<p>其实这一切的开端都是Mgccl大牛作祟。在他的各种代码影响下，我就萌生了接触一点函数式编程的念头。其实还有一个原因便是我现在经常使用R语言做统计作业，但是R语言实际上是S语言的继承。本来S语言是一个函数式编程的语言，但是R这么一继承就变得有些不伦不类的……所以我也怀着“了解了函数式编程就能更好地学会R了吧！！”的情绪。最后，Haskell这个名字依然在三年前的<a href="http://blog.programet.org/2008/10/blog-post_21-3.html">《让我们比比长短》</a>一文中出现了，这里函数式编程给我留下了各种深刻的印象。</p>
<p>Haskell有两本可以在线看的教材：<a href="http://book.realworldhaskell.org/read/">《Real World Haskell》</a>和<a href="http://learnyouahaskell.com/chapters">《Learn You a Haskell》</a>两本。它们应该算是基础教材了吧，也就是让你能够初步接触Haskell。然后还有一个介绍内置函数的<a href="http://dou.bz/43hPBj">pdf</a>。</p>
<p>我用的是WindowsXP（你们不要斜眼看过来！），于是首先去Haskell的官网下载了GHC(应该算是一个运行环境？命令行式的)。然后它会自动修改你的环境变量，于是新建一个后缀名为.hs的文件便会自动调用GHC载入代码。</p>
<p>——————胡言乱语的分割线——————</p>
<p>Haskell里面没有循环，但是我们可以用递归来实现它。比如下面这段计算斐波那契数列的C代码：</p>

<div class="wp_codebox"><table><tr id="p48186"><td class="code" id="p4818code6"><pre class="c" style="font-family:monospace;">f<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
f<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">2</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>n<span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	f<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span>f<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>可以在haskell里面用递归的形式这样写：</p>

<div class="wp_codebox"><table><tr id="p48187"><td class="code" id="p4818code7"><pre class="haskell" style="font-family:monospace;">fib n <span style="color: #339933; font-weight: bold;">=</span> lst <span style="color: red;">1</span> <span style="color: red;">1</span> n 
	<span style="color: #06c; font-weight: bold;">where</span> lst a b c <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #06c; font-weight: bold;">if</span> c<span style="color: #339933; font-weight: bold;">&lt;</span><span style="color: red;">2</span> <span style="color: #06c; font-weight: bold;">then</span> a 
				 <span style="color: #06c; font-weight: bold;">else</span> lst <span style="color: green;">&#40;</span>a<span style="color: #339933; font-weight: bold;">+</span>b<span style="color: green;">&#41;</span> a <span style="color: green;">&#40;</span>c<span style="color: #339933; font-weight: bold;">-</span><span style="color: red;">1</span><span style="color: green;">&#41;</span></pre></td></tr></table></div>

<p>但是鉴于Mgccl大牛对elegance的追求，以及haskell一个很神奇的特质，我们可以用&#8221;infinite list&#8221;来一句话实现这个操作：</p>

<div class="wp_codebox"><table><tr id="p48188"><td class="code" id="p4818code8"><pre class="haskell" style="font-family:monospace;">fib n <span style="color: #339933; font-weight: bold;">=</span> fibs <span style="color: #339933; font-weight: bold;">!!</span> n
        <span style="color: #06c; font-weight: bold;">where</span> fibs <span style="color: #339933; font-weight: bold;">=</span> <span style="color: red;">0</span> : <span style="color: red;">1</span> : <span style="font-weight: bold;">zipWith</span> <span style="color: green;">&#40;</span><span style="color: #339933; font-weight: bold;">+</span><span style="color: green;">&#41;</span> fibs <span style="color: green;">&#40;</span><span style="font-weight: bold;">tail</span> fibs<span style="color: green;">&#41;</span></pre></td></tr></table></div>

<p>haskell有一个lazy的特点，也就是所有的东西都会在需要的时候才去计算。haskell内置了一个函数repeat n，就是生成一个长度无限的list[n,n,n,n,&#8230; 。这种涉及无穷的东西并不会瞬间吃光你的内存，而是在你需要算到第n个数时，它才会帮你算到那个数。因为这个特点，在haskell中实现循环还有另一种方法：事先找到这个循环的规律，然后类似通项公式一般地生成一个无穷表，然后这个list的第n项就是循环到n的结果。</p>
<p>另一个例子，解决的问题是<a href="http://projecteuler.net/problem=97">ProjectEuler第97题</a>。我的代码是：</p>

<div class="wp_codebox"><table><tr id="p48189"><td class="code" id="p4818code9"><pre class="haskell" style="font-family:monospace;">powMod2 n <span style="color: #339933; font-weight: bold;">=</span> l <span style="color: red;">1</span> n <span style="color: red;">2</span> <span style="color: #06c; font-weight: bold;">where</span>
            l i n ans <span style="color: #339933; font-weight: bold;">=</span> <span style="color: #06c; font-weight: bold;">if</span> <span style="color: green;">&#40;</span>i<span style="color: #339933; font-weight: bold;">*</span><span style="color: red;">2</span><span style="color: #339933; font-weight: bold;">&lt;=</span>n<span style="color: green;">&#41;</span> <span style="color: #06c; font-weight: bold;">then</span> l <span style="color: green;">&#40;</span>i<span style="color: #339933; font-weight: bold;">*</span><span style="color: red;">2</span><span style="color: green;">&#41;</span> n <span style="color: green;">&#40;</span><span style="font-weight: bold;">mod</span> <span style="color: green;">&#40;</span>ans<span style="color: #339933; font-weight: bold;">^</span><span style="color: red;">2</span><span style="color: green;">&#41;</span> <span style="color: green;">&#40;</span><span style="color: red;">10</span><span style="color: #339933; font-weight: bold;">^</span><span style="color: red;">10</span><span style="color: green;">&#41;</span><span style="color: green;">&#41;</span>
			            <span style="color: #06c; font-weight: bold;">else</span> <span style="color: #06c; font-weight: bold;">if</span> <span style="color: green;">&#40;</span><span style="color: green;">&#40;</span>i<span style="color: #339933; font-weight: bold;">&lt;</span>n<span style="color: green;">&#41;</span> <span style="color: #339933; font-weight: bold;">&amp;&amp;</span> <span style="color: green;">&#40;</span>i<span style="color: #339933; font-weight: bold;">*</span><span style="color: red;">2</span><span style="color: #339933; font-weight: bold;">&gt;</span>n<span style="color: green;">&#41;</span><span style="color: green;">&#41;</span> <span style="color: #06c; font-weight: bold;">then</span> <span style="font-weight: bold;">mod</span> <span style="color: green;">&#40;</span>ans<span style="color: #339933; font-weight: bold;">*</span><span style="color: green;">&#40;</span>l <span style="color: red;">1</span> <span style="color: green;">&#40;</span>n<span style="color: #339933; font-weight: bold;">-</span>i<span style="color: green;">&#41;</span> <span style="color: red;">2</span><span style="color: green;">&#41;</span><span style="color: green;">&#41;</span> <span style="color: green;">&#40;</span><span style="color: red;">10</span><span style="color: #339933; font-weight: bold;">^</span><span style="color: red;">10</span><span style="color: green;">&#41;</span>
						<span style="color: #06c; font-weight: bold;">else</span> ans
ans<span style="color: #339933; font-weight: bold;">_</span>97 <span style="color: #339933; font-weight: bold;">=</span> <span style="font-weight: bold;">mod</span> <span style="color: green;">&#40;</span><span style="color: red;">28433</span><span style="color: #339933; font-weight: bold;">*</span><span style="color: green;">&#40;</span>powMod2 <span style="color: red;">7830457</span><span style="color: green;">&#41;</span><span style="color: #339933; font-weight: bold;">+</span><span style="color: red;">1</span><span style="color: green;">&#41;</span> <span style="color: green;">&#40;</span><span style="color: red;">10</span><span style="color: #339933; font-weight: bold;">^</span><span style="color: red;">10</span><span style="color: green;">&#41;</span></pre></td></tr></table></div>

<p>仍然保留在简单粗暴的递归式循环上。而Mgccl大牛的代码则如下：</p>

<div class="wp_codebox"><table><tr id="p481810"><td class="code" id="p4818code10"><pre class="haskell" style="font-family:monospace;">bin <span style="color: red;">0</span> xs <span style="color: #339933; font-weight: bold;">=</span> xs
bin n xs <span style="color: #339933; font-weight: bold;">=</span> bin q <span style="color: green;">&#40;</span>r:xs<span style="color: green;">&#41;</span>
        <span style="color: #06c; font-weight: bold;">where</span> <span style="color: green;">&#40;</span>q<span style="color: #339933; font-weight: bold;">,</span>r<span style="color: green;">&#41;</span> <span style="color: #339933; font-weight: bold;">=</span> <span style="font-weight: bold;">divMod</span> n <span style="color: red;">2</span>
result <span style="color: #339933; font-weight: bold;">=</span> <span style="color: green;">&#40;</span>t<span style="color: #339933; font-weight: bold;">*</span><span style="color: red;">28433</span><span style="color: #339933; font-weight: bold;">+</span><span style="color: red;">1</span><span style="color: green;">&#41;</span> `<span style="font-weight: bold;">mod</span>` m
  <span style="color: #06c; font-weight: bold;">where</span> t <span style="color: #339933; font-weight: bold;">=</span> <span style="font-weight: bold;">foldr</span> <span style="color: green;">&#40;</span>mmod<span style="color: green;">&#41;</span> <span style="color: red;">1</span> <span style="color: #339933; font-weight: bold;">$</span> <span style="font-weight: bold;">filter</span> <span style="color: green;">&#40;</span><span style="color: #339933; font-weight: bold;">/=</span><span style="color: red;">0</span><span style="color: green;">&#41;</span> <span style="color: green;">&#40;</span><span style="font-weight: bold;">zipWith</span> <span style="color: green;">&#40;</span><span style="color: #339933; font-weight: bold;">*</span><span style="color: green;">&#41;</span> <span style="color: green;">&#40;</span><span style="font-weight: bold;">reverse</span> <span style="color: #339933; font-weight: bold;">$</span> bin <span style="color: red;">7830457</span> <span style="color: green;">&#91;</span><span style="color: green;">&#93;</span><span style="color: green;">&#41;</span> twoPow<span style="color: green;">&#41;</span>
        twoPow <span style="color: #339933; font-weight: bold;">=</span> <span style="color: red;">2</span>:<span style="font-weight: bold;">zipWith</span> mmod twoPow twoPow
        m <span style="color: #339933; font-weight: bold;">=</span> <span style="color: red;">10</span><span style="color: #339933; font-weight: bold;">^</span><span style="color: red;">10</span>
        mmod a b <span style="color: #339933; font-weight: bold;">=</span> <span style="font-weight: bold;">mod</span> <span style="color: green;">&#40;</span>a<span style="color: #339933; font-weight: bold;">*</span>b<span style="color: green;">&#41;</span> m</pre></td></tr></table></div>

<p>不得不说神牛的版本在很大程度上增强了代码的可读性。<br />
这个就是利用haskell的infinite list属性来简化代码的很好的例子，但是不得不说在还没习惯这种思维的时候这对我来说是一种很强烈的脑力锻炼。</p>
<p>目前来说，感觉haskell在对付ProjectEuler的内容上比C什么的简洁太多了，而且高精度这个我很讨厌的东西也算是不用再考虑了。最近忙生物统计去了，haskell练习也被我放下了一段时间，不过鉴于下学期我只有三门课一周10节的节奏，兴许会有比较多的进步什么的。</p>
<p><small>本文由 严酷的魔王 创作，转载或引用前请<a href="mailto:programet.org@gmail.com">联系我们</a>。</small></p><p>相关文章：<ol>
<li><a href='http://blog.programet.org/2008/10/blog-post_21-3.html' rel='bookmark' title='让我们比比长短'>让我们比比长短</a></li>
<li><a href='http://blog.programet.org/2009/08/%e5%af%bb%e6%89%be%e6%bb%a1%e5%88%86%e5%8d%95%e8%af%8d.html' rel='bookmark' title='寻找满分单词'>寻找满分单词</a></li>
<li><a href='http://blog.programet.org/2009/12/%e6%99%92%ef%bc%9ac%e8%af%ad%e8%a8%80%e6%9c%9f%e4%b8%ad%e5%ae%9e%e9%aa%8c%e6%8a%a5%e5%91%8a.html' rel='bookmark' title='晒：C语言期中实验报告'>晒：C语言期中实验报告</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.programet.org/2011/12/haskell%e9%9a%8f%e6%89%8b%e7%ac%94%e8%ae%b0%ef%bc%9ainfinite-list.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<series:name><![CDATA[Haskell笔记]]></series:name>
	</item>
		<item>
		<title>为什么纸质书是可以替代的？</title>
		<link>http://blog.programet.org/2011/11/%e4%b8%ba%e4%bb%80%e4%b9%88%e7%ba%b8%e8%b4%a8%e4%b9%a6%e6%98%af%e5%8f%af%e4%bb%a5%e6%9b%bf%e4%bb%a3%e7%9a%84%ef%bc%9f.html</link>
		<comments>http://blog.programet.org/2011/11/%e4%b8%ba%e4%bb%80%e4%b9%88%e7%ba%b8%e8%b4%a8%e4%b9%a6%e6%98%af%e5%8f%af%e4%bb%a5%e6%9b%bf%e4%bb%a3%e7%9a%84%ef%bc%9f.html#comments</comments>
		<pubDate>Fri, 04 Nov 2011 17:00:52 +0000</pubDate>
		<dc:creator>严酷的魔王</dc:creator>
				<category><![CDATA[原创博文]]></category>
		<category><![CDATA[推荐]]></category>
		<category><![CDATA[严肃]]></category>
		<category><![CDATA[电子书]]></category>
		<category><![CDATA[随感]]></category>
		<category><![CDATA[随笔]]></category>

		<guid isPermaLink="false">http://blog.programet.org/?p=4683</guid>
		<description><![CDATA[在豆瓣上看到两篇文章：《为什么纸书是不可替代的》以及《为什么纸书是可以替代的》。看到许多友邻都在推荐，那我也想说说想法。 第一次把玩kindle实物是现在住在我楼上的主任拿来给我看的。那灰白的屏幕以及浅黑的文字险些让我以为是嵌入的纸张——最后还是“每翻数页就要花屏一次”的这个特征让我意识到手里捧着的是一台一千多元的电子产物。不得不说，主任把这块薄薄的同时装着《什么是数学》以及《会饮篇》的平板塞进包里时，我心里有种奇异的感觉。 kindle无疑是第一个在我心中确立了“电子书”地位的物体。以往无论在电脑上下载过多少的txt，doc，pdf，我都觉得没有到达“书”的层次——kindle无疑是在最后的视觉效果上推了我一把。有趣的是，在全盘接受了“电子书”这个设定之后，电脑上的pdf看起来也有些可爱了。慢慢的，在我心里面电子书的定义开始了逆袭，逐渐地延拓到了电脑上优质的重新手打+排版过的(最好还是的)pdf，然后包括了普通的影印pdf，最后有了大屏幕手机，那么自然也包括了手机上的txt。至少在目前看来，我仍然不会接受doc，因为一本书的内容只能被读者标注和注解，而不能任意地删改。 暑假晕在床上的那几天看了一半的《庆余年》；前两天用手机看完了《嫌疑犯X的献身》——用睡前以及一节线性回归课的时间杀完了。这些没什么营养、来源却又坎坷的电子书确实从各个层次上来说都不会比纸质书要差。但是目前为止，我需要用来长期而且正式学习地书本暂时还无法接受被电子书全盘取代。这个主要是因为目前还没有适合我的方便的标注工具，关于这点待会还会进一步讨论。 虽然这篇不应该单纯地作为反驳文出现，但是我认为表明观点的一个很好的办法就是对别人提出的问题作出自己的回答。在上面给出链接的第一篇文章中有这样一段话： “我一直觉得纸书不可替代，是因为前文所说的，很多东西是只有纸书可以承载，比如托尔斯泰，比如尼采，电子书有它能做的事，但它无法做所有的事，我不知道那是什么样的科学原理，也许是因为电子书的闪屏，也许是因为读电子书和读纸书人们的大脑处理方式不同？我不大知道，但是我无法拿着IPAD读托尔斯泰，而纸书我就能看得下去。” 对此我想说的话很简单：因为大家都是从纸质书的年代成长起来，于是纸质书了奠基现在的成年人的阅读感受，这是一种习惯的力量——打个擦边的比方，就像是刀叉和筷子，也没见着西方东方谁被饿着了，但是要相互适应对方的那套还真是一下子学不来。这样纯粹的习惯力量和什么“大脑处理方式”完全没关系，我相信上面这段话的作者年岁比我大，阅读的体验也比我多，因此不会像我这个年轻人一样不太困难地学会了对这一个发光的屏幕进行思考。不过话说回来，因为我学过一点coding，对于如何对着屏幕思考有着更多的训练与体验，所以我对此的适应性因此更强么？ 除去这么矫情的理由，我还有一个纸质书优于电子书的理由，就是前文已经提到了的输入问题。对于一个电子书文件，我至今没有发现什么比较方便/亲民的能够让我作微量笔记的软件/硬件。从速度的角度来说，打字已经把手写完全比下去了，但是从工具的便携性来看，笔仍然是键盘所不能替代的。所以对于我个人来说，电子书和纸质书在便携性上的矛盾就是图书本体的便携性以及非阅读需求的方便程度(如果喜欢看书的时候捏页脚？我和舍友tx商量了一下，他表示kindle可以镶嵌一块“捏不烂”进去)。前者的重要性是无可比拟的，但是只有当电子书能在后者也体现出优越感的时候，才能说服大家在方便性上全盘接受它。可惜在输入这一块，它还是极不成熟的。输入设备的高成本以及高复杂度是完全无法与一支简单的普通圆珠笔，文艺钢笔甚至是2B铅笔相提并论的。难道是阅读与输入不能同时拥有比较低端的方式么？我不知道，但是从情感上来说并不希望如此。 除去上面的劣势，电子书这一阅读形式有着十分多的优势。对信息的获取，提取，整理方面有着先天的优势。此外，电子书也使得出版图书的成本大大降低了，一个产业的门槛降低在很多方面来说都是一件好事（格调不高也不怕了）。我很悲哀地发现，如果电子书再发达一点，我就可以把书桌上大部分的书都改成电子版的，揉进一个阅读器里头，这样我的桌面就能空出2/3的整洁空间…… 如果说读书就是为了获取信息——文艺的说法就是“读一本好书就是和许多伟人对话”——那么我对电子书取代纸质书充满了信心，毕竟穿鞋的不怕光脚的，开车的不怕遛马的。 本文由 严酷的魔王 创作，转载或引用前请联系我们。相关文章： 从(0,1]×(0,1]到(0,1]的双射 用极限证明伯努利不等式 素数有无穷多个的另类证明（一）：两两互素的无穷序列
相关文章：<ol>
<li><a href='http://blog.programet.org/2010/04/%e4%bb%8e01%c3%9701%e5%88%b001%e7%9a%84%e5%8f%8c%e5%b0%84.html' rel='bookmark' title='从(0,1]×(0,1]到(0,1]的双射'>从(0,1]×(0,1]到(0,1]的双射</a></li>
<li><a href='http://blog.programet.org/2009/09/%e7%94%a8%e6%9e%81%e9%99%90%e8%af%81%e6%98%8e%e4%bc%af%e5%8a%aa%e5%88%a9%e4%b8%8d%e7%ad%89%e5%bc%8f.html' rel='bookmark' title='用极限证明伯努利不等式'>用极限证明伯努利不等式</a></li>
<li><a href='http://blog.programet.org/2009/11/%e7%b4%a0%e6%95%b0%e6%9c%89%e6%97%a0%e7%a9%b7%e5%a4%9a%e4%b8%aa%e7%9a%84%e5%8f%a6%e7%b1%bb%e8%af%81%e6%98%8e%ef%bc%88%e4%b8%80%ef%bc%89%ef%bc%9a%e4%b8%a4%e4%b8%a4%e4%ba%92%e7%b4%a0%e7%9a%84%e6%97%a0.html' rel='bookmark' title='素数有无穷多个的另类证明（一）：两两互素的无穷序列'>素数有无穷多个的另类证明（一）：两两互素的无穷序列</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>在豆瓣上看到两篇文章：<a href="http://www.douban.com/note/182238807/">《为什么纸书是不可替代的》</a>以及<a href="http://www.douban.com/note/182280054/">《为什么纸书是可以替代的》</a>。看到许多友邻都在推荐，那我也想说说想法。</p>
<p><span id="more-4683"></span></p>
<p>第一次把玩kindle实物是现在住在我楼上的主任拿来给我看的。那灰白的屏幕以及浅黑的文字险些让我以为是嵌入的纸张——最后还是“每翻数页就要花屏一次”的这个特征让我意识到手里捧着的是一台一千多元的电子产物。不得不说，主任把这块薄薄的同时装着《什么是数学》以及《会饮篇》的平板塞进包里时，我心里有种奇异的感觉。</p>
<p>kindle无疑是第一个在我心中确立了“电子书”地位的物体。以往无论在电脑上下载过多少的txt，doc，pdf，我都觉得没有到达“书”的层次——kindle无疑是在最后的视觉效果上推了我一把。有趣的是，在全盘接受了“电子书”这个设定之后，电脑上的pdf看起来也有些可爱了。慢慢的，在我心里面电子书的定义开始了逆袭，逐渐地延拓到了电脑上优质的重新手打+排版过的(最好还是<img src='http://s.wordpress.com/latex.php?latex=%5CLaTeX&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\LaTeX' title='\LaTeX' class='latex' />的)pdf，然后包括了普通的影印pdf，最后有了大屏幕手机，那么自然也包括了手机上的txt。至少在目前看来，我仍然不会接受doc，因为一本书的内容只能被读者标注和注解，而不能任意地删改。</p>
<p>暑假晕在床上的那几天看了一半的《庆余年》；前两天用手机看完了《嫌疑犯X的献身》——用睡前以及一节线性回归课的时间杀完了。这些没什么营养、来源却又坎坷的电子书确实从各个层次上来说都不会比纸质书要差。但是目前为止，我需要用来长期而且正式学习地书本暂时还无法接受被电子书全盘取代。这个主要是因为目前还没有适合我的方便的标注工具，关于这点待会还会进一步讨论。</p>
<p>虽然这篇不应该单纯地作为反驳文出现，但是我认为表明观点的一个很好的办法就是对别人提出的问题作出自己的回答。在上面给出链接的第一篇文章中有这样一段话：</p>
<blockquote><p>“我一直觉得纸书不可替代，是因为前文所说的，很多东西是只有纸书可以承载，比如托尔斯泰，比如尼采，电子书有它能做的事，但它无法做所有的事，我不知道那是什么样的科学原理，也许是因为电子书的闪屏，也许是因为读电子书和读纸书人们的大脑处理方式不同？我不大知道，但是我无法拿着IPAD读托尔斯泰，而纸书我就能看得下去。”</p></blockquote>
<p>对此我想说的话很简单：因为大家都是从纸质书的年代成长起来，于是纸质书了奠基现在的成年人的阅读感受，这是一种习惯的力量——打个擦边的比方，就像是刀叉和筷子，也没见着西方东方谁被饿着了，但是要相互适应对方的那套还真是一下子学不来。这样纯粹的习惯力量和什么“大脑处理方式”完全没关系，我相信上面这段话的作者年岁比我大，阅读的体验也比我多，因此不会像我这个年轻人一样不太困难地学会了对这一个发光的屏幕进行思考。不过话说回来，因为我学过一点coding，对于如何对着屏幕思考有着更多的训练与体验，所以我对此的适应性因此更强么？</p>
<p>除去这么矫情的理由，我还有一个纸质书优于电子书的理由，就是前文已经提到了的输入问题。对于一个电子书文件，我至今没有发现什么比较方便/亲民的能够让我作微量笔记的软件/硬件。从速度的角度来说，打字已经把手写完全比下去了，但是从工具的便携性来看，笔仍然是键盘所不能替代的。所以对于我个人来说，电子书和纸质书在便携性上的矛盾就是图书本体的便携性以及非阅读需求的方便程度(如果喜欢看书的时候捏页脚？我和舍友tx商量了一下，他表示kindle可以镶嵌一块“捏不烂”进去)。前者的重要性是无可比拟的，但是只有当电子书能在后者也体现出优越感的时候，才能说服大家在方便性上全盘接受它。可惜在输入这一块，它还是极不成熟的。输入设备的高成本以及高复杂度是完全无法与一支简单的普通圆珠笔，文艺钢笔甚至是2B铅笔相提并论的。难道是阅读与输入不能同时拥有比较低端的方式么？我不知道，但是从情感上来说并不希望如此。</p>
<p>除去上面的劣势，电子书这一阅读形式有着十分多的优势。对信息的获取，提取，整理方面有着先天的优势。此外，电子书也使得出版图书的成本大大降低了，一个产业的门槛降低在很多方面来说都是一件好事（格调不高也不怕了）。我很悲哀地发现，如果电子书再发达一点，我就可以把书桌上大部分的书都改成电子版的，揉进一个阅读器里头，这样我的桌面就能空出2/3的整洁空间……</p>
<p>如果说读书就是为了获取信息——文艺的说法就是“读一本好书就是和许多伟人对话”——那么我对电子书取代纸质书充满了信心，毕竟穿鞋的不怕光脚的，开车的不怕遛马的。</p>
<p><small>本文由 严酷的魔王 创作，转载或引用前请<a href="mailto:programet.org@gmail.com">联系我们</a>。</small></p><p>相关文章：<ol>
<li><a href='http://blog.programet.org/2010/04/%e4%bb%8e01%c3%9701%e5%88%b001%e7%9a%84%e5%8f%8c%e5%b0%84.html' rel='bookmark' title='从(0,1]×(0,1]到(0,1]的双射'>从(0,1]×(0,1]到(0,1]的双射</a></li>
<li><a href='http://blog.programet.org/2009/09/%e7%94%a8%e6%9e%81%e9%99%90%e8%af%81%e6%98%8e%e4%bc%af%e5%8a%aa%e5%88%a9%e4%b8%8d%e7%ad%89%e5%bc%8f.html' rel='bookmark' title='用极限证明伯努利不等式'>用极限证明伯努利不等式</a></li>
<li><a href='http://blog.programet.org/2009/11/%e7%b4%a0%e6%95%b0%e6%9c%89%e6%97%a0%e7%a9%b7%e5%a4%9a%e4%b8%aa%e7%9a%84%e5%8f%a6%e7%b1%bb%e8%af%81%e6%98%8e%ef%bc%88%e4%b8%80%ef%bc%89%ef%bc%9a%e4%b8%a4%e4%b8%a4%e4%ba%92%e7%b4%a0%e7%9a%84%e6%97%a0.html' rel='bookmark' title='素数有无穷多个的另类证明（一）：两两互素的无穷序列'>素数有无穷多个的另类证明（一）：两两互素的无穷序列</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.programet.org/2011/11/%e4%b8%ba%e4%bb%80%e4%b9%88%e7%ba%b8%e8%b4%a8%e4%b9%a6%e6%98%af%e5%8f%af%e4%bb%a5%e6%9b%bf%e4%bb%a3%e7%9a%84%ef%bc%9f.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>与不可数集有关的博弈游戏</title>
		<link>http://blog.programet.org/2011/10/%e4%b8%8e%e4%b8%8d%e5%8f%af%e6%95%b0%e9%9b%86%e6%9c%89%e5%85%b3%e7%9a%84%e5%8d%9a%e5%bc%88%e6%b8%b8%e6%88%8f.html</link>
		<comments>http://blog.programet.org/2011/10/%e4%b8%8e%e4%b8%8d%e5%8f%af%e6%95%b0%e9%9b%86%e6%9c%89%e5%85%b3%e7%9a%84%e5%8d%9a%e5%bc%88%e6%b8%b8%e6%88%8f.html#comments</comments>
		<pubDate>Tue, 18 Oct 2011 14:39:12 +0000</pubDate>
		<dc:creator>严酷的魔王</dc:creator>
				<category><![CDATA[原创博文]]></category>
		<category><![CDATA[数学]]></category>
		<category><![CDATA[博弈]]></category>
		<category><![CDATA[无穷]]></category>
		<category><![CDATA[集合]]></category>

		<guid isPermaLink="false">http://blog.programet.org/?p=4630</guid>
		<description><![CDATA[今天在mindyourdecision上面看到一个挺好玩的博弈游戏。 不妨称呼博弈双方为A和B，现在他们要玩一个类似井字棋(tic-tac-toe)的游戏。A使用一个6*6的方阵，而B使用一行1*6的格子。首先，A分别为第一行的每一个填入自己选择的X或O，然后B选择使用X或者O填入第一个格子中。接着，A继续用XXOO填满第二行，B将X和O填入第二个格子。如此进行六次，两个人的格子就都被填满了。现在，如果A的格子中存在某一行与B的那一行完全相同，那么A就赢了。如果是你，你选择当A还是B呢？ 解答：不管你选不选B，反正我是选B了。实际上，B的必胜策略会让人感觉十分熟悉。 B需要保证自己的那一行与A的每一个行都不相同，也就是说B的那一行与A的每一行都至少在一格上有差别。于是，下面的图示展示了B的一种获胜策略。 A填满后的6*6格子： OXXOXO OOXXOX XXXOXX OOOXOX XXOOOO OOXOOX 我们考察粗体标出的对角线：OOXXOX。这时候B只需要将这串字符反过来写：XXOOXO。 这样一来，B的第一格和A的第一行第一格不同，B的第二格和A的第二行第二格不同，……。因为是A先填，所以B只需要等A填完第i行，然后在第i格填上与A的第i行第i格相反的字母即可。实际上，对于任意n*n以及1*n的格子都能够使用这个策略，甚至当n→∞的时候都能够保证B不败。 大家应该都想到了，B的必胜策略实际上就是康托当年祭出的对角线法。他用这个方法证明了实数是不可数的，也就是说实数不可能像自然数一样能拥有专属与自己的整数编号。 这个博弈游戏使用了康托证明实数不可数的手法，让我想起了一起看到过有牛人设计了一个博弈游戏，通过这个证明了实数是不可数的。这个游戏的规则是这样的： 参与者仍然是两个玩家A和B。首先A选出[0,1]区间的一些子集，并为S，接着从A开始两个人轮流在[0,1]之间选取数字。A首先在(0,1)中选取数字a[1]，接着B选取b[1]满足a[1]&#60;b[1]&#60;1，接着A选取数字a[2]满足a[1]&#60;a[2]&#60;b[1]，B选取b[2]满足a[2]&#60;b[2]&#60;b[1]……一般地，A的第n次选数字要满足a[n-1]&#60;a[n]&#60;b[n]，接着b[n]要满足a[n]&#60;b[n]&#60;b[n-1]。根据区间套定理，我们知道最后他们每轮选数产生的区间会收敛到一个数T。如果最后发现数字T收敛到了S中，那么B就胜利了，反之A就是赢家。 那么这个游戏和可数集有什么关系呢？因为我们有这个结论：如果S是可数集，那么B必胜。 因为S是可数集，那么它的元素就能够被列举为s[1],s[2],……我们还会发现，B的第n步是在区间(a[n-1],b[n])中选的，如果这个区间中已经没有S中的元素了，那么B自然获得了胜利。如果还存在S中的元素，那么就让B任意选取一个。这样B选完n次数，就会有至少n个S中的数被剔除于区间(a[n-1],b[n])外。因此S中的每一个元素都会在某一步之后被剔除，所以最后T不会属于S。 但是，A是一定能够胜利的。为什么呢？因为只要A让S=[0,1],他就赢了——虽然说很无耻，但是很有效……这样一来，B就不能赢了，[0,1]也就不是可数集了。 本文由 严酷的魔王 创作，转载或引用前请联系我们。相关文章： Programestory 3外 DR的推理大作战！ 小学的方法，超越数与其它 从(0,1]×(0,1]到(0,1]的双射
相关文章：<ol>
<li><a href='http://blog.programet.org/2011/11/programestory-3%e5%a4%96-dr%e7%9a%84%e6%8e%a8%e7%90%86%e5%a4%a7%e4%bd%9c%e6%88%98%ef%bc%81.html' rel='bookmark' title='Programestory 3外 DR的推理大作战！'>Programestory 3外 DR的推理大作战！</a></li>
<li><a href='http://blog.programet.org/2009/06/%e5%b0%8f%e5%ad%a6%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%8c%e8%b6%85%e8%b6%8a%e6%95%b0%e4%b8%8e%e5%85%b6%e5%ae%83.html' rel='bookmark' title='小学的方法，超越数与其它'>小学的方法，超越数与其它</a></li>
<li><a href='http://blog.programet.org/2010/04/%e4%bb%8e01%c3%9701%e5%88%b001%e7%9a%84%e5%8f%8c%e5%b0%84.html' rel='bookmark' title='从(0,1]×(0,1]到(0,1]的双射'>从(0,1]×(0,1]到(0,1]的双射</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>今天在<a href="http://mindyourdecisions.com/blog/2011/10/18/a-math-game-of-dodgeball/">mindyourdecision</a>上面看到一个挺好玩的博弈游戏。</p>
<p><span id="more-4630"></span></p>
<p>不妨称呼博弈双方为A和B，现在他们要玩一个类似井字棋(tic-tac-toe)的游戏。A使用一个6*6的方阵，而B使用一行1*6的格子。首先，A分别为第一行的每一个填入自己选择的X或O，然后B选择使用X或者O填入第一个格子中。接着，A继续用XXOO填满第二行，B将X和O填入第二个格子。如此进行六次，两个人的格子就都被填满了。现在，如果A的格子中存在某一行与B的那一行完全相同，那么A就赢了。如果是你，你选择当A还是B呢？</p>
<p>解答：不管你选不选B，反正我是选B了。实际上，B的必胜策略会让人感觉十分熟悉。</p>
<p>B需要保证自己的那一行与A的每一个行都不相同，也就是说B的那一行与A的每一行都至少在一格上有差别。于是，下面的图示展示了B的一种获胜策略。</p>
<p>A填满后的6*6格子：</p>
<p><strong>O</strong>XXOXO</p>
<p>O<strong>O</strong>XXOX</p>
<p>XX<strong>X</strong>OXX</p>
<p>OOO<strong>X</strong>OX</p>
<p>XXOO<strong>O</strong>O</p>
<p>OOXOO<strong>X</strong></p>
<p>我们考察粗体标出的对角线：OOXXOX。这时候B只需要将这串字符反过来写：XXOOXO。</p>
<p>这样一来，B的第一格和A的第一行第一格不同，B的第二格和A的第二行第二格不同，……。因为是A先填，所以B只需要等A填完第i行，然后在第i格填上与A的第i行第i格相反的字母即可。实际上，对于任意n*n以及1*n的格子都能够使用这个策略，甚至当n→∞的时候都能够保证B不败。</p>
<p>大家应该都想到了，B的必胜策略实际上就是康托当年祭出的对角线法。他用这个方法证明了实数是不可数的，也就是说实数不可能像自然数一样能拥有专属与自己的整数编号。</p>
<p>这个博弈游戏使用了康托证明实数不可数的手法，让我想起了一起看到过有牛人设计了一个博弈游戏，通过这个证明了实数是不可数的。这个游戏的规则是这样的：</p>
<p>参与者仍然是两个玩家A和B。首先A选出[0,1]区间的一些子集，并为S，接着从A开始两个人轮流在[0,1]之间选取数字。A首先在(0,1)中选取数字a[1]，接着B选取b[1]满足a[1]&lt;b[1]&lt;1，接着A选取数字a[2]满足a[1]&lt;a[2]&lt;b[1]，B选取b[2]满足a[2]&lt;b[2]&lt;b[1]……一般地，A的第n次选数字要满足a[n-1]&lt;a[n]&lt;b[n]，接着b[n]要满足a[n]&lt;b[n]&lt;b[n-1]。根据区间套定理，我们知道最后他们每轮选数产生的区间会收敛到一个数T。如果最后发现数字T收敛到了S中，那么B就胜利了，反之A就是赢家。</p>
<p>那么这个游戏和可数集有什么关系呢？因为我们有这个结论：如果S是可数集，那么B必胜。</p>
<p>因为S是可数集，那么它的元素就能够被列举为s[1],s[2],……我们还会发现，B的第n步是在区间(a[n-1],b[n])中选的，如果这个区间中已经没有S中的元素了，那么B自然获得了胜利。如果还存在S中的元素，那么就让B任意选取一个。这样B选完n次数，就会有至少n个S中的数被剔除于区间(a[n-1],b[n])外。因此S中的每一个元素都会在某一步之后被剔除，所以最后T不会属于S。</p>
<p>但是，A是一定能够胜利的。为什么呢？因为只要A让S=[0,1],他就赢了——虽然说很无耻，但是很有效……这样一来，B就不能赢了，[0,1]也就不是可数集了。</p>
<p><small>本文由 严酷的魔王 创作，转载或引用前请<a href="mailto:programet.org@gmail.com">联系我们</a>。</small></p><p>相关文章：<ol>
<li><a href='http://blog.programet.org/2011/11/programestory-3%e5%a4%96-dr%e7%9a%84%e6%8e%a8%e7%90%86%e5%a4%a7%e4%bd%9c%e6%88%98%ef%bc%81.html' rel='bookmark' title='Programestory 3外 DR的推理大作战！'>Programestory 3外 DR的推理大作战！</a></li>
<li><a href='http://blog.programet.org/2009/06/%e5%b0%8f%e5%ad%a6%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%8c%e8%b6%85%e8%b6%8a%e6%95%b0%e4%b8%8e%e5%85%b6%e5%ae%83.html' rel='bookmark' title='小学的方法，超越数与其它'>小学的方法，超越数与其它</a></li>
<li><a href='http://blog.programet.org/2010/04/%e4%bb%8e01%c3%9701%e5%88%b001%e7%9a%84%e5%8f%8c%e5%b0%84.html' rel='bookmark' title='从(0,1]×(0,1]到(0,1]的双射'>从(0,1]×(0,1]到(0,1]的双射</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.programet.org/2011/10/%e4%b8%8e%e4%b8%8d%e5%8f%af%e6%95%b0%e9%9b%86%e6%9c%89%e5%85%b3%e7%9a%84%e5%8d%9a%e5%bc%88%e6%b8%b8%e6%88%8f.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>“你们的hello world 都弱暴了 ”</title>
		<link>http://blog.programet.org/2011/08/%e2%80%9c%e4%bd%a0%e4%bb%ac%e7%9a%84hello-world-%e9%83%bd%e5%bc%b1%e6%9a%b4%e4%ba%86-%e2%80%9d.html</link>
		<comments>http://blog.programet.org/2011/08/%e2%80%9c%e4%bd%a0%e4%bb%ac%e7%9a%84hello-world-%e9%83%bd%e5%bc%b1%e6%9a%b4%e4%ba%86-%e2%80%9d.html#comments</comments>
		<pubDate>Wed, 31 Aug 2011 12:34:44 +0000</pubDate>
		<dc:creator>严酷的魔王</dc:creator>
				<category><![CDATA[原创博文]]></category>
		<category><![CDATA[恶搞]]></category>
		<category><![CDATA[程序]]></category>
		<category><![CDATA[计算机]]></category>
		<category><![CDATA[非严肃]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[图片]]></category>
		<category><![CDATA[设计]]></category>

		<guid isPermaLink="false">http://blog.programet.org/?p=4546</guid>
		<description><![CDATA[——标题来自于果壳网烧饭阿姨的帖子。 阿姨的帖子只有下面这幅图(请点击查看大图)： 图片有点大(4.2M)，小水管用户请耐心等待。 这幅图展示的内容看起来非常神奇，一个人用windows的画板便能够code出一个hello world出来。当然电脑上面的任何看似神奇的东西一定是有其原理的。所以我觉得自己也能够制造出同样的效果。 为了还原这段代码对应的bmp图像，我在经过各种尝试之后觉得下面这种方法应该是最简单的了。 首先我们需要一个16位编辑器来进行主要操作，像什么UltraEdit，WinHex就很好了，我在网上找到的是一个只有80K大小的Hex-Ed。 然后我们新建一个txt文件，在里面输入你的代码，就比如图片中的 #include int main() { std::cout&#60;&#60;&#8221;Hello World&#8221;&#60; return 0; } 输入之后，保存。接着我们用Hex-Ed打开刚才编辑的这段代码，你就应该看到如下画面： 保留着这个窗口，不要关闭。接着我们新建一个bmp文件，保留内容的空白，使用windows自带画图将大小调整为8*4的规格并保存图片——如果觉得自己鼠标不够稳，不妨在8倍放大的模式下进行尺寸调整。再次使用Hex-Ed打开这个bmp文件，你看到的内容应该如下所示： 那一串串的“FF”实际上就是bmp图像中白色色块的代码。接下来我们要做的就是用第一幅图中代码的内容覆盖掉所有的&#8221;FF&#8221;。在输入代码的时候，文字可以直接在右边的窗口输入，但是不可见字符（比如换行符制表符之类的）就可以在左边输入16进制的数字代码。对照着编辑完之后，我觉得你应该会看见下面的效果： 将这个编辑成果保存之后，打开那个bmp图，放大了仔细看——是不是出现了五颜六色的色块了？与动态图中一样，用记事本打开，应该也出现了同样的代码~ 最后，大家可以从这幅色彩斑斓的图片中提取出颜色信息，努力背诵，说不定可以在初级程序员面前直接用画图作画，像动态图中的那样大显身手哦~至于灵活运用于向GEEK妹子表白之类的用途我才不会说呢…… 本文由 严酷的魔王 创作，转载或引用前请联系我们。相关文章： 学习使用GTK+ 2.GTK+“Hello World”——对GTK+运作机制的通俗介绍 说什么就是什么：Your World Of Text Half a World Away
相关文章：<ol>
<li><a href='http://blog.programet.org/2010/09/gtk-2.html' rel='bookmark' title='学习使用GTK+ 2.GTK+“Hello World”——对GTK+运作机制的通俗介绍'>学习使用GTK+ 2.GTK+“Hello World”——对GTK+运作机制的通俗介绍</a></li>
<li><a href='http://blog.programet.org/2009/08/%e8%af%b4%e4%bb%80%e4%b9%88%e5%b0%b1%e6%98%af%e4%bb%80%e4%b9%88%ef%bc%9ayour-world-of-text.html' rel='bookmark' title='说什么就是什么：Your World Of Text'>说什么就是什么：Your World Of Text</a></li>
<li><a href='http://blog.programet.org/2009/07/half-a-world-away.html' rel='bookmark' title='Half a World Away'>Half a World Away</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>——标题来自于果壳网烧饭阿姨的<a href="http://www.guokr.com/post/61527/">帖子</a>。</p>
<p><span id="more-4546"></span></p>
<p>阿姨的帖子只有下面这幅图(请点击查看大图)：</p>
<p><a href="http://i.imgur.com/QlGpd.gif"><img class="alignnone" src="http://i.imgur.com/QlGpd.gif" alt="" width="416" height="184" /></a></p>
<p>图片有点大(4.2M)，小水管用户请耐心等待。</p>
<p>这幅图展示的内容看起来非常神奇，一个人用windows的画板便能够code出一个hello world出来。当然电脑上面的任何看似神奇的东西一定是有其原理的。所以我觉得自己也能够制造出同样的效果。</p>
<p>为了还原这段代码对应的bmp图像，我在经过各种尝试之后觉得下面这种方法应该是最简单的了。</p>
<p>首先我们需要一个16位编辑器来进行主要操作，像什么UltraEdit，WinHex就很好了，我在网上找到的是一个只有80K大小的Hex-Ed。</p>
<p>然后我们新建一个txt文件，在里面输入你的代码，就比如图片中的</p>
<p>#include</p>
<p>int main()</p>
<p>{</p>
<p>std::cout&lt;&lt;&#8221;Hello World&#8221;&lt;</p>
<p>return 0;</p>
<p>}</p>
<p>输入之后，保存。接着我们用Hex-Ed打开刚才编辑的这段代码，你就应该看到如下画面：</p>
<p><a href="http://blog.programet.org/wp-content/uploads/txt.jpg"><img class="aligncenter size-full wp-image-4549" title="txt" src="http://blog.programet.org/wp-content/uploads/txt.jpg" alt="" width="410" height="321" /></a></p>
<p>保留着这个窗口，不要关闭。接着我们新建一个bmp文件，保留内容的空白，使用windows自带画图将大小调整为8*4的规格并保存图片——如果觉得自己鼠标不够稳，不妨在8倍放大的模式下进行尺寸调整。再次使用Hex-Ed打开这个bmp文件，你看到的内容应该如下所示：</p>
<p><a href="http://blog.programet.org/wp-content/uploads/really-empty.jpg"><img class="aligncenter size-full wp-image-4550" title="really empty" src="http://blog.programet.org/wp-content/uploads/really-empty.jpg" alt="" width="422" height="330" /></a></p>
<p>那一串串的“FF”实际上就是bmp图像中白色色块的代码。接下来我们要做的就是用第一幅图中代码的内容覆盖掉所有的&#8221;FF&#8221;。在输入代码的时候，文字可以直接在右边的窗口输入，但是不可见字符（比如换行符制表符之类的）就可以在左边输入16进制的数字代码。对照着编辑完之后，我觉得你应该会看见下面的效果：</p>
<p><a href="http://blog.programet.org/wp-content/uploads/finish.jpg"><img class="aligncenter size-full wp-image-4551" title="finish" src="http://blog.programet.org/wp-content/uploads/finish.jpg" alt="" width="433" height="340" /></a></p>
<p>将这个编辑成果保存之后，打开那个bmp图，放大了仔细看——是不是出现了五颜六色的色块了？与动态图中一样，用记事本打开，应该也出现了同样的代码~</p>
<p><img class="aligncenter size-full wp-image-4552" title="bigfinal" src="http://blog.programet.org/wp-content/uploads/bigfinal.bmp" alt="" /></p>
<p>最后，大家可以从这幅色彩斑斓的图片中提取出颜色信息，努力背诵，说不定可以在初级程序员面前直接用画图作画，像动态图中的那样大显身手哦~至于灵活运用于向GEEK妹子表白之类的用途我才不会说呢……</p>
<p><small>本文由 严酷的魔王 创作，转载或引用前请<a href="mailto:programet.org@gmail.com">联系我们</a>。</small></p><p>相关文章：<ol>
<li><a href='http://blog.programet.org/2010/09/gtk-2.html' rel='bookmark' title='学习使用GTK+ 2.GTK+“Hello World”——对GTK+运作机制的通俗介绍'>学习使用GTK+ 2.GTK+“Hello World”——对GTK+运作机制的通俗介绍</a></li>
<li><a href='http://blog.programet.org/2009/08/%e8%af%b4%e4%bb%80%e4%b9%88%e5%b0%b1%e6%98%af%e4%bb%80%e4%b9%88%ef%bc%9ayour-world-of-text.html' rel='bookmark' title='说什么就是什么：Your World Of Text'>说什么就是什么：Your World Of Text</a></li>
<li><a href='http://blog.programet.org/2009/07/half-a-world-away.html' rel='bookmark' title='Half a World Away'>Half a World Away</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.programet.org/2011/08/%e2%80%9c%e4%bd%a0%e4%bb%ac%e7%9a%84hello-world-%e9%83%bd%e5%bc%b1%e6%9a%b4%e4%ba%86-%e2%80%9d.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>你被这些网络迷题难倒过吗？</title>
		<link>http://blog.programet.org/2011/08/%e4%bd%a0%e8%a2%ab%e8%bf%99%e4%ba%9b%e7%bd%91%e7%bb%9c%e8%bf%b7%e9%a2%98%e9%9a%be%e5%80%92%e8%bf%87%e5%90%97%ef%bc%9f.html</link>
		<comments>http://blog.programet.org/2011/08/%e4%bd%a0%e8%a2%ab%e8%bf%99%e4%ba%9b%e7%bd%91%e7%bb%9c%e8%bf%b7%e9%a2%98%e9%9a%be%e5%80%92%e8%bf%87%e5%90%97%ef%bc%9f.html#comments</comments>
		<pubDate>Tue, 30 Aug 2011 12:24:07 +0000</pubDate>
		<dc:creator>严酷的魔王</dc:creator>
				<category><![CDATA[原创博文]]></category>
		<category><![CDATA[科普]]></category>
		<category><![CDATA[非严肃]]></category>
		<category><![CDATA[智慧]]></category>
		<category><![CDATA[果壳]]></category>
		<category><![CDATA[概率]]></category>

		<guid isPermaLink="false">http://blog.programet.org/?p=4538</guid>
		<description><![CDATA[经常有一些网络迷题让观众看得瞠目结舌。要说的是，这其中不乏一些设计巧妙的。但对于死理性派来说，再精巧的设计，也会被看穿。本文在这里，就解释了几个流传颇广的经典数学谜题奥秘所在。 &#160; 消失的正方形 这是数学游戏大师马丁·加德纳在《从惊讶到思考》一书中提到过的例子。重新摆放分割的小块图形后，上面的正方形中少了一个小方格，它去了哪里？我们 不妨实际操作一下，做两个全等的、上面没有孔洞的正方形（做的越大越好）。把其中一个按图中的式样精确地剪成所需要的五块，然后重新安排一下，拼成右边的 样子的。最后把它放到未经剪切的正方形上边，让二者的上边和两侧边都重合。你会发现，其实带方格的图形不是真正的正方形。它实际上是长方形，比正方形高 1／12。它的底部多出一个 12 * （1／12） 的窄带，其面积恰好等同于消失方格的面积。 所有三角形都是等腰三角形 这是一个颇为古老的数学把戏。最近又开始在网上流传。不妨来看看这个神奇的结论是如何得到的。 在一个任意△ABC中，做A点的角平分线，交BC边的垂直平分线A&#8217;O于点O。然后过O点分别做AB与AC边上的垂线，垂足为C&#8217;和B&#8217;。 显然△AC'O≌△AB'O，所以 AC' = AB'， C'O = B'O 又因为 BO = CO， ∠OB'C = ∠OC'B 所以△BOC'≌△COB'。 推得： C'B = B'C AB = AC'+ C'B = AB' + B'C = AC，即△ABC是等腰三角形。 正如前面所说，平面几何的谬误大多都是在有误差的图上做文章的。实际上，角平分线会与其相对的垂直平分线并不相交于三角形内，而是交于三角形外部。所以即使有AC&#8217;=AB&#8217;，BC&#8217;=B&#8217;C，我们也能一眼看出AB=AC&#8217;+AB&#8217;，AC=BC&#8217;-B&#8217;C。 图里藏人 下面让我们见识一下什么是“大变活人”。 先看两排爷们的脸 把上面的图从中间剪开，然后挪动成下图那样，怎么就少了一个人？ 再看下面这张图。 上图仅仅通过两个动作，剪切和互换，就让人数在十二和十三之间变来变去，这是怎么回事？ 眼尖的读者或许已经发现了，这种精心的安排其实是移花接木。以“爷们脸”这幅图为例（这幅图较简单），第一个人变成了圆下巴，第二个直接变成了双下巴，第三个的鼻子变大了，第四个的鼻子变长了，第五个换了一个表情，多了眉毛。 因为整个图的面积不变，但是脸个数少了一个，导致剩下的那些脸都变大了一些，其结果就是所有爷们个个是长脸。这种传递式的面积分配，很容易通过上色标记的办法清晰地辨认出来。 而至于第二个图，不得不说那是一个精妙无比的设计。不妨在图片变动之前，对十二个人编号。 再看看移动之后的号码变动情况，其中上身和下身都对应着各自的编号。 如果仔细看，便会发现移动之后1号小小地少了一撮头发，10号的鞋底也被削了一层。他们各自都被从身体的某个部位切割下一点东西，活生生拼凑出了一个人。当画面上出现13个人时，每个人都比出现12个时要矮 [...]
相关文章：<ol>
<li><a href='http://blog.programet.org/2010/08/%e7%bb%9f%e8%ae%a1%e4%b8%8e%e6%8e%a8%e7%90%863%ef%bc%9aktv%e9%87%8c%e7%9a%84%e9%aa%b0%e5%ad%90%e6%b8%b8%e6%88%8f.html' rel='bookmark' title='统计与推理(3)：KTV里的骰子游戏'>统计与推理(3)：KTV里的骰子游戏</a></li>
<li><a href='http://blog.programet.org/2011/07/%e4%b8%8d%e5%8f%af%e6%80%9d%e8%ae%ae%e7%9a%84%e7%ae%b1%e5%ad%90%ef%bc%9a%e4%bd%a0%e7%9a%84%e4%b8%80%e7%94%9f%e5%b0%b1%e5%9c%a8%e9%87%8c%e9%9d%a2.html' rel='bookmark' title='不可思议的箱子：你的一生就在里面'>不可思议的箱子：你的一生就在里面</a></li>
<li><a href='http://blog.programet.org/2009/12/%e5%b7%a5%e6%ac%b2%e5%96%84%e5%85%b6%e4%ba%8b%ef%bc%8c%e5%bf%85%e6%9c%89%e5%99%a8%e2%80%94%e2%80%94cad%e4%ba%8c%e4%b8%89%e4%ba%8b.html' rel='bookmark' title='工欲善其事，必有器——CAD二三事'>工欲善其事，必有器——CAD二三事</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<blockquote><p>经常有一些网络迷题让观众看得瞠目结舌。要说的是，这其中不乏一些设计巧妙的。但对于死理性派来说，再精巧的设计，也会被看穿。本文在这里，就解释了几个流传颇广的经典数学谜题奥秘所在。</p></blockquote>
<p><span id="more-4538"></span></p>
<p>&nbsp;</p>
<h3>消失的正方形</h3>
<p><img src="http://img1.guokr.com/gkimage/a2/3k/4g/a23k4g.png" alt="/gkimage/a2/3k/4g/a23k4g.png" width="450" height="200" /></p>
<p>这是数学游戏大师马丁·加德纳在《从惊讶到思考》一书中提到过的例子。重新摆放分割的小块图形后，上面的正方形中少了一个小方格，它去了哪里？我们 不妨实际操作一下，做两个全等的、上面没有孔洞的正方形（做的越大越好）。把其中一个按图中的式样精确地剪成所需要的五块，然后重新安排一下，拼成右边的 样子的。最后把它放到未经剪切的正方形上边，让二者的上边和两侧边都重合。你会发现，其实带方格的图形不是真正的正方形。它实际上是长方形，比正方形高  1／12。它的底部多出一个 12 * （1／12） 的窄带，其面积恰好等同于消失方格的面积。</p>
<h3>所有三角形都是等腰三角形</h3>
<p>这是一个颇为古老的数学把戏。最近又开始在网上流传。不妨来看看这个神奇的结论是如何得到的。</p>
<p>在一个任意△ABC中，做A点的角平分线，交BC边的垂直平分线A&#8217;O于点O。然后过O点分别做AB与AC边上的垂线，垂足为C&#8217;和B&#8217;。</p>
<p><img src="http://img1.guokr.com/gkimage/00/9c/e6/009ce6.png" alt="/gkimage/00/9c/e6/009ce6.png" /></p>
<pre>显然△AC'O≌△AB'O，所以 AC' = AB'， C'O = B'O

又因为 BO = CO， ∠OB'C = ∠OC'B

所以△BOC'≌△COB'。  推得： C'B = B'C

AB = AC'+ C'B = AB' + B'C = AC，即△ABC是等腰三角形。
</pre>
<p>正如前面所说，平面几何的谬误大多都是在有误差的图上做文章的。实际上，角平分线会与其相对的垂直平分线并不相交于三角形内，而是交于三角形外部。所以即使有AC&#8217;=AB&#8217;，BC&#8217;=B&#8217;C，我们也能一眼看出AB=AC&#8217;+AB&#8217;，AC=BC&#8217;-B&#8217;C。</p>
<p><img src="http://img1.guokr.com/gkimage/0w/b5/0p/0wb50p.png" alt="/gkimage/0w/b5/0p/0wb50p.png" /></p>
<h3>图里藏人</h3>
<p>下面让我们见识一下什么是“大变活人”。</p>
<p>先看两排爷们的脸</p>
<p><img src="http://img1.guokr.com/gkimage/mw/rk/ev/mwrkev.png" alt="/gkimage/mw/rk/ev/mwrkev.png" /></p>
<p>把上面的图从中间剪开，然后挪动成下图那样，怎么就少了一个人？</p>
<p>再看下面这张图。</p>
<p><img src="http://img1.guokr.com/gkimage/8p/96/ay/8p96ay.png" alt="/gkimage/8p/96/ay/8p96ay.png" /></p>
<p>上图仅仅通过两个动作，剪切和互换，就让人数在十二和十三之间变来变去，这是怎么回事？</p>
<p>眼尖的读者或许已经发现了，这种精心的安排其实是移花接木。以“爷们脸”这幅图为例（这幅图较简单），第一个人变成了圆下巴，第二个直接变成了双下巴，第三个的鼻子变大了，第四个的鼻子变长了，第五个换了一个表情，多了眉毛。</p>
<p>因为整个图的面积不变，但是脸个数少了一个，导致剩下的那些脸都变大了一些，其结果就是所有爷们个个是长脸。这种传递式的面积分配，很容易通过上色标记的办法清晰地辨认出来。</p>
<p><img src="http://img1.guokr.com/gkimage/5m/3j/lu/5m3jlu.png" alt="/gkimage/5m/3j/lu/5m3jlu.png" /></p>
<p>而至于第二个图，不得不说那是一个精妙无比的设计。不妨在图片变动之前，对十二个人编号。</p>
<p><img src="http://img1.guokr.com/gkimage/pm/ah/j9/pmahj9.png" alt="/gkimage/pm/ah/j9/pmahj9.png" /></p>
<p>再看看移动之后的号码变动情况，其中上身和下身都对应着各自的编号。</p>
<p><img src="http://img1.guokr.com/gkimage/hw/dz/rq/hwdzrq.png" alt="/gkimage/hw/dz/rq/hwdzrq.png" /></p>
<p>如果仔细看，便会发现移动之后1号小小地少了一撮头发，10号的鞋底也被削了一层。他们各自都被从身体的某个部位切割下一点东西，活生生拼凑出了一个人。当画面上出现13个人时，每个人都比出现12个时要矮 1／13。</p>
<p>两幅图的原理都是通过累积很多次细微尺寸的变化，最终改变图中物品的数量。第一幅较为简单，而第二幅用十二人切合成十三个，做了十二件事（从每个人身上“偷”一点），但却只用了两个动作！其精巧程度实在让人佩服。</p>
<p>有趣的是，有一种古老的伪造钱币的方法正是以这种原理为基础的。按照上面的方法可以类似地把九张钞票分成18份，重新安排成十张。但这样伪造的钞票 很容易被侦破，不建议读者采用。因为票面上特殊的两个数字串，钱号在这种操作下已不相匹配。在所有的钞票上，这两个数字串都是位于相对的两端，一高一低。 这正是为了挫败这种伪造企图。</p>
<p><img src="http://img1.guokr.com/gkimage/co/hl/7i/cohl7i.png" alt="/gkimage/co/hl/7i/cohl7i.png" /></p>
<h3>看似一样的信息，不一样的结果</h3>
<p>一位母亲有两个孩子，有人问母亲的朋友A，两个孩子都是女孩吗？这位朋友说：“我不清楚，但有一个是女孩”。母亲的另一位朋友B说：“我上次去她家，看到一个女孩”。朋友A听到，表示不屑：“这和我说的不是一样的吗”。</p>
<p>看起来这两个信息没有差别，但它们真的是等同的吗？</p>
<p>答案是：不同的。由A给出的信息可以推出两个孩子全是女孩的概率是1／3，而由B则是1／2。</p>
<p>让我们仔细分析一番。根据A的叙述，我们知道“两个小孩中有女孩”，而两个小孩的性别组合有四种情况：男男，男女，女男和女女。因为知道了两个小孩中有女孩，所以可以排除“男男”，两个小孩都是女孩的概率便是1／3。</p>
<p>而B的陈述是看到一个孩子是女孩，问题实际上就转化成了“另一个孩子是不是女孩”，因此两个小孩都是女孩的概率是1／2。</p>
<p>为什么呢？这是因为在进行概率计算的时候， <strong>不确定的描述往往意味着更多的可能性</strong> 。一个类似的例子是，打牌的的时候，如果有人说，“来打个赌吧，我现在有一张A，猜猜我还有没有更多A？”这种情况下他很可能会输，但如果他报出抓到的那张A的花色，“我现在有一张黑桃A，猜猜我还有没有更多的A？”那结果就截然不同了。死理性派之前对此有过一个 <a href="http://www.guokr.com/article/33711/">详细的分析</a> 。前一种情况下，有更多A的概率是 37% ,而后一种有更多A的概率一下就跃升为 56% 。面对这样反常的结果，不了解概率论的人，都会被吓一跳。</p>
<p>类似这样“想不通”的例子还有很多。比如著名的三门问题。换还是不换？这是一个让无数人纠结的问题，据说很多人在看了详尽的分析后，依然觉得有违常 理，不能接受。“最高IQ人类”的玛丽莲在当年公布自己的答案——换一扇门时，立刻引来巨大争议，无数人觉得她回答错了，并写信“纠正”她，这些记录都保 留在它的个人网站上。就是直到今天，这个游戏依然困扰着不少人。</p>
<p>我后来又<a title="用多次试验法踏上雷区，来分析条件概率问题" href="http://blog.programet.org/2011/08/%e7%94%a8%e5%a4%9a%e6%ac%a1%e8%af%95%e9%aa%8c%e6%b3%95%e8%b8%8f%e4%b8%8a%e9%9b%b7%e5%8c%ba%ef%bc%8c%e6%9d%a5%e5%88%86%e6%9e%90%e6%9d%a1%e4%bb%b6%e6%a6%82%e7%8e%87%e9%97%ae%e9%a2%98.html">在这里</a>补充了一个进一步的说明。</p>
<h3>双赢的赌局</h3>
<p>甲和乙各自收到女朋友送的领带。两人见面开始争论谁的更贵，最终决定打个赌，去商场调查，谁的领带贵谁就算赢，  <strong>而赢的人要把领带送给输的人作安慰</strong> 。</p>
<p>甲认为他在这个赌局中输赢是等概率的。如果赢了，那么失去的是自己戴的这条领带。而如果输了，则会得到一个更贵的领带。所以这个赌局对他是有利的。</p>
<p>当然乙也可以这样想。但问题是，打一次赌怎么会同时对双方都有利呢？</p>
<p>这个著名的问题由法国数学家莫里斯•克莱特契克在他的《数学消遣》书中首先提出。他指出，要想这个游戏公平，必须限制条件。比如甲乙二人对对方女朋 友的阔绰程度一无所知等。如果说甲的女朋友出手相对更阔绰些，那么甲的领带就有较大的可能比乙的要贵，他就更倾向于输掉这次打赌。</p>
<p>这个例子后来衍化成著名的钱包悖论，道具由领带变为了钱包：由第三者计算甲、乙二君钱包里面的钱，钱少者可以赢走钱多者的钱。</p>
<p>实际上，甲、乙二人的错误在于，他们只根据“可以赢更多的钱”这点，就做出这场赌博对自己有利的结论。但这场赌博对谁有利，应该以谁可以“赢得这场赌博”而不是“可以赢更多的钱”来判断。以赌谁钱包里钱少为例。判断谁有胜算，必须注意两点：</p>
<pre>• 必须计算期望值。

• 钱包里有多少钱是很随机的。
</pre>
<p>所以正确的逻辑应为：</p>
<pre>• 如果我的钱包里有较多的钱，那么我参加这个游戏，会输掉较多的钱。

• 如果我的钱包里有较少的钱，那么我参加这个游戏，会赢得较多的钱。
</pre>
<p>这两种情况的可能性是均等的。而且，由于总有一个人赢得另一个人输掉有更多钱的钱包，这个游戏是均衡的。所以它的结果应该是甲、乙各有一半的可能获胜。也就是说，这个游戏 <a href="http://www.guokr.com/article/7976/">是公平的</a> ，并不对哪一方有利。</p>
<blockquote><p>本文原载于<a href="http://www.guokr.com/article/60677/">果壳网</a></p></blockquote>
<p><small>本文由 严酷的魔王 创作，转载或引用前请<a href="mailto:programet.org@gmail.com">联系我们</a>。</small></p><p>相关文章：<ol>
<li><a href='http://blog.programet.org/2010/08/%e7%bb%9f%e8%ae%a1%e4%b8%8e%e6%8e%a8%e7%90%863%ef%bc%9aktv%e9%87%8c%e7%9a%84%e9%aa%b0%e5%ad%90%e6%b8%b8%e6%88%8f.html' rel='bookmark' title='统计与推理(3)：KTV里的骰子游戏'>统计与推理(3)：KTV里的骰子游戏</a></li>
<li><a href='http://blog.programet.org/2011/07/%e4%b8%8d%e5%8f%af%e6%80%9d%e8%ae%ae%e7%9a%84%e7%ae%b1%e5%ad%90%ef%bc%9a%e4%bd%a0%e7%9a%84%e4%b8%80%e7%94%9f%e5%b0%b1%e5%9c%a8%e9%87%8c%e9%9d%a2.html' rel='bookmark' title='不可思议的箱子：你的一生就在里面'>不可思议的箱子：你的一生就在里面</a></li>
<li><a href='http://blog.programet.org/2009/12/%e5%b7%a5%e6%ac%b2%e5%96%84%e5%85%b6%e4%ba%8b%ef%bc%8c%e5%bf%85%e6%9c%89%e5%99%a8%e2%80%94%e2%80%94cad%e4%ba%8c%e4%b8%89%e4%ba%8b.html' rel='bookmark' title='工欲善其事，必有器——CAD二三事'>工欲善其事，必有器——CAD二三事</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.programet.org/2011/08/%e4%bd%a0%e8%a2%ab%e8%bf%99%e4%ba%9b%e7%bd%91%e7%bb%9c%e8%bf%b7%e9%a2%98%e9%9a%be%e5%80%92%e8%bf%87%e5%90%97%ef%bc%9f.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用多次试验法踏上雷区，来分析条件概率问题</title>
		<link>http://blog.programet.org/2011/08/%e7%94%a8%e5%a4%9a%e6%ac%a1%e8%af%95%e9%aa%8c%e6%b3%95%e8%b8%8f%e4%b8%8a%e9%9b%b7%e5%8c%ba%ef%bc%8c%e6%9d%a5%e5%88%86%e6%9e%90%e6%9d%a1%e4%bb%b6%e6%a6%82%e7%8e%87%e9%97%ae%e9%a2%98.html</link>
		<comments>http://blog.programet.org/2011/08/%e7%94%a8%e5%a4%9a%e6%ac%a1%e8%af%95%e9%aa%8c%e6%b3%95%e8%b8%8f%e4%b8%8a%e9%9b%b7%e5%8c%ba%ef%bc%8c%e6%9d%a5%e5%88%86%e6%9e%90%e6%9d%a1%e4%bb%b6%e6%a6%82%e7%8e%87%e9%97%ae%e9%a2%98.html#comments</comments>
		<pubDate>Tue, 30 Aug 2011 04:08:37 +0000</pubDate>
		<dc:creator>严酷的魔王</dc:creator>
				<category><![CDATA[原创博文]]></category>
		<category><![CDATA[数学]]></category>
		<category><![CDATA[科普]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[概率]]></category>
		<category><![CDATA[证明]]></category>

		<guid isPermaLink="false">http://blog.programet.org/?p=4530</guid>
		<description><![CDATA[同0.99999=1一样，条件概率问题一直被我视为一个“雷区”。不仅仅是因为结论看起来是很神奇的，同时还因为我们如果在描述的时候言语稍有不慎便会导致各个人对题目的理解不同。 在条件概率的趣题中，最出名的便是”三门问题“了。现在我尝试尽量严谨地重述这个问题的主要部分。 在一个娱乐节目中，每一个最后的赢家都面临着一个碰运气的选择题。他会看见一块板子，上面有三个门，其中一个门的背后是汽车，另外两个门的背后是山羊——当然，大家都想得到汽车。在门没有被打开的情况下，赢家是不知道门背后是什么的。他可以随机地选取一个门，然后主持人将他选择的门打开，如果是汽车的话，他就赢得了大奖，否则只能抱着一头山羊离开了。 如果题目背景就是这样，那么他选中汽车的概率就是1/3。但是还没完，为了增加趣味性，事先知道门背后是什么图案的主持人在赢家选中某一扇门之后，呼地打开了另一扇门——这扇门背后是一只山羊。现在，赢家选中了一扇门，还有一扇门不知道背后是什么。现在的问题是：赢家从刚才自己选中的门转换到另一扇没被打开的门，自己赢得汽车的概率会不会有所提高呢？ 我们为了计算概率，通常都会用一些运算式来进行表达，这样虽然比较数学，但是有时候不那么容易让人理解。所以我希望能以”多次试验中某事件发生的次数“来代替概率的计算，这样比较容易理解，而且一般结论也不会出错。 假设上面提到的节目一共举办了6000期，那么赢家第一次选择就选到了汽车的次数是2000次，选中山羊的次数是4000次。无论赢家第一次选的是什么，主持人都会展示一只山羊。如果赢家不选择更换一扇门，那么他只有2000次的机会赢得汽车。现在假设赢家无论怎么样都会换到另一扇门上。 在4000期节目中，赢家指中了一只山羊，同时主持人掀开了另一只山羊，那么如果他这个时候选择换到另一扇未被打开的门上，那么他就能赢走一辆汽车。所以他会赢得4000辆汽车 在另外2000期节目中，赢家指中了一辆汽车，这时候他同样选择换一扇门，于是自己便只能得到一只山羊。所以他会赢得2000只山羊。 相比之下，坚持第一直觉，就有2000辆汽车；不坚持第一直觉，就有4000辆汽车。所以更换自己的选择更好。 如果觉得从直觉上难以接受的话，不妨继续思考这个问题： 在什么情况下我更换一扇门会让我赢得一辆汽车？那么当然是在第一选择就选中了一只山羊的情况下。 在什么情况下我更换一扇门会让我赢得一头山羊？那么当然是在第一选择就选中了一辆汽车的情况下。 这两种情况哪种的发生机会更大呢？显然是第一选择就选中了山羊更容易发生。选中山羊的时候换门就选中了汽车，反过来选中汽车的时候换门就选中了山羊。所以第一选择选中山羊的概率和换门之后选中汽车的概率是相等的——既然第一选择更容易选中山羊，那么换门之后就更容易选中汽车。 另一个比较著名的”男女问题“，大概是这样描述的：一位母亲有两个孩子，有人问母亲的朋友A，两个孩子都是女孩吗？这位朋友说：“我不清楚，但有一个是女孩”。母亲的另一位朋友B说：“我上次去她家，看到一个女孩”。朋友A听到，表示不屑：“这和我说的不是一样的吗”。 我们把这段话陈述得再清晰一些。 朋友A的信息获得可以是这样的途径——他直接问那个母亲：你家有女孩么？ 母亲羞射地回答说：有的。 那么，对于朋友A和朋友B来说，他们的信息量一样吗？ 假设我们在一个有200户人家的村子里考虑这个问题，每一户人家都有两个小孩。有50户人家是两个男孩，50户人家是两个女孩，100户人家是一男一女。 对于朋友A的问题，50户两个女孩的人家和100户一男一女的人家都能够给出相同的回答。于是对于朋友A来说，他觉得那位母亲有两个女孩的概率是1/3。 对于朋友B来说，他一定没有看见且只看见了一个小孩——不然他就知道两个小孩的性别了。他一定会在两个女孩的人家中看见一个女孩，同时有可能在一男一女的人家中看见一个女孩。对于那100户人家来说，只有50家会被他看见女孩，另外50家会被他看见男孩。所以，会被朋友B看见一个女孩的人家一共有100户，其中50户人家是两个女孩的。于是对于朋友B来说，那位母亲有两个女孩的概率是1/2。 恩，我猜这样的说明更容易理解一些吧。对于三门问题，大家可以来这里围观一个编程进行试验的代码。 本文由 严酷的魔王 创作，转载或引用前请联系我们。相关文章： 你被这些网络迷题难倒过吗？ 从(0,1]×(0,1]到(0,1]的双射 统计与推理(3)：KTV里的骰子游戏
相关文章：<ol>
<li><a href='http://blog.programet.org/2011/08/%e4%bd%a0%e8%a2%ab%e8%bf%99%e4%ba%9b%e7%bd%91%e7%bb%9c%e8%bf%b7%e9%a2%98%e9%9a%be%e5%80%92%e8%bf%87%e5%90%97%ef%bc%9f.html' rel='bookmark' title='你被这些网络迷题难倒过吗？'>你被这些网络迷题难倒过吗？</a></li>
<li><a href='http://blog.programet.org/2010/04/%e4%bb%8e01%c3%9701%e5%88%b001%e7%9a%84%e5%8f%8c%e5%b0%84.html' rel='bookmark' title='从(0,1]×(0,1]到(0,1]的双射'>从(0,1]×(0,1]到(0,1]的双射</a></li>
<li><a href='http://blog.programet.org/2010/08/%e7%bb%9f%e8%ae%a1%e4%b8%8e%e6%8e%a8%e7%90%863%ef%bc%9aktv%e9%87%8c%e7%9a%84%e9%aa%b0%e5%ad%90%e6%b8%b8%e6%88%8f.html' rel='bookmark' title='统计与推理(3)：KTV里的骰子游戏'>统计与推理(3)：KTV里的骰子游戏</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>同0.99999=1一样，条件概率问题一直被我视为一个“雷区”。不仅仅是因为结论看起来是很神奇的，同时还因为我们如果在描述的时候言语稍有不慎便会导致各个人对题目的理解不同。</p>
<p><span id="more-4530"></span></p>
<p>在条件概率的趣题中，最出名的便是”三门问题“了。现在我尝试尽量严谨地重述这个问题的主要部分。</p>
<p>在一个娱乐节目中，每一个最后的赢家都面临着一个碰运气的选择题。他会看见一块板子，上面有三个门，其中一个门的背后是汽车，另外两个门的背后是山羊——当然，大家都想得到汽车。在门没有被打开的情况下，赢家是不知道门背后是什么的。他可以随机地选取一个门，然后主持人将他选择的门打开，如果是汽车的话，他就赢得了大奖，否则只能抱着一头山羊离开了。</p>
<p>如果题目背景就是这样，那么他选中汽车的概率就是1/3。但是还没完，为了增加趣味性，事先知道门背后是什么图案的主持人在赢家选中某一扇门之后，呼地打开了另一扇门——这扇门背后是一只山羊。现在，赢家选中了一扇门，还有一扇门不知道背后是什么。现在的问题是：赢家从刚才自己选中的门转换到另一扇没被打开的门，自己赢得汽车的概率会不会有所提高呢？</p>
<p>我们为了计算概率，通常都会用一些运算式来进行表达，这样虽然比较数学，但是有时候不那么容易让人理解。所以我希望能以”多次试验中某事件发生的次数“来代替概率的计算，这样比较容易理解，而且一般结论也不会出错。</p>
<p>假设上面提到的节目一共举办了6000期，那么赢家第一次选择就选到了汽车的次数是2000次，选中山羊的次数是4000次。无论赢家第一次选的是什么，主持人都会展示一只山羊。如果赢家不选择更换一扇门，那么他只有2000次的机会赢得汽车。现在假设赢家无论怎么样都会换到另一扇门上。</p>
<p>在4000期节目中，赢家指中了一只山羊，同时主持人掀开了另一只山羊，那么如果他这个时候选择换到另一扇未被打开的门上，那么他就能赢走一辆汽车。所以他会赢得4000辆汽车</p>
<p>在另外2000期节目中，赢家指中了一辆汽车，这时候他同样选择换一扇门，于是自己便只能得到一只山羊。所以他会赢得2000只山羊。</p>
<p>相比之下，坚持第一直觉，就有2000辆汽车；不坚持第一直觉，就有4000辆汽车。所以更换自己的选择更好。</p>
<p>如果觉得从直觉上难以接受的话，不妨继续思考这个问题：<br />
在什么情况下我更换一扇门会让我赢得一辆汽车？那么当然是在第一选择就选中了一只山羊的情况下。<br />
在什么情况下我更换一扇门会让我赢得一头山羊？那么当然是在第一选择就选中了一辆汽车的情况下。</p>
<p>这两种情况哪种的发生机会更大呢？显然是第一选择就选中了山羊更容易发生。选中山羊的时候换门就选中了汽车，反过来选中汽车的时候换门就选中了山羊。所以第一选择选中山羊的概率和换门之后选中汽车的概率是相等的——既然第一选择更容易选中山羊，那么换门之后就更容易选中汽车。</p>
<p>另一个比较著名的”男女问题“，大概是这样描述的：一位母亲有两个孩子，有人问母亲的朋友A，两个孩子都是女孩吗？这位朋友说：“我不清楚，但有一个是女孩”。母亲的另一位朋友B说：“我上次去她家，看到一个女孩”。朋友A听到，表示不屑：“这和我说的不是一样的吗”。</p>
<p>我们把这段话陈述得再清晰一些。<br />
朋友A的信息获得可以是这样的途径——他直接问那个母亲：你家有女孩么？ 母亲羞射地回答说：有的。<br />
那么，对于朋友A和朋友B来说，他们的信息量一样吗？</p>
<p>假设我们在一个有200户人家的村子里考虑这个问题，每一户人家都有两个小孩。有50户人家是两个男孩，50户人家是两个女孩，100户人家是一男一女。</p>
<p>对于朋友A的问题，50户两个女孩的人家和100户一男一女的人家都能够给出相同的回答。于是对于朋友A来说，他觉得那位母亲有两个女孩的概率是1/3。<br />
对于朋友B来说，他一定没有看见且只看见了一个小孩——不然他就知道两个小孩的性别了。他一定会在两个女孩的人家中看见一个女孩，同时有可能在一男一女的人家中看见一个女孩。对于那100户人家来说，只有50家会被他看见女孩，另外50家会被他看见男孩。所以，会被朋友B看见一个女孩的人家一共有100户，其中50户人家是两个女孩的。于是对于朋友B来说，那位母亲有两个女孩的概率是1/2。</p>
<p>恩，我猜这样的说明更容易理解一些吧。对于三门问题，大家可以来<a href="http://game.ali213.net/forum.php?mod=viewthread&amp;tid=3647774&amp;page=1">这里</a>围观一个编程进行试验的代码。</p>
<p><small>本文由 严酷的魔王 创作，转载或引用前请<a href="mailto:programet.org@gmail.com">联系我们</a>。</small></p><p>相关文章：<ol>
<li><a href='http://blog.programet.org/2011/08/%e4%bd%a0%e8%a2%ab%e8%bf%99%e4%ba%9b%e7%bd%91%e7%bb%9c%e8%bf%b7%e9%a2%98%e9%9a%be%e5%80%92%e8%bf%87%e5%90%97%ef%bc%9f.html' rel='bookmark' title='你被这些网络迷题难倒过吗？'>你被这些网络迷题难倒过吗？</a></li>
<li><a href='http://blog.programet.org/2010/04/%e4%bb%8e01%c3%9701%e5%88%b001%e7%9a%84%e5%8f%8c%e5%b0%84.html' rel='bookmark' title='从(0,1]×(0,1]到(0,1]的双射'>从(0,1]×(0,1]到(0,1]的双射</a></li>
<li><a href='http://blog.programet.org/2010/08/%e7%bb%9f%e8%ae%a1%e4%b8%8e%e6%8e%a8%e7%90%863%ef%bc%9aktv%e9%87%8c%e7%9a%84%e9%aa%b0%e5%ad%90%e6%b8%b8%e6%88%8f.html' rel='bookmark' title='统计与推理(3)：KTV里的骰子游戏'>统计与推理(3)：KTV里的骰子游戏</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.programet.org/2011/08/%e7%94%a8%e5%a4%9a%e6%ac%a1%e8%af%95%e9%aa%8c%e6%b3%95%e8%b8%8f%e4%b8%8a%e9%9b%b7%e5%8c%ba%ef%bc%8c%e6%9d%a5%e5%88%86%e6%9e%90%e6%9d%a1%e4%bb%b6%e6%a6%82%e7%8e%87%e9%97%ae%e9%a2%98.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>为什么我们要一题多证？</title>
		<link>http://blog.programet.org/2011/08/%e4%b8%ba%e4%bb%80%e4%b9%88%e6%88%91%e4%bb%ac%e8%a6%81%e4%b8%80%e9%a2%98%e5%a4%9a%e8%af%81%ef%bc%9f.html</link>
		<comments>http://blog.programet.org/2011/08/%e4%b8%ba%e4%bb%80%e4%b9%88%e6%88%91%e4%bb%ac%e8%a6%81%e4%b8%80%e9%a2%98%e5%a4%9a%e8%af%81%ef%bc%9f.html#comments</comments>
		<pubDate>Mon, 15 Aug 2011 17:30:01 +0000</pubDate>
		<dc:creator>严酷的魔王</dc:creator>
				<category><![CDATA[原创博文]]></category>
		<category><![CDATA[推荐]]></category>
		<category><![CDATA[数学]]></category>
		<category><![CDATA[科普]]></category>
		<category><![CDATA[证明]]></category>
		<category><![CDATA[随感]]></category>
		<category><![CDATA[非严肃]]></category>

		<guid isPermaLink="false">http://blog.programet.org/?p=4489</guid>
		<description><![CDATA[今天见Matrix67写了一篇文章，提到了一种我没见过的证明素数无穷多的方法。在下面的评论中有人问到： 素数无穷多的证法已经很多，为何还有人捣鼓新的证法？ 我对此的回复是：勾股定理更多呢~但是这个问题让我好好地想了想，我们一题多证究竟是为什么。确实勾股定理有上百种证明，但是为什么人们会热衷于此？ 对于数学，尤其是证明而不是计算这方面，其应用性十分不明显，在较早的时候甚至可以忽略不计。可是人们对很多问题还是报以孜孜不倦的精神，给出了各式各样，千奇百怪的证明。除去勾股定理这个bug级的题目，我们还会发现，《博大精深的素数》一书中给出了9种方法证明素数是无穷的，高斯对二次互反律给出了八个证明，人们对代数基本定理的证明也是不断地发挥着想象力。往小了说去，各种小学、初中练习题特别是平面几何题常常都会让大家“使用至少两种方法说明这个结论”。也就是说，一个结论有许多种证明方法实际上是一种普遍现象，并不是个别题目的出彩之处。我想，大家喜欢一道题用不同的方法，完全是出于自己的喜好或者好奇心，就像做爱用上许许多多的体位一样，每个人都有自己心中的好坏优劣之分，目的都是一样的，只不过选择不同的道路便能看到不同的风景罢了。 而人们使用多种方法进行证明的第二个原因，我觉得历史上最速降线的故事最能给出解答。故事的最简梗概是这样的：某个伯努利提出了寻找最速降线问题，然后许许多多的数学家都给出了自己的解答，而其中在历史上最具有意义的解答是某个伯努利给出的，这个解答导致了后世被大家称为“变分法”的数学分支诞生。围观完整故事请猛击此处。有时候人们为了证明一个不算简单的定理，往往会开发出各种各样的工具，到后来这些工具往往被证实有着很广阔的发展空间和深刻的意义。而一题多证往往本身含有创新与突破限制这样的成分在里面，所以不平凡的题目在面对多解的时候往往更能催生出镀金的花。 第三个原因，我想是因为对于一个题目用不同方法进行证明，能从不同的方面体现出其在不同领域中的特性。例如勾股定理，在平面几何里面，可以转化成面积的关系；如果将它看成是余弦定理的一个特例，那么便抓住了其向量的一面，同时更方便于将其推广到多维空间中。又比如用向量法证明柯西不等式，揭示的是它的几何（向量内积）意义，等号成立的条件也不用那么拗口——只要两个向量的夹角是0就行了，不需要记住“两数列对应项之比相等”这样长长的话语。而且柯西不等式也有其对应的积分形式，同样描述了向量内积的性质。这样的关系，怎是普通代数证明能立马体现出来的呢？ 恩……想到的就这些，也是我这个程度所能体会到的内容了吧~不知道能不能很好地回答题目了呢…… 本文由 严酷的魔王 创作，转载或引用前请联系我们。相关文章： 数学趣闻集合：Heroes In My Heart 证明与反驳 读书笔记（2） 用极限证明伯努利不等式
相关文章：<ol>
<li><a href='http://blog.programet.org/2009/09/%e6%95%b0%e5%ad%a6%e8%b6%a3%e9%97%bb%e9%9b%86%e5%90%88%ef%bc%9aheroes-in-my-heart.html' rel='bookmark' title='数学趣闻集合：Heroes In My Heart'>数学趣闻集合：Heroes In My Heart</a></li>
<li><a href='http://blog.programet.org/2008/11/2-2.html' rel='bookmark' title='证明与反驳 读书笔记（2）'>证明与反驳 读书笔记（2）</a></li>
<li><a href='http://blog.programet.org/2009/09/%e7%94%a8%e6%9e%81%e9%99%90%e8%af%81%e6%98%8e%e4%bc%af%e5%8a%aa%e5%88%a9%e4%b8%8d%e7%ad%89%e5%bc%8f.html' rel='bookmark' title='用极限证明伯努利不等式'>用极限证明伯努利不等式</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>今天见Matrix67写了<a href="http://www.matrix67.com/blog/archives/4548">一篇文章</a>，提到了一种我没见过的证明素数无穷多的方法。在下面的评论中有人问到：<span id="more-4489"></span></p>
<blockquote><p>素数无穷多的证法已经很多，为何还有人捣鼓新的证法？</p></blockquote>
<p>我对此的回复是：勾股定理更多呢~但是这个问题让我好好地想了想，我们一题多证究竟是为什么。确实勾股定理有上百种证明，但是为什么人们会热衷于此？</p>
<p>对于数学，尤其是证明而不是计算这方面，其应用性十分不明显，在较早的时候甚至可以忽略不计。可是人们对很多问题还是报以孜孜不倦的精神，给出了各式各样，千奇百怪的证明。除去勾股定理这个bug级的题目，我们还会发现，<a href="http://book.douban.com/subject/2027518/">《博大精深的素数》</a>一书中给出了9种方法证明素数是无穷的，高斯对二次互反律给出了八个证明，人们对代数基本定理的证明也是不断地发挥着想象力。往小了说去，各种小学、初中练习题特别是平面几何题常常都会让大家“使用至少两种方法说明这个结论”。也就是说，一个结论有许多种证明方法实际上是一种普遍现象，并不是个别题目的出彩之处。我想，大家喜欢一道题用不同的方法，完全是出于自己的喜好或者好奇心，就像做爱用上许许多多的体位一样，每个人都有自己心中的好坏优劣之分，目的都是一样的，只不过选择不同的道路便能看到不同的风景罢了。</p>
<p>而人们使用多种方法进行证明的第二个原因，我觉得历史上最速降线的故事最能给出解答。故事的最简梗概是这样的：某个伯努利提出了寻找最速降线问题，然后许许多多的数学家都给出了自己的解答，而其中在历史上最具有意义的解答是某个伯努利给出的，这个解答导致了后世被大家称为“变分法”的数学分支诞生。围观完整故事请<a href="http://www.guokr.com/article/22018/">猛击此处</a>。有时候人们为了证明一个不算简单的定理，往往会开发出各种各样的工具，到后来这些工具往往被证实有着很广阔的发展空间和深刻的意义。而一题多证往往本身含有创新与突破限制这样的成分在里面，所以不平凡的题目在面对多解的时候往往更能催生出镀金的花。</p>
<p>第三个原因，我想是因为对于一个题目用不同方法进行证明，能从不同的方面体现出其在不同领域中的特性。例如勾股定理，在平面几何里面，可以转化成面积的关系；如果将它看成是余弦定理的一个特例，那么便抓住了其向量的一面，同时更方便于将其推广到多维空间中。又比如用向量法证明柯西不等式，揭示的是它的几何（向量内积）意义，等号成立的条件也不用那么拗口——只要两个向量的夹角是0就行了，不需要记住“两数列对应项之比相等”这样长长的话语。而且柯西不等式也有其对应的积分形式，同样描述了向量内积的性质。这样的关系，怎是普通代数证明能立马体现出来的呢？</p>
<p>恩……想到的就这些，也是我这个程度所能体会到的内容了吧~不知道能不能很好地回答题目了呢……</p>
<p><small>本文由 严酷的魔王 创作，转载或引用前请<a href="mailto:programet.org@gmail.com">联系我们</a>。</small></p><p>相关文章：<ol>
<li><a href='http://blog.programet.org/2009/09/%e6%95%b0%e5%ad%a6%e8%b6%a3%e9%97%bb%e9%9b%86%e5%90%88%ef%bc%9aheroes-in-my-heart.html' rel='bookmark' title='数学趣闻集合：Heroes In My Heart'>数学趣闻集合：Heroes In My Heart</a></li>
<li><a href='http://blog.programet.org/2008/11/2-2.html' rel='bookmark' title='证明与反驳 读书笔记（2）'>证明与反驳 读书笔记（2）</a></li>
<li><a href='http://blog.programet.org/2009/09/%e7%94%a8%e6%9e%81%e9%99%90%e8%af%81%e6%98%8e%e4%bc%af%e5%8a%aa%e5%88%a9%e4%b8%8d%e7%ad%89%e5%bc%8f.html' rel='bookmark' title='用极限证明伯努利不等式'>用极限证明伯努利不等式</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.programet.org/2011/08/%e4%b8%ba%e4%bb%80%e4%b9%88%e6%88%91%e4%bb%ac%e8%a6%81%e4%b8%80%e9%a2%98%e5%a4%9a%e8%af%81%ef%bc%9f.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Firefox插件：Autoproxy教程</title>
		<link>http://blog.programet.org/2011/07/firefox%e6%8f%92%e4%bb%b6%ef%bc%9aautoproxy%e6%95%99%e7%a8%8b.html</link>
		<comments>http://blog.programet.org/2011/07/firefox%e6%8f%92%e4%bb%b6%ef%bc%9aautoproxy%e6%95%99%e7%a8%8b.html#comments</comments>
		<pubDate>Sun, 24 Jul 2011 06:34:27 +0000</pubDate>
		<dc:creator>严酷的魔王</dc:creator>
				<category><![CDATA[原创博文]]></category>
		<category><![CDATA[网络]]></category>
		<category><![CDATA[计算机]]></category>

		<guid isPermaLink="false">http://blog.programet.org/?p=4458</guid>
		<description><![CDATA[一般来说代理软件与浏览器的沟通主要方式就是在本机开通一个虚拟的代理地址，然后让浏览器访问这个代理地址，在代理软件的带领下访问到代理服务器，接着便可进行自由浏览。但是如果使用IE进行上网浏览，那么要想使用代理服务，那么只有所有网站都通过代理服务器进行访问，从而在访问一些没必要这样做的网站（比如百度，人人，饭否，果壳之类的国内网站）时大大降低了速度和稳定性。因此，firefox上有人便编写了解决这个问题的插件。 这款不和谐插件叫做Autoproxy。它的主要作用就是自动判断哪些网站需要通过代理访问，哪些网站直接通过正常网路访问。 但是注意：这个软件不能直接帮助我们使用代理，我们必须首先找到适合自己的代理服务器，然后再对这个插件进行配置。 我目前有两种使用代理的方法，一种是使用GAEproxy，详细的配置和使用方法请猛击这里；另一种则是在使用中山大学校园网的时候，使用学校某牛配置的代理服务器进行访问。值得一提的是，后一种方法由于处于中大校园网之中已经自动与代理服务器相连接，所以并不需要代理软件。 当你找到了合适的代理服务之后，便可以继续阅读本文。 一、安装与配置 首先我们去Mozilla的插件页面上安装Autoproxy。安装成功后，便会在firefox的一角看见一个红色的“福”字。右键之，选择首选项，你便应该看见类似下图的窗口： 选择“代理规则”&#8211;“添加订阅窗口”，然后我们选中gfwList，点击“订阅”。 这个gfwList实际上是一个列表，其中包含了大部分被GFW格挡在外的网站。我们订阅这个列表的目的，也就是给autoproxy一个名单，对照着帮助firefox选择正确的访问通道。 然后再选择“代理服务器”&#8211;“选择代理服务器”。这里是一些常见的代理软件名单，我们可以根据自己手上使用的代理软件选择对应的代理。 顺便提一句，单击那个福字，颜色会变，功能也会变：红色时是匹配名单便代理，否则不代理；绿色时是无论什么网站都通过代理；灰色时是无论什么网站都不通过代理。 上面的操作都进行完毕后，你可以打开自己的代理软件，试试访问youtube.com，twitter.com以及facebook.com。 二、更灵活的设置 那个gfwList免去了你手工添加大量被墙网站的麻烦，但是我们会时常发现有时候还是会碰到一些小网站，并没有被收录进去，此时怎么办？你可以考虑切换到绿色模式，但是这样便失去了我们使用autoproxy的理由。加入我们访问的被墙网站是example.com，那么可以右击福字，在弹出来的菜单中找到“对example.com全站启用代理”，勾上。然后我们再刷新这个页面，就能继续访问了。可以通过这样的简便方式添加自己的自定义规则，绕开在autoproxy的主窗口中手动填写代理规则的繁琐过程。 另一方面，就比如我使用中大教育网独有的代理服务器进行代理访问的时候，在autoproxy中找不到对应的代理服务器，这怎么办？ 打开福字的首选项，选择“代理服务器”&#8211;“编辑代理服务器”。所打开的窗口中有一个按钮“添加代理”，之后便会腾出一行空的待填写服务器信息。我们可以自定义代理服务器的名字，地址和端口。例如我正在使用的校园网代理服务器，我起的名字是“SYSU-zzzcn”，因为这个服务器的维护者是@zzzcn 。接着我在地址里填了“172.18.184.111”，端口是“2012”。最后单击确定，即可完成配置。 接着我们在“代理服务器”&#8211;“选择代理服务器”中选择自己刚才配置的地址，那么autoproxy便能自动地通过这个地址来访问部分域名了。 三、其他的浏览器 如果你是一个G粉，那么想必你使用的浏览器便应该是Chrome。在Chrome下也有一个功能与autoproxy类似的插件，叫做proxyswitch。可惜我并没有使用过Chrome，于是在此也没办法给出相应的教程，相信参照上面的配置方法，大家也可以正确地配置proxyswitch。 其实刚才经过我的搜索，我发现即使是IE，也有了对应的类似autoproxy的东西，可以使用autoproxyPAC文件（其实，什么是PAC文件？？）帮助IE进行选择。详情可参考：http://zww.me/archives/25050。 &#160; 本文由 严酷的魔王 创作，转载或引用前请联系我们。相关文章： 让我们比比长短 为自己的blogger博客加上标签云 软件推荐-Mozilla Thunderbird
相关文章：<ol>
<li><a href='http://blog.programet.org/2008/10/blog-post_21-3.html' rel='bookmark' title='让我们比比长短'>让我们比比长短</a></li>
<li><a href='http://blog.programet.org/2008/08/blogger.html' rel='bookmark' title='为自己的blogger博客加上标签云'>为自己的blogger博客加上标签云</a></li>
<li><a href='http://blog.programet.org/2010/05/%e8%bd%af%e4%bb%b6%e6%8e%a8%e8%8d%90-mozilla-thunderbird.html' rel='bookmark' title='软件推荐-Mozilla Thunderbird'>软件推荐-Mozilla Thunderbird</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>一般来说代理软件与浏览器的沟通主要方式就是在本机开通一个虚拟的代理地址，然后让浏览器访问这个代理地址，在代理软件的带领下访问到代理服务器，接着便可进行自由浏览。但是如果使用IE进行上网浏览，那么要想使用代理服务，那么只有所有网站都通过代理服务器进行访问，从而在访问一些没必要这样做的网站（比如百度，人人，饭否，果壳之类的国内网站）时大大降低了速度和稳定性。因此，firefox上有人便编写了解决这个问题的插件。</p>
<p><span id="more-4458"></span></p>
<p>这款不和谐插件叫做Autoproxy。它的主要作用就是自动判断哪些网站需要通过代理访问，哪些网站直接通过正常网路访问。</p>
<p>但是注意：这个软件不能直接帮助我们使用代理，我们必须首先找到适合自己的代理服务器，然后再对这个插件进行配置。</p>
<p>我目前有两种使用代理的方法，一种是使用GAEproxy，详细的配置和使用方法请<a href="http://www.seolooker.com/use-gappproxy-to-cross-firewal/">猛击这里</a>；另一种则是在使用中山大学校园网的时候，使用学校某牛配置的代理服务器进行访问。值得一提的是，后一种方法由于处于中大校园网之中已经自动与代理服务器相连接，所以并不需要代理软件。</p>
<p>当你找到了合适的代理服务之后，便可以继续阅读本文。</p>
<p><strong>一、安装与配置</strong></p>
<p>首先我们去Mozilla的<a href="https://addons.mozilla.org/en-US/firefox/addon/autoproxy/">插件页面</a>上安装Autoproxy。安装成功后，便会在firefox的一角看见一个红色的“福”字。右键之，选择首选项，你便应该看见类似下图的窗口：</p>
<p style="text-align: center;"><a href="http://blog.programet.org/wp-content/uploads/autoproxy首选项.jpg"><img class="aligncenter size-full wp-image-4459" title="autoproxy首选项" src="http://blog.programet.org/wp-content/uploads/autoproxy首选项.jpg" alt="" width="456" height="342" /></a></p>
<p>选择“代理规则”&#8211;“添加订阅窗口”，然后我们选中gfwList，点击“订阅”。</p>
<p style="text-align: center;"><a href="http://blog.programet.org/wp-content/uploads/订阅gfwList.jpg"><img class="aligncenter size-full wp-image-4461" title="订阅gfwList" src="http://blog.programet.org/wp-content/uploads/订阅gfwList.jpg" alt="" width="456" height="330" /></a></p>
<p>这个gfwList实际上是一个列表，其中包含了大部分被GFW格挡在外的网站。我们订阅这个列表的目的，也就是给autoproxy一个名单，对照着帮助firefox选择正确的访问通道。</p>
<p>然后再选择“代理服务器”&#8211;“选择代理服务器”。这里是一些常见的代理软件名单，我们可以根据自己手上使用的代理软件选择对应的代理。</p>
<p>顺便提一句，单击那个福字，颜色会变，功能也会变：红色时是匹配名单便代理，否则不代理；绿色时是无论什么网站都通过代理；灰色时是无论什么网站都不通过代理。</p>
<p>上面的操作都进行完毕后，你可以打开自己的代理软件，试试访问<a href="http://youtube.com">youtube.com</a>，<a href="http://twitter.com">twitter.com</a>以及<a href="http://facebook.com">facebook.com</a>。</p>
<p><strong>二、更灵活的设置</strong></p>
<p>那个gfwList免去了你手工添加大量被墙网站的麻烦，但是我们会时常发现有时候还是会碰到一些小网站，并没有被收录进去，此时怎么办？你可以考虑切换到绿色模式，但是这样便失去了我们使用autoproxy的理由。加入我们访问的被墙网站是example.com，那么可以右击福字，在弹出来的菜单中找到“对example.com全站启用代理”，勾上。然后我们再刷新这个页面，就能继续访问了。可以通过这样的简便方式添加自己的自定义规则，绕开在autoproxy的主窗口中手动填写代理规则的繁琐过程。</p>
<p>另一方面，就比如我使用中大教育网独有的代理服务器进行代理访问的时候，在autoproxy中找不到对应的代理服务器，这怎么办？</p>
<p>打开福字的首选项，选择“代理服务器”&#8211;“编辑代理服务器”。所打开的窗口中有一个按钮“添加代理”，之后便会腾出一行空的待填写服务器信息。我们可以自定义代理服务器的名字，地址和端口。例如我正在使用的校园网代理服务器，我起的名字是“SYSU-zzzcn”，因为这个服务器的维护者是<a href="http://twitter.com/#!/zzzcn">@zzzcn </a>。接着我在地址里填了“172.18.184.111”，端口是“2012”。最后单击确定，即可完成配置。</p>
<p style="text-align: center;"><a href="http://blog.programet.org/wp-content/uploads/SYSU-zzzcn.jpg"><img class="aligncenter size-full wp-image-4462" title="SYSU-zzzcn" src="http://blog.programet.org/wp-content/uploads/SYSU-zzzcn.jpg" alt="" width="386" height="254" /></a></p>
<p>接着我们在“代理服务器”&#8211;“选择代理服务器”中选择自己刚才配置的地址，那么autoproxy便能自动地通过这个地址来访问部分域名了。</p>
<p><strong>三、其他的浏览器</strong></p>
<p>如果你是一个G粉，那么想必你使用的浏览器便应该是Chrome。在Chrome下也有一个功能与autoproxy类似的插件，叫做proxyswitch。可惜我并没有使用过Chrome，于是在此也没办法给出相应的教程，相信参照上面的配置方法，大家也可以正确地配置proxyswitch。</p>
<p>其实刚才经过我的搜索，我发现即使是IE，也有了对应的类似autoproxy的东西，可以使用autoproxyPAC文件（其实，什么是PAC文件？？）帮助IE进行选择。详情可参考：<a href="http://zww.me/archives/25050">http://zww.me/archives/25050</a>。</p>
<p>&nbsp;</p>
<p><small>本文由 严酷的魔王 创作，转载或引用前请<a href="mailto:programet.org@gmail.com">联系我们</a>。</small></p><p>相关文章：<ol>
<li><a href='http://blog.programet.org/2008/10/blog-post_21-3.html' rel='bookmark' title='让我们比比长短'>让我们比比长短</a></li>
<li><a href='http://blog.programet.org/2008/08/blogger.html' rel='bookmark' title='为自己的blogger博客加上标签云'>为自己的blogger博客加上标签云</a></li>
<li><a href='http://blog.programet.org/2010/05/%e8%bd%af%e4%bb%b6%e6%8e%a8%e8%8d%90-mozilla-thunderbird.html' rel='bookmark' title='软件推荐-Mozilla Thunderbird'>软件推荐-Mozilla Thunderbird</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.programet.org/2011/07/firefox%e6%8f%92%e4%bb%b6%ef%bc%9aautoproxy%e6%95%99%e7%a8%8b.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

