Ресурсы для математиков, надеющихся узнать больше информатики

14

Справочная информация :

Я заканчиваю магистратуру по математике и в августе начну работу над докторской диссертацией по логике. Чем больше логики я изучаю, тем больше теоретической информатики, с которой я сталкиваюсь, например, теория рекурсии, лямбда-исчисление, но лежащий в основе CS лежит под ковром. Мои основные области интересов - теория множеств и теория категорий - также имеют применение в информатике, но до сих пор я изучал их только с точки зрения чистой математики.

Проблема:

Отсутствие у меня знаний в области компьютерных наук иногда затрудняет понимание мотивации или интуиции, стоящей за тем, что происходит, или того, как это можно применить. Я справляюсь, но чувствую, что было бы полезнее немного расшириться ... мне приходит в голову, что в интересах моих будущих исследований я должен изучить некоторые компьютерные науки.

Большинство книг по CS, которые я просмотрел, были не очень подходящими для моих целей, потому что они были слишком простыми и нетехническими, или предполагали, что у меня нет опыта работы с CS. Похоже, они нацелены на людей, которые хорошо разбираются в компьютерах, но мало занимаются математическим образованием - моя ситуация противоположна.

Вопрос:

Какие есть книги или другие ресурсы, которые могли бы помочь математику, ставшему логиком, в достижении практических знаний (теоретической) информатики?

Я ищу что-то более полезное, чем несколько выступлений на семинарах и более глубокое, чем «Омнибус нового Тьюринга». , но у меня нет ни времени, ни ресурсов, чтобы получить еще одну степень бакалавра. (Может быть, я спрашиваю о том, чего не существует.)

Извините, если вопрос слишком расплывчатый или некорректный. Я чувствовал, что это было более подходящим здесь, чем на MSE, но я буду рад перенести его, если потребуется.

Клайв Ньюстед
источник
2
Теоретическая информатика имеет гораздо больше смысла, если вы хороший или, по крайней мере, разумный программист, потому что в некотором смысле все (большая часть) TCS является формализацией (и упрощением) того, что делают работающие программисты. У нас была ветка по связанным вопросам
Мартин Бергер
1
на этот вопрос ответили по информатике mathoverflow для математиков, но, возможно, есть место для версии
TCS.se
2
Что касается вычислимости и базовой теории сложности, как насчет введения Сипсера в теорию вычислений? Я озадачен тем, что вы не нашли математически ориентированных книг, потому что их много. Например, Арора, Барак и Гольдрайх недавно выпустили книги по теории сложности, и я уверен, что существует множество книг по математике «Трек-b».
Сашо Николов
2
Информатика довольно большая; Вы можете сузить это? Похоже, вы в основном интересуете вычислимость, теория типов / языки программирования и, возможно, теория сложности; это звучит правильно?
усул
Вы можете найти Справочник по логике в области компьютерных наук полезным для справки.
Раду ГРИГОРЕ

Ответы:

11

По сути, вы запрашиваете ресурсы, которые позволят вам превратить имеющиеся у вас знания в области логики, теории рекурсии и теории категорий в знания о теоретической информатике. Я бы предложил взглянуть на теорию реализуемости, особенно через ее связи с теорией топосов и теорией категориальных доказательств. ,

Вот несколько предложений; Мой совет - выбрать один и углубиться. За исключением книги Тейлора (которая объясняет это), мои предположения предполагают, что вы подвергались достаточному воздействию лямбда-исчисления и теории категорий, чтобы увидеть категориальные интерпретации лямбда-исчисления простого типа.

  • Книга Пола Тейлора « Практические основы математики»

    ИМО, это, вероятно, единственное лучшее техническое введение в отношения между логикой, теорией категорий и вычислениями. Он предполагает почти никаких предварительных условий, но очень быстро проникает в глубокие воды и обязательно облагает налогом (и значительно улучшает) вашу математическую зрелость.

  • Заметки Уэсли Фоа: введение в расслоения, теория топосов, эффективные топосы и скромные множества

    Вот некоторые записи лекций, которые написал Уэсли Фоа. Если вы категорически свободно говорите, то эти заметки предлагают действительно быстрый путь к пониманию некоторых наиболее важных конструкций в теории реализуемости и теории топосов (а именно, к построению эффективных топосов).

  • Книга Барта Джейкобса « Категориальная логика и теория типов»

    Это одна из окончательных ссылок на категориальную семантику теории типов. Это также очень большой.

В то же время, когда вы читаете одну из этих книг, я бы посоветовал скачать и научиться использовать язык программирования Agda. . Этот язык реализует сложные теории типов, описанные выше, и IMO невероятно полезно увидеть, как часто довольно тонкие семантические конструкции обмениваются в теории типов.

Андрей Бауэр, вероятно, может дать вам еще лучший совет. Возможно, его можно убедить опубликовать. :)

Нил Кришнасвами
источник
4

Две книги, которые приходят на ум

Введение в теорию вычислений от Sipser

и

Введение в алгоритмы Cormen et al.

Я согласен с Усулом, который сказал, что теоретическая информатика - это широкая область, и мы могли бы дать более точные ссылки, если бы вы были более точными в том, что вы хотите изучить.

Кевин А. Вортман
источник
1
Я не рекомендовал бы подробное Введение в Алгоритмы . Если кто-то хочет познакомиться с основными алгоритмическими методами, я бы порекомендовал один из Алгоритмов Дасгупты, Пападимитриу и Вазирани, Алгоритм дизайна Кляйнберга и Тардоса или Проектирование и анализ алгоритмов Козена. Введение в теорию вычислений от Sipser - очевидно, отличный выбор. Я также добавил бы некоторую книгу по вычислительной сложности (я нахожу книги Папдимитриу, Ароры и Барака и Гольдрайха отличными).
Бруно
1
Мое личное предпочтение - теория вычислений Козена (довольно математическая по стилю и с большим охватом логики и вычислимости) по сравнению с Sipser (по стилю гораздо ближе к книге по прикладной информатике).
Андрас Саламон