Комбиниране на PCR тестове (да се разглежда като задача по математика или информатика)

Disclaimer: целта на тази публикация не е дискусии за COVIDимат ли смисъл тестването, дистанцията, мерките, маските и т. н., а по-скоро да разгледаме един практически проблем от математическо-информатична гледна точка.

Някои от лабораториите, които правят PCR тестове, могат да ги направят групово, за да спестят средства. Например, ако смесите пробите на двама души и пробите и на двамата се окажат отрицателни, то няма смисъл да правите отделни PCR-тестове. Ако дори един от тях обаче има положителна проба, ще трябва да повторите тестовете и да направите 3 вместо 2 теста.

Това лесно можем да формулираме като задача със следните условия:

1. Трябва да направим тестове на голяма група хора.
2. Приемаме, че възможният резултат от теста е положителен или отрицателен. Ако е положителен, трябва да се провери с по-малка група хора. Ако е отрицателен – ясно е, че всички са отрицателни.
3. Единственият начин да разберем, че даден човек има COVID-19, е да направим един-единствен тест на един-единствен човек и резултатът му да е положителен.
4. Искаме да направим минимален общ брой тестове.
5. Не искаме да правим повече от три теста на един и същи човек, защото ще отнемат твърде много време.
6. Шансът тест на един човек да е положителен е 11,261% (резултати от последните 3 седмици или от 1 октомври 2020 г. насам, базирано на общ брой тестове срещу общ брой новозаразени).
7. Можем да групираме тестовете по колкото си решим и търсим оптималното групиране.

Като бивш състезател по информатика, веднага мога да кажа, че това си е задача от динамично оптимиране – за T(1,1) – 1 тест на 1 човек, знаем, че шансът е 11,261% за (+) и 88,732% за (-)… Търсим T(min,100).

Отговор:

Лесно можем да видим какво се случва между това да тестваме много хора поотделно или да ги групираме заедно:

Ако тестваме 100 души поотделно, ще направим 100 теста и ще знаем какво се случва при всеки от тях.

Ако ги тестваме по двойки, ще направим 50 теста. Прогнозата е, че от тях 79% (39 теста) ще излязат отрицателни, а 21% (11 теста) – положителни. Ще трябва да ги повторим за всеки поотделно, т.е. 11 x 2 = 22  теста, или общо 50 + 22 = 72 теста.

Ако ги тестваме по тройки, ще направим 33 теста, с прогноза за 30% положителни тестове (11 теста). Ще трябва да повторим тези 11 теста за всеки поотделно, т.е. 11 х 3 = 33 теста, или общо 34+33 = 67 теста.

По тази логика, виждаме, че най-добре е PCR тестовете да се групират по четворки и петици, като при четворките шансът да „мине“ тестът от първия път е по-голям, така че това е най-добрият вариант. Ако тестът излезе положителен, все пак е по-добре да направим теста по двойки след това, вместо четири отделни теста.

В крайна сметка най-добрият алгоритъм при тази заболеваемост е:

1. Групират се по четоврки и се прави първи тест.
2. За четворките, които са позитивни, се прави отделен тест „две по две“
3. За двойките, които са позитивни, се прави отделен тест на всеки от двойката.

В този случай, при 100 души:

  1. Правим 25 теста по четворки.
  2. Очакваме 10 положителни, правим още 20 теста по двойки.
  3. Очакваме 5 положителни, правим още 10 единични теста.

Така с около 55 теста (могат да варират между 25 и 100 в най-добрия и най-лошия случай) ще знаем индивидуалните резултати на всеки тестван!

Ако приемем, че един PCR тест струва на лабораторията 15 лв., то лабораторията би спестила 675 лв. на всеки 100 тествани души. Само от началото на октомври досега лабораториите в България биха спестили 100489 x 0,45 x 15 лв. = 678 300 лв. или половин милион! Ако трендът от октомври се запази за цяла година, говорим за спестени около 11 790 000 лв. годишно, или 786 000+ направени PCR теста по-малко само в България!

Вашият коментар

Вашият имейл адрес няма да бъде публикуван.