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.

Izvor svih zadataka

Veliki američki pjesnik Walt Whitman napisao je sljedeći stih:

Stop this day and night with me

and you shall possess the origin of all poems.

Bilo bi divno imati origin of all poems, izvor svih pjesama. Ali mene zanima izvor svih zadataka – matematičkih i informatičkih, primjerice. Ne mislim na izvor kao arhivu zadataka, web stranicu ili knjigu. Nego, kao Walt Whitman, mislim na ono mjesto u glavi – možda je bolje reći stanje – iz kojeg u naletu inspiracije izviru svi prošli i budući zadatci, kao i njihova rješenja. Bio bi to ultimativni doseg svakog rješavača ili autora zadataka. U ovoj objavi ukratko bilježim svoja dosadašnja nastojanja u navedenom smjeru.

Da bi se otkrio izvor svih zadataka, najprije treba analizirati svaku pojedinu riječ ove fraze: izvor, svih, zadataka. Jer svaka od njih je važna: izvor kao metaforičko ishodište koordinatnog sustava naše potrage, svih kao ključni logički kvantifikator (ne nekih, nego svih!), i zadataka kao objekt, a ujedno i subjekt naše potrage. Kao početna točka može nam poslužiti Hrvatski jezični portal, koji navedene riječi definira na sljedeći način:

Izvor m: 1. mjesto gdje voda (nafta, plin i sl.) izlazi na površinu zemlje [izvor rijekemineralni izvor]; vrelo, vrutak 2. pren. mjesto odakle što dolazi, potječe [izvori bliski vladi] 3. dokument, djelo ili pojava koji služe za znanstveno istraživanje.

Sav (svȁ ž, svȅ srzam. prid. 〈G svèga, A svèga/sȁv (za neživo), D svèmu, L svȅm/svèmu, I svȋm/svíme〉: 1. koji je bez iznimke [sav svijetsvi ljudisve plemstvo]; cjelokupan 2. cio, čitav shvaćen u cjelini [sve selo cijelo/čitavo] 3. cio, čitav shvaćen kao ukupnost svojstava [sva ta sirotinja, uza svu nevolju] 4. u raznim kontekstima u zn. jako, vrlo, u velikoj mjeri obuzet (sam) čime [sav sam očajansav sam rasprodanžarg. vrlo sam zauzet poslom, traže me na sve strane; sav (je) pozelenio zavidan je; (slika zelenila u licu kao znak zavisti i bolesnog stanja); sav (je) usplamtio, sav (je) uzdrhtao jako se uzbudio zbog čega; ob. od želje za čim, znatiželje, pohlepe, zavisti] 5. (sr) (kao objekt u rečenici) ukupna količina, potpuna cjelina bez ostatka [prodao sam sve].

Zadatak  m 〈G -tka, N mn -áci, G zàdātākā〉: 1. ono što se kome stavlja u dužnost da radi ili izvrši, ono što treba izvršiti; dužnost, cilj, program 2. ono što treba riješiti, problem koji treba dovesti do rješenja pravilnim postupkom.

Primijetite da svaka riječ ima više mogućih značenja, što nije nimalo slučajno. No ako nam ova jezična džungla ne pomogne u potrazi, iskustvo hoće. Jer u srednjoj školi često sam svog prijatelja iz razreda, Franu Kurtovića (također informatičara), tražio da mi ispriča neki dobar zadatak. On bi svaki zadatak znakovito započeo istom riječju i znao sam da ta riječ ima veze s izvorom svih zadataka. Frane bi, naime, svaki zadatak ispričao iz perspektive “imaš”. Na primjer: “Imaš niz brojeva…”, ili, “Imaš stablo…”, ili, “Imaš tablicu…”, ili, “Imaš N gradova…”, ili, “Imaš sto tisuća upita…”, ili, “Imaš maramicu?”, i slično. Frane je tako nehotice otkrio zajednički nazivnik svih zadataka.

Kad sam mu ukazao na zanimljivu činjenicu da svaki zadatak priča tako da najprije kaže “imaš”, Frane je malo promijenio spiku, pa njegovi zadatci više nisu izvirali iz iste riječi. Glasili su: “Dobiješ niz…”, “Dobiješ usmjereni graf…”, “Dobiješ matricu…”, i tako dalje. No ovo su tek početničke spoznaje. Poslije, bitna prekretnica u mom autorskom razvoju bila je spoznaja da zadatak ne mora početi sa “imaš” ili “dobiješ”. Tada se preda mnom otvorio cijeli svijet mogućnosti.

U želji da saznam najčešći izvor naših zadataka, tj. riječ kojom zadatak najčešće započinje, odlučio sam napisati program koji pronalazi tu riječ tako da parsira s weba sve hrvatske zadatke. Program sam odlučio podijeliti s vama. (Ključni dio, kao i ispis rezultata, prepustio sam strukturi bitset kao što možete vidjeti.)

Rezultati su zanimljivi i objavit ću ih u nekom od idućih postova. Ne mogu prvog travnja, mislili bi da je zajebancija.

Izazov godine: kvinijska križaljka

Dan prije američkih predsjedničkih izbora 1996., New York Times objavio je križaljku u kojoj je jedan od pojmova bio opisan kao sutrašnja glavna vijest: ******* ELECTED. Je li autor križaljke predvidio izbornog pobjednika?

Genijalnost je bila u tome da se križaljka mogla riješiti na dva jednako ispravna načina: kao novi predsjednik mogao je stajati i CLINTON i BOB DOLE, a da ostali pojmovi i dalje odgovaraju svojim opisima. Npr. black halloween animal ispao je CAT u slučaju CLINTON, a BAT u slučaju BOB DOLE. I tako dalje. Križaljku je sastavio matematičar Jeremiah Farrell.

Best-crossword-puzzle-ever

Dva rješenja ove križaljke razlikuju se u jednom pojmu. Može li više?

U tome je uspio još jedan genijalac, filozof Daniel Dennett. Sastavio je križaljku u kojoj se dva rješenja razlikuju potpuno, dakle u svim pojmovima. Osoba A i osoba B mogu ispravno riješiti križaljku, a da im se, kada usporede rješenja, nijedna riječ (ili čak nijedno slovo) ne podudara, iako za svaki opis i A i B imaju dobar pojam na odgovarajućem mjestu. Križaljku je nazvao kvinijskom (Quinian crossword puzzle) jer ju je upotrijebio da bi ilustrirao zamisao filozofa W. V. O. Quinea o nejednoznačnosti prijevoda (što ovdje nije bitno).

Dennettova prva križaljka izgledala je ovako:

Screenshot_2019-03-09 kolo2_zadaci pdf

Across

  1. Suck the resources out of
  2. Epoch
  3. Sleep furniture
Down

  1. Retentive membrane
  2. Earlier
  3. For some kids, a best friend

Nije baš lagana, pogotovo nama čiji je vokabular engleskog jezika ograničen. Meni je trebalo dosta guglanja da bih pronašao oba moguća rješenja, a pomogao je i rječnik sinonima. Otkrit ću vam da retentive membrane (1 okomito) može biti web ili sac.

Poslije je unaprijedio svoju kvinijsku križaljku, tj. sastavio bolju:

Screenshot_2019-03-09 Intuition Pumps And Other Tools for Thinking - Dennett - Intuition Pumps pdf

Across

1. Dirty stuff
5. A great human need
6. To make smooth
7. Movie actor

Down

  1. Vehicle dependent on H2O
  2. We usually want this
  3. Just above
  4. U.S. state (abbrev.)

(Oba) rješenja poslije ću otkriti u komentaru. No glavni je cilj ovog posta zadati jedan mnogo teži i ozbiljniji izazov. Vjerojatno ste ga dosad i naslutili.

Sastavimo prvu hrvatsku kvinijsku križaljku.

Sastaviti običnu 3 x 3 ili 4 x 4 križaljku nije naročito teško. No zahtijevamo li da križaljka ima još jedno rješenje, u pojmovima različito ali također ispravno tj. u skladu sa zadanim opisima, problem postaje brutalan. No Dennett ga je riješio, pa valjda možemo i mi. Hrvatski jezik, zbog pravilnije izmjene samoglasnika i suglasnika, pogodniji je od engleskog za sastavljanje križaljki – što možete uočiti i uspoređujući broj “crnih” (neiskorištenih) polja u prosječnoj hrvatskoj i prosječnoj engleskoj križaljci.

Rješenje će sigurno uključivati mnogo mašte u povezivanju naizgled nepovezanih pojmova istim opisom, ali problem ne bih spominjao na ovom mjestu kad ne bih mislio da može imati veze i s programiranjem. Imam neke ideje o smjerovima u kojima bi se moglo ići, ali zasad je bolje da ne utječem ni na koga. Bit će još koji post o tome, a do tada možda netko pametniji od mene ovo i uspije.

Uvodni post

Dobro došli! Na ovom blogu planiram dijeliti sitnice o algoritmima, zanimljivim zadatcima s informatičkih natjecanja i sličnim temama.

Ideja je proizašla iz algoritamskih “Tip of the day” savjeta koje sam zadnjih godina povremeno slao na mailing liste naših juniorskih ili seniorskih priprema za olimpijadu. Na ovom mjestu ti “trikovi” mogli bi ostati vidljivi nešto dulje te motivirati i druge natjecatelje. Sezona službenih natjecanja za većinu natjecatelja je završila, ali sjećam se da sam uvijek bio najmotiviraniji upravo nakon natjecanja, više nego prije njega.

Plan mi je u prvih nekoliko postova osvrnuti se na zanimljivosti vezane uz zadatke s natjecanja ove sezone. Stay tuned! (Kliknite Follow u donjem desnom uglu ako želite primati obavijesti o novim postovima.)