10 מושגי מתמטיקה למתכנתים - KDnuggets

10 מושגי מתמטיקה למתכנתים - KDnuggets

צומת המקור: 2874651

10 מושגי מתמטיקה למתכנתים
תמונה מאת המחבר
 

As the demand for programmers increases, the supply naturally will meet with more people entering the industry everyday. However, it is a competitive industry. In order to continuously improve yourself, skill-set and increase your salary – you need to prove that you are a proficient programmer. One way you can do this is by learning the things that people don’t typically know. 

הרבה אנשים פורצים לתעשיית התכנות מתוך הנחה שאתה לא צריך לדעת את המתמטיקה שמאחוריה. למרות שזה קצת נכון, היכולת להבין את התפיסה המתמטית ההגיונית מאחורי התכנות תהפוך אותך למתכנת מיומן יותר. 

איך זה? על ידי הבנת מה אתה עושה ומה קורה. זה איך.

אז בואו נקפוץ ישר לתוך זה. מהם 10 המושגים המתמטיים המובילים למתכנתים?

Boolean algebra stems off algebra. I guess that was obvious. If you are a programmer or on your quest to become one, you probably already know what Boolean is. If not, I’ll quickly define it. 

Boolean is a data type/binary variable that has one of the two possible values, for example 0 (false) or 1 (true). The boolean data type is backed by boolean algebra, in which the variable’s values are known as the truth values, true and false. When working with boolean algebra, there are three operators that you can use: 

  • פעולת צירוף או AND
  • פעולת ניתוק או OR
  • פעולת שלילה או לא

אלה יכולים להיות מיוצגים ויזואלית כדיאגרמות Venn, כדי לתת לך הבנה טובה יותר של הפלט. אלגברה בוליאנית מורכבת מ-6 חוקים:

  • חוק חלופי
  • משפט אסוציאטיבי
  • חוק חלוקתי
  • וחוק
  • חוק או
  • חוק היפוך

מחשבים מבינים מספרים, וזו הסיבה שהם צריכים מערכת ספרותית. מערכת ספרות ידועה כמערכת כתיבה המשמשת לביטוי מספרים. לדוגמה, יש לך את ארבעת סוגי מערכות המספרים הנפוצים ביותר:

  1. מערכת מספרים עשרוניים (בסיס- 10)
  2. מערכת מספרים בינארית (בסיס-2)
  3. מערכת המספרים האוקטאלית (Base-8)
  4. מערכת מספרים הקסדצימלית (בסיס-16)

מחשבים פועלים לפי מערכת ספרות Base-2, שבה הספרות האפשריות הן 0 ו-1. Base64 משמש גם לקידוד נתונים בינאריים בתבנית מחרוזת.

More on learning about numbers, we have floating point. A floating point is a variable data type which represents real numbers as an approximation. A floating-point number is a number in which the position of the decimal point can move around or “float” instead of being in a fixed position. This allows developers to make a trade-off between range and precision.

אבל למה קירוב? למחשבים יש רק כמות מוגבלת של שטח, או 32 סיביות (דיוק יחיד) או 64 סיביות (דיוק כפול). 64 סיביות היא ברירת המחדל עבור שפות תכנות כגון Python ו-JavaScript. דוגמה למספרי נקודה צפה הם 1.29, 87.565 ו-9038724.2. זה יכול להיות מספר שלם חיובי או שלילי עם נקודה עשרונית. 

הידוע גם בשם יומן הוא מושג מתמטי המשתמש בהיפוך של אקספוננציאלים כדי לענות על השאלה. אז למה לוגריתמים חשובים למתכנתים> כי זה מפשט חישובים מתמטיים מורכבים. לדוגמה, 1000 = 10^4 יכול להיכתב גם כ-4 = log101000.

מספר הבסיס הוא עצם מתמטי שצריך להכפיל בעצמו. המעריך הוא מספר המזהה כמה פעמים צריך להכפיל מספר בסיס בעצמו. לכן, לוגריתם הוא מעריך המציין לאיזו כוח יש להעלות בסיס כדי לייצר מספר נתון.

כאשר יומן משתמש בבסיס-2 זה לוגריתם בינארי, ואם זה בסיס-10 זה לוגריתם נפוץ. 

קבוצה היא אוסף ייחודי לא מסודר של ערכים, שאינם צריכים להיות קשורים זה לזה. הם יכולים להכיל רק פריטים ייחודיים, ואינם יכולים להכיל את אותו פריט פעמיים או יותר.

לדוגמה, קבצי אקסל או מסד נתונים מכילים טבלאות בעלות קבוצה של שורות ייחודיות. זהו סוג של מתמטיקה בדידה מכיוון שלמבנים אלה יכולים להיות מספר סופי של אלמנטים. מטרת תורת הקבוצות היא להבין את אוספי הערכים, ואת היחסים ביניהם. זה משמש בדרך כלל עבור מנתחי נתונים, מומחי SQL ומדעני נתונים. 

אתה יכול לעשות זאת באמצעות:

  • Inner join or intersection – Returns a set containing elements that are present in both sets
  • Outer join or union – Returns elements from both sets
  • איחוד הכל - זהה לאופרטור ההצטרפות החיצונית, אבל הוא יכיל את כל הכפילויות.
  • למעט או מינוס - A מינוס B הוא קבוצה המכילה אלמנטים מקבוצה A שאינם רכיבים מקבוצה B 

קומבינטוריקה היא אומנות ספירת הדברים על מנת להשיג תוצאות, ולהבין תכונות מסוימות של מבנים סופיים באמצעות תבניות. תכנות עוסק כולו בפתרון בעיות, וקומבינטוריקה היא הדרך שבה אנו יכולים לסדר אובייקטים כדי לחקור את המבנים הבדידים הסופיים הללו.

נוסחת הקומבינטוריקה היא שילוב של פרמוטציה ושילוב.

  • פרמוטציה היא הפעולה של סידור קבוצה לפי סדר או רצף כלשהו
  • שילוב הוא בחירת הערכים של הסט שבו הסדר לא נלקח בחשבון.

As you already know, a graph is a visual representation of a set of values and these values can be connected. When it comes to data, these values are connected due to variables – which in graph theory are known as links. 

תורת הגרפים היא חקר גרפים הנוגעים ליחסים בין קצוות וקודקודים של קבוצות מחוברות של נקודות. זה מאפשר לנו ליצור קשר זוגי בין אובייקטים באמצעות הקודקודים, הידועים גם כצמתים המחוברים בקצוות, המכונים קווים. גרף מיוצג כזוג G(V,E), כאשר V מייצג את קודקודי הסט הסופי ו-E מייצג את קצוות הסט הסופיים.

תורת המורכבות היא חקר כמות הזמן והזיכרון שלוקח לאלגוריתם לפעול כפונקציה של גודל הקלט. ישנם שני סוגים של מורכבויות:

  • Space complexity – the amount of memory an algorithm needs to run.
  • Time complexity – the amount of time an algorithm needs to run.

יותר אנשים מודאגים ממורכבות הזמן מכיוון שאנו יכולים לעשות שימוש חוזר בזיכרון של אלגוריתם. כשמדובר במורכבות זמן, הדרך הטובה ביותר למדוד אותה היא על ידי התחשבות במספר הפעולות שהאלגוריתם מבצע. אלגוריתמים בנויים באמצעות הצהרות if ולולאות, לכן כדי לצמצם את הזמן המושקע אתה רוצה להשתמש בקוד שיש בו כמה שפחות הצהרות אם ולולאות.

תיאוריית המורכבות לאלגוריתמים משתמשת בסימון ה-Big-o כדי לעזור לתאר ולספק הבנה טובה יותר של ההתנהגות המגבילה של אלגוריתם. הוא משמש לסיווג אלגוריתמים לפי איך הם מגיבים לשינויים בגודל הקלט.

אההה סטטיסטיקה. אם אתה מחפש להיכנס לבינה מלאכותית, אתה צריך לדעת על סטטיסטיקה. AI ולמידת מכונה הם שמות נחמדים המשמשים לסטטיסטיקה. תכנות סטטיסטי משמש לפתרון בעיות כבדות נתונים, כגון ChatGPT. התגובה של ChatGPT מבוססת כולה על ההסתברות להתאים להודעה שסופק על ידי המשתמש. 

תצטרך ללמוד יותר מממוצע, חציון ומצב כשמדובר בתכנות סטטיסטי. תצטרך ללמוד על הטיה, שיתופיות ומשפט bayes. כמתכנת, תקבלו משימות ותבינו שתשאלו האם זו בעיית רגרסיה ליניארית או בעיית רגרסיה לוגיסטית. הבנת ההבדל בין השניים תעזור לך לזהות איזה סוג משימה יש לך בהישג יד. 

You may have looked at linear algebra in school – or you may have not. Linear algebra is very important and is widely used in computer graphics and deep learning. In order to grasp linear algebra, you will need to understand these three words:

  • Scalar – a single numerical value
  • Vector – a list of numbers or 1 dimensional array
  • Matrix – a grid or 2 dimensional array

וקטורים יכולים לייצג נקודות ואת הכיוון במרחב תלת-ממדי, בעוד שמטריצות יכולות לייצג טרנספורמציות שקורות לוקטורים אלה. 

מאמר זה מספק לך סקירה מהירה של 10 מושגי המתמטיקה המובילים שישפרו את קריירת התכנות שלך. לימוד המורכבויות לא רק יהפוך את המשימות היומיומיות שלך לחלקות וקלות יותר להבנה, אלא ניתן להציג בפני המעסיק שלך את הפוטנציאל שלך. 

אם אתה מחפש ספר בחינם שיעזור לך, בדוק: מתמטיקה ללימוד מכונות: ספר אלקטרוני בחינם
 
 
נישה אריה הוא מדען נתונים, כותב טכני עצמאי ומנהל קהילה ב-KDnuggets. היא מעוניינת במיוחד במתן ייעוץ קריירה או הדרכות וידע מבוסס תיאוריה סביב Data Science. היא גם רוצה לחקור את הדרכים השונות שבהן אינטליגנציה מלאכותית יכולה להועיל לאריכות חיי האדם. לומדת נלהבת, המבקשת להרחיב את הידע הטכני וכישורי הכתיבה שלה, תוך כדי עזרה בהדרכת אחרים.
 

בול זמן:

עוד מ KDnuggets