slanted W3C logo

Briefly

The tool

J A V A S C R I P T
(Could you LIVE disabling it?)

Advantages

The positive side

Multi-platform
[Implementation] 1-----------------------* [Operating System] x [Web Browser].
Easy to run
Just access to an URL, like http://vrivas.es/dcai16.
Parallel
Can be executed by hundred... thousand... million? people at the same time.

Disadvantages

The negative side

Limited resources
The algorithm is executed into a sand-box inside the browser.
Slow
The code has to be interpreted and, after this, executed.
Portability
Code is not 100% compatible with every browser.

The algorithm:

Available at http://vrivas.github.io/evrbf_dcai2016/
Evolutionary
+ Individuals (Radial Basis Functions Neural Networks)
+ populations
+ generations
+ selection
+ operators (cross-over and mutations)
+ evaluation
- migration
= evolution
Parameters
1. trnSamples, 2. valSamples
3. inputDimension, 4. numNeurons
5. popSize, 6. numGenerations, 7. tournamentSize, 8. replaceRate
9. xOverRate, 10. mutRate, 11. mutPower

12. Executions per page load

The problem: time series forecasting

Prof. Werner Antweiler from the University of British Columbia, Vancouver, Canada. http://pacific.commerce.ubc.ca/xr/data.html

The experiments: as simple as accessing to an URL

First experiment

Social nets calling

The experiments: as simple as accessing to an URL

First experiment

World-wide open
10 days (January, 2016),
2304 executions (13.9 in average) => 20% not valid!
Figure 2. Browsers used to run the algorithm.
Forecasting
MethodAverage MSEBest MSE
EvRBF 6x10-4 ± 2x10-4 4x10-4
MSE-GA 9x10-4 N/A
MSE-LSE 12x10-4 N/A
jsEvRBF 2x10-2 ± 5x100 6x10-4

The experiments: as simple as accessing to an URL

Second experiment

A single navigator in an controlled environment
10 executions, using crossover, 15 individuals, 10 initial neurons.
Forecasting
MethodAverage MSEBest MSE
EvRBF 6x10-4 ± 2x10-4 4x10-4
jsEvRBF 8x10-4 ± 2x10-7 6x10-4
MSE-GA 9x10-4 N/A
MSE-LSE 12x10-4 N/A

Conclusions

Web-browsers can be used to achieve distributed computing...
(using many different kinds of devices, without installing new software)
... so that evolutionary algorithms can be executed...
(as well as neural nets and any other existing algorithm)
... and economic time-series can be forecasted.
(among many other problems)

Thanks a lot!


Picture of the latest BeerJS/Jaen... 5-May-2016