Những loại nền toán học là cần thiết cho lý thuyết phức tạp?


79

Tôi hiện đang là sinh viên đại học, chắc chắn sẽ tốt nghiệp trong năm nay. Sau khi tốt nghiệp, tôi đang cân nhắc làm việc với thạc sĩ / tiến sĩ TCS. Tôi đã bắt đầu tự hỏi những lĩnh vực toán học nào được coi là hữu ích cho TCS, đặc biệt là lý thuyết phức tạp (cổ điển).

Những lĩnh vực nào bạn cho là cần thiết cho một người muốn nghiên cứu lý thuyết phức tạp? Bạn có biết bất kỳ sách giáo khoa tốt bao gồm các lĩnh vực này và nếu có, xin vui lòng bao gồm mức độ khó của họ (giới thiệu, tốt nghiệp, vv).

Nếu bạn xem xét một lĩnh vực không được sử dụng nhiều trong lý thuyết phức tạp nhưng bạn cho rằng nó rất quan trọng đối với TCS, vui lòng tham khảo nó.


14
Tôi khuyên bạn nên bắt đầu đọc một văn bản tiêu chuẩn về lý thuyết phức tạp, như Arora / Barak hoặc Papadimitriou, và bất cứ khi nào bạn gặp khó khăn vì bạn không hiểu toán, hãy thử học toán chi tiết trước khi tiếp tục.
Robin Kothari

8
Sau khi bạn đã thực hiện những gì Robin đề xuất, hãy bắt đầu giải quyết một số vấn đề nhỏ. Bạn sẽ cảm thấy bị kích thích để học toán học đằng sau nó. Là một học sinh tốt nghiệp, tôi không thấy rất hiệu quả để học một số lĩnh vực toán học chỉ vì mục đích học tập.
Alessandro Cosentino

Câu trả lời:


53

Nếu bạn nhìn vào các câu trả lời cho câu hỏi TCS StackExchange này , bạn sẽ thấy rằng có khả năng hầu như bất kỳ lĩnh vực toán học nào cũng có thể quan trọng trong lý thuyết phức tạp. Vì vậy, nếu bạn thực sự quan tâm đến một số lĩnh vực toán học dường như không liên quan, hãy tiếp tục và nghiên cứu nó. Nếu nó trở nên phù hợp với lý thuyết phức tạp, bạn sẽ là một trong số ít những nhà lý thuyết phức tạp hiểu nó.


20
Câu trả lời này không có nghĩa là bạn không nên nghiên cứu các lĩnh vực mà chúng tôi biết có liên quan (xem các câu trả lời khác). Tôi muốn nói chúng bao gồm đại số tuyến tính, lý thuyết đồ thị, lý thuyết xác suất, đại số trừu tượng cơ bản và logic cơ bản.
Peter Shor

6
Tất nhiên, nếu bạn muốn làm một cái gì đó như đóng góp cho chương trình của Mulmuley để chứng minh P NP, bạn cần toán học nhiều, nhiều, nhiều hơn thế này.
Peter Shor

34

Bạn nên thêm cuốn sách của Dexter Kozen về lý thuyết tính toán vào danh sách của bạn. Bao gồm những điều cơ bản của lý thuyết phức tạp rất hiệu quả, và định dạng bài giảng ngắn là tuyệt vời.

Về nền tảng toán học, ngoài những gì được đề cập ở trên:

  • Lý thuyết xác suất
  • Đại số tuyến tính và đại số trừu tượng
  • lý thuyết đồ thị
  • logic cơ bản

Tôi không nghĩ rằng bạn cần phải là một bậc thầy trong những chủ đề này để bắt đầu, nhưng nó chắc chắn sẽ giúp có một mức độ thoải mái nhất định.


32

MộtC0

Đó là (theo hiểu biết của tôi) cuốn sách được xuất bản duy nhất xử lý 'phương pháp đại số tuyến tính theo phương pháp tổ hợp' theo chiều sâu - một công cụ mạnh mẽ, khéo léo để biết. Có một bản thảo bản thảo của Babai và Frankl đi sâu hơn nhiều, nhưng điều đó không được xuất bản hoặc trực tuyến:

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


2
Dọc theo cùng một dòng, tôi muốn chỉ ra hướng dẫn bằng văn bản tuyệt đẹp cho phương pháp entropy, "Entropy and Counting" của Jaikumar Radhakrishnan. Phương pháp entropy là một trong những công cụ khéo léo rất thỏa mãn để áp dụng khi có cơ hội đúng.
arnab

27

Các câu trả lời trước đã liệt kê những câu cơ bản: lý thuyết xác suất, tổ hợp, đại số tuyến tính, đại số trừu tượng (trường hữu hạn, lý thuyết nhóm, v.v.).

Tôi sẽ thêm:

Phân tích Fourier , xem, ví dụ, khóa học của Ryan O'Donnel: http://www.cs.cmu.edu/~odonnell/boolean-analysis/

Lý thuyết mã hóa , xem khóa học của Madhu Sudan: http://people.csail.mit.edu/madhu/coding/cference.html

Lý thuyết thông tin , cuốn sách tiêu chuẩn là Các yếu tố của Lý thuyết thông tin: http://www.amazon.com/Elements-In information- Theory-Telecominating-Processing/dp/ 0471241954

Ngoài ra còn có lý thuyết đại diện, đi bộ ngẫu nhiên, và nhiều hơn nữa tôi có thể quên ...


5
Hầu hết những thứ bạn vừa học khi bạn đi, tùy thuộc vào nơi nghiên cứu / cuộc sống đưa bạn đến: từ các khóa học, từ các bài giảng, từ các cộng tác viên, từ các bài báo, v.v.
Dana Moshkovitz

22

Ngoài những thứ cơ bản, có lẽ:

  • Kết hợp - Bạn có thể thấy mình đếm mọi thứ khá thường xuyên
  • Stochatics - Dành cho các phân tích trường hợp trung bình và các thuật toán ngẫu nhiên

Tôi thích Toán học cụ thể của Knuth. Nó cung cấp một cái nhìn tổng quan / kiến ​​thức cơ bản của nhiều công cụ quan trọng.

Nếu bạn thích chức năng tạo ra (xem generationfunctionology bằng Wilf) như một công cụ, phân tích phức tạp có ích, quá.


Tôi yêu Concrete Concrete, nhưng nó hơi bí truyền. Trước tiên tôi muốn giới thiệu một cuốn sách chính thống hơn, như "Combinatorics" của Cameron.
Emil

7
Đây là ấn tượng của tôi - Concrete Math dường như là một cuốn sách tuyệt vời để tìm hiểu cách thực hiện phân tích chính xác (hoặc gần như chính xác) các thuật toán, sở trường của Knuth. Nếu đó là những gì bạn muốn làm, hãy đá. Nhưng hãy lưu ý rằng hầu hết các bài viết lý thuyết phức tạp đều đưa ra giới hạn ít chính xác hơn, vì vậy các kỹ thuật của CM ít liên quan hơn.
Andy Drucker

1
Một số người có thể nói điều này là do các nhà lý thuyết phức tạp là những kẻ lười biếng. Nhưng tôi nghĩ rằng bởi vì (a) giới hạn chính xác có thể nỗ lực nhiều hơn giá trị của nó, (b) thường có một khoảng cách lớn như vậy giữa giới hạn trên và dưới được biết rằng các sàng lọc nhỏ ở hai bên dường như không có giá trị.
Andy Drucker

Tôi nên nói rằng, có tất cả các loại nội dung thú vị trong cuốn sách - nhận xét của tôi chủ yếu liên quan đến tài liệu về các giải pháp chính xác của tổng kết và quan hệ tái diễn.
Andy Drucker

22

Sanjeev Arora có một tài liệu tuyệt vời cho một khóa học tốt nghiệp (dành cho sinh viên năm thứ nhất) mà ông đã dạy gọi là "bộ công cụ của nhà lý thuyết", trong đó có rất nhiều tài liệu cơ bản mà một sinh viên lý thuyết nên biết. Rất nhiều thứ bạn có thể đợi cho đến khi học lớp, nhưng nó sẽ cho bạn ý tưởng tốt về những gì bạn cần biết và một số điều kiện tiên quyết.


20

Một mô hình chung, mặc dù chắc chắn không phổ biến, đối với nhiều nhà nghiên cứu thành công trong cộng đồng TCS như sau: Biết một vài điều cơ bản ở cấp đại học, như logic, đại số tuyến tính, xác suất, tối ưu hóa, lý thuyết đồ thị, tổ hợp, đại số trừu tượng cơ bản. Ngoài ra, đừng ép bản thân học bất cứ điều gì khác cho đến khi bạn thực sự nghĩ rằng bạn cần nó để giải quyết vấn đề mà bạn đã đấu tranh trong nhiều tháng hoặc nếu bạn nghĩ rằng bạn sẽ thực sự thích học một cái gì đó vì lợi ích của nó.

"Làm thế nào để tôi biết rằng tôi cần nó nếu tôi chưa bao giờ nhìn thấy nó trước đây?", Bạn hỏi? Câu hỏi hay. Đôi khi bạn gặp may mắn và cảm nhận được điều đó: "Bạn biết không, vấn đề phụ này tôi đang cố gắng giải quyết âm thanh rất giống với sự biến đổi khó hiểu đó Fred sẽ không im lặng. Tôi sẽ phải kiểm tra hoặc bẫy Fred trong một căn phòng và nhờ anh ấy cho tôi chạy nhanh qua những điều cơ bản. " Lần khác, bạn nhốt một nhóm người hiểu biết hơn bạn trong phòng, nói bằng cách nói chuyện hội thảo hoặc một cái gì đó, và than vãn về cách bạn không thể giải quyết vấn đề này cho đến khi Fred nói chuyện với "Này, tôi cá với bạn rằng bạn có thể giải quyết vấn đề này bằng Phân tích Fourier. Hãy để tôi chỉ cho bạn cách. " Cuối cùng, bạn nhận được một tờ giấy chung với Fred, bạn đã học được một điều mới, và bạn và Fred là bạn thân nhất bây giờ và đi uống rượu vào mỗi tối thứ bảy khác.


18

Tôi nghĩ rằng một danh sách các lĩnh vực toán học không hữu ích sẽ ngắn hơn nhiều so với một danh sách các lĩnh vực! Tôi không thể nghĩ về bất kỳ.

Nghiên cứu bất cứ điều gì toán học có vẻ thú vị, và / hoặc bất cứ điều gì nó trông giống như bạn cần vào lúc này. Ngay cả khi bạn không sử dụng trực tiếp, nó sẽ giúp bạn tìm hiểu những thứ khác mà bạn làm.


4
Tôi sẽ thứ hai câu trả lời này. Bất cứ toán học nào bạn thấy thú vị nhất sẽ hướng dẫn bạn những vấn đề nào thú vị nhất cũng như những vấn đề mà bạn rất phù hợp để giải quyết.
Derrick Stolee


12

Tôi khuyên bạn nên xem những cuốn sách này:

Ngoài ra, các chủ đề trong hội thảo MFCS (Cơ sở toán học của Khoa học máy tính) có thể đưa bạn đến loại nền nào bạn có thể cần. (Hãy cẩn thận: hội nghị bao gồm các chủ đề rất tiên tiến. Bạn không cần phải thành thạo chúng. Chỉ cần cố gắng để có được bức tranh lớn.)


9

Lý thuyết số chưa được đề cập, nhưng nó là một công cụ rất quan trọng đối với nhiều công trình lý thuyết mật mã và phức tạp.


6

Lý thuyết đại diện của các nhóm hữu hạn (cũng trên các lĩnh vực hữu hạn) có thể hữu ích đáng ngạc nhiên cho các nhiệm vụ khác nhau, bao gồm:

  • thuật toán nhân ma trận ( Cohn - Kleinberg-Szegedy-Umans )

  • xây dựng mã giải mã cục bộ (xem ví dụ bài viết này của Klim Efremenko)

  • các ứng dụng trong điện toán lượng tử (Vấn đề nhóm con ẩn đối với các nhóm không liên kết, phương pháp đối kháng nhân)

Sviết sai rồi


đừng quên các cấu trúc xác định của đồ thị giãn nở
Sasho Nikolov

Bạn có nghĩa là các công trình đại số sử dụng thuộc tính (T) a la Lubotzky? Trong trường hợp đó, hương vị này hơi khác so với các ví dụ ở trên (không sử dụng irreps của các nhóm hữu hạn).
Marcin Kotowski

4

Tôi khuyên bạn nên đọc cuốn sách của Garey và Johnson

Máy tính và tính hấp dẫn: Hướng dẫn về lý thuyết hoàn thiện NP .

Điều này có thể được đọc với rất ít nền tảng toán học. Tôi nghĩ rằng cuốn sách này là một niềm vui để đọc, và tôi muốn giới thiệu nó như là một cuốn sách đầu tiên trên Papadimitriou và Arora / Barak. Khi bạn đã đọc nó, bạn có thể nhúng vào các cuốn sách khác và xác định các mẩu toán học khác nhau mà bạn cần để hiểu các chủ đề nâng cao mà bạn quan tâm.


1
Tôi đã học được sự phức tạp từ cuốn sách này, nhưng thấy nó không cân bằng, với rất nhiều chi tiết khó hiểu nhưng cuối cùng không quan trọng, nhưng nó thiếu sự bao quát về các vấn đề quan trọng ngay cả khi cuốn sách được viết. Mặt khác, đôi khi nó là một công việc tham khảo quan trọng. Ngược lại, văn bản của Kozen được đề cập trong một câu trả lời khác là rõ ràng, toàn diện và hiện đại.
András Salamon

1

Ngày xửa ngày xưa, khóa học đại học CS464 (2002) tại UWaterloo CS đã sử dụng Độ phức tạp tính toán của Christos H. Papadimitriou , Addison-Wesley, 1994.

Các chủ đề cơ bản được liệt kê bao gồm máy Turing, tính không ổn định, độ phức tạp thời gian và tính đầy đủ của NP.

Để biết thông tin cơ bản, hãy duyệt thư viện của bạn gần QA267.G57 ( Giới thiệu lý thuyết tính toán của Goddard , dựa trên một hoặc hai lần đọc lướt qua nhanh và có sẵn cho tôi, dường như bao quát cả phía CS của nền; lý thuyết từ phía toán học thuần túy cũng sẽ hữu ích.)


2
Tôi ước tôi có đủ danh tiếng để bỏ phiếu xuống. Tại sao những tài liệu tham khảo đến một trường đại học và thư viện của nó?
Alessandro Cosentino

2
FWIW, QA267.G57 là số cuộc gọi của Thư viện Quốc hội, là một tiêu chuẩn thư viện được sử dụng rộng rãi. Nó không đặc trưng cho Đại học Waterloo (ngoại trừ các chữ số cuối cùng).
Emil Jeřábek 17/212
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.