在 08-4-9,pongba<pon...@gmail.com> 写道:
> 波利亚的《How To Solve
> It》里面有一个章节列出了一大堆的Heuristics(启发法),譬如把题目泛化、考察问题的特例、类比、看能否扔掉什么条件、看能否修改什么条件、时刻注意未知量...等等。
>
> 我有一个信念,所谓的灵感,背后一定有它的规则,虽然灵感发自无意识层面(参考《追寻记忆的痕迹》(坎德尔),以及《态度改变与社会影响》(津巴度)的"阈下刺激"章节),我们无法在灵感之前就在意识层面觉察到灵感诞生的过程,然而我们的确可以在灵感发生之后通过回顾和合情推理总结出最有可能的思路,数学的发展某种意义上做的就是这样一件事情,从最朴素的推理,到数学方法的产生----从三段论、形式逻辑、数学归纳法、类比、分治这些一般思维规则到鸽笼原理、极值原理、贪婪原理这类解决特定问题的原理,无一不是对思维过程的事后总结和整理。譬如我觉得形式逻辑就是最大的事后整理出来的思维法则,人类天生在无意识层面就具有推理能力(参见皮亚杰的认知发展原理),就像(也许)自然数是根植在大脑里面的概念一样,这些概念是进化出来的,我们无意识间就能够熟练运用。然而,要想让它们得到发展、生长,乃至能形式化到纸上,成为任何人都能操作的方法论,则需要意识的参与。
>
> 遂发起这个系列"今天我们思考"(本来是想写"今天我们做题",但想到这个讨论的目的其实是思考,遂改了),大家都把自己认为最精彩的题目发上来(发的时候加上[今天我们思考<编号>]便于以后搜索),我想一定是一件于人于己都是非常有益的事情。
>
> 题目未必要新,我的想法是关键是要经典,这个系列的关键是想要讨论做题的思路,而绝非题目本身,答案完全不是目的,就算得不出答案的思路也有很大的价值。如果你想到了一些思路,但看上去离答案还相差甚远,没有任何关系,贴上来,也许对别人的思路有很大启发。这是一个邮件列表内的头脑风暴。如果你想到了答案,并且能够总结出自己思路中的关键法则(你是怎么想到的),我想大家都会受益匪浅。
>
> 我们做题、做题、做题,往往认为到达熟练的唯一办法就是做题,认为只有埋头做题才能够提高能力。诚然,练习是必要条件。但有些练习比另一些练习更有效。
>
> 我们苦思冥想,在某个瞬间得到灵感,于是欢呼雀跃,随着时间的推移,这样的灵感时刻也许会越来越多,于是我们认为这就是最有效的练习方法。我不这么认为,我觉得题目背后的思维大抵是相通的,通过一次次的等待灵感来练习,是被动的。在灵感出现之后总结为什么灵感会出现,背后可能有什么样的思维法则,看看能否泛化到一类题目,这样才是事半功倍的方法。因为我们的意识层面无法觉察到无意识层面的推理逻辑,所以人们只能绝望地认为除了在一次次解题中让你的无意识层面的神经元得到锻炼之外别无它法。然而启发法的出现却正打破了这个观点,所谓启发法其实就是"原本被我们无意识运用""后来被形式化地提出来,可以由意识来指导的方法"。总结出了思维的法则,我们下次便有可能不用绝望地等待摸不着的灵感的闪现,而是可以系统化地尝试各种可行的手法(启发法)了。
>
> 要实现这个目的(即总结自己的灵感背后的思维规则进而泛化为一般性的解题思路),我认为一种方法是可取的,即所谓的"看得着的思考"----把你的思考过程详细的写在纸上。人的意识就像黑夜里的灯光,只能照亮一个很小的局部,如果不写下来,思维的灯光总是有限的,有可能走到后面忘掉前面,也有可能干脆就没法往下思考。写下来,可以避免这个问题,思维就可以往下走,就可以照到越来越多的地方。此外,写下来还能够使得自己能够回过头来检视自己的整个思考过程,也许前面某个时候你想到一个东西,但如果不记下来你就很快忘了,而记下来回头一看也许你又有很大的启发。也许,你在思维的某一个环节上无意间引入了一个想当然的假设,从而掉入了思维定势的陷阱,通过写下来,就可以一定程度上避免这样的陷阱。
在 08-4-9,windstorm<likunar...@gmail.com> 写道:
不然为啥要5周?直接组合一个月就出来了。
好歹这还是relatively hard的题目啊
Rather than using 1000 prisoners each assigned to a particular bottle,
this king knows that he needs to murder no more than 10 prisoners to
figure out what bottle is poisoned
没有说king只能"使用"10个人,是murder no more than 10 prisoners
那方法海了去了,比如矩阵计算什么的,而且和那个5周没有任何关系
--
web: http://www.forwind.cn
msn: likunarmstrong at hotmail.com
在 08-4-9,alai<ala...@gmail.com> 写道:
问题是alai考虑过,为什么它会提到这5个月没有?
如果仅仅是这个思路,没理由归类于hard的。
2008/4/9, windstorm <likunar...@gmail.com>:
不然一个人就可以了,让他不断喝,到时候看具体到某一秒死的,就能知道什么酒有毒。
在 08-4-10,kenical<ken...@126.com> 写道:
当然也许是我算错了
往下我们就不说了,你意思说要确定哪个125里面有毒,只需要3个人?那你谈一谈怎么确定吧。一旦这个确定不了,往下就不用想了
2008/4/10 鋆邓 <tdzl...@gmail.com>:
--
Any complex technology which doesn't come with documentation must be the best
available.
在 08-4-10,xxmplus<xxm...@gmail.com> 写道:
1000瓶都要品的。
恕我愚笨,我还是不觉得这个方法能验证出来
鋆邓的方法是可以的,等于是组合方法,其实和编码的原理差不多的
--
在 08-4-10,roychen<ROY.C...@gmail.com> 写道:
我知道题目的意思,但是这句话确实没有表达出题目应该表达的东西。
还有,我问了下公司里的老外,他们都同意我的看法,所以补习英文就不必你操心了
2008/4/10 alai <ala...@gmail.com>:
这句话说的是,国王比我们很多人都要聪明。
我昨天也这样分过,不过我推了4层后,想找一个表达式来推广,没想到,所以直接就二进制编码来想了......
2008/4/10 kenical <ken...@126.com>:
在 08-4-10,alai<ala...@gmail.com> 写道:
2008/4/10 alai <ala...@gmail.com>:
在 08-4-10,silwile<sil...@gmail.com> 写道:
> wow~~~
> 大家讨论得好热闹啊。
>
> 那个所谓的答案我想大家都差不多清楚了。
> 顺便再追加一问:如果你是10个不幸的囚犯里的一个,10个囚犯的标号是从1到10,你会选择哪个标号?
>
> On 4月9日, 下午2时23分, pongba <pon...@gmail.com> wrote:
> > 波利亚的《How To Solve
> > It》里面有一个章节列出了一大堆的Heuristics(启发法),譬如把题目泛化、考察问题的特例、类比、看能否扔掉什么条件、看能否修改什么条件、时刻注意未知量...等等。
> >
> > 我有一个信念,所谓的灵感,背后一定有它的规则,虽然灵感发自无意识层面(参考《追寻记忆的痕迹》(坎德尔),以及《态度改变与社会影响》(津巴度)的"阈下刺激"章节),我们无法在灵感之前就在意识层面觉察到灵感诞生的过程,然而我们的确可以在灵感发生之后通过回顾和合情推理总结出最有可能的思路,数学的发展某种意义上做的就是这样一件事情,从最朴素的推理,到数学方法的产生----从三段论、形式逻辑、数学归纳法、类比、分治这些一般思维规则到鸽笼原理、极值原理、贪婪原理这类解决特定问题的原理,无一不是对思维过程的事后总结和整理。譬如我觉得形式逻辑就是最大的事后整理出来的思维法则,人类天生在无意识层面就具有推理能力(参见皮亚杰的认知发展原理),就像(也许)自然数是根植在大脑里面的概念一样,这些概念是进化出来的,我们无意识间就能够熟练运用。然而,要想让它们得到发展、生长,乃至能形式化到纸上,成为任何人都能操作的方法论,则需要意识的参与。
> >
> > 遂发起这个系列"今天我们思考"(本来是想写"今天我们做题",但想到这个讨论的目的其实是思考,遂改了),大家都把自己认为最精彩的题目发上来(发的时候加上[今天我们思考<编号>]便于以后搜索),我想一定是一件于人于己都是非常有益的事情。
> >
> > 题目未必要新,我的想法是关键是要经典,这个系列的关键是想要讨论做题的思路,而绝非题目本身,答案完全不是目的,就算得不出答案的思路也有很大的价值。如果你想到了一些思路,但看上去离答案还相差甚远,没有任何关系,贴上来,也许对别人的思路有很大启发。这是一个邮件列表内的头脑风暴。如果你想到了答案,并且能够总结出自己思路中的关键法则(你是怎么想到的),我想大家都会受益匪浅。
> >
> > 我们做题、做题、做题,往往认为到达熟练的唯一办法就是做题,认为只有埋头做题才能够提高能力。诚然,练习是必要条件。但有些练习比另一些练习更有效。
> >
> > 我们苦思冥想,在某个瞬间得到灵感,于是欢呼雀跃,随着时间的推移,这样的灵感时刻也许会越来越多,于是我们认为这就是最有效的练习方法。我不这么认为,我觉得题目背后的思维大抵是相通的,通过一次次的等待灵感来练习,是被动的。在灵感出现之后总结为什么灵感会出现,背后可能有什么样的思维法则,看看能否泛化到一类题目,这样才是事半功倍的方法。因为我们的意识层面无法觉察到无意识层面的推理逻辑,所以人们只能绝望地认为除了在一次次解题中让你的无意识层面的神经元得到锻炼之外别无它法。然而启发法的出现却正打破了这个观点,所谓启发法其实就是"原本被我们无意识运用""后来被形式化地提出来,可以由意识来指导的方法"。总结出了思维的法则,我们下次便有可能不用绝望地等待摸不着的灵感的闪现,而是可以系统化地尝试各种可行的手法(启发法)了。
> >
> > 要实现这个目的(即总结自己的灵感背后的思维规则进而泛化为一般性的解题思路),我认为一种方法是可取的,即所谓的"看得着的思考"----把你的思考过程详细的写在纸上。人的意识就像黑夜里的灯光,只能照亮一个很小的局部,如果不写下来,思维的灯光总是有限的,有可能走到后面忘掉前面,也有可能干脆就没法往下思考。写下来,可以避免这个问题,思维就可以往下走,就可以照到越来越多的地方。此外,写下来还能够使得自己能够回过头来检视自己的整个思考过程,也许前面某个时候你想到一个东西,但如果不记下来你就很快忘了,而记下来回头一看也许你又有很大的启发。也许,你在思维的某一个环节上无意间引入了一个想当然的假设,从而掉入了思维定势的陷阱,通过写下来,就可以一定程度上避免这样的陷阱。
在 08-4-10,silwile<sil...@gmail.com> 写道:
在 08-4-11,alai<ala...@gmail.com> 写道:
5 weeks 应该不是一个重要的条件。
将瓶子编号,1到1000.
从题目来看,犯人有得是(vast dungeons),所以,可以有足够的犯人来试药。
用2分法来划分瓶子,比如从1到500的瓶子各取出1滴,混合后给某个犯人喝(药性够猛,不怕稀释),如果有毒的瓶子在这里面,那么1个月后,他就挂
了。依此类推,由于2^10 = 1024 > 1000,所以,虽然有很多人试药,但是挂掉的no more than 10.
至于时间,所有试药的都在第一天一起喝下去即可,呵呵,都在第30天毒发。
> 波利亚的《How To Solve
> It》里面有一个章节列出了一大堆的Heuristics(启发法),譬如把题目泛化、考察问题的特例、类比、看能否扔掉什么条件、看能否修改什么条件、时刻注意未知量...等等。
>
> 我有一个信念,所谓的灵感,背后一定有它的规则,虽然灵感发自无意识层面(参考《追寻记忆的痕迹》(坎德尔),以及《态度改变与社会影响》(津巴度)的"阈下刺激"章节),我们无法在灵感之前就在意识层面觉察到灵感诞生的过程,然而我们的确可以在灵感发生之后通过回顾和合情推理总结出最有可能的思路,数学的发展某种意义上做的就是这样一件事情,从最朴素的推理,到数学方法的产生----从三段论、形式逻辑、数学归纳法、类比、分治这些一般思维规则到鸽笼原理、极值原理、贪婪原理这类解决特定问题的原理,无一不是对思维过程的事后总结和整理。譬如我觉得形式逻辑就是最大的事后整理出来的思维法则,人类天生在无意识层面就具有推理能力(参见皮亚杰的认知发展原理),就像(也许)自然数是根植在大脑里面的概念一样,这些概念是进化出来的,我们无意识间就能够熟练运用。然而,要想让它们得到发展、生长,乃至能形式化到纸上,成为任何人都能操作的方法论,则需要意识的参与。
>
> 遂发起这个系列"今天我们思考"(本来是想写"今天我们做题",但想到这个讨论的目的其实是思考,遂改了),大家都把自己认为最精彩的题目发上来(发的时候加上[今天我们思考<编号>]便于以后搜索),我想一定是一件于人于己都是非常有益的事情。
>
> 题目未必要新,我的想法是关键是要经典,这个系列的关键是想要讨论做题的思路,而绝非题目本身,答案完全不是目的,就算得不出答案的思路也有很大的价值。如果你想到了一些思路,但看上去离答案还相差甚远,没有任何关系,贴上来,也许对别人的思路有很大启发。这是一个邮件列表内的头脑风暴。如果你想到了答案,并且能够总结出自己思路中的关键法则(你是怎么想到的),我想大家都会受益匪浅。
>
> 我们做题、做题、做题,往往认为到达熟练的唯一办法就是做题,认为只有埋头做题才能够提高能力。诚然,练习是必要条件。但有些练习比另一些练习更有效。
>
> 我们苦思冥想,在某个瞬间得到灵感,于是欢呼雀跃,随着时间的推移,这样的灵感时刻也许会越来越多,于是我们认为这就是最有效的练习方法。我不这么认为,我觉得题目背后的思维大抵是相通的,通过一次次的等待灵感来练习,是被动的。在灵感出现之后总结为什么灵感会出现,背后可能有什么样的思维法则,看看能否泛化到一类题目,这样才是事半功倍的方法。因为我们的意识层面无法觉察到无意识层面的推理逻辑,所以人们只能绝望地认为除了在一次次解题中让你的无意识层面的神经元得到锻炼之外别无它法。然而启发法的出现却正打破了这个观点,所谓启发法其实就是"原本被我们无意识运用""后来被形式化地提出来,可以由意识来指导的方法"。总结出了思维的法则,我们下次便有可能不用绝望地等待摸不着的灵感的闪现,而是可以系统化地尝试各种可行的手法(启发法)了。
>
> 要实现这个目的(即总结自己的灵感背后的思维规则进而泛化为一般性的解题思路),我认为一种方法是可取的,即所谓的"看得着的思考"----把你的思考过程详细的写在纸上。人的意识就像黑夜里的灯光,只能照亮一个很小的局部,如果不写下来,思维的灯光总是有限的,有可能走到后面忘掉前面,也有可能干脆就没法往下思考。写下来,可以避免这个问题,思维就可以往下走,就可以照到越来越多的地方。此外,写下来还能够使得自己能够回过头来检视自己的整个思考过程,也许前面某个时候你想到一个东西,但如果不记下来你就很快忘了,而记下来回头一看也许你又有很大的启发。也许,你在思维的某一个环节上无意间引入了一个想当然的假设,从而掉入了思维定势的陷阱,通过写下来,就可以一定程度上避免这样的陷阱。
1000瓶酒,只有1瓶有毒,稀释无法减弱毒性。人喝下去后一个月才有反应。反应只有两个,中毒或者没中毒。需要在不超过10人中毒(参加测试)的前提下,在5周之内找出有毒的那一瓶酒。
看来所有试验要同时进行才行,一次就要看出结果。那么二分法就无效了。
能否用10个二进制位表示1000个数?可以。所以在理论上这个问题是有解的。
要想用10个二进制位表示1000个数,就必须让每个位都指示不同的事实,通过10个事实的真假来得到一个确定的数。
即要把1-1000分解为10个组,10个组的真假的组合可以指示其中任意一个确定的数。
二进制是怎样做到的?
最低位(第1位)代表该数的奇偶性;最高位(第10位)代表数在前2^9还是后2^9;第2位代表被4除之后的余数是0,1还是2,3;第3位代表被2^3除之后的余数是0,1,2,3还是4,5,6,7;……
因此,10个组可以分出来了:
第1组,奇数瓶混在一起,偶数瓶不管。如果中毒了,表示毒酒在奇数瓶中,没中毒则在偶数瓶。
第2组,先跳过2瓶酒,然后取2瓶酒加进去,然后再跳过2瓶,以此类推,直到取完或跳完。
第3组,先跳过2^2瓶酒,然后取2^2瓶酒加进去,然后再跳过2^2瓶,以此类推,直到取完或跳完。
第10组,先跳过2^9瓶酒,然后取2^9瓶酒加进去,此时已经取完了。
给10个人分别喝下此10组酒,一个月后观察反应,纪录成二进制数,换算成十进制即为结果。
波利亚的《How To Solve It》里面有一个章节列出了一大堆的Heuristics(启发法),譬如把题目泛化、考察问题的特例、类比、看能否扔掉什么条件、看能否修改什么条件、时刻注意未知量...等等。
我有一个信念,所谓的灵感,背后一定有它的规则,虽然灵感发自无意识层面(参考《追寻记忆的痕迹》(坎德尔),以及《态度改变与社会影响》(津巴度)的"阈下刺激"章节),我们无法在灵感之前就在意识层面觉察到灵感诞生的过程,然而我们的确可以在灵感发生之后通过回顾和合情推理总结出最有可能的思路,数学的发展某种意义上做的就是这样一件事情,从最朴素的推理,到数学方法的产生----从三段论、形式逻辑、数学归纳法、类比、分治这些一般思维规则到鸽笼原理、极值原理、贪婪原理这类解决特定问题的原理,无一不是对思维过程的事后总结和整理。譬如我觉得形式逻辑就是最大的事后整理出来的思维法则,人类天生在无意识层面就具有推理能力(参见皮亚杰的认知发展原理),就像(也许)自然数是根植在大脑里面的概念一样,这些概念是进化出来的,我们无意识间就能够熟练运用。然而,要想让它们得到发展、生长,乃至能形式化到纸上,成为任何人都能操作的方法论,则需要意识的参与。
遂发起这个系列"今天我们思考"(本来是想写"今天我们做题",但想到这个讨论的目的其实是思考,遂改了),大家都把自己认为最精彩的题目发上来(发的时候加上[今天我们思考<编号>]便于以后搜索),我想一定是一件于人于己都是非常有益的事情。
题目未必要新,我的想法是关键是要经典,这个系列的关键是想要讨论做题的思路,而绝非题目本身,答案完全不是目的,就算得不出答案的思路也有很大的价值。如果你想到了一些思路,但看上去离答案还相差甚远,没有任何关系,贴上来,也许对别人的思路有很大启发。这是一个邮件列表内的头脑风暴。如果你想到了答案,并且能够总结出自己思路中的关键法则(你是怎么想到的),我想大家都会受益匪浅。
我们做题、做题、做题,往往认为到达熟练的唯一办法就是做题,认为只有埋头做题才能够提高能力。诚然,练习是必要条件。但有些练习比另一些练习更有效。
我们苦思冥想,在某个瞬间得到灵感,于是欢呼雀跃,随着时间的推移,这样的灵感时刻也许会越来越多,于是我们认为这就是最有效的练习方法。我不这么认为,我觉得题目背后的思维大抵是相通的,通过一次次的等待灵感来练习,是被动的。在灵感出现之后总结为什么灵感会出现,背后可能有什么样的思维法则,看看能否泛化到一类题目,这样才是事半功倍的方法。因为我们的意识层面无法觉察到无意识层面的推理逻辑,所以人们只能绝望地认为除了在一次次解题中让你的无意识层面的神经元得到锻炼之外别无它法。然而启发法的出现却正打破了这个观点,所谓启发法其实就是"原本被我们无意识运用""后来被形式化地提出来,可以由意识来指导的方法"。总结出了思维的法则,我们下次便有可能不用绝望地等待摸不着的灵感的闪现,而是可以系统化地尝试各种可行的手法(启发法)了。
要实现这个目的(即总结自己的灵感背后的思维规则进而泛化为一般性的解题思路),我认为一种方法是可取的,即所谓的"看得着的思考"----把你的思考过程详细的写在纸上。人的意识就像黑夜里的灯光,只能照亮一个很小的局部,如果不写下来,思维的灯光总是有限的,有可能走到后面忘掉前面,也有可能干脆就没法往下思考。写下来,可以避免这个问题,思维就可以往下走,就可以照到越来越多的地方。此外,写下来还能够使得自己能够回过头来检视自己的整个思考过程,也许前面某个时候你想到一个东西,但如果不记下来你就很快忘了,而记下来回头一看也许你又有很大的启发。也许,你在思维的某一个环节上无意间引入了一个想当然的假设,从而掉入了思维定势的陷阱,通过写下来,就可以一定程度上避免这样的陷阱。
从一道题目中获得最多的东西,这是做题的目的。
你有没有这样的经历,一道题目你做不出来,你拿去问某个人,某个人想了一会儿,然后指出某个关键的step,于是一切豁然开朗。
但这不是全部!
如果你继续问他是怎么想到的,经验告诉我,几乎所有的可能性都指向一个答案"我也不清楚"。
为什么?根据我自己的经验,我相信是因为绝大多数人都没有仔细反省自己思考的过程。如果想不出来,拉倒。如果想出来了,万事大吉。但波利亚在《How to Solve it》中说到,他在教学的过程中总是碰到这样的问题"你是怎么想到的"?这个问题促使了他去总结思维的规律,有了这些规律,即使不那么富有灵感的人,也可以运用这些规律,让自己的思维的触角能够伸展开去。
答案不重要,如果你直接告诉我关键的一步,我什么也没有得到。甚至就算我自己想出了最关键的一步,也许我还是什么都没得到。因为这样的经验只能极其有限地对我下一次的问题产生帮助;除非我能进一步思考思维背后的规则。
所以,重要的是思考的过程,不管这个过程是不是带领你得到答案。我相信只有最深刻了解了思考的真正过程,才能够从做题中获得最多的东西。
如果你对以往做题的思路有很好的思考,也欢迎和大家分享~
1000瓶葡萄酒的问题:
题目来自:http://www.ocf.berkeley.edu/~wwu/riddles/hard.shtml
友情感谢silwile同学提供地址,伯克利的这帮家伙的确很生猛~里面的题目几乎都很有价值。
An evil king has 1000 bottles of wine. A neighboring queen plots to kill the bad king, and sends a servant to poison the wine. The king's guards catch the servant after he has only poisoned one bottle. The guards don't know which bottle was poisoned, but they do know that the poison is so potent that even if it was diluted 1,000,000 times, it would still be fatal. Furthermore, the effects of the poison take one month to surface. The king decides he will get some of his prisoners in his vast dungeons to drink the wine. Rather than using 1000 prisoners each assigned to a particular bottle, this king knows that he needs to murder no more than 10 prisoners to figure out what bottle is poisoned, and will still be able to drink the rest of the wine in 5 weeks time. How does he pull this off?
今天,我们思考。
--
刘未鹏(pongba)|C++的罗浮宫
http://blog.csdn.net/pongba
TopLanguage
http://groups.google.com/group/pongba
在 08-4-25,怀宇范<dugu...@gmail.com> 写道:
我觉得这个问题可以从简单情形入手。不过,我总觉得这个问题肯定可以从编码的角度给一个完美完整的解释。 假如只有四瓶的话,则只要两个人,第一个人喝1,2瓶,第二个人喝2,3瓶。根据第一个,第二个人的生死情况,可以如下推理: (第一个人用一简称,第二个人用二简称) 一活,二活: 第四瓶为毒酒; 一死,二活: 第一瓶为毒酒; 一死,二死: 第二瓶为毒酒; 一活,二死: 第三瓶为毒酒。 下面由此递推有8个人的情形。如此分配:第一个人喝1,2,3,4瓶,第二个人喝1,2,5,6瓶,第三个人喝2,3,6,7瓶。根据三个人的生死情 况,作如下推理: 一活,二活,三活:第八瓶为毒酒; 一活,二活,三死:第七瓶为毒酒; 一活,二死,三活:第五瓶为毒酒; 一活,二死,三死:第六瓶为毒酒; 一死,二活,三活:第四瓶为毒酒; 一死,二活,三死:第三瓶为毒酒; 一死,二死,三活:第一瓶为毒酒; 一死,二死,三死:第二瓶为毒酒。 如果为16瓶时,只需要四个人,其中第一个人喝1~8瓶,其他的和8瓶时一样。 如此可以递推到2^n时的情形。 On Apr 9, 2:23 pm, pongba <pon...@gmail.com> wrote:
波利亚的《How To Solve It》里面有一个章节列出了一大堆的Heuristics(启发法),譬如把题目泛化、考察问题的特例、类比、看能否扔掉什么条件、看能否修改什么条件、时刻注意未知量...等等。 我有一个信念,所谓的灵感,背后一定有它的规则,虽然灵感发自无意识层面(参考《追寻记忆的痕迹》(坎德尔),以及《态度改变与社会影响》(津巴度)的"阈下刺激"章节),我们无法在灵感之前就在意识层面觉察到灵感诞生的过程,然而我们的确可以在灵感发生之后通过回顾和合情推理总结出最有可能的思路,数学的发展某种意义上做的就是这样一件事情,从最朴素的推理,到数学方法的产生----从三段论、形式逻辑、数学归纳法、类比、分治这些一般思维规则到鸽笼原理、极值原理、贪婪原理这类解决特定问题的原理,无一不是对思维过程的事后总结和整理。譬如我觉得形式逻辑就是最大的事后整理出来的思维法则,人类天生在无意识层面就具有推理能力(参见皮亚杰的认知发展原理),就像(也许)自然数是根植在大脑里面的概念一样,这些概念是进化出来的,我们无意识间就能够熟练运用。然而,要想让它们得到发展、生长,乃至能形式化到纸上,成为任何人都能操作的方法论,则需要意识的参与。 遂发起这个系列"今天我们思考"(本来是想写"今天我们做题",但想到这个讨论的目的其实是思考,遂改了),大家都把自己认为最精彩的题目发上来(发的时候加上[今天我们思考<编号>]便于以后搜索),我想一定是一件于人于己都是非常有益的事情。 题目未必要新,我的想法是关键是要经典,这个系列的关键是想要讨论做题的思路,而绝非题目本身,答案完全不是目的,就算得不出答案的思路也有很大的价值。如果你想到了一些思路,但看上去离答案还相差甚远,没有任何关系,贴上来,也许对别人的思路有很大启发。这是一个邮件列表内的头脑风暴。如果你想到了答案,并且能够总结出自己思路中的关键法则(你是怎么想到的),我想大家都会受益匪浅。 我们做题、做题、做题,往往认为到达熟练的唯一办法就是做题,认为只有埋头做题才能够提高能力。诚然,练习是必要条件。但有些练习比另一些练习更有效。 我们苦思冥想,在某个瞬间得到灵感,于是欢呼雀跃,随着时间的推移,这样的灵感时刻也许会越来越多,于是我们认为这就是最有效的练习方法。我不这么认为,我觉得题目背后的思维大抵是相通的,通过一次次的等待灵感来练习,是被动的。在灵感出现之后总结为什么灵感会出现,背后可能有什么样的思维法则,看看能否泛化到一类题目,这样才是事半功倍的方法。因为我们的意识层面无法觉察到无意识层面的推理逻辑,所以人们只能绝望地认为除了在一次次解题中让你的无意识层面的神经元得到锻炼之外别无它法。然而启发法的出现却正打破了这个观点,所谓启发法其实就是"原本被我们无意识运用""后来被形式化地提出来,可以由意识来指导的方法"。总结出了思维的法则,我们下次便有可能不用绝望地等待摸不着的灵感的闪现,而是可以系统化地尝试各种可行的手法(启发法)了。 要实现这个目的(即总结自己的灵感背后的思维规则进而泛化为一般性的解题思路),我认为一种方法是可取的,即所谓的"看得着的思考"----把你的思考过程详细的写在纸上。人的意识就像黑夜里的灯光,只能照亮一个很小的局部,如果不写下来,思维的灯光总是有限的,有可能走到后面忘掉前面,也有可能干脆就没法往下思考。写下来,可以避免这个问题,思维就可以往下走,就可以照到越来越多的地方。此外,写下来还能够使得自己能够回过头来检视自己的整个思考过程,也许前面某个时候你想到一个东西,但如果不记下来你就很快忘了,而记下来回头一看也许你又有很大的启发。也许,你在思维的某一个环节上无意间引入了一个想当然的假设,从而掉入了思维定势的陷阱,通过写下来,就可以一定程度上避免这样的陷阱。 从一道题目中获得最多的东西,这是做题的目的。 你有没有这样的经历,一道题目你做不出来,你拿去问某个人,某个人想了一会儿,然后指出某个关键的step,于是一切豁然开朗。 但这不是全部! 如果你继续问他是怎么想到的,经验告诉我,几乎所有的可能性都指向一个答案"我也不清楚"。 为什么?根据我自己的经验,我相信是因为绝大多数人都没有仔细反省自己思考的过程。如果想不出来,拉倒。如果想出来了,万事大吉。但波利亚在《How to Solve it》中说到,他在教学的过程中总是碰到这样的问题"你是怎么想到的"?这个问题促使了他去总结思维的规律,有了这些规律,即使不那么富有灵感的人,也可以运用这些规律,让自己的思维的触角能够伸展开去。 答案不重要,如果你直接告诉我关键的一步,我什么也没有得到。甚至就算我自己想出了最关键的一步,也许我还是什么都没得到。因为这样的经验只能极其有限地对我下一次的问题产生帮助;除非我能进一步思考思维背后的规则。 所以,重要的是思考的过程,不管这个过程是不是带领你得到答案。我相信只有最深刻了解了思考的真正过程,才能够从做题中获得最多的东西。 如果你对以往做题的思路有很好的思考,也欢迎和大家分享~ 1000瓶葡萄酒的问题: 题目来自:http://www.ocf.berkeley.edu/~wwu/riddles/hard.shtml
显然,毒酒出现的情况有1000种可能,而十个人,没一个有中毒不中毒两个状态,可以表示1024种情况,所以这个题一定有解。
讨论来的一个有趣的想法,把1到10个人,按照二进制位数排列,2的10次方是1024.然后,把酒的排列数化为2进制数,按照人数排列的顺序喝下酒,
比如第一瓶酒的二进制数是1,给第一个人喝下,第二瓶酒是10,给第二个人喝下,第三瓶酒是11,给第一个和第二个人喝下,一个月后死了多少人,那么这
些人的二进制排列数就是毒酒的序号。