January 6, 2015 2:32 pm

Parallel symbolic regression

Symbolic regression by Analytical Programming with custom GFS encoding and decoding. GFS in now simple 64bit number which is used to create GFS itself by checking every bit of the number. This number “ID” represents whole GFS and can be understood as mask over all implemented functions. This approach was used to easily create subsets of the GFS. Constants are implemented as well – ready for metaevolution.

Mathematical expressions are encoded as simple arrays thanks to AP. Fitness evaluations are recursive as well as “repairing” of pathological arrays=expressions which are immediately replaced so that computation can’t be interrupted. NSThreads are used instead of ^{} blocks and dispatch_async as it was in previous implementation. OpenMP/MPI implementation is not ready yet as well testing AP with Blind Search / Differential evolution / Genetic algorithm – Genetic programming / Hill climbing / Simmulated annealing / Tabu search algorithms.    
Thanks to AP nature any search method can be used for symbolic regression. 
 Test function:    
(x from -1 to 1)

Symbolic regression example


Initial solution:

During search:

Best solution:

Wolfram alpha


Source code




Documentation coming soon


@cisary on twitter

Bitcoin, web applications, constraint processing, AI, soft-computing - evolution inspired algorithms, integration with the blockchain technology and more.    


Agile Software Development

cisary @ Github cisary @ Bitbutcket

Newest articles

Twitter & Delicious

  • New (beta) website