Tài nguyên cho các nhà toán học hy vọng học thêm khoa học máy tính


14

Bối cảnh :

Tôi sắp kết thúc bằng thạc sĩ toán học và sẽ bắt đầu học tiến sĩ logic vào tháng 8. Càng nghiên cứu nhiều logic, tôi càng tiếp xúc với khoa học máy tính lý thuyết, ví dụ lý thuyết đệ quy, phép tính lambda, nhưng CS cơ bản được quét dưới tấm thảm. Các lĩnh vực quan tâm chính của tôi - lý thuyết tập hợp và lý thuyết thể loại - cũng có các ứng dụng trong khoa học máy tính, nhưng cho đến nay tôi chỉ nghiên cứu chúng từ quan điểm của toán học thuần túy.

Vấn đề:

Việc tôi không có bất kỳ nền tảng khoa học máy tính nào đôi khi làm cho khó nhìn thấy động lực hoặc trực giác đằng sau những gì đang diễn ra, hoặc làm thế nào nó có thể được áp dụng. Tôi nhận được, nhưng tôi cảm thấy sẽ tốt hơn nếu phân nhánh ra một chút ... với tôi rằng, vì lợi ích của nghiên cứu trong tương lai của tôi, tôi nên học một số khoa học máy tính.

Hầu hết các sách CS tôi từng xem đều không phù hợp với mục đích của tôi, vì quá cơ bản và thiếu kỹ thuật, hoặc giả định loại nền CS mà tôi không có. Chúng dường như nhắm vào những người khá am hiểu về máy tính nhưng ít hiểu biết về nền tảng toán học - tình huống của tôi thì ngược lại.

Câu hỏi:

Những cuốn sách hoặc tài nguyên nào khác có thể giúp một nhà toán học chuyển sang logic trong mục tiêu đạt được kiến ​​thức làm việc về khoa học máy tính (lý thuyết)?

Tôi đang tìm kiếm một cái gì đó lành mạnh hơn một vài cuộc hội thảo và chuyên sâu hơn Omnibus mới , nhưng tôi không có thời gian hay nguồn lực để làm bằng đại học khác. (Có thể là tôi đang yêu cầu thứ gì đó không tồn tại.)

Xin lỗi nếu câu hỏi quá mơ hồ hoặc không được đặt ra. Tôi cảm thấy nó phù hợp ở đây hơn trên MSE nhưng tôi sẽ vui lòng di chuyển nó nếu cần.


2
Khoa học máy tính lý thuyết có ý nghĩa hơn nhiều nếu một người là một lập trình viên giỏi, hoặc ít nhất là hợp lý, bởi vì theo một cách nào đó, tất cả (hầu hết) TCS là một sự chính thức hóa (và đơn giản hóa) những gì các lập trình viên làm việc làm. Chúng tôi đã có một chủ đề về các vấn đề liên quan
Martin Berger

1
điều này đã được trả lời về khoa học máy tính mathoverflow cho các nhà toán học nhưng có lẽ vẫn còn chỗ cho phiên bản
TCS.se

2
Đối với khả năng tính toán và lý thuyết phức tạp cơ bản, làm thế nào về Giới thiệu của Sipser về Lý thuyết tính toán? Tôi bối rối bạn đã không tìm thấy những cuốn sách định hướng toán học, bởi vì có rất nhiều trong số chúng. Ví dụ, Arora và Barak và Goldreich có những cuốn sách lý thuyết phức tạp gần đây có sẵn trên mạng và tôi chắc chắn có rất nhiều sách lý thuyết theo dõi toán học-b ngoài kia.
Sasho Nikolov

2
Khoa học máy tính khá lớn; bạn có thể thu hẹp nó xuống? Có vẻ như bạn chủ yếu quan tâm đến khả năng tính toán, lý thuyết loại / ngôn ngữ lập trình và có lẽ là lý thuyết phức tạp; Nghe có đúng không?
usul

Bạn có thể thấy Sổ tay Logic trong Khoa học Máy tính hữu ích để tham khảo.
Radu GRIGore

Câu trả lời:


11

Về cơ bản, bạn đang yêu cầu các tài nguyên cho phép bạn biến kiến ​​thức logic, lý thuyết đệ quy và lý thuyết phạm trù thành kiến ​​thức về khoa học máy tính lý thuyết. Tôi khuyên bạn nên xem xét lý thuyết khả thi, đặc biệt thông qua các kết nối của nó với lý thuyết topos và lý thuyết chứng minh phân loại .

Dưới đây là một số gợi ý; Lời khuyên của tôi là chọn một và đi sâu. Ngoại trừ cuốn sách của Taylor (giải thích điều này), các đề xuất của tôi cho rằng bạn đã tiếp xúc với đủ tính toán lambda và lý thuyết thể loại để thấy các diễn giải phân loại của phép tính lambda được gõ đơn giản.

  • Cuốn sách của Paul Taylor Những nền tảng thực tiễn của Toán học

    IMO, đây có lẽ là phần giới thiệu kỹ thuật tốt nhất cho mối quan hệ giữa logic, lý thuyết thể loại và tính toán. Nó giả định hầu như không có điều kiện tiên quyết, nhưng nó vào vùng nước khá sâu rất nhanh, và chắc chắn sẽ đánh thuế (và cải thiện đáng kể) sự trưởng thành toán học của bạn.

  • Ghi chú của Wesley Phoa Giới thiệu về Fibrations, Lý thuyết Topos, Topos hiệu quả và Bộ Modest

    Đây là một số ghi chú bài giảng mà Wesley Phoa đã viết lên. Nếu bạn thành thạo về mặt phân loại, thì những lưu ý này cung cấp một cách thực sự nhanh chóng để hiểu một số công trình quan trọng nhất trong lý thuyết thực tế và topos (cụ thể là việc xây dựng các topos hiệu quả).

  • Cuốn sách của Bart Jacobs Lý thuyết phân loại và lý thuyết loại

    Đây là một trong những tài liệu tham khảo dứt khoát về ngữ nghĩa phân loại của lý thuyết loại. Nó cũng rất lớn.

Đồng thời bạn đang đọc một trong những cuốn sách này, tôi sẽ khuyên bạn nên tải xuống và tìm hiểu cách sử dụng ngôn ngữ lập trình Agda . Ngôn ngữ này thực hiện các lý thuyết loại tinh vi được mô tả ở trên và IMO thật hữu ích khi thấy cách thức xây dựng ngữ nghĩa khá tinh tế thường xuất hiện trong lý thuyết loại.

Andrej Bauer có thể cho bạn lời khuyên tốt hơn nữa. Có lẽ anh ta có thể được thuyết phục để đăng. :)


4

Hai cuốn sách hiện lên trong tâm trí là

Giới thiệu về Lý thuyết tính toán của Sipser

Giới thiệu về thuật toán của Cormen et al.

Tôi đồng ý với usul, người nói rằng khoa học máy tính lý thuyết là một lĩnh vực rộng lớn và chúng tôi có thể cung cấp các tài liệu tham khảo tốt hơn nếu bạn cụ thể hơn về những gì bạn muốn học.


1
Tôi sẽ không đề xuất Giới thiệu dài dòng về Thuật toán . Nếu một người muốn được giới thiệu với các kỹ thuật thuật toán cơ bản, tôi sẽ giới thiệu một trong các Thuật toán của Dasgupta, Papadimitriou và Vazirani, Thiết kế thuật toán của Kleinberg và Tardos, hoặc Thiết kế và phân tích thuật toán của Kozen. Giới thiệu về Lý thuyết tính toán của Sipser rõ ràng là một lựa chọn tuyệt vời. Tôi cũng sẽ thêm một số cuốn sách về Độ phức tạp tính toán (tôi tìm thấy những cuốn của Papdimitriou, Arora và Barak, và Goldreich đều xuất sắc).
Bruno

1
Sở thích cá nhân của tôi là về Lý thuyết tính toán của Kozen (theo kiểu toán học, và có độ bao phủ logic và khả năng tính toán lớn hơn) so với Sipser (gần giống với sách khoa học máy tính ứng dụng).
András Salamon
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.