[ Хронология ]
Этот вопрос имеет тот же дух, что и газеты должны читать все, и какие видео должны смотреть все . Он просит замечательных книг в различных областях теоретической информатики.
Книги могут быть ориентированы на математику, но вы можете найти это замечательно для компьютерного ученого. Примеры:
- Вероятность
- Неравенства
- логика
- Теория графов
- Комбинаторика
- Разработка и анализ алгоритма
- Теория вычислений / Теория сложности вычислений
Пожалуйста, посвятите каждый ответ книгам по одному предмету (например, по комбинаторике).
Примечание . Название может вводить в заблуждение. Вот пояснение: пусть X и Y - две области в информатике. Есть книги, которые все
- в поле X следует прочитать.
- в поле Y следует прочитать.
- в обоих полях следует читать.
Этот вопрос ищет все 3 случая. Другими словами, это НЕ специфично для последнего случая.
Изменить: В соответствии с предложением Дай Ле , пожалуйста, выделите причину (ы), что вам также нравится книга.
Похожие темы:
- Ссылки на методы доказательства TCS
- Книги по теории автоматов для самостоятельной работы
- Книги для вероятности
- Любимая популярная математическая книга
- Руководство для начинающих по дерандомизации
- Ссылки на нижние границы схемы
- Обзорная статья по теории рекурсивных функций
- Книги по семантике языка программирования
- Каковы последние книги TCS, проекты которых доступны онлайн
- Книги по вероятности
reference-request
soft-question
big-list
books
MS Dousti
источник
источник
Ответы:
Вычислительная сложность:
Если вы ищете последние учебники сложности. Следующие два должны иметь.
Вычислительная сложность: современный подход Санджива Арора и Боаза Барака ( домашняя страница учебника )
Вычислительная сложность: концептуальная перспектива Одеда Голдрайха ( домашняя страница учебника )
Большая часть содержания этих двух книг сопоставима. Однако существуют некоторые ключевые различия: Гольдрайх уделяет больше внимания изучению концептуальных и философских основ теории сложности, тогда как Арора / Барак охватывает более широкий выбор тем, включая конкретные модели сложности, квантовые вычисления и нижние границы схем, которые в основном отсутствуют. от первого.
Другой вариант, более старый, но вневременной по сложности учебник:
Книга Пападимитриу примечательна тем, что главы, охватывающие логику первого порядка, а также классы SNP, MaxSNP и APX (теоретические основы твердости аппроксимации), отсутствуют в более современных текстах.0
Еще одна (сравнительно) старая, но довольно заметная классика:
Это один из немногих / первых учебников, который явно включает «Доказательство идеи:» между «Теорема:» и «Доказательство:», и является одним из самых хорошо написанных математических учебников по любой теме. С другой стороны, это только введение в сложность, посвящение только одной 50-страничной главы «продвинутым темам» (включая аппроксимацию, вероятностные алгоритмы, IP = PSPACE и криптографию). Как первая книга о сложности или как пример действительно превосходного письма, эта книга великолепна .
Скотт Ааронсон пишет, что эта книга «забавна популярной книги с интеллектуальным весом учебника». Он рассказывает истории и дает множество занимательных примеров и ссылок (Игра Жизни и множество других примеров для машин, завершенных по Тьюрингу). Это не слишком глубоко в теории сложности, но имеет большую широту. Особенно следует отметить его связь со статистической физикой.
источник
NP-полнота:
Ну, я думаю, « Компьютеры и труднопреодолимость Гэри и Джонсона : руководство по теории NP-полноты» можно найти среди лучших книг в этом списке.
источник
Разработка и анализ алгоритмов:
Кормен, Томас Х., Чарльз Лейзерсон, Рональд Л. Ривест и Клиффорд Стейн. Введение в алгоритмы.
Р. Мотвани, П. Рагхаван. Рандомизированные алгоритмы.
Я нашел эту книгу , предложенную Ryan Williams на MathOverflow: Алгоритм проектирование по Клейнбергу и Тардосу .
Еще одна замечательная книга - « Введение в алгоритмы: творческий подход » Уди Манбера . Эта книга не каталог алгоритмов; скорее он пытается дать читателю интуицию для «распознавания математической структуры в абстрактных задачах». (цитата из обзора)
источник
Общая математика для информатики:
Конкретная математика: основа компьютерных наук Грэма, Кнута и Паташника.
Принстонский компаньон по математике Gowers et al.
Доказательства из КНИГИ Aigner и Ziegler.
источник
Системы типов и семантика языка программирования:
Типы и языки программирования Бенджамина Пирса и последующий том Расширенные темы по типам и языкам программирования . Они предоставляют четкий, но понятный обзор роли теории типов в проектировании языка программирования, а также используют операционную семантику для выражения семантики языка программирования.
источник
Неравенства:
Еще одна ценная книга для любого человека в области компьютерных наук, который когда-либо хочет связать любое количество (а значит, всех!), - «Мастер-класс Коши-Шварца: Введение в искусство математического неравенства » Майкла Стила.
Энциклопедическая книга на эту тему - «Словарь неравенств» . Хотя это не книга для чтения от корки до корки, хорошо иметь ее в своем распоряжении. Смотрите также приложение к книге.
Более того, в Википедии есть отличный список неравенств .
По конкретным темам вы можете проконсультироваться:
источник
Интересно. Никто не упомянул тома «Искусство компьютерного программирования » Дональда Кнута . Очень подробная обработка тем с очень хорошими упражнениями.
В этой книге я нашел такие драгоценные камни, как «выборка из резорвуара», чтобы упомянуть один пример.
источник
Как уже упоминала Сильвен Пейроннет, логика является важной частью теоретической информатики. Однако недостаточно учить логику из учебников, предназначенных для чистых математиков. Другими словами, также важно изучать логику с точки зрения «информатики».
Теория конечных моделей
Мы хотим изучить методы, которые имеют дело с конечными структурами. Хорошо известно, что многие традиционные инструменты из теории моделей, например, компактность и теорема Левенгейма-Сколема, не применимы к конечным моделям. Это приводит нас к изучению теории конечных моделей . Для этой области я рекомендую следующие отличные книги:
Областью теории конечных моделей является описательная сложность , где мы хотим охарактеризовать классы сложности по типу логики, необходимой для определения языков. Окончательная ссылка для описательной сложности:
Доказательство сложности
Еще одной важной областью логики в информатике является Доказательство Сложности , изучение трехсторонних отношений между классами сложности, слабыми логическими системами и пропозициональной системой доказательств. Рассматриваются следующие два взаимосвязанных аспекта: (i) сложность доказательств формул высказываний и (ii) изучение слабых теорий арифметики, называемых ограниченной арифметикой .
Аспект (i) имеет отношение к следующему вопросу: «Существует ли система пропозиционального доказательства, в которой каждая тавтология имеет доказательство размера полинома в размере тавтологии?»
Для отличных исследований по сложности доказательств я рекомендую следующие две книги:
Книга Крайчека немного сложнее, поскольку он предположил, что читатели уже знакомы с математической логикой и теорией моделей (или достаточно готовы изучить фон, необходимый на этом пути). Но вы многому научитесь, прочитав и поняв эту книгу.
источник
Рандомизированные алгоритмы:
Вероятность и вычисления: рандомизированные алгоритмы и вероятностный анализ Майкла Митценмахера и Эли Упфала.
Отличная книга для объяснения основ рандомизированных алгоритмов. Примеры и доказательства объясняются очень четко, и им легко следовать. Кроме того, упражнения очень весело делать.
(ответил Маркос Вильягра)
Анализ рандомизированных алгоритмов:
Любой, кто работает с алгоритмами, должен иметь концентрацию измерения для анализа рандомизированных алгоритмов , которую также можно скачать в формате PDF здесь .
источник
Криптография:
Двухтомная книга « Основы криптографии » Одеда Голдрайха ( Том 1: Основные инструменты и Том 2: Основные приложения ) является отличной книгой по этому вопросу. (Ранние версии доступны на домашней странице автора .) Также доступна сокращенная версия этой книги.
Еще одна замечательная книга - « Введение в современную криптографию: принципы и протоколы» от Katz & Lindell.
Для тех, кто интересуется математическими основами криптографии , Hoffstein et al. , Введение в математическую криптографию . это естественный выбор.
Другие отличные книги:
Конкретные темы:
источник
Функциональное программирование
источник
Аппроксимационные алгоритмы
Книга « Алгоритмы аппроксимации » Вазирани - лучшая книга на эту тему. Другая книга - Алгоритмы аппроксимации для NP-трудных задач Хохбаума.
Вот сравнения двух рецензентов:
а также
Недавняя книга - Разработка алгоритмов аппроксимации Уильямсоном и Шмойсом.
источник
Комбинаторика
Вводные книги. Любая из следующих книг может служить отличным введением в предмет:
Более продвинутые тексты.
источник
Комбинаторика
Я хочу привести аналитическую комбинаторику Филиппа Флажо и Роберта Седжвика. Он обеспечивает прочную математическую базу для перечисления и анализа алгоритмов. Я также хочу воздать должное Филиппу Флажо, который умер два дня назад и был великим математиком и программистом.
источник
Проверка программы
источник
Теория информации
Теория информации, логический вывод и алгоритмы обучения Дэвид Маккей
Другие известные учебники по теории информации можно найти в Википедии .
источник
Распределенные алгоритмы
Распределенные алгоритмы Нэнси Линч Это классический текст, написанный пионером распределенных вычислений;
Введение в Распределенные Алгоритмы от Джерарда Тела Очень хорошее введение, также подходящее для курсов уровня бакалавриата; сосредоточены на модели передачи сообщений
Распределенные вычисления: основы, симуляции и продвинутые темы Хагит Аттия и Дженнифер Уэлч. Содержит передовые материалы, подходящие для курсов уровня PhD; Обсуждаются как модели передачи сообщений, так и модели с общей памятью.
Разработка и анализ распределенных алгоритмов. Николя Санторо. Относительно недавняя книга, может быть использована как на уровне бакалавриата, так и на уровне PhD; материалы представлены с акцентом на дизайн протокола
источник
Квантовые вычисления
Квантовые вычисления и квантовая информация от Nielsen и Чжуан , является большой справочник книга, идеально подходит для тех , кто хочет исследовать в этой области. Однако, для начала, трудно учиться, и это определенно не для самообучающихся. Поскольку в книге отсутствуют рабочие примеры, я предлагаю следующую книгу:
Проблемы и решения в области квантовых вычислений и квантовой информации от Steeb & Hardy . Эта книга включает в себя множество примеров, но это еще не для абсолютного новичка. Для начала предлагается следующая книга:
Квантовые вычисления с Демокрита . Скотт Ааронсон . Сила путешествий гораздо большего, чем квантовые вычисления, с отношениями к физике, философии и т. Д.
Две другие превосходные вводные книги по этому вопросу:
источник
оптимизация
Мне понравился фильм Пола Нахина « Когда меньше всего».
По сути, милая история оптимизации с помощью проблем и личностей. На страницах 32-36 в одной из колонок Билла Гасарха есть хороший обзор .
источник
Сложность общения:
Сложность общения Эяля Кушилевица и Ноама Нисана.
Это классическая и очень хорошо написанная книга. Хотя он немного староват, он все же лучшая вводная книга в этой области. Кроме того, упражнения чрезвычайно увлекательны и даются точно после объяснения понятий, чтобы вы могли исправить то, что только что изучили.
Часть рандомизированной сложности общения должна быть дополнена частями первой книги.
Сложность связи и параллельные вычисления Юрай Хромкович.
Очень полный, хотя иногда немного трудно читать. Интуитивные объяснения очень понятны, и очень приятные упражнения. Во второй части представлены связи с параллельными вычислениями.
источник
Книги Matousek & Chazelle о несоответствии превосходны.
На самом деле, почти все книги Матусека , в некоторой степени, заслуживают прочтения.
Книги Дугласа Уэста по теории графов ( [1] и [2] ) хороши.
источник
Вычислительная алгебра
Как сказал Шива в этом ответе , литература в этой области разбросана повсеместно, без единой терминологии. Можно найти полезные ссылки, выполнив поиск по «символическим вычислениям», «теории алгебраической сложности», «компьютерной алгебре» или «вычислительной алгебре». Как предлагается в ответах на этот вопрос ,
Вычислительный анализ
Также интересная область, которая имеет дело с вычислениями в реальных функциях. Также известен как «вычислимый анализ» или «вычислимое исчисление».
источник
Комбинаторика
Генерирующая функциональность , Герберт С. Уилф, является отличным введением в теорию порождающих функций, написанным гладко и наполненным упражнениями. Если он напишет все свои книги таким образом, я не могу дождаться, чтобы начать работу над другой.
Перечислительная комбинаторика Ричарда Стэнли - отличный справочник (продвинутый).
Комбинаторика: темы, методы, алгоритмы Питера Кэмерона и « Приглашение к дискретной математике » Матушека и Несетрила - прекрасное введение в комбинаторику.
Прикладная комбинаторика Робертса и Тесмана является энциклопедическим справочником по прикладной комбинаторике.
источник
Логика:
Это дословно мой ответ на этот вопрос .
Знание основ математической логики, на мой взгляд, плюс. Вы можете взглянуть на две книги Кори и Ласкара.
Математическая логика: курс с упражнениями, часть I
Математическая логика: курс с упражнениями, часть II
источник
Логическое / пробное письмо:
источник
Теория чисел
Я нашел несколько книг, часто цитируемых во многих статьях. Они превосходны в этом вопросе, но некоторые из них довольно старые. Вот список того, что я помню:
источник
Гиперграфы
Не так много книг, посвященных исключительно гиперграфам. Одна такая книга
Берге С. Гиперграфы: комбинаторика конечных множеств .
источник
Теория доказательств
Книга Троэльстры и Швичтенберга « Базовая теория доказательств» теперь является фактическим текстом по этой теме.
Girard, Taylor & LaFont's Proofs and Types - более короткая книга на эту тему, и ее версию можно скачать по адресу http://www.paultaylor.eu/stable/Proofs%2BTypes.html.
источник
Теория графов
Для введения в теорию графов: Введение в теорию графов от West
Подробнее о теории графов: теория графов Бонди и Мёрти
Всесторонняя книга, которая содержит новые разработки, а также старые классические результаты в теории графов:
Теория графов: Рейнхард Дистел .
Для графиков на поверхностях с комбинаторным подходом:
Графики на поверхностях
И для орграфов:
Диграфы: теория, алгоритмы и приложения
источник
СБИС Дизайн
Я не в железе. Однако, поскольку FAQ включает в себя VLSI в качестве одного из подразделов TCS, я спросил эксперта об известных книгах по дизайну VLSI. Они здесь:
источник