แนวคิดทางคณิตศาสตร์ 10 ข้อสำหรับโปรแกรมเมอร์ - KDnuggets

แนวคิดทางคณิตศาสตร์ 10 ข้อสำหรับโปรแกรมเมอร์ – KDnuggets

โหนดต้นทาง: 2874651

แนวคิดทางคณิตศาสตร์ 10 ข้อสำหรับโปรแกรมเมอร์
ภาพโดยผู้เขียน
 

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

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

เป็นยังไงบ้าง? โดยทำความเข้าใจกับสิ่งที่คุณกำลังทำและสิ่งที่เกิดขึ้น นั่นเป็นวิธีที่

เรามากระโดดลงไปกันดีกว่า แนวคิดทางคณิตศาสตร์ 10 อันดับแรกสำหรับโปรแกรมเมอร์คืออะไร?

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

บูลีนคือชนิดข้อมูล/ตัวแปรไบนารี่ที่มีค่าหนึ่งในสองค่าที่เป็นไปได้ เช่น 0 (เท็จ) หรือ 1 (จริง) ประเภทข้อมูลบูลีนได้รับการสนับสนุนโดยพีชคณิตแบบบูล ซึ่งค่าของตัวแปรเรียกว่าค่าความจริง จริงและเท็จ เมื่อทำงานกับพีชคณิตแบบบูล คุณสามารถใช้โอเปอเรเตอร์ XNUMX ตัวได้: 

  • การเชื่อมต่อหรือการดำเนินการ AND
  • การแยกหรือการดำเนินการหรือ
  • การปฏิเสธหรือไม่ดำเนินการ

สิ่งเหล่านี้สามารถแสดงเป็นแผนภาพเวนน์ได้ เพื่อให้คุณเข้าใจผลลัพธ์ได้ดีขึ้น พีชคณิตแบบบูลประกอบด้วยกฎ 6 ข้อ:

  • กฎหมายสับเปลี่ยน
  • กฎหมายที่เกี่ยวข้อง
  • กฎหมายการกระจาย
  • และกฎหมาย
  • หรือกฎหมาย
  • กฎหมายผกผัน

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

  1. ระบบเลขฐานสิบ (ฐาน- 10)
  2. ระบบเลขฐานสอง (ฐาน- 2)
  3. ระบบเลขฐานแปด (ฐาน-8)
  4. ระบบเลขฐานสิบหก (ฐาน- 16)

คอมพิวเตอร์ทำงานด้วยระบบเลขฐาน 2 โดยที่ตัวเลขที่เป็นไปได้คือ 0 และ 1 นอกจากนี้ Base64 ยังใช้ในการเข้ารหัสข้อมูลไบนารี่ในรูปแบบสตริงอีกด้วย

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

แต่ทำไมต้องประมาณ? คอมพิวเตอร์มีพื้นที่จำกัดเท่านั้น ทั้ง 32 บิต (ความแม่นยำเดี่ยว) หรือ 64 บิต (ความแม่นยำสองเท่า) 64 บิตเป็นค่าเริ่มต้นสำหรับภาษาการเขียนโปรแกรมเช่น Python และ JavaScript ตัวอย่างของตัวเลขทศนิยมคือ 1.29, 87.565 และ 9038724.2 อาจเป็นจำนวนเต็มบวกหรือลบที่มีจุดทศนิยมก็ได้ 

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

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

เมื่อบันทึกใช้ฐาน 2 จะเป็นลอการิทึมไบนารี และถ้าเป็นฐาน 10 จะเป็นลอการิทึมทั่วไป 

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

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

คุณสามารถทำได้โดยใช้:

  • การรวมภายในหรือจุดตัด – ส่งกลับชุดที่มีองค์ประกอบที่มีอยู่ในทั้งสองชุด
  • การรวมภายนอกหรือการรวม – ส่งคืนองค์ประกอบจากทั้งสองชุด
  • รวมทั้งหมด – เหมือนกับตัวดำเนินการรวมภายนอก แต่จะมีรายการที่ซ้ำกันทั้งหมด
  • ยกเว้นหรือลบ - A ลบ B คือเซตที่มีสมาชิกจากเซต A ที่ไม่ใช่สมาชิกของเซต B 

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

สูตร Combinatorics คือการรวมกันของการเรียงสับเปลี่ยนและการรวมกัน

  • การเรียงสับเปลี่ยนคือการจัดเรียงเซตตามลำดับหรือลำดับบางอย่าง
  • ชุดค่าผสมคือการเลือกค่าของชุดที่ไม่คำนึงถึงลำดับ

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

ทฤษฎีกราฟเป็นการศึกษากราฟที่เกี่ยวข้องกับความสัมพันธ์ระหว่างขอบและจุดยอดของเซตจุดที่เชื่อมต่อกัน สิ่งนี้ช่วยให้เราสามารถสร้างความสัมพันธ์แบบคู่ระหว่างวัตถุโดยใช้จุดยอดหรือที่เรียกว่าโหนดที่เชื่อมต่อกันด้วยขอบหรือที่เรียกว่าเส้น กราฟจะแสดงเป็นคู่ G(V, E) โดยที่ V แทนจุดยอดเซตจำกัด และ E แทนขอบเซตจำกัด

ทฤษฎีความซับซ้อนคือการศึกษาระยะเวลาและหน่วยความจำที่ใช้เพื่อให้อัลกอริทึมทำงานเป็นฟังก์ชันของขนาดอินพุต ความซับซ้อนมีสองประเภท:

  • ความซับซ้อนของพื้นที่ - จำนวนหน่วยความจำที่อัลกอริทึมต้องใช้
  • ความซับซ้อนของเวลา - ระยะเวลาที่อัลกอริทึมต้องดำเนินการ

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

ทฤษฎีความซับซ้อนสำหรับอัลกอริทึมใช้สัญลักษณ์ big-o เพื่อช่วยอธิบายและให้ความเข้าใจที่ดีขึ้นเกี่ยวกับพฤติกรรมที่จำกัดของอัลกอริทึม ใช้เพื่อจำแนกอัลกอริธึมตามวิธีที่ตอบสนองต่อการเปลี่ยนแปลงขนาดอินพุต

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

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

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

  • สเกลาร์ – ค่าตัวเลขเดียว
  • เวกเตอร์ – รายการตัวเลขหรืออาร์เรย์ 1 มิติ
  • เมทริกซ์ – ตารางหรืออาร์เรย์ 2 มิติ

เวกเตอร์สามารถแสดงจุดและทิศทางในปริภูมิ 3 มิติ ในขณะที่เมทริกซ์สามารถแสดงการแปลงที่เกิดขึ้นกับเวกเตอร์เหล่านี้ได้ 

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

หากคุณกำลังมองหาหนังสือฟรีเพื่อช่วยคุณ โปรดดูที่: คณิตศาสตร์สำหรับการเรียนรู้ของเครื่อง: eBook ฟรี
 
 
ณิชา อารยา เป็นนักวิทยาศาสตร์ข้อมูล นักเขียนด้านเทคนิคอิสระ และผู้จัดการชุมชนที่ KDnuggets เธอสนใจเป็นพิเศษในการให้คำแนะนำด้านอาชีพของ Data Science หรือแบบฝึกหัดและความรู้ตามทฤษฎีเกี่ยวกับ Data Science นอกจากนี้ เธอยังต้องการสำรวจวิธีการต่างๆ ของปัญญาประดิษฐ์ที่สามารถเป็นประโยชน์ต่อการมีอายุยืนยาวของมนุษย์ ใฝ่เรียนรู้ ต้องการเพิ่มพูนความรู้ด้านเทคโนโลยีและทักษะการเขียน ในขณะที่ช่วยแนะนำผู้อื่น
 

ประทับเวลา:

เพิ่มเติมจาก KD นักเก็ต

เรื่องเด่น 13-19 ก.ย. นักวิทยาศาสตร์ข้อมูลที่ไม่มีทักษะด้านวิศวกรรมข้อมูลจะเผชิญกับความจริงที่รุนแรง The Machine & Deep Learning Compendium เปิดหนังสือ

โหนดต้นทาง: 1094099
ประทับเวลา: กันยายน 20, 2021