爱吱声

标题: 做梦编题(67楼有重述) [打印本页]

作者: 喜欢    时间: 2018-9-6 10:47
标题: 做梦编题(67楼有重述)
本帖最后由 喜欢 于 2018-9-10 14:34 编辑

话说那一日,我本来睡得就迟,可是天不亮就醒了,因为脑子忽然转起来了,做起题来了。啊不对,是编起题来了。
自己百思不得其解:怎么就梦到要做这样一个题目了呢?白天又没做类似的事,确切地说,是从来也没想到过这样做一个题。
当时爬起来就折腾这题,可是没做完。早上还有一堆事要做不是吗?待做完事,梦劲儿过去了,题就扔一边了。

刚才要做别的事,看见上次做到一半的题。唉,还是把它做完了吧,就算了一桩心事。

严格说来,这题是有出处的。
想当年我上小学三、四年级的时候,见到这样一个“趣味数学游戏”:做7张卡片,上面分别写上1-100之间的数字——哪张卡片写哪些数字是有规律的。
然后拿卡片去跟小朋友玩。让对方想一个1-100之间的数字(可包括1或100),然后看看它出现在我的哪几张卡片上,指出来,我就能知道对方想的是哪个数字了。

这是多少年过去了?但我仍知道那规律是什么,若玩还是能玩的。
只不过,我好像并没真正玩过这个游戏——谁爱玩这样的游戏呢?谁爱看你臭显摆呢?-_-b

可是,就在那一日的梦里,我忽然就准备用另一种规律做卡片了——重复原来的规律没意思,变换了一下,同样的道理,另一个规律,玩类似的游戏。
梦里终究想不明白,于是就醒了,就真的开始做卡片了。

【9月10日注】此题在67楼有重述——那个更完备。若要做题可直接去那里做题,但那里也有揭秘。

当然不是真的做卡片,如今都无纸操作了嘛,用电脑,用一个表格代替那些卡片——这变换过的规律得用到10张卡片,哦,是10列数字。我为了省一张卡片(1列),得先问一个问题。即:

你想的1-100的正整数大于63吗?你得告诉我哦。
然后再请你看下面的表格:



你想的数都出现在第几列了?

然后我就能说出你想的数是几了。

这个题跟小孩子玩可能还玩得过。对启发他们对算术的兴趣能有正面作用。

但若让小孩子想出表格的规律,可能就难了。——如果能想明白这个表的规律,扩展一下,就能想出当年我见过的7张卡的规律。

有哪位同学看出这游戏背后的道理了吗?^,^
作者: 七月群山    时间: 2018-9-6 12:25
不是
3

作者: 数值分析    时间: 2018-9-6 13:51
本帖最后由 数值分析 于 2018-9-6 13:59 编辑

这不是咱的本行么。

提示一下 原来7张卡的原因是 2^7=128>100。这下大家都会了吧。
作者: 数值分析    时间: 2018-9-6 13:55
本帖最后由 数值分析 于 2018-9-6 14:00 编辑
数值分析 发表于 2018-9-6 13:51
这不是咱的本行么。

提示一下 原来7张卡的原因是2^7=128>100。这下大家都会了吧。


你能省一张卡的原因是>63决定了二进制的最高位,这个问题本身就相当于一张卡。(比如回答是等于数字在卡上,回答不是等于数字不在卡上。或反之)
作者: 数值分析    时间: 2018-9-6 14:33
本帖最后由 数值分析 于 2018-9-6 15:02 编辑


只考虑63一下的数字,64以上的先减去64,结果再加64.
注:下文中位数为二进制位

第1列 x%4==1 //低两位是01
第2列 x%4==2 //低两位是10
第3列 x%4==3 //低两位是11
//如果在第1列,第1,2位是01
//如果在第2列,第1,2位是10
//如果在第3列,第1,2位是11
//如果不在第1,2,3列,第1,2位是00
//这三列不正交,实际上用两列就可以做到同样的事儿。

第4列 (x/4)%4==1 //低两位是01
第5列 (x/4)%4==2 //中两位是10
第6列 (x/4)%4==3 //中两位是11
//如果在第4列,第3,4位是01
//如果在第5列,第3,4位是10
//如果在第6列,第3,4位是11
//如果不在第4,5,6列,第3,4位是00
//这三列不正交,实际上用两列就可以做到同样的事儿。

第7列 (x/16)%4==1 //高两位是01
第8列 (x/16)%4==2 //高两位是10
第9列 (x/16)%4==3 //高两位是11
//如果只在第7列,第5,6位是01
//如果只在第8列,第5,6位是10
//如果只在第9列,第5,6位是11
//如果不在第7,8,9列,第5,6位是00
//同样,这三列不正交,实际上用两列就可以做到同样的事儿。
//综上,最优方案用6列可以办到的事儿,你的方案得用9列。
作者: 数值分析    时间: 2018-9-6 15:08
本帖最后由 数值分析 于 2018-9-6 15:23 编辑

del                        
作者: 喜欢    时间: 2018-9-6 20:28
数值分析 发表于 2018-9-6 01:33
只考虑63一下的数字,64以上的先减去64,结果再加64.
注:下文中位数为二进制位

你说的6列就是我小时候玩的七张卡片的游戏啊。
这不是要换个玩法嘛。
你基本上说明白了,但是差一句关键的话没说出来。
即,我为什么要这样做?我这样做和原七张卡片玩法的区别在哪里?
作者: 喜欢    时间: 2018-9-6 20:37
数值分析 发表于 2018-9-6 01:33
只考虑63一下的数字,64以上的先减去64,结果再加64.
注:下文中位数为二进制位

你这篇分析里边有一处手误。
作者: 喜欢    时间: 2018-9-6 20:38
数值分析 发表于 2018-9-6 01:33
只考虑63一下的数字,64以上的先减去64,结果再加64.
注:下文中位数为二进制位

你认为你这么分析下来,3、4年级的小孩子能看懂,能玩吗?
你说说看,这游戏跟小孩怎么玩?小孩要站在我的位置哦。
作者: 喜欢    时间: 2018-9-6 20:46
本帖最后由 喜欢 于 2018-9-6 10:09 编辑
数值分析 发表于 2018-9-6 00:51
这不是咱的本行么。

提示一下 原来7张卡的原因是 2^7=128>100。这下大家都会了吧。 ...


你这句话说的……也太讳莫如深的感觉了吧
作者: smileREGENT    时间: 2018-9-6 20:51
本帖最后由 smileREGENT 于 2018-9-6 21:39 编辑
喜欢 发表于 2018-9-6 20:28
你说的6列就是我小时候玩的七张卡片的游戏啊。
这不是要换个玩法嘛。
你基本上说明白了,但是差一句关键 ...


小于63,出现该数的各列首项相加。大于63,再加上64

举例:

13=1+12
71=3+4+64

:P

作者: smileREGENT    时间: 2018-9-6 21:35
本帖最后由 smileREGENT 于 2018-9-6 21:41 编辑

原来的7张卡片是这样的吗?


[attach]79245[/attach]
作者: 喜欢    时间: 2018-9-6 21:51
smileREGENT 发表于 2018-9-6 07:51
小于63,出现该数的各列首项相加。大于63,再加上64

举例:

对!给你满分!
作者: 喜欢    时间: 2018-9-6 21:52
smileREGENT 发表于 2018-9-6 08:35
原来的7张卡片是这样的吗?

你这个表格没弄好。但意思是对的。
作者: smileREGENT    时间: 2018-9-6 22:04
喜欢 发表于 2018-9-6 21:52
你这个表格没弄好。但意思是对的。


是要把次序从小到大排一下吗?

[attach]79246[/attach]
作者: 数值分析    时间: 2018-9-6 22:37
喜欢 发表于 2018-9-6 20:37
你这篇分析里边有一处手误。

嘿嘿嘿,爱坛群众都知道我语文好。。。
作者: 数值分析    时间: 2018-9-6 22:47
本帖最后由 数值分析 于 2018-9-6 22:54 编辑
喜欢 发表于 2018-9-6 20:28
你说的6列就是我小时候玩的七张卡片的游戏啊。
这不是要换个玩法嘛。
你基本上说明白了,但是差一句关键 ...


其实你这种改进还是基于二进制的,而且卡片还多了。我想过基于3进制的方案。每张卡片分为上下两部分,受试者须回答预想数字”在上“,”在下“或”不在“每张卡片上。

类似,可以搞基于N进制的。

这类N进制方案如果想保持答案只是”在“或者”不在“,可以再制作N张卡片,这每张卡片包含所以第一部分卡片对应区域里的数字。

还有基于因式分解的方案,比如把1-100随机排成N行M列表格,制作M+N张卡片,头M张卡片每张包含一列数字,后N张卡片每张包含一行数字,根据回答查表便知答案(小孩喜欢这个,不需要算术)

等等
作者: 喜欢    时间: 2018-9-6 22:57
数值分析 发表于 2018-9-6 09:47
其实你这种改进还是基于二进制的,而且卡片还多了。我想过基于3进制的方案。每张卡片分为上下两部分,受 ...

光想,做一个出来呗。

你老强调我的卡片多是怎么回事啊?我是为了躲那个二进制嘛,就必须多出来,因为二进制是最优方案。

我认为你还是差一点没说明白我的方案。
作者: 喜欢    时间: 2018-9-6 22:58
数值分析 发表于 2018-9-6 09:37
嘿嘿嘿,爱坛群众都知道我语文好。。。

我是爱谈群众不?我不知道你语文好。
作者: 喜欢    时间: 2018-9-6 22:59
本帖最后由 喜欢 于 2018-9-6 10:01 编辑
smileREGENT 发表于 2018-9-6 09:04
是要把次序从小到大排一下吗?


对呀,这样才方便玩嘛。

最好还能把数字居中。因为现在不能一目了然某数字究竟在哪一列。
作者: 数值分析    时间: 2018-9-6 23:02
数值分析 发表于 2018-9-6 22:37
嘿嘿嘿,爱坛群众都知道我语文好。。。

不不不,是语文不好。。。
作者: 数值分析    时间: 2018-9-6 23:03
喜欢 发表于 2018-9-6 22:58
我是爱谈群众不?我不知道你语文好。

Sorry,是语文不好,你懂的。。。
作者: 数值分析    时间: 2018-9-6 23:06
喜欢 发表于 2018-9-6 22:57
光想,做一个出来呗。

你老强调我的卡片多是怎么回事啊?我是为了躲那个二进制嘛,就必须多出来,因为二 ...

误会误会,绝无找茬的意思。。。

这个。。。知易行难嘛。。。

Talk is cheap。。。

手懒。。。
作者: 喜欢    时间: 2018-9-6 23:11
smileREGENT 发表于 2018-9-6 07:51
小于63,出现该数的各列首项相加。大于63,再加上64

举例:

啊不对,不能给满分,最多给99分。
作者: 喜欢    时间: 2018-9-6 23:13
数值分析 发表于 2018-9-6 10:06
误会误会,绝无找茬的意思。。。

这个。。。知易行难嘛。。。

就嘴不懒。
作者: 数值分析    时间: 2018-9-6 23:15
本帖最后由 数值分析 于 2018-9-6 23:19 编辑
喜欢 发表于 2018-9-6 20:28
你说的6列就是我小时候玩的七张卡片的游戏啊。
这不是要换个玩法嘛。
你基本上说明白了,但是差一句关键 ...


忘了回答这个问题了。
现在的卡片每三列是个二进制数,在是1, 不在是0. 一共3个数。比如这3个数就设为a,b,c吧

a+b*4+c*16=原数字

好处可能是只要会转换3位二进制数就可以了,原来的方案得转换6位二进制数?
作者: 数值分析    时间: 2018-9-6 23:17
喜欢 发表于 2018-9-6 23:13
就嘴不懒。

口贩子。。。
作者: 喜欢    时间: 2018-9-6 23:20
数值分析 发表于 2018-9-6 10:15
忘了回答这个问题了。
现在的卡片每三列是个二进制数,在是1, 不在是0. 比如这3个数就设为a,b,c吧

唉,我就直说了吧——我这做法就是用四进制啊。

可惜做梦时想出来的不用三进制做这题。
作者: 数值分析    时间: 2018-9-6 23:30
本帖最后由 数值分析 于 2018-9-6 23:32 编辑
喜欢 发表于 2018-9-6 23:20
唉,我就直说了吧——我这做法就是用四进制啊。

可惜做梦时想出来的不用三进制做这题。 ...


原题用二进制的原因是数字在或不在某一张卡片上,是两个状态。类似的计算机也用二进制的原因也是如此,三极管导通或截断,两个状态。
(跑题一下,苏联搞过三进制的计算机,是正负0三个状态。技术上成功了商业上不成功。另,此处无包子)
如果你想用真.四进制,得创造出四个状态的答案,比如每张卡片上分4个区,让孩子回答1,2,3,4;或者分3个区,让孩子回答1,2,3,不在。
你现在这个是二进制再编码的四进制,不是真四进制。。。不知道说明白了没有。
故,你这个是伪.四进制,得证。。。
作者: 数值分析    时间: 2018-9-6 23:38
本帖最后由 数值分析 于 2018-9-6 23:43 编辑
数值分析 发表于 2018-9-6 23:30
原题用二进制的原因是数字在或不在某一张卡片上,是两个状态。类似的计算机也用二进制的原因也是如此,三 ...


其实二进制广泛应用,是因为生活中非彼即此的二态问题很多。比如下面这个问题

现在有请刚才参与讨论的耗子兄进来一下,

好,现在有一百种食品,其中有一种有毒,耗子吃了1周后会死。现在只有一周时间,问至少需要多少只耗子可以找出哪一种食品有毒。这个问题其实和你的卡片问题是一模一样的解。

这个也是二进制,因为死或生是两个状态。

作者: 喜欢    时间: 2018-9-7 00:21
本帖最后由 喜欢 于 2018-9-6 11:22 编辑
数值分析 发表于 2018-9-6 10:30
原题用二进制的原因是数字在或不在某一张卡片上,是两个状态。类似的计算机也用二进制的原因也是如此,三 ...


你问:“不知道说明白了没有。”
我答:“你没说明白。”因为你自己也没明白我的题是怎么回事,想当然拿你的理论批驳我而已。

我的每一位的四种状态都包括在题目当中了。

我坚持我这个是以四进制为基础的题目。

假如你能做出一个跟我这个不一样的“真四进制”的做题方法(而且还得“玩得”,以小孩子能玩的方式),我才服你。

作者: 数值分析    时间: 2018-9-7 03:55
本帖最后由 数值分析 于 2018-9-7 04:03 编辑
喜欢 发表于 2018-9-7 00:21
你问:“不知道说明白了没有。”
我答:“你没说明白。”因为你自己也没明白我的题是怎么回事,想当然拿 ...


这有何难,咱们一言为定,你可不许反悔啊。

看来今天不露一手还真不行了.

100个数字太多了,咱就拿1-15数字举个例子吧

卡片1  卡片2
r1         r4     
g2        r5
b3        r6
r5         r7
g6        g8
b7        g9
r9         g10
g10      g11
b11      b12
r13      b13
g14     b14
b15     b15

数字前面的字母是数字印刷的颜色,r红色,g绿色,b蓝色

让指定数字的孩子说出预定的数字在每张卡片上出现的颜色。如果没出现就说没

然后告诉猜的孩子,把颜色对应为数值
红色=1
绿色=2
蓝色=3
没出现=0

卡片1数值+卡片2数值×4。

这是真。四进制的玩法。

这个游戏还能识别色盲,服么?
作者: 喜欢    时间: 2018-9-7 04:40
本帖最后由 喜欢 于 2018-9-6 15:42 编辑
数值分析 发表于 2018-9-6 14:55
这有何难,咱们一言为定,你可不许反悔啊。

看来今天不露一手还真不行了.


不服。你直接来1-100的吧。不然看不懂。

举个例子那么难吗?什么叫“卡片1数值”?什么叫“卡片2数值”?
作者: smileREGENT    时间: 2018-9-7 07:40
数值分析 发表于 2018-9-6 23:38
其实二进制广泛应用,是因为生活中非彼即此的二态问题很多。比如下面这个问题

现在有请刚才参与讨论的耗 ...

答案:1只

这只耗子会把出这个题的人咬到乖乖求饶,然后说出哪种食物有毒,并把剩下的食物支持鼠会主义建设

不开玩笑,正经回答,7只,可能哪里不对,但我要赶去找食物啦
作者: 沉宝    时间: 2018-9-7 11:11
数值分析 发表于 2018-9-6 22:47
其实你这种改进还是基于二进制的,而且卡片还多了。我想过基于3进制的方案。每张卡片分为上下两部分,受 ...

看来喜欢gg没有受过正规训练。给你加一点挑战性吧,如果玩真假话,比方说每五个回答中有一句可能是假的,这样需要几张卡片?
作者: 喜欢    时间: 2018-9-7 11:22
沉宝 发表于 2018-9-6 22:11
看来喜欢gg没有受过正规训练。给你加一点挑战性吧,如果玩真假话,比方说每五个回答中有一句可能是假的, ...

不知道。你受过说假话的训练?
作者: 喜欢    时间: 2018-9-7 11:23
本帖最后由 喜欢 于 2018-9-6 22:24 编辑
数值分析 发表于 2018-9-6 14:55
这有何难,咱们一言为定,你可不许反悔啊。

看来今天不露一手还真不行了.


1,你这玩法在1-100之间玩时,“猜数人”还得计算
卡片1数值+卡片2数值×4+卡片3数值×16+卡片4数值×64吧?(虽然卡片4的都是红色,只x1)
嗯,我只好替你说出需要第三第四张卡了(除非你也问那问题,省一张卡)。
你不觉得这游戏让10来岁的孩子玩有点推销不出去?

2,你不觉得我的玩法实际上就是先替孩子把可能的乘法答案都列出来,让ta只做100以内的加法即可?
那就不是四进制了?
作者: 沉宝    时间: 2018-9-7 11:53
喜欢 发表于 2018-9-7 11:22
不知道。你受过说假话的训练?

可能我上一帖词不达意,要是冒犯了请原谅。

我原本想说的是两层意思:
1)喜欢gg应该不是科班出身,否则利用专业知识会觉得题目难度不大。以gg的性格,没有挑战性的题目大概没有兴趣花太多的时间。就像原来的数独题,我可以拿两分钟一道的打发时间,你做的都是需要几个小时甚至几天的。
2)不保证所有答案的正确性,大幅度增加了出题的难度。当然,人类知识积累到今天,即使是新的玩法也不过是一个知识点的简单应用,也就是闲暇娱乐的水平。
作者: 喜欢    时间: 2018-9-7 11:56
沉宝 发表于 2018-9-6 22:53
可能我上一帖词不达意,要是冒犯了请原谅。

我原本想说的是两层意思:

大学学的计算机软件,算科班吗?
但那是很多年以前了,算科班又怎么样呢?
不会你出的题。给讲讲吧~我有兴趣听。
作者: 沉宝    时间: 2018-9-7 12:23
喜欢 发表于 2018-9-7 11:56
大学学的计算机软件,算科班吗?
但那是很多年以前了,算科班又怎么样呢?
不会你出的题。给讲讲吧~我有 ...

gg大学学的是计算机软件,没有想到!对不起,看来我原来想当然了

我那道题其实就一层窗户纸,一捅就破。关键词容错编码,或者自纠码。理论上,最小汉明距离为d的编码在码字中最多可以检测出d − 1个错误。背景知识看这里吧https://zh.m.wikipedia.org/zh-ha ... E%E7%BA%A0%E6%AD%A3
作者: 数值分析    时间: 2018-9-7 12:31
喜欢 发表于 2018-9-7 11:22
不知道。你受过说假话的训练?

冤枉沉宝了,他本意没有说假话的意思
他想说的是信道噪音,信噪比5的话,编码要加几位冗余码。
作者: 喜欢    时间: 2018-9-7 12:58
数值分析 发表于 2018-9-6 23:31
冤枉沉宝了,他本意没有说假话的意思
他想说的是信道噪音,信噪比5的话,编码要加几位冗余码。 ...

最受不了你这种自以为是的态度。
干点实事吧。做你该做的事。
作者: 数值分析    时间: 2018-9-7 13:10
本帖最后由 数值分析 于 2018-9-7 13:18 编辑
喜欢 发表于 2018-9-7 12:58
最受不了你这种自以为是的态度。
干点实事吧。做你该做的事。


看看,上个论坛回个帖怎么还呛呛起来了。

我哪儿有自以为是啊。

至于干点实事,每天上班都干的实事,上论坛不就工余开心一下么。

再说论坛么,不就是坐而论道么,这里要是”行“坛,我就作而行之了。

你教训别人”做你该做的事儿“这个态度,倒颇有一些”自以为是“的味道么。
作者: smileREGENT    时间: 2018-9-7 13:51
楼上@沉宝 @数值分析 两位亲。你们要考虑下俺们非专业人士滴理解水平噻

我个人的理解是酱紫滴,喜欢GG这样处理的目的是能够吸引孩子们的注意力,所以这个帖子潜在的阅读对象应该是幼儿园或者小学低年级的乖宝们。换句话说,就是希望,能用孩子们能够理解的道理向他们解释这个小玩意儿的奥妙在哪儿。

喜欢GG一直强调的意思应该是,最好用孩子可以理解的语言来交流谈论这个问题。

两位的回答里术语有点过多,当然这也没啥不好,也没有哪条规矩说回帖必须要跟白居易写诗那样,要达到邻居阿婆也读的懂的情况。但如果能稍稍考虑下非专业人士的理解能力,会不会更好一些呢?毕竟帖子是公开给每一位坛友呢。

比如信噪比,信道噪音这些术语,能不能试着稍稍展开一些呢?再比如数值分析亲的回答,虽然我研究之下也是醍醐灌顶拍案称绝,但如果能稍稍把专业人士之间交流用的符号改成更常见的数学运算符号,作为对我们这些圈外人的科普,会不会更适合呢?

说实话,虽然大致能猜到,但其实不是很懂包含有%  ==符号的公式含义

当然我知道,有时,这对专业背景的童鞋有点强人所难。。。。像是逼着放弃计算机用算盘一样。拿我自己来说,作为医生,有时明明觉得已经和患者交代的很明白了,然而患者还是迷茫一脸,心里也是相当滴抓狂。

感觉三位亲没有特别分歧的地方,只是互相有些误会聊不到点子上。个人觉得,为此互相丧失几位有趣的坛友就太得不偿失啦。

爪机回帖,啰嗦的有点多,万请勿怪~
作者: 喜欢    时间: 2018-9-7 18:37
数值分析 发表于 2018-9-7 00:10
看看,上个论坛回个帖怎么还呛呛起来了。

我哪儿有自以为是啊。

理解力也有问题。
你那所谓"真。四进制"的题还没做完呢。我回复你了,你并没应我。——这就是你该做而没做的事。
作者: 喜欢    时间: 2018-9-7 18:47
数值分析 发表于 2018-9-6 23:31
冤枉沉宝了,他本意没有说假话的意思
他想说的是信道噪音,信噪比5的话,编码要加几位冗余码。 ...

说你自以为是,是因为你不仅插嘴解释别人的“本意”,而且在揣测我的本意——你凭什么说我冤枉人?你知道我那回复的本意吗?

你就别插嘴了。你把题做完,并回复我跟你说的话就行了。
作者: 喜欢    时间: 2018-9-7 18:52
沉宝 发表于 2018-9-6 23:23
gg大学学的是计算机软件,没有想到!对不起,看来我原来想当然了

我那道题其实就一层窗户纸,一捅就破。 ...

恕我愚钝,看不懂。
你到底出了什么题啊?
不如你直接把你出的题和解法给解释一遍,让我恍然大悟一下。
作者: 喜欢    时间: 2018-9-7 18:57
数值分析 发表于 2018-9-7 00:10
看看,上个论坛回个帖怎么还呛呛起来了。

我哪儿有自以为是啊。

你出的老鼠做测试的题,smileREGENT同学回答了,也没见你回复他——这也是你该做,而没做的事之一。
作者: 沉宝    时间: 2018-9-7 21:58
喜欢 发表于 2018-9-7 18:52
恕我愚钝,看不懂。
你到底出了什么题啊?
不如你直接把你出的题和解法给解释一遍,让我恍然大悟一下。 ...

你开的这个主题帖,最开始是几张卡片,上面写有不同数学,让小朋友(假设玩游戏的是一个小朋友)先内心想一个数学,然后看你的卡片,告诉你他那心中的数字在哪张卡片中有。所有卡片过一遍后,你就可以告诉小朋友他心中的数字是什么。这是我的理解,有偏差的地方请指正。

所谓我出的题,其实是在你的游戏的基础上增加了难度。你的游戏中小朋友每次都做如实回答给你,他心中的数字在你的卡片中有就是有,没有就是没有。而我的版本变成了小朋友的答案不那么可靠,比如说小朋友调皮,明明他心中的数字在你的卡片中有,他故意说没有。而且这种调皮是随机的,你不知道他说没有说,对着第几张卡片说了。这听上去好像没有办法玩了,对不对?其实不然,只要我们知道小朋友的调皮程度的上限,比如说他最多最多五个答案中掺一个假的,我们还是可以设计出一套卡片让他回答,并由此得到他心中所想的那个数字。

针对我这版本的游戏的那一组卡片,如果仅凭中学知识手工编制,那么难度将极大(我不想用绝对化的词,直接说不可能)。但是,如果利用了人类几十年在信息论和编码理论上的积累,这又变得轻而易举了,就是一道课后习题的难度。我说它是窗户纸,实际上就是能不能意识到它是哪门课的课后习题。估计[数值分析]在工作中经常接触相关知识,处于一种手熟的状态,所以他立刻就反应过来了。简单地说,卡片编制要以纠错码(ECC, error-correcting code)作指导,相关知识内容在我上一帖中给你的wikipedia的链接中已经讲得很好了,我就不再献丑了。
作者: 喜欢    时间: 2018-9-7 22:56
沉宝 发表于 2018-9-7 08:58
你开的这个主题帖,最开始是几张卡片,上面写有不同数学,让小朋友(假设玩游戏的是一个小朋友)先内心想 ...

你这贴说得明白了许多。但我还是不知道我能就此做什么。

1,你一再假定“五个答案中最多有一个不实答案”。我有点不明白的是,这里需要的是7个(以二进制为基础的原题)或10个(我编的以四进制为基础的新题)答案。那么,你确定你是针对我这题加大的难度?如果是,那“五个答案”怎么解释?

2,你最好能说动【数值分析】做你的题。他貌似什么都懂呢。无论你们俩谁,如果能把你的题给做出来,相信会有很多人点赞——至少我会。

3,大概看了一下你给的wikipedia的链接内容(没看全),是说为了避免传输当中出错,在传输的数据里面加几位ECC,对吗?现在好奇:如果这几位出现传输错误怎么办?
作者: 数值分析    时间: 2018-9-8 00:22
smileREGENT 发表于 2018-9-7 13:51
楼上@沉宝 @数值分析 两位亲。你们要考虑下俺们非专业人士滴理解水平噻

我个人的理解是酱紫 ...

我的错,我反省。。。
喜欢同学说我自以为什么都懂,其实恰恰相反,就是因为爱坛上讨论的大多数东西我都插不上嘴,所以见到一个本行的问题,就太兴奋了,或者说,用力过猛,完全没考虑到受众的感受。这点我做得很不好。应该像晨枫写科普文章那样,由浅入深,娓娓道来,我还差得远。
下面我重新试一下,但是水平有限,不一定能讲懂。请容我点时间。。。。
作者: 数值分析    时间: 2018-9-8 00:35
喜欢 发表于 2018-9-7 18:57
你出的老鼠做测试的题,smileREGENT同学回答了,也没见你回复他——这也是你该做,而没做的事之一。 ...

明白了。
交流之际,言语冲突,有些意气,还请你海涵。

也请喜欢兄恕我直言,老兄发言,有的时候,有些。。。怎么说呢,有些”冲“,语气容易让人误会。
作者: 沉宝    时间: 2018-9-8 01:23
喜欢 发表于 2018-9-7 22:56
你这贴说得明白了许多。但我还是不知道我能就此做什么。

1,你一再假定“五个答案中最多有一个不实答案 ...

“五个答案中最多有一个不实答案”只是一个举例,想说明的是不真实答案必须有一个上限。假如一个人满嘴跑火车,十句话里可能有九句是假的,这游戏就没有办法玩了。相反,任何低于规定错误上限的答案都是可以接受的。比如说在一次游戏中你问了21个问题,小朋友的回答中有3个不实,那么你按照五错一设计的卡片就可以顺利使用。这个上限是设计卡片的前提。比如说你想提高宽容程度,允许七错二,那么整套卡片可能就需要推倒重来,重新设计了。

要写成面向普通人的科普帖,我们跟晨枫老大哥最大的差别就是行文的速度。好在[数值分析]答应写了,为他点赞吧。

ECC本身出现错误与数据考同样对待。只要总错误率不高于设计的上限,都可以纠正过来。
作者: 喜欢    时间: 2018-9-8 01:54
数值分析 发表于 2018-9-7 11:35
明白了。
交流之际,言语冲突,有些意气,还请你海涵。

我上网有将近20年了。跟你在本楼的这段往来,再加上在记录里面的那段,这是我第一次跟别人说话这么不客气。
你要不要猜猜为什么?
作者: shijz    时间: 2018-9-8 05:41
记得在通讯理论时学过,后来不用都忘光了。计算机讲校验和时也有提及。
作者: 数值分析    时间: 2018-9-8 11:27
本帖最后由 数值分析 于 2018-9-8 11:30 编辑
喜欢 发表于 2018-9-8 01:54
我上网有将近20年了。跟你在本楼的这段往来,再加上在记录里面的那段,这是我第一次跟别人说话这么不客气 ...


喜欢兄,坦率的说,我不相信这是你“上网有近20年”来,“第一次跟别人说话这么不客气”。
但我们不要纠结这一点,否则你说是,我说不是,就变成抬杠了。
无论如何,我确实感觉你有些针对我,如果你愿意,倒是不妨告诉我,我何处得罪了你?
作者: 喜欢    时间: 2018-9-8 11:43
数值分析 发表于 2018-9-7 22:27
喜欢兄,坦率的说,我不相信这是你“上网有近20年”来,“第一次跟别人说话这么不客气”。
但我们不要纠 ...

当然就是在这帖子里呀!
就是你的得瑟劲儿,你说我这个那个,又不拿出你自己的东西来。换你你不气?
到现在我也没见到你拿出1-100的“卡片”;我替你指出玩法,你也没回应。
只不过你有了“反省帖”以后,我已经不生你的气了。
作者: 喜欢    时间: 2018-9-8 11:47
数值分析 发表于 2018-9-7 22:27
喜欢兄,坦率的说,我不相信这是你“上网有近20年”来,“第一次跟别人说话这么不客气”。
但我们不要纠 ...

好吧,我不是第一次。谁没有礼貌地待我,我就会反击!
跟你是第一次,这没错。而且我宣布这第一次已经结束。
作者: 喜欢    时间: 2018-9-8 12:03
数值分析 发表于 2018-9-7 22:27
喜欢兄,坦率的说,我不相信这是你“上网有近20年”来,“第一次跟别人说话这么不客气”。
但我们不要纠 ...

我要等的是smileREGENT同学给的那种答案(所以我给100分),那才是小孩子可玩的背后原理。
你就是懂得太多了,又不会用普通语言讲出来。还想否定我。
我不过是把四进制的玩法展开了,把x2 x3 的部分都单列出来,以便游戏可以顺利进行。即便是你,连乘带加也不如直接算加法更快,承认不?
作者: 喜欢    时间: 2018-9-8 12:13
数值分析 发表于 2018-9-7 22:27
喜欢兄,坦率的说,我不相信这是你“上网有近20年”来,“第一次跟别人说话这么不客气”。
但我们不要纠 ...

你看不到我的道理,却一再否定我,所以我就不客气了。
对,就是这话,谁没有礼貌地否定我,谁就得承担后果。
这却不是说不能指出我的错误,如果我错了,欢迎指出。但如果我不认为我错,那就得弄清楚分歧在哪里。
最重要的是,得有礼貌。那些没有礼貌的人,即便你说得对,我也可能怼你
作者: 喜欢    时间: 2018-9-8 12:48
数值分析 发表于 2018-9-6 10:15
忘了回答这个问题了。
现在的卡片每三列是个二进制数,在是1, 不在是0. 一共3个数。比如这3个数就设为a, ...

你这段回复,我不知道有别人看懂了吗?
我是很努力想知道你在说什么。我想我知道你的意思,但你再看看是否你说的并不是我的表格(卡片)?
你不妨用一个实例,61,往你这段话上套,看看对得上不?
此时a=1 b=3 c=3,这三个数怎么在我的九张卡里对应到三个二进制数?
作者: 数值分析    时间: 2018-9-8 14:29
本帖最后由 数值分析 于 2018-9-8 16:17 编辑
喜欢 发表于 2018-9-8 12:13
你看不到我的道理,却一再否定我,所以我就不客气了。
对,就是这话,谁没有礼貌地否定我,谁就得承担后 ...


嗐 原来是为这个啊。

我这个人说话没正形 好开玩笑
态度上可能显得不那么正经,礼貌上可能也有些不周到,不过绝对没有轻慢的意思

如果语气上造成误会了,我先道歉。

不过咱话分两头说,要想公平,打个颠倒。

你想想,我也码了不少字儿,却没得到理解,在我这边看来,何尝不是“你看不到我的道理,却一再否定我”。所以我自嘲,语文不好,词不达意么。

比如说老兄一直说100个数字的四进制游戏,其实,道理上,15个数字和一百个数字并没有区别,咱数学上证明,不也经常说,“不失一般性。。。”然后缩小问题规模么。如果可能,我希望你能忽略15个和100个的差别,从道理上看看我说的,想想和你说的四进制有什么不一样。其实关键是,在你的那个方案上里,每个数字在每张卡片上只有“在卡片上”和“不在卡片上”两种状态,而我的方案里,每个数字在每张卡片上有“红”“绿”“蓝”和“不在”四种状态。 你的方案里,“在”代表1,“不在”代表0. 我的方案里“红”代表1,“绿”代表2,“蓝”代表3,“不在”代表0.每张卡片包含的信息更多,所以卡片的数量就可以减少。这就是同一个数字,表示起来,4进制比二进制短,8进制比四进制短,10进制比8进制短的道理。
作者: 数值分析    时间: 2018-9-8 15:49
本帖最后由 数值分析 于 2018-9-8 16:22 编辑

好吧,我做出了1-100四进制游戏的卡片,每一列是一张卡片。今天太晚了,容我日后再补说明。

作者: 喜欢    时间: 2018-9-8 20:39
数值分析 发表于 2018-9-6 10:15
忘了回答这个问题了。
现在的卡片每三列是个二进制数,在是1, 不在是0. 一共3个数。比如这3个数就设为a, ...

嘿,我想明白了!
你这帖里面说的"二进制"实际上应该是"四进制"。
假如你不是固守在二进制的思维里,此时本该发现我用的是四进制——把每一位四进制展开成了三列(三张卡片)。
如果此时发现了,问题到26楼基本上就已经解决了。
作者: 喜欢    时间: 2018-9-8 20:45
数值分析 发表于 2018-9-8 02:49
好吧,我做出了1-100四进制游戏的卡片,每一列是一张卡片。今天太晚了,容我日后再补说明。
...

赞你终于把这个表做出来了。我就是要让你知道,说和做之间的差别。你花了多少时间?
你再继续列公式,就会发现如我前面说过的,用我展开的方式会更便于快速计算、更可玩。
当然,你可以坚持你的这个玩法,因为它看去更酷。
作者: 数值分析    时间: 2018-9-8 22:15
本帖最后由 数值分析 于 2018-9-8 22:27 编辑
喜欢 发表于 2018-9-8 20:45
赞你终于把这个表做出来了。我就是要让你知道,说和做之间的差别。你花了多少时间?
你再继续列公 ...


呵呵,这话不了我多少时间,其实我的日常工作就和这个有关系。其实最关键的,是你的初衷可能只是设计一个和孩子玩的游戏,但在沉宝或者我这样的“专业选手”看来,这自动变成了一个通信问题,其中关键是编码方案。我们考虑最优先是效率,然后沉宝同学还考虑了噪音(抗干扰)。如果信道可以支持4进制的话,那么我的方案(在所有数字出现概率相等的情况下)卡片最少(就是编码最短),可以更加多快好省的传递信息,建设社会主义。

作者: 喜欢    时间: 2018-9-11 03:08
标题: 改进并重述此题
本帖最后由 喜欢 于 2018-9-10 14:17 编辑

又仔细看了一下,发现我这个游戏做得确实有点粗糙。有一个重要事实我没有指出来;[数值分析]兄也许隐约觉到了,却因为要否定我而与它擦身而过——你若给我指出,我们就吵不起来了。

我现在把这事实指出来:

我这游戏里面的9张卡片实际上应该是3张卡片。因为若把每3列划分为一组,其间的数字各不相同,即123列中没有重复数字,可归为一张卡;456列归为一张卡,789列归为一张卡。

那么我就来重新整理这个游戏。1,索性加回原来省去的“第10张”卡片,因为现在加上它也仅有4张卡片了不再保留原来“是否大于63”这个问题)。2,把这四张卡片的次序也颠倒一下,使得游戏更清楚、易玩(从大数开始算,符合解题思路)。

现将我主楼的游戏重新解释为:

“猜数游戏”

请你从1-100这100个正整数当中任选一个,默记于心。你只要依次(卡1/卡2/卡3/卡4)告诉我它分别出现在下述四张卡片的第几列(如果没出现算第0列。第一张卡片只有1列,所以出现就是第1列,否则算第0列)。于是你会告诉我形如这样一个数字串:
0001
0123
1210
那么,我会立刻告诉你,你心里想的是哪个数。






揭秘游戏玩法:

正如smileREGENT同学解题指出的那样,我只要把相应卡片相应列上那第一个数字相加得到的即为你心里想的那个数。比如:

0001=>0+0+0+1        =1                =64*0+16*0+4*0+1*1=四进制表示法(0001)
1210=>64+32+4+0        =100        =64*1+16*2+4*1+1*0=四进制表示法(1210)

0111=>0+16+4+1        =21                =64*0+16*1+4*1+1*1=四进制表示法(0111)
0222=>0+32+8+2        =42                =64*0+16*2+4*2+1*2=四进制表示法(0222)
0333=>0+48+12+3        =63                =64*0+16*3+4*3+1*3=四进制表示法(0333)

0123=>0+16+8+3        =27                =64*0+16*1+4*2+1*3=四进制表示法(0123)
0231=>0+32+12+1        =45                =64*0+16*2+4*3+1*1=四进制表示法(0231)
0312=>0+48+4+2        =54                =64*0+16*3+4*1+1*2=四进制表示法(0312)

0030=>0+0+12+0        =12                =64*0+16*0+4*3+1*0=四进制表示法(0030)
0210=>0+32+4+0        =36                =64*0+16*2+4*1+1*0=四进制表示法(0210)
0300=>0+48+0+0        =48                =64*0+16*3+4*0+1*0=四进制表示法(0300)

1001=>64+0+0+1        =65                =64*1+16*0+4*0+1*1=四进制表示法(1001)
1123=>64+16+8+3        =91                =64*1+16*1+4*2+1*3=四进制表示法(1123)
1203=>64+32+0+3        =99                =64*1+16*2+4*0+1*3=四进制表示法(1203)

上述解释的右边部分,就是本游戏的原理——用四进制方法表达一个正整数

十进制是“逢十进一”;四进制,就是“逢四进一”。

1至10的四进制表达就是:1,2,3,10,11,12,13,20,21,22。

即,十进制会出现0,1,2,...,8,9这十个数字;而四进制只会出现0,1,2,3这四个数字。


感谢所有参与讨论的同学!

感谢所有给我加分的同学!
作者: 肖恩    时间: 2018-9-11 08:55
喜欢 发表于 2018-9-11 03:08
又仔细看了一下,发现我这个游戏做得确实有点粗糙。有一个重要事实我没有指出来;[数值分析]兄也许隐约觉到 ...

有意思,我把你的表格改了下,只保留1到63的,这样比较整齐,小朋友玩起来可能会更有兴趣
作者: 喜欢    时间: 2018-9-11 09:04
肖恩 发表于 2018-9-10 19:55
有意思,我把你的表格改了下,只保留1到63的,这样比较整齐,小朋友玩起来可能会更有兴趣 ...

好啊。那就只要三张卡片,算起来也快。

等ta玩够了,可以让ta拿去跟别的小朋友玩。(可以做成真的卡片。)




欢迎光临 爱吱声 (http://www.aswetalk.net/bbs/) Powered by Discuz! X3.2