Рассмотрим монотонный предикат над множеством степеней (упорядоченный по включению). Под «монотонным» я подразумеваю: такой, что , если то . Я ищу алгоритм, чтобы найти все минимальные элементы , то есть такие, что но , . Поскольку ширина равна n \, выберите n / 22 | п | ∀ x , y ∈ 2 | п | x ⊂ y P ( x ) P ( y ) P x ∈ 2 | п | P ( x ) ∀ y ⊂ x ¬ P ( y ) 2 | п |, может быть экспоненциально много минимальных элементов, и поэтому время работы такого алгоритма может быть экспоненциальным в целом. Однако может ли существовать алгоритм для этой задачи, который является полиномиальным по размеру вывода?
[Контекст: был задан более общий вопрос, но в ответах не было попыток оценить сложность алгоритма в размере выходных данных. Например, если я предполагаю, что существует только один минимальный элемент, я могу выполнить бинарный поиск после этого ответа и найти его. Однако, если я хочу продолжить поиск большего количества минимальных элементов, мне нужно сохранить имеющуюся у меня информацию о таким образом, чтобы можно было продолжать поиск, не тратя время на то, что уже известно. Можно ли это сделать и найти все минимальные элементы за полиномиальное время в размере вывода?]
В идеале я хотел бы понять, можно ли это сделать с помощью общих групп доступности баз данных, но я уже не знаю, как ответить на вопрос для .
Ответы:
Ваша проблема известна в учебной литературе как «изучение монотонных функций с использованием запросов на членство». Класс монотонных функций, для которого можно идентифицировать все minterms, известен как «полиномиально обучаемый с использованием запросов членства».
Кажется, что существование алгоритма полиномиального времени все еще открыто. Шмулевич и соавт. докажите, что «почти все монотонные булевы функции являются полиномиально обучаемыми с помощью запросов членства». Если мы также потребуем, чтобы я минута была сгенерирована во временном полиноме от и , то проблема эквивалентна монотонной дуализации, как показали Биоч и Ибараки . Вот опрос, посвященный монотонной дуализации.t n t
источник