Algorytm aproksymacyjny

Algorytmy aproksymacyjnealgorytmy służące do znajdowania przybliżonych rozwiązań problemów optymalizacyjnych. Stosuje się je zwykle do rozwiązywania problemów, dla których nie są znane szybkie algorytmy znajdujące rozwiązanie dokładne, na przykład dla problemów NP-zupełnych.

Istotą algorytmu aproksymacyjnego, tym co odróżnia go od algorytmu heurystycznego, jest związana z każdym takim algorytmem informacja o koszcie zwracanego rozwiązania w stosunku do rozwiązania optymalnego. Mianowicie koszt rozwiązania zwróconego przez algorytm aproksymacyjny jest nie większy (w przypadku problemu minimalizacyjnego) albo nie mniejszy (w przypadku problemu maksymalizacyjnego) od rozwiązania optymalnego pomnożonego przez pewną stałą.

Definicja edytuj

Załóżmy, że mamy dany konkretny problem optymalizacyjny. Niech   oznacza zbiór dopuszczalnych rozwiązań tego problemu dla danych wejściowych   Niech   gdzie   będzie funkcją kosztu rozwiązania dla tego problemu. Oznaczmy przez   koszt rozwiązania optymalnego dla danych   mianowicie   dla problemu minimalizacyjnego oraz   dla problemu maksymalizacyjnego.

ε-aproksymacja edytuj

Algorytm A nazywamy ε-aproksymacyjnym, jeżeli dla dowolnych poprawnych danych wejściowych     oraz

 

Przy takiej definicji zachodzi:

  •   dla problemu maksymalizacyjnego,
  •   dla problemu minimalizacyjnego.

Jeśli   to algorytm zwraca rozwiązanie optymalne. Jeżeli natomiast   to algorytm jest jedynie heurystyką, a więc zwracane przez niego rozwiązanie może być dowolnie odległe od optimum.

Czasem dopuszcza się również, że ε jest pewną funkcją od wielkości danych  

ρ-aproksymacja edytuj

Algorytm A nazywamy ρ-aproksymacyjnym, jeśli dla dowolnych poprawnych danych wejściowych     oraz

 

Wartość   określa ile razy otrzymane rozwiązanie jest gorsze od optimum. Dokładniej

  •   dla problemu maksymalizacyjnego,
  •   dla problemu minimalizacyjnego.

W przypadku gdy algorytm zwraca rozwiązanie optymalne,   Jeżeli rozwiązanie może być dowolnie odległe od optimum, to wartość   jest nieskończonością.

Powyższe dwie definicje są od siebie zależne. Zachodzi równość   Warto zauważyć, że nie ma potrzeby zaznaczania, która z powyższych definicji została wykorzystana przy określaniu konkretnego algorytmu, ponieważ   (przypadek, w którym   nie jest interesujący, gdyż wtedy mamy do czynienia z heurystyką), natomiast  

Zobacz też edytuj

Bibliografia edytuj

Linki zewnętrzne edytuj