Najkrótsza formuła dla n-termicznego monotonicznego CNF

10

Monotoniczna formuła CNF z m terminami na n zmiennych ( ) jest formułą postaci , gdzie każdy jest OR pewnego podzbioru zmiennych i i wynosi od 1 do m . f ( x 1 , , x n ) = C i C i x 1 , , x n i 1 mx1,,xnf(x1,,xn)=CiCix1,,xni1m

Na przykład (x1x3)x4)(x2)x4) to monotoniczna formuła CNF z 2 terminami na 4 zmiennych.

Szukam najkrótszej formuły (niekoniecznie monotonicznej, niekoniecznie CNF, każda formuła wystarczy!) Na tym samym zestawie zmiennych, która reprezentuje tę samą funkcję, co dana monotoniczna formuła CNF na n zmiennych z n terminami. (Pamiętaj, że liczba terminów i zmiennych jest taka sama).

Jednym oczywistym sposobem skonstruowania formuły jest rozszerzenie danej definicji CNF, która da nam formułę o rozmiarze O(n2)) . (Zdefiniujmy rozmiar formuły, która będzie długością formuły zapisywanej jako ciąg znaków). Chcę wiedzieć, czy jest to najbardziej wydajna ogólna konstrukcja, czy też dla każdej n-terminowej monotonicznej CNF istnieje formuła o wielkości o(n2)) .

Chcę tylko wiedzieć, czy jest to możliwe, tak naprawdę nie interesuje mnie algorytm. Jeśli nie jest to możliwe, funkcja, która służy jako kontrprzykład, byłaby świetna. Doceniane są również wskaźniki, w których można znaleźć odpowiedź w literaturze.

EDYCJA: Dodaję przykład, aby rozjaśnić cienkie.

Powiedzmy, że formuła wejściowa to fa=(x1x2))(x1x3))(x1xn) . Jest to monotoniczna formuła CNF. Krótsza formuła reprezentująca tę samą funkcję jest następująca: x1(x2)x3)xn) .

Robin Kothari
źródło

Odpowiedzi:

11

Możesz uzyskać dolną granicę za pomocą argumentu zliczającego: istnieją termterów na zmiennych (jest to łatwe, ale wymaga tylko trochę uwagi, aby zrobić pewnie, że nie ma nadmiernego liczenia), ale istnieją formuły (lub nawet obwody) o rozmiarze co najwyżej . e x p ( n 2 ) n n e x p ( s log s ) sΩ(n2)/logn)mixp(n2)) nnmixp(slogs)s

Wydaje się, że wygranie ostatniego współczynnika będzie trudne, ponieważ wymagałoby udowodnienia kwadratowej dolnej granicy rozmiaru formuły, i przypuszczam, że kilka istniejących technik tego nie wystarcza. może nawet być właściwą odpowiedzią - przynajmniej dla wielkości obwodu - przy użyciu jakiejś czterorosyjskiej techniki .lognO(n2)/logn)

Noam
źródło
Perfekcyjnie, dzięki! Współczynnik log n nie jest dla mnie tak ważny, więc odpowiada to całkowicie na moje pytanie.
Robin Kothari,
2

Weź pod uwagę, że dla dowolnego CNF można obliczyć zbiór implikacji pierwotnych (z których każde minimum musi być podzbiorem), przyjmując zamknięcie w ramach rozdzielczości i stosując eliminację sumy.

Jednak w przypadku monotonicznego CNF , zamknięcie rozdzielczości F jest F (ponieważ nie ma literałów ujemnych, nie ma możliwości rozdzielczości). Dlatego minimalna wartość CNF to zbiór implikacji liczb pierwszych, czyli dokładnie taka formuła, którą już masz.fafafa

Oczywiście zakładam, że nie chcesz wprowadzać nowych zmiennych.

Jeśli chcesz się upewnić, że masz jakąś formułę zawierającą terminów, to jak sugerujesz, jedynym sposobem na uzyskanie tego jest rozszerzenie niektórych klauzul poprzez dodanie brakujących zmiennych. Każdy taki CNF powinien mieć taką samą liczbę literałów (miara wielkości, którą sugeruję, uważam) dla stałej f i n .nfan

MGwynne
źródło
Fajne, lubię to. (Na marginesie, na wypadek, gdyby pojawiła się monotonna sprawa DNF, @Robin, uważam, że może to być interesujące: citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.69.4716 )
Daniel Apon
1
Nie jestem pewien, czy rozumiem. Minimalna wielkość CNF może być monotonną formułą CNF, którą już mam, ale szukam najmniejszej formuły dowolnego rodzaju. Nie musi to być CNF ani monotonicznie. Zmodyfikuję moje pytanie, aby było bardziej przejrzyste.
Robin Kothari,
1
O, rozumiem. Cóż, to, co mówiłem, obejmuje, jeśli to musi być CNF. Jeśli może to być dowolna formuła zdań, muszę się zastanowić.
MGwynne