10 matematiske koncepter for programmører - KDnuggets

10 matematiske koncepter for programmører – KDnuggets

Kildeknude: 2874651

10 matematiske koncepter for programmører
Billede af forfatter
 

Efterhånden som efterspørgslen efter programmører stiger, vil udbuddet naturligvis møde flere mennesker, der kommer ind i branchen hver dag. Det er dog en konkurrencedygtig industri. For løbende at forbedre dig selv, dygtiggøre dig og øge din løn – skal du bevise, at du er en dygtig programmør. En måde du kan gøre dette på er ved at lære de ting, som folk typisk ikke ved. 

Mange mennesker bryder ind i programmeringsindustrien med den antagelse, at du ikke behøver at kende matematikken bag. Selvom dette er noget sandt, vil det at kunne forstå det logiske matematiske koncept bag programmering gøre dig til en mere dygtig programmør. 

Hvordan er det? Ved at forstå, hvad du laver, og hvad der sker. Sådan.

Så lad os springe direkte ud i det. Hvad er de 10 bedste matematiske koncepter for programmører?

Boolesk algebra stammer fra algebra. Det var vist indlysende. Hvis du er programmør eller på din søgen efter at blive det, ved du sikkert allerede, hvad Boolean er. Hvis ikke, vil jeg hurtigt definere det. 

Boolean er en datatype/binær variabel, der har en af ​​de to mulige værdier, for eksempel 0 (falsk) eller 1 (sand). Den boolske datatype understøttes af boolsk algebra, hvor variablens værdier er kendt som sandhedsværdierne, sand og falsk. Når du arbejder med boolsk algebra, er der tre operatorer, du kan bruge: 

  • Konjunktion eller OG-operation
  • Disjunction eller ELLER operation
  • Negation eller not operation

Disse kan visuelt repræsenteres som venn-diagrammer for at give dig en bedre forståelse af outputtet. Boolesk algebra består af 6 love:

  • Kommutativ lovgivning
  • Associativ ret
  • Fordelingsret
  • OG lov
  • ELLER lov
  • Inversionslov

Computere forstår tal, og det er derfor, de har brug for et talsystem. Et talsystem er kendt som et skrivesystem, der bruges til at udtrykke tal. For eksempel har du disse fire mest almindelige talsystemtyper:

  1. Decimaltalssystem (Basis-10)
  2. Binært talsystem (Basis-2)
  3. Oktalt talsystem (Base-8)
  4. Hexadecimalt talsystem (Basis-16)

Computere arbejder ud fra et Base-2-talsystem, hvor de mulige cifre er 0 og 1. Base64 bruges også til at kode binære data i et strengformat.

Mere om at lære om tal, vi har floating point. Et flydende komma er en variabel datatype, som repræsenterer reelle tal som en tilnærmelse. Et flydende decimaltal er et tal, hvor positionen af ​​decimalkommaet kan bevæge sig rundt eller "flyde" i stedet for at være i en fast position. Dette giver udviklere mulighed for at foretage en afvejning mellem rækkevidde og præcision.

Men hvorfor en tilnærmelse? Computere har kun en begrænset mængde plads, enten 32 bit (enkelt præcision) eller 64 bit (dobbelt præcision). 64 bit er standard for programmeringssprog som Python og JavaScript. Et eksempel på tal med flydende komma er 1.29, 87.565 og 9038724.2. Det kan enten være et positivt eller negativt heltal med en decimal. 

Også kendt som log er et matematisk begreb, der bruger det omvendte af eksponentialer til at besvare spørgsmålet. Så hvorfor er logaritmer vigtige for programmører> Fordi det forenkler komplekse matematiske beregninger. For eksempel kan 1000 = 10^4 også skrives som 4 = log101000.

Grundtallet er et matematisk objekt, der skal ganges med sig selv. Eksponenten er et tal, der identificerer, hvor mange gange et grundtal skal ganges med sig selv. Derfor er en logaritme en eksponent, som angiver, til hvilken potens en base skal hæves for at producere et givet tal.

Når log bruger Base-2 er det en binær logaritme, og hvis det er Base-10 er det en almindelig logaritme. 

Et sæt er en uordnet unik samling af værdier, som ikke behøver at have nogen relation til hinanden. De kan kun indeholde unikke elementer og kan ikke indeholde det samme element to eller flere gange.

For eksempel indeholder excel-filer eller en database tabeller, som har et sæt unikke rækker. Dette er en form for diskret matematik, da disse strukturer kan have et begrænset antal elementer. Formålet med mængdeteori er at forstå værdisamlingerne og relationerne mellem hinanden. Dette bruges typisk til dataanalytikere, SQL-eksperter og dataforskere. 

Du kan gøre dette ved at bruge:

  • Indre sammenføjning eller skæring – Returnerer et sæt, der indeholder elementer, der er til stede i begge sæt
  • Ydre sammenføjning eller forening – Returnerer elementer fra begge sæt
  • Union alle – Samme som den ydre join-operatør, men den vil indeholde alle dubletter.
  • Undtagen eller minus – A minus B er et sæt, der indeholder elementer fra mængden A, som ikke er elementer i mængden B 

Kombinatorik er kunsten at tælle ting for at opnå resultater og forstå visse egenskaber ved endelige strukturer gennem mønstre. Programmering handler om at løse problemer, og kombinatorik er den måde, vi kan arrangere objekter for at studere disse endelige diskrete strukturer.

Combinatorics formlen er en kombination af Permutation og Combination.

  • Permutation er handlingen med at arrangere et sæt i en eller anden rækkefølge eller sekvens
  • Kombination er valget af værdier i sættet, hvor rækkefølgen ikke tages i betragtning.

Som du allerede ved, er en graf en visuel repræsentation af et sæt værdier, og disse værdier kan forbindes. Når det kommer til data, er disse værdier forbundet på grund af variabler - som i grafteori er kendt som links. 

Graph Theory er studiet af grafer vedrørende forholdet mellem kanter og toppunkter af forbundne sæt af punkter. Dette giver os mulighed for at skabe et parvist forhold mellem objekter ved hjælp af hjørnerne, også kendt som noder, der er forbundet med kanterne, kendt som linjerne. En graf er repræsenteret som et par G(V, E), hvor V repræsenterer de endelige sæt hjørner og E repræsenterer de endelige sæt kanter.

Kompleksitetsteori er studiet af mængden af ​​tid og hukommelse, det tager for en algoritme at køre som funktion af inputstørrelsen. Der er to typer kompleksiteter:

  • Rumkompleksitet – mængden af ​​hukommelse, en algoritme skal bruge for at køre.
  • Tidskompleksitet – hvor lang tid en algoritme skal bruge for at køre.

Flere mennesker er bekymrede over tidskompleksitet, da vi kan genbruge en algoritmes hukommelse. Når det kommer til tidskompleksitet, er den bedste måde at måle det på ved at overveje antallet af operationer algoritmen udfører. Algoritmer er bygget ved hjælp af if-sætninger og loops, derfor vil du for at reducere tidsforbruget bruge kode, der har så få if-sætninger og loops som muligt.

Kompleksitetsteori for algoritmer bruger big-o-notationen til at hjælpe med at beskrive og give en bedre forståelse af en algoritmes begrænsende adfærd. Det bruges til at klassificere algoritmer efter, hvordan de reagerer på ændringer i inputstørrelse.

Ahhh statistik. Hvis du ønsker at komme ind i kunstig intelligens, skal du vide om statistik. AI og machine learning er fine navne, der bruges til statistik. Statistisk programmering bruges til at løse datatunge problemer, såsom ChatGPT. ChatGPTs svar er alt baseret på sandsynligheden for at matche prompten fra brugeren. 

Du bliver nødt til at lære mere end middelværdi, median og tilstand, når det kommer til statistisk programmering. Du bliver nødt til at lære om bias, kovarians og bayes-sætning. Som programmør vil du blive stillet opgaver og indse, at du vil spørge, om dette er et lineært regressionsproblem eller et logistisk regressionsproblem. At forstå forskellen mellem de to vil hjælpe dig med at identificere, hvilken type opgave du har ved hånden. 

Du har måske kigget på lineær algebra i skolen - eller du har måske ikke. Lineær algebra er meget vigtig og bruges meget i computergrafik og dyb læring. For at forstå lineær algebra skal du forstå disse tre ord:

  • Skalar – en enkelt numerisk værdi
  • Vektor – en liste over tal eller 1-dimensionel matrix
  • Matrix – et gitter eller 2-dimensionelt array

Vektorer kan repræsentere punkter og retningen i et 3D-rum, hvorimod matricer kan repræsentere transformationer, der sker med disse vektorer. 

Denne artikel giver dig et hurtigt overblik over de 10 bedste matematikkoncepter, der vil forbedre din programmeringskarriere. At lære forviklingerne vil ikke kun gøre dine daglige opgaver smidigere og nemmere at forstå, men det kan fremvises for din arbejdsgiver om dit potentiale. 

Hvis du leder efter en GRATIS bog til at hjælpe dig, så tjek: Matematik til maskinlæring: Den gratis e-bog
 
 
Nisha Arya er dataforsker, freelance teknisk skribent og Community Manager hos KDnuggets. Hun er særligt interesseret i at give Data Science karriererådgivning eller tutorials og teoribaseret viden omkring Data Science. Hun ønsker også at udforske de forskellige måder, kunstig intelligens er/kan gavne menneskets levetid. En ivrig lærende, der søger at udvide sin tekniske viden og skrivefærdigheder, samtidig med at hun hjælper med at vejlede andre.
 

Tidsstempel:

Mere fra KDnuggets