diff --git a/AMOEBAonAMAK/src/kernel/backup/BackupSystem.java b/AMOEBAonAMAK/src/kernel/backup/BackupSystem.java index 8c048de8c5f639997a101e8de3df175a9d66792b..dcb6f72cbed6ef14922c82033642c7dc47370367 100644 --- a/AMOEBAonAMAK/src/kernel/backup/BackupSystem.java +++ b/AMOEBAonAMAK/src/kernel/backup/BackupSystem.java @@ -444,7 +444,8 @@ public class BackupSystem implements IBackupSystem { agentAttributes.add(new Attribute("Name", String.valueOf(context.getName()))); agentAttributes.add(new Attribute("Confidence", String.valueOf(context.getConfidence()))); agentAttributes.add(new Attribute("ActionsProposal", context.getActionProposal() + "")); - agentAttributes.add(new Attribute("Activated", (context.getAmas().getValidContexts().contains(context)) + "")); + if(context.getAmas().getValidContexts() != null) + agentAttributes.add(new Attribute("Activated", (context.getAmas().getValidContexts().contains(context)) + "")); contextElement.setAttributes(agentAttributes); presetContextsElement.addContent(contextElement); diff --git a/AMOEBAonAMAK/tests/kernel/TestMaximize.java b/AMOEBAonAMAK/tests/kernel/TestMaximize.java index 7a707f01c01368771d0ab2dc2da58a0a31b73974..b8674b9d27f03e2f82ccc377fc355c3b1b5fd2c1 100644 --- a/AMOEBAonAMAK/tests/kernel/TestMaximize.java +++ b/AMOEBAonAMAK/tests/kernel/TestMaximize.java @@ -2,6 +2,7 @@ package kernel; import static org.junit.jupiter.api.Assertions.assertEquals; +import java.io.File; import java.util.HashMap; import java.util.Random; @@ -9,6 +10,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import fr.irit.smac.amak.Configuration; +import kernel.backup.BackupSystem; import kernel.backup.SaveHelperDummy; import utils.Round; diff --git a/AMOEBAonAMAK/tests/kernel/simple_with_context.xml b/AMOEBAonAMAK/tests/kernel/simple_with_context.xml index e5d5c71788706ad0bd2850378efd0906cf28786e..862739d6670eeb31d1a58f3dade64866895a0263 100644 --- a/AMOEBAonAMAK/tests/kernel/simple_with_context.xml +++ b/AMOEBAonAMAK/tests/kernel/simple_with_context.xml @@ -3,7 +3,7 @@ <Configuration> <Learning creationOfNewContext="true" loadPresetContext="true" /> <Data><?xml version="1.0" encoding="UTF-8"?> -<java version="11.0.3" class="java.beans.XMLDecoder"> +<java version="1.8.0_171" class="java.beans.XMLDecoder"> <object class="kernel.AmoebaData" id="AmoebaData0"> <void class="kernel.AmoebaData" method="getField"> <string>nPropositionsReceived</string> @@ -65,20 +65,14 @@ <string>firstContext</string> <void method="set"> <object idref="AmoebaData0"/> - <void class="kernel.AmoebaData" id="Field0" method="getField"> - <string>useOracle</string> - <void id="Boolean0" method="get"> - <object idref="AmoebaData0"/> - </void> - </void> - <object idref="Boolean0"/> + <boolean>true</boolean> </void> </void> <void class="kernel.AmoebaData" method="getField"> <string>contextFromPropositionWasSelected</string> <void method="set"> <object idref="AmoebaData0"/> - <object idref="Boolean0"/> + <boolean>true</boolean> </void> </void> <void class="kernel.AmoebaData" method="getField"> @@ -150,27 +144,6 @@ <double>0.28767737498846424</double> </void> </void> - <void class="kernel.AmoebaData" method="getField"> - <string>contextSelfAnalisisExecutionTimeSum</string> - <void method="set"> - <object idref="AmoebaData0"/> - <long>13</long> - </void> - </void> - <void class="kernel.AmoebaData" method="getField"> - <string>create_New_ContextNCSExecutionTimeSum</string> - <void method="set"> - <object idref="AmoebaData0"/> - <long>34</long> - </void> - </void> - <void class="kernel.AmoebaData" method="getField"> - <string>otherExecutionTimeSum</string> - <void method="set"> - <object idref="AmoebaData0"/> - <long>1</long> - </void> - </void> <void class="kernel.AmoebaData" method="getField"> <string>learningSpeed</string> <void method="set"> @@ -182,20 +155,14 @@ <string>numberOfPointsForRegression</string> <void method="set"> <object idref="AmoebaData0"/> - <void class="kernel.AmoebaData" id="Field1" method="getField"> - <string>numberOfCriticityValuesForAverage</string> - <void id="Integer0" method="get"> - <object idref="AmoebaData0"/> - </void> - </void> - <object idref="Integer0"/> + <int>100</int> </void> </void> <void class="kernel.AmoebaData" method="getField"> <string>contextNotFinished</string> <void method="set"> <object idref="AmoebaData0"/> - <object idref="Boolean0"/> + <boolean>true</boolean> </void> </void> <void class="kernel.AmoebaData" method="getField"> @@ -264,14 +231,14 @@ <string>successesBeforeDiminution</string> <void method="set"> <object idref="DynamicPerformance1"/> - <object idref="Integer0"/> + <int>100</int> </void> </void> <void class="agents.head.DynamicPerformance" method="getField"> <string>conflictsBeforeAugmentation</string> <void method="set"> <object idref="DynamicPerformance1"/> - <object idref="Integer0"/> + <int>100</int> </void> </void> <void class="agents.head.DynamicPerformance" method="getField"> @@ -369,11 +336,11 @@ <PresetContexts> <LastPerceptionsAndActionState oracle="0.016507301905780793" px1="-37.40972633944136" px0="-89.03028902104312" px2="66.62397977488465" /> <!-- Nb contexts = 11 --> - <Context Name="1838997370" Confidence="4.0" ActionsProposal="0.09577194562472954" Activated="false"> + <Context Name="1838997370" Confidence="4.0" ActionsProposal="0.09577194562472954"> <Ranges> + <Range Sensor="px2" Start="85.30503251402415" End="85.30503251402415" /> <Range Sensor="px1" Start="46.380645641867744" End="46.380645641867744" /> <Range Sensor="px0" Start="46.247303558422146" End="46.247303558422146" /> - <Range Sensor="px2" Start="85.30503251402415" End="85.30503251402415" /> </Ranges> <LocalModel Type="MILLER_REGRESSION"> <Coefs> @@ -421,11 +388,11 @@ </Experiments> </LocalModel> </Context> - <Context Name="1346910014" Confidence="4.0" ActionsProposal="64.86494678314874" Activated="false"> + <Context Name="1346910014" Confidence="4.0" ActionsProposal="206.94651829609595"> <Ranges> + <Range Sensor="px2" Start="-37.09558977813698" End="-30.975558663528926" /> <Range Sensor="px1" Start="-2.617317456246515" End="-0.16741930134080185" /> <Range Sensor="px0" Start="-59.28062054090291" End="-54.004224335936655" /> - <Range Sensor="px2" Start="-37.09558977813698" End="-30.975558663528926" /> </Ranges> <LocalModel Type="MILLER_REGRESSION"> <Coefs> @@ -473,11 +440,11 @@ </Experiments> </LocalModel> </Context> - <Context Name="454500758" Confidence="4.0" ActionsProposal="23.80047097808879" Activated="false"> + <Context Name="454500758" Confidence="4.0" ActionsProposal="31.314904365573863"> <Ranges> + <Range Sensor="px2" Start="28.909035565691934" End="41.149097794908045" /> <Range Sensor="px1" Start="-76.04600706976316" End="-69.92467443418161" /> <Range Sensor="px0" Start="24.65206741321943" End="35.204859823151935" /> - <Range Sensor="px2" Start="28.909035565691934" End="41.149097794908045" /> </Ranges> <LocalModel Type="MILLER_REGRESSION"> <Coefs> @@ -525,11 +492,11 @@ </Experiments> </LocalModel> </Context> - <Context Name="223161699" Confidence="4.0" ActionsProposal="0.6613371664658384" Activated="false"> + <Context Name="223161699" Confidence="4.0" ActionsProposal="0.3496747902552914"> <Ranges> + <Range Sensor="px2" Start="-11.513133897917303" End="0.7269283312988124" /> <Range Sensor="px1" Start="73.77334445063934" End="81.65857347802896" /> <Range Sensor="px0" Start="83.24852617110032" End="90.75006020857418" /> - <Range Sensor="px2" Start="-11.513133897917303" End="0.7269283312988124" /> </Ranges> <LocalModel Type="MILLER_REGRESSION"> <Coefs> @@ -577,11 +544,11 @@ </Experiments> </LocalModel> </Context> - <Context Name="729992457" Confidence="4.0" ActionsProposal="41.92858390283845" Activated="false"> + <Context Name="729992457" Confidence="4.0" ActionsProposal="48.95267755449822"> <Ranges> + <Range Sensor="px2" Start="61.69151884433755" End="73.93158107355366" /> <Range Sensor="px1" Start="6.815101504677624" End="22.585559559456836" /> <Range Sensor="px0" Start="33.34556691685419" End="48.348634991801895" /> - <Range Sensor="px2" Start="61.69151884433755" End="73.93158107355366" /> </Ranges> <LocalModel Type="MILLER_REGRESSION"> <Coefs> @@ -629,11 +596,11 @@ </Experiments> </LocalModel> </Context> - <Context Name="9804879" Confidence="4.0" ActionsProposal="26.696461523093255" Activated="false"> + <Context Name="9804879" Confidence="4.0" ActionsProposal="16.721079241094706"> <Ranges> + <Range Sensor="px2" Start="-93.9310346287636" End="-84.96923127162421" /> <Range Sensor="px1" Start="-20.22830524266429" End="-4.457847187885079" /> <Range Sensor="px0" Start="1.7664204960351384" End="16.769488570982848" /> - <Range Sensor="px2" Start="-93.9310346287636" End="-84.96923127162421" /> </Ranges> <LocalModel Type="MILLER_REGRESSION"> <Coefs> @@ -681,11 +648,11 @@ </Experiments> </LocalModel> </Context> - <Context Name="724032275" Confidence="4.0" ActionsProposal="49.38199121704557" Activated="false"> + <Context Name="724032275" Confidence="4.0" ActionsProposal="63.7139154317825"> <Ranges> + <Range Sensor="px2" Start="66.64763149272741" End="84.57123820700619" /> <Range Sensor="px1" Start="29.30698828984127" End="45.07744634462048" /> <Range Sensor="px0" Start="-5.785795896560929" End="9.21727217838678" /> - <Range Sensor="px2" Start="66.64763149272741" End="84.57123820700619" /> </Ranges> <LocalModel Type="MILLER_REGRESSION"> <Coefs> @@ -733,11 +700,11 @@ </Experiments> </LocalModel> </Context> - <Context Name="135578647" Confidence="4.0" ActionsProposal="13.739266622818693" Activated="false"> + <Context Name="135578647" Confidence="4.0" ActionsProposal="9.020814859779763"> <Ranges> + <Range Sensor="px2" Start="-36.32125259507306" End="-18.397645880794286" /> <Range Sensor="px1" Start="85.47681171334386" End="93.97801270192845" /> <Range Sensor="px0" Start="-0.8519282382845592" End="14.15113983666315" /> - <Range Sensor="px2" Start="-36.32125259507306" End="-18.397645880794286" /> </Ranges> <LocalModel Type="MILLER_REGRESSION"> <Coefs> @@ -785,11 +752,11 @@ </Experiments> </LocalModel> </Context> - <Context Name="48621543" Confidence="4.0" ActionsProposal="0.056018104443792544" Activated="false"> + <Context Name="48621543" Confidence="4.0" ActionsProposal="0.0819935776028891"> <Ranges> + <Range Sensor="px2" Start="23.360754440698045" End="41.28436115497682" /> <Range Sensor="px1" Start="77.39745711947435" End="93.97801270192845" /> <Range Sensor="px0" Start="-92.5530226940015" End="-83.38786854887272" /> - <Range Sensor="px2" Start="23.360754440698045" End="41.28436115497682" /> </Ranges> <LocalModel Type="MILLER_REGRESSION"> <Coefs> @@ -837,11 +804,11 @@ </Experiments> </LocalModel> </Context> - <Context Name="1710089778" Confidence="4.0" ActionsProposal="0.929967106718202" Activated="false"> + <Context Name="1710089778" Confidence="4.0" ActionsProposal="0.6492511380905877"> <Ranges> + <Range Sensor="px2" Start="34.53998478742335" End="52.463591501702126" /> <Range Sensor="px1" Start="52.39051465636333" End="69.3929166335325" /> <Range Sensor="px0" Start="83.47071095819973" End="92.73511799252611" /> - <Range Sensor="px2" Start="34.53998478742335" End="52.463591501702126" /> </Ranges> <LocalModel Type="MILLER_REGRESSION"> <Coefs> @@ -889,11 +856,11 @@ </Experiments> </LocalModel> </Context> - <Context Name="121573526" Confidence="4.0" ActionsProposal="0.01511766387765709" Activated="true"> + <Context Name="121573526" Confidence="4.0" ActionsProposal="0.5948709844574692"> <Ranges> + <Range Sensor="px2" Start="56.652361133902815" End="74.57596784818159" /> <Range Sensor="px1" Start="-41.43976576473927" End="-24.437363787570114" /> <Range Sensor="px0" Start="-92.5530226940015" End="-81.89441318686536" /> - <Range Sensor="px2" Start="56.652361133902815" End="74.57596784818159" /> </Ranges> <LocalModel Type="MILLER_REGRESSION"> <Coefs>