Tutaj celem jest zredukowanie arbitralnego problemu SAT do 3-SAT w czasie wielomianowym przy użyciu jak najmniejszej liczby klauzul i zmiennych. Moje pytanie jest motywowane ciekawością. Mniej formalnie chciałbym wiedzieć: „Jaka jest„ najbardziej naturalna ”redukcja z SAT na 3-SAT?”
Teraz zmniejszenie, które zawsze widziałem w podręcznikach, wygląda mniej więcej tak:
Najpierw weź przykład SAT i zastosuj twierdzenie Cooka-Levina, aby zredukować je do obwodu SAT.
Następnie kończysz zadanie standardową redukcją obwodu SAT do 3-SAT, zastępując bramki klauzulami.
Podczas gdy to działa, wynikowe klauzule 3-SAT wyglądają prawie tak samo jak klauzule SAT, z którymi zacząłeś, ze względu na początkowe zastosowanie twierdzenia Cooka-Levina.
Czy ktoś może zobaczyć, jak zrobić redukcję bardziej bezpośrednio, pomijając etap obwodu pośredniego i przechodząc bezpośrednio do 3-SAT? Byłbym nawet szczęśliwy z bezpośredniej redukcji w specjalnym przypadku n-SAT.
(Sądzę, że istnieją pewne kompromisy między czasem obliczeń a wielkością wyjściową. Oczywiście zdegenerowane - choć na szczęście niedopuszczalne, chyba że P = NP - rozwiązaniem byłoby po prostu rozwiązanie problemu SAT, a następnie wyemitowanie trywialnych 3 -Sat wystąpienie ...)
EDYCJA: Na podstawie odpowiedzi Ratcheta jest teraz jasne, że redukcja do n-SAT jest dość trywialna (i że naprawdę powinienem był to przemyśleć nieco bardziej ostrożnie przed opublikowaniem). Pozostawiam to pytanie na chwilę na wypadek, gdyby ktoś znał odpowiedź na bardziej ogólną sytuację, w przeciwnym razie po prostu zaakceptuję odpowiedź zapadkową.