一道经典问题(尤其是信息论学的好的要帮忙啊!!!!!)

Zig 2001-11-15 06:33:12
大家知道经典的找次品的问题吧?
现在问题是这样的, 有2048个样品, 其中有一个是次品, 每次你可以给计算机k个样品的编号, 计算机告诉你其中是否包含次品.
这样如果是经典的问题, 我们可以用二分法在log(2,2048)=11次内找出次品, 并可以用信息论的方法证明这个次数是最少的.
不过现在计算机比较狡猾, 可能有一次告诉你错误的答案, 就是相反的答案, 不过最多一次. 求最少的次数.
我可以用构造法做出15次的一个解, 不过无法用信息论的方法证明这个就是最少的, 请大家帮忙啊!!!!!!!!!!!!!!!!!!!!!!!

3x in advance!!!!!
...全文
178 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jrju 2001-11-19
  • 打赏
  • 举报
回复
应该是这么回事吧!这已是极限了,不能再少了。
Zig 2001-11-19
  • 打赏
  • 举报
回复
这个对吗?
Zig 2001-11-18
  • 打赏
  • 举报
回复
4096是17。

我想到了一个解释的方法。
我们需要用log(2,2048)=11bit的信息得出结论,log(2,k+1)的信息解决掉究竟什么是正确的输入,这样就有klog(2,2)>=log(2,2048)+log(2,k+1),所以k=15。

还有例如可能有2个错误的情况,这样就有klog(2,2)>=log(2,2048)+log(2,1+k+k(k-1)/2)
jrju 2001-11-17
  • 打赏
  • 举报
回复

可以这么理解吧:要指出11位的数据中是哪一位发生了错误,必须有2^n>=11
即n>=4,也就是说至少得用一个长度为4Bit的二进制数才能表示出哪一位发生了错误。
还不止这些,因为错误也许可能发生在用来指示的那4位上,因此必须将此综合
考虑进去,于是就有我上面的那个推论:2^n-1>=(x+n)
x为信息位的位数,n为纠错位的位数。
这已是极限了。不能再比这少了。

你有没有测试以下4096个样本情况。
jrju 2001-11-17
  • 打赏
  • 举报
回复
是我没法证明,也许另有高手
jrju 2001-11-17
  • 打赏
  • 举报
回复
没办法,直觉上是这样。要证明,没辙:(
Zig 2001-11-17
  • 打赏
  • 举报
回复
没法证明???
不会吧。。。。。。
Zig 2001-11-17
  • 打赏
  • 举报
回复
有没有证明什么的? 我最发愁的就是这个. 我不明白为什么要有4bit的冗余
或者海明码的url? 还有英文是什么? Hamming Code?
jrju 2001-11-16
  • 打赏
  • 举报
回复
上面的回复有欠妥之处。结论仍然是15次,但需满足的条件是:
设信息为xBit,如果这x位信息中至多有1位可能出错,则所需纠错位n应满足:
2^n-1>=(x+n)
由你的题目可得出用于纠错的冗余位n>=4. 最少所需的测试次数为x+n=11+4=15次

可以推断一下:如样品数为4096(x=12),应最少需测试x+n=12+5=17次
你的程序不妨验证一下上面这个推论。

jrju 2001-11-15
  • 打赏
  • 举报
回复
最少次数应为15次,而且也只需要15次。你是对的,至少结论是对的。
本题可以看成是一个长度为11Bit的信息,其中可能有一位有错,那么在设计纠
错位的时候必须至少给出4Bit的冗余,因为2^4>11。 11+4=15

有兴趣的话,可以看一些有关海明码(最早的能纠错的编码)的资料。
jrju 2001-11-15
  • 打赏
  • 举报
回复
有意思,我正在考虑

33,025

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧