算法导论习题4-5:芯片检测

本文详细分析了算法导论中的习题4-5,讨论了如何在VLSI芯片检测中找出好芯片。当坏芯片不少于n/2时,无法确定好芯片;当好芯片多于n/2时,证明了通过n/2对测试可以将问题规模减半,并给出了三种O(n)时间复杂度的解决方案:双向配对法、单向检测法和多数元素法。
摘要由CSDN通过智能技术生成

2019.11.14更新: 修正了方法1里的一个错误,增加了方法3。

习题4-5 3rd edition (4-6 2nd edition)

Diogenes 教授有n个被认为是完全相同的VLSI芯片,原则上它们是可以互相测试的。教授的测试装置一次可测试二片,当该装置中放有两片芯片时,每一片就对另一片作测试并报告其好坏。一个好的芯片总能够正确的报告另一片的好坏,但一个坏的芯片的结果就是不可靠的。这样,每次的测试的四种可能结果如下:

A芯片报告       B芯片报告                结论 
-------------------------------------------------------- 
B是好的          A是好的            都是好的,或都是坏的 
B是好的          A是坏的            至少一片是坏的 
B是坏的          A是好的            至少一片是坏的 
B是坏的          A是坏的            至少一片是坏的 

a)证明若不少于 n/2 的芯片是坏的,在这种成对测试方式下,使用任何策略都不能确定哪个芯片是好的。
b)假设有多于 n/2 的芯片是好的,考虑从 n 片中找出一片好芯片的问题。证明 n/2 对测试就足以使问题的规模降至近原来的一半。 
c)假设有多于 n/2 的芯片是好的,证明好的芯片可用 O(n) 对测试找出.给出并解答表达测试次数的递归式。

第一问证明如下:将芯片分为3组,(a)好的(b)数量和a组相同的坏的(c)剩下的坏的。若每组都坚持认为本组是好的而其它组的都是坏的,则a组和b组无法区分。

可以通过如下三种方法找出一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值