Кіріспе

Шектілік қанағаттандырудың күрделілігі – есептеу күрделілігі теориясының шектеулерді қанағаттандыруға қолданылуы. Ол негізінен шекті домендердегі шектеулерді қанағаттандыру мәселелерінің шешілуге болатын және шешілмейтін кластарын ажырату мақсатында зерттелді. Шекті домендегі шектеуді қанағаттандыру мәселесін шешу, әдетте, NP-толық мәселе болып табылады. Зерттеулер көрсеткендей, полиномиалдық уақытта шешілетін бірнеше жағдайлар бар, олар көбінесе рұқсат етілген домендерді, шектеулерді немесе айнымалыларға шектеулер қою тәсілін шектеу арқылы қол жеткізіледі. Сондай-ақ, зерттеулер шектеуді қанағаттандыру мәселесі мен шекті модельдер теориясы және деректер базалары сияқты басқа салалардағы мәселелер арасындағы байланысты анықтады.

Шолу

Шекті домендегі шектеуді қанағаттандыру мәселесінің шешімі бар-жоғын анықтау, жалпы жағдайда NP-толық проблема болып табылады. Бұл, басқа да NP-толық проблемалардың көптегенін шектеуді қанағаттандыру проблемалары түрінде көрсетудің тікелей салдары. Мұндай проблемалардың ішінде ұйғарымдық қанағаттандырылуы және үш түске бояу мәселесі бар. Шешім табудың қарапайымдығын шектеуді қанағаттандыру мәселелерінің нақты кластарын қарастыру арқылы қол жеткізуге болады. Мысалы, егер домен екілік болса және барлық шектеулер екілік болса, қанағаттандырылуды анықтау полиномиалдық уақытта шешіледі, себебі бұл мәселе 2-SAT-қа тең, ал ол полиномиалдық уақытта шешілетін мәселе. Зерттеулердің бір бағыты шектеуді қанағаттандыру мәселесі мен екі реляциялық құрылым арасындағы гомоморфизмнің болуын анықтау мәселесі арасындағы сәйкестікті пайдаланды. Бұл сәйкестік шектеуді қанағаттандыруды дәстүрлі түрде деректер базасы теориясымен байланысты тақырыптарға қосуға мүмкіндік берді. Қарастырылып жатқан зерттеу мәселесі – шектеулер жиынтығында дихотомиялардың болуы. Бұл, шектеулер жиынтығында тек полиномиалдық уақытта шешілетін және NP-толық шектеулер ғана бар ма деген сұрақ. Реляциялық шектеулер үшін (төменде қараңыз) бұл сұрақ Буль домендері үшін Шафердің дихотомия теоремасымен, ал кез келген шекті домен үшін Андрей Булатов және Дмитрий Жук 2017 жылы тәуелсіз түрде оң жауап берді.

Шектеулер

Жалпы шектеуді қанағаттандыру мәселесінің шешілуге болатын шағын жағдайларын проблемаларға сәйкес шектеулер қою арқылы алуға болады. Әртүрлі шектеу түрлері қарастырылған.

Бірыңғай және бірыңғай емес шектеулер

Шектелген шектеу тілімен шектеу арқылы алынған кіші жағдай біркелкі емес проблема деп аталады. Бұл проблемалар көбінесе гомоморфизм проблемасы тұрғысынан шектеулерді қанағаттандыруды білдіргенде қарастырылады, төменде түсіндірілгендей. Біркелкі проблемалар да гомоморфизм проблемалары аясында анықталды; біркелкі проблеманы біркелкі емес проблемалардың (мүмкін шексіз) жиынтығының бірігісі ретінде анықтауға болады. Біркелкі емес проблемалардың шексіз жиынтығынан құралған біркелкі проблема, тіпті осы біркелкі емес проблемалардың бәрі де шешілсе де, шешілмейтін болуы мүмкін.

Ағаштарға негізделген шектеулер

Кейбір қарастырылған шектеулер, шектеулердің бәрі екілік болып табылатын және айнымалылар бойынша ағаш құрайтын, шектеулерді қанағаттандыру мәселесінің шешілу мүмкіндігіне негізделген. Бұл – құрылымдық шектеу, себебі оны домендер мен қатынастарды ескермей, тек шектеулердің қолданбалы аймағын қарастыру арқылы тексеруге болады. Бұл шектеу мәселенің бастапқы графигіне негізделген, онда графиктің түйіндері мәселенің айнымалылары, ал қабырғалары екі айнымалы арасындағы шектеудің бар екенін көрсетеді. Дегенмен, шешілу мүмкіндігін түпнұсқа мәселенің түрлендірілген нұсқаларының бастапқы графигіне ағаш болу шартын қою арқылы да қол жеткізуге болады.

Теңдестік шарттары

Шекті қанағаттандыру мәселелерін басқа мәселелер арқылы қайта формулирлеуге болады, осы арқылы шешілуге болатын жағдайларға теңдестіретін шарттар туындайды. Ең көп қолданылатын қайта формулирлеу – гомоморфизм мәселесі тұрғысынан қарастыру.

Шектілік қанағаттандыру және гомоморфизм мәселесі

Шектілік қанағаттандыру және деректер базасы теориясы арасындағы байланыс, шектеудің қанағаттандырылу проблемасы мен екі реляциялық құрылым арасында гомоморфизмнің болуын тексеру проблемасы арасындағы сәйкестік түрінде орнатылды. Реляциялық құрылым – реляциялық деректер базасының математикалық бейнесі: ол мәндер жиыны және осы мәндер арасындағы қатынастар жиыны. Формальды түрде, , мұндағы әрқайсысы – қатынас , яғни мәндердің жиынтығы. Реляциялық құрылым шектеуді қанағаттандыру проблемасынан өзгеше, себебі шектеу – қатынас және айнымалылардың жиынтығы. Олардың қолданылу әдісі де әртүрлі: шектеуді қанағаттандыру проблемасы үшін қанағаттандыратын белгілеуді табу – басты мәселе, ал реляциялық құрылым үшін – сұранысқа жауап табу. Дегенмен, шектеуді қанағаттандыру проблемасы екі реляциялық құрылым арасында гомоморфизмнің бар екенін анықтау проблемасымен байланысты. Гомоморфизм – бірінші реляцияның мәндерінен екінші реляцияның мәндеріне қолданылатын функция, ол бірінші құрылымның барлық мәндеріне қолданылғанда, оны екінші құрылымның сәйкес қатынасының ішкі жиынына айналдырады. Формальды түрде, егер ол функция болса, онда гомоморфизм болып табылады, егер . Шектеуді қанағаттандыру проблемасы мен гомоморфизм проблемасы арасында тікелей сәйкестік орнатуға болады. Берілген шектеуді қанағаттандыру проблемасы үшін, екі реляциялық құрылымды құруға болады: біріншісі айнымалыларды және шектеулердің қолтаңбаларын кодтайды, екіншісі – домендерді және шектеулердің қатынастарын. Шектеуді қанағаттандыру проблемасының қанағаттандырылуы әрбір айнымалыға мән табуға сәйкес келеді, мұнда қолтаңбадағы мәнді ауыстыру оны шектеудің қатынасындағы туплге айналдырады. Бұл екі реляциялық құрылым арасында гомоморфизмнің болуымен ғана мүмкін. Кері сәйкестік – кері процесс: екі реляциялық құрылым берілгенде, біріншісі шектеуді қанағаттандыру проблемасының айнымалыларына, ал екіншісі – сол проблеманың доменіне кодталады. Бірінші құрылымның әрбір қатынасының әрбір туплы үшін, екінші құрылымның сәйкес қатынасын құндылықтары ретінде иеленетін шектеу бар. Осылайша, гомоморфизм – әрбір шектеудің әрбір аясын (бірінші құрылымның әрбір қатынасының әрбір туплы) шектеудің қатынасындағы туплге (екінші құрылымның сәйкес қатынасындағы туплге) бейімдеуге сәйкес келеді. Біркелкі емес шектеуді қанағаттандыру проблемасы – гомоморфизм проблемасының екінші құрылымы бекітілген жағдай. Басқаша айтқанда, әрбір реляциялық құрылым біркелкі емес проблеманы анықтайды, яғни оған гомоморфты қатынас құрылымының бар-жоғын анықтау. Бірінші құрылымға да ұқсас шектеу қоюға болады; кез келген бекітілген бірінші құрылым үшін гомоморфизм проблемасы шешіледі, себебі онда бірінші құрылымнан екіншісіне тек көпмүшелік саны ғана функциялар бар. Біркелкі шектеуді қанағаттандыру проблемасы – гомоморфизм проблемасының бірінші және екінші құрылымдары үшін құрылымдар жиынтығына ерікті шектеу.

Бірлескен сұранысты бағалау және шектеу

Гомоморфизм мәселесі конъюнктивті сұранысты бағалаумен және конъюнктивті сұранысты қамтумен эквивалентті болғандықтан, осы екі мәселе де шектеулерді қанағаттандыруға эквивалентті.

Бағалауға қатысу

Әрбір шектеуді дерекқорындағы кесте ретінде қарастыруға болады, онда айнымалылар атрибут атаулары ретінде түсіндіріледі, ал қатынас – кестедегі жазбалар жиынтығы. Шектеулерді қанағаттандыру мәселесінің шешімдері осы шектеулерді білдіретін кестелердің ішкі біріктірілісінің нәтижесі болып табылады; демек, шешімдердің болуы мәселесі бірнеше кестенің ішкі біріктірілісінің нәтижесі бос емес екенін тексеру мәселесі ретінде қайта формулировкаланады.

Дихотомиялық теоремалар

Кейбір шектеу тілдері (немесе біркелкі емес есептер) полиномдық уақытта шешілетін есептерге сәйкес келетіні белгілі, ал басқалары NP-толық есептерді білдіреді. Дегенмен, кейбір шектеу тілдері екеуінің де қатарына жатпауы мүмкін. Ладнер теоремасы бойынша, егер P, NP-ға тең болмаса, онда NP-де полиномдық уақытта және NP-ге қиын да емес есептер бар. Белгілі бір шектеу тілі және құрылымдық шектеулері жоқ шектеу есептері үшін, мұндай аралық есептер жоқ екені Андрей Булатовтың дәлелдемесімен көрсетілген. Қатты шектеу тілдері үшін тағы бір дихотомия теоремасы – Hell–Nesetril теоремасы, ол бір тұрақты симметриялық қатынасы бар екілік шектеулердегі есептер үшін дихотомияны көрсетеді. Гомоморфизм есебі тұрғысынан алғанда, әрбір мұндай есеп реляциялық құрылымнан белгілі бір тұрақты бағытталмаған графқа гомоморфизмнің болуымен тең (бағытталмаған графты бір ғана екілік симметриялық қатынасы бар реляциялық құрылым ретінде қарастыруға болады). Hell–Nesetril теоремасы әрбір мұндай есептің полиномдық уақытта немесе NP-толық екенін дәлелдейді. Нақтырақ айтқанда, егер граф 2-түсті болса, яғни екі бөлікті граф болса, есеп полиномдық уақытта шешіледі, әйтпесе NP-толық болады.

Жүгіру қабілеті үшін жеткілікті жағдайлар

Кейбір күрделілік нәтижелері кейбір шектеулердің полиномиалды екенін көрсетеді, бірақ осыған ұқсас қалған шектеулердің NP-қиын екенін дәлелдемейді.

Деректер журналы

Датталогтағы көрініспен байланысты өңдеуге қабілеттіліктің жеткілікті шарты. Бульдік Датталог сұранысы берілген әліпбидегі литералдар жиынына шындық мәнін береді, әр литерал ; нысанындағы өрнек болады; нәтижесінде, Бульдік Датталог сұранысы литералдар жиындары жиынтығын көрсетеді, өйткені оны шын деп бағаланатын барлық литералдар жиынына семантикалық түрде тең деп санауға болады. Екінші жағынан, біртекті емес мәселені ұқсас жиынтықты көрсету тәсілі ретінде қарастыруға болады. Берілген біртекті емес мәселе үшін шектеулерде қолданылатын қатынастар жиынтығы белгілі болады; нәтижесінде, оларға бірегей атаулар беруге болады. Осы біртекті емес мәселенің мысалы осы үлгідегі литералдар жиыны ретінде жазылуы мүмкін. Бұл литералдар жиындарының арасында кейбіреулері қанағаттандырылатын, ал кейбіреулері қанағаттандырылмайтын болады; литералдар жиынының қанағаттандырылатындығы біртекті емес мәселенің анықталған қатынастарына байланысты. Керісінше, біртекті емес мәселе, қай литералдар жиыны қанағаттандырылатын мысалдарды, ал қайсысы қанағаттандырылмайтын мысалдарды көрсететінін айтады. Қатынастарға атау берілгеннен кейін, біртекті емес мәселе литералдар жиындарын көрсетеді: қанағаттандырылатын (немесе қанағаттандырылмайтын) мысалдарға байланысты. Өңдеуге қабілеттіліктің жеткілікті шарты – біртекті емес мәселенің қанағаттандырылмайтын мысалдарының жиынтығы Бульдік Датталог сұранысы арқылы көрсетілсе, онда ол өңдеуге жарамды. Басқаша айтқанда, егер біртекті емес мәселенің қанағаттандырылмайтын мысалдарының жиынтығы сонымен қатар Бульдік Датталог сұранысын қанағаттандыратын литералдар жиынтығы болса, онда біртекті емес мәселе шешіледі.

Ағаш негізіндегі жағдайлар

Тек бинарлық шектеулерден тұратын шектеулерді қанағаттандыру мәселелерін графтар ретінде қарастыруға болады, онда төбелер айнымалыларды, ал қабырғалар екі айнымалы арасындағы шектеудің бар екенін көрсетеді. Бұл граф Гайфман графигі немесе проблеманың бастапқы шектеу графигі (немесе жай ғана бастапқы граф) деп аталады. Егер проблеманың бастапқы графигі ациклді болса, проблеманың қанағаттандырылатынын анықтау оңай шешілетін мәселе болып табылады. Бұл құрылымдық шектеу, себебі оны шектеулердің ауқытын ғана қарастыру арқылы тексеруге болады, олардың өзара қатынастарын және доменін ескермей. Ациклді граф – орман, бірақ байланыстылық көбінесе қарастырылады; нәтижесінде, көбінесе бастапқы графтар ағаштар болып қарастырылады. Ағаш тәрізді шектеулерді қанағаттандыру мәселелерінің бұл қасиеті ыдырату әдістерімен пайдаланылады, олар проблемаларды ағаш ретінде орналасқан, тек бинарлық шектеулерден тұратын эквивалентті проблемаларға айналдырады. Бұл проблемалардың айнымалылары бастапқы проблеманың айнымалылар жиындарына сәйкес келеді; мұндай айнымалының домені бастапқы проблеманың кейбір шектеулерін қарастыру арқылы алынады, олардың ауқымы айнымалылардың сәйкес бастапқы жиынында қамтылған; осы жаңа проблемалардың шектеулері екі жиынтықта қамтылған айнымалылардың теңдігін көрсетеді. Егер мұндай эквивалентті проблеманың графигі ағаш болса, проблема тиімді шешіледі. Алайда, мұндай эквивалентті проблеманы жасау екі факторға байланысты тиімді болмауы мүмкін: айнымалылар жиынындағы шектеулер тобының күрделі әсерін анықтау қажеттілігі және белгілі бір шектеулер тобын қанағаттандыратын барлық мәндердің жиынтығын сақтау қажеттілігі.

Түйірілудің қажетті шарты

Универсалды гаджетке негізделген шектеулер тілінің шешілуі үшін қажетті шарт дәлелденді. Универсалды гаджет – проекция арқылы жаңа қатынастарды көрсету мақсатымен бастапқыда анықталған нақты шектеулерді қанағаттандыру мәселесі.

Функцияларды қысқарту және домендерді қысқарту

Қысым функциялары – шектеу тілдерінің доменінің өлшемін азайту үшін қолданылатын функциялар. Қысым функциясы доменнің бөлінісі және бөліністегі әрбір жиын үшін өкілдік элемент тұрғысынан анықталады. Қысым функциясы бөліністегі жиынның барлық элементтерін сол жиынның өкілдік элементіне бейімдейді. Мұндай функция қысым функциясы болу үшін, функцияны тілдегі қатынастың түйінінің барлық элементтеріне қолданғанда, қатынастағы басқа түйін шығуы керек. Бөліністе кем дегенде бірден үлкен өлшемді жиын бар деп есептеледі. Формальды түрде, доменнің кем дегенде бірден үлкен өлшемді жиынтығын қамтитын бөлініс берілгенде, қысым функциясы – бұл әрбір екі элементі бірдей бөліністе жатқан және әрбір түйін үшін келесі теңдік орындалады: . Егер шектеу тілінде қысым функциясы болса, доменді қысым функциясы арқылы қысқартуға болады. Шындығында, бөліністегі әрбір элементті оған қысым функциясын қолдану нәтижесімен алмастыруға болады, себебі бұл нәтиже сол элемент қанағаттандырған барлық шектеулерді қанағаттандыруға кепілдік береді. Нәтижесінде, барлық өкілдік емес элементтерді шектеу тілінен жоюға болады. Қысым функциясы жоқ шектеу тілдері қысқартылған тілдер деп аталады; басқаша айтқанда, бұл тілдерде барлық мүмкін қысқартулар қысым функциялары арқылы қолданылған.

Тәртіпке сай болудың қажетті шарты

Жалпыға ортақ құрылғыға негізделген есептеуге келудің қажетті шарты қысқартылған тілдер үшін орындалады. Мұндай тіл есептеуге келеді, егер әмбебап құрылғыда жоғарыда көрсетілгендей функция ретінде қарастырылғанда, тұрақты функция, көпшілік функция, идемпотенттік екілік функция, сызықтық функция немесе жартылай проекция болатын шешім болса.