จำเป็นต้องมีภูมิหลังทางคณิตศาสตร์แบบใดสำหรับทฤษฎีความซับซ้อน


79

ตอนนี้ฉันเป็นนักศึกษาระดับปริญญาตรีซึ่งเพิ่งจบการศึกษาในปีนี้ หลังจากสำเร็จการศึกษาฉันกำลังพิจารณาที่จะทำงานต่อปริญญาโท TCS / ปริญญาเอก ฉันเริ่มสงสัยว่าสาขาวิชาคณิตศาสตร์ใดที่ถือว่าเป็นประโยชน์สำหรับ TCS โดยเฉพาะอย่างยิ่งทฤษฎีความซับซ้อน (แบบดั้งเดิม)

คุณคิดว่าจำเป็นต้องมีสาขาใดสำหรับคนที่ต้องการศึกษาทฤษฎีความซับซ้อน คุณรู้จักตำราเรียนที่ดีที่ครอบคลุมสาขาเหล่านี้หรือไม่และถ้าใช่โปรดระบุระดับความยากของพวกเขาด้วย (เบื้องต้นเกริ่นนำ ฯลฯ )

หากคุณพิจารณาสาขาที่ไม่ได้ใช้อย่างหนักในทฤษฎีความซับซ้อน แต่คุณเห็นว่าสำคัญสำหรับ TCS โปรดอ้างอิงด้วย


14
ฉันขอแนะนำให้คุณเริ่มอ่านข้อความมาตรฐานเกี่ยวกับทฤษฎีความซับซ้อนเช่น Arora / Barak หรือ Papadimitriou และเมื่อใดก็ตามที่คุณติดขัดเพราะคุณไม่เข้าใจคณิตศาสตร์ลองเรียนรู้คณิตศาสตร์ที่เกี่ยวข้องในรายละเอียดก่อนดำเนินการต่อ
Robin Kothari

8
หลังจากที่คุณทำสิ่งที่โรบินแนะนำให้เริ่มทำงานกับปัญหาเล็ก ๆ ที่เปิดอยู่ คุณจะรู้สึกถูกกระตุ้นให้เรียนรู้คณิตศาสตร์ที่อยู่เบื้องหลัง ในฐานะนักเรียนที่จบแล้วฉันไม่พบว่ามีประสิทธิภาพมากในการเรียนรู้คณิตศาสตร์บางอย่างเพื่อการเรียนรู้
Alessandro Cosentino

คำตอบ:


53

หากคุณดูคำตอบของคำถามTCS StackExchangeคุณจะเห็นว่ามีความเป็นไปได้ที่คณิตศาสตร์ในสาขาใด ๆ อาจมีความสำคัญในทฤษฎีความซับซ้อน ดังนั้นหากคุณสนใจคณิตศาสตร์ในสาขาที่ดูเหมือนจะไม่เกี่ยวข้องจริงๆให้ไปข้างหน้าเพื่อศึกษาต่อไป ถ้ามันเกี่ยวข้องกับทฤษฎีความซับซ้อนคุณจะเป็นหนึ่งในนักทฤษฎีความซับซ้อนสองสามคนที่เข้าใจมัน


20
คำตอบนี้ไม่ได้หมายความว่าคุณไม่ควรศึกษาสาขาที่เรารู้ว่าเกี่ยวข้อง (ดูคำตอบอื่น ๆ ) ฉันจะบอกว่าสิ่งเหล่านี้รวมถึงพีชคณิตเชิงเส้นทฤษฎีกราฟทฤษฎีความน่าจะเป็นพีชคณิตนามธรรมพื้นฐานและตรรกะพื้นฐาน
Peter Shor

6
แน่นอนถ้าคุณต้องการทำบางสิ่งบางอย่างเช่นมีส่วนร่วมในโปรแกรมของมัลมูเลย์ในการพิสูจน์ P NP คุณต้องมีคณิตศาสตร์มากกว่านี้มาก
Peter Shor

34

คุณควรเพิ่มหนังสือของ Dexter Kozenในทฤษฎีการคำนวณลงในรายการของคุณ ครอบคลุมพื้นฐานของทฤษฎีความซับซ้อนอย่างมีประสิทธิภาพมากและรูปแบบการบรรยายสั้น ๆ นั้นยอดเยี่ยม

ในแง่ของภูมิหลังทางคณิตศาสตร์นอกเหนือจากที่กล่าวไว้ข้างต้น:

  • ทฤษฎีความน่าจะเป็น
  • พีชคณิตเชิงเส้นและพีชคณิตนามธรรม
  • ทฤษฎีกราฟ
  • ตรรกะพื้นฐาน

ฉันไม่คิดว่าคุณจะต้องเป็นผู้เชี่ยวชาญในหัวข้อเหล่านี้เพื่อเริ่มต้น แต่มันจะช่วยให้มีระดับความสะดวกสบายอย่างแน่นอน


32

หนังสือExtremal Combinatoricsโดย Stasys Jukna เป็น IMO ที่รู้จักกันน้อยมากในชุมชนที่ซับซ้อน มันเป็นคอลเลกชันที่ยอดเยี่ยมของเทคนิค combinatorial ที่เขียนขึ้นด้วยตาต่อการใช้งานของพวกเขาใน TCS (ส่วนใหญ่ซับซ้อน) จำนวนของเทคนิคความซับซ้อนที่สำคัญมีการกล่าวถึงในบริบท combinatorics ของพวกเขารวมถึงผลลัพธ์ที่โด่งดังเช่น monotone- และ A C 0 -วงจรต่ำกว่าขอบเขต แต่ยังมีผลลัพธ์ที่ดีมากที่คุณอาจไม่พบ และมีแบบฝึกหัดมากมายAC0

มันเป็นหนังสือที่ตีพิมพ์เพียงเล่มเดียวที่ปฏิบัติต่อ 'วิธีพีชคณิตเชิงเส้นในเชิงผสม' ในเชิงลึก - เป็นเครื่องมือที่ทรงพลังและลื่นไหลที่จะรู้ มีร่างต้นฉบับของ Babai และ Frankl ที่เจาะลึกกว่านี้มาก แต่นั่นไม่ได้เผยแพร่หรือออนไลน์:

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


2
ในบรรทัดเดียวกันฉันต้องการชี้ให้เห็นคู่มือที่เขียนอย่างสวยงามเกี่ยวกับวิธีการของเอนโทรปี "Entropy and Counting" โดย Jaikumar Radhakrishnan วิธีการแบบเอนโทรปีเป็นอีกหนึ่งเครื่องมือที่ลื่นไหลซึ่งเป็นที่พอใจอย่างมากที่จะใช้เมื่อโอกาสที่เหมาะสมเกิดขึ้น
Arnab

27

คำตอบก่อนหน้านี้ได้ระบุรายการพื้นฐานแล้ว: ทฤษฎีความน่าจะเป็น, combinatorics, พีชคณิตเชิงเส้น, พีชคณิตนามธรรม (ฟิลด์ จำกัด , ทฤษฎีกลุ่ม, ฯลฯ )

ฉันจะเพิ่ม:

การวิเคราะห์ฟูริเยร์ดูหลักสูตรของ 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-Telecimedia-Processing/dp/0471241954

นอกจากนี้ยังมีทฤษฏีการเป็นตัวแทนการเดินแบบสุ่มและอีกมากมายที่ฉันอาจลืม ...


5
ส่วนใหญ่ของสิ่งที่คุณเพิ่งเรียนรู้ตามที่คุณไปขึ้นอยู่กับที่การวิจัย / ชีวิตพาคุณไป: จากหลักสูตรจากการบรรยายจากผู้ทำงานร่วมกันจากเอกสาร ฯลฯ
Dana Moshkovitz

22

นอกเหนือจากสิ่งพื้นฐานอาจ:

  • Combinatorics - คุณอาจพบว่าตัวเองกำลังนับสิ่งของค่อนข้างสม่ำเสมอ
  • Stochastics - สำหรับการวิเคราะห์กรณีโดยเฉลี่ยและอัลกอริทึมแบบสุ่ม

ฉันชอบคณิตศาสตร์คอนกรีตโดย Knuth มันให้ภาพรวมที่ดี / ความรู้พื้นฐานของเครื่องมือสำคัญ ๆ

ถ้าคุณชอบสร้างฟังก์ชั่น (ดูgenerationfunctionologyโดย Wilf) เป็นเครื่องมือการวิเคราะห์ที่ซับซ้อนก็มีประโยชน์เช่นกัน


ฉันรัก Concrete Math แต่มันลึกลับเล็กน้อย ฉันอยากจะแนะนำหนังสือสำคัญมากกว่าก่อนเช่น "Combinatorics" ของ Cameron
Emil

7
นี่คือความประทับใจของฉัน - คอนกรีตคณิตศาสตร์น่าจะเป็นหนังสือที่น่ากลัวที่จะเรียนรู้วิธีการทำที่แน่นอน (หรือเกือบแน่นอน) การวิเคราะห์อัลกอริทึมของ Knuth มือขวา ถ้านั่นคือสิ่งที่คุณต้องการจะทำ แต่พึงระวังว่าเอกสารทางทฤษฎีความซับซ้อนส่วนใหญ่ให้ขอบเขตที่แม่นยำน้อยกว่าดังนั้นเทคนิคของ CM จึงมีความเกี่ยวข้องน้อยกว่า
Andy Drucker

1
บางคนอาจพูดว่าเป็นเพราะนักทฤษฎีความซับซ้อนเป็นคนเกียจคร้าน แต่ฉันคิดว่าเป็นเพราะ (ก) ขอบเขตที่แน่นอนสามารถใช้ความพยายามมากกว่าที่ควรค่า (ข) บ่อยครั้งที่มีช่องว่างขนาดใหญ่ระหว่างขอบเขตบนและล่างที่รู้จักซึ่งการปรับแต่งเล็กน้อยทั้งสองด้านอาจดูมีค่าน้อย
Andy Drucker

ฉันควรพูดว่ามีสิ่งดีๆทุกประเภทในหนังสือ - หมายเหตุของฉันส่วนใหญ่เกี่ยวข้องกับวัสดุในการแก้ปัญหาที่แน่นอนของการรวมและความสัมพันธ์ที่เกิดซ้ำ
Andy Drucker

22

Sanjeev Arora มีเอกสารที่ดีสำหรับผู้สำเร็จการศึกษา (สำหรับนักเรียนชั้นปีที่ 1) ที่เขาสอนเรียกว่า "ชุดเครื่องมือทางทฤษฎี" ซึ่งมีเนื้อหาพื้นฐานมากมายที่นักเรียนทฤษฎีควรรู้ มีหลายสิ่งที่คุณสามารถรอจนกระทั่งเรียนจบเพื่อเรียนรู้ แต่มันจะทำให้คุณมีความคิดที่ดีในสิ่งที่คุณต้องรู้และสิ่งที่จำเป็นต้องมีบางอย่าง


20

กระบวนทัศน์ทั่วไปสำหรับนักวิจัยที่ประสบความสำเร็จหลายคนในชุมชน TCS นั้นเป็นเรื่องปกติ แต่ก็ไม่เป็นสากล แต่อย่างใด: รู้พื้นฐานบางอย่างในระดับปริญญาตรีเช่นตรรกะพีชคณิตเชิงเส้นความน่าจะเป็นการหาค่าเหมาะที่สุดทฤษฎีกราฟ combinatorics พีชคณิตนามธรรมพื้นฐาน นอกเหนือจากนั้นอย่าบังคับตัวเองให้เรียนรู้สิ่งอื่นจนกว่าคุณจะคิดว่าคุณต้องการที่จะแก้ไขปัญหาที่คุณต้องดิ้นรนเป็นเวลาหลายเดือนหรือถ้าคุณคิดว่าคุณจะสนุกกับการเรียนรู้บางสิ่งเพื่อประโยชน์ของมัน

"ฉันจะรู้ได้อย่างไรว่าฉันต้องการมันถ้าฉันไม่เคยเห็นมาก่อน" คุณถาม? คำถามที่ดี. บางครั้งคุณก็โชคดีและรู้สึกว่า: "คุณรู้อะไรปัญหาย่อยนี้ฉันพยายามที่จะจัดการกับเสียงมากเหมือนการแปลงฟูริเยร์สิ่งที่สิ่งต่าง ๆ ของ Fred จะไม่ปิดตัวลง Fred ฉันจะต้องตรวจสอบหรือดักเฟร็ด อยู่ในห้องแล้วให้เขารีบวิ่งให้ฉันพื้นฐานอย่างรวดเร็ว " บางครั้งคุณเก็บคนที่มีความรู้มากกว่าตัวเองไว้ในห้องพูดโดยการพูดคุยสัมมนาหรืออะไรซักอย่างแล้วบ่นว่าคุณไม่สามารถแก้ปัญหานี้ได้จนกว่าเฟร็ดจะพูดกับ "เฮ้ฉันพนันได้เลยว่าคุณ สามารถแก้ปัญหานี้ได้ด้วยการวิเคราะห์ฟูริเยร์ฉันจะแสดงให้คุณดูว่า " ในท้ายที่สุดคุณจะได้รับกระดาษร่วมกับเฟร็ดคุณได้เรียนรู้สิ่งใหม่และคุณและเฟร็ดเป็นเพื่อนที่ดีที่สุดตอนนี้และออกไปดื่มทุกคืนวันเสาร์


18

ฉันคิดว่ารายชื่อสาขาคณิตศาสตร์ที่ไม่มีประโยชน์น่าจะสั้นกว่ารายการของสาขาวิชาที่มี! ฉันไม่สามารถคิดอะไรได้

ศึกษาวิชาคณิตศาสตร์ใด ๆ ที่น่าสนใจและ / หรืออะไรก็ตามที่ดูเหมือนว่าคุณต้องการในขณะนี้ แม้ว่าคุณจะไม่ได้ใช้มันโดยตรงมันจะช่วยให้คุณเรียนรู้สิ่งอื่น ๆ ที่คุณทำ


4
ฉันจะสองคำตอบนี้ คณิตศาสตร์ที่คุณพบว่าน่าสนใจที่สุดจะนำคุณไปสู่ปัญหาที่น่าสนใจที่สุดเช่นเดียวกับปัญหาที่คุณเหมาะสมที่จะแก้ปัญหา
ปั้นจั่นขนาดใหญ่

14

ความรู้เกี่ยวกับตรรกะทางคณิตศาสตร์ขั้นพื้นฐานคือในความคิดของฉันเป็นบวก คุณสามารถดูหนังสือสองเล่มโดย Cori และ Lascar

ตรรกะทางคณิตศาสตร์: หลักสูตรที่มีแบบฝึกหัดตอนที่ 1

ตรรกะทางคณิตศาสตร์: หลักสูตรที่มีแบบฝึกหัดตอนที่ 2


12

ฉันแนะนำให้ดูหนังสือเหล่านี้:

นอกจากนี้หัวข้อในการประชุม MFCS (ฐานรากคณิตศาสตร์วิทยาศาสตร์คอมพิวเตอร์)อาจนำคุณไปสู่ภูมิหลังที่คุณอาจต้องการ (Caveat: การประชุมมีหัวข้อขั้นสูงคุณไม่จำเป็นต้องเชี่ยวชาญพวกเขาเพียงแค่พยายามให้ได้ภาพใหญ่)


9

ยังไม่ได้กล่าวถึงทฤษฎีจำนวน แต่เป็นเครื่องมือที่สำคัญมากสำหรับการสร้างการเข้ารหัสและความซับซ้อนเชิงทฤษฎีจำนวนมาก


6

ทฤษฏีการเป็นตัวแทนของกลุ่ม จำกัด (รวมถึงขอบเขตอัน จำกัด ) อาจมีประโยชน์อย่างน่าประหลาดสำหรับงานต่าง ๆ ได้แก่ :

  • อัลกอริธึมการคูณเมทริกซ์ ( Cohn - Kleinberg-Szegedy-Umans )

  • การสร้างรหัสที่ถอดรหัสได้ในเครื่อง (ดูตัวอย่างเช่นบทความนี้โดย Klim Efremenko)

  • แอปพลิเคชันในการคำนวณควอนตัม (ปัญหากลุ่มย่อยที่ซ่อนอยู่สำหรับกลุ่มที่ไม่ได้ใช้วิธีการแบบไม่เลือกคู่)

Sn


อย่าลืมการสร้างกราฟส่วนขยายที่กำหนดขึ้นได้
Sasho Nikolov

คุณหมายถึงสิ่งก่อสร้างเกี่ยวกับพีชคณิตโดยใช้คุณสมบัติ (T) a la Lubotzky หรือไม่ ในกรณีนี้สิ่งนี้มีรสชาติที่แตกต่างจากตัวอย่างด้านบน (อย่าใช้ irreps ของกลุ่ม จำกัด )
Marcin Kotowski

4

ฉันแนะนำให้อ่านหนังสือของ Garey and Johnson

คอมพิวเตอร์และ Intractability: คู่มือการทฤษฎี NP-ครบถ้วน

สามารถอ่านได้โดยมีพื้นหลังทางคณิตศาสตร์น้อยมาก ฉันคิดว่าหนังสือเล่มนี้เป็นความสุขที่ได้อ่านและฉันอยากจะแนะนำเป็นหนังสือเล่มแรกของ Papadimitriou และ Arora / Barak เมื่อคุณอ่านสิ่งนี้แล้วคุณสามารถจุ่มลงในหนังสือเล่มอื่นและระบุส่วนต่าง ๆ ของคณิตศาสตร์ที่คุณต้องเข้าใจในหัวข้อขั้นสูงที่คุณสนใจ


1
ฉันได้เรียนรู้ความซับซ้อนจากหนังสือเล่มนี้ แต่พบว่าไม่สมดุลโดยมีรายละเอียดจำนวนมาก แต่ในที่สุดก็สำคัญ แต่ก็ไม่มีเนื้อหาที่มีความสำคัญแม้ในเวลาที่หนังสือเล่มนี้เขียน ในทางกลับกันมันเป็นงานอ้างอิงที่สำคัญในบางครั้ง ในทางตรงกันข้ามข้อความของ Kozen ที่กล่าวถึงในคำตอบอื่นนั้นชัดเจนครอบคลุมและทันสมัย
András Salamon

1

กาลครั้งหนึ่งหลักสูตรระดับปริญญาตรีCS464 (2002)ที่ UWaterloo CS ใช้ความซับซ้อนในการคำนวณของ Christos H. Papadimitriou , Addison-Wesley, 1994

หัวข้อเบื้องหลังประกอบด้วยรายการทัวริงเครื่องความไม่แน่นอนความซับซ้อนของเวลาและความสมบูรณ์แบบ NP

สำหรับพื้นหลังเรียกดูห้องสมุดของคุณใกล้กับ QA267.G57 (Goddard's แนะนำทฤษฎีการคำนวณโดยอ่านสกิมอย่างรวดเร็วหรือสองครั้งและความพร้อมใช้งานของฉันดูเหมือนจะครอบคลุมด้าน CS ของพื้นหลังฉันมีความรู้สึกบางส่วนและเป็นกลุ่ม ทฤษฎีจากด้านคณิตศาสตร์ล้วนๆก็มีประโยชน์เช่นกัน)


2
ฉันหวังว่าฉันจะมีชื่อเสียงพอที่จะลงคะแนน ทำไมคนเหล่านี้ถึงมหาวิทยาลัยและห้องสมุด
Alessandro Cosentino

2
FWIW, QA267.G57 เป็นหมายเลขโทรศัพท์ Library of Congress ซึ่งเป็นมาตรฐานห้องสมุดที่ใช้กันอย่างแพร่หลาย ไม่เฉพาะเจาะจงกับมหาวิทยาลัยวอเตอร์ลู (ยกเว้นตัวเลขหลักสุดท้าย)
Emil Jeřábek
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.