Föreläsning 3 Flashcards

1
Q

Vad är en “bra” modell?

A

Svaret som vi vill få, med tillräcklig tillförlitlighet med lägst ansträngning är en bra modell. Modellen skall kunna återskapas och få samma svar. Den skall kunna användas för att simulera den, vill inte ha en spagetti-model. Om den är bra beror på simulerings objektet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vad är egenskaperna för en bra modell?

A

Den ska vara tillräckligt “valid”, möjlig att återskapa, enkel (KISS principen), omfattande, genomförbar, flexibel och enkel att hålla igång.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vad är tre viktiga steg när man skapar en modell?

A

Upprätta en design, implementera den, testa och kalibrera modellen. Processen är sällan linjär utan den är utforskande/exploratory. Man gör ett “huge” concept och sen testar man, sen är man redo och kan konsolidera. Skapar en design, implementerar den och sedan testar man och slutligen gör man kalibreringar utifrån testningen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vad innebär Exploration stadiet?

A

Modellen utvecklas som en agil process, det finns ett syfte och vissa antaganden. Det förs diskussioner och genomförs prototyper.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vad innebär Consolidation stadiet?

A

Detta är händelsen där man kombinera flera olika händelser och data till en sammanställning. Simuleringens resultatet dokumenteras.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Hur hör Exploration och Consolidation ihop?

A

De tillsammans används för att utveckla modellen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vad används data för?

A

Data används för att

  • upplysa hur modellstrukturen/designen skall vara.
  • Generera en start situation
  • Ge input till modellen under simuleringen
  • sätta parametrar

Data som produceras av ett verkligt system används för kalibrering, testning och validering.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Vilka modelleringsstrategier finns?

A

KISS, KIDS, Tapas, Pattern-oriented.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Vad är KISS?

A

Här startar man med den mest enkla modellen och utvecklar den.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Vad är KIDS?

A

Här startar man med en beskrivande modell och försöker förenkla den.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Vad är TAPAS?

A

Här tar man en existerande modell och försöker anpassa den. Hon tycker inte om TAPAS, det fungerar inte enligt henne om man inte fullt förstår modellen och konceptet. Man kan inte modifiera den utan att man fullt ut förstår modellen. Man måste fullt ut förstå en modell innan man börjar justera den.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Vad är pattern-Oriented?

A

Denna innebär att man hittar ett mönster i datan och modifierar modellen tills man kan fånga all data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Vilka steg är viktiga när man skall skapa en design för modellen?

A

Bestämma vilka typer av agenter som skall finnas
Bestämma vilka egenskaper agenterna skall ha
Bestämma karakteristika av miljön samt de stationära agenterna
Bestämma beteendet av agenterna
Designa ett tidssteg
Bestämma vilka parametrar som modellen skall ha
Bestämma vilka variabler man skall ha

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Vilka approcher kan man ha när man skapar modellen?

A

Agent-baserad, Interaktions-baserad, Process-baserad och miljömässig-baserad.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Agent-centrerad approach:

A

Här observerar man agenter i den verkliga världen och baserad en agent-modell, som testas genom att köra simuleringen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Interaktions-centrerad:

A

Här använder man en fågelsyn och observerar alla interaktioner som sker mellan de olika entities. Man beskriver dessa interaktion och skapar agenter som interagerar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Process-centrerad

A

Här startar man från att beskriva den övergripande processerna, man identifierar aktörerna och distribuerar delprocesserna till agenterna.

18
Q

Environmental-centrerad:

A

Fokus är på miljön där vi kollar om objektet relaterar till miljömässiga uppsättningar, hur agerar agenterna med miljön och hur agenterna påverkas av miljön.

19
Q

Ego-Perspective

A

Man utgår från en agent där man konceptualiserar dess beteende.

20
Q

Varför är det viktigt att dokumentera och förklara vilka beslut man tar?

A

enkelt att gå tillbaka och reflektera varför vissa beslut togs.

21
Q

Hur väljer men vilket modellerings- och simuleringsverktyg man skall använda?

A

Det beror på syftet och uppfattningen, den totala kostnaden måste balanseras mot komplexiteten av modellen som skall studeras. Det vill säga att vi använder inte dyra och komplexa verktyg för att studera enkla modeller och system. Viktigt att vara medveten om implicita/indirekta antaganden, då det är viktigt att veta hur virtuell parallellism implementeras.

22
Q

Vad är Virtuell Parallelism?

A

Virtual parallelism refers to the way how - when implementing an agent-based simulation - the agents are updated / update themselves. In real world, all the agents think and act at the same time. If we want to map that to a computer, we would need to have one processor per agent, so that they could really think and act at the same time. Yet, this is practically not possible. So, we need to map the agent update to one processor –> “virtual parallelism”

23
Q

Vad är de tre lösningarna för virtuell parallelism?

A
  • Separera perception och decison making i två uppdateringsrundor”
  • “En fullständig sekventiell uppdatering där uppdateringsföljden (update sequence) är shuffeled”
  • “Fullständig sekventiell uppdatering med förutbestämd uppdateringsföljd”
24
Q

För- och nackdelar med “Separera perception och decison making i två uppdateringsrundor”:

A

Advantage – Effektiv, alla agenter agerar samtidigt.

Disadvantage – Finns risk för att agenter väljer att göra ”samma sak” fast det inte borde vara möjligt. Exempelvis vid en modellering där agenter ska flytta runt i ett rutsystem och där det får bara vara max en agent i varje ruta. Risk att två eller fler agenter väljer att röra sig mot en och samma ruta efter att de har utfört perceptionsteget. Detta gör att denna lösning kan bli väldigt komplex. Consequence - det finns risk att det blir få agenter som får möjlighet att agera om det är ”trångt” i modellen. Agenter kan låser agenter.

25
Q

För- och nackdelar med “En fullständig sekventiell uppdatering där uppdateringsföljden (update sequence) är shuffeled”:

A

Advantage – Ofta tillräckligt, om inte oförutsedd saker händer kommer resultatet ofta att bli bra.

Disadvantage – I och med att uppdateringssekvensen blir slumpad (shuffled) så kommer det att finnas en viss stokastisk (slumpad) faktor i det hela. Detta kan leda till förvånande effekter och att det är svårt att genomföra debugging. Consequence – det är möjligt att den slumpmässiga ordningen får konstiga effekter (både ”bra” och ”dåliga”) på resultatet.

26
Q

För- och nackdelar med “Fullständig sekventiell uppdatering med förutbestämd uppdateringsföljd”

A

Advantage – Svårt att hitta fördel, om man har en väldigt enkel modell, exempelvis en kö till en butik, kan den denna lösningen funka bra då det är lätt att bestämma ordningen, exempelvis längst fram först och sen går turordningen bakåt i kön.

Disadvantage – I och med att ordningen förutbestämda så finns risken att modelleraren (personen som skapar modellen) oavsiktligt manipulerar resultatet. Jag menar att modellerarens beslut av ordning har en inverkan på resultatet trots att detta inte är avsiktligt. Consequence – man måste lägga mycket tid på att fundera vilken ordning som ska användas.

27
Q

Errors and Artefacts

A

En error är en felmatchning mellan vad utvecklaren tror modellen är och vad den faktiskt är, man skriver alltså fel i koden och då överensstämmer inte modellen med specifikationen. En artefakt är resultatet av felaktiga och fel uppfattade länkar, man har och utgår från felaktiga antaganden som gör att resultatet blir felaktigt. To put it simply, an artifact is a by-product of software development. It’s anything that is created so a piece of software can be developed. This might include things like data models, diagrams, setup scripts — the list goes on.

28
Q

Testing och Debugging:

A

Animering är ett viktig verktyg för att debugga. Skall omfatta alla nivåer, individuella agenter samt samlingar av flera observationer.

29
Q

Verification:

A

Handlar om att man skall implementera modellen på rätt sätt, man ska inte göra några misstag när man överför sin modell i ren kod. Tipsen är att ha en tydlig och “ren kod”, den skall inkludera mycket output och diagnostisk för detta, observera simuleringen steg för steg, kommentera och uppdatera samt testa.

30
Q

Validity

A

Validering är den process för att bestämma om simuleringen av en modell är en korrekt representation av systemet, speciellt för studiens objectives. Validity är en grundläggande nödvändighet för att resultatet av simuleringen skall vara applicerbara. Finns flera metoder för att validera olika faser i modelleringsprocessen. I praktiken är validitet inte Boolean (sant eller falskt). Har man inte data i resultatet utesluter man att man inte har några artefakter genom att testa eller använda känslighetsanalyser. Detta skiljer sig mot verification då verification är mer för att se om modellen förhåller sig bra till en annan. Lämna aldrig “common sense” utanför denna analys och validering.

31
Q

Vilka olika typer/nivåer av validity finns det?

A

Face-, Empirisk-, Beteende- och strukturell validitet.

32
Q

Face Validity:

A

Human expert checks whether model structure and model outcome are reasonable. Detta genomförs på informella sätt, tidigt i processen och förlitar sig på teknik som omdömen och revisioner. Denna är den billiga (Tekniskt)

33
Q

Empirical Validity:

A

Databaserad validering som använder statistiska tekniker. (Tekniskt)

34
Q

Behavioral Validity

A

Berör det dynamiska i modellen, ett input-output beteende. Kan bestämma för hela systemet eller bara delar av det, samt enskilda agenter. (Modell-aspekten)

35
Q

Structural Validity

A

Berör den övergripande designen/strukturen av modellen, relationerna mellan variablerna, agenterna. Denna berör också agent arkitekturen. (Modell-aspekten)

36
Q

Sensitivity Analysis/känslighetsanalys

A

Input till output, man justerar sin input för att få en viss output. Man justerar sina ingående parametrar och variabler för att få en viss output.

37
Q

Kalibrering/Calibration

A

Output till input för att vi vill ha visst output, man kalibrerar så man får ett visst relation. Man vet vilken output man vill ha, därav behöver inputen justeras för att få detta. Ofta för många frihetsgrader, sprödhet av modellen, beroendeförhållande.

38
Q

Vad är en bra dokumentation?

A

Fullständig och tillräcklig detaljerad, strukturerad, läsbar för flera olika typer av personer, gör det möjligt att göra om experimentet och få samma resultat.

39
Q

Vad står ODD för?

A

Overview, Design, Details. Kom som ett gensvar på att ABS inte kan återskapas. Ett generellt schema för hur en modell skall dokumenteras, främst för individuellt baserade modeller.

40
Q

Vilka element ingår i ODD?

A

Basics principles, emergence, adaptation, objectives, learning, prediction, sensing, interaktion, stochasticity, collections och observations.

41
Q

Vad är viktigaste att se upp för när man skall använda ABMs?

A
  • Kolla vad som är en lämplig nivå av lösning
  • Modellens komplexitet och sprödhet
  • Skalbarhet av antaganden
  • Teknisk skalbarhet
  • Använda unbiased och enkla verktyg
  • Systematisk testning
  • Effektiv kalibrering
  • Dokumentering för replikering och återanvändning
42
Q

Vilka är de traditionella sakerna man inte skall göra när man simulerar?

A
  1. Att man inte har tydligt definierade objectives i början av simuleringen
  2. Olämpliga nivåer av detaljeringen i modellen
  3. Agerar som att simulering bara är en programmeringsövning
  4. Misslyckas att samla in lämplig data för det originella systemet
  5. Olämpliga simuleringsverktyg
  6. Misslyckade att beräkna det slumpmässiga
  7. Olämpligt output data analys.