MilesCranmer commited on
Commit
9fa51a8
1 Parent(s): 95a2a34

Fix bug with Int32 rounding of equation age

Browse files
Files changed (3) hide show
  1. README.md +1 -0
  2. julia/sr.jl +3 -3
  3. setup.py +1 -1
README.md CHANGED
@@ -327,6 +327,7 @@ pd.DataFrame, Results dataframe, giving complexity, MSE, and equations
327
  ## Algorithmic performance ideas:
328
 
329
  - [ ] Idea: use gradient of equation with respect to each operator (perhaps simply add to each operator) to tell which part is the most "sensitive" to changes. Then, perhaps insert/delete/mutate on that part of the tree?
 
330
  - [ ] Consider adding mutation for constant<->variable
331
  - [ ] Implement more parts of the original Eureqa algorithms: https://www.creativemachineslab.com/eureqa.html
332
  - [ ] Experiment with freezing parts of model; then we only append/delete at end of tree.
 
327
  ## Algorithmic performance ideas:
328
 
329
  - [ ] Idea: use gradient of equation with respect to each operator (perhaps simply add to each operator) to tell which part is the most "sensitive" to changes. Then, perhaps insert/delete/mutate on that part of the tree?
330
+ - [ ] Start populations staggered; so that there is more frequent printing (and pops that start a bit later get hall of fame already)?
331
  - [ ] Consider adding mutation for constant<->variable
332
  - [ ] Implement more parts of the original Eureqa algorithms: https://www.creativemachineslab.com/eureqa.html
333
  - [ ] Experiment with freezing parts of model; then we only append/delete at end of tree.
julia/sr.jl CHANGED
@@ -41,8 +41,8 @@ function debug(verbosity, string...)
41
  verbosity > 0 ? println(string...) : nothing
42
  end
43
 
44
- function getTime()::Int32
45
- return round(Int32, 1e3*(time()-1.6e9))
46
  end
47
 
48
  # Define a serialization format for the symbolic equations:
@@ -526,7 +526,7 @@ end
526
  mutable struct PopMember
527
  tree::Node
528
  score::Float32
529
- birth::Int32
530
 
531
  PopMember(t::Node) = new(t, scoreFunc(t), getTime())
532
  PopMember(t::Node, score::Float32) = new(t, score, getTime())
 
41
  verbosity > 0 ? println(string...) : nothing
42
  end
43
 
44
+ function getTime()::Integer
45
+ return round(Integer, 1e3*(time()-1.6e9))
46
  end
47
 
48
  # Define a serialization format for the symbolic equations:
 
526
  mutable struct PopMember
527
  tree::Node
528
  score::Float32
529
+ birth::Integer
530
 
531
  PopMember(t::Node) = new(t, scoreFunc(t), getTime())
532
  PopMember(t::Node, score::Float32) = new(t, score, getTime())
setup.py CHANGED
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
5
 
6
  setuptools.setup(
7
  name="pysr", # Replace with your own username
8
- version="0.3.17",
9
  author="Miles Cranmer",
10
  author_email="[email protected]",
11
  description="Simple and efficient symbolic regression",
 
5
 
6
  setuptools.setup(
7
  name="pysr", # Replace with your own username
8
+ version="0.3.18",
9
  author="Miles Cranmer",
10
  author_email="[email protected]",
11
  description="Simple and efficient symbolic regression",