Кіріспе
Оптимизация мәселелеріне жуық шешімдерді табатын алгоритмдер класы. Компьютерлік ғылым мен операциялық зерттеулерде, жуықтау алгоритмдері – бұл оптимизация мәселелерінің (әсіресе NP қиын мәселелердің) жуық шешімдерін табатын тиімді алгоритмдер, олар қайтарылған шешімнің оптималды шешімге дейінгі қашықтығына қатысты нақты кепілдіктермен қамтамасыз етіледі. Жуықтау алгоритмдері теориялық компьютерлік ғылым саласында кең таралған P ≠ NP болжамының салдары ретінде туындайды. Бұл болжамға сәйкес, оптимизация мәселелерінің кең класын полиномиалдық уақытта дәл шешу мүмкін емес. Сондықтан, жуықтау алгоритмдері саласы полиномиалдық уақыт ішінде мұндай мәселелердің оптималды шешімдерін қаншалықты жақын жуықтауға болатынын түсінуге бағытталған. Көптеген жағдайларда, мұндай алгоритмдердің кепілдігі – жуықтау қатынасы немесе жуықтау коэффициенті түрінде берілетін көбейтуші болып табылады, яғни оптималды шешім әрқашан қайтарылған шешімнің (алдын ала белгіленген) көбейтуші коэффициенті шегінде болады деп кепілдендіріледі. Дегенмен, қайтарылған шешімнің сапасына қосымша кепілдік беретін көптеген жуықтау алгоритмдері де бар. Екеуін де қамтамасыз ететін жуықтау алгоритмінің көрнекті мысалы – байланыссыз параллель машиналарда жоспарлау үшін Ленстра, Шмойс және Тардостың классикалық жуықтау алгоритмі. Жуықтау алгоритмдерін жобалау және талдау, ең нашар жағдайда қайтарылған шешімдердің сапасын растайтын математикалық дәлелді қамтиды. Қиын оптимизациялық мәселелерді жуықтау мүмкіндігі тұрғысынан түсінуге деген ұмтылыс, таңғажайып математикалық байланыстарды және қиын оптимизациялық мәселелерге арналған алгоритмдерді жобалаудың кеңінен қолданылатын әдістерін табуға ынталандырады. Мұның бір танымал мысалы – жоғары өлшемді геометрияны қолдана отырып, граф теориясының мәселесін шешетін Гоманс-Уильямсон алгоритмі, максималды кесу үшін қолданылады.
In computer science and operations research, approximation algorithms are efficient algorithms that find approximate solutions to optimization problems (in particular NP hard problems) with provable guarantees on the distance of the returned solution to the optimal one. Approximation algorithms naturally arise in the field of theoretical computer science as a consequence of the widely believed P ≠ NP conjecture. Under this conjecture, a wide class of optimization problems cannot be solved exactly in polynomial time. The field of approximation algorithms, therefore, tries to understand how closely it is possible to approximate optimal solutions to such problems in polynomial time. In an overwhelming majority of the cases, the guarantee of such algorithms is a multiplicative one expressed as an approximation ratio or approximation factor i. e., the optimal solution is always guaranteed to be within a (predetermined) multiplicative factor of the returned solution. However, there are also many approximation algorithms that provide an additive guarantee on the quality of the returned solution. A notable example of an approximation algorithm that provides both is the classic approximation algorithm of Lenstra, Shmoys and Tardos for scheduling on unrelated parallel machines. The design and analysis of approximation algorithms crucially involves a mathematical proof certifying the quality of the returned solutions in the worst case. The desire to understand hard optimization problems from the perspective of approximability is motivated by the discovery of surprising mathematical connections and broadly applicable techniques to design algorithms for hard optimization problems. One well known example of the former is the Goemans–Williamson algorithm for maximum cut, which solves a graph theoretic problem using high dimensional geometry.
Кіріспе
Жақындау алгоритмінің қарапайым мысалы – ең кішкентай төбелік жабу мәселесі, онда мақсат – кіріс графигіндегі әрбір қабырғада кем дегенде бір таңдалған төбе болатындай ең кішкентай төбелер жиынын таңдау. Төбелік жабуды табудың бір жолы келесі процесті қайталау: жабылмаған қабырғаны табыңыз, оның екі ұшын жабуға қосыңыз және осы төбелерге тікелей қосылған барлық қабырғаларды графиктен жойыңыз. Кіріс графигінің кез келген төбелік жабуы процесте қарастырылған әрбір қабырғаны жабу үшін ерекше төбелерді пайдалануы керек болғандықтан (өйткені бұл сәйкестік құрайды), нәтижеде алынған төбелік жабу оптималды жабудан екі есе көп болуы мүмкін. Басқаша айтқанда, бұл 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, шамалау үшін тым ұзақ орындалу уақытына ие болды. Бірақ бір жыл ішінде бұл идеялар кез келген тұрақты үшін дерлік сызықтық уақыт алгоритміне енгізілді.