เส้นทางไปยังวิธีการที่เป็นทางการ


20

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

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

ในแง่ของบริบทฉันคิดมากขึ้นในแง่ของทฤษฎี B และการตรวจสอบอย่างเป็นทางการว่าเป็นสิ่งที่พวกเขาควรเรียนรู้ แต่ยังมีหัวข้อ TCS แบบคลาสสิกเช่นทฤษฎีออโตมาตะ


9
“ ชายหนุ่มในวิชาคณิตศาสตร์คุณไม่เข้าใจสิ่งต่าง ๆ คุณเพิ่งชินกับมัน” - John von Neumann น่าเสียดายที่ชินกับมันต้องใช้เวลาหลายปีอย่างน้อยก็ในกรณีของฉัน :)
uli

1
ฉันสงสัยว่าทำไมบางคน (ไม่จำเป็นต้องเป็นคุณเดฟ) คิดว่าการศึกษาระดับปริญญาตรี / ปริญญาโทที่ครอบคลุมใน CS (ประมาณห้าปี) สามารถถูกแทนที่ด้วยหน่วยกิตสองหลักสูตร
กราฟิลส์

โดย "Theory B" คุณหมายถึง "B Method" หรือไม่? en.wikipedia.org/wiki/B-Method
Steven Shaw

@StevenShaw: ไม่ทฤษฎี B ครอบคลุมความหมายและอื่น ๆ ตรงกันข้ามกับออโตมา / ความซับซ้อน
Dave Clarke

ฉันไม่เคยได้ยิน "ทฤษฎี B" มาก่อน ฉันสามารถหาคำตอบที่เป็นประโยชน์มากกว่านี้ใน cstheory cstheory.stackexchange.com/a/1523/9552
Steven Shaw

คำตอบ:


14

ในส่วนนำของหนังสือ“ การค้นพบทางคณิตศาสตร์, การทำความเข้าใจ, การเรียนรู้, และการแก้ปัญหาการสอน” George Pólyaเขียน:

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

ฉันคิดว่าไม่มีทางลัดโดยเฉพาะอย่างยิ่งสำหรับการเข้าถึงสถานะของการเขียนเอกสาร มันต้องฝึกฝนเยอะมาก

พอยน์เตอร์บางส่วน:

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

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

มีหลายแหล่งสำหรับการเขียนทางคณิตศาสตร์: บันทึกการบรรยายของหลักสูตร Stanford University CS209 บางที หรือนี้บทความโดยพอล Halmos


3
ฉันไม่ได้ขอทางลัด ค่อนข้างเส้นทาง (ซึ่งสั้น)
Dave Clarke

@JD คำถามของ OP กล่าวว่า "พื้นหลังที่ จำกัด ในวิชาคณิตศาสตร์และด้านวิทยาศาสตร์คอมพิวเตอร์" และ "เข้าใจด้วยการใช้วิธีการที่เป็นทางการและการอ่านเอกสาร" หากนักเรียนมีการสัมผัสกับพิธีการที่ จำกัด ในวิชาคณิตศาสตร์และ tcs เพียงอย่างเดียวก็ไม่ดีที่จะทำงานในหัวข้อทางทฤษฎี เขาต้องทำงานกับพื้นฐานก่อนก่อนที่จะทำขั้นตอนต่อไป ฉันแค่ชี้ไปที่จุดเริ่มต้นของเส้นทาง
uli

9

วิธีการอย่างเป็นทางการเช่น Z, B, TLA, CafeObj ขึ้นอยู่กับทฤษฎีเซต, ตรรกะ, ทฤษฎีหมวดหมู่, แลมบ์ดาแคลคูลัสและออโตมาตาสำหรับการสร้างแบบจำลองแนวคิดของประเภทข้อมูลและการคำนวณ

คุณสามารถกระโดดเข้าไปในเอกสารที่ครอบคลุมเช่นLogics of Specification Languages ​​โดย Dines Bjørnerและ Martin C. Henson eds., Monographs ในวิทยาการคอมพิวเตอร์เชิงทฤษฎี, Springer Verlag, 2008และเรียนรู้ตามที่คุณต้องการจากนั้นใช้การอ้างอิงที่นั่น หรือเรียนรู้หนึ่งหัวข้อต่อเวลา:

  1. ทฤษฎีเซต
  2. ตรรกคณิตศาสตร์
  3. ตรรกะชั่วคราว
  4. พีชคณิตสากล
  5. แลมบ์ดาแคลคูลัส
  6. ทฤษฎีหมวดหมู่

คำแนะนำที่ดีแม้ว่าฉันจะกังวลว่าเอกสารนั้นจะเริ่มมีความหนาแน่นเพียงเล็กน้อยหรือไม่ มันหนักอย่างแน่นอน
Dave Clarke

5

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

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

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

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

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

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

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


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