คำอธิบายตารางอาหารเย็นของวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎี?


51

ฉันมักถามว่านักวิทยาศาสตร์คอมพิวเตอร์ในทางทฤษฎีทำอะไร จะเป็นการดีถ้ามีคำตอบที่ดีสำหรับคำถามนี้ ฉันมักจะถอยกลับไปที่ศัพท์แสงทางเทคนิคและสายตาของผู้คนมักจะจ้องมองไปที่จุดนี้

นักวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีทำอะไรในแง่ที่สามารถเข้าใจได้โดยคนที่ไม่ใช่นักวิทยาศาสตร์คอมพิวเตอร์?

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

คำถามนี้ได้รับแรงบันดาลใจจากคำถาม MO https://mathoverflow.net/questions/3559/colloquial-catchy-statements-encoding-serious-mathematicsแม้ว่าเจตนาจะแตกต่างกัน

คำตอบ:


34

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

ค่อนข้างมากทุกคนมีความชื่นชมอย่างน้อย ณ จุดนี้สำหรับความยากลำบากในการพิสูจน์ขอบเขตที่ต่ำกว่า (ความสนใจเฉพาะของฉัน) แม้ว่าฉันจะไม่ได้ใช้คำนั้น ขึ้นอยู่กับพื้นหลังและความสนใจของผู้ชมฉันอาจพูดถึงว่ามีคนค้นพบวิธีที่จะเพิ่มจำนวนที่เร็วกว่าวิธีการเรียนประถม (เพียงแค่คำว่า "อัลกอริทึม" มีแนวโน้มที่จะนำมาเคลือบสายตาของพวกเขา) แต่ก็ช้าลง กว่าการเพิ่ม


8
ฉันชอบที่ตัวอย่างของคุณใช้การบวกและการคูณเป็นตัวอย่าง ดูเหมือนว่าสิ่งเหล่านี้จะข่มขู่คนธรรมดาน้อยกว่าการเรียงลำดับหรือค้นหา
Lev Reyzin

นี่เป็นวิธีที่ดีมากที่จะได้เข้าสู่หัวใจของเรื่องอย่างรวดเร็วขอบคุณ!
András Salamon

3
ฉันได้ยกตัวอย่างเช่นกัน :) ปฏิกิริยาที่ฉันได้เห็นคือคนกำลังปฏิเสธฉันเกือบจะโกรธฉัน: "คุณหมายถึงอะไรเราไม่รู้ว่าการคูณนั้นยากกว่าการเติมนอกจากนี้แน่นอนมันคือ .. คุณ เล่นเกมกับฉันไหม "
Sasho Nikolov

ฉันชอบคำตอบนี้จริงๆ แต่ไม่ใช่สิ่งที่ฉันทำ! ฉันทำงานในสาขาที่แตกต่างอย่างสิ้นเชิงนั่นคือทฤษฎีประเภทพึ่งพา ฉันควรอธิบาย "ทฤษฎี A" กับ "ทฤษฎี B" หรือไม่
ดี้

39

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

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

เมื่อฉันได้รับความสนใจ - ฉันนำผู้ตีที่หนักหน่วงออกมา ฉันขอให้พวกเขา "คุณสามารถพิสูจน์ได้ว่าวิธีแก้ปัญหาลอการิทึมที่ดีที่สุดที่คุณเคยหวังว่าจะทำหรือคุณสามารถหาสิ่งที่ดีกว่า" และฉันถามพวกเขาว่า "มีปัญหาที่ไม่มีกระบวนการ (อัลกอริทึม) ที่จะสามารถแก้ไขได้หรือไม่" ฉันประหลาดใจที่ผู้คนพยายามตอบคำถามเหล่านี้เมื่อพวกเขาไม่มีพื้นฐาน TCS


1
และสำหรับการบันทึกนั้นฉันโชคดีมากที่ได้รับคนที่อยู่ใกล้ฉันมาค่อนข้างสนใจในเรื่องนี้
Ross Snider

1
ก่อนที่จะถึงจุดจบของสมุดโทรศัพท์อย่างมีประสิทธิภาพสิ่งนี้อาจกลายเป็นการตอบสนองที่รวดเร็วสองประโยค มีตัวอย่างที่ยอมรับได้ของรายการสั่งซื้อแบบสุ่มที่ทุกคนรู้หรือไม่?
András Salamon

แน่นอนว่าAndrás ดัชนีของหนังสือ อีกวิธีหนึ่งคุณสามารถไปหาไพ่ชุดใหม่ก่อนที่จะถูกสับซึ่งแน่นอนว่าจะทำให้คุณสามารถพิจารณาคดีที่ไม่ได้สั่ง
Joe Fitzsimons

@ โจ: ฉันพบคนที่ไม่ได้ใช้ตำรากับดัชนีเป็นประจำ บางทีถ้า Harry Potter มาพร้อมกับดัชนี ...
András Salamon

@ András: ฉันคิดว่าฉันกินอยู่ในวิทยาลัยบ่อยเกินไป! หนังสือเรียนเกือบทุกเล่มมีแน่นอน
Joe Fitzsimons

21

ฉันชอบโพสต์นี้โดย Scott Aaronsonซึ่งอธิบายทฤษฎีความซับซ้อนเป็นเทววิทยาเชิงปริมาณ นี่คือข้อความที่ตัดตอนมา:

ทฤษฎีความซับซ้อนในการคำนวณนั้นจริงๆแล้วไม่เกี่ยวกับคอมพิวเตอร์จริงๆ คอมพิวเตอร์มีบทบาทเดียวกันกับความซับซ้อนที่นาฬิการถไฟและลิฟต์มีความสัมพันธ์กัน พวกเขาเป็นวิธีที่ดีในการอธิบายประเด็นพวกเขาอาจจำเป็นสำหรับการค้นหาจุด แต่พวกเขาไม่ใช่จุด

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

  • หากพระเจ้าหรือเทพดำรงอยู่พวกเขาจะเปิดเผยตนเองต่อมนุษย์ได้อย่างไร (IP = PSPACE หรือ MIP = NEXP ในกรณี polytheistic)

  • พระไหนมีพลังยิ่งกว่าพระอื่น ๆ (P NPเทียบกับ PP, SZK เทียบกับ QMA, BQP NPเทียบกับ NP BQPฯลฯ ฯลฯ )

  • พระเจ้าผู้ยิ่งใหญ่อาจเลือกที่จะประทานสัพพัญญูของพระองค์ต่อมนุษย์หรือไม่? (EXP เทียบกับ P / poly.)

  • ออราเคิลสามารถเชื่อถือได้หรือไม่? (ออราเคิลเชื่อถือได้หรือไม่?)

และแน่นอนว่า:

  • มนุษย์จะกลายเป็นเหมือนพระผู้เป็นเจ้าได้หรือไม่? (P vs. NP, BQP vs. NP.)

มีเพียงพระเจ้าองค์เดียวเท่านั้นสมมติว่าพระเจ้าหลายองค์มีเหตุผลที่ไม่สอดคล้องกันเพราะพระเจ้าหลายองค์จะมีคุณลักษณะที่แตกต่างกันซึ่งขัดแย้งกับหลักการของพระเจ้าที่ยิ่งใหญ่ (พระเจ้าองค์หนึ่งทรงพลังยิ่งกว่าเทพองค์อื่นโง่)
Mohammad Al-Turkistany

1
@Williams, จุดของฉันคือการที่คนธรรมดาจะได้รับสับสนกับเหล่านี้อุปมา
Mohammad Al-Turkistany

10
แม้ว่าฉันไม่ควรจริง ๆ ฉันควรชี้ให้เห็นว่าพระเจ้าหลายองค์ไม่สอดคล้องกันภายใต้มุมมองที่ว่าคุณสมบัติเหมือนพระเจ้าก่อให้เกิดการสั่งซื้อทั้งหมด หากพวกเขาจัดระเบียบบางส่วนก็เป็นเรื่องดีที่จะมีพระเจ้าหลายองค์ (ขออภัยไรอัน)
Suresh Venkat

@Suresh คุณหมายถึงว่าอาจมีพระเจ้าสององค์ที่เราไม่สามารถบอกได้ว่าใครเป็นผู้ยิ่งใหญ่? ความสัมพันธ์แบบไบนารีที่นี่คือการสั่งซื้อทั้งหมด (ขออภัยไรอัน)
Mohammad Al-Turkistany

18

คำตอบตัวอย่างซึ่งสามารถปรับปรุงได้อย่างแน่นอน:

นักวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีศึกษาการคำนวณในแง่คณิตศาสตร์ พวกเขาสามารถซ่อมคอมพิวเตอร์ของคุณเกี่ยวกับเช่นเดียวกับนักคณิตศาสตร์สามารถคำนวณภาษีของคุณ


20
น่าเสียดายที่คนส่วนใหญ่ฉันรู้ว่านักคณิตศาสตร์จะคำนวณภาษีได้ดี ...
เลฟเรย์ซิน

11
สิ่งนี้ทำให้ฉันนึกถึงคำพูดที่โด่งดังของ Dijkstra - "วิทยาศาสตร์คอมพิวเตอร์ไม่ได้เกี่ยวกับคอมพิวเตอร์มากไปกว่าดาราศาสตร์ก็เป็นเรื่องเกี่ยวกับกล้องโทรทรรศน์"
Vinayak Pathak

2
Lez - ผู้คนเหล่านั้นควรได้รับการบอกกล่าวเกี่ยวกับ Grothendiek Prime
Vinayak Pathak

13
นี่คืออีกอันหนึ่งที่ดึงมาจาก jondoda บน Twitter: "การถามนักวิทยาศาสตร์คอมพิวเตอร์เพื่อขอความช่วยเหลือด้านเทคโนโลยีก็เหมือนกับการขอให้นักพฤกษศาสตร์ตัดหญ้าของคุณ" อันนี้กำลังอุ่นขึ้น ...
Ryan Williams

4
ไรอันสิ่งที่ยืนยันว่าทั้งสองสามารถทำงานให้สำเร็จได้อย่างง่ายดาย แต่ไม่พอใจที่ถูกถาม?
Joe Fitzsimons

16

ฉันคิดว่าคำตอบที่ดี (ไม่) - ตามบรรทัดเหล่านี้ได้รับจาก Dijkstra (มักจะเป็นแหล่งข้อมูลที่ดีที่จะหันไปหาการออกเสียงที่รุนแรงและสมบูรณาญาสิทธิ์ :))

วิทยาศาสตร์คอมพิวเตอร์ไม่ได้เกี่ยวกับคอมพิวเตอร์มากไปกว่าดาราศาสตร์ก็เป็นเรื่องเกี่ยวกับกล้องโทรทรรศน์ - EW Dijkstra


11

ผมชอบการแนะนำในการแก้ไขปัญหาการแยกตัวตามที่กำหนดโดยไบรอันเฮย์สได้รับที่นี่

เขาใช้ปัญหาในการแบ่งกลุ่มของเด็ก ๆ ออกเป็นทีมที่มีความสามารถโดยรวมเท่ากัน (สมมติว่าคุณสามารถหาปริมาณความสามารถของเด็กทุกคนโดยใช้ตัวเลข) และอธิบายอัลกอริทึมแบบโลภที่เด็ก ๆ ใช้เพื่อแก้ไขปัญหานี้

มันเป็นปัญหาง่าย ๆ ที่จะเข้าใจมันง่ายต่อการเข้าใจอัลกอริธึมที่น่าแปลกใจว่ามันเป็นเรื่องยาก (โดยทั่วไป) ยากมากและน่าอายที่เรายังไม่สามารถพิสูจน์บิตสุดท้ายได้


นี่เป็นสิ่งที่ดีจริงๆ ยังไงก็เถอะฉันไม่ได้สังเกตที่นี่ก่อน
Ryan Williams

ชอบบทความ!
arnab

8

ฉันมักจะตอบคำถามบางอย่างตาม: ฉันพยายามคิดว่ามันเป็นไปได้ที่จะทำอะไรกับคอมพิวเตอร์ มันไม่ถูกต้องสมบูรณ์ แต่ใกล้กันมากและคนมักถามว่า "คุณหมายถึงอะไร" และฉันสามารถอ้างอิงบางสิ่งที่เฉพาะเจาะจงเช่น TSP แม้ว่าฉันจะใช้ถ้อยคำใหม่เกี่ยวกับการเดินทางของพนักงานขายในขณะที่พูดว่าปัญหาเรื่อง bar-hopping, ปัญหาตัวแทนด้านอสังหาริมทรัพย์, ปัญหามากเกินไปที่ไปทำธุระ - เวลาไม่เพียงพอหรือสิ่งที่ดูเหมือนว่าเหมาะสม

ตัวอย่างเช่น: "เอาล่ะสมมติว่าคุณต้องซื้อรองเท้าร้านขายของชำและเสื้อผ้าหยิบเค้กมาตัดผมและวิ่งไปทำธุระอื่น ๆ ก่อนอาหารค่ำมันจะดีมากถ้าคุณสามารถใส่ของทั้งหมดนั้นได้ ใน GPS ของคุณและมันสามารถบอกคุณได้ว่าอะไรคือคำสั่งให้ทำธุระทั้งหมดของคุณในเวลา 4 โมงเย็น แต่ถ้ารายการทำธุระยาวพอแล้วก็เป็นไปไม่ได้เลยสามารถทำได้โดย 4 เลยน้อยกว่าสิ่งที่คุณจำเป็นต้องทำในเวลาที่เหมาะสมฉันอยากจะรู้ว่ามันเป็นไปได้ที่จะแก้ปัญหาด้วยคอมพิวเตอร์ได้อย่างรวดเร็ว "


เยี่ยมมากฉันคิดว่านั่นเป็นคำตอบที่จะเริ่มบทสนทนาที่น่าสนใจ!
András Salamon

7

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

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


เพื่อตอบคำถามของฆราวาส "คุณจะทำอย่างไร" ฉันมักจะตอบว่า "ฉันใช้เวลาส่วนใหญ่ดูที่ว่างเพื่อหาวิธีทำให้นิยายวิทยาศาสตร์เป็นจริง" จากนั้นฉันให้ตัวอย่างเฉพาะของโครงการอธิบายในประโยคสองสามข้อ


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

2
ฉันจะรักมันถ้านักวิทยาศาสตร์ทดลองสร้างสิ่งที่ฉันคิดขึ้นมา ทำไมต้องมีวิธีแยกแยะ แต่เพื่อตอบต่อไป: ฉันคิดถึงคอมพิวเตอร์ด้วยกล้องจุลทรรศน์ในขณะที่นักฟิสิกส์คิดถึงคุณสมบัติของสสาร มีความแตกต่างหรือไม่? ขึ้นอยู่กับสิ่งที่คุณสนใจและสิ่งที่คุณเน้น
Aaron Sterling

เสียงนี้สำหรับฉันอย่างนี้อธิบายว่าวิทยาศาสตร์คอมพิวเตอร์คืออะไร แต่ไม่ใช่วิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎี
Zsbán Ambrus

6

วิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีคือวิทยาศาสตร์คอมพิวเตอร์สิ่งที่คณิตศาสตร์เคยเป็นฟิสิกส์


2
ทำไม "เคยเป็น"
Suresh Venkat

1
ฉันจำได้ว่าได้ยินอะไรเช่น: "CS to logic / combinatorics (TCS) เปรียบเสมือนฟิสิกส์กับเรขาคณิต"
Kaveh

3
Suresh ฉันคิดว่า Andrej อ้างว่าสิ่งนี้: มันเคยเป็นว่าการศึกษาวิชาฟิสิกส์ทำให้เกิดปัญหาใหญ่โดยนักคณิตศาสตร์ แต่ส่วนนี้ลดลงในช่วงหลายปีที่ผ่านมา ฉันไม่เพียงพอเกี่ยวกับประวัติศาสตร์ของคณิตศาสตร์ที่จะบอกว่านี่เป็นเรื่องจริง แต่สิ่งที่ฉันรู้นั้นสอดคล้องกับมัน
Ryan Williams

1
ฉันไม่คิดว่าการเปรียบเทียบนี้ใช้งานได้เพราะคนธรรมดายังไม่รู้เกี่ยวกับคณิตศาสตร์และฟิสิกส์
Zsbán Ambrus

5

ฉันมักจะให้คำตอบต่อไปนี้แม้ว่าจะเน้นไปที่ทฤษฎีความซับซ้อน: "ฉันศึกษาขอบเขตในแง่ของพื้นที่และเวลาเพื่อแก้ไขปัญหาปัญหารวมถึงการหาเส้นทางที่สั้นที่สุดบนแผนที่หรือชนะเกมหมากรุก"


5

ฉันมักจะให้ปัญหาแฟเป็นตัวอย่าง; ฉันถามหมายเลขที่หาร 15 ก่อน โดยปกติผู้คนสามารถตอบคำถาม 3, 5 และสนุกกับการสงสัยว่า 1 และ 15 เป็นคำตอบที่ถูกต้องหรือไม่ จากนั้นฉันให้จำนวนมาก (มากกว่า 10 หลัก) และถามว่าพวกเขาสามารถบอกฉันได้ว่าตัวแบ่งคืออะไร และฉันอธิบายว่าแม้สำหรับนักวิทยาศาสตร์คอมพิวเตอร์คำถามนี้ยากจริงๆ

จากนั้นถ้าฉันมีเวลาฉันพยายามอธิบายว่าคำถามคือเพื่อหาวิธีแก้ปัญหานี้หรือเพื่อพิสูจน์ว่ามันจะใช้เวลานานมาก (ความคิดที่เรารู้วิธีกำหนด) จากนั้นก็ใช้คำเล็ก ๆ ของการเข้ารหัสเพื่ออธิบายว่าทำไมมันถึงถูกใช้และคำเกี่ยวกับเวลาที่ทีมนักวิทยาศาสตร์ต้องทำลายคีย์ตัวเลขด้วยตัวเลขหลายร้อยหลัก (ฉันหลีกเลี่ยงที่จะพูดถึงบิตเพราะคนดูเหมือนจะรู้ดีกว่า ตัวเลขคืออะไร)


5

คำถามที่โพสต์เป็นคำถามที่ยากมากเพราะคนส่วนใหญ่ไม่รู้ว่านักวิทยาศาสตร์คอมพิวเตอร์ทั่วไปทำอะไร สิ่งนี้แตกต่างจากสาขาอื่นมาก

ฉันชอบที่จะใช้การเปรียบเทียบต่อไปนี้: (T) CS สำหรับคอมพิวเตอร์สิ่งที่ฟิสิกส์สำหรับผู้เล่นซีดี (เช่นเลเซอร์) มันใช้งานได้ดีจริง ๆ เพราะคนส่วนใหญ่มีความคิดว่านักฟิสิกส์เกี่ยวข้องกับอะไรไม่ว่าจะถูกต้องหรือไม่

ตัวอย่างที่เฉพาะเจาะจงมากขึ้นรวมถึงสิ่งเหล่านั้นที่คนส่วนใหญ่สามารถเกี่ยวข้อง

  • การจับคู่สตริง (วิธีการที่ไร้เดียงสาช้ากับประสบการณ์ในชีวิตประจำวันของการค้นหาอย่างรวดเร็วใน Word, เบราว์เซอร์, ... )
  • ปัญหาเส้นทางที่สั้นที่สุด (ตามที่ใช้ในระบบนำทาง)
  • การจัดกำหนดการ (ขึ้นอยู่กับระดับความน่าเบื่อของผู้อื่นหมายถึงกระบวนการทางธุรกิจหรือการกำหนดเวลาบน CPU)

ฉันจะอธิบายว่าในขณะที่คนพีซีจะเห็นการใช้งานที่รวดเร็วหรือการรวมที่ดีในระบบที่ซับซ้อนคน TCS สงสัยว่าอะไรเป็นไปได้และพิสูจน์สิ่งต่าง ๆ ที่ให้ความรู้ / เทคนิคที่ปลอดภัยและสามารถนำมาใช้ซ้ำได้

คุณสามารถใช้ความคับข้องใจของผู้คนเกี่ยวกับคอมพิวเตอร์ ("ไม่ได้ทำในสิ่งที่ฉันต้องการ!") คุณสามารถชี้ให้เห็นว่า (T) CS เกี่ยวข้องกับวิธีการแสดงสิ่งต่าง ๆ ในแบบที่คอมพิวเตอร์สามารถเข้าใจและประมวลผลได้อย่างมีประสิทธิภาพ (อ้างอิงถึงไวยากรณ์ความหมายโครงสร้างข้อมูลขั้นตอนวิธี)


4

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


1
ปัญหาเดียวคือการพูดคุยของสิ่งต่าง ๆ ที่มีอยู่ในจักรวาล มันเป็นฟิสิกส์มากกว่า TCS หลังจากทั้งหมดจักรวาลเป็นวัตถุ จำกัด และส่วนใหญ่ของ TCS เกี่ยวข้องกับ assymptotics
Joe Fitzsimons

อืมนั่นเป็นจุดที่ดี แต่เราใช้ asymptotics จริง ๆ หรือไม่เพราะเราต้องการทราบว่าอัลกอริทึมของเราจะทำงานอย่างไรกับขนาดอินพุตที่ใหญ่กว่าเอกภพหรือเราใช้สัญกรณ์โอใหญ่เพื่อทำการคำนวณแบบจำลองโดยอิสระ
Vinayak Pathak

แน่นอนฉันคิดว่าสิ่งต่าง ๆ เช่นการตัดสินใจเกี่ยวกับการคำนวณ ฯลฯ อยู่ในระดับที่เป็นนามธรรมมากขึ้น
Joe Fitzsimons

4

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


3
อันที่จริงฟิสิกส์เชิงทฤษฎีมากกว่ากลศาสตร์ควอนตัมคือ TCS ของฟิสิกส์ มีทฤษฎีทางกายภาพอื่น ๆ อีกมากมายนอกเหนือจากกลศาสตร์ควอนตัม (ทฤษฎีสัมพัทธภาพทั่วไปแบบคลาสสิกเป็นตัวอย่างที่ชัดเจนที่สุด)
Joe Fitzsimons

เป้าหมายนั้นไม่ถูกต้อง :)
Suresh Venkat

แต่ก็สามารถถามได้อีกว่า "วิทยาศาสตร์คอมพิวเตอร์คืออะไร"
Vinayak Pathak

4

เราศึกษาข้อ จำกัด ของการคำนวณ คุณสามารถแก้ปัญหาการคำนวณได้เร็วแค่ไหน? ต้องใช้เวลาเท่าไหร่ในการแก้ปัญหาไม่ว่าคุณจะลองวิธีการแก้ปัญหาแบบใด? จากนั้นฉันก็ยกตัวอย่างเหล่านี้ (ซึ่งง่ายต่อการอธิบายให้คนทั่วไปส่วนใหญ่ - และแน่นอนว่าคนธรรมดาหลายคนมีประสบการณ์โดยตรงกับพวกเขา - แสดงคุณสมบัติบางอย่างของปัญหาที่ไม่สมบูรณ์แบบ NP และจริง ๆ แล้วเกี่ยวกับการช่วยชีวิต)

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


4

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

จากนั้นคุณสามารถบรรลุสิ่งต่าง ๆ ได้ในครั้งเดียว:

  • สร้างข้อโต้แย้งที่น่าเชื่อถือว่า "วิทยาศาสตร์คอมพิวเตอร์" อาจเป็นอะไรที่นอกเหนือจากการเรียน "คอมพิวเตอร์"
  • ชี้ให้เห็นว่าผู้ที่ใช้คอมพิวเตอร์ต้องการกฎบางอย่างเพื่อให้งานของพวกเขาสำเร็จ (โดยเฉพาะในห้องที่เต็มไปด้วย "คอมพิวเตอร์" ที่ทำงานเฉพาะด้าน - ความซับซ้อนของการสื่อสารและการขนานกันใคร ๆ ?)
  • อธิบายว่า "วิทยาการคอมพิวเตอร์" นั้นเกี่ยวกับการหาวิธีที่มีประสิทธิภาพในการแก้ปัญหาที่เกี่ยวข้องกับ "การคำนวณ" ในแง่นี้
  • กล่าวโดยสรุปว่าสิ่งที่กำลังทำคอมพิวเตอร์นั้นไม่สำคัญเท่ากับทรัพยากรที่ต้องการ (เช่นเวลาและพื้นที่ว่าง)

4

ฉันมักจะเริ่มต้นด้วยการชี้ไปที่วิดีโอหรือบทความที่สร้างสรรค์ไม่เคารพอย่างตั้งใจซึ่งอธิบายแนวคิดทางเทคนิคในระดับที่เข้าใจง่าย นี่เป็นตัวอย่างที่ดี: การคิดเลขทางคณิตศาสตร์: เกลียว, ฟีโบนัชชีและการเป็นพืช

เมื่อพวกเขาเข้าใจแนวคิด (และหวังว่าจะสนุกไปกับมัน) ฉันพยายามที่จะสรุปสิ่งที่พวกเขาเรียนรู้เกี่ยวกับ TCS ตัวอย่างเช่นวิดีโอด้านบนอาจนำไปสู่คำอธิบายพื้นฐานของอัลกอริทึมหรือการคำนวณเป็นกระบวนการแบบเรียกซ้ำ - "สิ่งที่สร้างโครงสร้างที่ซับซ้อนออกมาจากกฎง่ายๆสองสามข้อ" จากนั้นผู้คน TCS เพียงศึกษาว่ากฎประเภทใดที่สร้างโครงสร้างประเภทใด!

จากที่นั่นปกติแล้วมันง่ายพอที่จะเปลี่ยนจาก TCS ทั่วไปไปเป็นโดเมนเฉพาะที่คุณทำ :)


2

ทำตามคำแนะนำที่ได้รับจาก Ross Snider ซึ่งเริ่มต้นด้วยตัวอย่างที่เฉพาะเจาะจงเราสามารถอธิบายคำถาม P vs NP ได้โดยตรง มีใครสามารถอธิบายคำถามนี้ให้คนทั่วไปรู้ได้ว่าการตรวจสอบวิธีการแก้ปัญหานั้นง่ายกว่าการค้นหาคำถามจริงหรือเป็นความจริงที่ว่าเมื่อใดก็ตามที่เราสามารถตรวจสอบความถูกต้องของการแก้ไขได้


2

นี่คือของฉัน:

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

มันนำไปสู่การพูดคุยเกี่ยวกับการคำนวณทางชีววิทยาบทบาทของตรรกะในวิทยาการคอมพิวเตอร์ & c


2

บางทีอาจพูดได้ว่า

นักวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีศึกษาปัญหาที่ยากมาก ๆ เกี่ยวกับวิทยาศาสตร์คอมพิวเตอร์

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

ถ้าอย่างนั้นก็สามารถพูดถึงสิ่งต่าง ๆ ที่พึ่งพาการแก้ปัญหาที่สง่างามโดยนักทฤษฎีเช่นคอมพิวเตอร์อินเทอร์เน็ตเครื่องมือค้นหาการธนาคารที่ปลอดภัยภาพยนตร์ 3D ลำดับดีเอ็นเอเป็นต้น แต่เราควรเน้นย้ำเสมอว่าไม่มีใครรู้ถึงการประยุกต์ใช้งานวิจัยในปัจจุบัน บางส่วนอาจเห็นครั้งแรกในหลายทศวรรษ

จากประสบการณ์ของฉันหลายคนมีช่วงเวลา AHA เมื่อพวกเขารู้ว่าวิทยาการคอมพิวเตอร์และทฤษฎีพิเศษนั้นมีคำถามและปัญหาที่น่าสนใจมากมาย หลายคนสามารถอธิบายได้ในระดับสูง! นี่คือรายการจาก Prof. Wikipedia (ผ่าน SIGACT) เลือกรายการโปรดของคุณ: อัลกอริทึม, โครงสร้างข้อมูล, ทฤษฎีความซับซ้อนในการคำนวณ, การคำนวณแบบกระจาย, การคำนวณแบบขนาน, การคำนวณแบบขนาน, VLSI, การเรียนรู้ของเครื่อง, ชีววิทยาเชิงคอมพิวเตอร์, ทฤษฎีการคำนวณ ทฤษฎีจำนวนเชิงคำนวณและพีชคณิตความหมายของโปรแกรมและการทวนสอบทฤษฎีออโตมาตาและการศึกษาแบบแผน


0

นักวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีทำอะไรในแง่ที่สามารถเข้าใจได้โดยคนที่ไม่ใช่นักวิทยาศาสตร์คอมพิวเตอร์?

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

นี่อาจเป็นภาษาที่แก้มเล็กน้อยกว่าที่คุณเป็นหลังจาก ...


แน่นอนว่ามันจะทำให้บทสนทนาดำเนินต่อไป!
András Salamon

11
โอ้ดี. คุณสามารถบอกฉันได้ว่าจะทำให้นาฬิกาหยุดกะพริบเวลา 12:00 ได้อย่างไร
Jeffε

1
แน่นอนว่าฉันจะเรียกเก็บอัตราสหภาพแบบปกติ
András Salamon

ฉันรู้ว่านี่เป็นลิ้นเล็ก ๆ ในแก้ม แต่สังเกตการลงคะแนนเสียงฉันจะลบมันอย่างมีความสุขถ้าใครมีปัญหาร้ายแรงกับมัน
Joe Fitzsimons

1
ไม่มีปัญหา! ฉันเป็นห่วงว่านักทฤษฎี CS บางคนหรือช่างซ่อม VCR บางคนอาจถูกโจมตี
Joe Fitzsimons
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.