<?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/"
	>

<channel>
	<title>WirelessYang &#187; 数学</title>
	<atom:link href="http://wirelessyang.info/category/%e6%95%b0%e5%ad%a6/feed/" rel="self" type="application/rss+xml" />
	<link>http://wirelessyang.info</link>
	<description>YANG YANG</description>
	<lastBuildDate>Fri, 09 Jul 2010 21:08:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>来看看GEEK们的手表是什么样的</title>
		<link>http://wirelessyang.info/2009/06/geekwatch/</link>
		<comments>http://wirelessyang.info/2009/06/geekwatch/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 13:16:55 +0000</pubDate>
		<dc:creator>WirelessYang</dc:creator>
				<category><![CDATA[数学]]></category>
		<category><![CDATA[图片]]></category>
		<category><![CDATA[有趣的]]></category>

		<guid isPermaLink="false">http://wirelessyang.info/?p=198</guid>
		<description><![CDATA[GEEK 数学 图片 钟表]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-203" src="http://wirelessyang.info/wp-content/uploads/2009/06/1244635918257011.jpg" alt="" width="210" height="207" /><span id="more-198"></span><img class="alignnone size-full wp-image-202" src="http://wirelessyang.info/wp-content/uploads/2009/06/geekclock.jpg" alt="" width="224" height="169" /><img class="alignnone size-full wp-image-201" title="my747508072702" src="http://wirelessyang.info/wp-content/uploads/2009/06/my747508072702.jpg" alt="my747508072702" width="221" height="221" /><img class="alignnone size-full wp-image-200" src="http://wirelessyang.info/wp-content/uploads/2009/06/fortisiqwatchbyrolfsachsrolfsachs_fortiswatch.jpg" alt="" width="230" height="298" /><img class="alignnone size-full wp-image-199" src="http://wirelessyang.info/wp-content/uploads/2009/06/geek-clock.gif" alt="" width="224" height="224" /></p>
]]></content:encoded>
			<wfw:commentRss>http://wirelessyang.info/2009/06/geekwatch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>一类相似的智力题-称重问题</title>
		<link>http://wirelessyang.info/2009/06/weightingproblem/</link>
		<comments>http://wirelessyang.info/2009/06/weightingproblem/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 08:46:53 +0000</pubDate>
		<dc:creator>WirelessYang</dc:creator>
				<category><![CDATA[数学]]></category>
		<category><![CDATA[智力题]]></category>
		<category><![CDATA[称重问题]]></category>

		<guid isPermaLink="false">http://wirelessyang.info/?p=142</guid>
		<description><![CDATA[智力题 小球称重 三进制汉明码 多进制汉明码 ]]></description>
			<content:encoded><![CDATA[<h2><strong>问题描述：</strong></h2>
<p>有编号从1到n的<span style="font-family: mceinline;">n个小球，其中</span>可能有一个球的重量和其他的球重量不一致，而且这个重量不一致的球可能是偏重或偏轻。给定一个天平（天平有r=2个盘子），要求通过m次称量来判断出是否有重量失衡的球，如果有的话，判断出球的编号，并且能够指出该球是偏重还是偏轻。</p>
<p>请问：<br />
给定m=3 r=2，最大的n的数量为多少？</p>
<p>问题分析：</p>
<p>很多称重问题都可以加以泛化等效为上述问题。在只需判断出失衡球的编号而不需要知道失衡种类的情况下，我们可以很轻易地把称重问题等效为二进制的汉明编码问题。而在上述问题中，我们则需要把称重问题等效为三进制的汉明编码[1]。为了搞清楚等效的思路，我们在下面的分析中，首先对三进制下的汉明编码进行完整地描述，然后再把三进制汉明码与称重问题建立等效关系。<span id="more-142"></span></p>
<h3><strong>二进制汉明码：</strong></h3>
<p><strong></strong></p>
<div id="attachment_164" class="wp-caption aligncenter" style="width: 535px"><a href="http://en.wikipedia.org/wiki/Hamming_code"><img class="size-full wp-image-164   " title="二进制汉明码校验规则" src="http://wirelessyang.info/wp-content/uploads/2009/06/binaryhammingwiki.jpg" alt="二进制汉明码校验规则" width="525" height="146" /></a><p class="wp-caption-text">图1-1 二进制汉明码校验规则[2</p></div>
<h3><strong>三进制汉明码描述：</strong></h3>
<p>在三进制中，一个码元上的错误位置就可以有2个，n个码元上的错误位置就有2n种，而n-k个校验位可以表达3^(n-k)个不同的意思。由汉明码定义，它应该恰好等于所有的单个差错图案加上1，即<img class="alignnone size-full wp-image-171" src="http://wirelessyang.info/wp-content/uploads/2009/06/1.jpg" alt="" width="91" height="18" />。令n-k=m(校验位个数)，则q进制汗明码的n，k应该服从<img class="alignnone size-full wp-image-172" src="http://wirelessyang.info/wp-content/uploads/2009/06/2.jpg" alt="" width="194" height="35" /></p>
<h3><strong>三进制汉明码的构建方法：</strong></h3>
<p>首先分析三进制汉明码的特征：m个校验位，其要完成的不仅仅是定位，还要指出相应位置上的错误的类型。在三进制的情况下，这样的错误类型数为2。这就要求每个位有两种表示方法来定位。[3]指出，可以运用一种类似贪心算法的方法来构建满足以上条件的校验矩阵，通过Lexicographic顺序加入校验矩阵的列，同时保证新加入的列和前面的任意一列线性不相关。这样的话在所有3^3-1个列中每一个列都有与之相对应的一个线性相关列。校验规则构建方法如<span style="font-size: small;">下</span>图</p>
<div id="attachment_173" class="wp-caption aligncenter" style="width: 383px"><img class="size-full wp-image-173 " title="三进制汉明码校验规则" src="http://wirelessyang.info/wp-content/uploads/2009/06/ternaryhamming.jpg" alt="" width="373" height="142" /><p class="wp-caption-text">图1-2 三进制汉明码校验规则</p></div>
<p style="text-align: left; ">其中淡蓝色的列是和之前的列出现相关的列，红色的列组成了校验矩阵，我们其中校验位为第1(3^0)，3(3^1)，9(3^2)位。所有的校验运算均是在GF(3)域下的运算。</p>
<h3><strong>三进制汉明码与称重问题的转化：</strong></h3>
<p style="text-align: left; ">与三进制汉明码类似，在称重问题中，每一次称重都会得出三个结果：左偏，右偏，平衡。而n次称重之后的结果是要判断这些小球中是否有一个重量失衡的球，如果有，球的编号和失衡的状态(偏重，偏轻)分别是多少。因此我们可以用三进制汉明码的概念来解决小球称重的问题。</p>
<h4>称重问题与三进制汉明编码的区别：</h4>
<ol>
<li>汉明码的校验位可能出现失真；而小球称重时校验位不包含在编码当中，而且是一个定值(都应该是平衡状态)，不会出现失真。</li>
<li>汉明码的校验方程检验的位数可以是奇数；而称重问题需要在天平两端放上同等数量的球才能使校验有效，每次必须只能检验偶数个球。因此校验的方式不同。</li>
</ol>
<h3><strong>称重问题的编码方式：</strong></h3>
<p>如下图所示：</p>
<div id="attachment_177" class="wp-caption aligncenter" style="width: 293px"><img class="size-full wp-image-177 " title="m=3下称重问题的校验规则" src="http://wirelessyang.info/wp-content/uploads/2009/06/3.jpg" alt="m=3下称重问题的校验规则" width="283" height="159" /><p class="wp-caption-text">图1-3 m=3下称重问题的校验规则</p></div>
<p style="text-align: center;">
<div id="attachment_179" class="wp-caption aligncenter" style="width: 231px"><img class="size-full wp-image-179  " title="GF(3)域乘法运算" src="http://wirelessyang.info/wp-content/uploads/2009/06/4.jpg" alt="GF(3)域乘法运算" width="221" height="73" /><p class="wp-caption-text">图1-4 GF(3)域乘法运算</p></div>
<p>我们定义一个球的重量正常为1，和偏重为2，偏轻为0。那么我们从图1-4的运算中可以发现：1，如果该球代表的位在校验矩阵中的系数为1，那么偏重将导致校验和+1，偏轻将导致校验和-1；2，如果该球代表的位在校验矩阵中的系数为2，那么偏重将导致校验和-1，偏轻将导致校验+1。</p>
<p>相对应的，如果我们把天平左倾记为符号“+1”，天平右倾记为符号“-1”，校验系数为1的球放左盘，校验系数为2的球放右盘。那么和以上的校验规则是一致的！稍微有所不同的是在天平校验中，左盘球的数量和右盘球的数量必须一致才有意义，因此我们要求图1-3的校验矩阵做出调整：首先删去一列使校验位的数量恒为偶数，再把某些列变换为其线性相关列，从而使每一行的1的数量和2的数量相同，在图1-3的环境中，我们变换了5，6，9，10列，删去了13列。于是，我们便得到了在称天平次数m=3的情况下，对12个小球做出校验的方式。</p>
<h2><strong>结论：</strong></h2>
<p>通过图1-3的方法，我们求出了在m=3的情况下，最大的n为12，并且给出了称重的方式。</p>
<p>从信息论的角度来说，每一次称重的结果为3个，可以提供的信息位数为log2（3）个，而系统的总状态有2n+1个，可以通过log2(2n+1)个信息位来描述，则称重次数m应该满足m&gt;log2(2n+1)/log2(3),即n&lt;=(3^m-1)/2。在m=3的情况下，n&lt;=13。</p>
<p>注意到理论上我们可以得到n=13的情况下的称重方法，为了实现这种方法，我们需要加入一个标准的球即可。但是在一开始的问题描述中我们并没有这条假设，因此n=13的上限是不可实现的。</p>
<p>通过把称重问题刻画为汉明编码的方法，我们能求出任意m，任意r（一个天平多个盘）的情况下 n的最大值。</p>
<p>Isn&#8217;t it great?:)</p>
<h2><strong>参考文献：</strong></h2>
<p>[1]Thomas M Cover, Joy A Thomas,<strong>&lt;Elements of Information Theory&gt;</strong>, Chapter 2, Problem 13</p>
<p>[2]<a href="http://en.wikipedia.org/wiki/Hamming_code" target="_blank">http://en.wikipedia.org/wiki/Hamming_code</a></p>
<p>[3]<a href="http://www.mth.msu.edu/~jhall/classes/codenotes/Hamming.pdf" target="_blank">http://www.mth.msu.edu/~jhall/classes/codenotes/Hamming.pdf</a></p>
]]></content:encoded>
			<wfw:commentRss>http://wirelessyang.info/2009/06/weightingproblem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一类相似的智力题&#8211;加油问题</title>
		<link>http://wirelessyang.info/2009/04/%e4%b8%80%e7%b1%bb%e7%9b%b8%e4%bc%bc%e7%9a%84%e6%99%ba%e5%8a%9b%e9%a2%98-%e5%8a%a0%e6%b2%b9%e9%97%ae%e9%a2%98/</link>
		<comments>http://wirelessyang.info/2009/04/%e4%b8%80%e7%b1%bb%e7%9b%b8%e4%bc%bc%e7%9a%84%e6%99%ba%e5%8a%9b%e9%a2%98-%e5%8a%a0%e6%b2%b9%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 15:54:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[数学]]></category>
		<category><![CDATA[加油问题]]></category>
		<category><![CDATA[智力题]]></category>

		<guid isPermaLink="false">http://wirelessyang.info/?p=57</guid>
		<description><![CDATA[飞机加油问题 汽车加油问题 智力题 面试题]]></description>
			<content:encoded><![CDATA[<p><span style="font-weight: normal;"> 相信每个人都会对这4个问题有直观的解答，但是最关键的问题在于如何证明某个解答是最优的</span></p>
<h3>1猴子搬香蕉问题<span style="color: #ffffff;">wirelessyang.info</span></h3>
<p><span style="color: #ffffff;"><br />
</span></p>
<h3>一个小猴子边上有100根香蕉，它要走过50米才能到家，每次它最多搬50根香蕉，（多了就被压死了），它每走1米就要吃掉一根，请问它最多能把多少根香蕉搬到家里。</h3>
<p>逻辑推理：<span id="more-57"></span></p>
<p>a)  小猴子需要搬运n次，之前n次需要储存一些香蕉在半路，否则达不到最优。</p>
<p>b) 小猴子每次开始搬运的时候需要搬50根，否则达不到最优。（也就是搬运两次）</p>
<p>c) 小猴子第一次搬运不可能超过25m。<span style="color: #ffffff;">wirelessyang.info</span></p>
<p>d) 小猴子第一次搬运到50*(1/3)m时可留下 50*(1/3)根香蕉做储存。</p>
<p>e) 小猴子把香蕉放在0～50*(1/3)m处无法取得最优；小猴子把香蕉放在50*(1/3)～25m处无法取得最优。（也就是说只能放在50*(1/3)m处）  假设小猴子能在 50*(1/3)m处存放x根香蕉，则 50=3x，x=16.666&#8230;</p>
<p>因为x必须是整数，所以小猴子能在 16m处存放18根香蕉。 因此最后一次搬运的时候能把16根香蕉搬运到家里。</p>
<h3>2飞机加油问题<span style="color: #ffffff;">wirelessyang.info</span></h3>
<p><span style="color: #ffffff;"><span style="color: #999999;">(据说是微软面试题)</span> </span></p>
<h3>已知：每个飞机只有一个油箱， 飞机之间可以相互加油（注意是相互，没有加油机） 一箱油可供一架飞机绕地球飞半圈， 问题：为使至少一架飞机绕地球一圈回到起飞时的飞机场，至少需要出动几架飞机？（所有飞机从同一机场起飞，而且必须安全返回机场，不允许中途降落，中间没有飞机场）。 <span style="color: #ffffff;">wirelessyang.info</span></h3>
<div id="attachment_91" class="wp-caption aligncenter" style="width: 532px"><img class="size-full wp-image-91" title="飞机续航问题 图解" src="http://wirelessyang.info/wp-content/uploads/2009/04/2009-4-27-21-28-02.jpg" alt="飞机续航问题 图解" width="522" height="433" /><p class="wp-caption-text">飞机续航问题 图解</p></div>
<p>拿到本题后,直觉得出来的答案是Fig1(b),而正确的答案是Fig1(a),但网上大多没给出关于最优解的证明。</p>
<p>（提供一个类似的理论分析：<a href="http://wsamc82.googlepages.com/shumo.pdf" target="_blank">PDF</a> 来源：<a href="http://wsamc.spaces.live.com/blog/cns!30446B6D7A90BDA4!903.entry" target="_blank">chen’s blog</a>）</p>
<p>在这里诚心请教用逻辑分析证明Fig1(a)最优的方法：<a href="mailto:tommy786yang@gmail.com" target="_blank">请联系我</a></p>
<h3>3 汽车加油问题1<span style="color: #ffffff;">wirelessyang.info</span></h3>
<p><span style="color: #ffffff;"><br />
</span></p>
<h3>一条公路1000公里，一辆汽车加满一次油 需要500单位的油 可以行驶500公里，请问从公路这头行驶到另一头至少一共需要多少单位的油？假设公路边任意位置点都有加油筒（筒初始为空），可以将车中油暂存到路边的加油筒中。</h3>
<p>出乎我意料的是，这道题居然要用<a href="http://en.wikipedia.org/wiki/Backward_induction" target="_blank">Backward Induction</a>的方法，看似和前面几道题十分类似，但是解题思路却完全不一样。由<a href="http://en.wikipedia.org/wiki/Backward_induction" target="_blank">反向归纳</a>的思想进行分析的步骤如下：  首先确定一个原则，为了尽量省油，我们就要让车在路上的行程尽量短，不做过多的折回。直观上可以判断：越靠近起点的路经过的折回越多，越靠近终点的路经过的折回越少。因此至少要多少油料的问题就转化成了如何使车在路上折回的次数越少的问题。从终点向起点看去，折回的次数从0严格递增。</p>
<p>a)从终点向起点看去，最优的策略是车直接到达（也就是不折回），而这样需要在离终点500公里的地方（暂且叫作中专点1）放500单位油</p>
<p>b)从离终点500公里的地方向起点看去，最优的策略是从某一点（暂且叫作中转点2）折回1次到达（次数是1因为折回次数总是严格递增，我们需要让递增速度最慢）。<span style="color: #ff0000;">我们的目标是让中转点2离中转点1尽可能得远，同时能够保证能成功地通过折回一次来给中转点1提供500单位油</span>。根据<strong>引理1</strong>，中转点2需要离中转点1 (500/3)公里，同时需要在中转点2放置1000单位油。</p>
<p>c)循环应用<strong>引理1</strong></p>
<p>d)这个问题就便成了求解一个最小的N，使得<img class="aligncenter size-full wp-image-108" title="2009-4-27-23-43-26" src="http://wirelessyang.info/wp-content/uploads/2009/04/2009-4-27-23-43-26.jpg" alt="2009-4-27-23-43-26" width="234" height="42" /></p>
<p>这样具体的结果大家就可以自行计算了。</p>
<p><strong>引理1：<span style="color: #ffffff;">wirelessyang.info</span></strong></p>
<div id="attachment_98" class="wp-caption aligncenter" style="width: 325px"><img class="size-full wp-image-98" title="2009-4-27-23-31-181" src="http://wirelessyang.info/wp-content/uploads/2009/04/2009-4-27-23-31-181.jpg" alt="lemma" width="315" height="221" /><p class="wp-caption-text">Fig2</p></div>
<p>场景：在Fig2显示的图中，我们的目标在于先找到m&#8217;使得m&#8217;=min{m}，然后再这个m&#8217;的条件下找到一个x&#8217;使得x&#8217;=max{x}。</p>
<p>内容：m&#8217;=M; x&#8217;=Z/(2*n+1)。</p>
<p>证明:略。<span style="color: #ffffff;">wirelessyang.info</span></p>
<h3><span style="color: #c0c0c0;">4 汽车加油问题2(待解决)<span style="color: #ffffff;">wirelessyang.info</span></span></h3>
<p><span style="color: #c0c0c0;"><span style="color: #ffffff;"><br />
</span></span></p>
<h3><span style="color: #c0c0c0;">假设有一辆车，它的油箱恰好和一个油桶一样大，而且车上恰好可以运载一个桶。假设一桶油可以让车开一百公里。现在在起点，车装满了油，另外起点还有100桶油。问，这车最远能离开起点多远？</span></h3>
]]></content:encoded>
			<wfw:commentRss>http://wirelessyang.info/2009/04/%e4%b8%80%e7%b1%bb%e7%9b%b8%e4%bc%bc%e7%9a%84%e6%99%ba%e5%8a%9b%e9%a2%98-%e5%8a%a0%e6%b2%b9%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
