A közelítő algoritmus egy olyan műveleti kutatási algoritmus , amelyet egy optimalizálási probléma közelítő megoldásának megtalálására használnak .
A közelítő algoritmus fogalmát 1972-ben formalizálták Garey, Graham és Ullman [1] , majd később Johnson [2] cikkében . A közelítő algoritmusokat gyakran NP-nehéz problémákkal társítják , mivel ezekre aligha létezik hatékony polinomiális idő pontos megoldási algoritmus, ezért célszerű az optimálishoz közeli megoldást keresni. Ellentétben a heurisztikus algoritmusokkal , amelyek elfogadható időn belül kellően jó megoldásokat adnak, a közelítő algoritmusok előre meghatározott időhatárokon belül biztosítják a megoldás bizonyítható minőségét. Ideális esetben a közelítés olyan megoldást ad, amely valamilyen kis tényezővel (például 5%-on belül) eltér az optimálistól. Egyre gyakrabban alkalmaznak közelítő algoritmusokat olyan problémák megoldására, amelyekre pontos algoritmusok ismertek, amelyek polinomiális időben futnak, de hosszú ideig futnak. A közelítő algoritmus tipikus példája a gráfelméletben a csúcsfedési probléma megoldására szolgáló algoritmus : keressünk egy fedetlen élt, és adjuk hozzá mindkét csúcsát a csúcsfedéshez, és így tovább, amíg az összeset le nem fedi. Nyilvánvaló, hogy a kapott lefedettség kétszer akkora lehet, mint az optimális. Ez a megoldás egy közelítő algoritmus , amelynek állandó együtthatója 2.
Az NP-nehéz problémák közelíthetősége nagyon eltérő. Némelyik, például a szemetes-csomagolási probléma , bármely 1-nél nagyobb tényezővel közelíthető (ezt az algoritmuscsaládot Approximate Polynomial Time Scheme -nek vagy PTAS -nak nevezik ). Más problémák nem közelíthetők semmilyen konstans együtthatóval, de még polinomiális együtthatóval sem (ha P ≠ NP ), ilyenek közé tartozik a maximális klikk probléma .
Az NP-nehéz problémák gyakran egészszámú programozással fejezhetők ki, és pontosan exponenciális idő alatt oldhatók meg . Sok exponenciális algoritmus egy egész szám probléma lineáris programozási problémává való redukálásából származik . [3]
Nem minden közelítő algoritmus alkalmas gyakorlati problémák megoldására. Gyakran CPU / LP / félig definiált feladatokat , összetett adatstruktúrákat vagy kifinomult programozási technikákat használnak részfeladatként , ami a megvalósítás bonyolultságához vezet. Egyes közelítő algoritmusoknak elfogadhatatlan futási ideje van annak ellenére, hogy az idő polinomiális (pl. O( n 2000 )). Ennek ellenére még az ilyen irreális algoritmusok tanulmányozása sem pusztán elméleti célokat követ, hiszen lehetővé teszi a probléma lényegének megértését. Klasszikus példa erre a Sanjiv Arora tulajdonában lévő metrikus utazó értékesítő problémára kidolgozott kezdeti PTAS algoritmus , amely szinte irreális futási idővel bírt. Azonban egy éven belül Arora finomította az ötletet egy lineáris időben futó algoritmussá. Az ilyen algoritmusok olyan feladatokra is alkalmasak, ahol a futási idő és költség igazolható. Ezek a feladatok közé tartozik a számítási biológia , a pénzügyi tervezés , a közlekedéstervezés és a készletkezelés .
Egy másik korlát, hogy a megközelítés csak optimalizálási problémákra alkalmas, de nem "tiszta" felismerési problémákra , mint például a Boole-képletek kielégíthetőségének problémája , bár gyakran előfordul, hogy a módszer teljesen alkalmazható ugyanazon problémák optimalizálási változatainak megoldására, pl. például a maximális kielégítési probléma logikai képleteihez (Max SAT).
A közelítés lehetetlensége azóta is gyümölcsöző kutatási terület a számítási komplexitás területén, amióta Feige, Goldwasser, Lovasz, Safra és Szegedy 1990-ben megállapították, hogy a maximális független halmaz megtalálásának problémája nem közelíthető . Egy évvel azután, hogy Arora bebizonyította a PCP-tételt , Johnson 1974-es közelítési algoritmusai a Boole -féle kielégíthetőségi problémára , a halmazfedő-problémára , a független halmazproblémára és a gráf kromatikus számproblémára rendelkeznek egy optimális közelítési tényezővel (P ≠ NP-t feltételezve)
Egyes közelítési algoritmusoknál lehetőség van a közelítési eredmény bizonyos tulajdonságainak bizonyítására. Például egy ρ -közelítő algoritmus A definíció szerint egy olyan algoritmus, amelynél az x feladat A ( x ) közelítési feladatának megoldásához szükséges f ( x ) = érték/költség arány nem haladja meg ( vagy nem kevesebb , attól függően, hogy a helyzet) a ρ együttható szorzata az optimális értékhez [4] [5] :
A ρ együtthatót relatív garantált hatásfoknak nevezzük .
Egy közelítő algoritmus abszolút garantált hatékonysággal vagy korlátos c hibával rendelkezik, ha bármely x problémára ,
Az x feladat y megoldásának garantált hatékonysága , R ( x, y ) hasonló módon definiálva
ahol f ( y ) az x feladat y megoldásának érték/költség aránya . Nyilvánvaló, hogy a garantált hatásfok nem kisebb egynél, és csak abban az esetben egyenlő eggyel, ha y az optimális megoldás. Ha az A algoritmus maximális r ( n ) hatásfokú megoldást garantál, akkor A -t r ( n )-közelítési algoritmusnak mondjuk, és r ( n ) közelítési tényezője van [6] [7] .
Könnyen belátható, hogy a minimalizálási probléma esetén a garantált hatékonyság mindkét definíciója azonos értéket ad, míg a maximalizálási probléma esetében .
Az optimalizálási problémákhoz kapcsolódó relatív hiba fontos fogalmát a szakirodalom többféleképpen definiálja: például W. Kann [7] -ként , Ausiello és munkatársai [6] -ként definiálja .
Valamelyik A közelítési algoritmus abszolút garantált hatékonyságát a következőképpen határozzuk meg
Itt x egy feladatot jelöl, a pedig A garantált hatékonyságát x esetén .
Így minden lehetséges probléma esetén a garantált hatékonyság r felső korlátja.
Az aszimptotikus hatékonyságot hasonló módon határozzuk meg :
r -kb. [6] [7] | ρ -kb. | kapcsolódik. hiba c [7] | kapcsolódik. c hiba [6] | normák. kapcsolat hiba c [6] [7] | abs. hiba c [6] [7] | |
---|---|---|---|---|---|---|
max: | ||||||
min: |
Jelenleg számos szabványos megközelítés létezik egy közelítő algoritmus fejlesztésére. Közöttük:
A szakirodalomban a maximális (vagy minimális) feladat közelítési együtthatója (vagy )-ként van írva valamilyen számra abban az esetben, ha az algoritmusnak vannak olyan változatai, amelyeknek közelítési együtthatója van bármelyikre, de nem -re . Egy ilyen közelítésre példa a 7/8-as együttható elérhetetlensége a MAX-3SAT probléma esetében [8] .
![]() |
---|