f37b88d032
random.seed(42) for testing; TODO revert me
2017-04-18 01:12:22 -07:00
3d630ba389
Decouple temperature from coderack.
2017-04-18 01:12:21 -07:00
51178c049d
Inline trivial function Bond.get_source(). NFC.
2017-04-18 01:12:21 -07:00
a41b639487
Remove global variable coderackPressures (bugfix?)
...
Before this patch, `coderackPressures.updatePressures()` was always
a no-op, as evidenced by the until-now-harmless misspelling of Python's
list `remove` operation as `removeElement`.
I can't tell if this broke anything; my tests still pass.
2017-04-18 01:12:21 -07:00
5423d078e8
Move updateTemperature() from workspaceFormulas to workspace.
...
And remove dead and/or logging code to simplify the logic.
2017-04-18 01:12:21 -07:00
8171b68cbe
Remove some unused global variables. NFC.
2017-04-18 01:12:20 -07:00
6fcf2f3350
git rm grouprun.py
2017-04-18 01:12:20 -07:00
d60ba5277c
Remove a crash-causing line in slipnet.py.
...
Without this patch, `python main.py abc aabbcc milk` will reliably crash.
I believe what happens here is that we initialize all the slipnodes and
everything, and then `slipnet.predecessor` becomes `None`, which means
that if that concept ever arises on its own (vs. arising as the "opposite"
of "successor"), we'll be passing around `None` instead of a proper `Slipnode`
and everything goes sideways.
This line doesn't correspond obviously to anything in the Java code,
so I think it's just bogus --- an experiment in "brain damage" that was
accidentally committed?
2017-04-18 01:07:51 -07:00
0ff9d49111
Further Pythonicity and flake8 cleanup. NFC.
2017-04-16 18:22:57 -07:00
31323cd2bc
Add some end-to-end tests!
...
These tests are intended to protect against regressions in the high-level
behavior of Copycat. They're not super precise, and they're VERY slow.
2017-04-16 18:22:57 -07:00
8e10814802
Further Pythonicity; and remove a bunch of logging from the inner loop.
2017-04-16 01:19:36 -07:00
77bfaaf5a7
Further refactor the main harness. Print average time for each solution.
2017-04-16 00:55:18 -07:00
3103f54ada
Untie some loopy logic in addCodelet. (Functional change!)
2017-04-15 23:08:12 -07:00
e094160dcd
More Pythonic cleanups. NFC.
2017-04-15 23:07:28 -07:00
a2260cdaf6
Run multiple iterations. Print final temperatures. Reduce stdout spew.
...
This makes the output of the program more closely resemble that of the
original Copycat described in "FCCA" page 236:
> [T]he average final temperature of an answer can be thought of as
> the program's own assessment of that answer's quality, with lower
> temperatures meaning higher quality.
For example, running `python main.py abc abd ijk 100` produced the
following output:
ijl: 98 (avg temp 16.0)
jjk: 1 (avg temp 56.3)
ijk: 1 (avg temp 57.9)
And for `python main.py abc abd ijkk 100`:
ijkkk: 2 (avg temp 19.8)
ijkl: 51 (avg temp 28.1)
ijll: 46 (avg temp 28.9)
djkk: 1 (avg temp 77.4)
2017-04-15 22:29:46 -07:00
ed1d95896e
More Pythonic idioms in coderackPressure.py.
...
No functional change.
2017-04-15 22:29:46 -07:00
88ee2ddd8d
Spelling: neighbour -> neighbor.
...
The old code mixed both spellings; we might as well be consistent.
2017-04-15 22:29:46 -07:00
5735888d02
Minor Pythonicity cleanups.
...
No functional change.
2017-04-14 11:37:43 -07:00
69f75c3f42
Spelling: slipability -> slippability
...
No functional change.
2017-04-14 11:19:25 -07:00
bcfd8a5a10
Ignore mccabe complexity smells
2015-10-28 01:34:16 +00:00
c46e3b6db0
Allow more complex functions in Landscape
2015-10-28 01:29:43 +00:00
52402b99b3
Add Landscape configuration
2015-10-28 01:25:54 +00:00
aeb8cda755
Tidy references (which were broken by daeff3d) #5
2015-06-01 10:52:20 +01:00
daeff3d9bf
Pylint the code
2014-12-22 23:44:09 +00:00
a5930b486c
PEP 8 - line length
2014-12-22 20:18:54 +00:00
39fb7fc9b7
outdent
2014-12-22 16:56:53 +00:00
d4bb38b858
Github calls it sh, not shell
2014-12-22 16:56:16 +00:00
98357913e9
Make a separate para of final instruction
2014-12-22 16:53:02 +00:00
0f51434191
Better linkage #4
2014-12-22 16:50:15 +00:00
c38102c02e
Extend readme to explain install & run, #4
2014-12-22 16:44:51 +00:00
94a0ecae48
PEP 008, mostly lines too long
2014-12-22 16:38:10 +00:00
c0971ce029
Link to a license file actually breaks license
...
Namely "copyright notice and this permission notice shall be included in all copies"
2014-03-21 12:25:58 +00:00
e58e449be2
Consistent licencing across projects
2013-08-16 10:24:41 +01:00
331114ebc3
Merge pull request #3 from jtauber/master
...
improved PEP compliance and fixed errors preventing it from running
2012-12-10 07:59:00 -08:00
8332b1387e
fixed indentation problem
2012-12-01 02:15:25 -05:00
ab27b745be
fixed missing random imports
2012-12-01 02:13:31 -05:00
b939f3ec3f
fixed conceptual_depth for conceptualDepth
2012-12-01 02:12:22 -05:00
2281870cf2
removed unnecessary utils
2012-12-01 02:10:33 -05:00
33cf41b585
fix linter errors and warnings
2012-12-01 02:00:03 -05:00
cfaebd150f
tabs to spaces
2012-11-30 02:12:44 -05:00
1ca7f1839f
proper nouns don't take articles
2012-11-30 02:03:59 -05:00
53149013cc
avoid duplicitous wording
2012-11-20 21:54:15 +00:00
b7b2a738b0
Ignore filesystem and editor files
2012-11-20 21:53:54 +00:00
86f0bf8016
Spell my own name correctly!
2012-10-26 18:25:24 +01:00
b3d46f3a68
Don't ignore unused files
2012-10-26 18:22:34 +01:00
feae97a988
Simpler returns
2012-10-26 18:20:26 +01:00
331b1ad3eb
Separate out the main method
2012-10-26 18:20:15 +01:00
073f4fe05c
I like to think Mr Hofstadter would appreciate the self-reference
2012-10-26 17:54:13 +01:00
47c0b457b3
Add license
2012-10-26 17:50:00 +01:00
b12ae322eb
Make a package from the python scripts
2012-10-26 17:40:20 +01:00