Legjobb barátunk, az algoritmus
Modern világunkban egyre gyakrabban találkozunk az algoritmusok sokaságával, de vajon mindenki tisztában van azzal, hogy ez több, mint egy matematikai vagy számítástechnikai szakkifejezés?!
Műveleti láncok a tudományokban
Algoritmusokkal már a IX. század tudósai is foglalkoztak, igaz, eredetileg csak matematikai problémák kapcsán definiálták. A kifejezés Al Khwarizmi, az ismert bagdadi matematikus nevéből származik, aki egyik könyvében írt ezekről a számolási eljárásokról. Korunkban szinte mindenhol találkozunk algoritmusokkal, melyek fogalmát így definiálhatjuk: “Egy pontos szabályok szerint elvégzett elemi műveletekből álló műveletsor, ahol az intuíciónak nincs szerepe”
Napjainkra ezen műveleti láncok szinte teljesen átláthatatlanná váltak az átlagember számára, gyakran csupán a kezdeti állapot és a kimenetel közötti változás érzékelhető. Az algoritmusok segítségével rendkívül összetett problémák megoldására is képesek a szakemberek. Többek között a számítástechnika programnyelvei is algoritmusokra épülnek, ezekkel adhatunk utasítást intelligens rendszereknek, akár robotoknak is. Szintén fontos szerepet töltenek be a matematika különböző részein is a pontos szabályok szerint elvégzett műveleti sorok, gondoljunk csak a gráfokra vagy a számelméletre. A specialisták napjainkra hihetetlenül sokszor és egyre komplexebb formában alkalmaznak algoritmusokat.
Meglepő tények
Gondolnánk, hogy egy arcszkenner vagy a különböző internetes keresőmotorok is algoritmusok alapján dolgoznak? A böngészőkben használt keresőmotorok rangsoroló algoritmusokat alkalmaznak, és ezek alapján döntik el, hogy melyik oldal érdekelheti leginkább a felhasználót. Meglepő, de algoritmusok építik fel egész világunkat. Jelen vannak mindenhol, még a legnyilvánvalóbb és a legbizarrabb jelenségek mögött is.
Hogyan profitálhatunk az algoritmusokból közvetlenül még többet?
Elgondolkodtató, hogy az otthoni kötelezettségeinket mennyire lerövidítheti egy jól átgondolt algoritmus. Tudatosan figyelve és keresve ezeket a lehetőségeket rengeteget könnyíthetünk feladatainkon. A tökéletesre fejlesztett csoportosító algoritmusok már képesek egy-egy olyan probléma megoldására is, amelyek eddig nagy fejtörést okoztak társadalmunknak.
Sok esetben a vese-transzplantációra várók sorsát tovább nehezítette az a tény is, hogy a donor, illetve a beteg vércsoportja és immunfenotípusa nem volt megegyező. 2007-ben tudósok egy algoritmus segítségével elérték, hogy az Egyesült Királyság minden betegéhez egy megfelelő donort párosítsanak, és ezzel gyorsítsák a kezelés folyamatát.
Sokkal hétköznapibb eset, amikor a mosás után fejtörést okoz a zoknik párba rendezése, ami idő- és energiaigényes feladat egy nagyobb család esetén. Ahogyan azt Jordan Dunbar cikkében is láthatjuk, a zoknik párosításában is segítségül hívhatjuk a tudományt. Az itt használt algoritmus a csoportosítások sorozatára épül, ami ebben az esetben a leggyorsabb megoldáshoz vezet. A szabály egyszerű: első körben érdemes a zoknikat színek szerint csoportosítani (fekete, fehér, színes), ha lehet, akkor ezen belül is kisebb csoportokat létrehozni (csíkos, pöttyös, kockás). Ezt követően a csoportokat tovább bontjuk a zoknik hossza alapján, majd a sok kisebb csoporton belül lehet a párokat keresni. Az ötlet a számítógép "gondolkozásából" ered, ahol a leggyorsabb számítási módra törekednek.
Algoritmus, a barátunk
A fenti példák során láthatjuk, hogy a jól átgondolt algoritmusok minden téren megállják a helyüket és általában gyorsabb, optimálisabb megoldáshoz vezetnek. Érdemes tehát jobban elmélyülni a témában, és minél több helyen tudatosan alkalmazni "barátainkat".
Források:
Get Your Documentary. (2016). The Secret Rules of Modern Living Algorithms | Real Computer Science Documentary. Youtube. [11.Sep.2016]
Dunbar, Jordan. (2016). How science can help you sort out your socks. BBC News. [online]
Demetrovics J. és Katona Gy. (2000). Az algoritmusok bonyolultsága. Természet Világa. II. különszám. [online]