10 matematičnih konceptov za programerje - KDnuggets

10 matematičnih konceptov za programerje – KDnuggets

Izvorno vozlišče: 2874651

10 matematičnih konceptov za programerje
Slika avtorja
 

Ker se povpraševanje po programerjih povečuje, se bo ponudba seveda srečala z več ljudmi, ki vsak dan vstopajo v industrijo. Vendar je to konkurenčna industrija. Če želite nenehno izboljševati sebe, nabor veščin in povečati svojo plačo – morate dokazati, da ste obvladan programer. Eden od načinov, kako lahko to storite, je, da se naučite stvari, ki jih ljudje običajno ne vedo. 

Veliko ljudi vstopi v programersko industrijo s predpostavko, da vam ni treba poznati matematike, ki stoji za tem. Čeprav je to do neke mere res, boste z razumevanjem logičnega matematičnega koncepta programiranja bolj spretni programer. 

Kako je to? Z razumevanjem, kaj počnete in kaj se dogaja. Tako.

Pa pojdimo takoj k temu. Katerih je 10 najboljših matematičnih konceptov za programerje?

Boolovska algebra izhaja iz algebre. Mislim, da je bilo to očitno. Če ste programer ali to želite postati, verjetno že veste, kaj je Boolean. Če ne, bom na hitro definiral. 

Boolean je podatkovni tip/binarna spremenljivka, ki ima eno od dveh možnih vrednosti, na primer 0 (false) ali 1 (true). Logični podatkovni tip je podprt z logično algebro, v kateri so vrednosti spremenljivke znane kot vrednosti resnice, resnice in laži. Ko delate z logično algebro, lahko uporabite tri operatorje: 

  • Konjunkcija ali operacija IN
  • Disjunkcija ali operacija ALI
  • Operacija Negacija ali Ne

Te je mogoče vizualno predstaviti kot vennove diagrame, da boste bolje razumeli rezultat. Boolovo algebro sestavlja 6 zakonov:

  • Komutativno pravo
  • Asociativni zakon
  • Distributivni zakon
  • IN zakon
  • ALI zakon
  • Inverzijski zakon

Računalniki razumejo številke in zato potrebujejo številski sistem. Številčni sistem je znan kot pisni sistem, ki se uporablja za izražanje števil. Na primer, imate te štiri najpogostejše vrste številskega sistema:

  1. Decimalni številski sistem (osnova-10)
  2. Binarni številski sistem (osnova-2)
  3. Osmiški številski sistem (osnova-8)
  4. Šestnajstiški številski sistem (osnova-16)

Računalniki uporabljajo številski sistem Base-2, kjer sta možni števki 0 in 1. Base64 se uporablja tudi za kodiranje binarnih podatkov v obliki niza.

Več o učenju o številih, imamo plavajočo vejico. Plavajoča vejica je spremenljiv podatkovni tip, ki predstavlja realna števila kot približek. Število s plavajočo vejico je število, pri katerem se položaj decimalne vejice lahko premika ali "lebdi", namesto da bi bil v fiksnem položaju. To razvijalcem omogoča kompromis med obsegom in natančnostjo.

Toda zakaj približek? Računalniki imajo le omejeno količino prostora, bodisi 32 bitov (enojna natančnost) ali 64 bitov (dvojna natančnost). 64-bitni je privzeti za programske jezike, kot sta Python in JavaScript. Primeri števil s plavajočo vejico so 1.29, 87.565 in 9038724.2. Lahko je pozitivno ali negativno celo število z decimalno vejico. 

Znan tudi kot log je matematični koncept, ki za odgovor na vprašanje uporablja inverzno eksponentno vrednost. Zakaj so torej logaritmi pomembni za programerje> Ker poenostavljajo kompleksne matematične izračune. Na primer, 1000 = 10^4 lahko zapišemo tudi kot 4 = log101000.

Osnovno število je matematični predmet, ki ga je treba pomnožiti sam s seboj. Eksponent je število, ki določa, kolikokrat je treba osnovno število pomnožiti s samim seboj. Zato je logaritem eksponent, ki pove, na kakšno potenco je treba dvigniti osnovo, da dobimo dano število.

Ko log uporablja osnovo 2, je binarni logaritem, če je osnova 10, pa je običajen logaritem. 

Niz je neurejena edinstvena zbirka vrednosti, za katere ni treba, da so med seboj povezane. Vsebujejo lahko samo edinstvene elemente in ne morejo vsebovati istega elementa dvakrat ali večkrat.

Datoteke excel ali zbirka podatkov na primer vsebujejo tabele, ki imajo niz edinstvenih vrstic. To je vrsta diskretne matematike, saj imajo lahko te strukture končno število elementov. Cilj teorije množic je razumeti zbirke vrednosti in odnose med seboj. To se običajno uporablja za podatkovne analitike, strokovnjake za SQL in podatkovne znanstvenike. 

To lahko storite tako, da uporabite:

  • Notranji spoj ali presečišče – ​​vrne niz, ki vsebuje elemente, ki so prisotni v obeh nizih
  • Zunanje združevanje ali združevanje – vrne elemente iz obeh nizov
  • Združi vse – enako kot zunanji povezovalni operater, vendar bo vseboval vse dvojnike.
  • Razen ali minus – A minus B je množica, ki vsebuje elemente iz množice A, ki niso elementi množice B 

Kombinatorika je umetnost štetja stvari, da bi dobili rezultate in razumeli določene lastnosti končnih struktur skozi vzorce. Pri programiranju gre za reševanje problemov, kombinatorika pa je način, kako lahko uredimo predmete za preučevanje teh končnih diskretnih struktur.

Formula kombinatorike je kombinacija permutacije in kombinacije.

  • Permutacija je dejanje urejanja niza v nek vrstni red ali zaporedje
  • Kombinacija je izbor vrednosti množice, pri čemer se vrstni red ne upošteva.

Kot že veste, je graf vizualna predstavitev niza vrednosti in te vrednosti je mogoče povezati. Ko gre za podatke, so te vrednosti povezane zaradi spremenljivk – ki so v teoriji grafov znane kot povezave. 

Teorija grafov je preučevanje grafov o odnosu med robovi in ​​oglišči povezanih množic točk. To nam omogoča, da ustvarimo parno razmerje med objekti z uporabo vozlišč, znanih tudi kot vozlišča, ki so povezana z robovi, znanimi kot črte. Graf je predstavljen kot par G(V, E), kjer V predstavlja oglišča končne množice in E predstavlja robove končne množice.

Teorija kompleksnosti preučuje količino časa in pomnilnika, ki je potreben za delovanje algoritma v odvisnosti od velikosti vnosa. Obstajata dve vrsti kompleksnosti:

  • Prostorska zapletenost – količina pomnilnika, ki jo mora izvajati algoritem.
  • Časovna kompleksnost – čas, ki ga mora algoritem izvajati.

Več ljudi skrbi časovna kompleksnost, saj lahko ponovno uporabimo pomnilnik algoritma. Ko gre za časovno kompleksnost, je najboljši način za merjenje tega, da upoštevamo število operacij, ki jih algoritem izvede. Algoritmi so zgrajeni z uporabo if-izjav in zank, zato je za zmanjšanje porabljenega časa potrebno uporabiti kodo, ki ima čim manj if-izjav in zank.

Teorija kompleksnosti za algoritme uporablja zapis big-o za pomoč pri opisovanju in zagotavljanju boljšega razumevanja omejujočega obnašanja algoritma. Uporablja se za razvrščanje algoritmov glede na to, kako se odzivajo na spremembe velikosti vnosa.

Ahhh statistika. Če želite vstopiti v umetno inteligenco, morate poznati statistiko. AI in strojno učenje sta lepi imeni za statistiko. Statistično programiranje se uporablja za reševanje podatkovno zahtevnih problemov, kot je ChatGPT. Odgovor ChatGPT temelji na verjetnosti ujemanja s pozivom uporabnika. 

Ko gre za statistično programiranje, se boste morali naučiti več kot povprečje, mediana in način. Naučiti se boste morali o pristranskosti, kovarianci in bayesovem izreku. Kot programerju boste postavili naloge in ugotovili, da se boste spraševali, ali je to problem linearne regresije ali problem logistične regresije. Razumevanje razlike med obema vam bo pomagalo ugotoviti, kakšno vrsto naloge imate pri roki. 

Morda ste v šoli gledali linearno algebro – ali pa tudi ne. Linearna algebra je zelo pomembna in se pogosto uporablja v računalniški grafiki in poglobljenem učenju. Da bi razumeli linearno algebro, boste morali razumeti te tri besede:

  • Skalar – ena številska vrednost
  • Vektor – seznam števil ali enodimenzionalni niz
  • Matrika – mreža ali dvodimenzionalni niz

Vektorji lahko predstavljajo točke in smer v 3D prostoru, matrike pa lahko predstavljajo transformacije, ki se zgodijo tem vektorjem. 

Ta članek vam ponuja hiter pregled 10 najboljših matematičnih konceptov, ki bodo izboljšali vašo programersko kariero. Če se boste naučili zapletenosti, bodo vaša vsakodnevna opravila ne le bolj gladka in razumljiva, temveč bo delodajalcu lahko predstavila vaš potencial. 

Če iščete BREZPLAČNO knjigo, ki bi vam bila v pomoč, si oglejte: Matematika za strojno učenje: brezplačna e-knjiga
 
 
Nisha Arya je podatkovni znanstvenik, samostojni tehnični pisec in vodja skupnosti pri KDnuggets. Še posebej jo zanima zagotavljanje kariernih nasvetov ali vadnic o podatkovni znanosti in na teoriji temelječega znanja o podatkovni znanosti. Prav tako želi raziskati različne načine, na katere umetna inteligenca koristi/lahko prispeva k dolgoživosti človeškega življenja. Zavzeta učenka, ki želi razširiti svoje tehnično znanje in pisne sposobnosti, hkrati pa pomaga usmerjati druge.
 

Časovni žig:

Več od KDnuggets