16Aug

Kaj so računalniški algoritmi in kako delujejo?

click fraud protection

Razen če ste v matematiki ali programiranju, je beseda "algoritem" morda grška za vas, vendar je eden od gradnikov vsega, kar uporabljate, da preberete ta članek. Tukaj je kratka razlaga, kaj so, in kako delujejo.

Izjava o omejitvi odgovornosti: nisem profesor matematike ali računalništva, zato vsi izrazi, ki jih uporabljam, niso tehnični. To je zato, ker poskušam vse razložiti v preprostem angleškem jeziku, saj ljudje niso zadovoljni z matematiko. To pomeni, da je vključenih nekaj matematičnih podatkov, kar je neizogibno. Math geeksi, prosimo, popravite ali bolje pojasnite v komentarjih, vendar vas prosimo, naj bo enostavno za matematično neprimerno med nami.

Slika Ian Ruotsala

Kaj je algoritem?

Beseda "algoritem" ima etimologijo, podobno kot "algebra", le da se to nanaša na arabskega matematika samega al-Khwarizmi( samo zanimiv tadbit).Algoritem za ne-programerje med nami je niz navodil, ki imajo vhod, A in zagotavljajo izhod, B, ki na nek način spreminja podatke. Algoritmi imajo široko paleto aplikacij. V matematiki lahko pomagajo izračunati funkcije iz točk v nizu podatkov, med bolj naprednimi stvarmi. Poleg njihove uporabe pri samem programiranju igrajo glavne vloge v stvareh, kot sta stiskanje datotek in šifriranje podatkov.

instagram viewer

Osnovni sklop navodil

Recimo, da se vaš prijatelj srečuje v trgovini z živili in ga usmerjate k vam. Pravite, da se stvari, kot so "prihajajo skozi vrata na desni strani", "preidejo na ribji del na levi" in "če vidite mleko, ste me mimo". Algoritmi delujejo tako. Diagram poteka lahko uporabimo za ponazoritev navodil, ki temeljijo na merilih, ki jih vnaprej poznamo ali med procesom ugotovimo.

( slika z naslovom "Leteči rutinski" EDIT: z uporabo Triggerja in Freewheel-a)

Od START-a bi šli po poti in odvisno od tega, kaj se zgodi, sledite "toku" do konca rezultata. Diagrami poteka so vizualna orodja, ki lahko bolj razumljivo predstavljajo niz navodil, ki jih uporabljajo računalniki. Podobno algoritmi pomagajo narediti enako z več matematičnih modelov. Grafi

Uporabimo graf za ponazoritev različnih načinov, na katere lahko podamo navodila.

Ta graf lahko izrazimo kot povezavo med vsemi točkami. Za razmnoževanje te slike lahko podamo nabor navodil nekemu drugemu.

Metoda 1

To lahko predstavimo kot vrsto točk, informacije pa bi sledile standardni obliki graf ={ (x1, y1),( x2, y2),. ..,( xn, yn)}.

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

To je zelo enostavno za vsako točko, eno za drugo, in jih povežete s prejšnjo točko. Vendar si zamislite graf s tisoč točkami ali več segmenti, ki se dogajajo na vsak način. Ta seznam bi imel veliko podatkov, kajne? In potem, da bi morali povezati vsakega od njih, je lahko ena naenkrat bolečina.

Metoda 2

Druga stvar, ki jo lahko naredimo, je dati izhodišče, naklon linije med njo in naslednjo točko ter navesti, kam naj pričakuje naslednjo točko z uporabo standardne oblike grafa ={ (izhodiščna točka), [m1, x1, h1],. .., [mn, xn, hn]}. Tu je spremenljivka "m" naklon linije, "x" predstavlja smer, v katero se šteje( x ali y) in "h

graf ={ (0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 1], [-3, x, 1], [-3, x, 1]}

Na koncu boste dosegliisti grafikon. Vidite lahko, da so zadnji trije izrazi v tem izrazu enaki, zato bomo morda lahko uredili to navzdol s tem, da bi na nek način rekli "trikrat ponovite". Recimo, da kadarkoli vidite spremenljivko "RTo lahko storimo tako: graf

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

Kaj, če posamezne točke v resnici niso pomembne in samo grafikon sam? Te zadnje tri dele lahko utrdimo tako:

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

Skrajša nekaj stvari, od koder so bili prej.

Metoda 3

Poskusimo to narediti na drug način.

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

Tukaj smo v čisti algebrski izrazi.Še enkrat, če same točke niso pomembne in samo grafikon, lahko utrdimo zadnje tri točke.

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

Zdaj, kateri način, ki ga izberete, je odvisen od vaših sposobnosti. Morda ste odlični z matematiko in grafiko, tako da izberete zadnjo možnost. Mogoče si dober pri navigaciji, zato izberete drugo možnost. Na področju računalnikov pa opravljate veliko različnih vrst nalog in sposobnost računalnika se v resnici ne spreminja. Zato so algoritmi optimizirani za naloge, ki jih izpolnijo.

Druga pomembna točka je opozoriti, da vsaka metoda temelji na ključu. Vsak sklop navodil je neuporaben, razen če veste, kaj storiti z njimi.Če ne veste, da bi morali vsako točko načrtovati in povezati pike, prvi niz točk ne pomeni ničesar.Če ne veste, kaj vsaka spremenljivka pomeni v drugi metodi, ne boste vedeli, kako jih uporabiti, podobno kot ključ za šifro. Ta ključ je tudi sestavni del uporabe algoritmov in pogosto je, da je ta ključ v skupnosti ali s standardom.

stiskanje datotek

Ko prenesete datoteko. zip, izvlečete vsebino, tako da lahko uporabite katero kolije v njej. Danes se lahko večina operacijskih sistemov potopi v. zip datoteke, kot so bile običajne mape, ki delajo vse v ozadju. Na svojem operacijskem sistemu Windows 95 pred več kot desetletjem sem moral vse, kar sem ročno, izrabiti, preden sem lahko videl kaj več kot imena datotek znotraj. To je zato, ker tisto, kar je bilo shranjeno na disku kot. zip datoteka, ni bilo v uporabni obliki. Pomislite na raztegljiv kavč.Ko ga želite uporabiti kot posteljo, morate odstraniti blazine in jo razstaviti, kar zajema več prostora. Ko ga ne potrebujete, ali ga želite prevažati, ga lahko povlečete nazaj.

Kompresijski algoritmi se prilagodijo in optimizirajo posebej za vrste datotek, na katere so ciljno usmerjene. Zvočne oblike, na primer, uporabljajo drugačen način za shranjevanje podatkov, ki bodo, ko jih dekodira zvočni kodek, dali zvočno datoteko, ki je podobna prvotni valovni obliki.Če želite več informacij o teh razlikah, si oglejte naš prejšnji članek, Kakšne so razlike med vsemi tisti avdio formati? Zvočni zapisi brez izgube in datoteke z datoteko. zip imajo eno skupno stvar: oba prinašajo izvirne podatke v svoji natančni obliki po postopku dekompresije. Izgubljeni zvočni kodeki uporabljajo druga sredstva za shranjevanje prostora na disku, kot so obrezovanje frekvenc, ki jih človeška ušesa ne slišijo, in izravnava valov v odsekih, da se znebite nekaterih podrobnosti. Na koncu, čeprav morda ne bomo mogli resnično slišati razlike med MP3 in CD-ploščo, v prvem je definitivno primanjkljaj informacij.

Podatkovno šifriranje Algoritmi

se uporabljajo tudi pri varovanju podatkov ali komunikacijskih linij. Namesto shranjevanja podatkov, tako da uporablja manj prostora na disku, je shranjen na način, ki ga drugi programi ne zaznajo.Če nekdo ukrade vaš trdi disk in začne skenirati, lahko zbere podatke tudi, ko izbrišete datoteke, ker so podatki še vedno tam, čeprav je lokacija za posredovanje do nje izginila. Ko so podatki šifrirani, kar koli je shranjeno, ne izgleda tako, kot je. Običajno izgleda naključno, kot da bi se sčasoma zgostila drobitev. Podatke lahko shranite in jih naredite kot drugo vrsto datoteke. Slikovne datoteke in glasbene datoteke so dobre za to, saj so lahko na primer precej velike brez risanja sumov. Vse to se naredi z uporabo matematičnih algoritmov, ki imajo nekakšen vnos in jih pretvorijo v drugo, zelo specifično vrsto proizvodnje. Za več informacij o tem, kako deluje šifriranje, si oglejte HTG Explains: Kaj je šifriranje in kako deluje? Algoritmi

so matematična orodja, ki zagotavljajo različne uporabnosti v računalništvu. Prizadevajo si za dosego poti med začetno točko in končno točko na dosleden način in zagotovijo navodila za sledenje. Več o tem, kaj smo izpostavili? Delite svoja pojasnila v komentarjih!