- เป็นตำราคณิตศาสตร์สำหรับนักศึกษาสาขาวิทยาการคอมพิวเตอร์จาก MIT ที่ครอบคลุมแนวคิดคณิตศาสตร์สำคัญอย่างเป็นระบบ ตั้งแต่ตรรกะและการพิสูจน์ ไปจนถึงความน่าจะเป็น เวียนเกิด และทฤษฎีกราฟ
- แบ่งเป็น 5 ภาค ได้แก่ การพิสูจน์ โครงสร้าง การนับ ความน่าจะเป็น และสมการเวียนเกิด โดยแต่ละภาคนำเสนอทั้งพื้นฐานเชิงทฤษฎีและการประยุกต์ใช้ในวิทยาการคอมพิวเตอร์
- ครอบคลุมหัวข้อที่จำเป็นต่อการเขียนโปรแกรมและการวิเคราะห์อัลกอริทึม เช่น นิพจน์ตรรกะ การอุปนัยทางคณิตศาสตร์ สถานะจักร กราฟ และตัวแปรสุ่ม
- แสดงการประยุกต์ใช้แนวคิดทางคณิตศาสตร์ผ่านกรณีศึกษาและโจทย์ประยุกต์จริง เช่น RSA encryption, code ของ Turing และปัญหา Monty Hall
- เป็นตำราที่ร่วมเขียนโดยนักวิจัยจาก MIT และ Google และเผยแพร่ภายใต้สัญญาอนุญาต Creative Commons BY-SA 3.0 ทำให้เรียนรู้และนำกลับใช้ต่อได้อย่างอิสระ
ภาพรวมของตำรา
- Mathematics for Computer Science (MCS) เป็นตำราสำหรับรายวิชาระดับปริญญาตรีด้านวิทยาการคอมพิวเตอร์และวิศวกรรมไฟฟ้าของ MIT (6.042) ใช้เพื่อพัฒนาความคิดเชิงตรรกะและความสามารถในการสร้างแบบจำลองทางคณิตศาสตร์
- ผู้เขียนคือ Eric Lehman (Google Inc.), F. Thomson Leighton (MIT, Akamai Technologies), Albert R. Meyer (MIT)
- เป็นฉบับปรับปรุงวันที่ 6 มิถุนายน 2018 และเผยแพร่ภายใต้สัญญาอนุญาต Creative Commons Attribution-ShareAlike 3.0
I. Proofs (การพิสูจน์)
- กล่าวถึงหลักพื้นฐานของการพิสูจน์ทางคณิตศาสตร์ เช่น ประพจน์ ภาคแสดง วิธีเชิงสัจพจน์ การพิสูจน์โดยขัดแย้ง และการพิสูจน์แบบแยกกรณี
- อธิบายความสัมพันธ์ระหว่าง Well Ordering Principle (หลักการจัดเรียงดี) กับ การอุปนัย และยกตัวอย่างการประยุกต์ใช้ เช่น การแยกตัวประกอบจำนวนเฉพาะ
- รวมถึง นิพจน์ตรรกะและตรรกศาสตร์ประพจน์, ปัญหา SAT, ชนิดข้อมูลทางคณิตศาสตร์ (เซต ฟังก์ชัน ความสัมพันธ์) เป็นต้น
II. Structures (โครงสร้าง)
- นำเสนอรากฐานทางคณิตศาสตร์ของวิทยาการคอมพิวเตอร์โดยเน้น ทฤษฎีจำนวน ทฤษฎีกราฟ และโครงสร้างเครือข่าย
- การประยุกต์ใช้ทฤษฎีจำนวน เช่น จำนวนเฉพาะ ห.ร.ม. เลขคณิตมอดูลาร์ RSA encryption
- อธิบายแบบจำลองเชิงโครงสร้าง เช่น กราฟมีทิศทาง ลำดับบางส่วน การหาเส้นทางในเครือข่าย กราฟอย่างง่าย กราฟเชิงระนาบ
- กล่าวถึง code ของ Turing และ ความเชื่อมโยงกับปัญหา SAT เพื่อแสดงความสัมพันธ์ระหว่างทฤษฎีการคำนวณกับวิทยาการเข้ารหัสลับ
III. Counting (การนับและการจัดหมู่)
- ครอบคลุม ผลบวก ผลคูณ ส kýญกรณ์เชิงอสมมาตร กฎการจัดหมู่ และ generating function ซึ่งเป็นเทคนิคการคำนวณเชิงจัดหมู่
- มีตัวอย่างเชิงปฏิบัติ เช่น หลักนกพิราบ หลักการรวม-ตัด ตัวอย่างไพ่โป๊กเกอร์ในมือ
- ประยุกต์ใช้กับการวิเคราะห์อัลกอริทึมและการคำนวณลำดับผ่าน generating function และวิธีแก้สมการเวียนเกิดเชิงเส้น
IV. Probability (ความน่าจะเป็น)
- ครอบคลุมทฤษฎีความน่าจะเป็นอย่างกว้าง ตั้งแต่ ปริภูมิความน่าจะเป็น ความน่าจะเป็นมีเงื่อนไข ตัวแปรสุ่ม ความแปรปรวน การประมาณจากตัวอย่าง และ random walk
- มีกรณีศึกษาที่ท้าทายสัญชาตญาณ เช่น ปัญหา Monty Hall, Simpson's paradox, ปัญหาวันเกิด
- ให้พื้นฐานการวิเคราะห์ข้อมูลผ่าน ทฤษฎีบทของ Markov, Chebyshev และ การสุ่มตัวอย่าง
V. Recurrences (สมการเวียนเกิด)
- ครอบคลุมหัวข้อสำคัญของการวิเคราะห์อัลกอริทึม เช่น หอคอยฮานอย merge sort และสมการเวียนเกิดแบบแบ่งแยกแล้วพิชิต
- อธิบายโครงสร้างการคำนวณที่มีประสิทธิภาพผ่าน วิธีแก้สมการเวียนเกิดเชิงเส้น และ แนวคิดแบบเรียกซ้ำ
ภาคผนวก
- มี บรรณานุกรม คำอธิบายสัญลักษณ์ และดัชนี ช่วยให้สะดวกต่อการเรียนและการอ้างอิง
- ตำราฉบับเต็มเปิดให้ดาวน์โหลดฟรีในรูปแบบ PDF บนเว็บไซต์ MIT CSAIL
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
มีการกล่าวถึงว่า Thomson Leighton เป็นผู้ก่อตั้ง Akamai และแนะนำชุดบรรยายที่เขาสอน
เป็นคอนเทนต์เกี่ยวกับอินเทอร์เน็ตที่น่าประทับใจที่สุดเท่าที่เคยดูมา
โครงสร้างของแต่ละส่วนค่อนข้าง เป็นมาตรฐาน แต่ชอบที่ทุกการอ้างอิงมีลิงก์ย้อนกลับไปยังแหล่งที่มาทั้งหมด
อยากให้มีหนังสือที่ทำแบบนี้มากกว่านี้
เพียงแต่น่าเสียดายที่หยุดเขียนต่อหลังปี 2018
ชอบหนังสือเล่มนี้มาก แม้จะยากมาก แต่ในแต่ละย่อหน้าก็ยังพอเข้าใจได้ราว 1–2 หน้า
ได้มุมมองใหม่ว่าฟังก์ชันคือรายการอินพุตและเอาต์พุตที่ไม่มีที่สิ้นสุด และยังประทับใจกับมุกในสัญลักษณ์ทางคณิตศาสตร์
อยากเข้าใจมันทั้งหมดก่อนตาย
มีคนตั้งคำถามว่าสามารถเลือกหนังสือที่ต้องอ่านในสายคอมพิวเตอร์ไซเอนซ์เพียง 5 เล่มได้ไหม
มี Brookshear, Forta, Stallings, CLRS, Kurose & Ross, Sipser, Aumasson, Russell & Norvig เป็นต้น
และบอกว่า Python กลายเป็น ภาษากลาง ไปแล้วในทางปฏิบัติ พร้อมแนะนำ Python Crash Course 3rd Edition ของ Matthes
ซึ่งยังบอก หนังสือแกนหลัก 2 เล่ม สำหรับคนที่มีเวลาจำกัดไว้ด้วย
ชอบ ส่วนความน่าจะเป็น ของหนังสือเล่มนี้เป็นพิเศษ
โจทย์ Monty Hall ถูกอธิบายอย่างชัดเจนด้วย ‘วิธี 4 ขั้นตอน’ จนเข้าใจง่ายกว่าดูหนังเสียอีก
เหมาะกับการเรียนบางส่วนในรูปแบบหนังสือกระดาษ
ดูสารบัญแล้วแปลกใจที่บทที่ 2 คือ Well-Ordering Principle
ต่างจากทฤษฎีบทของ Zermelo ตรงที่มันตั้งต้นจากการสมมติลำดับของจำนวนธรรมชาติ ทำให้รู้สึกไม่คุ้นเคย
เพราะปกติมักเรียนแบบนิยามลำดับจากสัจพจน์ของ Peano ก่อน แล้วค่อยพิสูจน์หลักการนี้ทีหลัง
แม้จำนวนจริงก็มี well-ordering ได้ แต่สิ่งที่น่าสนใจก็คือเราไม่สามารถเขียนลำดับนั้นออกมาได้จริง
ยังมีการยกมุกว่า “สัจพจน์การเลือกนั้นจริงอย่างเห็นได้ชัด, หลักการจัดเรียงอย่างดีนั้นผิดอย่างเห็นได้ชัด, ส่วนบทช่วยของ Zorn นั้นไม่รู้เหมือนกัน”
มีการอธิบาย หลักการช่องนกพิราบ ในข้อ 15.8 ใหม่ด้วยแนวทางของ Dijkstra
ถ้าคนในบอสตัน 500,000 คนมีเส้นผมคนละ 1 ถึง 200,000 เส้น ค่าเฉลี่ยจะเป็น 2.5 คนต่อจำนวนเส้นผมหนึ่งค่า จึงพิสูจน์ได้ว่าอย่างน้อยต้องมี 3 คนที่มีจำนวนเส้นผมเท่ากัน
น่าสนใจที่ใช้เพียงข้อเท็จจริงง่าย ๆ ว่าค่าเฉลี่ยย่อมไม่เกินค่าสูงสุด
มีคนบอกว่านี่เป็นครั้งแรกที่เจอหนังสือแนวแบบฝึกหัด และสงสัยว่า มีเฉลยหรือไม่
ลองทำไปบางข้อแล้วแต่ไม่มีทางตรวจว่าคำตอบถูกไหม
มีคนกล่าวขอบคุณที่แชร์เนื้อหาที่มีประโยชน์มากนี้
มีคนดีใจที่เจอ PDF ที่ตามหาอยู่เพราะ Hacker News
และขอคำแนะนำเกี่ยวกับ screen reader ที่อ่าน PDF ได้
เพราะตัวเขาเองก็อ่านสัญลักษณ์ในสมการส่วนใหญ่ไม่ออกเหมือนกัน