Skip to content

Commit 8de375e

Browse files
committed
Change IterationResult
1 parent 60ec5a2 commit 8de375e

File tree

12 files changed

+127
-78
lines changed

12 files changed

+127
-78
lines changed

Symu examples/SymuBeliefsAndInfluence/Classes/ExampleEnvironment.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public override void SetOrganization(OrganizationEntity organization)
5353
organization.Murphies.IncompleteBelief.On = true;
5454
organization.Murphies.IncompleteBelief.RateOfAgentsOn = 1;
5555
IterationResult.Tasks.On = true;
56-
IterationResult.OrganizationKnowledgeAndBelief.On = true;
56+
IterationResult.KnowledgeAndBeliefResults.On = true;
5757
IterationResult.OrganizationFlexibility.On = true;
5858

5959
// Interaction sphere setup

Symu examples/SymuBeliefsAndInfluence/Home.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,10 +159,10 @@ private void UpdateAgents()
159159
_environment.IterationResult.OrganizationFlexibility.Triads.First().Density
160160
.ToString("F1", CultureInfo.InvariantCulture));
161161
WriteTextSafe(TotalBeliefs,
162-
_environment.IterationResult.OrganizationKnowledgeAndBelief.Beliefs.Last().Sum
162+
_environment.IterationResult.KnowledgeAndBeliefResults.Beliefs.Last().Sum
163163
.ToString("F1", CultureInfo.InvariantCulture));
164164
WriteTextSafe(InitialTotalBeliefs,
165-
_environment.IterationResult.OrganizationKnowledgeAndBelief.Beliefs.First().Sum
165+
_environment.IterationResult.KnowledgeAndBeliefResults.Beliefs.First().Sum
166166
.ToString("F1", CultureInfo.InvariantCulture));
167167
var tasksDoneRatio = _environment.Schedule.Step * _environment.WorkersCount < Tolerance
168168
? 0

Symu examples/SymuBeliefsAndInfluenceTests/IntegrationTests.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public void NoBeliefTest()
5656
{
5757
_environment.KnowledgeCount = 0;
5858
_simulation.Process();
59-
Assert.AreEqual(0, _environment.IterationResult.OrganizationKnowledgeAndBelief.Beliefs.First().Sum);
59+
Assert.AreEqual(0, _environment.IterationResult.KnowledgeAndBeliefResults.Beliefs.First().Sum);
6060
Assert.AreEqual(100, _environment.IterationResult.OrganizationFlexibility.Triads.First().Density);
6161
}
6262

@@ -69,7 +69,7 @@ public void HasBeliefsTest()
6969
_environment.InfluencerTemplate.Cognitive.KnowledgeAndBeliefs.HasBelief = false;
7070
_environment.WorkerTemplate.Cognitive.KnowledgeAndBeliefs.HasBelief = false;
7171
_simulation.Process();
72-
Assert.AreEqual(0, _environment.IterationResult.OrganizationKnowledgeAndBelief.Beliefs.First().Sum);
72+
Assert.AreEqual(0, _environment.IterationResult.KnowledgeAndBeliefResults.Beliefs.First().Sum);
7373
Assert.AreEqual(100, _environment.IterationResult.OrganizationFlexibility.Triads.First().Density);
7474
}
7575

@@ -201,8 +201,8 @@ public void NoInfluenceabilityTest()
201201

202202
private void CheckNoChange()
203203
{
204-
Assert.AreEqual(_environment.IterationResult.OrganizationKnowledgeAndBelief.Beliefs.First().Sum,
205-
_environment.IterationResult.OrganizationKnowledgeAndBelief.Beliefs.Last().Sum);
204+
Assert.AreEqual(_environment.IterationResult.KnowledgeAndBeliefResults.Beliefs.First().Sum,
205+
_environment.IterationResult.KnowledgeAndBeliefResults.Beliefs.Last().Sum);
206206
Assert.AreEqual(_environment.IterationResult.OrganizationFlexibility.Triads.First().Density,
207207
_environment.IterationResult.OrganizationFlexibility.Triads.Last().Density);
208208
}
@@ -303,10 +303,10 @@ public void StronglyDisagreeTest()
303303
_environment.InfluencerTemplate.Cognitive.KnowledgeAndBeliefs.DefaultBeliefLevel =
304304
BeliefLevel.StronglyDisagree;
305305
_simulation.Process();
306-
Assert.IsTrue(_environment.IterationResult.OrganizationKnowledgeAndBelief.Beliefs.First().Sum >
307-
_environment.IterationResult.OrganizationKnowledgeAndBelief.Beliefs.Last().Sum);
308-
Assert.IsTrue(_environment.IterationResult.OrganizationKnowledgeAndBelief.Beliefs.First().Mean >
309-
_environment.IterationResult.OrganizationKnowledgeAndBelief.Beliefs.Last().Mean);
306+
Assert.IsTrue(_environment.IterationResult.KnowledgeAndBeliefResults.Beliefs.First().Sum >
307+
_environment.IterationResult.KnowledgeAndBeliefResults.Beliefs.Last().Sum);
308+
Assert.IsTrue(_environment.IterationResult.KnowledgeAndBeliefResults.Beliefs.First().Mean >
309+
_environment.IterationResult.KnowledgeAndBeliefResults.Beliefs.Last().Mean);
310310
Assert.IsTrue(_environment.IterationResult.OrganizationFlexibility.Triads.First().Density <=
311311
_environment.IterationResult.OrganizationFlexibility.Triads.Last().Density);
312312
}
@@ -326,10 +326,10 @@ public void StronglyAgreeTest()
326326
_environment.InfluencerTemplate.Cognitive.KnowledgeAndBeliefs.DefaultBeliefLevel =
327327
BeliefLevel.StronglyAgree;
328328
_simulation.Process();
329-
Assert.IsTrue(_environment.IterationResult.OrganizationKnowledgeAndBelief.Beliefs.First().Sum <
330-
_environment.IterationResult.OrganizationKnowledgeAndBelief.Beliefs.Last().Sum);
331-
Assert.IsTrue(_environment.IterationResult.OrganizationKnowledgeAndBelief.Beliefs.First().Mean <
332-
_environment.IterationResult.OrganizationKnowledgeAndBelief.Beliefs.Last().Mean);
329+
Assert.IsTrue(_environment.IterationResult.KnowledgeAndBeliefResults.Beliefs.First().Sum <
330+
_environment.IterationResult.KnowledgeAndBeliefResults.Beliefs.Last().Sum);
331+
Assert.IsTrue(_environment.IterationResult.KnowledgeAndBeliefResults.Beliefs.First().Mean <
332+
_environment.IterationResult.KnowledgeAndBeliefResults.Beliefs.Last().Mean);
333333
Assert.IsTrue(_environment.IterationResult.OrganizationFlexibility.Triads.First().Density <
334334
_environment.IterationResult.OrganizationFlexibility.Triads.Last().Density);
335335
}

Symu examples/SymuLearnAndForget/Classes/ExampleEnvironment.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public override void SetOrganization(OrganizationEntity organization)
4343

4444
var wiki = new DataBaseEntity(organization.Id, organization.Communication.Email);
4545
organization.AddDatabase(wiki);
46-
IterationResult.OrganizationKnowledgeAndBelief.On = true;
46+
IterationResult.KnowledgeAndBeliefResults.On = true;
4747

4848
SetDebug(false);
4949
}

Symu examples/SymuLearnAndForget/Home.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -264,22 +264,22 @@ public override void DisplayStep()
264264

265265
// Global Knowledge - using iteration result
266266

267-
lock (_environment.IterationResult.OrganizationKnowledgeAndBelief.Knowledge)
267+
lock (_environment.IterationResult.KnowledgeAndBeliefResults.Knowledge)
268268
{
269-
if (!_environment.IterationResult.OrganizationKnowledgeAndBelief.Knowledge.Any())
269+
if (!_environment.IterationResult.KnowledgeAndBeliefResults.Knowledge.Any())
270270
{
271271
return;
272272
}
273273
}
274274

275275

276-
var knowledge = _environment.IterationResult.OrganizationKnowledgeAndBelief.Knowledge.Last();
276+
var knowledge = _environment.IterationResult.KnowledgeAndBeliefResults.Knowledge.Last();
277277
WriteTextSafe(lblGlobalKnowledge, knowledge.Sum.ToString("F1", CultureInfo.InvariantCulture));
278-
var obsolescence = _environment.IterationResult.OrganizationKnowledgeAndBelief.KnowledgeObsolescence.Last();
278+
var obsolescence = _environment.IterationResult.KnowledgeAndBeliefResults.KnowledgeObsolescence.Last();
279279
WriteTextSafe(lblGlobalObsolescence, obsolescence.Sum.ToString("F1", CultureInfo.InvariantCulture));
280-
var learning = _environment.IterationResult.OrganizationKnowledgeAndBelief.Learning.Last();
280+
var learning = _environment.IterationResult.KnowledgeAndBeliefResults.Learning.Last();
281281
WriteTextSafe(lblGlobalLearning, learning.Sum.ToString("F1", CultureInfo.InvariantCulture));
282-
var forgetting = _environment.IterationResult.OrganizationKnowledgeAndBelief.Forgetting.Last();
282+
var forgetting = _environment.IterationResult.KnowledgeAndBeliefResults.Forgetting.Last();
283283
WriteTextSafe(lblGlobalForgetting, forgetting.Sum.ToString("F1", CultureInfo.InvariantCulture));
284284
}
285285

Symu examples/SymuLearnAndForgetTests/IntegrationTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,9 +276,9 @@ public void ModelsOffTest()
276276
{
277277
_organization.Models.Learning.On = false;
278278
_simulation.Process();
279-
var global = _environment.IterationResult.OrganizationKnowledgeAndBelief.Learning.Last();
279+
var global = _environment.IterationResult.KnowledgeAndBeliefResults.Learning.Last();
280280
Assert.AreEqual(0, global.Sum);
281-
global = _environment.IterationResult.OrganizationKnowledgeAndBelief.Forgetting.Last();
281+
global = _environment.IterationResult.KnowledgeAndBeliefResults.Forgetting.Last();
282282
Assert.AreEqual(0, global.Sum);
283283
}
284284

Symu source code/Symu/Classes/Agents/Models/CognitiveModels/ForgettingModel.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ namespace Symu.Classes.Agents.Models.CognitiveModels
3030
public class ForgettingModel : ModelEntity
3131
{
3232
private readonly AgentId _id;
33-
private readonly KnowledgeAndBeliefs _knowledgeAndBeliefs;
3433
private readonly NetworkKnowledges _network;
3534
private readonly byte _randomLevel;
3635
private bool _isAgentOnToday;
@@ -49,9 +48,8 @@ public ForgettingModel(ModelEntity entity, bool knowledgeModelOn, CognitiveArchi
4948
}
5049

5150
InternalCharacteristics = cognitive.InternalCharacteristics;
52-
_knowledgeAndBeliefs = cognitive.KnowledgeAndBeliefs;
5351
_randomLevel = randomLevel;
54-
if (!knowledgeModelOn || !_knowledgeAndBeliefs.HasKnowledge || !InternalCharacteristics.CanForget)
52+
if (!knowledgeModelOn || !cognitive.KnowledgeAndBeliefs.HasKnowledge || !InternalCharacteristics.CanForget)
5553
{
5654
// If KnowledgeModel Off or has no knowledge, there is no knowledge to forget
5755
// Agent is not concerned by this model

Symu source code/Symu/Environment/SymuEnvironment.cs

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,6 @@ public void NextStep()
303303

304304
if (Schedule.Type <= TimeStepType.Monthly && Schedule.IsEndOfMonth)
305305
{
306-
SetMonthlyIterationResult();
307306
agents.ForEach(a => a.ActEndOfMonth());
308307
if (Organization.Models.InteractionSphere.FrequencyOfSphereUpdate ==
309308
TimeStepType.Monthly && Schedule.Step > 0)
@@ -333,17 +332,6 @@ public void SetInteractionSphere(bool initialization)
333332
WhitePages.Network.InteractionSphere.SetSphere(initialization, agentIds, WhitePages.Network);
334333
}
335334

336-
/// <summary>
337-
/// CopyTo monthly iterationResult
338-
/// </summary>
339-
public virtual void SetMonthlyIterationResult()
340-
{
341-
// Flexibility
342-
IterationResult.OrganizationFlexibility.HandlePerformance(Schedule.Step);
343-
// Knowledge
344-
IterationResult.OrganizationKnowledgeAndBelief.HandlePerformance(Schedule.Step);
345-
}
346-
347335
/// <summary>
348336
/// Trigger every event before the new step
349337
/// Do not send messages, use NextStep for that
@@ -356,13 +344,13 @@ public void PreStep()
356344

357345
/// <summary>
358346
/// Trigger every event after the actual step
359-
/// Trigger Agent.PostStep()
347+
/// Trigger Agent.SetResults()
360348
/// </summary>
361349
public void PostStep()
362350
{
363351
WhitePages.AllAgents().ToList().ForEach(a => a.PostStep());
364352
Messages.ClearMessagesSent(Schedule.Step);
365-
IterationResult.PostStep();
353+
IterationResult.SetResults();
366354
Schedule.Step++;
367355
}
368356

Symu source code/Symu/Results/IterationResult.cs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public IterationResult(SymuEnvironment environment)
2929
{
3030
Environment = environment ?? throw new ArgumentNullException(nameof(environment));
3131
OrganizationFlexibility = new OrganizationFlexibility(Environment);
32-
OrganizationKnowledgeAndBelief = new OrganizationKnowledgeAndBelief(Environment);
32+
KnowledgeAndBeliefResults = new KnowledgeAndBeliefResults(Environment);
3333
}
3434

3535
/// <summary>
@@ -57,7 +57,7 @@ public IterationResult(SymuEnvironment environment)
5757
/// <summary>
5858
/// Get the knowledge and Belief performance for the group
5959
/// </summary>
60-
public OrganizationKnowledgeAndBelief OrganizationKnowledgeAndBelief { get; }
60+
public KnowledgeAndBeliefResults KnowledgeAndBeliefResults { get; }
6161

6262
/// <summary>
6363
/// Get the Task blockers metrics
@@ -81,7 +81,7 @@ public IterationResult(SymuEnvironment environment)
8181
public virtual void Initialize()
8282
{
8383
OrganizationFlexibility.Clear();
84-
OrganizationKnowledgeAndBelief.Clear();
84+
KnowledgeAndBeliefResults.Clear();
8585
Blockers.Clear();
8686
Tasks.Clear();
8787
Messages.Clear();
@@ -100,19 +100,21 @@ public virtual void Initialize()
100100
/// Triggered at each end of step by SymuEnvironment.
101101
/// Use to process metrics
102102
/// </summary>
103-
public void PostStep()
103+
public void SetResults()
104104
{
105105
Tasks.SetResults(Environment);
106106
Blockers.SetResults(Environment);
107107
Messages.SetResults(Environment);
108+
KnowledgeAndBeliefResults.SetResults(Environment.Schedule);
109+
OrganizationFlexibility.SetResults(Environment.Schedule);
108110
}
109111

110112
public IterationResult Clone()
111113
{
112114
var clone = new IterationResult(Environment);
113115
clone.Initialize();
114116
OrganizationFlexibility.CopyTo(clone.OrganizationFlexibility);
115-
OrganizationKnowledgeAndBelief.CopyTo(clone.OrganizationKnowledgeAndBelief);
117+
KnowledgeAndBeliefResults.CopyTo(clone.KnowledgeAndBeliefResults);
116118
Blockers.CopyTo(clone.Blockers);
117119
Tasks.CopyTo(clone.Tasks);
118120
Messages.CopyTo(clone.Messages);
@@ -134,7 +136,7 @@ public IterationResult Clone()
134136
public virtual void On()
135137
{
136138
OrganizationFlexibility.On = true;
137-
OrganizationKnowledgeAndBelief.On = true;
139+
KnowledgeAndBeliefResults.On = true;
138140
Tasks.On = true;
139141
Blockers.On = true;
140142
Messages.On = true;
@@ -146,7 +148,7 @@ public virtual void On()
146148
public virtual void Off()
147149
{
148150
OrganizationFlexibility.On = false;
149-
OrganizationKnowledgeAndBelief.On = false;
151+
KnowledgeAndBeliefResults.On = false;
150152
Tasks.On = false;
151153
Blockers.On = false;
152154
Messages.On = false;

0 commit comments

Comments
 (0)