Я часто общаюсь с людьми, которые хотят попросить алгоритм вычислительной задачи (или его сложность), но они не выражают его строго для нас (ученых), чтобы понять.
Ссылка на такие книги, как CLRS, бесполезна, потому что примеры там обычно имеют довольно простой способ строгого указания, например, учитывая список смежности графа и две вершины в нем, вычисляют кратчайший путь между этими вершинами.
Есть ли какая-нибудь хорошая книга (или какой-либо другой ресурс), где человек с минимальным знанием CS может узнать, как следует формулировать и формулировать вычислительные проблемы строгим образом, понятным для компьютерных ученых?
Желательно, чтобы в книге было много примеров того, как строго формулировать вычислительные задачи из различных областей и примеров из реального мира.
осветление
Чтобы сделать вопрос более конкретным, давайте предположим, что они знают базовую терминологию по математике / CS, такую как наборы, функции, графики, списки и т. Д. На уровне студентов бакалавриата 1-го / 2-го курса (как в случае с людьми, которые у меня есть в разум). Например, они прочитали некоторый вводный учебник, такой как Aho и Ullman (хотя они, возможно, не поняли это полностью).
- Аль Ахо и Джефф Уллман, Основы информатики , 1992.
Ответы:
Хороший ресурс по этому вопросу, довольно известный ученым, но не столь широко известный за пределами специалистов, - « Математическое письмо » Дональда Кнута, Трейси Л. Ларраби и Пола М. Робертса. есть опубликованная книга, видео лекций и набор заметок. это больше написано с точки зрения людей, пытающихся овладеть математическим письмом, например, для создания статей, но все советы весьма применимы к случаю непрофессионалов, пытающихся точно сформулировать проблемы. Математическое письмо, в то время как трудным для изучения является научный подход к строгому определению / формулированию и, как подробно описано в книге, решению , например, с помощью алгоритмов или доказательств, вычислительных / алгоритмических задач.
Математическое письмо о книге
Математическое написание лекционного видео индекса
Математическое написание заметок класса CS1193
Кроме того, классический текст Garey & Johnson, Computers & Intractability точно не описывает, как точно формулировать проблемы, но он дает много примеров и разнообразных теоретических / концептуальных / технических «шаблонов», организованных в разделы схожих проблем, которые могут быть используется в качестве «строительных блоков» для описания вычислительных / алгоритмических задач.
источник
только что наткнулся на этого милого / аккуратного, необычного, относительно нового / неизвестного референта на своей домашней странице Эммануэле Виолы , профессора (T) CS в Северо-Восточном университете), по-видимому, неопубликованного в другом месте. 41pp. он начинается с самых базовых математических понятий, например импликации, а затем охватывает все сложные темы, такие как теорема Эрдеша – Секереса и теория Рамсея .
источник
Купите книгу «Алгоритмы и структуры данных» у Роберта Лафора.
В этой книге каждый алгоритм объясняется как история, очень похожая на поэзию. Затем передайте человеку версию алгоритма Lafore, а затем версию CLRS.
Может быть, таким образом, человек почувствует, как перевести интуитивное описание на строгие.
источник