算法合集之《猜数问题的研究》
更新时间:2024-01-09 14:42:01 阅读量: 教育文库 文档下载
- 排序算法合集推荐度:
- 相关推荐
猜数问题的研究
猜数问题的研究
上海市复旦附中 高二(8) 张宁
摘要:
在逻辑推理中有一类比较特殊的问题——“思维嵌套”问题,即在C的脑海中要考虑B是如何思考A的想法。对于这种问题通常非常抽象,考虑情况又十分繁多,思想极其复杂,用一般方法分析效果极差。本文以一个典型的“思维嵌套”问题——猜数问题为出发点,用一种新的方法从问题本质入手分析,很好的解决了问题,并阐述了新思路的优越性。由本质入手分析,避免了表面上的“思维嵌套”,且总结出了许多结论,使得解决问题的效率大幅度上升。在新思路的指引下将原问题向更普遍的情形推广,虽然问题变得更为繁琐复杂,但是由于把握住问题的命脉,有效地解决了问题。
关键字:推理,思维嵌套,终结情形,一类情形,二类情形,分组 正文:
一、问题原形
问题描述:
一位逻辑学教授有三名非常善于推理且精于心算的学生A,B和C。有一天,教授给他们三人出了一道题:教授在每个人脑门上贴了一张纸条并告诉他们,每个人的纸条上都写了一个大于0的整数,且某两个数的和等于第三个。于是,每个学生都能看见贴在另外两个同学头上的整数,但却看不见自己的数。
教授轮流向A,B和C发问:是否能够猜出自己头上的数。经过若干次的提问之后,当教授再次询问某人时,此人突然露出了得意的笑容,把贴在自己头上的那个数准确无误的报了出来。
我们的问题就是:证明是否一定有人能够猜出自己头上的数,若有人能够猜出,则计算最早在第几次提问时有人先猜出头上的数,分析整个推理的过程,并总结出结论。
我们先分析一个简单的例子,观察每个人是如何进行推理的。
第1页 共21页
猜数问题的研究
假设A,B和C三人,头上的数分别是1,2和3。 1) 先问A
这时,A能看见B,C两人头上的数分别是2,3。A会发现自己头上只可能为3+2=5,或者3-2=1。可到底是1还是5,A无法判断,所以只能回答“不能”。 2) 再问B
B会发现自己头上只可能为3+1=4,或者3-1=2。可到底是2还是4,B只能从A的回答中入手分析:(以下为B脑中的分析)
1. 如果自己头上是2。则A能看见B,C两人头上的数分别是2,3,A
会发现自己头上只可能为3+2=5,或者3-2=1。到底是1还是5,A无法判断,只能回答“不能”。这与A实际的回答相同,并不矛盾,所以B无法排除这种情况。
2. 如果自己头上是4。则A能看见B,C两人头上的数分别是4,3,A
会发现自己头上只可能为4+3=7,或者4-3=1。到底是1还是7,A无法判断,只能回答“不能”。这也与A实际的回答相同,并不矛盾,所以B也无法排除这种情况。 B无法判断,只能回答“不能”。 3) 再问C
C会发现自己头上只可能为2+1=3,或者2-1=1。可到底是1还是3,C只能从A或B的回答中入手分析:(以下为C脑中的分析) 1. 如果自己头上是1。
a) A会发现自己头上只可能为2+1=3,或者2-1=1。可到底是1还
是3,是无法判断的,只能回答“不能”。这与A实际的回答相同,并不矛盾。
b) B会发现自己头上只可能为1+1=2(因为B头上是大于0的整数,
所以B头上不能是1-1=0)。B应回答“能”。但这与B实际的回答矛盾。C能以此排除头上是1这种情况。
2. 如果继续分析C头上是3这种情况会发现毫无矛盾(因为与实际情
况相符)。
C将准确判断头上的数是3,所以回答“能”。 所以在第三次提问时有人猜出头上的数。
我们从每个人的角度出发,分析了头上数是1,2和3的情况。这种方法也是我们解决简单的逻辑推理问题所采用的普遍做法。但如果将问题的规模变大,
第2页 共21页
猜数问题的研究
会发现问题的复杂程度会急剧上升,几乎是多一次推理,问题的复杂度就要变大一倍。更复杂的例子,限于篇幅就不举了,但复杂程度是可以想见的。
靠如此烦琐的推理是不能很好解决问题的。原因在于有大量的“思维嵌套”,即:在C的脑海中要考虑B是如何思考A的想法。此外,这种方法不能够推导出有普遍意义的结论。让我们换一种思路来解决问题。
定义:
下面我们用第一位、第二位、第三位学生分别表示A,B,C三人
定义1: 用四元组?a1,a2,a3,k?,a1,a2,a3?Z?,k??1,2,3?来描述推理过程中的
一种情形,其中三个人头上数分别为a1,a2,a3,从第一位学生开始提问,且当前的被提问者为第k位学生。
性质F1:对于四元组?a1,a2,a3,k?,第k位学生可以不依靠别人的回答进行推理,
能够直接判断出自己头上数,并称四元组描述的情形为“终结情形”。
性质F2:对于四元组?a1,a2,a3,k?,ak?max?a1,a2,a3?,并称四元组描述的情形
为“一类情形”。
性质F3:对于四元组?a1,a2,a3,k?,ak?max?a1,a2,a3?,并称四元组描述的情形
为“二类情形”。
定义2:集合S1???a1,a2,a3,k??a1,a2,a3,k?满足性质F1?。 定义3:集合S2???a1,a2,a3,k??a1,a2,a3,k?满足性质F2?。 定义4:集合S3???a1,a2,a3,k??a1,a2,a3,k?满足性质F3?。 定义5:若对于四元组(a1,a2,a3,k)
1) 若第k位学生不能够猜出头上的数,记f?a1,a2,a3,k????。 2) 若第k位学生能够猜出头上的数,记f?a1,a2,a3,k?为从第一位学生
开始提问直到猜出头上的数的过程中总共的提问次数。
定义6:对于四元组(a1,a2,a3,k),记g?a1,a2,a3,k,R???T,F?(表示真或假),
R?Z?,表示当三位学生头上的数分别为a1,a2,a3,第k位学生是否在恰在第R次提问时最先猜出头上的数为ak。
定义7:对于四元组(a1,a2,a3,k),记h?a1,a2,a3,k,R???T,F?(表示真或假),
R?Z?,表示当三位学生头上的数分别为a1,a2,a3,第k位学生是否能够在第R次提问时排除头上的数为ak的情况。
找出问题的前提,即已知条件: 1) 某两个数的和等于第三个
2) 每个人的纸条上都写了一个大于0的整数
每个人头上的数不是另两数的和就是另两数的差。由于不能直接判断一定是其中某个数,就只能采取排除法。由于他们不会猜错,因此在下面只需考虑他们第3页 共21页
猜数问题的研究
如何能够排除头上数不同于实际的可能情况。
考虑四元组(a1,a2,a3,k)?S1,设i,j满足?i,j,k???1,2,3?,则第k位学生头上的有两种情况ak?ai?aj或ak?ai?aj。其中ai?aj?0,不能直接排除。由于ai?aj?0,所以当且仅当ai?aj?0能够直接排除这种情况。即
?(a1,a2,a3,k)?S1?ai?aj,其中?i,j,k???1,2,3?。
显然ak?ai?aj,ak?max?a1,a2,a3?,因此S1?S3。注意到集合S2与S3的定义,显然S2?S3??,因此必然有S1?S2??。
考虑四元组(a1,a2,a3,k)?S1,即第k位学生不能直接猜出自己头上的数,就需要通过推理来排除头上数的两种情况中的一种。当第k位学生假设自己头上是某数,并通过推理发现别人理应能够在前两次提问中最先猜出头上的数,就可以根据实际上别人并没有猜出这一矛盾来排除其中一种情况。(可以参考前面例子中对C思想的分析)
显然三位学生都不可能通过推理排除自己头上数的实际情况(因为他们是永远不会猜错的)。所以下面仅需考虑如何排除头上数不同于实际的另一种情况。
对于四元组(a1,a2,a3,k),为了讨论方便,不妨设a3?a1?a2。 注:下面的?为析取符号,即T?T?T,T?F?T,F?T?T,F?F?F 1) 当k=1时
g?a1,a2,a3,k,R??T
?g?a3?a2,a2,a3,1,R1??T ?h?a2?a3,a2,a3,1,R1??T
?g?a2?a3,a2,a3,2,R1?2??g?a2?a3,a2,a3,3,R1?1??T 2) 当k=2时
g?a1,a2,a3,k,R??T
?g?a1,a3?a1,a3,2,R2??T ?h?a1,a1?a3,a3,2,R2??T
?g?a1,a1?a3,a3,1,R2?1??g?a1,a1?a3,a3,3,R2?2??T 3) 当k=3时
g?a1,a2,a3,k,R??T
?g?a1,a2,a1?a2,3,R3??T ?h?a1,a2,a1?a2,3,R3??T
1,2,3?,ai??ai,a?j?aj。对于四元组(a1,a2,a3,k),设i,j满足?i,j,k?????ai?aj,当ak?ai?aj时,ak??ai?aj。 当ak?ai?aj时,ak?g?a1,a2,a1?a2,1,R3?2??g?a1,a2,a1?a2,2,R3?1??T
1. 当k?i时,设Vi?V?(k?i),当k?i时,设Vi?V?(n?k?i)。 2. 当k?j时,设Vj?V?(k?j),当k?j时,设Vj?V?(n?k?j)。
第4页 共21页
猜数问题的研究
?,a2?,a3?,i,Vi??g?a1?,a2?,a3?,j,Vj??T 由上面定义可得g(a1,a2,a3,k,V)?T?g?a1
分别考虑四元组(a1,a2,a3,k)?S2和(a1,a2,a3,k)?S3两种情形:
?a1,a2,a3?,则ak?ai?aj。由于1) 当(a1,a2,a3,k)?S2,有ak?max??ai?aj的情况。 S1?S2??,第k位学生须通过推理排除头上数为akV?min?f(a1,a2,a3,k)(a1,a2,a3,k)?S2,g(a1,a2,a3,k,f(a1,a2,a3,k))?T?。?,a2?,a3?,j,Vj??T,因此f?a1?,a2?,a3?,i,Vi??T或g?a1?,a2?,a3?,i??Vi得到g?a1若?(a1,a2,a3,k)?S2满足g(a1,a2,a3,k,f(a1,a2,a3,k))?T,记
?(a1,a2,a3,k)?S2满足f?a1,a2,a3,k??V,g?a1,a2,a3,k,V??T,则可以
?,a2?,a3?,j??Vj。ak??ai?aj?ai??a?j,因此(a1?,a2?,a3?,i)?S2,或f?a1?,a2?,a3?,j)?S2,而Vi?V,Vj?V,矛盾。 (a1结论:对?(a1,a2,a3,k)?S2,g?a1,a2,a3,k,R??F,R?Z?。
xa1,a2,a3?,2) 当(a1,a2,a3,k)?S3,且(a1,a2,a3,k)?S1。有ak?ma???ai?aj的情况。ak?ai?aj,第k位学生须通过推理排除头上数为ak由于(a1,a2,a3,k)?S1,显然ai?aj。
?,a2?,a3?,k,V)?T 由前面讨论1)可推得g?a1,a2,a3,k,V??T?h(a1?,a2?,a3?,i)?S3,(a1?,a2?,a3?,j)?S2。因此a) 当ai?aj,即ai??a?j,(a1?,a2?,a3?,j,Vj??F,g(a1,a2,a3,k,V)?T?g?a1?,a2?,a3?,i,Vi??T。g?a1
?,a2?,a3?,j)?S3,(a1?,a2?,a3?,i)?S2。因此b) 当aj?ai,即a?j?ai?,(a1?,a2?,a3?,i,Vi??F,g(a1,a2,a3,k,V)?T?g?a1?,a2?,a3?,j,Vj??T。g?a1
我们可以从考虑四元组(a1,a2,a3,k)?S3,变为考虑四元组
?,a2?,a3?,i)?S3或(a1?,a2?,a3?,j)?S3。这样就形成了一个线性的推理方(a1式,而非先前分支庞大的推理方式。
由于可以只考虑(a1,a2,a3,k)?S3,若(a1,a2,a3,k)?S1,可以转而考虑四元
?,a2?,a3?,i)?S3或(a1?,a2?,a3?,j)?S3。由于三个数不可能无穷的递减,因此在组(a1有限次转化后必然达到“终结情形”。
结论:无论三个数如何变化,无论从谁开始提问,必然是头上数最大的人最先猜出自己头上的数。
由上述结论,对于(a1,a2,a3,k),可以定义f?a1,a2,a3,k?的递推式: 1) 当k=1时
1. 当a2?a3时,f?a1,a2,a3,1??1
2. 当a2?a3时,f?a1,a2,a3,1??f?a2?a3,a2,a3,2??2 3. 当a2?a3时,f?a1,a2,a3,1??f?a3?a2,a2,a3,3??1 2) 当k=2时
第5页 共21页
猜数问题的研究
1. 当a1?a3时,f?a1,a2,a3,2??2
2. 当a1?a3时,f?a1,a2,a3,2??f?a1,a1?a3,a3,1??1 3. 当a1?a3时,f?a1,a2,a3,2??f(a1,a3?a1,a3,3)?2 3) 当k=3时
1. 当a1?a2时,f?a1,a2,a3,3??3
2. 当a1?a2时,f?a1,a2,a3,3??f?a1,a2,a1?a2,1??2 3. 当a1?a2时,f?a1,a2,a3,3??f?a1,a2,a2?a1,2??1
由于我们只考虑(a1,a2,a3,k)?S3,因此k可由a1,a2,a3三个数直接确定,因此f?a1,a2,a3,k?可以简化为f?a1,a2,a3?。
利用上面的公式,通过计算机编程来解决问题。参见源程序1。
由于建立了线性的递推关系,因此避免了问题规模随着提问次数呈指数型增长。有效的解决了问题,其解决方法是建立在对问题的深入分析之上的。现在让我们总结解决问题中思路的主线:
提炼重要的前提条件→考虑何种情形为“终结情形”→对非“终结情形”建立推理的等价关系→考虑何种情形能归结到“终结情形”→分情况讨论并加以证明→得出结论并改写等价关系→得出公式
整个过程是从分析问题的本质入手,而非一味单纯地从每个人思想出发,并推导出普遍意义的结论。从综观全局的角度分析问题,避免了最烦琐的“思维嵌套”,并且使得问题规模从指数型转变为线性。
二、第一种推广
问题描述:
一位逻辑学教授有n(n?3)名非常善于推理且精于心算的学生。有一天,教授给他们n人出了一道题:教授在每个人脑门上贴了一张纸条并告诉他们,每个人的纸条上都写了一个大于0的整数,且某个数等于其余n-1个数的和。于是,每个学生都能看见贴在另外n-1个同学头上的整数,但却看不见自己的数。
教授轮流向n发问:是否能够猜出自己头上的数。经过若干次的提问之后,当教授再次询问某人时,此人突然露出了得意的笑容,把贴在自己头上的那个数准确无误的报了出来。
我们的问题就是:证明是否一定有人能够猜出自己头上的数,若有人能够猜出,则计算最早在第几次提问时有人先猜出头上的数,分析整个推理的过程,并总结出结论。
我们对n=3时的定义加以修改:
第6页 共21页
猜数问题的研究
定义:
定义1: 用n+1元组(a1,a2,?,an,k),a1,a2,?,an?Z?,k??1,2,?n?来描述推
理过程中的一种情形,其中n个人头上数分别为a1,a2,?,an,从第一位学生开始提问,且当前的被提问者为第k位学生。
性质F1:对于n+1元组(a1,a2,?,an,k),第k位学生可以不依靠别人的回答进行
推理,能够直接判断出自己头上数,并称n+1元组描述的情形为“终结情形”。
性质F2:对于n+1元组(a1,a2,?,an,k),ak?max?a1,a2,?,an?,并称n+1元组
描述的情形为“一类情形”。
性质F3:对于n+1元组(a1,a2,?,an,k),ak?max?a1,a2,?,an?,并称n+1元组
描述的情形为“二类情形”。
定义2:集合S1??(a1,a2,?,an,k)(a1,a2,?,an,k)满足性质F1?。 定义3:集合S2??(a1,a2,?,an,k)(a1,a2,?,an,k)满足性质F2?。 定义4:集合S3??(a1,a2,?,an,k)(a1,a2,?,an,k)满足性质F3?。 定义5:若对于n+1元组(a1,a2,?,an,k)
1) 若第k位学生不能够猜出头上的数,记f?a1,a2,?,an,k????。 2) 若第k位学生能够猜出头上的数,记f?a1,a2,?,an,k?为从第一位学
生开始提问直到猜出头上的数的过程中总共的提问次数。
定义6:对于n+1元组(a1,a2,?,an,k),记g?a1,a2,?,an,k,R???T,F?(表示真
或假),R?Z?,表示当三位学生头上的数分别为a1,a2,?,an,第k位学生是否在恰在第R次提问时最先猜出头上的数为ak。
定义7:对于n+1元组(a1,a2,?,an,k),记h?a1,a2,?,an,k,R???T,F?(表示真
或假),R?Z?,表示当三位学生头上的数分别为a1,a2,?,an,第k位学生是否能够在第R次提问时排除头上的数为ak的情况。 定义8:对于(a1,a2,?,an,k),记M??ai?i?1k?1i?k?1?aniW?max?a1,?,ak?1,ak?1,?,an?。,
u?1i?1n对于
(a1,a2,?,an,k),
?u??1,2,?,n?,au??ai?i?u?1?ai,
?v??1,2,?n?\\?k?,av?W。au?max?a1,a2,?,an??max?av,ak?。所以对第k位
学生而言,头上的数可能有两种情况:?ai?i?1k?1i?k?1?ani?M(当au?ak时)或
av?(?ai?i?1k?1i?k?1?ani?av)?W?(M?W)?2W?M(当au?av时)。
第7页 共21页
猜数问题的研究
考虑(a1,a2,?,an,k)?S1。由于?ai?i?1k?1i?k?1?ani?M?0,不能直接排除。而当
且仅当av?(?ai?i?1k?1i?k?1?ani?av)?W?(M?W)?2W?M?0时,能够直接排除这
种情况。即?(a1,a2,?,an,k)?S1?2W?M?0。
对于(a1,a2,?,an,k)?S1,即2W?M?0。若有av?W,av??W,其中v,v???1,2,?n?\\?k?,v?v?,则必然有2W?av?av??M,矛盾。所以除第k位学生外剩下学生中仅有第v位学生头上的数av?W。
当第k位学生假设自己头上是某数,并通过推理发现别人理应能够在前n-1次提问中最先猜出头上的数,就可以根据实际上别人并没有猜出这一矛盾来排除其中一种情况。
1) 当k?u时,即ak?M,因此第k位学生需排除头上数是2W?M。令
??2W?M ?i??1,2,?,n?\\?k?,ai??ai,ak2) 当k?u时,即ak?2W?M,因此第k位学生需排除头上数是M。令
??M ?i??1,2,?,n?\\?k?,ai??ai,ak与n=3时的问题原形类似,可以得到如下式子:
g?a1,a2,?,an,k,R??T
?,a2?,?,an?,k,R??T ?h?a1?,a2?,?,an?,1,R?(k?1)??g?a1?,a2?,?,an?,2,R?(k?2)??? ?g?a1?,a2?,?,an?,n?1,R?(k?1)??g?a1?,a2?,?,an?,n,R?k??T ?g?a1?,a2?,?,an?,k,R? 注:上面总共n-1项,其中不含g?a1?,a2?,?,an?,k?1,R?1??g?a1?,a2?,?,an?,k?1,R?(n?1)????g?a1
分别考虑(a1,a2,?,an,k)?S2和(a1,a2,?,an,k)?S3两种情形:
1) 当(a1,a2,?,an,k)?S2,有ak?max?a1,a2,?,an?,则ak?2W?M。由
??M的情况。 于S1?S2??,第k位学生须通过推理排除头上数为akV?min?f(a1,a2,?,an,k)(a1,a2,?,an,k)?S2,g(a1,a2,?,an,k,f(a1,a2,?,an,k))?T?若?(a1,a2,?,an,k)?S2满足g(A1,A2,?,An,k,f(A1,A2,?,An,k))?T,记
?(a1,a2,?,an,k)?S2。满足
f?a1,a2,?,an,k??V,
?,a2?,?,an?,i,Vi??T。g?a1,a2,?,an,k,V??T,?i??1,2,?,n?\\?k?,g?a1?,a2?,?,an?,i??Vi,而Vi?V,矛盾。 因此f?a1结论:对?(a1,a2,?,an,k)?S2,g?a1,a2,?,an,k,R??F,R?Z?。
第8页 共21页
猜数问题的研究
2) 当
(a1,a2,?,an,k)?S3,且
(a1,a2,?,an,k)?S1。有
ak?m?a1,a2x,?,an?,ak?M,第k位学生须通过推理排除头上数为
??2W?M的情况。此时有av??max?a1?,a2?,?,an??,因此ak?,?,an?,v,Vv??S3。 ?a1?,a2?,a2?,?,an?,k,V??T 由前面结论1)推得g(a1,a2,?,an,k,V)?T?h?a1由于?(a1,a2,?,an,k)?S2,g?a1,a2,?,an,k,R??F,R?Z?。当i?v?,a2?,?,an?,i)?S2,由上述结论得g?a1?,a2?,?,an?,i,Vi??F。因此时,有(a1?,a2?,?,an?,v,Vv??T。 g(a1,a2,?,an,k,V)?T?g?a1我们可以从考虑(a1,a2,?,an,k)?S3,变为考虑
?,?,an?,v,Vv??S3。这样就形成了一个线性的推理方式,而非先前?a1?,a2分支庞大的推理方式。
由于可以只考虑(a1,a2,?,an,k)?S3,若(a1,a2,?,an,k)?S1,可以转而考虑
?,?,an?,v,Vv??S3,ak??a1?,a2?2W?M?M?ak。由于n个数不可能无穷的递减,
因此在有限次转化后必然达到“终结情形”。
结论:无论n个数如何变化,无论从谁开始提问,必然是头上数最大的人最先猜出自己头上的数。
由上述结论,对于(a1,a2,?,an,k),可以定义f?a1,a2,?,an,k?的递推式: 1) 当2W?M?0时,f?a1,a2,?,an,k??k
2) 当2W?M?0时
??2W?M 设ai??ai,其中i?k,ak?,a2?,?,an?,v??k?v a) 当v
f?a1,a2,?,an,k?可以简化为f?a1,a2,?,an?。
利用上面的公式,通过计算机编程来解决问题。参见源程序2。
至此,第一种推广情形就解决了。可以发现n=3时情形的证明,对解决一般情形提供了很好的对比,使得我们能够较为轻松地解决问题,这其实也是建立在对n=3时的情形的分析之上的。
三、第二种推广
问题描述:
一位逻辑学教授有n(n?3)名非常善于推理且精于心算的学生。有一天,教授给他们n人出了一道题:教授在每个人脑门上贴了一张纸条并告诉他们,每个
第9页 共21页
猜数问题的研究
人的纸条上都写了一个大于0的整数,并将他们分成了两组(一组学生有m人,且m?n/2,且学生并不知道如何分组),且两组学生头上数的和相等。于是,每个学生都能看见贴在另外n-1个同学头上的整数,但却看不见自己的数。
教授轮流向n发问:是否能够猜出自己头上的数。经过若干次的提问之后,当教授再次询问某人时,此人突然露出了得意的笑容,把贴在自己头上的那个数准确无误的报了出来。
我们的问题就是:证明是否一定有人能够猜出自己头上的数,若有人能够猜出,则计算最早在第几次提问时有人先猜出头上的数,分析整个推理的过程,并总结出结论。
由于当n=3时,m只可能为2,即为问题原形,而对于m=n-1,即第一种推广情形。因此在下文只讨论n>3,m 对于每个人判断自己头上的数,依据分组情况不同,头上的数就可能不同。 对(A1,A2,?,An,k),第k位学生可以看见除自己外所有学生头上的数,并假设在某种分组情况下,可以计算出与自己不同组的学生头上数的和,由题目条件 m“两组学生头上数的和相等”,可以计算出自己头上的数。由于有Cn种分组情况, m因此相对应头上的数有Cn种(其中可能也包括了一部分重复的数及非正整数)。 定义: 定义1: 用n+1元组(A1,A2,?,An,k),A1,A2,?,An?Z?,k??1,2,?n?来描述 推理过程中的一种情形,其中n个人头上数分别为A1,A2,?,An,从第一位学生开始提问,且当前的被提问者为第k位学生。 性质F1:对于n+1元组(A1,A2,?,An,k),第k位学生可以不依靠别人的回答进 行推理,能够直接判断出自己头上数,并称n+1元组描述的情形为“终结情形”。 性质F2:对于n+1元组(A1,A2,?,An,k),Ak?max?A1,A2,?,An?,并称n+1元 组描述的情形为“一类情形”。 性质F3:对于n+1元组(A1,A2,?,An,k),Ak?max?A1,A2,?,An?,并称n+1元组 描述的情形为“二类情形”。 定义2:集合S1??(A1,A2,?,An,k)(A1,A2,?,An,k)满足性质F1?。 定义3:集合S2??(A1,A2,?,An,k)(A1,A2,?,An,k)满足性质F2?。 定义4:集合S3??(A1,A2,?,An,k)(A1,A2,?,An,k)满足性质F3?。 定义5:若对于n+1元组(A1,A2,?,An,k) 1) 若第k位学生不能够猜出头上的数,记f?A1,A2,?,An,k????。 2) 若第k位学生能够猜出头上的数,记f?A1,A2,?,An,k?为从第一位学 生开始提问直到猜出头上的数的过程中总共的提问次数。 第10页 共21页 猜数问题的研究 定义6:对于n+1元组(A1,A2,?,An,k),记g?A1,A2,?,An,k,R???T,F?(表示真 或假),R?Z?,表示当三位学生头上的数分别为A1,A2,?,An,第k位学生是否在恰在第R次提问时最先猜出头上的数为ak。 定义7:对于n+1元组(A1,A2,?,An,k),记h?A1,A2,?,An,k,R???T,F?(表示真或假),R?Z?,表示当三位学生头上的数分别为A1,A2,?,An,第k位学生是否能够在第R次提问时排除头上的数为ak的情况。 定义8:对于(A1,A2,?,An,k),记M??ai?i?1k?1i?k?1?aniW?max?A1,?,Ak?1,Ak?1,?,An?。, 定义9:对于(A1,A2,?,An,k),用X指代第k位学生推测的任意一种分组情况。 定义G(X)为第k位学生假设分组X情况下两组学生头上数的和。 ?定义10:对于(A1,A2,?,An,k),当第k学生在考虑某一可能分组的情况下,记Ak为所推测出的头上数的可能值。 定义11:对于(A1,A2,?,An,k),定义At1?At2???Atn?1,其中 ?t1,t2,?,tn?1??{1,2,?n}\\?k?。 定义12:对于(A1,A2,?,An,k),定义分组T:选取第t1,t2,?,tm位学生为一组, 剩下的学生为另一组(第k位学生在这一组)。则G(T)??Ati i?1m对于(A1,A2,?,An,k),考虑分组T的情况,G(T)??Ati?i?1mi?m?1?Atn?1i? ,显?Ak???Ati?然Aki?1mi?m?1?Atn?1i?At1(第一个求和符号有m项,第二个求和符号有n-1-m 项,由于m?n/2?n?m?n?1?m,且At1?At2???Atn?1)。 对于(A1,A2,?,An,k)任意一个分组X,设?x1,x2,?,xn?1??{1,2,?n}\\?k? 1) 当与第k位学生不同组的学生有m人时,设G(X)??Axi(m项)。 i?1m显然有G(T)??Ati??Axi?G(X) i?1i?1mmm???Axi?Aki?1mi?m?1?Axn?1i?2?Axi??Axi?i?1i?1mi?m?1?Axn?1i?2?Axi??Axi?2G(X)?M i?1i?1mn?12) 当与第k位学生同组的学生有m人时,设G(X)??Axi(n-m项)。 i?1n?m第11页 共21页 猜数问题的研究 显然有G(T)??Ati??Ati??Axi?G(X) i?1i?1i?1mn?mn?m???Axi?Aki?1n?mi?n?m?1?Axn?1i?2?Axi??Axi?i?1i?1n?mn?mi?n?m?1?Axn?1i?2?Axi??Axi?2G(X)?M i?1i?1n?mn?1考虑(A1,A2,?,An,k)?S1的条件: I. 当(A1,A2,?,An,k)?S2。 ?,这种情况考虑在分组T的情况下,Ak?max?A1,A2,?,An??At1?Ak不同于实际情况,需要进行推理。得到结论:?(A1,A2,?,An,k)?S2,(A1,A2,?,An,k)?S1。 II. 当(A1,A2,?,An,k)?S3。 考虑实际分组B的情况 1) 当与第k位学生不同一组的学生有m人时,G(B)??Abi?i?1mn?1i?m?1?Abii?Ak。 ???Ati?在分组T的情况下,有Aki?1mi?m?1?At??Ab??Abiii?1i?m?1n?mi?1n?1mn?1?Ak。 2) 当与第k位学生同一组的学生有m人时,G(B)??Abi?当m?n/2时,即为上面一种情况,因此只考虑m?n/2 ???Ati?在分组T的情况下,有Aki?1mi?n?m?1?Abn?1i?Ak。 i?m?1?At??Abii?1n?1n?mi?i?n?m?1?Abn?1i?Ak。 ?。因此实际分组B要使得(A1,A2,?,An,k)?S1,必然要满足Ak?Ak只可能是上面第一种情况,且满足?Abi?i?1mi?m?1?Ab??Atii?1mn?1mi?i?m?1?Atmn?1i,显 然?Ai??Abi?i?1i?1n?1mi?m?1?Ab??Atii?1n?1mi?i?m?1?Atn?1i,因此可得?Abi??Ati, i?1i?1即G(B)?G(T)。 显然G(X)?G(T)?G(B),在此条件下,若存在可能的分组C满足 ??2G(C)?M?2G(B)?M?Ak。显然由于G(C)?G(B),Ak??0,即2G(C)?M?0。 (A1,A2,?,An,k)?S1,必然有Ak若不存在可能的分组C满足G(C)?G(B),即任意分组G(X)?G(B),则At1?At2???Atn?1。 第12页 共21页 猜数问题的研究 进一步分析对可能的分组C满足G(C)?G(B),何时满足2G(C)?M?0。分两种情况考虑: 1) 当At2,At3,?,Atn?1不全相等时,必然有At2?Atn?1,考虑如下分组C: 第t1,t3,t4?,tm?1,tm,tn?1位学生为一组,第k,t2,tm?1,tm?2,?,tn?2位学生为一组,此时显然有G(C)?At1??Ati?Atn?1??Ati?G(B)。 i?3i?1mm需满足2G(C)?M?0,即G(C)?M?G(C),因此 At1??Ati?Atn?1?G(C)?M?G(C)?At2?i?3mi?m?1?Atn?2i。另一方面, At1?At2,At3?Atm?1,At4?Atm?2,?,Atn?m?Atn?2,而m?n?m,因 此At1??Ati?Atn?1?At1??Ati?At1??Ati?At2?i?3i?3i?3mmn?mi?m?1?Atn?2i,矛 盾。因此,?(A1,A2,?,An,k)满足At2?Atn?1,(A1,A2,?,An,k)?S1。 2) 当At2,At3,?,Atn?1全相等时,不妨设,At1?p, ?i??2,3,?,n?1?,Ati?q。 考虑分组C:m个头上数为q的学生为一组,剩下的学生为一组(第k位学生在这组中)。 由于2G(C)?M?0,即2mq?[p?(n?2)q]?0,因此(2m?n?2)q?p。 1. 当m?n/2时,再来考虑分组D:头上数是p的学生与n-m-1个 头上数是q的学生在一组, 剩下学生为一组。由于m?n/2,因此G(D)?G(B)。 由于2G(D)?M?0,因此2[p?(n?m?1)q]?a?(n?2)b,因此p?(2m?n)q,观察得到的两个不等式,显然矛盾,因此当 m?n/2时,?(A1,A2,?,An,k)满足At1?Atn-1,(A1,A2,?,An,k)?S1。2. 当m?n/2时,可以得到Ak??Ati?i?1mi?m?1?Atn?1i ?At1?p,且2q?p。 因此,(A1,A2,?,An,k)?S1的条件为: 1. (A1,A2,?,An,k)?S3 2. At1?At2???Atn?1或 m?n/2,p,q?Z?,2q?p,Ak?At1?p,?i??2,3,?,n?1?,Ati?q 第13页 共21页 猜数问题的研究 分情况进行讨论(A1,A2,?,An,k)?S1的情况: I. 对于(A1,A2,?,An,k)?S2 若?(A1,A2,?,An,k)?S2,g(A1,A2,?,An,k,f(A1,A2,?,An,k))?T,记V?min?f(A1,A2,?,An,k)(A1,A2,?,An,k)?S2,g(A1,A2,?,An,k,f(A1,A2,?,An,k))?T??(A1,A2,?,An,k)?S2。 g?A1,A2,?,An,k,V??T。 满足 f?A1,A2,?,An,k??V, 若第k位学生能够猜出自己头上的数,则他一定要通过推理排除头上数所有可能情况中与实际不相等的值。 A1,A2,?An?,因此由于(A1,A2,?,An,k)?S2,即Ak?ma?xma?Ax1,A2,?An??ma?Atx1,At2,?,Atn?1?。考虑分组T的情况, ?,因此需要排Ak?max?A1,A2,?,An??max?At1,At2,?,Atn?1??At1?Ak除这种情况。令Ai??Ai,i??t1,t2,?,tn?1?。 g?A1,A2,?,An,k,R??T ?,A2?,?,An?,k,R??T ?h?A1?,A2?,?,An?,t1,Rt1??g?A1?,A2?,?,An?,t2,Rt2??? ?g?A1?,A2?,?,An?,tn?1,Rtn?1??T ?g?A1注:上面Rt1,Rt2,?,Rtn?1?Z?为代定变量,显然有 Rt1,Rt2,?,Rtn?1?R,由于具体值与结论无关,因此不必讨论。 ??At1 1) 当Ak?,A2?,?,An?,t)?S2,t??t1,t2,?,tn?1?。?i??则可得(A11,2,?,n?1?, ?,A2?,?,An?,ti,Vti??T,f?A1?,A2?,?,An?,ti??Vti,而Vti?V,使得g?A1矛盾。 因此得到结论:对于?(A1,A2,?,An,k)?S2,若在分组T的情 ??At1,则g?A1,A2,?,An,k,R??F,R?Z?。 况下满足Ak??At1 2) 当Ak???Ati?由于,因此等号成立的条件为Aki?1mi?m?1?Atn?1i?At1,由于 At1?At2???Atn?1,因此仅当m?n/2存在这种情况,此时At2?At3??Atn?1。 1. 若At1?At2 考虑实际分组B的情况,显然Ab1?Ab2??Abn?1, Ak??Abi?i?1mi?m?1?Abn?1i?Ab1,此时(A1,A2,?,An,k)?S2。 2. 若At1?At2 ?,A2?,?,An?,t1??S3显然?A1第14页 共21页 ,对?i??2,3,?,n?, 猜数问题的研究 ?,?,An?,ti??S2。 ?A1?,A2?,A2?,?,An?,ti,Vti??T若?i??2,?,n?1?,g?A1, ?,a2?,?,an?,ti??Vti,而Vti?V,矛盾。 f?a1?,A2?,?,An?,t1,Vt1??T。 因此g?A1,A2,?,An,k,V??T?g?A1设At1?p,?i??2,3,?,n?1?,Ati?q。 由于m?n/2,对第k位学生只有两种本质不同的分组情况,即第k位学生与第t1位学生在同一组或不在同一组,两种情况对应头上数的可能值分别是: ???Ati?Ak??Ati??Ati?2q?p及Aki?mi?1i?1n?1m?1mi?m?1?Atn?1i?p ?,A2?,?,An?,t1?,第t1位1,2,?,n?1?,A?ti?Ati,对?A1设?i??学生只有两种本质不同的分组情况,两种情况对应头上数的可能值分别是: A?t1?p及A??t1?2q?p 设?i??1,2,?,n?\\?t1?, Ai???Ai? 。 ?,A2?,?,An?,t1,R??T g?A1??,A2??,?,An??,t1,R??T ?h?A1??,A2??,?,An??,k??S3,对?i??2,3,?,n?,显然?A1??,?,An??,ti??S2。 ?A1??,A2??,A2??,?,An??,ti,V?ti??T,若?i??2,?,n?1?,g?A1??,A2??,?,An??,ti??V?ti,而V?ti?V,矛盾。 f?A1?,A2?,?,An?,t1,Vt1??T?g?A1??,A2??,?,An??,k,V?k??T 因此g?A1??,A2??,?,An??,k,Rk??g?A1??,A2??,?,An??,t2,Rt2??? ?g?A1??,A2??,?,An??,tn?1,Rtn?1??T ?g?A1考虑 ??,?,An??,k??A1??,A2, A??t1?2q?p, ?i??2,3,?,n?1?,A??ti?q,对第k位学生只有两种本质不同的 分组情况,两种情况对应头上数的可能值分别是: ???p及Ak????2q?p Ak1,2,?,n?\\?k?,且i?k,Ai????Ai?? 。 设?i????,A2??,?,An??,k,V?k??T g?A1??????,?,An???,t2,V??t2??g?A1??????,?,An???,t2,V??t3??? ?g?A1,A2,A2第15页 共21页 猜数问题的研究 ??????,?,An???,tn?1,V??tn?1??T ?g?A1,A2 定义: ???,?,An???,t2?,f?A1???,A2???,?,An???,t2?,?,f?A1???,A2???,?,An???,tn?1??Vmin?min?f?A1???,A2??,A2??,?,An??,k??Vmin 显然f?A1当只有两种本质不同的分组情况时,排除其一即可猜出头上的数,利用上述结论讨论f?A1,A2,?,An,k?。 a) 当k?t1 f?A1,A2,?,An,k? ?,A2?,?,An?,t1??k?t1 ?f?A1??,A2??,?,An??,k??(n?k?t1)?(k?t1) ?f?A1?Vmin?n b) 当k?t1 f?A1,A2,?,An,k? ?,A2?,?,An?,t1??n?k?t1 ?f?A1??,A2??,?,An??,k??(t1?k)?(n?k?t1) ?f?A1?Vmin?n 由于f?A1,A2,?,An,k??V,?A1,A2,?,An,t1??S3, ?i??2,3,?,n?,?A1,A2,?,An,ti??S2,因此对(A1,A2,?,An,k), 只有第k位学生和第t1位学生两人可能最先猜出头上的数。 对第t1位学生也只有两种本质不同的分组情况,即第k位学生与第t1位学生在同一组或不在同一组,两种情况对应头上数的可能值分别是: At1?p及A????t1?2q?p ?Ai 。 1,2,?,n?\\?k?,Ai????设?i???Ai??? 1,2,?,n?,Ai????比较后可发现?i????????,?,A???,t1,Vt1??T ?nh?A1,A2??????,?,An???,t2,V??t2??g?A1??????,?,An???,t2,V??t3??? ?g?A1,A2,A2??????,?,An???,tn?1,V??tn?1??T ?g?A1,A2第16页 共21页 猜数问题的研究 由于对第t1位学生只有两种本质不同的分组情况,因此排除其一即可猜出头上的数,即f?A1,A2,?,An,t1??Vt1。 因而f?A1,A2,?,An,t1??Vt1?Vmin?n 显然f?A1,A2,?,An,t1??f?A1,A2,?,An,k? 则说明第t1位学生将在第k位学生之前猜出头上的数,说明 g?A1,A2,?,An,k,V??F,矛盾。 得到结论:对于?(A1,A2,?,An,k)?S2,若在分组T的情况 ??At1,则g?A1,A2,?,An,k,R??F,R?Z?。 下满足Ak 因此综合考虑上述所有情况,得到结论:对于?(A1,A2,?,An,k)?S2, g?A1,A2,?,An,k,R??F,R?Z?。 II. 对于(A1,A2,?,An,k)?S3 并非所有(A1,A2,?,An,k)?S3,第k位学生都能猜出头上的数,下 面举一个例子: 当n?6,m?3时,考虑(1,1,2,3,3,4,6)?S3(实际分组为1,3,3为一组,1,2,4为一组),对于第6位学生须排除头上数是6的可能(分组为2,3,3为一组,1,1,6为一组),记V?f?1,1,2,3,3,4,6?,g?1,1,2,3,3,4,6,V??T?h?1,1,2,3,3,6,6,V???T,由前面结论可得h?1,1,2,3,3,6,6,V??T?g?1,1,2,3,3,6,1,V1??g?1,1,2,3,3,6,2,V2????g?1,1,2,3,3,6,5,V5?,而?i??1,2,?,5?,(1,1,2,3,3,6,i)?S2,即g(1,1,2,3,3,6,i,Vi)?F。因此 g(1,1,2,3,3,4,6,V)?F,即第6位学生不能最先猜出头上的数。而 ?i??1,2,?,5?,(1,1,2,3,3,4,i)?S2,考虑到前面讨论Ⅰ,因此没有人能猜 出头上的数。 由于对于能够猜出头上数的情形,在形式上不具特殊性,因此我们只有在推理过程中不断判定是否有可能猜出头上的数。 对于(A1,A2,?,An,k),若Ak??Ati?i?1mi?m?1?Atn?1i,则分组T的情况下, ???Ati?Aki?1mi?m?1?Atn?1i1,2,?,n?1?,A?ti?Ati,?Ak?max?1,2,?,n?,?i???,A2?,?,An?,ti)?S2,由前面讨论Ⅰ可得1,2,?,n?1?,(A1则?i??第17页 共21页 猜数问题的研究 g(A1,A2,?,An,k,V)?F。显然有Ak??Ati?i?1mi?m?1?Atn?1i,因此判定条件之 一为Ak??Ati?i?1mi?m?1?Atn?1i。 可能有多个学生头上的数同为最大数,若有多个学生头上的数同为最大数,则At1?Ak。下面分情况讨论: 1. 当At2?Atn?1或m?n/2 ???Ati?则分组T的情况下,Aki?1mi?m?1?Atn?1i?At1?Ak,由前面的 判定条件,在这种情形下,第k位学生不能够最先猜出头上的数。 当Ati?Ak,利用前面结论可知第ti位学生不能够最先猜出头上的数。而当Ati?Ak,(A1,A2,?,An,ti)?S2。因此没有人能猜出头上的数。 2. 当At2?At1?Ak,m?n/2 a) 若At2?Atn?1,此时即为第1)种情况。 b) 若At2?At3???Atn?1,则所有n个数都相等,此时 (A1,A2,?,An,k)?S1。 3. 当At1?At2,m?n/2,n?5 显然当n为奇数时,必然有m?n/2,即第1)种情况。因此下面只考虑n为偶数。 a) 若At2?Atn?1,此时即为第1)种情况。 b) 若At2?At3???Atn?1 对第k位学生只有两种本质不同的分组,不妨设Ak?At1?p,?i??2,3,?,n?1?,Ati?q。 i. 若2q?p,(A1,A2,?,An,k)?S1。 ??2q?p,令ii. 若2q?p,考虑须排除的情况,Ak?i??1,2,?,n?1?,A?ti?Ati。 ?,A2?,?,An?,ti)?S2 显然?i??2,3,?,n?1?,(A1?,A2?,?,An?,t1,Vt1??T g?A1,A2,?,An,k,V??T?g?A1?,A2?,?,An?,t1?,则A??t1?2q?p,令考虑?A1?i??2,3,?,n?1?,A??ti?A?ti。 ?,?,An?,k)?S2,?i??2,3,?,n?1?,A??ti?Ati?q。显然(A1?,A2??,A2??,?,An??,可以发现即为第1)种情况。因此,第k观察A1位学生不能够最先猜出头上的数。 当Ati?Ak,利用前面结论可知第ti位学生不能够最先 第18页 共21页 猜数问题的研究 猜出头上的数。而当Ati?Ak,(A1,A2,?,An,ti)?S2。因此 没有人能猜出头上的数。 4. 当At1?At2,且n?4 则必然有m?2,显然可以得到At2?At3,不妨设Ak?At1?p,At2?At3?q,并称这种两两相等的情形为“A类情形”。 对第k位学生只有两种本质不同的分组方式,考虑须排除的情??2q?p,A?t1?p,A?t2?A?t3?q。 况,Ak?,A2?,?,An?,ti)?S2 显然?i??2,3?,(A1?,A2?,?,An?,t1,Vt1??T g?A1,A2,?,An,k,V??T?g?A1对第t1位学生只有两种本质不同的分组方式,考虑须排除的情 ???2q?p,A??t2?A??t3?q。况,A??t1?2q?p,Ak又回到了“A类情形” 又由于四数中始终有一个数在减小,因此有限次推理之后,必然 达到“终结情形”,此时满足条件为2q?p。 因此一定有人能够猜出头上的数。但具体由第k位学生和第t1位学生中哪一人最先猜出头上的数需要具体计算后才能确定。 至此,讨论完所有存在两个以上的学生头上为最大数的情形。 可能的分组C满足G(C)?G(B),进行讨论。 ??2G(C)?M?2G(B)?M?Ak。令在这种情况下,Ak?i??1,2,?,n?1?,A?ti?Ati。 ??At1时 1) 当Ak?,A2?,?,An?,ti)?S2,由前面讨论Ⅰ可得?i??1,2,?,n?1?,(A1g(A1,A2,?,An,k,V)?F。因此第k位学生不能够最先猜出头上的数。 ??Ak,因此?i??由At1?Ak1,2,?,n?1?,(A1,A2,?,An,ti)?S2。因 此没有人能够猜出头上的数。 ??At1时 2) 当Ak??max?A1?,A2?,?,An??,可以利用前面对多个学生头此时A?t1?Ak上数同为最大数时的讨论的结果: 1. 当m?n/2(讨论多个最大数时的讨论1) ?,A2?,?,An?,i?,第i位学生不能够1,2,?,n?,考虑?A1对?i??最先猜出头上的数。即没人能猜出头上的数。因此,对于 (A1,A2,?,An,k),第k位学生不能够最先猜出头上的数。 ?,m?n/2(讨论多个最大数时的讨论2) 2. 当A?t2?A?t1?Aka) 当A?t2?A?tn?1 ?,A2?,?,An?,i?,第i位学生不1,2,?,n?,考虑?A1对?i??能够最先猜出头上的数。即没人能猜出头上的数。因此,对于(A1,A2,?,An,k),第k位学生不能够最先猜出头上的数。 第19页 共21页 猜数问题的研究 b) 当A?t2?A?tn?1 ??A?t1?A?t2???A?tn?1,因此可以得知由于AkAk?At1?At2???Atn?1,即(A1,A2,?,An,k)?S1。 3. 当A?t2?A?t1,n?5,m?n/2(讨论多个最大数时的讨论3) a) 当A?t2?A?tn?1 ?,A2?,?,An?,i?,第i位学生不对?i??1,2,?,n?,考虑?A1能够最先猜出头上的数,即没人能猜出头上的数。因此,对 于(A1,A2,?,An,k),第k位学生不能够最先猜出头上的数。 b) 当A?t2?A?tn?1 ??A?t1?p,?i??2,3,?,n?1?,A?ti?q。 不妨设Aki. 当2q?p ?,A2?,?,An?,k??S1,于是第k可以由之前讨论得到?A1位学生头上的数仅有一种可能情况,不属于讨论的范围。 ii. 当2q?p ?,A2?,?,An?,i?,第i位学生对?i??1,2,?,n?,考虑?A1不能够最先猜出头上的数,即没人能猜出头上的数。因 此,对于(A1,A2,?,An,k),第k位学生不能够最先猜出头上的数。 4. 当A?t2?A?t1,且n?4(讨论多个最大数时的讨论4) 显然可以得到A?t2?A?t3,此时不存在实际划分B,使得 G(C)?G(B),即这种情况不属于讨论的范围。 ??At1时 3) 当Ak?,?,An?,t1??S3,因此,第k位可能最先猜出头上的数,因?A1?,A2此需要继续推理。 结论:对于(A1,A2,?,An,k)?S3,第k位学生可能最先猜出头上的数,需要继续推理的判定条件为:Ak??Ati?i?1mi?m?1?Atn?1i?2G(T)?M,即 ??At1。 G(B)?G(T),且对任意可能分组C符合G(C)?G(B),满足Ak当n?4,m?2,考虑(A1,A2,A3,A4,k)?S3 1) 当Ak?At1,由前面讨论多个最大数时的讨论4,及,一定有人能够猜出 头上的数。 2) 当Ak?At1,显然Ak?At1?At2?At3,因此At1?At2?At3?At1,即 ??At1?At3?At2?At1,At2?At3。第k位学生头上数其余两种可能值,Ak???At2?At3?At1?At1。由前面结论,需要继续推理。 Ak由于仅有这两种情况,即不存在情况使得没有人能够猜出头上的数。且推理 第20页 共21页 猜数问题的研究 时四个数始终在减小,因此经过有限次推理之后,必然达到“终结情形”。 而对于第一种推广情形,即n?4,m?3,必然有人能猜出自己头上的数。 因此n?4时的一切情况,必然有人能猜出自己头上的数。 由于现在的推理在加强判定的情况下,依然可能出现多种考虑情况。所以推理已不是线性的推理,整个推理过程将成为树状结构。 由于分组情况繁多,而且判定方式也比较复杂,因此这时计算f?A1,A2,?,An,k?的值已经非人力能够解决,但是已经可以编程解决问题了,参见源程序3。 结束语 本文深入地分析了一个逻辑推理问题,从综观全局的角度来考虑问题的本质联系,而非一味单纯地从每个人思想出发,简化了最烦琐的“思维嵌套”,并在此基础上建立了递推关系,因此避免了问题规模随着推理次数急剧增长,有效地解决了问题。并通过对比将问题推广到更为一般的情形,尤其对于第二种推广情形,存在极为烦琐的讨论,但其讨论问题的核心思想是一致的。对解决逻辑推理的问题提供了一种可以借鉴的方法。 参考文献 《CTSC2001分析》 《算法与数据结构》 傅清祥 王晓东 编著 第21页 共21页 猜数问题的研究 时四个数始终在减小,因此经过有限次推理之后,必然达到“终结情形”。 而对于第一种推广情形,即n?4,m?3,必然有人能猜出自己头上的数。 因此n?4时的一切情况,必然有人能猜出自己头上的数。 由于现在的推理在加强判定的情况下,依然可能出现多种考虑情况。所以推理已不是线性的推理,整个推理过程将成为树状结构。 由于分组情况繁多,而且判定方式也比较复杂,因此这时计算f?A1,A2,?,An,k?的值已经非人力能够解决,但是已经可以编程解决问题了,参见源程序3。 结束语 本文深入地分析了一个逻辑推理问题,从综观全局的角度来考虑问题的本质联系,而非一味单纯地从每个人思想出发,简化了最烦琐的“思维嵌套”,并在此基础上建立了递推关系,因此避免了问题规模随着推理次数急剧增长,有效地解决了问题。并通过对比将问题推广到更为一般的情形,尤其对于第二种推广情形,存在极为烦琐的讨论,但其讨论问题的核心思想是一致的。对解决逻辑推理的问题提供了一种可以借鉴的方法。 参考文献 《CTSC2001分析》 《算法与数据结构》 傅清祥 王晓东 编著 第21页 共21页
正在阅读:
算法合集之《猜数问题的研究》01-09
高效液相色谱定义、特点、适用范围、分类03-17
高中生物教材中的黑体字知识点填空03-13
记忆中的你作文02-06
2017年中国银杏酮酯现状分析及市场前景预测(目录) - 图文04-05
最完美的漳州介绍05-29
酒店前厅员工职业生涯发展计划05-12
官僚政治诸问题文献综述03-12
乙醇基础知识强化(1)06-17
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 合集
- 算法
- 研究
- 问题
- 浅谈提高初中语文作文教学有效性的策略-精品文档
- DIY蛋糕店铺1
- 110kV变电站启动方案
- 化工厂塔类维护检修规程
- 内蒙古赤峰市2015 - 2016学年高一地理下学期周测试题(3.25,无答案)
- 在XX广告有限公司挂牌仪式上的致辞
- 2016年一级建造师《市政工程》记忆口诀
- 国际经济学6
- 人际交往案例
- 世界地理综合测试题(2015.5)
- 初中道德与法治中考部编版必备核心知识点
- 用单片机控制的电机交流调速系统设计 - 图文
- 《大学物理学(第二版)》(李乃伯主编)第一至第五单元课后习题指导
- 英国TESOL最新专业排名
- 人教版小学语文四年级上册第四单元试卷及答案
- 中国历代疆域地图及中国历代国土面积一览表
- 波特五种竞争力模型分析小米手机市场竞争力
- 2015年通用航空行业现状及发展趋势分析
- 国际税收知识点总结 - 图文
- 煤矿瓦斯防治责任制及瓦斯防治管理制度