Групповое тестирование

редактировать
Процедура, которая разбивает задачу идентификации определенных объектов на тесты по группам элементов.

Иллюстрация проблемы с лампочкой, где среди шести лампочек ищут сломанную лампочку. Здесь первые три подключены к источнику питания, и они загораются (A). Это означает, что сломанная лампа должна быть одной из трех последних (B). Если бы вместо этого лампочки не загорелись, можно было быть уверенным, что сломанная лампочка была среди первых трех. Продолжая эту процедуру, можно найти сломанную лампу не более чем в трех тестах, по сравнению с максимум шестью тестами, если лампы проверяются индивидуально.

В статистике и комбинаторной математике, групповое тестирование - это любая процедура, которая разбивает задачу идентификации определенных объектов на тесты по группам элементов, а не по отдельным. Групповое тестирование, впервые изученное Робертом Дорфманом в 1943 году, представляет собой относительно новую область прикладной математики, которая может применяться к широкому кругу практических приложений и является активной областью исследований сегодня.

Знакомый пример группового тестирования включает последовательность лампочек, соединенных последовательно, причем известно, что одна из ламп сломана. Цель состоит в том, чтобы найти сломанную лампочку с помощью наименьшего количества тестов (где тест - это когда некоторые из лампочек подключены к источнику питания). Простой подход - проверить каждую лампочку индивидуально. Однако при большом количестве луковиц гораздо эффективнее объединять луковицы в группы. Например, подключив первую половину ламп сразу, можно определить, в какой половине разбитая лампочка, исключив половину ламп всего за один тест.

Схемы для проведения группового тестирования могут быть простыми или сложными, и тесты, задействованные на каждом этапе, могут быть разными. Схемы, в которых тесты для следующего этапа зависят от результатов предыдущих этапов, называются адаптивными процедурами, а схемы, разработанные так, чтобы все тесты были известны заранее, называются неадаптивными процедурами. Структура схемы тестов, задействованных в неадаптивной процедуре, известна как план объединения.

Групповое тестирование имеет множество приложений, включая статистику, биологию, информатику, медицину, инженерию и кибербезопасность. Современный интерес к этим схемам тестирования возродился благодаря проекту Human Genome Project.

Содержание
  • 1 Базовое описание и термины
    • 1.1 Классификация задач группового тестирования
    • 1.2 Варианты и расширения
  • 2 История и развитие
    • 2.1 Изобретение и начальный прогресс
    • 2.2 Комбинаторное групповое тестирование
    • 2.3 Неадаптивное и вероятностное тестирование
  • 3 Формализация комбинаторного группового тестирования
    • 3.1 Общие границы
      • 3.1.1 Информация нижняя граница
    • 3.2 Представление неадаптивных алгоритмов
    • 3.3 Границы для неадаптивных алгоритмов
  • 4 Обобщенный алгоритм двоичного расщепления
  • 5 Неадаптивные алгоритмы
    • 5.1 Комбинаторное поисковое ортогональное сопоставление (COMP)
    • 5.2 Определенные дефекты (DD)
    • 5.3 Последовательный COMP (SCOMP)
  • 6 Примеры приложений
    • 6.1 Каналы множественного доступа
    • 6.2 Машинное обучение и сжатое зондирование
    • 6.3 Дизайн мультиплексного анализа для тестирования COVID19
    • 6.4 Криминалистика данных
  • 7 Примечания
  • 8 Ссылки
    • 8.1 Цитаты
    • 8.2 Общие ссылки
  • 9 См. Также
Основное описание и термины

В отличие от многих областей математики происхождение группового тестирования можно проследить до одного отчета, написанного одним человеком: Роберт Дорфман. Мотивация возникла во время Второй мировой войны, когда Служба общественного здравоохранения США и Служба выборочного контроля приступили к крупномасштабному проекту по отсеиванию всех сифилитических мужчин. вызвали на индукцию. Тестирование человека на сифилис включает взятие у него образца крови, а затем анализ этого образца для определения наличия или отсутствия сифилиса. В то время выполнение этого теста было дорогостоящим, а тестирование каждого солдата по отдельности было бы очень дорогим и неэффективным.

Предположим, что есть n {\ displaystyle n}n солдат, это метод тестирования приводит к n {\ displaystyle n}n отдельным тестам. Если большая часть людей инфицирована, этот метод будет разумным. Однако в более вероятном случае, когда инфицирована лишь очень небольшая часть мужчин, может быть реализована гораздо более эффективная схема тестирования. Возможность создания более эффективной схемы тестирования зависит от следующего свойства: солдат можно объединять в группы, и в каждой группе образцы крови можно объединять. Затем объединенный образец можно проверить, чтобы проверить, есть ли по крайней мере один солдат в группе сифилисом. Это центральная идея группового тестирования. Если один или несколько солдат в этой группе болеют сифилисом, то тест считается бесполезным (необходимо провести дополнительные тесты, чтобы определить, какой это солдат (-а)). С другой стороны, если ни у кого в пуле нет сифилиса, то многие тесты сохраняются, так как каждый солдат в этой группе может быть уничтожен только одним тестом.

Пункты, которые вызывают положительный результат теста в группе, обычно являются называются бракованными предметами (это сломанные лампочки, сифилитики и т. д.). Часто общее количество элементов обозначается как n {\ displaystyle n}n , а d {\ displaystyle d}d представляет количество дефектов, если это предполагается. быть известным.

Классификация задач группового тестирования

Есть две независимые классификации проблем группового тестирования; каждая проблема группового тестирования является либо адаптивной, либо неадаптивной, либо вероятностной, либо комбинаторной.

В вероятностных моделях предполагается, что дефектные элементы подчиняются некоторому распределению вероятностей, и цель состоит в том, чтобы свести к минимуму ожидаемое количество тестов, необходимых для выявления дефектности каждого элемента. С другой стороны, при комбинаторном групповом тестировании цель состоит в том, чтобы минимизировать количество тестов, необходимых в «наихудшем сценарии», то есть создать алгоритм minmax, и не знать распределения предполагается наличие дефектов.

Другая классификация, адаптивность, касается того, какую информацию можно использовать при выборе элементов для группировки в тест. Как правило, выбор элементов для тестирования может зависеть от результатов предыдущих тестов, как в случае с лампочкой выше. Алгоритм , который продолжает выполнение теста, а затем использует результат (и все прошлые результаты), чтобы решить, какой следующий тест выполнить, называется адаптивным. И наоборот, в неадаптивных алгоритмах все тесты решаются заранее. Эту идею можно обобщить на многоступенчатые алгоритмы, где тесты разделены на этапы, и каждый тест на следующем этапе должен быть решен заранее, только с учетом результатов тестов на предыдущих этапах. Хотя адаптивные алгоритмы предлагают гораздо больше свободы в разработке, известно, что алгоритмы адаптивного группового тестирования не улучшают неадаптивные алгоритмы более чем на постоянный коэффициент в количестве тестов, необходимых для выявления набора дефектных элементов. В дополнение к этому неадаптивные методы часто полезны на практике, потому что можно продолжить последовательные тесты без предварительного анализа результатов всех предыдущих тестов, что позволяет эффективно распределить процесс тестирования.

Варианты и расширения

Есть много способов расширить проблему группового тестирования. Одно из наиболее важных - это групповое тестирование с шумом, и оно связано с большим предположением об исходной проблеме: это тестирование безошибочно. Проблема группового тестирования называется зашумленной, если есть некоторая вероятность того, что результат группового теста будет ошибочным (например, будет положительным, если тест не содержит дефектов). Модель шума Бернулли предполагает, что эта вероятность является некоторой константой, q {\ displaystyle q}q , но в целом она может зависеть от истинного количества дефектов в тесте и количества тестируемых элементов. Например, эффект разбавления можно смоделировать, сказав, что положительный результат более вероятен, когда в тесте присутствует больше дефектов (или больше дефектов в виде доли от числа протестированных). Шумный алгоритм всегда будет иметь ненулевую вероятность ошибки (то есть неправильной маркировки элемента).

Групповое тестирование можно расширить, рассматривая сценарии, в которых существует более двух возможных результатов теста. Например, тест может иметь результаты 0, 1 {\ displaystyle 0,1}{\ displaystyle 0,1} и 2 + {\ displaystyle 2 ^ {+}}{\ displaystyle 2 ^ {+}} , соответствует отсутствию дефектов, единственному дефекту или неизвестному количеству дефектов больше единицы. В более общем плане можно считать, что набор результатов теста равен 0, 1,…, k + {\ displaystyle {0,1, \ ldots, k ^ {+}}}{\ displaystyle {0,1, \ ldots, k ^ {+}}} для некоторого k ∈ N {\ displaystyle k \ in \ mathbb {N}}k \ in \ mathbb {N} .

Другое расширение - рассмотрение геометрических ограничений на то, какие наборы могут быть проверены. Вышеупомянутая проблема с лампочкой является примером такого ограничения: только лампочки, которые появляются последовательно, могут быть проверены. Аналогичным образом элементы могут быть расположены по кругу или, в общем, в виде сети, где тесты представляют собой доступные пути на графе. Другой вид геометрического ограничения - это максимальное количество элементов, которые могут быть протестированы в группе, или размеры групп могут быть одинаковыми и так далее. Подобным образом может быть полезно рассмотреть ограничение, согласно которому любой заданный элемент может появляться только в определенном количестве тестов.

Есть бесконечные способы продолжить переделывать базовую формулу группового тестирования. Следующие уточнения дадут представление о некоторых из наиболее экзотических вариантов. В модели «хорошо – посредственно – плохо» каждый элемент является одним из «хорошо», «посредственно» или «плохо», а результат теста является типом «худшего» элемента в группе. При пороговом групповом тестировании результат теста положительный, если количество дефектных элементов в группе превышает некоторое пороговое значение или пропорцию. Групповое тестирование с ингибиторами - это вариант с приложениями в молекулярной биологии. Здесь есть третий класс элементов, называемых ингибиторами, и результат теста положительный, если он содержит хотя бы один дефект и не содержит ингибиторов.

История и развитие

Изобретение и начальный прогресс

Концепция группового тестирования была впервые представлена ​​Робертом Дорфманом в 1943 году в коротком отчете, опубликованном в разделе «Примечания» журнала Annals of Mathematical Statistics. Отчет Дорфмана - как и все ранние работы по групповому тестированию - был сосредоточен на вероятностной проблеме и был направлен на использование новой идеи группового тестирования, чтобы сократить ожидаемое количество тестов, необходимых для отсеивания всех сифилитических мужчин в данном пуле солдат. Метод был прост: разделите солдат на группы заданного размера и используйте индивидуальное тестирование (тестирование предметов в группах первого размера) на положительных группах, чтобы определить, какие из них были инфицированы. Дорфман свел в таблицу оптимальные размеры групп для этой стратегии с учетом уровня распространенности дефективности в популяции.

После 1943 года групповое тестирование оставалось в основном неизменным в течение ряда лет. Затем в 1957 году Стерретт улучшил процедуру Дорфмана. Этот новый процесс начинается с повторного индивидуального тестирования положительных групп, но останавливается, как только обнаруживается дефект. Затем остальные элементы в группе проверяются вместе, поскольку очень вероятно, что ни один из них не является дефектным.

Первое тщательное рассмотрение группового тестирования было дано Собелом и Гроллом в их формирующей статье 1959 года по этому вопросу. Они описали пять новых процедур - в дополнение к обобщениям для случаев, когда уровень распространенности неизвестен - и для наиболее оптимальной из них они предоставили явную формулу для ожидаемого количества тестов, которые она будет использовать. В статье также впервые была установлена ​​связь между групповым тестированием и теорией информации, а также обсуждены некоторые обобщения проблемы группового тестирования и представлены некоторые новые приложения теории.

Комбинаторное групповое тестирование

Групповое тестирование было впервые изучено в комбинаторном контексте Ли в 1962 году с введением Ли s {\ displaystyle s}s - этапный алгоритм. Ли предложил расширить «двухэтапный алгоритм» Дорфмана на произвольное количество этапов, для которых требуется не более t = e log 2 ⁡ (e) d log 2 ⁡ (n) {\ displaystyle t = {\ frac {e} {\ log _ {2} (e)}} d \ log _ {2} (n)}{\ displaystyle t = {\ frac { e} {\ log _ {2} (e)}} d \ log _ {2} (n)} тесты, чтобы гарантированно найти d {\ displaystyle d}d или меньше дефектов среди n {\ displaystyle n}n элементов. Идея заключалась в том, чтобы удалить все элементы из отрицательных тестов и разделить оставшиеся элементы на группы, как это было сделано с исходным пулом. Это должно было быть выполнено с - 1 {\ displaystyle s-1}{\ displaystyle s-1} раз перед выполнением индивидуального тестирования.

Комбинаторное групповое тестирование в целом было позже более полно изучено Катоной в 1973 году. Катона представила матричное представление неадаптивного группового тестирования и разработала процедуру для поиска дефектов в неадаптивных -адаптивный 1-дефектный случай не более чем t = ⌈ log 2 ⁡ (n) ⌉ {\ displaystyle t = \ lceil \ log _ {2} (n) \ rceil}{\ displaystyle t = \ lceil \ log _ {2} (n) \ rceil} тестов, что он также оказался оптимальным.

В общем, найти оптимальные алгоритмы для адаптивного комбинаторного группового тестирования сложно, и хотя вычислительная сложность группового тестирования не была определена, предполагается, что это сложно в каком-то классе сложности. Однако в 1972 году произошел важный прорыв с введением обобщенного алгоритма двоичного расщепления. Обобщенный алгоритм двоичного разделения работает, выполняя двоичный поиск в группах с положительным результатом теста, и представляет собой простой алгоритм, который находит один дефект не более чем в нижней границе информации количество тестов.

В сценариях, где есть два или более дефекта, обобщенный алгоритм двоичного разделения по-прежнему дает почти оптимальные результаты, требуя не более d - 1 {\ displaystyle d-1}d-1 проверяет над нижней границей информации, где d {\ displaystyle d}d - количество дефектов. Существенные улучшения были внесены в 2013 г. Аллеманом: требуемое количество тестов составило менее 0,187 d + 0,5 log 2 ⁡ (d) + 5,5 {\ displaystyle 0,187d + 0,5 \ log _ {2} (d) +5,5}{\ displaystyle 0.187d + 0.5 \ log _ {2} (d) +5.5} над нижней границей информации, когда n / d ≥ 38 {\ displaystyle n / d \ geq 38}{\ displaystyle n / d \ geq 38} и d ≥ 10 {\ displaystyle d \ geq 10}{\ displaystyle d \ geq 10} . Это было достигнуто путем изменения двоичного поиска в алгоритме двоичного разбиения на сложный набор подалгоритмов с перекрывающимися тестовыми группами. Таким образом, проблема адаптивного комбинаторного группового тестирования - с известным числом или верхней границей количества дефектов - по существу решена, и есть мало возможностей для дальнейшего улучшения.

Остается открытым вопрос, когда индивидуальное тестирование составляет minmax. Ху, Хван и Ван показали в 1981 году, что индивидуальное тестирование минимально, когда n ≤ ⌊ (5 d + 1) / 2 ⌋ {\ displaystyle n \ leq \ lfloor (5d + 1) / 2 \ rfloor}{\ displaystyle n \ leq \ lfloor (5d + 1) / 2 \ rfloor} , и что это не minmax, когда n>3 d {\ displaystyle n>3d}{\displaystyle n>3d} . В настоящее время предполагается, что эта граница является точной: то есть индивидуальное тестирование минимально, если и только если n ≤ 3 d {\ displaystyle n \ leq 3d}{\ displaystyle n \ leq 3d} . Некоторый прогресс был достигнут в 2000 году Риччио и Колборном, которые показали, что для больших n {\ displaystyle n}n , индивидуальное тестирование минимально, когда d ≥ n / log 3/2 ⁡ (3) ≈ 0,369 n {\ displaystyle d \ geq n / \ log _ {3/2} (3) \ приблизительно 0,369n}{\ displaystyle d \ geq n / \ log _ {3/2} (3) \ приблизительно 0,369n} .

Неадаптивное и вероятностное тестирование

Одним из ключевых выводов неадаптивного группового тестирования является то, что значительный выигрыш может быть получен путем устранения требования о том, что процедура группового тестирования b Он наверняка увенчается успехом («комбинаторная» проблема), но скорее позволит ему иметь некоторую низкую, но ненулевую вероятность неправильной маркировки каждого элемента («вероятностная» проблема). Известно, что по мере того, как количество дефектных элементов приближается к общему количеству элементов, точные комбинаторные решения требуют значительно большего количества тестов, чем вероятностные решения - даже вероятностные решения допускают только асимптотически малую вероятность ошибки.

В этом ключе Chan et al. (2011) представили COMP, вероятностный алгоритм, который требует не более t = ed (1 + δ) ln ⁡ (n) {\ displaystyle t = ed (1+ \ delta) \ ln (n)}{\ displaystyle t = ed (1+ \ delta) \ ln (n)} тесты, чтобы найти до d {\ displaystyle d}d дефектов в n {\ displaystyle n}n элементах с вероятность ошибки не более n - δ {\ displaystyle n ^ {- \ delta}}{\ displaystyle n ^ {- \ delta}} . Это находится в пределах постоянного множителя t = O (d log 2 ⁡ n) {\ displaystyle t = O (d \ log _ {2} n)}{\ displaystyle t = O (d \ log _ {2} n)} нижней границы.

Чан и др. (2011) также представили обобщение COMP до простой шумной модели и аналогичным образом получили явную границу производительности, которая снова была только константой (зависящей от вероятности неудачного теста) выше соответствующей нижней границы. В общем, количество тестов, требуемых в случае шума Бернулли, на постоянный коэффициент больше, чем в случае отсутствия шума.

Олдридж, Балдассини и Джонсон (2014) разработали расширение алгоритма COMP, которое добавило дополнительные пост- этапы обработки. Они показали, что производительность этого нового алгоритма, названного DD, строго превосходит производительность COMP, и что DD является «по существу оптимальным» в сценариях, где d 2 ≥ n {\ displaystyle d ^ {2 } \ geq n}{\ displaystyle d ^ {2} \ geq n} , сравнивая его с гипотетическим алгоритмом, определяющим разумный оптимум. Производительность этого гипотетического алгоритма предполагает, что есть возможности для улучшения, когда d 2 < n {\displaystyle d^{2}{\ displaystyle d ^ {2} <n} , а также предполагает, насколько это может быть улучшением.

Формализация комбинаторного группового тестирования

В этом разделе формально определены понятия и термины, относящиеся к групповому тестированию.

  • Входной вектор, x = (x 1, x 2,…, xn) {\ displaystyle \ mathbf {x} = (x_ {1}, x_ {2}, \ dots, x_ {n}))}{\ displaystyle \ mathbf {x} = (x_ {1}, x_ {2}, \ dots, x_ {n})} , определяется как двоичный вектор длины n {\ displaystyle n}n (то есть x ∈ {0, 1} n {\ displaystyle \ mathbf {x} \ in \ {0,1 \} ^ {n}}{\ mathbf {x}} \ in \ {0,1 \ } ^ {n} ), причем j-й элемент называется дефектным тогда и только тогда, когда xj = 1 {\ displaystyle x_ {j} = 1}{\ displaystyle x_ {j} = 1} . Кроме того, любой исправный элемент называется «хорошим».

x {\ displaystyle \ mathbf {x}}\ mathbf {x} предназначен для описания (неизвестного) набора дефектных элементов. Ключевым свойством x {\ displaystyle \ mathbf {x}}\ mathbf {x} является то, что это неявный ввод. Другими словами, нет прямого знания о том, что представляют собой записи x {\ displaystyle \ mathbf {x}}\ mathbf {x} , кроме тех, которые могут быть выведены с помощью некоторой серии «тестов». Это приводит к следующему определению.

  • Пусть x {\ displaystyle \ mathbf {x}}\ mathbf {x} будет входным вектором. Набор, S ⊆ {1, 2,…, n} {\ displaystyle S \ substeq \ {1,2, \ dots, n \}}{\ displaystyle S \ substeq \ {1,2, \ dots, n \}} называется тестом. При бесшумном тестировании результат теста положительный, если существует j ∈ S {\ displaystyle j \ in S}{\ displaystyle j \ in S} такое, что xj = 1 {\ displaystyle x_ {j} = 1}{\ displaystyle x_ {j} = 1} , в противном случае результат будет отрицательным.

Таким образом, цель группового тестирования состоит в том, чтобы найти метод выбора «короткой» серии тестов, допускающих x { \ displaystyle \ mathbf {x}}\ mathbf {x} подлежит определению точно или с высокой степенью уверенности.

  • Считается, что алгоритм группового тестирования делает ошибку, если он неправильно маркирует элемент (то есть маркирует любой дефектный элемент как недефектный или наоборот). Это не то же самое, что результат неправильного группового теста. Алгоритм называется нулевой ошибкой, если вероятность того, что он делает ошибку, равна нулю.
  • t (d, n) {\ displaystyle t (d, n)}{\ displaystyle t (d, n)} обозначает минимальное количество необходимых тестов. всегда находить d {\ displaystyle d}d дефектных элементов среди n {\ displaystyle n}n элементов с нулевой вероятностью ошибки с помощью любого алгоритма группового тестирования. Для того же количества, но с ограничением, что алгоритм является неадаптивным, обозначение t ¯ (d, n) {\ displaystyle {\ bar {t}} (d, n)}{\ displaystyle {\ bar {t}} (d, n)}

Общие границы

Поскольку всегда можно прибегнуть к индивидуальному тестированию, установив S j = {j} {\ displaystyle S_ {j} = \ {j \}}{\ displaystyle S_ {j} = \ {j \}} для каждого 1 ≤ j ≤ n {\ displaystyle 1 \ leq j \ leq n}1 \ leq j \ leq n должно быть так, что t ¯ (d, n) ≤ n {\ displaystyle {\ bar {t}} (d, n) \ leq n}{\ displaystyle {\ b ar {t}} (d, n) \ leq n} . Кроме того, поскольку любая процедура неадаптивного тестирования может быть записана как адаптивный алгоритм, просто выполняя все тесты без учета их результата, t (d, n) ≤ t ¯ (d, n) {\ displaystyle t ( d, n) \ leq {\ bar {t}} (d, n)}{\ displaystyle t (d, n) \ leq {\ bar {t}} (d, n)} . Наконец, когда 0 ≠ d ≠ n {\ displaystyle 0 \ neq d \ neq n}{\ displaystyle 0 \ neq d \ neq n} , есть по крайней мере один элемент, дефектность которого должна быть определена (по крайней мере, одним тестом), и поэтому 1 ≤ T (d, n) {\ displaystyle 1 \ leq t (d, n)}{\ displaystyle 1 \ leq t (d, n)} .

В итоге (если принять 0 ≠ d ≠ n {\ displaystyle 0 \ neq d \ neq n }{\ displaystyle 0 \ neq d \ neq n} ), 1 ≤ t (d, n) ≤ t ¯ (d, n) ≤ n {\ displaystyle 1 \ leq t (d, n) \ leq {\ bar {t} } (d, n) \ leq n}{\ displaystyle 1 \ leq t (d, n) \ leq {\ bar {t}} (d, п) \ leq n} .

Нижняя граница информации

Нижняя граница количества необходимых тестов может быть описана с использованием понятия пространства выборки, обозначенного S {\ displaystyle { \ mathcal {S}}}{\ mathcal {S }} , который представляет собой просто набор возможных размещений дефектных элементов. Для любой задачи группового тестирования с пространством выборок S {\ displaystyle {\ mathcal {S}}}{\ mathcal {S }} и любого алгоритма группового тестирования можно показать, что t ≥ ⌈ log 2 ⁡ | S | ⌉ {\ displaystyle t \ geq \ lceil \ log _ {2} {| {\ mathcal {S}} |} \ rceil}{\ displaystyle t \ geq \ lceil \ log _ {2} {| {\ mathcal {S}} |} \ rceil} , где t {\ displaystyle t}t - минимальное количество тестов, необходимых для выявления всех дефектов с нулевой вероятностью ошибки. Это называется нижней границей информации. Эта оценка выводится из того факта, что после каждого теста S {\ displaystyle {\ mathcal {S}}}{\ mathcal {S }} разбивается на два непересекающихся подмножества, каждое из которых соответствует одному из двух возможных результатов тест.

Однако сама по себе нижняя граница информации обычно недостижима даже для небольших задач. Это связано с тем, что разделение S {\ displaystyle {\ mathcal {S}}}{\ mathcal {S }} не является произвольным, поскольку оно должно быть осуществимо с помощью некоторого теста.

Фактически, нижняя граница информации может быть обобщена на случай, когда существует ненулевая вероятность того, что алгоритм совершит ошибку. В этой форме теорема дает нам верхнюю границу вероятности успеха, основанную на количестве тестов. Для любого алгоритма группового тестирования, который выполняет t {\ displaystyle t}t тесты, вероятность успеха P (успех) {\ displaystyle \ mathbb {P} ({\ textrm { успех}})}{\ displaystyle \ mathbb {P} ({\ textrm {success}})} , удовлетворяет P (успех) ≤ t / log 2 ⁡ (nd) {\ displaystyle \ mathbb {P} ({\ textrm {success}}) \ leq t / \ log _ {2} {n \ choose d}}{\ displaystyle \ mathbb {P} ({\ textrm {success}}) \ leq t / \ log _ {2} {n \ choose d}} . Это может быть усилено до: P (успех) ≤ 2 t (nd) {\ displaystyle \ mathbb {P} ({\ textrm {success}}) \ leq {\ frac {2 ^ {t}} {n \ choose d}}}{\ displaystyle \ mathbb {P} ({\ textrm {success}}) \ leq {\ frac {2 ^ {t}} {n \ choose d} }} .

Представление неадаптивных алгоритмов

Схема, показывающая матрицу группового тестирования вместе с соответствующими векторами, x и y. Типичная установка для группового тестирования. Неадаптивный алгоритм сначала выбирает матрицу M {\ displaystyle M}M, а затем получает вектор y . Тогда задача состоит в том, чтобы найти оценку для x.

. Алгоритмы для неадаптивного группового тестирования состоят из двух отдельных фаз. Во-первых, решается, сколько тестов выполнить и какие элементы включить в каждый тест. На втором этапе, который часто называют этапом декодирования, результаты каждого группового теста анализируются, чтобы определить, какие элементы могут быть дефектными. Первый этап обычно кодируется в матрице следующим образом.

  • Предположим, что процедура неадаптивного группового тестирования для n {\ displaystyle n}n элементов состоит из тестов S 1, S 2,…, S t {\ displaystyle S_ {1}, S_ {2}, \ dots, S_ {t}}{\ displaystyle S_ {1}, S_ {2}, \ точек, S_ {t}} для некоторых t ∈ N ≥ 0 {\ displaystyle t \ in \ mathbb {N} _ {\ geq 0}}{\ displaystyle t \ in \ mathbb {N} _ {\ geq 0}} . Матрица тестирования для этой схемы - это двоичная матрица t × n {\ displaystyle t \ times n}t \ раз п , M {\ displaystyle M}M, где (M) ij = 1 {\ displaystyle (M) _ {ij} = 1}{\ displaystyle (M) _ {ij} = 1} тогда и только тогда, когда j ∈ S i {\ displaystyle j \ in S_ {i}}{\ displaystyle j \ in S_ {i}} (в противном случае - ноль).

Таким образом, каждый столбец M {\ displaystyle M}Mпредставляет элемент, а каждая строка представляет тест с 1 { \ displaystyle 1}1 в записи (i, j) -th {\ displaystyle (i, j) {\ textrm {-th}}}{\ displaystyle (i, j) { \ textrm {-th}}} , указывающей, что i -й {\ displaystyle i {\ textrm {-th}}}{\ displaystyle i {\ textrm {-th}}} тест включал j -th {\ displaystyle j {\ textrm {-th}}}{\ displaystyle j {\ textrm {-th}}} и 0 {\ displaystyle 0}{\ displaystyle 0} , указывающее на обратное.

А также вектор x {\ displaystyle \ mathbf {x}}\ mathbf {x} (длины n {\ displaystyle n}n ), который описывает неизвестный дефектный набор, обычно вводят вектор результатов, который описывает результаты каждого теста.

  • Пусть t {\ displaystyle t}t будет количеством тестов, выполненных неадаптивным алгоритмом. Вектор результата, y = (y 1, y 2,…, yt) {\ displaystyle \ mathbf {y} = (y_ {1}, y_ {2}, \ dots, y_ {t})}{\ displaystyle \ mathbf {y} = (y_ {1}, y_ {2}, \ dots, y_ {t})} , является двоичным вектором длины t {\ displaystyle t}t (то есть y ∈ {0, 1} t {\ displaystyle \ mathbf {y} \ in \ {0,1 \} ^ {t}}{\ displaystyle \ mathbf {y} \ in \ {0,1 \} ^ {t}} ) так, что yi = 1 {\ displaystyle y_ {i} = 1}{\ displaystyle y_ {i} = 1} тогда и только тогда, когда результат теста i -th {\ displaystyle i {\ textrm {-th}}}{\ displaystyle i {\ textrm {-th}}} был положительным (т. е. содержал по крайней мере один дефект).

С этими определениями не- адаптивную задачу можно переформулировать следующим образом: сначала выбирается тестовая матрица M {\ displaystyle M}M, затем вектор y {\ displaystyle \ mathbf {y}}\ mathbf {y} возвращается. Тогда задача состоит в том, чтобы проанализировать y {\ displaystyle \ mathbf {y}}\ mathbf {y} , чтобы найти некоторую оценку для x {\ displaystyle \ mathbf {x}}\ mathbf {x} .

в простейшем шумном в случае, когда существует постоянная вероятность, q {\ displaystyle q}q , что групповой тест даст ошибочный результат, рассматривается случайный двоичный вектор, v {\ displaystyle \ mathbf {v}}\ mathbf {v} , где каждая запись имеет вероятность q {\ displaystyle q}q быть 1 {\ displaystyle 1}1 , иначе - 0 {\ displaystyle 0}{\ displaystyle 0} . Тогда возвращается вектор y ^ = y + v {\ displaystyle {\ hat {\ mathbf {y}}} = \ mathbf {y} + \ mathbf {v}}{\ displaystyle {\ hat {\ mathbf {y}}} = \ mathbf {y} + \ mathbf {v}} , с обычным сложением (Z / 2 Z) n {\ displaystyle (\ mathbb {Z} / 2 \ mathbb {Z}) ^ {n}}{\ displaystyle (\ mathbb {Z} / 2 \ mathbb {Z}) ^ {n}} (эквивалентно это элемент- разумная операция XOR ). Шумный алгоритм должен оценивать x {\ displaystyle \ mathbf {x}}\ mathbf {x} с использованием y ^ {\ displaystyle {\ hat {\ mathbf {y}}}}{\ hat {\ mathbf {y}}} (то есть без прямого знания y {\ displaystyle \ mathbf {y}}\ mathbf {y} ).

Границы для неадаптивных алгоритмов

Матричное представление позволяет доказать некоторые границы для не- адаптивное групповое тестирование. Этот подход отражает подход многих детерминированных планов, где рассматриваются d {\ displaystyle d}d -разделимые матрицы, как определено ниже.

  • Двоичная матрица, M {\ displaystyle M}M, называется d {\ displaystyle d}d -разделимостью, если каждая логическая сумма (логическое ИЛИ) любого d {\ displaystyle d}d его столбцов различны. Кроме того, запись d ¯ {\ displaystyle {\ bar {d}}}{\ displaystyle {\ bar {d}}} -separable указывает, что каждая сумма любого из до столбцы d {\ displaystyle d}d из M {\ displaystyle M}Mотличаются (это не то же самое, что M {\ displaystyleM}Mбыть k {\ displaystyle k}k -разделимым для каждого k ≤ d {\ displaystyle k \ leq d}{\ displaystyle k \ leq d} .)

Когда M {\ displaystyle M}M- матрица тестирования, свойство быть d {\ displaystyle d}d -разделимостью (d ¯ {\ displaystyle {\ bar { d}}}{\ displaystyle {\ bar {d}}} -separable) эквивалентно способности различать (до) d {\ displaystyle d}d дефектные. Однако это не гарантирует, что это будет просто. Более сильное свойство, называемое d {\ displaystyle d}d -disjunctness, делает.

  • Двоичная матрица M {\ displaystyle M}Mназывается d {\ displaystyle d}d -разъединением, если логическая сумма любого Столбцы d {\ displaystyle d}d не содержат других столбцов. (В этом контексте говорят, что столбец A содержит столбец B, если для каждого индекса, где B имеет 1, A также имеет 1.)

Полезное свойство d {\ displaystyle d} <333 Матрицы тестирования>d -разъединения заключаются в том, что при количестве до d {\ displaystyle d}d дефектных элементов каждый исправный элемент будет присутствовать по крайней мере в одном тесте с отрицательным результатом. Это означает, что существует простая процедура поиска дефектов: просто удалите все элементы, обнаруженные при отрицательном результате теста.

Используя свойства матриц d {\ displaystyle d}d -separable и d {\ displaystyle d}d -disjunct, могут быть показано для задачи выявления d {\ displaystyle d}d дефектов среди n {\ displaystyle n}n всего элементов.

  1. Количество тестов, необходимых для асимптотически малая средняя вероятность ошибки масштабируется как O (d log 2 ⁡ n) {\ displaystyle O (d \ log _ {2} n)}{\ displaystyle O (d \ log _ {2} n)} .
  2. Количество тестов, необходимых для асимптотически малой максимальной вероятности ошибка масштабируется как O (d 2 log 2 ⁡ n) {\ displaystyle O (d ^ {2} \ log _ {2} n)}{\ displaystyle O (d ^ {2} \ log _ {2} n)} .
  3. Количество тестов, необходимых для нулевой вероятности ошибки, масштабируется как O (d 2 log 2 ⁡ n log 2 ⁡ d) {\ displaystyle O \ left ({\ frac {d ^ {2} \ log _ {2} n} {\ log _ {2} d}}) \ right)}{\ displaystyle O \ left ({\ frac {d ^ {2} \ log _ {2} n} {\ log _ {2} d}} \ right)} .
Обобщенный алгоритм двоичного разбиения
Иллюстрация обобщенного алгоритма двоичного разбиения, где имеется 8 дефектных элементов и 135 элементов. Здесь 2 α 1 = 16 {\ displaystyle 2 ^ {\ alpha _ {1}} = 16}{\ displaystyle 2 ^ {\ alpha _ {1}} = 16} , и первый тест дает отрицательный результат, поэтому каждый элемент считается исправным. Следовательно, осталось 119 элементов, поэтому 2 α 2 = 8 {\ displaystyle 2 ^ {\ alpha _ {2}} = 8}{\ displaystyle 2 ^ {\ alpha _ {2}} = 8} . Эта вторая группа дает положительный результат, поэтому для поиска дефекта используется двоичный поиск. Как только это будет сделано, весь процесс повторяется, вычисляя новое α {\ displaystyle \ alpha}\ alpha , используя только те элементы, дефектность которых не была определена.

Обобщенный алгоритм двоичного разделения is an essentially-optimal adaptive group-testing algorithm that finds d {\displaystyle d}d or fewer defectives among n {\displaystyle n}n items as follows:

  1. If n ≤ 2 d − 2 {\displaystyle n\leq 2d-2}{\ displaystyle n \ leq 2d-2} , test the n {\displaystyle n}n items individually. Otherwise, set l = n − d + 1 {\displaystyle l=n-d+1}{\ displaystyle l = n-d + 1} and α = ⌊ log 2 ⁡ l / d ⌋ {\displaystyle \alpha =\lfloor \log _{2}{l/d}\rfloor }{\ displaystyle \ alpha = \ lfloor \ log _ {2} {l / d} \ rfloor} .
  2. Test a group of size 2 α {\displaystyle 2^{\alpha }}2 ^ {\ альфа} . If the outcome is negative, every item in the group is declared to be non-defective; set n := n − 2 α {\displaystyle n:=n-2^{\alpha }}{\ displaystyle n: = n-2 ^ {\ alpha}} and go to step 1. Otherwise, use a binary search to identify one defective and an unspecified number, called x {\displaystyle x}x , of non-defective items; set n := n − 1 − x {\displaystyle n:=n-1-x}{\ displaystyle n: = n-1-x} and d := d − 1 {\displaystyle d:=d-1}{\ displaystyle d: = d-1} . Go to step 1.

The generalised binary-splitting algorithm requires no more than T {\displaystyle T}T tests where T = { n n ≤ 2 d − 2 ( α + 2) d + p − 1 n ≥ 2 d − 1 {\displaystyle T={\begin{cases}nn\leq 2d-2\\(\alpha +2)d+p-1n\geq 2d-1\end{cases}}}{\ displaystyle T = {\ begin {case} n п \ Leq 2d-2 \\ (\ альфа +2) d + p-1 n \ geq 2d-1 \ конец {case}}} .

For n / d {\displaystyle n/d}{\ displaystyle n / d} large, it can be shown that T → d log 2 ⁡ ( n / d) {\displaystyle T\rightarrow d\log _{2}(n/d)}{\ displaystyle T \ rightarrow d \ log _ {2} (n / d)} , which compares favorably to the t = e log 2 ⁡ e d log 2 ⁡ ( n d) {\displaystyle t={\frac {e}{\log _{2}e}}d\log _{2}\left({\frac {n}{d}}\right)}{\ displaystyle t = {\ frac {e} {\ log _ {2} e}} d \ log _ {2} \ left ({\ frac {n } {d}} \ right)} tests required for Li's s {\displaystyle s}s -stage algorithm. In fact, the generalised binary-splitting algorithm is close to optimal in the following sense. When d ≥ 2 {\displaystyle d\geq 2}{\ displaystyle d \ geq 2} it can be shown that T − B I ( d, n) ≤ ( d − 1) {\displaystyle T-B_{I}(d,n)\leq (d-1)}{\ displaystyle T-B_ {I} (d, n) \ leq (d-1)} , where B I ( d, n) = ⌈ log 2 ⁡ ∑ i = 0 d ( n i) ⌉ {\displaystyle B_{I}(d,n)=\left\lceil \log _{2}\sum _{i=0}^{d}{n \choose i}\right\rceil }{ \ displaystyle B_ {I} (d, n) = \ left \ lceil \ log _ {2} \ sum _ {i = 0} ^ {d} {n \ choose i} \ right \ rceil} is the information lower bound.

Non-adaptive algorithms

Non-adaptive group-testing algorithms tend to assume that the number of defectives, or at least a good upper bound on them, is known. This quantity is denoted d {\displaystyle d}d in this section. If no bounds are known, there are non-adaptive algorithms with low query complexity that can help estimat e d {\ displaystyle d}d .

Комбинаторное отслеживание ортогонального соответствия (COMP)

Иллюстрация алгоритма COMP. COMP определяет элемент a как дефектный, а элемент b как исправный. Однако он ошибочно отмечает c как дефектный, поскольку он «скрывается» дефектными элементами в каждом тесте, в котором он появляется.

Комбинаторное ортогональное сопоставление преследований, или COMP, представляет собой простой неадаптивный алгоритм группового тестирования, который формирует основу для более сложных алгоритмов, которые следуют в этом разделе.

Сначала для каждой записи матрицы тестирования выбирается iid равным 1 {\ displaystyle 1}1 с вероятностью 1 / d {\ displaystyle 1 / d}{\ displaystyle 1 / d} и 0 {\ displaystyle 0}{\ displaystyle 0} в противном случае.

Этап декодирования выполняется по столбцам (то есть по элементам). Если все тесты, в которых появляется товар, являются положительными, то товар объявляется дефектным; в противном случае предполагается, что товар исправен. Или, что эквивалентно, если элемент появляется в любом тесте с отрицательным результатом, элемент объявляется исправным; в противном случае предполагается, что товар неисправен. Важным свойством этого алгоритма является то, что он никогда не создает ложных отрицательных результатов, хотя ложноположительных результатов возникает, когда все местоположения с единицами в j-м столбце M {\ displaystyle M}M(соответствующие исправному элементу j) «скрыты» столбцами других столбцов, соответствующих дефектным элементам.

Алгоритм COMP требует не более ed (1 + δ) ln ⁡ (n) {\ displaystyle ed (1+ \ delta) \ ln (n)}{\ displaystyle ed (1+ \ delta) \ пер (п)} тестов иметь вероятность ошибки меньше или равную n - δ {\ displaystyle n ^ {- \ delta}}{\ displaystyle n ^ {- \ delta}} . Это находится в пределах постоянного коэффициента нижней границы для указанной выше средней вероятности ошибки.

В шумном случае ослабляется требование исходного алгоритма COMP, согласно которому набор местоположений единиц в любом столбце M {\ displ aystyle M}M, соответствующему положительному элементу, полностью содержится в наборе единиц в векторе результата. Вместо этого определенное количество «несовпадений» - это количество несовпадений зависит от количества в каждом столбце, так и от параметров шума q {\ displaystyle q}q . Этот зашумленный алгоритм COMP требует не более 4,36 (δ + 1 + δ) 2 (1-2 q) - 2 d log 2 ⁡ n {\ displaystyle 4.36 ({\ sqrt {\ delta}} + {\ sqrt {1+ \ delta}}) ^ {2} (1-2q) ^ {- 2} d \ log _ {2} {n}}{\ displaystyle 4.36 ({\ sqrt {\ delta}} + {\ sqrt {1+) \ delta}}) ^ {2} (1-2q) ^ {- 2} d \ log _ {2} {n}} тесты для достижения вероятности ошибки не более n - δ {\ displaystyle n ^ {- \ delta}}{\ displaystyle n ^ {- \ delta}} .

Определенные дефекты (DD)

Определенные дефекты (DD) расширением алгоритма COMP, который пытается удалить любые ложные срабатывания. Было показано, что гарантии для DD строго превышают таковые для COMP.

На этапе декодирования используется полезное свойство алгоритма COMP: элемент, который COMP объявляет исправным, безусловно, исправен (т. Е. ложных негативов нет). Происходит это следующим образом.

  1. Сначала запускается алгоритм COMP, и все исправляются дефекты, которые он обнаруживает, удаляются. Все оставшиеся элементы теперь «возможно неисправны».
  2. Затем алгоритм просматривает все положительные тесты. Если элемент обнаруживается как единственный «возможный дефект» в тесте, то он должен быть дефектным, поэтому алгоритм объявляет его дефектным.
  3. Предполагается, что все остальные элементы не являются дефектными. Обоснование этого последнего шага исходит из предположения, что количество дефектов намного меньше, чем общее количество элементов.

Обратите внимание, что шаги 1 и 2 не допускают ошибок, поэтому алгоритм может сделать ошибку только в том случае, если он объявляет дефектный элемент не должен быть дефектным. Таким образом, алгоритм DD может создать только ложноотрицательные результаты.

Sequential COMP (SCOMP)

SCOMP (Sequential COMP) - это алгоритм, который использует тот факт, что DD не допускает ошибок до последнего шага, где гарантированы оставшиеся элементы исправный. Пусть набор заявленных дефектов будет K {\ displaystyle K}K . Положительный тест называется объясненным с помощью K {\ displaystyle K}K , если он содержит хотя бы один элемент в K {\ displaystyle K}K . Ключевое наблюдение с помощью SCOMP заключается в том, что набор дефектов, обнаруженных DD, не может найти каждый положительный тест, и что каждый необъяснимый тест должен содержать скрытый дефект.

Алгоритм работает следующим образом.

  1. Выполните шаги 1 и 2 алгоритма DD, чтобы получить K {\ displaystyle K}K , начальную оценку для набора дефектов.
  2. Если K {\ displaystyle K}K объясняет каждый положительный тест, завершите алгоритм: K {\ displaystyle K}K - окончательная оценка для набора дефектов.
  3. Если есть какие-либо необъяснимые тесты, найдите «возможный дефект», который появляется в наибольшем количестве необъяснимых тестов, и объявите его дефектным (то есть добавить его в набор K {\ displaystyle K}K ). Переходите к шагу 2.

При моделировании было показано, что SCOMP работает близко к оптимальному.

Примеры приложений

Обобщенность теории группового тестирования позволяет использовать ее во многих приложениях, включая скрининг клонов, обнаружение коротких замыканий; высокоскоростные компьютерные сети; медицинское обследование, количественный поиск, статистика; машинное обучение, секвенирование ДНК; криптография; и судебная экспертиза данных. В этом разделе представлен краткий обзор небольшой подборки этих приложений.

Каналы множественного доступа

Иллюстрация множественного доступа, показывающая успешное сообщение и конфликт сообщений.

A канал множественного доступа - это канал связи, который соединяет сразу несколько пользователей. Каждый пользователь может одновременно передавать и передавать передачу, сигналы сталкиваются и превращаются в неразборчивый шум. Каналы множественного доступа важны для различных приложений, особенно для беспроводных компьютерных сетей и телефонных сетей.

Важная проблема с форматами множественного доступа в том, как назначать время передачи пользователям, чтобы их сообщения не конфликтовали. Простой способ - предоставить каждому свой собственный временной интервал для передачи, что требует n {\ displaystyle n}n слотов. (Это называется мультиплексированием с временным разделением, или TDM.) Однако это очень неэффективно, так как оно будет назначать слоты передачи пользователям, которые не могут иметь сообщения, и обычно, что только несколько пользователей захотят передать в любой момент. заданное время - иначе канал с множественным доступом вообще не практичен.

В контексте группового тестирования эта проблема обычно решается путем разделения времени на «эпохи» следующим образом. Пользователь называется «активным», если у него есть сообщение в начале эпохи. (Если сообщение создается в течение эпохи, пользователь становится активным только в начале следующей.) Эпоха заканчивается, когда каждый активный пользователь успешно передал свое сообщение. Тогда проблема состоит в том, чтобы найти всех активных пользователей в заданную эпоху и запланировать для них время передачи (если они еще не сделали это успешно). Здесь тест на группе пользователей соответствует тем пользователям, которые выполняют передачу. Результатом теста является количество пользователей, которые пытались передать, 0, 1, {\ displaystyle 0,1,}{\ displaystyle 0,1,} и 2 + {\ displaystyle 2 ^ {+}}{\ displaystyle 2 ^ {+}} , что соответствует, соответственно, отсутствию активных пользователей, ровно одному активному пользователю (сообщение успешно) или более чем одному активному пользователю (конфликт сообщения). Таким образом, используя алгоритм адаптивного группового тестирования результатов {0, 1, 2 +} {\ displaystyle \ {0,1,2 ^ {+} \}}{\ displaystyle \ {0,1,2 ^ {+} \}} , можно определить, какие пользователи хотят передать в эпоху. Затем любому пользователю, который еще не осуществил успешную передачу, теперь может быть назначен интервал для передачи без расточительного назначения времени неактивным пользователям.

Машинное обучение и сжатое распознавание

Машинное обучение - это область компьютерных наук, в которой есть набор программных приложений, таких как классификация ДНК, обнаружение мошенничества и таргетированная реклама. Одним из основных подразделов машинного обучения является проблема «обучения на примерах», где задача состоит в том, чтобы аппроксимировать некоторую неизвестную функцию, когда ей задано ее в некоторых точках. Как указано в этом разделе, эту проблему обучения функциям можно решить с помощью подхода группового тестирования.

В простой версии задачи есть неизвестная функция, f: {0, 1} N → {0, 1} {\ displaystyle f: \ {0,1 \} ^ {N} \ to \ {0,1 \}}{\ displaystyle f: \ {0,1 \} ^ {N} \ to \ {0,1 \}} где f (x) = a ⋅ x {\ displaystyle f ({\ textbf {x}}) = {\ textbf {a}} \ cdot {\ textbf {x}}}{\ displaystyle f ({\ textbf {x}}) = {\ textbf {a}} \ cdot {\ textbf {x}}} и a ∈ {0, 1} N {\ displaystyle {\ textbf {a}} \ in \ {0,1 \} ^ {N}}{\ displaystyle {\ textbf {a}} \ in \ {0,1 \} ^ {N}} (с использованием логической арифметики: сложение шифрования ИЛИ, а умножение - логическим И). Здесь a {\ displaystyle {\ textbf {a}}}\ textbf {a} равно 'd {\ displaystyle d}d sparse', что означает, что не более d ≪ N {\ displaystyle d \ ll N}{\ displaystyle d \ ll N} из его записей: 1 {\ displaystyle 1}1 . Цель состоит в том, чтобы построить приближение к f {\ displaystyle f}е с использованием t {\ displaystyle t}t точечных оценок, где t { \ displaystyle t}t - как можно меньше. (Точное восстановление f {\ displaystyle f}е соответствует алгоритмам с нулевыми ошибками, тогда как f {\ displaystyle f}е аппроксимируется алгоритмами, не имеющими нулевая вероятность ошибки.)

В этой задаче восстановление f {\ displaystyle f}е эквивалентно поиску a {\ displaystyle {\ textbf {a}}}\ textbf {a} . Кроме того, f (p) = 1 {\ displaystyle f ({\ textbf {p}}) = 1}{\ displaystyle f ({\ textbf {p}}) = 1} тогда и только тогда, когда есть некоторый индекс, n {\ displaystyle n}n , где an = pn = 1 {\ displaystyle {\ textbf {a}} _ {n} = {\ textbf {p}} _ {n} = 1}{\ displaystyle {\ textbf {a}} _ {n} = {\ textbf {p} } _ {n} = 1} . Таким образом, эта проблема аналогична задаче группового тестирования с d {\ displaystyle d}d дефектными и n {\ displaystyle n}n общими элементами. Записи в a {\ displaystyle {\ textbf {a}}}\ textbf {a} являются дефектными, если они 1 {\ displaystyle 1}1 , p {\ displaystyle {\ textbf {p} }}{\ textbf {p}} указывает тест, и тест является положительным тогда и только тогда, когда f (p) = 1 {\ displaystyle f ({\ textbf {p}}) = 1}{\ displaystyle f ({\ textbf {p}}) = 1} .

На f: CN → C {\ displaystyle f: \ mathbb {C} ^ {N} \ to \ mathbb {C}}{\ displaystyle f: \ mathbb {C} ^ {N} \ to \ mathbb {C}} , где f (x) = a ⋅ x {\ displaystyle f ({\ textbf {x}}) = {\ textbf {a}} \ cdot {\ textbf {x}}}{\ displaystyle f ({\ textbf {x}}) = {\ textbf {a}} \ cdot {\ textbf {x}}} . Сжатое зондирование, которое сообщило о своей программе, тестирующей, инсульт.

В сжатом зондировании цель состоит в том, чтобы восстановить сигнал, v ∈ CN {\ displaystyle {\ textbf {v}} \ in \ mathbb {C} ^ {N}}{\ displaystyle {\ textbf {v}} \ in \ mathbb {C} ^ {N }} , выполнив ряд измерений. Эти изменяются вектором как скалярное произведение v {\ displaystyle {\ textbf {v}}}\ textbf {v} с выбранным образом. Цель состоит в том, чтобы использовать небольшое количество измерений, хотя это, как правило, невозможно, если не принято что-то о сигнале. Одно из таких предположений (которое является общим) состоит в том, что они имеют большое количество записей v {\ displaystyle {\ textbf {v}}}\ textbf {v} является значимым, что означает, что они имеют большое количество. Существуют способы измерения скалярными произведениями v {\ displaystyle {\ textbf {v}}}\ textbf {v} , уравнение M v = q {\ displaystyle M {\ textbf {v}} = {\ textbf {q}}}{\ displaystyle M {\ textbf {v}} = {\ textbf {q}}} , где M {\ displaystyle M}M- t × N {\ displaystyle t \ times N}{\ displaystyle t \ times N} матрица, который представлен набором выбранных измерений, а q {\ displaystyle \ mathbf {q}}\ mathbf {q } представляет собой набор результатов измерений. Эта конструкция показывает, что напряжениеое зондирование является разновидностью «непрерывного» группового тестирования.

Основная трудность при распознавании сжатых данных в том, чтобы определить, какие записи являются важными. Как только это будет сделано, существует множество методов для оценки фактических значений записей. К этойчести идентификации можно подойти с помощью простого группового тестирования. Здесь групповой тест дает комплексное число: сумма проверенных записей. Результат теста называется положительным, если он дает комплексное число с большой величиной, что при предположении, что значимые записи редки, указывает на то, что в крайней мере одна значимая запись.

Существуют явные детерминированные конструкции для этого типа комбинаторного алгоритма поиска, требующие d 2 (log 2 ⁡ log 2 ⁡ N) O (1) {\ displaystyle d2 ^ {(\ log _ {2} \ log _ {2} N) ^ {O (1)}}}{\ displaystyle d2 ^ {(\ log _ {2} \ log _ {2} N) ^ {O (1)}}} измерений. Однако, как и в случае с групповым тестированием, они являются субоптимальными, и случайные конструкции (такие как COMP) часто могут восстанавливать f {\ displaystyle f}е сублинейно в N {\ displaystyle N }N .

Дизайн мультиплексного анализа для тестирования COVID19

Во время пандемии, такой как вспышка COVID-19 в 2020 году, тесты на обнаружение вирусов иногда запускаются с использованием неадаптивных групповых тестов. Один из примеров был предоставлен проект Origami Assays, который выпустил проекты группового тестирования с открытым исходным кодом для запуска на лабораторном стандартном 96-луночном планшете.

Бумажный шаблон Origami Assay для дизайна группового тестирования

В лабораторных условиях одна проблема группового тестирования Строительство из смесей может занять много времени и его сложно выполнить вручную. Анализы Origami предоставили образцы для этой задачи с построением, предоставив бумажные шаблоны, которые помогли технику распределять образцы по лункам.

Используя самые большие схемы группового тестирования (XL3), можно было протестировать 1120 образцов в 94 пробирных лунках. Если количество истинно положительных результатов было достаточно низкое, то дополнительное тестирование не требовалось.

См. Также: Список стран, реализующих стратегию пулового тестирования на COVID-19.

Криминалистика данных

Криминалистика данных - это область, посвященная поиску методов для сбора цифровых доказательств преступлений. Такие случаи обычно связаны с изменением злоумышленником данных, документов или баз данных жертвы, в том числе, например, изменение налоговой отчетности, вирус, скрывающий свое присутствие, или похититель данных, изменяющий личные данные.

Обычный инструмент в криминалистика данных - это односторонний криптографический хэш. Функция, которая принимает данные и с помощью труднообратимой процедуры выдает уникальный номер, называемый хешем. Хэши, которые часто намного короче, чем данные, позволяют без необходимости расточить полные копии информации: хэш для текущих данных можно сравнить с прошлым хешем, чтобы определить, есть ли какие-либо изменения произошли. Как узнать, каким образом определить, каким образом, каким образом, каким образом определить, каким образом были установлены данные, нет, каким образом невозможно восстановить, какая часть данных была изменена.

Один из способов обойти это ограничение - сохранить больше хэшей - теперь уже подмножеств структуры - чтобы сузить область, где произошла атака. Однако, чтобы найти точное место атаки с помощью наивного подхода, хэш должен быть сохранен для каждого элемента данных в структуре, что в первую очередь приведет к поражению точки хешей. (Можно также хранить обычную копию данных.) Групповое тестирование можно использовать для значительного уменьшения количества хэшей, которые необходимо сохранить. Тест становится сравнением сохраненных и текущих хэшей, которое является положительным при несоответствии. Это указывает на то, что по крайней мере одна отредактированная база данных (которая в данной модели считается дефектной) содержится в группе, которая сгенерировала текущий хэш.

Фактически, количество необходимых хешей настолько мало, что они могут использоваться вместе с матрицами, чтобы они могли храниться в организационной структуре самих себя. Это означает, что касается памяти, тест можно проводить «бесплатно». (Это верно за исключением мастер-ключа / пароля, который используется для тайного определения хэш-функций.)

Примечания
Ссылки

Цитаты

Общие ссылки

  • Дин-Чжу, Ду; Хван, Фрэнк К. (1993). Комбинаторное групповое тестирование и его приложения. Сингапур: World Scientific. ISBN 978-9810212933.
  • Курс Атри Рудры по кодам с исправлением ошибок: комбинаторика, алгоритмы и приложения (весна 2007 г.), лекции 7.
  • Курс Атри Рудры по кодам с исправлением ошибок: комбинаторика, алгоритмы и Приложения (весна 2010 г.), Лекции 10, 11, 28, 29
  • Ду Д. и Хван Ф. (2006 г.). Объединение дизайнов и неадаптивное групповое тестирование. Бостон: Twayne Publishers.
  • Олдридж, М., Джонсон, О. и Скарлетт, Дж. (2019), Групповое тестирование: перспектива теории информации, основы и тенденции® в теории коммуникации и информации: Том. 15: No. 3-4, pp 196-392. doi: 10.1561 / 0100000099
  • Эли Порат, Амир Ротшильд: явные неадаптивные комбинаторные схемы группового тестирования. ИКАЛП (1) 2008: 748–759
  • Каган, Евгений; Бен-гал, Ирад (2014), «Алгоритм группового тестирования с интерактивным информационным обучением», IIE Transactions, 46 (2): 164–184, doi : 10.1080 / 0740817X.2013.803639, ISSN 0740-817X
См. Также
Последняя правка сделана 2021-05-22 11:32:00
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте