복잡성 이론에는 어떤 수학적 배경이 필요합니까?


79

저는 현재 학부생이며 올해 졸업해야합니다. 졸업 후 TCS 마스터 / PhD를 위해 일하고 싶습니다. TCS에 유용한 수학 분야, 특히 (고전적인) 복잡성 이론이 궁금합니다.

복잡성 이론을 연구하려는 사람에게 어떤 분야가 필수적이라고 생각하십니까? 이 분야를 다루는 좋은 교과서를 알고 있다면, 난이도 (초급, 대학원 등)를 포함 시키십시오.

복잡성 이론에서 많이 사용되지 않는 필드를 고려하지만 TCS에 중요하다고 생각되는 필드도 참조하십시오.


14
Arora / Barak 또는 Papadimitriou와 같은 복잡성 이론에 대한 표준 텍스트를 읽기 시작하고 수학을 이해하지 못해서 멈출 때마다 관련 수학을 자세히 배우십시오.
Robin Kothari

8
Robin이 제안한 것을 완료 한 후, 약간의 열린 문제에 대해 작업을 시작하십시오. 배후에있는 수학을 배우도록 자극받을 것입니다. 대학원생으로서 저는 단지 학습을 위해 수학 분야를 배우는 것이 매우 효율적이라고 생각하지 않습니다.
Alessandro Cosentino

답변:


53

이 TCS StackExchange 질문에 대한 답변을 보면 복잡한 이론에서 수학의 거의 모든 영역이 중요 할 수 있다는 것을 알 수 있습니다. 따라서 관련이없는 것으로 보이는 일부 수학 영역에 관심이 있다면 계속해서 공부하십시오. 그것이 복잡성 이론과 관련이 있다면, 당신은 그것을 이해하는 소수의 복잡성 이론가 중 하나가 될 것입니다.


20
이 답변이 우리 가 관련된 분야를 연구해서는 안된다는 의미는 아닙니다 (다른 답변 참조). 여기에는 선형 대수, 그래프 이론, 확률 이론, 기본 추상 대수 및 기본 논리가 포함됩니다.
피터 쇼어

6
물론, P NP 를 증명하기위한 Mulmuley의 프로그램에 기여하는 것과 같은 일을하려면 이보다 훨씬 더 많은 수학이 필요합니다.
피터 쇼어

34

당신은 추가해야 덱스터 코젠의 책을 목록에 계산의 이론에. 복잡한 이론의 기초를 매우 효과적으로 다루고 짧은 강의 형식이 좋습니다.

위에서 언급 한 것 외에도 수학적 배경과 관련하여 :

  • 확률 이론
  • 선형 대수와 추상 대수
  • 그래프 이론
  • 기본 논리

나는 당신이 시작하기 위해이 주제의 주인이 될 필요는 없다고 생각하지만 확실히 특정 수준의 편안함을 갖는 데 도움이됩니다.


32

A C 0 Stasys Jukna의 Extremal Combinatorics 라는 책 은 복잡한 커뮤니티에서 IMO가 너무 잘 알려져 있지 않습니다. TCS의 응용 프로그램을 중심으로 작성된 조합 기술의 훌륭한 모음입니다 (주로 복잡성). 모노톤 및 회로 하한 과 같은 유명한 결과를 포함하여 여러 가지 중요한 복잡성 기술이 조합 컨텍스트에서 논의됩니다 . 그리고 많은 운동이 있습니다.AC0

이 책은 (조합 지식의 선형 대 수법) 깊이를 다루는 유일하게 출판 된 유일한 책입니다. Babai와 Frankl의 초안 원고가 훨씬 더 깊이 있지만 출판되거나 온라인으로 제공되지는 않습니다.

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

아마 아시다시피, 조합론의 확률 론적 방법은 복잡한 이론에서 매우 중요하고 심지어 중심적입니다. Jukna의 책은이 책을 다루고 있지만 Alon과 Spencer의 유명한 책 The Probabilistic Method에 의해 더 많은 깊이있게 다루어 집니다.


2
같은 줄을 따라 Jaikumar Radhakrishnan의 엔트로피 방법 인 "엔트로피 및 계산"에 대한 아름다운 글로 된 가이드를 지적하고자합니다. 엔트로피 방법은 올바른 기회가 올 때 적용하기에 매우 만족스러운 매끄러운 도구 중 하나입니다.
arnab

27

이전 답변에는 이미 확률 이론, 조합론, 선형 대수학, 추상 대수학 (유한 필드, 그룹 이론 등)이 나와 있습니다.

나는 추가 할 것이다 :

푸리에 분석 , 예 : Ryan O'Donnel의 과정 참조 : http://www.cs.cmu.edu/~odonnell/boolean-analysis/

코딩 이론 은 Madhu Sudan의 과정을 참조하십시오 : http://people.csail.mit.edu/madhu/coding/course.html

정보 이론 , 표준 서적은 정보 이론의 요소입니다 : http://www.amazon.com/Elements-Information-Theory-Telecommunications-Processing/dp/0471241954

또한 표현 이론, 무작위 걷기 및 더 많은 것들을 잊어 버릴 것입니다 ...


5
강의, 강의, 공동 작업자, 논문 등 연구 / 생활이 어디로 가는지에 따라 배우는 대부분의 것들
Dana Moshkovitz

22

기본적인 것 외에도 아마도 :

  • 조합론 -당신은 당신이 아주 규칙적으로 물건을 세는 것을 발견 할 수 있습니다.
  • 확률론 -평균 사례 분석 및 무작위 알고리즘

나는 Knuth의 Concrete Mathematics 를 좋아 합니다. 많은 중요한 도구에 대한 좋은 개요 / 기본 지식을 제공합니다.

당신이 좋아하는 경우 기능을 생성 (참조 generationfunctionology 도구로 윌프에 의해)을, 복잡한 분석 도 유용합니다.


나는 콘크리트 수학을 좋아하지만 조금 난해합니다. Cameron의 "Combinatorics"와 같이보다 주류적인 책을 먼저 추천합니다.
Emil

7
여기에 제 인상이 있습니다. 콘크리트 수학은 Knuth의 장점 인 알고리즘의 정확한 (또는 거의 정확한) 분석법 을 배우는 훌륭한 책인 것 같습니다 . 그것이 당신이하고 싶은 일이라면, 계속하십시오. 그러나 대부분의 복잡한 이론 논문은 훨씬 덜 정확한 경계를 제공하므로 CM 기술은 관련성이 적습니다.
Andy Drucker

1
복잡한 이론가들이 게으름 뱅이이기 때문에 이것이 사실이라고 말할 수도 있습니다. 그러나 나는 그것이 (a) 정확한 한계가 가치보다 더 많은 노력을 기울일 수 있기 때문이라고 생각합니다.
Andy Drucker

이 책에는 모든 종류의 멋진 것들이 있습니다. 제 말은 주로 정확한 합산 및 반복 관계에 대한 자료에 관한 것입니다.
Andy Drucker

22

Sanjeev Arora는 "1 차 학생들을위한"대학원 과정에 대한 훌륭한 문서 를 가지고 있습니다 . "이론가의 툴킷"은 이론 학생이 알아야 할 기본 자료가 많이 있습니다. 이 많은 것들이 대학원 때까지 기다릴 수 있지만 알아야 할 사항과 일부 전제 조건에 대한 좋은 아이디어를 제공합니다.


20

TCS 커뮤니티의 많은 성공적인 연구자들에게 공통적이지는 않지만 보편적 인 패러다임은 다음과 같습니다. 논리, 선형 대수, 확률, 최적화, 그래프 이론, 조합론, 기본 추상 대수와 같은 학부 수준의 몇 가지 기본 사항을 알고 있습니다. 그 외에도 몇 달 동안 어려움을 겪고있는 문제를 해결하기 위해 필요하다고 생각 될 때까지, 또는 그것을 위해 무언가를 배우는 것이 정말 즐거울 것이라고 생각할 때까지 다른 것을 배우도록 강요하지 마십시오.

"이전에 본 적이 없다면 어떻게해야하는지 어떻게 알 수 있습니까?"라고 묻습니다. 좋은 질문. 때때로 당신은 운이 좋으며 그것을 감지합니다. "내가 아는,이 하위 문제는 푸리에 변환을하지 않는 푸리에 변환과 같은 소리를 다루려고합니다. 프레드가 닫히지 않을 것입니다. 나는 그것을 확인하거나 프레드해야합니다. 방에 들어가서 기초를 빠르게 익히 게 해주세요. " 다른 시간에, 당신은 방에있는 자신보다 더 많은 지식을 가진 사람들을 함정에 빠뜨리고, 세미나 연설이나 무엇인가를 말함으로써, 프레드가 차임 할 때까지이 문제를 어떻게 해결할 수 없는지에 대해 "이봐, 당신은 내기 푸리에 분석으로이 문제를 해결할 수 있습니다. 방법을 알려 드리겠습니다. " 결국, 당신은 Fred와 공동 논문을 얻었고, 당신은 새로운 것을 배웠으며, 당신과 Fred는 지금 최고의 친구들이며 토요일 밤마다 술을 마시 러 나갑니다.


18

유용 하지 않은 수학 필드 목록은 필드 목록보다 훨씬 짧을 것이라고 생각합니다! 나는 생각할 수 없다.

수학이 흥미로워 보이는지, 그리고 / 또는 현재 필요한 것으로 보이는 것을 연구하십시오. 직접 사용하지 않더라도 다른 일을 배우는 데 도움이됩니다.


4
이 답변을 두 번째로하겠습니다. 가장 흥미로운 수학이 무엇이든 가장 흥미로운 문제와 해결하기에 적합한 문제를 안내합니다.
Derrick Stolee



9

숫자 이론은 언급되지 않았지만 많은 암호화 및 복잡도 이론 구성에 매우 중요한 도구입니다.


6

유한 그룹 (유한 필드 이상)의 표현 이론은 놀랍게도 다음을 포함한 다양한 작업에 유용 할 수 있습니다.

  • 행렬 곱셈 알고리즘 ( Cohn--Kleinberg-Szegedy-Umans )

  • 지역적으로 해독 가능한 코드 구성 (예 : Klim Efremenko 의이 논문 참조 )

  • 양자 컴퓨팅 응용 (비 표지 그룹에 대한 숨겨진 부분 군 문제, 곱셈 적대적 방법)

Sn


확장 그래프의 결정 론적 구성을 잊지 마십시오
Sasho Nikolov

당신은 재산 (T) a la Lubotzky를 사용하여 대수 구조를 의미합니까? 이 경우 위의 예와 약간 다른 향이 있습니다 (유한 그룹의 irreps를 사용하지 마십시오).
Marcin Kotowski

4

Garey와 Johnson의 책을 읽는 것이 좋습니다

컴퓨터와 다루기 어려움 : NP- 완전성 이론 안내서 .

이것은 수학적 배경이 거의없이 읽을 수 있습니다. 나는이 책을 읽는 것이 기쁘다 고 생각하며 Papadimitriou와 Arora / Barak에 관한 첫 번째 책으로 추천합니다. 이 책을 읽고 나면 다른 책을 읽고 관심있는 고급 주제를 이해하는 데 필요한 여러 가지 수학을 식별 할 수 있습니다.


1
나는이 책에서 복잡성을 배웠지 만, 엄청나지만 궁극적으로 중요하지 않은 세부 사항들로 인해 균형이 맞지 않다는 것을 알지만, 책이 쓰여질 당시에도 중요한 문제에 대한 내용은 부족합니다. 반면에, 때로는 중요한 참조 작업입니다. 대조적으로, 다른 답변에서 언급 된 Kozen의 텍스트는 명확하고 포괄적이며 현대적입니다.
András Salamon

1

옛날 옛적 에 UWaterloo CS 의 학부 레벨 과정 CS464 (2002) 는 1994 년에 Christos H. Papadimitriou의 전산 복잡성 , Addison-Wesley를 사용했습니다.

나열된 배경 주제에는 튜링 머신, 결정 불가능 성, 시간 복잡성 및 NP- 완전성이 포함됩니다.

배경은 QA267.G57 근처에서 라이브러리를 찾아보십시오 (Goddard 's Introducing theory of Introducing theory of a quick skim read and two available to 내게는 배경의 CS 쪽을 다루는 것 같습니다. 순수한 수학 측면의 이론도 유용 할 것입니다.)


2
투표하기에 충분한 평판을 얻었 으면 좋겠습니다. 왜 한 대학과 그 도서관에 대한 언급입니까?
Alessandro Cosentino

2
FWIW, QA267.G57은 널리 사용되는 라이브러리 표준 인 Library of Congress 통화 번호입니다. 워털루 대학교에만 한정되지는 않습니다 (최종 자릿수 제외).
Emil Jeřábek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.