Hardprob/Minimum Test Collection — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
(тотальный сброс резервирования)
 
Строка 23: Строка 23:
 
</small>
 
</small>
  
{{reserve-task|[[Участник:StasFomin|StasFomin]] 20:35, 21 мая 2025 (UTC)}}
+
 
 
<!-- end -->
 
<!-- end -->
  
 
[[Категория:ClassicHardProblems]]
 
[[Категория:ClassicHardProblems]]

Текущая версия на 12:58, 25 сентября 2025


  • Коллекция C подмножеств конечного множества S.
  • Найти подколлекцию C'⊆ C, такую, что для каждой пары различных элементов (и для каждого элемента этой пары) , есть некоторое подмножество , которое содержит точно один элемент из этой пары.
  • Минимизировать мощность этой подколлекции |C'|.

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


Код в «minimum-test-collection.ipynb» на гитлаб или живьем в лабе

  • Data-vis-logo.png — есть тестовые данные и визуализация.
  • PyomoLogo.png — есть Pyomo-формулировка для ЦЛП.
  • Npc-reduction-python-logo.png — есть сведение на Python NP-полной задачи к данной.
    • Вроде как все есть, но надо бы прорефакторить решение студента