Często wchodzę w interakcje z ludźmi, którzy chcą poprosić o algorytm dla problemu obliczeniowego (lub jego złożoności), ale nie wyrażają go w sposób rygorystyczny dla nas (informatyków) do zrozumienia.
Odsyłanie ich do książek takich jak CLRS nie jest pomocne, ponieważ tamtejsze przykłady zwykle mają dość prosty sposób rygorystycznego określania, np. Biorąc pod uwagę listę sąsiadów wykresu i dwa wierzchołki obliczają najkrótszą ścieżkę między tymi wierzchołkami.
Czy jest jakaś dobra książka (lub jakiś inny zasób), w której osoba z minimalną znajomością CS może nauczyć się, jak formułować i określać problemy obliczeniowe w sposób rygorystyczny, zrozumiały dla informatyków?
Najlepiej, aby książka zawierała wiele przykładów rygorystycznego formułowania problemów obliczeniowych z różnych dziedzin i przykładów ze świata rzeczywistego.
Wyjaśnienie
Aby sprecyzować pytanie, załóżmy, że znają podstawową terminologię matematyczną / CS, taką jak zbiory, funkcje, wykresy, listy itp. Na poziomie pierwszego i drugiego roku studiów licencjackich CS (co ma miejsce w przypadku osób, które mam w umysł). Na przykład przeczytali jakiś wprowadzający podręcznik, taki jak Aho i Ullman (chociaż mogli nie do końca go zrozumieć).
- Al Aho i Jeff Ullman, Foundations of Computer Science , 1992.