· Text 8512 · w8 · inlagg
Jag har lagt in ett nytt program i INLÅDAn. Det är LIFE.
Man brukar säga att LIFE simulerar en värld av celler, där celler föds
och dör enligt vissa enkla regler. Ni har kanske sett ett LIFE-program
någon gång, och tyckt det var ett tråkigt och långsamt spel, och sen
inte tänkt mer på det. Nå, mitt LIFE är inte långsamt, och så tråkigt
behöver det inte vara, bara man vet lite runt om kring det.
Skärmen är uppdelad i 24 x 80 celler (dvs 1 cell/teckenpositon).
De normala reglerna för liv och död, är att en död (tom) cell blir
levande om tre av dess åtta grannar (horisontellt, vertikalt och
diagonalt) är levande. En levande cell dör, om den har fler än 3
eller färre än 2 levande grannar.
På så sätt uppstår det lite här och var nya celler, medan andra dör,
och somliga fortsätter att leva, i generation efter generation.
Man ritar in ett startmönster av levande celler, startar simuleringen,
och sen får man se vad som händer. Antingen dör allting ut så
småningom. Eller så fortsätter de att växa i evighet. Eller så
kommer man in i ett cyklisk serie av återkommande mönster av celler.
Utgången beror förstås helt på startmönstret, men på ett trots de
enkla reglerna svårförutsägbart sätt. En del av tjusning är alltså
att sitta och försöka få grepp om hur det beter sig. Kan du hitta
något särskilt intressant startmönster? Är det här långivade mönster
verkligen evigt, eller dör det ut om det får köra riktigt länge? Går
det att hitta några bra tumregler för hur mönstret ska konstrueras för
att få ett visst utfall?
Det finns verkligen en del intressanta mönster. Prova det här t ex:
*
**
* *
Tyvärr är inte skärmutrymmet obegränsat. Särskilt antalet rader är
mycket mindre än man skulle önska. Man kan i programmet välja om det
som går ut på en sida av skärmen ska komma in på andra sidan, eller om
det bara ska vara tomrum utanför skärmen.
Jag har också lagt in möjlighet att variera reglerna för liv och död.
(Alla som hämtar programmet, ombedes förlänga mitt liv med ett år :-))
Man kan styra för varje kombination av antal levande grannar, och
mitt-cellens tillstånd, huruvida mitt-cellen ska vara död eller
levande i påföljande generation.
Ändrade regler gör förstår att cellerna inte längre uppför sig något
vidare som celler, utan man får något mer eller mindre annat.
Experimentera.
Vad som händer om man låter cellerna bli levande vid samtliga
kombinationer, eller dö dito, är ganska självklart, men vad händer
om man ändrar lite?
En sån här regelstyrd iterativ automat brukar generellt kallas
"cellular automaton". Cellular syftar på indelningen i rutor av
arbetsområdet, på vilka reglerna appliceras gång på gång, inte på
levande celler. Vet inte om det heter något på svenska. Det är ganska
fascinerande att försöka förstå och bemästra dessa små krabater.
Reglerna behöver inte bero på just antal grannar som här i LIFE, så
LIFE är bara ett exempel.
Man kan få en cellular automaton att utföra nyttiga uppgifter, typ
simulering av fysikaliska förlopp, beräkningar, eller databehandling!
Det går till och med att göra i LIFE, utan att mixtra med reglerna!
Följande redan i sig intressanta mönster, kan användas som en
"komponent" i en LIFE-datamaskin. Det kallas "glider gun":
*
* *
* ** *
** * ** **** *
** * ** **** *
* * * * **
* **** **
****
*
OBS: Mönster måste knappas in exakt som ovan. Placera det nere till
vänster. Kör utan hopkoppling av skärmkanterna, men i övrigt vanliga
regler. Hur man gör en dator av detta får bli hemuppgift.
För den som loggar inlägget till fil, går det bra att editera ut
mönstret, placera 15 blanka rader före, och allra först en rad med fem
mellanslag och 3 plustecken, och sen låta LIFE läsa in den filen.
Mer läsning i Scientific American Maj 1985 (kolla på biblioteket!).