16Aug

Co jsou počítačové algoritmy a jak fungují?

click fraud protection

Pokud se nenacházíte v matematice nebo programování, slovo "algoritmus" vám může být řecké, ale je to jeden ze základních stavebních prvků všeho, co používáte k přečtení tohoto článku. Zde je rychlé vysvětlení toho, čím jsou, a jak fungují.

Odmítnutí odpovědnosti: Nejsem učitel matematiky nebo počítačové vědy, takže všechny termíny, které používám, nejsou technické.To je proto, že se snažím vysvětlit vše v obyčejné angličtině, protože lidé nejsou s matematikou příliš spokojeni. To je řečeno, existuje nějaká matematika, a to je nevyhnutelné.Math geeks, neváhejte opravit nebo lépe vysvětlit v komentářích, ale prosím, držte to jednoduché pro matematicky neospravedlnit mezi námi.

Obrázek Ian Ruotsala

Co je to algoritmus?

Slovo "algoritmus" má etymologii podobnou "algebru", kromě toho, že se jedná o arabského matematika sám, al-Khwarizmi( jen zajímavý tidbit).Algoritmus pro neprogramátory mezi námi je sada instrukcí, které mají vstup A, a poskytují výstup, B, který nějakým způsobem mění data. Algoritmy mají širokou škálu aplikací.V matematice mohou pomáhat při výpočtu funkcí z bodů v datovém souboru, v mnohem pokročilejších věcech. Kromě jejich použití v samotném programování hrají hlavní roli ve věci komprese souborů a šifrování dat.

instagram viewer

Základní sada instrukcí

Řekněme, že váš přítel se s vámi setkává v obchodě s potravinami a řídíte ho směrem k vám.Říkáte věci jako "přijít přes pravé dveře", "projít část ryby vlevo" a "jestliže uvidíte mlékárnu, prošel jste mě." Algoritmy fungují takto. Můžeme použít vývojový diagram, abychom ilustrovali pokyny založené na kritériích, o kterých víme dopředu nebo které jsme zjistili během procesu.

( obrázek s názvem "Rukopisná rutina" EDIT: s laskavým svolením Trigger a Freewheel)

Od START byste šli po cestě a v závislosti na tom, co se děje, postupujte podle "toku" na konečný výsledek. Vývojové diagramy jsou vizuální nástroje, které mohou pochopitelně představovat soubor instrukcí používaných počítači. Podobně algoritmy pomáhají dělat totéž s více matematickými modely.

Grafy

Použijeme graf k ilustraci různých způsobů, jak můžeme dát směry.

Tento graf můžeme vyjádřit jako spojení všech jeho bodů.Abychom reprodukovali tento obrázek, můžeme dát někomu jiný soubor instrukcí.

Metoda 1

Můžeme to reprezentovat jako sérii bodů a informace by se řídila standardní formou grafu ={ (x1, y1),( x2, y2),. ..,( xn, yn)}.

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

Je velmi snadné vykreslovat každý bod jeden po druhém a připojit je k předchozímu bodu. Představte si však graf s tisíci body nebo více segmentů, které se budou každým způsobem dělat. Ten seznam by měl hodně dat, ne? A pak se musí spojit každý, jeden po druhém, může být bolest.

Metoda 2

Dalším, co můžeme udělat, je poskytnout počáteční bod, sklon linky mezi ním a dalším bodem a naznačit, kde lze očekávat další bod použitím standardní formy grafu ={ (výchozí bod}, [m1, x1, h1],. .., [mn, xn, hn]}, kde proměnná "m" představuje sklon linky, x znamená směr počítání( x nebo y)'

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

stejný graf. Můžete vidět, že poslední tři výrazy v tomto výrazu jsou stejné, takže můžeme být schopni ořezat to dolů prostě říká "opakovat to třikrát" nějakým způsobem. Napomněme, že kdykoliv vidíte proměnnou 'R', to znamená opakovat poslední věc. Můžeme to udělat:

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

Co když jednotlivé body nezáleží na tom, a pouze samotný graf? Tyto poslední tři části můžeme konsolidovat takto:

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

To zkracuje věci trochu od místa, kde byly předtím.

Metoda 3

Zkuste to udělat jiným způsobem.

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

Zde máme v čistě algebraických termínech. Ještě jednou, pokud body samy nezáleží a jen graf dělá, můžeme konsolidovat poslední tři položky.

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

Nyní, jakou metodu si vyberete, závisí na vašich schopnostech. Možná jste skvělí s matematikou a grafováním, takže si vyberete poslední možnost. Možná jste v navigaci dobře, takže si vyberete druhou možnost. V oblasti počítačů však děláte mnoho různých druhů úkolů a schopnost počítače se opravdu nemění.Proto jsou algoritmy optimalizovány pro úkoly, které dokončí.

Dalším důležitým bodem je, že každá metoda závisí na klíči. Každá sada pokynů je k ničemu, pokud nevíte, co s nimi dělat. Pokud nevíte, že byste měli vykreslovat každý bod a připojit tečky, první sada bodů neznamená nic. Pokud nevíte, co každá proměnná znamená ve druhé metodě, nebudete vědět, jak je aplikovat, podobně jako klíč k šifře. Tento klíč je také nedílnou součástí používání algoritmů a často se tento klíč nalézá v komunitě nebo prostřednictvím "standardní".

Komprese souborů

Při stahování souboru. zip můžete extrahovat obsah, abyste mohli použít jakýkolije uvnitř.Většina operačních systémů se dnes může ponořit do souborů ZIP, jako by byly normální složky, dělat všechno na pozadí.Na mém počítači se systémem Windows 95 před více než deseti lety jsem musel vše extrahovat ručně, než jsem viděl něco víc než názvy souborů uvnitř.Protože to, co bylo uloženo na disku jako soubor ZIP, nebylo v použitelném formuláři. Přemýšlejte o rozkládací gauč.Když jej chcete použít jako postel, musíte odstranit polštáře a rozvinout, což zabere více místa. Když ji nepotřebujete, nebo jej chcete dopravit, můžete jej vrátit zpět.

Kompresní algoritmy jsou upraveny a optimalizovány speciálně pro typy souborů, na které jsou cíleny. Zvukové formáty například používají jiný způsob ukládání dat, které při dekódování zvukovým kodekem dávají zvukový soubor podobný původnímu tvaru vlny. Další informace o těchto rozdílech naleznete v našem předchozím článku, Jaké jsou rozdíly mezi všemi těmito formáty zvuku? Lossless audio formáty a. zip soubory mají jednu společnou věc: oba poskytují originální data ve své přesnou podobě po procesu dekomprese. Ztráty zvukové kodeky používají jiné prostředky k úspoře místa na disku, jako jsou ořezávací frekvence, které nemohou být slyšeny lidskými ušima a vyhlazovat průběh v sekcích, aby se zbavili některých detailů.Nakonec, i když možná nebudeme schopni skutečně slyšet rozdíl mezi MP3 a CD stopou, je zde určitě nedostatek informací.

Šifrování dat

Algoritmy se také používají při zabezpečení datových nebo komunikačních linek. Namísto ukládání dat, takže používá méně místa na disku, je uložen způsobem, který nelze detekovat jinými programy. Pokud někdo ukradne váš pevný disk a začne jej skenovat, může zvednout data i po odstranění souborů, protože data jsou sama o sobě stále, i když je místo přesměrování, které je na něm, pryč.Když jsou data šifrována, vše, co je uloženo, nevypadá jako to, co je. Obvykle vypadá náhodně, jako kdyby se časem rozpadla. Můžete také ukládat data a ukládat je jako jiný typ souboru. Obrazové soubory a hudební soubory jsou pro to dobré, protože mohou být poměrně velké, aniž by to například znamenalo podezření.To vše se provádí pomocí matematických algoritmů, které vezmou nějaký druh vstupu a převedou jej na jiný, velmi specifický typ výstupu. Další informace o tom, jak šifrování funguje, naleznete v HTG Vysvětluje: Co je šifrování a jak funguje?

Algoritmy jsou matematické nástroje, které poskytují různé využití v informatice. Pracují tak, aby konzistentně poskytovaly cestu mezi počátečním bodem a koncovým bodem a poskytovaly pokyny, aby je následovaly. Víte víc než to, co jsme zdůraznili? Sdělte své vysvětlení v komentářích!