Skip to content

Commit

Permalink
Refactoring Iterationresults
Browse files Browse the repository at this point in the history
  • Loading branch information
lmorisse committed May 29, 2020
1 parent 5c7ee44 commit 61ea6d8
Show file tree
Hide file tree
Showing 17 changed files with 150 additions and 167 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,13 @@ public override void SetOrganization(OrganizationEntity organization)
organization.Models.Beliefs.On = true;
organization.Models.Beliefs.RateOfAgentsOn = 1;
organization.Models.Generator = RandomGenerator.RandomUniform;
organization.Models.FollowGroupKnowledge = true;
organization.Models.FollowGroupFlexibility = true;
organization.Murphies.Off();
organization.Murphies.IncompleteBelief.On = true;
organization.Murphies.IncompleteBelief.RateOfAgentsOn = 1;
IterationResult.Tasks.On = true;
IterationResult.OrganizationKnowledgeAndBelief.On = true;
IterationResult.OrganizationFlexibility.On = true;

organization.Models.InteractionSphere.On = true;
organization.Models.InteractionSphere.SphereUpdateOverTime = true;
organization.Models.InteractionSphere.FrequencyOfSphereUpdate = TimeStepType.Monthly;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,10 @@ public override void SetOrganization(OrganizationEntity organization)

Organization.Templates.Human.Cognitive.InteractionPatterns.IsolationIsRandom = false;
Organization.Templates.Human.Cognitive.InteractionPatterns.AgentCanBeIsolated = Frequency.Never;
Organization.Models.FollowGroupFlexibility = true;
Organization.Models.InteractionSphere.SphereUpdateOverTime = true;
Organization.Models.InteractionSphere.On = true;
Organization.Models.Generator = RandomGenerator.RandomUniform;

IterationResult.OrganizationFlexibility.On = true;
SetDebug(false);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@
<Name>SymuForm</Name>
</ProjectReference>
<ProjectReference Include="..\..\Symu source code\SymuTools\SymuTools.csproj">
<Project>{5475a2e5-e10f-46ef-b24e-450d717af7cf}</Project>
<Project>{28ca606e-49d3-4136-ad3f-6b46eab9be75}</Project>
<Name>SymuTools</Name>
</ProjectReference>
<ProjectReference Include="..\..\Symu source code\Symu\Symu.csproj">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public override void SetOrganization(OrganizationEntity organization)

var wiki = new DataBaseEntity(organization.Id, organization.Templates.Email.Cognitive);
organization.AddDatabase(wiki);
organization.Models.FollowGroupKnowledge = true;
IterationResult.OrganizationKnowledgeAndBelief.On = true;

SetDebug(false);
}
Expand Down
52 changes: 26 additions & 26 deletions Symu examples/SymuLearnAndForgetTests/IntegrationTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,19 +32,19 @@ public class IntegrationTests
{
private readonly ExampleEnvironment _environment = new ExampleEnvironment();
private readonly OrganizationEntity _organization = new OrganizationEntity("1");
private readonly SymuEngine _symu = new SymuEngine();
private readonly SymuEngine _simulation = new SymuEngine();

[TestInitialize]
public void Initialize()
{
_environment.SetOrganization(_organization);
_symu.SetEnvironment(_environment);
_simulation.SetEnvironment(_environment);
_environment.SetDebug(true);
var scenario = new TimeBasedScenario(_environment)
{
NumberOfSteps = 10
};
_symu.AddScenario(scenario);
_simulation.AddScenario(scenario);
_environment.Knowledge = new Knowledge(1, "1", 50);
}

Expand All @@ -60,7 +60,7 @@ public void LearnByDoingTest()
_organization.Models.Learning.On = true;
_organization.Models.Learning.RateOfAgentsOn = 1;
_organization.Templates.Human.Cognitive.KnowledgeAndBeliefs.HasInitialKnowledge = false;
_symu.Process();
_simulation.Process();
Assert.AreEqual(0, _environment.LearnByDoingAgent.KnowledgeModel.Expertise.Learning);
}

Expand All @@ -75,7 +75,7 @@ public void LearnByDoingTest1()
_organization.Models.Learning.RateOfAgentsOn = 1;
_organization.Templates.Human.Cognitive.KnowledgeAndBeliefs.HasInitialKnowledge = true;
_environment.KnowledgeLevel = KnowledgeLevel.Expert;
_symu.Process();
_simulation.Process();
Assert.IsTrue(0 < _environment.LearnByDoingAgent.KnowledgeModel.Expertise.Learning);
}

Expand All @@ -91,7 +91,7 @@ public void LearnByDoingTest2()
_organization.Templates.Human.Cognitive.KnowledgeAndBeliefs.HasInitialKnowledge = true;
_organization.Models.Generator = RandomGenerator.RandomBinary;
_environment.KnowledgeLevel = KnowledgeLevel.Expert;
_symu.Process();
_simulation.Process();
// Should be 0 because Knowledge threshold for doing is > 0, agent has the knowledge or not but he can't learn
Assert.AreEqual(0, _environment.LearnByDoingAgent.KnowledgeModel.Expertise.Learning);
}
Expand All @@ -110,7 +110,7 @@ public void LearnByDoingTest3()
_organization.Models.Generator = RandomGenerator.RandomBinary;
_organization.Murphies.IncompleteKnowledge.ThresholdForReacting = 0;
_environment.KnowledgeLevel = KnowledgeLevel.BasicKnowledge;
_symu.Process();
_simulation.Process();
// Should be > 0 because Knowledge threshold for doing is == 0, agent has the knowledge or not but he can't learn
Assert.IsTrue(0 < _environment.LearnByDoingAgent.KnowledgeModel.Expertise.Learning);
}
Expand All @@ -126,7 +126,7 @@ public void LearnByDoingTest4()
_organization.Models.Learning.RateOfAgentsOn = 1;
_organization.Templates.Human.Cognitive.TasksAndPerformance.LearningByDoingRate = 0;
_environment.KnowledgeLevel = KnowledgeLevel.Expert;
_symu.Process();
_simulation.Process();
Assert.AreEqual(0, _environment.LearnByDoingAgent.KnowledgeModel.Expertise.Learning);
}

Expand All @@ -143,7 +143,7 @@ public void LearnByAskingTest()
{
_organization.Models.Learning.On = true;
_organization.Models.Learning.RateOfAgentsOn = 1;
_symu.Process();
_simulation.Process();
Assert.IsTrue(0 < _environment.LearnByAskingAgent.KnowledgeModel.Expertise.Learning);
}

Expand All @@ -157,7 +157,7 @@ public void LearnByAskingTest1()
_organization.Models.Learning.On = true;
_organization.Models.Learning.RateOfAgentsOn = 1;
_organization.Templates.Human.Cognitive.MessageContent.MinimumKnowledgeToSendPerBit = 1;
_symu.Process();
_simulation.Process();
Assert.AreEqual(0, _environment.LearnByAskingAgent.KnowledgeModel.Expertise.Learning);
}

Expand All @@ -171,7 +171,7 @@ public void LearnByAskingTest2()
_organization.Models.Learning.On = true;
_organization.Models.Learning.RateOfAgentsOn = 1;
_organization.Templates.Human.Cognitive.MessageContent.CanReceiveKnowledge = false;
_symu.Process();
_simulation.Process();
Assert.AreEqual(0, _environment.LearnByAskingAgent.KnowledgeModel.Expertise.Learning);
}

Expand All @@ -185,7 +185,7 @@ public void LearnByAskingTest3()
_organization.Models.Learning.On = true;
_organization.Models.Learning.RateOfAgentsOn = 1;
_organization.Templates.Human.Cognitive.MessageContent.CanSendKnowledge = false;
_symu.Process();
_simulation.Process();
Assert.AreEqual(0, _environment.LearnByAskingAgent.KnowledgeModel.Expertise.Learning);
}

Expand All @@ -199,7 +199,7 @@ public void LearnByAskingTest4()
_organization.Models.Learning.On = true;
_organization.Models.Learning.RateOfAgentsOn = 1;
_organization.Templates.Email.MaxRateLearnable = 0;
_symu.Process();
_simulation.Process();
Assert.AreEqual(0, _environment.LearnByAskingAgent.KnowledgeModel.Expertise.Learning);
}

Expand All @@ -216,7 +216,7 @@ public void LearnByAskingTest5()
_organization.Templates.Human.Cognitive.MessageContent.MaximumNumberOfBitsOfKnowledgeToSend = 0;
_organization.Templates.Email.Cognitive.MessageContent.MinimumNumberOfBitsOfKnowledgeToSend = 0;
_organization.Templates.Email.Cognitive.MessageContent.MaximumNumberOfBitsOfKnowledgeToSend = 0;
_symu.Process();
_simulation.Process();
Assert.AreEqual(0, _environment.LearnByAskingAgent.KnowledgeModel.Expertise.Learning);
}

Expand All @@ -230,7 +230,7 @@ public void LearnByAskingTest6()
_organization.Models.Learning.On = true;
_organization.Models.Learning.RateOfAgentsOn = 1;
_organization.Templates.Human.Cognitive.TasksAndPerformance.LearningRate = 0;
_symu.Process();
_simulation.Process();
Assert.AreEqual(0, _environment.LearnByAskingAgent.KnowledgeModel.Expertise.Learning);
}

Expand All @@ -246,7 +246,7 @@ public void LearnFromSourceTest()
{
_organization.Models.Learning.On = true;
_organization.Models.Learning.RateOfAgentsOn = 1;
_symu.Process();
_simulation.Process();
Assert.IsTrue(0 < _environment.LearnFromSourceAgent.KnowledgeModel.Expertise.Learning);
}

Expand All @@ -260,7 +260,7 @@ public void LearnFromSourceTest1()
_organization.Models.Learning.On = true;
_organization.Models.Learning.RateOfAgentsOn = 1;
_organization.Templates.Human.Cognitive.TasksAndPerformance.LearningRate = 0;
_symu.Process();
_simulation.Process();
Assert.AreEqual(0, _environment.LearnFromSourceAgent.KnowledgeModel.Expertise.Learning);
}

Expand All @@ -275,7 +275,7 @@ public void LearnFromSourceTest1()
public void ModelsOffTest()
{
_organization.Models.Learning.On = false;
_symu.Process();
_simulation.Process();
var global = _environment.IterationResult.OrganizationKnowledgeAndBelief.Learning.Last();
Assert.AreEqual(0, global.Sum);
global = _environment.IterationResult.OrganizationKnowledgeAndBelief.Forgetting.Last();
Expand All @@ -290,7 +290,7 @@ public void ModelOnTest()
{
_organization.Models.Learning.On = true;
_organization.Models.Learning.RateOfAgentsOn = 0;
_symu.Process();
_simulation.Process();
// Should be = 0 because fullKnowledge => nothing to learn
Assert.AreEqual(0, _environment.LearnFromSourceAgent.KnowledgeModel.Expertise.Learning);
Assert.AreEqual(0, _environment.LearnByDoingAgent.KnowledgeModel.Expertise.Learning);
Expand All @@ -311,7 +311,7 @@ public void LearnWithInitialFullKnowledgeTest(RandomGenerator model)
_organization.Templates.Human.Cognitive.KnowledgeAndBeliefs.HasInitialKnowledge = true;
_organization.Models.Generator = model;
_environment.KnowledgeLevel = KnowledgeLevel.FullKnowledge;
_symu.Process();
_simulation.Process();
// Should be = 0 because fullKnowledge => nothing to learn
Assert.AreEqual(0, _environment.LearnFromSourceAgent.KnowledgeModel.Expertise.Learning);
Assert.AreEqual(0, _environment.LearnByDoingAgent.KnowledgeModel.Expertise.Learning);
Expand All @@ -333,7 +333,7 @@ public void HasNoKnowledgeTest()
_organization.Models.Learning.On = true;
_organization.Models.Learning.RateOfAgentsOn = 1;
_organization.Templates.Human.Cognitive.KnowledgeAndBeliefs.HasKnowledge = false;
_symu.Process();
_simulation.Process();
// Should be = 0 because fullKnowledge => nothing to learn
Assert.AreEqual(0, _environment.LearnFromSourceAgent.KnowledgeModel.Expertise.Learning);
Assert.AreEqual(0, _environment.LearnByDoingAgent.KnowledgeModel.Expertise.Learning);
Expand Down Expand Up @@ -364,7 +364,7 @@ public void ForgettingTest()
// must have some knowledge to forget
_organization.Templates.Human.Cognitive.KnowledgeAndBeliefs.HasInitialKnowledge = true;
_environment.KnowledgeLevel = KnowledgeLevel.Expert;
_symu.Process();
_simulation.Process();
Assert.IsTrue(0 > _environment.LearnFromSourceAgent.KnowledgeModel.Expertise.Forgetting);
Assert.IsTrue(0 > _environment.LearnByDoingAgent.KnowledgeModel.Expertise.Forgetting);
Assert.IsTrue(0 > _environment.LearnByAskingAgent.KnowledgeModel.Expertise.Forgetting);
Expand All @@ -384,7 +384,7 @@ public void ForgettingTest2()
// must have some knowledge to forget
_organization.Templates.Human.Cognitive.KnowledgeAndBeliefs.HasInitialKnowledge = true;
_environment.KnowledgeLevel = KnowledgeLevel.Expert;
_symu.Process();
_simulation.Process();
Assert.IsTrue(0 > _environment.LearnFromSourceAgent.KnowledgeModel.Expertise.Forgetting);
Assert.IsTrue(0 > _environment.LearnByDoingAgent.KnowledgeModel.Expertise.Forgetting);
Assert.IsTrue(0 > _environment.LearnByAskingAgent.KnowledgeModel.Expertise.Forgetting);
Expand All @@ -404,7 +404,7 @@ public void TimeToLiveTest()
ForgettingSelectingMode.Oldest;
_organization.Templates.Human.Cognitive.KnowledgeAndBeliefs.HasInitialKnowledge = true;
_environment.KnowledgeLevel = KnowledgeLevel.Expert;
_symu.Process();
_simulation.Process();
Assert.AreEqual(0, _environment.LearnFromSourceAgent.KnowledgeModel.Expertise.Forgetting);
Assert.AreEqual(0, _environment.LearnByDoingAgent.KnowledgeModel.Expertise.Forgetting);
Assert.AreEqual(0, _environment.LearnByAskingAgent.KnowledgeModel.Expertise.Forgetting);
Expand All @@ -424,7 +424,7 @@ public void ForgettingMeanTest()
_organization.Templates.Human.Cognitive.InternalCharacteristics.ForgettingMean = 0;
_organization.Templates.Human.Cognitive.KnowledgeAndBeliefs.HasInitialKnowledge = true;
_environment.KnowledgeLevel = KnowledgeLevel.Expert;
_symu.Process();
_simulation.Process();
Assert.AreEqual(0, _environment.LearnFromSourceAgent.KnowledgeModel.Expertise.Forgetting);
Assert.AreEqual(0, _environment.LearnByDoingAgent.KnowledgeModel.Expertise.Forgetting);
Assert.AreEqual(0, _environment.LearnByAskingAgent.KnowledgeModel.Expertise.Forgetting);
Expand All @@ -446,7 +446,7 @@ public void NoRemainingKnowledgeTest()
_organization.Templates.Human.Cognitive.InternalCharacteristics.MinimumRemainingKnowledge = 0;
_organization.Templates.Human.Cognitive.KnowledgeAndBeliefs.HasInitialKnowledge = true;
_environment.KnowledgeLevel = KnowledgeLevel.Expert;
_symu.Process();
_simulation.Process();
Assert.AreNotEqual(0, _environment.LearnFromSourceAgent.KnowledgeModel.Expertise.Forgetting);
Assert.AreNotEqual(0, _environment.LearnByDoingAgent.KnowledgeModel.Expertise.Forgetting);
Assert.AreNotEqual(0, _environment.LearnByAskingAgent.KnowledgeModel.Expertise.Forgetting);
Expand Down
19 changes: 0 additions & 19 deletions Symu examples/SymuScenariosAndEvents/Classes/EventType.cs

This file was deleted.

25 changes: 12 additions & 13 deletions Symu examples/SymuScenariosAndEvents/Home.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
using SymuScenariosAndEvents.Classes;
using Syncfusion.Drawing;
using Syncfusion.Windows.Forms.Chart;
using EventType = SymuScenariosAndEvents.Classes.EventType;

#endregion

Expand Down Expand Up @@ -154,20 +153,20 @@ protected override void UpdateSettings()

private void SetEvents()
{
var eventType = EventType.NoEvent;
var eventType = SymuEventType.NoEvent;
if (rbAtStep.Checked)
{
eventType = EventType.OneShot;
eventType = SymuEventType.OneShot;
}

if (rbCyclical.Checked)
{
eventType = EventType.Cyclical;
eventType = SymuEventType.Cyclical;
}

if (rbRandom.Checked)
{
eventType = EventType.Random;
eventType = SymuEventType.Random;
}

var eventStep = SetEventStep();
Expand All @@ -181,15 +180,15 @@ private void SetEvents()
SymuEvent symuEvent = null;
switch (eventType)
{
case EventType.NoEvent:
case SymuEventType.NoEvent:
break;
case EventType.OneShot:
case SymuEventType.OneShot:
symuEvent = new SymuEvent {Step = eventStep};
break;
case EventType.Cyclical:
case SymuEventType.Cyclical:
symuEvent = new CyclicalEvent {EveryStep = cyclicalStep};
break;
case EventType.Random:
case SymuEventType.Random:
symuEvent = new RandomEvent {Ratio = randomRatio};
break;
default:
Expand All @@ -208,15 +207,15 @@ private void SetEvents()
SymuEvent symuEvent = null;
switch (eventType)
{
case EventType.NoEvent:
case SymuEventType.NoEvent:
break;
case EventType.OneShot:
case SymuEventType.OneShot:
symuEvent = new SymuEvent {Step = eventStep};
break;
case EventType.Cyclical:
case SymuEventType.Cyclical:
symuEvent = new CyclicalEvent {EveryStep = cyclicalStep };
break;
case EventType.Random:
case SymuEventType.Random:
symuEvent = new RandomEvent {Ratio = randomRatio };
break;
default:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@
</ItemGroup>
<ItemGroup>
<Compile Include="ChartAppearance.cs" />
<Compile Include="Classes\EventType.cs" />
<Compile Include="Classes\ExampleEnvironment.cs" />
<Compile Include="Classes\GroupAgent.cs" />
<Compile Include="Classes\PersonAgent.cs" />
Expand Down

0 comments on commit 61ea6d8

Please sign in to comment.