10 matematiska koncept för programmerare - KDnuggets

10 matematiska koncept för programmerare – KDnuggets

Källnod: 2874651

10 matematiska koncept för programmerare
Bild av författare
 

När efterfrågan på programmerare ökar kommer utbudet naturligtvis möta fler människor som kommer in i branschen varje dag. Det är dock en konkurrensutsatt bransch. För att ständigt förbättra dig själv, sätta färdigheter och öka din lön – måste du bevisa att du är en skicklig programmerare. Ett sätt du kan göra detta är genom att lära dig saker som folk vanligtvis inte vet. 

Många människor bryter sig in i programmeringsbranschen med antagandet att du inte behöver kunna matematiken bakom det. Även om detta är något sant, kommer att kunna förstå det logiska matematiska konceptet bakom programmering göra dig till en mer skicklig programmerare. 

Hur kommer det sig? Genom att förstå vad du gör och vad som händer. Det är hur.

Så låt oss hoppa direkt in i det. Vilka är de 10 bästa matematiska koncepten för programmerare?

Boolesk algebra härstammar från algebra. Jag antar att det var uppenbart. Om du är en programmerare eller på din strävan efter att bli det, vet du förmodligen redan vad Boolean är. Om inte, kommer jag snabbt att definiera det. 

Boolean är en datatyp/binär variabel som har ett av de två möjliga värdena, till exempel 0 (falskt) eller 1 (sant). Den booleska datatypen backas upp av boolesk algebra, där variabelns värden är kända som sanningsvärdena, sant och falskt. När du arbetar med boolesk algebra finns det tre operatorer som du kan använda: 

  • Konjunktion eller AND-operation
  • Disjunktion eller ELLER-operation
  • Negation eller ej operation

Dessa kan representeras visuellt som venn-diagram, för att ge dig en bättre förståelse av resultatet. Boolesk algebra består av 6 lagar:

  • Kommutativ lag
  • Associativ rätt
  • Distributiv lag
  • OCH lag
  • ELLER lag
  • Inversionslag

Datorer förstår siffror, och det är därför de behöver ett siffersystem. Ett siffersystem är känt som ett skriftsystem som används för att uttrycka siffror. Du har till exempel dessa fyra vanligaste nummersystemtyper:

  1. Decimaltalssystem (Bas-10)
  2. Binärt talsystem (Bas-2)
  3. Oktalt talsystem (Bas-8)
  4. Hexadecimalt talsystem (Bas-16)

Datorer fungerar utifrån ett Base-2-siffersystem, där de möjliga siffrorna är 0 och 1. Base64 används också för att koda binär data i ett strängformat.

Mer om att lära sig om siffror, vi har flyttal. En flyttal är en variabel datatyp som representerar reella tal som en approximation. Ett flyttal är ett tal där positionen för decimalkomma kan flytta runt eller "flyta" istället för att vara i en fast position. Detta gör att utvecklare kan göra en avvägning mellan räckvidd och precision.

Men varför en uppskattning? Datorer har bara en begränsad mängd utrymme, antingen 32 bitar (enkel precision) eller 64 bitar (dubbel precision). 64 bitar är standard för programmeringsspråk som Python och JavaScript. Ett exempel på flyttalstal är 1.29, 87.565 och 9038724.2. Det kan antingen vara ett positivt eller negativt heltal med en decimalkomma. 

Även känt som log är ett matematiskt koncept som använder inversen av exponentialer för att svara på frågan. Så varför är logaritmer viktiga för programmerare> Eftersom det förenklar komplexa matematiska beräkningar. Till exempel kan 1000 = 10^4 också skrivas som 4 = log101000.

Bastalet är ett matematiskt objekt som måste multipliceras med sig självt. Exponenten är ett tal som identifierar hur många gånger ett bastal behöver multipliceras med sig självt. Därför är en logaritm en exponent som anger till vilken potens en bas måste höjas för att producera ett givet tal.

När log använder Base-2 är det en binär logaritm, och om det är Base-10 är det en vanlig logaritm. 

En uppsättning är en oordnad unik samling av värden, som inte behöver ha någon relation till varandra. De kan bara innehålla unika föremål och kan inte innehålla samma föremål två eller fler gånger.

Till exempel innehåller excel-filer eller en databas tabeller som har en uppsättning unika rader. Detta är en typ av diskret matematik eftersom dessa strukturer kan ha ett begränsat antal element. Syftet med mängdteorin är att förstå värdesamlingarna och relationerna mellan varandra. Detta används vanligtvis för dataanalytiker, SQL-experter och datavetare. 

Du kan göra detta genom att använda:

  • Inre sammanfogning eller skärningspunkt – Returnerar en uppsättning som innehåller element som finns i båda uppsättningarna
  • Yttre sammanfogning eller union – Returnerar element från båda uppsättningarna
  • Union all – Samma som den yttre join-operatören, men den kommer att innehålla alla dubbletter.
  • Utom eller Minus – A Minus B är en mängd som innehåller element från mängden A som inte är element i mängden B 

Kombinatorik är konsten att räkna saker för att få resultat och förstå vissa egenskaper hos finita strukturer genom mönster. Programmering handlar om att lösa problem, och kombinatorik är sättet vi kan ordna objekt för att studera dessa ändliga diskreta strukturer.

Combinatorics formel är en kombination av permutation och kombination.

  • Permutation är handlingen att arrangera en uppsättning i någon ordning eller sekvens
  • Kombination är valet av värden för uppsättningen där ordningen inte beaktas.

Som du redan vet är en graf en visuell representation av en uppsättning värden och dessa värden kan kopplas samman. När det kommer till data är dessa värden kopplade på grund av variabler – som inom grafteorin är kända som länkar. 

Grafteori är studiet av grafer som rör förhållandet mellan kanter och hörn av sammanhängande uppsättningar av punkter. Detta gör att vi kan skapa ett parvis förhållande mellan objekt med hjälp av hörnen, även kända som noder som är sammankopplade av kanterna, så kallade linjer. En graf representeras som ett par G(V, E), där V representerar de finita uppsättningens hörn och E representerar de finita uppsättningskanterna.

Komplexitetsteori är studiet av hur mycket tid och minne det tar för en algoritm att köras som en funktion av indatastorleken. Det finns två typer av komplexitet:

  • Utrymmeskomplexitet – mängden minne som en algoritm behöver för att köra.
  • Tidskomplexitet – hur lång tid en algoritm behöver för att köras.

Fler människor är oroade över tidskomplexitet eftersom vi kan återanvända minnet av en algoritm. När det gäller tidskomplexitet är det bästa sättet att mäta den genom att överväga antalet operationer som algoritmen utför. Algoritmer är byggda med hjälp av if-satser och loopar, därför vill du för att minska tidsåtgången använda kod som har så få if-satser och loopar som möjligt.

Komplexitetsteori för algoritmer använder big-o-notationen för att hjälpa till att beskriva och ge en bättre förståelse för en algoritms begränsande beteende. Den används för att klassificera algoritmer efter hur de reagerar på förändringar i indatastorlek.

Ahhh statistik. Om du vill komma in på artificiell intelligens behöver du veta om statistik. AI och maskininlärning är trevliga namn som används för statistik. Statistisk programmering används för att lösa datatunga problem, såsom ChatGPT. ChatGPT:s svar är allt baserat på sannolikheten att matcha uppmaningen från användaren. 

Du kommer att behöva lära dig mer än medelvärde, median och läge när det kommer till statistisk programmering. Du kommer att behöva lära dig om bias, kovarians och bayes teorem. Som programmerare kommer du att få uppgifter och inse att du kommer att fråga om detta är ett linjärt regressionsproblem eller ett logistiskt regressionsproblem. Att förstå skillnaden mellan de två hjälper dig att identifiera vilken typ av uppgift du har till hands. 

Du kanske har tittat på linjär algebra i skolan – eller så kanske du inte har det. Linjär algebra är mycket viktig och används ofta inom datorgrafik och djupinlärning. För att förstå linjär algebra måste du förstå dessa tre ord:

  • Skalär – ett enda numeriskt värde
  • Vektor – en lista med siffror eller en dimensionell matris
  • Matris – ett rutnät eller tvådimensionell matris

Vektorer kan representera punkter och riktning i ett 3D-utrymme, medan matriser kan representera transformationer som händer med dessa vektorer. 

Den här artikeln ger dig en snabb översikt över de 10 bästa matematiska koncepten som kommer att förbättra din programmeringskarriär. Att lära sig krångligheterna kommer inte bara att göra dina dagliga uppgifter smidigare och lättare att förstå, utan det kan visa upp för din arbetsgivare om din potential. 

Om du letar efter en GRATIS bok som hjälper dig, kolla in: Matematik för maskininlärning: Gratis e-bok
 
 
Nisha Arya är en datavetare, frilansande teknisk skribent och Community Manager på KDnuggets. Hon är särskilt intresserad av att ge Data Science karriärråd eller handledning och teoribaserad kunskap kring Data Science. Hon vill också utforska de olika sätten artificiell intelligens är/kan gynna människans livslängd. En angelägen lärande som vill bredda sina tekniska kunskaper och skrivförmåga, samtidigt som hon hjälper andra att vägleda.
 

Tidsstämpel:

Mer från KDnuggets