Кіріспе

Есептеу күрделілігі теориясының саласы
Компьютерлік ғылымда параметрленген күрделілік – есептеу күрделілігі теориясының саласы, ол есептеу мәселелерін кіріс немесе шығыстың бірнеше параметрлеріне қатысты олардың қиындықтарына сәйкес жіктеуге бағытталған. Мәселенің күрделілігі осы параметрлердің функциясы ретінде өлшенеді. Бұл NP қиын мәселелерді классикалық жағдайға қарағанда неғұрлым ұсақ масштабта жіктеуге мүмкіндік береді, онда мәселенің күрделілігі тек кіріс биттерінің санына байланысты өлшенеді. Параметрленген күрделілік бойынша алғашқы жүйелі жұмыс P ≠ NP деген болжаммен жасалды. Күрделілік тек кіріс көлемі жағынан өлшенгенде суперполиномиялық жұмыс уақытын қажет ететін, бірақ k параметрінде полиномиялық және экспоненциалдық немесе одан да нашар уақыт ішінде есептелетін көптеген табиғи мәселелер бар. Демек, k кішігірім мәнге бекітілсе және k-ге функцияның өсуі салыстырмалы түрде кіші болса, онда мұндай проблемалар дәстүрлі жіктелуіне қарамастан "жұйылмау" деп саналуы мүмкін. Егер кіріс параметрлері белгіленбесе, NP толық немесе басқа NP қиын мәселелерді шешудің тиімді, дәл және детерминистік алгоритмдерінің болуы мүмкін емес деп саналады; осы проблемалар үшін барлық белгілі шешу алгоритмдері кірістің жалпы көлемінде экспоненциалдық (осылайша, әсіресе суперполиномиалдық) уақытты қажет етеді. Алайда кейбір мәселелерді тек тұрақты параметрдің өлшемі бойынша экспоненциалды, ал кіріс өлшемі бойынша полиномиалды алгоритмдермен шешуге болады. Мұндай алгоритм тұрақты параметрді өңдеуге болатын (FPT) алгоритм деп аталады, өйткені мәселені тұрақты параметрдің тұрақты мәндері үшін тиімді түрде (яғни полиномиалдық уақытта) шешуге болады. Кейбір k параметрлері бекітілген мәселелерді параметрленген мәселелер деп атайды. Мұндай FPT алгоритмін қолдануға мүмкіндік беретін параметрленген мәселе тұрақты параметрлік шеберлік проблемасы деп аталады және ол FPT класына жатады. Параметрленген күрделілік теориясының алғашқы атауы тұрақты параметрлік шеберлік болды. Көптеген проблемалардың мынадай түрі бар: x объектісі мен k теріс емес бүтін санды беру, x-тің k-ге тәуелді қандай да бір қасиеті бар ма? Мысалы, vertex cover проблемасы үшін параметр қаптамадағы вертикальдар саны болуы мүмкін. Көптеген қолданбаларда, мысалы қателерді түзетуді модельдеу кезінде, параметрді жалпы кіріс көлеміне қарағанда "кіші" деп қабылдауға болады. Бұл жағдайда k-да ғана экспоненциалды алгоритм табу қиын, ал кіріс өлшеміне емес. Осылайша, параметрленген күрделілікті екі өлшемді күрделілік теориясы ретінде қарастыруға болады. Бұл ұғым келесідей формальдастырылған: Параметрленген мәселе – бұл тіл L, онда Σ – шекті әліпби. Екінші компонент мәселенің параметрі деп аталады. Параметрілік мәселе L, егер сұрақ "x ∈ L?" болса, ол f(k) уақытында шешіледі, мұнда f тек k-ға байланысты кездейсоқ функция. Тиісті күрделілік класы FPT деп аталады. Мысалы, n – нүктелер саны, k – нүктелер жабуының көлемі болып табылатын нүктелерді жабу мәселесін O(2^k * n) уақытында шешетін алгоритм бар. Бұл дегеніміз – вертикальды қаптама – параметр ретінде ерітінді өлшемімен анықталатын тұрақты параметр.

FPT

FPT тұрақты параметрлік шешілетін мәселелерді қамтиды, олар белгілі бір есептеуге болатын f функциясы үшін уақытта шешіледі. Әдетте, бұл функция , , сияқты бір экспонента ретінде қарастырылады, бірақ анықтама одан да жылдам өсетін функцияларды қабылдайды. Бұл осы сыныптың алғашқы тарихының үлкен бөлігі үшін маңызды. Анықтаманың маңызды бөлігі – функциялардың , мысалы, түрін жоққа шығару. FPL класы (тұрақты параметрлік сызықтық) – белгілі бір есептеуге болатын f функциясы үшін уақытта шешілетін мәселелер класы. Осылайша, FPL – FPT-нің кіші класы. Мысалы, айнымалылар санымен параметрленген бульдік қанағаттандыру мәселесі. m өлшемі бар және k айнымалысы бар берілген формула күшпен тексеру арқылы уақытта тексерілуі мүмкін. n реттік графтың k өлшемді төбелік жабыны уақытта табылуы мүмкін, сондықтан төбелік жабу мәселесі де FPL-де. FPT-де жоқ деп саналатын мәселенің мысалы – түстер санымен параметрленген графты бояу. 3 түстің бояуы NP-қиын екені белгілі, ал k түсті графты бояу алгоритмі кірістің өлшемі бойынша полиномиалдық уақытта жұмыс істейді. Демек, егер түстер санымен параметрленген графты бояу FPT-де болса, онда P = NP. FPT-нің бірнеше баламалы анықтамалары бар. Мысалы, орындалу уақыты талабымен алмастырылуы мүмкін. Сондай-ақ, егер параметрленген мәселеде ядро болса, онда ол FPT-де болады. Ядроландыру – бастапқы мысалдарды «қатты ядроға» дейін азайтатын алдын ала өңдеу әдісі, ол бастапқы мысалға тең, бірақ параметрдегі функциямен шектелген өлшемге ие. FPT fpt азайту деп аталатын азайтулардың параметрленген түсінігі бойынша жабық. Мұндай азайтулар қандай да бір мәселенің мысалын басқа мәселенің эквивалентті мысалына (мен) түрлендіреді және оны уақытта есептеуге болады, онда – полином. Әрине, FPT полиномиалдық уақытта есептелетін барлық мәселелерді қамтиды. Сонымен қатар, ол NP-дегі тиімді полиномиалдық уақытқа жуықтау схемасын (EPTAS) құруға мүмкіндік беретін барлық оптимизациялау мәселелерін қамтиды.

W иерархиясы

W иерархиясы – есептеу күрделілігінің сыныптар жиынтығы. Параметрленген мәселе, егер әрбір мысал (fpt уақытында) ең көп дегенде i тілі бар комбинаторлық схемаға түрлендірілсе, W[i] класына жатады, мұнда егер және тек қана кірістерге дәл k кірісті 1-ге тағайындайтын қанағаттандыратын тапсырма болса. "Тіл" – кірістен шығысқа дейінгі кез келген жолдағы екіден артық кірісі бар логикалық элементтердің ең үлкен саны. Жолдағы логикалық элементтердің жалпы саны (тереңдік деп аталады) мәселенің барлық мысалы үшін қолданылатын тұрақтымен шектелуі керек. W иерархиясындағы кластардың барлығы fpt азайту бойынша жабық екенін ескеріңіз. W[i] үшін толық мәселе – салмақталған i нормаланған қанағаттандырылуы: Бульдік формула, мүмкін теріс айнымалылардың AND-терінің OR-лерінің AND ретінде жазылған, AND немесе OR қабаттарымен (және AND мен OR арасындағы i ауысулар), оны дәл k айнымалыны 1-ге орнату арқылы қанағаттандыруға бола ма? Көптеген табиғи есептеу мәселелері төменгі деңгейлерді, W[1] және W[2] иеленеді.

W[P]

W[P] – (a k шектелген Тьюринг машинасы) бойынша есептеуде ең көп дегенде бір nondeterministic таңдау жасайтын nondeterministic уақыт Тьюринг машинасымен шешілетін проблемалар класы. FPT класы W[P] класына кіреді және бұл кірігу қатаң деп есептеледі. Дегенмен, бұл мәселені шешу P және NP мәселесін шешуге әкеледі. Параметрленбеген есептеу күрделілігімен байланыстар: FPT, W[P] тең болады, егер және тек қана егер схеманың қанағаттандырылуы уақыттың ішінде шешілсе, немесе егер және тек қана егер есептеуге болатын, өспейтін, шексіз f функциясы болса, онда f(n)log n nondeterministic таңдауларды қолданатын nondeterministic полиномиалдық уақыт Тьюринг машинасы мойындаған барлық тілдер P класына жатады. W[P] класын S жиынындағы n элементтен тұратын проблемалар класы ретінде қарастыруға болады, онда белгілі бір қасиетті қанағаттандыратын k өлшемді ішкі жиынды табу қажет. Біз таңдауды екілік кодталған k бүтін саннан тұратын тізім ретінде жазуға болады. Бұл сандардың ең үлкені n болғандықтан, әр сан үшін бит қажет. Сондықтан таңдауды кодтау үшін биттердің жалпы саны қажет болады. Осылайша, біз n nondeterministic таңдаумен қосалқы жиынды таңдай аламыз.

XP

XP – бұл кейбір есептеуге болатын f функциясы үшін уақыт ішінде шешілетін параметрленген мәселелер класы. Бұл мәселелер slicewise polynomial деп аталады, себебі әрбір белгілі k "қимасы" үшін полиномиалдық алгоритм бар, бірақ әр k үшін экспонентасы әртүрлі болуы мүмкін. Бұл FPT-мен салыстырыңыз, ол k-ның әр мәні үшін тек әртүрлі тұрақты көбейткіштерге ғана рұқсат береді. XP, FPT-ні қамтиды және бұл қамту диагональдау арқылы қатаң екені белгілі.

пара-НП

para NP – бұл, есептелетін f функциясы үшін, уақытында шешілетін, белгісіз алгоритмді қолданатын параметрленген проблемалар класы. Егер және тек қана егер A проблемасы para NP қиын болса, ол параметрдің тұрақты мәні үшін де қиын болады. Яғни, k-ның белгілі бір тұрақты мәнінде қиындық байқалады. Қиын параметрленген проблема , егер қиын болса, онда оның классикалық мысалы – түстер саны k бойынша параметрленген графты бояу, ол тіпті қиын (Графты бояу#Есептеу күрделілігін қараңыз).

Иерархиялық жүйе

A иерархиясы – W иерархиясына ұқсас есептеу күрделілігінің сыныптар жиынтығы. Дегенмен, W иерархиясы NP ішінде орналасса, A иерархиясы классикалық күрделіліктегі полиномдық уақыт иерархиясын жақынрақ бейнелейді. A[1] = W[1] екені белгілі.