RGA5C5nWXWZit
Na zdjęciu znajduje się kobieta z dużym plecakiem.

Problem plecakowy

Źródło: Suhyeon Choi, domena publiczna.

Stosując algorytmy zachłanne, poprzez wdrażanie rozwiązań lokalnie optymalnych próbujemy doprowadzić do znalezienia globalnie optymalnego rozwiązania problemu. Implementacja tego typu algorytmów jest nieskomplikowana, a ich złożoność czasowa jest przeważnie mniejsza od algorytmów stosujących dokładniejsze strategie. Ponadto istnieją problemy algorytmiczne, w których odpowiednio określona strategia zachłanna pozwala uzyskać optymalne wyniki (czyli najlepsze dla podanych danych) – przykładem takiego problemu jest problem szukania najkrótszej ścieżki, do którego rozwiązania wykorzystuje się algorytm DijkstryP1F65HeHZalgorytm Dijkstry.

Szczegółowe informacje o algorytmach zachłannych znajdziesz w e‑materiale Algorytmy zachłanneP1Ed8GL2MAlgorytmy zachłanne.

Jednym z problemów, do rozwiązania których wykorzystujemy algorytmy zachłanne, jest problem plecakowy. W tym e‑materiale poznamy kilka jego wariantów oraz dowiemy się, jak zdefiniować ich zachłanne rozwiązania.

Implementację omawianego algorytmu przedstawiamy w e‑materiałach:

Twoje cele
  • Wyjaśnisz, na czym polega problem plecakowy.

  • Wymienisz i scharakteryzujesz warianty problemu plecakowego – ogólny, decyzyjny oraz ciągły.

  • Rozwiążesz problem plecakowy, stosując algorytm zachłanny.

  • Przedyskutujesz ograniczenia metody zachłannej oraz wyjaśnisz, w jakich przypadkach wynik może być daleki od najlepszego możliwego.