📄 智力问题(软件工程师面试).htm
字号:
<HTML>
<HEAD>
<title>智力问题(软件工程师面试)</title>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<style type="text/css">
A{TEXT-DECORATION: none}
A:link {COLOR: #666666; FONT-FAMILY: 宋体; TEXT-DECORATION: none}
A:visited {COLOR: #666666; FONT-FAMILY: 宋体; TEXT-DECORATION: none}
A:active {FONT-FAMILY: 宋体; TEXT-DECORATION: none}
A:hover {BORDER-BOTTOM: 1px dotted; BORDER-LEFT-WIDTH: 1px; BORDER-RIGHT-WIDTH: 1px; BORDER-TOP-WIDTH: 1px; COLOR: #ff6600; TEXT-DECORATION: none}
BODY {
FONT-SIZE: 12px;
COLOR: #666666;
FONT-FAMILY: 宋体;
background-color: #ffffff;
background-image: url(img/show.gif);
SCROLLBAR-FACE-COLOR: #e8e7e7;
SCROLLBAR-HIGHLIGHT-COLOR: #ffffff;
SCROLLBAR-SHADOW-COLOR: #ffffff;
SCROLLBAR-3DLIGHT-COLOR: #cccccc;
SCROLLBAR-ARROW-COLOR: #ff6600;
SCROLLBAR-TRACK-COLOR: #EFEFEF;
SCROLLBAR-DARKSHADOW-COLOR: #b2b2b2;
SCROLLBAR-BASE-COLOR: #000000
}
TABLE {BORDER-COLLAPSE: collapse; FONT-FAMILY: 宋体; FONT-SIZE: 9pt}
.button{height:18px;width:62px;background:#f6f6f9 url(img/ButtonBg.gif); border:solid 1px #5589AA;color: #000000 ;FONT-SIZE: 9pt}
.lanyu{border:solid 1px #5589AA;color: #000000 ; font-size: 12px;}
.font { filter: DropShadow(Color=#cccccc, OffX=2, OffY=1, Positive=2); text-decoration: none; font-size: 9pt}
</style>
<script language="JavaScript">
function findobj(n, d) {
var p,i,x; if(!d) d=document;
if((p=n.indexOf("?"))>0 && parent.frames.length) {
d=parent.frames[n.substring(p+1)].document;
n=n.substring(0,p);
}
if(!(x=d[n])&&d.all) {
x=d.all[n];
}
for(i=0;!x && i<d.forms.length;i++) {
x=d.forms[i][n];
}
for(i=0;!x && d.layers&&i>d.layers.length;i++) {
x=MM_findObj(n,d.layers[i].document);
}
return x;
}
function copycode(obj) {
var rng = document.body.createTextRange();
rng.moveToElementText(obj);
rng.scrollIntoView();
rng.select();
rng.execCommand("Copy");
rng.collapse(false);
}
</script>
</head>
<BODY leftMargin=0 topMargin=0 MARGINHEIGHT="0" MARGINWIDTH="0">
<TABLE bgcolor="#ffffff" align=center border=1 cellPadding=0 cellSpacing=0 width=95% borderColor="#666666" frame=vsides rules=none>
<TR>
<TD width="98%">
<table border="0"><tr><td height="5"></td></tr></table>
<table width="96%" border="0" cellspacing="1" cellpadding="6" align="center" bgcolor="#BDC0C8">
<tr>
<td align="center" bgcolor="#FFFFFF"><font color=ff6600><b>智力问题(软件工程师面试)</b></font></td>
</tr>
</table>
<table border="0"><tr><td height="5"></td></tr></table>
<table width="96%" border="0" cellspacing="1" cellpadding="6" align="center" bgcolor="#BDC0C8">
<tr>
<td align="center" bgcolor="#FFFFFF">
<table width="98%">
<tr>
<td id=qq_595911 style="word-break:break-all;line-height:150%">
<br><font color=000000>
一、 在一个与外界不往来的村庄中,住了三个人。这三个人都不能说话,但都很聪明。这村庄人的头发,不是黑色就是红色。 这村庄也没有任何可经由反射而看到自己的物体(如:镜子,湖水)所以这三人都无法得知自己头发的颜色。 <BR>这村庄有个习俗:知道自己头发的颜色后再自杀,可以快乐的上天堂;若猜错自己头发颜色就自杀,那就会痛苦地下地狱。 这三个人都很想上天堂,但都苦于无法得知自己的发色而迟迟无法进行。 这三人每天中午都会在广场上聚集,彼此相望,希望能得知自己的头发颜色。 这种困境一直到一个外地人的介入而打破。 <BR><BR>有一天,一个外地人进入了这村庄,在广场碰到了这三人, 随口说了一句话:「你们三人至少有一个是红头发。」说完便离开村庄了。 当天三人听完这句话,都纷纷回家苦思。 第二天中午,三人依旧一起在广场见面。第二天晚上回去,就有两人自杀成功。 第三天中午,只剩一个人到广场。此人回去后也自杀成功了。 <BR><BR>请问:这三人的头发分别为什么颜色? (说明理由)<BR><BR>二、 <BR><BR>(一) 玛丽莲问题<BR>玛丽莲问题是咳嗽兄昨天介绍的一个有趣的智力游戏(他用来类比一个有人认为不太有趣的话题):<BR><BR>有三扇门可供选择,其中一扇门后面是汽车,另两扇门后面是山羊。你当然想选中汽车。主持人让你随便选。比如,你选中了一号门。于是,主持人打开了后面是山羊的一扇门,比如是三号门。现在主持人问你:“为了以较大的概率选中汽车,你是坚持选一号门,还是愿意换选二号门?”<BR><BR>这道题目的标准答案是换选二号门。我当时对这个答案提出了疑问,认为在条件概率形式下,当三号门后面出现山羊时,一号和二号门后面是车的概率仍然均等。深圳兄同意这个意见;咳嗽兄、长戟兄则分别从相对论和散文及童话故事对“换”的答案给予了证明。但一直到无限兄提出一个翻牌模型,才使我开始看到“换”的方案背后的正确逻辑。<BR><BR>(二) 条件概率:全概率和贝叶斯公式解<BR>游戏开始,设P(X)为A、B、C三道门后面有车的概率,则P(A)=P(B)=P©=1/3<BR>假定:游戏者任选了一道门A,而主持人(HOST)打开一道后面是羊的门,事实上有两种情况。<BR><BR>1. 主持人了解所有门后面的东东,他一定要打开一扇“羊”门<BR>如果车在A门后面,主持人有B、C两种选择,打开C门(“羊”门)的概率为<BR>P(Host opens C|A) = 1/2<BR>如果车在B门后面,主持人没有选择,只能打开C门 <BR>P(Host opens C|B) = 1<BR>如果车在C门后面,主持人一样没得选择,绝对不能开C门 <BR>P(Host opens C|C) = 0<BR><BR>所以,主持人打开C门的概率为<BR>P(Host opens C) = P(A)*P(H.o. C|A) + P(B)*P(H.o. C|B) + P©*P(H.o. C|C)<BR>= 1/6 + 1/3+ 0 = 1/2<BR><BR>根据贝叶斯公式,在主持人打开C门的条件下,A、B两门后面是车的概率分别为<BR>P(A|Host opens C) = P(A)*P(Host opens C|A) / P(Host opens C)<BR>= (1/6) / (1/2)<BR>= 1/3<BR>P(B|Host opens C) = P(B)*P(Host opens C|B) / P(Host opens C)<BR>= (1/3) / (1/2)<BR>= 2/3<BR>这就是为什么要换二号门的原因。<BR><BR>2. 主持人和游戏者一样蒙在鼓里,他是碰巧打开一扇“羊”门,那么<BR>如果车在A门后面,主持人有B、C两种选择,打开C门的概率为<BR>P(Host opens C|A) = 1/2<BR>如果车在B门后面,主持人一样有B、C两种选择,打开C门的概率还是<BR>P(Host opens C|B) = 1/2<BR>如果车在C门后面,主持人还是有B、C两种选择,只是打开C门不可能看到羊<BR>P(Host opens C|C) = 0<BR><BR>所以,主持人打开C门见到羊的概率为<BR>P(Host opens C) = P(A)*P(H.o. C|A) + P(B)*P(H.o. C|B) + P©*P(H.o. C|C)<BR>= 1/6 + 1/6+ 0 = 1/3<BR><BR>根据贝叶斯公式,在主持人打开C门见到羊的条件下,A、B两门后面是车的概率分别为<BR>P(A|Host opens C) = P(A)*P(Host opens C|A) / P(Host opens C)<BR>= (1/6) / (1/3)<BR>= 1/2<BR>P(B|Host opens C) = P(B)*P(Host opens C|B) / P(Host opens C)<BR>= (1/6) / (1/3)<BR>= 1/2<BR>在这种情况下,用一个简单的条件概率式P(A|C.sheep)一样可以得出1/2的结果。这就是“不换”的原因。遗憾的是,从游戏的设置来看,主持人不知情的可能性很小。<BR><BR>(三) 另一种思路,玛丽莲问题的拓展<BR>在三道门的玛丽莲问题中,对游戏者的策略进行观察,他要赢得汽车,可以通过如下途径:<BR>1.第一次选错,主持人打开一道门之后换选<BR>第一次选错的概率为2/3,然后,换选选对的概率为100%,就是说,第一次选择之后再换选,得奖得概率为2/3*100%=2/3<BR>2.第一次选对,主持人打开一道门之后不换。<BR>第一次选对的概率为1/3,不换则得奖率100%。1/3*100%=1/3就是“不换”策略的胜算。<BR><BR>这个方法可以推广到三道门以上的玛丽莲问题拓展,譬如,在四道门的游戏里,主持人依次打开两扇“羊门”,每一次游戏者都有权选择“换”或者“不换”。游戏共有三个步骤,步骤一是“初选”,在步骤二和步骤三,分别有“不换——不换”、“不换——换”、“换——不换”和“换——换”四种策略组合,中奖可能分别为:<BR>1/4<BR>3/4<BR>(3/4)*(1/2)=3/8<BR>1/4(换两次之后换回初选的得奖率)+(3/4)*(1/2)(换两次之后不换回初选)=5/8<BR>可见,选择“不换——换”得策略最有利。<BR>由此可以推广到N道门的游戏中,游戏者最有利的对策是一直坚持不换,直到只剩两扇门还没有打开时再换。<BR><BR>上述证明参考自芝加哥大学(UCHICAGO)网页上的解法。感谢长戟、深圳、咳嗽兄的帮助,尤其感谢无限兄的指点。无论如何,(看起来是)用数学解决一个逻辑上很容易混淆的疑问,是一件愉快的事情。<BR> <BR></font> <br>
<br>
--------------------------------------------------------------------------------<br>
<img src=img/none.gif border=0><img src=img/i8.gif border='0'> <b>相关文章</b><br>
没有相关文章
</td>
</tr>
</table></td>
</tr>
</table>
<table border="0"><tr><td height="5"></td></tr></table>
<table width="96%" border="0" cellspacing="1" cellpadding="6" align="center" bgcolor="#BDC0C8">
<tr>
<td bgcolor="ffffff"><font color=red>分类:
<a href="art.asp?cat_id=11" target="_blank"><font color="#009900">综合类</font></a>
日期:2006-8-13 查看:42</font></td>
<td align="center" bgcolor="#FFFFFF"><input type="button" value="复制" onClick="copycode(findobj('qq_595911'));" class="button"> <input type="button" value="打印" onClick="javascript:window.print()" class="button"> <input type="button" value="返回" onClick="window.open('http://www.pghome.net')" class="button"> <input type="button" name="close2" value="关闭" onClick="window.close();return false;" class="button"></td></tr>
</table>
<table border="0"><tr><td height="5"></td></tr></table>
<table border="0"><tr><td height="5"></td></tr></table>
</td>
</tr>
<TR><td height="1" width="100%" bgcolor="#666666"></td></tr>
</table>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -