Om brädspel och att programmera en tomatsås

Uppföljaren ska heta ”Clamor for glamour”. Måste bara komma på vad det ska handla om först.

Häromdagen var jag hemma hos en vän, som plockade fram ett brädspel jag för länge sedan gjort och gett till honom som present. Jag hade kallat det Claim to Fame, och det gick ut på att man var en manager som köpte artister och satte ihop band som man försökte hjälpa att bli framgångsrika. Det visade sig faktiskt vara ett ganska roligt spel, och det var också roligt att återupptäcka min egen, lite märkliga, humor. I spelet drar man till exempel kort där det står recensioner skivorna som ens band släppt, och de kunde låta så här:

”Det låter lite som att Borås kommunala musikskola hade bestämt sig för att spela in Rod Stewards B-sidor, men göra alla låtar i tretakt. Inte dåligt, egentligen, men man vill inte lyssna så länge.” 5/10

Ett litet problem med spelet var bara att det verkade vara  feldimensionerat – vissa kort var så kostsamma så att det var svårt att hämta sig igen, andra verkade ge alldeles för mycket fördelar. Men det var lite svårt att veta, eftersom vi bara spelade en gång. Man skulle behöva spela femtio spelomgångar för att veta säkert. Men det skulle kanske ta en veckas heltidsarbete.

Jag går för skojs skull just nu en kurs på distans i programmering och det slog mig att det vore inte så väldigt svårt att skriva ett program som spelade åt mig. Om man implementerar en slumpvariabel som motsvarar tärningen, så kan det som händer på korten strängt taget beskrivas som att ens kassa minskar eller ökar, eller att ens band får fler eller färre talangpoäng. Fler talangpoäng ger mer pengar vid en spelning. Sagt och gjort och jag fick snart ett program som fungerade utan några större fel. Den spelade femtio omgångar medan jag blinkade, och skrev ut hur det gick för spelaren i varje runda.

Problemet var att det verkade som att det var mycket lättare att bli bankrutt i min programmerade variant än vad det var i det riktiga brädspelet. Efter att ha klurat lite på det så kom jag fram till att den regel jag hade valt för om programmet skulle investera i en ny artist eller inte var för trubbig. Jag hade skrivit in att så länge det fanns $1200 kvar i kassan skulle programmet köpa vilken artist som helst om det gavs tillfälle till det. Det gjorde att den programmerade spelaren investerade för dåligt. Istället för att räkna ut en ny, bättre regel, så bestämde jag att användaren – alltså jag – skulle fatta beslutet om det var ett bra köp eller inte genom att klicka ja eller nej i en dialogruta. Det skulle ändå gå väldigt fort. Det fungerade ändå inte riktigt. Något är fortfarande fel på antingen programmet eller spelet, men precis då när jag satt och klickade insåg jag att jag inte bara skapat en modell för att testa spelet – jag hade skapat en datorversion av spelet. Det var bara att fylla ut med allt grafiska och all rolig text så skulle jag ha ett datorspel.

Det är lite speciellt med datorprogram, på det sättet. Jag skulle kunna skriva ett program som representerade lagandet av en god tomatsås (som itererar ”stek lök” loopen och lägger till lite värde på ”färg” i varje runda tills värdet för ”lök” har blivit ”gyllene och genomskinlig”) men jag skulle inte få en tomatsås som resultat, utan en rad text: ”tomatsås klar”. Å andra sidan, om jag skrev ett program som simulerade hur man skriver en bra bok, skulle produkten faktiskt bli en bra bok – även om det nog skulle vara ett jättesvårt program att skriva. Det är för att orden i en bok, precis som mina artister i mitt brädspel, inte ”finns på riktigt”. Ord kan matas in på en dator, sägas högt eller skrivas på ett papper – orden betyder samma sak. En bra bok är bara en serie ord. Och namnen och talangerna hos artisterna man köper i mitt brädspel kan lika gärna vara skrivna på en datorskärm som på ett kartongkort. Så är det inte med mat. Ett datorprogram som simulerar en god tomatsås är lika ätbar som en videoinspelning av någon som lagar en god tomatsås.

Men det finns områden där det inte är helt klart än hur det förhåller sig, om det är på det ena eller det andra sättet. Hjärnan och medvetandet är ett tydligt exempel. Många tycker att det borde räcka med att representera hjärncellernas avfyrningar i en dator, att de i praktiken ändå bara är ettor och nollor. Precis som att om man sätter ihop ord på ett visst sätt så får man en begriplig mening så är en viss sekvens av avfyrningar det samma som medvetande, tänker man sig. En sådan position liknar sådant som filosofen Daniel C Dennett har uttryckt. Andra menar att simulera hjärnor visserligen kan ge resultat som liknar det som en person med en hjärna skulle ge, men det betyder inte att det som har hänt i programmet är detsamma som medvetande. Lite som att ett datorprogram kan skapa en väldigt korrekt simulerad bild av hur det skulle se ut efteråt om, säg, Grimstaskogen i Stockholm brann ned. Men det brinner ingenstans i datorprogrammet. En sådan position har John R Searle förespråkat. Man kan läsa mer i John R Searles bok ”The Mystery of Consciousness”. Den är förstås ganska partisk, men han har även med kommentarer från de som han kritiserar. 

Det verkar inte finnas någon mängd kod som är tillräcklig för att skapa en tomatsås. Så länge inte datorn börjar förändra ätbara kolmolekyler kommer den inte laga mat. Och ska man vara noggrann, så är mitt nya datorprogram inte ett brädspel heller, utan just ett datorprogram. Brädspel ska ha ett bräde. Oavsett hur det förhåller sig med hjärnan, om den bara är ett formellt system eller inte, så är det tydligt att ett möjligt sätt att förstå vad som händer i en hjärna kan vara att försöka efterlikna den i ett program. Precis som att genom att i ett program beskriva exakt hur man gör kanske kan hjälpa en att sätta fingret på varför en tomatsås är godare än en annan. Eller, förhoppningsvis, hjälpa mig att göra mitt gamla spel lite roligare.