Commit Graph

125 Commits

Author SHA1 Message Date
d397137cfc
go(algo_test): do test separation, proper clean-up
All checks were successful
continuous-integration/drone/push Build is passing
2022-08-20 12:42:20 +02:00
805db5088b
go(algo): close chans after use
All checks were successful
continuous-integration/drone/push Build is passing
2022-08-05 17:23:10 +02:00
df33a3c3a7
go: allow modifying HillClimb's 'neighbours' param
All checks were successful
continuous-integration/drone/push Build is passing
2022-08-05 17:11:39 +02:00
9618f958a8
go(algo): add PrepComparisonOfMeans
All checks were successful
continuous-integration/drone/push Build is passing
...also another one: getComparisonOfMeansPics, that is used in the
former func internally.
2022-08-03 21:28:43 +02:00
b4c9ebcf5a
go(algo): add GetMeanStats func
All checks were successful
continuous-integration/drone/push Build is passing
2022-08-03 21:25:37 +02:00
a328c9619e
go: use AlgoMeanVals for comparison of means plots
All checks were successful
continuous-integration/drone/push Build is passing
2022-08-03 21:17:19 +02:00
45ec295b93
chore(go(plot)): check meanVals size
All checks were successful
continuous-integration/drone/push Build is passing
2022-08-03 17:20:49 +02:00
8b4432ece1
go(plot): use consts for common strings
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-29 21:04:15 +02:00
1ec7a62281
go(algo): rm unused Values type
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-27 17:29:31 +02:00
ea3d57acd8
go: rename AlgoMean,Mean et al.
All checks were successful
continuous-integration/drone/push Build is passing
also add comments to methods explaining what they're supposed to do.
2022-07-25 22:24:54 +02:00
9801554eb5
go(algo): sort the mean vals in algo funcs
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-20 17:16:44 +02:00
109ce82f3e
go(plot): smarter string concat w/ fmt.Sprintf
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-20 16:24:04 +02:00
2bf3a4a767
go: collect and process mean vals
All checks were successful
continuous-integration/drone/push Build is passing
* compute and save mean values of x (e.g. 30) bench runs
* safely save mean vals for all bench-dimens combinations to AlgoMeans
  from goroutines (use mutex to protect shared access)
* rework algo/plot.go to use already computed mean values.

todo: plot mean vals of all algorithms (per benchmark) in a single pic.
2022-07-19 21:56:49 +02:00
c433b11eea
go(plot): latex-proof regular pic's caption, too
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-19 21:25:09 +02:00
c37ef263ae
go(stats): Solution -> BenchResults in FuncStats
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-19 19:58:45 +02:00
44cc400474
go(plot): streamline caption generation
All checks were successful
continuous-integration/drone/push Build is passing
* make sure to latex-escape captions (for correct line breaks)
* enable showing captions
* enable listing subfigure captions
* make sure latex lof (list of figures) picks up on subfigure captions
* clarify we need the subcaption package for subfigures, not subcaptions
2022-07-19 19:23:39 +02:00
3c8678a8d3
go,tmpl: plot mean values
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-18 22:36:47 +02:00
16cbf39a79
go(stats,algo): get,plot mean vals
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-18 10:08:12 +02:00
efbc963875
go(algo): use var for algo name
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-18 00:23:53 +02:00
6db4b60875
go(algo): use Dimensions slice from the bench pkg
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-17 11:57:40 +02:00
446f63b59e
go(report): aggregate all table tex files
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-16 23:30:56 +02:00
01a0ed12c4
go(report): aggregate all tex files tracking plots
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-16 22:05:15 +02:00
610060c88f
go(report): process pic lists in batches
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-16 21:40:53 +02:00
c47951f3ea
go(algo_test): add more checks
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-16 17:01:01 +02:00
0169196a93
go(plot): use chans, output latex from pic.tmpl
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-13 23:47:37 +02:00
621f56f5e3
go(stats): rework table saving,structure
All checks were successful
continuous-integration/drone/push Build is passing
* create tables as defined in the report pkg.
* add new funcs to calculate stats and prepare the necessary table
  structs.
* rework existing `stats` tests
* handle a weird test behaviour when tmpl at `report/table.tmpl` is not
  found when testing a `stats` func.
2022-07-13 17:35:18 +02:00
7b22723cb0
go: standardise output dirs for reporting material
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-12 16:56:49 +02:00
65b1ce02df
go(plot): decouple extension from filename
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-11 21:41:05 +02:00
fc080c3b8e
go(algo): use a buffered chan to get results
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-11 20:59:18 +02:00
be55fc7d99
go: mv util{_test}.go to a separate util pkg
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-10 20:54:48 +02:00
c0adff4b78
go(algo): run algorithms concurrently
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-09 16:19:56 +02:00
1c5dfa9818
go(plot): enable concurrent plotting
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-08 22:51:31 +02:00
54cd582887
go(algo): add doc.go
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-08 22:16:22 +02:00
c1f986860e
go(algo): properly clean up in util_test.go
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-08 22:11:30 +02:00
aaa6e6f298
go(algo): do HillClimb
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-08 21:40:04 +02:00
c0ab6f3fff
go(algo): implement Stochastic Hill Climbing
All checks were successful
continuous-integration/drone Build is passing
continuous-integration/drone/push Build is passing
2022-07-08 19:57:44 +02:00
bec2ee3046
go(plot): track plotting execution time
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-08 19:22:09 +02:00
d2ab681218
go(plot): print info with appropriate func
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-08 19:20:21 +02:00
79ed004754
go(plot): set proper global min for axis label
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-08 19:04:05 +02:00
75471ba6e8
go(plot): set default plotter line width
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-08 19:01:21 +02:00
8f1e05fb77
go(plot): set default plotter font style
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-08 19:00:11 +02:00
340c6e7238
go(plot): rename allStats -> algoStats
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-08 18:16:51 +02:00
0131fccfba
go(plot): set font for tick labels
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-08 17:55:15 +02:00
141c48b722
go(plot): edit title text style
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-08 17:50:57 +02:00
29bc85ba59
go(plot): stop adding plot grid
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-08 17:41:25 +02:00
1380cf3cdc
go(plot): remove plot legend for n-iter comparison
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-08 17:17:25 +02:00
0794e48530
go(plot): set Y axis' min/max dynamically
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-08 03:32:07 +02:00
e1fa0f08ff
go(algo): seed prng once per algo run
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-07 17:55:47 +02:00
b6e7e916ce
go(algo/plot.go): set label,legend text style
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-05 22:56:01 +02:00
26065d3f10
go(algo): seed prng with "time.Now().UnixNano()"
All checks were successful
continuous-integration/drone/push Build is passing
2022-07-05 21:46:09 +02:00
8f50a1ea51
go(plot): use createPath instead of createFolder
All checks were successful
continuous-integration/drone/push Build is passing
..as it's more universal, should we start/allow passing more complex
paths than "./res-folder".. should e.g. "./res/subpath" be passed to the
former func, it would error out more easily, as the subpath would likely
be non-existent, akin to `mkdir <path>` vs `mkdir -p <path>`.
2022-06-29 17:04:45 +02:00
c8ed8eb82b
go(util_test.go): use more sensible error message
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-29 17:02:13 +02:00
b9a4ff3192
go(algo/util): add createPath func
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-29 16:54:55 +02:00
babbd4201e
go: fix DoRandomSearch unit test
All checks were successful
continuous-integration/drone/push Build is passing
the test was previously failing due to a folder not present when results
were to be saved.
2022-06-28 23:42:15 +02:00
b24f7db46f
go(algo/util): add createFolder func
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-28 23:40:35 +02:00
4abc9e6246
go(randomSearch): print progress stats
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-25 21:55:36 +02:00
d2c4f2b1db
go: add a way to iterate over func names for stats
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-24 00:56:10 +02:00
63da28a8f0
go: add a way to print statistic table
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-24 00:45:43 +02:00
c0d8f8e6e8
go(algo): rework the plotting func, add util.go
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-20 03:32:48 +02:00
86226ac76f
fix(go): RandomSearch -> RandomSearchNG
All checks were successful
continuous-integration/drone/push Build is passing
that is, a next-gen (actually working) version of the algo...
also rm the attempt at plotting before another rework.
2022-06-20 03:04:59 +02:00
520c903a14
go: add func newValues()
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-19 19:44:18 +02:00
5038e75a38
go(plot): svg instead of png for 100-fold speed-up
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2022-06-18 21:22:19 +02:00
ed816620c1
go: change Functions var to a string-func map
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-18 20:40:27 +02:00
5b7c0a16a4
go: add plotting capability
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-18 05:27:10 +02:00
a913bbb407
go(algo): var name i -> iter
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-18 00:08:10 +02:00
cbf47031f9
go: implement RandomSearch wip2
All checks were successful
continuous-integration/drone/push Build is passing
* perform RandomSearch with each of the benchmarking functions for a
  prescribed number of iterations

left to do:
* saving the solution
* parsing the solution to a table
* parsing the solution to generate graphs

* follow-up of b3787da640
2022-06-17 22:33:37 +02:00
f1b3c1c90f
go(randomSearch): properly size the vals slice
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-17 22:14:56 +02:00
53a5de92dd
go(randomSearch): iterate with j^wi
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-17 21:41:54 +02:00
3e24a71283
chore(go): reach bench funcs via Functions slice
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-17 21:08:26 +02:00
cb2b98ed57
fix(go): call bench functions by their names
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-17 21:03:03 +02:00
8a2d3eb5ee
fix(go): only pass raw dimensions count
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-17 20:26:21 +02:00
ffc8b90e98
chore(go): print algo-stamps without errors
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-17 19:55:23 +02:00
b3787da640
go: implement RandomSearch (wip)
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-17 01:54:30 +02:00
8b1e496c10
go: add Values type
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-15 23:29:28 +02:00
ab14e97f16
go: add RandomSearch,SHC algos
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-14 22:34:52 +02:00