Кіріспе
Шектілік қанағаттандырудың күрделілігі – есептеу күрделілігі теориясының шектеулерді қанағаттандыруға қолданылуы. Ол негізінен шекті домендердегі шектеулерді қанағаттандыру мәселелерінің шешілуге болатын және шешілмейтін кластарын ажырату мақсатында зерттелді. Шекті домендегі шектеуді қанағаттандыру мәселесін шешу, әдетте, NP-толық мәселе болып табылады. Зерттеулер көрсеткендей, полиномиалдық уақытта шешілетін бірнеше жағдайлар бар, олар көбінесе рұқсат етілген домендерді, шектеулерді немесе айнымалыларға шектеулер қою тәсілін шектеу арқылы қол жеткізіледі. Сондай-ақ, зерттеулер шектеуді қанағаттандыру мәселесі мен шекті модельдер теориясы және деректер базалары сияқты басқа салалардағы мәселелер арасындағы байланысты анықтады.
Шолу
Шекті домендегі шектеуді қанағаттандыру мәселесінің шешімі бар-жоғын анықтау, жалпы жағдайда NP-толық проблема болып табылады. Бұл, басқа да NP-толық проблемалардың көптегенін шектеуді қанағаттандыру проблемалары түрінде көрсетудің тікелей салдары. Мұндай проблемалардың ішінде ұйғарымдық қанағаттандырылуы және үш түске бояу мәселесі бар. Шешім табудың қарапайымдығын шектеуді қанағаттандыру мәселелерінің нақты кластарын қарастыру арқылы қол жеткізуге болады. Мысалы, егер домен екілік болса және барлық шектеулер екілік болса, қанағаттандырылуды анықтау полиномиалдық уақытта шешіледі, себебі бұл мәселе 2-SAT-қа тең, ал ол полиномиалдық уақытта шешілетін мәселе. Зерттеулердің бір бағыты шектеуді қанағаттандыру мәселесі мен екі реляциялық құрылым арасындағы гомоморфизмнің болуын анықтау мәселесі арасындағы сәйкестікті пайдаланды. Бұл сәйкестік шектеуді қанағаттандыруды дәстүрлі түрде деректер базасы теориясымен байланысты тақырыптарға қосуға мүмкіндік берді. Қарастырылып жатқан зерттеу мәселесі – шектеулер жиынтығында дихотомиялардың болуы. Бұл, шектеулер жиынтығында тек полиномиалдық уақытта шешілетін және NP-толық шектеулер ғана бар ма деген сұрақ. Реляциялық шектеулер үшін (төменде қараңыз) бұл сұрақ Буль домендері үшін Шафердің дихотомия теоремасымен, ал кез келген шекті домен үшін Андрей Булатов және Дмитрий Жук 2017 жылы тәуелсіз түрде оң жауап берді.
Шектеулер
Жалпы шектеуді қанағаттандыру мәселесінің шешілуге болатын шағын жағдайларын проблемаларға сәйкес шектеулер қою арқылы алуға болады. Әртүрлі шектеу түрлері қарастырылған.
Бірыңғай және бірыңғай емес шектеулер
Шектелген шектеу тілімен шектеу арқылы алынған кіші жағдай біркелкі емес проблема деп аталады. Бұл проблемалар көбінесе гомоморфизм проблемасы тұрғысынан шектеулерді қанағаттандыруды білдіргенде қарастырылады, төменде түсіндірілгендей. Біркелкі проблемалар да гомоморфизм проблемалары аясында анықталды; біркелкі проблеманы біркелкі емес проблемалардың (мүмкін шексіз) жиынтығының бірігісі ретінде анықтауға болады. Біркелкі емес проблемалардың шексіз жиынтығынан құралған біркелкі проблема, тіпті осы біркелкі емес проблемалардың бәрі де шешілсе де, шешілмейтін болуы мүмкін.
Ағаштарға негізделген шектеулер
Кейбір қарастырылған шектеулер, шектеулердің бәрі екілік болып табылатын және айнымалылар бойынша ағаш құрайтын, шектеулерді қанағаттандыру мәселесінің шешілу мүмкіндігіне негізделген. Бұл – құрылымдық шектеу, себебі оны домендер мен қатынастарды ескермей, тек шектеулердің қолданбалы аймағын қарастыру арқылы тексеруге болады. Бұл шектеу мәселенің бастапқы графигіне негізделген, онда графиктің түйіндері мәселенің айнымалылары, ал қабырғалары екі айнымалы арасындағы шектеудің бар екенін көрсетеді. Дегенмен, шешілу мүмкіндігін түпнұсқа мәселенің түрлендірілген нұсқаларының бастапқы графигіне ағаш болу шартын қою арқылы да қол жеткізуге болады.
Теңдестік шарттары
Шекті қанағаттандыру мәселелерін басқа мәселелер арқылы қайта формулирлеуге болады, осы арқылы шешілуге болатын жағдайларға теңдестіретін шарттар туындайды. Ең көп қолданылатын қайта формулирлеу – гомоморфизм мәселесі тұрғысынан қарастыру.
Шектілік қанағаттандыру және гомоморфизм мәселесі
Шектілік қанағаттандыру және деректер базасы теориясы арасындағы байланыс, шектеудің қанағаттандырылу проблемасы мен екі реляциялық құрылым арасында гомоморфизмнің болуын тексеру проблемасы арасындағы сәйкестік түрінде орнатылды. Реляциялық құрылым – реляциялық деректер базасының математикалық бейнесі: ол мәндер жиыны және осы мәндер арасындағы қатынастар жиыны. Формальды түрде, , мұндағы әрқайсысы – қатынас , яғни мәндердің жиынтығы. Реляциялық құрылым шектеуді қанағаттандыру проблемасынан өзгеше, себебі шектеу – қатынас және айнымалылардың жиынтығы. Олардың қолданылу әдісі де әртүрлі: шектеуді қанағаттандыру проблемасы үшін қанағаттандыратын белгілеуді табу – басты мәселе, ал реляциялық құрылым үшін – сұранысқа жауап табу. Дегенмен, шектеуді қанағаттандыру проблемасы екі реляциялық құрылым арасында гомоморфизмнің бар екенін анықтау проблемасымен байланысты. Гомоморфизм – бірінші реляцияның мәндерінен екінші реляцияның мәндеріне қолданылатын функция, ол бірінші құрылымның барлық мәндеріне қолданылғанда, оны екінші құрылымның сәйкес қатынасының ішкі жиынына айналдырады. Формальды түрде, егер ол функция болса, онда гомоморфизм болып табылады, егер . Шектеуді қанағаттандыру проблемасы мен гомоморфизм проблемасы арасында тікелей сәйкестік орнатуға болады. Берілген шектеуді қанағаттандыру проблемасы үшін, екі реляциялық құрылымды құруға болады: біріншісі айнымалыларды және шектеулердің қолтаңбаларын кодтайды, екіншісі – домендерді және шектеулердің қатынастарын. Шектеуді қанағаттандыру проблемасының қанағаттандырылуы әрбір айнымалыға мән табуға сәйкес келеді, мұнда қолтаңбадағы мәнді ауыстыру оны шектеудің қатынасындағы туплге айналдырады. Бұл екі реляциялық құрылым арасында гомоморфизмнің болуымен ғана мүмкін. Кері сәйкестік – кері процесс: екі реляциялық құрылым берілгенде, біріншісі шектеуді қанағаттандыру проблемасының айнымалыларына, ал екіншісі – сол проблеманың доменіне кодталады. Бірінші құрылымның әрбір қатынасының әрбір туплы үшін, екінші құрылымның сәйкес қатынасын құндылықтары ретінде иеленетін шектеу бар. Осылайша, гомоморфизм – әрбір шектеудің әрбір аясын (бірінші құрылымның әрбір қатынасының әрбір туплы) шектеудің қатынасындағы туплге (екінші құрылымның сәйкес қатынасындағы туплге) бейімдеуге сәйкес келеді. Біркелкі емес шектеуді қанағаттандыру проблемасы – гомоморфизм проблемасының екінші құрылымы бекітілген жағдай. Басқаша айтқанда, әрбір реляциялық құрылым біркелкі емес проблеманы анықтайды, яғни оған гомоморфты қатынас құрылымының бар-жоғын анықтау. Бірінші құрылымға да ұқсас шектеу қоюға болады; кез келген бекітілген бірінші құрылым үшін гомоморфизм проблемасы шешіледі, себебі онда бірінші құрылымнан екіншісіне тек көпмүшелік саны ғана функциялар бар. Біркелкі шектеуді қанағаттандыру проблемасы – гомоморфизм проблемасының бірінші және екінші құрылымдары үшін құрылымдар жиынтығына ерікті шектеу.
A relational structure is different from a constraint satisfaction problem because a constraint is a relation and a tuple of variables. Also different is the way in which they are used: for a constraint satisfaction problem, finding a satisfying assignment is the main problem; for a relation structure, the main problem is finding the answer to a query. The constraint satisfaction problem is however related to the problem of establishing the existence of a homomorphism between two relational structures. A homomorphism is a function from the values of the first relation to the values of the second that, when applied to all values of a relation of the first structure, turns it into a subset of the corresponding relation of the second structure. Formally, is a homomorphism from to if it is a function from to such that, if then
A direct correspondence between the constraint satisfaction problem and the homomorphism problem can be established. For a given constraint satisfaction problem, one can build a pair of relational structures, the first encoding the variables and the signatures of constraints, the second encoding the domains and the relations of the constraints. Satisfiability of the constraint satisfaction problem corresponds to finding a value for every variable such that replacing a value in a signature makes it a tuple in the relation of the constraint. This is possible exactly if this evaluation is a homomorphism between the two relational structures. The inverse correspondence is the opposite one: given two relational structures, one encodes the values of the first in the variables of a constraint satisfaction problem, and the values of the second in the domain of the same problem. For every tuple of every relation of the first structure, there is a constraint having as values the correspondent relation of the second structure. This way, a homomorphism corresponds to mapping every scope of every constraint (every tuple of every relation of the first structure) into a tuple in the relation of the constraint (a tuple in the corresponding relation of the second structure). A non uniform constraint satisfaction problem is a restriction where the second structure of the homomorphism problem is fixed. In other words, every relational structure defines a non uniform problem, that of telling whether a relation structure is homomorphic to it. A similar restriction can be placed on the first structure; for any fixed first structure, the homomorphism problem is tractable, because then there are only a polynomial number of functions from the first structure to the second. A uniform constraint satisfaction problem is an arbitrary restriction to the sets of structures for the first and second structure of the homomorphism problem.
Бірлескен сұранысты бағалау және шектеу
Гомоморфизм мәселесі конъюнктивті сұранысты бағалаумен және конъюнктивті сұранысты қамтумен эквивалентті болғандықтан, осы екі мәселе де шектеулерді қанағаттандыруға эквивалентті.
Бағалауға қатысу
Әрбір шектеуді дерекқорындағы кесте ретінде қарастыруға болады, онда айнымалылар атрибут атаулары ретінде түсіндіріледі, ал қатынас – кестедегі жазбалар жиынтығы. Шектеулерді қанағаттандыру мәселесінің шешімдері осы шектеулерді білдіретін кестелердің ішкі біріктірілісінің нәтижесі болып табылады; демек, шешімдердің болуы мәселесі бірнеше кестенің ішкі біріктірілісінің нәтижесі бос емес екенін тексеру мәселесі ретінде қайта формулировкаланады.
Дихотомиялық теоремалар
Кейбір шектеу тілдері (немесе біркелкі емес есептер) полиномдық уақытта шешілетін есептерге сәйкес келетіні белгілі, ал басқалары NP-толық есептерді білдіреді. Дегенмен, кейбір шектеу тілдері екеуінің де қатарына жатпауы мүмкін. Ладнер теоремасы бойынша, егер P, NP-ға тең болмаса, онда NP-де полиномдық уақытта және NP-ге қиын да емес есептер бар. Белгілі бір шектеу тілі және құрылымдық шектеулері жоқ шектеу есептері үшін, мұндай аралық есептер жоқ екені Андрей Булатовтың дәлелдемесімен көрсетілген. Қатты шектеу тілдері үшін тағы бір дихотомия теоремасы – Hell–Nesetril теоремасы, ол бір тұрақты симметриялық қатынасы бар екілік шектеулердегі есептер үшін дихотомияны көрсетеді. Гомоморфизм есебі тұрғысынан алғанда, әрбір мұндай есеп реляциялық құрылымнан белгілі бір тұрақты бағытталмаған графқа гомоморфизмнің болуымен тең (бағытталмаған графты бір ғана екілік симметриялық қатынасы бар реляциялық құрылым ретінде қарастыруға болады). Hell–Nesetril теоремасы әрбір мұндай есептің полиномдық уақытта немесе NP-толық екенін дәлелдейді. Нақтырақ айтқанда, егер граф 2-түсті болса, яғни екі бөлікті граф болса, есеп полиномдық уақытта шешіледі, әйтпесе NP-толық болады.
Another dichotomy theorem for constraint languages is the Hell–Nesetril theorem, which shows a dichotomy for problems on binary constraints with a single fixed symmetric relation. In terms of the homomorphism problem, every such problem is equivalent to the existence of a homomorphism from a relational structure to a given fixed undirected graph (an undirected graph can be regarded as a relational structure with a single binary symmetric relation). The Hell–Nesetril theorem proves that every such problem is either polynomial time or NP complete. More precisely, the problem is polynomial time if the graph is 2 colorable, that is, it is bipartite, and is NP complete otherwise.
Жүгіру қабілеті үшін жеткілікті жағдайлар
Кейбір күрделілік нәтижелері кейбір шектеулердің полиномиалды екенін көрсетеді, бірақ осыған ұқсас қалған шектеулердің NP-қиын екенін дәлелдемейді.
Деректер журналы
Датталогтағы көрініспен байланысты өңдеуге қабілеттіліктің жеткілікті шарты. Бульдік Датталог сұранысы берілген әліпбидегі литералдар жиынына шындық мәнін береді, әр литерал ; нысанындағы өрнек болады; нәтижесінде, Бульдік Датталог сұранысы литералдар жиындары жиынтығын көрсетеді, өйткені оны шын деп бағаланатын барлық литералдар жиынына семантикалық түрде тең деп санауға болады. Екінші жағынан, біртекті емес мәселені ұқсас жиынтықты көрсету тәсілі ретінде қарастыруға болады. Берілген біртекті емес мәселе үшін шектеулерде қолданылатын қатынастар жиынтығы белгілі болады; нәтижесінде, оларға бірегей атаулар беруге болады. Осы біртекті емес мәселенің мысалы осы үлгідегі литералдар жиыны ретінде жазылуы мүмкін. Бұл литералдар жиындарының арасында кейбіреулері қанағаттандырылатын, ал кейбіреулері қанағаттандырылмайтын болады; литералдар жиынының қанағаттандырылатындығы біртекті емес мәселенің анықталған қатынастарына байланысты. Керісінше, біртекті емес мәселе, қай литералдар жиыны қанағаттандырылатын мысалдарды, ал қайсысы қанағаттандырылмайтын мысалдарды көрсететінін айтады. Қатынастарға атау берілгеннен кейін, біртекті емес мәселе литералдар жиындарын көрсетеді: қанағаттандырылатын (немесе қанағаттандырылмайтын) мысалдарға байланысты. Өңдеуге қабілеттіліктің жеткілікті шарты – біртекті емес мәселенің қанағаттандырылмайтын мысалдарының жиынтығы Бульдік Датталог сұранысы арқылы көрсетілсе, онда ол өңдеуге жарамды. Басқаша айтқанда, егер біртекті емес мәселенің қанағаттандырылмайтын мысалдарының жиынтығы сонымен қатар Бульдік Датталог сұранысын қанағаттандыратын литералдар жиынтығы болса, онда біртекті емес мәселе шешіледі.
Ағаш негізіндегі жағдайлар
Тек бинарлық шектеулерден тұратын шектеулерді қанағаттандыру мәселелерін графтар ретінде қарастыруға болады, онда төбелер айнымалыларды, ал қабырғалар екі айнымалы арасындағы шектеудің бар екенін көрсетеді. Бұл граф Гайфман графигі немесе проблеманың бастапқы шектеу графигі (немесе жай ғана бастапқы граф) деп аталады. Егер проблеманың бастапқы графигі ациклді болса, проблеманың қанағаттандырылатынын анықтау оңай шешілетін мәселе болып табылады. Бұл құрылымдық шектеу, себебі оны шектеулердің ауқытын ғана қарастыру арқылы тексеруге болады, олардың өзара қатынастарын және доменін ескермей. Ациклді граф – орман, бірақ байланыстылық көбінесе қарастырылады; нәтижесінде, көбінесе бастапқы графтар ағаштар болып қарастырылады. Ағаш тәрізді шектеулерді қанағаттандыру мәселелерінің бұл қасиеті ыдырату әдістерімен пайдаланылады, олар проблемаларды ағаш ретінде орналасқан, тек бинарлық шектеулерден тұратын эквивалентті проблемаларға айналдырады. Бұл проблемалардың айнымалылары бастапқы проблеманың айнымалылар жиындарына сәйкес келеді; мұндай айнымалының домені бастапқы проблеманың кейбір шектеулерін қарастыру арқылы алынады, олардың ауқымы айнымалылардың сәйкес бастапқы жиынында қамтылған; осы жаңа проблемалардың шектеулері екі жиынтықта қамтылған айнымалылардың теңдігін көрсетеді. Егер мұндай эквивалентті проблеманың графигі ағаш болса, проблема тиімді шешіледі. Алайда, мұндай эквивалентті проблеманы жасау екі факторға байланысты тиімді болмауы мүмкін: айнымалылар жиынындағы шектеулер тобының күрделі әсерін анықтау қажеттілігі және белгілі бір шектеулер тобын қанағаттандыратын барлық мәндердің жиынтығын сақтау қажеттілігі.
Түйірілудің қажетті шарты
Универсалды гаджетке негізделген шектеулер тілінің шешілуі үшін қажетті шарт дәлелденді. Универсалды гаджет – проекция арқылы жаңа қатынастарды көрсету мақсатымен бастапқыда анықталған нақты шектеулерді қанағаттандыру мәселесі.
Функцияларды қысқарту және домендерді қысқарту
Қысым функциялары – шектеу тілдерінің доменінің өлшемін азайту үшін қолданылатын функциялар. Қысым функциясы доменнің бөлінісі және бөліністегі әрбір жиын үшін өкілдік элемент тұрғысынан анықталады. Қысым функциясы бөліністегі жиынның барлық элементтерін сол жиынның өкілдік элементіне бейімдейді. Мұндай функция қысым функциясы болу үшін, функцияны тілдегі қатынастың түйінінің барлық элементтеріне қолданғанда, қатынастағы басқа түйін шығуы керек. Бөліністе кем дегенде бірден үлкен өлшемді жиын бар деп есептеледі. Формальды түрде, доменнің кем дегенде бірден үлкен өлшемді жиынтығын қамтитын бөлініс берілгенде, қысым функциясы – бұл әрбір екі элементі бірдей бөліністе жатқан және әрбір түйін үшін келесі теңдік орындалады: . Егер шектеу тілінде қысым функциясы болса, доменді қысым функциясы арқылы қысқартуға болады. Шындығында, бөліністегі әрбір элементті оған қысым функциясын қолдану нәтижесімен алмастыруға болады, себебі бұл нәтиже сол элемент қанағаттандырған барлық шектеулерді қанағаттандыруға кепілдік береді. Нәтижесінде, барлық өкілдік емес элементтерді шектеу тілінен жоюға болады. Қысым функциясы жоқ шектеу тілдері қысқартылған тілдер деп аталады; басқаша айтқанда, бұл тілдерде барлық мүмкін қысқартулар қысым функциялары арқылы қолданылған.
For constraint problems on a constraint language has a squashing function, the domain can be reduced via the squashing function. Indeed, every element in a set in the partition can be replaced with the result of applying the squashing function to it, as this result is guaranteed to satisfy at least all constraints that were satisfied by the element. As a result, all non representative elements can be removed from the constraint language. Constraint languages for which no squashing function exist are called reduced languages; equivalently, these are languages on which all reductions via squashing functions have been applied.
Тәртіпке сай болудың қажетті шарты
Жалпыға ортақ құрылғыға негізделген есептеуге келудің қажетті шарты қысқартылған тілдер үшін орындалады. Мұндай тіл есептеуге келеді, егер әмбебап құрылғыда жоғарыда көрсетілгендей функция ретінде қарастырылғанда, тұрақты функция, көпшілік функция, идемпотенттік екілік функция, сызықтық функция немесе жартылай проекция болатын шешім болса.