chiark / gitweb /
matchsticks-search.git
10 years agoreport best_adjmatrix in that form
Ian Jackson [Sun, 9 Mar 2014 18:31:54 +0000 (18:31 +0000)]
report best_adjmatrix in that form

10 years agooption for starting best value
Ian Jackson [Sun, 9 Mar 2014 18:22:29 +0000 (18:22 +0000)]
option for starting best value

10 years agodocument -j option in head comment
Ian Jackson [Sun, 9 Mar 2014 18:22:10 +0000 (18:22 +0000)]
document -j option in head comment

10 years agofudge the {n,m}_max_frags to deal with rounding errors in glpk results
Ian Jackson [Sun, 9 Mar 2014 18:20:26 +0000 (18:20 +0000)]
fudge the {n,m}_max_frags to deal with rounding errors in glpk results

10 years agouse "git describe" not "git-describe"
Ian Jackson [Sun, 9 Mar 2014 14:36:59 +0000 (14:36 +0000)]
use "git describe" not "git-describe"

10 years agomove minham check earlier; this avoids some printing etc
Ian Jackson [Sun, 9 Mar 2014 13:18:09 +0000 (13:18 +0000)]
move minham check earlier; this avoids some printing etc

apparent speedup of -j4 9 7 on zealot is about 10%

10 years agominimum output match hamming weight; enforce argument ordering
Ian Jackson [Sun, 9 Mar 2014 12:29:12 +0000 (12:29 +0000)]
minimum output match hamming weight; enforce argument ordering

This seems to provide a very dramatic speedup.

10 years ago.gitignore: profiling output files
Ian Jackson [Sun, 9 Mar 2014 12:23:25 +0000 (12:23 +0000)]
.gitignore: profiling output files

10 years agocommentary: document new criterion introduced in ea5f3526c7c0
Ian Jackson [Sun, 9 Mar 2014 12:21:26 +0000 (12:21 +0000)]
commentary: document new criterion introduced in ea5f3526c7c0

10 years agocommentary: clarify and fix input vs output confusion
Ian Jackson [Sun, 9 Mar 2014 12:20:50 +0000 (12:20 +0000)]
commentary: clarify and fix input vs output confusion

10 years agoadd one missing call to FOR_BITS (no functional change)
Ian Jackson [Sun, 9 Mar 2014 12:05:51 +0000 (12:05 +0000)]
add one missing call to FOR_BITS (no functional change)

10 years ago{n,m}_max_frags: fix fencepost efficiency problem
Ian Jackson [Sun, 9 Mar 2014 11:37:14 +0000 (11:37 +0000)]
{n,m}_max_frags: fix fencepost efficiency problem

fixes the bug discovered/exacerbated in 41013cb05383

10 years agorename {n,m}_over_best to {n,m}_max_frags to reflect way used in most of the code
Ian Jackson [Sun, 9 Mar 2014 11:29:12 +0000 (11:29 +0000)]
rename {n,m}_over_best to {n,m}_max_frags to reflect way used in most of the code

10 years agointroduce m_over_best and use it instead of computing maxminsize
Ian Jackson [Sun, 9 Mar 2014 10:48:19 +0000 (10:48 +0000)]
introduce m_over_best and use it instead of computing maxminsize

XXX makes things slower, perhaps has bug ?!

10 years agomove had_max and totalfrags update later in loop body (no functional change)
Ian Jackson [Sun, 9 Mar 2014 10:46:32 +0000 (10:46 +0000)]
move had_max and totalfrags update later in loop body (no functional change)

10 years agoprovide and use FOR_BITS
Ian Jackson [Sun, 9 Mar 2014 10:44:12 +0000 (10:44 +0000)]
provide and use FOR_BITS

this seemed like it would make it faster but doesn't appear to have done so

10 years agoprovide CMDLINE_CFLAGS feature
Ian Jackson [Sun, 9 Mar 2014 10:43:18 +0000 (10:43 +0000)]
provide CMDLINE_CFLAGS feature

This can be used for profiling etc.

10 years agoremove some debugging newlines (mistakenly included in previous commit)
Ian Jackson [Sun, 9 Mar 2014 03:28:09 +0000 (03:28 +0000)]
remove some debugging newlines (mistakenly included in previous commit)

10 years agomulticore: in master, when collecting results, pay no attention to bus and look only...
Ian Jackson [Sun, 9 Mar 2014 03:22:37 +0000 (03:22 +0000)]
multicore: in master, when collecting results, pay no attention to bus and look only at our own best

10 years agoonly report "reporting" if we actually have something
Ian Jackson [Sun, 9 Mar 2014 03:21:57 +0000 (03:21 +0000)]
only report "reporting" if we actually have something

10 years agoshow git version in output
Ian Jackson [Sun, 9 Mar 2014 02:45:08 +0000 (02:45 +0000)]
show git version in output

10 years agopass weight array to workers (fix semantic conflict between horizontal weight elimina...
Ian Jackson [Sun, 9 Mar 2014 02:09:35 +0000 (02:09 +0000)]
pass weight array to workers (fix semantic conflict between horizontal weight elimination and multicore)

10 years agomove -lm to LDLIBS where it ought to be
Ian Jackson [Sun, 9 Mar 2014 01:47:51 +0000 (01:47 +0000)]
move -lm to LDLIBS where it ought to be

10 years agoapply floor to n_over_best
Ian Jackson [Sat, 8 Mar 2014 22:17:53 +0000 (22:17 +0000)]
apply floor to n_over_best

10 years agoadd <math.h> and -lm (no functional change)
Ian Jackson [Sat, 8 Mar 2014 22:17:37 +0000 (22:17 +0000)]
add <math.h> and -lm (no functional change)

10 years agoMerge remote-tracking branch 'sgt/master'
Ian Jackson [Sat, 8 Mar 2014 22:11:59 +0000 (22:11 +0000)]
Merge remote-tracking branch 'sgt/master'

Changes made to the new code in sgt/master:
  - use "-std=gnu99" not "--std=gnu99"
  - n_over_best calculation is in set_best
  - n_over_best initialised properly
 style:
  - use calloc, do not cast return value from int, better sizeof
  - extra blank line

Conflicts:
Makefile
main.c

10 years agobreak out set_best
Ian Jackson [Sat, 8 Mar 2014 22:05:58 +0000 (22:05 +0000)]
break out set_best

10 years agoin multicore, generator periodically checks for new best to avoid generating many...
Ian Jackson [Sat, 8 Mar 2014 19:42:59 +0000 (19:42 +0000)]
in multicore, generator periodically checks for new best to avoid generating many pointless suggestions

10 years agoin mc_iterate_worker, use maxhamweight_ok and preconsider_ok on incoming suggestions...
Ian Jackson [Sat, 8 Mar 2014 19:42:25 +0000 (19:42 +0000)]
in mc_iterate_worker, use maxhamweight_ok and preconsider_ok on incoming suggestions (for quicker elimination)

10 years agobreak out maxhamweight_ok (no functional change)
Ian Jackson [Sat, 8 Mar 2014 19:41:53 +0000 (19:41 +0000)]
break out maxhamweight_ok (no functional change)

10 years agopredeclare preconsider_ok and multicore_check_for_new_best (no functional change)
Ian Jackson [Sat, 8 Mar 2014 19:40:57 +0000 (19:40 +0000)]
predeclare preconsider_ok and multicore_check_for_new_best (no functional change)

10 years agotiresome portability fix for pread on squeeze
Ian Jackson [Sat, 8 Mar 2014 17:56:03 +0000 (17:56 +0000)]
tiresome portability fix for pread on squeeze

10 years agomulticore support seems to work
Ian Jackson [Sat, 8 Mar 2014 17:48:46 +0000 (17:48 +0000)]
multicore support seems to work

10 years ago.gitignore: core, t.*
Ian Jackson [Sat, 8 Mar 2014 17:47:58 +0000 (17:47 +0000)]
.gitignore: core, t.*

10 years agointroduce progress_eol and make stderr line buffered
Ian Jackson [Sat, 8 Mar 2014 17:47:06 +0000 (17:47 +0000)]
introduce progress_eol and make stderr line buffered

10 years agoin preconsider_ok, check for frags >= maxhamweight so we can force this to pass by...
Ian Jackson [Sat, 8 Mar 2014 17:32:18 +0000 (17:32 +0000)]
in preconsider_ok, check for frags >= maxhamweight so we can force this to pass by setting maxhamweight

10 years agobreak out preconsider_ok
Ian Jackson [Sat, 8 Mar 2014 17:31:36 +0000 (17:31 +0000)]
break out preconsider_ok

10 years agoPRINTF is less bodgy now
Ian Jackson [Sat, 8 Mar 2014 17:28:54 +0000 (17:28 +0000)]
PRINTF is less bodgy now

10 years agoAdd -std=gnu99 to Makefile
Ian Jackson [Sat, 8 Mar 2014 17:27:23 +0000 (17:27 +0000)]
Add -std=gnu99 to Makefile

10 years agobreak out report()
Ian Jackson [Sat, 8 Mar 2014 16:26:14 +0000 (16:26 +0000)]
break out report()

10 years agowip multicore: add argument parsing; currently -j option is actually ignored
Ian Jackson [Sat, 8 Mar 2014 16:01:04 +0000 (16:01 +0000)]
wip multicore: add argument parsing; currently -j option is actually ignored

10 years agoCheck max Hamming weight in the other direction.
Simon Tatham [Sat, 8 Mar 2014 14:10:06 +0000 (14:10 +0000)]
Check max Hamming weight in the other direction.

Once we've already got a solution, we can further winnow the set of
possible adjacency matrices, by ensuring the same bit is not set in
too many entries of adjmatrix (since if it were, some length-n stick
would have to be divided into enough pieces to make one at most the
already-known best result). This adds complexity to each step of the
recursion over possible matrices, but by early pruning it seems to cut
down the number of steps by rather more; I estimate a factor of four
speedup in pursuit of (n,m)=(10,7).

10 years agoPrune by symmetry: constrain 1st adj row to all 1s at low end. v1
Simon Tatham [Sat, 8 Mar 2014 00:19:41 +0000 (00:19 +0000)]
Prune by symmetry: constrain 1st adj row to all 1s at low end.

10 years agoSeparate stdout from stderr.
Simon Tatham [Sat, 8 Mar 2014 00:03:04 +0000 (00:03 +0000)]
Separate stdout from stderr.

10 years agoOutput the actual dissection, as a matrix.
Simon Tatham [Sat, 8 Mar 2014 00:00:29 +0000 (00:00 +0000)]
Output the actual dissection, as a matrix.

10 years agocommentary
Ian Jackson [Fri, 7 Mar 2014 18:54:57 +0000 (18:54 +0000)]
commentary

10 years agoassert our arguments
Ian Jackson [Fri, 7 Mar 2014 18:45:51 +0000 (18:45 +0000)]
assert our arguments

10 years agodo not leak prob when retrying
Ian Jackson [Fri, 7 Mar 2014 18:43:49 +0000 (18:43 +0000)]
do not leak prob when retrying

10 years agosearch in order by max hamming weight
Ian Jackson [Fri, 7 Mar 2014 18:09:46 +0000 (18:09 +0000)]
search in order by max hamming weight

10 years agoRevert "loop in reverse order - this is a better search path"
Ian Jackson [Fri, 7 Mar 2014 17:48:30 +0000 (17:48 +0000)]
Revert "loop in reverse order - this is a better search path"

This reverts commit 35e60acecf2f2657a3fd53f89053de9e57a0d7fe.

Doesn't actually seem to help that much.

10 years agoloop in reverse order - this is a better search path
Ian Jackson [Fri, 7 Mar 2014 17:38:21 +0000 (17:38 +0000)]
loop in reverse order - this is a better search path

10 years agoRevert "mix up the order" and "mix up the order"
Ian Jackson [Fri, 7 Mar 2014 17:35:56 +0000 (17:35 +0000)]
Revert "mix up the order" and "mix up the order"

This is not correct; I think it doesn't in fact search all relevant
bit patterns.

10 years agomix up the order, print better
Ian Jackson [Fri, 7 Mar 2014 17:31:29 +0000 (17:31 +0000)]
mix up the order, print better

10 years agomix up the order
Ian Jackson [Fri, 7 Mar 2014 17:24:49 +0000 (17:24 +0000)]
mix up the order

10 years agoerror fixes; tried interior but doesn't work (EINSTAB) and docs say cannot cope with...
Ian Jackson [Fri, 7 Mar 2014 16:54:20 +0000 (16:54 +0000)]
error fixes; tried interior but doesn't work (EINSTAB) and docs say cannot cope with dense columns of which our X_minimum is one

10 years agoprint best solution
Ian Jackson [Fri, 7 Mar 2014 16:50:18 +0000 (16:50 +0000)]
print best solution

10 years agoimprove maxminsize thing
Ian Jackson [Fri, 7 Mar 2014 16:37:47 +0000 (16:37 +0000)]
improve maxminsize thing

10 years agofix printing more
Ian Jackson [Fri, 7 Mar 2014 16:37:17 +0000 (16:37 +0000)]
fix printing more

10 years agoless printing, optimise
Ian Jackson [Fri, 7 Mar 2014 16:28:26 +0000 (16:28 +0000)]
less printing, optimise

10 years agooutput improvements
Ian Jackson [Fri, 7 Mar 2014 16:08:58 +0000 (16:08 +0000)]
output improvements

10 years agowip lp seems to work so far...
Ian Jackson [Fri, 7 Mar 2014 16:01:09 +0000 (16:01 +0000)]
wip lp seems to work so far...

10 years agowip lp, results, compiles
Ian Jackson [Fri, 7 Mar 2014 15:32:54 +0000 (15:32 +0000)]
wip lp, results, compiles

10 years agowip lp, problem setup compiles
Ian Jackson [Fri, 7 Mar 2014 14:55:30 +0000 (14:55 +0000)]
wip lp, problem setup compiles

10 years agowip lp
Ian Jackson [Fri, 7 Mar 2014 14:52:13 +0000 (14:52 +0000)]
wip lp

10 years agowip lp notes before condense
Ian Jackson [Fri, 7 Mar 2014 13:44:10 +0000 (13:44 +0000)]
wip lp notes before condense

10 years agowip, builds, before glpk
Ian Jackson [Fri, 7 Mar 2014 13:29:02 +0000 (13:29 +0000)]
wip, builds, before glpk

10 years agowip
Ian Jackson [Fri, 7 Mar 2014 13:22:08 +0000 (13:22 +0000)]
wip