10 wiskundige concepten voor programmeurs - KDnuggets

10 wiskundige concepten voor programmeurs – KDnuggets

Bronknooppunt: 2874651

10 wiskundige concepten voor programmeurs
Afbeelding door auteur
 

Naarmate de vraag naar programmeurs toeneemt, zal het aanbod natuurlijk elke dag meer mensen ontmoeten die de industrie betreden. Het is echter een competitieve sector. Om jezelf voortdurend te verbeteren, vaardigheden te ontwikkelen en je salaris te verhogen, moet je bewijzen dat je een bekwame programmeur bent. Eén manier waarop u dit kunt doen, is door dingen te leren die mensen doorgaans niet weten. 

Veel mensen betreden de programmeerindustrie in de veronderstelling dat je de wiskunde erachter niet hoeft te kennen. Hoewel dit enigszins waar is, zal het kunnen begrijpen van het logische wiskundige concept achter programmeren je een bekwamer programmeur maken. 

Hoe is dat? Door te begrijpen wat je doet en wat er gebeurt. Dat is hoe.

Dus laten we er meteen in springen. Wat zijn de top 10 wiskundige concepten voor programmeurs?

Booleaanse algebra komt voort uit algebra. Ik denk dat dat duidelijk was. Als u een programmeur bent of op zoek bent om er een te worden, weet u waarschijnlijk al wat Boolean is. Zo niet, dan zal ik het snel definiëren. 

Boolean is een gegevenstype/binaire variabele die een van de twee mogelijke waarden heeft, bijvoorbeeld 0 (false) of 1 (true). Het booleaanse gegevenstype wordt ondersteund door booleaanse algebra, waarin de waarden van de variabele bekend staan ​​als de waarheidswaarden, waar en onwaar. Wanneer u met Booleaanse algebra werkt, zijn er drie operatoren die u kunt gebruiken: 

  • Conjunctie of AND-bewerking
  • Disjunctie of OK-operatie
  • Ontkenning of niet-bewerking

Deze kunnen visueel worden weergegeven als venn-diagrammen, zodat u een beter inzicht krijgt in de output. De Booleaanse algebra bestaat uit zes wetten:

  • Commutatieve wet
  • associatieve wet
  • Verdelend recht
  • EN wet
  • OF wet
  • Inversie wet

Computers begrijpen getallen, en daarom hebben ze een cijfersysteem nodig. Een cijfersysteem staat bekend als een schrijfsysteem dat wordt gebruikt om getallen uit te drukken. U hebt bijvoorbeeld deze vier meest voorkomende typen nummerstelsels:

  1. Decimaal getalsysteem (Basis-10)
  2. Binair getalsysteem (Base-2)
  3. Octaal nummersysteem (Base-8)
  4. Hexadecimaal getalsysteem (Base-16)

Computers werken met een Base-2-cijfersysteem, waarbij de mogelijke cijfers 0 en 1 zijn. Base64 wordt ook gebruikt om binaire gegevens in een stringformaat te coderen.

Meer over het leren over getallen, we hebben drijvende komma. Een drijvende komma is een variabel gegevenstype dat reële getallen bij benadering weergeeft. Een getal met drijvende komma is een getal waarbij de positie van de komma kan bewegen of ‘zweven’ in plaats van zich op een vaste positie te bevinden. Hierdoor kunnen ontwikkelaars een afweging maken tussen bereik en precisie.

Maar waarom een ​​benadering? Computers hebben slechts een beperkte hoeveelheid ruimte, 32 bits (enkele precisie) of 64 bits (dubbele precisie). 64 bit is de standaard voor programmeertalen zoals Python en JavaScript. Een voorbeeld van getallen met drijvende komma zijn 1.29, 87.565 en 9038724.2. Het kan een positief of negatief geheel getal met een decimaalteken zijn. 

Ook bekend als log is een wiskundig concept dat de inverse van exponentiële waarden gebruikt om de vraag te beantwoorden. Dus waarom zijn logaritmen belangrijk voor programmeurs? Omdat het complexe wiskundige berekeningen vereenvoudigt. 1000 = 10^4 kan bijvoorbeeld ook worden geschreven als 4 = log101000.

Het grondtal is een wiskundig object dat met zichzelf moet worden vermenigvuldigd. De exponent is een getal dat aangeeft hoe vaak een grondtal met zichzelf moet worden vermenigvuldigd. Daarom is een logaritme een exponent die aangeeft tot welke macht een grondtal moet worden verhoogd om een ​​bepaald getal te produceren.

Als de log Grondtal 2 gebruikt, is het een binaire logaritme, en als het Grondtal 10 is, is het een gewone logaritme. 

Een set is een ongeordende, unieke verzameling waarden, die geen enkele relatie met elkaar hoeven te hebben. Ze kunnen alleen unieke items bevatten en kunnen niet tweemaal of vaker hetzelfde item bevatten.

Excel-bestanden of een database bevatten bijvoorbeeld tabellen met een reeks unieke rijen. Dit is een soort discrete wiskunde, omdat deze structuren een eindig aantal elementen kunnen hebben. Het doel van de verzamelingenleer is het begrijpen van de waardenverzamelingen en de relaties tussen elkaar. Dit wordt doorgaans gebruikt voor data-analisten, SQL-experts en datawetenschappers. 

U kunt dit doen door gebruik te maken van:

  • Binnenste verbinding of snijpunt: retourneert een set met elementen die in beide sets aanwezig zijn
  • Outer join of union – Retourneert elementen uit beide sets
  • Alles samenvoegen – Hetzelfde als de operator voor buitenste join, maar deze bevat alle duplicaten.
  • Behalve of Minus – A Minus B is een set die elementen uit set A bevat die geen elementen zijn van set B 

Combinatoriek is de kunst van het tellen van dingen om resultaten te verkrijgen en bepaalde eigenschappen van eindige structuren door middel van patronen te begrijpen. Bij programmeren draait alles om het oplossen van problemen, en combinatoriek is de manier waarop we objecten kunnen rangschikken om deze eindige discrete structuren te bestuderen.

De Combinatoriek-formule is een combinatie van permutatie en combinatie.

  • Permutatie is de handeling waarbij een set in een bepaalde volgorde of volgorde wordt gerangschikt
  • Combinatie is de selectie van waarden van de set waarbij geen rekening wordt gehouden met de volgorde.

Zoals u al weet, is een grafiek een visuele weergave van een reeks waarden en kunnen deze waarden met elkaar worden verbonden. Als het om gegevens gaat, zijn deze waarden met elkaar verbonden door variabelen – die in de grafentheorie koppelingen worden genoemd. 

Grafentheorie is de studie van grafieken die betrekking hebben op de relatie tussen randen en hoekpunten van verbonden reeksen punten. Hierdoor kunnen we een paarsgewijze relatie tussen objecten creëren met behulp van de hoekpunten, ook wel knooppunten genoemd die met elkaar verbonden zijn door de randen, ook wel de lijnen genoemd. Een grafiek wordt weergegeven als een paar G(V, E), waarbij V de eindige set hoekpunten vertegenwoordigt en E de eindige set randen vertegenwoordigt.

Complexiteitstheorie is de studie van de hoeveelheid tijd en geheugen die nodig is om een ​​algoritme uit te voeren als functie van de invoergrootte. Er zijn twee soorten complexiteiten:

  • Ruimtecomplexiteit – de hoeveelheid geheugen die een algoritme nodig heeft.
  • Tijdcomplexiteit – de hoeveelheid tijd die een algoritme nodig heeft om te draaien.

Steeds meer mensen maken zich zorgen over de complexiteit van tijd, omdat we het geheugen van een algoritme kunnen hergebruiken. Als het om tijdscomplexiteit gaat, kun je dit het beste meten door te kijken naar het aantal bewerkingen dat het algoritme uitvoert. Algoritmen worden gebouwd met behulp van if-statements en lussen. Om de tijd die je eraan besteedt te verminderen, wil je code gebruiken die zo min mogelijk if-statements en lussen bevat.

De complexiteitstheorie voor algoritmen gebruikt de big-o-notatie om het beperkende gedrag van een algoritme te helpen beschrijven en een beter begrip te geven. Het wordt gebruikt om algoritmen te classificeren op basis van de manier waarop ze reageren op veranderingen in de invoergrootte.

Ahh statistieken. Als je je wilt verdiepen in kunstmatige intelligentie, moet je kennis hebben van statistiek. AI en machine learning zijn mooie namen die worden gebruikt voor statistieken. Statistisch programmeren wordt gebruikt om problemen met veel gegevens op te lossen, zoals ChatGPT. Het antwoord van ChatGPT is allemaal gebaseerd op de waarschijnlijkheid dat de prompt van de gebruiker overeenkomt. 

Je zult meer moeten leren dan gemiddelde, mediaan en modus als het gaat om statistisch programmeren. Je zult meer moeten leren over bias, covariantie en de stelling van Bayes. Als programmeur krijgt u taken en realiseert u zich dat u zich zult afvragen of dit een lineair regressieprobleem of een logistisch regressieprobleem is. Als u het verschil tussen de twee begrijpt, kunt u bepalen welk type taak u voorhanden heeft. 

Misschien heb je op school naar lineaire algebra gekeken – of misschien niet. Lineaire algebra is erg belangrijk en wordt veel gebruikt in computergraphics en deep learning. Om lineaire algebra te begrijpen, moet je deze drie woorden begrijpen:

  • Scalair – een enkele numerieke waarde
  • Vector – een lijst met getallen of een 1-dimensionale array
  • Matrix – een raster of tweedimensionale array

Vectoren kunnen punten en de richting in een 3D-ruimte weergeven, terwijl matrices transformaties kunnen weergeven die met deze vectoren plaatsvinden. 

Dit artikel geeft je een snel overzicht van de top 10 wiskundige concepten die je programmeercarrière zullen verbeteren. Het leren van de fijne kneepjes zal niet alleen uw dagelijkse taken soepeler en gemakkelijker te begrijpen maken, maar het kan ook aan uw werkgever worden getoond over uw potentieel. 

Als je op zoek bent naar een GRATIS boek om je te helpen, kijk dan eens op: Wiskunde voor machinaal leren: het gratis e-boek
 
 
Nisha Arja is een datawetenschapper, freelance technisch schrijver en communitymanager bij KDnuggets. Ze is met name geïnteresseerd in het geven van loopbaanadvies of tutorials over Data Science en op theorie gebaseerde kennis rond Data Science. Ze wil ook de verschillende manieren onderzoeken waarop kunstmatige intelligentie de levensduur van de mens ten goede komt/kan komen. Een enthousiaste leerling, die haar technische kennis en schrijfvaardigheid wil verbreden, terwijl ze anderen helpt te begeleiden.
 

Tijdstempel:

Meer van KDnuggets