16Aug
Ellei sinulla ole matematiikkaa tai ohjelmointia, sana "algoritmi" saattaa olla kreikaksi sinulle, mutta se on yksi rakennuspalikoista kaikesta, mitä 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ä.Matematiikka, voit vapaasti korjata tai selittää paremmin kommentteihin, mutta pidä se yksinkertaisena matemaattisesti epäuskoisena meille.
Kuva 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 juttu).Algoritmi, joka ei ole meidän ohjelmoijamme, on joukko ohjeita, jotka syöttävät sisääntulon A ja tuottavat tulostuksen B, joka muuttaa tietynlaisia tietoja. 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 tapaa 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)
Aloitekohdasta 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.
Kaaviot
Käytetään kaaviota havainnollistamaan eri 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.
Menetelmä 1
Voimme edustaa tätä sarjapisteinä ja tiedot noudattavat graafin vakiomuotoa ={ (x1, y1),( x2, y2),. ..,( xn, yn)}.
kaavio ={ (0,0),( 3,0),( 3,3),( 5,5),( 7,10),( 8,7),( 9,4),( 10,1)}
Jokainen piste on helppo piirtää 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 aloituspiste, rivin kulmakerroin sen ja seuraavan pisteen välille ja ilmoittaa, mistä seuraavasta pisteestä voidaan odottaa graafin vakiomuotoa ={ (alkupiste}, [m1Tässä muuttuja "m" edustaa rivin kaltevuutta, "x" edustaa suunnan, joka lasketaan( onko x tai y) ja "h", x1, h1],. .., [mn, xn, hn]
kuvaaja ={ (0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 1], [-3, x, 1], [-3, x, 1]}
sama graafi. Voit nähdä, että viimeiset kolme termiä tässä lausekkeessa ovat samat, joten voimme ehkä leikata sen alas vain sanomalla "toista kolme kertaa" jollakin tavalla. Sanotaan, että aina, kun näet muuttujan "R(0, y), [0, x, 3], [0, y, 3], [1, x, 2][2,5, x, 2], [-3, x, 1], [R = 2]}
Mitä jos yksittäisillä pisteillä ei ole väliä, ja vain kaavio itse? Voimme yhdistää nämä kolme viimeistä jaksoa seuraavasti:
graafi ={ (0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x,], [-3, x, 3]}
Se lyhentää asioita hieman siitä, missä he olivat aiemmin.
Menetelmä 3
Yritetään tehdä tämä toisella tavalla.
y = x, 3≤x≤5
y = 2,5x-7,5, 5≤x≤7
y = -3x + 29
y = 0, 0≤x≤3
x = 0, 0≤y≤3
y =, 7≤x≤8
y = -3x + 29, 8≤x≤9
y = -3x + 29, 9≤x≤10
Tässä meillä on se puhtaissa algebrisissa termeissä.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 valitsemasi tapa riippuu kyvyistasi. 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ä asia 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össä tai "standardin" kautta.
-tiedostonpakkaus
Kun lataat. zip-tiedoston, pursit sisällön niin, että voit käyttää mitä tahansaon 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ä levylle tallennettu. zip-tiedosto 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 erityisesti niille tiedostoille, 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 ihmisen korvat eivät pysty kuulemaan ja tasoittaa aaltomuotoja osioissa eroon yksityiskohdista. Loppujen lopuksi, vaikka emme voi todella kuulla MP3: n ja CD-raidan välistä eroa, edellisessä tiedostossa on varmasti alijäämä.
Data Encryption
Algoritmeja käytetään myös datan tai tietoliikenneyhteyksien suojaamiseen. Sen sijaan, että tallennat tietoja niin, että se käyttää vähemmän levytilaa, se on tallennettu 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!