Commit Graph
135 Commits
Author SHA1 Message Date
LSaldyt 6b02fe3ca0 WIP 2017-11-02 16:19:01 -07:00
LSaldyt ac99a2ad9a Merge branch 'feature-adjustment-formula' into feature-temperature-effect-analysis 2017-11-01 17:47:06 -07:00
LSaldyt 9a5aca5b80 Adds parameterized and soft "best" formula alts 2017-11-01 11:01:40 -07:00
LSaldyt 397d49cc58 Random scattered analysis 2017-10-19 20:37:40 -07:00
LSaldyt 176e6cd4e2 Adds final formula comparison code 2017-10-16 18:18:55 -07:00
lsaldyt 765323c3cd Updates adjustment formula to a satisfactory formula
Out of all of the formulas I've tried, I believe this formula to be a more elegant alternative to Mitchell's formula.
However, like Mitchell's original formula, it still provides weird answers in some cases, but I believe these to source from elsewhere,
not from the adjustment formula.

For more information, please see:

https://docs.google.com/spreadsheets/d/1JT2yCBUAsFzMcbKsQUcH1DhcBbuWDKTgPvUwD9EqyTY/edit?usp=sharing
wq
2017-10-16 13:21:19 -07:00
LSaldyt 6985dedb18 Adds additional adjustment formulas 2017-10-15 14:38:48 -06:00
LSaldyt 0ba421029c Adds additional formulas, weights, and tests 2017-10-11 22:12:53 -06:00
LSaldyt ef0e177bad WIP 2017-10-11 19:50:33 -06:00
LSaldyt 6ff43f8d5a Updates tests 2017-10-09 14:01:17 -06:00
LSaldyt be06e22f64 Moves tests 2017-10-09 13:01:11 -06:00
LSaldyt 73d0721286 Moves log location 2017-10-09 12:53:54 -06:00
LSaldyt 27a55668be Experiments with alt inverse:
Equal probabilities for all items when temperature is equal to 100
2017-10-09 12:20:45 -06:00
LSaldyt 3bf417e38a WIP 2017-10-09 11:06:16 -06:00
LSaldyt 874683bf18 Adds clarification to breaker codelet docs 2017-10-07 23:38:48 -06:00
LSaldyt 96c7c6e08c Cleans code, moving formula choice to copycat.py 2017-10-05 15:17:39 -06:00
LSaldyt c2c5d24f0d TAG: Formula testing code 2017-10-05 15:03:58 -06:00
LSaldyt 8203cebb15 Calculate Chi^2 values for getAdj- formulas 2017-10-04 15:37:22 -06:00
LSaldyt b90bae2584 Adds automatic running, formula tests 2017-10-04 15:20:59 -06:00
LSaldyt 7abb40f849 Adds problems and result saving 2017-10-04 15:20:48 -06:00
LSaldyt 430e2b3750 Adds base temp formula 2017-09-29 17:55:24 -06:00
LSaldyt 6b1c4634fe Fixes plot labels (slightly) 2017-09-29 16:59:26 -06:00
LSaldyt fa8b493948 Adds annotations and formula notes 2017-09-29 15:01:57 -06:00
LSaldyt 665bf1f778 Adds notes to temperature.py 2017-09-29 13:47:03 -06:00
LSaldyt 60a5274066 Adds additional plotting options 2017-09-29 13:34:26 -06:00
LSaldyt 1c570735f8 Add simple matplotlib bar plots per run
As well as a flag to turn plotting on
2017-09-29 13:16:25 -06:00
LSaldyt 42a875a492 Minor annotations to temperature calculations 2017-09-29 13:12:16 -06:00
LSaldyt cd3ad65ff8 Documents usages of temperature 2017-09-28 15:04:42 -06:00
alex 1b84b22e3f seems like the bug is in the sameness group or something very close to it 2017-09-28 01:18:13 -03:00
alex 1cc18e75bd something is rotten somewhere 2017-09-28 00:54:07 -03:00
alex 29b5987c4f ...and bingo! 2017-09-28 00:46:19 -03:00
alex 9781e3ceed addtl testing... 2017-09-28 00:42:30 -03:00
alex 4b1518a1af xyz? 2017-09-27 23:11:56 -03:00
alex 3c8b21140d Experiments to refer to Lucas 2017-09-27 22:37:38 -03:00
Alexandre Linhares a564e43dff Preparing for refactor 2017-09-27 20:00:02 -03:00
Alexandre Linhares 120aa3a293 Merge branch 'master' of https://github.com/Alex-Linhares/co.py.cat 2017-09-27 16:02:39 -03:00
Alexandre Linhares 51e4ba64e2 Created simple jupyter notebook 2017-09-27 16:02:34 -03:00
alex 27bbc6118e Preparing for refactor... 2017-09-26 22:47:09 -03:00
Alexandre Linhares 0905d35680 start work om distributed decision making 2017-09-25 22:32:57 -03:00
Alexandre Linhares b5e35a35dd Found entry points for the research project 2017-08-28 00:02:34 -03:00
LSaldyt bc848e8f2d Ports to Python3 2017-07-31 17:08:26 -06:00
Arthur O'Dwyer 318d0e2349 Fix a lot of crashes with empty or single-letter inputs. 2017-05-03 02:01:57 -07:00
Arthur O'Dwyer 2a48245c15 Add "frames per second" to the CursesReporter.
You can now set the FPS goal with `--fps=10` (or whatever) on the command line;
and the current (measured) FPS is displayed in the lower right corner.

During the run, you can bump the FPS goal up and down with `F` and `f` respectively!
2017-05-02 18:37:40 -07:00
Arthur O'Dwyer 0eec6a5259 Massively improve CursesReporter.
The Slipnet itself turns out to be boring to look at.
More interest is found in the Workspace structures, such as bonds,
groups, and correspondences.

The old behavior of `curses_main.py` is still accessible via

    python curses_main.py abc abd xyz --focus-on-slipnet
2017-05-02 18:01:46 -07:00
Arthur O'Dwyer ef4a9c56c5 Try to fix up breakGroup.
With the new CursesReporter, I'm able to observe groups getting built
and broken; and I observed that sometimes a Bond (between a Letter and
a Group) would apparently survive the Group's breaking.
Reorder the operations in `breakGroup` so that the higher-level ones
("detach this Group from its external bonds") come strictly before
the lower-level ones ("ungroup this Group's members and remove this
Group from the Workspace, thus destroying it").

However, the "buggy" behavior I observed turned out to be due to a bug
in my display code and not due to anything wrong with `breakGroup`.
I suspect this patch is actually purely cosmetic.
2017-05-02 17:46:25 -07:00
Arthur O'Dwyer 730239f464 Rip out dead Bond.destinationIsOnRight and Bond.bidirectional. NFC. 2017-05-02 12:37:15 -07:00
Arthur O'Dwyer 5793fb887c Rip out dead method morePossibleDescriptions. NFC.
This code is already present in `getPossibleDescriptions`... which is
also a terrible function from the philosophical point of view, because
it secretly encodes knowledge about every predicate known to the system.
2017-05-02 11:33:43 -07:00
Arthur O'Dwyer 864c28609c Smartness update! A single letter is both "leftmost" and "rightmost".
Before this change, Copycat was unable to formulate more than the empty rule for
    abc : abd :: f : f
    abc : dbc :: f : f
    abc : aac :: f : f
After this change, Copycat strongly prefers
    abc : abd :: f : g  ("Replace the rightmost letter with its successor")
    abc : dbc :: f : d  ("Replace the leftmost letter with d")
    abc : aac :: f : e  ("Replace the middle letter with its predecessor")
2017-05-02 11:17:23 -07:00
Arthur O'Dwyer ecc2c2e407 Add report_workspace() to Reporter, and remove dead rules from the workspace.
I think the change to `workspace.breakRule()` is harmless. In theory, it
should make Copycat less hesitant to come up with rules that conflict with
the already-broken rule.
2017-05-01 15:28:38 -07:00
Arthur O'Dwyer 25d73785de Further Pythonicity. NFC. 2017-05-01 13:07:19 -07:00