Ett nyårslöfte

Jag har bestämt mig för att för omväxlings skull avge ett nyårslöfte. Det lyder i all sin enkelhet så här: I år ska jag publicera fler bloggor än jag gjorde förra året. Som alla som klarar av att summera upp till och med noll inser, har jag redan i och med detta korta meddelande infriat mitt löfte.

Men jag har planer på att blogga mer regelbundet, och kanske till och med någon gång skriva något helt kort; tro det den som vill. I korthet ska varje blogga innehålla en referens till en låt och några av de tankar som den väcker hos mig. Jag har under december samlat på låtar och artister som bör vara med i en sådan kavalkad, och räknar med att kunna hålla på i åtminstone två år om jag lyckas hålla takt av en blogga i veckan. Vi får väl se om min lättja eller min skrivklåda vinner den kampen.

De tankar jag tänker mig att fylla bloggorna med kan ha lite olika aspekter. En är att den aktuella låten har en personlig anknytning, framkallar personliga minnen av något slag; den första låten jag tänkte ta upp tillhör definitivt den här kategorin. En annan är att en eller par rader kan användas som ett mantra, en kort fras som man kan grubbla eller filosofera över; jag tar ett förhoppningsvis kort exempel på en sådan fras i blogga nummer två. En tredje typ har vissa likheter med den förra, men jag tänker mig en mer helgjuten text, som kanske skulle kunna liknas vid en liten novell; och, just det, jag har planerat att ta ett typexempel på en sådan som den tredje i den här serien. Slutligen (?) kan det förekomma exempel på bloggor där tankarna kommit först, och låten bara kan ses som en illustration till de tankar jag ger utlopp för. Möjligen kommer jag att publicera en sådan redan som nummer fyra i serien, men eftersom det ämne jag i så fall behandlar är ganska kontroversiellt och »känsligt» måste jag nog fila lite på vissa formuleringar, och förbereda ett stabilt försvar.

De flesta bloggorna kommer naturligtvis att vara kombinationer av alla dessa teman och kanske andra som jag inte kommer på just nu. Planen är att publicera en blogga i veckan; min förra serie, den med schackstudier, publicerades ju fredagar klockan 18:00 varje vecka, och förhoppningsvis kan jag hålla ett sådant tempo även med den här serien. Om du vill veta mer om mina musikaliska (eller, i ärlighetens namn, textmässiga; det är musikpoesi vi pratar om här) preferenser och hur mina tankar går kring dem så är du välkommen att besöka min blogg under de närmaste åren.

Till minnet av Rolf Martens

För ett tag sedan gjordes ett upprop på facebook om minnen av Rolf Martens, en av de mest udda schackbegåvningar som vi haft i det här landet. Jag har inte spelat något parti mot honom, men träffat honom (åtminstone) två gånger, och han har gjort ett bestående intryck — det här är mitt bidrag till hans minne.

Det var en regnig söndag i mars,
och året var 1980.
Jag hade äntligen gjort mitt val,
men det var en fälla jag hade gått i…

Om du inte riktigt känner igen texten till andra versen av Anders F. Rönnbloms antikärnkraftsklassiker »Jag kysste henne våldsamt», så beror det på att för min personliga del var det en annan söndag än den 23:e[1] den månaden som innebar ett traumatiskt minne. Den 16:e hade LASS’ andralag nämligen förlorat sin bortamatch mot Lerums SK, och därmed också degraderats från schackets allsvenska div II västra; och som jag antytt i texten ovan var jag i högsta grad en av de skyldiga — jag hade gått i en öppningsfälla, inte en som förlorade direkt, men som gav mig ett synnerligen svårbemästrat försvar, som jag inte lyckades sköta på ett tillfredsställande sätt[2].

Som ett resultat av detta var det tre ganska molokna LASSare som satt på Göteborgs centralstation någon gång på eftermiddagen den 16:e mars 1980. Vi skulle alla ta oss hem på egen hand, eftersom vi bara hade en bilförare i laget, så några var tvungna att ta tåget. En av oss studerade dock i Göteborg, så han, Micke Carlsson, gjorde oss andra sällskap på en fika innan avresa. Tyvärr är mitt minne ganska grovmaskigt nuförtiden, så jag minns inte vem den tredje i sällskapet var, men gissar att det endera var Dick Pettersson, som jag tror just hade börjat plugga i Uppsala, eller Ove Nilsson, som möjligen just gjort detsamma i Lund.

När vi satt där som bäst och pokulerade kom det fram en man, som sa något i stil med: »Jag hörde att ni pratade om schack och kärnkraft; det är saker som intresserar mig också.» Han gav oss var sitt »informationsblad», och vi bytte säkert några ord, men jag minns inte vad vi pratade om — säkert berättade vi vad våra dystra miner berodde på. Detta var mitt första möte med Rolf Martens.

Jag ska inte säga så mycket om själva »Informationsbladet», som naturligtvis handlade om den kommande kärnkraftsomröstningen, mer än att han ansåg omröstningen vara ett försök att lägga ner kärnkraften, eftersom det enligt honom bara fanns tre nej-alternativ att välja mellan. Från yttranden i bladet kan man också se var han stod politiskt; han ansåg till exempel att SKP och KPML(r) med flera »är förrädarklickar mera skadliga än det mera öppet borgerliga ›vpk›.» Någon mer än jag som får vibbar av en viss scen i »Life of Brian»?

Mitt andra »möte» med Rolf Martens var även det en söndag; om solig eller ej minns jag inte, men eftersom månaden var juli kan man kanske gissa på att den var solig. Platsen var Norrköping, året var 1988, och då antar nog de flesta som var med på den tiden att det handlar om schack-SM; en korrekt gissning, med det lilla tillägget att det handlade om SM-blixten. Av okänd anledning, förmodligen på grund av att jag råkade hamna i en förgrupp där alla utom en var ännu sämre än jag hade jag kvalificerat mig till B-finalen; resultatet i denna är dock inte särskilt uppbyggligt — det får mitt spel i Lerum åtta år tidigare att verka högst presentabelt. Man hade, om jag minns rätt, placerat A- och B-finalerna i samma »hage», så när jag reste mig efter en av mina många kallduschar fick jag se avslutningen på ett parti i A-gruppen; och den ställning jag beskådade var denna:









Martens – Sandström
Vit vid draget

Ponera att du sitter bakom de vita pjäserna i ovanstående ställning, och säg att en snabb blick på klockan visar att du har två tornursstreck kvar av betänketiden[3], vad skulle du göra? Jag kan tänka mig att det finns en del som skulle kunna tänka sig att ge upp — svarts h-bonde ser ju ut att avgöra helt på egen hand. Men Martens hyste uppenbarligen inga sådana planer; han spelade vidare, tvingade Sandström till knepiga beslut, och efter en sandströmsk miss uppstod en jämn ställning, som Martens efter ömsesidiga missar i ruggig tidsnöd till och med lyckades vinna.

Jag var synnerligen imponerad, och som jag vid denna tid var en av två schackkrönikörer på Östgöta Correspondenten, gemenligen kallad Corren — den andre var Pavel Lacko — passade jag på att ta upp Martens mirakulösa räddning i min nästa krönika; det är på så sätt jag med någon trovärdighet kan återge ställningen ovan. Det slumpade sig emellertid så, att detta blev mitt allra sista bidrag i sagda publikation. För att förstå varför måste man veta dels att »avtalet» med Corren innebar att krönikorna, tillsammans med bridgekrönika, korsord och annat kulturellt högstående material samlades i en lördagsbilaga vid namn »Regnbågen», som trycktes i förväg, och därför hade vi en deadline klockan 10:00 på tisdag morgon; och dels bör man åtminstone ha en aning om min tendens att explodera om jag känner mig orättvist behandlad. Under våren hade Corren utan synbar anledning lyft bort vår krönika från sin ordinarie plats några gånger[4], och placerat den på någon undanskymd plats bland nyheter från metropoler som Slaka, Kisa och Rimforsa. Åtminstone en gång hade följande scenario inträffat: måndag kväll strax innan sänggåendet inser jag att det är min tur att leverera en krönika till Corren, kämpar ihop den på några timmar, sover någon timma, cyklar upp till jobbet för att skriva ut den, åker tillbaka ner till Corren för att lämna in den[5], och sedan tillbaka till jobbet igen — och sedan kommer krönikan inte in förrän mitten på veckan därefter. Krönikan med det martenska miraklet publicerades en fredag, sex dagar efter sitt »normala» publiceringsdatum. Det var den s.k. droppen — jag skrev ett ilsket brev till Corren där jag bad dem i relativt vänliga ordalag att dra till kryddrikare breddgrader, och därmed slutade min bana som schackkrönikör[6]. Pavel, som fick läsa mitt missiv innan jag skickade iväg det, påstod att jag endera skulle bli föreslagen som ny chefredaktör eller åtalas för ärekränkning — själv trodde jag väl mer på att det skulle placeras i »runda arkivet», efter att möjligen ha förorsakat ett höjt ögonbryn någonstans. Allt talar för att min gissning låg närmare verkligheten.

Nu borde jag naturligtvis berätta hur Martens lyckades tråckla sig ur denna hopplösa ställning — men min ordblandare är förseglad. Axel Smith håller just nu på att lägga sista handen vid en bok om Martens, och han har lovat att ställningen ovan, och det påföljande miraklet, kommer att figurera på en framträdande plats. För att inte »stjäla hans dunder», som en anglikan skulle uttrycka det, har jag lovat att inte avslöja partifortsättningen innan boken publicerats. Något publiceringsdatum är, såvitt jag förstår, inte fastställt än, men man siktar på någon gång under våren. Jag hoppas mina glimtar av denne enigmatiske person gjort er nyfiken inte bara på mirakelräddningen ovan, utan på denne fascinerande personlighet överhuvudtaget — att rädda hans minne från glömskan är förvisso ett lovvärt initiativ.

Till slut vill jag göra ett försök att beskriva den bild jag har av Martens; en bild som mitt inre kameraöga knäppte i det ögonblick då Ludvig Sandström sträckte fram handen för att ge upp partiet ovan. Tyvärr var teckning mitt allra sämsta skolämne, till och med sämre än musik, så jag kan inte beskriva scenen med annat än ord[7]. Det första som måste påpekas är att alla associationer som det sista stycket i den första avdelningen kan ge upphov till måste bort; om du tack vare Martens’ kommentarer om sina »kamrater» på vänsterkanten tänker dig en misstänksam, mörk figur i slokhatt och slängkappa som springer omkring och kastar bomber och sticker dolkar i ryggen på folk — det finns absolut inget av det i det leende som min inre bild av Martens uppvisar. Leendet har inte heller något spår av skadeglädje; det är en ljus och ren glädje. Jag ser en kämpe med blanka vapen, en forskare, en sökare.

Så vill jag minnas Rolf Martens.


Fotnoter:

  1. Omröstningen om kärnkraften hölls den 23 mars 1980, vilket också var undertiteln till AFRs låt. []
  2. Om det verkligen var en regnig dag minns jag naturligtvis inte, men det känns som om det åtminstone inte kan vara vackert väder en sådan dag — jag minns snarare ett slags »sjätte-november-känsla»… []
  3. Jag minns inte exakt hur tiderna var, men ingen av spelarna hade några oceaner av tid att ösa ur. []
  4. Såvitt jag kan minnas var det inget som enbart drabbade oss; bridgekrönikan råkade ut för samma behandling. []
  5. Det här var alltså innan internet var uppfunnet. Att använda skrivare som jag gjorde var high-tech; skrivmaskin var standardinstrumentet för journalister och krönikörer. []
  6. Det vill säga, den arvoderade delen av den — jag har ju trots allt skrivit en del om schack sedan dess. []
  7. Jag fick en tvåa i teckning i 9:an; jag tolkar det faktum att jag inte fick en etta som att en version av det gamla ordstävet »bättre att tiga och tas för en idiot än att tala och undanröja varje tvivel» har en motsvarighet även inom teckningsämnet. []

Löksås à la Brunswick Palace

Mina recept, del 7

Om du aldrig hört talas om Brunswick Palace, så är du förvisso inte ensam. Googlar[1] man på dessa uppslagsord får man bara träffar på ett slott i Braunschweig. Jag har visserligen tillbringat någon eller några veckor på orten ifråga, men tyvärr inte på slottet. Deras julmarknad är dock väl värd ett besök, om nu inte pandemin eller något annat tagit död på det tyska gemütet.

Nej, det Brunswick Palace som rubriken syftar på har en betydligt mer anspråkslös historia — det är helt enkelt ett stavfel. Den där våren i Brighton 1982 som jag älskar att återvända till bodde vi nämligen på adressen »42 Brunswick Place», men en administratör på Universitet i Linköping[2] förbättrade adressen en smula. Om det var vederbörande som också glömde bort det där med »42» minns jag inte, men postpersonalen var van vid att människor med egendomliga namn bodde där, så var bara postnumret rätt[3] kom det mesta fram, med ett handskrivet »try 42!» på kuvertet.

Innan vi slår oss ned i köket på 42 Brunswick Place tänkte jag kort nämna två andra sätt att skaffa sig föda i Brighton (och Hove) anno 1982; jag vill ju inte påstå att vi lagade vår egen mat varje dag, det tillhörde snarare undantagen. Det första var en märklig gata som formligen överflödade av små restauranger, Preston Street. Det märkliga var att många av dem, om jag säger att de var omkring tio tror jag inte att jag gör mig skyldig någon större överdrift, annonserade om exakt samma specialiteter — »Scottish steakhouse & Moussaka». För några år sedan frågade jag en fotbollsvän från Brighton om Preston Street forfarande hade samma märkliga fördelning av restauranger, men fick ett nekande svar. En »bingning» på »Scottish Steakhouse Brighton» avslöjar dock att det finns åtminstone ett Scottish Steakhouse kvar på Preston Street. Jag har inte lyckats ta reda på om de också har moussaka på menyn; eventuella läsare som råkar ha vägarna förbi Preston Street får gärna undersöka saken.

Det andra sättet, och det allra enklaste, var att besöka en »Chinese Takeaway» på Western Road, som erbjöd kinamat till synnerligen överkomliga priser; jag vill minnas att den billigaste rätten var »friterad fläskfilé med sötsur sås», som kostade 95p för en ganska stadig portion, och att ingen rätt kostade mer än två pund. För min egen del blev det därför ganska mycket kinesmat våren 1982; priset, mängden mat och avsaknaden av arbetsinsats[4] passade perfekt för en person med min plånbok, mitt midjemått och min lättja.

Chefskocken vid våra fåtaliga kulinariska experiment var, om jag minns rätt, oftast Lasse, som jag nämnt förut här på bloggen. Just den här gången tror jag dock Tomas — numera en av de lärde i Lund, distingerad professor i matematisk fysik sedan många år — lämnade viktiga bidrag; mer om det nedan. Jag och den fjärde medlemmen i vårt lilla matlag, Janne, hade mer blygsamma roller som springpojkar och bordsdukare.

En episod som etsat sig fast i mitt minne utspelade sig den gången Tomas plötsligt tröttnade på det tämligen vedervärdiga brödet från Waitrose, och helt sonika förpassade återstående 6-7 skivor med omgivande plastpåse ut genom det öppna fönstret.

Här måste jag kanske nämna något om engelska fönster på det tidiga 80-talet. Om du inte har något som helst minnesbild av hur sådana kunde se ut, så hänvisar jag till inledningen på Monty Python’s »The gas cooker sketch», där Mrs Pinnet (Terry Jones) upptäcker att hen befinner sig i fel hus, öppnar ett dylikt fönster, vigt hoppar över en mur och klättrar in genom ett annat fönster. I Sverige diskuterade man vid den här tiden treglasfönster; dessa engelska reliker från en svunnen tid var en-glasfönster, och knappt det — det gick alldeles utmärkt att se ut genom glipan mellan karm och fönster, och vid ett tidigt experiment noterade jag att en sytråd framför denna glipa bildade en vinkel på omkring 30 grader med lodplanet. Det var alltså ett sådant fönster som stod öppet, så att pricka det från två-tre meter var visserligen en hyfsad bedrift, men inte anmärkningsvärd.

Efter någon minut dök emellertid påsen upp igen, denna gång i sällskap av en halvt förskrämd engelsk student, som åsett den avslutande delen av påsens luftfärd; han frågade förbryllat hur denna olyckshändelse gått till — »Så här» svarade Tomas, fast på engelska, och upprepade sin bröd-defenestrering; och det var det sista vi såg av den påsen.

En annan matrelaterad episod där jag tror Tomas spelar huvudrollen utspelade sig på en av restaurangerna på Preston Street. Tomas, om det nu var han, valde en lammrätt, men höll samtidigt ett kortare föredrag vars innebörd var att lamm kunde tillagas på i huvudsak två sätt; korrekt tillagad smakade det gudomligt, men tillagad av en klåpare smakade det kofta. Hur Tomas’ rätt smakade när den så småningom anlände minns jag inte längre, men eftersom koftan fastnat i mitt minne — och gjort att jag sedan dess undvikit lammrätter — fruktar jag att den stackars kocken misslyckades.

Men nog med minnen för ett tag; jag har dock sparat ett par köksincidenter som avslutning. Här kommer mitt recept på löksås som det ser ut för tillfället. Om du gillar det är det gissningsvis Lasses och Tomas’ förtjänst; om inte är det säkerligen jag som såsat till det.

Löksås à la Brunswick Palace

1 lök
ev. grönsakskrydda
1+ msk majsstärkelse
2½ dl »grädde»
½-1 tsk scarborough-blandning
soya
vitpeppar
ev. salt
 
Tillagning: Hacka löken fint, och bryn den i fettet från det nyss stekta fläsket. När löken börjar bli genomskinlig (brukar ta ca fem minuter), strö »mjölet» över löken och blanda det hela så att mjölet sugs upp av fettet och vätskan runt löken; häll i grädden när alla mjöl-klumpar försvunnit. Krossa scarborough-blandningen i kryddmortel, och strö den över såsen tillsammans med soya, peppar och eventuellt salt. Rör om; så snart bubblor visar sig är såsen klar.

Som vanligt några kommentarer och synpunkter, baserade på mina erfarenheter som kulinarisk amatör. Från början tänkte jag överhuvudtaget inte ta upp potatiskokningen och fläskstekningen; men vid närmare eftertanke fann jag några detaljer som jag kanske skulle kunna bidra med — till exempel skillnaden mellan färsk potatis och »färsk» potatis.

Potatisen kokar jag hel, med skalen på — 15 minuter, om den är någorlunda färsk, och 20 minuter om den inte är det. Därefter kontrollerar jag med en potatissticka om några av de största exemplaren fortfarande är hårda eller ej. Hur länge potatisen behöver kokas beror på en mängd faktorer, som sort, färskhet och storlek, så därför är teststickan[5] det tillförlitligaste sättet att avgöra huruvida potatisen är kokt eller ej.

Färsk potatis gräver man upp ur sitt potatisland, spolar ren från jord och eventuella ansatser till skal med hjälp av en trädgårdsslang med sprutmunstycke, och sätter på spisen max femton minuter efter operationens start. Det säger sig självt att den potatis som säljs som färsk egentligen borde kallas »färsk», semifärsk eller något liknande, i synnerhet den »färskpotatis» som runt påsken erbjuds till extrapris — från Egypten…

Om fläskstekningen är väl inte så mycket att säga, mer än att fläsket inte är vad det var en gång i tiden. Gissningsvis är det de senaste decenniernas hetsjakt på fett som gjort att de skivade varianter på stekfläsk som saluförs nuförtiden har mycket mindre fett än de jag minns från min barndom. Man kan naturligtvis äta löksås även till annat än fläsk, vilket kan göra fettbristen så akut att jag i smyg häller i lite rapsolja; på det sättet kan man förtära även kassler eller fläskkarré — eller bacon, som vi tvingades hålla tillgodo med i Brighton. En variant som jag gjort någon gång är att ugnssteka revbensspjäll på en bädd av lök[6]; när stekningen är klar häller man över köttsaften och löken i en stekpanna för att göra en variant av löksås — kan rekommenderas för egna experiment!

Denna metod att utföra själva redningen är det jag framför allt minns från England; det lutar starkt åt att det var Tomas som stod för det tricket, även om vi förmodligen använde vetemjöl[7][8]. »1+» ska utläsas »en dryg»; någonstans har jag läst att 2 dl vätska kräver 1 msk majsstärkelse. Det finns flera anledningar till att jag valt bort vetemjölet; den ena har jag redan antytt, nämligen att fläsk inte innehåller lika mycket fett som tidigare, och jag har lärt mig någonstans, förmodligen på samma ställe där jag lärde mig majsstärkelseredningsförhållandet[9], att man bör ta dubbelt så mycket vetemjöl som majsstärkelse vid redning, och den andra är hastigheten — vetemjölsredningar bör, har jag fått för mig, puttra några minuter innan rätt konsistens uppnås. Det argument som man brukar se emot majsstärkelsen är att det är dyrare, men med tanke på det fåtal gånger per år jag reder såser räcker en förpackning åtminstane halvannat år, så den extrakostnaden kan jag ta. Och min plånbok är dessutom aningen tjockare än den var 1982.

Citattecknen kring grädden beror på att det går förträffligt att använda lite vad som helst: grädde, mjölk eller de märkliga ting från Milda som då och då brukar reas med ord som »från gräddhyllan» eller »matlagningsprodukt». Denna senare variant är både billigare och hållbarare än riktig grädde, varför jag ofta använder den — det kan som sagt gå lång tid mellan mina matlagningsexperiment.

Scarborough-blandningen är en mix av fyra örter som passar förträffligt till nästan all slags kött, och den går mig veterligen inte att köpa i butiken — än. Den variant som jag använder består av en del persilja, en del salvia, en del rosmarin och två delar timjan. Att jag dubblade dosen av timjan beror på en olyckshändelse — jag råkade glömma bort att jag redan köpt en påse timjan, och hade alltså tillgång till dubbelt så mycket av denna krydda som av de andra. Jag behöver naturligtvis inte förklara för den här bloggens kulturellt bevandrade och kunskapsmässigt högstående reguljära besökare varför jag kallat denna örtblandning just så, men utifall någon av misshugg råkat landa här via google, bing eller vad det nu kan vara, så kan denna länk kanske skingra mysteriet.

Till slut en liten varning angående saltmängden. Fläsk kan vara ganska salt i sig; soya likaså; och använder du någon grönsakskrydda på löken[10][11] kan även den vara ganska salt. Jag rekommenderar alltså att du väntar med saltkaret till den allra sista avsmakningen; min erfarenhet är att det ofta inte behöver användas. Förresten, soyan behöver nog också en liten varning — den är i första hand med som färgämne för att ge såsen en aptitligare brun färg. Om du känner smak av soya i såsen så har du tagit för mycket.

Som avslutning ytterligare ett par minnesbilder från köket på 42 Brunswick Place. I den första finner man oss fyra svenskar sittande runt ett av de två borden; vid det andra satt en ung tjej som en av våra engelska grannar tillfälligt hade dumpat där för att hämta något på sitt rum ett par-tre trappor upp. Medan vi småpratade och skrattade som vanligt — jag minns inte om vi åt den gången eller bara fikade — så blev den stackars kvarlämnade tjejen alltmer agiterad, och till slut utbrast hon[12]: »Ursäkta att jag stör, men — är det engelska ni pratar?» När vi försäkrade att vi inte pratade någon obegriplig engelsk dialekt, utan svenska, ett vilt främmande språk, lugnade hon ner sig avsevärt. Jag tänker på mina egna erfarenheter, dels den cockney som förestod universitetets fysikverkstad[13], som jag då och då tvingades besöka för att få reservdelar till mina experiment — jag tror att jag sanningsenligt kan hävda att jag inte förstod ett enda ord han sa — och dels den tyske professor jag mötte några år senare, vars enda kommunikation jag förstod var »ik veiss nit» — hade han inte samtidigt ryckt på axlarna på ett någorlunda internationellt sätt hade jag förmodligen missat det också. Det där med språk är inte lätt.

Den andra minnesbilden har vissa likheter med den första — även här satt vi svenskar runt ett av borden, det närmast spisen för att vara exakt. Vid det andra satt det denna gång en engelsk student — om minnet inte sviker mig, just densamme som blev vittne till Tomas’ brödkastningsbravader — och läste en tidning.

Vid detta tillfälle minns jag dock vad vi gjorde — vi hade satt oss ned för att äta något slags risotto som vi just tillagat. Av någon anledning uppstod det några sekunders tvekan — kanske beroende på att maten inte såg så fantastiskt aptitlig ut[14] — utan att någon kom sig för att så att säga »öppna budgivningen». Denna paus avbröts av att någon av oss, jag vill gärna tro att det var Janne eftersom han inte fått en syl i vädret hittills i mina engelska skriverier[15], hov upp sin röst, och med viss galghumor konstaterade: »The Swedish Chef Special!»

Det hördes mystiska ljud bakom tidningen vid det andra bordet, och när vår engelske kamrat några minuter senare lämnade köket kunde han inte låta bli att fråga: »Did you enjoy your Swedish Chef Special…?» — utan att vänta på något svar försvann han storskrattande uppför trapporna till sitt rum.


Fotnoter:

  1. »Bingar» är måhända mer korrekt, eftersom jag sedan ett antal år inte nyttjar Google om det kan undvikas. Jag är inte intresserad av jordvärmepumpar, thank you very much. []
  2. Det hette så på den tiden; det fick vi elever oss nogsamt itutat. »Linköpings universitet» skulle antyda att Linköpings stad på något sätt stöttade universitetet, och det ansåg man inte att den gjorde. Denna fnurra på tråden mellan akademi och lokala myndigheter löstes upp efter några år. []
  3. »BN3 1NA» — tänk vad minnet har lagrat onödiga saker… []
  4. Vi kokade visserligen vårt eget ris några gånger i början för att spara några pence, men det slutade vi ganska raskt med. []
  5. Den kan visserligen ersättas av en gaffel, men för en köksnovis som undertecknad är teststickan ett känsligare instrument. []
  6. Jag erkänner gärna att min första tanke med detta var att underlätta rengöringen av ett stekkärl i nära kontakt med inoljat kött. []
  7. När jag tog kontakt med Tomas på facebook för någon vecka sedan medgav han att redningsproceduren förmodligen var hans, och tipsade också om att toppa den stekta löken med lite socker. Detta har jag, av skäl som torde framgå i tidigare receptbloggor, inte testat, men kan ligga till grund för egna experiment i ämnet. []
  8. Denna form av redning kallas tydligen torredning. []
  9. Ännu ett av mina allt desperatare försök att bli citerad i SAOB om något hundratal år. []
  10. Jag använder Knorrs version; jag har inte undersökt saken närmare, men antar att den till en försvarlig, möjligen också oförsvarlig, del består av just salt. []
  11. Av för mig numera obekant anledning brukar jag också lägga ett tunt lager chilipeppar på löken när den börjar bli klar — kanske en konkurrent till Tomas’ sockring i en tidigare fotnot? []
  12. På engelska, naturligtvis. []
  13. Eftersom jag besökt flera universitet kanske det är bäst att nämna att det var universitetet i Sussex jag avser. []
  14. Det har visserligen inte med saken att göra, men risotton visade sig så småningom smaka helt åkej. []
  15. I själva verket kunde det varit vem som helst av oss, utom Lasse, för han var för snäll (och hade förmodligen varit chefskock vid risottons tillblivelse). []

Signatur och avatar

Jag har redan tidigare uppmärksammat den fantastiska blogg som drivs av Peter Olausson, signaturen Hexmaster. Här publicerar han varje dag tänkvärda saker; oftast begrundar han saker som blivit missuppfattade eller vars mening förändrats med tiden, men ibland funderar han över moderniteter i vår vardag och hur de används. Datorer och internet tillhör de ämnen som avhandlas, och för någon vecka sedan filosoferade han över hur signaturer används på internet.

Den intressantaste iakttagelsen han gör är att en signatur på nätet från början inte var avsedd att dölja en identitet, utan att framhäva den; den möjlighet till anonymitet som nuförtiden frodas, och omhuldas i vissa läger, är ett senare påfund, och ett i högsta grad tveeggat vapen.

En skugga av mitt forna jag.

Inspirerad av Hexmasters blogga tog jag mig äntligen för att registrera bilden här till höger på Gravatar. Jag har använt den tidigare, både som ikon här på bloggen och på facebook, och av uppenbara skäl tycker jag att den representerar mig väl; se bildtexten. Var bosjo kommer från har jag redan avslöjat, i min minnesartikel över min kamrat GorFo.

Bilden som sådan har en ganska exotisk bakgrund. Våren 1986 befann jag mig i Erlangen för att få fart på mina doktorandstudier, och därvid besökte jag bland annat den lokala karneval som går under namnet Bergkirchweih; i Sverige är väl »Oktoberfest» ett känt begrepp, men när jag nämnde det för någon lokal erlangenbo fnös hen bara — ett kommersiellt jippo som för länge sedan förlorat sin själ. Tacka visste hen Bergkirchweih!

I karnevalsvimlet fanns det vanliga sammelsuriet av stånd där man kunde köpa allsköns godsaker, förlora pengar på mystiska spel och annat, förutom bier und bratwurst, natürlich. Jag noterade redan tidigt ett litet oansenligt stånd, där man kunde se silhuetter av diverse kändisar, allesammans skickligt utförda. Själva klipparen, om jag får kalla honom så, stod sysslolös bredvid och betraktade folkvimlet. Men när någon kom fram för att be honom om ett porträtt, då blev det strax föreställning. Han ställde upp sin modell så att ljuset blev rätt, vred med lätt hand huvudet till rätt vinkel, plockade fram ett dubbelvikt papper och en stor sax, viftade med denna som alla konstnärer måttar med sin pensel på film, och gick sedan till verket. Under tiden hade det samlats en nyfiken skara åskådare, som med spänt intresse betraktade hans agerande. När han omsider blev klar — det tog i allmänhet bara omkring 30 sekunder — visade han stolt upp sitt verk och lät publiken jämföra den mot verklighetens modell; likheten var alltid slående. Ofta hade någon i publiken blivit tillräckligt imponerad för att ställa upp som nästa modell; och så upprepades föreställningen gång på gång tills publiken fått sitt och folksamlingen upplösts.

Jag passade på att bli »klippt» av denne virtuos en av de sista dagarna jag besökte »Berch»; 10 D-mark, dvs ca 35 kr om jag minns rätt, kostade porträttet[1]. En inskanning och lite bildbehandling för att indikera ett schackbrädesmönster; och bilden ovan var kreerad.

Som avslutning kan jag inte låta bli att citera kåsören Cellos berättelse om hur han fann sin signatur. Jag är ganska säker på att jag sett den berättelsen i ett kåseri, men för ögonblicket hittar jag inte det. Ni får i stället nöja er med den kortversion som han gav i presentationen till sitt bidrag i den första samlingen av »Saltat & pepprat» som Lasse Holmquist och Bra Böcker gav ut i början av 70-talet:

Jag fick en klocka i konfirmation. I boetten läste jag Olle C. spegelvänt. Det blev Cello. Det var ren tur alltså. Men i stället för att välsigna turen borde väl signaturen välsignat uren.


Fotnoter:

  1. Eller rättare sagt porträtten, eftersom han använde dubbelvikt papper, som alltså resulterade i två silhuetter []

Drabbad av virus

Det har varit ganska glest mellan uppdateringarna här på bloggen ett tag, och jag misstänker att åtminstone en del av min trogna läsarkrets[1] börjat frukta att jag fallit offer för något slags östasiatiskt virus. Ett sådant gjorde ju entre för dryga tiotalet år sedan, och det är detta som jag nu fallit pladask för. Men nej, jag pratar inte om Covid-19, eller någon annan covid-släkting — jag pratar om Sudoku.

Det började lite lätt med att jag någon gång under förra vintern upptäckte att The Guardian på helgerna publicerade något som de kallade »killer sudoku». Detta fenomen var åtminstone relativt nytt för mig, och jag fann snart att även om de oftast var någon nivå svårare än vanliga vanilj-sudokus, så kunde de också bjuda på mer intressanta logiska slutledningar.

Men sjukdomen bröt inte ut på allvar förrän jag i just The Guardian stötte på en artikel om ett märkligt youtube-fenomen, en kanal vid namn Cracking the Cryptic, där två distingerade engelsmän löser sudokus och andra logiska problem av varierande svårighetsgrad, från dunderknepiga till snudd på omöjliga, i realtid[2]. Den video som länkades till i artikeln behandlar en så kallad »miracle sudoku», som består av en nästan tom sudoku, där bara två(!) siffror angetts, och tre extra villkor — (1) två likadana siffror får inte placeras ett springarsteg ifrån varandra; (2) två likadana siffror får inte placeras ett kungssteg[3] ifrån varandra; och (3) två konsekutiva siffror får inte placeras i ortogonalt angränsande rutor[4]. Så här ser miraklet ut:

Erkänn att det är svårt att tro både att det finns en unik lösning, och att det i så fall går att hitta den utan datorhjälp. Men det är faktiskt inte alls så knepigt, visade det sig när man kom igång; den enda »krisen» kommer när man placerat in alla ettor och tvåor som går att placera, och måste börja placera treor — där måste man endera vara intelligent, som Simon Anthony i en video som för tillfället setts sådär 1,5 miljoner(!) gånger, eller ihärdig, som under-över-eller-var-jag-nu-är-tecknad[5].

Riktigt allvarlig blev dock inte sjukdomsbilden förrän min nyfikenhet drev mig att googla efter en sajt som CtC, som Cracking the Cryptic brukar förkortas, hämtat ett flertal av sina mest intressanta objekt från — Logic Masters Germany. Särskilt deras lista med sudokus, med variationer av alla möjliga slag fångade mig. Jag inser naturligtvis att jag inte borde sprida sjukdomen så här lättvindigt, men här kommer några av de problem som jag fastnat för. De prövas, naturligtvis, på egen risk — you have been warned…

  • Fyra små rätter. Det här är förmodligen det enklaste problemet i den här listan; det består av fyra 6*6 sudokus med lite olika interna varianter, som länkas samman av en summa där (oftast) två av de ingående delproblemen ger bidrag. Lite matematiska kunskaper skadar inte, som till exempel att triangeltalen för 5 och 6 är 15 respektive 21.
  • 144, men inte 35. Det här är likaledes förmodligen det svåraste av de här uppräknade problemen; om man inte har en matematisk överblick måste man ta hjälp av papper och penna, Notepad eller, som i mitt fall, Excel[6]. Kompositören har delat in de 81 sudoku-rutorna i sexton fem-rutiga områden (så kallade pentominos) och en överbliven ruta, samt meddelar att alla utom en har två egenskaper, förutom den »vanliga» att inga dublettsiffror är tillåtna: (1) produkten av de fem talen i pentominon är jämnt delbar med 144, och (2) produkten är inte delbar med 35. Om du till äventyrs skulle fundera på att skapa ett problem där alla 16 pentominorna följer denna enkla regel, så kommer du snart att upptäcka att den elaka verkligheten sätter upp vissa hinder i din väg. Meddela mig gärna om du lyckas, men jag hoppas du ursäktar om jag tar ett eller annat andetag under tiden.
  • Oss fyrkanter emellan. Ett annat problem med en utpräglat matematisk grundidé (enligt uppgift är kompositören en amerikansk matematiklärare). Här står kvadrater för de huvudsakliga ledtrådarna, kompletterade av några diagonalsummor som av någon anledning går under namnet »little killers».
  • En schacksudoku. Att matematik och sudoku hör samman är väl ganska naturligt, men det finns faktiskt en hel del sudokus med schackinslag också, inte bara de anti-regler som var viktiga komponenter i miraklet ovan. Det här är en av dem; nio kungar, representerade av ettor, måste skyddas från schackar av torn, löpare och springare (2,3 och 4). En intressant idé, som fått en genomgång på CtC.
  • En genial idé. Ett av de första problem jag löste på sajten, och jag prickade ett mästerverk; det är inte bara jag som tycker så — med 35 lösare har den fortfarande en ranking på 100%, en högre uppskattning är svår att få. Idén är lika enkel som genial; ett antal »mördarlådor», där summan av de två talen är exakt tio, några »termometrar, som indikerar siffror i en stigande sekvens räknat från »kvicksilverkulan», och det antispringarvillkor vi bekantade oss med i mirakelsudokun. Problemet får mig att tänka på Göran (Forslund); det här är ett problem han skulle gillat, eller till och med kunnat komponera. (Även detta problem har lösts av CtC.)
  • En golvläggarsudoku.Till slut ett problem som i skrivande stund enbart har en (officiell) lösare, och det här är ett försök att ändra på den saken. Att det bara är en lösare betyder emellertid inte att det är ett oerhört svårt problem; snarare är det en indikation på att reglerna var ganska oklart formulerade från början. Det som gjorde att jag kunde lösa den var att jag skrev en dold kommentar (dvs en kommentar som bara kommentatorn, författaren och de som löst problemet kan se) där jag förklarade mina (som det skulle visa sig felaktiga) tolkningar av reglerna, och varför jag såg mig tvungen att ge upp. Författaren förtydligade då reglerna, vilket gjorde att jag ganska raskt kunde finna lösningen. Så gör gärna ett försök att knäcka nöten; om inte annat för att det inte är varje dag som kvadratroten ur 20 innehar en viktig roll i en sudoku.

Jag hoppas att du kunnat njuta av någon eller några av dessa logiska läckerheter, utan att bli smittad av den åkomma som jag råkat utför. Tyvärr använder jag inte munskydd, men i mitt nuvarande skäggiga tillstånd lär det inte ha gjort särskilt stor nytta i alla fall.

And now for something not completely different…

För något år sedan fick jag ett så kallat ryck, och bestämde mig för att försöka lära mig något om logikprogrammering. Valet föll på Prolog eftersom jag relativt nyligen hittat en bok om detta språk på ett antikvariat[7]; någonstans i bakhuvudet fanns säkert tanken att det borde relativt lätt gå att lösa sudokus med ett sådant språk. Jag laddade också ned GNU-Prolog, och började läsa, googla och testa.

Innan jag fortsätter bör jag komma med en brasklapp av ansenliga mått; mina kunskaper i Prolog är forfarande på nybörjarnivå, och alla uppgifter om språket jag kommer att uttrycka och de programexempel jag visar bör betraktas som just synpunkter från en nybörjare i logikprogrammering, men med relativt stor erfarenhet av »traditionell» programmering.

Jag började med klassiska problem av den typ som Göran tog upp i sin problembok, och vars lösning jag avslöjade i mina errata till Görans bok. Så här ser mitt program ut:

solvetrav :- Trav = [[1,_,_],[2,_,_],[3,_,_]],
  members([[_,ptro,_],[_,gnagg,_],[_,galopp,_]],Trav),
  members([[_,_,nisse],[_,_,janne],[_,_,sven]],Trav),

  member([3,gnagg,_],Trav),
  member([2,_,sven],Trav),
  nonmember([1,_,janne],Trav),
  nonmember([_,galopp,nisse],Trav),

  write(Trav),
  nl,
  fail.

Den första raden bestämmer att lösningen (»Trav») ska vara en lista bestående av tre listor, där varje lista består av tre uppgifter; tillsammans med de två övriga raderna i det första blocket ser man att de är placeringen, hästnamnet och ägaren i den ordningen (variabeln »_» är speciell, och uttolkas »här kan du stoppa in vad du vill; jag bryr mig inte».)

Det följande kodblocket anger de uppgifter man känner till om loppet — Gnägg kom trea (det var, har jag för mig, den häst som bröt benet), Svens häst kom tvåa, Jannes häst vann inte och Nisses häst hette inte Galopp. Kommatecknen mellan uppgifterna fungerar som logiska »och»; så länge som det går att konstruera en lösning fortsätter programmet, annars backar det något eller några steg för att pröva något annat.

Det sista blocket är ett standardtrick för att finna alla möjliga lösningar; skriv ut lösningen och en ny rad, samt låtsas att det inte var den här lösningen man sökte. Jag bör kanske påpeka att »members» och »nonmember» inte är standardrutiner i Prolog, utan sådant som jag hittat på nätet, så programmet som sådant går inte att köra direkt utan att man lägger till de komponenterna.

Innan jag fortsätter känner jag mig förpliktigad att försvara mig, eller åtminstone förklara mig. När allt kommer omkring ställde jag ju i början av 90-talet upp tre enkla regler för användandet av rekursion:

  • Använd inte rekursion.
  • Använd inte rekursion!!
  • Använd rekursion då, om du absolut måste, men skyll inte på mig om det leder till kärnvapenkrig, pandemier eller att himlen trillar ned över ditt huvud.

Åkej, jag kanske inte hotade med pandemier på den tiden, men jag hoppas den allmänna avogheten mot rekursion som dessa rader är avsedda att förmedla framgår tydligt. Vad jag eventuellt inte berättade för alla som fick ta del av mina rekursionstips var den bakomliggande historien.

Under min tid som programmeringssupport vid NSC fick jag en gång ett mejl, där en person frågade varför ett visst program bara var 2-3 ggr snabbare på Crayen än på användarens arbetsstation. Programmet i fråga visade sig beräkna (om jag minns rätt) — det 40:e fibonaccitalet, uträknat med den rekursiva formel man ibland kan hitta i mindre nogräknade läromedel. Jag är fast motståndare till dödsstraff, men skulle jag tvingas ange ett brott som förtjänar ett sådant straff bör sagda läromedels författare snarast vidta åtgärder som att byta namn och skaffa lösskägg[8]. Tiotalet år senare såg jag en IT-journalist skriva något i stil med att hen testade en dator med en »tung beräkning», vilket visade sig vara en fibonacciberäkning av liknande slag.

Jag gissar att jag skulle kunna räkna ut det 40:e fibonaccitalet med papper, penna och, säg, en halvtimmes arbete; och jag försäkrar att all aritmetik jag kan utföra på en halvtimme ska en dator värd namnet klara av att utföra på mindre än en mikrosekund. Med andra ord, de 118[9] CPU-sekunder som vår Cray X-MP använde för att beräkna det 40:e fibonaccitalet hade kunnat användas till bättre ting. Som en jämförelse tog en standardkörning av mitt program för att beräkna en viss typ av spektrum för en mellanstor molekyl (ca 40-50 atomer) ca 90 CPU-sekunder på samma maskin.

Numera är jag, som kanske framgått, inte fullt lika rabiat motståndare till rekursion, och har till och med börjat använda det här och var själv, när ingen ser på. Jag har därför modifierat den tredje punkten ovan till »Det är tillåtet att använda rekursion, om du först skaffat dig 20 års erfarenhet av ett riktigt programmeringsspråk[10][11].

Det finns ett grundläggande problem här, vars existens jag för tillfället inte hittar någon författare som vågar erkänna rakt av. Det bästa jag kan erbjuda är ett citat ur Concepts of programming languages (3. ed) av Robert W. Sebesta: »One of the essential characteristics of logic programming languages is their semantics, which is called declarative semantics. The basic concept of this semantics is that there is a simple way to determine the meaning of each statement, and it does not depend on how the statement might be used to solve a problem.» Låt mig formulera om det så som jag har förstått det: »Prolog och språk av liknande typ gör att användaren bara behöver specifiera alla kända data, hur lösningen sedan ska hittas bestäms av programmet vid körningen.» Min åsikt om detta är att det uttrycker ett slags önskedröm, vars förverkligande möjligen ligger i en (avlägsen?) framtid, och att de program som för tillfället existerar kan i bästa fall ses som leksaker, som är bra på att lösa vissa typer av problem, men kräver ingående kännedom om hur programmet fungerar för att lösa dessa problem. Och detta förklarar/försvarar mitt intresse i Prolog — som pensionär är jag fri att välja mina leksaker som jag vill! SDS[12], OHS[13] och QED.

Du är inte övertygad om att Prolog är usel på att hitta lösningsmetod själv? Eller tror inte att man som programmerare kan hjälpa till? Låt mig då visa ett exempel; ganska extremt, det medges, men samtidigt hoppas jag det är illustrativt.

Problemet jag tänkte ta upp är följande, från 536 Puzzles & Curious Problems av en av alla tiders största problemmakare — Henry Dudeney. Detta är närmare bestämt nummer 393 i boken:

There is something very fascinating about star puzzles. I give an example, taking the case of the simple five-pointed star. It is required to place a different number in every circle so that the four circles in a line shall add up to 24 in all the five directions. No solution is possible with ten consecutive numbers, but you can use any whole number you like.

Och utan några alltför stora krumbukter, här kommer lösningsförslag 1, den stendumma varianten:

solvefivestar :- Numbers = [N0,N1,N2,N3,N4,N5,N6,N7,N8,N9],
  integerlist(1,18,Tal),
  member(N0,Tal),
  member(N1,Tal),
  member(N2,Tal),
  member(N3,Tal),
  member(N4,Tal),
  member(N5,Tal),
  member(N6,Tal),
  member(N7,Tal),
  member(N8,Tal),
  member(N9,Tal),
  uniquelist(Numbers),

  (N0+N5+N6+N2 =:= 24),
  (N0+N9+N8+N3 =:= 24),
  (N1+N5+N9+N4 =:= 24),
  (N1+N6+N7+N3 =:= 24),
  (N2+N7+N8+N4 =:= 24),

  write(Numbers),
  nl,
  fail.

»integerlist» och »uniquelist» är två enkla komponenter som jag skrev för att dels skapa en lista med heltal som kunde bli aktuella (som synes räknade jag bara med positiva heltal), samt att kontrollera att det inte fanns dubletter i lösningslistan. 18 valde jag efter en snabb huvudräkning, som sa att 18+1+2+3 = 24, så något tal större än 18 kunde med säkerhet inte komma ifråga i lösningmängden.

Här har jag bara deklarerat vilka tal som kan vara aktuella, och vilka relationer som gäller mellan dem, utan några krusiduller. När jag körde programmet hände dock ingenting. Jag vill minnas att jag bröt efter så där en och en halv timma, och då hade programmet inte ens hittat en enda lösning. Jag kan visserligen utesluta möjligheten av att den fortfarande skulle ha letat om jag inte tryckt på ctrl-c, men det beror mer på att den dator den körde på säckade ihop för gott för en månad sedan.

Skam den som ger sig. Jag misstänkte naturligtvis att den algoritm som programmet använde i princip kunde betecknas som 10 for-loopar inuti varandra, och det kunde ju förklara varför den tog så lång tid på sig. Ett rimligt försök att snabba upp beräkningen borde då vara att presentera de begränsande villkoren så snart som möjligt. Denna tanke ledde till detta detta program, med lite mänsklig hjälp:

solvefivestar(Const) :- Numbers = [N0,N1,N2,N3,N4,N5,N6,N7,N8,N9],
  integerlist(1,18,Tal),
  member(N0,Tal),
  member(N2,Tal),
  member(N5,Tal),
  (N6 is Const -(N0+N2+N5)),
  member(N6,Tal),
  member(N3,Tal),
  member(N8,Tal),
  (N9 is Const -(N0+N3+N8)),
  member(N9,Tal),
  member(N1,Tal),
  (N4 is Const -(N1+N5+N9)),
  member(N4,Tal),
  (N7 is Const -(N1+N6+N3)),
  member(N7,Tal),
  uniquelist(Numbers),
  (N2+N7+N8+N4 =:= Const),

  write(Numbers),
  nl,
  fail.

Som synes är detta program inte lika enkelt att förstå som förra försöket; i stället för ett block med deklarationer och ett med relationer, så har jag den här gången introducerat relationerna så tidigt som möjligt för att begränsa de nödvändiga looparna. Och resultatet är över förväntan; på min gamla dator, den som säckade ihop, spottade den ut ett par skärmsidor lösningar på lite drygt sex sekunder, och ersättaren, den som jag använder nu, tar bara 4.5 sekunder på sig. En remakaber[14] skillnad, eller hur?

Nu är jag naturligtvis inte den förste som noterat att Prolog inte är särskilt bra på den här typen av problem. Jag hittade en artikel på nätet som beklagade sig över att man fortfarande lärde ut ”is” och aritmetisk likhet (=:=), när det fanns så mycket bättre möjligheter (om jag minns rätt kallade författaren det hela för constraint programming over finite domains, vilket jag inte vågar mig på att försöka översätta). Idéerna i artikeln resulterade i följande program:

solvefivestarcp(Const) :- Numbers = [N0,N1,N2,N3,N4,N5,N6,N7,N8,N9],
  fd_domain(Numbers,1,18),
  fd_all_different(Numbers),

  N0+N5+N6+N2 #= Const,
  N0+N9+N8+N3 #= Const,
  N1+N5+N9+N4 #= Const,
  N1+N6+N7+N3 #= Const,
  N2+N7+N8+N4 #= Const,

  fd_labeling(Numbers),

  write(Numbers),
  nl,
  fail.

Lägg märke till den strukturella likheten med mitt första, stendumma, försök; först tala om hur lösningen bör se ut, sedan villkoren. Och för den som är bekant med Sidney Harris’ klassiska teckning, det är i fd_labeling miraklet sker — där används den givna informationen på något intelligent sätt; min nya dator behöver nu bara en kvarts sekund på sig för att lista alla lösningar.

Jag hoppas detta exempel visar att det fortfarande är viktigt att veta vad man pysslar med — att skriva in data och regler/relationer, för att sedan låta maskinen överta alla beräkningar är än så länge bara en dröm.

Låt mig avsluta med att begå det brott jag tidigare yrkade på dödstraff för, men i en form som förvisso inte meriterar en så hård påföljd. Jag har nämligen sedan någon månad tillbaka övergått till en av Prologs efterföljare, Picat, som tagit med sig många av de goda sidorna i Prolog, och samtidigt rättat till en del av missarna. Så här försöker man fixa till fibonacci-problemet (från boken »Constraint Solving and Planning with Picat», som kan laddas ner som en PDF-fil från sajten i länken ovan).

table
fib(1) = 1.
fib(2) = 1.
fib(N) = F, N > 2 => F = fib(N-1)+fib(N-2).

Det som räddar författarna (och mig) från galgen är ordet »table»; detta anger att resultat ska cachas, vilket enligt författarna förvandlar beräkningstiden från exponentiell till linjär. Jag har inte undersökt detta närmare, men det låter underligt i mina öron. Om resultatet cachas fullt ut, borde beräkningstiden vara konstant om resultatet fanns i cachen, linjärt om det måste beräknas. Men hur som helst kommer man inte ifrån att rekursion kräver utrymme på stacken, så även om rekursionen i det här fallet är acceptabel, så är det inte det bästa sättet att utföra beräkningen. SDS.


Fotnoter:

  1. Här antar jag alltså att en sådan existerar, vilket naturligtvis är mer baserat på en önskedröm än något slags verklighetsunderlag. []
  2. Det händer dock att verkligheten tränger sig på och genererar ett avbrott, och en gång har till och med en av dem gjort en miss och tvingats ge upp (för att sedan i ett tillägg förklara sin miss och korrigera den). []
  3. Egentligen räcker det ju att säga ett ferssteg ifrån varandra, eftersom kungens raka stegmöjlighet redan är förbjuden med standardsudokuregler. []
  4. eller ett vesir-steg från varandra, om vi ska fortsätta med (fantasi)schackpjäs-terminologin []
  5. Inte första gången, och antagligen inte sista, där den stupida envishet jag understundom kan utveckla kan misstolkas som ett utslag av intelligens. []
  6. Eller, för att vara mer exakt, Calc, Libreoffice’ klon av Excel. []
  7. Det är nu inte hela sanningen, eftersom min boksamling även innehåller en bok om LISP, men jag vill ju inte framstå som en person som gör saker lite slumpartat, så därför måste jag uppfinna ett skäl för mitt handlande. []
  8. Detta senare försök att förändra utseendet kan dock verka misstänkt på eventuella kvinnliga fibonaccirekursionister, så dessa bör nog försöka andra förklädnader. []
  9. Jag är inte säker på det exakta antalet, men mitt undermedvetna propsar på att skicka fram detta tal. Det är i alla fall inte helt taget ur luften. []
  10. Och med ett »riktigt programmeringsspråk» avses naturligtvis Fortran. []
  11. Det betyder visserligen att jag inte skulle vara berättigad att använda rekursion än, så jag har för mitt samvetes skull lagt till att tre års Pascal-programmering må i särskilt behjärtansvärda fall få ersätta ett års »riktig» programmering. []
  12. Så Det Så []
  13. Och Hör Sedan []
  14. Nej, jag har inte stavat fel; jag kunde bara inte bestämma mig för om skillnaden var makaber eller remarkabel, så jag skapade ett nytt ord. []