ผลลัพธ์ที่น่าสนใจใน TCS ซึ่งโปรแกรมเมอร์สามารถอธิบายได้ง่ายโดยไม่มีพื้นฐานด้านเทคนิค


13

สมมติว่าคุณประชุมกับโปรแกรมเมอร์ที่เรียนหลักสูตรการเขียนโปรแกรมมืออาชีพ (/ คิดด้วยตนเอง) แต่ไม่ได้เรียนคณิตศาสตร์ในระดับมหาวิทยาลัย

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

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

ฉันยังสามารถใช้ความคิดจากExplain P = ปัญหา NP ถึง 10 ปีโดยสมมติว่าบางส่วนของพวกเขาไม่คุ้นเคยกับมัน

ดังนั้นคำถามจะต้อง:

(0. สวยงาม)

  1. อธิบายได้ด้วยคณิตศาสตร์ (อย่างมาก) มัธยม
  2. (เด่นกว่า) ไม่น่าสนใจพอที่จะแสดงในหลักสูตรการเขียนโปรแกรมระดับมืออาชีพ (สำหรับ C ++ / Java / Web / ฯลฯ )

นี่ไม่ใช่ความคิดเห็นทั้งหมดหรือ
David Richerby

6
ฉันคิดว่ามันเป็นคำถามที่ดี คำถามที่คล้ายกันและมีประโยชน์ใน mathoverflow: mathoverflow.net/questions/47214/… . mathoverflow.net/questions/56547/applications-of-mathematics
usul

1
ยังค่อนข้างคล้ายกับ"คำอธิบายโต๊ะอาหารค่ำของ TCS" imho ที่ฉันชอบคือการมีอยู่ของฟังก์ชั่นหนักที่พิสูจน์โดยแชนนอน แต่แทบจะไม่มีข้อพิสูจน์เชิงสร้างสรรค์ของฟังก์ชั่นฮาร์ดใด ๆ หลังจากผ่านมานานกว่า 1/2 ศตวรรษ ....
vzn

1
การมีอยู่ของควินินเป็นเรื่องสนุกที่จะพูดถึงโปรแกรมเมอร์
เดนิส

2
บางทีมันควรจะเป็นชุมชนวิกิหรือไม่?
Suresh Venkat

คำตอบ:


9

นอกจากปัญหาการหยุดชะงักฉันขอแนะนำให้พูดคุย:

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


4
ฉันไม่คิดว่าความแข็งของแฟเป็นที่รู้จักกันเพื่อบ่งบอกถึงความปลอดภัย RSA
Sasho Nikolov

1
นั่นเป็นช่องว่างที่สำคัญในความรู้ของ crypto ขอบคุณสำหรับการชี้ให้เห็น; ฉันแก้ไขคำตอบของฉัน
Philip White

1
หากคุณกำลังสนใจคุณอาจดูที่นี้: crypto.stanford.edu/~dabo/papers/no_rsa_red.pdf อย่างไรก็ตามตัวอย่างของคุณเป็นสิ่งที่ดีแม้ว่ารายละเอียดจะไม่ถูกต้อง สำหรับ Diffie-Hellman, ความเท่าเทียมกันในการเข้าสู่ระบบไม่ต่อเนื่องเป็นที่รู้จักสำหรับวงจรกลุ่มหลายเนื้อหารวมทั้งคนที่ใช้ในการปฏิบัติงาน: citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.78.3339 นอกจากนี้ Diffie-Hellman นั้นง่ายต่อการอธิบายมากกว่า RSA, IMO
Sasho Nikolov

5

ฉันคิดว่า - เป็นอิสระจากคำถาม P vs NP - ทฤษฎีบท Cook-Levin (และแนวคิดที่เกี่ยวข้องกับความสมบูรณ์ของ NP) เป็นอีกตัวเลือกที่ดีมาก หากคุณมีตัวแก้ (SAT) ที่มีประสิทธิภาพสำหรับ SAT คุณจะมีตัวแก้ปัญหาที่มีประสิทธิภาพสำหรับปัญหาใด ๆ ใน NP .... และคุณสามารถจบลงด้วยสิ่งที่น่าอัศจรรย์อย่างน้อยสำหรับฉัน:

  • ax12+bx2+c=0
  • แก้ Sudoku;
  • การค้นหาเส้นทางมิลโตเนียนในกราฟ
  • การแก้ไขตัวอย่างผลรวมย่อย
  • และปัญหาอื่น ๆ อีกมากมาย (ชีวิตจริง) ...

อยู่ในความรู้สึก "ปัญหาเทียบเท่า"; ดังนั้นถ้าเจ้านายของคุณขอให้คุณสร้างโปรแกรมสำหรับกล่องบรรจุลงในคอนเทนเนอร์ ... คุณสามารถให้เขาแก้ปัญหาเรือกวาดทุ่นระเบิด ... :-)


4

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

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

NPNP


3

รายการโปรดที่รวบรวมได้จากที่นี่ & ที่อื่น ๆ


2
อีกหนึ่งอัลกอริทึมที่สำคัญมากด้วยมุม TCS ที่ลึกล้ำ: Pagerank
vzn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.