MCPcopy Create free account
hub / github.com/arrayfire/arrayfire / geneticSearch

Function geneticSearch

examples/machine_learning/geneticalgorithm.cpp:125–158  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

123}
124
125void geneticSearch(bool console, const int nSamples, const int n) {
126 array searchSpaceXDisplay;
127 array searchSpaceYDisplay;
128 array searchSpace;
129 array sampleX;
130 array sampleY;
131 array sampleZ;
132
133 init(searchSpace, searchSpaceXDisplay, searchSpaceYDisplay, sampleX,
134 sampleY, sampleZ, nSamples, n);
135 float trueMax = max<float>(searchSpace);
136 float maximum = -trueMax;
137
138 if (!console) {
139 af::Window win(1600, 800, "Arrayfire Genetic Algorithm Search Demo");
140 win.grid(1, 2);
141 do {
142 reproducePrint(maximum, searchSpace, sampleX, sampleY, sampleZ,
143 trueMax, nSamples, n);
144 win(0, 0).setAxesTitles("IdX", "IdY", "Search Space");
145 win(0, 1).setAxesTitles("IdX", "IdY", "Search Space");
146 win(0, 0).surface(searchSpaceXDisplay, searchSpaceYDisplay,
147 searchSpace);
148 win(0, 1).scatter(sampleX.as(f32), sampleY.as(f32), sampleZ.as(f32),
149 AF_MARKER_CIRCLE);
150 win.show();
151 } while (!win.close());
152 } else {
153 do {
154 reproducePrint(maximum, searchSpace, sampleX, sampleY, sampleZ,
155 trueMax, nSamples, n);
156 } while (maximum < trueMax * 0.99);
157 }
158}
159
160int main(int argc, char** argv) {
161 bool console = false;

Callers 1

mainFunction · 0.85

Calls 9

reproducePrintFunction · 0.85
gridMethod · 0.80
setAxesTitlesMethod · 0.80
surfaceMethod · 0.80
scatterMethod · 0.80
asMethod · 0.80
showMethod · 0.80
closeMethod · 0.80
initFunction · 0.70

Tested by

no test coverage detected