Кіріспе

Оптимизация мәселелеріне жуық шешімдерді табатын алгоритмдер класы. Компьютерлік ғылым мен операциялық зерттеулерде, жуықтау алгоритмдері – бұл оптимизация мәселелерінің (әсіресе NP қиын мәселелердің) жуық шешімдерін табатын тиімді алгоритмдер, олар қайтарылған шешімнің оптималды шешімге дейінгі қашықтығына қатысты нақты кепілдіктермен қамтамасыз етіледі. Жуықтау алгоритмдері теориялық компьютерлік ғылым саласында кең таралған P ≠ NP болжамының салдары ретінде туындайды. Бұл болжамға сәйкес, оптимизация мәселелерінің кең класын полиномиалдық уақытта дәл шешу мүмкін емес. Сондықтан, жуықтау алгоритмдері саласы полиномиалдық уақыт ішінде мұндай мәселелердің оптималды шешімдерін қаншалықты жақын жуықтауға болатынын түсінуге бағытталған. Көптеген жағдайларда, мұндай алгоритмдердің кепілдігі – жуықтау қатынасы немесе жуықтау коэффициенті түрінде берілетін көбейтуші болып табылады, яғни оптималды шешім әрқашан қайтарылған шешімнің (алдын ала белгіленген) көбейтуші коэффициенті шегінде болады деп кепілдендіріледі. Дегенмен, қайтарылған шешімнің сапасына қосымша кепілдік беретін көптеген жуықтау алгоритмдері де бар. Екеуін де қамтамасыз ететін жуықтау алгоритмінің көрнекті мысалы – байланыссыз параллель машиналарда жоспарлау үшін Ленстра, Шмойс және Тардостың классикалық жуықтау алгоритмі. Жуықтау алгоритмдерін жобалау және талдау, ең нашар жағдайда қайтарылған шешімдердің сапасын растайтын математикалық дәлелді қамтиды. Қиын оптимизациялық мәселелерді жуықтау мүмкіндігі тұрғысынан түсінуге деген ұмтылыс, таңғажайып математикалық байланыстарды және қиын оптимизациялық мәселелерге арналған алгоритмдерді жобалаудың кеңінен қолданылатын әдістерін табуға ынталандырады. Мұның бір танымал мысалы – жоғары өлшемді геометрияны қолдана отырып, граф теориясының мәселесін шешетін Гоманс-Уильямсон алгоритмі, максималды кесу үшін қолданылады.

Кіріспе

Жақындау алгоритмінің қарапайым мысалы – ең кішкентай төбелік жабу мәселесі, онда мақсат – кіріс графигіндегі әрбір қабырғада кем дегенде бір таңдалған төбе болатындай ең кішкентай төбелер жиынын таңдау. Төбелік жабуды табудың бір жолы келесі процесті қайталау: жабылмаған қабырғаны табыңыз, оның екі ұшын жабуға қосыңыз және осы төбелерге тікелей қосылған барлық қабырғаларды графиктен жойыңыз. Кіріс графигінің кез келген төбелік жабуы процесте қарастырылған әрбір қабырғаны жабу үшін ерекше төбелерді пайдалануы керек болғандықтан (өйткені бұл сәйкестік құрайды), нәтижеде алынған төбелік жабу оптималды жабудан екі есе көп болуы мүмкін. Басқаша айтқанда, бұл 2-ге тең жақындау коэффициенті бар тұрақты факторлы жақындау алгоритмі. Соңғы бірегей ойындар болжамы бойынша, бұл фактор тіпті ең жақсы мүмкін нәтиже. NP-қиын мәселелер жақындастырылу мүмкіндігі жағынан қатты өзгешеліктерді көрсетеді; кейбіреулері, мысалы, рюкзак мәселесі, кез келген белгілі бір сан үшін көбейту коэффициенті шегінде жақындатылуы мүмкін, демек, оңтайлы шешімге өте жақын нәтижелер береді (мұндай жақындау алгоритмдері жиынтығы полиномдық уақытты жақындау схемасы немесе PTAS деп аталады). Ал кейбіреулерін, P = NP болмаса, тіпті тұрақты немесе полиномдық фактор шегінде жақындату мүмкін емес, мысалы, максималды клика мәселесі. Сондықтан, жақындау алгоритмдерін зерттеудің маңызды артықшылығы – NP-толықтығы теориясы ұсынатыннан гөрі, әр түрлі NP-қиын мәселелердің қиындығын егжей-тегжейлі жіктеу. Басқаша айтқанда, NP-толық мәселелер нақты шешімдер тұрғысынан бір-біріне эквивалентті болуы мүмкін (полиномдық уақыт азайту арқылы), бірақ сәйкес оптимизациялау мәселелері жақындау шешімдері тұрғысынан өте әртүрлі болып көрінеді.

Кейінгі кепілдіктер

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

Қаттылығы шамамен

Жақындастыру алгоритмдері зерттеу саласы тығыз байланысты және тиімді алгоритмдердің белгілі бір жақындастыру қатынастарымен болмауының дәлелденгенімен (P ≠ NP болжамы сияқты кеңінен қабылданған гипотезаларға сүйенген) азайту арқылы хабарланатын жақындастырылмау теориясымен байланысты. Метрикалық саяхатшы мәселесіндегі ең жақсы жақындастырылмау нәтижесі P = NP болмаса, Karpinski, Lampis, Schmied бойынша 123/122 ≈ 1.008196-дан кем жақындастыру қатынасы бар алгоритмдерді жоққа шығарады. Кристофидтің 1.5 жақындастыру алгоритмінің бар екенін білумен бірге, бұл метрикалық саяхатшының жақындастырылу шегі (егер ол болса) 123/122 мен 1.5 арасында екенін көрсетеді. Жақындастырылмау нәтижелері 1970 жылдардан бері дәлелденсе де, мұндай нәтижелер арнайы тәсілдермен алынды және сол кезде жүйелі түсінік болған жоқ. Тек 1990 жылы Фейге, Голдвассер, Ловас, Сафра және Сегедидің тәуелсіз жиынның жақындастырылмауы және әйгілі PCP теоремасы жақындастырылмау нәтижелерін дәлелдеудің қазіргі заманғы құралдарының ашылуына әкелді. Мысалы, PCP теоремасы Джонсонның 1974 жылғы Max SAT, жиынтық жабу, тәуелсіз жиын және түстің жақындастыру алгоритмдерінің барлығы P ≠ NP болған жағдайда оңтайлы жақындастыру қатынасына жететінін көрсетеді.

Қолданушылық

Барлық шамалау алгоритмдері тікелей практикалық қолдануға жарамды емес. Кейбіреулері тривиалды емес сызықтық бағдарламалау / жартылай нақтылы релаксацияларды (олар өздері эллипсоидты алгоритмді шақыруы мүмкін), күрделі дерек құрылымдарын немесе күрделі алгоритмдік әдістерді шешуді қамтиды, бұл қиын іске асыру мәселелеріне немесе дәл алгоритмдерге қарағанда орындалу уақытын жақсартуға тек өте үлкен кіріс деректерінде ғана мүмкіндік береді. Іске асыру және орындалу уақыты мәселелерінен басқа, шамалау алгоритмдері ұсынатын кепілдіктер практикада оларды қарастыруды негіздеу үшін жеткілікті күшті болмауы мүмкін. Олардың практикалық қолданыстарда "дайын күйде" қолданылуы мүмкін болмаса да, мұндай алгоритмдерді жобалаудың артындағы идеялар мен түсініктер практикалық алгоритмдерде басқа тәсілдермен жиі енгізіледі. Осылайша, тіпті өте қымбат алгоритмдерді зерттеу де толыққанды теориялық ізденіс емес, себебі олар құнды түсініктер бере алады. Басқа жағдайларда, бастапқы нәтижелер таза теориялық қызығушылық тудырса да, уақыт өте келе, түсінік артқан сайын, алгоритмдер практикалық тұрғыдан жетілдірілуі мүмкін. Мысалы, Санджив Арора (және тәуелсіз түрде Джозеф Митчелл) жасаған Евклидтік TSP үшін бастапқы PTAS, шамалау үшін тым ұзақ орындалу уақытына ие болды. Бірақ бір жыл ішінде бұл идеялар кез келген тұрақты үшін дерлік сызықтық уақыт алгоритміне енгізілді.