Skip to content

Releases: margorczynski/okkam

v0.3.0

22 Apr 14:59
Compare
Choose a tag to compare

Big rewrite of the gene encoding and manipulation logic from using Booleans to u64 blocks with all the dependent components updated as well to this new approach.

These changes bring almost a 2x speedup in the example test case and a decrease in memory usage.

Changes

  • Chromosome now uses Vec<u64> instead of Vec<bool>
  • Updated serde of Polynomial to the new form
  • Updated GA logic (mainly crossover) to use new way of operating on the genes
  • Minor refactorizations

v0.2.0

20 Apr 22:03
Compare
Choose a tag to compare

Added new features, fixed bugs and the application in general is in an usable state.

Changes

  • UI much improved with chart, table and configuration info added
  • Fixed the MAPE calculation and refactored the code around calculating errors
  • Many new configuration options
  • Much better logging in the application along with a better customizable logger
  • Persist best results to a CSV file
  • Several optimizations that make it run faster
  • Choose between UI and headless mode

v0.1.0

19 Apr 15:40
Compare
Choose a tag to compare

This is the first release with an usable application that will be expanded in the future.

Features

  • Correctly converges in multiple tests
  • Multithreading as much as possible (60%+ utilization on Ryzen 7950X, depends on the parameters)
  • Reading dataset from CSV file
  • Writing best result polynomials to CSV file
  • Logging to file and STDOUT
  • Elementary TUI (terminal UI) in separate thread and headless mode
  • Parsing arguments for choosing a custom configuration file to be used and headless mode flag on/off
  • Simple config and dataset as examples ready to be used for testing
  • Simple Python script for generating datasets based on a defined function