Hardprob/Minimum Test Collection — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
Строка 12: | Строка 12: | ||
* {{has-pyomo-model}} | * {{has-pyomo-model}} | ||
* {{has-npc-reduction}} | * {{has-npc-reduction}} | ||
− | * {{add-random-fuzzing-tests}} | + | <!-- * {{add-random-fuzzing-tests}} --> |
** Вроде как все есть, но надо бы прорефакторить решение студента | ** Вроде как все есть, но надо бы прорефакторить решение студента | ||
Текущая версия на 20:36, 21 мая 2025
- Коллекция C подмножеств конечного множества S.
- Найти подколлекцию C'⊆ C, такую, что для каждой пары различных элементов (и для каждого элемента этой пары) , есть некоторое подмножество , которое содержит точно один элемент из этой пары.
- Минимизировать мощность этой подколлекции |C'|.
Для понимания названия задачи, представим, что S — это множество возможных болезней, а подмножества — это симптомы (или «тесты»), которые могут быть характерны для нескольких болезней. И мы должны выбрать такой набор симптомов-тестов, чтобы имея результаты, мы могли отличить у пациента любые пары болезней.
Код в «minimum-test-collection.ipynb» на гитлаб или живьем в лабе
-
— есть тестовые данные и визуализация.
-
— есть Pyomo-формулировка для ЦЛП.
-
— есть сведение на Python NP-полной задачи к данной.
- Вроде как все есть, но надо бы прорефакторить решение студента
- Задача в базе NP-полных задач Вигго Кана
- Код задачи в книге «ГД» → «SP6»
Задача зарезервирована: StasFomin 20:35, 21 мая 2025 (UTC)