Rozważ monotoniczny predykat nad zestawem mocy (uporządkowane przez włączenie). Przez „monotoniczny” rozumiem: tak, że , jeśli to . Szukam algorytmu, aby znaleźć wszystkie minimalne elementy , tj. takie, że ale , . Ponieważ szerokość jest , może istnieć wykładniczo wiele minimalnych elementów, a zatem czas działania takiego algorytmu może być generalnie wykładniczy. Czy jednak może istnieć algorytm dla tego zadania, który ma wielomian wielkości wyjściowej?
[Kontekst: Bardziej ogólne pytanie został poproszony , ale nie było żadnej próby w odpowiedzi do oceny złożoności algorytmu w wielkości produkcji. Jeśli założę na przykład, że istnieje tylko jeden minimalny element, mogę wykonać wyszukiwanie binarne po tej odpowiedzi i znaleźć ją. Jeśli jednak chcę kontynuować znajdowanie bardziej minimalnych elementów, muszę zachować aktualne informacje o w taki sposób, aby kontynuowanie wyszukiwania było praktycznie możliwe bez marnowania czasu na to, co już wiadomo. Czy można to zrobić i znaleźć wszystkie minimalne elementy w czasie wielomianowym o wielkości wyjściowej?]
Idealnie chciałbym zrozumieć, czy można to zrobić za pomocą ogólnych DAG, ale już nie wiem, jak odpowiedzieć na pytanie dla .
Odpowiedzi:
Twój problem jest znany w literaturze przedmiotu jako „uczenie się funkcji monotonicznych za pomocą zapytań członkowskich”. Klasa funkcji monotonicznych, dla których można zidentyfikować wszystkie mintermy, znana jest jako „wielomianowo możliwy do nauczenia się za pomocą zapytań członkowskich”.
Wydaje się, że istnienie algorytmu wielomianowego czasu jest nadal otwarte. Schmulevich i in. udowodnić, że „Prawie wszystkie monotoniczne funkcje boolowskie można nauczyć wielomianowo za pomocą zapytań członkowskich”. Jeśli wymagane jest, by p minterm być generowane w czasie wielomian i , problem jest równoważne monotonicznej dualization, jak pokazano Bioch i Ibaraki . Oto ankieta dotycząca dualizacji monotonicznej.n tt n t
źródło