UA MATH ECE636 信息论10 Group Testing简介

Group Testing是一种用于检测少量异常元素的策略,应用于工程、医学和统计等领域。本文介绍了Dworfman算法、Binary Search及其优化版Generalized Binary Search。在d远小于N的情况下,Binary Search通常需要较少的检测次数。同时,文章讨论了Group Testing的下界,证明了最优算法的检测次数至少为dlog2dN。
摘要由CSDN通过智能技术生成

UA MATH ECE636 信息论10 Group Testing简介

Group testing在工程、医学、统计等领域都有广泛的应用。一个group testing的比较直观的例子:假设有 N N N个串联的灯泡,其中有 d d d个烧掉了,所以整串灯泡都不亮了。现在想把这 d d d个灯泡检测出来,如果每个灯泡都检查的话就需要检测 N N N个,而group testing想要回答的问题是最少需要检测几个灯泡才能把这 d d d个烧掉的检测出来?

Group Testing

假设 X 1 , ⋯   , X N X_1,\cdots,X_N X1,,XN是一组随机样本, X 1 , ⋯   , X N ∼ i i d B e r ( p ) , p < < 1 X_1,\cdots,X_N \sim_{iid} Ber(p),p<<1 X1,,XNiidBer(p),p<<1。记
d = ∑ i = 1 N X i d = \sum_{i=1}^N X_i d=i=1NXi
d d d表示所有取值为1的样本数(假设 d d d已知),记 T T T表示需要做的检测的数量。对应上面的例子,这 N N N个样本就是 N N N个串联的灯泡, d d d就是烧掉的灯泡的数量,一次检测可以就是用电压表测一下每个灯泡两端的电压, T T T就是需要检测的灯泡的数量,显然 T ≤ N T \le N TN。考虑到 p < < 1 p << 1 p<<1,也就是烧掉的灯泡数量很少,我们比较容易想到的是pooling的思想,也就是检测多个灯泡两端的电压,如果是220V就说明其中有烧掉的,如果明显小于220V说明没问题。

用pooling的思想做Group testing的方法分为两大类,adaptive group testing和non-adaptive group testing。Adaptive group testing(AGT)的做法是序贯地对样本的子集做检测。。因为AGT的序贯性,它的速度是比较慢的,所以样本数目比较大的时候一般不用这个。Non-adaptive group testing(NAGT)的做法是并行地对样本的子集做检测,所以速度较快,大样本时一般用这种操作。但相比AGT,NAGT需要的检测的数量更多。

AGT

Dworfman算法

这个算法是1943年就提出来了的,比较古老的一种算法。它的思想是把 N N N个样本分成 N d \sqrt{Nd} Nd 组,每一组有 N / d \sqrt{N/d} N/d

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值