Opisowa złożoność

W teoretycznej informatyki The złożoność opisowe jest gałęzią teorii złożoności i teorii modeli , który charakteryzuje klas złożoności pod względem logiki do opisywania problemów.

Złożoność opisowa daje nowy punkt widzenia, ponieważ definiujemy klasy złożoności bez odwoływania się do pojęcia maszyn, takich jak maszyny Turinga . Na przykład klasa NP odpowiada zestawowi problemów dających się wyrazić w egzystencjalnej logice drugiego rzędu : jest to twierdzenie Fagina .

Zasada

Przykład: kolorowanie wykresu

Wyjaśnijmy zasadę złożoności opisowej problemem 3-kolorowania grafu . Chodzi o problem decyzyjny, który polega na poznaniu danego grafu, czy można pokolorować jego wierzchołki trzema kolorami, tak aby dwa sąsiadujące ze sobą wierzchołki nie były tego samego koloru. Rysunek po prawej przedstawia przykład wykresu z trzema kolorami.

Problem decyzyjny jako zapytanie

Tak więc, w złożoności opisowej, problem decyzyjny jest opisany za pomocą logicznej formuły, która odpowiada wykonaniu zapytania (na przykład zapytanie „czy graf 3 można pokolorować?”). Przykładem problemu decyzyjnego jest model (np. wykres dla problemu trzech kolorów jest postrzegany jako model), na którym można oceniać formuły logiczne. Pozytywne przypadki problemu decyzyjnego (tj. w przykładzie 3-kolorowe wykresy) to dokładnie modele, w których wzór jest prawdziwy.

Inny przykład

Rozważmy problem decyzyjny A polegający na ustaleniu, czy graf G jest taki, że każdy wierzchołek G dopuszcza krawędź incydentu. Wykres G jest postrzegany jako model, w którym elementami domeny są wierzchołki grafu, a relacja grafu jest predykatem . Problem decyzyjny A może być wyrażony w logice pierwszego rzędu, ponieważ pozytywne przypadki są opisane wzorem (każdy wierzchołek s dopuszcza następcę t).

Twierdzenie Fagina

Pierwszym wynikiem tej dziedziny, a jednym z najważniejszych jest twierdzenie Fagina, które podaje równoważność między:

Korespondencja między klasami a logiką

Wiele innych klas również zostało scharakteryzowanych w ten sam sposób i zostały podsumowane w poniższej tabeli, głównie przez Neila Immermana .

Klasy złożoności Odpowiednia logika
AC⁰ logika pierwszego rzędu
Holandia logika pierwszego rzędu z domknięciem przechodnim
P Logika pierwszego rzędu z najmniejszym punktem stałym
NP egzystencjalna logika drugiego rzędu
współ-NP uniwersalna logika drugiego rzędu
PH logika drugiego rzędu
PSPACE logika drugiego rzędu z domknięciem przechodnim
CZAS EKSPLOATACJI Logika drugiego rzędu z najmniejszym punktem stałym
PODSTAWOWY logika wyższego rzędu
RE logika egzystencjalna pierwszego rzędu na liczbach całkowitych
rdzeń uniwersalna logika pierwszego rzędu nad liczbami całkowitymi

Przykład dla NL

Zainteresowania

Neil Immerman uzasadnia teorię złożoności opisowej, ponieważ pokazuje, że klasy złożoności zdefiniowane za pomocą maszyn Turinga są naturalne  : można je zdefiniować, nawet jeśli nie używamy klasycznych modeli obliczeniowych. Ponadto teoria ta daje nowy punkt widzenia na pewne wyniki i pewne hipotezy teorii złożoności, na przykład twierdzenie Abiteboula i Vianu  (en) wskazuje, że klasy P i PSPACE są równe, jeśli logika Inflacyjny Punkt Ustalenia (IFP) i Częściowy Punkty stałe (PFP) są równe.

Link zewnętrzny

Strona Neila Immermana o złożoności opisowej, z diagramem .

Warianty

Klasa PTIME poprzecinana problemami niezmienniczymi przez bisymulację odpowiada logice wyższego wymiaru rachunku mu .

Bibliografia

Artykuły

Pracuje

Uwagi i referencje

  1. ( Fagin 1974 ).
  2. Źródła znaczenie: Jesteśmy teraz gotowi do wskazania Fagin za twierdzenia i Immerman-Vardiego twierdzenia, prawdopodobnie dwóch najbardziej podstawowych wyników w opisowej teorii złożoności. w ( Grohe 2017 )
  3. Patrz wstęp ( Immerman 1983 ).
  4. ( Abiteboul i Vianu 1991 ).
  5. Martin Otto , „  Bisimulation-invariant PTIME i wyżejwymiarowy rachunek μ  ”, „ Informatyka teoretyczna” , tom.  224 n o  1,6 sierpnia 1999 r., s.  237-265 ( ISSN  0304-3975 , DOI  10.1016 / S0304-3975 (98) 00314-4 , odczyt online , dostęp 22 listopada 2019 )
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">