71 lines
5.9 KiB
Markdown
71 lines
5.9 KiB
Markdown
---
|
||
id: 5900f4cd1000cf542c50ffdf
|
||
title: 'Задача 352: Аналізи крові'
|
||
challengeType: 5
|
||
forumTopicId: 302012
|
||
dashedName: problem-352-blood-tests
|
||
---
|
||
|
||
# --description--
|
||
|
||
Кожну з 25 овець в отарі необхідно обстежити на рідкісний вірус, відомий тим, що вражає 2% популяції овець.
|
||
|
||
Існує точний та надзвичайно чутливий тест ПЛР-тест для зразків крові, який дає чіткий позитивний / негативний результат, але він забирає дуже багато часу та фінансів.
|
||
|
||
Через високу вартість, головний ветеринар пропонує замість того, щоб виконувати 25 окремих тестів, використати таку процедуру:
|
||
|
||
Вівці поділяються на 5 груп по 5 овець у кожній групі. Для кожної групи 5 зразків змішуються разом і проводиться один тест. Потім
|
||
|
||
- Якщо результат негативний, усі вівці цієї групи вважаються безвірусними.
|
||
- Якщо результат позитивний, буде проведено 5 додаткових тестів (окремий тест для кожної тварини) для визначення ураженої особини.
|
||
|
||
Оскільки ймовірність зараження будь-якої конкретної тварини становить лише 0,02, перший тест (на об’єднаних зразках) для кожної групи буде:
|
||
|
||
- Негативний (і більше ніяких тестів не потрібно) з ймовірністю ${0.98}^5 = 0.9039207968$.
|
||
- Позитивний (потрібно 5 додаткових тестів) з вірогідністю $1 - 0.9039207968 = 0.0960792032$.
|
||
|
||
Таким чином, очікувана кількість тестів для кожної групи становить 1 + 0.0960792032 × 5 = 1,480396016$.
|
||
|
||
Отже, усі 5 груп можна перевірити, використовуючи в середньому лише $1.480396016 × 5 = \mathbf{7.40198008}$ тестів, що становить величезну економію, більш ніж на 70%!
|
||
|
||
Хоча схема, яку ми щойно описали, здається дуже ефективною, її все ж можна значно покращити (завжди припускаючи, що тест достатньо чутливий і ніякі негативні наслідки не викликаються змішуванням різних зразків). Наприклад:
|
||
|
||
- Ми можемо почати з тестування на суміші усіх 25 зразків. Можна переконатися, що приблизно в 60,35% випадків цей тест буде негативним, тому більше ніяких тестів не буде потрібно. Подальше тестування буде потрібно лише для решти 39,65% випадків.
|
||
- Якщо ми знаємо, що принаймні одна тварина у групі з 5 інфікована, а перші 4 окремі тести виявляються негативними, немає потреби проводити тест на п’ятій тварині (ми знаємо, що вона має бути інфікованою).
|
||
- Ми можемо спробувати різну кількість груп / різну кількість тварин у кожній групі, регулюючи цю кількість на кожному рівні так, щоб загальна очікувана кількість тестів була мінімізована.
|
||
|
||
Щоб спростити дуже широкий спектр можливостей, існує одне обмеження, яке ми накладаємо при розробці найбільш економічно ефективної схеми тестування: коли ми починаємо зі змішаного зразка, усі вівці, які роблять внесок у цей зразок, повинні бути повністю перевірені (тобто вирок зараженого / незараженого повинен бути досягнутий для всіх них), перш ніж ми розпочнемо огляд будь-яких інших тварин.
|
||
|
||
Для поточного прикладу виявляється, що найбільш економічно ефективна схема тестування (ми назвемо це оптимальною стратегією) вимагає в середньому всього <strong>4.155452</strong> тестів!
|
||
|
||
Використовуючи оптимальну стратегію, нехай $T(s, p)$ представляє середню кількість тестів, необхідних для перевірки отари $s$ овець на наявність вірусу з ймовірністю $p$ бути присутнім у будь-якої особини. Таким чином, округлено до шести знаків після коми, $T(25, 0.02) = 4.155452$ and $T(25, 0.10) = 12.702124$.
|
||
|
||
Знайдіть $\sum T(10\\,000, p)$ за $p = 0.01, 0.02, 0.03, \ldots 0.50$. Дайте відповідь, округлену до 6 знаків після коми.
|
||
|
||
# --hints--
|
||
|
||
`bloodTests()` має повернути `378563.260589`.
|
||
|
||
```js
|
||
assert.strictEqual(bloodTests(), 378563.260589);
|
||
```
|
||
|
||
# --seed--
|
||
|
||
## --seed-contents--
|
||
|
||
```js
|
||
function bloodTests() {
|
||
|
||
return true;
|
||
}
|
||
|
||
bloodTests();
|
||
```
|
||
|
||
# --solutions--
|
||
|
||
```js
|
||
// solution required
|
||
```
|