-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
508 lines (387 loc) · 21.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
<!DOCTYPE html>
<html lang = "en">
<head>
<link rel="icon" href="mepx.ico">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport">
<title>Multi Expression Programming - data analysis, regression, classification </title>
<meta name ="KEYWORDS" content="Multi Expression Programming, Genetic Programming, Genetic algorithms, data analysis, symbolic regression, classification, time series, prediction, PROBEN1">
<meta name= "description" content="Multi Expression Programming for data analysis, regression, classification, time series, prediction">
</head>
<body>
<center>
<h1>Multi Expression Programming</h1>
</center>
<table cellpadding="8" width="1003" align="center">
<tr>
<td valign="top">
<table cellspacing="4" width="150">
<tr><td><a><strong>Home</strong></a></td></tr>
<tr><td> <a href="#what_is_new">News</a></td></tr>
<tr><td><a href="about.html">Description</a></td></tr>
<tr><td><a href="papers.html">Papers</a></td></tr>
<tr><td><a href="source_code.html">Source code</a></td></tr>
<tr><td><a href="mepx_software.html">MEPX Software</a></td></tr>
<tr><td> <a href="videos.html">Videos</a></td></tr>
<tr><td> <a href="mepx_screenshots.html">Screenshots</a></td></tr>
<tr><td> <a href="mepx_software.html#user_manual">User manual</a></td></tr>
<tr><td><a href="links.html">Links</a></td></tr>
<tr><td><a href="contact.html">Contact</a></td></tr>
</table>
</td>
<td>
<p>Multi Expression Programming (MEP) is a technique for generating computer programs by using an evolutionary approach.</p>
<p>MEP introduced a unique feature: the ability to encode multiple solutions in the same chromosome. This means that we can explore much more from the search space compared to other techniques which encode a single solution in the chromosome. In most cases this advantage comes with no penalty regarding the running time or the involved resources.</p>
<p>This website contains papers about MEP, source code for various problems and <a href = "mepx_software.html">MEPX - (a software running on Windows, Mac OSX and Linux Ubuntu for solving regression, classification and time series problems)</a>.</p>
<img src = "mepx_screenshot.png" alt = "mepx screenshot">
<h2 id="what_is_new">What is new</h2>
<p>For news, please subscribe here: <a href="https://groups.google.com/d/forum/mepx">https://groups.google.com/d/forum/mepx</a></p>
<ul>
<li>
<p><strong>2023.4.14.</strong> New MEPX release. Fix bug in VBA generated code for FMOD. Major code refactoring.</p>
</li>
<li>
<p><strong>2024.4.6.</strong> A GitHub repository containing binaries for MEPX has been renamed to <a href="https://github.com/mepx/mepx">https://github.com/mepx/mepx</a>. Here the source code for MEPX will be published in the near future.</p>
</li>
<li>
<p><strong>2024.3.31.</strong> New <a href="https://github.com/mepx/libmep">libmep</a> major release.</p>
</li>
<li>
<p><strong>2023.4.3.</strong> New MEPX release. Improvement in selecting rows to ignore when loading data.</p>
</li>
<li>
<p><strong>2023.3.18.</strong> New MEPX release. Rows can be ignored when loading data from files (or when pasting from Clipboard).</p>
</li>
<li>
<p><strong>2023.3.5.</strong> New MEPX release. Then number of effective instructions is displayed in the Runs (Errors) table.</p>
</li>
<li>
<p><strong>2023.02.23.</strong> New video showing how to discover, from data, the formulas for <a href="https://youtu.be/btYsg9ol0vA">Josephus sequence</a> which is a multivariate time-series.</p>
</li>
<li>
<p><strong>2023.02.16.</strong> New, major, MEPX release. Multiple outputs for symbolic regression and time-series problems.</p>
</li>
<li>
<p><strong>2023.02.16.1.</strong> New videos showing how to discover, from data, the formulas for <a href="https://youtu.be/awLEofEK6sw">2x2 matrix multiplication</a> and how to handle <a href="https://youtu.be/EneuRLYiFXk">multivariate time-series</a>. </p>
</li>
<li>
<p><strong>2022.11.14.</strong> New video on how to discover Fibonacci formula with MEPX. Watch it <a href="https://youtu.be/1Jmc2-gQCNw">here</a>.</p>
</li>
<li>
<p><strong>2022.11.4.</strong> New MEPX release. User interface improvements. Evolution chart can shows the Validation error and can hide/show Average and Validation errors.</p>
</li>
<li>
<p><strong>2022.10.18.</strong> New MEPX release. User interface improvements.</p>
</li>
<li>
<p><strong>2022.10.1.</strong> New MEPX release. Random number generator replaced. Bug fixes.</p>
</li>
<li>
<p><strong>2022.9.27.</strong> New MEPX release. Can export formulas into Latex. Bug fixes.</p>
</li>
<li>
<p><strong>2022.9.26.</strong> New MEPX release. Bug fixes.</p>
</li>
<li>
<p><strong>2022.8.21.</strong> New MEPX release. Integer data type for symbolic regression and time series. Bug fixes.</p>
</li>
<li>
<p><strong>2022.7.19.</strong> New MEPX release. The target column for classification problems can contain any integer value. Previously, values were continuous integers starting with 0. Bug fixes.</p>
</li>
<li>
<p><strong>2022.3.19.</strong> New MEPX release. Infix form for mathematical expressions. Constants inserted directly into final code. Bugs fixed in VBA code.</p>
</li>
<li>
<p><strong>2022.3.16.</strong> A <a href="https://www.researchgate.net/publication/359261779_Multi_Expression_Programming_for_solving_classification_problems">technical report</a> describing classification strategies for MEP has been uploaded.</p>
</li>
<li>
<p><strong>2022.2.25.</strong> New MEPX release. Button for exporting all data. Bug fixed.</p>
</li>
<li>
<p><strong>2022.2.24.</strong> New MEPX release. Bug fixed.</p>
</li>
<li>
<p><strong>2022.2.17.</strong> New MEPX release. Programs generated by MEPX can be exported in Python too.</p>
</li>
<li>
<p><strong>2022.2.13.</strong> New MEPX release. Grids for displaying data have been replaced with List Views. Minor fixes.</p>
</li>
<li>
<p><strong>2022.2.7.</strong> New MEPX release. New strategy (called <em>Closest Center</em>) for multiclass classification problems.</p>
</li>
<li>
<p><strong>2022.1.30.</strong> New MEPX release. <em>fmod</em> (modulus for real numbers) added.</p>
</li>
<li>
<p><strong>2022.1.21.</strong> New MEPX release. Bug fixed.</p>
</li>
<li>
<p><strong>2022.1.13.1.</strong> New MEPX release. Bug fixed.</p>
</li>
<li>
<p><strong>2022.1.11.</strong> Added a <a href="mepx_screenshots.html">screenshots</a> section on website. Also, <a href="https://github.com/mepx/libmep">libmep</a> was updated.</p>
</li>
<li>
<p><strong>2022.1.10.</strong> New MEPX release. Bug fixed.</p>
</li>
<li>
<p><strong>2022.1.9.</strong> New MEPX release. Constants can now evolve outside the initial interval.</p>
</li>
<li>
<p><strong>2021.12.31.</strong> New MEPX release. Bug fixed when computing the time series error for the Test set.</p>
</li>
<li>
<p><strong>2021.12.30.</strong> New MEPX release. Added predictions for time series. Graphical representation improved. Some grids were replaced by List Views. Bugs fixed. A movie with time series prediction is <a href="https://www.youtube.com/watch?v=3ONbTwlVrgU">here on YouTube</a>.</p>
</li>
<li>
<p><strong>2021.12.13.</strong> New MEPX release. Initial support for time series added. Bugs fixed.</p>
</li>
<li>
<p><strong>2021.12.8.</strong> New MEPX release. Can select what to show in the graphical representation of the result (Training, Validation, Test, Target and Output).</p>
</li>
<li>
<p><strong>2021.12.7.</strong> New MEPX release. Graphical representation of the target and output.</p>
</li>
<li>
<p><strong>2021.12.3.</strong> New MEPX release. Tabs navigation is enabled for the parameters window.</p>
</li>
<li>
<p><strong>2021.12.2.</strong> New MEPX release. Loading data from file takes into account the local setting for the decimal separator. Several bugs were fixed.</p>
</li>
<li>
<p><strong>2021.11.30.</strong> New MEPX release. Bugs fixed.</p>
</li>
<li>
<p><strong>2021.11.28.</strong> New MEPX release. Evolution graphic is redesigned with the legend at the right and labels for axis.</p>
</li>
<li>
<p><strong>2021.11.22-27.</strong> New MEPX release with some bugs fixed.</p>
</li>
<li>
<p><strong>2021.11.21.</strong> New MEPX release with some additional options to paste results to Clipboard.</p>
</li>
<li>
<p><strong>2021.11.03.</strong> New libmep release. It is was updated to be on-par with MEPX internal engine.</p>
</li>
<li>
<p><strong>2021.10.29.</strong> New MEPX release. The evolved mathematical expression can be used in Excel as a formula. A movie with this feature is <a href="https://youtu.be/NZXxxJKto_4">here on YouTube</a>. </p>
</li>
<li>
<p><strong>2021.10.27.</strong> New MEPX release. Can paste tabular data from Excel or Google Spreadsheet. A movie with this feature is <a href="https://www.youtube.com/watch?v=-QgKOkap1_Y">here on YouTube</a>. </p>
</li>
<li>
<p><strong>2021.10.01.</strong> New MEPX release. Bug fix when saving projects with training data as strings (not as double).</p>
</li>
<li>
<p><strong>2021.09.14.</strong> New MEPX release. Can load projects to UI if given as a parameter to command line. Some bug fixes.</p>
</li>
<li>
<p><strong>2021.08.30.</strong> Papers section updated.</p>
</li>
<li>
<p><strong>2021.08.28.</strong> New MEPX release. Improved import from CSV files.</p>
</li>
<li>
<p>
<strong>2021.08.15.</strong> Papers using MEP can now be added by filling <a href="https://docs.google.com/forms/d/e/1FAIpQLSf6H9lp-XPxN1zxYYQ-nuSIQXpAU3YKJ57-KtQwUM_PF-QADg/viewform?usp=sf_link">this Google Form</a>.
</p>
</li>
<li>
<p><strong>2021.08.05.</strong> New MEPX release. Can be run from command line and integrated into other applications.</p>
</li>
<li>
<p><strong>2021.08.04.</strong> New MEPX release. Bug fix in the random numbers generator.</p>
</li>
<li>
<p><strong>2021.05.18.</strong> New MEPX release with faster display of data.</p>
</li>
<li>
<p><strong>2021.03.18.</strong> MEPX for Windows is now signed.</p>
</li>
<li>
<p><strong>2021.01.02.</strong> New MEPX release. 3 new functions added: negation (-x), if a ≤ 0 || b ≤ 0?c:d, if a ≤ 0 != b ≤ 0?c:d.</p>
</li>
<li>
<p><strong>2020.12.27.1.</strong> New MEPX release. Fix bug when the program gives error during test set evaluation.</p>
</li>
<li>
<p><strong>2020.12.27.</strong> New MEPX release. Fix bug when the simplified program was incorrect for some <i>Multi Class Classification</i> with <i>Winner Takes All (Dynamic) error</i>.</p>
</li>
<li>
<p><strong>2020.12.24.</strong> New MEPX release. The validation is performed only on the best of the (entire) population.</p>
</li>
<li>
<p><strong>2020.12.20.</strong> New MEPX release. GUI framework updated. A new button for updates is added in the main toolbar. Signed app for macOS. Desktop icon for Ubuntu.</p>
</li>
<li>
<p><strong>2018.04.04.</strong> New MEPX release which contains several bug fixes for user defined constants.</p>
</li>
<li>
<p><strong>2017.11.21.</strong> New MEPX release which contains several bug fixes.</p>
</li>
<li>
<p><strong>2017.10.15.</strong> Bug fixed for MEPX for regression projects; status bar strings updated.</p>
</li>
<li>
<p><strong>2017.10.10.</strong> Bug fixed for MEPX that appeared when loading saved projects.</p>
</li>
<li>
<p><strong>2017.10.07.</strong> <a href="http://github.com/masterdezign/hmep/">MEP implementation in Haskell</a>. Thanks to <a href="http://penkovsky.com">Bogdan Penkovsky</a>.</p>
</li>
<li>
<p><strong>2017.10.04.</strong> New major release for MEPX that includes new strategies for multi-class classification and several bug fixes.</p>
</li>
<li>
<p><strong>2017.08.05.</strong> New website mirror at <a href="https://mepx.github.io/">https://mepx.github.io/</a>.</p>
</li>
<li>
<p><strong>2016.11.30.</strong> New source code for evolving Evolutionary Algorithms for Single Objective Optimization using MEP is available on <a href="https://github.com/mihaioltean/evolve-algorithms">Github</a>.</p>
</li>
<li>
<p><strong>2016.10.05.</strong> Papers section updated.</p>
</li>
<li>
<p><strong>2016.08.29.</strong> New MEPX release. Bug fixing. More exact function for counting the running time. New random number generator.</p>
</li>
<li>
<p><strong>2016.08.09.</strong> New MEPX release. Bug fixing.</p>
</li>
<li>
<p><strong>2016.07.17.</strong> List of papers updated.</p>
</li>
<li>
<p><strong>2016.07.01.</strong> <a href="https://github.com/markcheno/go-mep">MEP implementation in Go</a>. Thanks to Mark Chenoweth.</p>
</li>
<li>
<p><strong>2016.05.24.</strong> New MEP source code for solving even-parity problems with Automatically Defined Functions. Can be downloaded from <a href="https://github.com/mepx/mep-basic-src">https://github.com/mepx/mep-basic-src</a>.</p>
</li>
<li>
<p><strong>2016.04.27.</strong> New MEPX release. There is a checkbox on the Training data tab which displays or inhibits the display of grids data (training, validation and test). I have chose not to display the data because filling a grid with data takes a lot of time. So, if you have many data or a large project, I suggest to uncheck this box before loading them. Several bugs have been fixed.</p>
</li>
<li>
<p><strong>2016.04.07-2016.04.25.</strong> Several strategies for multi-class classification have been tested. See more details <a href="https://groups.google.com/forum/#!topic/mepx/Nccz2TrOP2Q">Google group post</a>. However, none of them could compete with what we have so far implemented in MEPX or libmep.</p>
</li>
<li>
<p><strong>2016.04.06.</strong> New MEPX release. Bug fix in the display of Target column.</p>
</li>
<li>
<p><strong>2016.04.05.</strong> New MEPX release. Statistics for runs and errors can now copied directly to Clipboard. This is very useful for performing Copy-Paste to Excel or related programs.</p>
</li>
<li>
<p><strong>2016.04.03.</strong> New MEPX release. Added Mean Squared Error for fitness computation in the case of regression problems. Previously was only Mean Absolute Error. In the case of classification problems the error is now multiplied by 100 in order to show the percentage.</p>
</li>
<li>
<p><strong>2016.04.02.</strong> List of papers updated.</p>
</li>
<li>
<p><strong>2016.03.31.</strong> New MEPX release. Display the best error (for training, validation and test), mean and stddev over multiple runs. Several bugs have been fixed.</p>
</li>
<li>
<p><strong>2016.03.27.</strong> New MEPX release. Adds random subset selection (RSS) which means that fitness is computed on a smaller set of data. RSS set is randomly selected at each generation. By using RSS the program runs faster.</p>
</li>
<li>
<p><strong>2016.03.26.</strong> Mirror copy of the MEP site at: <a href="https://mepx.org">mepx.org</a>. This short name is much more easier to memorize than the long name of the site hosted on our faculty server.</p>
</li>
<li>
<p><strong>2016.03.25.</strong> New MEPX release. 64bit version for Windows is now available. A status bar has been added which displays the current generation, best training error, average training error (over the entire population) and validation error. Selecting the individual to be moved in the next subpopulation is now done randomly (previously it was made with tournament selection).</p>
</li>
<li>
<p><strong>2016.03.22.</strong> New MEPX release. Can load PROBEN1 files. Several bugs have been fixes.</p>
</li>
<li>
<p><strong>2016.03.15.</strong> New MEPX release. Now it can solve classification problems with multiple classes (>= 2). Also the latest version contains some bug fixes.</p>
</li>
<li>
<p><strong>2016.03.02.</strong> New MEPX release. <em>To numeric</em> and <em>scale</em> buttons have been moved to <em>Advanced</em> panel of the <em>Data</em>. Also the latest version contains some bug fixes.</p>
</li>
<li>
<p><strong>2016.02.21.</strong> MEP source code for solving classification problems with multiple classes (2 or more) has been added to the Github repository (see mep_multi_class.cpp from <a href="https://github.com/mepx/mep">https://github.com/mepx/mep</a>). Multi class is NOT yet available for libmep library and neither in MEPX.</p>
</li>
<li>
<p><strong>2016.02.16.</strong> New MEPX version which now displays the variable index (like "x 99") in the header of the training, validation and test tables. Also the latest version contains some bug fixes.</p>
</li>
<li>
<p><strong>2016.02.12.</strong> Google group about MEP created. Address is here: <a href="https://groups.google.com/d/forum/mepx">https://groups.google.com/d/forum/mepx</a></p>
</li>
<li>
<p><strong>2016.02.06.</strong> New MEPX version which contains some bug fixes.</p>
</li>
<li>
<p><strong>2016.02.03.</strong> Source code moved to <a href = "https://github.com/mepx/mep">Github</a>.</p>
</li>
<li>
<p><strong>2016.02.03.</strong> New MEP source code with C++11 threads.</p>
</li>
<li>
<p><strong>2015.11.15.</strong> New MEPX version with many new features: can load alphanumerical values, can find/replace/scale values, can shuffle rows (in a random order) can move data between training, validation and test etc.</p>
</li>
<li>
<p><strong>2015.08.15.</strong> New MEP source code with multiple sub-populations. Also a small bug fix in MEP source code.</p>
</li>
<li>
<p><strong>2015.08.05.</strong> Bug fix in MEP source code.</p>
</li>
<li>
<p><strong>2015.08.03.</strong> MEPX for Ubuntu 64 bit is now available for download.</p>
</li>
<li>
<p><strong>2015.07.30.</strong> MEP source code for evolving digital circuits has been added to the <a href="source_code.html">Source code</a> section.</p>
</li>
<li>
<p><strong>2015.05.23.</strong> A new button which saves (training, validation, test) data from existing project (<em>xml</em> files) to <em>text</em> files. Also several bugs have been fixed.</p>
</li>
<li>
<p><strong>2015.05.17.</strong> Classification threshold parameter has been removed. Now the program discover the best threshold by itself. It is slower than previous, but now there are no more wasted iterations with not optimal threshold. Previous classification projects must be run again because the previous classification parameter is ignored.</p>
<p>Several bugs have been fixed.</p>
</li>
<li>
<p><strong>2015.05.15.</strong> New operators: <em>if (a < 0)?b:c</em> and <em>if (a < b)?c:d</em> and a little bit more speed.</p>
</li>
<li>
<p><strong>2015.05.14.</strong> Multi-core support for MEPX. Just set the number of cores from the <em>parameters</em> window and the program will do the computations in parallel.</p>
</li>
<li>
<p><strong>2015.05.10.</strong> <a href="source_code.html">Source code</a> updated. Now it contains constants and shows how to solve binary classification problems.</p>
</li>
<li>
<p><strong>2015.05.09.</strong> Speed optimization of MEPX. For building1-energy problem from the archive, the running time was reduces from 190 seconds downto 126 seconds. Other parameters were: <em>population size</em> = 1000, <em>code length</em> = 100, <em>num generations</em> = 100.</p>
</li>
<li>
<p><strong>2015.05.06.</strong> More operators added to MEPX software.</p>
</li>
<li>
<p><strong>2015.05.06.</strong> New <a href="mepx_software.html">youtube movie</a> on how to use MEPX software.</p>
</li>
<li>
<p><strong>2015.05.05.</strong> New <a href="mepx_software.html">end-user</a> software for Windows, Mac and Linux.</p>
</li>
<li>
<p><strong>2015.05.05.</strong> Website updated.</p>
</li>
<li>
<p><strong>2008.09.01.</strong> <a href="papers.html">Papers</a> section updated.</p>
</li>
<li>
<p><strong>2005.02.01.</strong> <a href="mepx_software.html">Software</a> section updated.</p>
</li>
<li>
<p><strong>2004.12.01.</strong> <a href="papers.html">Papers</a> section updated.</p>
</li>
<li>
<p><strong>2004.07.01.</strong> New methods and their websites: <a href="https://github.com/mihaioltean/Traceless-Genetic-Programming">Traceless Genetic Programming</a>, <a href="https://mihaioltean.github.io/eea/">Evolving Evolutionary Algorithms</a></p>
</li>
<li>
<p><strong>2004.04.03.</strong> MEP source code released to public.</p>
</li>
<li>
<p><strong>2002.01.13.</strong> First paper on Multi Expression Programming was written.</p>
</li>
<li>
<p><strong>2001.</strong> Work started on Multi Expression Programming.</p>
</li>
</ul>
</td>
</tr>
</table>
</body>
</html>