occam-ra / occam

OCCAM Reconstructability Analysis Tools
Other
20 stars 14 forks source link

Algorithms documentation #50

Open gdcutting opened 5 years ago

gdcutting commented 5 years ago

There is a need to document the RA algorithms (search and fit). I am starting work on this at my fork:

https://github.com/gdcutting/occam/tree/feature/documentation/docs (see any docs with 'reconstructibility-analysis-' in the title)

This will be work in progress for a while. I'm starting with the most general search algorithms and then moving eventually to disjoint, state-based, etc. (more specialized searches).

Also, I know there are a lot of documentation issues right now, but I don't think there's a problem with that. There are a number of different places where we need documentation (tutorial, FAQ, programming-related, wiki, etc.) so these all need to be open.

gdcutting commented 5 years ago

Getting a start to the algorithms docs at my fork: https://github.com/gdcutting/occam/blob/feature/documentation/docs/reconstructibility-analysis-search-algorithms.md

There are definitely some things that could be improved. For example, the SearchFullDown pseudocode preserves some of the variable names from the c++ implementation, but I don't think that's ideal, I would like to improve on that to make it more general and more clear. There's a number of things about the pseudocode that I might improve, actually. But this is at least a working structure - some brief commentary at the top, then for each algorithm providing a code reference (so someone can easily go look at the relevant code), pseudocode, and a few lines of discussion to clarify what's happening in the algorithm. Now that I've got this in place it will be easier to go through the rest of the algorithms.

gdcutting commented 5 years ago

This Atom plugin has been very helpful so far: https://atom.io/packages/docblockr