Załóżmy, że jest językiem boolowskim o skończonych łańcuchach ponad . Niech będzie liczbą łańcuchów w o długości . Dla funkcji od dodatnich liczb całkowitych do dodatnich liczb rzeczywistych, ma górną gęstość jeśli dla wszystkich wystarczająco dużych .L n L n d ( n ) L d ( n ) L n ≤ 2 n d ( n ) n
Czy jakieś języki logiczne P-complete mają wyższą gęstość ?
Motywacja
PARITY ma górną gęstość . TAK (język wszystkich skończonych ciągów binarnych) ma górną gęstość 1. Każdy skończony język ma górną gęstość 0.
Rzadki język ma właściwość, że istnieje wielomian taki że dla wszystkich . Jeśli jest językiem rzadkim, to dla wielomianu o jeden stopień większy niż , więc górna gęstość wynosi zero.p ( n ) L n - L n - 1 ≤ p ( n ) n L L n ≤ p 1 ( n ) p 1 p L
Jin-Yi Cai i D. Sivakumar wykazali, że język P-zupełny nie może być rzadki, chyba że P = L (= LOGSPACE). Ponieważ P = co-P, żaden język, którego dopełniacz jest rzadki, nie może być również P-zupełny, chyba że P = L.
Przez prostą nierówność (patrz np. Wniosek 2 Rossera i Schoenfelda 1962 ), PRIMES ma wyższą gęstość . Pytanie Czy problemy PRIMES, FACTORING są znane jako P-hard? dyskutuje, czy PRIMES jest twardy (wydaje się, że obecnie jest otwarty).
W pewnym sensie kompletne (lub uniwersalne) języki dla klasy złożoności zawierają całą strukturę klasy. Tak więc moja wstępna hipoteza, oparta na dzikiej ekstrapolacji wyniku Cai i Sivakumara, byłaby taka, że takie języki nie mogą być zbyt rzadkie. Zwykłe ograniczenie wielomianowe definiujące rzadkie języki wydaje się zbyt restrykcyjne, więc pytam o ograniczenie, które jest nieco mniej restrykcyjne.
Prace nad lowness przez Fortnow, Hemaspaandra i inni też prawdopodobnie związane.
Pytanie można zadać dla klas innych niż P, ale nie pamiętam żadnych wyników, które pozwoliłyby ustalić gęstość, powiedzmy, SAT. Wskazania na odpowiednią literaturę byłyby bardzo mile widziane.
Podziękowanie
Zobacz także powiązane pytanie. Gęstość warunkowa liczb pierwszych . Dzięki @Tsuyoshi Ito i @Kaveh za pomocne komentarze do wcześniejszej wersji tego pytania, które niestety było źle postawione.
źródło
Odpowiedzi:
Nie wiem, jaka jest gęstość typowych problemów z kompletnym P, ale tutaj jest padding argument, który pokazuje, jak obniżyć dowolną gęstość poniżej :1 / n
Wybierz swój ulubiony język P-complete . Ten język ma pewną gęstość d ( n ) ∈ ω ( 1 / n ) . Teraz zdefiniuj L ′ n + m = { x 0 m | x ∈ L n } . Ogólnie rzecz biorąc, m będzie jakąś funkcją n , więc może nie definiować L ′L.n⊆ { 0 , 1 }n re( n ) ∈ ω ( 1 / n ) L.′n + m= { x 0m| x∈ L.n} m n L.′ dla wszystkich rozmiarów, ponieważ martwimy się tylko o górną gęstość, po prostu ustaw jeśli k ≠ n + m . Jaka jest górna gęstość L ′ ? Cóż, mamyL.′k= ∅ k ≠ n + m L.′
Teraz możemy użyć redukcji LOG do zbudowania maszyny dla L za pomocą maszyny M ′ dla L ′ . Cóż, jeśli otrzymałeś wejście x, po prostu skopiuj je po kolei na taśmę zapytania (użyj także licznika, aby policzyć, co to jest n ), a następnie użyj drugiego licznika, aby policzyć do m ( n ) , dodając jeden co kiedy dodasz zero do taśmy zapytania (aby mieć miejsce w dzienniku, potrzebujemy m ( n ) ∈ p o l y ( n ) i łatwo obliczalnego). Następnie prześlij zapytanie i zwróć wynik jako odpowiedź.M. L. M.′ L.′ x n m ( n ) m ( n ) ∈ p o l y( n )
Jeśli chcemy mieć pewność, że jesteśmy mniejsi niż po prostu wybierzmy m ( n ) = n , a następnie otrzymamy d ' ( 2 n ) ≤ d ( n ) / 2 n ∈ O ( 1 / n ) .1 / n m ( n ) = n re′( 2 n ) ≤ d( n ) / 2n∈ O ( 1 / n )
źródło