Яке математичне підґрунтя потрібно для теорії складності?


79

Зараз я студент магістратури, який повинен закінчити цей рік. Після закінчення навчання я збираюся працювати над магістром / доктором технічних наук. Мене почало цікавити, які галузі математики вважаються корисними для ТКС, особливо (класичної) теорії складності.

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

Якщо ви вважаєте поле, яке не використовується широко в теорії складності, але ви вважаєте його критичним для TCS, будь ласка, також зверніться до нього.


14
Я рекомендую вам почати читати стандартний текст з теорії складності, наприклад, Арора / Барак або Пападімітріу, і коли ви застрягнете, бо не розумієте математику, спробуйте вивчити пов'язану математику детально, перш ніж продовжувати.
Робін Котарі

8
Після того, як ви зробите те, що запропонував Робін, починайте працювати над деякими невеликими відкритими проблемами. Ви відчуєте стимул до вивчення математики, яка стоїть за нею. Як студент, я не вважаю дуже ефективним вивчити математичне поле лише заради навчання.
Алессандро Косентіно

Відповіді:


53

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


20
Ця відповідь не означає, що ви не повинні вивчати пов'язані з нами поля (див. Інші відповіді). Я б сказав, що сюди входять лінійна алгебра, теорія графів, теорія ймовірностей, основна абстрактна алгебра та основна логіка.
Пітер Шор

6
Звичайно, якщо ви хочете зробити щось на зразок сприяти програмі Малмулі для доведення P NP, вам потрібно набагато, набагато, набагато більше математики, ніж це.
Пітер Шор

34

До свого списку слід додати книгу Декстера Козена про теорію обчислень. Дуже ефективно висвітлює основи теорії складності, а формат коротких лекцій - чудовий.

Що стосується математичного походження, крім того, що було сказано вище:

  • Теорія ймовірностей
  • Лінійна алгебра та абстрактна алгебра
  • теорія графів
  • основна логіка

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


32

A C 0 Книга " Екстремальна комбінаторика " Стасіса Юкна є надто маловідомою в рамках спільноти складності. Це чудова колекція комбінаторних методик, написаних значною мірою з огляду на їх застосування в TCS (переважно складності). Ряд важливих методів складності обговорюється в контексті їх комбінаторики, включаючи відомі результати, такі як монотонна та ланцюги , а також деякі дуже приємні результати, з якими ви могли б не зустрітись інакше. І вправ багато.AC0

Це (наскільки мені відомо) єдина опублікована книга, яка глибоко розглядає «метод лінійної алгебри в комбінаториці» - гладкий, потужний інструмент, про який потрібно знати. Є проект рукопису Бабая і Франкла, який заглиблюється в більшу глибину, але він не публікується або в Інтернеті:

https://cs.uchicago.edu/page/linear-algebra-methods-combinatorics-applications-geometry-and-computer-science

Як ви, напевно, знаєте, імовірнісний метод комбінаторики є дуже важливим, навіть центральним, в теорії складності. Книга Юкни висвітлює її, але вона розглядається в більшій глибині (з багатьма іншими прекрасними прикладами) відомою книгою Алона та Спенсера " Імовірнісний метод".


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

27

У попередніх відповідях уже були перелічені основні: теорія ймовірностей, комбінаторика, лінійна алгебра, абстрактна алгебра (кінцеві поля, теорія груп тощо).

Я додам:

Аналіз Фур'є , див., Наприклад, курс Райана О'Доннеля: 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

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


5
Більшість речей, які ви просто вивчаєте, коли ви йдете, залежно від того, куди вас ведуть дослідження / життя: від курсів, з лекцій, від співробітників, з робіт тощо
Дана Мошковіц,

22

Окрім основних речей, ймовірно:

  • Комбінаторика - Ви можете виявити, що ви рахуєте речі досить регулярно
  • Стохастика - для середнього аналізу випадків та рандомізованих алгоритмів

Мені подобається конкретна математика Кнут. Це дає хороший огляд / основні знання багатьох важливих інструментів.

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


Я люблю Concrete Math, але це трохи езотерично. Я б порекомендував спочатку більш основну книгу, як, наприклад, "Комбінаторика" Кемерона.
Еміль

7
Ось моє враження - Concrete Math здається приголомшливою книгою, щоб навчитися робити точний (або майже точний) аналіз алгоритмів, форте Кнута. Якщо це те, що ти хочеш зробити, покатайся. Але майте на увазі, що більшість робіт з теорії складності дають набагато менш точні межі, тому методи КМ менш актуальні.
Енді Друкер

1
Дехто може сказати, що це тому, що теоретики складності - ледачі. Але я думаю, це тому, що (а) точні межі можуть бути більше зусиль, ніж це варто; (б) часто існує такий великий розрив між відомими верхніми та нижніми межами, що невеликі уточнення з обох боків можуть здатися малоцінними.
Енді Друкер

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

22

У Саньєєва Арора є хороший документ для курсу (для студентів 1 курсу), який він викладав під назвою "інструментарій теоретика", який має багато основного матеріалу, який повинен знати студент теорії. Багато цього матеріалу ви можете дочекатися, поки навчатись у школі, але це дасть вам гарне уявлення про те, що вам потрібно знати, та деякі передумови.


20

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

"Як я знаю, що він мені потрібен, якщо я його ніколи раніше не бачив?", Запитаєте ви? Гарне питання. Іноді тобі пощастило і відчуєш це: "Ви знаєте що, ця підпроблема, яку я намагаюся вирішити, звучить дуже схоже на те, що трансформація фур'є-трансмісіїмаджігі Фред не заткнеться. Мені доведеться це перевірити чи вловити Фред в кімнаті і запропонуйте йому швидко пробігти основи ". В іншому випадку ви вловлюєте в кімнаті купу людей, які більше знають, ніж ви самі, говорите, проводячи семінарські розмови чи щось таке, і скуготаєте, як ви не можете вирішити цю проблему, поки Фред не звучить "Ей, я обдякаю, що ти Ви можете вирішити це за допомогою Фур'є-аналізу. Дозвольте мені показати, як ". Зрештою, ви отримуєте спільний папір з Фредом, ви дізналися щось нове, і ви з Фредом - найкращі друзі зараз і виходите пити кожні наступні суботні вечора.


18

Я думаю, що список математичних полів, які не є корисними, був би набагато коротшим, ніж список полів, які є! Я не можу придумати жодного.

Вивчіть те, що математика виглядає цікавою, та / або, як це виглядає, як вам потрібно на даний момент. Навіть якщо ви не використовуєте його безпосередньо, це допоможе вам вивчити інші речі, які ви робите.


4
Я другу відповім. Яка б математика вам не була найцікавішою, допоможе вам визначити, які проблеми є найцікавішими, а також проблеми, які ви добре вирішили вирішити.
Деррік Столі


12

Рекомендую поглянути на ці книги:

Крім того, теми на конференції MFCS (Математичні основи інформатики) можуть привести вас до того, який фон вам може знадобитися. (Caveat: конференція включає в себе дуже вдосконалені теми. Вам не потрібно їх освоювати. Просто спробуйте отримати широку картину.)


9

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


6

Теорія представлення кінцевих груп (також над кінцевими полями) може бути напрочуд корисною для різних завдань, включаючи:

  • алгоритми множення матриці ( Кон - Кляйнберг-Сегеді-Уманс )

  • побудова локально декодованих кодів (див., наприклад, цей документ Кліма Єфременка)

  • програми в квантових обчисленнях (задача прихованої підгрупи для неабелевих груп, мультиплікативний супротивник)

Sn


не забувайте детерміновані побудови графіків розширювачів
Сашо Ніколов

Ви маєте на увазі алгебраїчні конструкції, що використовують властивість (T) a la Lubotzky? У цьому випадку це дещо інший аромат, ніж наведені вище приклади (не використовуйте іррептики скінчених груп).
Марцін Котовський

4

Рекомендую прочитати книгу Гарі та Джонсона

Комп'ютери та нездатність: Посібник з теорії повноти NP .

Це можна прочитати з дуже малою математичною основою. Я думаю, що цю книгу радіти читати, і я рекомендував би її як першу книгу над Пападімітріу та Аророю / Бараком. Прочитавши це, ви можете зануритися в інші книги та визначити різні шматочки математики, які вам потрібні для розуміння розширених тем, які вас цікавлять.


1
Я навчився складності з цієї книги, але вважаю її незбалансованою, з безліччю чудернацьких, але в кінцевому підсумку неважливих деталей, але вона не має висвітлення питань, які були важливими навіть під час написання книги. З іншого боку, це час від часу є важливою довідковою роботою. На відміну від цього, текст Козена, згаданий в іншій відповіді, зрозумілий, вичерпний та сучасний.
Андраш Саламон

1

Колись бакалавратський курс CS464 (2002) в UWaterloo CS використовував обчислювальну складність Крістоса Х. Пападімітріу , Аддісон-Уеслі, 1994.

Перелічені основні теми включають машини Тьюрінга, нерозбірливість, складність у часі та повноту NP.

Для заднього перегляду перегляньте свою бібліотеку поблизу QA267.G57 ( Введення Годдардом теорії обчислень , заснованої на швидкому прочитанні чи два-два пропуски та її доступності для мене, здається, покриває сторону CS фону; у мене є певний набір та група теорія з чистої математичної сторони також була б корисною.)


2
Я б хотів, щоб я мав достатньо репутації, щоб проголосувати. Чому ці посилання на один університет та його бібліотеку?
Алессандро Косентіно

2
FWIW, QA267.G57 - номер виклику Бібліотеки Конгресу, який є широко використовуваним бібліотечним стандартом. Він не специфічний для Університету Ватерлоо (за винятком, можливо, підсумкових цифр).
Еміль Єржабек
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.