Кіріспе
Есептеу күрделілігі теориясының саласы
Компьютерлік ғылымда параметрленген күрделілік – есептеу күрделілігі теориясының саласы, ол есептеу мәселелерін кіріс немесе шығыстың бірнеше параметрлеріне қатысты олардың қиындықтарына сәйкес жіктеуге бағытталған. Мәселенің күрделілігі осы параметрлердің функциясы ретінде өлшенеді. Бұл 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) уақытында шешетін алгоритм бар. Бұл дегеніміз – вертикальды қаптама – параметр ретінде ерітінді өлшемімен анықталатын тұрақты параметр.
In computer science, parameterized complexity is a branch of computational complexity theory that focuses on classifying computational problems according to their inherent difficulty with respect to multiple parameters of the input or output. The complexity of a problem is then measured as a function of those parameters. This allows the classification of NP hard problems on a finer scale than in the classical setting, where the complexity of a problem is only measured as a function of the number of bits in the input. This appears to have been first demonstrated in The first systematic work on parameterized complexity was done by
Under the assumption that P ≠ NP, there exist many natural problems that require superpolynomial running time when complexity is measured in terms of the input size only but that are computable in a time that is polynomial in the input size and exponential or worse in a parameter k. Hence, if k is fixed at a small value and the growth of the function over k is relatively small then such problems can still be considered "tractable" despite their traditional classification as "intractable". The existence of efficient, exact, and deterministic solving algorithms for NP complete, or otherwise NP hard, problems is considered unlikely, if input parameters are not fixed; all known solving algorithms for these problems require time that is exponential (so in particular superpolynomial) in the total size of the input. However, some problems can be solved by algorithms that are exponential only in the size of a fixed parameter while polynomial in the size of the input. Such an algorithm is called a fixed parameter tractable (FPT) algorithm, because the problem can be solved efficiently (i. e., in polynomial time) for constant values of the fixed parameter. Problems in which some parameter k is fixed are called parameterized problems. A parameterized problem that allows for such an FPT algorithm is said to be a fixed parameter tractable problem and belongs to the class , and the early name of the theory of parameterized complexity was fixed parameter tractability. Many problems have the following form: given an object x and a nonnegative integer k, does x have some property that depends on k? For instance, for the vertex cover problem, the parameter can be the number of vertices in the cover. In many applications, for example when modelling error correction, one can assume the parameter to be "small" compared to the total input size. Then it is challenging to find an algorithm that is exponential only in k, and not in the input size. In this way, parameterized complexity can be seen as two dimensional complexity theory. This concept is formalized as follows:
A parameterized problem is a language , where is a finite alphabet. The second component is called the parameter of the problem. A parameterized problem L is fixed parameter tractable if the question "?" can be decided in running time , where f is an arbitrary function depending only on k. The corresponding complexity class is called FPT. For example, there is an algorithm that solves the vertex cover problem in time, where n is the number of vertices and k is the size of the vertex cover. This means that vertex cover is fixed parameter tractable with the size of the solution as the parameter.
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) құруға мүмкіндік беретін барлық оптимизациялау мәселелерін қамтиды.
The class FPL (fixed parameter linear) is the class of problems solvable in time for some computable function f. FPL is thus a subclass of FPT. An example is the Boolean satisfiability problem, parameterised by the number of variables. A given formula of size m with k variables can be checked by brute force in time A vertex cover of size k in a graph of order n can be found in time , so the vertex cover problem is also in FPL. An example of a problem that is thought not to be in FPT is graph coloring parameterised by the number of colors. It is known that 3 coloring is NP hard, and an algorithm for graph k coloring in time for would run in polynomial time in the size of the input. Thus, if graph coloring parameterised by the number of colors were in FPT, then P = NP. There are a number of alternative definitions of FPT. For example, the running time requirement can be replaced by Also, a parameterised problem is in FPT if it has a so called kernel. Kernelization is a preprocessing technique that reduces the original instance to its "hard kernel", a possibly much smaller instance that is equivalent to the original instance but has a size that is bounded by a function in the parameter. FPT is closed under a parameterised notion of reductions called fpt reductions. Such reductions transform an instance of some problem into an equivalent instance of another problem (with ) and can be computed in time where is a polynomial. Obviously, FPT contains all polynomial time computable problems. Moreover, it contains all optimisation problems in NP that allow an efficient polynomial time approximation scheme (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 таңдаумен қосалқы жиынды таңдай аламыз.
W[P] can be loosely thought of as the class of problems where we have a set S of n items, and we want to find a subset of size k such that a certain property holds. We can encode a choice as a list of k integers, stored in binary. Since the highest any of these numbers can be is n, bits are needed for each number. Therefore total bits are needed to encode a choice. Therefore we can select a subset with nondeterministic choices.
XP
XP – бұл кейбір есептеуге болатын f функциясы үшін уақыт ішінде шешілетін параметрленген мәселелер класы. Бұл мәселелер slicewise polynomial деп аталады, себебі әрбір белгілі k "қимасы" үшін полиномиалдық алгоритм бар, бірақ әр k үшін экспонентасы әртүрлі болуы мүмкін. Бұл FPT-мен салыстырыңыз, ол k-ның әр мәні үшін тек әртүрлі тұрақты көбейткіштерге ғана рұқсат береді. XP, FPT-ні қамтиды және бұл қамту диагональдау арқылы қатаң екені белгілі.
пара-НП
para NP – бұл, есептелетін f функциясы үшін, уақытында шешілетін, белгісіз алгоритмді қолданатын параметрленген проблемалар класы. Егер және тек қана егер A проблемасы para NP қиын болса, ол параметрдің тұрақты мәні үшін де қиын болады. Яғни, k-ның белгілі бір тұрақты мәнінде қиындық байқалады. Қиын параметрленген проблема , егер қиын болса, онда оның классикалық мысалы – түстер саны k бойынша параметрленген графты бояу, ол тіпті қиын (Графты бояу#Есептеу күрделілігін қараңыз).
A problem is para NP hard if it is hard already for a constant value of the parameter. That is, there is a "slice" of fixed k that is hard. A parameterized problem that is hard cannot belong to the class , unless A classic example of a hard parameterized problem is graph coloring, parameterized by the number k of colors, which is already hard for (see Graph coloring#Computational complexity).
Иерархиялық жүйе
A иерархиясы – W иерархиясына ұқсас есептеу күрделілігінің сыныптар жиынтығы. Дегенмен, W иерархиясы NP ішінде орналасса, A иерархиясы классикалық күрделіліктегі полиномдық уақыт иерархиясын жақынрақ бейнелейді. A[1] = W[1] екені белгілі.