ปัญหาการสอนการคำนวณ


22

ฉันมีปัญหาในการสอนแนวคิดของฟังก์ชันที่คำนวณได้ ฉันพยายามพัฒนาความคิดว่าทำไมนักวิจัยอย่าง Hilbert / Ackermann / Godel / Turing / Church / ... คิดค้นแนวคิดเรื่อง 'ความสามารถคำนวณได้' นักเรียนถามทันที: "ความสามารถในการคำนวณหมายถึงอะไร" และฉันไม่สามารถตอบได้ถ้าฉันไม่สอนเครื่องทัวริงแล้วตอบ "ฟังก์ชันนั้นคำนวณได้ถ้าเครื่องทัวริงคำนวณได้"

ดังนั้น,

มีคำอธิบายของความสามารถในการคำนวณที่ไม่ต้องใช้เครื่องทัวริง, calcul-แคลคูลัสหรือแบบจำลองการคำนวณที่คล้ายกันหรือไม่? แม้แต่คำอธิบายที่เข้าใจง่ายก็พอเพียง


10
"คอมพิวเตอร์ทุกเครื่องสามารถคำนวณได้" โดยปกติแล้วฉันมักหันไปใช้ภาษาการเขียนโปรแกรมเนื่องจากนักเรียนมีแนวโน้มที่จะรู้ ฉันได้ลองไปที่ "สูตรใด ๆ ในการคำนวณฟังก์ชั่น" เป็นคำนิยามของอัลกอริทึม
Michaël Cadilhac

5
ปัญหาสามารถคำนวณได้หากสามารถแก้ไขได้ด้วยกฎอัน จำกัด ที่ควบคุมการวิวัฒนาการของระบบพลวัตที่ไม่ต่อเนื่องในจำนวนขั้นตอนที่ จำกัด
Mohammad Al-Turkistany

1
นอกจากนี้คุณสามารถใช้ปัญหาที่สิบของฮิลแบร์ตเพื่ออธิบายให้นักเรียนฟังว่าทำไมมันถึงแก้ตัวไม่ได้และหลักฐานการแก้ปัญหาที่ไม่สามารถแก้ได้ที่ต้องทำในสิ่งอื่น ๆ ทำให้ความคิดในการคำนวณทางคณิตศาสตร์เป็นทางการ
Mohammad Al-Turkistany

คำถามอื่น: วิทยานิพนธ์ของโบสถ์ - ทัวริงระบุว่าฟังก์ชั่นสามารถคำนวณได้โดยเครื่องจักรทัวริงบางอย่างถ้าหากมันสามารถคำนวณได้ด้วยเครื่องจักรของโมเดลการคำนวณแบบ "สมเหตุสมผลและทั่วไป" อื่น ๆ [Goldreich, 2008] ดังนั้นแนวคิดที่ไม่ขึ้นกับรูปแบบของความสามารถในการคำนวณจึงเป็นไปได้หรือไม่?
MS Dousti

คำตอบ:


37

75 ปีก่อนไม่มีคอมพิวเตอร์รอบ ๆ ดังนั้นต้องอธิบายแนวคิดทางคณิตศาสตร์ของคอมพิวเตอร์อย่างระมัดระวัง

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

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


2
ฉันค่อนข้างชอบอาร์กิวเมนต์นี้เพราะมันเปลี่ยนจากคอนกรีต (iPhone) ไปเป็นนามธรรม
Suresh Venkat

2
นี่คือปริศนาที่น่าสนใจ: ทฤษฎี SMN และ UTM ใน Haskell คืออะไร?
Andrej Bauer

18
"75 ปีที่แล้วไม่มีคอมพิวเตอร์อยู่รอบ ๆ " นี่เป็นเพียงแค่ความเท็จ 75 ปีที่ผ่านมามีคอมพิวเตอร์จำนวนมากรอบ ๆ พวกเขาเป็นมนุษย์ส่วนใหญ่เป็นผู้หญิง พวกเขามีวิชาคณิตศาสตร์ขั้นสูงเครื่องมือคำนวณทางกลไกพื้นฐานสองสามอย่าง (เช่นการเพิ่มเครื่องจักรและกฎสไลด์) และกระดาษจำนวนมาก คอมพิวเตอร์เหล่านี้เป็นกระดูกสันหลังของทั้ง Manhattan Project และ Bletchley Park ในช่วงสงครามโลกครั้งที่สอง (The Bomb และ Bombe อย่างไรก็ตาม) นี่คือสภาพแวดล้อมการคำนวณที่ทัวริงเป็นแบบจำลอง: มนุษย์ด้วยดินสอและกระดาษ
Jeffε

10
@Jeffe: มาเลยคุณรู้ว่าฉันหมายถึงอะไร
Andrej Bauer

8
@JeffE: เราสามารถทดสอบสมมติฐานของคุณ ไปที่เพื่อนร่วมงานของคุณและขอให้พวกเขาวาดภาพ "คอมพิวเตอร์สวมกระโปรงสั้น" โปรดรายงานว่ามีมนุษย์เข้ามากี่คน
Andrej Bauer

12

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


3
Nitpicking: Abel – Ruffini ทฤษฎีบทระบุว่าไม่มีวิธีแก้ปัญหาพีชคณิตทั่วไป- นั่นคือคำตอบในอนุมูล - กับสมการพหุนามในระดับห้าหรือสูงกว่า อย่างไรก็ตามมีวิธีการต่าง ๆ เช่นกลุ่มหัวรุนแรงเพื่อหาวิธีแก้ปัญหาแบบปิดของสมการ quintic
MS Dousti

nitpicking ของคุณจริง ๆ แล้วถูกต้อง เมื่อพูดถึงความสามารถในการคำนวณคุณต้องการพูดคุยเกี่ยวกับสิ่งต่าง ๆ เช่น "การดำเนินงานที่อนุญาต" และการแก้ปัญหาพหุนามเป็นหนึ่งในสิ่งที่ซับซ้อนยิ่งขึ้นเมื่อคุณมองใกล้ยิ่งขึ้น แต่สำหรับการแนะนำผมคิดว่าคำว่า "ขั้นตอนที่มีประสิทธิภาพ" และการกล่าวถึงสูตรสมการกำลังสองทำให้เป็นจุดเริ่มต้นที่ดี พวกเขาไม่ถูกต้องทั้งหมด แต่ปรีชาค่อนข้างขวา IMO
Peter Boothe

8

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


6

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

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

จากนั้นฉันก็ดำดิ่งสู่การพิสูจน์บนเครื่องจักรทัวริง


0

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


คำถามเกี่ยวกับการสอนการคำนวณ มันจะดีถ้าคุณ จำกัด การตอบคำถามของคุณในการตอบคำถามนั้น โปรดทราบว่า OP กำลังสอนนักศึกษาระดับปริญญาตรีดังนั้นความคิดเห็นส่วนตัว (เช่นข้อความสามข้อสุดท้าย) อาจไม่อยู่ในขอบเขต
วีเจย์ D
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.