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

Материал из DISCOPAL
Перейти к: навигация, поиск
Строка 9: Строка 9:
 
----
 
----
 
{{hard-problem-on-lab17|{{PAGENAME}}}}
 
{{hard-problem-on-lab17|{{PAGENAME}}}}
<!-- * {{has-testdata-and-visualization}} -->
+
* {{has-testdata-and-visualization}}  
<!-- * {{has-pyomo-model}}  -->
+
* {{has-pyomo-model}}   
<!-- * {{has-npc-reduction}} -->
+
* {{has-npc-reduction}}  
<!-- * {{add-random-fuzzing-tests}} -->
+
* {{add-random-fuzzing-tests}}  
 +
** Вроде как все есть, но надо бы прорефакторить решение студента
 +
 
 
----
 
----
 
<small>
 
<small>
Строка 20: Строка 22:
 
<!-- * [ Задача в википедии]  -->
 
<!-- * [ Задача в википедии]  -->
 
</small>
 
</small>
 +
 +
{{reserve-task|[[Участник:StasFomin|StasFomin]] 20:35, 21 мая 2025 (UTC)}}
 
<!-- end -->
 
<!-- end -->
  
 
[[Категория:ClassicHardProblems]]
 
[[Категория:ClassicHardProblems]]

Версия 20:35, 21 мая 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-полной задачи к данной.
  • Yes-you-can-icon.png Можно доработать — сделать Вероятностное тестирование NPC-сведения!
    • Вроде как все есть, но надо бы прорефакторить решение студента

Задача зарезервирована: StasFomin 20:35, 21 мая 2025 (UTC)