Föreläsning 3 Flashcards
(42 cards)
Vad är en “bra” modell?
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.
Vad är egenskaperna för en bra modell?
Den ska vara tillräckligt “valid”, möjlig att återskapa, enkel (KISS principen), omfattande, genomförbar, flexibel och enkel att hålla igång.
Vad är tre viktiga steg när man skapar en modell?
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.
Vad innebär Exploration stadiet?
Modellen utvecklas som en agil process, det finns ett syfte och vissa antaganden. Det förs diskussioner och genomförs prototyper.
Vad innebär Consolidation stadiet?
Detta är händelsen där man kombinera flera olika händelser och data till en sammanställning. Simuleringens resultatet dokumenteras.
Hur hör Exploration och Consolidation ihop?
De tillsammans används för att utveckla modellen.
Vad används data för?
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.
Vilka modelleringsstrategier finns?
KISS, KIDS, Tapas, Pattern-oriented.
Vad är KISS?
Här startar man med den mest enkla modellen och utvecklar den.
Vad är KIDS?
Här startar man med en beskrivande modell och försöker förenkla den.
Vad är TAPAS?
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.
Vad är pattern-Oriented?
Denna innebär att man hittar ett mönster i datan och modifierar modellen tills man kan fånga all data.
Vilka steg är viktiga när man skall skapa en design för modellen?
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
Vilka approcher kan man ha när man skapar modellen?
Agent-baserad, Interaktions-baserad, Process-baserad och miljömässig-baserad.
Agent-centrerad approach:
Här observerar man agenter i den verkliga världen och baserad en agent-modell, som testas genom att köra simuleringen.
Interaktions-centrerad:
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.
Process-centrerad
Här startar man från att beskriva den övergripande processerna, man identifierar aktörerna och distribuerar delprocesserna till agenterna.
Environmental-centrerad:
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.
Ego-Perspective
Man utgår från en agent där man konceptualiserar dess beteende.
Varför är det viktigt att dokumentera och förklara vilka beslut man tar?
enkelt att gå tillbaka och reflektera varför vissa beslut togs.
Hur väljer men vilket modellerings- och simuleringsverktyg man skall använda?
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.
Vad är Virtuell Parallelism?
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”
Vad är de tre lösningarna för virtuell parallelism?
- 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”
För- och nackdelar med “Separera perception och decison making i två uppdateringsrundor”:
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.