หนึ่งในเหตุผลหลักที่ว่าทำไมฉันถึงพบทฤษฎีการคำนวณ (“ ของฉัน” สาขาวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎี) ที่น่าสนใจและมีค่าการเรียนคือสิ่งต่อไปนี้: มันทำให้เรามีวิธีในการตรวจสอบคำถามเชิงปรัชญาที่ลึกซึ้ง (และบางครั้งทำให้งง)
อลันทัวริงหนึ่งในผู้ก่อตั้งทฤษฎีการคำนวณพยายามที่จะปักหลักความหมายของ "การคำนวณฟังก์ชั่น" สำหรับมนุษย์ที่ติดตั้งแผ่นกระดาษโดยให้คำอธิบายทางคณิตศาสตร์ของกระบวนการ ฉันไม่ใช่คนเดียวที่คิดว่าเขาประสบความสำเร็จอย่างมากและเครื่องทัวริงพิสูจน์ให้เห็นว่าเป็นแบบจำลองที่แม่นยำของกระบวนการคำนวณอื่น ๆ
ตอนนี้เรามีคลาสของวัตถุทางคณิตศาสตร์ที่อธิบายการคำนวณเราสามารถพิสูจน์ทฤษฎีบทเกี่ยวกับสิ่งเหล่านั้นได้ดังนั้นจึงพยายามเปิดเผยสิ่งที่สามารถคำนวณได้และวิธีการคำนวณ ปรากฏว่าในทันทีนั้นฟังก์ชั่นที่สมบูรณ์แบบถูกกฎหมายจำนวนมากไม่สามารถคำนวณได้เลยและพวกมันสามารถจำแนกตามระดับความไม่สามารถคำนวณได้ (ฟังก์ชั่นบางฟังก์ชั่นเป็น
คนอื่น ๆ บางคนคนแรกที่มักระบุกับ Juris Hartmanis และ Richard E. Stearns พยายามที่จะอธิบายทางคณิตศาสตร์ว่ามันหมายถึงอะไรสำหรับฟังก์ชั่น (resp. ปัญหา) ที่จะยากหรือง่ายต่อการคำนวณ (resp. เพื่อแก้ไข) มีมาตรการความซับซ้อนหลายประการซึ่งสามารถอธิบายความแข็งของปัญหาได้ สิ่งที่พบบ่อยที่สุดคือเวลาที่เราต้องแก้ปัญหา Alan Cobham และ Jack Edmonds ค่อนข้างประสบความสำเร็จในการระบุแนวคิดที่เหมาะสมของ "การคำนวณที่มีประสิทธิภาพ"
ภายในกรอบความซับซ้อนของการคำนวณตอนนี้เราสามารถพิสูจน์ผลลัพธ์บางอย่างที่สอดคล้องกับแนวคิดการคำนวณที่ใช้งานง่ายของเรา ตัวอย่างที่ฉันชอบคือทฤษฎีบทลำดับชั้นเวลา: หากเรามีเวลามากขึ้นในการคำนวณเราสามารถแก้ปัญหาที่ยากขึ้นได้
ปัญหาเปิดกลางของทฤษฎีความซับซ้อน, P vs NPเป็นเพียงการทำให้เป็นรูปธรรมของคำถามที่มีความสำคัญทางปรัชญาอีกข้อหนึ่ง: มันยากกว่าการแก้ปัญหามากกว่าการตรวจสอบว่าวิธีแก้ปัญหาที่ถูกกล่าวหาจริงหรือไม่? ฉันเชื่อว่าคำถามนี้คุ้มค่าที่จะถามและตอบโดยอิสระจากความสำคัญในทางปฏิบัติ