Your goal is to implement a pooled testing strategy which minimizes the average number of tests for some specific prevalence p and sample size n. Relevant slides can be found here.
- Someone from the group should fork this repository.
- Copy the
StudentProtocols/Baseline.py
file toStudentProtocols/<YOUR_GROUP_NAME>.py
. - Implement the
isolate_positives
function in your protocol file. Essentially, theisolate_positives
function is provided aTestSample
object. Using thequery
method of the sample, you can query any set of numbers0, 1, ..., n-1
, and thequery
method will return true of any of the queried numbers are "positive". In other words, you providequery
a pooled sample. Your task is to correctly return the IDs of the positive samples in the providedTestSample
using as few tests as possible (on average). - Run the simulation in the
CovidTester.ipynb
notebook. You should get a table that looks like this
+--------------+-------+----------+
| Group Name | Mean | Variance |
+--------------+-------+----------+
| ProjectOwler | 7.129 | 30.643 |
| Baseline | 32.0 | 0.0 |
+--------------+-------+----------+
- Once you are satisfied, create a pull request back to this repo. Only add+commit your new file!
git add `StudentProtocols/<YOUR_GROUP_NAME>.py`
git commit `StudentProtocols/<YOUR_GROUP_NAME>.py` -m "Updates"