Апроксимациони алгоритам

Из Википедије, слободне енциклопедије
Jump to navigation Jump to search

У рачунарским наукама и операционим истраживањима, апроксимациони алгоритми су алгоритми који проналазе апрокцимационо решење за оптимизацију проблема. Апроксимациони алгоритми су често повезани са НП-тешким проблемима; јер је мало вероватно да ће алгоритам са полиномијалним временом бити ефикасан и тачан у решавању НП-тешких проблема. За разлику од хеуристике, која обично проналази разумно добра решења разумно брзо, неко жели да докаже квалитет решења и Рантајм границе. Идеално, апроксимација је оптимална до малог фактор (на пример у 5 % оптималних решења). Апроксимациони алгоритми се повећано користе за проблеме где алгоритми са полиномијалним-временом су познати али су прескупи због улазних података. Типичан пример апроксимационог алгоритма је за покривача чворова у графу: пронаћи неоткривену грану и додај оба краја покривачу чвора, све док ниједна остане. Јасно је да је добијени покривач највише двапута већи оптималног. Ово је са фактором 2.

НП-тешки проблеми знатно се разликују у њиховој апроксимацији; неки, као што је "Проблем паковања у простору", могу бити апроксимирани са било којим фактором већим од 1 (као фамилија апроксимационих алгоритама која се још назива полиномијално-време-апроксимационе-шеме - ПВАШ). Други су немогући за апроксимацију са било којом константом, или чак полиномијалним фактором П = НП (проблем), као што је максималан проблем клика.

НП-тешки проблеми могу често бити представљени као целобројно програмирање који се решавају у експоненцијалном времену. Многи апроксимациони алгоритми настају из линеарног релаксационог програмирања целобројног програмирања.

Нису сви апроксимациони алгоритми погодни за све практичне апликације. Они се обично користе IP/LP/Полуодређени (Semidefinite) који решавају, сложене структуре података или софистициране алгоритамске технике које воде до тешког имплементирања проблема. Такође, неки апроксимациони алгоритми имају непрактични Ран-тајм чак и кад су полиномијална времена, на пример O(n2156)[1] . Ипак, студија чак веома скупих алгоритама није скроз теоријско трагање јер они могу да дају драгоцене увиде. Класичан пример је почетни ПВАШ за Еуклидов проблем трговачког путника (ПТП) због Сањеев Арора који је имао прохибитивни Ран-тајм; ипак у року од годину дана Аурора је изменио идеју у алгоритам линеарног времена. Такви алгоритми су такође корисни у неким апликацијама где Ран-тајм и коштање могу бити оправдани, као на пример Рачунарска биологија, финансијски инжињеринг, планирање транспорта и управљање производима. У таквим случајевима, они се морају такмичити са одговарајућим усмереним IP формулацијама.

Друго ограничење приступа је да се то односи само на проблеме оптимизације а не на "чисте" проблема одлучивања као задовољивости , иако често је могуће замислити оптимизацију верзије тих проблема, као што је максималан проблема задовољивости.

Неапроксимативност је плодно подручје истраживања у рачунарској теорији комплексности од 1990. год. Пошто је Аурора доказао ПЦП теорему годину дана касније, показало се да је Џонсонов алгоритам апроксимације из 1974. год. постигао оптимални однос апроксимације, под претпоставком да П! = НП.

Перформансе гаранције[уреди]

За неке апроксимационе алгоритме могуће је доказати одговарајуће особине оптималног решења. На пример, ρ-апроксимациони алгоритам А је алгоритам за који је доказано да вредност/цена f(x), апроксимативног решења A(x) за дато x неће бити веће (или мање, у зависности од ситуације) онда фактор ρ множи вредност , OPT, оптимално решење.

Фактор ρ се зове релативна перформанса гаранције. Апроксимациони алгоритам има апсолутну перформансу гаранције или граничну грешку c, ако је доказано за свако x тако да

Слично, перформанса гаранције, R(x,y), решења y за неко x је дефинисано као

где f(y) је вредност/цена решења y за неко x. Тачније, перформанса гаранције је већа или једнака од 1 и једнака 1 ако и само ако y је оптимално решење. Ако алгоритам A гарантује да ће вратити решење са перформансом гаранције од највише r(n), онда се за A каже да је r(n)-апроксимациони алгоритам и има апроксимациони однос од r(n). Исто тако, проблем са неким r(n)-апроксимациони алгоритам, каже се да је r(n)-апроксимативан или има апроксимативан однос од r(n).[2][3]

Може се приметити да је за минимизирање проблема, две различите гаранције дају исти резултат и да за максимизирање проблема, релативне гаранције перформансе ρ представља еквивалент гаранцији учинка . У литератури, обе дефиниције су честе, али је јасно која дефиниција се више користи, за максимизирања проблема, као ρ ≤ 1, док Р ≥ 1.

Апсолутна перформанса гаранције неких апроксимативних алгоритама A, где x представља неки проблем, и где је перформанса гаранције A од x (нпр. ρ за неки проблем x) је:

То значи да је највећа граница апроксимационог односа, r, таква да се виде све могуће инстанце преко овог проблема. Исто тако је, асимптотска перформанса односа is:

То значи да је исто као апсолутна перформанса односа, са доњом границом n са величином проблема. Ова два типа односа се користе зато што постоје алгоритми где разлике између ова два односа су значајна.

Перформансе гаранције
r-апрокс.[2][3] ρ-апрокс. рел. грешка[3] рел. грешка[2] норм. рел. грешка[2][3] апс. грешка[2][3]
макс:
мин:

Алгоритам технике пројектовања[уреди]

До сада постоји неколико стандардних техника које неко покушава да дизајнира апроксимацијом алгоритама. Они обухватају следеће.

  1. Похлепни алгоритам
  2. Локална претрага
  3. Набрајање и динамичко програмирање
  4. Решавање конвексног програмирања релаксације да бисмо добили фракционо (раѕломачко) решење. Онда конвертовање раѕломачког решења у изводљиво решење одговарајућим заокруживањем. Позната релаксација укључује следеће.
    1. Линеарно програмирање релаксације
    2. Полудефинисано програмирање релаксације
  5. Уграђивање проблема у неко једноставну метрикз, а затим решавање проблема на метрици. Ово је такође познато као метрика уградње.

Епсилон услови[уреди]

У литератури, апроксимативан однос за максимиѕацију (минимизацију) проблема c - ϵ (мин: c + ϵ) значи да алгоритам има апроксимативан однос c ∓ ϵ за произвољно ϵ > 0 али однос не може (не сме) бити приказан за ϵ = 0. Пример за ово је оптимална неапроксимативност — непостојање апроксимативности — однос 7 / 8 + ϵ за задовољив MAX-3SAT. Као што је поменуто раније, када је c = 1, каже се да проблем има полиномијално-време-апроксимације-шеме.

Неки ϵ-случај се може појавити када апроксимативни алгоритам уводи у мултипликативне и константне грешке док најмањи оптимални случај величине n тежи ка бесконачности како n расте. У овом случају, апроксимативни однос је ck / OPT = c ∓ o(1) за неке константе c и k. За произвољно ϵ > 0, може се изабрати довољно велики N такав да k / OPT < ϵ за свако n ≥ N. За свако фиксирано ϵ, примери величине n < N се могу решити Похлепним алгоритмом , чиме се показује апроксимација односа — постојање апроксимације алгоритама са гаранцијом — of c ∓ ϵ за свако ϵ > 0.

Види још[уреди]

  • Анализа доминације сматра гаранције у погледу ранга компјутеризованих решења
  • ПВАШ - тип приближавања алгоритам који узима однос приближавања као параметар
  • APX класа проблема са неким константним-фактор приближавања алгоритма
  • Апроксимација смањења очувања
  • Тачан алгоритам

Референце[уреди]

  1. ^ Zych, Anna; Bilò, Davide (2011). „New Reoptimization Techniques applied to Steiner Tree Problem”. Electronic Notes in Discrete Mathematics. 37: 387—392. ISSN 1571-0653. doi:10.1016/j.endm.2011.05.066. 
  2. 2,0 2,1 2,2 2,3 2,4 G. Ausiello; P. Crescenzi; G. Gambosi; V. Kann; A. Marchetti-Spaccamela & M. Protasi (1999). Complexity and Approximation: Combinatorial Optimization Problems and their Approximability Properties. 
  3. 3,0 3,1 3,2 3,3 3,4 Kann, Viggo (1992). On the Approximability of NP-complete Optimization Problems (PDF). 

Литература[уреди]

Спољашње везе[уреди]