Я часто общаюсь с людьми, которые хотят попросить алгоритм вычислительной задачи (или его сложность), но они не выражают его строго для нас (ученых), чтобы понять.
Ссылка на такие книги, как CLRS, бесполезна, потому что примеры там обычно имеют довольно простой способ строгого указания, например, учитывая список смежности графа и две вершины в нем, вычисляют кратчайший путь между этими вершинами.
Есть ли какая-нибудь хорошая книга (или какой-либо другой ресурс), где человек с минимальным знанием CS может узнать, как следует формулировать и формулировать вычислительные проблемы строгим образом, понятным для компьютерных ученых?
Желательно, чтобы в книге было много примеров того, как строго формулировать вычислительные задачи из различных областей и примеров из реального мира.
осветление
Чтобы сделать вопрос более конкретным, давайте предположим, что они знают базовую терминологию по математике / CS, такую как наборы, функции, графики, списки и т. Д. На уровне студентов бакалавриата 1-го / 2-го курса (как в случае с людьми, которые у меня есть в разум). Например, они прочитали некоторый вводный учебник, такой как Aho и Ullman (хотя они, возможно, не поняли это полностью).
- Аль Ахо и Джефф Уллман, Основы информатики , 1992.