Algoritmi u Pythonu

Vrijeme je, napokon, da i ovdje reklamiram knjigu koju smo Nikola i ja ljetos objavili. Riječ je o priručniku Algoritmi u Pythonu, namijenjenom darovitim osnovnoškolcima i onim srednjoškolcima koji tek uče algoritme. Evo linka:

https://shop.skolskaknjiga.hr/algoritmi-u-pythonu-prirucnik-za-ucenje-racunalnog-razmisljanja.html

Za zainteresirane, evo sadržaja:

Screenshot

Od ljudi koji su nam se javili, povratne informacije su izvrsne i čini se da knjiga jako dobro ispunjava svoju svrhu. Jako cijenimo svaki komentar, a pogotovo primjedbu, budući da se nadamo da će priručnik doživjeti još koje izdanje. Tko god je čitao ili bude čitao knjigu, pozivamo ga da nam javi što god mu zapne za oko, bilo pozitivno bilo negativno. Listu ispravaka uočenih pogrešaka održavamo ovdje.

Knjiga sadrži pristupne podatke za evaluator (Pythor) koji je napravio i održava Matej Ferenčević. On zasad sadrži samo zadatke s HONI natjecanja, ali plan je da se dodaju i svi zadatci s novijih službenih informatičkih natjecanja u Hrvatskoj, kao i neki zadatci koji se pojavljuju samo u knjizi Algoritmi u Pythonu.

Ako imate kakvih pitanja o knjizi, napišite u komentar, rado ću odgovoriti. Za kraj, riječ-dvije o mojoj motivaciji za pisanje priručnika, kao i za ovu objavu: cilj je napraviti dobru stvar i proširiti znanje na najbolji mogući način. “Zarada” od ovakvih knjiga je takva da se, s obzirom na uloženo vrijeme i trud, pisanje uopće ne isplati (ako razmišljate na taj način). No gledajući pozitivan učinak kod čitatelja, itekako se isplati.

Top pet novogodišnjih optimizacija

Hello friends. The year is almost over so I have prepared the top 10 optimizations of 2017 for your viewing pleasure. Without forthor ado, let us begin.

—bukefala, 7.7.2017.

Godina se bliži kraju. Po uzoru na nenadmašni post gospodina V. K. o najboljim optimizacijama 2017., ovdje objavljujemo top pet (n)ovogodišnjih optimizacija. No budući da je ovaj blog odavno zastranio u meta vode, riječ je nažalost samo o metaoptimizacijama, tj. optimizacijama informatičke produktivnosti. Jebiga. Bez daljnjeg odugovlačenja, počnimo.

  1. Zadatak dana. Izvrsna novogodišnja odluka: svaki dan riješiti jedan zadatak. Za motivaciju si naručite npr. dnevnik navika koji, između ostalog, ima mjesečnu stranicu u koju upisujete jedan redak za svaki dan tekućeg mjeseca (line per day). Naravno, tko bi pisao cijelu rečenicu – puna rečenica u ovo doba instant komunikacije krupan je zalogaj – ali dovoljno je da u redak zapišete ime zadatka koji ste toga dana riješili. Dakle, ne u neki elektronički dokument, nego pravom olovkom u pravu bilježnicu, u tome je ljepota. Vaša navika tako postaje materijalna i vaša vas draga bilježnica svakodnevno poziva da je ne ostavite neispunjenu.linePerDay
    ——–
  2. Never miss twice. Za praćenje navike rješavanja zadatka dnevno, ili bilo koje druge navike koju želimo usvojiti, možemo koristiti i jednostavniju stvar od line per day iz prethodne točke. Napravimo papirnatu tablicu (habit tracker) u koju za svaki dan stavljamo iksić ako smo toga dana odradili naviku. Cilj je ne prekinuti niz iksića ili, ako se on prekine (a hoće jer nismo savršeni), da onda to ne bude dva dana zaredom. Ja sam si svoje tri tablice (za tri navike, nije važno koje) za 2020. godinu već pripremio i jedva čekaju da ih počnem ispunjavati:imag0949
    Ponovno, važno je da ovo ispunjavate olovkom u bilježnicu, a ne na ekranu. Ako ne razumijete zašto, isprobajte jedno i drugo i bit će vam sasvim jasno koji iksić vam je veći gušt napisati.
    ——–
  3. Natjecateljski dnevnik. O upsolvingu već sam pisao, ali evo dodatnog savjeta: u bilježnici/dnevniku analizirajte svoj performans na svakom natjecanju (ili simulaciji) na kojemu se nađete. Znamo da su važna natjecanja blizu pa je ovo možda dobar čas za takav savjet. Ne mislim na dojmove tipa “bilo je teško, nisam imao koncentracije”, nego na preciznu, objektivnu analizu što ste i zašto napravili na kojem zadatku. To su olimpijci ispunjavali na IOI pripremama u online dokumentu nazvanom Dnevnik simulacija. Evo primjera jednog takvog zapisa (Adrian Beker na jednoj simulaciji 2017. godine):

    Procitao sam sve zadatke te krenuo od drugog jer mi se cinio najjednostavnijim. Nakon nekog vremena uspio sam smisliti cijelo rjesenje te sam ga bez vecih problema nakodirao, tako da je acc pao za nesto manje od sat vremena. Zatim sam presao na treci zadatak, smislio prve dvije parcijale i odlucio ih nakodirati. To se nepotrebno oduljilo zbog glupog buga, tako da mi je ostalo manje vremena nego sto sam predvidjao. Ucinilo mi se da je predzadnja parcijala dosta laksa od cijelog rjesenja pa sam ju pokusao smisliti, ali sam negdje u toku odlucio ipak nakodirati prve dvije parcijale na prvom jer su se cinile trivijalnima. Na kraju sam na tome dobio TLEove, vjerojatno zbog prevelike konstante. Zadnjih nesto manje od sat vremena proveo sam dovrsavajuci ideju za treci i kodirajuci rjesenje koje je trebalo dobiti 80%, no bilo je preruzno da bih stigao u tom vremenu.

    Poanta je u tome da razvijete natjecateljske metavještine: taktičnost, bistriji um i da u svakom trenutku točno znate što, kako i zašto rješavate. A i psihološki će vam biti lakše ako nakon neuspjeha precizno zapišete što, kako i u kojem trenutku je pošlo krivo, umjesto da ostanete u onom nejasnom, maglovitom i muljevitom osjećaju “sjebo sam, ne vrijedim” i tugaljivo bauljate hodnicima u potrazi za smislom života.

  4. Metaoptimizacije iz arhive Blogaritma. Svašta sam nadrobio u ove nepune dvije godine (od prvog aprila 2018. otkad blog postoji), od čega ima i korisnih stvari. (Iako su one druge, beskorisne stvari ono što me više veseli.) Na primjer, opširnije o navici zadatak dnevno govori ovaj post od prije godinu dana. Ako ste baš hard core, pročitajte i knjigu koju u njemu preporučujem.
    ——–
  5. Teina radna bilježnica za novogodišnje odluke. Zgodna i korisna poveznica s bloga koji toplo preporučujem. Inače, Tea je vrlo uspješna diplomirana FER-ovka koja je, tko bi rekao, programiranju “dala nogu” i odlučila raditi stvari koje više voli. Spomenimo za kraj, eto, i takvu novogodišnju mogućnost.

Informatika i dopamini

Postoji nekoliko razloga zašto se bolje baviti informatičkim natjecanjima nego bilo kojim drugima. (Ja sam jedne godine odustao od IMO-a, iako sam bio prošao, da bih se usredotočio na IOI.) Zabavnije je. Djeluje kao igrica, riješiš zadatak i dobiješ ACCEPTED. Dopamin fiks!

Malo ću pojasniti. Dopamin je hormon koji se javlja, između ostalog, kao osjećaj nagrade. Svi smo manje ili više ovisnici o njemu ako koristimo pametne telefone na kojima dobivamo notifikacije. Mobitel zavibrira, netko nam je poslao poruku! Ili nas je lajkao! Ili je objavljen novi post na Blogaritmu! Svaki taj signal ispušta malu količinu dopamina u mozgu. Pa onda počinjemo provjeravati mobitel i bez osobitog razloga, očekujući notifikaciju tj. “nagradu”. Kao rezultat, sve se teže usredotočiti na bilo što, teško je čitati dugu lektiru, teško je mirno pratiti predavanje od sat vremena. Sve je dosadno ako je sporo. A zapravo je sporost smisao života.

Rješavanje informatičkih zadataka na pozitivan način iskorištava našu želju za instant gratifikacijom. Najbolji natjecatelji mojega vremena – Goran Žužić, Stjepan Glavina i Ivan Katanić – imali su periode kada su tjednima toliko divljački rješavali zadatke na online judgevima (Goran na starom UVA judgeu, a ova dvojica na Spoju) da su nerado išli spavati. (Jeste li ikada vježbali toliko intenzivno da vam se u glavi totalno promijenio film i život kao da je postao nešto drugo? Slično zaljubljenosti nekakvoj.) Ovisnost o onom trenutku kad submission pozeleni donijela im je mnogo dobroga.

spojstatus

U matematici toga nema. Tamo ste doma riješili zadatak i to po defaultu nitko osim vas ne zna, a ni vi niste uvijek sigurni je li vam rješenje ispravno. Nema potvrde i nema zelene nagrade koja stimulira mozak i kemikalijom vas motivira da to ponavljate. Postoji i filozofska razlika. U matematici je nešto “ispravno” jer se pretpostavlja postojanje apsolutne istine (ovisne o aksiomima) do koje se dolazi zaključivanjem. U informatici, s druge strane, rješenje je ispravno ako daje rezultate koji se poklapaju s očekivanim rezultatima. To je sve, u evaluaciji nema zaključivanja, gledanja koda, nema nikakve suštine, esencije, sve je result-based. Tako je i u znanosti: teorija nije točna jer je netko do nje došao nekakvom mudrošću, nego je točna ako odgovara podatcima i mjerenjima. Ta razlika (racionalizam vs. empirizam, platonizam vs. pozitivizam) vidljiva je i u tipu ljudi koje sam, u svom vrlo ograničenom uzorku, upoznao na PMF-u (matematici) i na FER-u. Čini mi se da je među matematičarima veći postotak apstraktnih i religioznih duša nego među informatičarima.

Znam, ovo je još jedan meta post: ne govori ni o kakvom algoritmu ni zadatku, nego filozofira okolo. Rekli ste mi, znam, da bi bilo dobro objavljivati više tehničkih savjeta, a manje savjeta o savjetima. Slažem se: pozivam one koji divljački vježbaju da napišu post o, recimo, najboljem zadatku koji su riješili toga tjedna, poznatim ili nepoznatim algoritamskim trikovima, forama koje su koristili u nekom kodu, bilo što, pa da i ovaj blog postane “by Adrian i prijatelji”. Jer ja sam malo usporio s rješavanjem zadataka, ne fiksam se accovima u zadnje vrijeme. Kao što bi rekla stanovita pjevačica: plači zemljo!

Digresija: Matematički radio

Disclaimer: ovo je zbilja digresija. U ovom postu nema nikakvih korisnih informacija.

Poslovna ponuda

Je li vam se ikada dogodilo da vas na Messengeru kontaktira nepoznata cura/mladić te vas vrbuje za nekakav navodno dobro plaćen studentski posao, vezan za promociju neke nove firme ili proizvoda koji je navodno u velikom usponu? Meni se to dogodilo dvaput, a prijatelja su i na ulici zaustavili za tako nešto i gnjavili desetak minuta. Srećom, odgovaranje na spam može biti zabavno: odlučio sam uzvratiti istom mjerom i ponašati se upravo poput osobe koja me gnjavi. Neće ona mene vrbovati, vrbovat ću ja nju, ponudit ću joj posao iz snova. Umjesto odgovora na njezino pitanje, napisao sam joj sljedeće:

Moji prijatelji i ja želimo pokrenuti Matematički radio, a to bi bio radio s matematičkim emisijama, zadatcima, vijestima iz teorijske matematike i slično. U procesu smo traženja frekvencije i treba nam osoba koja će to handlati. Osim toga tražimo spikere, spikerice, urednike (ne nužno s matematičkom pozadinom), osobe za promociju na društvenim mrežama, osobe za brandiranje i stvaranje branda, dizajnere logotipa i vizualnog identiteta, kao i osobe koje će promocijom na društvenim mrežama uvjeriti “običnu” publiku da matematika nije bauk i da slušanje matematičkog radija može biti izvrsno za opuštanje tijekom radnog dana ili prilikom putovanja u školu, faks ili posao, tijekom vožnje automobilom, tramvajem, autobusom, brodom…

Emisije koje smo već osmislili uključuju “Buđenje uz kombinatornu geometriju”, “Jutarnje vijesti iz teorijske matematike”, “Zadatak dana”, “Vježba iz diferencijalne topologije”, “Stanje u prometu”, “Celebrity kutak: vijesti s matematičke estrade” i “Večer uz harmonijsku analizu”.

Pa kako ti to zvuči?

Cura je to pristojno odbila, ali nisam odmah odustao, možda je privuku još neke emisije…

Ubacit ćemo i Nagradne zadatke iz normiranih prostora i Kviz iz numeričke analize. Jer želimo privući što više slušatelja.

No reply.

Možda kasno navečer “Opuštanje uz dvostruke integrale”.

No reply.

I “Zadatak za laku noć”.

No reply, kao što bi rekli Beatlesi. Nema veze, ja sam svoje napravio. Ali dužan sam objasniti što je Matematički radio i je li to zbilja samo neozbiljna šala ili možda i nešto više.

Kako je sve počelo

Kao što se, recimo, hrvatski jezik u povijesti prvi put spominje u nekom dokumentu na glagoljici, tako se Matematički radio prvi put spominje u jednom informatičkom zadatku. Riječ je o tekstu zadatka Dom (HONI 2012.). U toj priči vlada pokušava zadržati mlade genijalce da ne odlaze u inozemstvo tako što im šalje subliminalne poruke putem matematičkog radija. Nije rečeno kakav je to matematički radio, ali pretpostavlja se da ga mladi genijalci slušaju. Bilo bi odlično, pomislio sam, kad bi zaista postojao takav radio. Slijedeći savjet iz jedne pjesme U2-a (“You can dream, so dream out loud”), odlučio sam o toj ideji i manje-više javno govoriti.

Odakle krenuti? Sjećate se kad su Kumerle i Irena, u odličnoj seriji Bitange i princeze, odlučili krenuti u glazbene vode i napraviti hit pjesmu? Sve je bilo spremno za snimanje golišavog spota, redatelj je zatražio CD da posluša pjesmu prije snimanja, a oni su rekli da još nemaju pjesmu. Redatelj je poludio: kako nemate pjesmu? Zašto onda snimate spot? A Kumerle je mudro odbrusio: Pa moraš od nečeg počet!

E tako sam i ja odlučio krenuti od logotipa. Nacrtao sam ga u stanovitom grafičkom alatu (nije sada važno u kojem) i odmah stavio na fejs:

Screenshot0

Reakcije su bile, recimo to tako, nejasne (mixed reactions). Zaključio sam da mi očito treba bolji logotip, pa sam napravio još tri prijedloga, a usput definirao i radijsku frekvenciju:

Screenshot1

 

Rekli su mi da trebam smisliti i slogan. Budući da je riječ o edukativnom radiju, predložio sam jednostavno: Matematički radio: slušaj i uči.

Na to mi je prijatelj odgovorio da je bolje Slušaj, šuti i uči. Ili, još bolje: Slušaj i šuti.

Matematički radio: slušaj i šuti

Zadnji update u vezi Matematičkog radija dogodio se kad sam napokon osmislio jedan dnevni program i odlučio ga objaviti.

Screenshot

Možda ste primijetili, a možda i niste, da je post objavljen prvoga travnja. Ispada da je sve šala i zajebancija, zar ne? To je samo dio istine. Matematički radio jest šala i zajebancija, ali on je i mnogo više od toga. Matematički radio je ideja, koncept čija je ljepota očigledna onima koji žive za matematiku i slične znanosti. To je nešto što bi u raju (ako ga ima) sigurno postojalo: Bog ne bi matematičare poslao u raj u kojemu nema Matematičkog radija. To je radijska postaja koju bi većina čitatelja ovog bloga (ako ih ima) sigurno palila prije svih ostalih. To je svjetiljka svoj onoj djeci koju roditelji tjeraju da se idu vani igrati s prijateljima dok im na stolu stoji neriješena nejednakost s državnog 2001. ili sa shortlista 1996. To je ideja koja je sasvim bizarna – matematika je u praksi vizualna, ona se čita/piše, može se i gledati na youtube videima, no vrlo ju je teško samo slušati na nekakvom radiju – ali ta bizarnost Matematičkom radiju daje nadnaravni duh. Poanta radija i jest u njegovoj nevidljivosti i nematerijalnosti, što vrijedi i za matematiku.

Matematički radio trebamo pokrenuti kao spomenik matematici i zato ovo neće biti posljednji post o toj ideji. Prvoaprilske šale mogu potrajati: i ovaj blog (Blogaritam) pokrenut je na prvi april. A čuo sam da je, prema nekim izračunima, i naš svemir nastao na prvi april. Možda je sve ovo jedan veliki Matematički radio.

Digresija: i nula je broj

Anegdote su majka mudrosti. Kada sam se davnih dana natjecao na državnom natjecanju iz logike, bio sam okružen gomilom filozofa, jer natjecanja iz logike i filozofije tada (a možda i danas) održavala su se zajedno. Ništa čudno, rekli bi ljudi, srodne discipline. I jedni i drugi razmišljaju, samo što logičari razmišljaju manje i bolje, a filozofi više i gore. (Ovo “gore” može značiti suprotno od dolje, tj. iznad, gore visokoDa ne bi bilo.)

I tako smo mi državni logičari i filozofi išli busom na izlet. Pokraj mene je sjedio neki filozof. Ne znam kako smo došli do toga, ali on je rekao da nula nije broj. Najprije sam mislio da hoće reći da nula nije prirodan broj, na što sam odgovorio da je to stvar definicije, da većina matematičara zaista definira skup prirodnih brojeva bez nule (1, 2, 3, …), ali da se on može definirati i s nulom. Kao što se krug može definirati tako da uključuje ili ne uključuje kružnicu. Stvar dogovora.

Ali ne, nije on mislio na skup prirodnih brojeva, on je tvrdio nešto mnogo jednostavnije i dublje. Nula nije broj, nikakav broj. I džaba sam mu ja objašnjavao da je nula i cijeli broj, i racionalan, i realan broj i svašta još, nije to njega ništa diralo. Njegov argument bio je tipično filozofski, ovako nešto: nula je ništa – doslovno ništa –  a budući da ništa ne može biti nešto, onda ne može biti ni broj. O ničemu je zapravo nemoguće uopće razmišljati. Možemo pojmiti i minus pi kroz tisuću, i imaginarnu jedinicu, sve su to legitimni brojevi, ali ne i nula, on nije pojam, on je ne-pojam. Možemo ga samo ne pojmiti. Tako nešto, jel.

I eto, mogao sam ja koliko hoću objašnjavati čovjeku da je upravo srušio cijelu matematiku, nije se on ništa uzrujavao, imao je taj miran stav blaženog uvjerenja o nečemu što je za njega potpuno očito. Bilo mu je zbilja čudno što se ja toliko nerviram. U povratku sam sjedio u drugom dijelu autobusa.

To me podsjetilo na još neka slična pitanja o nuli. Recimo, kad nam je u V. gimnaziji matematiku predavao legendarni Pjer Mladinić, na početku sata pitao bi: tko je riješio domaću zadaću? I digli bismo ruke. Onda bi pitao: tko nije riješio zadaću? I neki bi digli ruke. E sad, zanimljiva situacija nastala je kad nije bilo domaće zadaće, a on je opet postavio ista pitanja. Tko ima zadaću, tko nema zadaću. I što sad? Biste li digli ruku da imate zadaću? Ili da je nemate? Ili možda oboje?

Prema Pjerovom viđenju, ispravno je dići ruku u oba slučaja. Imate zadaću jer ste riješili svih nula zadataka, ali istodobno je i nemate jer niste riješili nijedan zadatak.

Moderna predikatna logika (logika prvog reda) svakako bi se složila s prvom tvrdnjom: svaki zadatak iz zadaće je riješen (jer nema zadatka koji nije riješen). Kao što je istinita tvrdnja “svi ljudi na Saturnu imaju tri noge” jer na Saturnu nema ljudi pa tvrdnja zaista vrijedi za svih nula ljudi na Saturnu. Negacija bi bila da postoji čovjek na Saturnu koji nema tri noge, a ona je očito lažna, pa je početna tvrdnja istinita.

Ali manje je jasno je li ispravno reći i nemam zadaću. Jer nije posve jasno što uopće znači ta tvrdnja u slučaju kada nije bilo zadaće. Ako ona znači negaciju od imam zadaću, onda je to laž jer smo već utvrdili da je imam zadaću istina. Po Pjerovom shvaćanju, dakle, nemam zadaću znači nešto drugo. Ako to znači “riješio sam nula zadataka”, to bi zaista bila istina, ali onda ne bi “štimao” slučaj kad su riješena npr. dva od deset zadataka, koji također spada u nemam zadaću. Ako pak znači “nisam riješio sve zadatke”, to je isto kao “postoji zadatak koji nisam riješio”, što je laž u slučaju kada nije bilo zadaće pa ipak ne treba dići ruku. Kako god okrenemo, izgleda da je Pjer pogriješio.

No nisam ni spomenuo da je postojalo i treće pitanje: tko ima djelomično zadaću? (Djelomično u značenju barem 70%, ali ne cijelu.) Je li ta tvrdnja istinita kada nije bilo zadaće? Ovo pitanje ostavljamo čitateljima za domaću zadaću. Htio bih se vratiti na prethodni zaključak: ako nešto nemate, možete reći da imate nula. Tako, recimo, ako na natjecanju niste riješili nijedan zadatak, recite da ste riješili nula zadataka. Ako ste zaboravili novčanik, recite da imate nula novaca. Ako nemate automobil, recite da imate nula automobila. Ako želite iznervirati matematičara, uvjeravajte ga da nula nije broj. Onako kako sam ja to proživio u onom busu.

Koja je poanta ovog posta? Nadam se da je jasno. Ovaj post ima određen broj poanti. Broj, naravno da je broj.

Kaj su rješavali naši stari

(Naslov je prilagođen iz imena poznate vrbovačke turističke manifestacije “Kaj su jeli naši stari”.)

Stare Lukine materijale već sam dijelio ovdje i ovdje. Podijelit ću sada i preostala dva dokumenta koja imam:

Luka Kalinovčić: Sweep

Luka Kalinovčić: Dinamičko programiranje

Iz potonjih je zadataka Goran Žužić (naš najuspješniji srednjoškolski natjecatelj dosad) nekad davno naučio dinamiku.

A podijelio bih i članak o FUI koji je Frane Kurtović prije deset godina napisao za časopis PlayMath koji smo tada objavljivali mi, učenici V. gimnazije:

Frane Kurtović: Formula uključivanja i isključivanja

Digresija: potapanje brodova

Prije više od deset godina, točnije davne 2007. godine, sunce je sjalo, ruže su mirisale, Hrvatska se pripremala za organizaciju IOI-a, a državno se zvalo DMIH i održavalo se u hotelu Porin u čudnom manje poznatom dijelu Zagreba. (Taj je hotel nedavno bio korišten kao prihvatilište za migrante.) Bio je organiziran neki autobus u neko određeno vrijeme, ali bilo je ljepše i poetičnije na državno natjecanje ići tramvajem do Zapruđa pa pola sata pješice, ili u Zapruđu uhvatiti neki od rijetkih polugradskih autobusa. Isprobati malo divljine i života na rubu. To je ok, štedjelo se za IOI.

Autori zadataka tada su bili legende Lovro Pužar i Luka Kalinovčić, pomagao im je sistemski majstor Marko Ivanković (ono što je danas Matej), a natjecanjima je potpuno dominirao Goran Žužić, i u smislu rezultata i u smislu energije i šarma. Dok su naši kolege prije natjecanja pričali nešto o clockanju (brut/heuristika i nakon 0.9 sekundi ispiši najbolje pronađeno rješenje), Goran je zabacio kosu i komentirao: “Ja sam prva podskupina, nemam ja tu kaj clockat.” Lijepo je to bilo vrijeme, rezultatima je dominirala moja V. gimnazija, koja je do danas potpuno utihnula, izgleda da su prešli na zen budizam.

Na probnom natjecanju tada se pojavio interaktivni zadatak s potapanjem brodova. Trebalo je napisati program koji igra potapanje brodova, tj. pogađa sve protivnikove brodove na 10 x 10 ploči u što manje pokušaja, pri čemu nakon svakog pokušaja program sazna je li brod pogođen. Ima sličnih zadataka online, primjerice:

CodeChef verzija

TopCoder verzija –> Analiza rješenja

THE Analiza

Ono što me zapravo motiviralo da napišem ovaj post jest rješenje Gorana Žužića koje nam je ispričao nakon probnog natjecanja. Za razliku od većine nas koji smo, nakon što bismo prvi put pogodili dio nekog broda, odmah nastavili gađati oko pogođenog polja da bismo pogodili cijeli brod, Goran je radio malo drugačije. On je na početku napravio 20 ili 30 potpuno slučajnih hitaca po cijeloj ploči, neovisno o tome je li neki od njih bio uspješan. Tek potom gledao je koji su hici bili uspješni i prema tome gađao gdje su čitavi brodovi.

Vjerojatno se on toga više i ne sjeća. Nije važno je li to najbolja strategija – ovaj je post ionako digresija. No meni se takva strategija jako svidjela, više u psihološkom nego u matematičkom smislu. Ima taj duh robusnosti, ne lijepi se za prvi pogodak, nego u prvoj fazi decidirano i pomalo nemarno isprobava 30 slučajnih stvari prije nego što se u sljedećoj fazi počne fokusirati. Životna lekcija, eto što je to.