首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >给定一组VLSI芯片,我如何确定哪些是好的?

给定一组VLSI芯片,我如何确定哪些是好的?
EN

Software Engineering用户
提问于 2011-12-03 19:04:37
回答 4查看 1.7K关注 0票数 5

我有以下问题:

考虑到n芯片注:这些是VLSI芯片. (大多数芯片都是好芯片),我们需要找到一个好芯片。我们唯一可以应用的测试是在一对芯片上,如果这两种芯片都是好的还是两者都是坏的,它就会回答。第二部分是寻找一个好的芯片,如果一些测试可能产生一个错误的结果。而且,结果是系统的意思是,如果一对给错误的结果,它总是会给出错误的结果。

我已经用分而治之的方法解决了第一个问题,每次我把问题集减少到至少一半。这可以通过简单地每次对n/2不同的对执行测试,并保持那些回答是的对(即好的或坏的)。我无法解决问题的第二部分。

一个错误的结果意味着,即使两个芯片是好的或坏的,测试可能回答不。还请注意,错误测试的百分比非常低。

我该如何解决这个问题呢?

EN

回答 4

Software Engineering用户

回答已采纳

发布于 2011-12-03 21:10:04

我认为这是一个集群问题:你有两个集群--好芯片和坏芯片。您的测试告诉您,两个芯片是否属于同一个集群--至少在我对您提出的问题进行交互时是这样。Woot4Moo在回答中提供的参考说明提出了一个与此不同的问题。

对于测试的第一部分,选择一个芯片,并测试每一个其他芯片对它。你会得到两组芯片--和第一个芯片相同的芯片和不同的芯片。好的芯片在更大的集群中,所以随机选择一个。

对于第二部分,使用n个芯片进行测试,这样每个芯片都有一个n位模式,说明它是否与n个测试芯片位于同一个集群中。期望看到的主要有两种模式,一种是相反的。您可以像以前一样将芯片分成两个集群,并希望更大的集群是由好的芯片组成的。

票数 2
EN

Software Engineering用户

发布于 2011-12-03 20:38:53

为了找出错误的结果,我会将每个芯片与多个其他芯片进行比较。如果芯片1和2给出了错误的结果,那么在这四种比较中比较1到3、4、5和6的可能性也会大大降低。因为你知道错误结果的百分比,所以很可能做一些数学运算来计算你需要做多少比较才能完全消除错误的结果,或者至少把它降低到一个可接受的比率。在现实世界中,你肯定会想要这样做,然后是一些--也许是平衡每个比较的成本,使用/运送坏芯片的成本,以及不必要地抛出好芯片。

当你比较好与坏(好的测试和错误的结果)时,你也没有清楚地说出会发生什么。坏与坏的结果会是肯定的,不是吗?确保你涵盖了所有场景。

票数 2
EN

Software Engineering用户

发布于 2011-12-03 19:42:10

对于第一个问题,我不认为分而治之是最好的方法。你只想在单子上走一遍,直到找到一双好的。在这方面,一种解释可能会有所帮助:

代码语言:javascript
运行
复制
Starting size = 100  
First split = 50/50  
Second split = 25,25 / 25,25  
Third split = 12,13,12,13/ 12,13,12,13  
Fourth split = 6,6,6,7,6,6,6,7/ 6,6,6,7,6,6,6,7
Fifth split = 3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4/3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4  
etc.    

然后我们开始研究每一对,直到我们找到一个好的。这比仅仅为一双好的一对走一张单子要低得多。

就第二个问题而言,这是一个普遍的制造问题,因此解决这个问题并不像人们想象的那样直接。之所以很难,是因为它意味着测试程序天生就不正确。这就是为什么当你买一台新的笔记本电脑时,它可以通过系统测试,当你把它带回家并打开它时,它就不能工作了。在现实世界中,这个问题还没有一个实际的答案,所以解决这个问题会让你变得富有(本质上)。下一页提供了对芯片问题的一些分析:筹码

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/123141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档