Кіріспе

Есептеу күрделілігі теориясында шешім проблемасының толықтығы – бұл «иә» және «жоқ» жауаптарын ауыстыру арқылы алынатын шешім проблемасы. Балама ретінде, егер шешім проблемаларын шекті жолдар жиыны ретінде қарастырсақ, онда осы жиынның белгілі бір домендегі толықтығы – оның толықтыру проблемасы болады. Мысалы, маңызды проблеманың бірі – санның жай сан екендігін анықтау. Оның толықтығы – санның жай емес (құрама) сан екенін анықтау. Мұнда толықтыру домені – бірден үлкен барлық бүтін сандар жиыны. Кез келген проблеманың толықтыру проблемасына Тьюринг азайтуы бар. Толықтыру операциясы инволюция болып табылады, яғни ол «өзін жояды», немесе толықтырудың толықтығы бастапқы проблемаға тең. Бұл күрделілік класының толықтығына жалпыланады, ол кластағы әрбір проблеманың толықтығынан тұратын толықтыру класы деп аталады. Егер класс C деп белгіленсе, оның толықтығы әдетте co C деп белгіленеді. Ескеріңіз, бұл проблемалар жиыны ретінде күрделілік класының толықтығы емес, онда көптеген проблемалар болар еді. Класс толықтыру бойынша жабық деп есептеледі, егер классдағы кез келген проблеманың толықтығы да сол класқа жатса. Кез келген проблеманың толықтыруына Тьюринг азайтулары болғандықтан, Тьюринг азайтулары бойынша жабық кез келген класс толықтыру бойынша жабық болады. Толықтыру бойынша жабық класс өзінің толықтыру класына тең. Дегенмен, көптеген бірлік азайтулар бойынша, NP сияқты маңызды класс өзінің толықтыру класынан өзгеше деп есептеледі (бірақ бұл дәлелденбеген). Кез келген күрделілік класының Тьюринг азайтуы бойынша жабылуы – бұл класс толықтыру бойынша жабық болатын класстың үстін жиыны. Толықтыру бойынша жабылу – ең кіші мұндай класс. Класс өзінің толықтығымен қиылысса, толықтыру бойынша жабық (бос болуы мүмкін) ішкі жиынды аламыз. DSPACE(f(n)) және DTIME(f(n)) сияқты әрбір детерминистік күрделілік класы толықтыру бойынша жабық, өйткені алгоритмге жауапты ауыстыратын соңғы қадамды қосуға болады. Бұл нұсқаусыз күрделілік классдары үшін жұмыс істемейді, себебі егер қабылдау және қабылдамау жолдары болса, және барлық жолдар жауабын ауыстырса, қабылдау және қабылдамау жолдары қалады – нәтижесінде машина екі жағдайда да қабылдайды. Сол сияқты, BPP, ZPP, BQP немесе PP сияқты «иә» және «жоқ» мысалдарына қатысты симметриялық анықталған ықтималдық классдары толықтыру бойынша жабық. Керісінше, RP және co RP сияқты классдар олардың ықтималдықтарын бір жақты қатемен анықтайды, сондықтан олар (қазіргі уақытта белгілі) толықтыру бойынша жабық емес. Бүгінгі күнге дейін көрсетілген күрделілік бойынша ең таңғажайып нәтижелердің кейбіреулері NL және SL күрделілік классдарының толықтыру бойынша жабық екенін көрсетті, ал бұрын олар жабық емес деп есептелді (Immerman–Szelepcsényi теоремасын қараңыз). Соңғысы қазір біз SL L-ге тең екенін білгенде таңқаларлық емес, бұл детерминистік класс. Өз-өзіне төмен кез келген класс толықтыру бойынша жабық.