Skip to content

Latest commit

 

History

History
116 lines (99 loc) · 2.9 KB

TODO.md

File metadata and controls

116 lines (99 loc) · 2.9 KB

TODO

General

  • Rename/relocate project
  • Add validation to all class members
    • Add validation to configs
  • Throw meaningful warnings
  • Add enums where applicable

Model

  • Create scheme class
  • Add custom metric function support
  • Element wise neighbours / adjencency matrix
  • Write states optionally to disk + config
  • Implement state memory
  • Create built-in conditions
  • Memory/output config class
    • State memory
    • Utility memory
    • Adjacency memory
  • Add non-array support
  • Multi process update functions per iteration
  • Execute update every X iterations
  • Multiple simulations
  • Stop simulation after convergence of specific state

Dynamic network utility layer

Edge values

  • Utility per edge
  • Utility change
    • NxN matrix
    • Specific edges
  • Optional utility initialization
  • Threshold state conditions
  • Threshold utility
  • Threshold adjacency (amount of neighbors)
  • Rework to edge values dictionary
  • Implement node removal and adding

Utility

  • Implement utility maximisation
  • Implement cost function
  • Node addition priority or only allow a node to be added by 1 other node during an iteration

Network updating

  • Remove nodes
    • List format
  • Edge changes
    • Overwrite
    • Add
    • Remove
    • Optional utility init
    • New adjacency matrix
      • New utility matrix for init
  • Add nodes
    • Optional state init
    • Optional edges
      • Optional utility init
  • Optional utility callable initialization

UI

  • Add graphical UI for state / constant selection / distribution specification

Update

  • Add support for conditions
  • Set all chained condition state indices

Conditions

  • Custom condition

Examples

  • Add example runner
  • Add example param specification

Sensitivity Analysis

  • Add sensitivity analysis runner
  • Add SA metrics
    • Means
    • Variance
    • Min / Max
    • Network metrics
    • Custom function
  • Rework to take model refactoring into account
  • Add parallel processing

Visualization

  • Add more layout and networkx layout support
  • Deal with different dimensions when writing
  • Reconfiguration visualization
  • More consistent network update locations
  • Visualize edges with 0 utility
  • Visualize utility
  • Read states from disk
  • Add regular plots / trends
  • Optimize animation if possible
  • Support jupyter notebook

Testing

  • Write more tests

Documentation

  • Implement ReadTheDocs
  • Document code

DevOps

  • Add CI support
  • Add code quality checking
  • Add automatic coverage checking
  • Create contribution and pull request templates

Package

  • Publish to PyPi
  • Add license