Ресурси для математиків, які сподіваються навчитися більше інформатики


14

Фон :

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

Проблема:

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

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

Питання:

Які книги чи інші ресурси є, які могли б допомогти математику, який перетворився на логіку, досягти знань про (теоретичну) інформатику?

Я шукаю щось корисніше, ніж кілька семінарських розмов і більш поглиблене, ніж омнібус Нового Тюрінга , але я не маю часу та ресурсів, щоб зробити ще одну ступінь бакалавра. (Можливо, я прошу те, чого не існує.)

Вибачте, якщо питання занадто розпливчасте або невдале. Я відчув, що це тут більше підходить, ніж на MSE, але я з радістю перенесу це, якщо буде потреба.


2
Теоретична інформатика має набагато більше сенсу, якщо хтось хороший або, принаймні, розумний програміст, тому що в деякому сенсі все (більшість) TCS - це формалізація (і спрощення) того, що роблять робочі програмісти. У нас була тема про пов’язані питання
Мартін Бергер

1
на це відповіли математики математики Mathoverflow, але, можливо, є місце для версії
TCS.se

2
Щодо теорії обчислюваності та базової складності, як щодо введення Сіпсера в теорію обчислення? Мені спантеличено, що ви не знайшли математично орієнтованих книг, тому що їх багато. Наприклад, Арора і Барак, і Голдрайх мають недавні книги з теорії складності в Інтернеті, і я впевнений, що там є багато книг з теорії математики для математики.
Сашо Ніколов

2
Інформатика досить велика; ви можете звузити його? Здається, що вас в основному цікавлять обчислюваність, теорія типів / мови програмування та, можливо, теорія складності; це звучить правильно?
usul

Ви можете скористатись Посібником з логіки з комп'ютерних наук корисним для ознайомлення.
Раду ГРИГо

Відповіді:


11

Ви, по суті, просите ресурси, які дозволять вам перетворити наявні знання з логіки, теорії рекурсії та теорії категорій на знання про теоретичну інформатику. Я б запропонував переглянути теорію реалізації, особливо через її зв'язки з теорією топосу та теорією категоричного доказування. .

Ось кілька пропозицій; моя порада - вибрати один і заглибитись у глибину. За винятком книги Тейлора (яка пояснює це), мої пропозиції припускають, що ви зазнали достатнього обчислення лямбда та теорії категорій, щоб побачити категоричні тлумачення просто набраного лямбда-числення.

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

    ІМО, це, мабуть, єдиний найкращий технічний вступ у взаємозв'язок між логікою, теорією категорій та обчисленням. Він не передбачає майже ніяких передумов, але потрапляє в досить глибокі води дуже швидко, і обов'язково оподатковує (і значно покращує) вашу математичну зрілість.

  • Примітки Веслі Фоа Вступ до фібрацій, теорії топосів, ефективних наборів топосів та модерів

    Ось деякі записки лекцій, які написав Веслі Фоа. Якщо ви категорично вільно говорите, то ці замітки пропонують дійсно швидкий шлях до розуміння деяких найважливіших конструкцій в реалізації теорії та теорії топосів (а саме, побудови ефективного топосу).

  • Книга Барта Джейкобса Теорія категорій логіки і типу

    Це одне з остаточних посилань на категоріальну семантику теорії типів. Він також дуже великий.

У той же час, коли ви читаєте одну з цих книг, я б радив завантажити та навчитися користуватися програмою мовою програмування Agda . Ця мова реалізує описані вище теорії складних типів, і ІМО неймовірно корисно побачити, як часто досить тонкі семантичні конструкції окупаються в теорії типів.

Андрій Бауер, напевно, може дати вам ще кращі поради. Можливо, його можна переконати в посаді. :)


4

Дві книги, які приходять на думку, є

Вступ до теорії обчислення Шипсером

і

Вступ до алгоритмів Cormen et al.

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


1
Я б не рекомендував багатослівний вступ до алгоритмів . Якщо ви хочете ознайомитись з основними алгоритмічними методами, я рекомендував би один із алгоритмів Дасгупта, Пападімітріу та Вазірані, Дизайн алгоритмів Кляйнберга і Тардоса, або «Розробка та аналіз алгоритмів Козена». Вступ у теорію обчислення Шипсером - очевидно, чудовий вибір. Я також додав би книгу про обчислювальну складність (я вважаю, що Папдімітріу, Арора і Барак, і Голдріх все чудово).
Бруно

1
Мої особисті переваги - теорія обчислень Козена (досить математична за стилем і з більшим охопленням логіки та обчислюваності) над Сіпсером (що за стилем набагато ближче до прикладної книги з інформатики).
Андрас Саламон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.