나는 최근 Clay Mathematics Institute의 Stephen A. Cook이 설명한 대 N P 문제 에 대해 상기시켰다 .
그것은 내 관심을 끌었고 그것에 대해 더 많이 배우고 싶습니다. 첫 번째 단계는 문제에 대한 더 깊은 이해와 일반적으로 해당 영역에 대한 이해를 얻는 것입니다.
문제에 대해 더 자세히 배울 수있는 책이나 기타 자료를 추천 할 수 있습니까?
나는 최근 Clay Mathematics Institute의 Stephen A. Cook이 설명한 대 N P 문제 에 대해 상기시켰다 .
그것은 내 관심을 끌었고 그것에 대해 더 많이 배우고 싶습니다. 첫 번째 단계는 문제에 대한 더 깊은 이해와 일반적으로 해당 영역에 대한 이해를 얻는 것입니다.
문제에 대해 더 자세히 배울 수있는 책이나 기타 자료를 추천 할 수 있습니까?
답변:
그런 열의를 가지고이 위대한 문제를 추구하는 동료 학부생을 보는 것이 좋습니다. 내 경험을 통해 조언을 해 드리겠습니다.
는 매우 흥미로운 문제입니다. 대답의 의미는 특히 두 클래스가 동일 할 경우 엄청납니다. 보상은 이타 적 과학적 것에서부터 물질적 돈 상에 이르기까지 많은 수준에서 우수합니다. 그로 인해 문제를 해결하는 데 어려움을 겪고있는 많은 젊은이들이 이에 대한 지식이 없거나 제한되어 있습니다.
아마도 대부분의 이론 학생들은 그 단계를 겪을 것입니다. 당신은 아이디어를 가지고 그것이 옳다고 생각할 것이지만, 당신이 틀렸다는 것은 거의 확실합니다. 어떤 사람들은 그 단계를 결코 통과하지 못하고 자신의 실수를 인정하기에는 너무 고집을 부려 스스로를 당황하게합니다.
FOCS 2010에서 Rahul Santhanam은 질문을 신화적인 괴물 과 비교했습니다 . 이 몬스터를 물 리치려면 많은 희생과 용기가 필요합니다. 결국 가장 어려운 문제 일 수 있습니다. 싸움의 기회를 가지려면,이 문제와 일반적인 복잡성에 대해 많은 것을 연구해야합니다. "몬스터의 약점"이 무엇인지 절대 알 수 없습니다.
그래서 나의 충고는 이것입니다 : 문제를 아는 데 시간을 내십시오. 해결책을 찾을 때마다 어떻게 든 틀렸다고 가정하고 문제를 찾으십시오. 그렇게하면 많은 것을 배울 수 있습니다.
참고로 Sipser의 책도 추천합니다. 이 과정을 마치고 난 후에는 계산 개념을 잘 이해해야하는보다 복잡한 책인 Arora와 Barak의 "전산 복잡성 : 현대적인 접근 방식"을 추천합니다.
특히 Sipser의 "계산 이론 입문"을 강력히 제안합니다. 특히 P 대 NP를 해결하는 데있어 주요 장벽 중 하나 이상을 다루기 때문입니다. Baker-Gill-Solovay 결과에 대한 확실한 증거가 포함되어 있습니다. Razborov-Rudich 결과에 어떤 것이 포함되어 있는지 확실하지 않지만 P 대 NP뿐만 아니라 복잡한 이론의 다른 많은 관련 주제에 대한 학습을위한 환상적이고 매우 명확하며 읽기 쉬운 소개 자료입니다. .. 문제를 해결하려는 데 관심이 있다면 분야에 대한 배경 지식과 시작 위치에 대한 아이디어를 원할 것이므로 중요합니다.
NP 완성도에 대한 고전적인 참고 자료는 Garey and Johnson의 저서 (http://tinyurl.com/2w5yofs)입니다. 유익하고 철저합니다.
개인적으로 저는 대학에서 사용했기 때문에 Kleinberg Tardos (http://tinyurl.com/37dtyyl)에서 배웠습니다.
또한 문제가있는 인스턴스를 가져 와서 해결해 보라고 제안합니다. 열린 문제를 실험하는 것이 좋습니다. 즉, 다른 사람이 프로그램을 작성하거나 알려진 알고리즘을 구현하고 작동 방식, 실패 위치 등을 이해할 수 있습니다. 또한 여러 가지 증명 기술을 발견 할 수 있습니다. 당신이 이것에 대해 많은 연구와 연구를하고 해결책을 찾을 수 없다면 그들은 감옥에 갇히지 않을 것임을 기억하십시오. 반대로 역량 수준이 향상됩니다.
대부분의 경우 이러한 문제 는 일반적으로 특정 사례 보다 해결하기 어렵습니다 . 아이디어를 얻으려면 NFL 에 대해 읽으십시오 .
제 경우에는 곧 아이디어와 관련 개념의 풀에 묻혔습니다. 프로그래밍 / 코딩 조정이 있으며 이론적 인 조작이 있습니다. 예를 들어, Genetic Algorithm 개념을 사용하여 문제 인스턴스를 해결하려는 경우 조만간 GA 만 발견 할 수있는 거대한 세상입니다. 최근 GA / EA의 연계 학습 에 대해 알게 되었습니다. 그래도 그것에 대해 많이 모른다.
또한 코드를 작성하려고 할 때 일부 프로그래밍 언어 / 도구가 다른 언어보다 낫거나 더 쉽습니다. Alex Stepenov가 OOP가 수학적으로 부정확하다고 생각하는 이유와 함수형 프로그래밍의 장점은 무엇인지에 대한 토론에서 잃어 버렸습니다. 나는 흔적이 없지만 처음에는 NP-Complete / Hard 문제를 연구하고 있었음을 분명히 기억합니다.
여행은 모험적이지만 난 당신을 환영합니다!
P, NP, NP-Completeness : Oded Goldreich 의 복잡성 이론의 기초 는 또 다른 좋은 입문서입니다.
입문 후, P = NP Question과 Richard J. Lipton 의 Gödel 's Lost Letter 도 추천하고 싶습니다 .
랜스 포트 노우 (Lance Fortnow)의 "P 대 NP 문제의 상태" 라는 훌륭한 리뷰 기사를 추천합니다 .
랜스 포트 노우 (Lance Fortnow)는 최근 CACM (MA의 다른 답변에서 언급)에서 이미 포괄적 인 칼럼을 대중 과학 수준의 저서 인 골든 티켓 : P, NP 및 불가능에 대한 검색으로 확장하여 출판했습니다 . 그것은 Nazaryan에 의해 뉴욕 주에서 "가장 깊은 수학 문제" 에서 검토되었습니다. ( Princeton University Press 출판사 페이지 )