Homepage » hogyan kell » Mik a számítógépes algoritmusok és hogyan működnek?

    Mik a számítógépes algoritmusok és hogyan működnek?

    Hacsak nem vagy matematika vagy programozás, az „algoritmus” szó görög lehet, de ez az egyik építőköve annak, amit a cikk elolvasásához használ. Itt van egy gyors magyarázat arról, hogy mik azok, és hogyan működnek.

    Jogi nyilatkozat: Nem vagyok matematikai vagy számítástechnikai tanár, ezért nem használok minden kifejezést technikai jellegűnek. Ennek az az oka, hogy megpróbálok magyarázni mindent egyszerű angol nyelven az emberek számára, akik nem elég kényelmesek a matematikával. Ez azt jelenti, hogy van néhány matematika, ami elkerülhetetlen. A matematikai geek, nyugodtan javíthatja vagy jobban magyarázhatja meg a megjegyzéseket, de kérjük, tartsa egyszerűnek a matematikailag megbékélt közöttünk..

    Kép: Ian Ruotsala

    Mi az algoritmus?

    Az „algoritmus” szó az „algebra” -hoz hasonló etimológiával rendelkezik, azzal az eltéréssel, hogy ez az arab matematikusra, az al-Khwarizmi-ra vonatkozik (csak egy érdekes tidbit). Egy algoritmus, a köztünk lévő nem programozók számára, egy olyan utasítássorozat, amely egy A bemenetet, és egy B kimenetet biztosít, amely valamilyen módon megváltoztatja az érintett adatokat. Az algoritmusok széles körben alkalmazhatók. A matematikában segíthetnek kiszámítani a funkciókat az adatállomány pontjaiból, sokkal fejlettebb dolgok között. A programozáson túlmenően fontos szerepet játszanak a fájlok tömörítésében és az adatok titkosításában.

    Egy alapvető utasításkészlet

    Tegyük fel, hogy barátja találkozik Önökkel egy élelmiszerboltban, és maga felé irányítja. Azt mondod, hogy olyan dolgok jönnek, mint a „jobb oldali ajtókon keresztül”, „átmegyek a bal oldali halszakaszon”, és „ha látod a tejet, elhaladtál.” Az algoritmusok így működnek. Egy folyamatábrát használhatunk az utasítások szemléltetésére az előre meghatározott kritériumok alapján vagy a folyamat során.

    („Jégtörő rutin” szerkesztésű kép: Trigger és Freewheel jóvoltából)

    A START-ról lefelé halad az út, és attól függően, hogy mi történik, kövesse az „áramlást” a végeredményhez. A folyamatábrák olyan vizuális eszközök, amelyek érthetőbb módon a számítógépek által használt utasítások halmazát képviselik. Hasonlóképpen, az algoritmusok több matematikai modellel is segítenek.

    grafikonok

    Használjunk egy gráfot, hogy bemutassuk a különböző módokat, amelyekkel irányokat adhatunk.

    Ezt a grafikonot az összes pontja közötti kapcsolatként fejezhetjük ki. Ennek a képnek a reprodukálásához utasításokat adhatunk valakinek.

    1. módszer

    Ezt pontok sorozataként képviselhetjük, és az információ a következő grafikon = (x1, y1), (x2, y2),…, (xn, yn) szabványos formáját követi..

    grafikon = (0,0), (3,0), (3,3), (5,5), (7,10), (8,7), (9,4), (10,1)

    Az egyes pontok meglehetősen egyszerűek egymás után, és az előző ponthoz csatlakoztathatók. Képzeljünk el egy ezer pontot vagy több szegmenst ábrázoló grafikont, amelyek mindegyike megy. Ez a lista sok adatot tartalmazna, ugye? Ezután fájdalom lehet az, hogy minden egyesével, egyenként csatlakozzon.

    2. módszer

    Egy másik dolog, amit tehetünk, adjunk ki egy kiindulási pontot, a vonal és a következő pont közötti vonal meredekségét, és jelezzük, hová számíthatunk a következő pontra a grafikon = (kiindulási pont, [m1, x1, h1 ],…, [Mn, xn, hn] Itt a 'm' változó a vonal meredekségét jelöli, az 'x' az (x vagy y) számolás irányát jelenti, és a 'h' azt jelenti, hogy sokan számítanak az említett irányba, és emlékezhetünk arra is, hogy minden egyes mozgás után egy pontot rajzolunk.

    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]

    Ugyanez a grafikon lesz a végén. Láthatjuk, hogy ebben a kifejezésben az utolsó három kifejezés ugyanaz, így lehet, hogy ezt csak úgy vágjuk le, hogy valamilyen módon azt mondjuk, hogy „ismételje meg háromszor”. Tegyük fel, hogy amikor megjelenik az 'R' változó, akkor az utolsó dolog megismétlése. Meg tudjuk csinálni:

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

    Mi van, ha az egyes pontok nem igazán számítanak, és csak a grafikon maga? Összehasonlíthatjuk az utolsó három szekciót:

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

    Egy kicsit lerövidíti a dolgokat, ahonnan korábban volt.

    3. módszer

    Próbáljuk meg ezt más módon.

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

    Itt tiszta algebrai értelemben van. Ismét, ha maguk a pontok nem számítanak, és csak a grafikon csinál, akkor konszolidálhatjuk az utolsó három elemet.

    y = 0, 0 x = 0, 0≤y≤3
    y = x, 3≤x≤5
    y = 2,5x-7,5, 5 y = -3x + 29, 7

    Most, melyik módszert választja, függ a képességeitől. Talán nagyszerű a matematika és a grafika, így az utolsó lehetőséget választja. Talán jó navigálni, így a második opciót választja. A számítógépek területén azonban sok különböző feladatot végez, és a számítógép képessége valójában nem változik. Ezért az algoritmusok az általuk elvégzett feladatokhoz optimalizáltak.

    Egy másik fontos szempont, hogy minden módszer egy kulcsra támaszkodik. Minden utasításkészlet haszontalan, kivéve, ha tudod, mit csinálj velük. Ha nem tudod, hogy minden egyes pontot meg kell rajzolnod és a pontokat csatlakoztatnád, az első pontok nem jelentenek semmit. Hacsak nem tudod, hogy az egyes változók mit jelentenek a második módszerben, nem fogod tudni, hogyan kell őket alkalmazni, mint a titkos kulcshoz. Ez a kulcs az algoritmusok használatának szerves részét képezi, és gyakran ez a kulcs megtalálható a közösségben vagy egy „szabvány” segítségével.

    Fájltömörítés

    A .zip fájl letöltésekor a tartalmat kivonja, hogy bármi is legyen a belsejében. Manapság a legtöbb operációs rendszer merülhet be .zip fájlokba, mint például normál mappák, mindent a háttérben. A Windows 95-es gépemben egy évtizeddel ezelőtt mindent kézzel kellett kinyomtatni, mielőtt bármit is láthattam volna, mint a belső nevek. Ennek az az oka, hogy a lemezen .zip fájlként tárolt fájl nem használható formában. Gondolj egy kihúzható kanapéra. Ha ágyban akarja használni, el kell távolítania a párnákat, és ki kell nyitnia, ami több helyet foglal el. Ha nincs szüksége rá, vagy azt akarja szállítani, akkor hajtsa vissza.

    A tömörítési algoritmusokat speciálisan az adott típusú fájlokhoz igazítják és optimalizálják. Az audio formátumok például minden más módon tárolják az adatokat, amelyeket az audiokodek dekódolásakor az eredeti hullámformához hasonló hangfájl ad. Az ezekről a különbségekről további információkért nézd meg az előző cikkünket, mi a különbség az összes hangformátum között? A veszteségmentes hangformátumok és a .zip fájlok egy közös dologgal rendelkeznek: mindkettő az eredeti adatokat a dekompressziós folyamat után pontos formában adja meg. A veszteséges audiokodekek más eszközöket használnak a lemezterület megtakarítására, mint például az emberi fülek által nem hallható frekvenciák vágására és a szakaszok hullámformájának kiegyenlítésére, hogy bizonyos részleteket megszabaduljanak. Végül, bár talán nem tudjuk igazán hallani a különbséget egy MP3 és CD-sáv között, feltétlenül van egy hiányos információ az előbbi.

    Adat titkosítás

    Az algoritmusokat az adat- vagy kommunikációs vonalak biztosításakor is használják. Ahelyett, hogy kevesebb lemezterületet használna az adatok tárolására, más programokban nem észlelhető. Ha valaki ellopja a merevlemezt, és elkezdi szkennelni, akkor az adatokat akkor is fel tudja venni, ha törli a fájlokat, mert az adatok még mindig ott vannak, még akkor is, ha az átirányítási hely már eltűnt. Amikor az adatok titkosítva vannak, a tárolt adatok nem hasonlítanak rá. Általában véletlenszerűnek tűnik, mintha az idő múlásával felaprózódott volna. Adatokat is tárolhat, és más típusú fájlként is megjelenítheti. A képfájlok és a zenefájlok jónak bizonyulnak, hiszen például elég nagyok lehetnek a gyanú nélkül. Mindez matematikai algoritmusok alkalmazásával történik, amelyek valamilyen bemenetet vesznek igénybe, és egy másik, nagyon specifikus kimenetre konvertálják. További információ a titkosítás működéséről: HTG Explains: Mi a titkosítás és hogyan működik?


    Az algoritmusok olyan matematikai eszközök, amelyek sokféle felhasználást biztosítanak a számítástechnikában. Dolgoznak annak érdekében, hogy a kezdőpont és a végpont közötti utat következetesen hozzák létre, és megadják az utasításokat a követéshez. Tudjon meg többet, mint amit kiemeltünk? Ossza meg magyarázatát a megjegyzésekben!