В настоящее время я студент бакалавриата, который должен закончить в этом году. После выпуска я планирую работать в магистратуре / докторантуре TCS. Я начал задаваться вопросом, какие области математики считаются полезными для TCS, особенно (классическая) теория сложности.
Какие области вы считаете необходимыми для тех, кто хочет изучать теорию сложности? Знаете ли вы о каких-либо хороших учебниках, охватывающих эти области, и если да, пожалуйста, укажите их уровень сложности (вступительный, выпускной и т. Д.).
Если вы рассматриваете область, которая не очень широко используется в теории сложности, но вы считаете ее критической для TCS, просим также сослаться на нее.
Ответы:
Если вы посмотрите на ответы на этот вопрос TCS StackExchange , вы увидите, что существует вероятность того, что практически любая область математики может быть важной в теории сложности. Итак, если вы действительно интересуетесь какой-то областью математики, которая, кажется, не связана, продолжайте и изучайте ее в любом случае. Если это когда-нибудь станет актуальным для теории сложности, вы будете одним из немногих теоретиков сложности, которые это понимают.
источник
Вы должны добавить в свой список книгу Декстера Козена по теории вычислений. Очень эффективно охватывает основы теории сложности, а формат коротких лекций великолепен.
С точки зрения математического фона, в дополнение к тому, что упомянуто выше:
Я не думаю, что вы должны быть мастером этих тем, чтобы начать, но это определенно помогает иметь определенный уровень комфорта.
источник
Это (насколько мне известно) единственная опубликованная книга, в которой подробно рассматривается «метод линейной алгебры в комбинаторике» - удобный и мощный инструмент, о котором нужно знать. Существует черновик рукописи Бабая и Франкла, который гораздо глубже, но не опубликован и не находится в сети:
https://cs.uchicago.edu/page/linear-algebra-methods-combinatorics-applications-geometry-and-computer-science
источник
В предыдущих ответах уже перечислены основные: теория вероятностей, комбинаторика, линейная алгебра, абстрактная алгебра (конечные поля, теория групп и т. Д.).
Я бы добавил:
Анализ Фурье , см., Например, курс Райана О'Доннела: http://www.cs.cmu.edu/~odonnell/boolean-analysis/
Теория кодирования , см. Курс Мадху Судана: http://people.csail.mit.edu/madhu/coding/course.html
Теория информации , стандартная книга «Элементы теории информации»: http://www.amazon.com/Elements-Information-Theory-Telecommunications-Processing/dp/0471241954
Есть также теория представлений, случайные прогулки и многое другое, что я, наверное, забуду ...
источник
Помимо основных вещей, вероятно:
Мне нравится Конкретная Математика Кнутом. Это дает хороший обзор / базовые знания многих важных инструментов.
Если вы хотите производящие функции (см generationfunctionology по Вильфу) в качестве инструмента, комплексный анализ пригождается, тоже.
источник
У Санджива Арора есть хороший документ для аспирантуры (для студентов 1-го курса), который он преподавал, под названием «инструментарий теоретика», в котором есть много базового материала, который студент должен знать. Многое из этого можно подождать, пока учатся в аспирантуре, но оно даст вам хорошее представление о том, что вам нужно знать, и о некоторых предпосылках.
источник
Общая, хотя, конечно, не универсальная, парадигма для многих успешных исследователей в сообществе TCS заключается в следующем: знать некоторые основы на уровне бакалавриата, такие как логика, линейная алгебра, вероятность, оптимизация, теория графов, комбинаторика, базовая абстрактная алгебра. Кроме того, не заставляйте себя учить что-то еще, пока вы действительно не решите, что вам это нужно, чтобы решить проблему, с которой вы боролись в течение многих месяцев, или если вы думаете, что вам действительно понравится что-то изучать ради этого.
«Откуда я знаю, что мне это нужно, если я никогда не видел его раньше?», Спросите вы? Хороший вопрос. Иногда вам везет и вы чувствуете это: «Знаете что, эта подзадача, которую я пытаюсь решить, звучит очень похоже на то, что Фурье преобразует штуковину» Фред не замолчит. Мне придется проверить это или поймать Фреда в ловушку в комнате, и пусть он быстро проведет меня по основам ". В других случаях вы ловите в комнате кучу более знающих людей, чем вы сами, например, выступая на семинаре или что-то в этом роде, и скулите о том, что вы не можете решить эту проблему, пока Фред не скажет: «Эй, держу пари, что вы может решить это с помощью анализа Фурье. Позвольте мне показать вам, как. " В конце концов, вы получаете совместный документ с Фредом, вы узнали что-то новое, и вы с Фредом теперь лучшие друзья и выходите выпивать каждую вторую субботнюю ночь.
источник
Я думаю, что список областей математики, которые не являются полезными, будет намного короче, чем список полей, которые являются! Я не могу думать ни о чем.
Изучите любую математику, которая выглядит интересной, и / или то, что вам нужно в данный момент. Даже если вы не используете его напрямую, это поможет вам изучить другие вещи, которые вы делаете.
источник
Знание основ математической логики, на мой взгляд, плюс. Вы можете взглянуть на две книги Кори и Ласкара.
Математическая логика: курс с упражнениями, часть I
Математическая логика: курс с упражнениями, часть II
источник
Я рекомендую взглянуть на эти книги:
Кроме того, темы конференции MFCS (Математические основы информатики) могут помочь вам понять, какие знания вам могут понадобиться. (Предостережение: конференция включает в себя очень сложные темы. Вам не нужно осваивать их. Просто попробуйте получить общую картину.)
источник
Теория чисел не упоминалась, но это очень важный инструмент для многих криптографических и теоретико-сложных конструкций.
источник
Теория представлений конечных групп (также над конечными полями) может быть удивительно полезна для различных задач, включая:
Алгоритмы умножения матриц ( Кон-Клейнберг-Сегеди-Уманс )
построение локально декодируемых кодов (см., например, эту статью Клима Ефременко)
приложения в квантовых вычислениях (задача о скрытых подгруппах для неабелевых групп, мультипликативный метод противника)
источник
Я рекомендую прочитать книгу Гэри и Джонсона
Компьютеры и неразрешимость: руководство по теории NP-полноты .
Это можно прочитать с очень небольшим математическим фоном. Я думаю, что эту книгу радостно читать, и я бы порекомендовал ее как первую книгу о Пападимитриу и Ароре / Бараке. Прочитав это, вы можете окунуться в другие книги и найти различные математические фрагменты, необходимые для понимания интересующих вас сложных тем.
источник
Когда-то на курсе бакалавриата CS464 (2002) в UWaterloo CS использовалась вычислительная сложность Christos H. Papadimitriou , Addison-Wesley, 1994.
Перечисленные основные темы включают машины Тьюринга, неразрешимость, сложность времени и полноту NP.
Для справки, просмотрите вашу библиотеку около QA267.G57 (Годдард: Представление теории вычислений , основанной на быстром чтении или двух снятых программах, и ее доступность для меня, кажется, покрывает сторону CS фона; у меня есть ощущение, что некоторые наборы и группы теория с чисто математической стороны также была бы полезна.)
источник