Changeset 17670
- Timestamp:
- 07/17/20 15:18:20 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/FeynmanInstanceProvider.cs
r17649 r17670 7 7 public class FeynmanInstanceProvider : ArtificialRegressionInstanceProvider { 8 8 public override string Name { 9 get { return " FeynmanBenchmark Problems"; }9 get { return "'AI Feynman' Benchmark Problems"; } 10 10 } 11 11 12 12 public override string Description { 13 get { return " "; }13 get { return "Problem instances from \"AI Feynman\" paper (Feynman Symbolic Regression Database)"; } 14 14 } 15 15 … … 19 19 20 20 public override string ReferencePublication { 21 get { return " asdf"; }21 get { return "Udrescu, Silviu-Marian, and Max Tegmark. \"AI Feynman: A physics-inspired method for symbolic regression.\" Science Advances 6.16 (2020): eaay2631."; } 22 22 } 23 23 … … 38 38 var samples = new[] {100, 1000}; 39 39 40 foreach (var s in samples) { 41 foreach (var n in noiseRatio) { 42 descriptorList.Add(new Feynman1(rand.Next(), s, s, n)); 43 descriptorList.Add(new Feynman2(rand.Next(), s, s, n)); 44 descriptorList.Add(new Feynman3(rand.Next(), s, s, n)); 45 descriptorList.Add(new Feynman4(rand.Next(), s, s, n)); 46 descriptorList.Add(new Feynman5(rand.Next(), s, s, n)); 47 descriptorList.Add(new Feynman6(rand.Next(), s, s, n)); 48 descriptorList.Add(new Feynman7(rand.Next(), s, s, n)); 49 descriptorList.Add(new Feynman8(rand.Next(), s, s, n)); 50 descriptorList.Add(new Feynman9(rand.Next(), s, s, n)); 51 descriptorList.Add(new Feynman10(rand.Next(), s, s, n)); 52 descriptorList.Add(new Feynman11(rand.Next(), s, s, n)); 53 descriptorList.Add(new Feynman12(rand.Next(), s, s, n)); 54 descriptorList.Add(new Feynman13(rand.Next(), s, s, n)); 55 descriptorList.Add(new Feynman14(rand.Next(), s, s, n)); 56 descriptorList.Add(new Feynman15(rand.Next(), s, s, n)); 57 descriptorList.Add(new Feynman16(rand.Next(), s, s, n)); 58 descriptorList.Add(new Feynman17(rand.Next(), s, s, n)); 59 descriptorList.Add(new Feynman18(rand.Next(), s, s, n)); 60 descriptorList.Add(new Feynman19(rand.Next(), s, s, n)); 61 descriptorList.Add(new Feynman20(rand.Next(), s, s, n)); 62 descriptorList.Add(new Feynman21(rand.Next(), s, s, n)); 63 descriptorList.Add(new Feynman22(rand.Next(), s, s, n)); 64 descriptorList.Add(new Feynman23(rand.Next(), s, s, n)); 65 descriptorList.Add(new Feynman24(rand.Next(), s, s, n)); 66 descriptorList.Add(new Feynman25(rand.Next(), s, s, n)); 67 descriptorList.Add(new Feynman26(rand.Next(), s, s, n)); 68 descriptorList.Add(new Feynman27(rand.Next(), s, s, n)); 69 descriptorList.Add(new Feynman28(rand.Next(), s, s, n)); 70 descriptorList.Add(new Feynman29(rand.Next(), s, s, n)); 71 descriptorList.Add(new Feynman30(rand.Next(), s, s, n)); 72 descriptorList.Add(new Feynman31(rand.Next(), s, s, n)); 73 descriptorList.Add(new Feynman32(rand.Next(), s, s, n)); 74 descriptorList.Add(new Feynman33(rand.Next(), s, s, n)); 75 descriptorList.Add(new Feynman34(rand.Next(), s, s, n)); 76 descriptorList.Add(new Feynman35(rand.Next(), s, s, n)); 77 descriptorList.Add(new Feynman36(rand.Next(), s, s, n)); 78 descriptorList.Add(new Feynman37(rand.Next(), s, s, n)); 79 descriptorList.Add(new Feynman38(rand.Next(), s, s, n)); 80 descriptorList.Add(new Feynman39(rand.Next(), s, s, n)); 81 descriptorList.Add(new Feynman40(rand.Next(), s, s, n)); 82 descriptorList.Add(new Feynman41(rand.Next(), s, s, n)); 83 descriptorList.Add(new Feynman42(rand.Next(), s, s, n)); 84 descriptorList.Add(new Feynman43(rand.Next(), s, s, n)); 85 descriptorList.Add(new Feynman44(rand.Next(), s, s, n)); 86 descriptorList.Add(new Feynman45(rand.Next(), s, s, n)); 87 descriptorList.Add(new Feynman46(rand.Next(), s, s, n)); 88 descriptorList.Add(new Feynman47(rand.Next(), s, s, n)); 89 descriptorList.Add(new Feynman48(rand.Next(), s, s, n)); 90 descriptorList.Add(new Feynman49(rand.Next(), s, s, n)); 91 descriptorList.Add(new Feynman50(rand.Next(), s, s, n)); 92 descriptorList.Add(new Feynman51(rand.Next(), s, s, n)); 93 descriptorList.Add(new Feynman52(rand.Next(), s, s, n)); 94 descriptorList.Add(new Feynman53(rand.Next(), s, s, n)); 95 descriptorList.Add(new Feynman54(rand.Next(), s, s, n)); 96 descriptorList.Add(new Feynman55(rand.Next(), s, s, n)); 97 descriptorList.Add(new Feynman56(rand.Next(), s, s, n)); 98 descriptorList.Add(new Feynman57(rand.Next(), s, s, n)); 99 descriptorList.Add(new Feynman58(rand.Next(), s, s, n)); 100 descriptorList.Add(new Feynman59(rand.Next(), s, s, n)); 101 descriptorList.Add(new Feynman60(rand.Next(), s, s, n)); 102 descriptorList.Add(new Feynman61(rand.Next(), s, s, n)); 103 descriptorList.Add(new Feynman62(rand.Next(), s, s, n)); 104 descriptorList.Add(new Feynman63(rand.Next(), s, s, n)); 105 descriptorList.Add(new Feynman64(rand.Next(), s, s, n)); 106 descriptorList.Add(new Feynman65(rand.Next(), s, s, n)); 107 descriptorList.Add(new Feynman66(rand.Next(), s, s, n)); 108 descriptorList.Add(new Feynman67(rand.Next(), s, s, n)); 109 descriptorList.Add(new Feynman68(rand.Next(), s, s, n)); 110 descriptorList.Add(new Feynman69(rand.Next(), s, s, n)); 111 descriptorList.Add(new Feynman70(rand.Next(), s, s, n)); 112 descriptorList.Add(new Feynman71(rand.Next(), s, s, n)); 113 descriptorList.Add(new Feynman72(rand.Next(), s, s, n)); 114 descriptorList.Add(new Feynman73(rand.Next(), s, s, n)); 115 descriptorList.Add(new Feynman74(rand.Next(), s, s, n)); 116 descriptorList.Add(new Feynman75(rand.Next(), s, s, n)); 117 descriptorList.Add(new Feynman76(rand.Next(), s, s, n)); 118 descriptorList.Add(new Feynman77(rand.Next(), s, s, n)); 119 descriptorList.Add(new Feynman78(rand.Next(), s, s, n)); 120 descriptorList.Add(new Feynman79(rand.Next(), s, s, n)); 121 descriptorList.Add(new Feynman80(rand.Next(), s, s, n)); 122 descriptorList.Add(new Feynman81(rand.Next(), s, s, n)); 123 descriptorList.Add(new Feynman82(rand.Next(), s, s, n)); 124 descriptorList.Add(new Feynman83(rand.Next(), s, s, n)); 125 descriptorList.Add(new Feynman84(rand.Next(), s, s, n)); 126 descriptorList.Add(new Feynman85(rand.Next(), s, s, n)); 127 descriptorList.Add(new Feynman86(rand.Next(), s, s, n)); 128 descriptorList.Add(new Feynman87(rand.Next(), s, s, n)); 129 descriptorList.Add(new Feynman88(rand.Next(), s, s, n)); 130 descriptorList.Add(new Feynman89(rand.Next(), s, s, n)); 131 descriptorList.Add(new Feynman90(rand.Next(), s, s, n)); 132 descriptorList.Add(new Feynman91(rand.Next(), s, s, n)); 133 descriptorList.Add(new Feynman92(rand.Next(), s, s, n)); 134 descriptorList.Add(new Feynman93(rand.Next(), s, s, n)); 135 descriptorList.Add(new Feynman94(rand.Next(), s, s, n)); 136 descriptorList.Add(new Feynman95(rand.Next(), s, s, n)); 137 descriptorList.Add(new Feynman96(rand.Next(), s, s, n)); 138 descriptorList.Add(new Feynman97(rand.Next(), s, s, n)); 139 descriptorList.Add(new Feynman98(rand.Next(), s, s, n)); 140 descriptorList.Add(new Feynman99(rand.Next(), s, s, n)); 141 descriptorList.Add(new Feynman100(rand.Next(), s, s, n)); 142 descriptorList.Add(new FeynmanBonus1(rand.Next(), s, s, n)); 143 descriptorList.Add(new FeynmanBonus2(rand.Next(), s, s, n)); 144 descriptorList.Add(new FeynmanBonus3(rand.Next(), s, s, n)); 145 descriptorList.Add(new FeynmanBonus4(rand.Next(), s, s, n)); 146 descriptorList.Add(new FeynmanBonus5(rand.Next(), s, s, n)); 147 descriptorList.Add(new FeynmanBonus6(rand.Next(), s, s, n)); 148 descriptorList.Add(new FeynmanBonus7(rand.Next(), s, s, n)); 149 descriptorList.Add(new FeynmanBonus8(rand.Next(), s, s, n)); 150 descriptorList.Add(new FeynmanBonus9(rand.Next(), s, s, n)); 151 descriptorList.Add(new FeynmanBonus10(rand.Next(), s, s, n)); 152 descriptorList.Add(new FeynmanBonus11(rand.Next(), s, s, n)); 153 descriptorList.Add(new FeynmanBonus12(rand.Next(), s, s, n)); 154 descriptorList.Add(new FeynmanBonus13(rand.Next(), s, s, n)); 155 descriptorList.Add(new FeynmanBonus14(rand.Next(), s, s, n)); 156 descriptorList.Add(new FeynmanBonus15(rand.Next(), s, s, n)); 157 descriptorList.Add(new FeynmanBonus16(rand.Next(), s, s, n)); 158 descriptorList.Add(new FeynmanBonus17(rand.Next(), s, s, n)); 159 descriptorList.Add(new FeynmanBonus18(rand.Next(), s, s, n)); 160 descriptorList.Add(new FeynmanBonus19(rand.Next(), s, s, n)); 161 descriptorList.Add(new FeynmanBonus20(rand.Next(), s, s, n)); 40 #region types 41 var descriptorTypes = new Type[] { 42 typeof(Feynman1), 43 typeof(Feynman2), 44 typeof(Feynman3), 45 typeof(Feynman4), 46 typeof(Feynman5), 47 typeof(Feynman6), 48 typeof(Feynman7), 49 typeof(Feynman8), 50 typeof(Feynman9), 51 typeof(Feynman10), 52 typeof(Feynman11), 53 typeof(Feynman12), 54 typeof(Feynman13), 55 typeof(Feynman14), 56 typeof(Feynman15), 57 typeof(Feynman16), 58 typeof(Feynman17), 59 typeof(Feynman18), 60 typeof(Feynman19), 61 typeof(Feynman20), 62 typeof(Feynman21), 63 typeof(Feynman22), 64 typeof(Feynman23), 65 typeof(Feynman24), 66 typeof(Feynman25), 67 typeof(Feynman26), 68 typeof(Feynman27), 69 typeof(Feynman28), 70 typeof(Feynman29), 71 typeof(Feynman30), 72 typeof(Feynman31), 73 typeof(Feynman32), 74 typeof(Feynman33), 75 typeof(Feynman34), 76 typeof(Feynman35), 77 typeof(Feynman36), 78 typeof(Feynman37), 79 typeof(Feynman38), 80 typeof(Feynman39), 81 typeof(Feynman40), 82 typeof(Feynman41), 83 typeof(Feynman42), 84 typeof(Feynman43), 85 typeof(Feynman44), 86 typeof(Feynman45), 87 typeof(Feynman46), 88 typeof(Feynman47), 89 typeof(Feynman48), 90 typeof(Feynman49), 91 typeof(Feynman50), 92 typeof(Feynman51), 93 typeof(Feynman52), 94 typeof(Feynman53), 95 typeof(Feynman54), 96 typeof(Feynman55), 97 typeof(Feynman56), 98 typeof(Feynman57), 99 typeof(Feynman58), 100 typeof(Feynman59), 101 typeof(Feynman60), 102 typeof(Feynman61), 103 typeof(Feynman62), 104 typeof(Feynman63), 105 typeof(Feynman64), 106 typeof(Feynman65), 107 typeof(Feynman66), 108 typeof(Feynman67), 109 typeof(Feynman68), 110 typeof(Feynman69), 111 typeof(Feynman70), 112 typeof(Feynman71), 113 typeof(Feynman72), 114 typeof(Feynman73), 115 typeof(Feynman74), 116 typeof(Feynman75), 117 typeof(Feynman76), 118 typeof(Feynman77), 119 typeof(Feynman78), 120 typeof(Feynman79), 121 typeof(Feynman80), 122 typeof(Feynman81), 123 typeof(Feynman82), 124 typeof(Feynman83), 125 typeof(Feynman84), 126 typeof(Feynman85), 127 typeof(Feynman86), 128 typeof(Feynman87), 129 typeof(Feynman88), 130 typeof(Feynman89), 131 typeof(Feynman90), 132 typeof(Feynman91), 133 typeof(Feynman92), 134 typeof(Feynman93), 135 typeof(Feynman94), 136 typeof(Feynman95), 137 typeof(Feynman96), 138 typeof(Feynman97), 139 typeof(Feynman98), 140 typeof(Feynman99), 141 typeof(Feynman100), 142 typeof(FeynmanBonus1), 143 typeof(FeynmanBonus2), 144 typeof(FeynmanBonus3), 145 typeof(FeynmanBonus4), 146 typeof(FeynmanBonus5), 147 typeof(FeynmanBonus6), 148 typeof(FeynmanBonus7), 149 typeof(FeynmanBonus8), 150 typeof(FeynmanBonus9), 151 typeof(FeynmanBonus10), 152 typeof(FeynmanBonus11), 153 typeof(FeynmanBonus12), 154 typeof(FeynmanBonus13), 155 typeof(FeynmanBonus14), 156 typeof(FeynmanBonus15), 157 typeof(FeynmanBonus16), 158 typeof(FeynmanBonus17), 159 typeof(FeynmanBonus18), 160 typeof(FeynmanBonus19), 161 typeof(FeynmanBonus20) 162 }; 163 #endregion 164 165 166 foreach (var type in descriptorTypes) { 167 foreach (var s in samples) { 168 foreach (var n in noiseRatio) { 169 descriptorList.Add((IDataDescriptor)Activator.CreateInstance(type, rand.Next(), s, s, n)); 170 } 162 171 } 163 172 } 164 return descriptorList. OrderBy(x => x.Name).ToList();173 return descriptorList.ToList(); 165 174 } 166 175 }
Note: See TracChangeset
for help on using the changeset viewer.