Mitä ovat tietokonealgoritmit ja miten ne toimivat?

Sisällysluettelo:

Mitä ovat tietokonealgoritmit ja miten ne toimivat?
Mitä ovat tietokonealgoritmit ja miten ne toimivat?

Video: Mitä ovat tietokonealgoritmit ja miten ne toimivat?

Video: Mitä ovat tietokonealgoritmit ja miten ne toimivat?
Video: 2023 Tesla Model X PLAID: POV review & top speed badge UNLOCKED! - YouTube 2024, Saattaa
Anonim
Ellei ole matematiikkaa tai ohjelmointia, sana "algoritmi" saattaa olla kreikkalainen sinulle, mutta se on yksi rakennuspalikoista kaikesta, jota käytät tämän artikkelin lukemiseen. Tässä on nopea selitys siitä, mitä he ovat ja miten he työskentelevät.
Ellei ole matematiikkaa tai ohjelmointia, sana "algoritmi" saattaa olla kreikkalainen sinulle, mutta se on yksi rakennuspalikoista kaikesta, jota käytät tämän artikkelin lukemiseen. Tässä on nopea selitys siitä, mitä he ovat ja miten he työskentelevät.

Vastuuvapauslauseke: En ole matemaattinen tai tietotekniikan opettaja, joten kaikki käyttämät ehdot eivät ole teknisiä. Tämä johtuu siitä, että yritän selittää kaikkea selkeässä englanninkielessä, koska ihmiset eivät ole varsin tyytyväisiä matematiikkaan. Sanotaan, että kyseessä on matemaattinen osuus, ja tämä on väistämätöntä. Matemaattiset geeksit, voit vapaasti korjata tai selittää paremmin kommentteihin, mutta pidä se yksinkertaisena matemaattisesti epäuskoisena meille.

Kuvaaja: Ian Ruotsala

Mikä on algoritmi?

Sana "algoritmi" on samanlainen etymologia kuin "algebra", paitsi että tämä viittaa arabialaiseen matemaatikkoon itseään, al-Khwarizmiin (vain mielenkiintoinen huojunta). Algoritmi, joka ei ole meidän ohjelmoijamme, on joukko ohjeita, jotka syöttävät sisääntulon A ja antavat tulostuksen B, joka muuttaa tietyn datan. Algoritmeilla on laaja valikoima sovelluksia. Matematiikassa ne voivat auttaa laskemaan funktioita pisteistä datasarjassa paljon kehittyneimpien asioiden joukossa. Sen lisäksi, että ne käyttävät itse ohjelmointiaan, niillä on tärkeä rooli esimerkiksi tiedostojen pakkauksessa ja tietojen salauksessa.

Ohjeiden perussarja

Sanotaan, että ystäväsi tavata sinut ruokakaupassa ja ohjaat häntä kohti sinua. Sanot sellaisia asioita kuin "tule oikealla puolella olevien ovien läpi", "siirtäkää kalasektori vasemmalle" ja "jos näet meijerin, läpäissyt minut." Algoritmit toimivat näin. Voimme käyttää vuokaaviota havainnollistamaan ohjeita, jotka perustuvat kriteereihin, joista tiedämme aikaisemmin tai tiedämme prosessin aikana.

(kuva otsikolla "Icebreaking Routine" EDIT: Trigger ja Freewheel)
(kuva otsikolla "Icebreaking Routine" EDIT: Trigger ja Freewheel)

START: stä pääset alas polulle ja riippuen siitä, mitä tapahtuu, seuraat "virtausta" lopputulokseen. Vuokaaviot ovat visuaalisia työkaluja, jotka voivat ymmärtää paremmin tietokoneiden käyttämiä ohjeita. Samoin algoritmit auttavat tekemään samoja matematiikkamalleilla.

Käyrät

Käytetään kaaviota havainnollistamaan erilaisia tapoja, joilla voimme antaa ohjeita.

Voimme ilmaista tämän kaavion yhteyden kaikkien sen pisteiden välillä. Jotta toistettaisiin tämä kuva, voimme antaa joukon ohjeita jollekin toiselle.
Voimme ilmaista tämän kaavion yhteyden kaikkien sen pisteiden välillä. Jotta toistettaisiin tämä kuva, voimme antaa joukon ohjeita jollekin toiselle.

Menetelmä 1

Voimme edustaa tätä sarjapisteinä ja tiedot noudattavat graafin vakiomuotoa = {(x1, y1), (x2, y2), …, (xn, yn)}.

graph = {(0,0), (3,0), (3,3), (5,5), (7,10), (8,7), (9,4), (10,1)}

On helppoa piirtää jokainen piste peräkkäin ja liittää ne edelliseen pisteeseen. Kuvittele kuitenkin kaavio, jossa on tuhat pistettä tai useita segmentejä, jotka kaikki menevät jokaiseen tapaan. Luettelolla olisi paljon tietoa, eikö? Ja sitten pitää yhdistää jokainen, yksi kerrallaan, voi olla tuskaa.

Menetelmä 2

Toinen asia, jonka voimme tehdä, on antaa lähtöpiste, sen viivan ja seuraavan pisteen välinen viisto ja ilmoittaa, mistä seuraavasta pisteestä voidaan odottaa graafin vakiomuotoa = {(alkupiste}, [m1, x1, h1 ], …, [mn, xn, hn]} Tässä muuttuja "m" edustaa rivin kaltevuutta, "x" edustaa suunnan laskea (x tai y) ja "h" Monet voivat laskea mainitussa suunnassa. Voit muistaa myös piirtää piste kunkin liikkeen jälkeen.

graph = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,1], [-3,x,1], [-3,x,1]}

Tulet lopulta samaan kaavioon. Näet, että viimeiset kolme termiä tässä lausekkeessa ovat samat, joten voimme ehkä leikata sen alas vain sanomalla "toista kolme kertaa" jollain tavalla. Sanotaan, että aina kun näet muuttujan "R", se tarkoittaa toista viimeistä asiaa. Pystymme tähän:

graph = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,1], [R=2]}

Entä jos yksittäisissä kohdissa ei ole väliä, ja vain kaavio itse? Voimme yhdistää nämä kolme viimeistä jaksoa seuraavasti:

graph = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,3]}

Se lyhentää asioita hieman siitä, missä he olivat aiemmin.

Menetelmä 3

Yritetään tehdä tämä toisella tavalla.

y=0, 0≤x≤3 x=0, 0≤y≤3 y=x, 3≤x≤5 y=2.5x-7.5, 5≤x≤7 y=-3x+29, 7≤x≤8 y=-3x+29, 8≤x≤9 y=-3x+29, 9≤x≤10

Täällä meillä on se puhtaassa algebrassa. Jälleen kerran, jos pisteillä itsellään ei ole merkitystä, ja vain kaavio kuvaa, voimme vahvistaa viimeiset kolme kohdetta.

y=0, 0≤x≤3 x=0, 0≤y≤3 y=x, 3≤x≤5 y=2.5x-7.5, 5≤x≤7 y=-3x+29, 7≤x≤10

Nyt, mikä menetelmä valitset, riippuu kykyistasi. Ehkä olet hieno matematiikan ja grafiikan avulla, joten valitset viimeisen vaihtoehdon. Ehkä olet hyvä navigointiin, joten valitset toisen vaihtoehdon. Tietokoneiden alueella teet kuitenkin monenlaisia tehtäviä ja tietokoneen kyky ei todellakaan muutu. Siksi algoritmit on optimoitu niiden suorittamiin tehtäviin.

Toinen tärkeä huomionarvo on, että jokainen menetelmä perustuu avaimeen. Jokainen käskyjoukko on hyödytön, ellei tiedä mitä tehdä heidän kanssaan. Jos et tiedä, että sinun pitäisi piirtää jokaisen pisteen ja yhdistää pisteitä, ensimmäinen pistemäärä ei merkitse mitään. Ellei tiedä, mitä jokainen muuttuja tarkoittaa toisessa menetelmässä, et tiedä, miten niitä sovelletaan, aivan kuten avaimen salaus. Tämä avain on myös olennainen osa algoritmien käyttämistä, ja usein kyseinen avain löytyy yhteisöstä tai "standardista".

Tiedostonpakkaus

Kun lataat.zip-tiedoston, otat sisällön niin, että voit käyttää mitä tahansa sen sisällä.Nykyään useimmat käyttöjärjestelmät voivat sukeltaa.zip-tiedostoihin, kuten tavalliset kansiot, tekemällä kaiken taustalla. Minun Windows 95 koneeni yli kymmenen vuotta sitten minulla oli pura kaikki käsin, ennen kuin voisin nähdä mitään muuta kuin tiedostonimet sisällä. Tämä johtui siitä, että levyllä, joka tallennettiin.zip-tiedostona, ei ollut käyttökelpoisessa muodossa. Ajattele ulosvedettävä sohva. Kun haluat käyttää sitä sänkynä, sinun on poistettava tyynyt ja avattava se, mikä vie enemmän tilaa. Kun et tarvitse sitä tai haluat kuljettaa sitä, voit taittaa sen takaisin.

Pakkausalgoritmeja säädetään ja optimoidaan nimenomaan sellaisten tiedostojen tyypille, joihin ne on kohdennettu. Esimerkiksi audiomuodot käyttävät eri tapaa tietojen tallentamiseen, jotka audiokoodekin purkamisessa antavat alkuperäiselle aaltomuodolle samanlaisen äänitiedoston. Lisätietoja näistä eroavuuksista on artikkelissa Edellinen artikkeli, mitkä ovat erot kyseisten audiomuotojen välillä? Lossless audioformaatteja ja.zip-tiedostoja on yksi yhteinen asia: molemmat luovuttavat alkuperäiset tiedot tarkkaan muotoonsa dekompressioprosessin jälkeen. Lossy audio-koodekit käyttävät muita keinoja säästämään levytilaa, kuten leikkaustaajuuksia, joita ei voi kuulla ihmisen korvien kohdalla ja tasoittaa aaltomuotoja osioissa eroon yksityiskohdista. Loppujen lopuksi, vaikka emme voi todella kuulla MP3: n ja CD-raidan välistä eroa, siinä on varmasti tietoja alijäämässä.

Tiedonsalaus

Algoritmeja käytetään myös tietojen tai tietoliikenneyhteyksien turvaamiseen. Sen sijaan, että tallennat tietoja niin, että se käyttää vähemmän levytilaa, se tallennetaan tavalla, joka ei ole havaittavissa muilla ohjelmilla. Jos joku varastaa kiintolevyn ja alkaa skannata sen, se voi noutaa tietoja myös tiedostojen poistamisen vuoksi, koska tiedot ovat vielä siellä, vaikka sen edelleenlähetyspaikka on poissa. Kun tiedot salataan, mitä tallennetaan, se ei näytä mitä se on. Se näyttää yleensä satunnaiselta, ikään kuin pirstoutuminen olisi rakentunut ajan mittaan. Voit myös tallentaa tietoja ja näyttää sen toisen tyyppisenä tiedostona. Kuvatiedostot ja musiikkitiedostot ovat hyviä, sillä ne voivat olla varsin suuria, ilman epäilyksiä. Kaikki tämä tehdään käyttämällä matemaattisia algoritmeja, jotka ottavat jonkinlaisen panoksen ja muuntavat sen toiseen, hyvin erityiseen tuotostyyppiin. Lisätietoja siitä, miten salaus toimii, katso HTG-selitykset: Mikä on salaus ja miten se toimii?
Algoritmeja käytetään myös tietojen tai tietoliikenneyhteyksien turvaamiseen. Sen sijaan, että tallennat tietoja niin, että se käyttää vähemmän levytilaa, se tallennetaan tavalla, joka ei ole havaittavissa muilla ohjelmilla. Jos joku varastaa kiintolevyn ja alkaa skannata sen, se voi noutaa tietoja myös tiedostojen poistamisen vuoksi, koska tiedot ovat vielä siellä, vaikka sen edelleenlähetyspaikka on poissa. Kun tiedot salataan, mitä tallennetaan, se ei näytä mitä se on. Se näyttää yleensä satunnaiselta, ikään kuin pirstoutuminen olisi rakentunut ajan mittaan. Voit myös tallentaa tietoja ja näyttää sen toisen tyyppisenä tiedostona. Kuvatiedostot ja musiikkitiedostot ovat hyviä, sillä ne voivat olla varsin suuria, ilman epäilyksiä. Kaikki tämä tehdään käyttämällä matemaattisia algoritmeja, jotka ottavat jonkinlaisen panoksen ja muuntavat sen toiseen, hyvin erityiseen tuotostyyppiin. Lisätietoja siitä, miten salaus toimii, katso HTG-selitykset: Mikä on salaus ja miten se toimii?

Algoritmit ovat matemaattisia työkaluja, jotka tarjoavat tietotekniikan eri käyttötarkoituksia. Ne pyrkivät saamaan polun lähtökohdan ja loppupisteen välillä johdonmukaisesti ja antamaan ohjeet sen noudattamiseksi. Tiedä enemmän kuin mitä korostimme? Jaa selitykset kommentteihin!

Suositeltava: