AGENTBASERAD MODELLERING

Relevanta dokument
Programmeringsuppgift Game of Life

Automater. Matematik för språkteknologer. Mattias Nilsson

Conways Game of life: Att simulera några av livets egenskaper genom en datorprogram

Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Grafik. TDDC66 Datorsystem och programmering Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

LABORATION 4 OBJEKTORIENTERAD PROGRAMMERING I C++ I

Symboler och abstrakta system

Repetition och sammanfattning av syntes och analys av sekvensnät

Turingmaskinen - en abstrakt datormodell

Grunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY

1, 2, 3, 4, 5, 6,...

Nonogram

Idag: Reguljära språk Beskrivs av Reguljära uttryck DFA Grammatik

Faktorisering med hjälp av kvantberäkningar. Lars Engebretsen

Faktorisering med hjälp av kvantberäkningar. Lars Engebretsen

D. x 2 + y 2 ; E. Stockholm ligger i Sverige; F. Månen är en gul ost; G. 3 2 = 6; H. x 2 + y 2 = r 2.

DAB760: Språk och logik

Vinjetter TDDC91 Datastrukturer och algoritmer

ÖREBRO UNIVERSITET Handelshögskolan - Informatik Anders Avdic Svenssons metod manual

Upprepade mönster kan talen bytas ut mot bokstäverna: A B C A B C eller mot formerna: Anna-Lena Ekdahl, Högskolan i Jönköping

Sats 1. En direkt isometri är en translation eller en rotation.

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

SIMULERING. Vad är simulering?

MÄLARDALENS HÖGSKOLA. CD5560 Formella språk, automater och beräkningsteori. Användarmanual. för simulatorn JFLAP

inte följa någon enkel eller fiffig princip, vad man nu skulle mena med det. All right, men

Sammanfattning Arv och Evolution

En parallellogram har delats i två delar P och Q som figuren visar. Vilket av följande påståenden är säkert sant?

Föreläsning 11 - Automater, textsökning, tillstånd

Grunderna i programmering - loopar 3 av 6

Jordbävningar en enkel modell

F5 Introduktion till digitalteknik

Regressionsmodellering inom sjukförsäkring

Innehåll. Mina målsättningar. Vad krävs för att nå dit? Obligatoriska uppgifter. Websajten. Datastrukturer och algoritmer

Funktioner och kombinatoriska tillämpningar. Mars

Lite mer psykologi. L2: Automater, Sökstrategier. Top-down. Kimballs sju principer

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Schellings segregationsmodell - en simuleringsstudie

Kenguru 2019 Cadet (åk 8 och 9)

Shannon-Fano-Elias-kodning

Anteckningar propp SMT2

Föreläsning 1. Introduktion. Vad är en algoritm?

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

Programmeringsprojekt, STS1

Kängurun Matematikens hopp Gymnasiets Cadet 2006 A: 0 B: 2006 C: 2014 D: 2018 E: 4012

Matematisk modellering - Projekt. djurförflyttningar. Viktor Griph Anders Jonsson

Strategier för urval av sjöar som ska ingå i den sexåriga omdrevsinventeringen av vattenkvalitet i svenska sjöar

.I Minkowskis gitterpunktssats

Vad är rättvisa skatter?

DATORER OCH PROGRAM. Datorn är en symbolmaskin

Programmering för språkteknologer II. OH-serie: Ändliga automater. reguljära uttryck i Java. Deterministiska ändliga automater

Trepoängsproblem. Kängurutävlingen 2019 Cadet. 1 Vilket moln innehåller endast jämna tal? A B C D E

Arbeta vidare med aritmetik 2018

Möjligheternas dag årskurs F-1

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik

Vinjetter TDDC91 Datastrukturer och algoritmer

Modeller och simulering av språkprocessning

Sub-symbolisk kognition & Konnektionism. Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén,

PYTHAGORAS Q U E S T

Tentamen i EDA320 Digitalteknik för D2

7, Diskreta strukturer

Hur implementera algoritmerna på maskinnivå - datorns byggstenar

P(X nk 1 = j k 1,..., X n0 = j 0 ) = j 1, X n0 = j 0 ) P(X n0 = j 0 ) = etc... P(X n0 = j 0 ) ... P(X n 1

Tentamen i Digitalteknik, EIT020

Åldersbestämning av träd

DIG IN TO Administration av nätverk- och serverutrustning

Kombinatorik. Kapitel 2. Allmänt kan sägas att inom kombinatoriken sysslar man huvudsakligen med beräkningar av

b) S Ø aa, A Ø aa» bb, B Ø aa» bc, C Ø ac» bc» 2. Låt L vara språket över 8a< som nedanstående NFA accepterar.

Optimering av olika slag används inom så vitt skilda områden som produktionsplanering,

Student för elever på kurs Ma 4 och Ma 5

Block 1 - Mängder och tal

SJÄLVSTÄNDIGA ARBETEN I MATEMATIK

De mänskliga rättigheterna, deras innebörd och betydelse, inklusive barnets rättigheter i enlighet med barnkonventionen.

Matematik klass 2. Höstterminen. Anneli Weiland Matematik åk 2 HT 1

Sannolikhetslära. 1 Enkel sannolikhet. Grunder i matematik och logik (2015) 1.1 Sannolikhet och relativ frekvens. Marco Kuhlmann

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor

Episoderna i denna artikel är hämtade

Övningshäfte 1: Logik och matematikens språk

Skurlängdskodning. aaaabbbbbbbccbbbbaaaa. Man beskriver alltså sekvensen med ett annat alfabet än det ursprungliga.

Att fånga den akustiska energin

kvoten mellan två på varandra följande tal i en talföljd är konstant alltid lika stor.

Arkitektur och teknik, Teknisk fysik, Teknisk matematik Antagningsprov MATEMATIK

Föreläsning G60 Statistiska metoder

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

Kapitel 10. Vätskor och fasta faser

Maskar finess viktigt!

GÖTEBORGS UNIVERSITET Institutionen för fysik Curt Nyberg, Igor Zoric

Laboration 1 - Utjämning med Makehams formel

Visualisering av samverkan

Neurovetenskap 30/08/2013. Kognitiv neurovetenskap. Lober. Olika färg, olika vävnadsstruktur. Hjärnbarken

Aritmetisk kodning. F (0) = 0 Exempel: A = {1, 2, 3} k=1. Källkodning fö 5 p.1/12

Tentamen i Digitalteknik, EITF65

Grundläggande programmeringsteknik Datorsystem

VARFÖR FINNS DET INGA RIKTIGA

TMV166 Linjär algebra för M. Datorlaboration 2: Matrisalgebra och en mekanisk tillämpning

Kapitel 10. Vätskor och fasta faser

Att orientera i den närliggande natur- och utemiljön med hjälp av kartor, såväl med som utan digitala verktyg. Kartors uppbyggnad och symboler.

Golv, Tapeter, och andra Mönster

Optimering och simulering: Hur fungerar det och vad är skillnaden?

Transkript:

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