10 matemaattista käsitettä ohjelmoijille - KDnuggets

10 matemaattista käsitettä ohjelmoijille – KDnuggets

Lähdesolmu: 2874651

10 matemaattista käsitettä ohjelmoijille
Kuva tekijältä
 

Ohjelmoijien kysynnän kasvaessa tarjonta luonnollisesti kohtaa enemmän ihmisiä, jotka tulevat alalle päivittäin. Se on kuitenkin kilpailukykyinen toimiala. Kehittääksesi jatkuvasti itseäsi, kehittääksesi taitojasi ja nostaaksesi palkkaasi sinun on todistettava, että olet taitava ohjelmoija. Yksi tapa tehdä tämä on oppia asioita, joita ihmiset eivät yleensä tiedä. 

Monet ihmiset murtautuvat ohjelmointialalle olettaen, että sinun ei tarvitse tietää sen takana olevaa matematiikkaa. Vaikka tämä on jossain määrin totta, ohjelmoinnin taustalla olevan loogisen matemaattisen käsitteen ymmärtäminen tekee sinusta taitavamman ohjelmoijan. 

Miten on, että? Ymmärtämällä mitä olet tekemässä ja mitä tapahtuu. Näin.

Joten hypätään heti asiaan. Mitkä ovat ohjelmoijien 10 parasta matematiikan käsitettä?

Boolen algebra johtuu algebrasta. Se oli kai ilmeistä. Jos olet ohjelmoija tai pyrit sellaiseksi, tiedät todennäköisesti jo, mikä Boolean on. Jos ei, määrittelen sen nopeasti. 

Boolean on tietotyyppi/binäärimuuttuja, jolla on toinen kahdesta mahdollisesta arvosta, esimerkiksi 0 (false) tai 1 (tosi). Boolen tietotyyppiä tukee boolen algebra, jossa muuttujan arvot tunnetaan totuusarvoina, tosi ja epätosi. Kun työskentelet Boolen algebran kanssa, voit käyttää kolmea operaattoria: 

  • Konjunktio tai AND-operaatio
  • Disjunktio tai TAI-toiminto
  • Negaatio tai ei -toiminto

Nämä voidaan visuaalisesti esittää venn-kaavioina, jotta saat paremman käsityksen tulosteesta. Boolen algebra koostuu kuudesta laista:

  • Kommutatiivinen laki
  • Assosiaatiolaki
  • Jakelulaki
  • JA laki
  • TAI laki
  • Inversiolaki

Tietokoneet ymmärtävät numeroita, ja siksi ne tarvitsevat numerojärjestelmän. Numerojärjestelmä tunnetaan kirjoitusjärjestelmänä, jota käytetään numeroiden ilmaisemiseen. Sinulla on esimerkiksi seuraavat neljä yleisintä numerojärjestelmätyyppiä:

  1. Desimaalilukujärjestelmä (kanta-10)
  2. Binäärilukujärjestelmä (kanta-2)
  3. Oktaalilukujärjestelmä (kanta-8)
  4. Heksadesimaalilukujärjestelmä (kanta-16)

Tietokoneet käyttävät Base-2-numerojärjestelmää, jossa mahdolliset numerot ovat 0 ja 1. Base64:ää käytetään myös binääritietojen koodaamiseen merkkijonomuotoon.

Lisätietoja lukujen oppimisesta, meillä on liukuluku. Liukuluku on muuttujatietotyyppi, joka esittää reaalilukuja likimääräisenä. Liukuluku on luku, jossa desimaalipilkun paikka voi liikkua tai "kellua" sen sijaan, että se olisi kiinteässä paikassa. Näin kehittäjät voivat tehdä kompromissin kantaman ja tarkkuuden välillä.

Mutta miksi likiarvo? Tietokoneissa on vain rajoitettu määrä tilaa, joko 32 bittiä (yksi tarkkuus) tai 64 bittiä (kaksinkertainen tarkkuus). 64-bittinen on oletusarvo ohjelmointikielille, kuten Python ja JavaScript. Esimerkkejä liukulukuista ovat 1.29, 87.565 ja 9038724.2. Se voi olla joko positiivinen tai negatiivinen kokonaisluku desimaalipilkun kera. 

Tunnetaan myös nimellä log on matemaattinen käsite, joka käyttää eksponentiaalien käänteistä vastaamaan kysymykseen. Joten miksi logaritmit ovat tärkeitä ohjelmoijille> Koska se yksinkertaistaa monimutkaisia ​​matemaattisia laskelmia. Esimerkiksi 1000 = 10^4 voidaan kirjoittaa myös muodossa 4 = log101000.

Perusluku on matemaattinen objekti, joka on kerrottava itsestään. Eksponentti on luku, joka ilmaisee, kuinka monta kertaa perusluku on kerrottava itsestään. Siksi logaritmi on eksponentti, joka osoittaa, mihin potenssiin kanta on nostettava tietyn luvun tuottamiseksi.

Kun log käyttää kanta-2:ta, se on binäärilogaritmi, ja jos se on kanta-10, se on yleinen logaritmi. 

Joukko on järjestämätön ainutlaatuinen kokoelma arvoja, joilla ei tarvitse olla mitään yhteyttä toisiinsa. Ne voivat sisältää vain ainutlaatuisia kohteita, eivätkä ne voi sisältää samaa tuotetta kahdesti tai useammin.

Esimerkiksi Excel-tiedostot tai tietokanta sisältävät taulukoita, joissa on joukko yksilöllisiä rivejä. Tämä on eräänlainen diskreetti matematiikka, koska näissä rakenteissa voi olla äärellinen määrä elementtejä. Joukkoteorian tavoitteena on ymmärtää arvokokoelmia ja keskinäisiä suhteita. Tätä käytetään tyypillisesti dataanalyytikoille, SQL-asiantuntijoille ja datatieteilijöille. 

Voit tehdä tämän käyttämällä:

  • Sisäliitos tai leikkauspiste – Palauttaa joukon, joka sisältää molemmissa joukoissa olevia elementtejä
  • Ulompi liitos tai yhdistäminen – Palauttaa elementit molemmista joukoista
  • Union all – Sama kuin ulompi liitosoperaattori, mutta se sisältää kaikki kaksoiskappaleet.
  • Paitsi tai miinus – A Miinus B on joukko, joka sisältää elementtejä joukosta A, jotka eivät ole joukon B elementtejä 

Kombinatoriikka on asioiden laskemisen taitoa tulosten saamiseksi ja äärellisten rakenteiden tiettyjen ominaisuuksien ymmärtämiseksi kuvioiden avulla. Ohjelmoinnissa on kyse ongelmien ratkaisemisesta, ja kombinatoriikka on tapa, jolla voimme järjestää objektit tutkimaan näitä äärellisiä diskreettejä rakenteita.

Combinatorics-kaava on yhdistelmä permutaatiosta ja yhdistelmästä.

  • Permutaatiolla tarkoitetaan joukon järjestämistä johonkin järjestykseen tai järjestykseen
  • Yhdistelmä on joukon arvojen valinta, jossa järjestystä ei oteta huomioon.

Kuten jo tiedät, kaavio on visuaalinen esitys arvojoukosta ja nämä arvot voidaan yhdistää. Mitä tulee dataan, nämä arvot liittyvät toisiinsa muuttujien takia – joita graafiteoriassa kutsutaan linkeiksi. 

Graafiteoria on graafien tutkimus, joka koskee toisiinsa liittyvien pistejoukkojen reunojen ja kärkien välistä suhdetta. Tämän avulla voimme luoda parisuhteen objektien välille käyttämällä kärkipisteitä, jotka tunnetaan myös solmuina, jotka yhdistetään reunoilla eli viivoilla. Graafi esitetään parina G(V, E), jossa V edustaa äärellisiä joukon kärkipisteitä ja E edustaa äärellisiä joukon reunoja.

Monimutkaisuusteoria on tutkimus siitä, kuinka paljon aikaa ja muistia algoritmin suorittamiseen kuluu syötteen koon funktiona. Monimutkaisuuksia on kahdenlaisia:

  • Tilan monimutkaisuus – algoritmin tarvitsema muistin määrä.
  • Aika monimutkaisuus – aika, jonka algoritmi tarvitsee suorittaakseen.

Yhä useammat ihmiset ovat huolissaan ajan monimutkaisuudesta, kun voimme käyttää algoritmin muistia uudelleen. Mitä tulee ajan monimutkaisuuteen, paras tapa mitata se on ottaa huomioon algoritmin suorittamien operaatioiden määrä. Algoritmit rakennetaan käyttämällä if-lauseita ja silmukoita, joten ajan lyhentämiseksi halutaan käyttää koodia, jossa on mahdollisimman vähän if-lauseita ja silmukoita.

Algoritmien monimutkaisuusteoria käyttää big-o-merkintää auttaakseen kuvaamaan algoritmin rajoittavaa käyttäytymistä ja antamaan paremman käsityksen siitä. Sitä käytetään algoritmien luokitteluun sen mukaan, kuinka ne reagoivat syötteen koon muutoksiin.

Huh tilastot. Jos haluat päästä tekoälyyn, sinun on tiedettävä tilastot. Tekoäly ja koneoppiminen ovat mukavia nimiä tilastoissa. Tilastollista ohjelmointia käytetään ratkaisemaan paljon dataa sisältäviä ongelmia, kuten ChatGPT. ChatGPT:n vastaus perustuu todennäköisyyteen, että se vastaa käyttäjän antamaa kehotetta. 

Sinun on opittava enemmän kuin keskiarvo, mediaani ja tila, kun se tulee tilastolliseen ohjelmointiin. Sinun on opittava harhaa, kovarianssia ja Bayes-lausetta. Ohjelmoijana sinulle asetetaan tehtäviä ja ymmärrät, että kysyt, onko tämä lineaarisen regression ongelma vai logistinen regressioongelma. Näiden kahden välisen eron ymmärtäminen auttaa sinua tunnistamaan, millainen tehtävä sinulla on käsillä. 

Olet ehkä katsonut lineaarista algebraa koulussa – tai et ole. Lineaarinen algebra on erittäin tärkeä ja sitä käytetään laajalti tietokonegrafiikassa ja syväoppimisessa. Lineaarisen algebran ymmärtämiseksi sinun on ymmärrettävä nämä kolme sanaa:

  • Skalaari – yksi numeerinen arvo
  • Vektori – luettelo numeroista tai 1-ulotteinen matriisi
  • Matriisi – ruudukko tai 2-ulotteinen matriisi

Vektorit voivat edustaa pisteitä ja suuntaa 3D-tilassa, kun taas matriisit voivat edustaa muunnoksia, jotka tapahtuvat näille vektoreille. 

Tämä artikkeli tarjoaa sinulle nopean yleiskatsauksen 10 parhaasta matematiikan käsitteestä, jotka parantavat ohjelmointiuraasi. Monimutkaisuuksien oppiminen ei ainoastaan ​​tee päivittäisistä tehtävistäsi sujuvampia ja helpompia ymmärtää, vaan se voidaan esitellä työnantajallesi mahdollisuuksistasi. 

Jos etsit ILMAISTA kirjaa auttamaan sinua, tutustu: Matematiikka koneoppimiseen: ilmainen e-kirja
 
 
Nisha Arya on datatieteilijä, freelance-tekninen kirjoittaja ja yhteisöpäällikkö KDnuggetsissa. Hän on erityisen kiinnostunut tarjoamaan datatieteen uraneuvontaa tai opetusohjelmia ja teoriapohjaista tietoa datatieteestä. Hän haluaa myös tutkia erilaisia ​​tapoja, joilla tekoäly on/voi edistää ihmiselämän pitkää ikää. Innokas oppija, joka haluaa laajentaa teknisiä tietojaan ja kirjoitustaitojaan samalla kun hän auttaa opastamaan muita.
 

Aikaleima:

Lisää aiheesta KDnuggets