AGENTBASERAD MODELLERING! Ändliga automater! Cellulära automater! Några illustrationer av variationsbredden! Conway s Game of Life! Gliders! Glider guns! Gliders som informationsbärare! Logiska operationer! Turingmaskin! Universell Turingmaskin! Sammanfattning Ändlig automat! Ändliga automater är den allra enklaste typen av abstrakta automater i andra änden av skalan finner vi Turingmaskiner, de mest avancerade! En ändlig automat har ett ändligt antal tillstånd Q = {q 0, q 1, q K } (för något heltal K!0)! Den får som input symboler som hör till ett ändligt alfabet! = {s 0, s 1, s M } (för något heltal M!0)! Varje gång den tar emot en symbol s som input går den över i ett tillstånd q som entydigt bestäms av det nuvarande tillståndet och vilken inputsymbolen är i enlighet med automatens Transitionsfunktion " ": Q"!#Q "(q gammalt, s) = q nytt
En transitionsfunktion! kan åskådliggöras i tabellform! Q = {q 0, q 1, q 2 }!! ={00, 01, 10, 11} " 00 01 10 11 q 0 q 1 q 2 q 0 q 2 q 1 q 1 q 0 q 1 q 2 q 2 q 2 q 2 q 1 q 1 Cellulära automater! En cellulär automat är ett en- eller fler-dimensionellt gitter med en likadan ändlig automat i varje nodpunkt " ofta 1-dimensionellt eller kvadratiskt gitter! Varje enskild automat tar som input det sammansatta tillståndet hos alla dess grannautomater " grannskapet (neighborhood) definieras enligt en bestämd grannskapsschablon! i ett kvadratiskt gitter används vanligen s.k. von Neumann-grannskap (4 grannar) eller Moore-grannskap (8 grannar)! ur teknisk synpunkt kan man förenkla notationen genom att baka in även automatens eget tillstånd i grannskapet, vi avstår dock från det här för tydlighetens skull " med K möjliga tillstånd hos varje automat och med N grannar i grannskapet, blir antalet totala grannskapstillstånd K N detta är alltså antalet symboler i automatens inputalfabet,!
Stor variationsrikedom! Transitionsfunktionen " ger automaternas nya tillstånd (motsvarande en tabell med K rader och K N kolumner, vilket ger K! K N = K N+1 tabellplatser att fylla med något tillstånd) " antalet möjliga olika " blir K (KN+1 )! med K=8, N=4 (von Neumann) blir det 10 30000! med K=2, N=8 (Moore) blir det 10 150! Även fördelningen av olika starttillstånd över gittret av automater kan ha mer eller mindre stor betydelse för utvecklingen över tiden! Har gittret en yttre gräns, eller inte? Det kan ge lite olika resultat " En vanlig metod om man vill ha ett ändligt gitter men ingen gräns (som komplicerar tillämpningen av " just där) är i fallet med ett kvadratiskt gitter att foga ihop den nordliga gränsen med den sydliga, och den västliga med den östliga så att man får vad topologer kallar en torus Olika startbetingelser
Självreproducerande mönster Begränsad tillväxt
Omröstning Härdning
Skapade artefakter En cellulär automat av andra ordningen
Reversering efter en liten störning Conway s Game of Life! En av de cirka 10 150 olika cellulära automater i ett kvadratiskt gitter som kan bildas med automater som har två tillstånd och Moore-grannskap! Två tillstånd: död och levande " kan visualiseras som två olika färger, exvis svart för levande och vit för död cell! I stället för att beskriva " i tabellform kan man sammanfatta automatens beteende i följande två regler: 1. DÖD: en levande cell förblir vid liv endast när den omges av 2 eller 3 levande grannar 2. FÖDELSE: en död cell kommer till liv när den omges av exakt 3 levande grannar
Utveckling Translaterande mönster, glidare
Exempel oscillatorer Den enklaste typen av translaterande mönster, glidare! Cirklar markerar levande celler " fyllda (svarta) överlever i nästa generation " ihåliga (ringar) dör i nästa generation! Punkter markerar (nu döda) celler som kommer till liv i nästa generation! Enskilda celler föds och dör! Men mönstret överlever en sorts liv av andra ordningen
Glider gun genererar nya glidare med jämna mellanrum Lätt rymdskepp! Ett annat exempel på självtranslaterande mönster rör sig rakt i förhållande till rutnätet
Glidare som binära siffror i en dataström Olika kollisionsscenarior för glidare! Scenario (b) kan användas för att skapa ett statiskt block i kollisionspunkten! Scenario (d) kan användas för att fullständigt förstöra en glidare utan något splitter
Skicka tillbaka Negera en binär dataström! bitströmmen 1 1 0 1 1 0 1 1 0! komplementeras här till 0 0 1 0 0 1 0 0 1
Logiska operationer Glesa ut en dataström
En Turingmaskin http://rendell-attic.org/gol/tmdetails.htm http://rendell-attic.org/gol/pictures/fsm.htm Universella Turingmaskiner kan konstrueras! http://rendell-attic.org/gol/pictures/stackcell.htm Sammanfattning! Cellulära automater kan användas för agentbaserad modellering: simulering av interaktioner mellan autonoma individer (av något slag) i ett nätverk för att studera effekten på systemet som helhet " nätverksstrukturer i terroristorganisationer, krig, börskrascher, social segregering, strukturer på webben, under vilka betingelser samarbete uppstår eller inte! Cellulära automater består av ett gitter av ändliga automater, alla med samma transitionsregler! Cellulära automater används bl.a. för modellera biologiska och sociologiska system och ingår som en av standardteknikerna inom Artificiellt Liv " olika former av liv och livsprocesser eller livsliknande beteenden, utveckling av liv, skogsbränder, kemi, fysik,
Sammanfattning! Cellulära automater kan också i vissa fall användas som substrat för regelrätta beräkningar i klassisk mening! Conway s Game of Life är ett exempel: denna oerhört enkla cellulära automat ger en miljö tillräckligt rik på dynamik men samtidigt också tillräckligt stabil för att möjliggöra full Turingmaskinberäkningsbarhet