Problem podróżującego sprzedawcy jest najwyraźniej dostępny ... przynajmniej tam, gdzie jestem, wydaje się, że jest to najpopularniejszy problem wśród osób spoza CS. Znalazłem również następującą ilustrację Wierzchołka Pokrywy całkiem atrakcyjną, wprowadzoną przez mojego instruktora algorytmów:
Masz sieć dróg i chcesz się upewnić, że jeśli samochód utknie w paliwie, na co najmniej jednym końcu drogi znajduje się stacja benzynowa.
Jako urbanista chcesz zminimalizować koszty, budując możliwie najmniejszą liczbę stacji benzynowych. Zasadniczo jest to problem pokrycia wierzchołków, a ja odniosłem pewien sukces, wskazując, że chociaż nie spodziewasz się znaleźć optymalnej osłony wierzchołków w czasie wielomianowym, w czasie wielomianowym możesz znaleźć coś, co dzieli Cię tylko dwa razy, po prostu wybierając oba punkty końcowe o maksymalnym dopasowaniu (cóż, ten ostatni szczegół może zostać pominięty w zależności od stopnia zainteresowania odbiorców - zwłaszcza, że algorytm MM nie jest dokładnie dwuliniowy).
Jako przykład „skoku złożoności” z niewielką zmianą charakteru problemu, uważam, że różnica między sprawdzaniem dwukolorowości i trójkolorowości stanowi dobry przykład. Przy całym rozgłosie wokół twierdzenia o czterech kolorach można również zauważyć, że sprawdzenie, czy mapę można odpowiednio pokolorować tylko trzema kolorami zamiast czterech, jest trudne, chociaż wiemy, że zawsze można ją pokolorować czterema kolorami. Sporo osób uważa to za dość zaskakujące.
Inną dość naturalną sytuacją jest problem odzyskiwania impasu w systemach operacyjnych. Jest to modelowane przez NP-kompletny problem zestawu wierzchołków sprzężenia zwrotnego - najmniejszej liczby wierzchołków, których usunięcie powoduje, że wykres jest acykliczny - i uważam, że jest to również niezwykły przykład (i wyjaśniono to dalej w tym artykule na Wikipedii).