pyreason icon indicating copy to clipboard operation
pyreason copied to clipboard

Improvements

Open dyumanaditya opened this issue 2 years ago • 0 comments

  • [x] Change grounding process to loop through all possible variables and not just neighbors. This will allow for more complex rules.
  • [x] Add node/edge rule distinction. pred(x)<-pred1(y,x), pred2(y,z) is different from pred(x,y)<-pred1(y,x), pred2(y,z). This should be reflected in the YAMLs as well
  • [x] Add bound parser to rule parser so that we can pass in bounds in text rules
  • [x] Add annotation function parser to rule parser
  • [x] Read rules from text file
  • [x] Add comments for text file with # and remove any blank lines
  • [x] Add threshold class for text based rules
  • [ ] #17
  • [x] Add tests to python workflow
  • [ ] Immediate rules sorting inside rule parser
  • [x] More flexible annotation functions that don't require modification of interpretation.py
  • [ ] Model class for pyreason instead of global variables. Include functions such as model.summary() after reasoning.
  • [x] Input graph from networkx format as requested by #9
  • [x] Input facts and rules as object #10
  • [x] Remove diffuse.py and command line support
  • [ ] Allow ground rules with setting
  • [x] Make interpretations static through rules
  • [x] Return interpretations as a dict instead of class object
  • [ ] Add support for multi di-graph
  • [ ] Look into prev_l and prev_u in interval class
  • [ ] If there's no change to an interpretation (same rule firing) it should be added to the trace
  • [ ] Look into not checking for whether variable is __source in edge rule node clauses

Currently PyReason loops through all nodes and edges and checks for neighbor groundings. This is inflexible with rules such as pred(x)<-pred1(y,x), pred2(y,z) where y will be replaced by the neighbors of x--where in reality this should be any other node (except in the case of a node clause, then the groundings are the neighbors).

dyumanaditya avatar Sep 28 '23 12:09 dyumanaditya