Ako myslieť algoritmicky: 12 krokov

Hoci si možno myslíte, že algoritmy používajú len počítače, ľudia riešia problémy algoritmicky každý deň. Čítajte ďalej a dozviete sa, ako zlepšiť vlastné algoritmické myslenie pomocou nových prístupov k riešeniu problémov a ako môžete tieto nástroje praktizovať v každodennom živote.

Metóda 1 z 2:Logické riešenie problémov


Jasne identifikujte a definujte problém, aby ste určili, ako postupovať. Všetky algoritmy začínajú jasnou definíciou problému alebo úlohy. Pozrite sa na danú úlohu a čo najjasnejšie definujte problém. S týmito informáciami potom môžete navrhnúť postupnosť krokov na vyriešenie problému čo najlogickejším spôsobom.[1]

  • Keď identifikujete problém, vyjadrite ho jednoduchou vetou. Napríklad, ak je vo vašom dome vždy neporiadok, môžete povedať: „Potrebujem vytvoriť systém na lepšie usporiadanie svojich vecí.“ Ak by ste chceli vytvoriť systém, ktorý by.“
  • Tieto problémy nemusia byť komplikované. Rovnaké logické uvažovanie môžete použiť pri rozhodovaní o tom, čo chcete jesť. Problémom môže byť: „Nemôžem sa rozhodnúť, čo si objednať z jedálneho lístka.“ Toto je jasná definícia problému a úlohy, ktorú je potrebné vyriešiť.
  • Prípadne môžete mať len úlohu a nie problém. Vaša úloha môže znieť: „Musím do 30 minút dokončiť nákup potravín.“ Na splnenie tejto úlohy použite rovnaké techniky.


Zadajte všetky informácie, ktoré už viete. Algoritmus funguje len vtedy, ak zadáte správne vstupy, aby systém vyriešil problém. Zaobchádzajte so svojím mozgom rovnakým spôsobom. Môže riešiť problémy len vtedy, ak má správne informácie. Keď identifikujete a uvediete problém, začnite navrhovať stratégiu na jeho riešenie. Pozorujte situáciu a zistite viac. Doplňte ďalšie informácie, ktoré ste získali, a jasnejšie formulujte problém.[2]

  • Váš problém môže napríklad znieť: „Moje auto vydáva divný zvuk.“ Toto je dobrý začiatok, ale príliš široký na efektívne riešenie problémov. Zadajte viac informácií o tom, odkiaľ zvuk pochádza, ako znie a kedy sa objaví. Zredukujte to na: „Moje auto vydáva kovový hrkotavý zvuk z prednej časti, keď zabrzdím pri rýchlosti vyššej ako 30 km/h.“
  • Táto stratégia funguje aj pri jednoduchých úlohách. Ak máte na dokončenie nákupu potravín len 30 minút, začnite zadaním nákupného zoznamu a rozloženia obchodu. Potom použite tieto informácie na naplánovanie poradia, v akom budete prechádzať jednotlivými uličkami.


Rozdeľte všetky úlohy na menšie časti. Každú úlohu urobte čo najzákladnejšou. Vďaka tomu je proces riešenia problémov oveľa ľahšie zvládnuteľný. Zatiaľ si nerobte starosti s vymýšľaním správneho poradia udalostí. V tejto chvíli jednoducho vymenujte všetky drobné veci, ktoré musíte vykonať, aby ste problém vyriešili.[3]

  • Ak by ste napríklad chceli upratať svoj dom, premyslite si, ako by ste si rozdelili úlohu. Museli by ste vysať, vydrhnúť podlahy v kúpeľni, pozbierať špinavé oblečenie, vyniesť odpadky, umyť riad, utrieť prach na skriniach a umyť okná. Tieto úlohy nemusia byť nevyhnutne v poradí, ale sú to zvládnuteľné úlohy, ktoré môžete ďalej rozdeliť.


Usporiadajte kroky do čo najlogickejšieho poradia. Algoritmy sú zamerané na riešenie úloh čo najefektívnejším spôsobom. Po definovaní problému a rozdelení potrebných úloh si tieto úlohy zoraďte v najlogickejšom poradí. Premýšľajte o každom kroku, ktorý závisí od predchádzajúceho, a zoraďte úlohy podľa tohto vzťahu.[4]

  • Ak zostaneme pri príklade upratovania domácnosti, premýšľajte o čo najlogickejšom poradí úloh. Logicky nemôžete vysávať podlahu, kým nezoberiete oblečenie, takže najprv pozbierajte oblečenie. Podobne nemôžete umyť okná, ak je podlaha mokrá od vytierania, takže umyte okná skôr, ako vytriete podlahu.


Predvídať premenné pomocou prístupu „ak – potom“. Nie všetky problémy majú jednoduchú postupnosť udalostí. V mnohých problémoch alebo úlohách existuje viacero ciest, ktoré sa môžu meniť na základe vstupov. Tu sa uplatňuje prístup „ak – potom“, ktorý je kľúčovou súčasťou algoritmov. Premýšľajte o rôznych premenných, s ktorými sa môžete stretnúť pri riešení tohto problému. Potom zvážte, čo by ste urobili, keby ste sa stretli s každou premennou. Vďaka tomuto prístupu sa môžete k problému dopracovať ako k logickému systému.[5]

  • Ak je vaším problémom podivný zvuk v aute, tento prístup vám môže pomôcť lokalizovať ho. Vaša postupnosť by mohla byť nasledovná: „Ak je zvuk piskot vychádzajúci z pneumatík, potom skontrolujem brzdy. Ak je zvuk klepanie kovu, skontrolujem motor.“
  • Tento prístup je v podstate spôsob, akým algoritmus pracuje a môže byť veľmi podrobný. Pridajte toľko vstupov, koľko potrebujete na určenie všetkých premenných, ktoré sa môžu vyskytnúť.


Navrhnite svoje kroky na základe premenných, s ktorými sa môžete stretnúť. Po rozdelení krokov a predvídaní premenných potom navrhnite, ako problém vyriešiť. Predstavte si tento proces ako vývojový diagram. Zmapujte si postupnosť činností a určte, ktoré kroky vykonáte, ak narazíte na určité premenné.[6]

  • Ak zostaneme pri príklade s autom, premýšľajte o tom, ako lokalizujete hluk, ktorý vaše auto vydáva. Potom, keď ste našli zdroj, naplánujte nasledujúce kroky, ako problém odstránite.
  • Nasleduje logická postupnosť udalostí založená na premenných, s ktorými by ste sa stretli pri oprave auta: Ak zvuk vychádza z pneumatík, skontrolujem brzdy. Ak sú brzdy nové, skontrolujem ložiská. Ak sú ložiská zlé, vymením ich. Ak nemôžem nájsť zdroj hluku, odveziem auto k mechanikovi.
  • Ak by ste navrhovali počítačový algoritmus, potreboval by veľmi presné kroky a vstupy naplánované do posledného detailu. Keďže ľudská myseľ zvládne viac nuáns ako počítač, môžete byť pri riešení problému trochu všeobecnejší vo svojich krokoch.[7]


Ak sa vám nepodarí vyriešiť úlohu hneď na začiatku, naplánujte v algoritme cyklus. Navrhovanie algoritmu môže byť procesom pokusov a omylov a nemusí sa vám to podariť na prvýkrát. V tomto prípade si naplánujte, že sa vrátite na začiatok a znovu si problém spracujete. V počítačovom programovaní je to slučka. Predstavte si ju ako prístup „späť k rysovacej doske“ pri riešení problémov.[8]

  • Slučky sú dôležité, pretože zabraňujú tomu, aby ste sa vydali cestou, ktorá nefunguje. Ak vaše pôvodné riešenia neriešia problém, potom je vykonávanie rovnakých činností kontraproduktívne. Vrátenie sa späť a prepracovanie vášho prístupu má oveľa väčšiu šancu na úspech.
  • Cyklus by bol užitočný, ak nemôžete nájsť zdroj hluku v aute. Pôvodne ste predpokladali, že problém môže byť v brzdách alebo v motore, ale pri vyšetrovaní ste zistili, že nepochádza ani z jedného miesta. V tomto prípade sa v slučke vráťte na začiatok. Jazdite s vozidlom, brzdite a používajte rôzne rýchlosti, aby ste sa pokúsili nájsť zdroj hluku.


Vykonávajte činnosti na základe premenných, s ktorými sa stretávate. Po dokončení fázy plánovania začnite riešiť svoj problém. Pracujte s vývojovým diagramom a postupujte podľa konkrétnych činností na základe premenných, s ktorými sa stretnete. Postupujte tak dlho, kým nenájdete koreň problému a nevyriešite ho.[9]

  • Tu je algoritmický spôsob opravy vášho auta: Z môjho auta sa ozýva zvláštny zvuk. Ak je to piskot, skontrolujem pneumatiky. Ak je to ťukanie, skontrolujem motor. Zvuk je piskot, takže skontrolujem brzdy. Odstránim brzdové obloženie a vidím, že je opotrebované. Nainštaloval som nové brzdové obloženie a hluk zmizol. Vyriešil som problém.
  • Nezabudnite, že váš algoritmus môže naraziť na neočakávané premenné. Možno kontrolujete brzdy, len aby ste zistili, že v pneumatike je tiež diera. Toto je úplne nový problém, ktorý si vyžaduje nový súbor činností. Upravte svoj prístup, ak narazíte na neočakávané premenné.

Metóda 2 z 2:Precvičovanie v každodennom živote


Pristupujte k svojim každodenným úlohám tak, ako sú algoritmy. Svet je plný viac algoritmov, ako si možno uvedomujete, len ľudia o nich zvyčajne takto neuvažujú. Precvičujte si algoritmické myslenie riešením každodenných úloh, akoby to boli algoritmy. Naplánujte si logické kroky a na ich vykonanie použite prístup „ak – potom“. Časom si zvyknete riešiť problémy týmto spôsobom.[10]

  • Napríklad recept je v podstate algoritmus. Rieši problém vytvorenia jedla pomocou logicky usporiadaného zoznamu krokov.
  • Premýšľajte o svojej ceste do práce. Môžete povedať: „Ak je na diaľnici premávka, pôjdem bočnými ulicami.“ Toto je ďalší každodenný algoritmus, ktorý mnohí ľudia neustále používajú.


Plánovanie oblečenia pomocou metódy „ak – potom. Obliekanie je skvelým každodenným príkladom algoritmu. Pri výbere oblečenia každý robí súbor rozhodnutí na základe počasia, pracoviska, dňa v týždni a osobného štýlu. Vizualizujte si tieto kroky ako algoritmus, aby ste vycvičili svoju myseľ na algoritmické myslenie.[11]

  • Jednoduchý algoritmus na obliekanie: „Ak bude pršať, oblečiem si bundu. Neprší. Preto nebudem nosiť sako.“ Toto je logický postup krokov.
  • Ďalším dobrým príkladom je: „Ak máme dnes v práci stretnutie, oblečiem si kravatu. Ak sa nám to nepodarí, oblečiem sa ležérne.“


Urobím rozhodovací strom alebo vývojový diagram na riešenie problémov. Niekedy je ťažké algoritmy vizualizovať, najmä keď sú zložitejšie. Vytvorte si vizuálny plán pre svoje rozhodnutia vytvorením rozhodovacieho stromu alebo vývojového diagramu. Na začiatok umiestnite svoj problém alebo úlohu. Potom si vypíšte zoznam možných krokov, ktoré môžete vykonať na splnenie úlohy. Buďte čo najkonkrétnejší. Keď ste to urobili, usporiadajte kroky do najlogickejšieho poradia na splnenie úlohy.[12]

  • Vývojový diagram je užitočný, ak už poznáte všeobecné poradie krokov. Na brainstorming použite rozhodovací strom.
  • Pre vývojový diagram písania triednej práce napíšte na začiatok svoju hlavnú tézu. Potom si zapíšte všetky dôkazy, ktoré máte na preukázanie tejto tézy. Usporiadajte dôkazy do logického poradia, ktoré najlepšie podporuje tézu, a v tomto poradí zostavte svoj príspevok.
  • Ak neviete, kde začať, nakreslite kruh s názvom úlohy. Nakreslite čiary z kruhu a napíšte kroky, ako by ste mohli úlohu vyriešiť. Potom začnite eliminovať kroky, ktoré sa nezdajú byť užitočné. Na záver vám zostane zoznam krokov, ktoré vám pomôžu.

  • Hrajte algoritmické hry na zdokonalenie svojich zručností. Okrem riešenia každodenných úloh pomocou algoritmov vám môžu pomôcť algoritmicky myslieť aj hry. Existuje mnoho počítačových hier a programov, ktoré sú určené na zlepšenie logického myslenia. Vyhľadajte na internete alebo v obchodoch s aplikáciami logické hry, ktoré môžu zlepšiť vaše myslenie a zároveň vás aj zabaviť.[13]

    • Strategická stolová hra, ako je napríklad Risk, je dobrou voľbou s nízkymi technickými prostriedkami, ktorú môžete hrať s priateľmi. Hra zahŕňa plánovanie a reagovanie na vstupy a premenné. Hry, ako je táto, sú zábavným spôsobom, ako trénovať svoje algoritmické zručnosti.
    • Šach je tiež skvelá stolová hra na logické myslenie.
    • Skontrolujte aj aplikácie a mobilné hry. Existuje mnoho logických hier, ktoré vám pomôžu zlepšiť vaše schopnosti myslenia.
  • Odkazy