Zer da Algoritmo bat?

Ezagutu algoritmoek munduko nola funtzionatzen duten

Algoritmo bat argibide multzo bat da. Definizioa oso erraza da. Algoritmo bat bezain erraza izan daiteke argibideak emanez:

  1. Joan kalean behera
  2. Hartu lehen eskuinera
  3. Aurkitu ezkerreko bigarren etxea
  4. Atea kolpatu eta
  5. Bidal ezazu paketea.

Baina algoritmoaren definizioa sinplea den bitartean, benetako esanahia eta gure bizitza nola eragiten duen nahiko konplexua izan daiteke.

Algoritmo baten adibidea

Gure eguneroko bizitzan erabiltzen dugun algoritmo baten adibide ohikoa errezeta da. Argibideak ematen dizkizuten osagai guztiak ematen dizkizugu eta osagai horien zer egin behar duten argibideak ematen dizkizugu. Soinuak erraza, ezta?

Baina ez badakizu zein neurtzen den neurtzen den kopa? Aurkitu behar duzun algoritmo bat behar duzu. Nahiz eta neurketa-kopa bat erabili behar den algoritmo bat behar duzu.

Beraz, algoritmo bat argibide multzo bat den bitartean, kontuan hartu behar da zein diren edo zein argibideren bidez interpretatuko diren. Esate baterako, Etorkizuneko janari hurbilenetik etxetik nola ateratzeko zehazten duzun lagun bati jarraibideak ematen badizkiozu, zure lagunak denda honetara iritsiko diren jakingo du zure etxea bertan dagoen jakingo balute. Ez dira gai (oraindik) Ultramarinos denda jakin bat aurkitzeko, beste lagun baten etxea.

Horrela, algoritmo bat sinplea eta konplexua izan daiteke. Eta ordenagailu algoritmoei buruz hitz egiten dugunean, ordenagailua gai den jakiteko, algoritmoak formulatzeko funtsezko zati bat da.

Nola ordenatu algoritmoak Evolved

Sortzen diren lehen algoritmoetako bat burbuila sortaren errutina izan zen. Bubble ordenatzeko metodo bat da zenbakiak, hizkiak edo hitzak antolatzeko datu multzo baten bidez loopinga, balioen multzo bakoitza bata bestearen aldean, eta aldatu behar direnean.

Bikoizketa hori errepikatzen da algoritmoak zerrenda osoan zehar mugitu ahal izateko, ezer aldatu beharrik gabe, balioak zuzen ordenatzen dira. Algoritmo mota hori sarritan errekurtsiboaren algoritmo gisa aipatzen da, zeren eta behin eta berriz errepikatzen du zeregina bete arte.

Algoritmoak oso erraza dirudi:

  1. Joan lehen balioa.
  2. Egiaztatu balio hori hurrengo balioaren eta trukatu posizioak behar izanez gero
  3. Joan hurrengo balioa eta alderaketa errepikatu.
  4. Zerrendaren amaieran bazaude, joan goiko aldera begizta aldatzen bada.

Baina burbuila mota ez zen balioen sailkapenik eraginkorrena izan. Denbora aurrera joan ahala, ordenagailuak azkarrago egiteko lanak egiteko gai izan ziren azkar, ordenatzeko algoritmo berriak agertu ziren.

Algoritmo horietako bat lehen zerrenda bidez aztertzen da eta ordenatutako balioen bigarren zerrenda sortzen du. Metodo honek jatorrizko zerrendako pasahitz bakar bat bakarrik egiten du, eta balio bakoitzarekin, bigarren zerrendaren bidez begiztatuko da balioa jartzeko leku zuzena aurkitzen duen arte. Normalean, burbuila motako metodoa baino eraginkorragoa da.

Hemen algoritmoak benetan zoragarriak izan daitezke. Edo benetan interesgarria, begiratzen duzunaren arabera.

Burbuila motako metodoa modu askotan balioen ordenatzeko metodo eraginkorrenetako bat da, jatorrizko zerrenda behar bezala aurreikusten bada, burbuila mota eraginkorrena izan daiteke. Hori dela eta, kasu horretan, burbuila ordenatzeko algoritmoa denbora bakar batean zehaztuko da eta zehaztu egingo da behar bezala ordenatuta.

Zoritxarrez, ez dugu beti ezagutzen gure zerrenda aurrezten bada, beraz, gehien erabiltzen den algoritmo bat aukeratu behar dugu batez beste zerrendetan zehar.

Bubble Sort-en ikasi duguna

Facebook algoritmoak eta eguneroko bizitzan gehiago

Algoritmoak lanean ari dira egunero gizakiei laguntzeko. Webgunean bilatzen duzunean, algoritmoa bilaketa-emaitzarik onenak bilatzen saiatzen ari da. Galdetu zure telefonoa norabideetarako, eta algoritmo batek zure ibilbide onena erabakitzen du. Facebook-en nabigatzen duzunean, algoritmo batek gure lagunen Facebook mezuak zein diren garrantzitsuena erabakitzen digu. (Espero dezagun gure lagunek ez dakite zein den Facebooken gustatzen zaiguna!)

Baina pentsamendu algoritmatikoki gure ordenagailuaren bizitza askoz haratago laguntzen digu. Gainera, sandwich hobea eraikitzen lagunduko digu.

Esan dezagun bi ogi xerra batekin hasten naizela, mostaza xerra batekin eta maionesa beste xerra batekin. Gazta xerra bat jarri dut ogiarekin maionesarekin, urdaiazpiko batzuk, letxuga batzuk, bi xerra eta tomatearekin, xehatu esne horrekin. Ona sandwicha, ezta?

Zalantzarik gabe, jaten badut berehala. Baina mahai gainean uzten badut pixka bat, ogi xerra gozo hori tomate hori beratzen uzten lukete. Arazoa ez zen nahiko aurreratu, eta ogitartekoak urte batzuk lehenago ohartu nintzen, baina behin egiten dudanean, nire algoritmoa aldatu ahal izateko, ogitarteko hobea eraikitzeko gai naiz.

Adibidez, tomateak kentzeko gai izan nintzen. Baina ez dut tomate zaporea galdu nahi. Beraz, ordez, tomatea ogitartekoan jarri dezaket ogia eta letxuga ondoren. Horrek aukera ematen dio letxuga tomatearen eta ogiaren arteko barrera babesgarria osatzeko.

Honek algoritmo bat nola eboluzionatzen du. Eta algoritmo batek ez du ordenagailu batek exekutatu behar algoritmo bat izan dadin. Algoritmo bat prozesu bat da eta prozesuak gure inguruan daude.